本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種虛擬桌面共享方法及裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,越來(lái)越多的信息技術(shù)、通訊技術(shù)設(shè)備和運(yùn)營(yíng)商加入到云產(chǎn)品的開(kāi)發(fā)研究和云產(chǎn)品的推廣與布置。云產(chǎn)品在互聯(lián)網(wǎng)應(yīng)用、信息中心建設(shè)等領(lǐng)域已經(jīng)得到相對(duì)成熟的應(yīng)用。虛擬桌面是云計(jì)算應(yīng)用的一種,屬于平臺(tái)即服務(wù)(platform-as-a-service,簡(jiǎn)稱paas)類型,通常是指這樣的應(yīng)用:通過(guò)集中布置服務(wù)器并運(yùn)行桌面系統(tǒng)的虛擬機(jī),使得用戶可以通過(guò)網(wǎng)絡(luò)不限于物理空間限制來(lái)使用桌面系統(tǒng)和桌面操作。
近年來(lái),教育行業(yè)信息化發(fā)展迅速,學(xué)校信息網(wǎng)絡(luò)日益完善,電腦網(wǎng)絡(luò)教室也逐漸得到了普及,使用云終端替代傳統(tǒng)pc作為電腦網(wǎng)絡(luò)教學(xué)的學(xué)生終端,同時(shí)采用云終端代替?zhèn)鹘y(tǒng)pc作為電腦網(wǎng)絡(luò)教學(xué)的教師終端,在云服務(wù)器中設(shè)置多個(gè)虛擬機(jī),教師終端和每個(gè)學(xué)生終端都分別對(duì)應(yīng)一個(gè)虛擬機(jī);在完成教育行業(yè)信息化建設(shè)目標(biāo)的同時(shí),以更低成本、更少部署時(shí)間輕松完成系統(tǒng)的接入。在課堂教學(xué)的虛擬桌面應(yīng)用場(chǎng)景中經(jīng)常需要將一個(gè)虛擬桌面共享給多個(gè)用戶同時(shí)共享使用,教師通過(guò)教師終端接入對(duì)應(yīng)的虛擬機(jī)進(jìn)行虛擬桌面操作,學(xué)生需要通過(guò)學(xué)生終端對(duì)應(yīng)的虛擬機(jī)查看到教師在教師終端對(duì)應(yīng)的虛擬機(jī)上的虛擬桌面操作,即教師終端接入對(duì)應(yīng)的虛擬機(jī),每個(gè)學(xué)生終端接入對(duì)應(yīng)虛擬機(jī)(一個(gè)學(xué)生終端對(duì)應(yīng)一個(gè)虛擬機(jī)),教師通過(guò)教師終端對(duì)對(duì)應(yīng)的虛擬機(jī)進(jìn)行虛擬桌面操作,該教師終端對(duì)應(yīng)的虛擬機(jī)將桌面信息以組播方式發(fā)送給各個(gè)學(xué)生終端對(duì)應(yīng)的虛擬機(jī),再由學(xué)生終端對(duì)應(yīng)的虛擬機(jī)將桌面信息發(fā)送給對(duì)應(yīng)的學(xué)生終端。采用上述方式,具有以下缺陷:一、虛擬桌面信息需要先傳送到各個(gè)學(xué)生終端對(duì)應(yīng)的虛擬機(jī),再由學(xué)生終端對(duì)應(yīng)的虛擬機(jī)發(fā)送給對(duì)應(yīng)的學(xué)生終端,隨著學(xué)生終端的增加,云服務(wù)器中的學(xué)生終端對(duì)應(yīng)的虛擬機(jī)也會(huì)增加,各個(gè)學(xué)生終端對(duì)應(yīng)的虛擬機(jī)向?qū)W生終端同時(shí)發(fā)送虛擬桌面信息,將增大云服務(wù)器的處理壓力,影響教學(xué)體驗(yàn)。
上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種虛擬桌面共享方法及裝置,旨在解決現(xiàn)有技術(shù)中,隨著客戶端的增加,導(dǎo)致云服務(wù)器壓力大的技術(shù)問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種虛擬桌面共享方法,該方法包括:
第一虛擬機(jī)獲取所述第一虛擬機(jī)上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息;
所述第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中;
若組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則所述第一虛擬機(jī)將所述虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供所述至少一個(gè)虛擬桌面從客戶端根據(jù)所述虛擬桌面信息顯示與所述虛擬桌面主客戶端相同的內(nèi)容。
優(yōu)選地,所述所述第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中的步驟之前,該方法還包括:
所述第一虛擬機(jī)向至少一個(gè)第二虛擬機(jī)發(fā)送加入組播通知;
所述至少一個(gè)第二虛擬機(jī)在接收到加入組播通知時(shí),向所述第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),供所述第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端根據(jù)所述加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中。
優(yōu)選地,所述虛擬桌面信息包括虛擬桌面的變化信息。
優(yōu)選地,所述虛擬桌面信息包括虛擬桌面的界面信息。
優(yōu)選地,所述第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中的步驟之后,該方法還包括:
若組播組中的虛擬桌面從客戶端在不同局域網(wǎng)中,則所述第一虛擬機(jī)將所述虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,并控制所述任一虛擬桌面從客戶端將接收的虛擬桌面信息通過(guò)組播方式發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種虛擬桌面共享裝置,該裝置 包括第一虛擬機(jī),所述第一虛擬機(jī)包括:
獲取模塊,用于獲取所述第一虛擬機(jī)上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息;
判斷模塊,用于判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中;
組播模塊,用于在組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)時(shí),將所述虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供所述至少一個(gè)虛擬桌面從客戶端根據(jù)所述虛擬桌面信息顯示與所述虛擬桌面主客戶端相同的內(nèi)容。
優(yōu)選地,該裝置還包括至少一個(gè)第二虛擬機(jī),
所述第一虛擬機(jī)還包括發(fā)送模塊,用于向所述至少一個(gè)第二虛擬機(jī)發(fā)送加入組播通知;
所述第二虛擬機(jī),用于在接收到加入組播通知時(shí),向所述第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),供所述第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端根據(jù)所述加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中。
優(yōu)選地,所述虛擬桌面信息包括虛擬桌面的變化信息。
優(yōu)選地,所述虛擬桌面信息包括虛擬桌面的界面信息。
優(yōu)選地,所述組播模塊,還用于在組播組中的虛擬桌面從客戶端在不同局域網(wǎng)時(shí),將所述虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,并控制所述任一虛擬桌面從客戶端將接收的虛擬桌面信息通過(guò)組播方式發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
本發(fā)明的虛擬桌面共享方法及裝置,該方法包括:第一虛擬機(jī)獲取所述第一虛擬機(jī)上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息;所述第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中;若組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則所述第一虛擬機(jī)將所述虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供所述至少一個(gè)虛擬桌面從客戶端根據(jù)所述虛擬桌面信息顯示與所述虛擬桌面主客戶端相同的內(nèi)容;該第一虛擬機(jī)可將第一虛擬機(jī)對(duì)應(yīng)的虛擬桌面主客戶端的虛擬桌面信息進(jìn)行組播,一次性將該虛擬桌面信息發(fā)送給組播組中的各個(gè)虛擬桌面從客戶端,可減輕該第一虛擬機(jī)所在云服務(wù)器的壓力, 減少網(wǎng)絡(luò)流量。
附圖說(shuō)明
圖1為本發(fā)明虛擬桌面共享方法的第一實(shí)施例的流程示意圖;
圖2為本發(fā)明虛擬桌面共享方法的第二實(shí)施例的流程示意圖;
圖3為本發(fā)明虛擬桌面共享方法的第三實(shí)施例的流程示意圖;
圖4為本發(fā)明虛擬桌面共享裝置的第一實(shí)施例的結(jié)構(gòu)示意圖;
圖5為本發(fā)明虛擬桌面共享裝置的第二實(shí)施例的結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照?qǐng)D1,圖1為本發(fā)明虛擬桌面共享方法的第一實(shí)施例的流程示意圖,該方法包括:
s10、第一虛擬機(jī)獲取該第一虛擬機(jī)上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息。
該第一虛擬機(jī)位于云服務(wù)器中,該第一虛擬機(jī)對(duì)應(yīng)一個(gè)虛擬桌面主客戶端,用戶通過(guò)該虛擬桌面主客戶端對(duì)第一虛擬機(jī)進(jìn)行相關(guān)操作,使用體驗(yàn)如同使用本地的操作系統(tǒng)一樣。該虛擬桌面主客戶端所在的終端可以是云終端或瘦終端或其它可接入第一虛擬機(jī)的終端。在教學(xué)場(chǎng)景中,該用戶是教師,該第一虛擬機(jī)對(duì)應(yīng)的虛擬桌面主客戶端由教師操作,該虛擬桌面主客戶端所在的終端為教師終端。
可選的,該虛擬桌面信息包括虛擬桌面的變化信息,具體的,該虛擬桌面的變化信息是指虛擬桌面的界面變化信息,可減少該第一虛擬機(jī)向虛擬桌面從客戶端發(fā)送的數(shù)據(jù)量。
可選的,該虛擬桌面信息包括虛擬桌面的界面信息,即該虛擬桌面的界面信息包括該虛擬桌面發(fā)生變化的界面和未發(fā)生變化的界面。
s20、所述第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局 域網(wǎng)中;若組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則執(zhí)行步驟s30。
組播組中的虛擬桌面從客戶端的數(shù)量不限定,可以為一個(gè)或多個(gè),該組播組中的虛擬桌面從客戶端可自由的加入或退出該組播組。組播組中的虛擬桌面從客戶端有可能處于不同的局域網(wǎng),即虛擬桌面從客戶端可能處于一個(gè)廣域網(wǎng)中,而第一虛擬機(jī)在將虛擬桌面信息通過(guò)組播方式發(fā)送時(shí),無(wú)法將虛擬桌面信息組播到廣域網(wǎng)中的各個(gè)虛擬桌面從客戶端,即組播數(shù)據(jù)無(wú)法穿透廣域網(wǎng)。因此,在步驟中,該第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中,以確定是否可直接向該所有虛擬桌面從客戶端組播虛擬桌面信息;當(dāng)該組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則該第一虛擬機(jī)可直接向該組播組中的所有虛擬桌面從客戶端組播虛擬桌面信息。
具體的,該第一虛擬機(jī)可判斷該組播組中的虛擬桌面從客戶端所在的終端是否通過(guò)同一個(gè)路由器或交換機(jī)或集線器連接,若該組播組中的虛擬桌面從客戶端所在的終端通過(guò)同一個(gè)路由器或交換器或集線器連接,則確定該組播組中的虛擬桌面從客戶端處于同一個(gè)局域網(wǎng)中。
s30、該第一虛擬機(jī)將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供該至少一個(gè)虛擬桌面從客戶端根據(jù)該虛擬桌面信息顯示與該虛擬桌面主客戶端相同的內(nèi)容。
在教學(xué)場(chǎng)景中,該虛擬桌面從客戶端由學(xué)生操作,該虛擬桌面從客戶端所在的終端為學(xué)生終端。該虛擬桌面從客戶端所在的終端可以為云終端或瘦終端或其它可接入第一虛擬機(jī)的終端。
在該步驟中,該第一虛擬機(jī)將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,即該第一虛擬機(jī)只要發(fā)送一次虛擬桌面信息,在組播組中的各個(gè)虛擬桌面從客戶端就可以都接收到虛擬桌面信息,使得不管有多少個(gè)虛擬桌面從客戶端,該第一虛擬機(jī)都只需要發(fā)送一次虛擬桌面信息,即可以減輕該第一虛擬機(jī)所在云服務(wù)器的壓力,減少網(wǎng)絡(luò)流量。
該虛擬桌面從客戶端在接收到該虛擬桌面信息后,根據(jù)該虛擬桌面信息顯示與該虛擬桌面主客戶端相同的內(nèi)容,使得該虛擬桌面從客戶端顯示的內(nèi)容與虛擬桌面主客戶端顯示的內(nèi)容保持同步,即在教學(xué)場(chǎng)景中,該虛擬桌面從客戶端所在的終端(學(xué)生終端)顯示的內(nèi)容與虛擬桌面主客戶端所在的終 端(教師終端)顯示的內(nèi)容相同。
采用上述實(shí)施例,通過(guò)第一虛擬機(jī)獲取該第一虛擬機(jī)上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息;該第一虛擬機(jī)判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中;若組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則該第一虛擬機(jī)將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供該至少一個(gè)虛擬桌面從客戶端根據(jù)該虛擬桌面信息顯示與該虛擬桌面主客戶端相同的內(nèi)容;該第一虛擬機(jī)可將第一虛擬機(jī)對(duì)應(yīng)的虛擬桌面主客戶端的虛擬桌面信息進(jìn)行組播,一次性將該虛擬桌面信息發(fā)送給組播組中的各個(gè)虛擬桌面從客戶端,可減輕該第一虛擬機(jī)所在云服務(wù)器的壓力,減少網(wǎng)絡(luò)流量。
參照?qǐng)D2,圖2為本發(fā)明虛擬桌面共享方法的第二實(shí)施例的流程示意圖。
基于上述虛擬桌面共享方法的第一實(shí)施例,在步驟s20之前,該方法還包括:
s40、該第一虛擬機(jī)向至少一個(gè)第二虛擬機(jī)發(fā)送加入組播通知。
該第二虛擬機(jī)可以有多個(gè),每個(gè)第二虛擬機(jī)對(duì)應(yīng)一個(gè)虛擬桌面從客戶端。該第二虛擬機(jī)所在的云服務(wù)器可與該第一虛擬機(jī)所在的云服務(wù)器相同或不同。該第一虛擬機(jī)與該第二虛擬機(jī)之間采用udp協(xié)議進(jìn)行通訊。
該第一虛擬機(jī)通過(guò)組播方式向各個(gè)第二虛擬機(jī)發(fā)送加入組播通知,該加入組播通知包括組播組標(biāo)識(shí)。
可選的,在該步驟中,該第一虛擬機(jī)查看該第一虛擬機(jī)對(duì)應(yīng)的第二虛擬機(jī)列表,從該第二虛擬機(jī)列表中選出狀態(tài)為運(yùn)行的第二虛擬機(jī),向該選出的第二虛擬機(jī)發(fā)送加入組播通知。該第二虛擬機(jī)的狀態(tài)有運(yùn)行、停止、掛起和離線等,該第二虛擬機(jī)的狀態(tài)與該第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端的狀態(tài)相關(guān),當(dāng)該虛擬桌面從客戶端的狀態(tài)為停止時(shí),該虛擬桌面從客戶端對(duì)應(yīng)的第二虛擬機(jī)的狀態(tài)為停止,當(dāng)該虛擬桌面從客戶端的狀態(tài)為運(yùn)行、掛起或離線時(shí),該虛擬桌面從客戶端對(duì)應(yīng)的第二虛擬機(jī)的狀態(tài)為運(yùn)行。該第二虛擬機(jī)列表包括至少一個(gè)第二虛擬機(jī),在教學(xué)場(chǎng)景中,一個(gè)第二虛擬機(jī)對(duì)應(yīng)一個(gè)學(xué)生終端,因此,可根據(jù)實(shí)際需要設(shè)置多個(gè)第二虛擬機(jī)。如在一實(shí)施例中,該第二虛擬機(jī)列表中有3個(gè)第二虛擬機(jī)的狀態(tài)為運(yùn)行,則該第一虛擬機(jī)向該3 個(gè)處于運(yùn)行狀態(tài)的第二虛擬機(jī)以組播方式發(fā)送加入組播通知。
s50、該至少一個(gè)第二虛擬機(jī)在接收到加入組播通知時(shí),向該第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),供該第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端根據(jù)該加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中。
該第二虛擬機(jī)在接收到加入組播通知時(shí),其本身并不加入組播組,而是向該第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),即該第二虛擬機(jī)協(xié)助該第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端加入到對(duì)應(yīng)的組播組中。該加入組播邀請(qǐng)包括組播組標(biāo)識(shí)。該第二虛擬機(jī)與對(duì)應(yīng)的虛擬桌面從客戶端之間采用tcp協(xié)議進(jìn)行通訊。
如在一實(shí)施例中,3個(gè)第二虛擬機(jī)分別接收到了第一虛擬機(jī)發(fā)送的加入組播通知,則該3個(gè)第二虛擬機(jī)分別向?qū)?yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),這3個(gè)第二虛擬機(jī)對(duì)應(yīng)的虛擬桌面從客戶端在接收到加入組播邀請(qǐng)時(shí),根據(jù)該加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中;然后這3個(gè)虛擬桌面從客戶端可接收到第一虛擬機(jī)組播的虛擬桌面信息。
參照?qǐng)D3,圖3為本發(fā)明虛擬桌面共享方法的第三實(shí)施例的流程示意圖。
基于上述虛擬桌面共享方法的第一實(shí)施例,在步驟s20之后,該方法還包括:
s60、該第一虛擬機(jī)將該虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,并控制該任一虛擬桌面從客戶端將接收的虛擬桌面信息通過(guò)組播方式發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
當(dāng)該組播組中的虛擬桌面從客戶端處于不同的局域網(wǎng)中,如在一實(shí)施例中,該組播組中的5個(gè)虛擬桌面從客戶端位于北京,這5個(gè)虛擬桌面從客戶端處于一個(gè)局域網(wǎng)中,該組播組中的6個(gè)虛擬桌面從客戶端位于上海,這6個(gè)虛擬桌面從客戶端處于一個(gè)局域網(wǎng)中,該第一虛擬機(jī)將該虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,如通過(guò)單播方式將虛擬桌面信息發(fā)送給位于北京的同一個(gè)局域網(wǎng)中的5個(gè)虛擬桌面從客戶端中的任一個(gè)虛擬桌面從客戶端及發(fā)送給位于上海的同一個(gè)局域網(wǎng)中的6個(gè)虛擬桌面從客戶端中的任一個(gè)虛擬桌面從客戶端;并控制該接收 到虛擬桌面信息的虛擬桌面從客戶端以組播方式將接收的虛擬桌面信息發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
參照?qǐng)D4,圖4為本發(fā)明虛擬桌面共享裝置的第一實(shí)施例的結(jié)構(gòu)示意圖,該裝置包括第一虛擬機(jī)10,該第一虛擬機(jī)10包括:
獲取模塊11,用于獲取該第一虛擬機(jī)10上基于用戶在虛擬桌面主客戶端的操作指令生成的虛擬桌面信息;
判斷模塊12,用于判斷組播組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中;
組播模塊13,用于在組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)時(shí),將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,供該至少一個(gè)虛擬桌面從客戶端根據(jù)該虛擬桌面信息顯示與該虛擬桌面主客戶端相同的內(nèi)容。
該第一虛擬機(jī)10位于云服務(wù)器中,該第一虛擬機(jī)10對(duì)應(yīng)一個(gè)虛擬桌面主客戶端,用戶通過(guò)該虛擬桌面主客戶端對(duì)第一虛擬機(jī)10進(jìn)行相關(guān)操作,使用體驗(yàn)如同使用本地的操作系統(tǒng)一樣。該虛擬桌面主客戶端所在的終端可以是云終端或瘦終端或其它可接入第一虛擬機(jī)10的終端。在教學(xué)場(chǎng)景中,該用戶是教師,該第一虛擬機(jī)10對(duì)應(yīng)的虛擬桌面主客戶端由教師操作,該虛擬桌面主客戶端所在的終端為教師終端。
可選的,該虛擬桌面信息包括虛擬桌面的變化信息,具體的,該虛擬桌面的變化信息是指虛擬桌面的界面變化信息,可減少該第一虛擬機(jī)10向虛擬桌面從客戶端發(fā)送的數(shù)據(jù)量。
可選的,該虛擬桌面信息包括虛擬桌面的界面信息,即該虛擬桌面的界面信息包括該虛擬桌面發(fā)生變化的界面和未發(fā)生變化的界面。
組播組中的虛擬桌面從客戶端的數(shù)量不限定,可以為一個(gè)或多個(gè),該組播組中的虛擬桌面從客戶端可自由的加入或退出該組播組。組播組中的虛擬桌面從客戶端有可能處于不同的局域網(wǎng),即虛擬桌面從客戶端可能處于一個(gè)廣域網(wǎng)中,而第一虛擬機(jī)10的組播模塊13在將虛擬桌面信息通過(guò)組播方式發(fā)送時(shí),無(wú)法將虛擬桌面信息組播到廣域網(wǎng)中的各個(gè)虛擬桌面從客戶端,即組播數(shù)據(jù)無(wú)法穿透廣域網(wǎng)。因此,該第一虛擬機(jī)10的判斷模塊12判斷組播 組中的虛擬桌面從客戶端是否在同一個(gè)局域網(wǎng)中,以確定是否可直接向該所有虛擬桌面從客戶端組播虛擬桌面信息;當(dāng)該組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)中,則該第一虛擬機(jī)10可直接向該組播組中的所有虛擬桌面從客戶端組播虛擬桌面信息。
具體的,該第一虛擬機(jī)10的判斷模塊12可判斷該組播組中的虛擬桌面從客戶端所在的終端是否通過(guò)同一個(gè)路由器或交換機(jī)或集線器連接,若該組播組中的虛擬桌面從客戶端所在的終端通過(guò)同一個(gè)路由器或交換器或集線器連接,則確定該組播組中的虛擬桌面從客戶端處于同一個(gè)局域網(wǎng)中。
在教學(xué)場(chǎng)景中,該虛擬桌面從客戶端由學(xué)生操作,該虛擬桌面從客戶端所在的終端為學(xué)生終端。該虛擬桌面從客戶端所在的終端可以為云終端或瘦終端或其它可接入第一虛擬機(jī)10的終端。
組播模塊13將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端,即該第一虛擬機(jī)10的組播模塊13只要發(fā)送一次虛擬桌面信息,在組播組中的各個(gè)虛擬桌面從客戶端就可以都接收到虛擬桌面信息,使得不管有多少個(gè)虛擬桌面從客戶端,該第一虛擬機(jī)10都只需要發(fā)送一次虛擬桌面信息,即可以減輕該第一虛擬機(jī)10所在云服務(wù)器的壓力,減少網(wǎng)絡(luò)流量。
該虛擬桌面從客戶端在接收到該虛擬桌面信息后,根據(jù)該虛擬桌面信息顯示與該虛擬桌面主客戶端相同的內(nèi)容,使得該虛擬桌面從客戶端顯示的內(nèi)容與虛擬桌面主客戶端顯示的內(nèi)容保持同步,即在教學(xué)場(chǎng)景中,該虛擬桌面從客戶端所在的終端(學(xué)生終端)顯示的內(nèi)容與虛擬桌面主客戶端所在的終端(教師終端)顯示的內(nèi)容相同。
進(jìn)一步的,該組播模塊13,還用于在組播組中的虛擬桌面從客戶端在同一個(gè)局域網(wǎng)時(shí),將該虛擬桌面信息通過(guò)組播方式發(fā)送給組播組中的至少一個(gè)虛擬桌面從客戶端;及用于在組播組中的虛擬桌面從客戶端在不同局域網(wǎng)時(shí),將該虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,并控制該任一虛擬桌面從客戶端將接收的虛擬桌面信息通過(guò)組播方式發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
當(dāng)該組播組中的虛擬桌面從客戶端處于不同的局域網(wǎng)中,如在一實(shí)施例中,該組播組中的5個(gè)虛擬桌面從客戶端位于北京,這5個(gè)虛擬桌面從客戶 端處于一個(gè)局域網(wǎng)中,該組播組中的6個(gè)虛擬桌面從客戶端位于上海,這6個(gè)虛擬桌面從客戶端處于一個(gè)局域網(wǎng)中,該第一虛擬機(jī)10的組播模塊13將該虛擬桌面信息通過(guò)單播方式發(fā)送給組播組中的每一個(gè)局域網(wǎng)中的任一虛擬桌面從客戶端,如通過(guò)單播方式將虛擬桌面信息發(fā)送給位于北京的同一個(gè)局域網(wǎng)中的5個(gè)虛擬桌面從客戶端中的任一個(gè)虛擬桌面從客戶端及發(fā)送給位于上海的同一個(gè)局域網(wǎng)中的6個(gè)虛擬桌面從客戶端中的任一個(gè)虛擬桌面從客戶端;并控制該接收到虛擬桌面信息的虛擬桌面從客戶端以組播方式將接收的虛擬桌面信息發(fā)送給同一局域網(wǎng)內(nèi)的其它虛擬桌面從客戶端。
參照?qǐng)D5,圖5為本發(fā)明虛擬桌面共享裝置的第二實(shí)施例的結(jié)構(gòu)示意圖。
基于上述虛擬桌面共享裝置的第一實(shí)施例,該裝置還包括至少一個(gè)第二虛擬機(jī)20,
該第一虛擬機(jī)10還包括發(fā)送模塊14,用于向該至少一個(gè)第二虛擬機(jī)20發(fā)送加入組播通知;
該第二虛擬機(jī)20,用于在接收到加入組播通知時(shí),向該第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),供該第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端根據(jù)該加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中。
該第二虛擬機(jī)20可以有多個(gè),每個(gè)第二虛擬機(jī)20對(duì)應(yīng)一個(gè)虛擬桌面從客戶端。該第二虛擬機(jī)20所在的云服務(wù)器可與該第一虛擬機(jī)10所在的云服務(wù)器相同或不同。該第一虛擬機(jī)10與該第二虛擬機(jī)20之間采用udp協(xié)議進(jìn)行通訊。
該第一虛擬機(jī)10的發(fā)送模塊14通過(guò)組播方式向各個(gè)第二虛擬機(jī)20發(fā)送加入組播通知,該加入組播通知包括組播組標(biāo)識(shí)。
可選的,該第一虛擬機(jī)10的發(fā)送模塊14查看該第一虛擬機(jī)10對(duì)應(yīng)的第二虛擬機(jī)列表,從該第二虛擬機(jī)列表中選出狀態(tài)為運(yùn)行的第二虛擬機(jī)20,向該選出的第二虛擬機(jī)20發(fā)送加入組播通知。該第二虛擬機(jī)20的狀態(tài)有運(yùn)行、停止、掛起和離線等,該第二虛擬機(jī)20的狀態(tài)與該第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端的狀態(tài)相關(guān),當(dāng)該虛擬桌面從客戶端的狀態(tài)為停止時(shí),該虛擬桌面從客戶端對(duì)應(yīng)的第二虛擬機(jī)20的狀態(tài)為停止,當(dāng)該虛擬桌面從客戶端的狀態(tài)為運(yùn)行、掛起或離線時(shí),該虛擬桌面從客戶端對(duì)應(yīng)的第二虛擬機(jī)20的 狀態(tài)為運(yùn)行。該第二虛擬機(jī)列表包括至少一個(gè)第二虛擬機(jī)20,在教學(xué)場(chǎng)景中,一個(gè)第二虛擬機(jī)20對(duì)應(yīng)一個(gè)學(xué)生終端,因此,可根據(jù)實(shí)際需要設(shè)置多個(gè)第二虛擬機(jī)20。如在一實(shí)施例中,該第二虛擬機(jī)列表中有3個(gè)第二虛擬機(jī)20的狀態(tài)為運(yùn)行,則該第一虛擬機(jī)10向該3個(gè)處于運(yùn)行狀態(tài)的第二虛擬機(jī)20以組播方式發(fā)送加入組播通知。
該第二虛擬機(jī)20在接收到加入組播通知時(shí),其本身并不加入組播組,而是向該第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),即該第二虛擬機(jī)20協(xié)助該第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端加入到對(duì)應(yīng)的組播組中。該加入組播邀請(qǐng)包括組播組標(biāo)識(shí)。該第二虛擬機(jī)20與對(duì)應(yīng)的虛擬桌面從客戶端之間采用tcp協(xié)議進(jìn)行通訊。
如在一實(shí)施例中,3個(gè)第二虛擬機(jī)20分別接收到了第一虛擬機(jī)發(fā)送的加入組播通知,則該3個(gè)第二虛擬機(jī)20分別向?qū)?yīng)的虛擬桌面從客戶端發(fā)送加入組播邀請(qǐng),這3個(gè)第二虛擬機(jī)20對(duì)應(yīng)的虛擬桌面從客戶端在接收到加入組播邀請(qǐng)時(shí),根據(jù)該加入組播邀請(qǐng)加入到對(duì)應(yīng)的組播組中;然后這3個(gè)虛擬桌面從客戶端可接收到第一虛擬機(jī)組播的虛擬桌面信息。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。