一種基于智能集群的軟件部署及其維護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試,特別涉及一種基于智能集群的軟件部署及其維護(hù)方法。
【背景技術(shù)】
[0002]軟件測(cè)試已經(jīng)日益成為一種不可忽視的技術(shù)。能否借助該技術(shù)以及如何借助它規(guī)范測(cè)試流程,提高特定測(cè)試活動(dòng)的效率,是一個(gè)需要研宄的重要問(wèn)題。使用機(jī)器自動(dòng)進(jìn)行測(cè)試執(zhí)行和測(cè)試結(jié)果判斷,是在測(cè)試中部分使用了程序或是機(jī)器的能力,目的在于減少資源消耗、擴(kuò)大測(cè)試范圍和充分利用機(jī)器與程序的能力。目前,軟件測(cè)試的研宄領(lǐng)域主要集中在軟件測(cè)試流程的自動(dòng)化管理以及動(dòng)態(tài)測(cè)試的自動(dòng)化(如單元測(cè)試、功能測(cè)試以及性能測(cè)試方面)。測(cè)試人員更加專(zhuān)注于新的測(cè)試模塊的建立和開(kāi)發(fā),從而提高測(cè)試覆蓋率;更便于測(cè)試資產(chǎn)的數(shù)字化管理,在整個(gè)測(cè)試生命周期內(nèi)可以復(fù)用測(cè)試資產(chǎn)。但是在基于智能集群的云平臺(tái)的復(fù)雜環(huán)境下,自動(dòng)測(cè)試相對(duì)脆弱,維護(hù)比較困難。嚴(yán)重制約了測(cè)試效率的提升。
[0003]因此,針對(duì)相關(guān)技術(shù)中所存在的上述問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種基于智能集群的軟件部署及其維護(hù)方法,包括:
[0005]智能集群的測(cè)試平臺(tái)將應(yīng)用編譯通過(guò)后生成可執(zhí)行程序包,將應(yīng)用可執(zhí)行程序包的FTP地址發(fā)送到FTP服務(wù)器上,用戶(hù)在自身的計(jì)算機(jī)上通過(guò)瀏覽器訪(fǎng)問(wèn)測(cè)試平臺(tái)并發(fā)送部署命令,測(cè)試平臺(tái)收到命令后發(fā)出請(qǐng)求消息,申請(qǐng)測(cè)試協(xié)同服務(wù)器,并登錄測(cè)試協(xié)同服務(wù)器,獲取所述可執(zhí)行程序包和最新的配置文件,該配置文件存儲(chǔ)了測(cè)試協(xié)同服務(wù)器所需的配置項(xiàng),將配置項(xiàng)注入所述可執(zhí)行程序包,請(qǐng)求執(zhí)行測(cè)試腳本。
[0006]優(yōu)選地,所述測(cè)試協(xié)同服務(wù)器以SQL語(yǔ)句來(lái)完成更新可執(zhí)行程序包地址操作,該可執(zhí)行程序包中包含可執(zhí)行的二進(jìn)制程序,還包括程序運(yùn)行時(shí)所需要的文件,所述請(qǐng)求消息包括應(yīng)用名稱(chēng)、發(fā)布需求的ID、生成的可執(zhí)行程序包地址。
[0007]優(yōu)選地,所述用戶(hù)在自身的計(jì)算機(jī)上通過(guò)瀏覽器訪(fǎng)問(wèn)測(cè)試平臺(tái)并發(fā)送部署命令后,還包括:
[0008]測(cè)試協(xié)同服務(wù)器中的監(jiān)控程序通過(guò)HTTP請(qǐng)求來(lái)完成自動(dòng)化測(cè)試協(xié)同服務(wù)器的監(jiān)控和管理,向測(cè)試平臺(tái)返回監(jiān)控信息,用戶(hù)通過(guò)瀏覽器監(jiān)控和查看測(cè)試協(xié)同服務(wù)器的狀態(tài)圖。
[0009]優(yōu)選地,所述測(cè)試平臺(tái)申請(qǐng)測(cè)試協(xié)同服務(wù)器,進(jìn)一步包括:
[0010]測(cè)試平臺(tái)的部署控制器在相應(yīng)的測(cè)試協(xié)同服務(wù)器傳送和安裝代理,代理收到部署環(huán)境的信號(hào)后,調(diào)用測(cè)試環(huán)境部署腳本進(jìn)行測(cè)試環(huán)境部署,該腳本在每個(gè)執(zhí)行過(guò)程運(yùn)行到最后時(shí),返回部署狀態(tài)和相關(guān)消息,部署狀態(tài)包括成功、失敗或超時(shí),通過(guò)代理的狀態(tài)提取器將部署狀態(tài)存儲(chǔ)在緩存中;測(cè)試平臺(tái)的環(huán)境監(jiān)控程序獲取部署狀態(tài),傳達(dá)給調(diào)度中心,如果部署失敗,監(jiān)控程序通知部署控制器進(jìn)行重置,其中該部署控制器包括一個(gè)應(yīng)用部署信息查詢(xún)列表,周期性進(jìn)行刷新;部署測(cè)試環(huán)境時(shí),首先按序?qū)γ恳粋€(gè)測(cè)試環(huán)境生成部署線(xiàn)程,其次通過(guò)部署計(jì)劃表查詢(xún)依賴(lài)順序,監(jiān)聽(tīng)前置依賴(lài)的就緒狀態(tài),然后線(xiàn)程給所述代理下達(dá)部署命令,代理將部署狀態(tài)和消息反饋到調(diào)度中心,更新部署計(jì)劃列表中的測(cè)試環(huán)境部署狀態(tài),所述測(cè)試環(huán)境部署包括分發(fā)部署計(jì)劃、生成臨時(shí)部署計(jì)劃、管理應(yīng)用依賴(lài)關(guān)系、設(shè)置部署計(jì)劃列表和配置部署計(jì)劃;
[0011]調(diào)度中心的部署管理模塊利用自動(dòng)化部署工具對(duì)測(cè)試環(huán)境進(jìn)行部署,通過(guò)建立多層級(jí)的拓?fù)?,在部署控制器端的文件及部署配置文件向下轉(zhuǎn)移到測(cè)試協(xié)同服務(wù)器,當(dāng)需要由單個(gè)測(cè)試協(xié)同服務(wù)器或包含多個(gè)協(xié)同服務(wù)器的某個(gè)組執(zhí)行命令時(shí),部署控制器向代理下發(fā)管理信息,當(dāng)有部署任務(wù)時(shí),部署控制器向代理發(fā)出部署命令,代理將狀態(tài)模板轉(zhuǎn)發(fā)給測(cè)試協(xié)同服務(wù)器,每個(gè)測(cè)試協(xié)同服務(wù)器接受后,根據(jù)自身的狀態(tài)信息對(duì)模板進(jìn)行渲染和解析,生成描述文件。
[0012]部署控制器通過(guò)基于Web的圖形化界面接收客戶(hù)端輸入的與部署相關(guān)的參數(shù),并將參數(shù)傳送到測(cè)試任務(wù)部署層,由測(cè)試任務(wù)部署層實(shí)現(xiàn)測(cè)試環(huán)境上業(yè)務(wù)的自動(dòng)化部署,部署控制器展示W(wǎng)eb頁(yè)面,向用戶(hù)提供自動(dòng)化部署的可視化選項(xiàng),接收并處理來(lái)自前端頁(yè)面的HTTP請(qǐng)求,獲取相應(yīng)的配置數(shù)據(jù),然后將數(shù)據(jù)提供給測(cè)試任務(wù)部署層;
[0013]測(cè)試任務(wù)部署層負(fù)責(zé)從部署控制器獲取任務(wù)信息以及測(cè)試資源信息,啟動(dòng)測(cè)試環(huán)境,部署控制器將測(cè)試資源信息傳給測(cè)試任務(wù)部署層,測(cè)試任務(wù)部署層通過(guò)部署控制器驗(yàn)證和確保參數(shù)的正確性,將參數(shù)格式化,并將其封裝在部署請(qǐng)求內(nèi),發(fā)送該部署請(qǐng)求,該部署請(qǐng)求通過(guò)消息隊(duì)列傳遞給控制節(jié)點(diǎn);
[0014]控制節(jié)點(diǎn)向集群數(shù)據(jù)庫(kù)插入測(cè)試環(huán)境基本信息,通過(guò)測(cè)試環(huán)境的信息獲取一系列可用的測(cè)試協(xié)同服務(wù)器列表,根據(jù)可用服務(wù)器列表隨機(jī)選擇測(cè)試協(xié)同服務(wù)器并將測(cè)試環(huán)境信息通過(guò)遠(yuǎn)程過(guò)程調(diào)用傳遞給所選服務(wù)器,最終根據(jù)系統(tǒng)鏡像創(chuàng)建測(cè)試環(huán)境,并將創(chuàng)建成功信息返回;
[0015]測(cè)試環(huán)境啟動(dòng)后,守護(hù)程序自動(dòng)運(yùn)行,向部署控制器發(fā)送請(qǐng)求,部署控制器自動(dòng)將其加入信任列表,控制節(jié)點(diǎn)發(fā)送消息獲取測(cè)試環(huán)境ip地址和mac地址,然后,測(cè)試任務(wù)部署層輪詢(xún)新啟動(dòng)的測(cè)試環(huán)境狀態(tài),當(dāng)獲取到的狀態(tài)信息為“成功”,并且可以獲取測(cè)試環(huán)境IP時(shí),將不同的組件與測(cè)試環(huán)境IP—一對(duì)應(yīng),測(cè)試任務(wù)部署層調(diào)用自動(dòng)化部署工具的API,根據(jù)與組件相對(duì)應(yīng)的配置文件來(lái)部署測(cè)試環(huán)境。
[0016]優(yōu)選地,當(dāng)部署測(cè)試環(huán)境中需要構(gòu)建多個(gè)應(yīng)用時(shí),該方法進(jìn)一步包括:
[0017]首先根據(jù)多應(yīng)用的依賴(lài)關(guān)系建立有向圖,檢測(cè)該有向圖中是否存在環(huán),若不存在,貝IJ對(duì)該有向圖進(jìn)行拓?fù)渑判?,輸出排序后的序列,將該序列轉(zhuǎn)換為隊(duì)列,然后將隊(duì)列自動(dòng)轉(zhuǎn)換為層級(jí),最后根據(jù)層級(jí)關(guān)系構(gòu)建應(yīng)用,每個(gè)應(yīng)用構(gòu)建完成后發(fā)送觸發(fā)信息。
[0018]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0019]提出了基于智能集群的軟件部署方法,能夠加強(qiáng)對(duì)云平臺(tái)測(cè)試協(xié)同服務(wù)器的統(tǒng)一管理和監(jiān)控,提高發(fā)現(xiàn)測(cè)試協(xié)同服務(wù)器問(wèn)題的及時(shí)性和處理效率,增加出現(xiàn)問(wèn)題后的自我恢復(fù)能力,從而釋放了大量的人力資源,大幅提升了工作效率。
【附圖說(shuō)明】
[0020]圖1是根據(jù)本發(fā)明實(shí)施例的基于智能集群的軟件部署及其維護(hù)方法的流程圖。
【具體實(shí)施方式】
[0021]下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
[0022]本發(fā)明結(jié)合軟件自動(dòng)測(cè)試的需求和基于云平臺(tái)的開(kāi)發(fā)框架的原理及相關(guān)技術(shù),在分析總結(jié)現(xiàn)有工作的基礎(chǔ)上,給出面向云平臺(tái)的系統(tǒng)測(cè)試平臺(tái)的設(shè)計(jì)。
[0023]本發(fā)明的一方面提供了一種基于智能集群的軟件部署及其維護(hù)方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于智能集群的軟件部署及其維護(hù)方法流程圖。
[0024]智能集群測(cè)試平臺(tái)管理整個(gè)開(kāi)發(fā)過(guò)程中的各項(xiàng)活動(dòng)。在該平臺(tái)上,項(xiàng)目管理者創(chuàng)建項(xiàng)目并分配資源,開(kāi)發(fā)人員提交代碼、編譯審計(jì)