CN103049262A - 基于远程帧缓存的窗口还原方法 - Google Patents

基于远程帧缓存的窗口还原方法 Download PDF

Info

Publication number
CN103049262A
CN103049262A CN2012105368167A CN201210536816A CN103049262A CN 103049262 A CN103049262 A CN 103049262A CN 2012105368167 A CN2012105368167 A CN 2012105368167A CN 201210536816 A CN201210536816 A CN 201210536816A CN 103049262 A CN103049262 A CN 103049262A
Authority
CN
China
Prior art keywords
window
event
application
server end
information data
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.)
Granted
Application number
CN2012105368167A
Other languages
English (en)
Other versions
CN103049262B (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.)
Guangzhou Shang Yun Technology Co., Ltd.
Original Assignee
GUANGZHOU SUNRUN NETWORKS TECHNOLOGY 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 GUANGZHOU SUNRUN NETWORKS TECHNOLOGY Co Ltd filed Critical GUANGZHOU SUNRUN NETWORKS TECHNOLOGY Co Ltd
Priority to CN201210536816.7A priority Critical patent/CN103049262B/zh
Publication of CN103049262A publication Critical patent/CN103049262A/zh
Application granted granted Critical
Publication of CN103049262B publication Critical patent/CN103049262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于远程帧缓存的窗口还原方法,包括步骤A:从服务器端的X11数据生成层提取图像帧缓存数据;步骤B:从服务器端的X11层窗口管理器捕获应用窗口信息数据,所述应用窗口信息数据包括服务器端正在运行的所有应用程序窗口的ID、坐标、状态及类型;步骤C:将图像帧缓存数据和应用窗口信息数据从服务器端传输至本地客户端;步骤D:在本地客户端中根据所述图像帧缓存数据和应用窗口信息数据还原出远程正在运行的应用程序窗口图像。通过本发明的基于远程帧缓存的窗口还原方法,使得在本地客户端上能够查看并控制远程应用窗口,从而实现应用程序的虚拟化。

Description

基于远程帧缓存的窗口还原方法
 
技术领域
本发明涉及通信领域,具体涉及一种基于远程帧缓存的窗口还原方法。
 
背景技术
如图1所述,为传统的远程帧缓存技术总体框架的示意图。远程帧缓存技术,国际上通常称之为RFB技术,它是一种可以访问远程计算机桌面环境的成熟技术,RFB技术在unix/linux等操作系统上的应用主要是基于x11标准的可视化环境。RFB技术包括了桌面图像的采集、编码、传输、解码及还原等相关环节。
针对远程服务器端的桌面图像信息:将远程服务器端的图像帧缓存数据从X11数据生成层(最底层)中提取出来,经过编码层的编码后经过服务器端的网络通讯层传输到本地客户端的客户端网络层,经过本地客户端的解码层的解码后,在本地进行显示,从而将远程服务器端的桌面图像信息虚拟到本地客户端上进行显示。
针对本地客户端的控制信息:采集本地客户端通过输入装置(如键盘、鼠标)输入的控制信息,经过编码层编码后通过客户端网络层传输到远程服务器端的网络通讯层,在服务器端经过解码后通过X11层窗口管理器对控制信息进行解析,并对桌面图像进行操作。当然,服务器端的本地输入装置(如本地键盘、鼠标等)也可以对服务器端的桌面图像进行控制,本地输出装置(如显示器)也可以对服务器端的桌面图像进行显示输出。
然而,远程帧缓存技术只能提供远程桌面图像信息,而不能从桌面图像信息中提取窗口信息,即,不能在本地客户端上还原应用程序的窗口,使得在客户端对服务器端应用程序的操控感受不能像在服务器端一样真实。
 
发明内容
针对上述问题,本发明的目的在于提供一种基于远程帧缓存的窗口还原方法,使得在本地客户端虚拟化远程服务器端的应用程序变得切实可行。
为实现上述目的,本发明采用如下技术方案:
基于远程帧缓存的窗口还原方法,包括步骤:
步骤A:从服务器端的X11数据生成层提取图像帧缓存数据;
步骤B:从服务器端的X11层窗口管理器捕获应用窗口信息数据,所述应用窗口信息数据包括服务器端正在运行的所有应用程序窗口的ID、坐标、状态及类型;
步骤C:将所述图像帧缓存数据和应用窗口信息数据从服务器端传输至本地客户端;
步骤D:在本地客户端中根据所述图像帧缓存数据和应用窗口信息数据还原出远程正在运行的应用程序窗口图像。
本发明的有益效果在于:
基于现有的远程帧缓存技术,在图像帧缓存数据中利用窗口信息,使得在本地客户端上能够虚拟化远程应用程序,从而能够控制应用程序本身,而不是桌面本身,从而实现应用程序的虚拟化。
 
附图说明
图1为传统的远程帧缓存技术总体框架的示意图;
图2为实现本发明的基于远程帧缓存的窗口还原方法的总体框架示意图;
图3为本发明的基于远程帧缓存的窗口还原方法的流程图;
图4为本发明的基于远程帧缓存的窗口还原方法中对服务器端的窗口程序进行控制的流程图。
 
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图2所示,为实现本发明的基于远程帧缓存的窗口还原方法的总体框架示意图。
相对于现有技术的远程帧缓存技术总体框架,本发明的基于远程帧缓存的窗口还原方法包括步骤(结合图2的步骤1-5和图3):
步骤301:从服务器端的X11数据生成层提取图像帧缓存数据;
步骤302:从服务器端的X11层窗口管理器捕获应用窗口信息数据,所述应用窗口信息数据包括窗口的ID、坐标、状态及类型等;其中,窗口的ID为窗口的唯一标识,窗口的坐标为窗口在桌面上的坐标位置,窗口的状态主要涉及窗口是否可显,是否激活,窗口的父子关系等,窗口的类型包括对话框窗口、弹出式菜单窗口、下拉式菜单窗口、工具栏窗口、组合框窗口等共15种窗口类型。通过以上几种信息,我们就可以将一窗口从x11层窗口管理器中提取出来,然后,把这些信息附加到只有桌面图像信息的RFB实现中,就可以在RFB图像数据中还原出窗口,而且,窗口信息的提取工作与窗口在远程服务器端的运行过程同步进行,保证了信息的高度实时性。在其他实施方式中,为了使窗口在本地客户端与在远程服务器端有完全一致的虚拟,所述的应用窗口信息数据还可以进一步包括窗口的图标和窗口的标题,窗口的图标即应用程序中设定的窗口图标,一般在窗口的左上方或右上方显示,窗口的标题为应用程序中设定的窗口标题,一般在窗口的上方显示,从而根据所有应用窗口信息数据即可将远程服务器端正在运行的应用程序完整虚拟到本地客户端上。
步骤303:将所述图像帧缓存数据和应用窗口信息数据从服务器端传输至本地客户端;
步骤304:在本地客户端中根据所述图像帧缓存数据和应用窗口信息数据还原出远程正在运行的应用程序窗口图像。
在步骤302中,针对处于不同生命周期的窗口,从服务器端的X11层窗口管理器捕获所述窗口的应用窗口信息数据,其中,窗口的生命周期包括窗口的创建、窗口的设置、窗口的显示、窗口的隐藏、窗口的关闭及窗口的销毁。
进一步地,在本实施方式中,针对步骤303,服务器端先将所述图像帧缓存数据和应用窗口信息数据进行编码后再进行传输,本地客户端在接收到编码的图像帧缓存数据和应用窗口信息数据后进行解码,步骤304中根据解码后的图像帧缓存数据和应用窗口信息数据还原出远程正在运行的应用程序窗口图像。
在步骤304中,将所述图像帧缓存数据根据应用窗口信息数据中的窗口坐标进行切割,取出特定位置上的图像数据,并放至本地客户端的相应窗口中,还原出对应的远程应用程序窗口图像。由于窗口信息数据和图像帧缓存数据都具有高度的实时性,所以,本地客户端上的远程窗口“看上去”就像一个真正的本地应用窗口。
上述描述只是涉及到如何将服务器端的窗口在本地客户端上进行虚拟还原,下面的描述将针对在本地客户端上根据本地的输入装置(如鼠标、键盘等)对远端的窗口进行控制操作的原理(结合图2中的步骤6-10和图4)。在本地客户端上显示远程服务器端的窗口后,所述基于远程帧缓存的窗口还原方法还进一步地包括:
步骤401:在本地客户端捕获本地输入装置对窗口的输入事件或请求事件;其中,所述请求事件包括窗口关闭请求、窗口最小化请求及窗口还原请求。需要明确的是,图2中的控制信息为所有与控制操作相关的信息,包括描述的窗口输入事件和请求事件。
步骤402:将所述输入事件或请求事件从本地客户端传输至服务器端;
步骤403:在服务器端通过X11层窗口管理器对所述输入事件或请求事件进行窗口事件解析,并对相应窗口进行操作。
同样地,针对上述控制过程中的传输步骤402,在本实施方式中,本地客户端将所述输入事件或请求事件进行编码后再进行传输,服务器端在接收到编码的输入事件或请求事件后进行解码,步骤403中服务器端的X11层窗口管理器根据解码后的输入事件或请求事件对窗口进行操作。
在本实施方式中,还原应用程序窗口图像和控制远程应用程序所采用的窗口信息协议中,采用的通知事件包括窗口的创建事件(事件号为64)、窗口的删除事件(事件号为63)、窗口的显示事件(事件号为60)、窗口的隐藏事件(事件号为61)、窗口的大小更改事件(事件号为62)、窗口状态的更改事件(事件号为67)、窗口属性的更改事件(事件号为68)及窗口激活事件(事件号为71)。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

Claims (8)

1.基于远程帧缓存的窗口还原方法,其特征在于,包括步骤:
步骤A:从服务器端的X11数据生成层提取图像帧缓存数据;
步骤B:从服务器端的X11层窗口管理器捕获应用窗口信息数据,所述应用窗口信息数据包括服务器端正在运行的所有应用程序窗口的ID、坐标、状态及类型;
步骤C:将所述图像帧缓存数据和应用窗口信息数据从服务器端传输至本地客户端;
步骤D:在本地客户端中根据所述图像帧缓存数据和应用窗口信息数据还原出远程正在运行的应用程序窗口图像。
2. 如权利要求1所述的基于远程帧缓存的窗口还原方法,其特征在于,步骤C中,服务器端先将所述图像帧缓存数据和应用窗口信息数据进行编码后再进行传输,本地客户端在接收到编码的图像帧缓存数据和应用窗口信息数据后进行解码,步骤D中根据解码后的图像帧缓存数据和应用窗口信息数据还原远程正在运行的应用程序窗口图像。
3. 如权利要求1或2所述的基于远程帧缓存的窗口还原方法,其特征在于,在步骤B中,针对处于不同生命周期的窗口,从服务器端的X11层窗口管理器捕获所述窗口的应用窗口信息数据,其中,窗口的生命周期包括窗口的创建、窗口的设置、窗口的显示、窗口的隐藏、窗口的关闭及窗口的销毁。
4. 如权利要求3所述的基于远程帧缓存的窗口还原方法,其特征在于,在步骤D中,将所述图像帧缓存数据根据应用窗口信息数据中的坐标进行切割,取出特定位置上的图像数据,并放至本地客户端的相应窗口中,还原出对应的远程应用程序窗口图像。
5. 如权利要求4所述的基于远程帧缓存的窗口还原方法,其特征在于,所述基于远程帧缓存的窗口还原方法还包括:
步骤E:在本地客户端捕获本地输入装置对窗口的输入事件或请求事件;
步骤F:将所述输入事件或请求事件从本地客户端传输至服务器端;
步骤G:在服务器端通过X11层窗口管理器对所述输入事件或请求事件进行窗口事件解析,并对相应窗口进行操作。
6. 如权利要求5所述的基于远程帧缓存的窗口还原方法,其特征在于,所述请求事件包括窗口关闭请求、窗口最小化请求、及窗口还原请求。
7. 如权利要求6所述的基于远程帧缓存的窗口还原方法,其特征在于,步骤F中,本地客户端将所述输入事件或请求事件进行编码后再进行传输,服务器端在接收到编码的输入事件或请求事件后进行解码,步骤G中服务器端的X11层窗口管理器根据解码后的输入事件或请求事件对窗口进行操作。
8. 如权利要求7所述的基于远程帧缓存的窗口还原方法,其特征在于,还原应用程序窗口图像和控制远程应用程序所采用的窗口信息协议中,采用的通知事件包括窗口的创建事件、窗口的删除事件、窗口的显示事件、窗口的隐藏事件、窗口的大小更改事件、窗口状态的更改事件、窗口属性的更改事件及窗口激活事件。
CN201210536816.7A 2012-12-12 2012-12-12 基于远程帧缓存的窗口还原方法 Active CN103049262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210536816.7A CN103049262B (zh) 2012-12-12 2012-12-12 基于远程帧缓存的窗口还原方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210536816.7A CN103049262B (zh) 2012-12-12 2012-12-12 基于远程帧缓存的窗口还原方法

Publications (2)

Publication Number Publication Date
CN103049262A true CN103049262A (zh) 2013-04-17
CN103049262B CN103049262B (zh) 2016-02-03

Family

ID=48061914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210536816.7A Active CN103049262B (zh) 2012-12-12 2012-12-12 基于远程帧缓存的窗口还原方法

Country Status (1)

Country Link
CN (1) CN103049262B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072189A (zh) * 2015-08-18 2015-11-18 广东威创视讯科技股份有限公司 一种桌面区域共享方法及系统
CN106797398A (zh) * 2014-10-16 2017-05-31 华为技术有限公司 用于向客户端提供虚拟桌面服务的方法和系统
CN108989380A (zh) * 2018-05-23 2018-12-11 西安万像电子科技有限公司 图像数据传输方法、装置及系统
CN114661193A (zh) * 2022-03-02 2022-06-24 阿里巴巴(中国)有限公司 基于云端应用的窗口调整方法、装置、系统和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209115A (zh) * 2011-05-26 2011-10-05 华中科技大学 一种虚拟桌面系统中不同用户之间的协同方法
CN102436350A (zh) * 2011-12-06 2012-05-02 北京航空航天大学 远程应用窗口显示方法、服务器及用户终端
CN102521027A (zh) * 2011-12-02 2012-06-27 华中科技大学 虚拟桌面系统中的窗口界面传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209115A (zh) * 2011-05-26 2011-10-05 华中科技大学 一种虚拟桌面系统中不同用户之间的协同方法
CN102521027A (zh) * 2011-12-02 2012-06-27 华中科技大学 虚拟桌面系统中的窗口界面传输方法
CN102436350A (zh) * 2011-12-06 2012-05-02 北京航空航天大学 远程应用窗口显示方法、服务器及用户终端

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
冯延伟: "《嵌入式桌面环境的研究与实现》", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *
卢小林: "《2003年中国智能自动化会议论文集(下册)》", 31 December 2003 *
熊贤杰: "《虚拟工作平台中的图形传输机制研究》", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *
陈勇: "《异构系统远程控制的研究》", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797398A (zh) * 2014-10-16 2017-05-31 华为技术有限公司 用于向客户端提供虚拟桌面服务的方法和系统
CN106797398B (zh) * 2014-10-16 2019-11-01 华为技术有限公司 用于向客户端提供虚拟桌面服务的方法和系统
CN105072189A (zh) * 2015-08-18 2015-11-18 广东威创视讯科技股份有限公司 一种桌面区域共享方法及系统
CN105072189B (zh) * 2015-08-18 2018-08-28 广东威创视讯科技股份有限公司 一种桌面区域共享方法及系统
CN108989380A (zh) * 2018-05-23 2018-12-11 西安万像电子科技有限公司 图像数据传输方法、装置及系统
CN108989380B (zh) * 2018-05-23 2021-06-04 西安万像电子科技有限公司 图像数据传输方法、装置及系统
CN114661193A (zh) * 2022-03-02 2022-06-24 阿里巴巴(中国)有限公司 基于云端应用的窗口调整方法、装置、系统和电子设备

Also Published As

Publication number Publication date
CN103049262B (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
CN103294438B (zh) 虚拟桌面图像的控制传输方法及系统
CN111614780B (zh) 一种云渲染的系统与方法
CN109951538B (zh) 数据处理方法、装置、系统、电子设备及存储介质
JP5011290B2 (ja) 低速通信網と低速仕様の個人用通信端末機に最適化されたコンピュータの遠隔制御方法及びそのシステム
CN103312814B (zh) 云管理平台和虚拟机终端用户间vnc隐通道的建立方法
WO2016004733A1 (zh) 基于远程调阅和信息交互的主配网图/模/数集成系统及方法
CN106843537B (zh) 鼠标同步的方法、装置和系统
CN102637127B (zh) 一种控制鼠标模块的方法及电子设备
CN102750067A (zh) 一种基于手持设备的大屏幕交互方法
WO2016202102A1 (zh) 消息传输方法及装置
CN103049262B (zh) 基于远程帧缓存的窗口还原方法
CN108897596A (zh) 一种图形界面传输方法及装置
CN111078104B (zh) 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN103399977A (zh) 互动式三维房屋结构和装修效果虚拟展示系统
CN110493269A (zh) 一种Web远程Docker容器桌面的方法
JP2018537777A (ja) モノのインターネット情報システム
CN102915251B (zh) 一种多页面浏览器处理消息的方法和装置
CN113076009A (zh) 一种基于网络分布式kvm坐席管理控制系统
CN105511722A (zh) 显示屏控制方法和系统
CN112860364A (zh) 一种基于Linux内核的Android图形显示方法
CN104135479A (zh) 云端实时防御方法及系统
US9760706B2 (en) Method for dynamically adjusting program login interface, and internet terminal
CN104516839A (zh) 一种嵌入式应用系统
CN110109623A (zh) 一种kvm系统的u盘远程操作的实现方法
CN110519330A (zh) 基于arinc661的多显控数据同步方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 510623, Guangdong Guangzhou hi tech Industrial Development Zone, Science Town, science Avenue 182, innovation building, C3 District, seventh layers, 701 units, Guangzhou

Applicant after: Guangzhou Sunrun Networks Technology Co., Ltd.

Address before: 510630, room 2308, building A, hi tech building, five mountain road, Tianhe District, Guangdong, Guangzhou

Applicant before: Guangzhou Sunrun Networks Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180726

Address after: 510700 Guangdong science and Technology Development Zone, Guangzhou, Guangzhou, new science and Technology Development Zone, 182, No. seventh, 701, unit C3,

Patentee after: Guangzhou Shang Yun Technology Co., Ltd.

Address before: 510623 Guangdong science and Technology Development Zone, Guangzhou, Guangzhou, new science and Technology Development Zone, 182, No. seventh, 701, unit C3,

Patentee before: Guangzhou Sunrun Networks Technology Co., Ltd.

TR01 Transfer of patent right