對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法和
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]隨著云計(jì)算技術(shù)的發(fā)展,桌面接入終端與虛擬機(jī)中的虛擬桌面建立連接后,終端用戶通過瘦客戶端或者任何其他與網(wǎng)絡(luò)相連的設(shè)備就可以訪問整個(gè)客戶桌面。為了提升用戶體驗(yàn),需要對(duì)虛擬機(jī)中的軟件進(jìn)行不斷升級(jí),但由于這些軟件存在于各個(gè)虛擬機(jī)中,致使這些軟件的升級(jí)較為困難,因此,如何對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí),成為了本領(lǐng)域技術(shù)人員較為關(guān)注的問題。
[0003]現(xiàn)有技術(shù)在對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)時(shí),采用如下兩種方式:
[0004]方式一:用戶控制終端通過網(wǎng)絡(luò)連接對(duì)應(yīng)的虛擬機(jī),進(jìn)而將待升級(jí)軟件的升級(jí)包拷貝至對(duì)應(yīng)的虛擬機(jī)中,然后用戶按照待升級(jí)軟件的升級(jí)包的升級(jí)過程指引,通過終端控制對(duì)應(yīng)的虛擬機(jī)中的軟件進(jìn)行升級(jí)。
[0005]方式二:在服務(wù)器上統(tǒng)一部署第三方管理軟件,通過第三方管理軟件將待升級(jí)軟件的升級(jí)包分發(fā)至各個(gè)虛擬機(jī)中,并通過第三方管理軟件控制各個(gè)虛擬機(jī)中的軟件進(jìn)行升級(jí)。
[0006]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0007]采用方式一升級(jí)虛擬機(jī)中的軟件時(shí),由于升級(jí)過程需要用戶手動(dòng)進(jìn)行操作,因此,升級(jí)方式不夠便捷,降低了用戶體驗(yàn);采用方式二升級(jí)虛擬機(jī)中的軟件時(shí),由于需要在服務(wù)器上部署第三方管理軟件,因而增加了額外的工作量,且由于第三方管理軟件也會(huì)存在升級(jí)的問題,因此,增加了對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的復(fù)雜度,降低了升級(jí)效率。
【發(fā)明內(nèi)容】
[0008]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法和裝置。所述技術(shù)方案如下:
[0009]一方面,提供了一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法,所述方法包括:
[0010]確定在線虛擬機(jī),并判斷在線虛擬機(jī)中是否存在滿足升級(jí)要求的虛擬機(jī);
[0011]如果存在滿足升級(jí)要求的虛擬機(jī),則獲取所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的升級(jí)組件;
[0012]通過與所述滿足升級(jí)要求的虛擬機(jī)之間預(yù)先建立的升級(jí)通道將獲取到的升級(jí)組件發(fā)送至所述滿足升級(jí)要求的虛擬機(jī)中;
[0013]控制所述滿足升級(jí)要求的虛擬機(jī)根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)。
[0014]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述判斷在線虛擬機(jī)中是否存在滿足升級(jí)要求的虛擬機(jī),包括:
[0015]判斷在線虛擬機(jī)中是否存在滿足第一升級(jí)條件的虛擬機(jī);
[0016]如果存在滿足第一升級(jí)條件的虛擬機(jī),則判斷滿足第一升級(jí)條件的虛擬機(jī)是否滿足第二升級(jí)條件;
[0017]如果存在滿足第一升級(jí)條件且滿足第二升級(jí)條件的虛擬機(jī),則確定所述滿足第一升級(jí)條件且滿足第二升級(jí)條件的虛擬機(jī)是否具有升級(jí)標(biāo)識(shí);
[0018]將滿足第一升級(jí)條件、第二升級(jí)條件且具有升級(jí)標(biāo)識(shí)的虛擬機(jī)確定為滿足升級(jí)要求的虛擬機(jī)。
[0019]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述判斷在線虛擬機(jī)中是否存在滿足第一升級(jí)條件的虛擬機(jī),包括:
[0020]判斷在線虛擬機(jī)中是否存在未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī);
[0021]如果在線虛擬機(jī)中存在未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī),則將未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī)作為滿足第一升級(jí)條件的虛擬機(jī)。
[0022]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述判斷滿足第一升級(jí)條件的虛擬機(jī)是否滿足第二升級(jí)條件,包括:
[0023]判斷滿足第一升級(jí)條件的虛擬機(jī)上的軟件對(duì)應(yīng)的組件版本號(hào)與獲取到的升級(jí)組件的版本號(hào)進(jìn)行比較;
[0024]如果滿足第一升級(jí)條件的虛擬機(jī)上的軟件對(duì)應(yīng)的組件版本號(hào)與獲取到的升級(jí)組件的版本號(hào)不一致,則判斷滿足第一升級(jí)條件的虛擬機(jī)滿足第二升級(jí)條件。
[0025]結(jié)合第一方面,在第一方面的第四種可能的實(shí)現(xiàn)方式下,所述控制所述滿足升級(jí)要求的虛擬機(jī)根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí),包括:
[0026]通過所述升級(jí)通道向所述滿足升級(jí)要求的虛擬機(jī)發(fā)送升級(jí)指令,使所述滿足升級(jí)要求的虛擬機(jī)接收到所述升級(jí)指令后,根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)。
[0027]結(jié)合第一方面,在第一方面的第五種可能的實(shí)現(xiàn)方式下,所述控制所述滿足升級(jí)要求的虛擬機(jī)根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)之后,還包括:
[0028]對(duì)進(jìn)行組件升級(jí)的虛擬機(jī)進(jìn)行重啟操作。
[0029]結(jié)合第一方面,在第一方面的第六種可能的實(shí)現(xiàn)方式下,所述控制所述滿足升級(jí)要求的虛擬機(jī)根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)之后,還包括:
[0030]通過所述升級(jí)通道獲取所述滿足升級(jí)要求的虛擬機(jī)對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)后的升級(jí)結(jié)果。
[0031]第二方面,提供了一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的裝置,所述裝置包括:
[0032]確定模塊,用于確定在線虛擬機(jī);
[0033]判斷模塊,用于判斷在線虛擬機(jī)中是否存在滿足升級(jí)要求的虛擬機(jī);
[0034]第一獲取模塊,用于當(dāng)存在滿足升級(jí)要求的虛擬機(jī)時(shí),獲取所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的升級(jí)組件;
[0035]發(fā)送模塊,用于通過與所述滿足升級(jí)要求的虛擬機(jī)之間預(yù)先建立的升級(jí)通道將獲取到的升級(jí)組件發(fā)送至所述滿足升級(jí)要求的虛擬機(jī)中;
[0036]控制模塊,用于控制所述滿足升級(jí)要求的虛擬機(jī)根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)。
[0037]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式下,所述判斷模塊,包括:
[0038]第一判斷單元,用于判斷在線虛擬機(jī)中是否存在滿足第一升級(jí)條件的虛擬機(jī);
[0039]第二判斷單元,用于當(dāng)存在滿足第一升級(jí)條件的虛擬機(jī)時(shí),判斷滿足第一升級(jí)條件的虛擬機(jī)是否滿足第二升級(jí)條件;
[0040]第一確定單元,用于當(dāng)存在滿足第一升級(jí)條件且滿足第二升級(jí)條件的虛擬機(jī)時(shí),確定所述滿足第一升級(jí)條件且滿足第二升級(jí)條件的虛擬機(jī)是否具有升級(jí)標(biāo)識(shí);
[0041]第二確定單元,用于將滿足第一升級(jí)條件、第二升級(jí)條件且具有升級(jí)標(biāo)識(shí)的虛擬機(jī)確定為滿足升級(jí)要求的虛擬機(jī)。
[0042]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式下,所述第一判斷單元,用于判斷在線虛擬機(jī)中是否存在未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī);
[0043]當(dāng)在線虛擬機(jī)中存在未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī)時(shí),將未進(jìn)行虛擬處理器熱插拔、內(nèi)存快照、休眠喚醒和熱遷移的虛擬機(jī)作為滿足第一升級(jí)條件的虛擬機(jī)。
[0044]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式下,所述第二判斷單元,用于判斷滿足第一升級(jí)條件的虛擬機(jī)上的軟件對(duì)應(yīng)的組件版本號(hào)與獲取到的升級(jí)組件的版本號(hào)進(jìn)行比較;
[0045]當(dāng)滿足第一升級(jí)條件的虛擬機(jī)上的軟件對(duì)應(yīng)的組件版本號(hào)與獲取到的升級(jí)組件的版本號(hào)不一致時(shí),判斷滿足第一升級(jí)條件的虛擬機(jī)滿足第二升級(jí)條件。
[0046]結(jié)合第二方面,在第二方面的第四種可能的實(shí)現(xiàn)方式下,所述控制模塊,用于通過所述升級(jí)通道向所述滿足升級(jí)要求的虛擬機(jī)發(fā)送升級(jí)指令,使所述滿足升級(jí)要求的虛擬機(jī)接收到所述升級(jí)指令后,根據(jù)所述升級(jí)組件對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)。
[0047]結(jié)合第二方面,在第二方面的第五種可能的實(shí)現(xiàn)方式下,所述控制模塊,還用于對(duì)進(jìn)行組件升級(jí)的虛擬機(jī)進(jìn)行重啟操作。
[0048]結(jié)合第二方面,在第二方面的第六種可能的實(shí)現(xiàn)方式下,所述裝置,還包括:
[0049]第二獲取模塊,用于通過所述升級(jí)通道獲取所述滿足升級(jí)要求的虛擬機(jī)對(duì)所述滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí)后的升級(jí)結(jié)果。
[0050]本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:
[0051]通過判斷在線的虛擬機(jī)是否存在滿足升級(jí)要求,進(jìn)而獲取滿足升級(jí)要求的虛機(jī)上的軟件對(duì)應(yīng)的升級(jí)組件,并通過預(yù)先建立的升級(jí)通道將獲取到的升級(jí)組件發(fā)送至滿足升級(jí)要求的虛擬機(jī)中,從而控制滿足升級(jí)要求的虛擬機(jī)根據(jù)升級(jí)組件對(duì)滿足升級(jí)要求的虛擬機(jī)上的軟件對(duì)應(yīng)的組件進(jìn)行升級(jí),而無需用戶手動(dòng)操作,因而升級(jí)方式更為便捷;且不需要在服務(wù)器上額外部署其他的管理軟件,更無需對(duì)其他管理軟件進(jìn)行管理,從而進(jìn)一步降低了升級(jí)的復(fù)雜度,并提升了升級(jí)效率。
【附圖說明】
[0052]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0053]圖1是本發(fā)明實(shí)施例一提供的一種服務(wù)器和虛擬機(jī)的示意圖;
[0054]圖2是本發(fā)明實(shí)施例一提供的一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法流程圖;
[0055]圖3是本發(fā)明實(shí)施例二提供的一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的方法流程圖;
[0056]圖4是本發(fā)明實(shí)施例三提供的一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的裝置結(jié)構(gòu)示意圖;
[0057]圖5是本發(fā)明實(shí)施例三提供的判斷模塊的結(jié)構(gòu)示意圖;
[0058]圖6是本發(fā)明實(shí)施例三提供的另一種對(duì)虛擬機(jī)中的軟件進(jìn)行升級(jí)的裝置結(jié)構(gòu)示意圖;
[0059]圖7是本發(fā)明實(shí)施例四提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0061]實(shí)施例一
[0062]隨著云計(jì)算技術(shù)的發(fā)展,虛擬化技術(shù)的不斷成熟,每臺(tái)服務(wù)器上可以同時(shí)并行的運(yùn)行著多臺(tái)虛擬機(jī)。通過在虛擬機(jī)上部署不同的軟件,可以實(shí)現(xiàn)不同的功能。例如,在虛擬機(jī)中部署虛擬桌面代理軟件,通過虛擬桌面代理軟件的代理功能,終端用戶通過瘦客戶端或者其他任何與網(wǎng)絡(luò)相連的設(shè)備就可以訪問虛擬桌面代理軟件代理的對(duì)應(yīng)的客戶桌面。