麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

零終端設備與桌面虛擬機之間的通信方法及系統的制作方法

文檔序號:7861431閱讀:371來源:國知局
專利名稱:零終端設備與桌面虛擬機之間的通信方法及系統的制作方法
技術領域
本發明涉及通信技術領域,更具體地說,涉及一種零終端設備與桌面虛擬機之間的通信方法及系統。
背景技術
近些年,隨著人們對信息資源整合的需求日益增長,“云計算”的概念已逐漸被世人所接受,人們通過終端設備連入“云”,按需獲取云端資源。“云+端”的模式已非常成熟,在這個模式中,“端”是必不可少的一個部件。零終端設備是作為“端”設備的最佳選擇。典型的零終端設備由連接到鍵盤、鼠標、監控器和以太網的小盒子組成,常用于虛擬桌面基礎架構環境中。由于零終端設備本身沒有中央處理單元(簡稱CPU)、內存、存儲器和操作系統等軟硬件環境,因此它本身無法運行 任何軟件形式的程序,導致它與桌面虛擬機之間的溝通成為最大的難題。

發明內容
本發明的發明目的是針對現有技術的缺陷,提出一種零終端設備與桌面虛擬機之間的通信方法及系統,用以提供一種適應目前云計算架構的零終端設備和桌面虛擬機之間互相通信的機制。根據本發明的一個方面,本發明提供了一種零終端設備與桌面虛擬機之間的通信方法,包括所述零終端設備與所述桌面虛擬機之間建立會話連接;在所述會話連接建立時,所述零終端設備與所述桌面虛擬機協商所能通信的數據類型;在所述會話連接建立后,所述零終端設備接收來自所述桌面虛擬機按照預設的協議機制封裝的數據包,按照所述預設的協議機制解析所述數據包,根據數據類型將所述數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備;所述零終端設備將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包并反饋給所述桌面虛擬機,所述桌面虛擬機按照所述預設的協議機制解析所述數據包,并提交給對應的應用程序。進一步的,在所述零終端設備按照所述預設的協議機制解析所述數據包之后還包括所述零終端設備按照數據類型對所述數據包包含的數據進行分類,并對不同類型的數據分別進行標識;根據所述標識,所述不同類型的數據被分發給所述零終端設備中不同的輸入/輸出處理模塊進行處理。進一步的,所述零終端設備按照數據類型對所述數據包包含的數據進行分類得到視頻流數據、音頻流數據、USB數據或硬件中斷數據;處理視頻流數據的輸入/輸出處理模塊采用去重算法處理所述視頻流數據;處理音頻流數據的輸入/輸出處理模塊采用哈夫曼算法處理所述音頻流數據;
處理USB數據的輸入/輸出處理模塊采用紅黑樹平衡算法處理所述USB數據;處理硬件中斷數據的輸入/輸出處理模塊采用最高優先級算法處理所述硬件中斷數據。進一步的,在所述零終端設備將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包之前還包括所述零終端設備將用戶通過各種外圍設備輸入的數據進行統一的格式化處理。進一步的,所述零終端設備與所述桌面虛擬機之間通過傳輸控制協議和/或用戶數據報協議交互數據包。根據本發明的另一方面,本發明提供了一種零終端設備與桌面虛擬機之間的通信系統,包括零終端設備與桌面虛擬機,其中,所述零終端設備包括協議引擎和一個以上輸入/輸出處理模塊,所述桌面虛擬機包括協議服務程序模塊和操作系統;所述協議引擎與所 述協議服務程序模塊通過交互建立會話連接,在所述會話連接建立時,所述零終端設備與所述桌面虛擬機協商所能通信的數據類型;所述協議引擎用于接收來自所述協議服務程序模塊按照預設的協議機制封裝的數據包,按照所述預設的協議機制解析所述數據包;以及,用于將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包并反饋給所述協議服務程序模塊;所述一個以上輸入/輸出處理模塊用于根據數據類型將所述協議引擎解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備;所述協議服務程序模塊用于按照所述預設的協議機制解析所述協議引擎反饋的數據包,并提交給所述操作系統中對應的應用程序。進一步的,所述協議引擎還用于按照數據類型對所述數據包包含的數據進行分類,并對不同類型的數據分別進行標識;所述一個以上輸入/輸出處理模塊具體用于根據所述標識,將所述協議引擎解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備。進一步的,所述一個以上輸入/輸出處理模塊包括處理視頻流數據的輸入/輸出處理模塊,用于采用去重算法處理所述視頻流數據;處理音頻流數據的輸入/輸出處理模塊,用于采用哈夫曼算法處理所述音頻流數據;處理USB數據的輸入/輸出處理模塊,用于采用紅黑樹平衡算法處理所述USB數據;處理硬件中斷數據的輸入/輸出處理模塊,用于采用最高優先級算法處理所述硬件中斷數據。進一步的,所述協議引擎還用于將用戶通過各種外圍設備輸入的數據進行統一的格式化處理。進一步的,所述系統還包括位于所述零終端設備和所述桌面虛擬機之間的一個或多個通信信道,所述通信信道通過傳輸控制協議和/或用戶數據報協議傳輸數據包。本發明提供了一種零終端設備和桌面虛擬機之間互相通信的機制,零終端設備和桌面虛擬機都按照預設的協議機制對數據進行封裝和解析,其中零終端設備解析得到數據后,根據數據類型對這些數據分別進行處理,然后分別輸出給對應的外圍設備;桌面虛擬機解析得到數據后,提交給對應的應用程序進行處理,這種通信機制適應目前的云計算架構。


圖I為本發明中零終端設備內部組件的示意圖;圖2為本發明提供的零終端設備與桌面虛擬機之間的通信方法一實施例的流程圖;圖3為本發明提供的零終端設備與桌面虛擬機之間的通信系統一實施例的結構示意圖。
具體實施方式

為充分了解本發明之目的、特征及功效,借由下述具體的實施方式,對本發明做詳細說明,但本發明并不僅僅限于此。在本發明實施例中,零終端設備具體是一個小盒子,它可以連接鍵盤、鼠標、監控器、以太網設備和USB存儲介質等外圍設備。圖I為本發明中零終端設備內部組件的示意圖。如圖I所示,零終端設備內部包括但不僅限于如下組件協議引擎、協議引擎總線、以太網介質訪問控制層(簡稱MAC)、以太網物理層(簡稱PHY)、USB編解碼器、USB控制器、USBHub、視頻編解碼器、視頻數模轉換器(簡稱DAC)、視頻時鐘同步模塊、音頻編解碼器、音頻DAC、內置揚聲器、復位(Reset)按鈕、幀緩沖接口(用于暫時存放桌面虛擬機發送至零終端設備的圖像數據,可以理解為零終端設備的“顯存”)等,其中協議引擎、以太網MAC、視頻編解碼器、USB編解碼器、音頻編解碼器、復位按鈕和幀緩沖接口等組件是在零終端設備的現場可編程門陣列(簡稱FPGA)上實現的。在本文中,將協議引擎與各端口之間連接的組件統稱為輸入/輸出(I/O)處理模塊。圖I所示的零終端設備僅為一示例,本發明中的零終端設備不僅限于圖I所示的結構。當零終端設備在網絡化環境中運行時,需要邏輯連接到一個或多個桌面虛擬機,該桌面虛擬機可以是windows XP或者windows 7,本發明對此不做限制。這樣的網絡環境在辦公室、企業范圍的網絡中是普遍的。在此網絡環境中可以采用如下本發明提供的通信方法實現零終端設備與桌面虛擬機之間的通信。具體地,以下實施例提供的通信方法主要適用于一種標準為IEEE802. 3x的以太網環境中。圖2為本發明提供的零終端設備與桌面虛擬機之間的通信方法一實施例的流程圖。如圖2所示,該方法包括以下步驟步驟101、零終端設備與桌面虛擬機之間建立會話連接。首先,零終端設備向桌面虛擬機發送連接請求建立消息,桌面虛擬機向零終端設備返回連接請求響應消息。由此建立零終端設備與桌面虛擬機之間建立會話連接。在會話連接建立時,零終端設備與桌面虛擬機協商后續所能通信的數據類型,所能通信的數據類型包括但不僅限于視頻流數據類型、音頻流數據類型、USB數據類型、以太網數據類型和硬件中斷數據類型。在會話連接建立后,零終端設備與桌面虛擬機之間就可以進行通信,具體為桌面虛擬機可以向零終端設備發送數據包(如步驟102中詳述),零終端設備也可以向桌面虛擬機反饋數據包(如步驟103中詳述)。下述步驟102和步驟103沒有執行順序的限制,這兩個步驟可以同時或交互執行。步驟102、零終端設備接收來自桌面虛擬機按照預設的協議機制封裝的數據包,按照預設的協議機制解析所述數據包,根據數據類型將所述數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備。在本發明中,零終端設備和桌面虛擬機之間都按照預設的協議機制來進行通信,本發明對該預設的協議機制不做限定,只要零終端設備和桌面虛擬機都理解該協議機制即可。桌面虛擬機向零終端設備發送數據包的過程包括桌面虛擬機按照預設的協議機制將待發送的數據封裝成數據包,將該數據包發送給零終端設備;零終端設備接收到該數據包后,按照同樣的協議機制解析數據包,得到各種數據類型的數據;零終端設備可以按照 數據類型將這些數據進行分類,然后對不同類型的數據分別進行標識;根據標識,將不同類型的數據分發給零終端設備中不同的I/o處理模塊進行處理。例如,零終端設備將數據包內包含的數據分為視頻流數據、音頻流數據、USB數據、以太網數據和硬件中斷數據等幾類,并分別對這幾類數據進行不同的標識,同一類數據標識相同;根據標識,將視頻流數據分發給處理視頻流數據的I/O處理模塊進行處理,如圖I中的視頻編解碼器、視頻DAC和視頻時鐘同步模塊等組件;將音頻流數據分發給處理音頻流數據的I/O處理模塊進行處理,如圖I中的音頻編解碼器、音頻DAC等組件^fUSB數據分發給處理USB數據的I/O處理模塊進行處理,如圖I中的USB編解碼器、USB控制器和USB Hub等組件;將以太網數據分發給處理以太網數據的I/O處理模塊進行處理,如圖I中的以太網MAC和以太網PHY等組件;將硬件中斷數據分發給處理硬件中斷數據的I/O處理模塊進行處理,該硬件中斷數據就是指復位按鈕被按下時發出的中斷信號,處理硬件中斷數據的I/O處理模塊為包括復位按鈕的模塊。進一步的,零終端設備中的I/O處理模塊對不同的數據可以采用不同的算法進行處理。具體說明如下對于視頻流數據,I/O處理模塊采用去重算法進行處理。該去重算法可以是基于哈希的去重算法,會對視頻流數據進行分析,建立多級索引表,可去除相同的數據,只在顯示緩沖區保留不同的數據,這樣就減少了視頻流數據的數據量,降低了對網絡帶寬的占用,提高了視頻流數據的傳輸效率。對于音頻流數據,I/O處理模塊采用哈夫曼算法進行處理。桌面虛擬機中的協議服務程序將音頻流數據生成一棵哈夫曼樹,零終端設備將該哈夫曼樹再轉換成音頻流數據。該算法有效的減少了音頻流數據的數據量,降低了對網絡帶寬的占用,提高了音頻流數據的傳輸效率。對于USB數據,I/O處理模塊采用紅黑樹平衡算法進行處理。該算法將USB數據根據優先級生成一棵紅黑樹,樹的每一個節點為一個數據,以使數據可以被快速地檢索到,最終提高了 USB數據的傳輸效率。對于以太網數據,I/O處理模塊可以采用現有技術中的常用算法進行處理,在此不再贅述。對于硬件中斷數據,I/O處理模塊采用最高優先級算法進行處理。零終端設備在接收到硬件中斷數據后,立即將該數據置為最高優先級,使其能立刻被處理,從而提高了整個系統的響應速度,使用戶與機器的人機交互感受得到提升。步驟103、零終端設備將用戶通過各種外圍設備輸入的數據按照預設的協議機制封裝成數據包并反饋給桌面虛擬機,桌面虛擬機按照預設的協議機制解析所述數據包,并提交給對應的應用程序。零終端設備向桌面虛擬機反饋數據包的過程包括零終端設備獲取用戶通過各種外圍設備輸入的數據,將這些數據按照預設的協議機制封裝成數據包,將該數據包發送給桌面虛擬機;進一步的,零終端設備在將數據進行封裝之前,可以將用戶輸入的各種數據進行統一的格式化處理。桌面虛擬機按照同樣的協議機制解析該數據包,將解析得到的數據提交給對應的應用程序。本實施例所適用的網絡環境中,零終端設備和桌面虛擬機可以通過一個或多個通信信道通信。當零終端設備和桌面虛擬機之間有多個通信信道時,不同的通信信道可以采用不同的傳輸協議來交互數據包,舉例來說,通信信道可以采用傳輸控制協議(TCP )或用戶數據報協議(UDP)傳輸數據包。其中采用TCP協議的通信信道可用于傳輸對可靠性要求較 高的數據,例如從桌面拷貝的資料或軟件等數據,采用UDP協議的通信信號可用于傳輸音頻或視頻等數據。本實施例提供了一種零終端設備和桌面虛擬機之間互相通信的機制,零終端設備和桌面虛擬機都按照預設的協議機制對數據進行封裝和解析,其中零終端設備解析得到數據后,根據數據類型對這些數據分別進行處理,然后分別輸出給對應的外圍設備;桌面虛擬機解析得到數據后,提交給對應的應用程序進行處理,這種通信機制適應目前的云計算架構。圖3為本發明提供的零終端設備與桌面虛擬機之間的通信系統一實施例的結構示意圖。如圖3所示,該系統包括零終端設備I和桌面虛擬機2,其中零終端設備I包括協議引擎11和一個以上I/O處理模塊12,桌面虛擬機2包括協議服務程序模塊21和操作系統22。另外,該系統還包括位于零終端設備I和桌面虛擬機2之間的一個或多個通信信道3,該通信信道3具體與協議引擎11和協議服務程序模塊21連接。該通信信道可以通過TCP協議和/或UDP協議傳輸數據包。在該系統中,協議引擎11與協議服務程序模塊21通過交互建立會話連接,在會話連接建立時,所述零終端設備與所述桌面虛擬機協商所能通信的數據類型。協議引擎11主要負責用于按照預設的協議機制封裝數據包或解析桌面虛擬機發送過來的數據包。具體地,協議引擎11用于接收來自協議服務程序模塊21按照預設的協議機制封裝的數據包,按照預設的協議機制解析所述數據包;以及,用于將用戶通過各種外圍設備輸入的數據按照預設的協議機制封裝成數據包并反饋給協議服務程序模塊21。一個以上I/O處理模塊12用于根據數據類型將協議引擎11解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備。協議服務程序模塊21用于按照預設的協議機制解析協議引擎11反饋的數據包,并提交給操作系統22中對應的應用程序。進一步的,協議引擎11還用于按照數據類型對數據包包含的數據進行分類,并對不同類型的數據分別進行標識。一個以上I/O處理模塊12具體用于根據標識,將協議引擎11解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備。進一步的,本實施例中I/O處理模塊12可以包括處理視頻流數據的輸入/輸出處理模塊,用于采用去重算法處理所述視頻流數據;處理音頻流數據的輸入/輸出處理模塊,用于采用哈夫曼算法處理所述音頻流數據;處理USB數據的輸入/輸出處理模塊,用于采用紅黑樹平衡算法處理所述USB數據;處理硬件中斷數據的輸入/輸出處理模塊,用于采用最高優先級算法處理所述硬件中斷數據。進一步的,協議引擎11還用于將用戶通過各種外圍設備輸入的數據進行統一的格式化處理。本實施例提供了一種 零終端設備和桌面虛擬機之間互相通信的系統,零終端設備和桌面虛擬機都按照預設的協議機制對數據進行封裝和解析,其中零終端設備解析得到數據后,根據數據類型對這些數據分別進行處理,然后分別輸出給對應的外圍設備;桌面虛擬機解析得到數據后,提交給對應的應用程序進行處理,這種通信系統適應目前的云計算架構。最后,需要注意的是以上列舉的僅是本發明的具體實施例子,當然本領域的技術人員可以對本發明進行改動和變型,倘若這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,均應認為是本發明的保護范圍。
權利要求
1.一種零終端設備與桌面虛擬機之間的通信方法,其特征在于,包括所述零終端設備與所述桌面虛擬機之間建立會話連接;在所述會話連接建立時,所述零終端設備與所述桌面虛擬機協商所能通信的數據類型;在所述會話連接建立后,所述零終端設備接收來自所述桌面虛擬機按照預設的協議機制封裝的數據包,按照所述預設的協議機制解析所述數據包,根據數據類型將所述數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備;所述零終端設備將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包并反饋給所述桌面虛擬機,所述桌面虛擬機按照所述預設的協議機制解析所述數據包,并提交給對應的應用程序。
2.根據權利要求I所述的方法,其特征在于,在所述零終端設備按照所述預設的協議機制解析所述數據包之后還包括所述零終端設備按照數據類型對所述數據包包含的數據進行分類,并對不同類型的數據分別進行標識;根據所述標識,所述不同類型的數據被分發給所述零終端設備中不同的輸入/輸出處理模塊進行處理。
3.根據權利要求2所述的方法,其特征在于,所述零終端設備按照數據類型對所述數據包包含的數據進行分類得到視頻流數據、音頻流數據、USB數據或硬件中斷數據;處理視頻流數據的輸入/輸出處理模塊采用去重算法處理所述視頻流數據;處理音頻流數據的輸入/輸出處理模塊采用哈夫曼算法處理所述音頻流數據;處理USB數據的輸入/輸出處理模塊采用紅黑樹平衡算法處理所述USB數據;處理硬件中斷數據的輸入/輸出處理模塊采用最高優先級算法處理所述硬件中斷數據。
4.根據權利要求I所述的方法,其特征在于,在所述零終端設備將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包之前還包括所述零終端設備將用戶通過各種外圍設備輸入的數據進行統一的格式化處理。
5.根據權利要求I所述的方法,其特征在于,所述零終端設備與所述桌面虛擬機之間通過傳輸控制協議和/或用戶數據報協議交互數據包。
6.一種零終端設備與桌面虛擬機之間的通信系統,包括零終端設備與桌面虛擬機,其特征在于,所述零終端設備包括協議引擎和一個以上輸入/輸出處理模塊,所述桌面虛擬機包括協議服務程序模塊和操作系統;所述協議引擎與所述協議服務程序模塊通過交互建立會話連接,在所述會話連接建立時,所述零終端設備與所述桌面虛擬機協商所能通信的數據類型;所述協議引擎用于接收來自所述協議服務程序模塊按照預設的協議機制封裝的數據包,按照所述預設的協議機制解析所述數據包;以及,用于將用戶通過各種外圍設備輸入的數據按照所述預設的協議機制封裝成數據包并反饋給所述協議服務程序模塊;所述一個以上輸入/輸出處理模塊用于根據數據類型將所述協議引擎解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備;所述協議服務程序模塊用于按照所述預設的協議機制解析所述協議引擎反饋的數據包,并提交給所述操作系統中對應的應用程序。
7.根據權利要求6所述的系統,其特征在于,所述協議引擎還用于按照數據類型對所述數據包包含的數據進行分類,并對不同類型的數據分別進行標識;所述一個以上輸入/輸出處理模塊具體用于根據所述標識,將所述協議引擎解析的數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備。
8.根據權利要求7所述的系統,其特征在于,所述一個以上輸入/輸出處理模塊包括 處理視頻流數據的輸入/輸出處理模塊,用于采用去重算法處理所述視頻流數據;處理音頻流數據的輸入/輸出處理模塊,用于采用哈夫曼算法處理所述音頻流數據; 處理USB數據的輸入/輸出處理模塊,用于采用紅黑樹平衡算法處理所述USB數據; 處理硬件中斷數據的輸入/輸出處理模塊,用于采用最高優先級算法處理所述硬件中斷數據。
9.根據權利要求6所述的系統,其特征在于,所述協議引擎還用于將用戶通過各種外圍設備輸入的數據進行統一的格式化處理。
10.根據權利要求6所述的系統,其特征在于,所述系統還包括位于所述零終端設備和所述桌面虛擬機之間的一個或多個通信信道,所述通信信道通過傳輸控制協議和/或用戶數據報協議傳輸數據包。
全文摘要
本發明公開了一種零終端設備與桌面虛擬機之間的通信方法及系統,屬于通信技術領域。該通信方法包括零終端設備與桌面虛擬機之間建立會話連接;在會話連接建立后,零終端設備接收來自桌面虛擬機按照預設的協議機制封裝的數據包,按照預設的協議機制解析數據包,根據數據類型將數據包包含的數據分別進行處理,然后分別輸出給對應的外圍設備;零終端設備將用戶通過各種外圍設備輸入的數據按照預設的協議機制封裝成數據包并反饋給桌面虛擬機,桌面虛擬機按照預設的協議機制解析數據包,并提交給對應的應用程序。本發明提供了一種適應目前云計算架構的零終端設備和桌面虛擬機之間互相通信的機制。
文檔編號H04L29/06GK102932327SQ20121036276
公開日2013年2月13日 申請日期2012年9月25日 優先權日2012年7月17日
發明者趙新華, 謝衛蓉 申請人:上海金圖信息科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 平武县| 常州市| 冷水江市| 和林格尔县| 阜阳市| 石楼县| 布尔津县| 普陀区| 崇州市| 漯河市| 神池县| 治多县| 宜宾市| 聊城市| 乾安县| 宝鸡市| 凤凰县| 墨玉县| 玉林市| 辉南县| 陕西省| 沂源县| 汾阳市| 蓬溪县| 泊头市| 文山县| 阿城市| 内江市| 台中市| 广宗县| 昭通市| 哈尔滨市| 玛多县| 南漳县| 长海县| 和平县| 台东市| 泰顺县| 大足县| 赤峰市| 三河市|