一種實時性桌面云的實現方法及系統的制作方法
【技術領域】
[0001]本發明屬于云計算技術領域,尤其涉及一種網絡延時小、實時性強的桌面云實現方法及系統。
【背景技術】
[0002]在桌面云技術及應用領域,虛擬機運行在遠程服務器上,將桌面圖像和音頻數據傳輸到終端設備(例如PC、瘦客戶端、移動終端等)上。終端設備輸出桌面圖像和音頻信號,同時采集終端設備的外設事件(例如敲擊鍵盤、移動鼠標等)并反饋到遠程服務器的虛擬機上,更新后的桌面圖像和音頻數據繼續傳輸到終端設備。桌面云的實時性是指終端設備發生外設事件后、虛擬機更新的桌面圖像和音頻數據傳送到終端設備并予以輸出完畢,兩者之間的延時。網絡延時越小,桌面云的實時性越好。
[0003]由于桌面圖像和音頻的數據量非常大,對網絡傳輸速度的要求很高,網絡帶寬消耗很大,因此虛擬機與終端設備之間的通信協議和通信方式便顯得非常重要。目前主要的通信協議有微軟的RDP (Remote Desktop Protocol,遠程桌面協議)、Citrix的ICA協議、VMware的PCoIP協議以及開源的SPICE協議等,大多數通信協議對桌面圖像的處理方式是對變化區域的圖像進行處理并壓縮后傳輸。即便如此,在虛擬機桌面圖像變化顯著的情況下(例如全屏播放數字影片、快速切換全屏窗口等),數據通信量仍然非常大,由此導致的問題是,終端設備的圖像顯示出現鋸齒狀,音頻信號出現斷續現象,而且延時非常大,實時性非常差。
[0004]現有專利技術如下:
[0005]專利申請公告號為“CN102647456,發明名稱為“構建桌面云的方法及系統”試圖整合應用虛擬化和桌面虛擬化的云計算應用,避免繁瑣的License授權操作。在這種桌面云中,用戶終端設備通過遠程協議(RDP、ICA、PCoIP等)連接到虛擬機并傳輸桌面圖像與音頻數據。
[0006]專利申請公告號為CN 103685508 A,發明名稱為“基于云桌面平臺低帶寬模式下的視頻圖文傳輸調用方法”尋求一種瘦客戶機向遠程服務器傳輸靜態圖像的方法,瘦客戶機拍攝生成的圖片文件通過瘦客戶端TWAIN客戶端傳輸到云端TWAIN重定向客戶端。TWAIN協議是應用軟件從計算機外設獲取靜態圖像的國際標準,不能傳輸動態的桌面圖像與音頻數據。
[0007]“一種動態分發云桌面的方法”(發明授權公告號:CN 102882968 B)提供一種虛擬機的管理方法。在這種桌面云中,終端設備通過RDP之類的協議連接到虛擬機,終端用戶使用桌面云的實時性體驗仍很差。
[0008]“一種基于OpenStack和Spice的云桌面實現”(發明申請公告號:CN 104580399A)的終端設備利用SPICE協議連接到虛擬機并傳輸圖像和音頻數據。SPICE協議類似于RDP、ICA等協議,對網絡帶寬消耗非常大,正常情況下需要10?20MBPS的資源,桌面云的實時性差。
[0009]“一種基于云桌面的視頻流處理方法及裝置”(發明申請公告號:CN 104394486 A)根據終端設備的網絡速度來調整視頻圖像的壓縮率和幀率,如果終端設備的網絡速度快,采用較低的視頻圖像壓縮率和幀率,反之,采用較高的壓縮率和幀率;終端設備與虛擬機之間的通信協議是SPICE。
[0010]“一種使用云桌面的方法、裝置和云桌面系統”(發明申請公告號:CN 104735108A)根據終端用戶的不同類型(例如屏幕大小)提供桌面云和云應用程序的操作界面,終端設備與虛擬機之間采用RDP之類的遠程桌面協議。
[0011]“一種遠程云桌面操作系統”(發明申請公告號:CN 103986786 A)、“云桌面的處理方法及裝置”(發明申請公告號:CN 104468741 A)采用RDP之類的遠程桌面協議建立終端設備與虛擬機之間的連接。“云桌面的處理方法及裝置”(發明申請公告號:CN 104468741A)著重解決終端設備上多個桌面云窗口的切換問題。
[0012]“云桌面圖像分類與編碼方法”(發明申請公告號:CN 103402091 A)提供一種云桌面圖像分類及其編碼方法。該方法是針對桌面靜態圖像進行加工,在保證圖像清晰度的前提下減少圖像傳輸量,在桌面圖像變化頻繁、桌面圖像變化區域大的情況下,終端設備與虛擬機之間的數據流量仍很大,而且不支持桌面云的音頻數據。
[0013]“云桌面系統”(發明申請公告號:CN 103841179 A)在服務器上為終端分配專用的網絡系統盤和網絡數據盤,網絡系統盤存儲終端用戶的身份標識、配置文件等數據,網絡數據盤存儲個人數據,這些數據或定期、或實時地在終端設備與服務器之間保持同步。在這種桌面云中,終端設備與服務器之間的數據并不是桌面圖像與音頻數據,而且數據量也不大。
[0014]“一種基于桌面云的媒體控制方法和設備”(發明申請公告號:CN 103475953 A)的終端設備采集多媒體數據,按照云服務器的窗口調整指令,在終端設備的指定位置展現多媒體數據。云服務器向終端設備發送指令,終端設備向云服務器發送多媒體文件,云服務器并沒有向終端設備傳輸虛擬機的桌面圖像和音頻數據。
[0015]“一種在桌面云下轉向播放多媒體文件的方法、虛擬機及系統”(發明申請公告號:CN 104349177 A)提供一種終端設備以流媒體形式播放服務器上多媒體文件的方法。月艮務器需要將流媒體地址告知終端設備,而這種告知的技術手段便是桌面云,即通過桌面協議將流媒體的網絡地址傳遞給桌面云客戶端,并不解決虛擬機本身的桌面圖像與音頻數據的傳輸。
[0016]“基于云計算實現遠程虛擬桌面顯示的系統及方法”(發明申請公告號:CN103873568 A)獲取虛擬機桌面圖像的方式不是通過虛擬化平臺,而是在虛擬機操作系統內部安裝專門的侍服軟件(第
[0066]段),該侍服軟件運行在虛擬機內并采用抓屏的方式獲取桌面圖像,由虛擬機本身完成桌面圖像的編碼(第[0068、0069]段)。此外該侍服軟件還負責與終端的通信,接收終端的指令(第
[0074]段)。該專利僅能處理桌面圖像,不能處理虛擬機的聲音數據和虛擬機分辨率變化的情況,沒有解決終端設備啟動、關閉虛擬機的問題,不能對虛擬機、服務器等資源進行動態分配與調試管理。
[0017]微軟的RDP協議、Citrix的ICA協議、VMware的PCoIP協議以及開源VNC、SPICE協議等對桌面圖像進行差分計算并壓縮后進行網絡傳輸,也就是說,僅將桌面圖像上發生變化的區域發送到客戶端。以800X600的分辨率、32位顏色數、每秒24幀、10%的圖像壓縮率計算,虛擬機播放視頻需要的帶寬是35.15625Mbps,采用1024X768分辨率則需要57.6Mbps。由此可見,網絡流量導致延時大,實時性差。
【發明內容】
[0018]為解決上述技術問題,本發明的目的是提供一種實時性桌面云的實現方法及系統,該方法和系統縮小了網絡傳輸延時性,并以此方法構建實時性桌面云。
[0019]本發明的目的通過以下的技術方案來實現:
[0020]一種實時性桌面云的實現方法,包括:
[0021]利用遠程桌面協議獲取虛擬機的桌面圖像和音頻數據,并接收終端設備連接請求及外設事件數據;以及在桌面圖像分辨率發生變化時,及時進行處理;
[0022]將獲取的桌面圖像和音頻數據編碼成多媒體文件格式,并輸出;
[0023]對輸出的多媒體文件格式數據進行流化處理,生成流媒體格式數據;
[0024]對流媒體格式數據進行解碼并輸出桌面圖像和音頻數據;及
[0025]發送外設事件數據。
[0026]—種實時性桌面云的實現系統,包括:
[0027]服務器模塊、桌面協議模塊、流媒體編碼模