Remote desktop control method and system, electronic equipment and storage medium

By creating desktop buffers on the server and compressing encoded video streams, the problems of lag and delay in remote desktop technology are solved, and the user experience and network resource utilization are improved, and different network environments are adapted to.

CN119211599APending Publication Date: 2024-12-27VISIONVERA INFORMATION TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411146527.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-20
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

There are lag and delay problems in remote desktop technology, especially in network environments with limited bandwidth, which affects user experience and operational fluency.

Method used

Create a desktop buffer on the server, collect and process the original video stream in real time, and compress and encode it into a pixel stream, transmit it to the client, and the client performs decoding and displaying. Reduce data volume through compression encoding, optimize data transmission efficiency, reduce network load, and ensure the stability of video streams when network fluctuations.

Benefits of technology

Significantly reduces the amount of data, reduces the bandwidth required for transmission, improves network resource utilization, reduces lag, enhances the stability and user experience of video streams, adapts to different network environments and client needs, and expands remote Scope of application of desktop technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211599A_ABST
    Figure CN119211599A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a remote desktop control method and system, applied to a server, and the method comprises the following steps: obtaining access request information of a remote desktop from a client; creating a desktop buffer area according to the access request information, and collecting an original video stream of the server; updating the original video stream to the desktop buffer area; performing compression coding on the original video stream in the desktop buffer area to obtain a pixel stream; and transmitting the pixel stream to the client, so that the client decodes and displays the pixel stream. According to the embodiment of the invention, more efficient remote desktop transmission is realized, the problems of jamming and time delay are reduced, the fluency of remote operation and the utilization rate of network bandwidth are improved, and the adaptability and reliability of a remote desktop system are enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a remote desktop control method, a remote desktop control system, an electronic device, and a computer-readable storage medium. Background Art

[0002] Remote desktop technology plays a vital role in the modern information society, especially in the fields of remote office, cross-regional collaboration, technical support and operation and maintenance management. Remote Desktop Protocol (RDP) is a communication protocol developed by Microsoft for remote access and management of computers. Through RDP, users can connect to the host from a remote device and access and control the desktop environment, file system and applications of the host in real time, just like operating the host directly.

[0003] With the development of information technology and the acceleration of globalization, remote office and distributed work modes have gradually become the norm. Enterprises and individuals are increasingly relying on remote desktop technology to achieve efficient cross-regional collaboration. However, although RDP, as a mature remote access solution, has been widely deployed and widely recognized, in actual use, users still face a series of technical challenges, especially freezes and delays. Summary of the invention

[0004] In view of the above problems, embodiments of the present invention are proposed to provide a remote desktop control method, a remote desktop control system, an electronic device, and a computer-readable storage medium that overcome the above problems or at least partially solve the above problems.

[0005] In order to solve the above problems, an embodiment of the present invention discloses a remote desktop control method, which is applied to a server, and the method includes: obtaining access request information of the remote desktop from a client; creating a desktop buffer according to the access request information, and collecting the original video stream of the server; updating the original video stream to the desktop buffer; compressing and encoding the original video stream in the desktop buffer to obtain a pixel stream; transmitting the pixel stream to the client, so that the client decodes and displays the pixel stream.

[0006] Optionally, transmitting the pixel stream to the client includes: encapsulating the pixel stream into a remote desktop protocol RDP format to obtain RDP data; transmitting the RDP data to a virtual network card on the server; obtaining the RDP data from the virtual network card using a proxy plug-in on the server; and transmitting the RDP data to the client through a video channel.

[0007] Optionally, before obtaining the access request information of the remote desktop from the client, the method also includes: obtaining the connection request information of the remote desktop from the client; parsing the connection request information using the proxy plug-in to obtain connection request data, and transmitting the connection request data to the virtual network card; reading the connection request data from the virtual network card through the RDP application on the server, generating connection confirmation data according to the connection request data, and returning the connection confirmation data to the virtual network card; obtaining the connection confirmation data from the virtual network card using the proxy plug-in, and transmitting the connection confirmation data to the client; obtaining the connection establishment information of the remote desktop from the client; and establishing an RDP connection between the server and the client according to the connection establishment information.

[0008] Optionally, after creating the RDP connection between the server and the client according to the connection establishment information, the method further includes: obtaining establishment request information of the video channel from the client; and creating the video channel according to the establishment request information.

[0009] Optionally, before obtaining the access request information of the remote desktop from the client, the method further includes: using the proxy plug-in to apply for network card identification information for the virtual network card, and configuring a corresponding network address for the virtual network card according to the network card identification information.

[0010] Optionally, after transmitting the pixel stream to the client so that the client decodes and displays the pixel stream, the method further includes: obtaining control instructions of the remote desktop from the client through a business channel between the server and the client; executing the control instructions to obtain an instruction response result; and returning the instruction response result to the client through the business channel.

[0011] Optionally, after transmitting the pixel stream to the client so that the client decodes and displays the pixel stream, the method also includes: obtaining disconnection indication information of the remote desktop from the client; disconnecting the RDP connection according to the disconnection indication information, and releasing the original video stream in the desktop buffer.

[0012] An embodiment of the present invention also discloses a remote desktop control system, which is applied to a server, and the system includes: an access request acquisition module, which is used to obtain access request information of the remote desktop from a client; an original video stream acquisition module, which is used to create a desktop buffer according to the access request information and acquire the original video stream of the server; a desktop buffer update module, which is used to update the original video stream to the desktop buffer; a video stream compression module, which is used to compress and encode the original video stream in the desktop buffer to obtain a pixel stream; and a pixel stream transmission module, which is used to transmit the pixel stream to the client, so that the client decodes and displays the pixel stream.

[0013] Optionally, the pixel stream transmission module includes: an RDP data encapsulation module, used to encapsulate the pixel stream into a remote desktop protocol RDP format to obtain RDP data; an RDP data transmission module, used to transmit the RDP data to the virtual network card of the server; an RDP data acquisition module, used to obtain the RDP data from the virtual network card using the proxy plug-in of the server; the RDP data transmission module is also used to transmit the RDP data to the client through a video channel.

[0014] Optionally, the system also includes: a connection request acquisition module, used to obtain connection request information of the remote desktop from the client before the access request acquisition module obtains the access request information of the remote desktop from the client; a connection request parsing module, used to parse the connection request information using the proxy plug-in to obtain connection request data, and transmit the connection request data to the virtual network card; a connection request confirmation module, used to read the connection request data from the virtual network card through the RDP application of the server, generate connection confirmation data according to the connection request data, and return the connection confirmation data to the virtual network card; a connection confirmation data transmission module, used to obtain the connection confirmation data from the virtual network card using the proxy plug-in, and transmit the connection confirmation data to the client; a connection establishment acquisition module, used to obtain the connection establishment information of the remote desktop from the client; an RDP connection establishment module, used to create an RDP connection between the server and the client according to the connection establishment information.

[0015] Optionally, the system further includes: an establishment request acquisition module, used to obtain establishment request information of the video channel from the client after the RDP connection establishment module creates the RDP connection between the server and the client according to the connection establishment information; and a video channel establishment module, used to create the video channel according to the establishment request information.

[0016] Optionally, the system also includes: a virtual network card configuration module, which is used to use the proxy plug-in to apply for network card identification information for the virtual network card before the access request acquisition module obtains the access request information of the remote desktop from the client, and configures a corresponding network address for the virtual network card according to the network card identification information.

[0017] Optionally, the system also includes: a control instruction acquisition module, used to obtain the control instruction of the remote desktop from the client through the business channel between the server and the client after the pixel stream transmission module transmits the pixel stream to the client, so that the client decodes and displays the pixel stream; a control instruction execution module, used to execute the control instruction to obtain an instruction response result; and a control instruction response module, used to return the instruction response result to the client through the business channel.

[0018] Optionally, the system also includes: a disconnection indication acquisition module, used to obtain disconnection indication information of the remote desktop from the client after the pixel stream transmission module transmits the pixel stream to the client so that the client decodes and displays the pixel stream; a buffer release module, used to disconnect the RDP connection according to the disconnection indication information and release the original video stream in the desktop buffer.

[0019] An embodiment of the present invention also discloses an electronic device, comprising: one or more processors; and one or more machine-readable media storing instructions thereon, which, when executed by the one or more processors, enables the electronic device to execute the remote desktop control method as described above.

[0020] The embodiment of the present invention further discloses a computer-readable storage medium, which stores a computer program that enables a processor to execute the remote desktop control method as described above.

[0021] The embodiments of the present invention include the following advantages:

[0022] The remote desktop control scheme provided by the embodiment of the present invention is applied to the server. The server obtains the access request information of the remote desktop from the client, then creates a desktop buffer according to the access request information, and collects the original video stream of the server. Next, the original video stream is updated to the desktop buffer, and the original video stream in the desktop buffer is compressed and encoded to obtain a pixel stream. Then, the pixel stream is transmitted to the client so that the client decodes and displays the pixel stream.

[0023] The embodiment of the present invention optimizes data transmission efficiency by creating a desktop buffer on the server side, collecting and processing the original video stream in real time according to the access request of the client, and then compressing and encoding the processed video stream and transmitting it to the client. In particular, the compression encoding of the original video stream can significantly reduce the amount of data, thereby reducing the network load under limited bandwidth conditions, making the video transmission smoother and reducing the delay of the operation response. By compressing and encoding the original video stream into a pixel stream and then transmitting it to the client, the amount of data transmitted is effectively reduced. Compared with the uncompressed original video stream, the compressed pixel stream requires lower bandwidth, thereby improving the utilization efficiency of network resources. In addition, the compressed data is also easier to transmit through a network environment with limited bandwidth, thereby reducing the jamming phenomenon caused by insufficient bandwidth. Through the creation and use of the desktop buffer, the stability of the video stream is enhanced. The server can process the original video stream in the desktop buffer in advance, and when there is a network fluctuation or a short interruption, it can still ensure that the pixel stream received by the client is continuous and stable. In this way, the video display process of the client will not be easily affected by the fluctuation of network conditions, and the user experience can be improved. In addition, the existence of the desktop buffer also allows the server to quickly retransmit data when the network is restored, reducing the possibility of data loss and improving the reliability of the transmission process. By dynamically creating a desktop buffer based on the client's access request and adaptively processing and compressing the video stream, it can more flexibly respond to different network environments and client requirements. For example, in high-resolution requirements or complex graphics environments, the server can adjust the compression encoding method and buffer strategy to ensure that a relatively stable and smooth user experience can be provided even under relatively harsh network conditions. This adaptability shows higher efficiency and flexibility when facing different user scenarios. By completing most of the video stream processing and compression encoding work on the server, the client only needs to decode the received pixel stream and display it. Compared with letting the client directly process the uncompressed video stream, it reduces the client's computing and processing requirements, lowers the hardware performance threshold of the client device, and enables more types of terminal devices to run remote desktop applications smoothly, thereby expanding the scope of application of remote desktop technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 is a flowchart of a remote desktop control method according to an embodiment of the present invention;

[0025] Figure 2 It is a schematic diagram of the principle of a remote desktop control solution based on visual networking according to an embodiment of the present invention;

[0026] Figure 3 It is a schematic diagram of the principle of an implementation strategy of a pixel stream of a remote desktop based on a visual network according to an embodiment of the present invention;

[0027] Figure 4 The present invention is a structural block diagram of a remote desktop control system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0028] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0029] The remote desktop control scheme proposed in the embodiment of the present invention creates a desktop buffer on the server side, and after receiving an access request from the client side, collects and processes the original video stream of the server side in real time, updates it to the desktop buffer, and then compresses and encodes the original video stream to generate a pixel stream, and transmits the compressed pixel stream to the client side. After receiving the pixel stream, the client decodes and displays it, thereby achieving more efficient remote desktop transmission, reducing freezes and delays, improving the fluency of remote operations and the utilization of network bandwidth, and enhancing the adaptability and reliability of the remote desktop system.

[0030] Reference Figure 1 , shows a flowchart of a remote desktop control method according to an embodiment of the present invention. The remote desktop control method can be applied to a server, and the remote desktop control method can specifically include the following steps:

[0031] Step 101: Obtain access request information of a remote desktop from a client.

[0032] In an embodiment of the present invention, the access request information sent by the client usually includes multiple key contents, such as user identity authentication information, the address of the access target host, the requested desktop resolution, color depth, audio settings, network bandwidth status, etc.

[0033] Specifically, when a user starts a remote desktop application on a client device and enters the connection information of the target host, the client generates an access request packet. This request packet is usually encapsulated using RDP and transmitted to the server over the network. After receiving the request packet, the server parses the content and determines whether to allow the client's connection request based on the request information. For example, the server may verify the user's identity credentials (such as username and password) and check whether the client has permission to access the host. If the verification is successful, the server will continue to execute the subsequent steps, otherwise it will return an error message and reject the connection.

[0034] For example, if an employee uses a personal computer at home to connect to a workstation in the company's intranet via RDP, his client will first send a request packet to the RDP server in the company's network, which contains the employee's username, password, IP address of the workstation to be accessed, and the display resolution he wants, etc. After receiving the request, the server will perform identity authentication and set up a suitable remote desktop environment for the employee based on the information in the request.

[0035] This process is not just a simple information transmission, but also needs to consider the stability and security of the network. In order to ensure that the request information is not tampered with or stolen during transmission, the request data is usually encrypted, such as using the Transport Layer Security (TLS) protocol to encrypt data packets. At the same time, in order to ensure the real-time nature of the request, the server and client need to quickly establish a connection through an appropriate handshake mechanism to reduce latency.

[0036] By effectively obtaining and parsing the client's access request information, the server can provide personalized support and optimization for the remote desktop session. For example, if the request indicates that the client's bandwidth is low, the server can select a more efficient compression algorithm in the subsequent steps to reduce the amount of data transmission, thereby improving the smoothness of remote operations. This lays a solid foundation for the entire remote desktop control solution.

[0037] Step 102: Create a desktop buffer according to the access request information and collect the original video stream of the server.

[0038] In the embodiment of the present invention, after the server successfully obtains and parses the access request information of the client, it creates a desktop buffer according to the request information and starts to collect the original video stream of the server. The core of this step is to establish a stable and efficient environment for subsequent image processing and transmission, while ensuring that the collected original video stream can meet the needs of the client.

[0039] The creation of a desktop buffer is a key step. The desktop buffer can be understood as a storage space for temporarily storing the screen content captured by the server, that is, the original video stream. In a remote desktop session, the server needs to continuously capture screen changes and transmit these change information to the client in real time. Therefore, creating a suitable buffer can effectively reduce the delay in the data transmission process and prevent problems such as data loss or screen tearing.

[0040] When creating a desktop buffer, the server needs to configure it according to the client's request information. For example, if the client requests a resolution of 1920x1080 and a color depth of 24 bits, the server will allocate a buffer of the corresponding size and color depth to ensure that the captured screen image can be stored in the buffer without loss. In addition, the size and number of buffers may also be dynamically adjusted according to the client's bandwidth status and the server's processing power to optimize overall performance.

[0041] Next, the server starts to collect the original video stream according to the access request. The original video stream refers to the real-time capture of all the contents on the server screen, which can include the operating system desktop, open application windows, system notifications, etc. The server uses a dedicated screen capture technology to obtain each frame of the screen. These images are temporarily stored in the desktop buffer created previously, waiting for further processing.

[0042] For example, if a remote user wants to access the server's desktop under low bandwidth conditions, the server will take bandwidth limitations into account when creating the buffer and may choose a lower resolution and color depth to reduce the amount of data. At the same time, the server will periodically collect screen changes and write these data to the buffer to ensure that the client can get the smoothest possible remote desktop experience if bandwidth permits.

[0043] Step 103: Update the original video stream to the desktop buffer.

[0044] In the embodiment of the present invention, the server can retain the latest screen image in the buffer, ensuring that the client can always obtain the latest desktop content.

[0045] When the server starts to collect screen content, the screen change data will be continuously transmitted to the desktop buffer. These change data contain the color and brightness information of each pixel on the server screen, which is a direct reflection of the user's operation. In order to keep the desktop content real-time, the server needs to update the content in the buffer at a higher frequency, that is, the latest screen changes overwrite the old data.

[0046] The buffer update process usually adopts a differential update strategy. The principle of differential update is that the server only updates the changed part of the screen to the buffer, without updating the entire screen every time. This method greatly reduces the amount of data that needs to be processed and transmitted, and optimizes system performance. Differential update is particularly important in high-resolution and complex graphics environments. The updated data is saved in the buffer, waiting for subsequent compression and transmission.

[0047] Take an online demonstration as an example. Suppose a user is remotely controlling a computer and browsing a web page. When the user scrolls the web page, only part of the content on the screen changes, such as the text and pictures on the page, while other parts such as the browser title bar or system tray may not change. The server will only update these changed parts to the buffer instead of the entire screen, thereby reducing the amount of data processing and improving the response speed of the remote desktop.

[0048] The update frequency of the desktop buffer is another factor to consider. The update frequency should be set based on multiple factors, such as network bandwidth, client decoding capability, server processing capability, etc. If the update frequency is too low, the content displayed on the client may lag behind the actual operation, affecting the user experience; if the frequency is too high, it may cause unnecessary bandwidth consumption and system load. Therefore, a reasonable update frequency can strike a balance between performance and experience.

[0049] Step 104: compress and encode the original video stream in the desktop buffer to obtain a pixel stream.

[0050] In the embodiment of the present invention, the server compresses and encodes the original video stream in the buffer to generate a pixel stream so as to efficiently transmit it to the client through the network. This process is crucial to the entire remote desktop control solution because it directly affects the transmission efficiency of the video data and the decoding quality of the client.

[0051] The main purpose of compression coding is to reduce the amount of data so that the video stream can be transmitted smoothly within a limited network bandwidth. Video compression technology usually uses the redundancy of image data to reduce the data volume by eliminating duplicate information, reducing image noise, etc. The server can choose different encoding methods, depending on the client's network conditions, hardware capabilities, and the processing capabilities of the server. Commonly used video compression coding standards include H.264, also known as Advanced Video Coding (AVC), H.265, also known as High Efficiency Video Coding (HEVC), etc. These standards can significantly reduce the amount of data while maintaining high image quality.

[0052] In the specific implementation, the server will compress and encode the screen images in the buffer frame by frame. For example, when a user operates a drawing software remotely, the content on the screen may contain a lot of color changes and complex graphics. The server will analyze the image data and use the similarity between the previous and next frames to perform differential encoding to generate an efficient pixel stream. This encoding method not only reduces the amount of data transmission, but also reduces the computational burden of the client decoding.

[0053] In addition, the server can also dynamically adjust the compression ratio according to the real-time situation of the network bandwidth. If it detects that the network bandwidth is insufficient, the server can increase the compression ratio. Even if the image quality is reduced, it can ensure the continuity of the video stream and the smoothness of the operation. Conversely, when the network bandwidth is sufficient, the server can choose a lower compression ratio to improve the image quality and provide a clearer remote desktop experience.

[0054] For example, when a user views a high-definition video through a remote desktop, the server needs to process a large amount of dynamic image data in real time. To ensure smooth video playback, the server will use an efficient video encoding algorithm to compress the original video stream into a pixel stream suitable for network transmission, and adjust the encoding parameters when necessary to adapt to the current network conditions. After receiving the pixel stream, the client can decode and restore the video image close to the original, ensuring that users have a good viewing experience.

[0055] Step 105: Transmit the pixel stream to the client so that the client decodes and displays the pixel stream.

[0056] In an embodiment of the present invention, after the pixel stream is generated, the server transmits it to the client through the network. The transmission process involves multiple complex network protocols and transmission technologies to ensure that the data can reach the client stably and quickly. Common transmission protocols include the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). Although TCP provides reliable transmission services, it may introduce certain delays due to the need for a confirmation mechanism; UDP is a connectionless protocol that can transmit data faster, but data loss may occur in an unreliable network environment. Therefore, the server needs to select a suitable transmission protocol based on the specific network conditions to strike a balance between reliability and transmission speed.

[0057] During the transmission process, the server may further optimize the pixel stream. For example, through fragmentation technology, large pixel stream data packets are split into smaller fragments to adapt to the network's maximum transmission unit (MTU) limit, thereby reducing the risk of packet loss. In addition, the server may dynamically adjust the transmission rate and quality according to the real-time changes in network bandwidth to ensure that the pixel stream can reach the client smoothly under different network conditions.

[0058] Once the client receives the pixel stream, it will use the corresponding decoding algorithm to decode it and restore it to a screen image that can be displayed. The decoding process is the reverse process of video processing. It restores the compressed data into image frames and displays these frames on the client device in sequence. In order to ensure that the decoded image can be displayed in real time, the client usually uses hardware acceleration technology to increase the decoding speed, especially in high-definition or high frame rate application scenarios.

[0059] For example, suppose a user needs to present a high-resolution slide file during a remote desktop conference. The server compresses and encodes each page of the slide and quickly transmits it to the client via UDP. After receiving these pixel streams, the client immediately decodes and displays them on the screen to ensure that other participants can see the presentation content in real time. The entire process needs to be strictly synchronized to ensure smooth images and minimal delays.

[0060] The remote desktop control scheme provided by the embodiment of the present invention is applied to the server. The server obtains the access request information of the remote desktop from the client, then creates a desktop buffer according to the access request information, and collects the original video stream of the server. Next, the original video stream is updated to the desktop buffer, and the original video stream in the desktop buffer is compressed and encoded to obtain a pixel stream. Then, the pixel stream is transmitted to the client so that the client decodes and displays the pixel stream.

[0061] The embodiment of the present invention optimizes data transmission efficiency by creating a desktop buffer on the server side, collecting and processing the original video stream in real time according to the access request of the client, and then compressing and encoding the processed video stream and transmitting it to the client. In particular, the compression encoding of the original video stream can significantly reduce the amount of data, thereby reducing the network load under limited bandwidth conditions, making the video transmission smoother and reducing the delay of the operation response. By compressing and encoding the original video stream into a pixel stream and then transmitting it to the client, the amount of data transmitted is effectively reduced. Compared with the uncompressed original video stream, the compressed pixel stream requires lower bandwidth, thereby improving the utilization efficiency of network resources. In addition, the compressed data is also easier to transmit through a network environment with limited bandwidth, thereby reducing the jamming phenomenon caused by insufficient bandwidth. Through the creation and use of the desktop buffer, the stability of the video stream is enhanced. The server can process the original video stream in the desktop buffer in advance, and when there is a network fluctuation or a short interruption, it can still ensure that the pixel stream received by the client is continuous and stable. In this way, the video display process of the client will not be easily affected by the fluctuation of network conditions, and the user experience can be improved. In addition, the existence of the desktop buffer also allows the server to quickly retransmit data when the network is restored, reducing the possibility of data loss and improving the reliability of the transmission process. By dynamically creating a desktop buffer based on the client's access request and adaptively processing and compressing the video stream, it can more flexibly respond to different network environments and client requirements. For example, in high-resolution requirements or complex graphics environments, the server can adjust the compression encoding method and buffer strategy to ensure that a relatively stable and smooth user experience can be provided even under relatively harsh network conditions. This adaptability shows higher efficiency and flexibility when facing different user scenarios. By completing most of the video stream processing and compression encoding work on the server, the client only needs to decode the received pixel stream and display it. Compared with letting the client directly process the uncompressed video stream, it reduces the client's computing and processing requirements, lowers the hardware performance threshold of the client device, and enables more types of terminal devices to run remote desktop applications smoothly, thereby expanding the scope of application of remote desktop technology.

[0062] In an exemplary embodiment of the present invention, an implementation method of transmitting a pixel stream to a client is to encapsulate the pixel stream into an RDP format to obtain RDP data; transmit the RDP data to a virtual network card on a server; obtain the RDP data from the virtual network card using a proxy plug-in on the server; and transmit the RDP data to the client through a video channel. Specifically, the pixel stream is generated by video compression encoding technology, and it contains image information of the current desktop environment on the server. In this implementation method, the pixel stream is encapsulated as data in the RDP format. The RDP format is a data format dedicated to the remote desktop protocol, which can effectively carry and transmit a variety of information including images, audio, and input device data. By converting the pixel stream into the RDP data format, it is ensured that the remote desktop protocol can correctly identify and process the data, thereby laying the foundation for subsequent transmission and decoding. Next, the encapsulated RDP data is transmitted to the virtual network card on the server. The virtual network card simulates a network interface so that the RDP data can be transmitted through a standard network transmission protocol. This process is similar to sending data from one computer to another, but here, the data does not leave the server, but is further processed.

[0063] After the RDP data arrives at the virtual network card, the proxy plug-in on the server side will obtain the RDP data from the virtual network card. The proxy plug-in is a plug-in program for intercepting and processing specific data streams. In this embodiment, the proxy plug-in is responsible for obtaining the RDP data from the virtual network card and ensuring that the RDP data is properly processed and ready for transmission. In this way, the RDP data can be safely transferred to the appropriate channel without being interfered with by other data streams.

[0064] The proxy plug-in transmits the RDP data obtained from the virtual network card to the client through the video channel. The video channel is a part of the remote desktop protocol and is specifically used to transmit image and video data. Using the video channel, RDP data can be transmitted to the client in the most optimized way to ensure data integrity and transmission speed. After receiving the RDP data, the client will decode it and display the image to the user. The successful execution of this process directly affects the user's remote desktop experience.

[0065] Let's take a specific example to illustrate: suppose a company needs to support the daily work of its global employees through remote desktop. Employees connect to the server at the company headquarters through the RDP protocol and perform regular office operations. Through the above implementation, the server can convert the real-time generated desktop image into RDP data and efficiently transmit it to the employee's device through the virtual network card and video channel. The employee's operation feedback is almost non-delayed, and the desktop image also maintains a high degree of clarity and smoothness. This efficient data transmission method not only improves work efficiency, but also ensures the security of data transmission.

[0066] The embodiment of the present invention optimizes the operation experience of the remote desktop to the maximum extent by processing and transmitting pixel streams in stages. The encapsulation and transmission process of RDP data has been carefully designed to ensure the integrity and efficiency of data in network transmission and reduce the jamming problem caused by network delay. Through the dedicated transmission of the video channel, the image data can quickly reach the client, and the user will hardly feel any delay in remote office, thereby improving the overall remote work experience.

[0067] In an exemplary embodiment of the present invention, an implementation method before obtaining access request information of a remote desktop from a client is to obtain connection request information of the remote desktop from the client; use a proxy plug-in to parse the connection request information to obtain connection request data, and transmit the connection request data to a virtual network card; read the connection request data from the virtual network card through an RDP application on the server side, generate connection confirmation data based on the connection request data, and return the connection confirmation data to the virtual network card; use a proxy plug-in to obtain connection confirmation data from the virtual network card, and transmit the connection confirmation data to the client; obtain connection establishment information of the remote desktop from the client; and create an RDP connection between the server and the client based on the connection establishment information.

[0068] In actual application, the server obtains the connection request information of the remote desktop from the client. The connection request information usually contains the client's network address, authentication information, and connection parameters. This step is the starting point of the entire connection establishment process, which ensures that the server can receive the connection intention from the client. This process can be compared to the handshake protocol between two devices, during which both parties confirm each other's identity and ensure that the connection request is legitimate.

[0069] After obtaining the connection request information, the server will use the proxy plug-in to parse the connection request information and obtain the connection request data. The proxy plug-in plays the role of a parser, extracting key information from the original connection request information and converting it into a format that the server can recognize and process. The parsing process is very important. It not only simplifies complex data into an easy-to-process form, but also performs security checks on the request data during the process to ensure that the request has not been tampered with or attacked.

[0070] Then, the parsed connection request data will be transmitted to the virtual network card on the server side. The virtual network card acts as an intermediary for data transmission, simulating a network interface so that the RDP application on the server side can read the parsed request data just like reading ordinary network data.

[0071] The server-side RDP application then reads the connection request data from the virtual network card and generates connection confirmation data based on this data. The connection confirmation data is a response indicating that the server has successfully received and understood the client's connection request. This confirmation data usually includes instructions to allow the connection and some initial connection parameters. Generating connection confirmation data is a signal from the server to the client that further connection steps can be taken.

[0072] The generated connection confirmation data will be returned to the virtual network card and transmitted back to the client through the proxy plug-in. After receiving the connection confirmation data, the client knows that its connection request has been accepted and starts preparing for the subsequent connection establishment process.

[0073] Finally, the server obtains the connection establishment information from the client. This information includes the finalized connection parameters, such as encryption method, compression settings, etc. Based on this information, the RDP connection between the server and the client is officially established. At this point, the initial stage of connection establishment is completed, the communication channel between the server and the client has been opened, and subsequent remote desktop operations can proceed smoothly.

[0074] Let's take a specific example to illustrate: suppose a company needs to provide remote desktop access support to employees distributed around the world. The employee sends an RDP connection request to the server at the headquarters through the company's internal network. After receiving the request, the server uses the proxy plug-in to parse the request information and confirm the legitimacy and validity of the request. Then, the server generates connection confirmation data and transmits it back to the client. After receiving the confirmation data, the client continues to send connection establishment information, and finally establishes a secure and stable RDP connection with the server. Throughout the process, the collaboration of the proxy plug-in and the virtual network card ensures the security and efficiency of data transmission.

[0075] The server of the embodiment of the present invention can ensure the legitimacy and security of the connection before the client issues a formal remote desktop access request, thereby reducing the risk of illegal access. At the same time, this method also optimizes the connection establishment process, making the RDP connection between the server and the client more stable and reliable, providing a solid guarantee for subsequent remote operations.

[0076] In an exemplary embodiment of the present invention, after establishing an RDP connection between the server and the client according to the connection establishment information, an implementation method is to obtain establishment request information of a video channel from the client; and create a video channel according to the establishment request information.

[0077] In actual application, after the RDP connection is established, the client will send a request to establish a video channel. The request usually includes some necessary parameters, such as the client's display configuration, bandwidth limit, expected image resolution and frame rate, etc. These parameters will determine the configuration and performance of the video channel. The client sends this request because the transmission requirements of video data in a remote desktop environment are different from those of ordinary data. Video data usually has high bandwidth requirements and is very sensitive to latency, so a dedicated channel is needed to handle it.

[0078] After receiving the video channel establishment request information, the server will parse the information and create a video channel according to the client's needs and its own configuration. The video channel is a dedicated channel in the RDP protocol for transmitting image and video data. It is separated from other data channels to ensure that video data can be transmitted first, thereby reducing delays and freezes. The process of creating a video channel involves multiple steps, including allocating bandwidth resources, setting encoding formats, configuring compression algorithms, etc. These steps will directly affect the visual experience of the remote desktop.

[0079] Once the video channel is created, the server can start transmitting video data through the channel. The establishment of the video channel means that the client will be able to receive the image and video data sent by the server in a high-quality, low-latency manner. This process is similar to opening a dedicated lane for important vehicles on a highway, ensuring that these vehicles can pass quickly without being affected by other ordinary vehicles.

[0080] Let's take a specific example: suppose the technical department of a multinational company needs to remotely monitor the operating status of data center equipment distributed in different regions. To ensure smooth and clear video monitoring images, the engineer connects to the remote server through RDP and sends a request to establish a video channel. After receiving the request, the server creates a dedicated video channel. Through this video channel, the server can transmit real-time monitoring images in high-definition format to the engineer's terminal, ensuring that they can clearly and in real time view the operating status of the equipment without freezing or blurring the image due to bandwidth limitations or network delays.

[0081] The embodiment of the present invention ensures the priority transmission of image and video data through a dedicated video channel, reducing delays and freezes. Customized configuration of the video channel is performed according to the needs of the client, ensuring the smoothness and clarity of the remote desktop display. Users can get a more efficient and stable experience when using the remote desktop, especially in application scenarios that require high-quality video transmission.

[0082] In an exemplary embodiment of the present invention, before obtaining the access request information of the remote desktop from the client, an implementation method is to use a proxy plug-in to apply for network card identification information for the virtual network card, and configure the corresponding network address for the virtual network card according to the network card identification information. During the establishment of the RDP connection, the communication between the server and the client depends on the effective configuration and management of the network infrastructure. In order to ensure that data can be transmitted accurately and efficiently, especially in a virtual environment, the configuration of the virtual network card is crucial. Before the RDP connection is formally established, it must be ensured that the virtual network card has a legal network address and can participate in network communications normally.

[0083] In actual application, the server initiates a request for network card identification information to the network management system or network controller through the proxy plug-in. The network card identification information is usually a unique identifier used to identify each network card device in the network. This identifier not only ensures the uniqueness of each network card in the network, but can also be used for network management, monitoring and control. In a virtualized environment, virtual network cards often need to participate in network communication through this identifier to ensure that data can be accurately transmitted to the specified destination. The proxy plug-in plays a key role in this process. It acts as a bridge between the virtual network card and the network management system, and is responsible for coordinating the communication and configuration between the two.

[0084] Let's take a specific example to illustrate: suppose a company's technical department deploys multiple virtual servers in its data center, and these servers need to be remotely managed through the RDP protocol. Since these virtual servers need to participate in the same network communication, they must be configured with independent virtual network cards. The administrator uses the agent plug-in through the management console to apply for network card identification information for these virtual network cards. After receiving the application, the network management system generates independent identifiers and assigns them to each virtual network card. These identifiers ensure the uniqueness of the virtual network card in the entire network, avoiding network conflicts or data confusion.

[0085] Next, the proxy plug-in configures the corresponding network address for the virtual network card based on the obtained network card identification information. The network address (such as the IP address) is the basis of network communication. It identifies the location of the device in the network, allowing other devices in the network to communicate with it. The process of configuring a network address usually involves multiple steps, including selecting an available address from the address pool, assigning the address to the virtual network card, and updating the address information of the network card in the network. In this way, the virtual network card can not only receive and send data packets, but also participate in more complex network operations, such as load balancing, traffic management, etc.

[0086] The embodiment of the present invention ensures the uniqueness of each virtual network card in the network and prevents identification conflicts. By configuring the network address in advance, the delay in the connection establishment process is reduced, so that the virtual network card can quickly participate in network communication. It is helpful to improve the efficiency and reliability of network management, especially in complex network environments that require the participation of a large number of virtual network cards.

[0087] In an exemplary embodiment of the present invention, after transmitting a pixel stream to a client so that the client decodes and displays the pixel stream, an implementation method is to obtain a remote desktop control instruction from the client through a service channel between the server and the client; execute the control instruction to obtain an instruction response result; and return the instruction response result to the client through the service channel. During the RDP transmission process, the server not only needs to transmit a video stream to the client to display the remote desktop, but also needs to receive and respond to control instructions from the client. These control instructions usually involve operations on the remote desktop, such as mouse clicks, keyboard input, etc. In order to ensure that these instructions can be effectively received, executed, and the results are returned, this implementation method processes these control instructions through a service channel between the server and the client. This process includes obtaining control instructions from the client, executing instructions on the server, generating instruction response results, and returning the results to the client through the service channel.

[0088] In actual application, after the client receives and decodes the pixel stream transmitted by the server, the user can operate the remote desktop through input devices (such as mouse and keyboard). Each operation will generate corresponding control instructions, which are transmitted to the server through the business channel. The business channel is a channel in RDP specifically used to transmit non-video data. Unlike the video channel, the business channel is specifically used to transmit control instructions, file data, etc. In actual application, the business channel ensures the transmission speed and reliability of control instructions, so that the operation of the remote desktop can be as smooth as local operation.

[0089] Let's take a specific example to illustrate: suppose that employee A of a company remotely connects to an office computer on the company's intranet via RDP, and he needs to edit a document on this remote computer. Employee A opens the document on his local computer and enters text through the keyboard. The input command generated by each keystroke is transmitted to the remote office computer, i.e., the server, through the business channel. After receiving these keystroke commands, the server performs the corresponding input operation on the remote desktop and generates a command response result. The result may be feedback information that the text appears in the document, which is then returned to employee A's local computer through the business channel to ensure that the updated content of the document can be displayed on the remote desktop in real time.

[0090] After receiving the control command, the server will perform corresponding operations according to the content of the command, which may involve system-level command execution, application operation, etc. The execution result of the command will be generated immediately, whether it is successful feedback information or error prompt, it will be encapsulated as the command response result. This response result is transmitted back to the client through the business channel to ensure that the user can immediately see the effect of the operation.

[0091] By using the service channel to transmit control instructions and instruction response results, the RDP system can ensure the priority transmission of these data, reduce delays, and thus improve the real-time performance of remote operations. The service channel is separated from the video channel to avoid conflicts when different types of data are transmitted in the same channel, thereby improving the efficiency and stability of overall data transmission. In addition, the accuracy of remote desktop operations and the timeliness of feedback can be ensured, thereby enhancing the user experience in remote operations.

[0092] In an exemplary embodiment of the present invention, after transmitting the pixel stream to the client so that the client decodes and displays the pixel stream, an implementation method is to obtain the disconnection indication information of the remote desktop from the client; disconnect the RDP connection according to the disconnection indication information, and release the original video stream in the desktop buffer. In the life cycle of RDP, connection establishment and disconnection are two key links. When the user completes the remote operation, it is necessary to safely and effectively disconnect the RDP connection and release the resources occupied in the process.

[0093] In actual applications, when the user decides to end the remote desktop session, the client will send a disconnection indication message. This indication message can be triggered in a variety of ways, such as the user clicking the "Disconnect" button, closing the remote desktop window, or terminating the session through a system command. In some cases, such as network anomalies or device power outages, the system may also automatically generate a disconnection indication message. Regardless of the trigger source, the main function of this indication message is to notify the server to prepare to end the current RDP session.

[0094] After receiving the disconnection indication information, the server starts to perform a series of resource release and connection termination operations. First, the server will disconnect the RDP connection with the client according to the indication information. This means that the server will stop transmitting data to the client and will no longer maintain the active state of the video channel and business channel. The disconnection process is not just a simple communication termination, but also includes operations such as recycling network resources, stopping data flow, and cleaning up session status. The correct execution of this step is of great significance to avoid resource leakage and reduce server burden.

[0095] Let's take a specific example to illustrate: suppose an employee of a company connects to the company's internal server via RDP to complete an important document editing task. After the editing is completed, the employee clicks the "Disconnect" button, and the system immediately generates a disconnection instruction message and transmits this information to the company's server through the business channel. After receiving the instruction message, the server first disconnects the RDP connection with the employee's device and stops transmitting video and control data. Next, the server releases the desktop buffer allocated to the session and clears the original video stream generated during the editing process. This process not only ensures the effective recovery of server resources, but also prevents unauthorized access or data leakage.

[0096] Next, the server will release the original video stream in the desktop buffer. The desktop buffer is a temporary storage space used to store and process video data in the RDP session, and plays an important role in the remote desktop display process. When the RDP connection is disconnected, the data in the buffer is no longer needed, so it must be cleaned up in time. Releasing the buffer can effectively prevent memory leaks and system performance degradation. In a multi-user environment, releasing these resources in time can also free up more system resources for other users, improving the overall system response speed and stability.

[0097] The embodiments of the present invention can effectively manage and recycle system resources, avoiding server performance degradation caused by unreleased resource occupation. Through a standardized disconnection process, the security of remote desktop sessions can be ensured and sensitive data leakage can be prevented. The stability of the system can also be improved, especially in a multi-user environment, where timely resource release helps the server maintain good performance and ensures that other users' sessions can proceed smoothly.

[0098] Based on the above description of a remote desktop control method embodiment, a remote desktop control solution based on a visual network is introduced below. Figure 2 , showing a schematic diagram of the principle of a remote desktop control solution based on visual networking in an embodiment of the present invention. The remote desktop control solution based on visual networking may involve: an RDP client, an RDP server, a 2K server A, a 2K server B, an autonomous server A, and an autonomous server B. Among them, 2K server A is respectively connected to the RDP client and autonomous server A in communication. 2K server B is respectively connected to the RDP client and autonomous server B in communication. Autonomous server A is connected to autonomous server B in communication. The RDP client includes an RDP application, ffmpeg (an audio and video processing tool), H264, a virtual network card, and a V2V agent. Similarly, the RDP server includes an RDP application, ffmpeg, H264, a virtual network card, and a V2V agent.

[0099] Start the RDP server and enable the desktop sharing function. The V2V agent on the RDP server applies to the 2K server B in the visual network for access to the visual network based on the configured Media Access Control Address (MAC). 2K server B determines the compliance of the MAC. If the MAC is compliant, it returns the visual network number to the V2V agent on the RDP server. The V2V agent then creates a virtual network card and sets a one-to-one corresponding IP address based on the visual network number.

[0100] Start the RDP client. The V2V agent of the RDP client similarly applies to the visual network for network access and sets up the virtual network card. The V2V agent of the RDP client applies to 2K server A in the visual network for network access based on the configured MAC. 2K server A determines the compliance of the MAC. If the MAC is compliant, it returns the visual network number to the V2V agent of the RDP client. The V2V agent of the RDP client creates a virtual network card and sets an IP address for the virtual network card. The V2V agent of the RDP client configures the server's visual network number, starts the RDP client application, converts the server's visual network number into the target IP address, and then binds it to the network port of the virtual network card to ensure that the data sent by the RDP client is sent from the virtual network card.

[0101] The RDP client accesses the RDP server.

[0102] ①The RDP client sends a connection request to the virtual network card. The V2V agent of the RDP client obtains the connection request data, encapsulates it in the visual networking protocol, and sends it to 2K server A through business transparent transmission. 2K server A will transfer the data to its own autonomous server A. Autonomous server A determines that the target address is the terminal of another autonomous server B, and then transparently transmits the data to the autonomous server B on the server side. Autonomous server B on the server side will then transparently transmit the data to the RDP server side.

[0103] ②The V2V plug-in on the RDP server obtains the data and parses it. After parsing, the data is sent to the virtual network card. The application on the RDP server receives the request information, confirms the information, and returns it to the virtual network card. The V2V plug-in on the RDP server receives the data, encapsulates it, and sends it to 2K server B. 2K server B then transparently transmits the service to autonomous server B, etc., all the way to the RDP client.

[0104] ③The RDP client receives the confirmation message and sends a message to the RDP server again to complete the connection between the RDP client and the RDP server.

[0105] ④The RDP client and the RDP server establish a connection successfully. The RDP client applies to establish a video call with the RDP server. The network video call can quickly transmit audio and video data and improve transmission performance. If the application is successful, a video channel can be established.

[0106] ⑤The RDP server successfully establishes a video call with the RDP client. The RDP server creates a desktop buffer, uses ffmpeg to record the server's desktop, uses H264 compression encoding, encapsulates the compressed video data in RDP format, and sends it to the virtual network card. The V2V plug-in on the RDP server obtains the data from the virtual network card, encapsulates it into a video networking protocol, and transmits the data to the server's 2K server B through the video channel. 2K server B determines that it is audio and video data, and the data is transferred to the client's 2K server A. The client's 2K server A then sends the data to the RDP client.

[0107] ⑥The V2V plug-in of the RDP client parses the data, the RDP application of the RDP client parses the data, uses ffmpeg to decode the audio and video data, and converts the data into image data and sound, and then displays and plays it.

[0108] The RDP client sends control commands through service transparent transmission, and the RDP server receives the control commands, parses them, and responds to them. At the same time, the video stream and command response information are returned to the RDP client.

[0109] The RDP client closes the remote login interface. The RDP client is disconnected, and the RDP server closes the connection, stops recording, and releases the desktop buffer.

[0110] It should be noted that the video channel is established between the RDP client, 2K server A, 2K server B and the RDP server. The business channel, i.e., business transparent transmission, is established between the RDP client, 2K server A, autonomous server A, autonomous server B, 2K server B and the RDP server.

[0111] Reference Figure 3 , showing a schematic diagram of the principles of an implementation strategy based on a visual networking remote desktop pixel stream according to an embodiment of the present invention.

[0112] The implementation strategy may include visual network management and remote desktop management. Visual network management includes network access management, service management, data security management and network exit management. Remote desktop management includes V2V proxy management, FFMPEG management, data encapsulation management, virtual network card management, and H264 codec management.

[0113] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0114] Reference Figure 4 , shows a structural block diagram of a remote desktop control system according to an embodiment of the present invention. The remote desktop control system is applied to a server, and the remote desktop control system may specifically include the following modules.

[0115] An access request acquisition module 41 is used to acquire access request information of a remote desktop from a client;

[0116] The original video stream acquisition module 42 is used to create a desktop buffer according to the access request information and acquire the original video stream of the server;

[0117] A desktop buffer updating module 43, used for updating the original video stream to the desktop buffer;

[0118] A video stream compression module 44, used for compressing and encoding the original video stream in the desktop buffer to obtain a pixel stream;

[0119] The pixel stream transmission module 45 is used to transmit the pixel stream to the client, so that the client decodes and displays the pixel stream.

[0120] In an exemplary embodiment of the present invention, the pixel stream transmission module 45 includes:

[0121] An RDP data encapsulation module is used to encapsulate the pixel stream into a remote desktop protocol RDP format to obtain RDP data;

[0122] An RDP data transmission module, used to transmit the RDP data to the virtual network card of the server;

[0123] An RDP data acquisition module, used to acquire the RDP data from the virtual network card using the proxy plug-in of the server;

[0124] The RDP data transmission module is also used to transmit the RDP data to the client through a video channel.

[0125] In an exemplary embodiment of the present invention, the system further comprises:

[0126] A connection request acquisition module, configured to acquire connection request information of the remote desktop from the client before the access request acquisition module 41 acquires access request information of the remote desktop from the client;

[0127] A connection request parsing module, used to parse the connection request information using the proxy plug-in to obtain connection request data, and transmit the connection request data to the virtual network card;

[0128] A connection request confirmation module, configured to read the connection request data from the virtual network card through the RDP application of the server, generate connection confirmation data according to the connection request data, and return the connection confirmation data to the virtual network card;

[0129] A connection confirmation data transmission module, used to obtain the connection confirmation data from the virtual network card using the proxy plug-in, and transmit the connection confirmation data to the client;

[0130] A connection establishment acquisition module, used to obtain the connection establishment information of the remote desktop from the client;

[0131] The RDP connection establishment module is used to establish an RDP connection between the server and the client according to the connection establishment information.

[0132] In an exemplary embodiment of the present invention, the system further comprises:

[0133] An establishment request acquisition module, configured to acquire establishment request information of the video channel from the client after the RDP connection establishment module creates the RDP connection between the server and the client according to the connection establishment information;

[0134] The video channel establishing module is used to create the video channel according to the establishing request information.

[0135] In an exemplary embodiment of the present invention, the system further comprises:

[0136] The virtual network card configuration module is used to use the proxy plug-in to apply for network card identification information for the virtual network card before the access request acquisition module 41 obtains the access request information of the remote desktop from the client, and configure the corresponding network address for the virtual network card according to the network card identification information.

[0137] In an exemplary embodiment of the present invention, the system further comprises:

[0138] A control instruction acquisition module, configured to acquire the control instruction of the remote desktop from the client through the service channel between the server and the client after the pixel stream transmission module 45 transmits the pixel stream to the client so that the client decodes and displays the pixel stream;

[0139] A control instruction execution module, used for executing the control instruction to obtain an instruction response result;

[0140] The control instruction response module is used to return the instruction response result to the client through the service channel.

[0141] In an exemplary embodiment of the present invention, the system further comprises:

[0142] a disconnection indication acquisition module, configured to acquire disconnection indication information of the remote desktop from the client after the pixel stream transmission module 45 transmits the pixel stream to the client so that the client decodes and displays the pixel stream;

[0143] The buffer releasing module is used to disconnect the RDP connection according to the disconnection indication information and release the original video stream in the desktop buffer.

[0144] As for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0145] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0146] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0147] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0148] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0149] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0150] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0151] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0152] The above is a detailed introduction to a remote desktop control method and a remote desktop control system provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A remote desktop control method, characterized in that: Applied to the server, the method includes: Obtain access request information of the remote desktop from the client; Creating a desktop buffer according to the access request information, and collecting the original video stream of the server; Updating the original video stream to the desktop buffer; Compressing and encoding the original video stream in the desktop buffer to obtain a pixel stream; The pixel stream is transmitted to the client, so that the client decodes and displays the pixel stream.

2. The method according to claim 1, characterized in that The transmitting the pixel stream to the client comprises: Encapsulating the pixel stream into a remote desktop protocol RDP format to obtain RDP data; Transmitting the RDP data to the virtual network card of the server; Obtaining the RDP data from the virtual network card using the proxy plug-in of the server; The RDP data is transmitted to the client through a video channel.

3. The method according to claim 2, characterized in that Before obtaining the access request information of the remote desktop from the client, the method further includes: Acquire connection request information of the remote desktop from the client; Utilizing the proxy plug-in to parse the connection request information to obtain connection request data, and transmitting the connection request data to the virtual network card; Reading the connection request data from the virtual network card through the RDP application on the server side, generating connection confirmation data according to the connection request data, and returning the connection confirmation data to the virtual network card; Using the proxy plug-in to obtain the connection confirmation data from the virtual network card, and transmitting the connection confirmation data to the client; Acquire the connection establishment information of the remote desktop from the client; An RDP connection is established between the server and the client according to the connection establishment information.

4. The method according to claim 3, characterized in that After the RDP connection between the server and the client is established according to the connection establishment information, the method further includes: Acquire establishment request information of the video channel from the client; The video channel is created according to the establishment request information.

5. The method according to claim 2, characterized in that: Before obtaining the access request information of the remote desktop from the client, the method further includes: The proxy plug-in is used to apply for network card identification information for the virtual network card, and a corresponding network address is configured for the virtual network card according to the network card identification information.

6. The method according to claim 1, characterized in that After transmitting the pixel stream to the client so that the client decodes and displays the pixel stream, the method further includes: Obtaining a control instruction of the remote desktop from the client through a service channel between the server and the client; Executing the control instruction to obtain an instruction response result; The command response result is returned to the client through the service channel.

7. The method according to claim 3, characterized in that After transmitting the pixel stream to the client so that the client decodes and displays the pixel stream, the method further includes: Obtain disconnection indication information of the remote desktop from the client; The RDP connection is disconnected according to the disconnection indication information, and the original video stream in the desktop buffer is released.

8. A remote desktop control system, characterized in that: Applied to the server, the system includes: An access request acquisition module is used to obtain access request information of a remote desktop from a client; An original video stream acquisition module, used to create a desktop buffer according to the access request information and acquire the original video stream of the server; A desktop buffer updating module, used for updating the original video stream to the desktop buffer; A video stream compression module, used for compressing and encoding the original video stream in the desktop buffer to obtain a pixel stream; The pixel stream transmission module is used to transmit the pixel stream to the client so that the client can decode and display the pixel stream.

9. An electronic device, characterized in that: include: one or more processors; and One or more machine-readable media having instructions stored thereon, when executed by the one or more processors, enable the electronic device to execute the remote desktop control method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer program stored therein enables the processor to execute the remote desktop control method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Data stream transmission method and device, equipment and storage medium

    CN119766743A