Cloud mobile phone network bandwidth scheduling method and device

Through the bandwidth sorting and speed limiting table management of cloud mobile phones, network congestion caused by bandwidth resource sharing in cloud mobile phone environments is solved, and efficient utilization of bandwidth resources and improvement of download experience is achieved.

CN119211025APending Publication Date: 2024-12-27HUNAN MC TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411296513.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

In a cloud mobile environment, when multiple tenants share bandwidth resources, network congestion is caused. The existing technology cannot effectively utilize bandwidth through overall speed limit, resulting in low utilization of single-groups and affecting the download experience.

Method used

According to the current bandwidth of cloud mobile phones, a speed limit table is generated to limit the target cloud mobile phones to ensure the dynamic allocation and maximum utilization of overall bandwidth resources.

Benefits of technology

Through precise resource management, dynamic allocation of bandwidth can ensure overall availability and download experience, maximize bandwidth utilization and avoid network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211025A_ABST
    Figure CN119211025A_ABST
Patent Text Reader

Abstract

The invention provides a cloud mobile phone network bandwidth scheduling method and device, and relates to the field of cloud services, in particular to the field of cloud mobile phones. According to the specific implementation scheme, the method comprises the following steps: sorting the current bandwidths of a plurality of cloud mobile phones from high to low; in response to detecting that the bandwidth of the switch exceeds a preset threshold value, generating a speed limit table according to the current bandwidth of a preset number of target cloud mobile phones ranked in the front; and limiting the speed of the target cloud mobile phone according to the speed limiting table. According to the embodiment, the bandwidth resource dynamic allocation of the device level can be realized, the network outlet is ensured not to be congested, and each device can use the bandwidth resource orderly.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of cloud services, and in particular to the field of cloud phones, and specifically to a method and device for scheduling network bandwidth of a cloud phone. Background Art

[0002] Currently, there are many scenarios in cloud phones that require downloading network resources through the intranet and the public network. Multi-tenant and large number of cloud phones usually share expensive bandwidth resources in the computer room. When multiple tenants / users start downloading at the same time, the shared bandwidth resources often reach the upper limit, causing network congestion and all devices cannot use network services normally.

[0003] In the related art, when it is detected that the bandwidth exceeds the threshold, the overall speed is limited at the switch level (a batch of devices). Although it can ensure that the sum of each group is less than the upper limit, there is a situation where the utilization rate of a single group is low and the overall bandwidth value is occupied. Summary of the invention

[0004] The present invention provides a cloud phone network bandwidth scheduling method, apparatus, device, storage medium and computer program product.

[0005] According to a first aspect of the present disclosure, a cloud phone network bandwidth scheduling method is provided, comprising: sorting a plurality of cloud phones in descending order according to their current bandwidths; in response to detecting that the bandwidth of a switch exceeds a predetermined threshold, generating a speed limit table according to the current bandwidths of a predetermined number of target cloud phones sorted in front; and limiting the speed of the target cloud phones according to the speed limit table.

[0006] According to a second aspect of the present disclosure, a cloud phone network bandwidth scheduling device is provided, comprising: a sorting unit, configured to sort multiple cloud phones in descending order according to their current bandwidths; a detection unit, configured to generate a speed limit table according to the current bandwidths of a predetermined number of target cloud phones sorted in front in response to detecting that the bandwidth of the switch exceeds a predetermined threshold; a speed limit unit, configured to limit the speed of the target cloud phone according to the speed limit table.

[0007] According to a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the methods described in the first aspect.

[0008] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute any one of the methods according to the first aspect.

[0009] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements any one of the methods according to the first aspect when executed by a processor.

[0010] The cloud phone network bandwidth scheduling method and device provided by the embodiments of the present disclosure sorts the cloud phones in descending order according to their current bandwidth, generates a speed limit table according to the current bandwidth of a predetermined number of target cloud phones in the front order, and limits the speed of the target cloud phones according to the speed limit table. The resource management granularity is accurate to the smallest device, and dynamic allocation ensures overall availability, maximizes the use of bandwidth resources, and maximizes the download experience without affecting the global download behavior.

[0011] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0013] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;

[0014] Figure 2 is a flow chart of an embodiment of a cloud phone network bandwidth scheduling method according to the present disclosure;

[0015] Figure 3 It is a schematic diagram of an application scenario of the cloud phone network bandwidth scheduling method according to the present disclosure;

[0016] Figure 4 is a flow chart of another embodiment of the cloud phone network bandwidth scheduling method according to the present disclosure;

[0017] Figure 5 It is a structural diagram of an embodiment of a cloud phone network bandwidth scheduling device according to the present disclosure;

[0018] Figure 6 It is a structural diagram of a computer system of an electronic device suitable for implementing an embodiment of the present disclosure. DETAILED DESCRIPTION

[0019] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0020] Figure 1 An exemplary system architecture is shown to which an embodiment of the cloud phone network bandwidth scheduling method or cloud phone network bandwidth scheduling device disclosed in the present invention can be applied.

[0021] like Figure 1 As shown in the figure, the system architecture may include a public network, a computer room, a scheduler, a switch, a chassis, and a cloud phone. Multiple sets of switches belonging to different operators can be installed in a computer room to connect to the public network. Each set of switches can be connected to multiple chassis. Multiple cloud phones can run in each chassis, and the cloud phones that need to be speed-limited are called target cloud phones. Each chassis is connected to the switch through an uplink port.

[0022] The scheduler can run the collection service process and the speed limit service process. The collection service can collect data from the switch according to the network protocol through the monitoring system (such as ZABIX). The cloud phone's real-time bandwidth is reported to the speed limit service, and the speed limit process generates a sorting table based on the real-time bandwidth value. When the speed limit time is reached, the speed limit process generates a speed limit table based on the sorting table.

[0023] The cloud phone can capture data packets, count traffic, and generate a set of traffic statistics files. The cloud phone can run an agent to read the current bandwidth by listening to the set of traffic statistics files. It determines whether the current bandwidth exceeds the minimum reporting threshold. If it exceeds, the agent can report the current bandwidth to the speed limit service of the scheduler. The cloud phone can read the speed limit value from the speed limit table of the scheduler and execute the speed limit instruction through the agent.

[0024] It should be noted that the cloud phone network bandwidth scheduling method provided in the embodiments of the present disclosure is generally executed by a scheduler, and accordingly, the cloud phone network bandwidth scheduling device is generally provided in the scheduler.

[0025] It should be understood that Figure 1 The number of schedulers, switches, chassis, and cloud phones in the example is only for reference. Any number of schedulers, switches, chassis, and cloud phones may be provided as required.

[0026] Continue to refer Figure 2 , shows a process 200 of an embodiment of a cloud phone network bandwidth scheduling method according to the present disclosure. The cloud phone network bandwidth scheduling method includes the following steps:

[0027] Step 201, sort multiple cloud phones in descending order according to their current bandwidth.

[0028] In this embodiment, the execution subject of the cloud phone network bandwidth scheduling method (for example Figure 1 The scheduler shown in FIG. 1 can obtain the current bandwidth from multiple cloud phones through a wired connection or a wireless connection, and then sort the current bandwidths of the multiple cloud phones from high to low.

[0029] Step 202 , in response to detecting that the bandwidth of the switch exceeds a predetermined threshold, a speed limit table is generated according to the current bandwidths of a predetermined number of target cloud phones ranked in front.

[0030] In this embodiment, when it is detected that the bandwidth of the switch exceeds a predetermined threshold, the speed limit can be triggered. There is no need to perform a one-size-fits-all speed limit on all cloud phones, only some cloud phones (i.e., target cloud phones) with larger current bandwidths are subject to speed limit. Therefore, a speed limit value can be generated based on the current bandwidth of the target cloud phone, and then written into the speed limit table. The speed limit value can be generated according to some rules. For example, a fixed speed limit value for the current bandwidth in a certain interval can also be designed, and the current bandwidth is multiplied by the speed limit ratio to obtain the speed limit value. The speed limit ratio can be a fixed value or can be dynamically adjusted according to the current bandwidth. Each switch corresponds to a speed limit table. The present disclosure can limit the speed of four types of bandwidth (local area network upstream bandwidth, local area network downstream bandwidth, public network upstream bandwidth, and public network downstream bandwidth) separately, and four speed limit tables can be generated. The speed limit table is shown in the following table:

[0031] Cloud Phone ID User ID Chassis ID Current bandwidth (MB / S) Speed ​​limit (MB / S) C01 U39 B01 200 160 C02 U741 B01 300 240 … … … … …

[0032] Step 203: limit the speed of the target cloud phone according to the speed limit table.

[0033] In this embodiment, the speed limit value in the speed limit table can be sent to the target cloud phone, and the target cloud phone can set the maximum network speed to not exceed the speed limit value in the speed limit table through the command of the underlying operating system of the cloud phone. Optionally, the speed limit table can also only include the cloud phone ID without the speed limit value, and only send the speed limit instruction according to the cloud phone ID in the speed limit table, and the cloud phone calculates the speed limit value by itself to limit the speed. It can be set by default that after the cloud phone receives the speed limit instruction, the bandwidth is reduced to a certain proportion, such as 80%.

[0034] The method provided by the above-mentioned embodiment of the present disclosure can manage resources with the accuracy down to the cloud phone, dynamically allocate bandwidth to ensure overall availability, and can be managed automatically without manual intervention.

[0035] In some optional implementations of this embodiment, the order of sorting the current bandwidths of the multiple cloud phones from high to low includes: generating a sorting table according to the current bandwidths of the multiple cloud phones from high to low. The sorting table and the speed limit table can be stored together in a database to facilitate data management and save memory overhead.

[0036] In some optional implementations of this embodiment, speed limiting the cloud phone according to the speed limit table includes: querying the speed limit table for a previously speed-limited cloud phone; in response to not finding a speed-limited cloud phone, lifting the speed limit on the speed-limited cloud phone. Speed ​​limiting is performed according to the updated speed limit table. If the previously speed-limited cloud phone does not appear in the speed limit table, the speed limit can be lifted. The speed limit can be lifted by sending an instruction to restore the network speed. The bandwidth can be restored in time without affecting normal business.

[0037] In some optional implementations of the present embodiment, a speed limit table is generated based on the current bandwidth of a predetermined number of target cloud phones ranked in front, including: mapping the current bandwidth of the target cloud phone to different levels by interval, wherein the larger the current bandwidth, the higher the level; calculating the speed limit value of the target cloud phone by multiplying the preset speed limit ratios of different levels by the current bandwidth, wherein the higher the level, the higher the speed limit ratio; generating a speed limit table based on the speed limit value of the target phone. For example, the speed limit ratios of cloud phones whose current bandwidths rank in the top 10%, 20%, and 30% are 80%, 50%, and 30%, respectively. This reduces the impact of speed limits on services with large traffic volumes and ensures user experience.

[0038] In some optional implementations of this embodiment, the current bandwidths of multiple cloud phones are sorted in descending order, including: obtaining a list of cloud phones used by predetermined non-speed-limited users; filtering out cloud phones that need speed limits from multiple cloud phones according to the cloud phone list; and sorting the current bandwidths of the cloud phones that need speed limits in descending order. Set a whitelist that does not require speed limits, and only limit the speed of users outside the whitelist. Different permissions can be set for different users, and speed limits can be targeted.

[0039] In some optional implementations of this embodiment, the sorting table includes a user identifier of the cloud phone; and the method further includes: counting the number of cloud phones used by the user according to the user identifier; and adjusting the sorting table in descending order according to the number of cloud phones. Secondary sorting can be performed according to the number of cloud phones, and the order of the number of cloud phones can be prioritized from high to low, and then the order of the current bandwidth can be prioritized from high to low under the same number of cloud phones. It can also be prioritized from high to low order according to the current bandwidth, and then the order of the number of cloud phones can be prioritized from high to low under the same current bandwidth.

[0040] Optionally, the first ranking value obtained by sorting the number of cloud phones from high to low and the second ranking value obtained by sorting the current bandwidth from high to low can be weighted and summed to obtain a total ranking value, which can be sorted in ascending order according to the total ranking value. Speed ​​limit can be quickly implemented, thereby accelerating the speed at which speed limit takes effect.

[0041] In some optional implementations of this embodiment, the sorting table includes the service priorities running on the cloud phone; and the method further includes: adjusting the sorting table in order from low to high according to the service priorities running on the cloud phone. If multiple services are running on the cloud phone, the average service priority can be calculated. Set weight coefficients for different service priorities, and multiply the second sorting value obtained by sorting in order from high to low according to the current bandwidth by the weight coefficient to obtain a weighted second sorting value. The weight coefficient can be set between (0,1]. The lower the service priority, the smaller the weight coefficient, so that the smaller the weighted sorting value is, the higher the ranking is, that is, cloud phones with low service priorities are given priority to speed limit. Thereby, the impact on cloud phones with high service priorities can be reduced.

[0042] In some optional implementations of this embodiment, the method further includes: in response to detecting that the predicted traffic peak has been reached, generating a speed limit table according to the current bandwidth of a predetermined number of cloud phones in the front of the sorting table. Speed ​​limit can be performed not only according to real-time bandwidth, but also before the traffic peak arrives, thereby avoiding network congestion due to insufficient speed limit during the traffic peak.

[0043] In some optional implementations of this embodiment, the method further includes: backing up the ranking table according to a predetermined period; obtaining the current bandwidth of multiple cloud phones and regenerating the ranking table in descending order; and clearing the ranking table that has reached the expiration time. The ranking table needs to be backed up so that a portion of historical data is retained for fault analysis. The ranking table is also cleared regularly so that the speed limit can be automatically lifted.

[0044] In some optional implementations of this embodiment, a ranking table is generated according to the current bandwidth of multiple cloud phones in descending order, including: in response to receiving a message from a cloud phone reporting the current bandwidth, storing the current bandwidth of multiple cloud phones in a database; in response to detecting that a ranking table update condition is met, generating a ranking table according to the current bandwidth of multiple cloud phones in descending order. The scheduler can passively receive the bandwidth reported by the cloud phone, not immediately sort it, but store it together, and update the ranking table regularly. This can reduce computing pressure and save resources.

[0045] In some optional implementations of this embodiment, the message is sent when the cloud phone detects that the current bandwidth is greater than a predetermined reporting threshold, which can reduce the frequency of cloud phone reporting and the frequency of updating the sorting table, thereby reducing computing pressure and saving resources.

[0046] In some optional implementations of this embodiment, the method further includes: clearing the speed limit table after a predetermined time. Clearing the speed limit table is equivalent to lifting the speed limit for the cloud phone that previously limited the speed. Therefore, the speed limit can be automatically lifted in batches, reducing manual operations.

[0047] In some optional implementations of this embodiment, the current bandwidth includes at least one of the following: local area network uplink bandwidth, local area network downlink bandwidth, public network uplink bandwidth, and public network downlink bandwidth. There may also be four corresponding sorting tables and speed limit tables, which are used to limit speeds for different bandwidths. The speed can be limited in a targeted manner according to the application scenario, fully improving resource utilization and achieving maximum throughput.

[0048] Continue to see Figure 3 , Figure 3 FIG. 1 is a schematic diagram of an application scenario of the cloud phone network bandwidth scheduling method according to this embodiment. Figure 3 In the application scenario, the specific process is as follows:

[0049] 301. The cloud phone reports the current bandwidth to the scheduler;

[0050] 302. The scheduler sorts according to the current bandwidth, updates the sorting table, and stores it in the database;

[0051] 303. The database periodically updates the speed limit table according to the sorting table;

[0052] 304. When the switch bandwidth is insufficient, the scheduler queries the speed limit table in the database;

[0053] 305. The scheduler returns the speed limit value in the speed limit table to the cloud phone;

[0054] 306. The cloud phone limits the speed according to the speed limit value in the speed limit table.

[0055] Further references Figure 4 , which shows a process 400 of another embodiment of a cloud phone network bandwidth scheduling method. The process 400 of the cloud phone network bandwidth scheduling method includes the following steps:

[0056] Step 401, group multiple cloud phones, and for each group, generate a sorting sub-table according to the current bandwidth of the cloud phones in the group in descending order.

[0057] In this embodiment, all cloud phones connected to the same switch can be evenly grouped. For example, 200 cloud phones can be divided into 4 groups, and each group of 50 cloud phones generates a sorting sub-table in descending order of current bandwidth, and a total of 4 sorting sub-tables are generated. The groups can be grouped randomly, or according to the chassis they are in, or according to the IP address.

[0058] Step 402: combine the sorting sub-tables of each group into a sorting table.

[0059] In this embodiment, the sorting sub-tables can be combined into a sorting table, and there is no need to re-sort the entire table according to the current bandwidth, and the grouping sorting can be retained.

[0060] Step 403, in response to detecting that the bandwidth of the switch exceeds a predetermined threshold, a speed limit table is generated according to the current bandwidths of a predetermined number of target cloud phones ranked in front.

[0061] In this embodiment, when it is detected that the bandwidth of the switch exceeds a predetermined threshold, the speed limit can be triggered. A certain number of cloud phones ranked first are selected from each sorting sub-table as target cloud phones, and a speed limit table is generated according to the current bandwidth of the target cloud phones.

[0062] Step 404, limit the speed of the target cloud phone according to the speed limit table.

[0063] In this embodiment, the speed limit value can be sent to the target cloud phone, and the target cloud phone can set the maximum network speed not exceeding the speed limit value in the speed limit table through the command provided by the underlying operating system of the cloud phone.

[0064] The above embodiment can reduce the sorting time and save computing resources by parallel sorting.

[0065] In some optional implementations of this embodiment, multiple cloud phones are grouped, including: grouping according to the network address of the cloud phone. Adjacent IPs can be grouped together, for example, the IP address is converted from hexadecimal to decimal, and then modulo according to the number of groups, so that the cloud phones can be grouped quickly and evenly. For easy management, the speed limit table can also be set to limit the speed by IP address.

[0066] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a cloud phone network bandwidth scheduling device. The device embodiment is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0067] like Figure 5As shown, the cloud phone network bandwidth scheduling device 500 of this embodiment includes: a sorting unit 501, a detection unit 502 and a speed limiting unit 503. Among them, the sorting unit 501 is configured to sort the current bandwidths of multiple cloud phones from high to low; the detection unit 502 is configured to generate a speed limit table according to the current bandwidths of a predetermined number of target cloud phones sorted in front in response to detecting that the bandwidth of the switch exceeds a predetermined threshold; the speed limiting unit 503 is configured to limit the speed of the target cloud phone according to the speed limit table.

[0068] In this embodiment, the specific processing of the sorting unit 501, the detection unit 502 and the speed limiting unit 503 of the cloud phone network bandwidth scheduling device 500 can be referred to Figure 2 This corresponds to step 201, step 202 and step 203 in the embodiment.

[0069] In some optional implementations of this embodiment, the sorting unit 501 is further configured to generate a sorting table according to the current bandwidth of multiple cloud phones in descending order.

[0070] In some optional implementations of this embodiment, the speed limit unit 503 is further configured to: query the speed limit table for a cloud phone that was previously speed-limited; in response to not finding a speed-limited cloud phone, lift the speed limit on the speed-limited cloud phone.

[0071] In some optional implementations of this embodiment, the sorting unit 501 is further configured to: group multiple cloud phones; for each group, generate a sorting sub-table according to the current bandwidth of the cloud phones in the group in descending order; and combine the sorting sub-tables of each group into a sorting table.

[0072] In some optional implementations of this embodiment, the sorting unit 501 is further configured to: group according to the network address of the cloud phone.

[0073] In some optional implementations of this embodiment, the detection unit 502 is further configured to: map the current bandwidth of the target cloud phone to different levels according to the interval, wherein the larger the current bandwidth, the higher the level; calculate the speed limit value of the target cloud phone according to the preset speed limit ratios of different levels and the current bandwidth, wherein the higher the level, the higher the speed limit ratio; generate a speed limit table according to the speed limit value of the target phone.

[0074] In some optional implementations of this embodiment, the sorting unit 501 is further configured to: obtain a list of cloud phones used by predetermined non-speed-limited users; filter out cloud phones that need to be speed-limited from multiple cloud phones according to the cloud phone list; and sort the cloud phones that need to be speed-limited in order from high to low according to their current bandwidth.

[0075] In some optional implementations of this embodiment, the sorting table includes the user identification of the cloud phone; and the sorting unit 501 is further configured to: count the number of cloud phones used by the user according to the user identification; and adjust the sorting table in descending order according to the number of cloud phones.

[0076] In some optional implementations of this embodiment, the sorting table includes the service priorities running on the cloud phone; and the sorting unit 501 is further configured to: adjust the sorting table in order from low to high according to the service priorities running on the cloud phone.

[0077] In some optional implementations of this embodiment, the detection unit 502 is further configured to: in response to detecting that a predicted traffic peak moment has been reached, generate a speed limit table based on the current bandwidths of a predetermined number of cloud phones that are ranked in front in the sorting table.

[0078] In some optional implementations of this embodiment, the sorting unit 501 is further configured to: back up the sorting table according to a predetermined period; obtain the current bandwidth of multiple cloud phones and regenerate the sorting table in order from high to low; and clear the sorting table that has reached the expiration time.

[0079] In some optional implementations of this embodiment, the sorting unit 501 is further configured to: in response to receiving a message from a cloud phone reporting the current bandwidth, store the current bandwidths of multiple cloud phones in a database; in response to detecting that a sorting table update condition is met, generate a sorting table according to the current bandwidths of multiple cloud phones in descending order.

[0080] In some optional implementations of this embodiment, the message is sent when the cloud phone detects that the current bandwidth is greater than a predetermined reporting threshold.

[0081] In some optional implementations of this embodiment, the detection unit 502 is further configured to: clear the speed limit table after a predetermined time.

[0082] In some optional implementations of this embodiment, the current bandwidth includes at least one of the following: a local area network uplink bandwidth, a local area network downlink bandwidth, a public network uplink bandwidth, and a public network downlink bandwidth.

[0083] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0084] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0085] An electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in process 200 or 400.

[0086] A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method described in process 200 or 400.

[0087] A computer program product includes a computer program, wherein the computer program implements the method described in flow 200 or 400 when executed by a processor.

[0088] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0089] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0090] A number of components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0091] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as a cloud phone network bandwidth scheduling method. For example, in some embodiments, the cloud phone network bandwidth scheduling method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the cloud phone network bandwidth scheduling method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the cloud phone network bandwidth scheduling method in any other appropriate manner (e.g., by means of firmware).

[0092] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0093] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0094] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0095] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0096] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0097] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0098] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0099] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A cloud phone network bandwidth scheduling method, comprising: Sort multiple cloud phones in descending order based on their current bandwidth; In response to detecting that the bandwidth of the switch exceeds a predetermined threshold, generating a speed limit table according to current bandwidths of a predetermined number of target cloud phones ranked in front; The target cloud phone is speed-limited according to the speed limit table.

2. The method according to claim 1, wherein: The order of sorting the current bandwidths of the multiple cloud phones from high to low includes: Generate a sorting table based on the current bandwidth of multiple cloud phones in descending order.

3. The method according to claim 1, wherein: The speed limiting of the target cloud phone according to the speed limit table includes: Search the speed limit table for the previously speed-limited cloud phone; In response to not finding a speed-limited cloud phone, the speed limit of the speed-limited cloud phone is lifted.

4. The method according to claim 2, wherein: The generating of the sorting table according to the current bandwidth of the plurality of cloud phones in descending order includes: Group multiple cloud phones; For each group, a sorting sub-table is generated according to the current bandwidth of the cloud phones in the group from high to low; Combine the sorted sub-lists of each group into a sorted list.

5. The method according to claim 4, wherein: The grouping of multiple cloud phones includes: Group the cloud phones according to their network addresses.

6. The method according to claim 1, wherein: The generating of the speed limit table according to the current bandwidths of the predetermined number of target cloud phones ranked in front includes: Mapping the current bandwidth of the target cloud phone to different levels according to intervals, wherein the larger the current bandwidth, the higher the level; Calculate the speed limit value of the target cloud phone according to the preset speed limit ratios of different levels and the current bandwidth, wherein the higher the level, the higher the speed limit ratio; A speed limit table is generated according to the speed limit value of the target mobile phone.

7. The method according to claim 1, wherein: The order of sorting the current bandwidths of the multiple cloud phones from high to low includes: Get the list of cloud phones used by scheduled non-speed-limited users; Filtering out cloud phones that need speed limit from multiple cloud phones according to the cloud phone list; The current bandwidth of the cloud phones that need to be limited is sorted from high to low.

8. The method according to claim 2, wherein: The ranking table includes the user identification of the cloud phone; as well as The method further comprises: Count the number of cloud phones used by users based on user IDs; The sorting table is adjusted in descending order according to the number of the cloud phones.

9. The method according to claim 2, wherein: The ranking table includes the priorities of services running on the cloud phone; and The method further comprises: The sorting table is adjusted in descending order according to the priority of the services running on the cloud phone.

10. The method according to claim 1, wherein: The method further comprises: In response to detecting that a predicted traffic peak moment has been reached, a speed limit table is generated according to the current bandwidths of a predetermined number of cloud phones that are ranked in front in the sorting table.

11. The method according to claim 2, wherein: The method further comprises: Backing up the sorting table according to a predetermined period; Get the current bandwidth of multiple cloud phones and regenerate the sorting table in descending order; Clear the sort table that has reached the expiration time.

12. The method according to claim 2, wherein: The generating of the sorting table according to the current bandwidth of the plurality of cloud phones in descending order includes: In response to receiving a message from a cloud phone reporting a current bandwidth, storing the current bandwidths of the plurality of cloud phones in a database; In response to detecting that a sorting table update condition is met, a sorting table is generated according to the current bandwidths of the plurality of cloud phones in descending order.

13. The method according to claim 12, wherein: The message is sent when the cloud phone detects that the current bandwidth is greater than a predetermined reporting threshold.

14. The method according to claim 1, wherein: The method further comprises: The speed limit table is cleared after a predetermined time.

15. The method according to any one of claims 1 to 14, wherein: The current bandwidth includes at least one of the following: a local area network uplink bandwidth, a local area network downlink bandwidth, a public network uplink bandwidth, and a public network downlink bandwidth.

16. A cloud phone network bandwidth scheduling device, comprising: A sorting unit is configured to sort the multiple cloud phones in descending order according to their current bandwidths; A detection unit, configured to generate a speed limit table according to current bandwidths of a predetermined number of target cloud phones ranked in front in response to detecting that the bandwidth of the switch exceeds a predetermined threshold; The speed limiting unit is configured to limit the speed of the target cloud phone according to the speed limit table.

17. The device according to claim 16, wherein: The sorting unit is further configured to: Generate a sorting table based on the current bandwidth of multiple cloud phones in descending order.

18. The device according to claim 16, wherein: The speed limiting unit is further configured to: Search the speed limit table for the previously speed-limited cloud phone; In response to not finding a speed-limited cloud phone, the speed limit of the speed-limited cloud phone is lifted.

19. The device according to claim 17, wherein: The sorting unit is further configured to: Group multiple cloud phones; For each group, a sorting sub-table is generated according to the current bandwidth of the cloud phones in the group from high to low; Combine the sorted sub-lists of each group into a sorted list.

20. The device according to claim 19, wherein The sorting unit is further configured to: Group the cloud phones according to their network addresses.

21. The device according to claim 16, wherein: The detection unit is further configured to: Mapping the current bandwidth of the target cloud phone to different levels according to intervals, wherein the larger the current bandwidth, the higher the level; Calculate the speed limit value of the target cloud phone according to the preset speed limit ratios of different levels and the current bandwidth, wherein the higher the level, the higher the speed limit ratio; A speed limit table is generated according to the speed limit value of the target mobile phone.

22. The device according to claim 16, wherein: The sorting unit is further configured to: Get the list of cloud phones used by scheduled non-speed-limited users; Filtering out cloud phones that need speed limit from multiple cloud phones according to the cloud phone list; The current bandwidth of the cloud phones that need to be limited is sorted from high to low.

23. The device according to claim 17, wherein: The ranking table includes the user identification of the cloud phone; and The sorting unit is further configured to: Count the number of cloud phones used by users based on user IDs; The sorting table is adjusted in descending order according to the number of the cloud phones.

24. The device according to claim 17, wherein: The ranking table includes the priorities of services running on the cloud phone; and The sorting unit is further configured to: The sorting table is adjusted in descending order according to the priority of the services running on the cloud phone.

25. The device according to claim 16, wherein: The detection unit is further configured to: In response to detecting that a predicted traffic peak moment has been reached, a speed limit table is generated according to the current bandwidths of a predetermined number of cloud phones that are ranked in front in the sorting table.

26. The device according to claim 17, wherein: The sorting unit is further configured to: Backing up the sorting table according to a predetermined period; Get the current bandwidth of multiple cloud phones and regenerate the sorting table in descending order; Clear the sort table that has reached the expiration time.

27. The device according to claim 17, wherein: The sorting unit is further configured to: In response to receiving a message from a cloud phone reporting a current bandwidth, storing the current bandwidths of the plurality of cloud phones in a database; In response to detecting that a sorting table update condition is met, a sorting table is generated according to the current bandwidths of the plurality of cloud phones in descending order.

28. The device according to claim 27, wherein The message is sent when the cloud phone detects that the current bandwidth is greater than a predetermined reporting threshold.

29. The device according to claim 16, wherein: The detection unit is further configured to: The speed limit table is cleared after a predetermined time.

30. The device according to any one of claims 16 to 29, wherein: The current bandwidth includes at least one of the following: a local area network uplink bandwidth, a local area network downlink bandwidth, a public network uplink bandwidth, and a public network downlink bandwidth.

31. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 15.

32. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-15.

33. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 15.