• 
    

    
    

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

      Linux系統(tǒng)下的虛擬桌面顯示協(xié)議實(shí)現(xiàn)

      2018-09-14 11:31:46福建升騰資訊有限公司楊榮尊
      電子世界 2018年17期
      關(guān)鍵詞:壓縮算法開源桌面

      福建升騰資訊有限公司 楊榮尊

      虛擬桌面服務(wù)是典型的云計(jì)算應(yīng)用,它能夠在“云”上為用戶提供桌面服務(wù)。桌面云服務(wù)提供商在數(shù)據(jù)中心的服務(wù)器上運(yùn)行用戶的操作系統(tǒng)以及應(yīng)用,用戶數(shù)據(jù)全部保存在數(shù)據(jù)中心,然后通過虛擬桌面顯示協(xié)議將顯示圖像實(shí)時(shí)發(fā)送到用戶端設(shè)備上,同時(shí)接收用戶端設(shè)備的輸入,并對(duì)其進(jìn)行實(shí)時(shí)的響應(yīng)。

      隨著桌面云虛擬化技術(shù)的不斷成熟,微軟Windows系統(tǒng)下的虛擬桌面顯示協(xié)議已經(jīng)得到了廣泛的研究,國內(nèi)外常見的虛擬桌面顯示協(xié)議,如思杰的ICA協(xié)議、微軟的RDP協(xié)議、VMWare的PCoIP協(xié)議主要支持Windows操作系統(tǒng),對(duì)Linux操作系統(tǒng)支持較差;隨著桌面云應(yīng)用范圍的不斷擴(kuò)大以及國內(nèi)軟件自主可控的要求,Linux桌面的需求也逐漸出現(xiàn)。由于Windows操作系統(tǒng)和Linux操作系統(tǒng)圖形系統(tǒng)有較大的差異,因此虛擬桌面顯示的實(shí)現(xiàn)在Linux平臺(tái)上存在較大的差異。

      1 Linux圖形系統(tǒng)介紹

      Linux系統(tǒng)使用最廣泛的圖形系統(tǒng)是X Window System,最初是由麻省理工于1984年設(shè)計(jì),由于其良好的設(shè)計(jì)以及靈活性,目前已經(jīng)成為UNIX系的操作系統(tǒng)的主流圖形系統(tǒng)。從邏輯上看,X Window System是一個(gè)典型的CS結(jié)構(gòu)的設(shè)計(jì),X Window System主要由以下三個(gè)部分組成:

      圖1 X Window System邏輯結(jié)構(gòu)圖

      (1)X Server:圖形服務(wù)器端,負(fù)責(zé)位圖的顯示、輸入設(shè)備的處理等;目前Linux主流發(fā)行版本如Centos、Ubuntu使用X.Org基金會(huì)的開源實(shí)現(xiàn);

      (2)X Protocol:顯示協(xié)議,目前使用的是X第11個(gè)版本的協(xié)議,因此也經(jīng)常稱為X11協(xié)議;

      (3)X Client:圖形客戶端,通過X11協(xié)議和服務(wù)器端交互;為了軟件開發(fā)的方便,避免封裝X11協(xié)議的復(fù)雜性,應(yīng)用程序一般調(diào)用封裝好的xlib庫進(jìn)行X11的請(qǐng)求。

      圖2 X Window System物理結(jié)構(gòu)圖

      在X Windows System中X Server是獨(dú)立運(yùn)行的進(jìn)程,這一個(gè)進(jìn)程控制了系統(tǒng)中的屏幕、鍵盤、鼠標(biāo)等設(shè)備,X Client進(jìn)程通過X11協(xié)議向X Server發(fā)送顯示指令,并從X Server獲取鼠標(biāo)鍵盤的輸入數(shù)據(jù)。X11底層通信一般采用TCP或者UNIX本地socket的方式。

      2 Linux虛擬桌面協(xié)議實(shí)現(xiàn)

      2.1 直接X11協(xié)議

      X Windows System的設(shè)計(jì)本身就允許X Server和X Client跨主機(jī)運(yùn)行,因此最簡單的虛擬桌面協(xié)議的實(shí)現(xiàn)是在協(xié)議客戶端運(yùn)行一個(gè)X Server,然后通過設(shè)置環(huán)境變量DISPLAY通知X Client服務(wù)器的位置,就可以在客戶端運(yùn)行遠(yuǎn)端服務(wù)器上的圖像應(yīng)用。

      圖3 X11虛擬桌面

      這一種實(shí)現(xiàn)方式不需要進(jìn)行開發(fā),只需要進(jìn)行相應(yīng)的設(shè)置,總體實(shí)現(xiàn)比較簡單。但是存在以下的問題:

      (1)安全性較差:X11協(xié)議是一個(gè)明文的協(xié)議,并沒有對(duì)數(shù)據(jù)進(jìn)行加密;

      (2)網(wǎng)絡(luò)帶寬大:X11協(xié)議沒有對(duì)位圖數(shù)據(jù)進(jìn)行壓縮,網(wǎng)絡(luò)帶寬要求比較大;

      (3)客戶端系統(tǒng)兼容性差:目前只有Linux客戶端系統(tǒng)帶有X Server,其他的平臺(tái)如Windows、android、iOS都缺乏成熟的X Server開源實(shí)現(xiàn);

      (4)配置復(fù)雜:和典型的虛擬桌面協(xié)議相比,X11協(xié)議有較多的配置在X Server端,比如字體的安裝以及配置,因此客戶端上的X Server配置比較復(fù)雜,用戶比較難在不同客戶端獲取一致的使用體驗(yàn)。

      2.2 OpenSSH X11 Forward

      SSH(Secure Shell protocol)是一種在不安全網(wǎng)絡(luò)上提供安全遠(yuǎn)程登錄及其它安全網(wǎng)絡(luò)服務(wù)的協(xié)議;SSH不僅僅可以用于遠(yuǎn)程登錄服務(wù)器,還可以為其他的應(yīng)用提供安全通信隧道。

      OpenSSH X11 Forward這一種實(shí)現(xiàn)方式和直接X11協(xié)議類似,只是X11數(shù)據(jù)包并不直接通過TCP協(xié)議發(fā)送,而是使用SSH隧道發(fā)送。使用SSH隧道可以解決安全性的問題,同時(shí)SSH協(xié)議支持zlib數(shù)據(jù)壓縮,可以減少帶寬占用,不過由于zlib是通用數(shù)據(jù)壓縮算法,沒有為圖像進(jìn)行優(yōu)化,因此無法達(dá)到最佳的壓縮效果。

      2.3 X damage extension

      X damage extension是X11的擴(kuò)展協(xié)議,通過這一個(gè)擴(kuò)展協(xié)議,X Client可以直接從X Server上獲取到顯示的變化區(qū)域,在Windows系統(tǒng)下要實(shí)現(xiàn)類似的功能需要通過編寫虛擬的顯示驅(qū)動(dòng)。

      開源項(xiàng)目X11vnc使用這一個(gè)機(jī)制實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的X Client應(yīng)用,這一個(gè)應(yīng)用通過X11擴(kuò)展協(xié)議x damage extension獲取顯示變化區(qū)域,然后使用XGetImage或者XShmGetImage調(diào)用獲取變化區(qū)域?qū)?yīng)的位圖;獲取變化位圖后就可以采用和Windows系統(tǒng)相同的機(jī)制處理:選擇合適的圖像壓縮算法壓縮數(shù)據(jù),將壓縮后的數(shù)據(jù)發(fā)送到客戶端。

      圖4 X11vnc虛擬桌面

      2.4 RedHat SPICE

      SPICE(simple protocol for independent computing environment)最初是由Qumranet開發(fā),后面由RedHat收購并完全開源,經(jīng)過近幾年的發(fā)展,已經(jīng)成為了成熟的虛擬桌面協(xié)議。

      圖5 SPICE虛擬桌面

      和前面實(shí)現(xiàn)相比,SPICE采用了完全不同的方式獲取顯示數(shù)據(jù),它并沒有在Linux系統(tǒng)中開發(fā)單獨(dú)的組件,而是在虛擬機(jī)(QEMU)的Hyper-V層通過QXL的虛擬顯示設(shè)備獲取顯示數(shù)據(jù)。這一種實(shí)現(xiàn)方式和操作系統(tǒng)完全解耦,可以支持任意的操作系統(tǒng)。

      SPICE協(xié)議最大的特點(diǎn)是在QEMU虛擬化平臺(tái)中通過軟件實(shí)現(xiàn)的PCI顯示設(shè)備QXL獲取顯示數(shù)據(jù),這種架構(gòu)使得SPICE協(xié)議緊密地依賴于服務(wù)器虛擬化軟/硬件基礎(chǔ)設(shè)施,SPICE必須與QEMU虛擬化環(huán)境綁定。傳統(tǒng)的虛擬桌面?zhèn)鬏攨f(xié)議工作在虛擬機(jī)Guest OS中,而SPICE協(xié)議本身運(yùn)行在虛擬機(jī)所在的主機(jī)中,可以直接使用服務(wù)器的硬件資源。

      3 結(jié)束語

      基于X11協(xié)議的虛擬桌面實(shí)現(xiàn)難以對(duì)位圖數(shù)據(jù)進(jìn)行針對(duì)性的壓縮,而且需要在客戶端實(shí)現(xiàn)X Server,比較難適應(yīng)各種類型的客戶端系統(tǒng);基于x damage extension擴(kuò)展的虛擬桌面,可以高效獲取屏幕變化區(qū)域,但是只能獲取到位圖數(shù)據(jù),無法獲取到顯示指令,需要一個(gè)有效的圖像壓縮算法,才能達(dá)到較好的帶寬;SPICE協(xié)議的實(shí)現(xiàn)方式可以高效的獲取顯示指令,但是和QEMU完全綁定,無法在其他虛擬機(jī)平臺(tái)上使用。從機(jī)制上看,基于x damage extension擴(kuò)展的實(shí)現(xiàn)方式和Windows系統(tǒng)下虛擬桌面實(shí)現(xiàn)比較類似,更適合虛擬化廠商擴(kuò)展自己的虛擬桌面協(xié)議以支持Linux系統(tǒng)。

      猜你喜歡
      壓縮算法開源桌面
      桌面舞龍
      基于APP在線控制雙擠出頭FDM桌面3D打印機(jī)的研制
      基于參數(shù)識(shí)別的軌道電路監(jiān)測數(shù)據(jù)壓縮算法研究
      五毛錢能買多少頭牛
      更正聲明
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會(huì)議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      開源計(jì)算機(jī)輔助翻譯工具研究
      PMU數(shù)據(jù)預(yù)處理及壓縮算法
      曲線數(shù)據(jù)壓縮方法與實(shí)現(xiàn)
      芦溪县| 大埔县| 绿春县| 正宁县| 牙克石市| 镇江市| 无棣县| 石林| 罗源县| 虞城县| 东乡| 英超| 临洮县| 保靖县| 格尔木市| 喀喇| 沽源县| 五台县| 曲阳县| 彩票| 凤翔县| 旅游| 富顺县| 蒙自县| 阳西县| 大渡口区| 肇源县| 玉山县| 香河县| 扎鲁特旗| 佛坪县| 从江县| 武汉市| 宜宾市| 潜江市| 临夏县| 灵丘县| 泾阳县| 吴江市| 济宁市| 清水河县|