本申請涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種應(yīng)用部署方法及設(shè)備。
背景技術(shù):
云計(jì)算作為一種新的計(jì)算服務(wù)提供方式,能讓企業(yè)通過網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得服務(wù),免除軟件購買、運(yùn)維和維護(hù)的困擾和費(fèi)用,降低企業(yè)管理成本,現(xiàn)在的商業(yè)應(yīng)用正在逐漸向云計(jì)算轉(zhuǎn)移。云計(jì)算的一個(gè)重要特點(diǎn)是易擴(kuò)展,即計(jì)算能力的彈性伸縮,當(dāng)業(yè)務(wù)需要更多的計(jì)算能力的時(shí)候,系統(tǒng)能分配更多的計(jì)算資源給用戶。在具體的提供方式上一般操作是:以集群方式把服務(wù)器分配給用戶,當(dāng)業(yè)務(wù)需求的計(jì)算資源大于當(dāng)前的計(jì)算能力時(shí),系統(tǒng)會(huì)向集群中添加更多的服務(wù)器以作補(bǔ)充,同樣,當(dāng)業(yè)務(wù)量減少時(shí),系統(tǒng)會(huì)減少集群中服務(wù)器的數(shù)量。
隨著網(wǎng)絡(luò)技術(shù)的應(yīng)用,應(yīng)用部署作為運(yùn)維開發(fā)的重要環(huán)節(jié)也得到了深入發(fā)展,應(yīng)用部署的質(zhì)量直接影響了應(yīng)用程序的功能和用戶體驗(yàn)。傳統(tǒng)的應(yīng)用部署方式大都是運(yùn)維人員手工操作完成,即使使用自動(dòng)化部署方式實(shí)現(xiàn)的部署方案,也在易用性、集群化、可伸縮等方面存在諸多不足,很難滿足當(dāng)前云計(jì)算環(huán)境的應(yīng)用部署需求。圖1示出了現(xiàn)有技術(shù)中應(yīng)用部署方案的示意圖,其進(jìn)行應(yīng)用部署的過程如下:應(yīng)用部署設(shè)備110讀取本地的配置文件,根據(jù)本地的配置文件依次與應(yīng)用集群中的各個(gè)應(yīng)用服務(wù)器建立連接,協(xié)商通信機(jī)制;應(yīng)用部署設(shè)備110上傳安裝配置包到應(yīng)用服務(wù)器1,并在應(yīng)用服務(wù)器1進(jìn)行應(yīng)用部署;應(yīng)用部署設(shè)備110按照上一步驟的方式依次在其余的應(yīng)用服務(wù)器2~N上進(jìn)行應(yīng)用部署;全部完成后,應(yīng)用部署設(shè)備110處理結(jié)果,并反饋給用戶;如果應(yīng)用集群中需要增加應(yīng)用服務(wù)器,必須由用戶修改應(yīng)用部署設(shè)備的配置文件或者獲取預(yù)先設(shè)置的配置文件,重復(fù)前述步驟重新進(jìn)行應(yīng)用部署。
由此可知,現(xiàn)有的應(yīng)用部署方案中其網(wǎng)絡(luò)架構(gòu)是相對固定的,如果要向應(yīng)用集群中動(dòng)態(tài)添加一臺(tái)應(yīng)用服務(wù)器,則應(yīng)用的部署、升級都要相應(yīng)修 改部署方案,因此應(yīng)用部署方式不夠靈活,無法進(jìn)行彈性部署。
技術(shù)實(shí)現(xiàn)要素:
本申請的目的是提供一種應(yīng)用部署方法及設(shè)備,以解決現(xiàn)有技術(shù)中應(yīng)用部署方式不夠靈活,無法進(jìn)行彈性部署的問題。
為實(shí)現(xiàn)上述目的,本申請?zhí)峁┝艘环N應(yīng)用部署方法,該方法包括:
獲取線上配置信息,其中所述線上配置信息包含根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器;
若所述線上配置信息與本地配置信息不同,且所述線上配置信息中有新增的應(yīng)用服務(wù)器,則對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,并根據(jù)所述線上配置信息更新所述本地配置信息,其中所述本地配置信息包含當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器。
進(jìn)一步地,獲取線上配置信息之后,還包括:
若所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,則根據(jù)所述線上配置信息更新所述本地配置信息。
進(jìn)一步地,獲取線上配置信息,包括:
向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并接收所述彈性伸縮服務(wù)平臺(tái)根據(jù)所述查詢請求發(fā)送的線上配置信息,其中所述彈性伸縮平臺(tái)根據(jù)應(yīng)用的需求確定當(dāng)前待部署的應(yīng)用服務(wù)器;或
接收彈性伸縮服務(wù)平臺(tái)發(fā)送的包含所述線上配置信息的推送消息。
進(jìn)一步地,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,包括:
將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,包括:
將所述應(yīng)用的安裝配置包發(fā)送至多個(gè)新增的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,包括:
若所述應(yīng)用可并發(fā)執(zhí)行,則同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所 述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;
若所述應(yīng)用不可并發(fā)執(zhí)行,則依次將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,包括:
創(chuàng)建針對每個(gè)應(yīng)用服務(wù)器的子進(jìn)程,控制所述子進(jìn)程分別根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;
獲取所述子進(jìn)程發(fā)送的每個(gè)應(yīng)用服務(wù)器的應(yīng)用部署結(jié)果。
進(jìn)一步地,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,包括:
獲取所述應(yīng)用服務(wù)器的登錄用戶名和登錄密碼,根據(jù)所述登錄用戶名和登錄密碼登錄所述應(yīng)用服務(wù)器;
指示所述應(yīng)用服務(wù)器安裝所述應(yīng)用的安裝配置包。
進(jìn)一步地,所述應(yīng)用服務(wù)器的登錄用戶名根據(jù)以下優(yōu)先級順序的其中一種方式獲?。?/p>
由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名;
由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄用戶名;
獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。
進(jìn)一步地,所述應(yīng)用服務(wù)器的登錄密碼根據(jù)以下優(yōu)先級順序的其中一種方式獲?。?/p>
由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼;
由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄密碼;
由本地設(shè)備的緩存獲取所述應(yīng)用服務(wù)器的登錄密碼;
獲取用戶由本地設(shè)備輸入的密碼作為所述應(yīng)用服務(wù)器的登錄密碼。
基于本申請的另一方面,還提供了一種應(yīng)用部署設(shè)備,該設(shè)備包括:
配置獲取裝置,用于獲取線上配置信息,其中所述線上配置信息包含根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器;
部署裝置,用于若所述線上配置信息與本地配置信息不同,且所述線上配置信息中有新增的應(yīng)用服務(wù)器,則對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用 部署,并根據(jù)所述線上配置信息更新所述本地配置信息,其中所述本地配置信息包含當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器。
進(jìn)一步地,所述部署裝置,還用于若所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,則根據(jù)所述線上配置信息更新所述本地配置信息。
進(jìn)一步地,所述配置獲取裝置,用于向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并接收所述彈性伸縮服務(wù)平臺(tái)根據(jù)所述查詢請求發(fā)送的線上配置信息,其中所述彈性伸縮平臺(tái)根據(jù)應(yīng)用的需求確定當(dāng)前待部署的應(yīng)用服務(wù)器;或
接收彈性伸縮服務(wù)平臺(tái)發(fā)送的包含所述線上配置信息的推送消息。
進(jìn)一步地,所述部署裝置在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),用于將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,所述部署裝置在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),用于將所述應(yīng)用的安裝配置包發(fā)送至多個(gè)新增的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,所述部署裝置在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),用于若所述應(yīng)用可并發(fā)執(zhí)行,則同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;以及若所述應(yīng)用不可并發(fā)執(zhí)行,則依次將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
進(jìn)一步地,所述部署裝置在根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),用于創(chuàng)建針對每個(gè)應(yīng)用服務(wù)器的子進(jìn)程,控制所述子進(jìn)程分別根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;以及獲取所述子進(jìn)程發(fā)送的每個(gè)應(yīng)用服務(wù)器的應(yīng)用部署結(jié)果。
進(jìn)一步地,所述部署裝置在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),用于獲取所述應(yīng)用服務(wù)器的登錄用戶名和登錄密碼,根據(jù)所述登錄用戶名和登錄密碼登錄所述應(yīng)用服務(wù)器;
指示所述應(yīng)用服務(wù)器安裝所述應(yīng)用的安裝配置包。
進(jìn)一步地,所述應(yīng)用服務(wù)器的登錄用戶名根據(jù)以下優(yōu)先級順序的其中一種方式獲取:
由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名;
由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄用戶名;
獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。
進(jìn)一步地,所述應(yīng)用服務(wù)器的登錄密碼根據(jù)以下優(yōu)先級順序的其中一種方式獲?。?/p>
由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼;
由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄密碼;
由本地設(shè)備的緩存獲取所述應(yīng)用服務(wù)器的登錄密碼;
獲取用戶由本地設(shè)備輸入的密碼作為所述應(yīng)用服務(wù)器的登錄密碼。
與現(xiàn)有技術(shù)相比,本申請的技術(shù)方案在完成初始部署之后,能夠動(dòng)態(tài)獲取根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的線上配置信息,通過與本地配置信息比較,在發(fā)現(xiàn)有新增的應(yīng)用服務(wù)器需要進(jìn)行應(yīng)用部署后,對這些新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,從而實(shí)現(xiàn)應(yīng)用的彈性部署,提高部署方案的靈活性,同時(shí)通過線上配置信息更新原有的本地配置信息,對當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器進(jìn)行記錄,保證后續(xù)應(yīng)用部署的準(zhǔn)確性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為現(xiàn)有技術(shù)中應(yīng)用部署方案的原理示意圖;
圖2為本申請實(shí)施例提供的一種應(yīng)用部署方法的流程圖;
圖3為本申請實(shí)施例中進(jìn)行應(yīng)用部署時(shí)所涉及的相關(guān)設(shè)備的典型實(shí)現(xiàn)方式圖;
圖4為本申請實(shí)施例中應(yīng)用部署設(shè)備進(jìn)行應(yīng)用部署時(shí)的處理流程圖;
圖5(a)為采用順序執(zhí)行的方式進(jìn)行應(yīng)用部署的原理示意圖;
圖5(b)為采用并發(fā)部署的方式進(jìn)行應(yīng)用部署的原理示意圖;
圖6為本申請實(shí)施例中將根據(jù)應(yīng)用服務(wù)器類型進(jìn)行應(yīng)用部署的方式與并發(fā)部署的方式結(jié)合的處理流程圖;
圖7為本申請實(shí)施例中采用多線程的方式進(jìn)行并發(fā)的應(yīng)用部署的處理流程圖;
圖8(a)為本申請實(shí)施例中獲取登錄用戶名的處理流程圖;
圖8(b)為本申請實(shí)施例中獲取登錄密碼的處理流程圖;
圖9為本申請實(shí)施例提供的一種應(yīng)用部署設(shè)備的結(jié)構(gòu)示意圖;
附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
具體實(shí)施方式
下面結(jié)合附圖對本申請作進(jìn)一步詳細(xì)描述。
在本申請一個(gè)典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
圖2示出了本申請實(shí)施例提供的一種應(yīng)用部署方法,該方法包括以下 步驟:
步驟S201,獲取線上配置信息,其中所述線上配置信息包含根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器;
步驟S202,若所述線上配置信息與本地配置信息不同,且所述線上配置信息中有新增的應(yīng)用服務(wù)器,則對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,并根據(jù)所述線上配置信息更新所述本地配置信息,其中所述本地配置信息包含當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器。
該方法尤其適用于已經(jīng)完成應(yīng)用的初始部署,在后續(xù)運(yùn)維過程中進(jìn)行動(dòng)態(tài)彈性調(diào)整的場景。若需要對應(yīng)用進(jìn)行初始部署,可以采用傳統(tǒng)的方式,由用戶提供需要進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的信息以及對應(yīng)的安裝配置包,并由此完成對應(yīng)用服務(wù)器的初始部署。對于初始部署時(shí)已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器,可以保存為本地配置信息。
在完成初始部署之后,能夠動(dòng)態(tài)獲取根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的線上配置信息,通過與本地配置信息比較,在發(fā)現(xiàn)有新增的應(yīng)用服務(wù)器需要進(jìn)行應(yīng)用部署后,對這些新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,從而實(shí)現(xiàn)應(yīng)用的彈性部署,提高部署方案的靈活性,同時(shí)通過線上配置信息更新原有的本地配置信息,對當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器進(jìn)行記錄,保證后續(xù)應(yīng)用部署的準(zhǔn)確性。
在此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述應(yīng)用部署方法的執(zhí)行主體可以包括但不限于用戶設(shè)備、網(wǎng)絡(luò)設(shè)備或用戶設(shè)備與網(wǎng)絡(luò)設(shè)備通過網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備。所述用戶設(shè)備包括但不限于個(gè)人計(jì)算機(jī)、觸控終端等實(shí)現(xiàn);所述網(wǎng)絡(luò)設(shè)備包括但不限于如網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或基于云計(jì)算的計(jì)算機(jī)集合等實(shí)現(xiàn)。在此,云由基于云計(jì)算(Cloud Computing)的大量主機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)虛擬計(jì)算機(jī)。
圖3示出了一種采用上述應(yīng)用部署方法時(shí)所涉及的相關(guān)設(shè)備的典型實(shí)現(xiàn)方式,包括應(yīng)用部署設(shè)備310、包含多個(gè)應(yīng)用服務(wù)器的應(yīng)用集群320、彈性伸縮服務(wù)平臺(tái)330以及用戶本地工作設(shè)備340。其中,應(yīng)用部署設(shè)備310用于執(zhí)行上述應(yīng)用部署方法,對應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;所述應(yīng)用 服務(wù)器用于在應(yīng)用部署完成后,運(yùn)行相關(guān)應(yīng)用。用戶本地工作設(shè)備340為用戶與應(yīng)用部署設(shè)備310進(jìn)行交互的設(shè)備,用于用戶提供安裝配置包、初始部署時(shí)的相關(guān)信息等。彈性伸縮服務(wù)平臺(tái)330能夠調(diào)整云資源池中的計(jì)算資源,根據(jù)應(yīng)用的當(dāng)前需求將云資源池中的服務(wù)器分配給該應(yīng)用使用,因此能夠確定待部署的應(yīng)用服務(wù)器,從而獲取線上配置信息,并將獲取的線上配置信息提供給應(yīng)用部署設(shè)備310以進(jìn)行彈性部署。在實(shí)際應(yīng)用中,彈性伸縮服務(wù)平臺(tái)330的具體實(shí)現(xiàn)可以由服務(wù)提供商決定,例如阿里云平臺(tái)提供的ESS(Elastic Scaling Service,彈性伸縮服務(wù))。
優(yōu)選地,獲取線上配置信息,具體包括:向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并接收所述彈性伸縮服務(wù)平臺(tái)根據(jù)所述查詢請求發(fā)送的線上配置信息,其中所述彈性伸縮平臺(tái)根據(jù)應(yīng)用的需求確定當(dāng)前待部署的應(yīng)用服務(wù)器;或接收彈性伸縮服務(wù)平臺(tái)發(fā)送的包含所述線上配置信息的推送消息。以本申請實(shí)施例中提供的方案為例,如果應(yīng)用部署設(shè)備使用了推送服務(wù),則可以接收彈性伸縮服務(wù)平臺(tái)發(fā)送推送消息,該推送消息中包含了線上配置信息,通過解析推送消息,可以獲取線上配置信息進(jìn)行應(yīng)用部署;若應(yīng)用部署設(shè)備未使用推送服務(wù),那么可以定時(shí)(例如每隔兩秒)向彈性伸縮服務(wù)平臺(tái)發(fā)送一次查詢請求,進(jìn)行線上配置信息的查詢,通過彈性伸縮服務(wù)平臺(tái)反饋,獲取線上配置信息。根據(jù)不同的應(yīng)用場景,可以采用不同的方式獲取線上配置信息,以提高本方案的通用性。
以某一視頻播放的應(yīng)用為例,若當(dāng)前部署有該應(yīng)用的應(yīng)用服務(wù)器為5臺(tái),該5臺(tái)應(yīng)用服務(wù)器的相關(guān)信息會(huì)保存在本地配置信息中,包括應(yīng)用服務(wù)器的IP、應(yīng)用服務(wù)器的數(shù)量等。每當(dāng)有熱門節(jié)目播放時(shí),由于觀看者較多服務(wù)器的負(fù)載會(huì)顯著增加,容易造成服務(wù)器宕機(jī),影響用戶觀看體驗(yàn)。因此需要在其它新的應(yīng)用服務(wù)器上部署該應(yīng)用以分擔(dān)當(dāng)前應(yīng)用服務(wù)器的負(fù)載,例如一共需要7臺(tái)應(yīng)用服務(wù)器才可以滿足當(dāng)前的負(fù)載要求,此時(shí)會(huì)獲取包含該7臺(tái)應(yīng)用服務(wù)器相關(guān)信息的線上配置信息。通過與本地配置信息比較,會(huì)對新增加的2臺(tái)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,以滿足應(yīng)用的當(dāng)前要求,同時(shí)將本地配置信息中的內(nèi)容更新為所述7臺(tái)應(yīng)用服務(wù)器的相關(guān)內(nèi)容。
此外,在前述場景中還可能存在以下情形,當(dāng)熱門節(jié)目播放完后,觀看者的數(shù)量可能隨之減少,此時(shí)仍然使用7臺(tái)應(yīng)用服務(wù)器會(huì)造成計(jì)算資源的浪費(fèi)。因此可以根據(jù)此時(shí)應(yīng)用的需求,減少應(yīng)用服務(wù)器的數(shù)量,提高計(jì)算資源的利用率。對于前述遠(yuǎn)程應(yīng)用配置方法,在獲取線上配置信息之后,若所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,則根據(jù)所述線上配置信息更新所述本地配置信息。當(dāng)所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,即表示根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的數(shù)量相較于當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的數(shù)量是減少的,對于應(yīng)用部署設(shè)備,僅需要根據(jù)所述線上配置信息更新所述本地配置信息即可。
在實(shí)際應(yīng)用中,某一應(yīng)用部署設(shè)備進(jìn)行應(yīng)用部署的具體處理步驟如圖4所示,包括以下步驟:
步驟S401,獲取應(yīng)用的初始配置信息以及對應(yīng)的安裝配置包install.tgz,并由此完成對應(yīng)用服務(wù)器的初始部署。對于初始部署時(shí)已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的相關(guān)信息,可以保存為本地配置信息的文件topo.conf。
步驟S402,確定是否使用推送服務(wù),若使用了推送服務(wù),則執(zhí)行步驟S403;若未使用推送服務(wù)器,則執(zhí)行步驟404。
步驟S403,接收彈性伸縮服務(wù)平臺(tái)推送消息,并由推送消息中獲取線上配置信息,然后執(zhí)行步驟S405。
步驟S404,向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并根據(jù)反饋獲取線上配置信息,然后執(zhí)行步驟S405。
步驟S405,將所述線上配置信息與本地配置信息進(jìn)行比較,若兩者相同,則等待設(shè)定時(shí)間后,返回執(zhí)行步驟S402;若兩者不同,則執(zhí)行步驟S406。
步驟S406,判斷所述線上配置信息中是否有新增的應(yīng)用服務(wù)器,若是,則執(zhí)行步驟S407;若否,則執(zhí)行步驟S408。
步驟S407,使用安裝配置包install.tgz對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,然后執(zhí)行步驟S408。
步驟S408,根據(jù)所述線上配置信息更新保存所述本地配置信息的文件topo.conf,然后返回執(zhí)行步驟S402。
作為本申請實(shí)施例的一種優(yōu)選的實(shí)施方式,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,具體包括:將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。通過對應(yīng)用服務(wù)器定義不同的類型,來劃分不同的服務(wù)器集群,這樣即可以在不同的服務(wù)器集群部署不同的應(yīng)用,將同一類應(yīng)用整合至相應(yīng)類型的應(yīng)用服務(wù)器,便于服務(wù)器集群的管理。在本實(shí)施例中,使用roledefs和roles分別對應(yīng)用服務(wù)器的集群以及應(yīng)用服務(wù)器進(jìn)行定義。具體格式為:
通過上述方式定義了兩個(gè)應(yīng)用服務(wù)器的集群:集群1“apphosts”,包含三個(gè)應(yīng)用服務(wù)器host1、host2、host3,在屬于“apphosts”集群的應(yīng)用服務(wù)器執(zhí)行任務(wù)1(task1),具體任務(wù)是安裝app應(yīng)用(run('/root/install_app.sh));集群2“apphosts”,包含兩個(gè)應(yīng)用服務(wù)器host3、host4,在屬于“webhosts”集群的應(yīng)用服務(wù)器執(zhí)行任務(wù)2(task2),具體任務(wù)是安裝web應(yīng)用(run('/root/install_web.sh'))。通過對應(yīng)用服務(wù)器進(jìn)行集群化管理,可以同時(shí)在不同類型的應(yīng)用服務(wù)器上部署不同類型應(yīng)用,這種實(shí)現(xiàn)方式更加符合云計(jì)算的復(fù)雜應(yīng)用場景。
在實(shí)際應(yīng)用中,若需要一次對數(shù)量較大的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),如果采用順序執(zhí)行的部署方式,將非常消耗時(shí)間資源。例如,圖1所示的方法中應(yīng)用部署設(shè)備上傳安裝配置包到應(yīng)用服務(wù)器1,并在應(yīng)用服務(wù)器1進(jìn)行應(yīng)用部署,然后應(yīng)用部署設(shè)備按照上一步驟的方式依次在其余的 應(yīng)用服務(wù)器2~N上進(jìn)行應(yīng)用部署,此時(shí)對N個(gè)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署所使用的時(shí)間為T×N,其中T為對一個(gè)服務(wù)器進(jìn)行應(yīng)用部署所需要的時(shí)間。由于應(yīng)用服務(wù)器之間的應(yīng)用部署過程是相互獨(dú)立的,因此對所有應(yīng)用服務(wù)器進(jìn)行并發(fā)的應(yīng)用部署不會(huì)對整個(gè)應(yīng)用部署過程帶來負(fù)面影響,并且理論上一個(gè)應(yīng)用在N個(gè)應(yīng)用服務(wù)器進(jìn)行并發(fā)部署所需要的部署時(shí)間僅為T,與順序執(zhí)行的部署方式相比,其能夠節(jié)約(N-1)/N的時(shí)間,這將大大提高應(yīng)用部署的效率。具體地,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,具體包括:將所述應(yīng)用的安裝配置包發(fā)送至多個(gè)新增的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
圖5(a)和圖5(b)分別為前述順序執(zhí)行的部署方式以及并發(fā)部署方式的原理示意圖。在圖5(a)中,以兩個(gè)應(yīng)用分別對三個(gè)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署的兩個(gè)部署任務(wù)為例,應(yīng)用1的部署任務(wù)task1會(huì)依次在host1、host2和host3中部署應(yīng)用1,完成之后在執(zhí)行應(yīng)用2的部署任務(wù)task2,該task2會(huì)依次在在host1、host2和host3中部署應(yīng)用2,假設(shè)應(yīng)用1和應(yīng)用2在每個(gè)應(yīng)用服務(wù)器上完成部署的時(shí)間相同,均為T,則此種方式的總部署時(shí)間需要6T。而在5(b)所示的并發(fā)執(zhí)行的場景下,應(yīng)用1的部署任務(wù)task1會(huì)同時(shí)在host1、host2和host3中部署應(yīng)用1,待task1完成后,應(yīng)用2的部署任務(wù)task2會(huì)同時(shí)在host1、host2和host3中部署應(yīng)用2,因此此種方式的總部署時(shí)間為2T,部署效率明顯提高。
作為一種更優(yōu)選的實(shí)施方式,可以將前述根據(jù)應(yīng)用服務(wù)器類型進(jìn)行應(yīng)用部署的方式與并發(fā)部署的方式結(jié)合,其邏輯處理流程如圖6所示。在實(shí)際應(yīng)用中,可以通過配置信息中的roles變量來確定是否設(shè)置了對應(yīng)的類型,如果存在roles變量,則可以根據(jù)roles變量來確定對應(yīng)類型的應(yīng)用服務(wù)器,然后根據(jù)應(yīng)用的配置信息中的parallel變量來確定該應(yīng)用的部署是否可以并發(fā)進(jìn)行。若所述roles變量為'apphosts',且所述應(yīng)用可并發(fā)執(zhí)行(即parallel變量使能),則同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,即同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與host1、host2和host3,并根據(jù)所述安裝配置包同時(shí)對host1、host2和host3進(jìn)行 應(yīng)用部署。若所述應(yīng)用不可并發(fā)執(zhí)行(即parallel變量不使能),則依次將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,即將所述應(yīng)用的安裝配置包發(fā)送至與host1,并根據(jù)所述安裝配置包對host1進(jìn)行應(yīng)用部署之后,再將安裝配置包發(fā)送至與host2并對host2進(jìn)行應(yīng)用部署,最后將裝配置包發(fā)送至與host3并對host3進(jìn)行應(yīng)用部署。
對于不存在roles變量的情形,即表示該應(yīng)用需要在未定義類型的應(yīng)用服務(wù)器上進(jìn)行部署,本實(shí)施例中,hosts變量定義的應(yīng)用服務(wù)器即表示該種應(yīng)用服務(wù)器。因此,若不存在roles變量,且所述應(yīng)用可并發(fā)執(zhí)行,則在同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與多個(gè)hosts變量定義的應(yīng)用服務(wù)器中,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。若不存在roles變量,且所述應(yīng)用不可并發(fā)執(zhí)行,則依次將所述應(yīng)用的安裝配置包發(fā)送至與多個(gè)hosts變量定義的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
此外,考慮到多線程安全問題,在對多個(gè)應(yīng)用服務(wù)器進(jìn)行并發(fā)部署時(shí),可以采用多進(jìn)程的方式。根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,具體包括:創(chuàng)建針對每個(gè)應(yīng)用服務(wù)器的子進(jìn)程,控制所述子進(jìn)程分別根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;獲取所述子進(jìn)程發(fā)送的每個(gè)應(yīng)用服務(wù)器的應(yīng)用部署結(jié)果。仍以在“apphosts”集群的三個(gè)應(yīng)用服務(wù)器并發(fā)部署應(yīng)用為例,其處理流程如圖7所示,若在進(jìn)行應(yīng)用部署時(shí),若應(yīng)用部署設(shè)備中的主進(jìn)程確定所述應(yīng)用可并發(fā)執(zhí)行,則獲取線上配置信息中新增的應(yīng)用服務(wù)器的信息并完成安裝配置包的準(zhǔn)備;然后針對每個(gè)應(yīng)用服務(wù)器創(chuàng)建一個(gè)對應(yīng)的子進(jìn)程,例如針對“apphosts”集群的三個(gè)應(yīng)用服務(wù)器host1、host2和host3則分別創(chuàng)建子進(jìn)程1、子進(jìn)程2和子進(jìn)程3,每個(gè)子進(jìn)程專門負(fù)責(zé)對應(yīng)應(yīng)用服務(wù)器的應(yīng)用部署、管控等工作,不同的子進(jìn)程之間相互不影響。創(chuàng)建完子進(jìn)程后,主進(jìn)程指示子進(jìn)程1、子進(jìn)程2和子進(jìn)程3分別在host1、host2和host3進(jìn)行應(yīng)用部署,各個(gè)子進(jìn)程在完成應(yīng)用部署后,會(huì)將應(yīng)用部署結(jié)果發(fā)送到主進(jìn)程。主進(jìn)程收集完所有子進(jìn)程的應(yīng)用部署結(jié)果時(shí),對結(jié)果進(jìn)行匯總后發(fā)送給用戶本地工作 設(shè)備,以完成向用戶的信息反饋。
在實(shí)際應(yīng)用中,對新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,具體包括:獲取所述應(yīng)用服務(wù)器的登錄用戶名和登錄密碼,根據(jù)所述登錄用戶名和登錄密碼登錄所述應(yīng)用服務(wù)器;指示所述應(yīng)用服務(wù)器安裝所述應(yīng)用的安裝配置包。在對應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),可以通過登錄用戶名和登錄密碼來登錄到對應(yīng)的應(yīng)用服務(wù)器來取得在該應(yīng)用服務(wù)器安裝相關(guān)應(yīng)用的安裝配置包的權(quán)限,由此可以保證網(wǎng)絡(luò)環(huán)境的安全性。對于集群規(guī)模較大的場景,其內(nèi)包含的應(yīng)用服務(wù)器數(shù)量較大,因此在部署過程中會(huì)有非常多的登錄用戶名和登錄密碼的輸入需求,為了降低用戶管理應(yīng)用服務(wù)器的登錄用戶名和登錄密碼的難度,在本申請實(shí)施例中所述應(yīng)用服務(wù)器的登錄用戶名根據(jù)以下優(yōu)先級順序的其中一種方式獲取,具體可參考圖8(a):
1、由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名。由命令行輸入的用戶名為優(yōu)先級最高的獲取方式,當(dāng)檢測到用戶由命令行輸入登錄用戶名時(shí),則直接由命令行提取登錄用戶名,并使用該登錄用戶名嘗試登錄應(yīng)用服務(wù)器。
2、由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄用戶名。此種方式的優(yōu)先級低于由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名,其中所述預(yù)設(shè)文件可以是安裝配置包中的配置描述文件,也可以是用戶在初始配置過程中向應(yīng)用部署設(shè)備上傳的初始配置信息中的內(nèi)容。所述應(yīng)用服務(wù)器的登錄用戶名一般可以由預(yù)設(shè)文件中的相關(guān)變量保存,例如本實(shí)施例中,通過預(yù)設(shè)文件中的兩個(gè)變量保存登錄用戶名,分別為user變量和hosts變量,其中hosts變量分別對不同的應(yīng)用服務(wù)器定義不同的登錄用戶名,其形式可以是應(yīng)用服務(wù)器的標(biāo)識(shí)(例如IP地址)與應(yīng)用服務(wù)器的登錄用戶名的對應(yīng)關(guān)系表的形式,當(dāng)存在hosts變量時(shí),獲取應(yīng)用服務(wù)器的登錄用戶名,同時(shí)確定該應(yīng)用服務(wù)器當(dāng)前是否存在,此時(shí)從hosts變量中提取應(yīng)用服務(wù)器的登錄用戶名。而user變量則統(tǒng)一定義了一個(gè)登錄用戶名,當(dāng)不存在hosts變量時(shí)或者h(yuǎn)osts變量中的應(yīng)用服務(wù)器當(dāng)前不在線時(shí),才由user變量中提取登錄用戶名,因此user變量的優(yōu)先級低于hosts變量。
3、獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。沒有 從命令行獲取到登錄用戶名、并且不存在hosts變量以及user變量時(shí),才會(huì)默認(rèn)獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。其中,所述本地設(shè)備可以是用戶與應(yīng)用部署設(shè)備進(jìn)行交互的設(shè)備,例如在圖3的典型實(shí)現(xiàn)方式中,本地設(shè)備即為用戶本地工作設(shè)備340。
當(dāng)應(yīng)用部署設(shè)備通過前述任意一種方式獲取到登錄用戶名之后,會(huì)繼續(xù)獲取登錄密碼。其中,所述應(yīng)用服務(wù)器的登錄密碼根據(jù)以下優(yōu)先級順序的其中一種方式獲取,具體可參考圖8(b):
1、由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼。由命令行輸入的密碼為優(yōu)先級最高的獲取方式,當(dāng)檢測到用戶由命令行輸入登錄密碼時(shí),則直接由命令行提取登錄密碼,并配合之前獲取到的登錄用戶名嘗試登錄應(yīng)用服務(wù)器。
2、由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄密碼。此種方式的優(yōu)先級低于由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼,所述應(yīng)用服務(wù)器的登錄密碼同樣可以由預(yù)設(shè)文件中的相關(guān)變量保存,例如本實(shí)施例中,通過預(yù)設(shè)文件中的兩個(gè)變量保存登錄密碼,分別為passwords變量和password變量,其中passwords變量分別對不同的應(yīng)用服務(wù)器定義不同的登錄密碼,其形式可以是應(yīng)用服務(wù)器的標(biāo)識(shí)(例如IP地址)與應(yīng)用服務(wù)器的登錄密碼的對應(yīng)關(guān)系表的形式,當(dāng)存在passwords變量時(shí),獲取應(yīng)用服務(wù)器的登錄密碼,同時(shí)確定該應(yīng)用服務(wù)器當(dāng)前是否存在,此時(shí)從passwords變量中提取應(yīng)用服務(wù)器的登錄密碼。而password變量則統(tǒng)一定義了一個(gè)登錄密碼,當(dāng)不存在passwords變量時(shí)或者passwords變量中的應(yīng)用服務(wù)器當(dāng)前不在線時(shí),才由password變量中提取登錄密碼,因此password變量的優(yōu)先級低于passwords變量。
3、由本地設(shè)備的緩存獲取所述應(yīng)用服務(wù)器的登錄密碼。與獲取登錄用戶名時(shí)類似,當(dāng)沒有從命令行獲取到登錄密碼、并且不存在passwords變量以及password變量時(shí),才會(huì)由本地設(shè)備的緩存中獲取密碼作為所述應(yīng)用服務(wù)器的登錄密碼。
4、獲取用戶由本地設(shè)備輸入的密碼作為所述應(yīng)用服務(wù)器的登錄密碼。當(dāng)本地設(shè)備的緩存中也未保存任何密碼時(shí),作為優(yōu)先級最低的方式,會(huì)需 要用戶由本地設(shè)備輸入密碼。
本實(shí)施例中登錄用戶名、登錄密碼都以命令行的輸入作為最高的優(yōu)先級,這符合用戶的使用習(xí)慣。此外,一般用戶都會(huì)將常用的登錄用戶名和登錄密碼記錄在預(yù)設(shè)文件里,只有在少量的特殊情況下才會(huì)通過本地設(shè)備進(jìn)行手動(dòng)輸入。因此通過此種方式獲取登錄用戶名和密碼的方式最大限度的滿足用戶的使用需求,為應(yīng)用部署的高效進(jìn)行提供了便捷。
圖9示出了本申請實(shí)施例提供的一種應(yīng)用部署設(shè)備,該設(shè)備包括配置獲取裝置910和部署裝置920。具體地,所述配置獲取裝置910用于獲取線上配置信息,其中所述線上配置信息包含根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器;所述部署裝置920用于若所述線上配置信息與本地配置信息不同,且所述線上配置信息中有新增的應(yīng)用服務(wù)器,則對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,并根據(jù)所述線上配置信息更新所述本地配置信息,其中所述本地配置信息包含當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器。
該設(shè)備尤其適用于已經(jīng)完成應(yīng)用的初始部署,在后續(xù)運(yùn)維過程中進(jìn)行動(dòng)態(tài)彈性調(diào)整的場景。若需要對應(yīng)用進(jìn)行初始部署,可以采用傳統(tǒng)的方式,配置獲取裝置910獲取用戶提供的需要進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的信息以及對應(yīng)的安裝配置包,并由部署裝置920完成對所述應(yīng)用服務(wù)器的初始部署。對于初始部署時(shí)已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器,可以保存為本地配置信息。
在完成初始部署之后,配置獲取裝置910能夠動(dòng)態(tài)獲取根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的線上配置信息,通過與本地配置信息比較,在發(fā)現(xiàn)有新增的應(yīng)用服務(wù)器需要進(jìn)行應(yīng)用部署后,由部署裝置920對這些新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,從而實(shí)現(xiàn)應(yīng)用的彈性部署,提高部署方案的靈活性,同時(shí)通過線上配置信息更新原有的本地配置信息,對當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器進(jìn)行記錄,保證后續(xù)應(yīng)用部署的準(zhǔn)確性。
在此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述應(yīng)用部署設(shè)備可以包括但不限于用戶設(shè)備、網(wǎng)絡(luò)設(shè)備或用戶設(shè)備與網(wǎng)絡(luò)設(shè)備通過網(wǎng)絡(luò)相集成所構(gòu)成的設(shè)備。所述用戶設(shè)備包括但不限于個(gè)人計(jì)算機(jī)、觸控終端等實(shí)現(xiàn);所述網(wǎng)絡(luò) 設(shè)備包括但不限于如網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或基于云計(jì)算的計(jì)算機(jī)集合等實(shí)現(xiàn)。在此,云由基于云計(jì)算(Cloud Computing)的大量主機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)虛擬計(jì)算機(jī)。
圖3示出了一種采用上述應(yīng)用部署設(shè)備進(jìn)行應(yīng)用部署時(shí)所涉及的相關(guān)設(shè)備的典型實(shí)現(xiàn)方式,包括應(yīng)用部署設(shè)備310、包含多個(gè)應(yīng)用服務(wù)器的應(yīng)用集群320、彈性伸縮服務(wù)平臺(tái)330以及用戶本地工作設(shè)備340。其中,應(yīng)用部署設(shè)備310用于根據(jù)配置信息對應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;所述應(yīng)用服務(wù)器用于在應(yīng)用部署完成后,運(yùn)行相關(guān)應(yīng)用。用戶本地工作設(shè)備340為用戶與應(yīng)用部署設(shè)備310進(jìn)行交互的設(shè)備,用于用戶提供安裝配置包、初始部署時(shí)的相關(guān)信息等。彈性伸縮服務(wù)平臺(tái)330能夠根據(jù)應(yīng)用的當(dāng)前需求確定待部署的應(yīng)用服務(wù)器,從而獲取線上配置信息,并將獲取的線上配置信息提供給應(yīng)用部署設(shè)備310以進(jìn)行彈性部署。在實(shí)際應(yīng)用中,彈性伸縮服務(wù)平臺(tái)330的具體實(shí)現(xiàn)可以由服務(wù)提供商決定,例如阿里云平臺(tái)提供的ESS(Elastic Scaling Service,彈性伸縮服務(wù))。
優(yōu)選地,所述配置獲取裝置910,具體用于向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并接收所述彈性伸縮服務(wù)平臺(tái)根據(jù)所述查詢請求發(fā)送的線上配置信息,其中所述彈性伸縮平臺(tái)根據(jù)應(yīng)用的需求確定當(dāng)前待部署的應(yīng)用服務(wù)器;或接收彈性伸縮服務(wù)平臺(tái)發(fā)送的包含所述線上配置信息的推送消息。以本申請實(shí)施例中提供的方案為例,如果應(yīng)用部署設(shè)備使用了推送服務(wù),則可以接收彈性伸縮服務(wù)平臺(tái)發(fā)送推送消息,該推送消息中包含了線上配置信息,通過解析推送消息,可以獲取線上配置信息進(jìn)行應(yīng)用部署;若應(yīng)用部署設(shè)備未使用推送服務(wù),那么可以定時(shí)(例如每隔兩秒)向彈性伸縮服務(wù)平臺(tái)發(fā)送一次查詢請求,進(jìn)行線上配置信息的查詢,通過彈性伸縮服務(wù)平臺(tái)反饋,獲取線上配置信息。根據(jù)不同的應(yīng)用場景,可以采用不同的方式獲取線上配置信息,以提高本方案的通用性。
以某一視頻播放的應(yīng)用為例,若當(dāng)前部署有該應(yīng)用的應(yīng)用服務(wù)器為5臺(tái),該5臺(tái)應(yīng)用服務(wù)器的相關(guān)信息會(huì)保存在本地配置信息中,包括應(yīng)用服務(wù)器的IP、應(yīng)用服務(wù)器的數(shù)量等。每當(dāng)有熱門節(jié)目播放時(shí),由于觀看者較 多服務(wù)器的負(fù)載會(huì)顯著增加,容易造成服務(wù)器宕機(jī),影響用戶觀看體驗(yàn)。因此需要在其它新的應(yīng)用服務(wù)器上部署該應(yīng)用以分擔(dān)當(dāng)前應(yīng)用服務(wù)器的負(fù)載,例如一共需要7臺(tái)應(yīng)用服務(wù)器才可以滿足當(dāng)前的負(fù)載要求,此時(shí)會(huì)獲取包含該7臺(tái)應(yīng)用服務(wù)器相關(guān)信息的線上配置信息。通過與本地配置信息比較,會(huì)對新增加的2臺(tái)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,以滿足應(yīng)用的當(dāng)前要求,同時(shí)將本地配置信息中的內(nèi)容更新為所述7臺(tái)應(yīng)用服務(wù)器的相關(guān)內(nèi)容。
此外,在前述場景中還可能存在以下情形,當(dāng)熱門節(jié)目播放完后,觀看者的數(shù)量可能隨之減少,此時(shí)仍然使用7臺(tái)應(yīng)用服務(wù)器會(huì)造成計(jì)算資源的浪費(fèi)。因此可以根據(jù)此時(shí)應(yīng)用的需求,減少應(yīng)用服務(wù)器的數(shù)量,提高計(jì)算資源的利用率。對于前述遠(yuǎn)程應(yīng)用配置設(shè)備,在配置獲取裝置910獲取線上配置信息之后,部署裝置920還用于若所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,則根據(jù)所述線上配置信息更新所述本地配置信息。當(dāng)所述線上配置信息與本地配置信息不同,且所述線上配置信息中無新增的應(yīng)用服務(wù)器,即表示根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的數(shù)量相較于當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的數(shù)量是減少的,對于應(yīng)用部署設(shè)備,僅需要根據(jù)所述線上配置信息更新所述本地配置信息即可。
在實(shí)際應(yīng)用中,某一應(yīng)用部署設(shè)備進(jìn)行應(yīng)用部署的具體處理步驟如圖4所示,包括以下步驟:
步驟S401,配置獲取裝置獲取應(yīng)用的初始配置信息以及對應(yīng)的安裝配置包install.tgz,并由此完成對應(yīng)用服務(wù)器的初始部署。對于初始部署時(shí)已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器的相關(guān)信息,可以保存為本地配置信息的文件topo.conf。
步驟S402,配置獲取裝置確定是否使用推送服務(wù),若使用了推送服務(wù),則執(zhí)行步驟S403;若未使用推送服務(wù)器,則執(zhí)行步驟404。
步驟S403,配置獲取裝置接收彈性伸縮服務(wù)平臺(tái)推送消息,并由推送消息中獲取線上配置信息,然后執(zhí)行步驟S405。
步驟S404,配置獲取裝置向彈性伸縮服務(wù)平臺(tái)發(fā)送查詢請求,并根據(jù) 反饋獲取線上配置信息,然后執(zhí)行步驟S405。
步驟S405,配置獲取裝置將所述線上配置信息與本地配置信息進(jìn)行比較,若兩者相同,則等待設(shè)定時(shí)間后,返回執(zhí)行步驟S402;若兩者不同,則執(zhí)行步驟S406。
步驟S406,配置獲取裝置判斷所述線上配置信息中是否有新增的應(yīng)用服務(wù)器,若是,則執(zhí)行步驟S407;若否,則執(zhí)行步驟S408。
步驟S407,部署裝置使用安裝配置包install.tgz對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,然后執(zhí)行步驟S408。
步驟S408,配置獲取裝置根據(jù)所述線上配置信息更新保存所述本地配置信息的文件topo.conf,然后返回執(zhí)行步驟S402。
作為本申請實(shí)施例的一種優(yōu)選的實(shí)施方式,所述部署裝置920在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),具體用于將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。通過對應(yīng)用服務(wù)器定義不同的類型,來劃分不同的服務(wù)器集群,這樣即可以在不同的服務(wù)器集群部署不同的應(yīng)用,將同一類應(yīng)用整合至相應(yīng)類型的應(yīng)用服務(wù)器,便于服務(wù)器集群的管理。在本實(shí)施例中,使用roledefs和roles分別對應(yīng)用服務(wù)器的集群以及應(yīng)用服務(wù)器進(jìn)行定義。具體格式為:
通過上述方式定義了兩個(gè)應(yīng)用服務(wù)器的集群:集群1“apphosts”,包含三個(gè)應(yīng)用服務(wù)器host1、host2、host3,在屬于“apphosts”集群的應(yīng)用服務(wù)器執(zhí)行任務(wù)1(task1),具體任務(wù)是安裝app應(yīng)用 (run('/root/install_app.sh));集群2“apphosts”,包含兩個(gè)應(yīng)用服務(wù)器host3、host4,在屬于“webhosts”集群的應(yīng)用服務(wù)器執(zhí)行任務(wù)2(task2),具體任務(wù)是安裝web應(yīng)用(run('/root/install_web.sh'))。通過對應(yīng)用服務(wù)器進(jìn)行集群化管理,可以同時(shí)在不同類型的應(yīng)用服務(wù)器上部署不同類型應(yīng)用,這種實(shí)現(xiàn)方式更加符合云計(jì)算的復(fù)雜應(yīng)用場景。
在實(shí)際應(yīng)用中,若需要一次對數(shù)量較大的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),如果采用順序執(zhí)行的部署方式,將非常消耗時(shí)間資源。例如,圖1所示的方案中應(yīng)用部署設(shè)備上傳安裝配置包到應(yīng)用服務(wù)器1,并在應(yīng)用服務(wù)器1進(jìn)行應(yīng)用部署,然后應(yīng)用部署設(shè)備按照上一步驟的方式依次在其余的應(yīng)用服務(wù)器2~N上進(jìn)行應(yīng)用部署,此時(shí)對N個(gè)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署所使用的時(shí)間為T×N,其中T為對一個(gè)服務(wù)器進(jìn)行應(yīng)用部署所需要的時(shí)間。由于應(yīng)用服務(wù)器之間的應(yīng)用部署過程是相互獨(dú)立的,因此對所有應(yīng)用服務(wù)器進(jìn)行并發(fā)的應(yīng)用部署不會(huì)對整個(gè)應(yīng)用部署過程帶來負(fù)面影響,并且理論上一個(gè)應(yīng)用在N個(gè)應(yīng)用服務(wù)器進(jìn)行并發(fā)部署所需要的部署時(shí)間僅為T,與順序執(zhí)行的部署方式相比,其能夠節(jié)約(N-1)/N的時(shí)間,這將大大提高應(yīng)用部署的效率。具體地,所述部署裝置920在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí)用于將所述應(yīng)用的安裝配置包發(fā)送至多個(gè)新增的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
圖5(a)和圖5(b)分別為前述順序執(zhí)行的部署方式以及并發(fā)部署方式的原理示意圖。在圖5(a)中,以兩個(gè)應(yīng)用分別對三個(gè)應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署的兩個(gè)部署任務(wù)為例,應(yīng)用1的部署任務(wù)task1會(huì)依次在host1、host2和host3中部署應(yīng)用1,完成之后在執(zhí)行應(yīng)用2的部署任務(wù)task2,該task2會(huì)依次在在host1、host2和host3中部署應(yīng)用2,假設(shè)應(yīng)用1和應(yīng)用2在每個(gè)應(yīng)用服務(wù)器上完成部署的時(shí)間相同,均為T,則此種方式的總部署時(shí)間需要6T。而在5(b)所示的并發(fā)執(zhí)行的場景下,應(yīng)用1的部署任務(wù)task1會(huì)同時(shí)在host1、host2和host3中部署應(yīng)用1,待task1完成后,應(yīng)用2的部署任務(wù)task2會(huì)同時(shí)在host1、host2和host3中部署應(yīng)用2,因此此種方式的總部署時(shí)間為2T,部署效率明顯提高。
作為一種更優(yōu)選的實(shí)施方式,可以將前述根據(jù)應(yīng)用服務(wù)器類型進(jìn)行應(yīng)用部署的方式與并發(fā)部署的方式結(jié)合,其邏輯處理流程如圖6所示。在實(shí)際應(yīng)用中,可以通過配置信息中的roles變量來確定是否設(shè)置了對應(yīng)的類型,如果存在roles變量,則可以根據(jù)roles變量來確定對應(yīng)類型的應(yīng)用服務(wù)器,然后根據(jù)應(yīng)用的配置信息中的parallel變量來確定該應(yīng)用的部署是否可以并發(fā)進(jìn)行。所述部署裝置920在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),具體用于:若所述roles變量為'apphosts',且所述應(yīng)用可并發(fā)執(zhí)行(即parallel變量使能),則同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,即同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與host1、host2和host3,并根據(jù)所述安裝配置包同時(shí)對host1、host2和host3進(jìn)行應(yīng)用部署;若所述應(yīng)用不可并發(fā)執(zhí)行(即parallel變量不使能),則依次將所述應(yīng)用的安裝配置包發(fā)送至與該應(yīng)用的類型對應(yīng)類型的多個(gè)應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,即將所述應(yīng)用的安裝配置包發(fā)送至與host1,并根據(jù)所述安裝配置包對host1進(jìn)行應(yīng)用部署之后,再將安裝配置包發(fā)送至與host2并對host2進(jìn)行應(yīng)用部署,最后將裝配置包發(fā)送至與host3并對host3進(jìn)行應(yīng)用部署。
對于不存在roles變量的情形,即表示該應(yīng)用需要在未定義類型的應(yīng)用服務(wù)器上進(jìn)行部署,本實(shí)施例中,hosts變量定義的應(yīng)用服務(wù)器即表示該種應(yīng)用服務(wù)器。因此,所述部署裝置920在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),還用于若不存在roles變量,且所述應(yīng)用可并發(fā)執(zhí)行,則在同時(shí)將所述應(yīng)用的安裝配置包發(fā)送至與多個(gè)hosts變量定義的應(yīng)用服務(wù)器中,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;若不存在roles變量,且所述應(yīng)用不可并發(fā)執(zhí)行,則依次將所述應(yīng)用的安裝配置包發(fā)送至與多個(gè)hosts變量定義的應(yīng)用服務(wù)器,并根據(jù)所述安裝配置包依次對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署。
此外,考慮到多線程安全問題,在對多個(gè)應(yīng)用服務(wù)器進(jìn)行并發(fā)部署時(shí),可以采用多進(jìn)程的方式。所述部署裝置920在根據(jù)所述安裝配置包同時(shí)對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),具體用于創(chuàng)建針對每個(gè)應(yīng)用服務(wù)器的子 進(jìn)程,控制所述子進(jìn)程分別根據(jù)所述安裝配置包對所述應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署;獲取所述子進(jìn)程發(fā)送的每個(gè)應(yīng)用服務(wù)器的應(yīng)用部署結(jié)果。仍以在“apphosts”集群的三個(gè)應(yīng)用服務(wù)器并發(fā)部署應(yīng)用為例,其處理流程如圖7所示,若在進(jìn)行應(yīng)用部署時(shí),若應(yīng)用部署設(shè)備中部署裝置920的主進(jìn)程確定所述應(yīng)用可并發(fā)執(zhí)行,則獲取線上配置信息中新增的應(yīng)用服務(wù)器的信息并完成安裝配置包的準(zhǔn)備;然后針對每個(gè)應(yīng)用服務(wù)器創(chuàng)建一個(gè)對應(yīng)的子進(jìn)程,例如針對“apphosts”集群的三個(gè)應(yīng)用服務(wù)器host1、host2和host3則分別創(chuàng)建子進(jìn)程1、子進(jìn)程2和子進(jìn)程3,每個(gè)子進(jìn)程專門負(fù)責(zé)對應(yīng)應(yīng)用服務(wù)器的應(yīng)用部署、管控等工作,不同的子進(jìn)程之間相互不影響。創(chuàng)建完子進(jìn)程后,主進(jìn)程指示子進(jìn)程1、子進(jìn)程2和子進(jìn)程3分別在host1、host2和host3進(jìn)行應(yīng)用部署,各個(gè)子進(jìn)程在完成應(yīng)用部署后,會(huì)將應(yīng)用部署結(jié)果發(fā)送到主進(jìn)程。主進(jìn)程收集完所有子進(jìn)程的應(yīng)用部署結(jié)果時(shí),對結(jié)果進(jìn)行匯總后發(fā)送給用戶本地工作設(shè)備,以完成向用戶的信息反饋。
在實(shí)際應(yīng)用中,所述部署裝置在對所述新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),具體用于獲取所述應(yīng)用服務(wù)器的登錄用戶名和登錄密碼,根據(jù)所述登錄用戶名和登錄密碼登錄所述應(yīng)用服務(wù)器;指示所述應(yīng)用服務(wù)器安裝所述應(yīng)用的安裝配置包。在對應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署時(shí),可以通過登錄用戶名和登錄密碼來登錄到對應(yīng)的應(yīng)用服務(wù)器來取得在該應(yīng)用服務(wù)器安裝相關(guān)應(yīng)用的安裝配置包的權(quán)限,由此可以保證網(wǎng)絡(luò)環(huán)境的安全性。對于集群規(guī)模較大的場景,其內(nèi)包含的應(yīng)用服務(wù)器數(shù)量較大,因此在部署過程中會(huì)有非常多的登錄用戶名和登錄密碼的輸入需求,為了降低用戶管理應(yīng)用服務(wù)器的登錄用戶名和登錄密碼的難度,在本申請實(shí)施例中所述應(yīng)用服務(wù)器的登錄用戶名根據(jù)以下優(yōu)先級順序的其中一種方式獲?。?/p>
1、由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名。由命令行輸入的用戶名為優(yōu)先級最高的獲取方式,當(dāng)檢測到用戶由命令行輸入登錄用戶名時(shí),則直接由命令行提取登錄用戶名,并使用該登錄用戶名嘗試登錄應(yīng)用服務(wù)器。
2、由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄用戶名。此種方式的優(yōu)先級低于由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄用戶名,其中所 述預(yù)設(shè)文件可以是安裝配置包中的配置描述文件,也可以是用戶在初始配置過程中向應(yīng)用部署設(shè)備上傳的初始配置信息中的內(nèi)容。所述應(yīng)用服務(wù)器的登錄用戶名一般可以由預(yù)設(shè)文件中的相關(guān)變量保存,例如本實(shí)施例中,通過預(yù)設(shè)文件中的兩個(gè)變量保存登錄用戶名,分別為user變量和hosts變量,其中hosts變量分別對不同的應(yīng)用服務(wù)器定義不同的登錄用戶名,其形式可以是應(yīng)用服務(wù)器的標(biāo)識(shí)(例如IP地址)與應(yīng)用服務(wù)器的登錄用戶名的對應(yīng)關(guān)系表的形式,當(dāng)存在hosts變量時(shí),獲取應(yīng)用服務(wù)器的登錄用戶名,同時(shí)確定該應(yīng)用服務(wù)器當(dāng)前是否存在,此時(shí)從hosts變量中提取應(yīng)用服務(wù)器的登錄用戶名。而user變量則統(tǒng)一定義了一個(gè)登錄用戶名,當(dāng)不存在hosts變量時(shí)或者h(yuǎn)osts變量中的應(yīng)用服務(wù)器當(dāng)前不在線時(shí),才由user變量中提取登錄用戶名,因此user變量的優(yōu)先級低于hosts變量。
3、獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。沒有從命令行獲取到登錄用戶名、并且不存在hosts變量以及user變量時(shí),才會(huì)默認(rèn)獲取本地設(shè)備的用戶名作為所述應(yīng)用服務(wù)器的登錄用戶名。其中,所述本地設(shè)備可以是用戶與應(yīng)用部署設(shè)備進(jìn)行交互的設(shè)備,例如在圖3的典型實(shí)現(xiàn)方式中,本地設(shè)備即為用戶本地工作設(shè)備340。
當(dāng)應(yīng)用部署設(shè)備通過前述任意一種方式獲取到登錄用戶名之后,會(huì)繼續(xù)獲取登錄密碼。其中,所述應(yīng)用服務(wù)器的登錄密碼根據(jù)以下優(yōu)先級順序的其中一種方式獲?。?/p>
1、由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼。由命令行輸入的密碼為優(yōu)先級最高的獲取方式,當(dāng)檢測到用戶由命令行輸入登錄密碼時(shí),則直接由命令行提取登錄密碼,并配合之前獲取到的登錄用戶名嘗試登錄應(yīng)用服務(wù)器。
2、由預(yù)設(shè)文件中獲取所述應(yīng)用服務(wù)器的登錄密碼。此種方式的優(yōu)先級低于由命令行的輸入信息獲取所述應(yīng)用服務(wù)器的登錄密碼,所述應(yīng)用服務(wù)器的登錄密碼同樣可以由預(yù)設(shè)文件中的相關(guān)變量保存,例如本實(shí)施例中,通過預(yù)設(shè)文件中的兩個(gè)變量保存登錄密碼,分別為passwords變量和password變量,其中passwords變量分別對不同的應(yīng)用服務(wù)器定義不同的登錄密碼,其形式可以是應(yīng)用服務(wù)器的標(biāo)識(shí)(例如IP地址)與應(yīng)用服務(wù) 器的登錄密碼的對應(yīng)關(guān)系表的形式,當(dāng)存在passwords變量時(shí),獲取應(yīng)用服務(wù)器的登錄密碼,同時(shí)確定該應(yīng)用服務(wù)器當(dāng)前是否存在,此時(shí)從passwords變量中提取應(yīng)用服務(wù)器的登錄密碼。而password變量則統(tǒng)一定義了一個(gè)登錄密碼,當(dāng)不存在passwords變量時(shí)或者passwords變量中的應(yīng)用服務(wù)器當(dāng)前不在線時(shí),才由password變量中提取登錄密碼,因此password變量的優(yōu)先級低于passwords變量。
3、由本地設(shè)備的緩存獲取所述應(yīng)用服務(wù)器的登錄密碼。與獲取登錄用戶名時(shí)類似,當(dāng)沒有從命令行獲取到登錄密碼、并且不存在passwords變量以及password變量時(shí),才會(huì)由本地設(shè)備的緩存中獲取密碼作為所述應(yīng)用服務(wù)器的登錄密碼。
4、獲取用戶由本地設(shè)備輸入的密碼作為所述應(yīng)用服務(wù)器的登錄密碼。當(dāng)本地設(shè)備的緩存中也未保存任何密碼時(shí),作為優(yōu)先級最低的方式,會(huì)需要用戶由本地設(shè)備輸入密碼。
本實(shí)施例中登錄用戶名、登錄密碼都以命令行的輸入作為最高的優(yōu)先級,這符合用戶的使用習(xí)慣。此外,一般用戶都會(huì)將常用的登錄用戶名和登錄密碼記錄在預(yù)設(shè)文件里,只有在少量的特殊情況下才會(huì)通過本地設(shè)備進(jìn)行手動(dòng)輸入。因此通過此種方式獲取登錄用戶名和密碼的方式最大限度的滿足用戶的使用需求,為應(yīng)用部署的高效進(jìn)行提供了便捷。
綜上所述,本申請的技術(shù)方案在完成初始部署之后,能夠動(dòng)態(tài)獲取根據(jù)應(yīng)用的當(dāng)前需求確定的待部署的應(yīng)用服務(wù)器的線上配置信息,通過與本地配置信息比較,在發(fā)現(xiàn)有新增的應(yīng)用服務(wù)器需要進(jìn)行應(yīng)用部署后,對這些新增的應(yīng)用服務(wù)器進(jìn)行應(yīng)用部署,從而實(shí)現(xiàn)應(yīng)用的彈性部署,提高部署方案的靈活性,同時(shí)通過線上配置信息更新原有的本地配置信息,對當(dāng)前已進(jìn)行應(yīng)用部署的應(yīng)用服務(wù)器進(jìn)行記錄,保證后續(xù)應(yīng)用部署的準(zhǔn)確性。
需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專用集成電路(ASIC)、通用目的計(jì)算機(jī)或任何其他類似硬件設(shè)備來實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本申請的軟件程序可以通過處理器執(zhí)行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲(chǔ)到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,RAM存儲(chǔ)器,磁或光驅(qū)動(dòng)器或 軟磁盤及類似設(shè)備。另外,本申請的一些步驟或功能可采用硬件來實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。
另外,本申請的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本申請的方法和/或技術(shù)方案。而調(diào)用本申請的方法的程序指令,可能被存儲(chǔ)在固定的或可移動(dòng)的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲(chǔ)在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲(chǔ)器中。在此,根據(jù)本申請的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本申請的多個(gè)實(shí)施例的方法和/或技術(shù)方案。
對于本領(lǐng)域技術(shù)人員而言,顯然本申請不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本申請。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。裝置權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過軟件或者硬件來實(shí)現(xiàn)。