CN112600878B - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN112600878B
CN112600878B CN202011371385.4A CN202011371385A CN112600878B CN 112600878 B CN112600878 B CN 112600878B CN 202011371385 A CN202011371385 A CN 202011371385A CN 112600878 B CN112600878 B CN 112600878B
Authority
CN
China
Prior art keywords
priority
channel
client
target
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011371385.4A
Other languages
Chinese (zh)
Other versions
CN112600878A (en
Inventor
蒋华平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202011371385.4A priority Critical patent/CN112600878B/en
Publication of CN112600878A publication Critical patent/CN112600878A/en
Application granted granted Critical
Publication of CN112600878B publication Critical patent/CN112600878B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

The application relates to the technical field of cloud desktops, in particular to a data transmission method and device. The method is applied to a gateway in a cloud desktop system, a client communicates with a virtual machine through the gateway, and the method comprises the following steps: receiving a connection establishment request sent by a target client, wherein the connection establishment request carries the client priority of the target client; recording the client priority of the target client, and forwarding the connection establishment request to a corresponding target virtual machine so as to establish connection between the target client and the target virtual machine; and receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.

Description

Data transmission method and device
Technical Field
The application relates to the technical field of cloud desktops, in particular to a data transmission method and device.
Background
With the rapid development of the cloud desktop technology, the demands of enterprise employees on office modes are more and more diversified, the demands of remote office are more and more, and it becomes more and more important that the cloud desktop safely supports the wide area network. The remote office refers to that enterprise employees can log in a cloud desktop in different areas.
The current cloud desktop gateway has no VIP user function, all cloud desktop users accessed through a gateway of a wide area network are treated identically, but the bandwidth of an internet exit has an upper limit, and on the premise of reaching the upper limit, the desktop updating is very slow, even the connection is disconnected, for example, an important user is connected to the cloud desktop office in a company through the gateway of the wide area network in a remote office mode to process emergency affairs, but the response is slow due to the fact that the network is blocked, even the connection is disconnected, and therefore the business of the company can be seriously influenced.
Therefore, under the condition that the outlet bandwidth of the wide area network is limited, how to guarantee the service experience of the important user becomes very important to enable the important user to realize smooth VDI experience of the wide area network.
Disclosure of Invention
The application provides a data transmission method and device, which are used for solving the problem that different types of data of different clients cannot be transmitted as required in the prior art.
In a first aspect, the present application provides a data transmission method, which is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, where the method includes:
receiving a connection establishment request sent by a target client, wherein the connection establishment request carries the client priority of the target client;
recording the client priority of the target client, and forwarding the connection establishment request to a corresponding target virtual machine so as to establish connection between the target client and the target virtual machine;
and receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
Optionally, the channels at least include a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse and keyboard operation instructions, and a channel for transmitting print data.
Optionally, the gateway locally presets channel priorities of various channels;
the step of determining the priority of the channel required for transmitting the data to be transmitted comprises the following steps:
determining the data type of the data to be transmitted, and determining a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted;
and determining the priority information of the target channel based on the priority information of various locally preset channels.
Optionally, the step of transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel includes:
and determining a comprehensive priority based on the client priority of the target client and the channel priority of the target channel, and scheduling a local forwarding module to transmit the data to be transmitted based on the comprehensive priority, wherein the higher the comprehensive priority is, the more times the forwarding module can be scheduled is, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
Optionally, the client priority is a client privilege value, and the channel priority is a channel privilege value, where the higher the privilege value is, the higher the mark priority is;
the step of determining a composite priority based on the client priority of the target client and the channel priority of the target channel comprises:
and calculating the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority is, the higher the marking priority is.
In a second aspect, the present application provides a data transmission apparatus, which is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, where the apparatus includes:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a connection establishment request sent by a target client, and the connection establishment request carries the client priority of the target client;
the recording unit is used for recording the client priority of the target client and forwarding the connection establishment request to the corresponding target virtual machine so as to establish connection between the target client and the target virtual machine;
and the transmission unit is used for receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
Optionally, the channels at least include a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse and keyboard operation instructions, and a channel for transmitting print data.
Optionally, the gateway locally presets channel priorities of various channels;
when determining the priority of the channel required for transmitting the data to be transmitted, the transmission unit is specifically configured to:
determining the data type of the data to be transmitted, and determining a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted;
and determining the priority information of the target channel based on the priority information of various locally preset channels.
Optionally, when the data to be transmitted is transmitted based on the client priority of the target client and the channel priority of the target channel, the transmission unit is specifically configured to:
and determining a comprehensive priority based on the client priority of the target client and the channel priority of the target channel, and scheduling a local forwarding module to transmit the data to be transmitted based on the comprehensive priority, wherein the higher the comprehensive priority is, the more times the forwarding module can be scheduled is, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
Optionally, the client priority is a client privilege value, and the channel priority is a channel privilege value, where the higher the privilege value is, the higher the mark priority is;
when determining the comprehensive priority based on the client priority of the target client and the channel priority of the target channel, the transmission unit is specifically configured to:
and calculating the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority is, the higher the marking priority is.
In a third aspect, an embodiment of the present application provides a gateway device, where the gateway device includes:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory and for executing the steps of the method according to any one of the above first aspects in accordance with the obtained program instructions.
In a fourth aspect, the present application further provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method according to any one of the above first aspects.
In summary, the data transmission method provided in the embodiment of the present application is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, and the method includes: receiving a connection establishment request sent by a target client, wherein the connection establishment request carries the client priority of the target client; recording the client priority of the target client, and forwarding the connection establishment request to a corresponding target virtual machine so as to establish connection between the target client and the target virtual machine; and receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
By adopting the data transmission method provided by the embodiment of the application, the data to be transmitted can be transmitted according to the importance of the data to be transmitted and/or the importance of the client sending the data to be transmitted, the data to be transmitted with higher priority and higher corresponding channel priority of the client is transmitted preferentially, the transmission of different types of data sent by different clients is effectively managed, and the condition that the transmission of important data of important users is delayed due to higher bandwidth utilization rate is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments of the present application or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings of the embodiments of the present application.
Fig. 1 is a schematic structural diagram of a cloud desktop system according to an embodiment of the present application;
fig. 2 is a detailed flowchart of a data transmission method according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a gateway according to an embodiment of the present application.
Detailed Description
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein is meant to encompass any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in the embodiments of the present application to describe various information, the information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Depending on the context, moreover, the word "if" as used may be interpreted as "at … …" or "when … …" or "in response to a determination".
For example, referring to fig. 1, for a structural schematic diagram of the cloud desktop system provided in the embodiment of the present application, each client (e.g., client 1, client 2) in a branch office accesses a gateway on a data center side through the internet, and each client establishes a communication connection (e.g., VDI virtual desktop infrastructure connection) with a cloud desktop virtual machine on a cloud desktop server through the gateway. The gateway is used for transmitting various data between each client and the corresponding cloud desktop virtual machine. How to implement transmission of different priorities for different types of data of different types of clients is a technical problem to be solved by the present application.
Exemplarily, referring to fig. 2, a detailed flowchart of a data transmission method provided in an embodiment of the present application is shown, where the method is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, and the method includes the following steps:
step 200: receiving a connection establishment request sent by a target client, wherein the connection establishment request carries the client priority of the target client.
Specifically, when a VDI connection is established between a client and a virtual machine in a cloud desktop server, a connection establishment request is sent to the cloud desktop server through a gateway.
Step 210: and recording the client priority of the target client, and forwarding the connection establishment request to a corresponding target virtual machine so as to establish connection between the target client and the target virtual machine.
Specifically, when receiving a connection establishment request sent by a target client, the gateway analyzes the connection establishment request to obtain the client priority of the target client carried by the connection establishment request, maintains the client priority locally, further forwards the connection establishment request to a corresponding target virtual machine of the target client on the cloud desktop server, and establishes connection with the target client based on the connection establishment request.
Step 220: and receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
In the embodiment of the present application, a preferred implementation manner is that the gateway locally presets channel priorities of various channels; then, when determining the priority of the channel required for transmitting the data to be transmitted, a preferred mode is to determine the data type of the data to be transmitted, and determine a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted; and determining the priority information of the target channel based on the priority information of various locally preset channels.
It should be noted that the VDI protocol is composed of a plurality of channels, and each channel is a TCP connection. Each channel is used for transmitting different types of data, and in the embodiment of the application, the channels at least comprise a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse and keyboard operation instructions and a channel for transmitting printing data.
That is to say, when receiving data to be transmitted sent by a target client, a gateway first determines the data type of the data to be transmitted, that is, determines which type of channel the data to be transmitted needs to adopt for transmission, and if so, determines that the data needs to adopt the target channel for transmission; then, the gateway locally maintains the channel priority of various channels, so that the channel priority of the target channel can be determined; and finally, transmitting the data to be transmitted according to the client priority of the target client and the channel priority of the target channel.
In this embodiment of the application, when the data to be transmitted is transmitted based on the client priority of the target client and the channel priority of the target channel, a preferred implementation manner is that a comprehensive priority is determined based on the client priority of the target client and the channel priority of the target channel, and the local forwarding module is scheduled based on the comprehensive priority to transmit the data to be transmitted, where the higher the comprehensive priority is, the more times the forwarding module can be scheduled are, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
In practical application, after the gateway receives the data to be transmitted sent by the client, the local scheduler of the gateway schedules the local forwarding module to process the data to be transmitted, that is, the priority of data processing can refer to the priority of scheduling the forwarding module to perform data transmission, that is, the priority of the forwarding module is used. Data with high client priority and channel priority can preferentially use the forwarding module.
In an embodiment of the present application, a preferred implementation manner is that the client priority is a client privilege value, and the channel priority is a channel privilege value, where the higher the privilege value is, the higher the mark priority is.
For example, the client specific value is 1-9 levels, the channel specific value is also 1-9 levels, and when the privilege value is higher, it indicates that the priority is higher, that is, the processing priority of the data corresponding to the channel specific value of 9 sent by the client with the specific value of 9 is the highest. Similarly, the processing priority of the data with the channel specific value of 1 sent by the client with the specific value of 1 is the lowest.
Then, when determining the comprehensive priority based on the client priority of the target client and the channel priority of the target channel, a preferred implementation manner is to calculate the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel, and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority, the higher the marking priority.
For example, assuming that the preset weight ratio of the client to the channel is 1:1, after the normalization process, that is, the client occupation ratio is 50%, the channel occupation ratio is 50%, and if the client specific weight of the target client is 8 and the channel specific weight of the target channel is 6, the weighted combined specific weight is (8 × 50% +6 × 50%) (4+3) ═ 7.
For another example, assuming that the preset ratio of the client to the channel weight is 3:1, after the normalization process, that is, the client occupation ratio is 75%, the channel occupation ratio is 25%, and if the client specific weight of the target client is 4 and the channel specific weight of the target channel is 8, the weighted combined specific weight is (4 × 75% +8 × 25%) (3+2) 5.
Of course, the weight ratio of the client and the channel may be set by a user according to user requirements and/or specific application scenarios, and in the embodiment of the present application, no specific limitation is made herein.
Based on the same inventive concept as the above-mentioned embodiment of the invention, for example, referring to fig. 3, a schematic structural diagram of a data transmission device provided in an embodiment of the present application is shown, the device is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, the device includes:
a receiving unit 30, configured to receive a connection establishment request sent by a target client, where the connection establishment request carries a client priority of the target client;
a recording unit 31, configured to record a client priority of the target client, and forward the connection establishment request to a corresponding target virtual machine, so that a connection is established between the target client and the target virtual machine;
the transmission unit 32 is configured to receive data to be transmitted sent by the target client, determine a channel priority of a target channel required for transmitting the data to be transmitted, and transmit the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
Optionally, the channels at least include a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse and keyboard operation instructions, and a channel for transmitting print data.
Optionally, the gateway locally presets channel priorities of various channels;
when determining the priority of the channel required for transmitting the data to be transmitted, the transmission unit 32 is specifically configured to:
determining the data type of the data to be transmitted, and determining a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted;
and determining the priority information of the target channel based on the priority information of various locally preset channels.
Optionally, when the data to be transmitted is transmitted based on the client priority of the target client and the channel priority of the target channel, the transmission unit 32 is specifically configured to:
and determining a comprehensive priority based on the client priority of the target client and the channel priority of the target channel, and scheduling a local forwarding module to transmit the data to be transmitted based on the comprehensive priority, wherein the higher the comprehensive priority is, the more times the forwarding module can be scheduled is, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
Optionally, the client priority is a client privilege value, and the channel priority is a channel privilege value, where the higher the privilege value is, the higher the mark priority is;
when determining the comprehensive priority based on the client priority of the target client and the channel priority of the target channel, the transmission unit 32 is specifically configured to:
and calculating the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority is, the higher the marking priority is.
The above units may be one or more integrated circuits configured to implement the above methods, for example: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when one of the above units is implemented in the form of a Processing element scheduler code, the Processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Further, in the gateway provided in the embodiment of the present application, from a hardware level, a schematic diagram of a hardware architecture of the gateway may be shown in fig. 4, where the gateway may include: a memory 40 and a processor 41, which,
memory 40 is used to store program instructions; processor 41 calls program instructions stored in memory 40 and executes the above-described method embodiments in accordance with the obtained program instructions. The specific implementation and technical effects are similar, and are not described herein again.
Optionally, the present application also provides a gateway device, including at least one processing element (or chip) for executing the above method embodiments.
Optionally, the present application also provides a program product, such as a computer-readable storage medium, having stored thereon computer-executable instructions for causing the computer to perform the above-described method embodiments.
Here, a machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and so forth. For example, the machine-readable storage medium may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Furthermore, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (10)

1. A data transmission method is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, and the method comprises the following steps:
receiving a connection establishment request sent by a target client, wherein the connection establishment request carries the client priority of the target client;
recording the client priority of the target client, and forwarding the connection establishment request to a corresponding target virtual machine so as to establish connection between the target client and the target virtual machine;
and receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
2. The method according to claim 1, wherein the channels include at least a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse-keyboard operation instructions, and a channel for transmitting print data.
3. The method according to claim 1 or 2, wherein the gateway is preset with channel priorities of various channels locally;
the step of determining the priority of the channel required for transmitting the data to be transmitted comprises the following steps:
determining the data type of the data to be transmitted, and determining a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted;
and determining the priority information of the target channel based on the priority information of various locally preset channels.
4. The method of claim 1 or 2, wherein transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel comprises:
and determining a comprehensive priority based on the client priority of the target client and the channel priority of the target channel, and scheduling a local forwarding module to transmit the data to be transmitted based on the comprehensive priority, wherein the higher the comprehensive priority is, the more times the forwarding module can be scheduled is, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
5. The method of claim 4, wherein the client priority is a client privilege value and the channel priority is a channel privilege value, wherein a higher privilege value indicates a higher priority;
the step of determining a composite priority based on the client priority of the target client and the channel priority of the target channel comprises:
and calculating the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority is, the higher the marking priority is.
6. A data transmission device is applied to a gateway in a cloud desktop system, and a client communicates with a virtual machine through the gateway, wherein the device comprises:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a connection establishment request sent by a target client, and the connection establishment request carries the client priority of the target client;
the recording unit is used for recording the client priority of the target client and forwarding the connection establishment request to the corresponding target virtual machine so as to establish connection between the target client and the target virtual machine;
and the transmission unit is used for receiving the data to be transmitted sent by the target client, determining the channel priority of a target channel required for transmitting the data to be transmitted, and transmitting the data to be transmitted based on the client priority of the target client and the channel priority of the target channel.
7. The apparatus of claim 6, wherein the channels include at least a channel for transmitting video image data, a channel for transmitting audio data, a channel for transmitting mouse-keyboard operation instructions, and a channel for transmitting print data.
8. The apparatus according to claim 6 or 7, wherein the gateway is preset with channel priorities of various channels locally;
when determining the priority of the channel required for transmitting the data to be transmitted, the transmission unit is specifically configured to:
determining the data type of the data to be transmitted, and determining a target channel for transmitting the data to be transmitted based on the data type of the data to be transmitted;
and determining the priority information of the target channel based on the priority information of various locally preset channels.
9. The apparatus according to claim 6 or 7, wherein when the data to be transmitted is transmitted based on the client priority of the target client and the channel priority of the target channel, the transmission unit is specifically configured to:
and determining a comprehensive priority based on the client priority of the target client and the channel priority of the target channel, and scheduling a local forwarding module to transmit the data to be transmitted based on the comprehensive priority, wherein the higher the comprehensive priority is, the more times the forwarding module can be scheduled is, the lower the comprehensive priority is, and the fewer times the forwarding module can be scheduled is.
10. The apparatus of claim 9, wherein the client priority is a client privilege value and the channel priority is a channel privilege value, wherein a higher privilege value indicates a higher priority;
when determining the comprehensive priority based on the client priority of the target client and the channel priority of the target channel, the transmission unit is specifically configured to:
and calculating the comprehensive priority based on the client specific value of the target client, the channel specific value of the target channel and a preset weight ratio of the client to the channel, wherein the larger the value of the comprehensive priority is, the higher the marking priority is.
CN202011371385.4A 2020-11-30 2020-11-30 Data transmission method and device Active CN112600878B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011371385.4A CN112600878B (en) 2020-11-30 2020-11-30 Data transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011371385.4A CN112600878B (en) 2020-11-30 2020-11-30 Data transmission method and device

Publications (2)

Publication Number Publication Date
CN112600878A CN112600878A (en) 2021-04-02
CN112600878B true CN112600878B (en) 2022-04-01

Family

ID=75187323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011371385.4A Active CN112600878B (en) 2020-11-30 2020-11-30 Data transmission method and device

Country Status (1)

Country Link
CN (1) CN112600878B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301299B (en) * 2021-05-06 2023-03-28 厦门市思芯微科技有限公司 Multi-channel video transmission method, system, terminal and storage medium
CN114500404B (en) * 2022-01-25 2024-02-20 银清科技有限公司 Communication message transmission isolation method and device
WO2024007334A1 (en) * 2022-07-08 2024-01-11 Huawei Technologies Co., Ltd. A device and methodology for hybrid scheduling using strict priority and packet urgentness
CN115102910B (en) * 2022-08-25 2022-11-18 沐曦科技(成都)有限公司 Data transmission method, device, network equipment and computer readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260394A (en) * 2004-03-10 2005-09-22 N Jen:Kk Priority control method, control system and controller of communication
CN101459611A (en) * 2008-12-23 2009-06-17 杭州华三通信技术有限公司 Data transmission scheduling method, system and device for IP SAN storage
CN107370764A (en) * 2017-09-05 2017-11-21 北京奇艺世纪科技有限公司 A kind of audio/video communication system and audio/video communication method
CN108933801A (en) * 2017-05-24 2018-12-04 中兴通讯股份有限公司 A kind of cloud desktop Path Setup and the method and device of cloud desktop communication
CN109769214A (en) * 2018-12-26 2019-05-17 彩讯科技股份有限公司 A kind of information push method, device, terminal and medium
CN110855792A (en) * 2019-11-19 2020-02-28 南京领行科技股份有限公司 Message pushing method, device, equipment and medium
CN110971544A (en) * 2018-09-30 2020-04-07 北京国双科技有限公司 Data sending method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260394A (en) * 2004-03-10 2005-09-22 N Jen:Kk Priority control method, control system and controller of communication
CN101459611A (en) * 2008-12-23 2009-06-17 杭州华三通信技术有限公司 Data transmission scheduling method, system and device for IP SAN storage
CN108933801A (en) * 2017-05-24 2018-12-04 中兴通讯股份有限公司 A kind of cloud desktop Path Setup and the method and device of cloud desktop communication
CN107370764A (en) * 2017-09-05 2017-11-21 北京奇艺世纪科技有限公司 A kind of audio/video communication system and audio/video communication method
CN110971544A (en) * 2018-09-30 2020-04-07 北京国双科技有限公司 Data sending method and device
CN109769214A (en) * 2018-12-26 2019-05-17 彩讯科技股份有限公司 A kind of information push method, device, terminal and medium
CN110855792A (en) * 2019-11-19 2020-02-28 南京领行科技股份有限公司 Message pushing method, device, equipment and medium

Also Published As

Publication number Publication date
CN112600878A (en) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112600878B (en) Data transmission method and device
AU2016339974C1 (en) Application service configuration system
CN110808922B (en) Message processing method and device, storage medium and electronic equipment
CN104702681B (en) The optimization that the presentation information of wireless device is refreshed
US11128991B2 (en) Method, apparatus, and system for floor control on multiple MCPTT systems
US8738791B1 (en) Location based network usage policies
JP2011526012A (en) Wireless communication device with deterministic control of foreground access of user interface
US10693823B2 (en) Dynamic message content filter
US20170359778A1 (en) Multi-Channel Communications For Sending Push Notifications To Mobile Devices
KR20170088351A (en) Multi-device collaboration
US11533226B2 (en) Application service configuration system
CN110650209A (en) Method and device for realizing load balance
CN111510493B (en) Distributed data transmission method and device
CN111200606A (en) Deep learning model task processing method, system, server and storage medium
CN112600761A (en) Resource allocation method, device and storage medium
US10986172B2 (en) Configurable connection reset for customized load balancing
US9924013B2 (en) Automatic communication responses
US11848762B2 (en) Live broadcast stream pushing method and apparatus, and electronic device
CN116319810A (en) Flow control method, device, equipment, medium and product of distributed system
US9774640B2 (en) Method and system for sharing applications among a plurality of electronic devices
US20170041262A1 (en) Prioritizing and handling of messages across multiple communication systems
CN112188012A (en) Method and device for establishing customer service session, electronic equipment and readable storage medium
CN111782366A (en) Distributed task scheduling method and device
CN110855764A (en) Network traffic scheduling method and device and electronic equipment
EP3595260A1 (en) Location based network usage policies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant