WO2017020607A1 - Rdp data playback method, server and system - Google Patents

Rdp data playback method, server and system Download PDF

Info

Publication number
WO2017020607A1
WO2017020607A1 PCT/CN2016/079192 CN2016079192W WO2017020607A1 WO 2017020607 A1 WO2017020607 A1 WO 2017020607A1 CN 2016079192 W CN2016079192 W CN 2016079192W WO 2017020607 A1 WO2017020607 A1 WO 2017020607A1
Authority
WO
WIPO (PCT)
Prior art keywords
playback
data
server
client
play
Prior art date
Application number
PCT/CN2016/079192
Other languages
French (fr)
Chinese (zh)
Inventor
魏国强
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017020607A1 publication Critical patent/WO2017020607A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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/131Protocols for games, networked simulations or virtual reality

Definitions

  • RDP Remote Desktop Protocol
  • Windows family Accessing remote hosts through this protocol is the default function of the Windows family. Widespread deployment of Windows has made RDP widely used, such as various virtual host services on the public network, virtual host environments used in private networks, and remote transport of telecommunication networks. Dimension. If the host is running a Windows environment, there is usually a need for remote control through RDP.
  • the user remotely operates the host through the RDP protocol. If a critical application is running on the remote host, the user's operation usually needs to be audited afterwards. Auditing can be performed at multiple levels, for example, log auditing can be performed on specific applications operated by users, and auditing can be performed in the background of remote hosts. Among them, it is convenient and common to audit through RDP, because it is convenient to intercept the RDP data stream between the user and the remote host, and the data stream is not specific to any specific application, can be universal, and RDP data stream The data itself is compressed, and the data stream is much less than the final image data.
  • the RDP protocol stipulates that the image stream can be reconstructed theoretically by parsing the RDP data stream. However, since the RDP protocol itself is very large and the RDP protocol is constantly evolving, it is very complicated to reconstruct the image stream by parsing the RDP protocol. The problem of parsing the latest protocol data.
  • the playback server reads the PDU of the RDP and the timestamp of the transmission of the PDU;
  • the graphics data is parsed from the PDU and the graphics data is encapsulated in a rule negotiated with the playback client.
  • the step of sending the graphic data to the playing client by using a preset data output rule comprises:
  • the playback server After waiting for the first preset time, the playback server outputs data to the playback client;
  • the playback server If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
  • the method further includes:
  • the step of the playing server establishing a connection with the playing client comprises:
  • the embodiment of the invention further provides a playback server for playing back RDP protocol data, including:
  • Obtaining a module configured to acquire graphic data to be played back, wherein the graphic data is converted by RDP protocol data;
  • the sending module is configured to send the graphic data to the playing client according to a preset data output rule, and the received graphic data is displayed by the playing client.
  • the obtaining module is further configured to: read a PDU of the RDP and a timestamp of the PDU transmission; determine, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discard; if yes, The graphics data is parsed from the PDU, and the graphics data is encapsulated in a rule negotiated with the playback client.
  • the sending module is further configured to: if the normal speed playing is preset, wait for the first preset time, and output data to the playing client; if the preset needs n times speed to quickly browse, wait for the second After the preset time, the data is output to the playing client, where the second preset time is less than the first preset time, and n is greater than or equal to 1; if a preset step is required to see the details of the user operation, Then output a data to the playback client and stop outputting until receiving The next single step instruction.
  • the play server further includes:
  • the negotiation module is configured to establish a connection with the play client and negotiate the data output rule with the play server.
  • the embodiment of the invention further provides a system for playing back RDP protocol data, comprising: a playing client, a playing server, and a playing controller for controlling the playing client and the playing server, wherein:
  • the playing server is the playing server according to any one of claims 6-10;
  • the play controller is further configured to send a play command to the play server to control the start and stop and speed of the play.
  • the RDP protocol data playback method, server and system provided by the present invention the playing server acquires graphic data to be played back; and the graphic data is sent to the playing client according to a preset data output rule, and the playing client is
  • the terminal displays the received graphic data, and the solution can convert the acquired RDP protocol data into an image stream and the image can be played at normal speed, fast play, pause at a specified position, etc., avoiding specific protocol parsing to realize image stream reconstruction. , to meet the needs of image auditing.
  • FIG. 5 is a schematic diagram of functional modules of a second embodiment of a playback server for playing back RDP protocol data according to the present invention.
  • the play controller is further configured to send a play command to the play server to control the start and stop and speed of the play.
  • the obtained RDP protocol data is required, and the intercepted RDP protocol data has a certain format requirement. Since the image is time-conceptual, a simple data stream cannot reconstruct the image. Therefore, the intercepted RDP protocol data needs to have two elements: the protocol data unit (PDU) of the RDP and the time when the PDU is transmitted.
  • PDU protocol data unit
  • the PDU is a plaintext that satisfies the requirements of the RDP protocol and is not encrypted by the SSL protocol or the RDP encryption protocol.
  • the interception scheme of the RDP protocol data is not specifically limited.
  • the interception may be performed by inserting a gateway in the process of the user accessing the server, or may be converted by the network packet capture tool.
  • the system architecture involved in the solution of the present invention includes: a playback client, a playback server, a playback controller, and stored data. among them:
  • the playback controller, the playback client and the player server may exist in one process, or may be divided into two or more processes on the same host, or distributed through the network. Connected on both hosts.
  • the playback server can serve as a pre-launch service for many playback clients, or it can be started by the playback controller specifically for a playback client service.
  • the playback client negotiates with the playback server protocol:
  • the playback client interacts with the playback server to graph data:
  • the playback server After completing the protocol negotiation phase, the playback server begins to read the stored graphics data.
  • the detailed process is as follows:
  • the play server reads the timestamp of a PDU and response.
  • the PDU needs to be processed in response.
  • Image data needs to be resolved from the original PDU and then encapsulated according to the negotiated rules with the playback client.
  • Step S101 the play server acquires graphic data to be played back, and the graphic data is converted by RDP protocol data;
  • the data storage method is not limited, and may exist as a file or in a binary manner in a database.
  • the data storage method is not limited, and may exist as a file or in a binary manner in a database.
  • the playback client negotiates with the playback server protocol:

Abstract

The present invention discloses a remote desktop protocol (RDP) data playback method, server and system. The method comprises: obtaining, by a playback server, image data to be played back, wherein the image data is converted from RDP data; and transmitting, according to a predefined data outputting rule, the image data to a playback client side to enable the playback client side to display received image data. The present invention can convert acquired RDP data into image streaming, which can be played back in a normal speed or a fast speed, or suspended at an assigned position, preventing from a specific protocol analysis for realizing reconstruction of the image streaming, and satisfying a need in an image audit.

Description

RDP协议数据回放方法、服务器及系统RDP protocol data playback method, server and system 技术领域Technical field
本发明涉及计算机技术领域,具体地说,涉及一种能够将存储的数据以图像方式展示、用于审计用户的操作的RDP协议数据回放方法、服务器及系统。The present invention relates to the field of computer technologies, and in particular, to an RDP protocol data playback method, server, and system capable of displaying stored data in an image manner for auditing user operations.
背景技术Background technique
RDP(Remote Desktop Protocol,远程桌面协议)能够让用户通过网络操作远程计算机主机。通过该协议访问远程主机是Windows家族的缺省功能,Windows的广泛部署使RDP得到了广泛应用,如公网上的各种虚拟主机服务、在私网内使用的虚拟主机环境、电信网络的远程运维等。如果主机运行的是Windows环境,则通常都有通过RDP进行远程管控的需求。RDP (Remote Desktop Protocol) allows users to operate remote computer hosts over the network. Accessing remote hosts through this protocol is the default function of the Windows family. Widespread deployment of Windows has made RDP widely used, such as various virtual host services on the public network, virtual host environments used in private networks, and remote transport of telecommunication networks. Dimension. If the host is running a Windows environment, there is usually a need for remote control through RDP.
用户通过RDP协议远程操作主机,如果远程主机上运行着关键的应用,则用户的操作通常都需要做事后审计。审计可以在多个层次进行,比如:可以在用户操作的具体应用上进行日志审计,可以在远程主机的后台录像审计。其中,比较方便和通用的是通过RDP进行审计,因为能够方便的在用户与远程主机间拦截到RDP数据流,同时这个数据流不是特定于任何特定的应用,可以做到通用,而且RDP数据流本身经过压缩,数据流比最终图像数据在数据量上少很多。The user remotely operates the host through the RDP protocol. If a critical application is running on the remote host, the user's operation usually needs to be audited afterwards. Auditing can be performed at multiple levels, for example, log auditing can be performed on specific applications operated by users, and auditing can be performed in the background of remote hosts. Among them, it is convenient and common to audit through RDP, because it is convenient to intercept the RDP data stream between the user and the remote host, and the data stream is not specific to any specific application, can be universal, and RDP data stream The data itself is compressed, and the data stream is much less than the final image data.
在获取网络上的数据流后,如何将数据流转换为图像流是进行审计的关键。RDP协议中规定,理论上通过解析RDP数据流能够重建图像流,但由于RDP协议本身非常庞大而且RDP协议还在不停的演进,如果通过解析RDP协议来重建图像流会非常复杂,还存在无法解析最新协议数据的问题。After acquiring the data stream on the network, how to convert the data stream into an image stream is the key to auditing. The RDP protocol stipulates that the image stream can be reconstructed theoretically by parsing the RDP data stream. However, since the RDP protocol itself is very large and the RDP protocol is constantly evolving, it is very complicated to reconstruct the image stream by parsing the RDP protocol. The problem of parsing the latest protocol data.
发明内容Summary of the invention
本发明的主要目的在于提供一种RDP协议数据回放方法、服务器及系统,旨在避开具体的RDP协议解析来实现图像流的重建,满足图像审计的需求。The main purpose of the present invention is to provide a RDP protocol data playback method, server and system, which aims to avoid the reconstruction of the image stream by avoiding the specific RDP protocol parsing and meet the requirements of image auditing.
为实现上述目的,本发明提供的一种RDP协议数据回放方法,包括:To achieve the above objective, the present invention provides an RDP protocol data playback method, including:
播放服务器获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;The playing server acquires graphic data to be played back, and the graphic data is converted by RDP protocol data;
将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。The graphic data is sent to the playing client by a preset data output rule, and the received graphic data is displayed by the playing client.
优选地,所述播放服务器获取待回放的图形数据的步骤包括:Preferably, the step of the playing server acquiring the graphic data to be played back comprises:
所述播放服务器读取RDP的PDU以及所述PDU发生传输的时间戳; The playback server reads the PDU of the RDP and the timestamp of the transmission of the PDU;
根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;Determining, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discarding;
若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。If so, the graphics data is parsed from the PDU and the graphics data is encapsulated in a rule negotiated with the playback client.
优选地,所述将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端的步骤包括:Preferably, the step of sending the graphic data to the playing client by using a preset data output rule comprises:
若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
优选地,所述播放服务器获取待回放的图形数据的步骤之前还包括:Preferably, before the step of the playing server acquiring the graphic data to be played back, the method further includes:
所述播放服务器建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。The play server establishes a connection with the play client and negotiates the data output rule with the play server.
优选地,所述播放服务器建立与所述播放客户端的连接的步骤包括:Preferably, the step of the playing server establishing a connection with the playing client comprises:
播放服务器在启动后,建立与播放控制器之间通讯的控制通道;After the playback server is started, establishing a control channel for communication with the playback controller;
接收所述播放控制器发送的数据回放指令;Receiving a data playback instruction sent by the play controller;
根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;Returning, according to the data playback instruction, an access address to the play controller, and forwarding, by the play controller, the access address to the play client;
基于所述接入地址,与所述播放客户端建立连接。Establishing a connection with the playback client based on the access address.
本发明实施例还提出一种回放RDP协议数据的播放服务器,包括:The embodiment of the invention further provides a playback server for playing back RDP protocol data, including:
获取模块,设置为获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;Obtaining a module, configured to acquire graphic data to be played back, wherein the graphic data is converted by RDP protocol data;
发送模块,设置为将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。The sending module is configured to send the graphic data to the playing client according to a preset data output rule, and the received graphic data is displayed by the playing client.
优选地,所述获取模块,还设置为读取RDP的PDU以及所述PDU发生传输的时间戳;根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。Preferably, the obtaining module is further configured to: read a PDU of the RDP and a timestamp of the PDU transmission; determine, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discard; if yes, The graphics data is parsed from the PDU, and the graphics data is encapsulated in a rule negotiated with the playback client.
优选地,所述发送模块,还设置为若预先设定正常速度播放,则等待第一预设时间后,向播放客户端输出数据;若预先设定需要n倍速度快速浏览,则等待第二预设时间后,向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;若预先设定需要单步播放以看到用户操作的细节,则向播放客户端输出一个数据后停止输出,直到收到 下一个单步指令。Preferably, the sending module is further configured to: if the normal speed playing is preset, wait for the first preset time, and output data to the playing client; if the preset needs n times speed to quickly browse, wait for the second After the preset time, the data is output to the playing client, where the second preset time is less than the first preset time, and n is greater than or equal to 1; if a preset step is required to see the details of the user operation, Then output a data to the playback client and stop outputting until receiving The next single step instruction.
优选地,所述播放服务器还包括:Preferably, the play server further includes:
协商模块,设置为建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。The negotiation module is configured to establish a connection with the play client and negotiate the data output rule with the play server.
优选地,所述协商模块,还设置为在播放服务器启动后,建立与播放控制器之间通讯的控制通道;接收所述播放控制器发送的数据回放指令;根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;基于所述接入地址,与所述播放客户端建立连接。Preferably, the negotiating module is further configured to: after the play server is started, establish a control channel for communication with the play controller; receive a data playback instruction sent by the play controller; according to the data playback instruction, The playback controller returns an access address, and the play controller forwards the access address to the play client; and establishes a connection with the play client based on the access address.
本发明实施例还提出一种回放RDP协议数据的系统,包括:播放客户端、播放服务器,以及控制所述播放客户端和播放服务器的播放控制器,其中:The embodiment of the invention further provides a system for playing back RDP protocol data, comprising: a playing client, a playing server, and a playing controller for controlling the playing client and the playing server, wherein:
所述播放服务器为权利要求6-10中任一项所述的播放服务器;The playing server is the playing server according to any one of claims 6-10;
所述播放客户端,设置为在所述播放控制器的控制下,接入所述播放服务器,并与所述播放服务器进行RDP协商,接收所述播放服务器输出的图形数据并显示;The playing client is configured to access the playing server under the control of the playing controller, and perform RDP negotiation with the playing server, and receive graphic data output by the playing server and display the graphic data;
所述播放控制器,还设置为发送播放指令给播放服务器,控制播放的起停和速度。The play controller is further configured to send a play command to the play server to control the start and stop and speed of the play.
本发明另一实施例提供了一种计算机存储介质,所述计算机存储介质存储有执行指令,所述执行指令用于执行上述实施例中的方法。Another embodiment of the present invention provides a computer storage medium storing execution instructions for performing the method in the above embodiments.
本发明提出的一种RDP协议数据回放方法、服务器及系统,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。The RDP protocol data playback method, server and system provided by the present invention, the playing server acquires graphic data to be played back; and the graphic data is sent to the playing client according to a preset data output rule, and the playing client is The terminal displays the received graphic data, and the solution can convert the acquired RDP protocol data into an image stream and the image can be played at normal speed, fast play, pause at a specified position, etc., avoiding specific protocol parsing to realize image stream reconstruction. , to meet the needs of image auditing.
附图说明DRAWINGS
图1为本发明回放RDP协议数据的系统较佳实施例的架构示意图;1 is a schematic structural diagram of a system for playing back RDP protocol data according to a preferred embodiment of the present invention;
图2为本发明RDP协议数据回放方法第一实施例的流程示意图;2 is a schematic flowchart of a first embodiment of a data playback method of an RDP protocol according to the present invention;
图3为本发明RDP协议数据回放方法第二实施例的流程示意图;3 is a schematic flowchart of a second embodiment of a RDP protocol data playback method according to the present invention;
图4为本发明回放RDP协议数据的播放服务器第一实施例的功能模块示意图; 4 is a schematic diagram of functional modules of a first embodiment of a playback server for playing back RDP protocol data according to the present invention;
图5为本发明回放RDP协议数据的播放服务器第二实施例的功能模块示意图。FIG. 5 is a schematic diagram of functional modules of a second embodiment of a playback server for playing back RDP protocol data according to the present invention.
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The implementation, functional features, and advantages of the present invention will be further described in conjunction with the embodiments.
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。In order to make the technical solutions of the present invention clearer and clearer, the following will be further described in detail with reference to the accompanying drawings.
具体实施方式detailed description
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
本发明实施例的主要解决方案是:播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。The main solution of the embodiment of the present invention is: the playing server acquires the graphic data to be played back; the graphic data is sent to the playing client according to a preset data output rule, and the received graphic data is displayed by the playing client. The solution can convert the acquired RDP protocol data into an image stream and the image can be played at normal speed, fast play, pause at a specified position, play with a minimum image change granularity, etc., avoiding specific protocol analysis to achieve The reconstruction of the image stream satisfies the needs of image auditing.
由于相关技术中通过解析RDP协议来重建图像流非常复杂,还存在无法解析最新协议数据的问题。Since the reconstruction of the image stream by parsing the RDP protocol in the related art is very complicated, there is also a problem that the latest protocol data cannot be parsed.
本发明提供一种解决方案,可以避开具体的RDP协议解析来实现图像流的重建,满足图像审计的需求。The invention provides a solution that can avoid the reconstruction of the image stream by avoiding the specific RDP protocol parsing and meet the requirements of image auditing.
可选地,如图1所示,本发明涉及的一种回放RDP协议数据的系统,包括:播放客户端、播放服务器,以及控制所述播放客户端和播放服务器的播放控制器,其中:Optionally, as shown in FIG. 1 , the system of the present invention relates to a system for playing back RDP protocol data, including: a playing client, a playing server, and a playing controller for controlling the playing client and the playing server, wherein:
所述播放服务器获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;播放服务器将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端;该数据输出规则可以包括对播放数据的正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等。The playing server acquires graphic data to be played back, and the graphic data is converted by RDP protocol data; the playing server sends the graphic data to the playing client according to a preset data output rule; the data output The rules may include normal speed playback of the playback data, fast play, pause at a specified location, playback at a minimum image change granularity, and the like.
所述播放客户端,设置为在所述播放控制器的控制下,接入所述播放服务器,并与所述播放服务器进行RDP协商,接收所述播放服务器输出的图形数据并显示;The playing client is configured to access the playing server under the control of the playing controller, and perform RDP negotiation with the playing server, and receive graphic data output by the playing server and display the graphic data;
所述播放控制器,还设置为发送播放指令给播放服务器,控制播放的起停和速度等。The play controller is further configured to send a play command to the play server to control the start and stop and speed of the play.
可选地,本实施例方案中,前提需要有获取的RDP协议数据并且拦截的RDP协议数据有一定的格式要求。由于图像是有时间概念的,单纯的数据流无法重建图像。因此,拦截的RDP协议数据需要有两个要素:RDP的协议数据单元(PDU)和该PDU发生传输的时间。Optionally, in the solution of the embodiment, the obtained RDP protocol data is required, and the intercepted RDP protocol data has a certain format requirement. Since the image is time-conceptual, a simple data stream cannot reconstruct the image. Therefore, the intercepted RDP protocol data needs to have two elements: the protocol data unit (PDU) of the RDP and the time when the PDU is transmitted.
该PDU是满足RDP协议的要求并且不被SSL协议或者RDP加密协议加密过的明文。The PDU is a plaintext that satisfies the requirements of the RDP protocol and is not encrypted by the SSL protocol or the RDP encryption protocol.
本实施例对RDP协议数据的拦截方案不作具体限定,比如,可以是通过在用户访问服务器的过程中插入网关进行拦截,也可以通过网络抓包工具转化而来。 In this embodiment, the interception scheme of the RDP protocol data is not specifically limited. For example, the interception may be performed by inserting a gateway in the process of the user accessing the server, or may be converted by the network packet capture tool.
另外,数据的存储方式也不限,可以是以文件的方式存在,也可以二进制方式存储于数据库中。In addition, the data storage method is not limited, and may exist as a file or in a binary manner in a database.
如前所述,参照图1,本发明方案涉及的系统架构包括:播放客户端、播放服务器、播放控制器及存储的数据构成。其中:As described above, referring to FIG. 1, the system architecture involved in the solution of the present invention includes: a playback client, a playback server, a playback controller, and stored data. among them:
播放客户端是一个兼容的RDP客户端,能够接收RDP协议数据,实现其中的协议原语,展现成图形,随着时间的变化,图形就可以成为视频。The playback client is a compatible RDP client that can receive RDP protocol data, implement the protocol primitives, and display the graphics. As time changes, the graphics can become video.
播放服务器是一个虚拟的RDP服务器,能够读取储存的数据转换为标准的RDP协议数据输出到RDP客户端,同时还接收播放控制器的指令。The playback server is a virtual RDP server that can read and store the stored data into standard RDP protocol data output to the RDP client, and also receive instructions from the playback controller.
播放控制器控制播放服务器和播放客户端。播放控制器通过发指定给播放服务器,可以控制播放的起停和速度。播放控制器负责启动播放客户端并指定其去连接播放服务器获取播放的数据。The playback controller controls the playback server and the playback client. The playback controller can control the start and stop and speed of the playback by assigning it to the playback server. The playback controller is responsible for launching the playback client and specifying that it is connected to the playback server to obtain the played data.
而在实际的存在形态上则不限,播放控制器、播放客户端与播放器服务器可以存在一个进程中,也可以分为在同一个主机上的两个或者多个进程,或者分布在通过网络连接的两个主机上。The actual existence form is not limited, the playback controller, the playback client and the player server may exist in one process, or may be divided into two or more processes on the same host, or distributed through the network. Connected on both hosts.
播放服务器可以作为一个预先启动的服务为很多播放客户端服务,也可以是由播放控制器启动特定为一个播放客户端服务。The playback server can serve as a pre-launch service for many playback clients, or it can be started by the playback controller specifically for a playback client service.
本发明实施例以一个专用的播放服务器为例描述实现方法。The embodiment of the present invention describes a implementation method by taking a dedicated playback server as an example.
首先,播放控制器启动播放服务器:First, the playback controller starts the playback server:
启动播放控制器,然后由播放控制器启动播放服务器,并建立与之通讯的控制通道。用户指定需要回放的数据,播放控制器将该信息传递给播放服务器。播放服务器返回给播放控制器一个接入地址,播放客户端将使用该接入地址接入播放服务器。Start the playback controller, then start the playback server by the playback controller and establish a control channel to communicate with it. The user specifies the data to be played back, and the playback controller passes the information to the playback server. The playback server returns an access address to the playback controller, and the playback client will use the access address to access the playback server.
然后,播放控制器启动播放客户端:Then, the playback controller starts the playback client:
播放控制器启动播放客户端,并将上述获取的接入地址传递给播放客户端。播放客户端根据该接入地址连接播放服务器。The playback controller starts the playback client and passes the obtained access address to the playback client. The playback client connects to the playback server according to the access address.
之后,播放客户端与播放服务器协议协商:After that, the playback client negotiates with the playback server protocol:
播放客户端接入播放服务器后,开始标准的RDP协议进行协商,其协商过程与录制原始数据过程中的协商步骤类似,只是在协商的过程中播放客户端只需要接收RDP协议中的图像通道中的数据,其他通道的数据则不再接收。协议协商阶段,播放服务器需要读取存储的图形数据,以还原原始的显示参数。After the client accesses the playback server, the standard RDP protocol is started to negotiate. The negotiation process is similar to the negotiation process in the process of recording the original data. Only during the negotiation process, the playback client only needs to receive the image channel in the RDP protocol. The data of other channels is no longer received. During the protocol negotiation phase, the playback server needs to read the stored graphics data to restore the original display parameters.
然后,播放客户端与播放服务器交互图形数据:Then, the playback client interacts with the playback server to graph data:
完成协议协商阶段后,播放服务器就开始读取存储的图形数据。详细过程如下: After completing the protocol negotiation phase, the playback server begins to read the stored graphics data. The detailed process is as follows:
1、播放服务器读取一个PDU和响应的时间戳。1. The play server reads the timestamp of a PDU and response.
2、根据PDU的类型判断是否是图形数据。判断的标准是PDU的通道ID是不是1003。如果是1003,则是图形数据,不是则丢弃。2. Determine whether it is graphic data according to the type of PDU. The criterion for judging is whether the channel ID of the PDU is 1003. If it is 1003, it is graphic data, if not, it will be discarded.
3、对PDU需要进行响应的处理。需要从原始的PDU中解出图像数据,然后根据与播放客户端的协商后的规则进行封装。3. The PDU needs to be processed in response. Image data needs to be resolved from the original PDU and then encapsulated according to the negotiated rules with the playback client.
4、根据播放控制器确定的播放速度和上一个时间戳确定等待的时间。比如:如播放控制器确定正常速度播放,则等待两个时间戳的时间差后,向播放客户端输出数据。如果需要2倍速度快速浏览,则只需要等待半个时间差就向播放客户端输出数据。如果播放控制器需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后就停止输出,直到收到播放控制器的下一个单步指令。4. Determine the waiting time according to the playback speed determined by the playback controller and the previous timestamp. For example, if the playback controller determines to play at normal speed, it waits for the time difference between the two timestamps to output data to the playback client. If you need 2x speed for quick browsing, you only need to wait half a time difference to output data to the playback client. If the playback controller needs to step through to see the details of the user's operation, the playback server stops outputting after outputting a data to the playback client until the next single step instruction of the playback controller is received.
5、播放客户端接收数据后,根据正常的流程进行处理,显示出录制数据时的图形。具体逻辑完全由RDP客户端来确定。5. After the playback client receives the data, it processes according to the normal process and displays the graphic when the data is recorded. The specific logic is completely determined by the RDP client.
本实施例通过上述方案,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。In this embodiment, the playing server acquires the graphic data to be played back by using the foregoing solution, and sends the graphic data to the playing client according to the preset data output rule, and the received graphic data is displayed by the playing client. The acquired RDP protocol data can be converted into an image stream and the image can be played at normal speed, fast played, paused at a specified position, etc., avoiding specific protocol parsing to realize image stream reconstruction, and meeting the requirements of image auditing.
基于上述系统架构,提出本发明RDP协议数据回放方法实施例。Based on the above system architecture, an embodiment of the RDP protocol data playback method of the present invention is proposed.
如图2所示,本发明第一实施例提供一种RDP协议数据回放方法,包括:As shown in FIG. 2, the first embodiment of the present invention provides an RDP protocol data playback method, including:
步骤S101,播放服务器获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;Step S101, the play server acquires graphic data to be played back, and the graphic data is converted by RDP protocol data;
步骤S102,将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。Step S102: Send the graphic data to the playing client according to a preset data output rule, and display the received graphic data by the playing client.
可选地,播放服务器获取拦截的RDP协议数据,并将RDP协议数据转换为图形数据存储在本地。Optionally, the playback server obtains the intercepted RDP protocol data, and converts the RDP protocol data into graphics data and stores it locally.
其中,本实施例对RDP协议数据的拦截方案不作具体限定,比如,可以是通过在用户访问服务器的过程中插入网关进行拦截,也可以通过网络抓包工具转化而来。The interception scheme of the RDP protocol data is not specifically limited in this embodiment. For example, the gateway may be intercepted during the process of the user accessing the server, or may be converted by the network packet capture tool.
另外,数据的存储方式也不限,可以是以文件的方式存在,也可以二进制方式存储于数据库中。In addition, the data storage method is not limited, and may exist as a file or in a binary manner in a database.
本实施例播放服务器是一个虚拟的RDP服务器,能够读取储存的图形数据,同时还接收播放控制器的指令。 The playback server of this embodiment is a virtual RDP server capable of reading stored graphics data and also receiving instructions of the playback controller.
播放控制器控制播放服务器和播放客户端。播放控制器通过发指定给播放服务器,可以控制播放的起停和速度。播放控制器负责启动播放客户端并指定其去连接播放服务器获取播放的数据。The playback controller controls the playback server and the playback client. The playback controller can control the start and stop and speed of the playback by assigning it to the playback server. The playback controller is responsible for launching the playback client and specifying that it is connected to the playback server to obtain the played data.
而在实际的存在形态上则不限,播放控制器、播放客户端与播放器服务器可以存在一个进程中,也可以分为在同一个主机上的两个或者多个进程,或者分布在通过网络连接的两个主机上。The actual existence form is not limited, the playback controller, the playback client and the player server may exist in one process, or may be divided into two or more processes on the same host, or distributed through the network. Connected on both hosts.
播放服务器可以作为一个预先启动的服务为很多播放客户端服务,也可以是由播放控制器启动特定为一个播放客户端服务。The playback server can serve as a pre-launch service for many playback clients, or it can be started by the playback controller specifically for a playback client service.
其中,播放服务器在获取待回放的图形数据时,可以采用如下方案:The playback server may adopt the following scheme when acquiring graphic data to be played back:
所述播放服务器读取RDP的PDU以及所述PDU发生传输的时间戳;根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。The playback server reads the PDU of the RDP and the timestamp of the transmission of the PDU; determines whether the data transmitted by the PDU is graphic data according to the type of the PDU; if not, discards; if yes, parses from the PDU Graphical data is presented and encapsulated in a rule negotiated with the playback client.
本实施例设定的数据输出规则可以为:The data output rule set in this embodiment may be:
若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
本发明实施例以一个专用的播放服务器为例描述实现方法。The embodiment of the present invention describes a implementation method by taking a dedicated playback server as an example.
首先,播放控制器启动播放服务器:First, the playback controller starts the playback server:
启动播放控制器,然后由播放控制器启动播放服务器,并建立与之通讯的控制通道。用户指定需要回放的数据,播放控制器将该信息传递给播放服务器。播放服务器返回给播放控制器一个接入地址,播放客户端将使用该接入地址接入播放服务器。Start the playback controller, then start the playback server by the playback controller and establish a control channel to communicate with it. The user specifies the data to be played back, and the playback controller passes the information to the playback server. The playback server returns an access address to the playback controller, and the playback client will use the access address to access the playback server.
然后,播放控制器启动播放客户端:Then, the playback controller starts the playback client:
播放控制器启动播放客户端,并将上述获取的接入地址传递给播放客户端。播放客户端根据该接入地址连接播放服务器。The playback controller starts the playback client and passes the obtained access address to the playback client. The playback client connects to the playback server according to the access address.
之后,播放客户端与播放服务器协议协商:After that, the playback client negotiates with the playback server protocol:
播放客户端接入播放服务器后,开始标准的RDP协议进行协商,其协商过程与录制原始 数据过程中的协商步骤类似,只是在协商的过程中播放客户端只需要接收RDP协议中的图像通道中的数据,其他通道的数据则不再接收。协议协商阶段,播放服务器需要读取存储的图形数据,以还原原始的显示参数。After the client accesses the playback server, the standard RDP protocol is started for negotiation, and the negotiation process and recording original The negotiation process in the data process is similar, except that during playback, the client only needs to receive data from the image channel in the RDP protocol, and the data of other channels is no longer received. During the protocol negotiation phase, the playback server needs to read the stored graphics data to restore the original display parameters.
然后,播放客户端与播放服务器交互图形数据:Then, the playback client interacts with the playback server to graph data:
完成协议协商阶段后,播放服务器就开始读取存储的图形数据。详细过程如下:After completing the protocol negotiation phase, the playback server begins to read the stored graphics data. The detailed process is as follows:
1、播放服务器读取一个PDU和响应的时间戳。1. The play server reads the timestamp of a PDU and response.
2、根据PDU的类型判断是否是图形数据。判断的标准是PDU的通道ID是不是1003。如果是1003,则是图形数据,不是则丢弃。2. Determine whether it is graphic data according to the type of PDU. The criterion for judging is whether the channel ID of the PDU is 1003. If it is 1003, it is graphic data, if not, it will be discarded.
3、对PDU需要进行响应的处理。需要从原始的PDU中解出图像数据,然后根据与播放客户端的协商后的规则进行封装。3. The PDU needs to be processed in response. Image data needs to be resolved from the original PDU and then encapsulated according to the negotiated rules with the playback client.
4、根据播放控制器确定的播放速度和上一个时间戳确定等待的时间。比如:如播放控制器确定正常速度播放,则等待两个时间戳的时间差后,向播放客户端输出数据。如果需要2倍速度快速浏览,则只需要等待半个时间差就向播放客户端输出数据。如果播放控制器需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后就停止输出,直到收到播放控制器的下一个单步指令。4. Determine the waiting time according to the playback speed determined by the playback controller and the previous timestamp. For example, if the playback controller determines to play at normal speed, it waits for the time difference between the two timestamps to output data to the playback client. If you need 2x speed for quick browsing, you only need to wait half a time difference to output data to the playback client. If the playback controller needs to step through to see the details of the user's operation, the playback server stops outputting after outputting a data to the playback client until the next single step instruction of the playback controller is received.
5、播放客户端接收数据后,根据正常的流程进行处理,显示出录制数据时的图形。具体逻辑完全由RDP客户端来确定。5. After the playback client receives the data, it processes according to the normal process and displays the graphic when the data is recorded. The specific logic is completely determined by the RDP client.
本实施例通过上述方案,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。In this embodiment, the playing server acquires the graphic data to be played back by using the foregoing solution, and sends the graphic data to the playing client according to the preset data output rule, and the received graphic data is displayed by the playing client. The acquired RDP protocol data can be converted into an image stream and the image can be played at normal speed, fast played, paused at a specified position, etc., avoiding specific protocol parsing to realize image stream reconstruction, and meeting the requirements of image auditing.
如图3所示,本发明第二实施例提出一种RDP协议数据回放方法,基于上述图2所示的实施例,该方法在播放服务器获取待回放的图形数据的步骤之前还包括:As shown in FIG. 3, the second embodiment of the present invention provides an RDP protocol data playback method. The method further includes: before the step of acquiring the graphic data to be played back by the playback server, according to the embodiment shown in FIG.
步骤S100,所述播放服务器建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。Step S100, the playing server establishes a connection with the playing client, and negotiates the data output rule with the playing server.
其中,本实施例设定的数据输出规则可以为:The data output rule set in this embodiment may be:
若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1; If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
由此可以实现将图像以正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。Thereby, the image can be played at normal speed, fast play, paused at a specified position, played with a minimum image change granularity, etc., avoiding specific protocol parsing to achieve image stream reconstruction, meeting the needs of image auditing .
其中,播放服务器建立与播放客户端的连接的过程具体如下:The process of establishing a connection between the playback server and the playing client is as follows:
播放服务器在启动后,建立与播放控制器之间通讯的控制通道;After the playback server is started, establishing a control channel for communication with the playback controller;
接收所述播放控制器发送的数据回放指令;Receiving a data playback instruction sent by the play controller;
根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;Returning, according to the data playback instruction, an access address to the play controller, and forwarding, by the play controller, the access address to the play client;
基于所述接入地址,与所述播放客户端建立连接。Establishing a connection with the playback client based on the access address.
本实施例通过上述方案,播放服务器建立与播放客户端的连接,并与所述播放服务器协商数据输出规则,之后,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。In this embodiment, the playback server establishes a connection with the playback client and negotiates a data output rule with the playback server. After that, the playback server acquires graphics data to be played back; and outputs the graphics data with preset data. a rule for transmitting a playback client, wherein the playback client displays the received graphics data, the scheme can convert the acquired RDP protocol data into an image stream and the image can be played at a normal speed, quickly played, paused at a specified location, The minimum image change granularity is used for playing, etc., and the specific protocol analysis is avoided to realize the reconstruction of the image stream, which satisfies the requirements of image auditing.
对应地,提出本发明回放RDP协议数据的播放服务器实施例。Correspondingly, an embodiment of a playback server for playing back RDP protocol data of the present invention is proposed.
如图4所示,本发明第一实施例提出一种回放RDP协议数据的播放服务器,包括:获取模块201及发送模块202,其中:As shown in FIG. 4, the first embodiment of the present invention provides a playback server for playing back RDP protocol data, including: an obtaining module 201 and a sending module 202, where:
获取模块201,设置为获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;The obtaining module 201 is configured to acquire graphic data to be played back, where the graphic data is converted by RDP protocol data;
发送模块202,设置为将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。The sending module 202 is configured to send the graphic data to the playing client by using a preset data output rule, and the receiving client displays the received graphic data.
可选地,所述获取模块201,还设置为读取RDP的PDU以及所述PDU发生传输的时间戳;根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。Optionally, the obtaining module 201 is further configured to: read a PDU of the RDP and a timestamp of the PDU transmission; determine, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discard; If so, the graphics data is parsed from the PDU and the graphics data is encapsulated in a rule negotiated with the playback client.
可选地,所述发送模块202,还设置为若预先设定正常速度播放,则等待第一预设时间后,向播放客户端输出数据;若预先设定需要n倍速度快速浏览,则等待第二预设时间后,向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;若预先设定 需要单步播放以看到用户操作的细节,则向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。Optionally, the sending module 202 is further configured to: if the normal speed playing is preset, wait for the first preset time, and output data to the playing client; if the preset needs n times speed to quickly browse, wait After the second preset time, the data is output to the playing client, where the second preset time is less than the first preset time, n is greater than or equal to 1; If you need to step through to see the details of the user's operation, then output a data to the playback client and stop output until the next single step instruction is received.
可选地,播放服务器获取拦截的RDP协议数据,并将RDP协议数据转换为图形数据存储在本地。Optionally, the playback server obtains the intercepted RDP protocol data, and converts the RDP protocol data into graphics data and stores it locally.
其中,本实施例对RDP协议数据的拦截方案不作具体限定,比如,可以是通过在用户访问服务器的过程中插入网关进行拦截,也可以通过网络抓包工具转化而来。The interception scheme of the RDP protocol data is not specifically limited in this embodiment. For example, the gateway may be intercepted during the process of the user accessing the server, or may be converted by the network packet capture tool.
另外,数据的存储方式也不限,可以是以文件的方式存在,也可以二进制方式存储于数据库中。In addition, the data storage method is not limited, and may exist as a file or in a binary manner in a database.
本实施例播放服务器是一个虚拟的RDP服务器,能够读取储存的图形数据,同时还接收播放控制器的指令。The playback server of this embodiment is a virtual RDP server capable of reading stored graphics data and also receiving instructions of the playback controller.
播放控制器控制播放服务器和播放客户端。播放控制器通过发指定给播放服务器,可以控制播放的起停和速度。播放控制器负责启动播放客户端并指定其去连接播放服务器获取播放的数据。The playback controller controls the playback server and the playback client. The playback controller can control the start and stop and speed of the playback by assigning it to the playback server. The playback controller is responsible for launching the playback client and specifying that it is connected to the playback server to obtain the played data.
而在实际的存在形态上则不限,播放控制器、播放客户端与播放器服务器可以存在一个进程中,也可以分为在同一个主机上的两个或者多个进程,或者分布在通过网络连接的两个主机上。The actual existence form is not limited, the playback controller, the playback client and the player server may exist in one process, or may be divided into two or more processes on the same host, or distributed through the network. Connected on both hosts.
播放服务器可以作为一个预先启动的服务为很多播放客户端服务,也可以是由播放控制器启动特定为一个播放客户端服务。The playback server can serve as a pre-launch service for many playback clients, or it can be started by the playback controller specifically for a playback client service.
其中,播放服务器在获取待回放的图形数据时,具体可以采用如下方案:Wherein, when the playback server obtains the graphic data to be played back, the following scheme may be specifically adopted:
所述播放服务器读取RDP的PDU以及所述PDU发生传输的时间戳;根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。The playback server reads the PDU of the RDP and the timestamp of the transmission of the PDU; determines whether the data transmitted by the PDU is graphic data according to the type of the PDU; if not, discards; if yes, parses from the PDU Graphical data is presented and encapsulated in a rule negotiated with the playback client.
本实施例设定的数据输出规则可以为:The data output rule set in this embodiment may be:
若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。 If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
本发明实施例以一个专用的播放服务器为例描述实现方法。The embodiment of the present invention describes a implementation method by taking a dedicated playback server as an example.
首先,播放控制器启动播放服务器:First, the playback controller starts the playback server:
启动播放控制器,然后由播放控制器启动播放服务器,并建立与之通讯的控制通道。用户指定需要回放的数据,播放控制器将该信息传递给播放服务器。播放服务器返回给播放控制器一个接入地址,播放客户端将使用该接入地址接入播放服务器。Start the playback controller, then start the playback server by the playback controller and establish a control channel to communicate with it. The user specifies the data to be played back, and the playback controller passes the information to the playback server. The playback server returns an access address to the playback controller, and the playback client will use the access address to access the playback server.
然后,播放控制器启动播放客户端:Then, the playback controller starts the playback client:
播放控制器启动播放客户端,并将上述获取的接入地址传递给播放客户端。播放客户端根据该接入地址连接播放服务器。The playback controller starts the playback client and passes the obtained access address to the playback client. The playback client connects to the playback server according to the access address.
之后,播放客户端与播放服务器协议协商:After that, the playback client negotiates with the playback server protocol:
播放客户端接入播放服务器后,开始标准的RDP协议进行协商,其协商过程与录制原始数据过程中的协商步骤类似,只是在协商的过程中播放客户端只需要接收RDP协议中的图像通道中的数据,其他通道的数据则不再接收。协议协商阶段,播放服务器需要读取存储的图形数据,以还原原始的显示参数。After the client accesses the playback server, the standard RDP protocol is started to negotiate. The negotiation process is similar to the negotiation process in the process of recording the original data. Only during the negotiation process, the playback client only needs to receive the image channel in the RDP protocol. The data of other channels is no longer received. During the protocol negotiation phase, the playback server needs to read the stored graphics data to restore the original display parameters.
然后,播放客户端与播放服务器交互图形数据:Then, the playback client interacts with the playback server to graph data:
完成协议协商阶段后,播放服务器就开始读取存储的图形数据。详细过程如下:After completing the protocol negotiation phase, the playback server begins to read the stored graphics data. The detailed process is as follows:
1、播放服务器读取一个PDU和响应的时间戳。1. The play server reads the timestamp of a PDU and response.
2、根据PDU的类型判断是否是图形数据。判断的标准是PDU的通道ID是不是1003。如果是1003,则是图形数据,不是则丢弃。2. Determine whether it is graphic data according to the type of PDU. The criterion for judging is whether the channel ID of the PDU is 1003. If it is 1003, it is graphic data, if not, it will be discarded.
3、对PDU需要进行响应的处理。需要从原始的PDU中解出图像数据,然后根据与播放客户端的协商后的规则进行封装。3. The PDU needs to be processed in response. Image data needs to be resolved from the original PDU and then encapsulated according to the negotiated rules with the playback client.
4、根据播放控制器确定的播放速度和上一个时间戳确定等待的时间。比如:如播放控制器确定正常速度播放,则等待两个时间戳的时间差后,向播放客户端输出数据。如果需要2倍速度快速浏览,则只需要等待半个时间差就向播放客户端输出数据。如果播放控制器需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后就停止输出,直到收到播放控制器的下一个单步指令。4. Determine the waiting time according to the playback speed determined by the playback controller and the previous timestamp. For example, if the playback controller determines to play at normal speed, it waits for the time difference between the two timestamps to output data to the playback client. If you need 2x speed for quick browsing, you only need to wait half a time difference to output data to the playback client. If the playback controller needs to step through to see the details of the user's operation, the playback server stops outputting after outputting a data to the playback client until the next single step instruction of the playback controller is received.
5、播放客户端接收数据后,根据正常的流程进行处理,显示出录制数据时的图形。具体逻辑完全由RDP客户端来确定。5. After the playback client receives the data, it processes according to the normal process and displays the graphic when the data is recorded. The specific logic is completely determined by the RDP client.
本实施例通过上述方案,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指 定位置等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。In this embodiment, the playing server acquires the graphic data to be played back by using the foregoing solution, and sends the graphic data to the playing client according to the preset data output rule, and the received graphic data is displayed by the playing client. Ability to convert acquired RDP protocol data into image stream and image can be played at normal speed, fast play, paused in the finger Positioning, etc., avoiding the specific protocol analysis to achieve image stream reconstruction, meeting the needs of image auditing.
如图5所示,本发明第二实施例提出一种回放RDP协议数据的播放服务器,所述播放服务器还包括:As shown in FIG. 5, a second embodiment of the present invention provides a playback server that plays back RDP protocol data, and the playback server further includes:
协商模块200,设置为建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。The negotiation module 200 is configured to establish a connection with the play client and negotiate the data output rule with the play server.
其中,本实施例设定的数据输出规则可以为:The data output rule set in this embodiment may be:
若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
由此可以实现将图像以正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。Thereby, the image can be played at normal speed, fast play, paused at a specified position, played with a minimum image change granularity, etc., avoiding specific protocol parsing to achieve image stream reconstruction, meeting the needs of image auditing .
其中,播放服务器建立与播放客户端的连接的过程具体如下:The process of establishing a connection between the playback server and the playing client is as follows:
播放服务器在启动后,建立与播放控制器之间通讯的控制通道;After the playback server is started, establishing a control channel for communication with the playback controller;
接收所述播放控制器发送的数据回放指令;Receiving a data playback instruction sent by the play controller;
根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;Returning, according to the data playback instruction, an access address to the play controller, and forwarding, by the play controller, the access address to the play client;
基于所述接入地址,与所述播放客户端建立连接。Establishing a connection with the playback client based on the access address.
本实施例通过上述方案,播放服务器建立与播放客户端的连接,并与所述播放服务器协商数据输出规则,之后,播放服务器获取待回放的图形数据;将所述图形数据以预先设定的数据输出规则,发送述播放客户端,由所述播放客户端显示接收的图形数据,该方案能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置、以最小的图像变化粒度来进行播放等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求;通过构建一个虚拟的服务器,借用已有的RDP客户端实现,以非常简单、高效的方式实现RDP协议数据的回放功能。In this embodiment, the playback server establishes a connection with the playback client and negotiates a data output rule with the playback server. After that, the playback server acquires graphics data to be played back; and outputs the graphics data with preset data. a rule for transmitting a playback client, wherein the playback client displays the received graphics data, the scheme can convert the acquired RDP protocol data into an image stream and the image can be played at a normal speed, quickly played, paused at a specified location, Minimal image change granularity for playback, etc., avoiding specific protocol parsing to achieve image stream reconstruction, meeting the needs of image auditing; by constructing a virtual server, borrowing from existing RDP client, it is very simple An efficient way to implement playback of RDP protocol data.
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质中存储有执行指令,该执行指令用于执行上述的方法。Embodiments of the present invention also provide a storage medium. Optionally, in this embodiment, an execution instruction is stored in the storage medium, and the execution instruction is used to execute the foregoing method.
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬 盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in the embodiment, the foregoing storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), and a Random Access Memory (RAM). Mobile hard A variety of media that can store program code, such as disks, disks, or optical disks.
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the invention, and the equivalent structure or process changes made by the specification and the drawings of the present invention may be directly or indirectly applied to other related technical fields. The same is included in the scope of patent protection of the present invention.
工业实用性Industrial applicability
如上所述,本发明实施例提供的一种RDP协议数据回放方法、服务器及系统具有以下有益效果:能够将获取的RDP协议数据转换为图像流并且图像能够以正常速度播放、快速播放、暂停在指定位置等,避开了具体的协议解析来实现图像流的重建,满足了图像审计的需求。 As described above, an RDP protocol data playback method, server, and system provided by an embodiment of the present invention have the following beneficial effects: the acquired RDP protocol data can be converted into an image stream and the image can be played at a normal speed, quickly played, and paused. Specifying the location, etc., avoiding the specific protocol parsing to achieve image stream reconstruction, meeting the needs of image auditing.

Claims (11)

  1. 一种RDP协议数据回放方法,包括:A RDP protocol data playback method includes:
    播放服务器获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;The playing server acquires graphic data to be played back, and the graphic data is converted by RDP protocol data;
    将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。The graphic data is sent to the playing client by a preset data output rule, and the received graphic data is displayed by the playing client.
  2. 根据权利要求1所述的方法,其中,所述播放服务器获取待回放的图形数据的步骤包括:The method of claim 1, wherein the step of the playback server acquiring graphics data to be played back comprises:
    所述播放服务器读取RDP的PDU以及所述PDU发生传输的时间戳;The playback server reads the PDU of the RDP and the timestamp of the transmission of the PDU;
    根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;Determining, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discarding;
    若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。If so, the graphics data is parsed from the PDU and the graphics data is encapsulated in a rule negotiated with the playback client.
  3. 根据权利要求1所述的方法,其中,所述将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端的步骤包括:The method of claim 1, wherein the step of transmitting the graphic data to the playback client with a preset data output rule comprises:
    若预先设定正常速度播放,则等待第一预设时间后,播放服务器向播放客户端输出数据;If the normal speed playback is preset, after waiting for the first preset time, the playback server outputs data to the playback client;
    若预先设定需要n倍速度快速浏览,则等待第二预设时间后,播放服务器向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;If the n-speed is required to be quickly browsed, the playback server outputs data to the playback client after waiting for the second preset time, where the second preset time is less than the first preset time, and n is greater than or equal to 1 ;
    若预先设定需要单步播放以看到用户操作的细节,则播放服务器向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。If the preset needs to be stepped to see the details of the user operation, the playback server outputs a data to the playback client and stops outputting until the next single step instruction is received.
  4. 根据权利要求1、2或3所述的方法,其中,所述播放服务器获取待回放的图形数据的步骤之前还包括:The method according to claim 1, 2 or 3, wherein the step of the playback server acquiring the graphic data to be played back further comprises:
    所述播放服务器建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。The play server establishes a connection with the play client and negotiates the data output rule with the play server.
  5. 根据权利要求4所述的方法,其中,所述播放服务器建立与所述播放客户端的连接的步骤包括:The method of claim 4, wherein the step of the play server establishing a connection with the play client comprises:
    播放服务器在启动后,建立与播放控制器之间通讯的控制通道;After the playback server is started, establishing a control channel for communication with the playback controller;
    接收所述播放控制器发送的数据回放指令;Receiving a data playback instruction sent by the play controller;
    根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;Returning, according to the data playback instruction, an access address to the play controller, and forwarding, by the play controller, the access address to the play client;
    基于所述接入地址,与所述播放客户端建立连接。Establishing a connection with the playback client based on the access address.
  6. 一种回放RDP协议数据的播放服务器,包括: A playback server that plays back RDP protocol data, including:
    获取模块,设置为获取待回放的图形数据,所述图形数据由RDP协议数据转换而来;Obtaining a module, configured to acquire graphic data to be played back, wherein the graphic data is converted by RDP protocol data;
    发送模块,设置为将所述图形数据以预先设定的数据输出规则,发送至所述播放客户端,由所述播放客户端显示接收的图形数据。The sending module is configured to send the graphic data to the playing client according to a preset data output rule, and the received graphic data is displayed by the playing client.
  7. 根据权利要求6所述的播放服务器,其中,The playback server according to claim 6, wherein
    所述获取模块,还设置为读取RDP的PDU以及所述PDU发生传输的时间戳;根据所述PDU的类型判断PDU传输的数据是否为图形数据;若不是,则丢弃;若是,则从所述PDU中解析出图形数据,并将所述图形数据以与所述播放客户端协商的规则进行封装。The acquiring module is further configured to: read a PDU of the RDP and a timestamp of the PDU transmission; determine, according to the type of the PDU, whether the data transmitted by the PDU is graphic data; if not, discard; if yes, the slave The graphics data is parsed in the PDU, and the graphics data is encapsulated in a rule negotiated with the playback client.
  8. 根据权利要求6所述的播放服务器,其中,The playback server according to claim 6, wherein
    所述发送模块,还设置为若预先设定正常速度播放,则等待第一预设时间后,向播放客户端输出数据;若预先设定需要n倍速度快速浏览,则等待第二预设时间后,向播放客户端输出数据,所述第二预设时间小于所述第一预设时间,n大于或等于1;若预先设定需要单步播放以看到用户操作的细节,则向播放客户端输出一个数据后停止输出,直到收到下一个单步指令。The sending module is further configured to: if the normal speed playing is preset, wait for the first preset time, and output data to the playing client; if the preset needs to be n times speed fast browsing, wait for the second preset time After the data is output to the playback client, the second preset time is less than the first preset time, n is greater than or equal to 1; if the preset needs to be stepped to see the details of the user operation, then the playback is performed. The client stops output after outputting a data until the next single step instruction is received.
  9. 根据权利要求6、7或8所述的播放服务器,其中,所述播放服务器还包括:The play server according to claim 6, 7 or 8, wherein the play server further comprises:
    协商模块,设置为建立与所述播放客户端的连接,并与所述播放服务器协商所述数据输出规则。The negotiation module is configured to establish a connection with the play client and negotiate the data output rule with the play server.
  10. 根据权利要求9所述的播放服务器,其中,The playback server according to claim 9, wherein
    所述协商模块,还设置为在播放服务器启动后,建立与播放控制器之间通讯的控制通道;接收所述播放控制器发送的数据回放指令;根据所述数据回放指令,向所述播放控制器返回一接入地址,由所述播放控制器将所述接入地址转发给所述播放客户端;基于所述接入地址,与所述播放客户端建立连接。The negotiation module is further configured to: after the play server is started, establish a control channel for communication with the play controller; receive a data playback instruction sent by the play controller; and control the play according to the data playback instruction Returning an access address, and the play controller forwards the access address to the play client; and establishes a connection with the play client based on the access address.
  11. 一种回放RDP协议数据的系统,包括:播放客户端、播放服务器,以及控制所述播放客户端和播放服务器的播放控制器,其中:A system for playing back RDP protocol data, comprising: a playing client, a playing server, and a playing controller for controlling the playing client and the playing server, wherein:
    所述播放服务器为权利要求6-10中任一项所述的播放服务器;The playing server is the playing server according to any one of claims 6-10;
    所述播放客户端,设置为在所述播放控制器的控制下,接入所述播放服务器,并与所述播放服务器进行RDP协商,接收所述播放服务器输出的图形数据并显示;The playing client is configured to access the playing server under the control of the playing controller, and perform RDP negotiation with the playing server, and receive graphic data output by the playing server and display the graphic data;
    所述播放控制器,还设置为发送播放指令给播放服务器,控制播放的起停和速度。 The play controller is further configured to send a play command to the play server to control the start and stop and speed of the play.
PCT/CN2016/079192 2015-08-06 2016-04-13 Rdp data playback method, server and system WO2017020607A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510479214.6 2015-08-06
CN201510479214.6A CN106453202A (en) 2015-08-06 2015-08-06 RDP protocol data playback method, playing server and system thereof

Publications (1)

Publication Number Publication Date
WO2017020607A1 true WO2017020607A1 (en) 2017-02-09

Family

ID=57942382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/079192 WO2017020607A1 (en) 2015-08-06 2016-04-13 Rdp data playback method, server and system

Country Status (2)

Country Link
CN (1) CN106453202A (en)
WO (1) WO2017020607A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948572A (en) * 2017-11-21 2018-04-20 深圳竹云科技有限公司 A kind of protocol level record screen back method
CN114390355A (en) * 2021-12-10 2022-04-22 阿里巴巴(中国)有限公司 Playback method of protocol data and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848214A (en) * 2010-04-30 2010-09-29 南京德讯信息系统有限公司 Free location and playback method based on RDP (Remote Desktop Protocol) audit data as well as system
CN102752570A (en) * 2012-07-30 2012-10-24 德讯科技股份有限公司 Echo zooming method and system based on dynamic rectangular region partitioning of RDP (remote desktop protocol)
US20130283171A1 (en) * 2012-03-28 2013-10-24 Skytap Methods and systems for an intermediate graphical desktop sharing protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848214A (en) * 2010-04-30 2010-09-29 南京德讯信息系统有限公司 Free location and playback method based on RDP (Remote Desktop Protocol) audit data as well as system
US20130283171A1 (en) * 2012-03-28 2013-10-24 Skytap Methods and systems for an intermediate graphical desktop sharing protocol
CN102752570A (en) * 2012-07-30 2012-10-24 德讯科技股份有限公司 Echo zooming method and system based on dynamic rectangular region partitioning of RDP (remote desktop protocol)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948572A (en) * 2017-11-21 2018-04-20 深圳竹云科技有限公司 A kind of protocol level record screen back method
CN114390355A (en) * 2021-12-10 2022-04-22 阿里巴巴(中国)有限公司 Playback method of protocol data and electronic equipment

Also Published As

Publication number Publication date
CN106453202A (en) 2017-02-22

Similar Documents

Publication Publication Date Title
KR101596530B1 (en) Systems and methods for managing multimedia operations in remote sessions
JP4772375B2 (en) Electronic device and content management method
JP5288710B2 (en) Information storage medium recording multimedia data, reproducing method and reproducing apparatus thereof
US20060188096A1 (en) Systems and methods for remotely controlling computer applications
US20140137168A1 (en) Transmitting apparatus, control method for transmitting apparatus, control program, and recording medium
JP5599320B2 (en) Integrated communication system and method
JP2007521526A (en) Determining a distributed topology for streaming data
US10034057B2 (en) Message processing method, device, gateway, STB and IPTV
JPWO2008153067A1 (en) Content distribution apparatus, content distribution method, program, and content distribution system.
WO2018049867A1 (en) Method and apparatus for performing synchronization operation on contents
WO2015196590A1 (en) Method and apparatus for playing desktop cloud video
WO2017020607A1 (en) Rdp data playback method, server and system
JP5552171B2 (en) Live media stream time shift
JP5248640B2 (en) Electronics
JP2003203023A (en) Information processing system, information processor, information processing method, and information processing network program
WO2023246927A1 (en) Cloud desktop system, network redirection method, and device and storage medium
JP2010056966A (en) Server for transmitting image content, image display device, method of transmitting image content, and method of displaying image
JP4439880B2 (en) Content distribution system, content server, content receiving device, content distribution method, recording medium, and program
AU2005272636A1 (en) Systems and methods for remotely controlling computer applications
WO2016177257A1 (en) Data sharing method and device
JP2005149029A (en) Content delivery system, content server, content receiving device, content delivery method, program and recording medium
CN110719309B (en) Virtual desktop connection method, proxy device, system, equipment and storage medium
JP5361031B2 (en) Cryptographic authentication processing method and apparatus
JP2005110024A (en) Data transmitter, data transmission/reception system, and data transmission/reception method
US7814168B2 (en) Unit-to-unit data exchange system, and unit, exchange completion data keeping device and program for use in the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16832096

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16832096

Country of ref document: EP

Kind code of ref document: A1