終端機(jī)與虛擬機(jī)之間的通信方法與通信系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種終端機(jī)與虛擬機(jī)之間的通信方法與通信系統(tǒng),該方法包括:終端機(jī)建立與虛擬機(jī)之間的通信會(huì)話連接;當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),終端機(jī)將用戶對(duì)虛擬機(jī)的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至虛擬機(jī)監(jiān)控器;虛擬機(jī)監(jiān)控器解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口發(fā)送給虛擬機(jī);虛擬機(jī)通過虛擬串口讀取操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù),在虛擬機(jī)被安全隔離時(shí),通過虛擬串口讀取虛擬機(jī)監(jiān)控器中的操作控制指令,使得終端機(jī)依然可以控制虛擬機(jī),這更符合實(shí)際需要。
【專利說明】終端機(jī)與虛擬機(jī)之間的通信方法與通信系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種終端機(jī)與虛擬機(jī)之間的通信方法與通信系統(tǒng)。
【背景技術(shù)】
[0002]“云計(jì)算”已經(jīng)改變了人們使用計(jì)算資源的方式,計(jì)算所需要的計(jì)算和存儲(chǔ)資源都集中在“云端”,而“終端”只負(fù)責(zé)向虛擬機(jī)發(fā)送操作控制指令并顯示指令執(zhí)行的結(jié)果。這樣,本地計(jì)算機(jī)幾乎不需要做什么,所有的處理都在云計(jì)算提供商所提供的計(jì)算機(jī)群來完成。云計(jì)算的最終目標(biāo)是將計(jì)算、服務(wù)和應(yīng)用作為一種公共設(shè)施提供給公眾,使人們能夠像使用水、電、煤氣和電話那樣使用計(jì)算機(jī)資源。
[0003]這也給我們帶來了 “云端”與“終端”連接時(shí)的安全問題。在對(duì)網(wǎng)絡(luò)安全要求極高的某些情況下,比如在需要對(duì)“云端”虛擬機(jī)進(jìn)行安全隔離時(shí),不能保障虛擬機(jī)與終端機(jī)之間的網(wǎng)絡(luò)連通性,此時(shí)虛擬機(jī)內(nèi)部不允許有網(wǎng)絡(luò)存在,終端機(jī)無法向“孤立”的虛擬機(jī)發(fā)送操作控制指令。
[0004]因此,在需要對(duì)“云端”虛擬機(jī)進(jìn)行安全隔離的情況下,終端機(jī)不能夠通過網(wǎng)絡(luò)直接與虛擬機(jī)通信,這嚴(yán)重影響了終端機(jī)用戶與虛擬機(jī)之間的交互體驗(yàn)效果。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題之一是需要提供一種終端機(jī)與虛擬機(jī)之間的通信方法,該方法保證在終端機(jī)與虛擬機(jī)之間沒有網(wǎng)絡(luò)通信時(shí),終端機(jī)依然可以對(duì)虛擬機(jī)進(jìn)行控制。此外,還提供了一種通信系統(tǒng)。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種終端機(jī)與虛擬機(jī)之間的通信方法,包括:終端機(jī)建立與虛擬機(jī)之間的通信會(huì)話連接;當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),所述終端機(jī)將用戶對(duì)所述虛擬機(jī)的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至虛擬機(jī)監(jiān)控器;所述虛擬機(jī)監(jiān)控器解密并解析所接收的所述數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口發(fā)送給所述虛擬機(jī);所述虛擬機(jī)通過所述虛擬串口讀取所述操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0007]在一個(gè)實(shí)施例中,還包括:當(dāng)用戶在虛擬機(jī)端進(jìn)行操作時(shí),所述虛擬機(jī)將用戶對(duì)所述終端機(jī)的操作控制指令通過所述虛擬串口發(fā)送至所述虛擬機(jī)監(jiān)控器;所述虛擬機(jī)監(jiān)控器對(duì)所述操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至所述終端機(jī);所述終端機(jī)解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0008]在一個(gè)實(shí)施例中,還包括以下步驟:所述虛擬機(jī)向所述終端機(jī)反饋所述虛擬機(jī)所接收的所述終端機(jī)所發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí)行結(jié)果。
[0009]在一個(gè)實(shí)施例中,在終端機(jī)建立與虛擬機(jī)之間的通信會(huì)話連接的步驟中,所述終端機(jī)向所述虛擬機(jī)監(jiān)控器發(fā)送查詢請(qǐng)求,所述查詢請(qǐng)求用于確定所述虛擬機(jī)已經(jīng)加載的通信模塊類型;所述終端機(jī)根據(jù)虛擬機(jī)已經(jīng)加載的通信模塊類型配置對(duì)應(yīng)的通信模塊類型,以實(shí)現(xiàn)所述終端機(jī)與虛擬機(jī)之間的通信轉(zhuǎn)換。
[0010]在一個(gè)實(shí)施例中,在所述虛擬機(jī)通過所述虛擬串口從所述虛擬機(jī)監(jiān)控器的緩存區(qū)讀取到多個(gè)所述操作控制指令時(shí),根據(jù)各個(gè)操作控制指令的優(yōu)先級(jí)依次執(zhí)行每個(gè)操作控制指令。
[0011]在一個(gè)實(shí)施例中,在所述終端機(jī)或所述虛擬機(jī)監(jiān)控器使用傳輸層安全協(xié)議對(duì)所述操作控制指令進(jìn)行加密。
[0012]在一個(gè)實(shí)施例中,所述操作控制指令包括鍵盤操作指令、鼠標(biāo)操作指令、分辨率調(diào)整操作指令、復(fù)制剪貼板操作指令以及文件傳輸操作指令。
[0013]根據(jù)本發(fā)明的另一方面,還提供了一種通信系統(tǒng),包括:終端機(jī)、虛擬機(jī)、虛擬串口和虛擬機(jī)監(jiān)控器,其中,終端機(jī),其用于建立與所述虛擬機(jī)之間的通信會(huì)話連接,當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),所述終端機(jī)用于將用戶對(duì)所述虛擬機(jī)的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送出去;虛擬機(jī)監(jiān)控器,其用于接收所述終端機(jī)發(fā)送的數(shù)據(jù)包,解密并解析所述數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口發(fā)送出去;虛擬機(jī),其用于通過所述虛擬串口讀取所述操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0014]在一個(gè)實(shí)施例中,當(dāng)用戶在虛擬機(jī)端進(jìn)行操作時(shí),所述虛擬機(jī),其用于將用戶對(duì)所述終端機(jī)的操作控制指令通過所述虛擬串口發(fā)送至所述虛擬機(jī)監(jiān)控器;所述虛擬機(jī)監(jiān)控器,其用于對(duì)所述操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至所述終端機(jī);所述終端機(jī),其用于解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0015]在一個(gè)實(shí)施例中,所述虛擬機(jī)還用于向所述終端機(jī)反饋所述虛擬機(jī)所接收的所述終端機(jī)所發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí)行結(jié)果。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的一個(gè)或多個(gè)實(shí)施例可以具有如下優(yōu)點(diǎn):
[0017]在本發(fā)明中,虛擬機(jī)通過虛擬串口從虛擬機(jī)監(jiān)控器中讀取終端機(jī)用戶所指示的操作控制指令,因此,在虛擬機(jī)被安全隔離時(shí),通過虛擬串口讀取虛擬機(jī)監(jiān)控器中的操作控制指令,使得終端機(jī)依然可以控制虛擬機(jī),這在保證系統(tǒng)通信安全的同時(shí)也滿足了實(shí)際需要。
[0018]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0019]附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0020]圖1是根據(jù)本發(fā)明一示例的一種通信系統(tǒng)的物理架構(gòu)示意圖;
[0021]圖2是根據(jù)本發(fā)明一實(shí)施例的終端機(jī)與虛擬機(jī)之間的通信方法的流程圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說明。
[0023]需要說明的是,在本發(fā)明實(shí)施例中,終端機(jī)主要由處理器單元和存儲(chǔ)單元組成,其還連接有鍵盤、鼠標(biāo)、顯示器和以太網(wǎng)模塊等外圍設(shè)備??梢岳斫?,終端機(jī)可以是瘦終端電腦,也可以是筆記本電腦和臺(tái)式機(jī),但本發(fā)明的終端機(jī)不僅限于上述設(shè)備。
[0024]另外,終端機(jī)上可以運(yùn)行Windows XP> Windows7以及各種Linux發(fā)行版等其中的一種操作系統(tǒng),本發(fā)明對(duì)此不作限制。在網(wǎng)絡(luò)環(huán)境中,終端機(jī)需要通過客戶端程序連接一個(gè)或多個(gè)虛擬機(jī)。虛擬機(jī)中可以運(yùn)行Windows XP、Windows7以及各種Linux發(fā)行版中的一種操作系統(tǒng),本發(fā)明對(duì)此不作限制。虛擬機(jī)可以運(yùn)行在虛擬機(jī)監(jiān)視器中,例如KVM或Xen,虛擬機(jī)監(jiān)控器運(yùn)行在服務(wù)器硬件上。
[0025]第一實(shí)施例
[0026]圖1是根據(jù)本發(fā)明一示例的通信系統(tǒng)的物理架構(gòu)示意圖。下面結(jié)合圖1對(duì)本發(fā)明的通信系統(tǒng)進(jìn)行詳細(xì)說明。
[0027]如圖1所示,本實(shí)施例的通信系統(tǒng)包括終端機(jī)1,運(yùn)行在服務(wù)器4上的虛擬機(jī)2和虛擬機(jī)監(jiān)控器3。其中,終端機(jī)I通過以太網(wǎng)與虛擬機(jī)監(jiān)控器3通信,虛擬機(jī)監(jiān)控器3通過虛擬串口 21與虛擬機(jī)2通信。
[0028]在該通信系統(tǒng)中,終端機(jī)I用于建立其與虛擬機(jī)2之間的通信會(huì)話連接,并且當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),終端機(jī)I將用戶對(duì)虛擬機(jī)2的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送出去。優(yōu)選地,終端機(jī)I采用傳輸層安全協(xié)議對(duì)操作控制指令進(jìn)行加密,以保證通信安全。
[0029]虛擬機(jī)監(jiān)控器2接收終端機(jī)I發(fā)送的數(shù)據(jù)包,解密并解析該數(shù)據(jù)包以得到用戶所指示的操作控制指令,并將該操作控制指令通過虛擬串口 21發(fā)送出去。
[0030]虛擬機(jī)2通過虛擬串口 21讀取操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù)。另外,虛擬機(jī)2還向終端機(jī)I反饋虛擬機(jī)2所接收的終端機(jī)I發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí)7TT結(jié)果。
[0031]上述操作控制指令包括鍵盤操作指令、鼠標(biāo)操作指令、分辨率調(diào)整操作指令、復(fù)制剪貼板操作指令以及文件傳輸操作指令等,其中,復(fù)制剪貼板操作指令包括復(fù)制指令、剪切指令和粘貼指令。
[0032]虛擬機(jī)2在獲取多個(gè)操作控制指令時(shí),其根據(jù)操作控制指令的優(yōu)先級(jí)依次執(zhí)行每個(gè)操作控制指令,這樣可以使得終端機(jī)I與虛擬機(jī)2之間的通信更加及時(shí),更加高效。
[0033]當(dāng)用戶在虛擬機(jī)2端進(jìn)行操作時(shí),虛擬機(jī)2將用戶對(duì)終端機(jī)I的操作控制指令通過虛擬串口 21發(fā)送至虛擬機(jī)監(jiān)控器3,然后,虛擬機(jī)監(jiān)控器3對(duì)操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至終端機(jī)I。同理,虛擬機(jī)監(jiān)控器3采用傳輸層安全協(xié)議對(duì)操作控制指令進(jìn)行加密,以保證通信安全。終端機(jī)I解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0034]比如,當(dāng)用戶在虛擬機(jī)2中執(zhí)行復(fù)制或剪切操作后,虛擬機(jī)2通過虛擬串口 21發(fā)送復(fù)制通知指令到終端機(jī)I,激活終端機(jī)I中的粘貼功能。容易理解,當(dāng)在虛擬機(jī)2中執(zhí)行粘貼操作時(shí),虛擬機(jī)2發(fā)送數(shù)據(jù)獲取請(qǐng)求到終端機(jī)1,終端機(jī)I將終端操作系統(tǒng)10復(fù)制緩沖區(qū)的數(shù)據(jù)通過傳輸層安全協(xié)議加密傳輸?shù)教摂M機(jī)2中,虛擬機(jī)2解密并將數(shù)據(jù)拷貝到虛擬機(jī)操作系統(tǒng)系統(tǒng)20的復(fù)制緩沖區(qū),虛擬機(jī)2中的操作系統(tǒng)20從復(fù)制緩沖區(qū)得到數(shù)據(jù),并將數(shù)據(jù)粘貼到指定位置。又如,對(duì)于文件傳輸操作指令,在虛擬機(jī)2中選擇需要傳輸?shù)浇K端機(jī)I中的文件,虛擬機(jī)監(jiān)控器3從虛擬串口 21中讀取該文件,通過傳輸層安全協(xié)議加密傳輸給終端機(jī)1,終端機(jī)I解密并保存所接收的文件。
[0035]此外,由于虛擬串口 21具有免驅(qū)動(dòng)功能,使得在虛擬機(jī)2中安裝虛擬機(jī)操作系統(tǒng)20時(shí)不需要為該操作系統(tǒng)安裝驅(qū)動(dòng),從而實(shí)現(xiàn)了系統(tǒng)資源更合理的配置。
[0036]在現(xiàn)有技術(shù)中,終端機(jī)與虛擬機(jī)直接通過網(wǎng)絡(luò)進(jìn)行通信,在對(duì)虛擬機(jī)進(jìn)行安全隔離時(shí),二者無法通信,并且虛擬機(jī)監(jiān)控器一般僅監(jiān)控虛擬機(jī)的運(yùn)行狀態(tài)(比如,虛擬機(jī)中產(chǎn)生的數(shù)據(jù)包以及內(nèi)存使用量等)。而本實(shí)施例中,虛擬機(jī)監(jiān)控器不僅可以對(duì)虛擬機(jī)進(jìn)行狀態(tài)監(jiān)控,還可以傳輸來自終端機(jī)或虛擬機(jī)的控制命令,在將虛擬機(jī)安全隔離時(shí),通過利用虛擬機(jī)監(jiān)控器與虛擬串口構(gòu)成的傳輸媒介,也能夠?qū)?shí)現(xiàn)終端機(jī)與虛擬機(jī)之間的通信。因此,在安全隔離狀態(tài)下,本通信系統(tǒng)更加符合實(shí)際需要,在保證系統(tǒng)安全的同時(shí)也可以獲得良好的終端機(jī)用戶與虛擬機(jī)之間的交互體驗(yàn)效果。
[0037]綜上所述,本發(fā)明的終端機(jī)與虛擬機(jī)之間的通信系統(tǒng),虛擬機(jī)通過虛擬串口從虛擬機(jī)監(jiān)控器中讀取終端機(jī)用戶所指示的操作控制指令,在虛擬機(jī)被安全隔離時(shí),通過虛擬串口讀取虛擬機(jī)監(jiān)控器中的操作控制指令,使得終端機(jī)依然可以控制虛擬機(jī),這更符合實(shí)際需要,此外,虛擬串口具有免驅(qū)功能,使得在虛擬機(jī)上安裝虛擬機(jī)操作系統(tǒng)時(shí)不需要安裝系統(tǒng)驅(qū)動(dòng),從而實(shí)現(xiàn)了系統(tǒng)資源更合理的配置。
[0038]第二實(shí)施例
[0039]圖2是根據(jù)本發(fā)明一實(shí)施例的終端機(jī)與虛擬機(jī)之間的通信方法的流程圖。下面結(jié)合圖1和圖2對(duì)本方法進(jìn)行詳細(xì)說明。
[0040]步驟S210,終端機(jī)I建立與虛擬機(jī)2之間的通信會(huì)話連接。
[0041]具體地,在通信會(huì)話連接建立過程中,終端機(jī)I通過以太網(wǎng)向虛擬機(jī)監(jiān)控器3發(fā)送查詢請(qǐng)求,該查詢請(qǐng)求用于確定虛擬機(jī)2已經(jīng)加載的通信模塊類型。然后,虛擬機(jī)監(jiān)控器3將查詢請(qǐng)求通過虛擬串口 21發(fā)送給虛擬機(jī)2,接收到該查詢請(qǐng)求后,虛擬機(jī)2檢查其所支持的通信模塊,并向終端機(jī)I反饋其自身已經(jīng)加載的通信模塊。
[0042]由于虛擬串口 21具有免驅(qū)動(dòng)功能,使得在虛擬機(jī)2中安裝虛擬機(jī)操作系統(tǒng)20時(shí)不需要為該操作系統(tǒng)安裝驅(qū)動(dòng),從而實(shí)現(xiàn)了系統(tǒng)資源更合理的配置。
[0043]在通信會(huì)話連接建立時(shí),終端機(jī)I獲取并配置虛擬機(jī)2能支持的通信模塊類型。虛擬機(jī)2所能支持的通信模塊包括但不僅限于鍵盤按鍵操作模塊、鼠標(biāo)操作模塊、分辨率調(diào)整操作模塊、復(fù)制剪貼板操作模塊、文件傳輸操作模塊等。
[0044]根據(jù)虛擬機(jī)2已經(jīng)加載的通信模塊類型,終端機(jī)I配置對(duì)應(yīng)的通信模塊類型,以實(shí)現(xiàn)終端機(jī)I與虛擬機(jī)2之間的通信轉(zhuǎn)換。例如,對(duì)于鍵盤按鍵操作,配置終端機(jī)I與虛擬機(jī)2之間的鍵盤布局轉(zhuǎn)換函數(shù);對(duì)于鼠標(biāo)操作,則配置終端機(jī)I鼠標(biāo)與虛擬機(jī)2中的模擬鼠標(biāo)設(shè)備的轉(zhuǎn)換函數(shù),例如左右手鼠標(biāo)按鍵的映射關(guān)系、滾輪的映射關(guān)系等。
[0045]步驟S220,當(dāng)用戶在終端機(jī)I端進(jìn)行操作時(shí),終端機(jī)將用戶對(duì)虛擬機(jī)2的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至虛擬機(jī)監(jiān)控器3。
[0046]具體地,終端機(jī)I將用戶對(duì)虛擬機(jī)2的操作控制指令加密并封裝成協(xié)議數(shù)據(jù)包,并向管理虛擬機(jī)2的虛擬機(jī)監(jiān)控器3發(fā)送該協(xié)議數(shù)據(jù)包。值得注意的是,本實(shí)施例不對(duì)封裝協(xié)議數(shù)據(jù)格式做限定,只要終端機(jī)與虛擬機(jī)都能解析該協(xié)議數(shù)據(jù)即可。[0047]優(yōu)選地,在本實(shí)施例中,用戶對(duì)虛擬機(jī)2的操作控制指令通過傳輸層安全協(xié)議加密后傳輸給虛擬機(jī)監(jiān)控器3,以保證了用戶信息的安全。操作控制指令包括鍵盤操作指令、鼠標(biāo)操作指令、分辨率調(diào)整操作指令、復(fù)制剪貼板操作指令以及文件傳輸操作指令等,其中,復(fù)制剪貼板操作指令包括復(fù)制指令、剪切指令和粘貼指令。
[0048]具體地,鍵盤操作協(xié)議數(shù)據(jù)包需要封裝按鍵的鍵值、按下或釋放動(dòng)作等編碼。鼠標(biāo)操作協(xié)議數(shù)據(jù)包需要封裝鼠標(biāo)按鍵動(dòng)作、按鍵的鍵值、移動(dòng)動(dòng)作、鼠標(biāo)移動(dòng)位置等編碼。分辨率調(diào)整操作協(xié)議數(shù)據(jù)包需要封裝調(diào)整的寬與高。復(fù)制剪貼板操作協(xié)議數(shù)據(jù)包需要封裝復(fù)制通知請(qǐng)求、復(fù)制剪貼板數(shù)據(jù)內(nèi)容等。文件傳輸操作協(xié)議數(shù)據(jù)包需要封裝文件元數(shù)據(jù)和內(nèi)容數(shù)據(jù)等。
[0049]步驟S230,虛擬機(jī)監(jiān)控器3解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口 21發(fā)送給虛擬機(jī)2。
[0050]優(yōu)選地,虛擬機(jī)監(jiān)控器3通過虛擬串口 21向虛擬機(jī)2發(fā)送經(jīng)過解密和解析后的操作控制指令。在虛擬機(jī)2通過該虛擬串口 21從虛擬機(jī)監(jiān)控器3的緩存區(qū)讀取多個(gè)操作控制指令時(shí),虛擬機(jī)2根據(jù)操作控制指令的優(yōu)先級(jí)依次執(zhí)行每個(gè)操作控制指令,這樣可以使得終端機(jī)I與虛擬機(jī)2之間的通信更加及時(shí)。
[0051]具體地,虛擬機(jī)2采用最高優(yōu)先級(jí)算法處理所獲取的操作控制指令。為了保證虛擬機(jī)2的實(shí)時(shí)響應(yīng),與鍵盤、鼠標(biāo)相關(guān)的控制指令具有較高的處理優(yōu)先級(jí)。
[0052]步驟S240,虛擬機(jī)2通過虛擬串口 21讀取操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù),并且向終端機(jī)I反饋虛擬機(jī)2所接收的終端機(jī)I所發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí)7TT結(jié)果。
[0053]在現(xiàn)有技術(shù)中,終端機(jī)與虛擬機(jī)直接通過網(wǎng)絡(luò)進(jìn)行通信,在對(duì)虛擬機(jī)進(jìn)行安全隔離時(shí),二者無法通信,并且虛擬機(jī)監(jiān)控器一般僅監(jiān)控虛擬機(jī)的運(yùn)行狀態(tài)(比如,虛擬機(jī)中產(chǎn)生的數(shù)據(jù)包以及內(nèi)存使用量等)。而本實(shí)施例中,虛擬機(jī)監(jiān)控器不僅可以對(duì)虛擬機(jī)進(jìn)行狀態(tài)監(jiān)控,還可以傳輸來自終端機(jī)或虛擬機(jī)的控制命令,在將虛擬機(jī)安全隔離時(shí),通過利用虛擬機(jī)監(jiān)控器與虛擬串口構(gòu)成的傳輸媒介,也能夠?qū)?shí)現(xiàn)終端機(jī)與虛擬機(jī)之間的通信。因此,在安全隔離狀態(tài)下,本通信方法更加符合實(shí)際需要,在保證系統(tǒng)安全的同時(shí)也可以獲得良好的終端機(jī)用戶與虛擬機(jī)之間的交互體驗(yàn)效果。
[0054]下面對(duì)有關(guān)于分辨率調(diào)整操作指令、復(fù)制剪貼板操作指令以及文件傳輸操作指令的整體操作流程進(jìn)行詳細(xì)說明。
[0055]對(duì)于分辨率調(diào)整操作指令:終端機(jī)I根據(jù)虛擬機(jī)2顯示的窗體的大小計(jì)算其的顯示分辨率,然后,終端機(jī)I將分辨率調(diào)整操作指令發(fā)送到虛擬機(jī),虛擬機(jī)執(zhí)行顯卡分辨率調(diào)整指令設(shè)置顯示分辨率。
[0056]對(duì)于復(fù)制剪貼板操作指令:當(dāng)用戶在終端機(jī)I中執(zhí)行復(fù)制或剪切操作后,發(fā)送復(fù)制通知指令到虛擬機(jī)2,激活虛擬機(jī)2中的粘貼功能。
[0057]具體來說,若在終端機(jī)I中執(zhí)行復(fù)制或者剪切操作,則終端機(jī)I發(fā)送復(fù)制通知請(qǐng)求指令到虛擬機(jī)2中,調(diào)用虛擬機(jī)2中運(yùn)行的操作系統(tǒng)20的對(duì)應(yīng)指令,激活操作系統(tǒng)20復(fù)制緩沖區(qū),并通知操作系統(tǒng)20該緩沖區(qū)已有數(shù)據(jù)。在虛擬機(jī)2中執(zhí)行粘貼操作時(shí),虛擬機(jī)2發(fā)送數(shù)據(jù)獲取請(qǐng)求到終端機(jī)1,終端機(jī)I將終端機(jī)操作系統(tǒng)10復(fù)制緩沖區(qū)的數(shù)據(jù)通過傳輸層安全協(xié)議加密傳輸?shù)教摂M機(jī)2中,虛擬機(jī)2解密并將數(shù)據(jù)拷貝到虛擬機(jī)操作系統(tǒng)系統(tǒng)20的復(fù)制緩沖區(qū),虛擬機(jī)2中的操作系統(tǒng)20從復(fù)制緩沖區(qū)得到數(shù)據(jù),并將數(shù)據(jù)粘貼到指定位置。
[0058]對(duì)于文件傳輸操作指令,其是針對(duì)終端機(jī)I與虛擬機(jī)2中的文件相互傳輸?shù)牟僮?。具體地,在終端機(jī)I中選擇需要傳輸?shù)教摂M機(jī)2中的文件,將文件通過傳輸層安全協(xié)議加密傳輸給虛擬機(jī)監(jiān)控器3,虛擬機(jī)2從虛擬串口 21讀取并保存虛擬機(jī)監(jiān)控器3解密解析后的文件。
[0059]當(dāng)用戶在虛擬機(jī)2端進(jìn)行操作時(shí),虛擬機(jī)2將用戶對(duì)終端機(jī)I的操作控制指令通過虛擬串口 21發(fā)送至虛擬機(jī)監(jiān)控器3 ;虛擬機(jī)監(jiān)控器3使用傳輸層安全協(xié)議對(duì)操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至終端機(jī)I ;終端機(jī)I解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
[0060]比如,當(dāng)用戶在虛擬機(jī)2中執(zhí)行復(fù)制或剪切操作后,虛擬機(jī)2通過虛擬串口 21發(fā)送復(fù)制通知指令到終端機(jī)1,激活終端機(jī)I中的粘貼功能。又如,對(duì)于文件傳輸操作指令,在虛擬機(jī)2中選擇需要傳輸?shù)浇K端機(jī)I中的文件,虛擬機(jī)監(jiān)控器3從虛擬串口 21中讀取該文件,通過傳輸層安全協(xié)議加密傳輸給終端機(jī)1,終端機(jī)I解密并保存所接收的文件。
[0061]值得注意的是,終端機(jī)I與虛擬機(jī)2之間信息的安全傳輸實(shí)現(xiàn)了終端機(jī)操作系統(tǒng)10與虛擬機(jī)操作系統(tǒng)20數(shù)據(jù)的共享。
[0062]最后,在虛擬機(jī)2執(zhí)行完相應(yīng)的任務(wù)后,向終端機(jī)I反饋所接收的由虛擬機(jī)監(jiān)控器3所傳輸?shù)牟僮骺刂浦噶顚?duì)應(yīng)的執(zhí)行結(jié)果。例如,對(duì)于復(fù)制剪貼板操作和文件傳輸操作,則需要返回傳輸是否成功以及已經(jīng)傳輸?shù)淖止?jié)數(shù),但是對(duì)于鼠標(biāo)鍵盤操作,虛擬機(jī)2不需要向終端機(jī)I發(fā)送指令執(zhí)行結(jié)果。
[0063]綜上所述,本發(fā)明的終端機(jī)與虛擬機(jī)之間的通信方法,虛擬機(jī)通過虛擬串口從虛擬機(jī)監(jiān)控器中讀取終端機(jī)用戶所指示的操作控制指令,在虛擬機(jī)被安全隔離時(shí),通過虛擬串口讀取虛擬機(jī)監(jiān)控器中的操作控制指令,使得終端機(jī)依然可以控制虛擬機(jī),在保證系統(tǒng)通信安全的同時(shí)也滿足了實(shí)際需要,此外,虛擬串口具有免驅(qū)功能,使得在虛擬機(jī)上安裝虛擬機(jī)操作系統(tǒng)時(shí)不需要安裝系統(tǒng)驅(qū)動(dòng),從而實(shí)現(xiàn)了系統(tǒng)資源更合理的配置。
[0064]以上所述,僅為本發(fā)明的具體實(shí)施案例,本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)的技術(shù)人員在本發(fā)明所述的技術(shù)規(guī)范內(nèi),對(duì)本發(fā)明的修改或替換,都應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種終端機(jī)與虛擬機(jī)之間的通信方法,包括: 終端機(jī)建立與虛擬機(jī)之間的通信會(huì)話連接; 當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),所述終端機(jī)將用戶對(duì)所述虛擬機(jī)的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至虛擬機(jī)監(jiān)控器; 所述虛擬機(jī)監(jiān)控器解密并解析所接收的所述數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口發(fā)送給所述虛擬機(jī); 所述虛擬機(jī)通過所述虛擬串口讀取所述操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù)。
2.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,還包括: 當(dāng)用戶在虛擬機(jī)端進(jìn)行操作時(shí),所述虛擬機(jī)將用戶對(duì)所述終端機(jī)的操作控制指令通過所述虛擬串口發(fā)送至所述虛擬機(jī)監(jiān)控器; 所述虛擬機(jī)監(jiān)控器對(duì)所述操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至所述終端機(jī); 所述終端機(jī)解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
3.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,還包括以下步驟: 所述虛擬機(jī)向所述終端機(jī)反饋所述虛擬機(jī)所接收的所述終端機(jī)所發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí)行結(jié)果。
4.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,在終端機(jī)建立與虛擬機(jī)之間的通信會(huì)話連接的步驟中, 所述終端機(jī)向所述虛擬機(jī)監(jiān)控器發(fā)送查詢請(qǐng)求,所述查詢請(qǐng)求用于確定所述虛擬機(jī)已經(jīng)加載的通信模塊類型; 所述終端機(jī)根據(jù)虛擬機(jī)已經(jīng)加載的通信模塊類型配置對(duì)應(yīng)的通信模塊類型,以實(shí)現(xiàn)所述終端機(jī)與虛擬機(jī)之間的通信轉(zhuǎn)換。
5.根據(jù)權(quán)利要求4所述的通信方法,其特征在于, 在所述虛擬機(jī)通過所述虛擬串口從所述虛擬機(jī)監(jiān)控器的緩存區(qū)讀取到多個(gè)所述操作控制指令時(shí),根據(jù)各個(gè)操作控制指令的優(yōu)先級(jí)依次執(zhí)行每個(gè)操作控制指令。
6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的通信方法,其特征在于,在所述終端機(jī)或所述虛擬機(jī)監(jiān)控器使用傳輸層安全協(xié)議對(duì)所述操作控制指令進(jìn)行加密。
7.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的通信方法,其特征在于, 所述操作控制指令包括鍵盤操作指令、鼠標(biāo)操作指令、分辨率調(diào)整操作指令、復(fù)制剪貼板操作指令以及文件傳輸操作指令。
8.一種通信系統(tǒng),包括:終端機(jī)、虛擬機(jī)、虛擬串口和虛擬機(jī)監(jiān)控器,其中, 終端機(jī),其用于建立與所述虛擬機(jī)之間的通信會(huì)話連接,當(dāng)用戶在終端機(jī)端進(jìn)行操作時(shí),所述終端機(jī)用于將用戶對(duì)所述虛擬機(jī)的操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送出去; 虛擬機(jī)監(jiān)控器,其用于接收所述終端機(jī)發(fā)送的數(shù)據(jù)包,解密并解析所述數(shù)據(jù)包以得到操作控制指令,并將該操作控制指令通過虛擬串口發(fā)送出去; 虛擬機(jī),其用于通過所述虛擬串口讀取所述操作控制指令,并根據(jù)所讀取的操作控制指令執(zhí)行相應(yīng)的任務(wù)。
9.根據(jù)權(quán)利要求8所述的通信系統(tǒng),其特征在于, 當(dāng)用戶在虛擬機(jī)端進(jìn)行操作時(shí), 所述虛擬機(jī),其用于將用戶對(duì)所述終端機(jī)的操作控制指令通過所述虛擬串口發(fā)送至所述虛擬機(jī)監(jiān)控器; 所述虛擬機(jī)監(jiān)控器,其用于對(duì)所述操作控制指令進(jìn)行加密封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至所述終端機(jī); 所述終端機(jī),其用于解密并解析所接收的數(shù)據(jù)包以得到操作控制指令,并根據(jù)該操作控制指令執(zhí)行相應(yīng)的任務(wù)。
10.根據(jù)權(quán)利要求8所述的通信系統(tǒng),其特征在于, 所述虛擬機(jī)還用于向所述終端機(jī)反饋所述虛擬機(jī)所接收的所述終端機(jī)所發(fā)送的操作控制指令對(duì)應(yīng)的執(zhí) 行結(jié)果。
【文檔編號(hào)】H04L29/06GK103618724SQ201310643349
【公開日】2014年3月5日 申請(qǐng)日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
【發(fā)明者】徐舫, 張維婷 申請(qǐng)人:中標(biāo)軟件有限公司