基于能力集的远端桌面通信方法

文档序号:7887180阅读:245来源:国知局
专利名称:基于能力集的远端桌面通信方法
技术领域
本发明为计算机通信技术领域,涉及一种可用于云主机/传统主机与云终端/传统终端之间的远端桌面通信方法。
背景技术
为了远程访问计算机,可以通过远程桌面协议(RDP/RFB,两协议基于ITU-T T. 128规范)来实现。实现远程系统管理操作以及远程使用各种应用程序。这无疑是一项非常有用的技术。RDP协议于1998年在Windows NT 4.0 TSE版本中引入RDP4. 0,自此以后,几乎在Windows的每个发行版本中都有所改进。Windows 2008 server已经实现了 RDP6. 0。直至目前最新的RDP7. 1,对音视频有了一定的支持,同时采用了 Remoteh,对3D OPENGL有了部分的支持。Linux下一般用基于RFB的VNC较多,同样存在着不少缺陷
有的应用占用较多的网络带宽; 不支持音视频流畅播放; 有时可以看到鼠标拖影,运动不流畅; 无法很流畅支持3D、CAD等需要大量图形运算的远端应用。中国专利公告号CN101420610 A,公告日2007年10月沈日,公开了一种显示远程桌面内容的方法及其装置,其背景技术描述有现有远程桌面通讯的方法为了观看/监控到远程桌面上的内容,通常采用的技术方案为利用图形驱动接口( Graphics Device Interface,⑶I)技术、DirectX技术等抓屏处理技术定时截取当前服务器端桌面上整个屏幕的图像数据,并将本次截取到的图像数据与前次截取到的图像数据进行比较,比较屏幕图像数据发生的差异,然后对发生变化的屏幕数据进行压缩后发送到客户端,以使客户端观看到远程桌面(即服务器桌面)上的内容。在这里,服务器端是提供远程桌面或远程访问服务的设备,也就是用户看到的远程桌面所在的设备。客户端是使用远程桌面或进行远程访问服务的设备,即为本地的设备。服务器端和客户端可以是台式计算机、笔记本电脑,嵌入式设备,智能电视等设备。但是,如果在远程桌面(即服务器桌面)上进行视频文件的播放,那么屏幕变化区域大(全屏或者是窗口),并且桌而屏幕图像的变化速度快(每秒M帧以上),现有的抓屏和压缩技术达不到影片流畅播放的程度, 假设播放器显示大小为10MX768,颜色深度为32位色,这样每秒视频播放数据大小是 1024X 768 X 4X 4X 24=72Mbytes,而现有的不同的压缩算法通常压缩效率是50%,所以每秒最少有36Mbytes的数据需要处理。这对于现有的CPU和网卡来说都是处理不过来的,所以在客户端使用播放器不能流畅进行视频文件的播放,会导致花屏等不良效果。

发明内容
本发明的目的在于解决上述现有技术中存在着应用占用较多的网络带宽,画面显示不流畅的问题,提供了一种可视化效果得到一定的提升并且减少了服务器及网络压力的远端桌面通信方法。
本发明解决其技术问题所采用的技术方案是一种基于能力集的远端桌面通信方法,在主机上建立服务端,在终端机上建立客户端,其特征在于
步骤一所述的服务端与所述的客户端建立连接关系,所述的客户端安全登入; 步骤二 所述的服务端和所述的客户端根据主机和终端机进行能力协商,形成能力
集;
步骤三服务端根据能力集结合应用属性,确定通信方式,所述的服务端与所述的客户端进行远程应用;
步骤四所述的客户端安全登出。这样设置,与一般的远程桌面通信技术相比增加了步骤二,S卩服务端和客户端根据主机和终端机进行能力协商;除了定义了安全与图形编码格式方面的能力外,扩展定义了网络能力与音视频能力,视窗能力,并可扩展定义3D处理等其他能力,服务端和客户端进行协商的结果,形成能力集,服务端根据能力集结合应用属性,确定通信方式,保证了通信过程能符合主机和终端机的操作显示条件,减少宽带占用,降低延时和残影。作为优选,所述的服务端和所述的客户端调用的功能性模块插件均包括有客户管理模块、安全认证模块、网络连接模块、能力协商模块、网络测试插件、对应操作系统2D/3D 图形引擎的2D/3D插件和对应操作系统音视频引擎的音视频插件。这样设置,采取了插件技术,使得应用可扩展性更强。作为优选,所述的步骤二中,服务端发起能力协商,以探知网络带宽时延抖动、客户端图形能力、客户端音视频解码能力,服务端选择合适的图形压缩格式以及决定传送原始的音视频格式或解码后再传送,同时根据网络情况,做到码率及缓存动态调整,对符合 FAST CACHE/STREAMING技术条件的应用采取FAST CACHE/STREAMING技术。这样设置,从而使得服务端可以选择合适的图形压缩格式以及决定是否传送原始的音视频格式或解码后再传送,同时根据网络情况,做到码率及缓存动态调整,以及部分应用可采取FAST CACHE/ STREAMING等技术,为了加速启动过程,可以将能力集第一次协商之后,缓存于客户端或服务端。也可以按照更新策略在空闲时或定时进行能力集的更新。作为优选,所述的步骤三中,服务端将显示图形进行分层,分为鼠标层、前层和后层,然后将要传送的数据分类成元数据与元信息,服务端从操作系统层探知鼠标的图形、状态及位置并打包进行传送,客户端初始化每种状态对应的图形。这样层次分明,格式统一, 便于扩展与处理,节省了每次传送鼠标图形的开销,从客户端来看,不会出现鼠标拖影等现象,运动更为流畅解决了在客户端有时可以看到鼠标拖影的问题。作为优选,所述的步骤三中,服务端从操作系统自动判断需要更新前层还是后层。 许多应用程序只需要前层显示即可,此时只需要更新前层显示改动的图块,如word等应用;有的需要更新后层显示图块,如3D\CAD等应用,服务端从操作系统可自动判断需要更新前层还是后层大大节省了网络带宽的占用。 作为优选,服务端通过利用服务端音视频插件,自动判断目前系统所使用的音视频引擎,并探知媒体播放参数,从而将媒体流转发给客户端,客户端根据元信息判断出元数据的格式,通过音视频插件自动调用本地音视频引擎。这样做的好处1、服务器端不需要再解码媒体流,减少其工作负荷;2、由于传送的是未解压过的原始媒体流,节省了网络带宽; 3、从客户端来看媒体是原始的质量,效果更好,从而解决了目前一般远端桌面无法播放音视频的问题。作为优选,对于2D/3D应用,通过利用服务端2D/3D插件调用2D/3D图形引擎, 将2D/3D应用的基本模块的操作转化为元信息与元数据,远传到客户端,再利用客户端的 2D/3D插件进行操作。这样可以节省服务器及网络资源。只要客户端能力足够,显示将更为流畅。此应用的缺点在于需要对2D/3D基本模块的调用需要截取,可以通过对操作系统的2D/3D图形引擎进行局部更改,使之能与服务端通讯,从而对2D/3D基本模块的调用转化为元信息与元数据,这种方式的一个重要前提是必须已知图形引擎,幸好常用的操作系统如windows、linux、MAC OS的缺省操作系统图形引擎也就几种,二次开发修改并不困难,甚至文本文字也可以利用这种方式传送。作为优选,所述的主机为传统主机或云主机,所述的终端机为传统终端机或云终端机。本发明的方法适用于传统/云主机、传统/云终端的形式,能有效地提高传统/云主机和传统/云终端机之间的通信效率。本发明的实质性效果是本发明建立并优化了远端桌面的通信技术,服务端不只是传递变化了的图形数据,而是将其功能丰富更智能化,可以判断数据类型,按照能力集向客户端传送元信息与元数据,同时其可扩展性及性能得到提升,远程桌面的可视化效果得到一定的提升,支持音视频、2D/3D,并且减少了服务器及网络压力。


图1是本发明的一种通信流程图2是本发明中服务端和客户端的一种功能方框图。图中1、客户管理模块,2、安全认证模块,3、网络连接模块,4、能力协商模块,5、 2D/3D插件,6、音视频插件,7、网络测试插件,8、2D/3D图形引擎,9、音视频引擎。
具体实施例方式下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。实施例1
一种基于能力集的远端桌面通信方法,适用于传统主机与传统终端上,首先在传统主机上安装服务端,在传统终端上安装客户端,本实施例中的服务端和客户端可调用模块和插件均包括有客户管理模块1、安全认证模块2、网络连接模块3、能力协商模块4、网络测试插件7、对应操作系统2D/3D图形引擎8的2D/3D插件5和对应操作系统音视频引擎9的音视频插件6 ;
本实施例的通信流程(参见附图1)包括以下步骤
步骤一服务端与客户端通过客户管理模块1、安全认证模块2和网络连接模块3建立连接关系,客户端安全登入,登入步骤功能与RDP\RFB等现有协议的登入步骤功能相同;
步骤二 服务端和客户端根据主机和终端机进行能力协商,形成能力集;具体步骤为, 服务端通过能量协商模块4发起能力协商,服务端采用网络测试插件7探知网络带宽时延抖动、客户端图形能力、客户端音视频解码能力,同时检测需要执行的应用是否符合FAST CACHE/STREAMING技术条件,根据以上信息,服务端与客户端协商后形成能力集,能力集决定了服务端选择合适的图形压缩格式以及决定传送原始的音视频格式还是解码后再传送,同时根据网络情况,做到码率及缓存动态调整,对符合FAST CACHE/STREAMING技术条件的应用采取FAST CACHE/STREAMING技术。为了加速启动过程,第一次协商形成能力集之后, 能力集将缓存于客户端,并且按照更新策略在空闲时对能力集重新进行计算,达到能力集的尽快更新,使得通信传输更符合即时环境、数据传输更为顺畅。步骤三服务端根据能力集结合应用属性,确定通信方式,所述的服务端与所述的客户端进行远程应用;在步骤三中,服务端将显示图形进行分层,分为鼠标层、前层和后层, 然后将要传送的数据分类成元数据与元信息,客户端根据元数据与元信息进行执行和显示,服务端从操作系统层探知鼠标的图形、状态及位置并打包进行传送,客户端初始化每种状态对应的图形。终端当前显示的图层为显示图形的前层,显示图形的后层由显示图形的前层遮蔽为非显示层,而鼠标层则显示在最前端。服务端从操作系统执行的应用判断需要更新前层还是后层。操作系统是执行变化数据少、显示速度快的图块的应用时只需更新前层即可,所以许多应用程序只需要前层显示即可,如word等应用,此时只需要更新前层显示改动的图块即可;操作系统是执行数据变化量大,图块大量更新的应用时,需要先更新后层然后进行后层替换更新至前层的动作,所以有的应用需要更新后层显示图块,如3D/CAD 等应用,首先在后层完成图块的图形变化,然后将后层变化的图块整体替换至前层,达到一次性无延迟显示远程桌面的目的,远程桌面的可视化效果得到较大的提升。在步骤三中,如果需要执行音视频应用,由于经过能力协商,所以服务端明确获知客户端的解码能力,所以,基于能力集,服务端与客户端在执行通信时被认为是具有相同的解码能力,因此,服务端将不直接执行音视频应用,而是采用以下步骤首先,服务端通过利用服务端的音视频插件6,自动判断目前系统所使用的音视频引擎9,并探知媒体播放参数,转换形成元信息和元数据,然后将媒体流转发给客户端,客户端根据元信息判断出元数据的格式,通过客户端的音视频插件6自动调用本地音视频引擎9,终端机本地音视频引擎 9根据媒体播放参数在本地执行音视频应用。这样大大减少了服务端和网络的压力,实现音视频的播放。在步骤三中,如果执行的是2D/3D应用,服务端通过2D/3D插件5调用2D/3D图形引擎8,将2D/3D应用的基本模块的操作转化为元信息与元数据,远传到客户端,客户端再利用2D/3D插件5识别分析元信息与元数据,然后调用终端机本地的2D/3D图形引擎8 进行操作。此步骤的重点在于,在客户端在执行2D/3D应用时,对2D/3D应用的基本模块的调用需要截取,本发明提供有两种处理方法,其中的一种方式是修改该2D/3D应用程序部分,但是,显然此种方法,难度大,工作量高,实现存在困难,所以,本实施例采用的是第二种方法,也就是对主机操作系统的2D GUI/3D图形引擎进行局部更改,使主机操作系统的 2D⑶I/3D图形引擎能与服务端通讯,分析2D⑶I/3D图形引擎与服务端的通讯信息,截取2D/3D应用的基本模块的调用并转化为元信息与元数据,明显本实施例采用的方式工作量大为减少,更具备应用价值,这种方式的一个重要前提是必须已知图形引擎,因为常用的操作系统如windows Uinux ,MAC OS的缺省操作系统图形引擎数量较少,因此二次开发修改并不困难,甚至文本文字也可以利用这种方式传送。步骤四当应用执行完成后,客户端安全登出,完成远程桌面通信。实施例2
本实施例与实施例1基本相同,不同之处在于,本实施例适用于云主机和云终端,在步骤二中,第一次协商形成能力集之后,能力集将缓存于服务端,并且按照更新策略定时对能力集重新进行计算,达到能力集的尽快更新,使得通信传输更符合即时环境、数据传输更为顺畅。 以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
权利要求
1.一种基于能力集的远端桌面通信方法,在主机上建立服务端,在终端机上建立客户端,其特征在于步骤一所述的服务端与所述的客户端建立连接关系,所述的客户端安全登入;步骤二 所述的服务端和所述的客户端根据主机和终端机进行能力协商,形成能力集;步骤三服务端根据能力集结合应用属性,确定通信方式,所述的服务端与所述的客户端进行远程应用;步骤四所述的客户端安全登出。
2.根据权利要求1所述的基于能力集的远端桌面通信方法,其特征在于所述的服务端和所述的客户端调用的功能性模块插件均包括有客户管理模块、安全认证模块、网络连接模块、能力协商模块、网络测试插件、对应操作系统2D/3D图形引擎的2D/3D插件和对应操作系统音视频引擎的音视频插件。
3.根据权利要求1所述的基于能力集的远端桌面通信方法,其特征在于所述的步骤二中,服务端发起能力协商,以探知网络带宽时延抖动、客户端图形能力、客户端音视频解码能力,服务端选择合适的图形压缩格式以及决定传送原始的音视频格式或解码后再传送,同时根据网络情况,做到码率及缓存动态调整,对符合FAST CACHE/STREAMING技术条件的应用采取FAST CACHE/STREAMING技术。
4.根据权利要求1所述的基于能力集的远端桌面通信方法,其特征在于所述的步骤三中,服务端将显示图形进行分层,分为鼠标层、前层和后层,然后将要传送的数据分类成元数据与元信息,服务端从操作系统层探知鼠标的图形、状态及位置并打包进行传送,客户端初始化每种状态对应的图形。
5.根据权利要求4所述的基于能力集的远端桌面通信方法,其特征在于所述的步骤三中,服务端从操作系统执行的应用判断需要更新前层还是后层。
6.根据权利要求3所述的基于能力集的远端桌面通信方法,其特征在于服务端通过利用服务端音视频插件,自动判断目前系统所使用的音视频引擎,并探知媒体播放参数,从而将媒体流转发给客户端,客户端根据元信息判断出元数据的格式,通过音视频插件自动调用本地音视频引擎。
7.根据权利要求2所述的基于能力集的远端桌面通信方法,其特征在于对于2D/3D 应用,通过利用服务端2D/3D插件调用2D/3D图形引擎,将2D/3D应用的基本模块的操作转化为元信息与元数据,远传到客户端,再利用客户端的2D/3D插件进行操作。
8.根据权利要求1所述的基于能力集的远端桌面通信方法,其特征在于所述的主机为传统主机或云主机,所述的终端机为传统终端机或云终端机。
全文摘要
本发明涉及一种远端桌面通信方法。本发明可以很好地解决现有技术中存在应用占用较多的网络带宽,画面显示不流畅的问题。其技术方案要点是,一种基于能力集的远端桌面通信方法,在主机上建立服务端,在终端机上建立客户端,步骤一所述的服务端与所述的客户端建立连接关系,所述的客户端安全登入;步骤二所述的服务端和所述的客户端根据主机和终端机进行能力协商,形成能力集;步骤三服务端根据能力集结合应用属性,确定通信方式,所述的服务端与所述的客户端进行远程应用;步骤四所述的客户端安全登出。应用本发明的远程桌面的可视化效果得到一定的提升,支持音视频、2D/3D应用,并且减少了服务器及网络压力。
文档编号H04L29/08GK102546803SQ201210009320
公开日2012年7月4日 申请日期2012年1月13日 优先权日2012年1月13日
发明者冯望瑜, 张铁柱 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1