應用于云環境下應用系統混合部署的組件部署方法和裝置的制造方法
【技術領域】
[0001] 本發明屬于計算機系統的云計算應用領域,具體的說,涉及到一種應用于云環境 下應用系統混合部署的組件部署方法和裝置。
【背景技術】
[0002] 云計算是近年來新興的一種計算能力交付服務模式,通過網絡以按需、易擴展的 方式提供用戶所需的計算資源或服務。自云計算的概念提出后,學術界和工業界都展開 了廣泛的研宄,各大IT廠商也陸續推出了自己的云計算產品,例如微軟公司提供Windows Azure云操作系統供應用系統迀移及部署,亞馬遜公司的AWS(AmazonWebServices)中 的EC2以公有云IAAS的方式提供虛擬機為用戶部署應用,Google公司的GAE(GoogleApp Engine)以公有云PAAS的方式為應用系統的部署提供開發和運行環境。
[0003] 盡管有提升資源利用率、動態調度資源、統一運營管理等顯著的優點,公有云平臺 普遍存在的在數據安全、運行性能等方面的不足以及用戶對云環境下的管理、運維等方面 的接受程度,使得將復雜的應用系統部署到云計算平臺上仍然是一個挑戰。
[0004] 首先,由于不能對公有云的基礎設施進行有效控制,以及目前缺乏嚴格的云計算 服務規范和安全標準,大型企業對來自互聯網的公有云中的數據安全往往不太信任,而數 據安全對于企業至關重要。在這種情況下,企業在使用公有云服務時,傾向于把敏感數據 繼續保留在本地,把其它應用程序迀移到公有云上,即采取混合部署方法。在混合部署模式 下,企業內部的數據中心繼續用于支持企業的核心業務流程,而公有云則一般用于為那些 不太關鍵的應用程序提供按需服務能力,并且可以利用公有云按需付費的好處來面對突然 爆發的峰值環境下的計算需求。
[0005] 其次,在目前云計算技術的發展階段,由于虛擬化技術的限制,公有云平臺所能提 供的單臺"云主機"的性能,尚不能很好滿足計算密集型應用和1/〇(輸入/輸出)密集型 應用的運行要求。這在客觀上使得復雜應用系統中的部分組件只能選擇部署運行在本地以 充分滿足業務需求。
[0006] 最后,對于"云計算"這個近年來新興的事物,從了解概念到嘗試使用再到熟練使 用,需要用戶在管理、運維等方面做出很多調整,這是個逐漸的過程。
[0007] 基于上述諸多因素,混合部署作為復雜應用系統同時部署于本地和公有云的一種 有效解決方法,在研宄和實踐中日益得到廣泛重視。由于復雜應用系統通常包含很多組件, 在具體實施混合部署時,合理設計組件在本地和云平臺的部署極為迫切。
【發明內容】
[0008] 針對現有技術的不足,本發明實施方式的目的在于提供一種應用于云環境下應用 系統混合部署的組件部署方法和裝置,旨在解決現有技術中缺乏合理地將組件部署在本地 和云平臺的方法的技術缺陷。
[0009] 為此,本發明實施例提供了一種應用于云環境下應用系統混合部署的組件部署方 法,包括:
[0010] 步驟SlO:根據預設規則將所述應用系統的組件中部署在云端的組件歸為第一組 件集、部署在本地的組件歸為第二組件集,不屬于所述第一組件集和第二組件集的組件歸 為第三組件集;
[0011] 步驟S20 :計算所述第三組件集中的組件與所述第一組件集中的組件和第二組件 集中的組件的通訊流量值;
[0012] 步驟S30 :選擇所述第三組件集中通訊量最大的組件,如果該組件與所述第一組 件集中的組件通訊量最大,則將該組件部署在云端,否則部署在本地。
[0013] 優選地,所述步驟S20包括:根據通訊流量的大小按照從大到小的方向將所述第 三組件集中的組件進行排序,形成組件隊列;以及,
[0014] 所述步驟S30包括:選擇所述組件隊列中位于首位的組件作為通訊量最大的組 件。
[0015] 優選地,在所述步驟S30后,還包括:判斷所述第三組件集中是否還有組件,如果 有,則進入步驟S20。
[0016] 優選地,在步驟SlO之前,還包括:計算所述應用系統的資源需求,所述資源需求 包括所述應用系統的帶寬資源,所述帶寬資源為所述應用系統的內部組件通信的需求值與 所述應用系統向外通信的需求值之和。
[0017] 優選地,所述預設規則包括:涉及敏感數據的組件歸為所述第一組件類,以及,所 述應用系統進行負載均衡應對爆發峰值下的計算需求較大的組件歸為第二組件集。
[0018] 一種應用于云環境下應用系統混合部署的組件部署裝置,包括:
[0019] 歸類模塊,用于根據預設規則將所述應用系統的組件中部署在云端的組件歸為第 一組件集、部署在本地的組件歸為第二組件集,不屬于所述第一組件集和第二組件集的組 件歸為第三組件集;
[0020] 計算模塊,用于計算所述第三組件集中的組件與所述第一組件集中的組件和第二 組件集中的組件的通訊流量值;
[0021] 部署模塊,用于選擇所述第三組件集中通訊量最大的組件,如果該組件與所述第 一組件集中的組件通訊量最大,則將該組件部署在云端,否則部署在本地。
[0022] 優選地,所述計算模塊還包括:排序模塊,用于根據通訊流量的大小按照從大到 小的方向將所述第三組件集中的組件進行排序,形成組件隊列;
[0023] 所述部署模塊還包括:選擇模塊,用于選擇所述組件隊列中位于首位的組件作為 通訊量最大的組件。
[0024] 優選地,還包括:判斷模塊,用于判斷所述第三組件集中是否還有組件,如果有,則 調用所述計算模塊。
[0025] 優選地,還包括:資源需求獲取模塊,用于計算所述應用系統的資源需求;
[0026] 其中,所述資源需求包括所述應用系統的帶寬資源,所述帶寬資源為所述應用系 統的內部組件通信的需求值與所述應用系統向外通信的需求值之和。
[0027] 與現有技術相比,本發明實施例提供的組件部署方法和裝置對應用系統中的組件 根據預設規則進行部署,對不能根據預設規則進行部署的組件,則根據組件的通訊量進行 部署。這樣,既考慮到數據安全、系統性能等對應用系統的限制條件,又能最大程度減小網 絡通訊流量,能較好地滿足在具體實施復雜應用系統混合部署的需求。
【附圖說明】
[0028] 圖1是本發明實施例所述一種應用于云環境下應用系統混合部署的組件部署方 法中應用系統的架構圖;
[0029] 圖2是本發明實施例一種應用于云環境下應用系統混合部署的組件部署方法的 流程圖;
[0030] 圖3是本發明實施例一種應用于云環境下應用系統混合部署的組件部署方法中 應用系統的架構圖;
[0031] 圖4是本發明實施例一種應用于云環境下應用系統混合部署的組件部署方法中 對應用系統進行歸類的示意圖;
[0032] 圖5a和圖5b是本發明實施例一種應用于云環境下應用系統混合部署的組件部署 方法中對應用系統的第三類組件集歸類的示意圖;
[0033] 圖6是本發明實施例一種應用于云環境下應用系統混合部署的組件部署裝置的 中結構示意圖。
【具體實施方式】
[0034] 下面結合附圖,對本發明的實施方式做進一步說明。
[0035] 參見圖1,圖1是本發明實施例所述一種應用于云環境下應用系統混合部署的組 件部署方法中應用系統的架構圖。作為一個示例,圖1可以是多租戶精品課程網站群應用 系統和品高云計算平臺。品高云(BingoCloud)是品高軟件自主研發、國內首個商用級基 礎架構云產品,主要面向政府和企業客戶,幫助其構建Amazon式的彈性、按需、自助的云服 務平臺,主要架構同Eucaplytus類似。多租戶精品課程網站群應用系統是作者所在的云計 算團隊以Jeecms項目技術為基礎,開發的具有多租戶架構的精品課程網站群應用系統,系 統以一門課程作為一個租戶,在多個租戶間共享系統的軟、硬件資源。該應用系統共分為四 大組件:內容管理服務器30、FTP服務器20、web應用服務器40和數據庫服務器10。
[0036] 參見圖2,圖2是本發明實施例一種應用于云環境下應用系統混合部署的組件部 署方法的流程圖。圖2示出的部署方法包括步驟S10-S30。在本實施方式中,假設云平臺可 提供的虛擬資源遠大于應用系統需求的虛擬資源,即云平臺總能滿足應用系統中各組件的 資源需求。
[0037] 在步驟SlO中,根據預設規則將所述應用系統的組件中部署在云端的組件歸為第 一組件集、部署在本地的組件歸為第二組件集,不屬于所述第一組件集和第二組件集的組 件歸為第三組件集。其中,所述預設規則包括:
[0038] 規則1 :涉及敏感數據的組件歸為所述第一組件類,以及,
[0039] 規則2 :所述應用系統進行負載均衡應對爆發峰值下的計算需求較大的組件歸為 第二組件集。
[0040] 圖1示出的應用系統包括內容管理服務器30、FTP服務器20、web應用服務器40 和數據庫服務器10。為了方便描述,下面將web應用服務器40用組件Cl表示,數據庫服務 器10用組件C2表示,FTP服務器20用組件C3表示,內容管理服務器30用組件C4表示。
[0041]根據規則I,把應用系統中的組件C2放到本地組件集合中,初步建立第一組件集L 為:
[0042] L= {C2};
[0043] 根據規則2,把組件Cl放到第二組件集中,初步建立第二組件集M為:
[0044] M= {C1