專利名稱:一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)及技術(shù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)及技術(shù)方法。
背景技術(shù):
在很多軟件公司的測(cè)試部門,由于機(jī)器不足或者測(cè)試方便性等原因,會(huì)采用虛擬機(jī)技術(shù)協(xié)助軟件測(cè)試。在測(cè)試產(chǎn)品前,需要升級(jí)虛擬機(jī)中的軟件,以達(dá)到最新環(huán)境的測(cè)試要求。而虛擬機(jī)中大量軟件的升級(jí),會(huì)占據(jù)測(cè)試人員大量的工作時(shí)間,因此,自動(dòng)化升級(jí)被很多公司提及。目前,比較成熟的功能自動(dòng)化測(cè)試工具有QTP,WinRunner,按鍵精靈等,這些工具基本上采用錄制操作步驟,修改腳本,回放腳本的方式進(jìn)行自動(dòng)化測(cè)試。這些自動(dòng)化測(cè)試工具主要依靠記錄相對(duì)位置,控件id,圖片等,進(jìn)行操作路徑的記錄和驗(yàn)證。正是由于這些自動(dòng)化測(cè)試工具主要依靠記錄相對(duì)位置,控件id,圖片等,進(jìn)行操作路徑的記錄和驗(yàn)證,因此當(dāng)相對(duì)位置,圖片等有變化時(shí),這些工具所制作的腳本容易失效。而要自動(dòng)升級(jí)多款虛擬機(jī)中的軟件,涉及到虛擬機(jī)的自動(dòng)連接,轉(zhuǎn)移快照,開啟,登錄,關(guān)閉等操作,用已有的功能自動(dòng)化測(cè)試工具所制作的腳本在控制虛擬機(jī)的一系列操作中容易失效,要升級(jí)虛擬機(jī)中的軟件更加困難。而本發(fā)明虛擬機(jī)中用腳本語(yǔ)言編寫軟件自動(dòng)升級(jí)腳本,供主機(jī)中的主程序調(diào)用;主機(jī)中的主程序利用vmware提供的vix接口,方便地控制對(duì)虛擬機(jī)的各種操作,包括對(duì)虛擬機(jī)中的自動(dòng)升級(jí)腳本的調(diào)用。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種能有效地節(jié)省測(cè)試人員的工作時(shí)間,且有較好的可維護(hù)性和可擴(kuò)展性的批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)。為解決上述問(wèn)題,本發(fā)明采用如下技術(shù)方案一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng),包括主機(jī)和虛擬機(jī),所述主機(jī),用于部署組件程序發(fā)布軟件,將最新組件程序發(fā)布到服務(wù)器端組件庫(kù),建立服務(wù)器更新庫(kù),保存所述組件程序的最新版本信息;所述虛擬機(jī),用于將完整的軟件程序根據(jù)完成功能劃分至少一個(gè)獨(dú)立的組件程序文件單獨(dú)封裝;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。作為優(yōu)先,標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。本發(fā)明要解決的另一技術(shù)問(wèn)題是提供一種能有效地節(jié)省測(cè)試人員的工作時(shí)間,且有較好的可維護(hù)性和可擴(kuò)展性的批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法。為解決上述問(wèn)題,本發(fā)明采用如下技術(shù)方案一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法,包括主機(jī)控制虛擬機(jī)中一個(gè)以上的軟件程序;虛擬機(jī)中完整的軟件程序,該軟件程序根據(jù)完成功能劃分成至少一個(gè)獨(dú)立的組件程序文件;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。作為優(yōu)先,所述標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。作為優(yōu)先,所述偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序,包括偵測(cè)功能的開始,在vm中做預(yù)先配置,填寫完配置文件后,開啟主界面;選擇需要升級(jí)的軟件,設(shè)定升級(jí)時(shí)間,判斷主機(jī)是否開始升級(jí);升級(jí)模塊完成指令后,彈出對(duì)話框是否升級(jí)其他軟件,再次判斷主機(jī)是否開始升級(jí),若是,則循環(huán)上一步驟;完成所有組件程序升級(jí)后,關(guān)閉主界面,結(jié)束步驟。本發(fā)明主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)及技術(shù)方法具有以下優(yōu)點(diǎn)根據(jù)不同公司的不同應(yīng)用場(chǎng)景,本系統(tǒng)中只需要修改虛擬機(jī)中的升級(jí)腳本,并預(yù)先配置好虛擬機(jī)和填寫好虛擬機(jī)的配置文件,即可通過(guò)主機(jī)的控制程序進(jìn)行調(diào)用,從而達(dá)到自動(dòng)升級(jí)
的目的。同理,若實(shí)際項(xiàng)目是需要在每個(gè)虛擬機(jī)中進(jìn)行測(cè)試任務(wù),可以用測(cè)試腳本替代本系統(tǒng)中的升級(jí)腳本,從而實(shí)現(xiàn)虛擬機(jī)中自動(dòng)測(cè)試的目的,即本系統(tǒng)的可擴(kuò)展性較好。在虛擬機(jī)內(nèi)部升級(jí)軟件的過(guò)程中,不同的軟件有不同的升級(jí)方法,也有不同的升級(jí)等待時(shí)間。本系統(tǒng)中采用Autoit模擬軟件升級(jí)的一系列操作,通過(guò)四種方式進(jìn)行模擬自動(dòng)升級(jí)升級(jí)進(jìn)程,相對(duì)位置,控件id,圖片。在主程序已經(jīng)確定,即自動(dòng)化測(cè)試框架已經(jīng)搭建好的情況下,可由編程能力不是很強(qiáng)的測(cè)試人員來(lái)編寫自動(dòng)升級(jí)腳本。本系統(tǒng)中采用Autoit編寫腳本,測(cè)試人員也可選用其他自己熟悉的腳本語(yǔ)言進(jìn)行腳本編寫,僅僅需要按照主程序設(shè)定的接口進(jìn)行接口銜接即可,即本系統(tǒng)有較為廣泛的適用人群。
圖I為主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法的流程圖;圖2為本發(fā)明主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)系統(tǒng)的總體流程圖;圖3為本發(fā)明主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)的升級(jí)模塊流程圖。
具體實(shí)施例方式請(qǐng)參閱圖I、圖2和圖3所示,本發(fā)明的一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法,包括主機(jī)控制虛擬機(jī)中一個(gè)以上的軟件程序;虛擬機(jī)中完整的軟件程序,該軟件程序根據(jù)完成功能劃分成至少一個(gè)獨(dú)立的組件程序文件;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。其中,所述標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。
其中,所述偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序,包括偵測(cè)功能的開始,在vm中做預(yù)先配置,填寫完配置文件后,開啟主界面;選擇需要升級(jí)的軟件,設(shè)定升級(jí)時(shí)間,判斷主機(jī)是否開始升級(jí);升級(jí)模塊完成指令后,彈出對(duì)話框是否升級(jí)其他軟件,再次判斷主機(jī)是否開始升級(jí),若是,則循環(huán)上一步驟;完成所有組件程序升級(jí)后,關(guān)閉主界面,結(jié)束步驟。一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng),包括主機(jī)和虛擬機(jī),所述主機(jī),用于部署組件程序發(fā)布軟件,將最新組件程序發(fā)布到服務(wù)器端組件庫(kù),建立服務(wù)器更新庫(kù),保存所述組件程序的最新版本信息;所述虛擬機(jī),用于將完整的軟件程序根據(jù)完成功能劃分至少一個(gè)獨(dú)立的組件程序文件單獨(dú)封裝;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。其中,標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。本發(fā)明主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)及技術(shù)方法具有以下優(yōu)點(diǎn)虛擬機(jī)中的升級(jí)腳本和主機(jī)中的控制程序,這兩部分相對(duì)獨(dú)立。主機(jī)中的控制程序,不會(huì)因?yàn)樘摂M機(jī)中的升級(jí)腳本的改變而需要重新改動(dòng),虛擬機(jī)中的升級(jí)腳本也不會(huì)因?yàn)橥獠靠刂瞥绦虻淖兏枰兏1景l(fā)明已經(jīng)制作成“軟件自動(dòng)升級(jí)系統(tǒng)”,該系統(tǒng)已成功運(yùn)行半年,節(jié)省了測(cè)試人員50%的工作時(shí)間。本發(fā)明涉及到虛擬機(jī)中多種操作,如連接虛擬機(jī),轉(zhuǎn)移到到指定快照,開啟虛擬機(jī),登錄虛擬機(jī),關(guān)閉虛擬機(jī),制作虛擬機(jī)新快照,刪除虛擬機(jī)舊快照等。虛擬機(jī)的一系列操作是升級(jí)虛擬機(jī)中的軟件較為耗時(shí)且繁瑣的部分,本系統(tǒng)中的主程序正是用來(lái)代替這一系列的虛擬機(jī)操作。主程序?yàn)闇y(cè)試人員提供了用戶界面,實(shí)質(zhì)原理是用編程語(yǔ)言調(diào)用vmware提供的vix接口,實(shí)現(xiàn)虛擬機(jī)的自動(dòng)操作,這些接口是vmware公司預(yù)留給編程人員的開放接口,也給予了較為詳細(xì)的示例資料,為主程序的維護(hù)和升級(jí)提供了方便。根據(jù)不同公司的不同應(yīng)用場(chǎng)景,本系統(tǒng)中只需要修改虛擬機(jī)中的升級(jí)腳本,并預(yù)先配置好虛擬機(jī)和填寫好虛擬機(jī)的配置文件,即可通過(guò)主機(jī)的控制程序進(jìn)行調(diào)用,從而達(dá)到自動(dòng)升級(jí)的目的。同理,若實(shí)際項(xiàng)目是需要在每個(gè)虛擬機(jī)中進(jìn)行測(cè)試任務(wù),可以用測(cè)試腳本替代本系統(tǒng)中的升級(jí)腳本,從而實(shí)現(xiàn)虛擬機(jī)中自動(dòng)測(cè)試的目的,即本系統(tǒng)的可擴(kuò)展性較好。在虛擬機(jī)內(nèi)部升級(jí)軟件的過(guò)程中,不同的軟件有不同的升級(jí)方法,也有不同的升級(jí)等待時(shí)間。本系統(tǒng)中采用Autoit模擬軟件升級(jí)的一系列操作,通過(guò)四種方式進(jìn)行模擬自動(dòng)升級(jí)升級(jí)進(jìn)程,相對(duì)位置,控件id,圖片。在主程序已經(jīng)確定,即自動(dòng)化測(cè)試框架已經(jīng)搭建好的情況下,可由編程能力不是很強(qiáng)的測(cè)試人員來(lái)編寫自動(dòng)升級(jí)腳本。本系統(tǒng)中采用Autoit編寫腳本,測(cè)試人員也可選用其他自己熟悉的腳本語(yǔ)言進(jìn)行腳本編寫,僅僅需要按照主程序設(shè)定的接口進(jìn)行接口銜接即可,即本系統(tǒng)有較為廣泛的適用人群。
以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何不經(jīng)過(guò)創(chuàng)造性勞動(dòng)想到的變 化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書所限定的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng),包括主機(jī)和虛擬機(jī),其特征在于所述主機(jī),用于部署組件程序發(fā)布軟件,將最新組件程序發(fā)布到服務(wù)器端組件庫(kù),建立服務(wù)器更新庫(kù),保存所述組件程序的最新版本信息;所述虛擬機(jī),用于將完整的軟件程序根據(jù)完成功能劃分至少一個(gè)獨(dú)立的組件程序文件單獨(dú)封裝;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。
2.根據(jù)權(quán)利要求I所述的主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng),其特征在于,標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。
3.—種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法,其特征在于,包括主機(jī)控制虛擬機(jī)中一個(gè)以上的軟件程序;虛擬機(jī)中完整的軟件程序,該軟件程序根據(jù)完成功能劃分成至少一個(gè)獨(dú)立的組件程序文件;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。
4.根據(jù)權(quán)利要求I所述的主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法,其特征在于,所述標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息,包括采用所述組件程序命名規(guī)則對(duì)所述組件程序的版本信息進(jìn)行標(biāo)識(shí)。
5.根據(jù)權(quán)利要求I所述的主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的技術(shù)方法,其特征在于,所述偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序,包括偵測(cè)功能的開始,在vm中做預(yù)先配置,填寫完配置文件后,開啟主界面;選擇需要升級(jí)的軟件,設(shè)定升級(jí)時(shí)間,判斷主機(jī)是否開始升級(jí);升級(jí)模塊完成指令后,彈出對(duì)話框是否升級(jí)其他軟件,再次判斷主機(jī)是否開始升級(jí),若是,則循環(huán)上一步驟;完成所有組件程序升級(jí)后,關(guān)閉主界面,結(jié)束步驟。
全文摘要
本發(fā)明公開了一種主機(jī)批量控制虛擬機(jī)中軟件自動(dòng)升級(jí)的系統(tǒng)及技術(shù)方法,包括主機(jī)控制虛擬機(jī)中一個(gè)以上的軟件程序;虛擬機(jī)中完整的軟件程序,該軟件程序根據(jù)完成功能劃分成至少一個(gè)獨(dú)立的組件程序文件;標(biāo)識(shí)所述至少一個(gè)獨(dú)立的組件程序的版本信息;偵測(cè)虛擬機(jī)中的軟件程序,當(dāng)組件程序的版本信息早于服務(wù)器更新庫(kù)中組件程序的版本信息時(shí),可根據(jù)主機(jī)控制進(jìn)行下載升級(jí)本地組件程序。根據(jù)本發(fā)明實(shí)施例,虛擬機(jī)中的軟件程序能使得主機(jī)用戶隨機(jī)、有序的升級(jí)請(qǐng)求在升級(jí)服務(wù)器的調(diào)度下進(jìn)行軟件升級(jí),即可實(shí)現(xiàn)主機(jī)批量控制虛擬機(jī)中程序的零維護(hù),大量縮減維護(hù)人工和工作量,增強(qiáng)體驗(yàn)感受。
文檔編號(hào)G06F9/445GK102880482SQ20121027717
公開日2013年1月16日 申請(qǐng)日期2012年8月6日 優(yōu)先權(quán)日2012年8月6日
發(fā)明者吳海華 申請(qǐng)人:廈門市美亞柏科信息股份有限公司