[go: up one dir, main page]

CN104065679B - The method and client of a kind of remote desktop operation - Google Patents

The method and client of a kind of remote desktop operation Download PDF

Info

Publication number
CN104065679B
CN104065679B CN201310091463.9A CN201310091463A CN104065679B CN 104065679 B CN104065679 B CN 104065679B CN 201310091463 A CN201310091463 A CN 201310091463A CN 104065679 B CN104065679 B CN 104065679B
Authority
CN
China
Prior art keywords
client
rdp
operation command
interface
module
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
CN201310091463.9A
Other languages
Chinese (zh)
Other versions
CN104065679A (en
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
Priority to CN201310091463.9A priority Critical patent/CN104065679B/en
Publication of CN104065679A publication Critical patent/CN104065679A/en
Application granted granted Critical
Publication of CN104065679B publication Critical patent/CN104065679B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种远程桌面操作的方法及客户端,使得基于浏览器的远程桌面能够支持对基本输入输出之外的扩展数据进行操作。该方法包括:接收服务器发送的远程桌面协议RDP操作命令;确定所述RDP操作命令是否需要对客户端的本地接口进行调用;若所述RDP操作命令需要对客户端的本地接口进行调用,根据所述RDP操作命令调用对应的客户端的应用程序接口API,以使得所述客户端执行所述RDP操作命令请求的操作。本发明实施例适用网络技术领域。

The embodiment of the present invention provides a remote desktop operation method and a client, so that the browser-based remote desktop can support operations on extended data other than basic input and output. The method includes: receiving a remote desktop protocol RDP operation command sent by a server; determining whether the RDP operation command needs to call the local interface of the client; if the RDP operation command needs to call the local interface of the client, according to the RDP The operation command invokes the application programming interface API of the corresponding client, so that the client performs the operation requested by the RDP operation command. The embodiments of the present invention are applicable to the field of network technologies.

Description

一种远程桌面操作的方法及客户端Method and client for remote desktop operation

技术领域technical field

本发明涉及网络技术领域,尤其涉及一种实现远程桌面的方法及客户端。The invention relates to the field of network technology, in particular to a method and a client for realizing a remote desktop.

背景技术Background technique

远程桌面主要是向用户提供了另外一台机器的图形界面,让用户能在本地对另外一台机器进行控制。通常远程桌面分为两部分:服务器和客户端。服务器和客户端通过基于远程桌面协议(Remote Desktop Protocol,简称RDP)互相通信。The remote desktop mainly provides the user with a graphical interface of another machine, allowing the user to control another machine locally. Usually remote desktop is divided into two parts: server and client. The server and the client communicate with each other based on the Remote Desktop Protocol (RDP).

超文本标记语言第五版本(Hypertext Markup Language.5,简称HTML5)是超文本标记语言(Hypertext Markup Language,简称HTML)的下一个主要的修订版本,其中HTML5提出了一种浏览器与服务器间进行全双工通讯的网络技术。The fifth version of Hypertext Markup Language (Hypertext Markup Language.5, referred to as HTML5) is the next major revision of Hypertext Markup Language (Hypertext Markup Language, referred to as HTML). Network technology for full-duplex communication.

而现有技术中,基于HTML5的浏览器的远程桌面,在所述服务器和客户端之间通常设置有网关,网关作为RDP协议和HTML5协议的中转,具体的该网关用于将所述服务器端的远程桌面协议图像数据进行解析后,然后打包封装为HTML5的数据发送给所述客户端的浏览器;相应的,还用于在浏览器捕捉到用户在所述客户端的人机交互接口输入操作命令时,如鼠标键盘输入的操作命令,将该操作命令发送给网关,网关将该操作命令解析后,打包封装为RDP数据发送给所述远程桌面RDP服务器端。And in the prior art, based on the remote desktop of HTML5 browser, gateway is generally arranged between described server and client, and gateway is as the transit of RDP agreement and HTML5 agreement, and specifically this gateway is used for described server-side After the remote desktop protocol image data is analyzed, it is packaged and encapsulated as HTML5 data and sent to the browser of the client; correspondingly, it is also used when the browser captures that the user inputs an operation command on the human-computer interaction interface of the client , such as the operation command input by the mouse and keyboard, the operation command is sent to the gateway, and the gateway parses the operation command, packages and encapsulates it as RDP data and sends it to the remote desktop RDP server.

但是由于基于HTML5的浏览器仅支持计算机的基本输入输出数据,例如图像数据和鼠标键盘数据,因此目前的远程桌面系统不支持一些扩展数据相关的操作,例如,不支持文件系统的转向,使得客户端无法使用本地的文件系统;不支持打印机的转向,客户端无法使用本地的打印机;不支持客户端音视频数据的输入输出,服务器上的应用程序无法使用客户端的音视频的输入设备。However, since HTML5-based browsers only support basic computer input and output data, such as image data and mouse and keyboard data, the current remote desktop system does not support some operations related to extended data, for example, it does not support file system steering, making customers The client cannot use the local file system; the client cannot use the local printer because it does not support the redirection of the printer; it does not support the input and output of audio and video data on the client, and the application on the server cannot use the audio and video input device of the client.

发明内容Contents of the invention

本发明的实施例提供一种远程桌面操作的方法及客户端,使得基于浏览器的远程桌面能够支持对基本输入输出之外的扩展数据进行操作。Embodiments of the present invention provide a remote desktop operation method and client, so that the browser-based remote desktop can support operations on extended data other than basic input and output.

为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:

第一方面,本发明实施例提供了一种远程桌面操作的方法,所述方法基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作,该方法包括:In the first aspect, the embodiment of the present invention provides a method for remote desktop operation, the method is based on the HTML5 browser of the fifth version of hypertext markup language for remote desktop operation, the method includes:

接收服务器发送的远程桌面协议RDP操作命令;Receive the remote desktop protocol RDP operation command sent by the server;

确定所述RDP操作命令是否需要对客户端的本地接口进行调用;Determine whether the RDP operation command needs to call the local interface of the client;

若所述RDP操作命令需要对客户端的本地接口进行调用,根据所述RDP操作命令调用对应的客户端的应用程序接口API,以使得所述客户端执行所述RDP操作命令请求的操作。If the RDP operation command needs to call the local interface of the client, call the corresponding application program interface API of the client according to the RDP operation command, so that the client performs the operation requested by the RDP operation command.

第一种可能的实现方式中,根据第一方面,所述确定所述RDP操作命令是否请求对客户端的本地接口进行调用包括:In a first possible implementation, according to the first aspect, the determining whether the RDP operation command requests to call the local interface of the client includes:

确定所述RDP操作命令是否需要所述HTML5浏览器对图形界面数据进行处理,如果否,确定所述RDP操作命令需要对客户端的本地接口进行调用。It is determined whether the RDP operation command requires the HTML5 browser to process the graphical interface data, and if not, it is determined that the RDP operation command needs to call the local interface of the client.

第二种可能的实现方式中,根据第一种可能的实现方式,还包括:In the second possible implementation, according to the first possible implementation, it also includes:

若所述RDP操作命令需要所述HTML5浏览器对图形界面数据进行处理,则调用所述HTML5浏览器,以使得所述HTML5浏览器对所述RDP操作命令进行解析生成图像信息。If the RDP operation command requires the HTML5 browser to process the graphical interface data, the HTML5 browser is invoked, so that the HTML5 browser parses the RDP operation command to generate image information.

第三种可能的实现方式中,根据第二种可能的实现方式,所述调用所述HTML5浏览器之前,还包括:将所述RDP操作命令转换成HTML5协议支持的格式。In the third possible implementation manner, according to the second possible implementation manner, before invoking the HTML5 browser, the method further includes: converting the RDP operation command into a format supported by the HTML5 protocol.

第四种可能的实现方式中,结合第一方面或根据第一至三种可能的实现方式,接收所述HTML5浏览器根据用户操作发送的第二操作请求,所述第二操作请求需要对客户端当前的图形界面进行操作;In the fourth possible implementation manner, in combination with the first aspect or according to the first to third possible implementation manners, the second operation request sent by the HTML5 browser according to the user operation is received, and the second operation request requires the client to Operate on the current graphical interface of the terminal;

根据所述第二操作请求,对所述客户端的本地接口进行,以使得所述客户端执行所述第二操作命令请求的操作。According to the second operation request, perform operations on the local interface of the client, so that the client performs the operation requested by the second operation command.

第五种可能的实现方式中,根据第四种可能的实现方式,所述第二操作请求为放大或缩小所述图形界面的操作请求。In the fifth possible implementation manner, according to the fourth possible implementation manner, the second operation request is an operation request for enlarging or reducing the graphical interface.

第二方面,本发明实施例提供了一种远程桌面操作的客户端,该客户端包括:HTML5浏览器模块、通信模块、本地应用程序接口API模块和调用模块;In a second aspect, the embodiment of the present invention provides a client for remote desktop operation, the client includes: an HTML5 browser module, a communication module, a local application program interface API module and a calling module;

所述HTML5浏览器模块,用于基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作;The HTML5 browser module is used to perform remote desktop operations based on the HTML5 browser of the fifth version of Hypertext Markup Language;

所述通信模块,用于接收所述服务器发送的远程桌面协议RDP操作命令;The communication module is configured to receive the Remote Desktop Protocol RDP operation command sent by the server;

所述调用模块,用于确定所述RDP操作命令是否需要对客户端的本地接口进行调用,若需要,根据所述RDP操作命令调用对应的客户端的本地API模块,若不需要,调用所述HTML5浏览器模块;The calling module is used to determine whether the RDP operation command needs to call the local interface of the client, if necessary, call the corresponding local API module of the client according to the RDP operation command, if not, call the HTML5 browser device module;

所述本地API模块,用于在接收到所述调用模块的调用命令时,执行所述RDP操作命令请求的操作。The local API module is configured to execute the operation requested by the RDP operation command when receiving the calling command of the calling module.

第一种可能的实现方式中,结合第二方面,若服务器发送的远程桌面协议RDP操作命令需要对图形界面数据进行处理,所述HTML5浏览器模块还用于对所述RDP操作命令进行解析生成图像信息。In the first possible implementation, in combination with the second aspect, if the remote desktop protocol RDP operation command sent by the server needs to process the graphical interface data, the HTML5 browser module is also used to parse and generate the RDP operation command image information.

第二种可能的实现方式中,结合第二方面或根据第一种可能的实现方式,所述HTML5浏览器模块包括:WebSocket服务器子模块和HTML5 Canvas子模块;In a second possible implementation, in combination with the second aspect or according to the first possible implementation, the HTML5 browser module includes: a WebSocket server submodule and an HTML5 Canvas submodule;

所述调用模块,还用于将所述RDP操作命令转换成HTML5协议支持的格式;The calling module is also used to convert the RDP operation command into a format supported by the HTML5 protocol;

所述WebSocket服务器子模块,用于将转换后的支持HTML5协议的操作命令发送给所述HTML5 Canvas子模块;The WebSocket server submodule is used to send the converted operation command supporting the HTML5 protocol to the HTML5 Canvas submodule;

所述HTML5 Canvas子模块,用于将所述转换后的操作命令进行解析生成图像信息。The HTML5 Canvas submodule is used to analyze the converted operation command to generate image information.

第三种可能的实现方式中,根据第二种可能的实现方式,所述客户端还包括输入接口、人机交互接口;In the third possible implementation, according to the second possible implementation, the client further includes an input interface and a human-computer interaction interface;

所述HTML5 Canvas子模块,还用于捕捉用户通过输入接口和/或人机交互接口输入的操作请求,将所述操作请求发送给所述WebSocket服务器;The HTML5 Canvas submodule is also used to capture the operation request input by the user through the input interface and/or human-computer interaction interface, and send the operation request to the WebSocket server;

所述WebSocket服务器子模块,还用于将所述操作请求转发给所述调用模块;The WebSocket server submodule is also used to forward the operation request to the calling module;

所述调用模块,还用于确定所述操作请求是否需要对客户端当前的图形界面进行操作;若确定所述操作请求不需要对客户端当前的图形界面进行操作,则将所述操作请求转换成RDP协议支持的格式。The calling module is also used to determine whether the operation request needs to operate the current graphical interface of the client; if it is determined that the operation request does not need to operate the current graphical interface of the client, then convert the operation request format supported by the RDP protocol.

第四种可能的实现方式中,根据第三种可能的实现方式,所述WebSocket服务器子模块,还用于若所述操作请求需要对客户端当前的图形界面进行操作,将所述操作请求发送给所述调用模块,以使得所述调用模块调用相应的本地API模块。In the fourth possible implementation, according to the third possible implementation, the WebSocket server submodule is further configured to send the operation request if the operation request needs to operate on the current graphical interface of the client to the calling module, so that the calling module calls the corresponding local API module.

第五种可能的实现方式中,根据第四种可能的实现方式,所述需要对客户端当前的图形界面进行操作的操作请求包括:放大或缩小图形界面的操作请求。In the fifth possible implementation manner, according to the fourth possible implementation manner, the operation request for operating the current graphical interface of the client includes: an operation request for enlarging or reducing the graphical interface.

第六种可能的实现方式中,结合第二方面或第一种至第五种可能的实现方式,所述调用模块为网关插件。In a sixth possible implementation manner, in combination with the second aspect or the first to fifth possible implementation manners, the calling module is a gateway plug-in.

本发明实施例提供了一种远程桌面操作的方法及客户端,该方法包括:接收服务器发送的远程桌面协议RDP操作命令;确定所述RDP操作命令是否需要对客户端的本地接口进行调用;若所述RDP操作命令需要对客户端的本地接口进行调用,根据所述RDP操作命令调用对应的客户端的应用程序接口API,以使得所述客户端执行所述RDP操作命令请求的操作。这样由于该方法对于采用HTML5浏览器的客户端在接入远端服务器的时候,仍然能够调用本地客户端的API,这样基于浏览器进行远程桌面操作时,即在对图像数据进行的操作采用HTML实现的同时,还可以支持RDP协议的扩展通道,将所述对扩展数据进行的操作可以重定向到本地的客户端,调用对应的本地的API执行。The embodiment of the present invention provides a method for remote desktop operation and a client, the method includes: receiving a remote desktop protocol RDP operation command sent by the server; determining whether the RDP operation command needs to call the local interface of the client; if the The above RDP operation command needs to call the local interface of the client, and call the corresponding application program interface API of the client according to the RDP operation command, so that the client performs the operation requested by the RDP operation command. In this way, when the client using HTML5 browser accesses the remote server, the method can still call the API of the local client, so when the remote desktop operation is performed based on the browser, the operation on the image data is implemented using HTML At the same time, it can also support the extended channel of the RDP protocol, and the operation on the extended data can be redirected to the local client, and the corresponding local API can be called for execution.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1为本发明实施例提供了一种远程桌面操作的方法流程示意图;FIG. 1 provides a schematic flowchart of a method for remote desktop operation according to an embodiment of the present invention;

图2为本发明实施例提供了另一种远程桌面操作的方法流程示意图;FIG. 2 provides a schematic flowchart of another remote desktop operation method according to an embodiment of the present invention;

图3为本发明实施例提供的远程桌面系统示例图;FIG. 3 is an example diagram of a remote desktop system provided by an embodiment of the present invention;

图4本发明实施例提供的重定向录音操作的系统交互示意图;Fig. 4 is a schematic diagram of the system interaction of the redirected recording operation provided by the embodiment of the present invention;

图5为本发明实施例提供了一种远程桌面操作的客户端的结构示意图;FIG. 5 is a schematic structural diagram of a remote desktop operation client provided by an embodiment of the present invention;

图6为本发明实施例提供了另一种远程桌面操作的客户端的结构示意图;FIG. 6 is a schematic structural diagram of another remote desktop operation client provided by an embodiment of the present invention;

图7为本发明实施例提供了再一种远程桌面操作的客户端的结构示意图。FIG. 7 is a schematic structural diagram of another remote desktop operation client provided by an embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

需要说明的是,本发明实施例中出现的“本地接口”、“本地API接口”以及“本地API接口模块”可被互换使用。另本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should be noted that the "local interface", "local API interface" and "local API interface module" appearing in the embodiments of the present invention can be used interchangeably. In addition, the term "and/or" in this article is only an association relationship describing associated objects, which means that there may be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and A and B exist separately. There are three cases of B. In addition, the character "/" in this article generally indicates that the contextual objects are an "or" relationship.

实施例一、Embodiment one,

为了解决目前的远程桌面系统不支持一些扩展数据相关的操作的问题,本发明实施例对客户端的功能进行扩展,在客户端增加本地应用程序接口的调用模块,该本地应用程序接口的调用模块接收到服务器根据用户的指令所发送的对本地应用程序接口的调用命令之后,调用相对应的本地应用程序接口,用来完成对扩展数据的对应的操作。In order to solve the problem that the current remote desktop system does not support some extended data-related operations, the embodiment of the present invention expands the functions of the client, and adds a calling module of the local application program interface on the client side, and the calling module of the local application program interface receives After the call command to the local application program interface is sent by the server according to the user's instruction, the corresponding local application program interface is called to complete the corresponding operation on the extended data.

本发明实施例提供了一种远程桌面操作的方法,其中,所述方法基于浏览器进行远程桌面操作,该方法应用于客户端远程接入远端服务器的应用场景,所述客户端采用HTML5浏览器,如图1所示,该方法包括:An embodiment of the present invention provides a method for remote desktop operation, wherein the method is based on a browser for remote desktop operation, and the method is applied to an application scenario where a client remotely accesses a remote server, and the client uses HTML5 to browse device, as shown in Figure 1, the method includes:

101、接收服务器发送的远程桌面协议RDP操作命令。101. Receive a remote desktop protocol RDP operation command sent by the server.

其中,所述服务器发送的RDP操作命令可以是对图像数据进行操作的命令,也可以是对扩展数据的操作。Wherein, the RDP operation command sent by the server may be a command for operating image data, or an operation for extended data.

其中,对图像数据进行操作可以是通过所述客户端的HTML5来完成,而对扩展数据的操作需要调用对应的客户端的本地应用程序接口API完成。Wherein, the operation on the image data can be completed through the HTML5 of the client, and the operation on the extended data needs to be completed by calling the corresponding local application program interface API of the client.

102、确定所述RDP操作命令是否需要对客户端的本地接口进行调用。102. Determine whether the RDP operation command needs to call a local interface of the client.

客户端在接收到所述服务器发送的RDP操作命令需要判断是需要对客户端的本地接口进行调用还是对图像数据进行操作,用于客户端确定HTML5来执行该请求,还是调用本地API执行该请求。After receiving the RDP operation command sent by the server, the client needs to judge whether it needs to call the local interface of the client or operate the image data, so that the client can determine HTML5 to execute the request, or call the local API to execute the request.

103、如果所述操作命令是需要对所述客户端的本地接口进行调用,则根据所述RDP操作命令调用对应的客户端的应用程序接口API,以使得所述客户端执行所述RDP操作命令请求的操作。103. If the operation command needs to call the local interface of the client, call the application program interface API of the corresponding client according to the RDP operation command, so that the client executes the request requested by the RDP operation command operate.

可选的,由于该远程桌面操作的客户端可以调用客户端本地的API,该方法还可以包括:接收所述HTML5浏览器根据用户操作发送的第二操作请求,所述第二操作请求需要对客户端当前的图形界面进行操作;Optionally, since the client of the remote desktop operation can call the local API of the client, the method may further include: receiving a second operation request sent by the HTML5 browser according to user operation, and the second operation request needs to Operate on the current graphical interface of the client;

根据所述第二操作请求,对所述客户端的本地接口进行,以使得所述客户端执行所述第二操作命令请求的操作。According to the second operation request, perform operations on the local interface of the client, so that the client performs the operation requested by the second operation command.

本发明实施例提供了一种远程桌面操作的方法,由于该方法对于采用HTML5浏览器的客户端在接入远端服务器的时候,仍然能够调用本地客户端的API,这样基于浏览器进行远程桌面操作时,即在对图像数据进行的操作采用HTML实现的同时,还可以支持RDP协议的扩展通道,将对扩展数据进行的操作可以重定向到本地的客户端,调用对应的API执行。The embodiment of the present invention provides a method for remote desktop operation, because this method can still call the API of the local client when the client using the HTML5 browser accesses the remote server, so that the remote desktop operation is performed based on the browser When the operation on the image data is implemented in HTML, it can also support the extended channel of the RDP protocol, and the operation on the extended data can be redirected to the local client, and the corresponding API is called for execution.

实施例二、Embodiment two,

本发明实施例提供了一种远程桌面操作的方法,其中,所述方法基于超文本标记语言HTML进行远程桌面操作,如图2所示,该方法包括:An embodiment of the present invention provides a method for remote desktop operation, wherein the method performs remote desktop operation based on hypertext markup language HTML, as shown in FIG. 2 , the method includes:

201、客户端接入远端服务器。201. The client accesses the remote server.

202、所述客户端根据用户的操作向所述服务器发送的第一操作请求。202. The client sends a first operation request to the server according to a user operation.

其中,所述第一操作请求用于对该客户端对应的应用进行操作,例如图形界面显示的应用。Wherein, the first operation request is used to operate an application corresponding to the client, for example, an application displayed on a graphical interface.

所述客户端对应的应用为安装或存储并执行在所述远端服务器上。The application corresponding to the client is installed or stored and executed on the remote server.

举例来说,第一操作请求可以是用户开启所述客户端图形界面显示的某一应用程序,或者播放所述客户端图形界面显示的音视频文件等,或者打印所述图形界面显示的文件等。For example, the first operation request may be that the user starts an application program displayed on the graphical interface of the client, or plays audio and video files displayed on the graphical interface of the client, or prints a file displayed on the graphical interface. .

其中,所述第一操作请求为通过所述客户端的输入接口输入的操作命令;和/或,通过人机交互接口输入的操作命令。Wherein, the first operation request is an operation command input through an input interface of the client; and/or, an operation command input through a human-computer interaction interface.

具体的,输入接口可以是以下接口中的至少一种:音频输入接口、视频输入接口、通用串行总线接口(Universal Serial BUS,简称USB)。本发明实施例所指的输入接口不限于此,在此不一一穷举。Specifically, the input interface may be at least one of the following interfaces: an audio input interface, a video input interface, and a universal serial bus interface (Universal Serial BUS, USB for short). The input interfaces referred to in the embodiment of the present invention are not limited thereto, and are not exhaustive here.

举例来说,用户可以通过鼠标对某一应用的操作请求,用户还可以通过音频输入语音的操作请求。For example, the user may request an operation of an application through a mouse, and the user may also input a voice operation request through audio.

203、所述服务器根据所述第一操作请求向所述客户端发送RDP操作命令。203. The server sends an RDP operation command to the client according to the first operation request.

其中,所述RDP操作命令可以携带所述RDP操作命令所需要调用的客户端本地应用程序接口的指示或者图形界面的数据。Wherein, the RDP operation command may carry an indication of a local application program interface of the client or data of a graphical interface that the RDP operation command needs to call.

由于所述远程操作的客户端和所述服务器之间遵循RDP协议,所以所述第一操作命令被封装为RDP格式。Since the remote operation client and the server follow the RDP protocol, the first operation command is encapsulated in an RDP format.

所述客户端图形界面显示的应用安装或存储并执行在服务器,在所述远程桌面操作的客户端接收到第一操作请求后,需要将所述第一操作请求发送给所述服务器,以使得所述服务器执行所述第一操作请求。The application displayed on the graphical interface of the client is installed or stored and executed on the server. After the client of the remote desktop operation receives the first operation request, it needs to send the first operation request to the server, so that The server executes the first operation request.

需要说明的是,若所述服务器需要直接执行所述第一操作请求,则在执行所述第一操作请求后,所述服务器将其执行所述第一操作请求后的图形界面的数据发送给所述客户端,即将图像数据重定向给客户端,以使得客户端进行描绘和显示。It should be noted that, if the server needs to directly execute the first operation request, after executing the first operation request, the server sends the data of the graphical interface after executing the first operation request to The client is to redirect the image data to the client, so that the client can draw and display.

而若所述服务器确定所述第一操作请求可以通过调用客户端的本地应用程序接口,不直接执行所述第一操作请求,所述服务器重定向所述第一操作请求(以RDP操作命令的形式),该RDP操作命令携带所述RDP操作命令所需要调用的客户端本地应用程序接口的指示,向所述客户端发送RDP操作命令,使得所述远程客户端执行所述操作命令,调用本地的应用程序接口。And if the server determines that the first operation request can be performed by calling the local application program interface of the client, and does not directly execute the first operation request, the server redirects the first operation request (in the form of an RDP operation command) ), the RDP operation command carries an indication of the client’s local application program interface that the RDP operation command needs to call, and sends the RDP operation command to the client, so that the remote client executes the operation command and calls the local API.

204、所述客户端接收所述服务器发送的所述RDP操作命令。204. The client receives the RDP operation command sent by the server.

205、所述客户端确定所述RDP操作命令是否需要所述HTML5浏览器对图形界面数据进行处理。205. The client determines whether the RDP operation command requires the HTML5 browser to process graphical interface data.

其中,所述客户端的本地API包括客户端的文件系统接口、客户端的本地打印机接口、客户端的通信端口或客户端的音视频输入输出设备的接口等。Wherein, the local API of the client includes a file system interface of the client, a local printer interface of the client, a communication port of the client, or an interface of audio and video input and output devices of the client, and the like.

206、若所述RDP操作命令需要所述HTML5浏览器对图形界面数据进行处理,则调用所述HTML5浏览器,以使得所述HTML5浏览器对所述RDP操作命令进行解析生成图像信息。206. If the RDP operation command requires the HTML5 browser to process the graphical interface data, call the HTML5 browser, so that the HTML5 browser parses the RDP operation command to generate image information.

具体的,可以采用HTML5中的画布工具Canvas对所述RDP操作命令中包含的图像数据进行解析生成图像信息。Specifically, the canvas tool Canvas in HTML5 may be used to analyze the image data included in the RDP operation command to generate image information.

在对所述RDP操作命令中包含的图像数据进行解析生成图像信息之前,客户端还可以进一步将所述RDP操作命令转换成HTML5协议支持的WebSocket格式。Before parsing the image data contained in the RDP operation command to generate image information, the client may further convert the RDP operation command into a WebSocket format supported by the HTML5 protocol.

在对所述RDP操作命令中包含的图像数据进行解析生成图像信息后,将生成的图像信息在客户端中进行显示。After analyzing the image data contained in the RDP operation command to generate image information, the generated image information is displayed on the client.

207、若所述RDP操作命令不需要所述HTML5浏览器对图形界面数据进行处理,则根据所述RDP操作命令请求的操作调用相应客户端的本地应用程序接口API,确定所述RDP操作命令需要对客户端的本地接口进行调用,以使得所述客户端执行所述RDP操作命令请求的操作。207. If the RDP operation command does not require the HTML5 browser to process the graphical interface data, call the local application program interface API of the corresponding client according to the operation requested by the RDP operation command, and determine that the RDP operation command requires The local interface of the client makes a call, so that the client performs the operation requested by the RDP operation command.

以下具体以重定向录音功能为例具体说明,其中,如图3所示,该远程桌面的系统示例图,客户端由四部分组成,分别包括:网关插件、WebSocket服务器、HTML5 Canvas和本地API。The following specifically takes the redirection recording function as an example. As shown in Figure 3, the system example diagram of the remote desktop, the client consists of four parts, including: gateway plug-in, WebSocket server, HTML5 Canvas and local API.

其中,WebSocket服务器用于向HTML5 Canvas推送来自于服务器的图像数据;同时还用于将HTML5 Canvas捕捉到的鼠标和键盘输入的操作请求经过网关插件发送给服务器。HTML5 Canvas用于捕捉鼠标和键盘输入的操作请求,并将该操作请求上传给WebSocke服务器。网关插件用于对来自于HTML5浏览器的基于WebSocket协议的数据和来自于服务器的RDP协议的数据进行协议转换,还用于在接收到服务器发送的RDP操作命令,若该操作命令是请求对客户端的本地接口进行调用,调用对应的本地API。Among them, the WebSocket server is used to push the image data from the server to the HTML5 Canvas; at the same time, it is also used to send the operation requests of the mouse and keyboard input captured by the HTML5 Canvas to the server through the gateway plug-in. HTML5 Canvas is used to capture the operation requests input by the mouse and keyboard, and upload the operation requests to the WebSocket server. The gateway plug-in is used to convert the data based on the WebSocket protocol from the HTML5 browser and the data from the RDP protocol from the server. It is also used to receive the RDP operation command sent by the server. If the operation command is a request to the client Call the local interface of the terminal and call the corresponding local API.

需要说明的是,图3中的客户端的组成示意图只是示意性的描述,不局限于该客户端的结构。当然该客户端还可以只包括WebSocket服务器、HTML5 Canvas、本地API和本地API的调用单元,至于对来自于HTML5浏览器的基于WebSocket协议的数据和来自于服务器的RDP协议的数据进行协议转换的网关插件也可以作为独立的装置,或作为服务器的模块。具体的,本发明实施例对此不作具体限定。It should be noted that the composition diagram of the client in FIG. 3 is only a schematic description, and is not limited to the structure of the client. Of course, the client can also only include the WebSocket server, HTML5 Canvas, local API and local API call unit, as for the data from the HTML5 browser based on the WebSocket protocol and the data from the RDP protocol from the server. The gateway for protocol conversion Plugins are also available as standalone devices, or as modules for servers. Specifically, this embodiment of the present invention does not specifically limit it.

以下以图4所示的该远程桌面的系统为例,具体说明该方法包括:Taking the system of the remote desktop shown in FIG. 4 as an example below, it is specifically described that the method includes:

301、用户在HTML5 Canvas程序界面点击某一应用的录音按钮,HTML5 Canvas捕捉到该录音请求。301. The user clicks a recording button of an application on the HTML5 Canvas program interface, and the HTML5 Canvas captures the recording request.

302、HTML5 Canvas向Websocket服务器上传该录音请求。302. The HTML5 Canvas uploads the recording request to the Websocket server.

303、Websocket服务器将该录音请求发送给网关插件。303. The Websocket server sends the recording request to the gateway plug-in.

304、网关插件将该录音请求打包封装为RDP格式的命令。304. The gateway plug-in packages and encapsulates the recording request into a command in RDP format.

305、网关插件将该RDP格式的命令发送给所述服务器。305. The gateway plug-in sends the command in the RDP format to the server.

306、服务器触发本地程序上的录音按钮的监听事件,调用本地声音接口程序。306. The server triggers the monitoring event of the recording button on the local program, and calls the local sound interface program.

307、服务器捕捉到该监听事件,向网关插件发送服务器支持的声音格式。307. The server captures the monitoring event, and sends the sound format supported by the server to the gateway plug-in.

308、网关插件调用本地API,即向本地API查询客户端支持的声音格式。308. The gateway plug-in calls the local API, that is, queries the local API for the sound format supported by the client.

309、本地API向网关插件返回客户端支持的声音格式。309. The local API returns the sound format supported by the client to the gateway plug-in.

310、网关插件将客户端支持的声音格式打包封装为RDP格式发送给服务器。310. The gateway plug-in packages and encapsulates the sound format supported by the client into an RDP format and sends it to the server.

311、服务器向网关插件发送RDP操作命令,该RDP操作命令请求客户端打开声音设备。311. The server sends an RDP operation command to the gateway plug-in, and the RDP operation command requests the client to open the sound device.

312、网关插件接收到该RDP操作命令后,调用本地声音设备进行录音。312. After receiving the RDP operation command, the gateway plug-in invokes a local sound device for recording.

313、本地API向网关插件返回录音信息。313. The local API returns the recording information to the gateway plug-in.

314、网关插件将该录音信息打包封装为RDP格式返回给服务器。314. The gateway plug-in packages and encapsulates the recording information into an RDP format and returns it to the server.

本发明实施例提供了一种远程桌面操作的方法,对于采用HTML5浏览器的客户端在接入远端服务器的时候,仍然能够调用本地客户端的API,这样基于浏览器进行远程桌面操作时,即在对图像数据进行的操作采用HTML实现的同时,还可以支持RDP协议的扩展通道,将对扩展数据进行的操作可以重定向到本地的客户端,调用对应的API执行。The embodiment of the present invention provides a method for remote desktop operation. When a client using an HTML5 browser accesses a remote server, it can still call the API of the local client. In this way, when performing remote desktop operations based on the browser, that is While the operation on the image data is realized by HTML, it can also support the extended channel of the RDP protocol, and the operation on the extended data can be redirected to the local client, and the corresponding API is called for execution.

实施例三、Embodiment three,

本发明实施例提供了一种远程桌面操作的客户端,所述客户端基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作。具体的,如图5所示,该客户端包括:HTML5浏览器模块51、调用模块52、本地应用程序接口API模块53和通信模块54。An embodiment of the present invention provides a client terminal for remote desktop operation, and the client performs remote desktop operation based on the HTML5 browser of the fifth version of hypertext markup language. Specifically, as shown in FIG. 5 , the client includes: an HTML5 browser module 51 , a call module 52 , a local application program interface API module 53 and a communication module 54 .

所述HTML5浏览器模块51,用于基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作;The HTML5 browser module 51 is used to perform remote desktop operations based on the HTML5 browser of the fifth version of Hypertext Markup Language;

所述通信模块54,用于接收所述服务器发送的远程桌面协议RDP操作命令;The communication module 54 is configured to receive the Remote Desktop Protocol RDP operation command sent by the server;

所述调用模块52,用于确定所述RDP操作命令是否需要对客户端的本地接口进行调用,若需要,根据所述RDP操作命令调用对应的客户端的本地API模块,若不需要,调用所述HTML5浏览器模块51;The calling module 52 is used to determine whether the RDP operation command needs to call the local interface of the client, if necessary, call the local API module of the corresponding client according to the RDP operation command, if not, call the HTML5 browser module 51;

所述本地API模块53,用于在接收到所述调用模块52的调用命令时,执行所述RDP操作命令请求的操作。The local API module 53 is configured to execute the operation requested by the RDP operation command when receiving the calling command from the calling module 52 .

其中,所述服务器发送的RDP操作命令可以是对图像数据进行操作的命令,也可以是对扩展数据的操作。Wherein, the RDP operation command sent by the server may be a command for operating image data, or an operation for extended data.

其中,对图像数据进行操作可以是通过所述HTML5浏览器模块51进行解析生成图像信息,而对扩展数据的操作需要调用模块52调用对应的客户端的本地API模块53完成。Wherein, the operation on the image data can be performed by the HTML5 browser module 51 to analyze and generate image information, while the operation on the extended data needs to be completed by calling the local API module 53 of the corresponding client by the calling module 52 .

进一步的,若服务器发送的远程桌面协议RDP操作命令需要对图形界面数据进行处理,所述HTML5浏览器模块51还用于对所述RDP操作命令进行解析生成图像信息。Further, if the remote desktop protocol RDP operation command sent by the server needs to process the graphical interface data, the HTML5 browser module 51 is also configured to analyze the RDP operation command to generate image information.

进一步的,如图6所示,所述HTML5浏览器模块51包括:WebSocket服务器子模块511和HTML5 Canvas子模块512;Further, as shown in FIG. 6, the HTML5 browser module 51 includes: a WebSocket server submodule 511 and an HTML5 Canvas submodule 512;

所述调用模块52,还用于将所述RDP操作命令转换成HTML5协议支持的格式;The calling module 52 is also used to convert the RDP operation command into a format supported by the HTML5 protocol;

所述WebSocket服务器子模块511,用于将转换后的支持HTML5协议的操作命令发送给所述HTML5 Canvas子模块512;The WebSocket server submodule 511 is configured to send the converted operation command supporting the HTML5 protocol to the HTML5 Canvas submodule 512;

所述HTML5 Canvas子模块512,用于将所述转换后的操作命令进行解析生成图像信息。The HTML5 Canvas submodule 512 is configured to analyze the converted operation command to generate image information.

进一步的,如图7所示,所述客户端还包括输入接口55、人机交互接口56;Further, as shown in FIG. 7 , the client also includes an input interface 55 and a human-computer interaction interface 56;

其中,用户的操作可以是通过输入接口55和/或人机交互接口56输入的操作。Wherein, the user's operation may be an operation input through the input interface 55 and/or the human-computer interaction interface 56 .

所述用户的操作请求用于对该客户端对应的应用进行操作,例如图形界面显示的应用。The user's operation request is used to operate an application corresponding to the client, for example, an application displayed on a graphical interface.

所述客户端对应的应用为安装或存储并执行在所述远端服务器上。The application corresponding to the client is installed or stored and executed on the remote server.

举例来说,用户的操作请求可以是用户开启所述客户端图形界面显示的某一应用程序,或者播放所述客户端图形界面显示的音视频文件等,或者打印所述图形界面显示的文件等。For example, the user's operation request may be that the user starts an application program displayed on the graphical interface of the client, or plays audio and video files displayed on the graphical interface of the client, or prints a file displayed on the graphical interface. .

具体的,输入接口55可以是以下接口中的至少一种:音频输入接口、视频输入接口、通用串行总线接口(Universal Serial BUS,简称USB)。本发明实施例所指的输入接口不限于此,在此不一一穷举。Specifically, the input interface 55 may be at least one of the following interfaces: an audio input interface, a video input interface, and a universal serial bus interface (Universal Serial BUS, USB for short). The input interfaces referred to in the embodiment of the present invention are not limited thereto, and are not exhaustive here.

举例来说,用户可以通过鼠标对某一应用的操作请求,用户还可以通过音频输入语音的操作请求。For example, the user may request an operation of an application through a mouse, and the user may also input a voice operation request through audio.

所述HTML5 Canvas子模块512,还用于捕捉用户通过输入接口55和/或人机交互接口56输入的操作请求,将所述操作请求发送给所述WebSocket服务器511;The HTML5 Canvas submodule 512 is also used to capture the operation request input by the user through the input interface 55 and/or the human-computer interaction interface 56, and send the operation request to the WebSocket server 511;

所述WebSocket服务器子模块511,还用于将所述操作请求转发给所述调用模块52;The WebSocket server submodule 511 is further configured to forward the operation request to the calling module 52;

所述调用模块52,还用确定所述操作请求是否需要对客户端当前的图形界面进行操作;若确定所述操作请求不需要对客户端当前的图形界面进行操作,则将所述操作请求转换成RDP协议支持的格式。The calling module 52 is also used to determine whether the operation request needs to operate the current graphical interface of the client; if it is determined that the operation request does not need to operate the current graphical interface of the client, then the operation request is converted format supported by the RDP protocol.

然后,该操作请求通过所述通信模块53发送给所述服务器。Then, the operation request is sent to the server through the communication module 53 .

进一步的,所述WebSocket服务器子模块511,还用于若所述调用模块52确定所述操作请求需要对客户端当前的图形界面进行操作,将所述操作请求发送给所述调用模块52,以使得所述调用模块52调用相应的本地API模块53。Further, the WebSocket server sub-module 511 is also configured to send the operation request to the calling module 52 if the calling module 52 determines that the operation request needs to operate on the current graphical interface of the client to The calling module 52 is made to call the corresponding local API module 53 .

其中,所述需要对客户端当前的图形界面进行操作的操作请求包括:放大或缩小图形界面的操作请求。Wherein, the operation request for operating the current graphical interface of the client includes: an operation request for enlarging or reducing the graphical interface.

可选的,所述调用模块52具体为网关插件,示例性的可以参考图3所示的客户端。Optionally, the invoking module 52 is specifically a gateway plug-in, for example, refer to the client shown in FIG. 3 .

需要说明的是,所属本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的远程桌面操作的客户端的具体工作过程及描述,可以参考实施例一、二方法实施例中的对应过程,在此不再赘述。It should be noted that those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process and description of the remote desktop operation client described above can be referred to in the first and second method embodiments The corresponding process will not be repeated here.

本发明实施例提供了一种远程桌面操作的客户端,由于该客户端在接入远端服务器的时候,仍然能够调用本地客户端的API,这样基于浏览器进行远程桌面操作时,即在对图像数据进行的操作采用HTML实现的同时,还可以支持RDP协议的扩展通道,将所述对扩展数据进行的操作可以重定向到本地的客户端,调用对应的本地的API执行。The embodiment of the present invention provides a client for remote desktop operations. Since the client can still call the API of the local client when accessing the remote server, when performing remote desktop operations based on the browser, the image While the data operation is realized by using HTML, it can also support the extended channel of the RDP protocol, and the operation on the extended data can be redirected to the local client, and the corresponding local API is called for execution.

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and brevity of the description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated according to needs It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For the specific working process of the above-described system, device, and unit, reference may be made to the corresponding process in the foregoing method embodiments, and details are not repeated here.

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes. .

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present invention. Should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.

Claims (13)

1.一种远程桌面操作的方法,所述方法基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作,其特征在于,该方法包括:1. a method for remote desktop operation, described method carries out remote desktop operation based on hypertext markup language fifth edition HTML5 browser, it is characterized in that, the method comprises: 接收服务器发送的远程桌面协议RDP操作命令;Receive the remote desktop protocol RDP operation command sent by the server; 确定所述RDP操作命令是否需要对客户端的本地接口进行调用;Determine whether the RDP operation command needs to call the local interface of the client; 若所述RDP操作命令需要对客户端的本地接口进行调用,根据所述RDP操作命令调用对应的客户端的应用程序接口API,以使得所述客户端执行所述RDP操作命令请求的操作。If the RDP operation command needs to call the local interface of the client, call the corresponding application program interface API of the client according to the RDP operation command, so that the client performs the operation requested by the RDP operation command. 2.根据权利要求1所述的方法,其特征在于,所述确定所述RDP操作命令是否请求对客户端的本地接口进行调用包括:2. The method according to claim 1, wherein the determining whether the RDP operation command requests to call the local interface of the client comprises: 确定所述RDP操作命令是否需要所述HTML5浏览器对图形界面数据进行处理,如果否,确定所述RDP操作命令需要对客户端的本地接口进行调用。It is determined whether the RDP operation command requires the HTML5 browser to process the graphical interface data, and if not, it is determined that the RDP operation command needs to call the local interface of the client. 3.根据权利要求2所述的方法,其特征在于,还包括:3. The method according to claim 2, further comprising: 若所述RDP操作命令需要所述HTML5浏览器对图形界面数据进行处理,则调用所述HTML5浏览器,以使得所述HTML5浏览器对所述RDP操作命令进行解析生成图像信息。If the RDP operation command requires the HTML5 browser to process the graphical interface data, the HTML5 browser is invoked, so that the HTML5 browser parses the RDP operation command to generate image information. 4.根据权利要求3所述的方法,其特征在于,所述调用所述HTML5浏览器之前,还包括:将所述RDP操作命令转换成HTML5协议支持的格式。4. The method according to claim 3, further comprising: converting the RDP operation command into a format supported by the HTML5 protocol before calling the HTML5 browser. 5.根据权利要求1-4任一项所述的方法,其特征在于,该方法还包括:5. The method according to any one of claims 1-4, characterized in that the method further comprises: 接收所述HTML5浏览器根据用户操作发送的第二操作请求,所述第二操作请求需要对客户端当前的图形界面进行操作;Receiving the second operation request sent by the HTML5 browser according to the user operation, the second operation request needs to operate the current graphical interface of the client; 根据所述第二操作请求,对所述客户端的本地接口进行调用,以使得所述客户端执行所述第二操作命令请求的操作。According to the second operation request, the local interface of the client is called, so that the client performs the operation requested by the second operation command. 6.根据权利要求5所述的方法,其特征在于,所述第二操作请求为放大或缩小所述图形界面的操作请求。6. The method according to claim 5, wherein the second operation request is an operation request for zooming in or zooming out the graphical interface. 7.一种远程桌面操作的客户端,其特征在于,该客户端包括:HTML5浏览器模块、通信模块、本地应用程序接口API模块和调用模块;7. A client for remote desktop operations, characterized in that the client includes: an HTML5 browser module, a communication module, a local application program interface API module and a calling module; 所述HTML5浏览器模块,用于基于超文本标记语言第五版本HTML5浏览器进行远程桌面操作;The HTML5 browser module is used to perform remote desktop operations based on the HTML5 browser of the fifth version of Hypertext Markup Language; 所述通信模块,用于接收服务器发送的远程桌面协议RDP操作命令;The communication module is used to receive the remote desktop protocol RDP operation command sent by the server; 所述调用模块,用于确定所述RDP操作命令是否需要对客户端的本地接口进行调用,若需要,根据所述RDP操作命令调用对应的客户端的本地API模块,若不需要,调用所述HTML5浏览器模块;The calling module is used to determine whether the RDP operation command needs to call the local interface of the client, if necessary, call the corresponding local API module of the client according to the RDP operation command, if not, call the HTML5 browser device module; 所述本地API模块,用于在接收到所述调用模块的调用命令时,执行所述RDP操作命令请求的操作。The local API module is configured to execute the operation requested by the RDP operation command when receiving the calling command of the calling module. 8.根据权利要求7所述的客户端,其特征在于,若服务器发送的远程桌面协议RDP操作命令需要对图形界面数据进行处理,所述HTML5浏览器模块还用于对所述RDP操作命令进行解析生成图像信息。8. The client according to claim 7, wherein, if the Remote Desktop Protocol RDP operation command sent by the server needs to process the graphical interface data, the HTML5 browser module is also used to process the RDP operation command Parsing generates image information. 9.根据权利要求8所述的客户端,其特征在于,所述HTML5浏览器模块包括:WebSocket服务器子模块和HTML5Canvas子模块;9. The client according to claim 8, wherein the HTML5 browser module comprises: a WebSocket server submodule and an HTML5Canvas submodule; 所述调用模块,还用于将所述RDP操作命令转换成HTML5协议支持的格式;The calling module is also used to convert the RDP operation command into a format supported by the HTML5 protocol; 所述WebSocket服务器子模块,用于将转换后的支持HTML5协议的操作命令发送给所述HTML5Canvas子模块;The WebSocket server submodule is used to send the converted operation command supporting the HTML5 protocol to the HTML5Canvas submodule; 所述HTML5Canvas子模块,用于将所述转换后的操作命令进行解析生成图像信息。The HTML5Canvas submodule is used to analyze the converted operation command to generate image information. 10.根据权利要求9所述的客户端,其特征在于,所述客户端还包括输入接口、人机交互接口;10. The client according to claim 9, further comprising an input interface and a human-computer interaction interface; 所述HTML5Canvas子模块,还用于捕捉用户通过输入接口和/或人机交互接口输入的操作请求,将所述操作请求发送给所述WebSocket服务器子模块;The HTML5Canvas submodule is also used to capture the operation request input by the user through the input interface and/or human-computer interaction interface, and send the operation request to the WebSocket server submodule; 所述WebSocket服务器子模块,还用于将所述操作请求转发给所述调用模块;The WebSocket server submodule is also used to forward the operation request to the calling module; 所述调用模块,还用于确定所述操作请求是否需要对客户端当前的图形界面进行操作;若确定所述操作请求不需要对客户端当前的图形界面进行操作,则将所述操作请求转换成RDP协议支持的格式。The calling module is also used to determine whether the operation request needs to operate the current graphical interface of the client; if it is determined that the operation request does not need to operate the current graphical interface of the client, then convert the operation request format supported by the RDP protocol. 11.根据权利要求10所述的客户端,其特征在于,所述WebSocket服务器子模块,还用于若所述操作请求需要对客户端当前的图形界面进行操作,将所述操作请求发送给所述调用模块,以使得所述调用模块调用相应的本地API模块。11. The client according to claim 10, wherein the WebSocket server submodule is further configured to send the operation request to the client if the operation request needs to operate the current graphical interface of the client. The above calling module, so that the calling module calls the corresponding local API module. 12.根据权利要求11所述的客户端,其特征在于,所述需要对客户端当前的图形界面进行操作的操作请求包括:放大或缩小图形界面的操作请求。12 . The client according to claim 11 , wherein the operation request for operating the current graphical interface of the client includes: an operation request for enlarging or reducing the graphical interface. 13 . 13.根据权利要求7-11任一项所述的客户端,其特征在于,所述调用模块为网关插件。13. The client according to any one of claims 7-11, wherein the calling module is a gateway plug-in.
CN201310091463.9A 2013-03-21 2013-03-21 The method and client of a kind of remote desktop operation Active CN104065679B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310091463.9A CN104065679B (en) 2013-03-21 2013-03-21 The method and client of a kind of remote desktop operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310091463.9A CN104065679B (en) 2013-03-21 2013-03-21 The method and client of a kind of remote desktop operation

Publications (2)

Publication Number Publication Date
CN104065679A CN104065679A (en) 2014-09-24
CN104065679B true CN104065679B (en) 2018-04-20

Family

ID=51553210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310091463.9A Active CN104065679B (en) 2013-03-21 2013-03-21 The method and client of a kind of remote desktop operation

Country Status (1)

Country Link
CN (1) CN104065679B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618435B (en) * 2014-12-29 2016-11-09 北京奇虎科技有限公司 Method for realizing remote desktop and remote desktop management system
CN104917774A (en) * 2015-06-16 2015-09-16 顾健 Application secure virtual releasing technical equipment based on intelligent terminal and operation method
CN106341453A (en) * 2016-08-23 2017-01-18 北京永信至诚科技股份有限公司 High-speed virtual desktop agent building method and high-speed virtual desktop agent building system based on HTML5
CN109983435B (en) 2017-10-23 2020-08-07 华为技术有限公司 Graphics processing method and related apparatus and equipment
CN109857507B (en) * 2019-02-21 2022-03-08 成都安恒信息技术有限公司 Method for automatically and remotely executing Windows program
CN112584221B (en) * 2020-11-06 2024-09-13 西安万像电子科技有限公司 Image acquisition method and system
CN116208593B (en) * 2021-11-30 2024-10-11 比亚迪股份有限公司 Comprehensive monitoring system including interactive gateway and data interaction method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148842A (en) * 2010-02-08 2011-08-10 联想(北京)有限公司 Audio processing method and equipment for remote desktop protocol
CN102833338A (en) * 2012-08-31 2012-12-19 福建升腾资讯有限公司 Remote desktop display method based on Web
CN102959597A (en) * 2010-05-28 2013-03-06 罗伯特·博世有限公司 Remote control of a telephone

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589800B2 (en) * 2010-12-10 2013-11-19 Wyse Technology Inc. Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
US20120246554A1 (en) * 2011-03-23 2012-09-27 Ericom Software Ltd. Performing binary composition of images onto an html canvas element
US9292248B2 (en) * 2011-06-22 2016-03-22 Microsoft Technology Licensing, Llc Span out load balancing model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148842A (en) * 2010-02-08 2011-08-10 联想(北京)有限公司 Audio processing method and equipment for remote desktop protocol
CN102959597A (en) * 2010-05-28 2013-03-06 罗伯特·博世有限公司 Remote control of a telephone
CN102833338A (en) * 2012-08-31 2012-12-19 福建升腾资讯有限公司 Remote desktop display method based on Web

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于Web浏览器的桌面虚拟化系统》;梁小锋;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20120731(第7期);第17-35页 *

Also Published As

Publication number Publication date
CN104065679A (en) 2014-09-24

Similar Documents

Publication Publication Date Title
US12393394B2 (en) Systems and method for publication of applications using server-side virtual screen change capture
CN104065679B (en) The method and client of a kind of remote desktop operation
US9552338B2 (en) Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers
US12120198B2 (en) Systems for platform-independent application publishing to a web container
US10218775B2 (en) Methods for servicing web service requests using parallel agile web services and devices thereof
CN103974111B (en) By the method, apparatus of the data transfer on intelligent terminal to television terminal
US20140082051A1 (en) Virtual file transmission system and method of transmitting virtual file thereof
WO2024060663A9 (en) Three-dimensional model scene interaction method, system and apparatus, and device, storage medium and computer program product
CN110457620A (en) Method, device, equipment and storage medium for page access
WO2013174080A1 (en) Interface display method and system of home gateway applicable to multiple display types
CN111143017B (en) Cloud operation system interaction processing method, client and cloud operation system
WO2023246486A1 (en) Method and apparatus for creating connector
JP5039946B2 (en) Technology for relaying communication between client devices and server devices
CN112149392A (en) A rich text editing method and device
CN111078320B (en) Application program access method, device, equipment and storage medium based on webpage end
CN108376090A (en) Method, device, terminal and storage medium for operating web page pictures
CN114553968B (en) Processing method and device of compressed package, electronic equipment and storage medium
CN116561013A (en) Test method, device, electronic equipment and medium based on target service framework
AU2018390863A1 (en) Computer system and method for extracting dynamic content from websites
CN115967709A (en) Request result synchronous returning method, device, terminal equipment and storage medium
CN103914453A (en) Local resource access method, local resource access device and electronic device
JP6471459B2 (en) COMMUNICATION DEVICE, LOG PROCESSING PROGRAM, COMMUNICATION SYSTEM, AND LOG PROCESSING METHOD
CN105992063A (en) Webpage loading method and user equipment
CN113778323B (en) File processing method and device
CN115567576A (en) Data transmission method and device, electronic equipment and storage medium

Legal Events

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

Effective date of registration: 20220211

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

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

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.