当前位置:首页 > 工业控制 > 工业控制
[导读] 虚拟网络计算VNC[1](Virtual Network Computing)是由AT&T剑桥研发中心研发的一种瘦客户计算[2]体系,是一个强大的远程桌面共享工具,能够让多个客户端通过互联网查看服务器端实时桌面状况并可以进行远程操作。本

 虚拟网络计算VNC[1](Virtual Network Computing)是由AT&T剑桥研发中心研发的一种瘦客户计算[2]体系,是一个强大的远程桌面共享工具,能够让多个客户端通过互联网查看服务器端实时桌面状况并可以进行远程操作。本文首先分析了低速网络环境下VNC在远程视频会议系统中应用的技术难点,并提出了一种在低速网络下利用VNC实现应用程序共享的解决方案。
1 VNC协议特点
    VNC由VNC Server和VNC Client两部分组成。VNC Server产生本地显示,通过VNC协议实现VNC Server和VNC Client之间的通信。VNC协议中实现了一种远程图形用户界面访问协议RFB[2](Remote Frame Buffer)协议,RFB协议是基于帧缓存(Frame Buffer)层级,因此适用于所有操作系统平台及应用,例如X Windows、MS Windows和Macintosh等。VNC在TCP/IP协议基础上通过一个简单的图形界面传输协议实现在远程客户端上显示服务器端的桌面实时数据。
    协议的显示方面是基于一个很简单的原理,即将一个矩形区域的像素点放置在一个特定的位置上。通过采用不同的图像编码方法,可以在传输速度、图像质量、服务器处理速度、终端显示速度和网络带宽之间达到平衡。通过每次的窗口更新,可以得到最新的窗口内容。在某些方面,这看上去更像是一种视频图像流。每次窗口更新的消息是通过客户端发送给服务器端的,每接收到一个消息,服务器端对其发生响应,这样就使得协议本身可以控制自己的刷新速度。如果客户端或者由于网络的原因比较慢,同样地刷新率也会比较低,这样可以完成速度的自适应。
    输入协议是基于标准工作站的键盘响应消息和鼠标设备的。当客户端接收到这些输入消息后,被简单地以事件形式传送给服务器端,并产生对应的动作。
2 VNC在低带宽网络环境中应用存在的问题
    在大规模视频会议中,当需要对其中一个会议成员的桌面或者某个应用程序进行共享时,此时VNC服务器的计算性能和网络接入的条件都比较差,这样就对共享机制提出了很高的要求,其必须具备高效、延时小,又要求架构轻盈、占系统资源少、节省带宽等性能。由于在国外网络带宽足够,采用VNC机制的多点应用程序共享能够流畅地运行,但在国内目前低带宽的网络条件下,VNC机制采用的是星型直连结构,如果直接采用VNC默认的星型直连机制,在多点远程视频会议中实现应用程序共享会很困难,VNC Server与各VNC Client以直连方式进行通信,此种情况下由于VNC Server端的出口带宽受到限制,VNC Server端的数据发送压力会呈线性增长,在2 MHz的ADSL出口带宽条件下,当会议成员达到10个后,将导致严重的网络拥塞,致使应用程序共享实时性大大降低,因而其不具备在远程视频会议系统中的实际可用性。
3 VNC共享机制改进方案
3.1 VNC共享通信机制
    VNC机制默认采用直连的方式同VNC Client通信,本文将提出一种新的实现方案,通过在远程视频会议系统[4]中采用中转服务器转发模式实现共享,具体结构如图1所示。此时VNC Server端只需上传数据给中转服务器,VNC Client只与中转服务器建立连接,由中转服务器向每个客户端发送数据,通常中转服务器的网络出口带宽都比较大,因此网络带宽不会成为性能瓶颈。这样就大大减轻了VNC Server端的网络传输压力,在应用程序共享时系统的反应速度也将得到提升。

3.2 屏幕变化检测算法
    屏幕变化检测算法性能的好坏将直接影响到VNC Server端发送的数据量,一种高效的屏幕检测算法将大大降低传输的数据量,节省网络带宽,从而提高系统的实时效果。VNC默认的屏幕变化检测机制是通过消息钩子机制获取区域的坐标信息后,再将坐标区域的屏幕像素数据发送给各VNC Client。此检测方法使得大量没有发生改变的屏幕数据也被发送,增加了网络发送的数据量,在低速网络环境中容易造成网络拥塞,影响系统的性能。因此,本文在此基础上提出了一种新的屏幕变化区域检测算法。
    VNC机制通过采用消息钩子机制截获系统屏幕重绘区域信息,将得到的区域拆分成一个矩形链表(遍历链表)来存储区域坐标信息,记为array_list,定义一个变化区域记为vnc_rgn,专门保存需要重新发送的区域位置信息,对array_list每个成员矩形调用此检测算法进行变化区域检测。具体的算法流程图如图2所示。

    (1)假设其中一个成员矩形为arri,如果arri的长宽都小于32×32,则直接作为需重新发送的变化区域,保存到vnc_rgn中,否则对arri进行分析检测。
    (2)首先定义一个新的矩形arrj(arri.left,0,arri.right,0),在arri中找到发生变化的行,记录该行的y坐标,记arrj.top=y,同时y+=16递增找到未发生变化行,暂时记arrj.bottom=y;然后从arrj底部y-=1进行比较,寻找内容发生变化的行,找到后将此行的y坐标设置成arrj.bottom=y。至此确定了变化矩形arrj的最终的top、bottom坐标。同时将arri的值设为arri(arri.left,arrj.bottom,arri.right,arri.bottom)。在对arrj分析完毕后接着对arri遍历分析直至结束。
    (3)确定矩形arrj后,对矩形arrj进行分析。首先定义一个矩形arrn(0,0,0,0),在arrj中寻找最先发生改变的列,找到后记录发生变化的区域的left、top坐标,arrn.left=x,arrn.top=y,分别对x、y轴方向循环遍历进行分析(记为x+=32,y+=32),如果此列屏幕像素数据改变,则x+=32继续比较;否则将记录arrn.right=x,对y轴方向进行同样的比较,y+=32,并记录arrn.bottom=y,最终得到需要发送的变化区域矩形坐标,并将此矩形保存到最终发送的矩形链表中,同时记录下arrk(arrn.right,arrn.top,arrj.right,arrn.bottom)、arrm(arrn.left,arrn.bottom,arrj.right,arrj.bottom),分别将arrk、arrm赋值给arrj进行类似分析检测,依次循环遍历整个arrj,直到结束。
    通过此屏幕变化区域检测算法,对整个array_list链表的成员矩形进行遍历后得到需要重新发送的变化区域坐标信息。
4 实验结果
    此改进方案已经应用于VcomOffice远程视频会议系统中。实验环境为:局域网内,中转服务器采用Linux操作系统,VNC Server和VNC Client端均采用Windows XP操作系统,具体的软硬件配置如表1所示。

    为了验证调用屏幕变化区域检测算法前后,VNCServer端对同一操作生成的数据量的变化,实验在100 M的局域网内进行,VNC Server采用的是VNC默认的tight编码[5],编码后经过zlib压缩[5]后发送给中转服务器,主要进行以下场景的测试:
    (1)打开一个Word文档,剪切、复制、粘贴一段文字,图片保存到Word,在Word中输入一些内容;
    (2)打开IE浏览器登录www.sina.com.cn主页;
    (3)打开一个PDF文档后,拖动滚动条至底部;
    (4)打开资源管理器,在屏幕上做拖动操作,之后将其最大化。
    调用检测算法前后VNC Server发送数据量如图3所示。通过对比可以看到,在调用屏幕区域变化检测算法前后,VNC Server端发送的数据量都会有一定程度的下降。当执行相同的Word操作时,VNC Server端发送的数据量降低了12.21%,登录新浪网主页的过程中数据发送量只降低了4.82%,打开PDF文档并拖动滚动条至最底端的过程中,发送的数据总量降低了14.63%,在资源管理器的缩放过程中,数据发送量下降了22.19%。

    测试结果表时,当VNC系统调用屏幕区域变化检测算法后,VNC Server端的发送数据量平均会有10%左右的下降。这在远程多点应用程序共享中,会大大减轻VNC Server端的发送压力,减少网络拥塞现象出现的概率,从而提高了应用程序共享时远程客户端响应速度。
    本文介绍了在低速网络环境下远程视频会议系统中通过VNC协议进行应用程序共享时存在的问题,提出了一种新的改进方案,并结合新方案提出了一种新的屏幕区域变化检测算法。此外,对系统在调用新的屏幕区域变化检测算法前后进行了测试比较。该方案已经应用于大连浩视数字技术有限公司的VcomOffice远程视频会议系统。通过多个实验场景的测试,实验结果表明,采用新的屏幕变化区域检测算法后,VNC Server端的发送数据量出现了较大程度的下降,为低速网络环境下远程视频会议系统节省了网络带宽,提高了应用程序共享系统的实时性,从而实现了VNC在低速网络环境下的应用,应用程序共享使地理位置分散的用户通过计算机网络的连接共享某一应用程序,在互联网办公、远程视频会议系统、远程协助等方面有着不可替代的作用,具有相当广阔的发展前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭