Scheduling method, device and storage medium

By adopting a bandwidth balancing strategy in the cloud desktop service system, scheduling single-line lines of multiple operators, and optimizing the upstream and downstream bandwidth peaks, the problem of high prices for shadowless cloud desktop services is solved, and lower-cost and smoother access services are achieved.

CN116996506BActive Publication Date: 2025-09-23ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310696462.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-12
Publication Date
2025-09-23
Estimated Expiration
2043-06-12

AI Technical Summary

Technical Problem

In the existing technology, the price cost of providing shadowless cloud desktop services based on BGP bandwidth is relatively high.

Method used

By adopting a bandwidth balancing strategy in the cloud desktop service system, the upstream and downstream bandwidth peaks of operators are balanced, the single-line lines of multiple operators are dispatched, the export bandwidth consumption is optimized, and the overall bandwidth cost is reduced.

Benefits of technology

This improves bandwidth resource utilization between different operators, reduces the overall cost of cloud desktop services, and improves the smoothness of access to services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116996506B_ABST
    Figure CN116996506B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a scheduling method, device and storage medium. The cloud desktop service system is connected to single-line lines of multiple operators. On the one hand, the cost of cloud desktop services can be reduced based on the low cost of single-line lines. On the other hand, high-quality cloud desktop access services can be provided to users of different operators based on the single-line lines of multiple operators, making cloud desktop services more low-cost and smooth. When accessing the target server through the cloud desktop, the single-line lines of multiple operators are scheduled according to the bandwidth balancing strategy. By balancing the uplink bandwidth peak and downlink bandwidth peak of a single operator, the utilization rate of the existing downlink bandwidth resources can be improved, thereby achieving "peak shaving and valley filling" of the export bandwidth consumption between different operators, further reducing the overall bandwidth cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud intelligence technology, and in particular to a scheduling method, device, and storage medium. Background Art

[0002] With the development of cloud computing, cloud computing platforms can provide shadowless cloud desktop services. Shadowless cloud desktop is a public cloud desktop service that supports fast and convenient desktop environment creation, deployment, unified management and operation and maintenance. It can be widely used in secure office, finance, design, film and television, education and other fields that require high data security and high-performance computing. In some existing technologies, cloud computing platforms typically provide users with shadowless cloud desktop access services and internet access services based on the Border Gateway Protocol (BGP). Cloud service providers can use BGP to connect to multiple carrier lines simultaneously and provide a multi-line aggregate transmission bandwidth service. When accessing a service site with BGP bandwidth, users from different carriers can directly access the service room through the current carrier's backbone network using the BGP protocol, eliminating the need for cross-carrier scheduling. However, BGP bandwidth is expensive, and providing shadowless cloud desktop services based on BGP bandwidth is costly. Therefore, a new solution is needed. Summary of the Invention

[0003] Multiple aspects of the present application provide a scheduling method, device, and storage medium for reducing the price cost of shadowless cloud desktop services.

[0004] An embodiment of the present application provides a scheduling method, including: determining an access request from a terminal, the access request being used to access a target server via a cloud desktop; the cloud desktop being connected to the terminal via a first line among single-line lines of multiple operators; determining a second line from the single-line lines of the multiple operators based on a bandwidth balancing strategy; the bandwidth balancing strategy being used to balance the upstream and downstream bandwidth peaks of the operators; and sending the access request to the target server via the second line, so that the target server returns the requested data via the second line.

[0005] Optionally, the bandwidth balancing strategy includes: a strategy of consistent operators for the ingress and egress lines; determining, according to the bandwidth balancing strategy, a second line from the single-line lines of the multiple operators, including: determining the first operator to which the first line belongs as the operator of the ingress line; and selecting, from the single-line lines of the multiple operators, an egress line belonging to the first operator as the second line.

[0006] Optionally, the bandwidth balancing strategy includes: an operator's upstream and downstream bandwidth peak consistency strategy; determining a second line from the single-line lines of the multiple operators according to the bandwidth balancing strategy, including: obtaining the available downstream bandwidth of the single-line lines of the multiple operators according to the upstream and downstream bandwidth peaks of the multiple operators; determining the scheduling hit probability of the single-line lines of the multiple operators in the export direction according to the available downstream bandwidth of the single-line lines of the multiple operators; the export direction is the direction in which the cloud desktop accesses the external Internet; determining the second line from the single-line lines of the multiple operators according to the scheduling hit probability of the single-line lines of the multiple operators in the export direction.

[0007] Optionally, obtaining the available downlink bandwidth of single-line lines of multiple operators includes: for a single-line line of any operator, obtaining the uplink bandwidth peak value of the single-line line in the ingress direction and the downlink bandwidth peak value in the egress direction; determining the difference between the uplink and downlink bandwidth peak values ​​of the single-line line based on the uplink bandwidth peak value of the single-line line in the ingress direction and the downlink bandwidth peak value in the egress direction; the ingress direction is the direction in which the cloud desktop receives terminal access; and determining the available downlink bandwidth of the single-line line based on the difference between the uplink and downlink bandwidth peak values ​​of the single-line line.

[0008] Optionally, the scheduling hit probability of the single-line lines of the multiple operators in the export direction is determined based on the available downlink bandwidth of the single-line lines of the multiple operators, including: according to the positive correlation between the available downlink bandwidth and the scheduling hit probability, determining the scheduling hit probability of the single-line lines of the multiple operators based on the available downlink bandwidth of the single-line lines of the multiple operators.

[0009] Optionally, after determining the scheduling hit probability of the single-line lines of the multiple operators in the export direction based on the available downlink bandwidth of the single-line lines of the multiple operators, it also includes: determining the second operator where the target server is located; the second operator belongs to the multiple operators; according to the scheduling hit probability of the single-line lines of the multiple operators in the export direction, determining the second line from the single-line lines of the multiple operators, including: according to the scheduling hit probability of the single-line lines of the multiple operators, judging whether the scheduling hit probability of the single-line line of the second operator meets the set conditions; if yes, using the single-line line of the second operator as the second line.

[0010] Optionally, before receiving the access request sent by the terminal through the first line, the method further includes: providing multiple access point addresses corresponding to the single-line lines of the multiple operators to the terminal, so that the terminal sends quality detection data to the multiple access point addresses and selects the first line according to the results of the quality detection.

[0011] Optionally, before receiving the access request sent by the terminal through the first line, the method further includes: obtaining operator information corresponding to the network used by the terminal; determining the first line matching the operator information, and providing the access point address of the first line to the terminal.

[0012] An embodiment of the present application also provides a server, comprising: a memory and a processor; the memory is used to store one or more computer instructions; the processor is used to execute the one or more computer instructions to: execute the steps in the method provided in the embodiment of the present application.

[0013] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps of the method provided in the embodiment of the present application.

[0014] In the embodiment of the present application, the cloud desktop service system is connected to single-line lines of multiple operators. On the one hand, the cost of cloud desktop services can be reduced based on the low cost of single-line lines. On the other hand, high-quality cloud desktop access services can be provided to users of different operators based on the single-line lines of multiple operators, making cloud desktop services more cost-effective and smooth. When accessing the target server through the cloud desktop, the single-line lines of multiple operators are scheduled according to the bandwidth balancing strategy. By balancing the uplink bandwidth peak and downlink bandwidth peak of a single operator, the utilization rate of the existing downlink bandwidth resources can be improved, thereby achieving "peak shaving and valley filling" of the export bandwidth consumption between different operators, further reducing the overall bandwidth cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A flowchart of a scheduling method provided by an exemplary embodiment of the present application;

[0017] Figure 2 A schematic diagram of traffic transmission of a cloud desktop service system provided by an exemplary embodiment of the present application;

[0018] Figure 3 A schematic diagram of the structure of a server provided for an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0019] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0020] The terms used in the embodiments of the present invention are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The singular forms "a," "the," and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise. "A plurality" generally includes at least two, but does not exclude the inclusion of at least one.

[0021] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0022] It should also be noted that the terms "include," "comprises," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a product or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such product or system. In the absence of further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the product or system comprising the element.

[0023] In response to the technical problem in the prior art that providing shadowless cloud desktop services based on BGP bandwidth has a high price cost, a solution is provided in some embodiments of the present application. The technical solutions provided in each embodiment of the present application are described in detail below in conjunction with the accompanying drawings.

[0024] Figure 1 is a flowchart of a scheduling method provided by an exemplary embodiment of the present application, which may include: Figure 1 Steps shown:

[0025] Step 101: Determine an access request from a terminal, where the access request is for accessing a target server through a cloud desktop; the cloud desktop is connected to the terminal through a first line among single-line lines of multiple operators.

[0026] Step 102: Determine a second line from the single-line lines of the multiple operators according to a bandwidth balancing strategy; the bandwidth balancing strategy is used to balance the upstream and downstream bandwidth peaks of the operators.

[0027] Step 103: Send an access request to the target server through the second line, so that the target server returns the requested data through the second line.

[0028] The embodiment of the present application is applicable to a cloud desktop service system. The cloud desktop service system includes a server and a gateway. The server can be a conventional physical server or an elastic server (virtual machine), which is not limited in this embodiment. The gateway can be a physical gateway or a virtual gateway. A cloud desktop application (hereinafter referred to as a cloud desktop) and a scheduler are running on the server. The cloud desktop can provide the same services as the local desktop of the terminal, including but not limited to: office services based on the cloud desktop and services for accessing the external Internet. The scheduler is used to schedule the access request of the cloud desktop to the line connected to the gateway, and the gateway sends it through the line.

[0029] In this embodiment, the cloud desktop service system may include at least an entry gateway and an exit gateway. Among them, the entry gateway is used to achieve network interconnection with the terminal on the user side (such as the user's mobile phone, computer, smart wearable device); the exit gateway is used to achieve network interconnection with the external Internet. In this embodiment, the entry gateway and the exit gateway can connect to the single-line lines of multiple operators. A single-line line is a line for data transmission based on single-line bandwidth. Single-line bandwidth is a bandwidth type provided by each operator. The transmission line of single-line bandwidth provided by any operator must be implemented through the line within the backbone network of the operator.

[0030] The bandwidth used on any operator's single-line line includes the bandwidth used in the ingress direction and the bandwidth used in the egress direction. For the cloud desktop service system, the ingress direction refers to the terminal's access direction, and the egress direction refers to the direction of outbound access to the internet. The ingress bandwidth of any operator refers to the bandwidth used for data transmission between the terminal and the cloud desktop service system via the single-line line provided by that operator in the ingress direction. This includes the downlink bandwidth used by the terminal to send data to the cloud desktop service system, and the uplink bandwidth used by the desktop service system to send data to the terminal. The egress bandwidth of any operator refers to the bandwidth used for data transmission between the cloud desktop service system and the external internet via the line provided by that operator in the egress direction. This includes the uplink bandwidth used by the cloud desktop service system to send data to the external internet, and the downlink bandwidth used by the external internet to send data to the cloud desktop service system. Specifically, for the cloud desktop service system, its uplink bandwidth includes the total uplink bandwidth in the ingress and egress directions, and its downlink bandwidth includes the total downlink bandwidth in the ingress and egress directions. The downlink bandwidth in the ingress direction is primarily used to transmit user requests, resulting in lower bandwidth consumption. The uplink bandwidth in the ingress direction is primarily used to transmit video streams with the cloud desktop, resulting in higher bandwidth consumption. The upstream bandwidth in the egress direction is mainly used to transmit network access requests, and the bandwidth consumption is relatively small; the downstream bandwidth in the egress direction is mainly used to receive network data returned from the external Internet, and the bandwidth consumption is relatively large.

[0031] In some scenarios, a peak method is often used when settling fees for single-line bandwidth services provided by operators. This method uses the peak bandwidth usage within a set timeframe for billing. For example, this peak method can be the 95% peak method. In this method, the effective bandwidth for a specific period is obtained and sorted in descending order. After sorting, the top 5% of the effective bandwidth is removed, and the peak bandwidth (i.e., the 95% peak bandwidth) is selected from the remaining 95% for bandwidth billing. That is, for a single operator, the higher the 95% peak bandwidth, the higher the bandwidth fee. When both upstream and downstream bandwidth are available, the peak bandwidth used for billing can be determined based on the larger of the 95% peak bandwidth in the upstream direction and the 95% peak bandwidth in the downstream direction. The closer the bandwidth utilization in the upstream and downstream directions, the smaller the difference between the 95% peak bandwidth in the upstream and downstream directions, and the more efficient the bandwidth cost utilization. The ingress line is selected by the terminal, which typically chooses the single-line line of the operator corresponding to its network. For example, if the network used by the terminal is the network of the first operator, the terminal can use the line provided by the first operator to access the cloud desktop. That is, the bandwidth in the ingress direction is not subject to the scheduling of the cloud desktop service system. Based on this, when accessing the external Internet through the cloud desktop, the operator line in the egress direction can be scheduled so that the uplink bandwidth peak and the downlink bandwidth peak of a single operator are more consistent, so as to improve bandwidth utilization and reduce bandwidth costs as a whole. The cloud desktop service system can establish a connection with the terminal through any single-line line of multiple operators connected to the ingress gateway. For the sake of ease of description and distinction, the single-line line used between the cloud desktop service system and the terminal is described as the first line. The cloud desktop service system can receive a cloud desktop access request sent by the terminal through the first line, and the cloud desktop service system can return the desktop image to the terminal through the first line for the user to view.

[0032] In some optional embodiments, for the terminal, the first line may be a single-line line of the operator of the network service used by the terminal. Optionally, before receiving the access request sent by the terminal via the first line, the cloud desktop service system may obtain the operator information corresponding to the network used by the terminal, determine the first line that matches the operator information, and provide the access point address of the first line to the terminal. In this embodiment, optionally, a client program corresponding to the cloud desktop service system may be running on the terminal. The client program may, with the authorization of the terminal, obtain the operator information corresponding to the network used by the terminal and send the operator information to the cloud desktop server.

[0033] In other optional embodiments, for the terminal, the first line may also be a single-line line with better quality selected by the terminal from among multiple operators' single-line lines. Optionally, before receiving an access request sent by the terminal via the first line, the cloud desktop service system may also provide the terminal with multiple access point addresses corresponding to the multiple operators' single-line lines. Furthermore, the terminal may send quality detection data to the multiple access point addresses and select the first line from among the multiple operators' single-line lines based on the quality detection results.

[0034] In some cases, the cloud desktop has a need to access a target server in the public network. This need can be triggered by the operation of the terminal user or by the application running on the cloud desktop, which is not limited in this embodiment. The cloud desktop service system can determine the access request for accessing the target server through the cloud desktop, and can send the access request to the target server through the egress gateway. In this embodiment, when accessing the target server through the cloud desktop, the cloud desktop service system can schedule the operator's single-line line in the egress direction to select a single-line line from multiple operators' single-line lines, and access the target server through the selected single-line line. Among them, the selected single-line line can be marked as the second line.

[0035] Based on the foregoing, it can be seen that the ingress downstream bandwidth and the egress upstream bandwidth have little impact on the peak-based bandwidth settlement method, and the two can be balanced to a certain extent. Therefore, the ingress downstream bandwidth and the egress upstream bandwidth can be excluded from consideration for bandwidth scheduling. However, the ingress upstream bandwidth and the egress downstream bandwidth have a greater impact on the peak-based bandwidth settlement method. Therefore, when scheduling the operator's line in the egress direction, if the ingress upstream bandwidth is not scheduled, the scheduling goal can be to reduce the gap between the egress downstream bandwidth and the ingress upstream bandwidth. Based on this, the strategy adopted for scheduling the operator's single line in the egress direction can be a bandwidth balancing strategy. The bandwidth balancing strategy is used to balance the operator's peak upstream and downstream bandwidths, that is, to achieve a certain balance between the operator's peak downstream and peak upstream bandwidths. Based on the foregoing, it can be seen that when the ingress downstream bandwidth and the egress upstream bandwidth are relatively small, the bandwidth balancing strategy involved in the various embodiments of this application is primarily used to balance the operator's downstream bandwidth in the egress direction and the upstream bandwidth in the ingress direction, and will not be further described.

[0036] Based on this, when accessing the target cloud desktop service system on the Internet through the egress direction, a bandwidth balancing strategy can be used to schedule access requests to the target cloud desktop service system, thereby controlling the egress bandwidth peaks of different operators, making the downlink bandwidth peaks of different operators closer to the uplink bandwidth peaks, thereby reducing the probability that a single operator will have a larger 95% peak due to a larger downlink bandwidth peak in the egress direction.

[0037] In this implementation, the cloud desktop service system is connected to single lines from multiple operators. This reduces the cost of cloud desktop services based on the low cost of single lines, and provides high-quality cloud desktop access services to users of different operators based on these single lines, making cloud desktop services more cost-effective and smoother. When accessing a target server through a cloud desktop, the single lines from multiple operators are scheduled according to a bandwidth balancing strategy. This can improve the utilization of existing downlink bandwidth resources by balancing the peak uplink and downlink bandwidth of a single operator, thereby achieving "peak shaving" of outbound bandwidth consumption between different operators and further reducing overall bandwidth costs.

[0038] The bandwidth balancing strategy provided in the embodiments of the present application will be further illustrated below with reference to specific embodiments.

[0039] In some optional embodiments A1, the bandwidth balancing strategy may include: a policy for aligning the ingress and egress providers. This strategy ensures that the provider connected to any cloud desktop in the ingress direction is consistent with the provider connected to the egress direction. When a first line of the cloud desktop service system is connected to a terminal and receives an access request from the terminal via the first line, the first line is the ingress line.

[0040] In this embodiment, when determining the second line from multiple single-line circuits operated by different operators, the first operator to which the first line belongs can be determined, and a single-line circuit operated by the first operator can be selected from the multiple single-line circuits operated by the multiple operators as the second line. The second line is an egress line. The cloud desktop service system can send an access request to the target server via the second line, so that the target server returns the requested data via the second line.

[0041] In this embodiment, the operator distribution of the export line can be adjusted according to the operator distribution of the ingress line. Thus, the probability of the ingress and egress bandwidth being concentrated on a part of the operator lines and the egress bandwidth being concentrated on another part of the operator lines is effectively reduced. According to the operator to which the single-line bandwidth connected in the ingress direction of the cloud desktop belongs, the operator of the cloud desktop in the egress direction is specified, so that the number of scheduling times of the ingress line of any operator is more consistent with the number of times the ingress line is used, and thus the bandwidth usage of the operator in the ingress direction and the egress direction can be balanced, thereby balancing the upstream bandwidth peak and the downstream bandwidth peak of the operator. Furthermore, when bandwidth settlement is performed according to the larger value of the downstream bandwidth peak and the upstream bandwidth peak, the bandwidth cost can be fully utilized.

[0042] In some optional embodiments A2, the bandwidth balancing strategy includes: an operator's uplink and downlink bandwidth peak consistency strategy. For any operator, the higher the consistency of its uplink and downlink bandwidth peaks, the higher the bandwidth utilization.

[0043] Based on this, in some optional embodiments, the available downstream bandwidth of single-line links from multiple operators can be obtained. The available downstream bandwidth of any single-line link describes the available bandwidth in the downstream direction of that single-line link. The available downstream bandwidth can be determined according to bandwidth settlement principles. In some embodiments, according to bandwidth settlement principles, the peak bandwidth of any single-line link is determined by the larger of the peak downstream bandwidth and the peak upstream bandwidth of that single-line link. Furthermore, given the known peak upstream bandwidth, the available downstream bandwidth can be determined. If the peak upstream bandwidth of a single-line link is higher, the available downstream bandwidth is higher. If the peak upstream bandwidth is lower, the available downstream bandwidth is lower. For example, if the peak upstream bandwidth of a single-line link from a certain operator is 50 Mbps, the available downstream bandwidth can be 50 Mbps. If the peak downstream bandwidth is less than or equal to 50 Mbps, billing can be based on the peak bandwidth of 50 Mbps. When approximately 50 Mbps of bandwidth is fully utilized in the downstream direction, the benefits of bandwidth costs can be maximized.

[0044] Based on this, the scheduling hit probability of the multiple operators' single-line links in the egress direction can be determined based on the available downlink bandwidth of the multiple operators' single-line links. The scheduling hit probability of any single-line link is used to describe the possibility of scheduling the single-line link for data transmission.

[0045] The lower the operator's available downlink bandwidth, the closer the uplink and downlink bandwidth utilization rates are for that operator, and the lower the scheduling hit probability in the egress direction. The higher the operator's available downlink bandwidth, the greater the difference in bandwidth utilization rates between the uplink and downlink directions. To improve the operator's downlink bandwidth utilization, the scheduling hit probability of the operator's single-line in the egress direction can be increased.

[0046] Optionally, after determining the available downlink bandwidth of multiple operators' single-line links, the scheduling hit probability of the multiple operators' single-line links can be determined based on the available downlink bandwidth of the multiple operators' single-line links, based on the positive correlation between available downlink bandwidth and scheduling hit probability. That is, the greater the available downlink bandwidth of a single-line link, the higher the scheduling hit probability of the single-line link in the egress direction.

[0047] When an access request needs to be sent to a target server, a second line may be determined from the single-line lines of the multiple operators according to the scheduling hit probability of the single-line lines of the multiple operators in the egress direction.

[0048] The following uses any operator as an example to illustrate how to obtain available downlink bandwidth. Optionally, for any operator's single-line, the peak uplink bandwidth in the ingress direction and the peak downlink bandwidth in the egress direction can be obtained. Bandwidth fees can be settled according to a settlement cycle, which can be 12 hours, 24 hours, a week, or a month. After entering any settlement cycle, bandwidth peaks in different directions can be counted at a set frequency, and egress line scheduling can be performed in real time based on the resulting peak bandwidths. The peak uplink bandwidth in the ingress direction and the peak downlink bandwidth in the egress direction represent the peak bandwidth usage counted during the current settlement cycle. Based on the peak uplink bandwidth in the ingress direction and the peak downlink bandwidth in the egress direction of the single-line, the difference between the peak uplink and downlink bandwidths of the single-line is determined. Based on the difference between the peak uplink and downlink bandwidths of the single-line, the available downlink bandwidth of the single-line is determined. The greater the difference between the peak uplink and downlink bandwidths of the single-line, the higher the available downlink bandwidth of the single-line. Conversely, the smaller the difference between the uplink and downlink bandwidth peaks of a single line, the lower the available downlink bandwidth of the single line. In some embodiments, the difference between the uplink and downlink bandwidth peaks can be used as the available downlink bandwidth of the single line.

[0049] When the available downlink bandwidth of a single line is high, more access requests can be scheduled to the single line, thereby fully utilizing the existing bandwidth resources at a fixed cost. At the same time, it can help reduce the bandwidth usage of other lines, thereby reducing the probability of cost increases on other lines.

[0050] For example, in some scenarios, when the operators to which users in the ingress direction belong are unevenly distributed, different operators have unequal amounts of idle resources in the egress direction. For example, among the users of the cloud desktop, the number of users belonging to the first operator is relatively large, and the number of users belonging to the second operator is relatively small. Therefore, the first operator consumes more uplink bandwidth in the ingress direction, and the second operator consumes less uplink bandwidth in the ingress direction. According to the peak method billing principle described in the aforementioned embodiment, the first operator has more available idle bandwidth resources in the downlink direction, and the second operator has fewer available idle bandwidth resources in the downlink direction. Therefore, when performing egress link scheduling, more requests in the egress direction can be scheduled to the line of the first operator, and fewer requests in the egress direction can be scheduled to the line of the second operator, thereby making full use of the idle bandwidth resources in the egress direction.

[0051] The following will be combined Figure 2 Further exemplary description is given.

[0052] The cloud desktop service system can provide public cloud desktop services, such as Figure 2 As shown, the cloud desktop service system server can run the cloud desktop of tenant 1, the cloud desktop of tenant 2, and the cloud desktop of tenant 3. The cloud desktop service system is connected to a single line of multiple operators, which is used to connect to the backbone network of the first operator, the backbone network of the second operator, and the backbone network of the third operator respectively.

[0053] The cloud desktop receives access requests forwarded by the scheduling layer and sends them to the target server through the scheduling layer. Data transmission between the scheduling layer and external devices includes both upstream and downstream data transmission. Assuming that the home network used by tenant 1 is provided by the first operator, when tenant 1 accesses the cloud desktop, the scheduling layer receives the access request sent by tenant 1 through the first operator's backbone network and sends the access request to tenant 1's cloud desktop. The cloud desktop returns the desktop image through the first operator's backbone network for tenant 1 to view. When the cloud desktop accesses the public network server under user operation, the scheduling layer schedules the cloud desktop's access request based on the bandwidth balancing policy.

[0054] For example, the scheduling layer can send an access request to the public network server via the first operator's single-line line, so that the public network server returns response data via the first operator's single-line line. This ensures that the uplink bandwidth generated by the cloud desktop sending the desktop image to tenant 1 and the downlink bandwidth generated by the cloud desktop receiving the response data returned by the public network server are balanced to a certain extent.

[0055] For another example, the scheduling layer can determine the available downlink bandwidth of the single-line bandwidth provided by the first operator, the second operator, and the third operator. Assuming that the available downlink bandwidth of the first operator is 5M, the available downlink bandwidth of the second operator is 30M, and the available downlink bandwidth of the single-line bandwidth provided by the third operator is 50M, the scheduling layer can send an access request to the public network server through the single-line line of the third operator, so that the public network server returns response data through the single-line line of the third operator. Furthermore, the existing bandwidth of the third operator can be fully utilized, and the bandwidth of the third operator in the downlink direction can be used to supplement the bandwidth of the first operator in the downlink direction, forming bandwidth sharing in the export direction, reducing the possibility of increased costs for the first operator due to the large peak bandwidth in the downlink direction.

[0056] It is worth noting that after determining the scheduling hit probability of the single-line lines of the multiple operators in the export direction, the operator of the target server to be accessed can be further determined, hereinafter referred to as the second operator. The second operator belongs to the multiple operators connected to the export gateway. When determining the second line from the single-line lines of the multiple operators based on the scheduling hit probability of the single-line lines of the multiple operators in the export direction, it can be judged based on the scheduling hit probability of the single-line lines of the multiple operators whether the scheduling hit probability of the single-line line of the second operator meets the set conditions; if so, the single-line line of the second operator is used as the second line. Among them, the set conditions may include: the scheduling hit probability is greater than a certain probability threshold, or the scheduling hit probability is in the top N in the order from high to bottom, N is a positive integer. After the second line is determined based on the bandwidth balancing strategy, an access request can be sent to the target server through the second line, and the target server can return the requested data through the second line.

[0057] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 101 to 103 can be device A; for another example, the execution entity of steps 101 and 102 can be device A, and the execution entity of step 103 can be device B; and so on.

[0058] In addition, some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or may be executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any order of execution. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0059] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0060] Figure 3 A schematic diagram of the structure of a server provided by an exemplary embodiment of the present application is shown in FIG. Figure 3 As shown, the server includes: a memory 301 , a processor 302 and a communication component 303 .

[0061] The memory 301 is used to store computer programs and can be configured to store various other data to support operations on the server. Examples of such data include instructions for any application program or method operating on the server.

[0062] The processor 302 is coupled to the memory 301 and is configured to execute a computer program in the memory 301 to: determine an access request from a terminal, the access request being for accessing a target server through a cloud desktop; the cloud desktop being connected to the terminal through a first line among single-line lines of multiple operators; determining a second line from the single-line lines of the multiple operators according to a bandwidth balancing strategy; the bandwidth balancing strategy being configured to balance the upstream and downstream bandwidth peaks of the operators; and sending the access request to the target server through the second line, so that the target server returns the requested data through the second line.

[0063] Optionally, the bandwidth balancing strategy includes: a strategy of consistent operators for the ingress and egress lines; when the processor 302 determines the second line from the single-line lines of the multiple operators according to the bandwidth balancing strategy, the processor 302 is specifically configured to: determine the first operator to which the first line belongs as the operator of the ingress line; and select, from the single-line lines of the multiple operators, the egress line belonging to the first operator as the second line.

[0064] Optionally, the bandwidth balancing strategy includes: an operator's upstream and downstream bandwidth peak consistency strategy; when the processor 302 determines the second line from the single-line lines of the multiple operators according to the bandwidth balancing strategy, it is specifically used to: obtain the available downstream bandwidth of the single-line lines of the multiple operators according to the upstream and downstream bandwidth peaks of the multiple operators; determine the scheduling hit probability of the single-line lines of the multiple operators in the export direction according to the available downstream bandwidth of the single-line lines of the multiple operators; the export direction is the direction in which the cloud desktop accesses the external Internet; and determine the second line from the single-line lines of the multiple operators according to the scheduling hit probability of the single-line lines of the multiple operators in the export direction.

[0065] Optionally, when obtaining the available downlink bandwidth of single-line lines of multiple operators, the processor 302 is specifically used to: obtain, for any operator's single-line line, the uplink bandwidth peak value of the single-line line in the ingress direction and the downlink bandwidth peak value in the egress direction; determine the difference between the uplink and downlink bandwidth peak values ​​of the single-line line based on the uplink bandwidth peak value of the single-line line in the ingress direction and the downlink bandwidth peak value in the egress direction; the ingress direction is the direction in which the cloud desktop receives terminal access; and determine the available downlink bandwidth of the single-line line based on the difference between the uplink and downlink bandwidth peak values ​​of the single-line line.

[0066] Optionally, when the processor 302 determines the scheduling hit probability of the single-line lines of the multiple operators in the egress direction based on the available downlink bandwidth of the single-line lines of the multiple operators, the processor 302 is specifically used to: determine the scheduling hit probability of the single-line lines of the multiple operators based on the available downlink bandwidth of the single-line lines of the multiple operators according to the positive correlation between the available downlink bandwidth and the scheduling hit probability.

[0067] Optionally, after determining the scheduling hit probability of the single-line lines of the multiple operators in the egress direction based on the available downlink bandwidth of the single-line lines of the multiple operators, the processor 302 is further used to: determine the second operator where the target server is located; the second operator belongs to the multiple operators; determine the second line from the single-line lines of the multiple operators based on the scheduling hit probability of the single-line lines of the multiple operators in the egress direction, including: judging whether the scheduling hit probability of the single-line line of the second operator meets the set conditions based on the scheduling hit probability of the single-line lines of the multiple operators; if yes, using the single-line line of the second operator as the second line.

[0068] Optionally, before receiving an access request sent by the terminal through the first line, the processor 302 is further used to: provide multiple access point addresses corresponding to the single-line lines of the multiple operators to the terminal, so that the terminal sends quality detection data to the multiple access point addresses and selects the first line according to the result of the quality detection.

[0069] Optionally, before receiving an access request sent by the terminal through the first line, the processor 302 is further configured to: obtain operator information corresponding to the network used by the terminal; determine the first line matching the operator information, and provide the access point address of the first line to the terminal.

[0070] Further, if Figure 3 As shown, the server also includes: a power supply component 304 and other components. Figure 3 Only some components are shown schematically, which does not mean that the server only includes Figure 3 Components shown.

[0071] Among them, the memory 301 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0072] The communication component 303 is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as Wi-Fi (wireless network communication technology), 2G (such as Global System for Mobile Communications (GSM)), 3G (such as Wideband Code Division Multiple Access (WCDMA), 4G (such as Long Term Evolution (LTE)), 4G+ (such as upgraded Long Term Evolution (LTE-Advanced, LTE-A)), or 5G (5th Generation Mobile Communication Technology), or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can be implemented based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0073] The power supply component 304 is used to provide power to various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply component is located.

[0074] In this embodiment, the cloud desktop service system is connected to single-line lines from multiple operators. This reduces the cost of cloud desktop services based on the low cost of single-line lines. Furthermore, it provides high-quality cloud desktop access services to users of different operators based on these single-line lines, making cloud desktop services more cost-effective and smoother. When accessing a target server through a cloud desktop, the single-line lines from multiple operators are scheduled according to a bandwidth balancing strategy. This balances the peak uplink and downlink bandwidth of a single operator, improving the utilization of existing downlink bandwidth resources. This allows for "peak shaving" of egress bandwidth consumption between different operators, further reducing overall bandwidth costs.

[0075] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed, can implement the steps that can be executed by the server in the above method embodiment.

[0076] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM (Compact Disc Read-Only Memory), optical storage, etc.) containing computer-usable program code.

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

[0078] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0079] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0080] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

[0081] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0082] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, Parallel Random Access Machine (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of random access memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0083] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0084] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A scheduling method, characterized in that: Applied to a cloud desktop service system, the cloud desktop service system includes a server and a gateway, the gateway includes an entry gateway and an exit gateway, the entry gateway is used to achieve network interconnection with the user side terminal, and the exit gateway is used to achieve network interconnection with the external Internet, including: Determining an access request from a terminal, the access request being for accessing a target server through a cloud desktop; the cloud desktop being connected to the terminal through a first line among single-line lines of multiple operators; According to the bandwidth balancing strategy, a second line is determined from the single-line lines of the multiple operators; the bandwidth balancing strategy is used to balance the uplink and downlink bandwidth peaks of the operators; for the ingress gateway, the sending of data from the terminal to the cloud desktop service system is ingress downlink; the sending of data from the cloud desktop service system to the terminal is ingress uplink; for the egress gateway, the sending of data from the external Internet to the cloud desktop service system is egress downlink; the sending of data from the cloud desktop service system to the external Internet is egress uplink; the uplink and downlink bandwidth peaks include an uplink bandwidth peak and a downlink bandwidth peak, the uplink bandwidth peak includes an uplink bandwidth peak of the ingress and an uplink bandwidth peak of the egress; the downlink bandwidth peak includes an downlink bandwidth peak of the ingress and an egress downlink; The access request is sent to the target server through the second line, so that the target server returns the requested data through the second line.

2. The method according to claim 1, characterized in that The bandwidth balancing strategy includes: a strategy for aligning the operators of the ingress and egress lines; and determining a second line from the single-line lines of the multiple operators according to the bandwidth balancing strategy, including: Determine a first operator to which the first line belongs as the operator of the inbound line; From the single-line routes of the multiple operators, an export route belonging to the first operator is selected as the second route.

3. The method according to claim 1, characterized in that The bandwidth balancing strategy includes: an operator's upstream and downstream bandwidth peak consistency strategy; determining a second line from the single-line lines of the multiple operators according to the bandwidth balancing strategy, including: Obtaining available downlink bandwidth of single lines of the multiple operators according to the uplink and downlink bandwidth peaks of the multiple operators; Determining, based on the available downlink bandwidth of the single-line lines of the multiple operators, a scheduling hit probability of the single-line lines of the multiple operators in an egress direction; the egress direction is a direction in which the cloud desktop accesses the external Internet; A second line is determined from the single-line lines of the multiple operators according to the scheduling hit probabilities of the single-line lines of the multiple operators in the egress direction.

4. The method according to claim 3, characterized in that Get the available downlink bandwidth of a single line from multiple operators, including: For a single line of any operator, obtain the peak uplink bandwidth of the single line in the ingress direction and the peak downlink bandwidth in the egress direction; Determine the difference between the uplink and downlink bandwidth peaks of the single-line according to the uplink bandwidth peak in the ingress direction and the downlink bandwidth peak in the egress direction of the single-line; the ingress direction is the direction in which the cloud desktop receives access from the terminal; The available downlink bandwidth of the single-line line is determined according to the difference between the uplink and downlink bandwidth peak values ​​of the single-line line.

5. The method according to claim 4, characterized in that Determining, based on available downlink bandwidths of the single-line lines of the multiple operators, scheduling hit probabilities of the single-line lines of the multiple operators in an egress direction, includes: According to the positive correlation between the available downlink bandwidth and the scheduling hit probability, the scheduling hit probability of the single lines of the multiple operators is determined according to the available downlink bandwidth of the single lines of the multiple operators.

6. The method according to claim 5, characterized in that After determining the scheduling hit probability of the single-line lines of the multiple operators in the egress direction according to the available downlink bandwidths of the single-line lines of the multiple operators, the method further includes: Determining a second operator where the target server is located; the second operator belongs to the multiple operators; Determining a second line from the single-line lines of the multiple operators according to the scheduling hit probabilities of the single-line lines of the multiple operators in the egress direction includes: Determining whether the scheduling hit probability of the single-line of the second operator meets a set condition based on the scheduling hit probability of the single-line of the multiple operators; If yes, the single line of the second operator is used as the second line.

7. The method according to any one of claims 1 to 6, characterized in that Before receiving the access request sent by the terminal through the first line, the method further includes: Multiple access point addresses corresponding to the single-line links of the multiple operators are provided to the terminal, so that the terminal sends quality detection data to the multiple access point addresses and selects the first link according to the quality detection result.

8. The method according to any one of claims 1 to 6, characterized in that Before receiving the access request sent by the terminal through the first line, the method further includes: Obtaining operator information corresponding to the network used by the terminal; The first line matching the operator information is determined, and an access point address of the first line is provided to the terminal.

9. A server, characterized in that: include: memory and processor; The memory is used to store one or more computer instructions; The processor is configured to execute the one or more computer instructions to perform the steps of the method according to any one of claims 1 to 8.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it can implement the scheduling method described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Traffic scheduling method in network node, server and storage medium

    CN110896365A

  • Line scheduling method and device suitable for cloud game scene

    CN113877199A