一種程序模塊部署的方法和系統的制作方法
【技術領域】
[0001] 本發明涉及軟件部署,更具體地涉及一種程序模塊部署的方法和系統。
【背景技術】
[0002] PaaS(Platform-as-a-Service平臺即服務)是把服務器平臺作為一種服務提供 的商業模式。在云計算環境中,云計算服務器平臺或者開發環境作為服務提供給用戶就成 為了PaaS(PlatformasaService)。
[0003] 圖4示意性示出了一個云計算平臺400,該云計算就是一個PaaS平臺,PaaS供應 商就需要提供如圖4所示的云計算平臺400,有了這樣的PaaS平臺,客戶端(圖4未示出客 戶端)就可以向云計算平臺400發送請求,例如該請求要求安裝程序模塊A、程序模塊B、程 序模塊C以及程序模塊D這四個軟件的軟件環境的環境來為客戶服務。收到這樣的請求, 云計算平臺400會根據現有平臺中可用的資源通過網絡401創建虛擬機,例如創建了虛擬 機1和虛擬機2,然后在虛擬機1和虛擬機2上安裝上述要求的程序模塊,以后,客戶端就可 以通過網絡401,直接與虛擬機1和虛擬機2相連,并利用虛擬機1和虛擬機2上安裝的軟 件資源為自己服務。
[0004] 云計算平臺400創建了虛擬機后在虛擬機上安裝、配置并啟動上述要求的程序模 塊的過程稱為程序模塊的部署過程。在云計算平臺對虛擬機部署過程中,上述程序模塊之 間一般存在數據的依賴性,例如,圖5示出了具有三個虛擬機VM0-VM3、其中的三個需要安 裝的程序模塊的數據依賴關系,其中,DeploymentMgr(服務器管理)程序模塊和Create Datasource(創建數據源)程序模塊要被部署在同一個虛擬機上,該虛擬機的主要功能是 負責管理多個StandaloneWASServer(應用服務器)節點,并且負責為多個Standalone WASServer程序模塊實現數據源連接功能,該功能由CreateDatasource(創建數據源) 程序模塊完成。根據諸如上述的要求,三個虛擬機VM0、VMl和VM2被創建。虛擬機VMO是 一個獨立服務器,上面需要安裝StandaloneWASServer程序模塊以及JDBCDriver程序 模塊;虛擬機VMl是一個管理服務器,上面需要安裝DeploymentMgr程序模塊以及Create Datasource程序模塊;虛擬機VM2是一個數據庫服務器,上面需要安裝DB2SerVer程序模 塊以及CreateDatabase程序模塊;并且其中,StandaloneWASServer程序模塊需要來自 DeploymentMgr程序模塊的IP地址、端口(port)、節點名稱(Cellname)、注冊協議類型 (RegistryprotocolType)等信息,這樣,StandaloneWASServer程序模塊才能將自己注 冊到DeploymentMgr程序模塊;虛擬機VMl中的CreateDatasource程序模塊需要來自 DB2Server程序模塊的JDBC入口點的信息,這樣CreateDatasource程序模塊才能和數據 庫建立連接。也就是說,StandaloneWASServer程序模塊和DeploymentMgr程序模塊之 間具有數據依賴關系;CreateDatasource程序模塊和DB2Server程序模塊之間具有數據 依賴關系。
[0005] 這些程序模塊安裝完畢運行時,需要特定的啟動順序來確保整個服務部署的成 功。圖6示出了圖5示例的程序模塊的啟動順序。在該示例中,例如,CreateDataSource(創 建數據源)程序模塊需要修改D印loymentMgr(服務器管理)程序模塊的一些數據源配置 信息,因此CreateDataSource程序模塊需要在DeploymentMgr程序模塊之后啟動,并且 也需要服務器管理節點的安裝路徑等信息。即根據數據的依賴性,必須要啟動D印Ioyment Manager程序模塊和DB2Server程序模塊后才能啟動CreateDatasource程序模塊;并 且,必須啟動DB2Server程序模塊后才能啟動CreateDatabase程序模塊;必須要啟動 DeploymentManager程序模塊后才能啟動StandaloneWASServer程序模塊,然后才能啟 動InstallJDBCDriver程序模塊。
[0006] 現有技術中,上述的數據依賴性以及啟動順序需要云服務提供者開發特別的代碼 邏輯來實現數據依賴性以及啟動順序,這使得程序員的開發工作變得非常復雜,并且工作 量很大。
【發明內容】
[0007] 因此,對于彼此間具有數據依賴性以及啟動順序要求的多個程序模塊的部署,需 要一種自動的部署方法,控制模塊之間的依賴關系和啟動順序,從而減少應用開發人員服 務程序開發的工作量。
[0008] 根據本發明的一個方面,提供了一種程序模塊部署的方法,包括:
[0009] 獲得該程序模塊與要部署的多個程序模塊之間具有的數據依賴關系以及特定的 啟動順序;
[0010] 響應于對該程序模塊進行安裝配置,根據所述數據依賴關系得到該程序模塊所依 賴的數據并且安裝配置該程序模塊;
[0011] 響應于所述特定的啟動順序中要求在該程序模塊啟動前啟動的程序模塊完成啟 動,啟動該程序模塊。
[0012] 根據本發明的另一個方面,提供了一種程序模塊部署的系統,包括:
[0013] 獲得模塊,被配置為獲得該程序模塊與要部署的多個程序模塊之間具有的數據依 賴關系以及特定的啟動順序;
[0014] 依賴驗證模塊,被配置為響應于對該程序模塊進行安裝配置,根據所述數據依賴 關系得到該程序模塊所依賴的數據;
[0015] 安裝配置模塊,被配置為安裝配置該程序模塊;
[0016] 啟動模塊,被配置為響應于所述特定的啟動順序中要求在該程序模塊啟動前啟動 的程序模塊完成啟動,啟動該程序模塊。
【附圖說明】
[0017] 通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其 它目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號 通常代表相同部件。
[0018] 圖1表示根據本發明一實施例的云計算節點;
[0019] 圖2表示根據本發明一實施例的云計算環境;
[0020] 圖3表示根據本發明一實施例的抽象模型層;
[0021] 圖4示意性示出了一個云計算平臺;
[0022] 圖5示出了具有三個虛擬機VM0-VM3、三個需要安裝的程序模塊的數據依賴關系;
[0023] 圖6示出了圖5示例的程序模塊的啟動順序;
[0024] 圖7示意性示出了根據本發明的一種實施方式的程序模塊部署的方法的流程圖;
[0025] 圖8給出了一種示意性的圖形用戶界面,用于編輯要部署的多個程序模塊之間的 數據依賴關系;
[0026] 圖9示出了要部署的多個程序模塊之間的數據依賴關系以及特定的啟動順序的 圖形所示的概述文件;以及
[0027] 圖10示出了根據本發明的一種實施方式的一種程序模塊部署的系統的結構框 圖。
【具體實施方式】
[0028] 下面將參照附圖更詳細地描述本公開的優選實施方式。雖然附圖中顯示了本公開 的優選實施方式,然而應該理解,可以以各種形式實現本公開而不應被這里闡述的實施方 式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的 范圍完整的傳達給本領域的技術人員。
[0029] 首先應當理解,盡管本公開包括關于云計算的詳細描述,但其中記載的技術方案 的實現卻不限于云計算環境,而是能夠結合現在已知或以后開發的任何其它類型的計算環 境而實現。
[