• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SPICE桌面協(xié)議的研究與優(yōu)化

      2023-12-18 18:13:49楊聲遠(yuǎn)吳朋朋雍文龍
      計(jì)算機(jī)時(shí)代 2023年11期
      關(guān)鍵詞:云桌面技術(shù)

      楊聲遠(yuǎn) 吳朋朋 雍文龍

      關(guān)鍵詞:云桌面;SPICE桌面?zhèn)鬏攨f(xié)議;USB重定向;USBRedir 技術(shù);丟幀算法

      中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-8228(2023)11-108-04

      0 引言

      由于線上辦公成了常態(tài),所以無論是企業(yè)還是個(gè)人,對云桌面的需求大大增加。云桌面可以在很大程度上解決一些企業(yè)和個(gè)人對于計(jì)算機(jī)性能的需求,云桌面可以節(jié)省企業(yè)運(yùn)行成本。隨著虛擬化技術(shù)的發(fā)展、硬件設(shè)備性能的增強(qiáng)、網(wǎng)絡(luò)技術(shù)的升級,云桌面技術(shù)[1]也在企業(yè)中有了較強(qiáng)的認(rèn)可度。云桌面主要有如下幾個(gè)方面的技術(shù)特點(diǎn)。

      ⑴ 計(jì)算和存儲(chǔ)的集約化:在云桌面的服務(wù)器端只需要較弱的計(jì)算性能和存儲(chǔ)性能即可,將本地處理的數(shù)據(jù)在數(shù)據(jù)中心進(jìn)行處理。

      ⑵ 計(jì)算資源的共享化:根據(jù)所需性能進(jìn)行分配算力,可以錯(cuò)峰填谷,應(yīng)對不同時(shí)段的計(jì)算需求。

      ⑶ 云數(shù)據(jù)中心統(tǒng)一管理調(diào)度:對算力和數(shù)據(jù)進(jìn)行同一調(diào)度來實(shí)現(xiàn)高效利用資源等。

      同時(shí),云桌面還具有接入便利,節(jié)能減排,安全性高的強(qiáng)大優(yōu)勢。

      1 背景介紹

      由于虛擬化桌面[2]的應(yīng)用場景多,各家廠商都相繼推出自家廠商的云桌面協(xié)議以提供完整化的云桌面解決方案,主要包括Citrix的ICA、VMware的PCoIP、Microsoft 的RDP(Window 自帶的遠(yuǎn)程桌面所使用的協(xié)議)、Red Hat 的SPICE 等。這幾種協(xié)議各有其優(yōu)缺點(diǎn),而SPICE 協(xié)議相對其他協(xié)議有以下幾點(diǎn)優(yōu)點(diǎn):

      ⑴ 傳輸時(shí)使用的TCP協(xié)議安全性較高且不易丟幀;

      ⑵ 對圖像傳輸有自適應(yīng)能力,圖像展示的體驗(yàn)較好;

      ⑶ 因?yàn)槠溟_源的特性使用成本相較于其他協(xié)議較低;

      ⑷ 因?yàn)橛?jì)算過程都放在的服務(wù)端上所以對CPU性能的要求較低。

      當(dāng)然也有對視頻的支持較差、服務(wù)器響應(yīng)延遲等缺點(diǎn)。

      綜上所述,對于企業(yè)來說使用SPICE 由于其開源的特性,使用成本相較于其他協(xié)議較低,在如今的線上辦公來說具有較高的性價(jià)比。但由于SPICE 的一些局限性包括不支持3D 顯示等,對于具體的應(yīng)用還應(yīng)該做具體分析。

      2 SPICE 基礎(chǔ)框架

      SPICE 虛擬化桌面?zhèn)鬏攨f(xié)議基本可以劃分為四部分:SPICE protocol、SPICE Cliennt、SPICE Server 和SPICE Guest。SPICE protocol 主要充當(dāng)其他三部分之間交互的規(guī)范[3];

      SIPCE 協(xié)議的基礎(chǔ)框架示意圖如圖1 所示。下面詳細(xì)介紹一下SPICE 服務(wù)端與客戶端的基本架構(gòu)。

      2.1 客戶端架構(gòu)

      在SPICE Client 中Application 是程序的開始類,Application 類最先接收到SPICE Server 發(fā)送的命令,然后對不同的命令分別創(chuàng)建SPICE 連接的主要類RedClient、Red Screen 和Monior。在Application 類中還需要允許主消息循環(huán)來進(jìn)行連接、斷開、錯(cuò)誤以及I/O 等事件的處理。

      客戶端架構(gòu)示意圖如圖2 所示。

      在SPICE Client 中RedClient 是整個(gè)SPICE 協(xié)議在客戶端實(shí)現(xiàn)的主體,在協(xié)議中也被稱為Main Channel,它擁有所有其他的實(shí)例化通道,并且可以控制他們(創(chuàng)建,連接,斷開等),并且處理控制,配置和遷徙。所有的Channel 都是依次從RedPeer、RedChannelBase 和RedChannel 基礎(chǔ)而來,在這一過程中每一層都擔(dān)任著各不相同的作用。通道的網(wǎng)絡(luò)連接管理[4]主要依賴RedPeer,其通過將套接字操作進(jìn)行封裝來完成加密或不加密的網(wǎng)絡(luò)鏈路控制[5],為所有的服務(wù)提供基礎(chǔ)保障;RedChannelBase 是在網(wǎng)絡(luò)連接的基礎(chǔ)上進(jìn)行服務(wù)端與客戶端的協(xié)議協(xié)商和驗(yàn)證以正式建立SPICE 功能連接[6];RedChannel 是在SPICE 連接完全建立后處理所有通道的共同事件。RedScreen 是客戶端中屏幕內(nèi)容渲染、顯示和控制相關(guān)的類。RedScreen 通過ScreenLayer 將屏幕按照z 軸方向進(jìn)行分層,根據(jù)不同的顯示層來渲染對應(yīng)的畫面;通過RedWindow 類來負(fù)責(zé)各種窗體的渲染和狀態(tài)控制。RedWindow_p-平臺(tái)特定的窗口數(shù)據(jù)和方法。RedWidow-繼承RedDrawable和RedWindow_p?;敬翱跔顟B(tài)和功能的跨平臺(tái)實(shí)現(xiàn)(例如,顯示、隱藏、移動(dòng)、最小化、設(shè)置標(biāo)題、設(shè)置光標(biāo)等)。

      2.2 服務(wù)端架構(gòu)

      SPICE Server 沒有圖形化界面,通過GObject 面向?qū)ο缶帉?,與客戶端最大的不同在于,其是作為一個(gè)為libspice 庫提供使用而非一個(gè)可以獨(dú)自運(yùn)行的程序。libspice 在服務(wù)端非常依賴于虛擬化軟件[7],常用的是QEMU。Server 自身用來監(jiān)聽客戶端的連接請求,接受連接并使用它們通信。其中,SPICE 服務(wù)器基于libspice(一個(gè)虛擬設(shè)備接口可插拔庫)。VDI 提供了一個(gè)通過軟件組件來發(fā)布虛擬設(shè)備接口的標(biāo)準(zhǔn)方式,使得軟件組件能夠與虛擬設(shè)備(QEMU)交互。

      服務(wù)端架構(gòu)示意圖如圖3 所示。

      QEMU 是底層虛擬化軟件的一種,在QEMU 提供了虛擬的QXL 接口與I/O 接口。在QEMU 上運(yùn)行虛擬機(jī)操作系統(tǒng)時(shí),分別通過代理接口、輸入接口和音頻接口(放音與收音)完成MainChannel、InputsChannel、RecordChannel 通道和PlaybackChannel 通道的建立。圖形設(shè)備接口的封裝調(diào)用通過使用QXL 驅(qū)動(dòng),便于顯示通道與游標(biāo)通道進(jìn)行相關(guān)操作。Red Dispatcher負(fù)責(zé)與QXL 驅(qū)動(dòng)接口。

      3 SPICE 優(yōu)化分析與實(shí)現(xiàn)

      針對SPICE 存在問題的分析提出以下幾種優(yōu)化方案:

      3.1 USB 重定向方案設(shè)計(jì)與實(shí)現(xiàn)

      USB 重定向設(shè)備是在位于Server 端的虛擬USB設(shè)備與位于用戶終端的物理設(shè)備之間建立連接,是在應(yīng)用層的實(shí)現(xiàn),通過在虛擬機(jī)上創(chuàng)建一個(gè)虛擬的USB外設(shè)驅(qū)動(dòng)[8],來使應(yīng)用程序獲得數(shù)據(jù),并重定向USB 設(shè)備的URB 請求及應(yīng)答重。

      USB 重定向主要基于SPICE 桌面?zhèn)鬏攨f(xié)議和USBRedir 技術(shù)。USB 重定向基于SPICE Server 和Client spice-gtk 實(shí)現(xiàn)。Guest 端、SPICE Client 和Server。對由Guest 端發(fā)出USB 設(shè)備的控制請求和讀寫請求,并將請求協(xié)議分組。

      USB 重定向的處理流程及實(shí)現(xiàn)過程如圖4 所示。

      下面以USB 設(shè)備的讀請求為例解釋USB 重定向過程。以讀請求為例的USB 重定向處理時(shí)序過程如圖5 所示。

      3.2 視頻性能優(yōu)化與改進(jìn)

      視頻傳輸?shù)牧鲿扯燃扒逦纫彩且彩怯绊懹脩趔w驗(yàn)感的重要元素之一,SPICE 協(xié)議采取傳統(tǒng)的直接對靜態(tài)圖像進(jìn)行壓縮,而沒有考慮視頻在一定幀數(shù)區(qū)間是沒有發(fā)生任何變化的,從而大大加大了SPICE 服務(wù)端的壓力。所以,在用戶使用過程中,在帶寬不是較好的情況下,視頻傳輸效果較差,極易出現(xiàn)延遲或嚴(yán)重丟幀的現(xiàn)象。本文大致采用改善丟幀算法的方法來減少服務(wù)端的CPU 壓力,根據(jù)不同的網(wǎng)絡(luò)情況,采取不同的丟幀策略,從而達(dá)到較為流暢的視頻播放效果。視頻優(yōu)化原理如圖6 所示。

      首先優(yōu)化丟幀算法[9],然后在SPICE Server 端增加了RedStream_Bandwidth 函數(shù),其表示當(dāng)前視頻流占用帶寬情況,丟幀算法根據(jù)當(dāng)前帶寬占比情況,選擇最為合適的丟幀策略。將優(yōu)化的丟幀算法與RedStream_Bandwidth 函數(shù)[10]進(jìn)行結(jié)合,顯著的提高了SPICE 協(xié)議視頻傳輸性能,大大地減少了虛擬桌面在視頻播放中的延遲和丟幀現(xiàn)象。視頻流占用帶寬比,其值的變化范圍是[0,1]。在SPICE 協(xié)議中,該比值是一個(gè)不變的值,不能根據(jù)實(shí)際的網(wǎng)絡(luò)帶寬情況進(jìn)行相應(yīng)的優(yōu)化。當(dāng)視頻流沒有丟幀率,而其他板塊需要帶寬的情況下,就可以適當(dāng)?shù)脑黾觼G幀率[11],從而達(dá)到整體的流暢度,使用戶獲得一個(gè)較好的體驗(yàn)感,也有利于網(wǎng)絡(luò)帶寬的利用。

      丟幀率的計(jì)算是:統(tǒng)計(jì)服務(wù)端發(fā)送過來的幀數(shù)和客戶端的實(shí)際接收幀數(shù),當(dāng)服務(wù)端幀數(shù)一定的情況下,只有增加客戶端的實(shí)際接收幀數(shù),減少客戶端的丟幀數(shù),才可以達(dá)到減少視頻丟幀率的目的。將丟幀率與視頻流占用帶寬的比例因子相互結(jié)合,設(shè)定兩個(gè)合理的丟幀率界限。如果當(dāng)前丟幀率大于設(shè)定值,就要在不影響其他應(yīng)用程序的情況下合理地傾斜網(wǎng)絡(luò)帶寬的使用,從而達(dá)到視頻流暢的播放。如果當(dāng)前丟幀率小于設(shè)定值,需要降低視頻流的網(wǎng)絡(luò)帶寬使用,合理的增加丟幀率,將網(wǎng)絡(luò)帶寬分配給其他用戶從而達(dá)到整體的運(yùn)行流暢使得用戶獲得較好的使用體驗(yàn)。

      3.3 建立客戶端性能評估機(jī)制

      目前,SPICE 采用的瘦客戶機(jī)機(jī)制[12]可以有效降低使用門檻,對個(gè)人PC 的要求極低。然而,隨著時(shí)代的發(fā)展,個(gè)人PC 性能逐漸提高。如果考慮使用云桌面來辦公,那么個(gè)人PC 的性能就無法被充分利用了。隨著用戶對流暢度的要求越來越高,對傳輸性能的要求也越來越苛刻。為了解決這個(gè)問題,可以建立客戶端性能評估機(jī)制,以利用那些性能較高的客戶端的計(jì)算和存儲(chǔ)性能,提高傳輸性能。而對于性能不足的客戶端,仍然采用原方案,這樣可以有效地提升傳輸性能,同時(shí)提高用戶體驗(yàn)。這種方法既可以充分利用性能較高的計(jì)算機(jī),又可以避免由于性能不足而導(dǎo)致的用戶體驗(yàn)下降。在未來,這種方法將變得越來越重要。

      對于性能評估較高的客戶端,主要采取以下幾個(gè)措施以利用其優(yōu)勢。

      ⑴ 客戶端將服務(wù)端傳輸過的頁面進(jìn)行緩存。通過頁面緩存可以實(shí)現(xiàn)對頁面的拖動(dòng)占用較小的帶寬。

      ⑵ 圖像渲染由客戶端承擔(dān)部分。對于需要滾動(dòng)顯示的長界面,平移等渲染任務(wù)可以交由客戶端處理進(jìn)一步提升傳輸性能。

      具體方案如圖7 所示:

      由Monitor 檢查設(shè)備性能由Decider 決定是否啟用客戶端的緩存模塊并決定是由服務(wù)端單獨(dú)執(zhí)行渲染任務(wù)后傳給客戶端顯示還是,由服務(wù)端和客戶端分別執(zhí)行一部分渲染操作。并最終進(jìn)入Display Module來進(jìn)一步處理。

      4 結(jié)束語

      本文通過簡單介紹云桌面原理和主流桌面協(xié)議,重點(diǎn)分析了SPICE 協(xié)議框架的客戶端和服務(wù)端框架。同時(shí),針對用戶在使用過程中可能遇到的播放視頻時(shí)的延遲、丟幀和USB 設(shè)備無法重定向等問題,提供了一些關(guān)鍵的原理技術(shù),如USB 設(shè)備虛擬化框架、虛擬多通道技術(shù)和USBRedir 技術(shù),并給出了相應(yīng)的解決方案。

      值得注意的是,本文在解決視頻卡頓或嚴(yán)重丟幀問題時(shí),優(yōu)化了SPICE 協(xié)議的丟幀算法,為提供更流暢的視頻播放體驗(yàn)做出了重要貢獻(xiàn)。通過本文的研究,我們可以更加深入地了解云桌面技術(shù)及其相關(guān)協(xié)議,并掌握一些關(guān)鍵的技術(shù)和解決方案,這對于企業(yè)的IT部門和云服務(wù)提供商都有著重要的指導(dǎo)意義。

      總之,云桌面技術(shù)作為云計(jì)算的重要應(yīng)用之一,具有廣泛的應(yīng)用前景和市場需求。通過本文的研究,我們可以更加深入地了解其相關(guān)協(xié)議和關(guān)鍵技術(shù),為提供更好的用戶體驗(yàn)和解決實(shí)際問題提供了有力支持。我們期待在未來的研究中,能夠進(jìn)一步深化云桌面技術(shù)的應(yīng)用和優(yōu)化,為用戶提供更加優(yōu)質(zhì)的云服務(wù)體驗(yàn)。

      猜你喜歡
      云桌面技術(shù)
      云計(jì)算在職業(yè)院校中的應(yīng)用與思考
      基于虛擬云桌面構(gòu)建高校財(cái)務(wù)網(wǎng)絡(luò)的探討
      基于云桌面的多媒體培訓(xùn)教室的安全性保障
      關(guān)于機(jī)房云桌面管理的探索
      有關(guān)計(jì)算機(jī)網(wǎng)絡(luò)安全問題的分析與探討
      淺析建筑物鋼筋砼與砌體結(jié)構(gòu)抗震加固的技術(shù)方法
      淺談鋼筋混凝土結(jié)構(gòu)建筑應(yīng)用外包粘鋼加固技術(shù)
      探討電力系統(tǒng)中配網(wǎng)自動(dòng)化技術(shù)
      科技視界(2016年21期)2016-10-17 20:00:58
      移動(dòng)應(yīng)用系統(tǒng)開發(fā)
      科技視界(2016年21期)2016-10-17 19:38:30
      北京市中小企業(yè)優(yōu)化升級
      商(2016年27期)2016-10-17 04:13:28
      莱西市| 吉木乃县| 封丘县| 白银市| 措勤县| 延长县| 商河县| 拉萨市| 德清县| 安顺市| 曲阳县| 墨江| 温泉县| 哈尔滨市| 庆城县| 石阡县| 玛曲县| 庆城县| 广元市| 郓城县| 乌审旗| 琼结县| 遂宁市| 崇信县| 松溪县| 元阳县| 塔城市| 山东省| 清苑县| 昌宁县| 高雄市| 容城县| 晋江市| 洛隆县| 荔浦县| 普洱| 太谷县| 凉城县| 长顺县| 广宗县| 丹凤县|