Data transmission method, terminal device and server

By adopting the target transmission protocol of TLS/TLCP encrypted connection in the cloud desktop system, sub-channel multiplexing is achieved, and a single encryption channel cannot meet the problem of frequent communication is solved, communication efficiency and security are improved, and the stability of the system is enhanced. Scalability.

CN119155338APending Publication Date: 2024-12-17XIAN WANXIANG ELECTRONICS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411177828.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

In existing cloud desktop systems, a single encryption channel cannot meet the needs of frequent communication, resulting in insufficient communication efficiency and security, limiting system performance.

Method used

Adopt the target transmission protocol based on TLS/TLCP encrypted connection, multiple independent subchannels are established for parallel communication by multiplexing subchannels on a single encrypted connection, improving communication flexibility and efficiency, and strictly controlling the permissions. Ensure the security of data transmission.

Benefits of technology

It improves communication efficiency and security, reduces system resource consumption and response time, enhances system stability and scalability, and optimizes data transmission and command execution processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155338A_ABST
    Figure CN119155338A_ABST
Patent Text Reader

Abstract

The invention provides a data transmission method, terminal equipment and a server, relates to the technical field of electronic information, and can solve the problem of low data processing efficiency. According to the specific technical scheme, channel multiplexing communication between a server side and a client side and between the client side and a target module is established, safe and efficient data transmission and command execution are achieved, the safety of data transmission is ensured, and the communication efficiency is improved through the channel multiplexing technology.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of electronic information technology, and in particular to a data transmission method, a terminal device and a server. Background Art

[0002] The basic structure of the existing cloud desktop system includes a zero terminal (R-terminal for short) and a cloud server (S-terminal for short). The R-terminal is used to receive images from the cloud desktop and transmit the local mouse and keyboard information back to the cloud, which is then injected into the cloud desktop corresponding to the current R-terminal. The cloud desktop is generated by the virtual machine / physical machine assigned by the cloud server to the current zero terminal. The S-terminal is an image acquisition and processing module running in the cloud virtual OS, and is also responsible for the injection function of user input data.

[0003] In the cloud desktop system, the security and efficiency of data transmission and command execution between the server and the local end are crucial. The communication method in the existing technology uses a single encrypted channel, which limits the flexibility and efficiency of communication. For example, the single encrypted channel in the existing technology cannot meet the needs of frequent communication between the server and the local end and between different modules of the local end, thus requiring a more efficient and secure communication mechanism. Summary of the invention

[0004] The embodiments of the present disclosure provide a data transmission method, a terminal device and a server, which can solve the problem that the existing data transmission process cannot meet the frequent communication requirements. The technical solution is as follows:

[0005] According to a first aspect of an embodiment of the present disclosure, a data transmission method is provided, which is applied to a server, and the method includes:

[0006] Generate a first data packet based on a target transmission protocol, wherein the first data packet includes a first information element, and the first information element includes a first field and a second field;

[0007] The first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, the second field is used to identify target tasks of target subchannels between different target modules in the server and the terminal device, and the target subchannels are transmission channels established based on the target transmission channel;

[0008] Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value;

[0009] Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment or closing of a target subchannel or the processing of data, or the execution of a command between different target modules in the server and the terminal device;

[0010] The first data packet is sent to a terminal device at a local end, so that the local end processes the data processing request information through the target sub-channel.

[0011] According to a second aspect of an embodiment of the present disclosure, a data transmission method is provided, which is applied to a terminal device, and the method includes:

[0012] Receive a first data packet based on a target transmission protocol sent by a server, the first data packet including a first information element, the first information element including a first field and a second field, wherein the first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, and the second field is used to identify target tasks of target subchannels between different target modules in the server and the terminal device;

[0013] Acquire the target subchannel and the target task according to the first data packet,

[0014] Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value;

[0015] Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment, closing, and / or data processing, and / or command execution of a target sub-channel between different target modules in the server and the terminal device.

[0016] According to a third aspect of an embodiment of the present disclosure, a server is provided, comprising: a processor and a memory storing a computer module that can be run on the processor, wherein the processor implements the steps of the data transmission method described in the above example when executing the computer module.

[0017] According to a fourth aspect of an embodiment of the present disclosure, a terminal device is provided, comprising: a processor and a memory storing a computer module that can be run on the processor, wherein the processor implements the steps of the data transmission method described in the above example when executing the computer module.

[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.

[0019] The channel reuse mechanism of the present invention effectively solves the security and efficiency issues of data transmission and command execution between the server and the client in the cloud desktop system by realizing the reuse of sub-channels on the TLS / TLCP encrypted connection. This mechanism not only improves the flexibility and parallelism of communication, but also reduces the consumption of system resources and response time, providing a strong guarantee for the stable operation of the cloud desktop system.

[0020] Compared with the existing technology, the cloud desktop system target transmission protocol channel multiplexing mechanism based on TLS / TLCP encrypted connection of the present invention has the following beneficial effects:

[0021] 1) By reusing a single encrypted connection to process data interaction and command execution of multiple services, resource utilization is improved and the consumption of network resources and server resources is significantly reduced.

[0022] 2) Optimize data transmission and command execution processes, reduce network delays and packet loss, enhance communication efficiency, and improve the overall communication efficiency of the system.

[0023] 3) Use TLS / TLCP encrypted connection to ensure confidentiality and integrity during data transmission and improve security; at the same time, implement strict permission control mechanism to ensure system security. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0025] Figure 1 is a structural diagram of a data processing system provided by an embodiment of the present disclosure;

[0026] Figure 2 This is a process of a data transmission method provided by an embodiment of the present disclosure Figure 1 ;

[0027] Figure 3 This is a process of a data transmission method provided by an embodiment of the present disclosure Figure 2 ;

[0028] Figure 4 A transmission link diagram in a data transmission method provided by an embodiment of the present disclosure Figure 1 ;

[0029] Figure 5 A transmission link diagram in a data transmission method provided by an embodiment of the present disclosure Figure 2 ;

[0030] Figure 6 A transmission link diagram in a data transmission method provided by an embodiment of the present disclosure Figure 3 ;

[0031] Figure 7 It is a schematic diagram of the field structure of a target transmission protocol in a data transmission method provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0032] The embodiments provided in the present application relate to the field of cloud desktop systems and network security technology, and specifically to a channel multiplexing mechanism for implementing TLS (Transport Layer Security Protocol) / TLCP (National Secret TLS Protocol) encrypted connections in a server / client mode.

[0033] Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numerals in different drawings represent the same or similar elements.

[0034] The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0035] In the prior art, an encrypted transmission link can be established based on the TCP encrypted channel protocol to achieve secure data transmission between the terminal device and the server. Through the above-mentioned encrypted transmission link, instructions can be transmitted between the cloud server and the terminal device, and the instructions can be responded to; at the same time, efficiency is also an aspect that cannot be ignored. In a cloud computing environment, the communication between the server and the client is very frequent, and the amount of data may be large. If the communication mechanism is inefficient, it will lead to slow system response, reduced user experience, and even affect the normal operation of the business. Traditional communication methods usually use a single encrypted channel. Although this method is simple and direct, it is not flexible and efficient enough in some scenarios. Especially when there are multiple subsystems or components that need to communicate frequently, a single channel may become a bottleneck, limiting the performance of the entire system.

[0036] In order to solve the problem that a single channel limits the performance of the entire system during the data interaction between the cloud and the local end, the embodiment of the present application proposes a cloud desktop system channel reuse mechanism based on TLS / TLCP encrypted connection. The core idea of ​​this mechanism is to create multiple sub-channels on the established encrypted channel through multiplexing technology to achieve parallel and efficient communication; each sub-channel can independently transmit data and execute commands as needed without the need to re-establish an encrypted connection, thereby greatly saving resources and time. The following is a brief description of the application environment of the data transmission method provided in the embodiment of the present application:

[0037] See also Figure 1A data transmission method provided in an embodiment of the present application is applied to a data processing system, which includes: a server 101 and a terminal device 102; the server 101 and the terminal device 102 can be connected by wire or wirelessly; the terminal device 102 can be understood as a local terminal device corresponding to the cloud where the server is located, and can also be identified as a local terminal later.

[0038] The server 101 is deployed with a server, which is connected to the local terminal device through a target transmission protocol and an encrypted transmission link, and transmits data and requests after the link is successfully established.

[0039] A client is deployed in the terminal device 102, which corresponds to the server. By establishing an encrypted transmission link with the server, a program for providing local services to clients is provided. The terminal device also includes several target modules, as shown in the figure, target module 01, target module 02 to target module n; the server can establish the first sub-channel, the second sub-channel to the nth sub-channel through the client and the target module 01, target module 02 to target module n, respectively, so as to enable the local end to process multiple tasks or data interactions in the same time period.

[0040] The above-mentioned target module may include a data configuration module, a data interaction module, and a command execution module. For example, the data configuration module is used to set the local end according to the parameters set by the server; the command execution module configures the target application to execute the target command transmitted by the server; and the data interaction module is used to exchange data with the server.

[0041] The above-mentioned target module at least includes: tools, scripts or command line interfaces for configuring and managing servers and other resources in the cloud environment, thereby allowing users to perform various management and configuration tasks through the interface of the module.

[0042] The above-mentioned target module is used to indicate the docking module of the device-side encryption protocol to realize the functions such as the configuration of the local side. The local side may include a mobile terminal or a computer terminal device.

[0043] The system provided by the present application can be based on the server / client mode, which is a network architecture mode in which the server provides services and the client requests and receives these services. In this mode, the client initiates a request, and the server responds to the request and returns the result.

[0044] The client can apply for subchannels from the server. These subchannels are virtual channels based on specific types of data transmission or command execution. Each subchannel can be bound to a specific service module, which means that the data transmitted or the commands executed through this subchannel will target a specific service module. This design improves the flexibility and security of data transmission, because different service modules can be isolated and managed through different subchannels.

[0045] In the relay transmission (TCP-Forward mode) mode, the server acts as a relay and is responsible for forwarding data between the client and a specific service module. When the client establishes a connection with the server through a subchannel and requests to interact with a specific service module, the server forwards the received data to the service module and forwards the service module's response back to the client. This method implements indirect communication between the client and a specific service module without establishing a direct connection between them.

[0046] In the system provided in the embodiment of the present application, the client can not only exchange data with a specific service module through a subchannel, but also execute remote commands through the server. For example, the server (cloud access management system) as the client can send commands (such as ls to list directories, scp file transfer, etc.) to the server through the cloud service system, and the server executes these commands and returns the results to the server. This capability makes remote management and control more convenient and efficient.

[0047] In summary, in the process of data transmission between cloud services and terminal devices, the cloud desktop system provided by the embodiment of the present application adopts the server / client mode. The client side binds to a specific service module by applying for a sub-channel, and uses the server side as a relay to achieve data interaction with the specific service module. At the same time, the client side can also execute remote commands through the server side to achieve control and management of remote systems and services, which not only improves the efficiency and security of data transmission, but also enhances the system.

[0048] The present invention provides a cloud desktop system channel multiplexing mechanism based on TLS / TLCP encrypted connection, which realizes secure and efficient data transmission and command execution through target transmission protocol and encrypted channel and multiplexing of sub-channels on the encrypted channel. The present invention improves the security, communication efficiency and flexibility of the system and enhances the scalability and maintainability of the system.

[0049] See also Figure 2The following embodiment uses the above-mentioned server as the execution subject and applies the method provided in the embodiment of the present application to sub-channel data processing as an example for specific description. The data transmission method provided in the embodiment of the present application includes the following steps 201-202:

[0050] Step 201: Generate a first data packet based on a target transmission protocol.

[0051] The first data packet includes a first information element, wherein the first information element includes a first field and a second field;

[0052] The first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, the second field is used to identify target tasks of target subchannels between different target modules in the server and the terminal device, and the target subchannels are transmission channels established based on the target transmission channel;

[0053] Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value;

[0054] Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment or closing of a target sub-channel or the processing of data, or the execution of a command between different target modules in the server and the terminal device.

[0055] The server can receive multiple request information sent by the local end. If at least two data processing request information are obtained within a preset time end, the data processing request information is used to request the local end to process target data or execute target commands within the preset time end.

[0056] A first data packet is generated according to the data processing request information and the target transmission protocol.

[0057] The first data packet is used to request the creation of at least one sub-channel between the server and the target program in the terminal device to process target data or execute a target command.

[0058] The server can process multiple request messages in a short time through multiple sub-channels, thereby improving the data processing capability of the server.

[0059] The target subchannel is used to indicate: according to the encrypted transmission channel established between the server and the terminal device, a transmission subchannel is established between the server, the client and the target module. The target module can be a data interaction module, a data configuration module, a command execution module, etc., so as to process different data request information.

[0060] The second field includes a message method field, and the message method field is used to indicate whether the current data processing request information is a subchannel application request information or a subchannel closing command, or a subchannel execution command, or a channel application subsystem, or a subchannel data interaction request information.

[0061] The second field includes a message type field, and the message type field is used to indicate that the type of the data processing request information is request information, or indication information, or a request success response message, or a request success failure message.

[0062] Step 202: Send the first data packet to a local terminal device, so that the local terminal processes the data processing request information through the target sub-channel.

[0063] The method provided in the present application is based on a target transmission protocol and can encode different data processing request information to generate different field information, thereby improving data processing capabilities.

[0064] The server communicates with the local target module through the sub-channel. The local client acts as a relay, forwarding the data received through the sub-channel to the corresponding target module, and forwarding the response of the target module back to the client, and finally transmitting it to the server.

[0065] In addition to the data forwarding function, the server can also control the client to execute remote commands. This means that the client can send command requests to the server, and the server will execute these commands locally or on a remote server and return the execution results to the client.

[0066] For example, the server as a client can execute the `ls` command on the server to list the contents of a remote directory, or execute the `scp` command to copy files. The execution of these commands requires the server to have the corresponding permissions and configuration to support the execution of remote commands and the return of results.

[0067] The target transmission protocol provided in the embodiment of the present application enables the local end to receive a subchannel creation request from the server. Each subchannel is bound to a specific target module, and the client interacts with the target module through the specified subchannel.

[0068] The above-mentioned link creation based on the target transmission protocol includes the application, binding, management and destruction mechanism of the sub-channel, as well as the reception, execution and result return mechanism of the remote command.

[0069] The embodiment of the present application provides a data transmission method, which can establish channel multiplexing communication between the server and the client and between the client and the target module, and realize safe and efficient data transmission and command execution. It not only ensures the security of data transmission, but also improves communication efficiency by channel multiplexing technology.

[0070] By generating a data packet through the target transmission protocol processing request information, different sub-channels are indicated to process different types of data processing request information through the values ​​of the fields in the data packet, so that the local end determines the target sub-channel to process the target data processing request information through the data packet, thereby improving the efficiency of data processing and the utilization efficiency of the transmission link.

[0071] In an optional embodiment, in the data transmission method provided by the present application, if the server detects that the processing of target data is completed or the execution of the target command is completed or the target transmission link is disconnected, a command to close the sub-channel is generated, and the sub-channel application request information is a request information for requesting to establish a sub-channel in a transmission channel in the target transmission link;

[0072] The second field in the first data packet is modified based on the target transmission protocol and the command for generating and closing the sub-channel, and the command is sent to the local end, so that the sub-channel between the local end and the server end is closed.

[0073] Optionally, after the server initiates a close request, the terminal device stops data transmission.

[0074] See also Figure 3 The following embodiment uses the above-mentioned terminal device as the execution subject and applies the method provided in the embodiment of the present application to sub-channel data processing as an example for specific description. The data transmission method provided in the embodiment of the present application includes the following steps 301-302:

[0075] Step 301: Receive a first data packet based on a target transmission protocol sent by a server.

[0076] The first data packet includes a first information element, the first information element includes a first field and a second field, wherein the first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, and the second field is used to identify target tasks of the target subchannels between different target modules in the server and the terminal device;

[0077] Step 302: acquiring the target subchannel and the target task according to the first data packet.

[0078] Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value;

[0079] Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment, closing, and / or data processing, and / or command execution of a target sub-channel between different target modules in the server and the terminal device.

[0080] The local end interprets the values ​​of each field in the first data packet one by one according to the target transmission protocol, thereby obtaining the target sub-channel and target task.

[0081] For example, the second field is interpreted as a first value, and the first value is used to indicate that the data processing request information is processed through the second sub-channel link.

[0082] The embodiment of the present application provides a data transmission method, which can establish channel multiplexing communication between the server and the client and between the client and the target module, and realize safe and efficient data transmission and command execution. It not only ensures the security of data transmission, but also improves communication efficiency by channel multiplexing technology.

[0083] By generating a data packet through the target transmission protocol processing request information, different sub-channels are indicated to process different types of data processing request information through the values ​​of the fields in the data packet, so that the local end determines the target sub-channel to process the target data processing request information through the data packet, thereby improving the efficiency of data processing and the utilization efficiency of the transmission link.

[0084] In an optional embodiment, in the data transmission method provided by the present application, if the local end determines to respond to the data processing request information, the local end modifies the second field based on the target transmission protocol and the response feedback to generate a second data packet;

[0085] A second data packet is sent to the server, so that the server determines that the local end responds to the data processing request information.

[0086] For example, the local end may modify the second field to a third value, where the third value is used to indicate a successful response to the data processing request information, and then generate and send a second data packet.

[0087] After receiving the second data packet, the server parses the second data packet according to the target transmission protocol and obtains that the threshold of the second field is the third value, and then knows that the local terminal device successfully responds to the request information.

[0088] Correspondingly, if the local end cannot respond to the data transmission request, the value of the second field can also be modified to generate a second data packet and send it to the above-mentioned server, so that the server knows that the local end cannot respond.

[0089] Please refer to the attached Figure 4 The flowchart shown in the figure is used to explain how the server and the terminal device establish an encrypted transmission link.

[0090] The client connects to the listening port of the server through a communication protocol (such as TCP protocol). After the server receives the connection from the client, it creates a direct encrypted channel between the client and the server through the standard TLS protocol.

[0091] The initialization process of channel establishment, in which the client actively connects to the listening port of the server through TCP. Once the connection is established, both parties negotiate encryption parameters through the standard TLS or TLCP protocol to create an encrypted channel. This encrypted channel provides security for subsequent data interaction and command execution.

[0092] Since the client protocol itself is unrelated to the encryption protocol, an encrypted channel can also be created through other encryption protocols, such as the National Encryption TLCP.

[0093] Realize the establishment and management of TLS / TLCP encrypted connections, ensure that all data transmitted through the target transmission protocol is encrypted, and improve communication security.

[0094] Protocol independence: It is worth noting that the target transmission protocol itself does not depend on a specific encryption protocol. This means that in addition to TLS, we can also use other encryption protocols such as TLCP to create encrypted channels according to actual needs, thereby enhancing the flexibility and compatibility of the system.

[0095] Please refer to the attached Figure 5 The flowchart shown in the figure is used to explain how the server and the terminal device realize data interaction through the sub-channel of the encrypted transmission link:

[0096] Step 1: Sub-channel application

[0097] The server receives a request to create a new subchannel, and each subchannel is designed to be bound to a target module on the local side, thereby enabling data interaction between the server and the target module of the terminal device.

[0098] After receiving the request for data interaction, the server first finds the encrypted transmission link established with the local end;

[0099] The server generates a first target message based on the data interaction request and the target transmission protocol. The first target message is used to request the establishment of a sub-channel between the server and the terminal device. The message contains relevant information required to establish the sub-channel, such as the service type, target address, etc.

[0100] The first target message of the sub-channel is sent to the local end through the encrypted transmission link.

[0101] Step 2: Subchannel creation

[0102] After the local end receives the first target message through the client, if it determines to respond to the first target message, it will create a subchannel with the target configuration module according to the first target information.

[0103] The client will also connect to the listening port of the target configuration module through a communication protocol (such as TCP transmission control protocol); if the connection with the target configuration module is successfully established through the listening port, the client will generate a second target message according to the connection status and the target transmission protocol.

[0104] The client sends the second target message to the server, so that the server determines that the subchannel between the server and the target configuration module is ready.

[0105] Step 3: Data interaction between sub-channels

[0106] After detecting that the sub-channel between the server and the target configuration module is established, the server generates a first target message according to the target data and the target transmission protocol.

[0107] The first target message is sent to the target execution program at the local end through the client, and the client, as a data transfer station, transparently forwards the data to the target configuration module.

[0108] Correspondingly, the target configuration module can also send data to the client through the subchannel and the target transmission protocol, and the client then forwards the data to the server.

[0109] Please refer to the attached Figure 6 The flowchart shown in the figure is used to explain how the server and the terminal device execute commands through the sub-channel of the encrypted transmission link:

[0110] Step 1: Sub-channel application

[0111] After receiving the request to execute the command, the server first finds the encrypted transmission link established with the local end;

[0112] The server generates a first target message based on the data interaction request and the target transmission protocol. The first target message is used to request the establishment of a sub-channel between the server and the terminal device. The message contains relevant information required to establish the sub-channel, such as execution commands, target address, etc.

[0113] The first target message of the sub-channel is sent to the local end through the encrypted transmission link.

[0114] Step 2: Subchannel creation

[0115] After the local end receives the first target message through the client, if it determines to respond to the first target message, it will create a subchannel with the target configuration module according to the first target information.

[0116] The client will also connect to the listening port of the target configuration module through a communication protocol (such as TCP transmission control protocol); if the connection with the target configuration module is successfully established through the listening port, the client will generate a second target message according to the connection status and the target transmission protocol;

[0117] The client sends the second target message to the server, so that the server determines that the subchannel between the server and the target configuration module is ready.

[0118] Step 3: Send command:

[0119] After detecting that the sub-channel between the server and the target configuration module is established, the server generates a first target message according to the execution command and the target transmission protocol, and the message includes the command to be executed and its related parameters.

[0120] The first target message is sent to the target execution program on the local side through the client.

[0121] Step 4: Subchannel command execution

[0122] After receiving a command execution request, the client parses the command in the request and executes the command on the local or remote server.

[0123] During the execution process, the client may interact with the operating system's shell or other command interpreters to obtain the command execution results.

[0124] After the command is executed, the client will return the execution result to the server through an encrypted channel. This result may be the output of the command, the execution status code, or other related information.

[0125] Correspondingly, after detecting that the target execution program executes the target command, feedback can be given to the server without waiting until the command is executed.

[0126] Step 5: Channel closure:

[0127] After the command is executed and the result is returned, the server will close the subchannel used for command execution by sending a channel close message. This close operation helps to free up system resources and maintain the cleanliness of the system.

[0128] The method provided in the embodiment of the present application can improve communication efficiency while ensuring data transmission security by implementing a channel reuse mechanism based on TLS / TLCP encrypted connection. This mechanism not only simplifies the communication process between the server, client and local target module, but also enhances the scalability and maintainability of the system.

[0129] The method provided in the embodiment of the present application reduces CPU and memory overhead by optimizing encryption and decryption algorithms, adopts efficient concurrent processing technologies such as multithreading and asynchronous IO, improves the system's ability to handle multiple client requests, and reduces network delay and packet loss by optimizing sub-channel data transmission strategies.

[0130] Please refer to the attached Figure 7 The schematic diagram of the transmission protocol structure shown in the figure is used to illustrate the composition of the target transmission protocol in the process of the server and the terminal device communicating through the sub-channel:

[0131] The target transmission protocol includes at least a first field, a second field and a third field.

[0132] The first field is used to identify the channels between the server and different target modules in the terminal device;

[0133] As attached Figure 7 In the protocol structure shown, the first field may include a CID field, such as: identified as a channel id. The first field occupies an 8-bit value in the protocol, and the value range is 1-255, so as to distinguish different multiplexed channels. Specifically, when applying for a new first sub-channel, the value CID=0 is set, and when applying for a new second sub-channel, the value CID=1 is set.

[0134] The second field is used to identify channel processing and / or data processing between different target modules in the server and the terminal device;

[0135] As attached Figure 7 In the protocol structure shown, the first field may include an M field, such as: identified as method, and the second field occupies 6 bits in the protocol, with a value range of 0-63, thereby indicating different types of messages. Specifically, when creating a new subchannel, set the identification bit M=0; when closing the subchannel, set the identification bit M=1; when executing the target command through the subchannel, set the identification bit M=2; when creating a new subchannel system, set the identification bit M=3; when transmitting data through the subchannel, set the identification bit M=4.

[0136] The third field is used to identify whether the data processing request information requires a response, and whether the local end responds to the data processing request information.

[0137] As attached Figure 7 In the protocol structure shown, the third field may include a C field, such as: identified as class, the third field occupies 2 bits in the protocol, and has a value range of 0-3, thereby representing different types of messages, specifically: when requesting a response message, set the identification bit C=0; when indicating a message, set the identification bit C=1; when requesting a successful response message, set the identification bit C=0; when requesting a failed response message, set the identification bit C=0.

[0138] In an optional embodiment, the target transmission protocol provided in the embodiment of the present application may also include a fourth field such as the attached Figure 7 As shown:

[0139] The fourth field is used to indicate parameters of the target protocol.

[0140] Please refer to the attached Figure 7 In the protocol structure shown, the fourth field may include an L field, such as: marked as length, and the fourth field occupies 16 bits in the protocol, thereby indicating the length of the target transmission protocol message body (excluding the message header).

[0141] In an optional embodiment, the target transmission protocol provided in the embodiment of the present application may also include a fifth field, such as the attached Figure 7 As shown:

[0142] The fifth field, the fourth field is used to indicate the field of the target data, that is, the message body.

[0143] Here is a specific example: If the server sends a request message to the client, and the client responds to the request message, the values ​​of the fields in the target transport protocol can be set as follows:

[0144] CID=0;

[0145] M = 0;

[0146] C = 0;

[0147] length=0;

[0148] data is empty.

[0149] The method provided in this application also includes the management of sub-channels:

[0150] The server maintains a subchannel list, recording subchannel identifiers, bound services, status, etc. It supports subchannel creation and closing request processing, automatically releases resources, and updates list status.

[0151] Implement a strict permission control mechanism to ensure that only authorized clients can create subchannels and execute remote commands. Limit the types of commands that clients can execute and the scope of resources they can access to improve system security.

[0152] The method provided in this application implements a comprehensive error handling mechanism through error handling and log recording, ensures stable operation of the system, and provides clear error information when an error occurs. Record detailed operation logs to facilitate troubleshooting and performance analysis. Implement a comprehensive error handling mechanism to ensure stable operation of the system and provide clear error information when an error occurs.

[0153] Record detailed operation logs to facilitate troubleshooting and performance analysis. Through the above steps, a channel multiplexing mechanism based on TLS / TLCP encrypted connection can be implemented, so that the target transmission protocol (server end) of the cloud desktop system can efficiently process client requests and provide secure and reliable data interaction and remote command execution functions.

[0154] For the specific definition of the above-mentioned data processing device, please refer to the definition of the data processing method above, which will not be repeated here. Each module in the above-mentioned data processing device can be implemented in whole or in part by software, hardware or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software.

[0155] So that the processor can call and execute the corresponding operations of the above modules.

[0156] An embodiment of the present disclosure provides a server, comprising: a processor and a memory storing a computer module that can be run on the processor, wherein the processor implements the steps of the data transmission method in the above embodiment when executing the computer module.

[0157] An embodiment of the present disclosure provides a terminal device, which includes: a processor and a memory storing a computer module that can be run on the processor, wherein the processor implements the steps of the data transmission method in the above embodiment when executing the computer module.

[0158] In an embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer module is stored. When the computer module is executed by a processor, any step in the above data transmission method can be implemented.

[0159] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer module products. Therefore, the present application can adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the present application can adopt the form of computer module products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable module codes.

[0160] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer module products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer module instructions. These computer module instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing 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 specifies the functions of a block or multiple blocks.

[0161] Although the preferred embodiments of the present application have been described, those skilled in the art may make other 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 falling within the scope of the present application.

[0162] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A data transmission method, It is characterized in that Applied to a server, the method comprises: Generate a first data packet based on a target transmission protocol, the first data packet comprising: a first information element, the first information element comprising a first field and a second field; The first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, and the second field is used to identify target tasks of target subchannels between different target modules in the server and the terminal device; Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value; Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment or closing of a target subchannel or the processing of data, or the execution of a command between different target modules in the server and the terminal device; The first data packet is sent to a terminal device at the local end, so that the local end processes the data processing request information through the target sub-channel.

2. A data transmission method, It is characterized in that Applied to a terminal device, the method comprises: Receive a first data packet based on a target transmission protocol sent by a server, the first data packet including a first information element, the first information element including a first field and a second field, wherein the first information element is used to carry data processing request information, the first field is used to identify different target subchannels between different target modules between the server and the terminal device, and the second field is used to identify target tasks of target subchannels between different target modules in the server and the terminal device; Acquire the target subchannel and target task according to the first data packet, Furthermore, when the value of the first field is the first value, the ID of the target subchannel is the first value; Furthermore, when the value of the second field is the second value, the second field is used to indicate the establishment, closing, data processing, or command execution of a target subchannel between different target modules in the server and the terminal device.

3. The data transmission method according to claim 1 or 2, It is characterized in that The second field includes a field for a message method; The message method field is used to indicate whether the current data processing request information is a subchannel application request information or a subchannel closing command, or a subchannel execution command, or a channel application subsystem, or a subchannel data interaction request information.

4. The data transmission method according to claim 1 or 2, It is characterized in that The second field includes a field of message type; The message type field is used to indicate whether the type of the data processing request information is request information, or indication information, or request success response message, or request success failure message.

5. The data transmission method according to claim 1 or 2, It is characterized in that The first information element also includes a third field, and the third field is used to transmit the target data / target command carried in the data processing request information.

6. The data transmission method according to claim 1 or 2, It is characterized in that The target subchannel is used to indicate: According to the encrypted transmission channel established between the server and the terminal device, a transmission sub-channel is established between the server, the terminal device and the target program.

7. The data transmission method according to claim 1, It is characterized in that The method further comprises: If the server detects that the processing of target data is completed or the execution of target command is completed or the target transmission link is disconnected, a command for closing the sub-channel is generated, wherein the sub-channel application request information is a request information for requesting to establish a sub-channel in a transmission channel in the target transmission link; The second field in the first data packet is modified based on the target transmission protocol and the command for generating and closing the sub-channel, and the command is sent to the local end, so that the sub-channel between the local end and the server is closed.

8. The data transmission method according to claim 2, It is characterized in that The method further comprises: If the terminal device determines to respond to the data processing request information, the terminal device modifies the second field based on the target transmission protocol and the response result to generate a second data packet; The second data packet is sent to the server so that the server determines that the terminal device responds to the data processing request information.

9. A server, It is characterized in that Computer executable instructions are stored, and the computer executable instructions are used to execute the data transmission method according to any one of claims 1 and 3 to 7.

10. A terminal device, It is characterized in that Computer executable instructions are stored, and the computer executable instructions are used to execute the data transmission method according to any one of claims 2 to 6 and 8.