專利名稱:虛擬機桌面系統(tǒng)切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬機技術(shù)領(lǐng)域,特別涉及多域切換技術(shù)領(lǐng)域,具體是指一種虛擬機 桌面系統(tǒng)切換方法。
背景技術(shù):
虛擬機系統(tǒng)體系運行三個系統(tǒng)即特權(quán)管理系統(tǒng)、通用桌面系統(tǒng)和安全Linux桌 面系統(tǒng)。其中,特權(quán)管理系統(tǒng)為虛機系統(tǒng)的特權(quán)域系統(tǒng),負責(zé)對后兩個系統(tǒng)進行資源分配和 管理。通用系統(tǒng)和安全系統(tǒng)是用戶主要使用的兩個系統(tǒng),虛擬機系統(tǒng)默認引導(dǎo)是進入通用 系統(tǒng)(如Windows系統(tǒng)),進入系統(tǒng)后用戶可正常進行日常事務(wù)處理,如需處理一些涉及私 密敏感信息時(如登錄網(wǎng)上銀行辦理業(yè)務(wù)、安全辦公存儲等),可通過切換方式直接轉(zhuǎn)入安 全系統(tǒng)進行操作。
基于多核CPU的硬件虛擬化技術(shù),可有效改善虛擬系統(tǒng)的運行效率和性能問題, 且為雙系統(tǒng)并行運行提供有力的保障。基于多核CPU的虛擬機系統(tǒng)可為每個虛擬系統(tǒng)分配 一個單獨的核心,并在多核共享多個核心、共同擁有一條前端總線的條件下,進一步優(yōu)化多 域的訪問流程。但現(xiàn)有的虛擬機系統(tǒng)缺乏一種安全有效,且反應(yīng)迅速的桌面系統(tǒng)切換機制, 使虛擬機系統(tǒng)的應(yīng)用受到制約。
基于可信計算技術(shù)實現(xiàn)可信虛擬機監(jiān)視器TVMM,并在可信虛擬機監(jiān)視器TVMM內(nèi) 部實施對敏感資源的安全訪問控制策略,保證整個虛擬機系統(tǒng)底層核心的安全可信。
特權(quán)管理系統(tǒng)實現(xiàn)對并行運行的雙系統(tǒng)進行底層虛擬資源的安全管理與安全監(jiān) 控。此外,該系統(tǒng)也是整個虛擬機系統(tǒng)的管理控制中心,一般只能由特權(quán)管理員用戶才能進 入操作。特權(quán)管理系統(tǒng)采用Xen系統(tǒng),Xen系統(tǒng)是一個開放源代碼虛擬機監(jiān)視器,它可以在 單個計算機上運行多達100個滿特征的操作系統(tǒng)。操作系統(tǒng)可以通過進行顯式地修改(移 植)以在Xen上運行(但是提供對用戶應(yīng)用的兼容性)。這使得Xen無需特殊硬件支持,就 能達到高性能的虛擬化。發(fā)明內(nèi)容
本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點,提供一種安全有效,反應(yīng)迅速,且 應(yīng)用簡便的虛擬機桌面系統(tǒng)切換方法。
虛擬機包括底層管理系統(tǒng)、以及運行于所述的底層管理系統(tǒng)上的兩個桌面系統(tǒng)。 為了實現(xiàn)上述的目的,本發(fā)明的虛擬機桌面系統(tǒng)切換方法包括以下步驟
(1)底層管理系統(tǒng)根據(jù)用戶所進行的虛擬桌面切換操作,接收相應(yīng)的桌面切換指 令,并對所接收的桌面切換指令進行驗證;
(2)若驗證成功,則所述的底層管理系統(tǒng)執(zhí)行所接收到的桌面切換指令;
(3)若驗證不成功,則所述底層管理系統(tǒng)拒絕執(zhí)行所接收到的桌面切換指令。
該虛擬機桌面系統(tǒng)切換方法中,所述的底層管理系統(tǒng)與所述的桌面系統(tǒng)均具有相 同的同步碼,所述的桌面切換指令為經(jīng)同步碼加密的消息包,所述的底層管理系統(tǒng)接收相應(yīng)的桌面切換指令,并對所接收的桌面切換指令進行驗證,具體包括以下步驟
(11)底層管理系統(tǒng)收到經(jīng)同步碼加密的桌面切換指令消息包;
(12)底層管理系統(tǒng)通過運算獲得消息包的同步碼;
(13)底層管理系統(tǒng)將所獲得的同步碼與其具有的同步碼比對,若一致,則驗證成 功,若不一致,則驗證不成功。
該虛擬機桌面系統(tǒng)切換方法中,所述的經(jīng)同步碼加密具體是指將身份信息、同步 碼和指令碼通過Hash計算后獲得的包括Hash碼和指令碼在內(nèi)的消息包。
該虛擬機桌面系統(tǒng)切換方法中,所述的步驟(12)具體是指底層管理系統(tǒng)將消息 包解密獲得身份信息、同步碼和指令碼。
該虛擬機桌面系統(tǒng)切換方法中,所述的同步碼為單向離散函數(shù)驗證碼。
該虛擬機桌面系統(tǒng)切換方法中,所述的底層管理系統(tǒng)為Xen系統(tǒng),所述的兩個桌 面系統(tǒng)分別為Windows系統(tǒng)和Linux系統(tǒng)。
該虛擬機桌面系統(tǒng)切換方法中,所述的Xen系統(tǒng)具有輸入設(shè)備功能庫,所述的用 戶所進行的虛擬桌面切換操作,具體包括以下步驟
(01)用戶鍵入桌面切換鍵盤信號;
(02)所述的輸入設(shè)備功能庫獲得所述的桌面切換鍵盤信號。
該虛擬機桌面系統(tǒng)切換方法中,所述的輸入設(shè)備功能庫為Xen系統(tǒng)中服務(wù)層封裝 上的輸入設(shè)備擴展功能應(yīng)用層。
該虛擬機桌面系統(tǒng)切換方法中,所述的桌面系統(tǒng)具有桌面切換程序,所述的用戶 所進行的虛擬桌面切換操作,具體包括以下步驟
(01')用戶運行桌面切換程序;
(02')桌面切換程序通過Windows驅(qū)動模型直接調(diào)用Windows系統(tǒng)的內(nèi)核驅(qū)動 程序;
(03' )Windows系統(tǒng)的內(nèi)核驅(qū)動程序向Windows系統(tǒng)的虛擬硬件發(fā)送桌面切換消 息;
(04' )Windows系統(tǒng)的虛擬硬件向Xen系統(tǒng)發(fā)送桌面切換指令。
該虛擬機桌面系統(tǒng)切換方法中,所述的步驟C3)包括以下步驟
(31)Xen系統(tǒng)通過守護進程Switch Daemon通知窗口管理器;
(32)窗口管理器通過VNC協(xié)議切換所顯示的桌面窗口。
采用了該發(fā)明的虛擬機桌面系統(tǒng)切換方法,由于虛擬機的底層管理系統(tǒng)在接收到 相應(yīng)的桌面切換指令后,對指令進行驗證,驗證成功后,才會執(zhí)行所接收到的桌面切換指 令,若驗證不成功,則拒絕執(zhí)行指令。使得該虛擬機桌面系統(tǒng)切換方法能夠通過該驗證過 程,實現(xiàn)安全可靠的桌面系統(tǒng)切換,其該切換過程反應(yīng)迅速,對虛擬機系統(tǒng)的性能沒有明顯 的損耗,為用戶提供了更為良好的使用體驗。
圖1為本發(fā)明的虛擬機桌面系統(tǒng)切換方法的步驟流程圖。
圖2為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的消息通信驗證機制原理示 意圖。5
圖3為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的硬切換方法的原理示意圖。
圖4為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的軟切換方法的原理示意圖。
圖5為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中的基層Xen系統(tǒng)和桌面Windows系統(tǒng) 的結(jié)構(gòu)示意圖。
圖6為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中的基層Xen系統(tǒng)和桌面Linux系統(tǒng)的 結(jié)構(gòu)示意圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實施例詳細說明。
請參閱圖1所示,為本發(fā)明的虛擬機桌面系統(tǒng)切換方法的步驟流程圖。所述的虛 擬機包括底層管理系統(tǒng)、以及運行于所述的底層管理系統(tǒng)上的兩個桌面系統(tǒng)。
在一種實施方式中,所述的虛擬機桌面系統(tǒng)切換方法具體包括以下步驟
(1)底層管理系統(tǒng)根據(jù)用戶所進行的虛擬桌面切換操作,接收相應(yīng)的桌面切換指 令,并對所接收的桌面切換指令進行驗證;
(2)若驗證成功,則所述的底層管理系統(tǒng)執(zhí)行所接收到的桌面切換指令;
(3)若驗證不成功,則所述底層管理系統(tǒng)拒絕執(zhí)行所接收到的桌面切換指令。
其中,所述的底層管理系統(tǒng)為Xen系統(tǒng),所述的兩個桌面系統(tǒng)分別為Windows系統(tǒng) 和Linux系統(tǒng)。所述的步驟(3)具體包括以下步驟
(31)Xen系統(tǒng)通過守護進程Switch Daemon通知窗口管理器;
(32)窗口管理器通過VNC協(xié)議切換所顯示的桌面窗口。
如圖2所示,為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的消息通信驗證機制 原理示意圖。在一種較優(yōu)選的實施方式中,所述的底層管理系統(tǒng)與所述的桌面系統(tǒng)均具有 相同的同步碼,所述的桌面切換指令為經(jīng)同步碼加密的消息包,所述的底層管理系統(tǒng)接收 相應(yīng)的桌面切換指令,并對所接收的桌面切換指令進行驗證,具體包括以下步驟
(11)底層管理系統(tǒng)收到經(jīng)同步碼加密的桌面切換指令消息包;
(12)底層管理系統(tǒng)通過運算獲得消息包的同步碼;
(13)底層管理系統(tǒng)將所獲得的同步碼與其具有的同步碼比對,若一致,則驗證成 功,若不一致,則驗證不成功。
在進一步優(yōu)選的實施方式中,所述的經(jīng)同步碼加密具體是指將身份信息、同步碼 和指令碼通過Hash計算后獲得的包括Hash碼和指令碼在內(nèi)的消息包。所述的步驟(12) 具體是指底層管理系統(tǒng)將消息包解密獲得身份信息、同步碼和指令碼。所述的同步碼為單 向離散函數(shù)驗證碼。
如圖3所示,為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的硬切換方法的原理 示意圖。在更優(yōu)選的實施方式中,所述的Xen系統(tǒng)具有輸入設(shè)備功能庫,所述的用戶所進行 的虛擬桌面切換操作,具體包括以下步驟
(01)用戶鍵入桌面切換鍵盤信號;
(02)所述的輸入設(shè)備功能庫獲得所述的桌面切換鍵盤信號。
其中,所述的輸入設(shè)備功能庫為Xen系統(tǒng)中服務(wù)層封裝上的輸入設(shè)備擴展功能應(yīng)用層。
如圖4所示,為本發(fā)明的虛擬機桌面系統(tǒng)切換方法中所采用的軟切換方法的原理 示意圖。在另一種更優(yōu)選的實施方式中,所述的桌面系統(tǒng)具有桌面切換程序,所述的用戶所 進行的虛擬桌面切換操作,具體包括以下步驟
(01')用戶運行桌面切換程序;
(02')桌面切換程序通過Windows驅(qū)動模型直接調(diào)用Windows系統(tǒng)的內(nèi)核驅(qū)動 程序;
(03' )Windows系統(tǒng)的內(nèi)核驅(qū)動程序向Windows系統(tǒng)的虛擬硬件發(fā)送桌面切換消 息;
(04' )Windows系統(tǒng)的虛擬硬件向Xen系統(tǒng)發(fā)送桌面切換指令。
在本發(fā)明的應(yīng)用中,為了實現(xiàn)發(fā)明目的,保證虛擬機系統(tǒng)的易用性、安全性,本系 統(tǒng)設(shè)計了軟、硬兩種系統(tǒng)切換機制。并借助驗證機制保證發(fā)送切換信號的域間通信安全。 VMM系統(tǒng)由Xen虛擬機來實現(xiàn),稱為host系統(tǒng)(DomO);運行在host之上的兩個虛擬桌面系 統(tǒng),稱為guest系統(tǒng),一個安裝Windows系統(tǒng)(VM-Windows),另一個安裝中標麒麟Linux桌 面系統(tǒng)(VM-Linux)。
其具體方案如圖5及圖6所示,軟件系統(tǒng)主要分為三部分,即Host主機上的守 護進程(Switch Daemon)、VM-ffindows 上的 VM-ffindows-tools (圖 5)和 VM-Linux 上的 VM-Linux-tools(圖 6)。
Host主機上的守護進程主要完成消息的監(jiān)聽及收到消息后,對消息的處理。處理 內(nèi)容主要包括消息認證、域間切換和Host上共享目錄的同步。
VM-Windows 上的 VM—Windows—tools 與 VM-Linux 上的 VM—Linux—tools 主要完成 將用戶的操作信號通過虛擬設(shè)置驅(qū)動程序所控制的虛擬設(shè)備傳遞給Host主機上的守護進 程。信號種類有三種鍵盤硬切換信號、桌面圖標軟切換信號和數(shù)據(jù)傳輸信號。具體的說, VM-Windows-tools通過虛擬設(shè)備驅(qū)動程序?qū)⑿盘杺鬟f出去,而VM-Linux-tools通過Xen的 事件通道機制將信號傳遞出去。
一、發(fā)明要實現(xiàn)Guest系統(tǒng)中的Windows和Linux桌面切換。有兩種實現(xiàn)方案
1、“硬中斷”方式,通過直接按鍵盤快捷鍵(如F12)的方式實現(xiàn)桌面切換。
在Xen系統(tǒng)上,所有鍵盤信號是被Xen截獲的。但對于1/0設(shè)備的數(shù)據(jù)處理則是 由DomO上的Host系統(tǒng)來負責(zé)的。對于圖形應(yīng)用程序,所有1/0設(shè)備數(shù)據(jù)均由Xkrver負 責(zé)向上層應(yīng)用程序分發(fā),即Xkrver會首先收到鍵盤事件。如圖3所示,XLib和XInput2均 為第三方庫,供XClient端調(diào)用。具體實現(xiàn)方法是利用XLib的擴展功能XInput2功能庫, 實現(xiàn)對鍵盤事件的提取。當提取到F12鍵的鍵盤事件后,守護進程(Switch Daemon)通知 窗口管理器,切換通過VNC協(xié)議顯示的另一桌面窗口,即達到桌面切換的目的。
2、“軟中斷”方式,通過點擊桌面應(yīng)用程序快捷方式實現(xiàn)桌面切換。
如圖4所示。軟切換程序主要由VM-Windows上的切換程序和DomO上Host主機 中運行的切換守護進程組成。VM-Windows上的切換程序是通過Windows驅(qū)動編程WDM實現(xiàn) 應(yīng)用層調(diào)用Windows系統(tǒng)內(nèi)核以達到直接驅(qū)動虛擬串口向外發(fā)切換消息的目的。
軟切換即讓系統(tǒng)即時響應(yīng)切換的請求事件,并向DomO上Host系統(tǒng)發(fā)送切換桌面 信號。由于VM-Windows在Windows操作系統(tǒng)看來所有的硬件都是真實的,而實際上硬件是 Xen為VM-Windows虛擬的設(shè)備。向外界發(fā)送信號的方式一是通過網(wǎng)絡(luò),二是通過虛擬硬件。前者由于依托網(wǎng)絡(luò),而存在巨大風(fēng)險性。后者由于是軟件虛擬的硬件,這實際上提供了實現(xiàn) 的可行性。為降低Windows軟中斷的開發(fā)難度,利用Windows操作系統(tǒng)可對虛擬硬件的自識 別與自驅(qū)動的特性,在Windows上開發(fā)的切換程序,通過Windows WDM直接調(diào)用內(nèi)核驅(qū)動, 再通過內(nèi)核驅(qū)動向虛擬硬件發(fā)送消息,即可實現(xiàn)VM-Windows向host發(fā)送切換消息的目的。
二、切換信息驗證技術(shù)
消息通信機制是VM域與host切換通信的關(guān)鍵,域間切換是以消息通信機制為基 礎(chǔ)的。下表是系統(tǒng)定義的消息碼。
權(quán)利要求
1.一種虛擬機桌面系統(tǒng)切換方法,所述的虛擬機包括底層管理系統(tǒng)、以及運行于所述 的底層管理系統(tǒng)上的兩個桌面系統(tǒng),其特征在于,所述的桌面系統(tǒng)切換方法具體包括以下 步驟(1)底層管理系統(tǒng)根據(jù)用戶所進行的虛擬桌面切換操作,接收相應(yīng)的桌面切換指令,并 對所接收的桌面切換指令進行驗證;(2)若驗證成功,則所述的底層管理系統(tǒng)執(zhí)行所接收到的桌面切換指令;(3)若驗證不成功,則所述底層管理系統(tǒng)拒絕執(zhí)行所接收到的桌面切換指令。
2.根據(jù)權(quán)利要求1所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的底層管理系 統(tǒng)與所述的桌面系統(tǒng)均具有相同的同步碼,所述的桌面切換指令為經(jīng)同步碼加密的消息 包,所述的底層管理系統(tǒng)接收相應(yīng)的桌面切換指令并對所接收的桌面切換指令進行驗證, 具體包括以下步驟(11)底層管理系統(tǒng)收到經(jīng)同步碼加密的桌面切換指令消息包;(12)底層管理系統(tǒng)通過運算獲得消息包的同步碼;(13)底層管理系統(tǒng)將所獲得的同步碼與其具有的同步碼比對,若一致,則驗證成功,若 不一致,則驗證不成功。
3.根據(jù)權(quán)利要求2所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的經(jīng)同步碼加 密具體是指將身份信息、同步碼和指令碼通過Hash計算后獲得的包括Hash碼和指令碼在內(nèi)的消息 ο
4.根據(jù)權(quán)利要求3所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的步驟(12)具 體是指底層管理系統(tǒng)將消息包解密獲得身份信息、同步碼和指令碼。
5.根據(jù)權(quán)利要求2所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的同步碼為單 向離散函數(shù)驗證碼。
6.根據(jù)權(quán)利要求1至5中任一項所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的 底層管理系統(tǒng)為Xen系統(tǒng),所述的兩個桌面系統(tǒng)分別為Windows系統(tǒng)和Linux系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的Xen系統(tǒng)具有 輸入設(shè)備功能庫,所述的用戶所進行的虛擬桌面切換操作,具體包括以下步驟(01)用戶鍵入桌面切換鍵盤信號;(02)所述的輸入設(shè)備功能庫獲得所述的桌面切換鍵盤信號。
8.根據(jù)權(quán)利要求7所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的輸入設(shè)備功 能庫為Xen系統(tǒng)中服務(wù)層封裝上的輸入設(shè)備擴展功能應(yīng)用層。
9.根據(jù)權(quán)利要求6所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的桌面系統(tǒng)具 有桌面切換程序,所述的用戶所進行的虛擬桌面切換操作,具體包括以下步驟(01')用戶運行桌面切換程序;(02‘)桌面切換程序通過Windows驅(qū)動模型直接調(diào)用Windows系統(tǒng)的內(nèi)核驅(qū)動程序;(03' )Windows系統(tǒng)的內(nèi)核驅(qū)動程序向Windows系統(tǒng)的虛擬硬件發(fā)送桌面切換消息;(04' )Windows系統(tǒng)的虛擬硬件向Xen系統(tǒng)發(fā)送桌面切換指令。
10.根據(jù)權(quán)利要求6所述的虛擬機桌面系統(tǒng)切換方法,其特征在于,所述的步驟(3)包括以下步驟(31)Xen系統(tǒng)通過守護進程SwitchDaemon通知窗口管理器;(32)窗口管理器通過VNC協(xié)議切換所顯示的桌面窗口。
全文摘要
本發(fā)明涉及一種虛擬機桌面系統(tǒng)切換方法,該桌面系統(tǒng)切換方法包括底層管理系統(tǒng)對所接收的桌面切換指令進行驗證的步驟,若驗證成功,則執(zhí)行切換指令,若驗證不成功,則拒絕執(zhí)行。采用了該發(fā)明的虛擬機桌面系統(tǒng)切換方法,能夠通過該驗證過程,實現(xiàn)安全可靠的桌面系統(tǒng)切換,其該切換過程反應(yīng)迅速,對虛擬機系統(tǒng)的性能沒有明顯的損耗,為用戶提供了更為良好的使用體驗。
文檔編號G06F9/48GK102033781SQ201110029570
公開日2011年4月27日 申請日期2011年1月27日 優(yōu)先權(quán)日2011年1月27日
發(fā)明者徐寧, 田勇, 韓乃平 申請人:中標軟件有限公司