一種雲計算平臺中SaaS應用部署的方法及裝置製造方法
2023-05-18 20:23:46 1
一種雲計算平臺中SaaS應用部署的方法及裝置製造方法
【專利摘要】本發明公開了一種雲計算平臺中軟體即服務(SaaS)應用部署的方法及裝置,包括上傳多伺服器部署包,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型;根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器。本發明根據SaaS應用組件和伺服器類型對應的特點,通過在多伺服器部署包的應用部署文件中增加伺服器角色和版本號,並根據伺服器部署映射表,簡單、快速地確定了多伺服器部署包中各個組件所對應的伺服器類型,並實現了雲計算平臺中SaaS應用的自動部署。
【專利說明】—種雲計算平臺中SaaS應用部署的方法及裝置
【技術領域】
[0001]本發明涉及雲計算技術,尤指一種雲計算平臺中SaaS應用部署的方法及裝置。
【背景技術】
[0002]雲計算作為一種新型的計算方式,以其高可擴展性和高可用性等優點迅速成為學術界和產業界的研究熱點。
[0003]軟體即服務(SaaS, Software-as-a-service,也稱為軟體運營模式)是雲計算服務模式中的一種,SaaS是通過網際網路提供應用軟體的服務模式。在SaaS服務模式下,軟體提供商將SaaS應用統一部署在伺服器上,客戶根據實際需求,定製所需的服務即可。
[0004]由於雲計算平臺SaaS應用類型眾多,每種類型的應用所需要的伺服器種類也不同,如應用伺服器、流程伺服器、企業服務總線(ESB, Enterprise Service Bus)伺服器、消息伺服器等。SaaS應用的不同組件需要部署到不同的伺服器上,且每個SaaS應用會有不同的版本。不同應用在不同開發階段所需要的環境也可能不同,如開發環境、測試環境、生產環境等。隨著SaaS服務模式的興起,SaaS應用的部署問題將成為一個雲計算領域的重要問題,SaaS應用的快速、自動部署對雲平臺是一個非常關鍵的任務。
[0005]目前,針對雲計算平臺SaaS應用的部署問題,大致包括:首先,將SaaS應用的各種組件都集中安裝在單臺伺服器上。這種部署方式簡單,但是可擴展性差,且難以利用雲平臺彈性伸縮,按需服務的優勢;接著,手工將各個組件上傳到各個伺服器上部署。這種部署方式的優點是靈活,但是當伺服器數量較大時,工作量太大,且易於出錯;然後,基於特定的算法,將SaaS應用部署作為一個優化問題,通過找最優解決。該方法的特點是自動化程度高,但是計算量太大。
[0006]也就是說,在目前的雲計算平臺SaaS應用的部署方案中,SaaS應用的各種組件都集中安裝在單臺伺服器上,可擴展性差,且難以利用雲平臺彈性伸縮,按需服務的優勢;而且通過手工將各個組件上傳到伺服器上部署,顯然,當伺服器數量較大時,工作量太大,且易於出錯;需要基於特定的算法,優化SaaS應用部署,計算量大,而且隨著伺服器數量和SaaS組件的增多,所需的計算時間呈指數增長,顯然會降低系統的效率。
【發明內容】
[0007]為了解決上述技術問題,本發明提供了一種雲計算平臺中SaaS應用部署的方法及系統,能夠簡單、快速地確定多伺服器部署包中各個組件所對應的伺服器類型,並實現雲計算平臺中SaaS應用的自動部署。
[0008]為了達到本發明目的,本發明提供了一種雲計算平臺中軟體即服務SaaS應用部署的方法,預先設置用於存儲不同應用與不同類型伺服器之間的映射關係的多伺服器部署映射關係;還包括:
[0009]上傳多伺服器部署包,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型;[0010]根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器。
[0011]所述在多伺服器部署包中攜帶有應用所需要的伺服器角色類型包括:
[0012]在所述SaaS應用的各個組件的應用部署文件中,增加應用所需要的伺服器角色類型,並將其攜帶在所述多伺服器部署包中。
[0013]所述應用部署文件中還攜帶有應用名,以及應用版本號。
[0014]所述部署當前應用所對應的伺服器包括:
[0015]如果所述當前應用未被部署過,分配所述伺服器角色類型對應的伺服器,並將所述當前應用包上傳至分配的伺服器。
[0016]所述部署當前應用所對應的伺服器還包括:
[0017]如果所述當前應用已被部署過,則根據所述應用版本號確定:如果所述當前應用已部署的伺服器中的對應應用版本號與所述應用版本號一致,則上傳所述當前應用包到該伺服器中;如果版本號不一致,則在所述應用部署文件中指示覆蓋時,上傳所述當前應用包到該伺服器中。
[0018]該方法還包括:所述當前應用成功部署後,更新所述多伺服器部署映射關係。
[0019]本發明還提供一種雲計算平臺中軟體即服務SaaS應用部署的裝置,至少包括部署包處理單元、伺服器管理單元,以及存儲單元,其中,
[0020]在存儲單元中,預先設置有多伺服器部署映射關係,用於存儲不同應用與不同類型伺服器之間的映射關係;
[0021]部署包處理單元,用於接收多伺服器部署包,根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器;在需要申請伺服器時,向伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器;
[0022]伺服器管理單元,用於接收來自部署包處理單元的伺服器申請通知,分配當前應用對應類型的伺服器。
[0023]所述多伺服器部署包中攜帶有SaaS應用的各個組件的應用部署文件,而在所述SaaS應用的各個組件的應用部署文件中攜帶有應用所需要的伺服器角色類型,以及應用名和應用版本號。
[0024]所述部署包處理單元,具體用於:
[0025]根據所述多伺服器部署包及預先設置的多伺服器部署映射關係確定出,如果所述當前應用未被部署過,向所述伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器;
[0026]如果所述當前應用已被部署過,則根據當前應用版本號,如果所述當前應用已部署的伺服器中的對應應用版本號與所述應用版本號一致,則上傳所述當前當前應用包到該伺服器中;如果版本號不一致,則在所述應用部署文件指示覆蓋時,上傳所述當前應用包到該伺服器中。
[0027]與現有技術相比,本發明包括上傳多伺服器部署包,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型;根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器。本發明根據SaaS應用組件和伺服器類型對應的特點,通過在多伺服器部署包的應用部署文件中增加伺服器角色和版本號,並根據伺服器部署映射表,簡單、快速地確定了多伺服器部署包中各個組件所對應的伺服器類型,並實現了雲計算平臺中SaaS應用的自動部署。
[0028]本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現和獲得。
【專利附圖】
【附圖說明】
[0029]附圖用來提供對本發明技術方案的進一步理解,並且構成說明書的一部分,與本申請的實施例一起用於解釋本發明的技術方案,並不構成對本發明技術方案的限制。
[0030]圖1為本發明雲計算平臺中SaaS應用部署的方法的流程圖;
[0031]圖2為本發明雲計算平臺中SaaS應用部署的裝置的組成結構示意圖;
[0032]圖3為本發明雲計算平臺中SaaS應用部署的方法的實施例流程示意圖。
【具體實施方式】
[0033]為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。
[0034]在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行。並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。
[0035]雲計算平臺的SaaS應用由多個組件組成,每個組件表示SaaS應用中一個或多個特定的業務功能,各個組件部署到相應的伺服器上。對於雲計算平臺中不同類型的伺服器,定義不同的伺服器角色,比如,對於應用伺服器,定義角色名為as ;對於流程伺服器定,定義角色名為ws ;對於ESB伺服器定義角色名為esb ;對於消息伺服器定義角色名為ms等。同時,在各個組件的應用部署文件web.xml中,增加所需要的伺服器角色類型。
[0036]圖1為本發明雲計算平臺SaaS部署的方法的流程圖,如圖1所示,包括:
[0037]步驟100:預先設置多伺服器部署映射關係,用於存儲不同應用與不同類型伺服器之間的映射關係。
[0038]步驟101:上傳多伺服器部署包,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型。
[0039]本步驟中,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型包括:在SaaS應用的各個組件的應用部署文件web.xml中增加應用所需要的伺服器角色類型,並將其攜帶在多伺服器部署包中。
[0040]在應用部署文件web.xml中還攜帶有應用名,以及應用版本號。
[0041]步驟102:根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器。
[0042]其中,如果當前應用未被部署過,直接分配當前應用對應類型的伺服器即伺服器角色類型對應的伺服器,並將應用包上傳至分配的伺服器即可;
[0043]如果當前應用已被部署過,則根據當前應用版本號確定如何部署:如果當前應用已部署的伺服器中的對應應用版本號與當前應用版本號一致,則上傳當前應用包到該伺服器中;如果版本號不一致,則根據應用部署文件web.xml中的指示是否覆蓋的標識,若標識指示覆蓋則上傳當前應用包到該伺服器中,否者丟棄。
[0044]在當前應用成功部署後,更新多伺服器部署映射關係。
[0045]本發明根據SaaS應用組件和伺服器類型對應的特點,通過在多伺服器部署包的應用部署文件中增加伺服器角色和版本號,並根據伺服器部署映射表,簡單、快速地確定了多伺服器部署包中各個組件所對應的伺服器類型,並實現了雲計算平臺中SaaS應用的自動部署。
[0046]圖2為本發明雲計算平臺中SaaS應用部署的裝置組成結構示意圖,如圖2所示,至少包括部署包處理單元、伺服器管理單元,以及存儲單元,其中,
[0047]在存儲單元中,預先設置有多伺服器部署映射關係,用於存儲不同應用與不同類型伺服器之間的映射關係。
[0048]部署包處理單元,用於接收多伺服器部署包,根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器;在需要申請伺服器時,向伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器。
[0049]其中,在多伺服器部署包中攜帶有SaaS應用的各個組件的應用部署文件web.xml,而在SaaS應用的各個組件的應用部署文件web.xml中攜帶有應用所需要的伺服器角色類型,以及應用名和應用版本號。
[0050]伺服器管理單元,用於接收來自部署包處理單元的伺服器申請通知,分配當前應用對應類型的伺服器。
[0051]部署包處理單元,具體用於根據多伺服器部署包及預先設置的多伺服器部署映射關係確定出,如果當前應用未被部署過,向伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器;如果當前應用已被部署過,則根據當前應用版本號,如果當前應用已部署的伺服器中的對應應用版本號與當前應用版本號一致,則上傳當前應用包到該伺服器中;如果版本號不一致,則在應用部署文件web.xml指示覆蓋則上傳當前應用包到該伺服器中,否者丟棄。
[0052]下面結合具體實施例對本發明方法進行詳細描述。
[0053]圖3為本發明雲計算平臺中SaaS應用部署的方法的實施例流程示意圖,如圖3所示,具體包括:
[0054]步驟300:系統初始化,設置多伺服器部署映射表。本步驟中,系統初始化的具體實現屬於本領域技術人員的公知技術,這裡不再贅述,所不同的是,本發明中需要在系統初始化中,設置多伺服器部署映射表,用於存儲不同應用與不同類型伺服器之間的映射關係。
[0055]步驟301:上傳多伺服器部署包。
[0056]本步驟中,雲計算平臺用戶如配置人員,在根據應用的需要增加如圖片、可執行文件等,就會上傳多伺服器部署包,在具體實現屬於本領域技術人員的慣用技術手段,這裡不再贅述。
[0057]需要強調的是,本發明中的多伺服器部署包中攜帶有SaaS應用的各個組件的應用部署文件web.xml,而在SaaS應用的各個組件的應用部署文件web.xml中攜帶有應用所需要的伺服器角色類型,以及應用名和應用版本號。[0058]步驟302:部署包處理單元對多伺服器部署包進行解析,獲取其中攜帶的各個伺服器子包的應用部署文件web.xml,並將獲得的應用部署文件web.xml放入隊列Q。
[0059]步驟303:部署包處理單元判斷隊列Q是否為空,如果為空,則結束本流程;否則,繼續執行步驟304。
[0060]步驟304:部署包處理單元將隊列Q中的第一個元素賦值給變量P。
[0061]步驟305:讀取變量P,以獲取當前應用需要的伺服器角色名r、以及當前應用的應用名η和版本號vl。
[0062]步驟306:查找多伺服器部署映射表,獲取應用名η的當前應用對應的伺服器S。
[0063]步驟307:部署包處理單元判斷對應的伺服器s是否為空,如果沒有部署過伺服器S,則轉入步驟312 ;否則,繼續執行步驟308。
[0064]步驟308:部署包處理單元從伺服器管理單元獲取伺服器s上應用名η對應的應用的版本號ν2。
[0065]步驟309:部署包處理單元判斷版本號vl是否等於版本號v2,如果二者一致,則轉入步驟311 ;否則,繼續執行步驟310。
[0066]步驟310:部署包處理單元根據應用部署文件web.xml中的指示判斷是否保留版本v2的應用包,如果指示顯示覆蓋,則轉入步驟311 ;否則,執行步驟312。
[0067]步驟311:部署包處理單元將當前版本號vl,應用名η的當前應用的應用包上傳到伺服器S。之後返回步驟303。
[0068]步驟312:部署包處理單元向伺服器管理單元申請伺服器角色名r的伺服器,伺服器管理單元分配伺服器角色名為r的伺服器R。
[0069]步驟313:部署包處理單元將當前版本號vl,應用名η的當前應用的應用包上傳到伺服器R。
[0070]步驟314:部署包處理單元修改多伺服器部署映射表。之後返回步驟303。
[0071]雖然本發明所揭露的實施方式如上,但所述的內容僅為便於理解本發明而採用的實施方式,並非用以限定本發明。任何本發明所屬領域內的技術人員,在不脫離本發明所揭露的精神和範圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本發明的專利保護範圍,仍須以所附的權利要求書所界定的範圍為準。
【權利要求】
1.一種雲計算平臺中軟體即服務SaaS應用部署的方法,其特徵在於,預先設置用於存儲不同應用與不同類型伺服器之間的映射關係的多伺服器部署映射關係;還包括: 上傳多伺服器部署包,在多伺服器部署包中攜帶有應用所需要的伺服器角色類型; 根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器。
2.根據權利要求1所述的方法,其特徵在於,所述在多伺服器部署包中攜帶有應用所需要的伺服器角色類型包括: 在所述SaaS應用的各個組件的應用部署文件中,增加應用所需要的伺服器角色類型,並將其攜帶在所述多伺服器部署包中。
3.根據權利要求2所述的方法,其特徵在於,所述應用部署文件中還攜帶有應用名,以及應用版本號。
4.根據權利要求2或3所述的方法,其特徵在於,所述部署當前應用所對應的伺服器包括: 如果所述當前應用未被部署過,分配所述伺服器角色類型對應的伺服器,並將所述當前應用包上傳至分配的伺服器。
5.根據權利要求4所述的方法,其特徵在於,所述部署當前應用所對應的伺服器還包括: 如果所述當前應用已被部署過 ,則根據所述應用版本號確定:如果所述當前應用已部署的伺服器中的對應應用版本號與所述應用版本號一致,則上傳所述當前應用包到該伺服器中;如果版本號不一致,則在所述應用部署文件中指示覆蓋時,上傳所述當前應用包到該伺服器中。
6.根據權利要求1所述的方法,其特徵在於,該方法還包括:所述當前應用成功部署後,更新所述多伺服器部署映射關係。
7.—種雲計算平臺中軟體即服務SaaS應用部署的裝置,其特徵在於,至少包括部署包處理單元、伺服器管理單元,以及存儲單元,其中, 在存儲單元中,預先設置有多伺服器部署映射關係,用於存儲不同應用與不同類型伺服器之間的映射關係; 部署包處理單元,用於接收多伺服器部署包,根據多伺服器部署包及預先設置的多伺服器部署映射關係,部署當前應用所對應的伺服器;在需要申請伺服器時,向伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器; 伺服器管理單元,用於接收來自部署包處理單元的伺服器申請通知,分配當前應用對應類型的伺服器。
8.根據權利要求7所述的裝置,其特徵在於,所述多伺服器部署包中攜帶有SaaS應用的各個組件的應用部署文件,而在所述SaaS應用的各個組件的應用部署文件中攜帶有應用所需要的伺服器角色類型,以及應用名和應用版本號。
9.根據權利要求8所述的裝置,其特徵在於,所述部署包處理單元,具體用於: 根據所述多伺服器部署包及預先設置的多伺服器部署映射關係確定出,如果所述當前應用未被部署過,向所述伺服器部署單元發送伺服器申請通知,並將應用包上傳至分配的伺服器;如果所述當前應用已被部署過,則根據當前應用版本號,如果所述當前應用已部署的伺服器中的對應應用版本號與所述應用版本號一致,則上傳所述當前當前應用包到該伺服器中;如果版本號不一致,則在所述應用部署文件指示覆蓋時,上傳所述當前應用包到該伺服器 中。
【文檔編號】H04L29/08GK103501350SQ201310488486
【公開日】2014年1月8日 申請日期:2013年10月17日 優先權日:2013年10月17日
【發明者】王少鋒, 張雲勇, 陳豪, 王笑帝, 劉明輝 申請人:中國聯合網絡通信集團有限公司