虚拟桌面系统中的窗口界面传输方法

文档序号:7998852阅读:306来源:国知局
专利名称:虚拟桌面系统中的窗口界面传输方法
技术领域
本发明涉及窗口界面传输领域,具体地说,本发明涉及一种虚拟桌面系统中的窗口界面传输方法。
背景技术
目前比较流行的桌面传输协议有远程桌面协议(Remote Desktop Protocol,简称为RDP)、虚拟网络计算机(Virtual Network Computing,简称为VNC)、瘦客户端网络计算机 (Thin-Client Computing,简称为THINC)等,这些协议传输的都是较底层的绘图命令,即绘图原语。其中RDP、THINC传输的是较底层的绘图原语,VNC传输的则是像素级别的绘图原语,由于越底层的绘图原语其数据量越大,可压缩性也越小,会占用过很多的带宽,在不稳定的网络状况下相应的延迟也会很大。为了降低带宽,VNC采用zlib算法(一种数据压缩算法)对图片进行压缩,只发送程序界面发生变化的区域,这些操作都需要时间,会增加程序的响应延迟,而且只能在一定程度上减少带宽。另一方面,这些桌面传输协议的客户端都是JAVA语言或C++语言实现的,需要在客户端的计算机上安装应用程序,无法直接在网页浏览器中实现。目前的网页应用越来越广泛,应用程序正在朝无端化的方向发展,传统的桌面传输协议不符合这一趋势。

发明内容
本发明的方法在于提供一种虚拟桌面系统中的窗口界面传输方法,其可拦截图形设备接口绘图函数,这样使传输的数据量更小,避免重复的数据发送,可以大大降低传输带宽,同时减少网络中的传输延迟,经过优化后可以极大提升用户体验,同时,在客户端采用 JavaScript来重新绘图,由于JavMcript在主流客户端浏览器中的通用性,可以实现多种平台,并且实现无端化,大大方便客户的使用。本发明是通过以下技术方案实现的一种虚拟桌面系统中的窗口界面传输方法,包括以下步骤(1)客户端向服务器请求启动应用程序,( 服务器启动应用程序并拦截相应的图形设备接口绘图原语, (3)服务器将拦截的图形设备接口绘图函数翻译成JavMcript代码,具体包括以下子步骤(3-1)用JavMcript实现绘图函数库,(3_2)根据拦截到的图形设备接口绘图函数的函数名,从Javakript绘图函数库中选取一个或多个Javakript函数,(3- 根据拦截到的图形设备接口绘图函数的实际参数,计算得到各个JavMcript函数的参数,以得到Jav必cript代码,(4)服务器把Jav必cript代码发送到客户端,⑶客户端执行 JavMcript代码,并绘制出应用程序的界面,(6)等待客户对应用程序的界面进行鼠标键盘操作,(7)客户端监听客户对应用程序的鼠标键盘操作,把鼠标键盘操作转化为鼠标键盘事件,并把鼠标键盘事件发送到服务器,(8)服务器根据鼠标键盘事件对应用程序模拟鼠标键盘操作。服务器拦截的绘图原语是图形设备接口绘图函数。
步骤⑴包括(1-1)客户在客户端浏览器中输入网址,以访问网站提供的应用程序列表,(1-2)客户在应用程序列表中点击,以选择启动应用程序,(1-3)客户端浏览器使用JavMcript把对应用程序的启动命令通过异步JavMcript和XML发送到网页服务器, (1-4)网页服务器通过套接字将启动命令转发给应用程序服务器上的监控程序。步骤(4)包括(4-1)用JavMcript实现绘图函数库,(4-2)根据拦截到的图形设备接口绘图函数的函数名,从绘图函数库中选取一个或多个JavMcript函数,(4- 根据拦截到的图形设备接口绘图函数的实际参数,计算得到各个JavMcript函数的参数,以得到一个或多个要调用的JavMcript函数以及调用参数,即一段JavMcript代码。本发明具有以下优点1.本发明通过拦截比较上层的绘图原语,可以降低传输带宽和延迟2.本发明在客户端通过web客户端浏览器实现,可以避免客户安装桌面应用程序。


图1为本发明虚拟桌面系统中的窗口界面传输方法的流程图。图2为本发明方法中步骤(1)的细化流程图。图3为本发明方法中步骤(3)的细化流程图。图4为本发明方法中步骤⑷的细化流程图。
具体实施例方式首先,对本发明中使用的专业名词进行解释与定义绘图原语计算机操作系统中的各种绘图指令,图形设备接口 简称⑶I (Graphics Device Interface),负责系统与绘图程序之间的信息交换,并处理所有Windows程序的图形输出。图形设备接口绘图函数图形设备接口提供的一些可以实现简单的绘图功能的函数。异步 JavaScript 禾口 XML 简称 AJAX (Asynchronous JavaScript and XML),是一种创建交互式网页应用的网页开发技术。套接字计算机系统中应用程序与TCP/IP协议交互的接口,应用程序通常通过套接字向网络发出请求或者应答网络请求。JavaScript代码对一个或多个Javakript函数的调用代码。鼠标键盘事件用户在移动鼠标光标或者点击任意鼠标键或敲击键盘任意键时触发的事件。钩子钩子是Windows中提供的一种用以替换中断的系统机制,在对特定的系统事件进行钩子后,一旦发生已钩子事件,对该事件进行钩子的程序就会受到系统的通知,这时程序就能在第一时间对该事件做出响应。如图1、2、3、4所示,本发明虚拟桌面系统中的窗口界面传输方法包括以下步骤(1)客户端向网页服务器请求启动应用程序,该步骤包括(1-1)客户在客户端浏览器中输入网址如http://mysite. com :8080,以访问网站提供的应用程序列表;(1-2)客户在应用程序列表中点击,以选择启动应用程序,具体而言,理论上应用程序应包括图形设备接口支持的所有应用程序,如微软PowerPoint、Windows画图程序、记事本等;(1-3)客户端浏览器使用JavMcript把对应用程序的启动命令通过异步 JAVASCRIPT和XML发送到网页服务器;(1-4)网页服务器再通过套接字将启动命令转发给应用程序服务器上的监控程序;(2)应用程序服务器启动应用程序并拦截相应的图形设备接口绘图函数,具体为 当应用程序启动后,应用程序服务器上的监控程序通过全局的钩子,拦截应用程序的主窗口启动,把主窗口所在的进程放入监控列表中,并拦截进程对图形设备接口绘图函数的调用;(3)应用程序服务器将拦截的图形设备接口绘图函数翻译成JavMcript代码,具体包括以下子步骤(3-1)用JavMcript实现绘图函数库,该绘图函数库可以模拟图形设备接口的基本绘图功能,如基本的几何绘图、在指定位置显示图片等;(3-2)根据拦截到的图形设备接口绘图函数的函数名,从JavMcript绘图函数库中选取一个或多个Javakript函数;(3-3)根据拦截到的图形设备接口绘图函数的实际参数,计算得到各个 JavaScript函数的参数,以得到一个或多个要调用的JavMcript函数以及调用参数,即一段 Javakript 代码;(4)应用程序服务器把JavMcript代码发送到客户端,步骤如下(4-1)应用程序服务器将得到的JavMcript代码发送到网页服务器中;(4-2)客户端浏览器通过异步JAVASCRIPT和XML轮询网页服务器,以请求数据;(4-3)网页服务器接收应用程序服务器发送过来的JavMcript代码,并把对应的数据返回给客户端浏览器。(5)客户端执行JavMcript代码,并绘制出应用程序的界面;(6)等待客户对应用程序的界面进行鼠标键盘操作;(7)客户端通过JavMcript监听客户对应用程序的鼠标键盘操作,把鼠标键盘操作转化为鼠标键盘事件,并把鼠标键盘事件发送到网页服务器,网页服务器再把鼠标键盘事件发送到应用程序服务器;(8)应用程序服务器根据鼠标键盘事件对应用程序模拟鼠标键盘操作。综上所述,本发明用Jav必cript语言模拟绘图函数库,同时通过钩子技术截获目标窗口对图形设备接口绘图函数的调用,把每次调用翻译成对JavMcript绘图函数库中的函数调用代码,并把翻译得到的JavMcript代码发送到客户端,客户端执行收到的 JavaScript代码后就可以绘制出目标窗口的界面。同时在客户端通过JavMcript监听鼠标键盘事件,把监听到的事件发送到服务器进行模拟,就可以获取用户输入,使得用户可以远程操控目标窗口。
权利要求
1.一种虚拟桌面系统中的窗口界面传输方法,包括以下步骤(1)客户端向服务器请求启动应用程序;(2)所述服务器启动所述应用程序并拦截相应的图形设备接口绘图原语;(3)所述服务器将拦截的图形设备接口绘图函数翻译成JavMcript代码,具体包括以下子步骤(3-1)用JavMcript实现绘图函数库;(3-2)根据拦截到的图形设备接口绘图函数的函数名,从所述JavMcript绘图函数库中选取一个或多个Javakript函数;(3-3)根据拦截到的图形设备接口绘图函数的实际参数,计算得到各个JavMcript函数的参数,以得到所述JavMcript代码;(4)所述服务器把所述JavMcript代码发送到所述客户端;(5)所述客户端执行所述JavMcript代码,并绘制出所述应用程序的界面;(6)等待客户对所述应用程序的界面进行鼠标键盘操作;(7)所述客户端监听客户对所述应用程序的鼠标键盘操作,把所述鼠标键盘操作转化为鼠标键盘事件,并把所述鼠标键盘事件发送到所述服务器;(8)所述服务器根据所述鼠标键盘事件对所述应用程序模拟鼠标键盘操作。
2.根据权利要求1所述的窗口界面传输方法,其特征在于,所述服务器拦截的绘图原语是图形设备接口绘图函数。
3.根据权利要求1所述的窗口界面传输方法,其特征在于,所述步骤(1)包括 (1-1)客户在客户端浏览器中输入网址,以访问网站提供的应用程序列表; (1-2)客户在所述应用程序列表中点击,以选择启动应用程序;(1-3)客户端浏览器使用JavMcript把对所述应用程序的启动命令通过异步 JavaScript和XML发送到所述网页服务器;(1-4)所述网页服务器通过套接字将所述启动命令转发给所述应用程序服务器上的监控程序。
4.根据权利要求1所述的窗口界面传输方法,其特征在于,所述步骤(4)包括 (4-1)所述应用程序服务器将得到的JavMcript代码发送到所述网页服务器中; (4-2)所述客户端浏览器通过异步JAVASCRIPT和XML轮询所述网页服务器,以请求数据;(4-3)所述网页服务器接收所述应用程序服务器发送过来的JavMcript代码,并把对应的数据返回给所述客户端浏览器。
全文摘要
本发明公开了一种虚拟桌面系统中的窗口界面传输方法,包括以下步骤(1)客户端向服务器请求启动应用程序,(2)服务器启动应用程序并拦截相应的图形设备接口绘图原语,(3)服务器将拦截的图形设备接口绘图函数翻译成JavaScript代码,(4)服务器把JavaScript代码发送到客户端,(5)客户端执行JavaScript代码,并绘制出应用程序的界面,(6)等待客户对应用程序的界面进行鼠标键盘操作,(7)客户端监听客户对应用程序的鼠标键盘操作,把鼠标键盘操作转化为鼠标键盘事件,并把鼠标键盘事件发送到服务器,(8)服务器根据鼠标键盘事件对应用程序模拟鼠标键盘操作。本发明可以大大降低传输带宽,同时减少网络中的传输延迟,经过优化后可以极大提升用户体验。
文档编号H04L29/08GK102521027SQ20111039625
公开日2012年6月27日 申请日期2011年12月2日 优先权日2011年12月2日
发明者廖小飞, 李鹤, 王萍圆, 金海 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1