CN102577327B - 一种实现远程桌面环境下网页浏览的方法、装置和系统 - Google Patents

一种实现远程桌面环境下网页浏览的方法、装置和系统 Download PDF

Info

Publication number
CN102577327B
CN102577327B CN201180003161.0A CN201180003161A CN102577327B CN 102577327 B CN102577327 B CN 102577327B CN 201180003161 A CN201180003161 A CN 201180003161A CN 102577327 B CN102577327 B CN 102577327B
Authority
CN
China
Prior art keywords
client
browser
server
user
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180003161.0A
Other languages
English (en)
Other versions
CN102577327A (zh
Inventor
陈普
纪灿萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102577327A publication Critical patent/CN102577327A/zh
Application granted granted Critical
Publication of CN102577327B publication Critical patent/CN102577327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种实现远程桌面环境下网页浏览的方法、装置和系统,客户端接收服务器发送的窗口初始化参数,根据窗口初始化参数确定需要在客户端进行渲染的浏览器内容区域,进一步从服务器获取用户访问的URL对应的网页数据进行渲染并显示在浏览器内容区域,从而实现了浏览器内容区域在客户端的渲染,避免了服务器对视频图形的转换及位图数据的压缩,降低了服务器的资源消耗,同时避免了服务器与客户端之间海量数据的传递,降低了数据传输的带宽需求。

Description

一种实现远程桌面环境下网页浏览的方法、装置和系统
技术领域
本发明涉及信息技术领域,特别是一种实现远程桌面环境下网页浏览的方法、装置和系统。 
背景技术
远程桌面是目前企业办公环境的一种流行技术,常用来将远端计算机(也可以称为服务器)显示屏显示的内容传送到本地(也可以称为客户端)显示屏显示,目前大多数的远程桌面系统都是基于IP网络来传送远程桌面的。例如,通常我们使用的windows远程登录程序mstsc.exe是最常见的远程桌面程序,通过它可以方便的登录另外的远程计算机。 
用户登录远程桌面后,浏览网页需要使用到浏览器(例如微软的Internet Explorer、Mozilla的Firefox、Opera和Safari),现有技术中,服务器需要将本端显示的视频图形转换为位图数据或者经过压缩的位图数据发给客户端,当网页中包含Gif、javascript控制的图片、动画甚至flash时,将视频图形转换为位图数据或者对位图数据的压缩会造成远程桌面服务器占用资源过多的问题,另一方面,由于动画图片和flash等频繁刷新显示,将视频图形转换成的位图数据传递给客户端还会产生很大的传输数据量,造成带宽需求过大,客户端画面显示不流畅的问题。 
发明内容
本发明实施例提供了一种实现远程桌面环境下网页浏览的方法、装置和系统,用来解决服务器需要将本端显示的视频图形转换为位图数据并且将转换生成的位图数据发送到客户端所引起的服务器资源需求过大及数 据传输带宽需求过大的问题。 
本发明实施例提供了一种实现远程桌面环境下网页浏览的方法,包括: 
客户端捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器;所述客户端接收所述服务器发送的所述用户的操作指令,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装; 
所述客户端将用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL; 
所述客户端接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在所述客户端进行渲染的区域,所述需要在所述客户端进行渲染的区域为浏览器内容区域; 
所述客户端向所述服务器发送数据获取请求,所述数据获取请求携带用户访问的统一资源定位符URL; 
所述客户端接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
本发明实施例还提供了一种实现远程桌面环境下网页浏览的客户端,包括: 
客户端浏览器控制模块,用于捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器,接收所述服务器发送的所述用户的操作指令,,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装;将所述用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL;接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容 区域; 
浏览器引擎模块,用于向服务器发送数据获取请求,所述数据获取请求携带用户访问的URL,接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
本发明实施例还提供了一种实现远程桌面环境下网页浏览的系统,包括: 
客户端,用于捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器,接收所述服务器发送的所述用户的操作指令,,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装;将所述用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL;接收所述窗口初始化参数,向服务器发送数据获取请求,所述数据获取请求携带用户访问的URL; 
所述服务器,用于向客户端发送窗口初始化参数,所述窗口初始化参数用于标识需要在所述客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容区域;接收所述客户端发送的数据获取请求,向所述客户端返回与所述URL对应的网页数据; 
所述客户端,还用于接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
本发明实施例提供了一种实现远程桌面环境下网页浏览的方法、装置和系统,客户端接收服务器发送的窗口初始化参数,根据窗口初始化参数确定需要在客户端进行渲染的区域为浏览器内容区域,并进一步从服务器获取用户访问的URL对应的网页数据进行渲染并显示在浏览器内容区域,从而实现了浏览器内容区域在客户端的渲染,避免了由服务器进行浏览器 内容区域的渲染,进一步的,避免了服务器对视频图形的转换及位图数据的压缩,降低了服务器的资源消耗,同时避免了服务器与客户端之间海量数据的传递,降低了数据传输的带宽需求。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 
图1是本发明实施例提供的一种实现远程桌面环境下网页浏览的方法流程示意图; 
图2是本发明实施例提供的一种实现远程桌面环境下网页浏览的系统架构示意图; 
图3是本发明实施例提供的一种实现远程桌面环境下浏览器窗口初始化流程示意图; 
图4是本发明实施例提供的浏览器窗口结构示意图; 
图5是本发明实施例提供的当浏览器界面模块位于服务器时,浏览器窗口在服务器的显示图; 
图6是本发明实施例提供的当浏览器界面模块位于客户端时,浏览器窗口在服务器的显示图; 
图7是本发明实施例提供的一种实现远程桌面环境下网页浏览的流程示意图; 
图8是本发明实施例提供的另一种实现远程桌面环境下网页浏览的流程示意图; 
图9是本发明实施例提供的一种实现远程桌面环境下网页浏览的客户 端结构示意图; 
图10是本发明实施例提供的一种实现远程桌面环境下网页浏览的服务器结构示意图; 
图11是本发明实施例提供的一种实现远程桌面环境下网页浏览的系统结构示意图。 
具体实施方式
本发明实施例中,远程桌面又可以称为虚拟桌面,远端计算机也可以称为服务器,本地计算机也可以称为客户端。具体的,当远程桌面技术应用于云计算领域时,远端计算机在数据中心中以虚拟机的形式存在,此时,远端计算机即为服务器,本地的瘦终端即为客户端。需要说明的是,上述仅是举例说明,并非是把本发明限定在云计算领域,对于普通的远程登录场景,本发明实施例同样适用。 
需要说明的是,在本发明实施例中,浏览器的渲染是指获取网页数据(即为web数据,如html、xml、图像、css、javascript等)后,以网页的形式呈现给用户的过程。具体的,在浏览器(web browser)中的渲染为:获得标记内容(如HTML、XML、image files等)和格式信息(如CSS、XSL等),将这些内容经过整理后显示在某个窗口中。渲染是通过浏览器渲染引擎来实现的,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。在本发明实施例中,服务器浏览器是指服务器端运行的浏览器,客户端浏览器的意思与之相似。 
如图1所示,为本发明实施例提供的一种实现远程桌面环境下网页浏览的方法流程示意图,包括: 
步骤101:客户端接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在该客户端进行渲染的区域,所述需要在该客户端进行渲染的区域为浏览器内容区域; 
步骤102:客户端向所述服务器发送数据获取请求,所述数据获取请求携带用户访问的URL(Uniform Resource Locator,统一资源定位符); 
步骤103:客户端接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
本发明实施例提供了一种实现远程桌面环境下网页浏览的方法,客户端接收服务器发送的窗口初始化参数,根据窗口初始化参数确定需要在客户端进行渲染的区域为浏览器内容区域,并进一步从服务器获取用户访问的URL对应的网页数据进行渲染并显示在浏览器内容区域,从而实现了浏览器内容区域在客户端的渲染,避免了由服务器进行浏览器内容区域的渲染,进一步的,避免了服务器对视频图形的转换及位图数据的压缩,降低了服务器的资源消耗,同时避免了服务器与客户端之间海量数据的传递,降低了数据传输的带宽需求。 
进一步的,在客户端显示浏览器菜单区域有两种方式: 
方式一:所述浏览器的窗口包括所述浏览器内容区域和浏览器菜单区域,客户端接收并显示所述服务器发送的所述浏览器菜单区域的位图数据。 
方式二:所述窗口初始化参数包括浏览器窗口坐标数据,所述客户端在所述浏览器窗口坐标数据定义的范围内生成并显示所述浏览器菜单区域。 
所述窗口初始化参数包括浏览器内容区域的坐标信息。 
当所述浏览器内容区域中包括子链接时,客户端从所述服务器获取所述子链接的URL对应的网页数据,渲染所述子链接的URL对应的网页数据,将渲染后得到的图像显示在所述浏览器内容区域中。 
在所述客户端向服务器发送数据获取请求之前,客户端将用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的 URL。 
在客户端将用户的操作指令转换为对浏览器的控制指令之前,客户端接收所述服务器通过所述远程桌面协议发送的所述用户的操作指令。 
如图2所示,为本发明实施例提供的一种实现远程桌面环境下网页浏览的系统架构示意图,该系统包括远程桌面服务器和远程桌面客户端,其中,所述远程桌面服务器包括服务器协议栈单元和服务器浏览器单元;所述远程桌面客户端包括客户端协议栈单元和客户端浏览器单元;进一步的,所述服务器浏览器单元包括浏览器界面模块、服务器浏览器控制模块和数据代理模块;所述客户端浏览器单元包括浏览器界面模块、数据获取模块、浏览器引擎模块和客户端浏览器控制模块。需要说明的是,浏览器界面模块为可选功能模块,在一种场景下,服务器和客户端二者中的一个包括上述浏览器界面模块即可。 
具体的: 
协议栈单元(服务器协议栈单元或客户端协议栈单元):负责与对端进行通信,用于进行远程桌面服务器和远程桌面客户端之间远程桌面协议的定义,如微软的RDP(Remote Desktop Protocol,远程桌面协议)等。远程桌面服务器和远程桌面客户端的交互过程基于上述远程桌面协议。需要说明的是,本发明实施例对具体的远程桌面协议并不进行限定,可以为现有技术中的任意远程桌面协议,包括但不限于:微软的RDP协议、云技术场景下虚拟机与瘦终端之间的协议等。 
浏览器界面模块:为用户提供浏览器的控制操作界面,如我们平常看到的浏览器界面上的前进、后退、地址输入框、收藏夹等都为浏览器控制界面。由于本发明在实现上存在不同的方案,浏览器界面模块可以在服务器浏览器单元上;或,可以在客户端浏览器单元上。 
服务器浏览器控制模块:获取浏览器窗口信息(如窗口大小、在桌面上的位置等)和操作信息(如对浏览器窗口的移动、大小改变、关闭等操 作)。 
数据代理模块:获取网络数据,并将获得的数据返回到远程桌面客户端。该模块为可选模块,在某些场景下,服务器浏览器单元可以不包含该模块。 
客户端浏览器控制模块:与服务器浏览器控制模块进行交互,接收所述服务器浏览器控制模块发送的控制指令(比如用户点击浏览器界面上的前进、后退按钮,在地址输入框输入网址等,服务器浏览器控制模块会将这些操作操作转换为浏览器引擎可以识别的控制指令发送到客户端),从而使客户端可以按照服务器的要求进行浏览器显示。 
浏览器引擎模块:用于确定浏览器显示网页的内容和页面的格式信息的方式,完成网页内容的渲染,并显示网页。例如对网页语法(如HTML、JavaScript)的解释。 
数据获取模块:该模块实现两个功能:1.直接或间接地接收浏览器引擎模块发送的网页数据获取请求,将获取的请求数据(如Web HTTP数据)返回给浏览器引擎模块进行处理;2.与远程桌面服务器的数据代理模块进行交互,获取需要的网页数据。 
当网页中有flash内容需要播放时,由于本发明实施例中在客户端进行渲染,客户端浏览器单元还可以包括flash插件用于支持在浏览器中播放Flash。本发明技术方案还可以支持其他的浏览器插件,本发明实施例对此并不加以限定。 
需要说明的是,上述客户端及服务器的模块划分为本发明实施例提供的优选方式,需要指出的是,上述划分方式并非固定的,模块之间按功能组合在一起也是可行的,此时,后续具体实施例的方法流程需要进行适应性改变,本发明对此并不加以限定。 
如图3所示,为本发明实施例提供的一种实现远程桌面环境下浏览器窗口初始化流程示意图,包括: 
步骤301:在远程桌面中,用户做出打开浏览器窗口的操作,服务器操作系统会接收到上述操作,操作系统根据上述操作启动浏览器程序。具体的,上述操作的具体形式可以为鼠标的点击操作,该点击操作可以包括多个点击事件。需要说明的是,浏览器的打开操作为现有技术中远程桌面的基本流程,本发明对具体的过程并不进行限定。 
需要说明的是,如图4所示,浏览器窗口包括两个部分:浏览器的菜单区域和浏览器的内容区域。 
步骤302:服务器获取窗口初始化参数,并将所述窗口初始化参数发送到服务器协议栈单元。 
所述窗口初始化参数用于标识浏览器内容区域,所述浏览器内容区域为需要在客户端进行渲染的区域。 
其中,所述窗口初始化参数至少包括浏览器内容区域的坐标信息,所述内容区域的坐标信息用于确定所述内容区域的范围。 
内容区域的坐标信息包括以下至少一种:浏览器内容区域对角两点的坐标;或,浏览器内容区域的四角端点中任一个端点的坐标和以该端点为起始点的上下位移量(例如,内容区域的四角端点坐标为(a,b)、(a,c)、(d,b)、(d,c),对角的两个端点即可确定该内容区域,其中一个端点的坐标加上上下偏移量也可以唯一确定该内容区域)。 
具体的,服务器的服务器浏览器控制模块获取所述浏览器内容区域的坐标信息,将所述内容区域的坐标信息作为窗口初始化参数发送到服务器协议栈单元。 
需要说明的是,浏览器界面模块用来提供浏览器的菜单界面,用来接收用户针对浏览器的操作指令(编辑、查看等指令)。浏览器界面模块可以位于服务器或客户端。 
1)一方面,当浏览器界面模块位于服务器(server侧)时,本实施例还包括步骤3021:服务器的显示模块获取浏览器菜单区域的位图数据,将 所述菜单区域的位图数据发送到服务器协议栈单元; 
在具体实现时,服务器浏览器窗口的显示如图5所示:浏览器的菜单区域会在服务器显示,客户端需要渲染的区域为浏览器的内容区域,由于浏览器的内容区域在客户端渲染,因此,服务器此时无需获取渲染该内容区域所需的网页数据。服务器将浏览器菜单区域的位图数据发送给客户端至少可以采用以下两种方式:方式一,服务器识别浏览器菜单区域,并将将所述菜单区域的位图数据发送到服务器协议栈单元,通过服务器协议栈单元将所述菜单区域的位图数据发送到客户端;方式二,服务器将浏览器窗口或整个桌面的位图数据发送到客户端,其中,浏览器内容区域部分可以为空白(服务器没有进行渲染,内容为空,可以采用纯色填充或预设图片填充)。所述浏览器窗口或整个桌面的位图数据中包括所述浏览器菜单区域的位图数据。 
具体的,位图数据可以由服务器的显示模块发送。 
需要说明的是,除了上述将浏览器菜单区域的位图数据直接发送到客户端的方式以外,客户端浏览器菜单区域的显示还可以采用现有技术的其他不用客户端进行浏览器菜单区域渲染的方式,例如,RDP、VNC(Virtual Network Computing,虚拟网络计算)等方式,本发明对此并不进行限定。 
2)另一方面,当浏览器界面模块位于客户端时,服务器浏览器窗口的显示如图6所示,此时浏览器在服务器的显示为空白界面。服务器发送给客户端的所述窗口初始化参数还包括浏览器窗口坐标数据,客户端在所述浏览器窗口坐标数定义的范围内生成浏览器菜单区域。需要说明的是,菜单栏的生成方式可以采用现有技术的方式,与服务器生成菜单栏的方式相同,本发明实施例对此并不进行限定。 
需要说明的是,浏览器界面模块位于服务器与否,对于服务器而言,影响的是:1.服务器浏览器界面的显示(服务器是否显示浏览器菜单栏);2.服务器发送给客户端的窗口初始化参数包含的内容(除客户端需要渲染 的内容区域的坐标外,窗口初始化参数是否还包含浏览器窗口坐标数据);对于客户端而言,影响的是:客户端显示的浏览器的菜单栏是由服务器发送的位图数据构成,还是由客户端自身在浏览器窗口坐标数据规定的范围内生成。不论浏览器界面是否位于服务器,服务器都需要将浏览器的内容区域的坐标(即客户端渲染区域)发送给客户端,服务器均无须对浏览器的内容区域进行渲染,浏览器的内容区域在客户端的显示均为空白(内容区域也可以为用户自定义的图形,例如,纯色、loading……等,本发明实施例对此并不进行限定)。 
步骤303:服务器协议栈单元将接收到的数据按照服务器与客户端之间的远程桌面协议封装,并将封装后的数据发送到客户端协议栈单元; 
需要说明的是,当浏览器界面模块位于服务器时,服务器协议栈单元接收到的数据包括窗口初始化参数和浏览器菜单区域的位图数据;当浏览器界面模块位于客户端时,服务器协议栈单元接收到的数据包括窗口初始化参数,所述窗口初始化参数包括浏览器内容区域的坐标信息和浏览器窗口坐标数据。 
步骤304:客户端协议栈单元将接收到的所述封装后的数据解封装,将解封装后的数据发送给客户端浏览器控制模块; 
步骤305:客户端浏览器控制模块根据所述解封装后的数据在本地进行窗口初始化。 
具体的,当浏览器界面模块位于服务器时,客户端浏览器控制模块根据浏览器菜单栏的位图数据在本地构建浏览器菜单栏,根据窗口初始化参数确定待渲染的区域为浏览器内容区域;当浏览器界面模块位于客户端时,客户端浏览器控制模块在所述浏览器窗口坐标数据定义的范围内生成浏览器菜单栏,根据窗口初始化参数确定待渲染的区域为浏览器内容区域。 
需要说明的是,根据渲染区域的坐标信息确定客户端需要渲染的区 域,从而保证在客户端看到的浏览器渲染界面能够在服务器允许的窗口范围内显示。 
还需要说明的是,客户端确定需要渲染的区域后,在后续的操作中,客户端(具体可以为浏览器引擎模块)会获取渲染需要的网页数据(如HTML、JavaScript、CSS数据等)对待渲染区域进行渲染,完成浏览器的显示。 
网页数据的一个获取场景及客户端的渲染过程如图7对应的实施例所示,具体包括两个过程:接收用户操作流程和网页浏览主流程。如图7所示,为本发明实施例提供的一种网页浏览流程示意图,浏览器界面模块位于客户端,包括以下步骤: 
步骤701:在远程桌面中,当用户点击浏览器的菜单区域进行某些操作时(如前进、后退,打开某网页等),操作系统捕获到用户在客户端点击鼠标的操作,操作系统将用户的操作指令发送到浏览器界面模块。 
步骤702:浏览器界面模块将用户的操作指令转发给客户端浏览器控制模块。 
步骤703:客户端浏览器控制模块将用户的操作指令转换为对浏览器的控制指令(例如,将后退操作转换为上次访问的URL路径),用于传递给客户端的浏览器引擎子模块来执行。 
步骤704:客户端浏览器控制模块向浏览器引擎模块发送控制指令,所述操作指令携带网址的URL,具体的,所述控制指令可以为网址打开请求。 
步骤705:浏览器引擎模块向数据获取模块发送数据获取请求,携带所述网址的URL,用来获取该网址对应的网页数据进行渲染。 
步骤706:数据获取模块将获取数据获取请求转发给客户端协议栈单元,客户端协议栈单元收到所述数据获取请求后按照服务器与客户端之间的远程桌面协议进行封装,将封装后的数据获取请求发送到服务器协议栈 单元。 
步骤707:服务器协议栈单元对接收到的所述封装后的数据,进行解封装,获取所述数据获取请求,将所述数据获取请求发送到数据代理模块,由所述数据代理模块获取所述URL对应的网页数据。 
步骤708:数据代理模块连接互联网从所述URL对应的网页服务器上获取网页数据。需要说明的是,数据代理模块根据URL获取对应的网页数据的获取方式为现有技术,本发明对此并不进行限定,在现有的服务器进行网页数据渲染的场景下,服务器获取待渲染网页数据的方式均可以应用在本步骤中。 
步骤709:数据代理模块获取所述网址的URL对应的网页数据后,将所述网页数据经过服务器协议栈单元、客户端协议栈单元发送到客户端的数据获取模块。 
步骤710:客户端的数据获取模块将接收到的网页数据发送给客户端的浏览器引擎模块进行渲染。 
步骤711:浏览器引擎模块对所述网页数据进行渲染,将渲染取得的内容在浏览器内容区域显示出来,从而完成客户端浏览器内容区域的显示,同时结合步骤305中客户端完成的浏览器菜单区域的显示,继而完成整个浏览器窗口的显示。需要说明的是,网页数据渲染方式为现有技术,本发明对此不作限定。 
步骤712:进一步的,如果浏览器内容区域中还有存在子链接(网页里面包含图片、脚本等数据一般会通过html标签来引用这些数据:例如,<img src="/hotnews/promos/images/promo_keynote.jpg"alt="观看主题演讲,观看OS X Lion、iOS5和iCloud在WWDC的发布实况),浏览器引擎模块还需要继续获取子链接对应的网页数据。子链接对应的网页数据的获取过程类似于步骤705至709的方式,在此不再赘述,子链接对应的网页数据的渲染区域由客户端决定,可以按照客户端浏览器的设置进行 版面排列,同时可以参考服务器最后一次传过来的浏览器窗口的参数信息。 
需要说明的是,步骤701-703为当浏览器界面模块在客户端上时的接收用户操作流程。另一方面,当浏览器界面模块在服务器时,本发明实施例还提供的另一种远程桌面环境下接收用户操作的流程示意图,如图8所示,包括: 
步骤801:在远程桌面中,当用户点击浏览器的菜单区域进行某些操作时(如前进、后退,打开某网页等),客户端点击鼠标的操作会被客户端操作系统捕获到,并发送到服务器浏览器界面模块。 
步骤802:服务器的浏览器界面模块将接收到的用户操作指令经过服务器浏览器控制模块发送给服务器协议栈单元。 
步骤803:服务器协议栈单元将接收到的用户操作指令按照服务器与客户端之间的远程桌面协议进行封装后(如添加一个数据头)发送到客户端协议栈单元。 
步骤804:客户端协议栈单元对接收到的数据进行解封装,获取用户操作指令数据,将用户操作指令数据发送给客户端的浏览器控制模块。 
步骤805:客户端浏览器控制模块将用户的操作指令转换为对浏览器的控制指令(例如,将后退操作转换为上次访问的URL路径),用于传递给客户端的浏览器引擎子模块来执行。 
浏览器界面模块位于服务器或客户端,对于接收用户操作流程而言,仅影响到用户操作如何传递到客户端的浏览器控制模块,对后续的网页浏览主流程无影响,因此,本实施例后续的网页浏览主流程的步骤与步骤704-712相同,本发明不再进行赘述。 
需要说明的是,本发明图3、图7和图8对应的实施例是基于图2的架构给出的,本领域技术人员可以理解的是,图2中的架构划分存在其他的方式,相应的具体实施例中的流程实现需要做适应性修改,例如,如果 浏览器引擎模块和浏览器控制模块合设为一个模块实现,其他方式的架构变形与之类似。因此,在本发明上述实施例中,虽然明确指出具体的步骤的执行主体为服务器或客户端的某些具体模块,但本领域普通技术人员可以理解的是,上述具体的步骤也可以由合设的功能模块执行,或者直接以服务器或客户端为执行主体,本发明对此并不进行限定。 
如图9所示,为本发明实施例提供的一种实现远程桌面环境下网页浏览的客户端结构示意图,包括客户端浏览器控制模块901和浏览器引擎模块902, 
所述客户端浏览器控制模块901,用于接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容区域; 
浏览器引擎模块902,用于向服务器发送数据获取请求,所述数据获取请求携带用户访问的URL,接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
所述客户端浏览器控制模块901,还用于接收并显示所述服务器发送的浏览器菜单区域的位图数据。 
所述客户端浏览器控制模块901,还用于确定携带在所述窗口初始化参数中的浏览器窗口坐标数据定义的范围,在确定的范围内生成并显示所述浏览器菜单区域。 
所述浏览器引擎模块902,还用于当所述浏览器内容区域中包括子链接时,从所述服务器获取所述子链接的URL对应的网页数据,渲染所述子链接的URL对应的网页数据,将渲染后得到的图像显示在所述浏览器内容区域中。 
所述客户端浏览器控制模块901,还用于将用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的URL。 
如图10所示,为本发明实施例提供的一种实现远程桌面环境下网页浏览的服务器结构示意图,包括服务器浏览器控制模块1001和数据代理模块1002, 
服务器浏览器控制模块1001,用于向客户端发送窗口初始化参数,所述窗口初始化参数用于标识需要在客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容区域; 
数据代理模块1002,用于接收所述客户端发送的数据获取请求,所述数据获取请求携带用户访问的URL,向所述客户端返回与所述URL对应的网页数据,以使得所述客户端对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端与所述服务器通过远程桌面协议连接。 
进一步的,所述服务器还包括显示模块1003, 
所述显示模块1003,用于向所述客户端发送浏览器菜单区域的位图数据,以使得所述客户端显示所述浏览器菜单区域的位图数据。 
服务器浏览器控制模块1001,具体用于向所述客户端发送携带有浏览器窗口坐标数据的窗口初始化参数,以使得所述客户端在所述浏览器窗口坐标数据定义的范围内生成并显示所述浏览器菜单区域。 
所述服务器浏览器控制模块1001,还用于通过所述远程桌面协议向所述客户端发送用户的操作指令,以使得所述客户端将用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的URL。 
如图11所示,为本发明实施例提供的一种实现远程桌面环境下网页浏览的系统结构示意图,包括服务器1101和客户端1102, 
服务器1101,用于向客户端1102发送窗口初始化参数,所述窗口初始化参数用于标识需要在客户端1102进行渲染的区域,所述需要在客户端1102进行渲染的区域为浏览器内容区域; 
所述客户端1102,用于接收所述窗口初始化参数,向服务器1101发 送数据获取请求,所述数据获取请求携带用户访问的URL; 
所述服务器1101,还用于接收所述客户端1102发送的数据获取请求,向所述客户端1102返回与所述URL对应的网页数据; 
所述客户端1102,还用于接收所述服务器1101返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域; 
其中,所述客户端1102与所述服务器1101通过远程桌面协议连接。 
进一步的,所述客户端1102,还用于接收并显示所述服务器发送的浏览器菜单区域的位图数据。 
本发明实施例提供了一种实现远程桌面环境下网页浏览的方法、装置和系统,客户端接收服务器发送的窗口初始化参数,确定需要在客户端进行渲染的区域为浏览器内容区域,进一步从服务器获取用户访问的URL对应的网页数据进行渲染并显示在浏览器内容区域,从而实现了浏览器内容区域在客户端的渲染,避免了由服务器进行浏览器内容区域的渲染,进一步的,避免了服务器对视频图形的转换及位图数据的压缩,降低了服务器的资源消耗,同时避免了服务器与客户端之间海量数据的传递,降低了数据传输的带宽需求。 
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。 
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。 

Claims (11)

1.一种实现远程桌面环境下网页浏览的方法,其特征在于,包括:
客户端捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器;
所述客户端接收所述服务器发送的所述用户的操作指令,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装;
所述客户端将用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL;
所述客户端接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在所述客户端进行渲染的区域,所述需要在所述客户端进行渲染的区域为浏览器内容区域;
所述客户端向所述服务器发送数据获取请求,所述数据获取请求携带用户访问的URL;
所述客户端接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域;
其中,所述客户端与所述服务器通过所述远程桌面协议连接。
2.如权利要求1所述的方法,其特征在于,所述浏览器的窗口包括所述浏览器内容区域和浏览器菜单区域,所述方法还包括:
所述客户端接收并显示所述服务器发送的所述浏览器菜单区域的位图数据。
3.如权利要求1所述的方法,其特征在于,所述浏览器的窗口包括所述浏览器内容区域和浏览器菜单区域,所述窗口初始化参数还包括浏览器窗口坐标数据,所述方法还包括:
所述客户端在所述浏览器窗口坐标数据定义的范围内生成并显示所述浏览器菜单区域。
4.如权利要求1-3任一所述的方法,其特征在于,所述窗口初始化参数包括浏览器内容区域的坐标信息。
5.如权利要求1-4任一所述的方法,其特征在于,当所述浏览器内容区域中包括子链接时,所述方法还包括:
所述客户端从所述服务器获取所述子链接的URL对应的网页数据,渲染所述子链接的URL对应的网页数据,将渲染后得到的图像显示在所述浏览器内容区域中。
6.一种实现远程桌面环境下网页浏览的客户端,其特征在于,所述客户端包括:
客户端浏览器控制模块,用于捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器,接收所述服务器发送的所述用户的操作指令,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装;将所述用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL;接收服务器发送的窗口初始化参数,所述窗口初始化参数用于标识需要在客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容区域;
浏览器引擎模块,用于向所述服务器发送数据获取请求,所述数据获取请求携带用户访问的URL,接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域;
其中,所述客户端与所述服务器通过所述远程桌面协议连接。
7.如权利要求6所述的客户端,其特征在于,
所述客户端浏览器控制模块,还用于接收并显示所述服务器发送的浏览器菜单区域的位图数据。
8.如权利要求6所述的客户端,其特征在于,
所述客户端浏览器控制模块,还用于确定携带在所述窗口初始化参数中的浏览器窗口坐标数据定义的范围,在确定的范围内生成并显示所述浏览器菜单区域。
9.如权利要求6-8任一所述的客户端,其特征在于,
所述浏览器引擎模块,还用于当所述浏览器内容区域中包括子链接时,从所述服务器获取所述子链接的URL对应的网页数据,渲染所述子链接的URL对应的网页数据,将渲染后得到的图像显示在所述浏览器内容区域中。
10.一种实现远程桌面环境下网页浏览的系统,其特征在于,包括:
客户端,用于捕捉用户针对网页浏览器的操作指令,并将所述用户的操作指令发送到服务器,接收所述服务器发送的所述用户的操作指令,其中,所述用户的操作指令由所述服务器按照服务器与客户端之间的远程桌面协议进行封装;将所述用户的操作指令转换为对浏览器的控制指令,所述控制指令包括所述用户访问的统一资源定位符URL;接收所述窗口初始化参数,向所述服务器发送数据获取请求,所述数据获取请求携带用户访问的统一资源定位符URL;
所述服务器,用于向客户端发送窗口初始化参数,所述窗口初始化参数用于标识需要在所述客户端进行渲染的区域,所述需要在客户端进行渲染的区域为浏览器内容区域;接收所述客户端发送的数据获取请求,向所述客户端返回与所述URL对应的网页数据;
所述客户端,还用于接收所述服务器返回的与所述URL对应的网页数据,对所述网页数据进行渲染并显示在所述浏览器内容区域;
其中,所述客户端与所述服务器通过所述远程桌面协议连接。
11.如权利要求10所述的系统,其特征在于,所述客户端,还用于接收并显示所述服务器发送的浏览器菜单区域的位图数据。
CN201180003161.0A 2011-12-26 2011-12-26 一种实现远程桌面环境下网页浏览的方法、装置和系统 Active CN102577327B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084610 WO2013097066A1 (zh) 2011-12-26 2011-12-26 一种实现远程桌面环境下网页浏览的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN102577327A CN102577327A (zh) 2012-07-11
CN102577327B true CN102577327B (zh) 2014-05-07

Family

ID=46417506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003161.0A Active CN102577327B (zh) 2011-12-26 2011-12-26 一种实现远程桌面环境下网页浏览的方法、装置和系统

Country Status (2)

Country Link
CN (1) CN102577327B (zh)
WO (1) WO2013097066A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929489B (zh) * 2012-11-09 2016-08-03 北京奇虎科技有限公司 客户端浏览器实现方法及客户端浏览器
CN102932469B (zh) * 2012-11-09 2017-04-12 北京奇虎科技有限公司 一种实现客户端浏览器的方法和客户端浏览器
CN102981705B (zh) * 2012-11-09 2018-04-27 北京奇虎科技有限公司 服务器端浏览器实现方法及服务器
CN103873450B (zh) * 2012-12-18 2017-11-24 中国电信股份有限公司 网络接入方法与系统
CN106231369A (zh) * 2012-12-26 2016-12-14 华为技术有限公司 虚拟桌面场景下视频重定向的方法、桌面服务器和系统
CN103139609B (zh) * 2013-02-01 2016-07-06 深圳市深信服电子科技有限公司 对远程应用视频播放进行优化的方法和装置
WO2014146248A1 (zh) * 2013-03-19 2014-09-25 华为技术有限公司 一种应用于远程桌面的视频传输方法及设备、系统
CN103246699B (zh) * 2013-04-01 2017-06-27 钱咸升(北京)网络科技有限公司 一种基于浏览器的数据访问控制方法和装置
CN103295255B (zh) * 2013-04-02 2016-05-18 深圳市瑞云科技有限公司 一种提供用户进行远程渲染的装置
CN104731787A (zh) * 2013-12-18 2015-06-24 中兴通讯股份有限公司 实现网页布局的方法、装置及终端
CN105323174A (zh) * 2014-07-31 2016-02-10 中兴通讯股份有限公司 一种远程桌面协议网关进行路由交换的方法、设备及系统
CN105808221A (zh) * 2014-12-31 2016-07-27 阿里巴巴集团控股有限公司 一种卡片式桌面的实现方法和装置
CN104820544A (zh) * 2015-04-15 2015-08-05 深信服网络科技(深圳)有限公司 菜单显示放大方法及装置
CN105096373B (zh) 2015-06-30 2020-04-28 华为技术有限公司 一种媒体内容渲染的方法、用户设备及系统
CN105511722A (zh) * 2015-12-04 2016-04-20 广东威创视讯科技股份有限公司 显示屏控制方法和系统
CN108462825A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 视频处理方法及装置
CN108363598A (zh) * 2018-01-04 2018-08-03 上海奕瑞光电子科技股份有限公司 虚拟远程桌面访问的管理方法/系统、介质及电子设备
CN110138817A (zh) * 2018-02-08 2019-08-16 中兴通讯股份有限公司 流媒体播放方法、装置、设备及计算机可读存储介质
CN111083527A (zh) * 2019-12-31 2020-04-28 北京视博云科技有限公司 应用的视频播放方法、装置、存储介质及电子设备
CN111314452B (zh) * 2020-02-11 2022-08-26 安超云软件有限公司 云手机的Shell访问方法、装置、设备及存储介质
CN111641701B (zh) * 2020-05-25 2023-07-14 深信服科技股份有限公司 一种数据保护的方法及装置、设备、存储介质
CN111897502A (zh) * 2020-06-10 2020-11-06 中国气象局气象探测中心 一种分屏控制系统和方法
CN111431948B (zh) * 2020-06-15 2020-10-16 广东睿江云计算股份有限公司 一种框架与内容分离的云桌面优化显示方法及系统
CN111754600A (zh) * 2020-07-03 2020-10-09 北京字节跳动网络技术有限公司 海报图像生成方法、装置和电子设备
CN112099884A (zh) * 2020-08-11 2020-12-18 西安万像电子科技有限公司 一种图像渲染方法及装置
CN112383539A (zh) * 2020-11-11 2021-02-19 视若飞信息科技(上海)有限公司 一种基于远程过程调用云浏览器的方法、装置和电子设备
CN115794292A (zh) * 2022-12-22 2023-03-14 北京深盾科技股份有限公司 一种界面调整方法、装置、电子设备及介质
CN116226566B (zh) * 2023-03-07 2024-01-23 杭州星锐网讯科技有限公司 一种渲染内嵌客户端界面至网页的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及系统
CN101681343A (zh) * 2007-06-13 2010-03-24 微软公司 用于向Web浏览器提供桌面或应用遥控的系统和方法
CN102272747A (zh) * 2008-11-03 2011-12-07 三星电子株式会社 用于管理远程用户界面的状态信息的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
CN101064713B (zh) * 2006-04-26 2011-11-23 深圳Tcl新技术有限公司 通过电视机平台实现远程桌面的控制方法
CN101308449A (zh) * 2008-07-08 2008-11-19 中国科学院计算技术研究所 一种远程桌面系统中的窗口缓存方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681343A (zh) * 2007-06-13 2010-03-24 微软公司 用于向Web浏览器提供桌面或应用遥控的系统和方法
CN102272747A (zh) * 2008-11-03 2011-12-07 三星电子株式会社 用于管理远程用户界面的状态信息的方法和装置
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及系统

Also Published As

Publication number Publication date
CN102577327A (zh) 2012-07-11
WO2013097066A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
CN102577327B (zh) 一种实现远程桌面环境下网页浏览的方法、装置和系统
CN110781423B (zh) 网页生成方法、装置及电子设备
US11144711B2 (en) Webpage rendering method, device, electronic apparatus and storage medium
US20210089256A1 (en) Method and system for browser-based screen sharing
KR101507629B1 (ko) 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버
JP5575511B2 (ja) ウェブサイト閲覧システム、サーバ及びクライアント端末
CN102833338B (zh) 基于Web的远程桌面展示方法
JP6255495B2 (ja) ブラウザリソースの表示方法及び装置、並びにコンピュータ可読記憶媒体
CN105120006A (zh) 电子读物的弹幕控制方法、弹幕服务器及弹幕控制装置
WO2019024658A1 (zh) 界面呈现方法和装置
CN104657211A (zh) 一种用于操作对应设备上目标应用的方法与设备
CN106033361A (zh) 一种应用页面呈现、应用页面数据更新方法及装置
CN104572084A (zh) 卡片业务中用户界面生成及数据下发方法、装置
CN111669447A (zh) 一种页面显示方法、装置、设备和介质
JP7100940B2 (ja) 遠隔で視聴されるプレゼンテーションにおけるハイパーリンクの提供
JP5303534B2 (ja) 体裁情報処理装置及び方法
CN104572816A (zh) 信息处理方法及电子设备
CN109558186A (zh) 一种页面显示方法和装置
US20130036374A1 (en) Method and apparatus for providing a banner on a website
US20150269131A1 (en) Content conversion apparatus and method, and communication system
CN105224197A (zh) 一种图片评论方法及系统
JP5147742B2 (ja) 画面伝送システム及び画面伝送方法
US8793342B2 (en) Interpreting web application content
KR101743765B1 (ko) 3d 컨텐트 제공장치, 3d 컨텐트 제공방법 및 기록매체
CN114820883A (zh) 海报的生成方法、系统、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220221

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.