Data stream scheduling method and device based on cloud desktop, equipment and storage medium
By obtaining and classifying data flows in the cloud desktop and generating scheduling strategies using preset scheduling models, the problem that multiple data flow performance requirements in the cloud desktop scenarios cannot be met is solved, and user experience and system performance are improved.
Patent Information
- Application Number
- CN202311585890.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2025-05-27
AI Technical Summary
The prior art cannot effectively schedule multiple types of data flows in cloud desktop scenarios, resulting in the inability to meet the performance needs of different data flows and affect the user experience.
By obtaining multiple data streams in the cloud desktop, determining their type, and determining the target network performance based on the type. Enter the target network performance into the preset scheduling model, and use the retransmission model, forward error correction model and resource orchestration model to generate scheduling strategies to perform data flow scheduling.
It achieves the performance needs of different data flows, improves the user experience in cloud desktop scenarios, and can better cope with complex cloud desktop application scenarios.
Smart Images

Figure CN120050244A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cloud desktops, and in particular, to a data stream scheduling method, apparatus, device, and storage medium based on a cloud desktop. Background Art
[0002] In the prior art, cloud desktop technology virtualizes desktops and deploys users' desktop environments in the cloud. Users can access cloud desktops through any terminal device. In a cloud desktop scenario, multiple types of data streams need to be transmitted simultaneously, such as video streams, audio streams, file transfers, USB forwarding, etc. These data streams have different requirements for network performance. Therefore, an efficient control and scheduling mechanism is needed to meet the performance requirements of different data streams and improve the user experience.
[0003] Currently, mainly single-type data streams are optimized. For example, data streams are processed through video stream compression and encoding techniques and then controlled and scheduled. However, in actual applications, a cloud desktop scenario involves multiple data streams, and there may be competition and mutual influence between these data streams. The optimization strategy for single-type data streams may not meet the performance requirements in complex scenarios. In addition, in existing cloud desktop scenarios, when scheduling data streams, a unified traffic priority policy is usually adopted for different types of data streams for scheduling, but this method may not meet the performance requirements of different data streams. Summary of the Invention
[0004] The present invention provides a data stream scheduling method, apparatus, device, and storage medium based on a cloud desktop to solve the defect in the prior art that data streams cannot be scheduled while meeting the performance requirements of different data streams, and to achieve meeting the performance requirements of different data streams, so as to formulate corresponding scheduling strategies for scheduling.
[0005] The present invention provides a data stream scheduling method based on a cloud desktop, including:
[0006] Obtaining multiple data streams in a cloud desktop and determining the data stream types of each of the data streams;
[0007] Determining the target network performance of each of the data streams according to the data stream types;
[0008] Inputting the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each of the data streams;
[0009] Scheduling the data streams according to the scheduling strategy.
[0010] A data flow scheduling method based on a cloud desktop provided by the present invention, wherein the target network performance includes a time tolerance for the data transmission time of the data flow, a packet loss tolerance for the packet loss rate of the data flow, and a required throughput for the throughput of the data flow.
[0011] A data flow scheduling method based on a cloud desktop provided by the present invention, wherein the scheduling model includes a retransmission model, a forward error correction model, and a resource orchestration model; and the process of inputting the target network performance into a preset scheduling model to obtain a scheduling strategy corresponding to each data flow includes:
[0012] Inputting the target network performance of each data flow into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each data flow; and
[0013] Performing forward error correction coding on each data flow through the forward error correction model to generate a coding block corresponding to each data flow; and
[0014] Inputting the target network performance of each data flow into the resource orchestration model for calculation to obtain the priority parameters of each data flow;
[0015] Generating a corresponding scheduling strategy according to the retransmission times, retransmission frequencies, coding blocks, and priority parameters of each data flow.
[0016] A data flow scheduling method based on a cloud desktop provided by the present invention, wherein the process of inputting the target network performance of each data flow into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each data flow includes:
[0017] Obtaining the current retransmission times, current packet loss rate, and current transmission delay of each data flow, and determining a target packet loss rate according to the packet loss tolerance;
[0018] Calculating the retransmission frequency of each data flow according to the current packet loss rate and the target packet loss rate;
[0019] Calculating the retransmission times of each data flow according to the current retransmission times, the time tolerance, the retransmission frequency, and the current transmission delay.
[0020] A data flow scheduling method based on a cloud desktop provided by the present invention, wherein the process of inputting the target network performance of each data flow into the resource orchestration model for calculation to obtain the priority parameters of each data flow includes:
[0021] Calculate the time tolerance score, packet loss tolerance score, and required throughput score for each of the data streams according to the time tolerance, the packet loss tolerance, and the required throughput.
[0022] Obtain the first weight corresponding to the time tolerance of each of the data streams, the second weight corresponding to the packet loss tolerance, and the third weight corresponding to the required throughput.
[0023] Calculate the priority parameter for each of the data streams according to the first weight, the second weight, the third weight, the time tolerance score, the packet loss tolerance score, and the required throughput score.
[0024] According to a data stream scheduling method based on a cloud desktop provided by the present invention, the determining the target network performance of each of the data streams according to the data stream type includes:
[0025] Obtain the application scenario of the cloud desktop;
[0026] Determine the target network performance of each of the data streams according to the application scenario and the data stream type.
[0027] According to a data stream scheduling method based on a cloud desktop provided by the present invention, before inputting the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each of the data streams, the method further includes:
[0028] Deploy the preset scheduling model in the network layer or the application layer of the cloud desktop.
[0029] The present invention also provides a data stream scheduling device based on a cloud desktop, including:
[0030] An acquisition module configured to acquire a plurality of data streams in a cloud desktop and determine the data stream type of each of the data streams;
[0031] A determination module configured to determine the target network performance of each of the data streams according to the data stream type;
[0032] An input module configured to input the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each of the data streams;
[0033] A scheduling module configured to schedule the data streams according to the scheduling policy.
[0034] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the program, the data stream scheduling method based on a cloud desktop as described in any one of the above is implemented.
[0035] The present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the data flow scheduling method based on a cloud desktop as described in any one of the above is implemented.
[0036] The present invention also provides a computer program product, including a computer program. When the computer program is executed by a processor, the data flow scheduling method based on a cloud desktop as described in any one of the above is implemented.
[0037] A data flow scheduling method, apparatus, device, and storage medium based on a cloud desktop provided by the present invention determine the data flow types of respective data flows, determine corresponding target network performances according to the data flow types, where the target network performance represents the highest network performance requirement that a data flow needs to satisfy, and then input the target performance networks of the respective data flows into a scheduling model to obtain corresponding scheduling policies, so as to implement scheduling. The scheduling model can formulate corresponding scheduling policies for respective data flows according to the target network performance, so that the performance requirements of different data flows can be more precisely satisfied, and thus corresponding scheduling schemes can be formulated, which can better cope with complex cloud desktop scenarios and improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0039] Figure 1 is one of the flow diagrams of the data flow scheduling method based on a cloud desktop provided by the present invention;
[0040] Figure 2 is the flow diagram of step 130 in an embodiment provided by the present invention;
[0041] Figure 3 is the flow diagram of step 210 in an embodiment provided by the present invention;
[0042] Figure 4 is the flow diagram of step 230 in an embodiment provided by the present invention;
[0043] Figure 5 is the flow diagram of step 120 in an embodiment provided by the present invention;
[0044] Figure 6 is the structural diagram of the data flow scheduling apparatus based on a cloud desktop provided by the present invention;
[0045] Figure 7 It is a schematic structural diagram of the electronic device provided by the present invention. Detailed implementation manners
[0046] To make the objectives, technical solutions and advantages of the present invention clearer, the technical solutions in the present invention will be clearly and completely described below with reference to the accompanying drawings in the present invention. Apparently, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present invention without making creative efforts shall fall within the protection scope of the present invention.
[0047] The following combines Figures 1 - 5 to describe the data flow scheduling method based on a cloud desktop of the present invention.
[0048] Figure 1 is a flowchart of a data flow scheduling method based on a cloud desktop shown according to an exemplary embodiment. As Figure 1 shown, in an exemplary embodiment, the data flow scheduling method based on a cloud desktop may include steps 110 to 140, which are introduced in detail as follows:
[0049] Step 110: Obtain multiple data flows in the cloud desktop and determine the data flow types of each of the data flows.
[0050] In the embodiments of the present invention, there are multiple data flows in the cloud desktop scenario, and each data flow has a corresponding data flow type. The data flow types include video streams, audio streams, file transfers, USB forwarding, control flows, etc. Obtain multiple data flows in the cloud desktop, and then determine the data flow type of each data flow.
[0051] Step 120: Determine the target network performance of each of the data flows according to the data flow type.
[0052] In the embodiments of the present invention, the target network performance of each data flow is determined according to the data flow type. Each data flow of each data flow type has a corresponding target network performance, and the target network performance represents the highest network performance requirement that the data flow needs to meet.
[0053] Step 130: Input the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each of the data flows.
[0054] In the embodiments of the present invention, a scheduling model is preset. The scheduling model can formulate corresponding scheduling strategies for each data flow according to the target network performance. As described above, the target network performance represents the highest network performance requirement that the data flow needs to meet. Therefore, the scheduling model formulates corresponding scheduling strategies while meeting the performance requirements of each data flow.
[0055] Step 140, schedule the data stream according to the scheduling policy.
[0056] In the embodiments of the present invention, the data stream is scheduled according to the formulated scheduling policy. In the embodiments of the present invention, the target network performance corresponding to the data streams of multiple data stream types is determined, so as to more accurately meet the performance requirements of different data streams, and thus formulate corresponding scheduling schemes, which can better cope with complex cloud desktop scenarios and improve the user experience.
[0057] Through the technical solution provided by the embodiments of the present invention, when cloud desktop technology is attracting more and more attention from enterprises and individual users with the development and popularization of cloud computing technology, a flexible, efficient and secure desktop environment can be provided for users through the cloud desktop, reducing IT costs and improving work efficiency. Through the technical solution provided by the embodiments of the present invention, the data streams of multiple data stream types in the cloud desktop scenario can be effectively processed, the performance requirements of various data streams can be met, and thus the user experience can be significantly improved. Moreover, the technical solution provided by the embodiments of the present invention can be applied to a variety of cloud desktop application scenarios, such as education, enterprise office, remote medical treatment, etc. In these scenarios, the services provided for users are further improved to be convenient and efficient, thereby improving user satisfaction and expanding the market share.
[0058] In an exemplary embodiment of the present invention, the target network performance includes a time tolerance for the data transmission time of the data stream, a packet loss tolerance for the packet loss rate of the data stream, and a required throughput for the throughput of the data stream.
[0059] In the embodiments of the present invention, the target network performance includes a time tolerance, a packet loss tolerance, and a required throughput. The time tolerance is for the data transmission time of the data stream and represents the maximum time required for the data stream to transmit data. The packet loss tolerance is for the packet loss rate of the data stream and represents the maximum packet loss rate that the data stream can tolerate during data transmission. The required throughput is for the throughput of the data stream and represents the maximum throughput required for the data stream during data transmission. The network performance requirements of each data stream are described by the time tolerance, the packet loss tolerance, and the required throughput.
[0060] In an exemplary embodiment of the present invention, the scheduling model includes a retransmission model, a forward error correction model, and a resource orchestration model; please refer to Figure 2 , in step 130, inputting the target network performance into a preset scheduling model for processing to obtain the scheduling policy corresponding to each data stream includes steps 210 to 240, which are introduced in detail as follows:
[0061] Step 210, input the target network performance of each data stream into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each data stream.
[0062] In the embodiment of the present invention, three models are set in the scheduling model. Among them, the retransmission model adopts an algorithm based on a sliding window and congestion control, and can calculate the retransmission times and retransmission frequencies corresponding to each data stream according to the target network performance. The retransmission times can represent the number of appropriate retransmissions that the data stream can perform when meeting the target network performance.
[0063] Step 220: Perform forward error correction encoding on each of the data streams through the forward error correction model to generate encoded blocks corresponding to each of the data streams.
[0064] In the embodiment of the present invention, in the forward error correction model, some redundant information can be added to the data packets of the data stream. When data is transmitted, even if a part of the data is lost, the receiving party can still recover the complete data according to the received data and the redundant information, so as to improve the stability and reliability of the data transmission of the data stream. The forward error correction model adopts FEC (Forward Error Correction) technology, and common FEC technologies include Reed-Solomon coding and LDPC coding (Low Density Parity Check Code), etc. Perform forward error correction encoding on each data stream through the forward error correction model to generate encoded blocks corresponding to each data stream. After the receiving end of each data stream receives the encoded blocks, it recovers the lost or damaged encoded blocks based on the error correction algorithm of forward error correction decoding to obtain the complete data stream.
[0065] Step 230: Input the target network performance of each of the data streams into the resource orchestration model for calculation to obtain the priority parameters corresponding to each of the data streams.
[0066] In the embodiment of the present invention, the resource orchestration model adopts a priority scheduling algorithm based on weights, preferentially transmits data streams within the corresponding required throughput range, obtains the priority parameters corresponding to each data stream according to the target network performance of the data stream, and then dynamically adjusts the priorities of each data stream according to the priority parameters, which helps to meet the performance requirements of different data streams, thereby significantly improving the experience of cloud desktop users.
[0067] Step 240: Generate corresponding scheduling policies according to the retransmission times, retransmission frequencies, encoded blocks, and priority parameters of each of the data streams.
[0068] In the embodiment of the present invention, corresponding scheduling policies are generated according to the retransmission times, retransmission frequencies, encoded blocks, and priority parameters of each data stream.
[0069] In an embodiment of the present invention, a scheduling model for data streams in a cloud desktop scenario is designed, including a retransmission model, a forward error correction model, and a resource orchestration model, to achieve high-performance control and scheduling, better meet the performance requirements of different data streams, and thus improve the user experience. The resource orchestration model in the scheduling model can dynamically adjust the priorities of different data streams according to the target network performance, more flexibly respond to changes in the real-time network conditions, improve the resource utilization efficiency, and thus improve the user experience.
[0070] In an exemplary embodiment of the present invention, please refer to Figure 3 , in the step of inputting the target network performance of each of the data streams into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each of the data streams, it includes steps 310 to 330, which are introduced in detail as follows:
[0071] Step 310, obtain the current retransmission times, current packet loss rate, and current transmission delay of each of the data streams, and determine the target packet loss rate according to the packet loss tolerance.
[0072] In an embodiment of the present invention, the current retransmission times, current packet loss rate, and current transmission delay of each data stream are obtained, and the target packet loss rate is determined according to the packet loss tolerance. Specifically, the target packet loss rate is less than the packet loss tolerance. Assume that the current retransmission times is n, the current packet loss rate is P cur , the target packet loss rate is P target , the current transmission delay is D cur , and the time tolerance is T.
[0073] Step 330, calculate the retransmission frequency of each of the data streams according to the current packet loss rate and the target packet loss rate.
[0074] In an embodiment of the present invention, first, according to the current packet loss rate P cur and the target packet loss rate P target calculate the retransmission frequency F. Specifically, the retransmission frequency of each data stream can be calculated by the following formula:
[0075]
[0076] In the above formula, if the calculated retransmission frequency F ≤ 0, its final retransmission frequency is directly set to zero.
[0077] Step 320, calculate the retransmission times of each of the data streams according to the current retransmission times, the time tolerance, the retransmission frequency, and the current transmission delay.
[0078] In an embodiment of the present invention, then, the number of retransmissions is calculated according to the current number of retransmissions, the time tolerance, the retransmission frequency, and the current transmission delay. Specifically, the upper limit of the number of retransmissions max_n for each data stream can be calculated through the following formula:
[0079]
[0080] Among them, in the above formula, represents the floor function. After calculating the upper limit of the number of retransmissions for each data stream, each data stream can select a value consistent with the upper limit of the number of retransmissions as the number of retransmissions, or can determine a value from the values less than the corresponding upper limit of the number of retransmissions as the number of retransmissions.
[0081] Further, according to the retransmission frequency F and the upper limit of the number of retransmissions max_n, the packet loss rate P after each retransmission of the data stream can be calculated n .
[0082] P n = P cur ×(1 - F) n
[0083] Finally, the retransmission model uses a congestion control algorithm to dynamically adjust the sliding window size. The sliding window size represents the maximum number of data packets that can be sent simultaneously, ensuring that when executing the scheduling strategy of the data stream, appropriate retransmissions can be performed based on the number of retransmissions and the retransmission frequency while meeting the time tolerance and packet loss tolerance. In other embodiments, the sliding window size and the congestion control strategy can be dynamically adjusted according to the network conditions and data stream types of the data stream.
[0084] In an exemplary embodiment of the present invention, please refer to Figure 4 , in the step of inputting the target network performance of each of the data streams into the resource orchestration model in step 230 to obtain the priority parameters of each of the data streams, including steps 410 to 430, which are introduced in detail as follows:
[0085] Step 410, calculate the time tolerance score, packet loss tolerance score, and required throughput score of each of the data streams according to the time tolerance, the packet loss tolerance, and the required throughput.
[0086] In an embodiment of the present invention, the corresponding scores are calculated according to the time tolerance, the packet loss tolerance, and the required throughput. Represent the time tolerance as T, the packet loss tolerance as L, the required throughput as B, and R T (i) represents the time tolerance score of data stream i, and R L (i) represents the packet loss tolerance score of data stream i, and R B (i) represents the required throughput score.
[0087] The formulas for calculating the time tolerance score, the packet loss tolerance score, and the required throughput score are as follows:
[0088]
[0089] Among them, n in the above formula represents the number of data streams.
[0090] Step 420: Obtain the first weight corresponding to the time tolerance of each data stream, the second weight corresponding to the packet loss tolerance, and the third weight corresponding to the required throughput.
[0091] In the embodiments of the present invention, the first weight, the second weight, and the third weight are obtained. w T represents the first weight corresponding to the time tolerance, w L represents the second weight corresponding to the packet loss tolerance, w B represents the third weight corresponding to the required throughput. The first weight, the second weight, and the third weight can be preset fixed values, such as the values set by the administrator of the cloud desktop, or can be dynamically generated according to the network status of each data stream, such as real-time detecting the data transmission time, packet loss rate, and throughput of the data stream. If the performance of a certain item is better, the value of the corresponding weight will increase. For example, when it is detected that the packet loss rate of the data stream is at a low level when it is less than the packet loss tolerance, the corresponding second weight can be set to a higher value, so that the resource orchestration model can more dynamically adjust the weight factors of each data stream according to the real-time network conditions of the data stream, the target network performance of the data stream, and the currently allocated resource situation, and then dynamically adjust the priority parameters of the data stream.
[0092] Step 430: Calculate the priority parameter of each data stream according to the first weight, the second weight, the third weight, the time tolerance score, the packet loss tolerance score, and the required throughput score.
[0093] In the embodiments of the present invention, the priority parameter of each data stream is calculated according to the first weight, the second weight, the third weight, the time tolerance score, the packet loss tolerance score, and the required throughput score. Specifically, the priority parameter of each data stream can be calculated through the following formula:
[0094] W i = w T ·R T (i) + w L ·R L (i) + w B ·R B (i)
[0095] In the above formula, Wi Represents the priority parameter of data stream i.
[0096] Then, perform priority sorting on each data stream according to the calculated priority parameter. Data streams with higher priorities will be given priority during resource allocation. Any applicable sorting algorithm can be used for priority sorting, such as quicksort or insertion sort.
[0097] In the embodiments of the present invention, the resource orchestration model dynamically updates the priorities of each order of magnitude by calculating the priority parameter, combining variables such as the real-time network status of the data stream and the allocated resources, so as to achieve efficient utilization of resources. At the same time, this helps to meet the performance requirements of different data streams, thus significantly improving the experience of cloud desktop users.
[0098] In an exemplary embodiment of the present invention, in the forward error correction model, a specific FEC technology, such as LDPC coding, can be set, and all data streams use the set FEC technology for forward error correction coding. In another embodiment of the present invention, the corresponding FEC technology can be determined according to the data stream type of the data stream. For example, several data stream types are pre-determined to belong to the same data stream group A, and this data stream group corresponds to one FEC technology. Several other data stream types are determined as another data stream group B, and this data stream group corresponds to another FEC technology. When processing using the forward error correction model, determine the FEC technology corresponding to the data stream according to the data stream type, and then use the corresponding FEC technology for forward error correction coding.
[0099] This embodiment introduces forward error correction coding using Reed-Solomon coding as an example. Specifically, divide the data stream into multiple data packets, corresponding to the information symbols (information bytes) in Reed-Solomon coding. Then apply Reed-Solomon coding to the data packets to generate redundant data packets (check symbols), so that the original data stream and the redundant data packets form a coding block. Mix and transmit the information symbols and check symbols in the coding block. After the receiving end receives the coding block, an error correction algorithm based on Reed-Solomon decoding can be used to recover lost or damaged data packets.
[0100] In an exemplary embodiment of the present invention, please refer to Figure 5 , in step 120, determining the target network performance of each data stream according to the data stream type includes step 510 and step 520, which are introduced in detail as follows:
[0101] Step 510, obtain the application scenario of the cloud desktop.
[0102] In the embodiments of the present invention, the cloud desktop has corresponding application scenarios, such as education, enterprise office, remote medical treatment, etc.
[0103] Step 520: Determine the target network performance of each of the data flows according to the application scenario and the data flow type.
[0104] In the embodiment of the present invention, the target network performance of each data flow is comprehensively determined according to the application scenario and the data flow type, so that the obtained target network performance can better reflect the highest network performance requirements that the data flow needs to meet in this application scenario.
[0105] In an exemplary embodiment of the present invention, before step 130 of inputting the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each data flow, the method further includes the following steps, which are introduced in detail as follows:
[0106] Deploy the preset scheduling model in the network layer or the application layer of the cloud desktop.
[0107] In the embodiment of the present invention, directly deploying the scheduling model in the network layer and the application layer can achieve efficient and convenient scheduling. In the actual implementation process, a suitable deployment method can be selected according to the specific conditions of the network device and the cloud desktop system.
[0108] The following describes a data flow scheduling device based on a cloud desktop provided by the present invention. The data flow scheduling device based on a cloud desktop described below can be correspondingly referred to the data flow scheduling method based on a cloud desktop described above. It should be noted that the device provided in the following embodiments and the method provided in the above embodiments belong to the same concept. The specific manners in which each module and unit perform operations have been described in detail in the method embodiments, and will not be repeated here.
[0109] In an exemplary embodiment of the present invention, please refer to Figure 6 , Figure 6 is a data flow scheduling device based on a cloud desktop shown according to an exemplary embodiment, including:
[0110] An acquisition module 610, configured to acquire a plurality of data flows in the cloud desktop and determine the data flow type of each data flow;
[0111] A determination module 620, configured to determine the target network performance of each data flow according to the data flow type;
[0112] An input module 630, configured to input the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each data flow;
[0113] A scheduling module 640, configured to schedule the data flow according to the scheduling policy.
[0114] In an exemplary embodiment of the present invention, the target network performance includes a time tolerance for the data transmission time of the data stream, a packet loss tolerance for the packet loss rate of the data stream, and a required throughput for the throughput of the data stream.
[0115] In an exemplary embodiment of the present invention, the scheduling model includes a retransmission model, a forward error correction model, and a resource orchestration model; the input module 630 includes:
[0116] A first input sub-module configured to input the target network performance of each data stream into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each data stream; and
[0117] An encoding sub-module configured to perform forward error correction encoding on each data stream through the forward error correction model to generate an encoded block corresponding to each data stream; and
[0118] A second input sub-module configured to input the target network performance of each data stream into the resource orchestration model for calculation to obtain the priority parameters of each data stream;
[0119] A generation sub-module configured to generate a corresponding scheduling policy according to the retransmission times, retransmission frequencies, encoded blocks, and priority parameters of each data stream.
[0120] In an exemplary embodiment of the present invention, the first input sub-module includes:
[0121] A first acquisition unit configured to acquire the current retransmission times, current packet loss rate, and current transmission delay of each data stream, and determine a target packet loss rate according to the packet loss tolerance;
[0122] A first calculation unit configured to calculate the retransmission frequency of each data stream according to the current packet loss rate and the target packet loss rate;
[0123] A second calculation unit configured to calculate the retransmission times of each data stream according to the current retransmission times, the time tolerance, the retransmission frequency, and the current transmission delay.
[0124] In an exemplary embodiment of the present invention, the second input sub-module includes:
[0125] A third calculation unit configured to calculate the time tolerance score, packet loss tolerance score, and required throughput score of each data stream according to the time tolerance, the packet loss tolerance, and the required throughput;
[0126] A second acquisition unit, configured to acquire a first weight corresponding to the time tolerance of each of the data streams, a second weight corresponding to the packet loss tolerance, and a third weight corresponding to the required throughput;
[0127] A fourth calculation unit, configured to calculate a priority parameter for each of the data streams according to the first weight, the second weight, the third weight, the time tolerance score, the packet loss tolerance score, and the required throughput score.
[0128] In an exemplary embodiment of the present invention, the determination module 620 includes:
[0129] An acquisition sub-module, configured to acquire the application scenario of the cloud desktop;
[0130] A determination sub-module, configured to determine the target network performance of each of the data streams according to the application scenario and the data stream type.
[0131] In an exemplary embodiment of the present invention, the data stream scheduling device based on a cloud desktop further includes:
[0132] A deployment sub-module, configured to deploy the preset scheduling model in the network layer or the application layer of the cloud desktop.
[0133] Figure 7 Illustrates a schematic physical structure diagram of an electronic device, as Figure 7 shown. The electronic device may include: a processor 710, a communication interface 720, a memory 730, and a communication bus 740. Among them, the processor 710, the communication interface 720, and the memory 730 communicate with each other through the communication bus 740. The processor 710 can call the logical instructions in the memory 730 to execute the data stream scheduling method based on the cloud desktop. The method includes:
[0134] Acquire a plurality of data streams in the cloud desktop and determine the data stream type of each of the data streams;
[0135] Determine the target network performance of each of the data streams according to the data stream type;
[0136] Input the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each of the data streams;
[0137] Schedule the data streams according to the scheduling policy.
[0138] In addition, when the logical instructions in the above-mentioned memory 730 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.
[0139] On the other hand, the present invention also provides a computer program product. The computer program product includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the data flow scheduling method based on a cloud desktop provided by the above-mentioned various methods. The method includes:
[0140] Obtain multiple data flows in the cloud desktop and determine the data flow types of each of the data flows;
[0141] Determine the target network performance of each of the data flows according to the data flow types;
[0142] Input the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each of the data flows;
[0143] Schedule the data flows according to the scheduling strategy.
[0144] On another aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it is implemented to execute the data flow scheduling method based on a cloud desktop provided by the above-mentioned various methods. The method includes:
[0145] Obtain multiple data flows in the cloud desktop and determine the data flow types of each of the data flows;
[0146] Determine the target network performance of each of the data flows according to the data flow types;
[0147] Input the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each of the data flows;
[0148] Schedule the data flows according to the scheduling strategy.
[0149] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative work.
[0150] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the essence of the above technical solution, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0151] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or perform equivalent replacements for some of the technical features. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data stream scheduling method based on a cloud desktop, characterized in that, it includes: Obtain multiple data streams in the cloud desktop and determine the data stream types of each of the data streams; Determine the target network performance of each of the data streams according to the data stream type; Input the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each of the data streams; Schedule the data streams according to the scheduling policy.
2. The data stream scheduling method based on a cloud desktop according to claim 1, characterized in that, The target network performance includes a time tolerance for the data transmission time of the data stream, a packet loss tolerance for the packet loss rate of the data stream, and a required throughput for the throughput of the data stream.
3. The data stream scheduling method based on a cloud desktop according to claim 2, characterized in that, The scheduling model includes a retransmission model, a forward error correction model, and a resource orchestration model; the inputting the target network performance into a preset scheduling model for processing to obtain a scheduling policy corresponding to each of the data streams includes: Input the target network performance of each of the data streams into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each of the data streams; and Perform forward error correction coding on each of the data streams through the forward error correction model to generate a coding block corresponding to each of the data streams; and Input the target network performance of each of the data streams into the resource orchestration model for calculation to obtain a priority parameter for each of the data streams; Generate a corresponding scheduling policy according to the retransmission times, retransmission frequencies, coding blocks, and priority parameters of each of the data streams.
4. The data stream scheduling method based on a cloud desktop according to claim 3, characterized in that, The inputting the target network performance of each of the data streams into the retransmission model for calculation to obtain the retransmission times and retransmission frequencies of each of the data streams includes: Obtain the current retransmission times, current packet loss rate, and current transmission delay of each of the data streams, and determine a target packet loss rate according to the packet loss tolerance; Calculate the retransmission frequencies of each of the data streams according to the current packet loss rate and the target packet loss rate; Calculate the retransmission times of each of the data streams according to the current retransmission times, the time tolerance, the retransmission frequency, and the current transmission delay.
5. The data stream scheduling method based on a cloud desktop according to claim 3, characterized in that, The inputting the target network performance of each of the data streams into the resource orchestration model for calculation to obtain a priority parameter for each of the data streams includes: Calculate a time tolerance score, a packet loss tolerance score, and a required throughput score for each of the data streams according to the time tolerance, the packet loss tolerance, and the required throughput; Obtain a first weight corresponding to the time tolerance, a second weight corresponding to the packet loss tolerance, and a third weight corresponding to the required throughput of each of the data streams; Calculate the priority parameters of each data stream according to the first weight, the second weight, the third weight, the time tolerance score, the packet loss tolerance score, and the required throughput score.
6. The method for scheduling data streams based on a cloud desktop according to any one of claims 1 to 5, wherein, The determining the target network performance of each data stream according to the data stream type includes: Obtain the application scenario of the cloud desktop; Determine the target network performance of each data stream according to the application scenario and the data stream type.
7. The method for scheduling data streams based on a cloud desktop according to any one of claims 1 to 5, wherein, Before inputting the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each data stream, the method further includes: Deploy the preset scheduling model on the network layer or the application layer of the cloud desktop.
8. A data stream scheduling device based on a cloud desktop, wherein, comprising: An acquisition module configured to acquire a plurality of data streams in the cloud desktop and determine the data stream type of each data stream; A determination module configured to determine the target network performance of each data stream according to the data stream type; An input module configured to input the target network performance into a preset scheduling model for processing to obtain a scheduling strategy corresponding to each data stream; A scheduling module configured to schedule the data stream according to the scheduling strategy.
9. An electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, When the processor executes the program, it implements the method for scheduling data streams based on a cloud desktop according to any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium, on which a computer program is stored, wherein, When the computer program is executed by a processor, it implements the method for scheduling data streams based on a cloud desktop according to any one of claims 1 to 7.