A cloud phone allocation method, system, device, and computer-readable storage medium

By acquiring the resource utilization rate and target resource information of the cloud server cluster, and using a neural network model to determine the allocation order of cloud phones, the problem of uneven resource utilization of cloud servers is solved, and efficient allocation and resource optimization of cloud phones are achieved.

CN116389473BActive Publication Date: 2026-03-13INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

How to rationally allocate cloud phones to cloud servers to meet the needs of multiple users and solve the problem of uneven utilization of cloud server resources.

Method used

By obtaining the resource utilization rate of the cluster node group, the target cluster node group is selected, the target resource information of the cloud server is obtained, the allocation order of the cloud server is determined by the neural network model, and the cloud mobile phone is allocated based on this order.

Benefits of technology

It enables the rational allocation of cloud phones on cloud servers, improves resource utilization and allocation efficiency, and reduces user waiting time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389473B_ABST
    Figure CN116389473B_ABST
Patent Text Reader

Abstract

This application discloses a cloud phone allocation method, system, device, and computer-readable storage medium. The method involves obtaining the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers; selecting a target cluster node group based on the resource utilization rate; obtaining the target resource information of each cloud server in the target cluster node group; determining the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information; and allocating cloud phones to each cloud server in the target cluster node group according to this order. This application achieves reasonable allocation of cloud phones by rationally selecting the target cluster node group based on the resource utilization rate of the cluster node group, rationally determining the order in which cloud phones are allocated to each cloud server based on the target resource information of each cloud server in the target cluster node group, and finally rationally allocating cloud phones to each server according to this order.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud phone allocation technology, and more specifically, to a cloud phone allocation method, system, device, and computer-readable storage medium. Background Technology

[0002] Cloud phones are a product of cloud computing. Their emergence has solved the compatibility problem between traditional low-configuration mobile phone hardware and large-memory services. A cloud phone essentially runs an operating system like Android within a Docker container on a cloud server, virtualizing the Android operating system. Each container is equivalent to a cloud phone. The computation and rendering of a cloud phone all take place on the cloud server. Users only need to connect to a specific cloud phone through a terminal to access the phone's screen in the cloud, enjoying the powerful computing and storage capabilities of the cloud without worrying about the hardware limitations of their terminal device.

[0003] Furthermore, in order to meet the cloud phone needs of multiple users, a certain number of cloud servers can be combined into a cloud phone cluster to provide cloud phone services. In this process, how to reasonably allocate the corresponding number of cloud phones to each cloud server becomes a problem.

[0004] In conclusion, how to reasonably allocate cloud phones to cloud servers is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] The purpose of this application is to provide a method for allocating cloud phones, which can, to some extent, solve the technical problem of how to reasonably allocate cloud phones to cloud servers. This application also provides a cloud phone allocation system, device, and computer-readable storage medium.

[0006] To achieve the above objectives, this application provides the following technical solution:

[0007] A method for allocating cloud phones, including:

[0008] Obtain the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers;

[0009] Based on the resource utilization rate, a target cluster node group is selected from the cluster node group;

[0010] Obtain the target resource information of each cloud server in the target cluster node group;

[0011] Based on the target resource information, determine the order in which cloud servers in the target cluster node group are allocated cloud phones;

[0012] Cloud phones are allocated to each cloud server in the target cluster node group according to the aforementioned sequence.

[0013] Preferably, determining the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information includes:

[0014] The target resource information is input into a pre-trained neural network model;

[0015] The order in which the outputs of the neural network model are received.

[0016] Preferably, inputting the target resource information into a pre-trained neural network model includes:

[0017] The target resource information is normalized to obtain normalized data;

[0018] The normalized data is input into the pre-trained neural network model.

[0019] Preferably, before inputting the target resource information into the pre-trained neural network model, the method further includes:

[0020] Obtain training resource information and cloud phone allocation information of the cloud server with different performance in various scenarios;

[0021] The initial neural network model is trained based on the training resource information and the cloud phone allocation information to obtain the trained neural network model.

[0022] The neural network model includes a weight extraction module that extracts and weights resource information, and a scene recognition module that determines the confidence level of each cloud server based on the weighting result of the weight extraction module. The higher the confidence level, the earlier the cloud server allocates cloud phones.

[0023] Preferably, the step of allocating cloud phones to each of the cloud servers in the target cluster node group according to the specified order includes:

[0024] Based on the aforementioned order, the first number of cloud servers ranked first in the target cluster node group are selected as cloud servers to be allocated.

[0025] For each of the cloud servers to be allocated, calculate the data weight value of the normalized data of the cloud server to be allocated relative to the normalized data of all the cloud servers to be allocated, calculate the product value of the data weight value, the normalized data and the number of pre-allocated cloud phones, determine the number of cloud phones to be allocated to the cloud server to be allocated based on the product value, and allocate cloud phones to the cloud server to be allocated according to the number of cloud phones.

[0026] Preferably, after allocating cloud phones to the cloud servers to be allocated according to the number of cloud phones, the method further includes:

[0027] Record the cloud phone information in each of the cloud servers to be allocated in the cloud phone resource pool;

[0028] If a cloud phone request is received, a corresponding cloud phone will be allocated based on the cloud phone resource pool.

[0029] Preferably, obtaining the resource information of each cloud server in the target cluster node group includes:

[0030] Obtain the resource information of each cloud server in the target cluster node group, the resource information including CPU resource data, memory resource data, GPU resource data, and disk resource data.

[0031] A cloud phone allocation system, comprising:

[0032] The first acquisition module is used to acquire the resource utilization rate of each cluster node group, and each cluster node group consists of a corresponding number of cloud servers.

[0033] The first selection module is used to select a target cluster node group from the cluster node group based on the resource utilization rate;

[0034] The second acquisition module is used to acquire target resource information of each cloud server in the target cluster node group;

[0035] The first determining module is used to determine the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information.

[0036] The first allocation module is used to allocate cloud phones to each of the cloud servers in the target cluster node group according to the specified order.

[0037] A cloud phone distribution device, comprising:

[0038] Memory, used to store computer programs;

[0039] A processor, used to implement the steps of any of the cloud phone allocation methods described above when executing the computer program.

[0040] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the cloud phone allocation methods described above.

[0041] This application provides a cloud phone allocation method, which involves obtaining the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers; selecting a target cluster node group based on the resource utilization rate; obtaining the target resource information of each cloud server in the target cluster node group; determining the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information; and allocating cloud phones to each cloud server in the target cluster node group according to this order. This application can first rationally select the target cluster node group based on the resource utilization rate of the cluster node group, then rationally determine the order in which cloud phones are allocated to each cloud server based on the target resource information of each cloud server in the target cluster node group, and finally rationally allocate cloud phones to each server according to this order, thus achieving rational cloud phone allocation based on the corresponding resource information of the cluster node group and cloud servers. The cloud phone allocation system, device, and computer-readable storage medium provided in this application also solve the corresponding technical problems. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0043] Figure 1 A first flowchart of a cloud phone allocation method provided in this application embodiment;

[0044] Figure 2 This is a second flowchart of a cloud phone allocation method provided in an embodiment of this application;

[0045] Figure 3 This is a schematic diagram of the structure of a cloud phone allocation system provided in an embodiment of this application;

[0046] Figure 4 This is a schematic diagram of the structure of a cloud phone distribution device provided in an embodiment of this application;

[0047] Figure 5 This is another structural schematic diagram of a cloud phone distribution device provided in an embodiment of this application. Detailed Implementation

[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0049] Please see Figure 1 , Figure 1 This is a first flowchart of a cloud phone allocation method provided in an embodiment of this application.

[0050] This application provides a cloud phone allocation method, which may include the following steps:

[0051] Step S101: Obtain the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers.

[0052] In practical applications, the resource utilization rate of each cluster node group in the cloud phone cluster can be obtained first, so that the target cluster node group for cloud phones can be selected and allocated based on the resource utilization rate. It should be noted that each cluster node group consists of a corresponding number of cloud servers, and the number of cloud servers in each cluster node group can be equal or unequal, which can be flexibly obtained according to actual needs. In addition, cloud servers can be physical servers, etc., and this application does not make specific limitations here.

[0053] In specific application scenarios, when obtaining the resource utilization of each cluster node group, for each cluster node group, the master node in that group can obtain the total amount of hardware resources of each cluster node, i.e., each cloud server, including: total CPU resources (in the cloud phone field, CPU resources refer to the number of CPU cores of the current physical host), total memory resources, total GPU resources (such as GPU utilization), and total disk capacity. Then, the total resources of all nodes are added together to obtain the total resource amount of the cluster node group, which can be represented by the variables Tcpu, Tmem, Tgpu, and Tdisk, respectively. Next, the master node of that cluster node group obtains the hardware resource usage of each cluster node, including: CPU resource usage (the number of CPU cores already used by the cloud phone in this node), memory usage (the amount of memory already used by the cloud phone in this node), GPU resource usage, and disk capacity usage. Then, the total resource usage of all cluster nodes is added together to obtain the total resource usage of the cluster node group, which can be represented by the variables Ucpu, Umem, Ugpu, and Udisk, respectively. Finally, the utilization rate of each resource is calculated, namely, CPU resource utilization percentage: Kcpu = Ucpu / Tcpu * 100%; memory resource utilization percentage: Kmem = Umem / Tmem * 100%; GPU resource utilization rate: Kgpu = Ugpu / Tgpu * 100%; disk capacity utilization rate: Kdisk = Udisk / Tdisk * 100%; thus, the resource utilization rate of the cluster node group is obtained.

[0054] Step S102: Select the target cluster node group from the cluster node group based on resource utilization.

[0055] In practical applications, after obtaining the resource utilization rate of each cluster node group, the target cluster node group can be quickly selected from the cluster node groups based on the resource utilization rate. Specifically, the cluster node group with the lowest resource utilization rate can be selected as the target cluster node group, etc. This application does not make specific limitations here.

[0056] It should be noted that when determining the target cluster node group, a rough estimate can be made to obtain the maximum possible range. In cloud phone solutions based on Android virtual machines, CPU and GPU resources are the most important resources, and generally, their resources are far less abundant than memory and disk. Furthermore, CPU usage within a cluster node is more deterministic than GPU usage. GPUs, due to their schedulable nature, can serve multiple cloud phones, but the number of CPUs required for a single cloud phone is fixed during creation. For example, if two CPU cores are allocated to a cloud phone, a machine with 128 CPU cores can only run a maximum of 64 cloud phones. Moreover, in practical applications, CPU resource limitations cover most scenarios. Based on this, the selection of the target cluster node group can first consider only CPU resources, i.e., Kcpu. Nodes should be sorted according to their Kcpu values; the smaller the value, the higher the priority and the easier it is to be selected as a target cluster node group, while the larger the value, the lower the priority and the less likely it is to be selected. In addition, after obtaining the target cluster node group, other conditions can be used to determine whether to use the target cluster node group as the final target cluster node group. For example, it can be determined whether the other three indicators exceed the preset thresholds. For example, Kmem and Kdisk should be less than 80%, and Kgpu should be less than 70%. If not, the judgment should be made in order of ranking until the target cluster node group that meets all the conditions is obtained.

[0057] Step S103: Obtain the target resource information of each cloud server in the target cluster node group.

[0058] In practical applications, after selecting the target cluster node group from the cluster node group based on resource utilization, the target resource information of each cloud server in the target cluster node group can be obtained, so as to determine the allocation of cloud phones in each cloud server based on the target resource information.

[0059] It should be noted that the type of resource information for cloud servers can be determined according to actual needs. For example, when obtaining resource information for each cloud server in a target cluster node group, the specific resource information for each cloud server in the target cluster node group can be obtained. This resource information includes CPU resource data, memory resource data, GPU resource data, and disk resource data. Among them, CPU physical resources usually refer to the number of cores bound when applying for a cloud phone, representing the processing speed of cloud phone tasks; memory resources indicate the upper limit of memory used by the cloud phone; GPU resources are mainly used for rendering images, and the image quality of the cloud phone is the most important indicator; disk resources are the storage location of files during the operation of the cloud phone.

[0060] Step S104: Based on the target resource information, determine the order in which cloud phones are allocated to each cloud server in the target cluster node group.

[0061] In practical applications, after obtaining the target resource information of each cloud server in the target cluster node group, the order in which cloud phones are allocated to each cloud server in the target cluster node group can be determined based on the target resource information. For example, the order in which cloud phones are allocated to each cloud server in the target cluster node group can be determined based on the rule that the more complete the target resource information, the higher the priority.

[0062] Step S105: Allocate cloud phones to each cloud server in the target cluster node group in sequence.

[0063] In practical applications, after determining the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information, cloud phones can be allocated to each cloud server in the target cluster node group in that order.

[0064] It should be noted that this application utilizes the concepts of cluster nodes and node groups in a cloud phone cluster. First, a relatively simple algorithm is used for preliminary screening, narrowing down the cloud server nodes that will process cloud phone applications from the entire cluster to cluster node groups. Multiple cluster node groups within the cluster are scored based on their hardware resources to initially determine the target cluster node group for allocating cloud phones. Then, within the target cluster node group, suitable specific cloud server nodes that can be allocated cloud phones are further screened. Similarly, the priority of each cloud server in the target cluster node group for allocating cloud phones needs to be determined based on the resource information of each cloud server, thus enabling rapid allocation of cloud phones within the cloud phone cluster.

[0065] This application provides a cloud phone allocation method, which involves obtaining the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers; selecting a target cluster node group based on the resource utilization rate; obtaining the target resource information of each cloud server in the target cluster node group; determining the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information; and allocating cloud phones to each cloud server in the target cluster node group according to this order. This application can first reasonably select the target cluster node group based on the resource utilization rate of the cluster node group, then reasonably determine the order in which cloud phones are allocated to each cloud server based on the target resource information of each cloud server in the target cluster node group, and finally reasonably allocate cloud phones to each server according to this order, thus achieving reasonable cloud phone allocation based on the corresponding resource information of the cluster node group and the cloud servers.

[0066] Please see Figure 2 , Figure 2 This is a second flowchart of a cloud phone allocation method provided in an embodiment of this application.

[0067] This application provides a cloud phone allocation method, which may include the following steps:

[0068] Step S201: Obtain the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers.

[0069] Step S202: Select the target cluster node group from the cluster node group based on resource utilization.

[0070] Step S203: Obtain the target resource information of each cloud server in the target cluster node group.

[0071] Step S204: Input the target resource information into the pre-trained neural network model.

[0072] Step S205: The order in which the outputs of the neural network model are received.

[0073] In practical applications, when determining the order in which cloud phones are allocated to each cloud server in a target cluster node group based on target resource information, since the target cluster node group contains multiple cloud servers, it is necessary to select a target cloud server for cloud phone allocation. Unlike the step of obtaining the target cluster node group, this step requires obtaining a specific cloud server for cloud phone allocation. Therefore, a simple comparison using physical resource values ​​is insufficient; a more complex algorithm is needed to obtain more accurate results, resulting in a more balanced load across the cluster nodes. Considering that the collected data is two-dimensional data composed of multiple hosts and various resource variables, and that the internal patterns of the data are difficult to explore, this step introduces a neural network model, such as a deep learning convolutional neural network (CNN), to intelligently analyze the resources of all nodes in the target cluster node group, yielding more accurate results. In other words, the target resource information can be input into a pre-trained neural network model; the order in which the neural network model outputs is received is also considered.

[0074] In practical applications, when inputting target resource information into a pre-trained neural network model, considering that the sample data includes four parts of resource data—CPU resource data, memory resource data, GPU resource data, and disk resource data of the physical host—different resource data have different dimensions, which can affect the model training effect. To eliminate this influence, the target resource information can be normalized, for example, by performing deviation standardization to map the target resource information to the [0, 1] interval, thus obtaining normalized data. The normalized data is then input into the pre-trained neural network model so that the neural network model can quickly process the target resource information.

[0075] In practical applications, before inputting the target resource information into the pre-trained neural network model, training resource information and cloud phone allocation information of cloud servers with different performance in various scenarios can be obtained. Based on the training resource information and cloud phone allocation information, the initial neural network model is trained to obtain the trained neural network model. The neural network model includes a weight extraction module that extracts and weights the resource information, and a scene recognition module that determines the confidence level of each cloud server based on the weighting result of the weight extraction module. The higher the confidence level, the earlier the cloud server is allocated a cloud phone.

[0076] In specific application scenarios, during the process of acquiring training resource information and cloud phone allocation information of cloud servers with different performance in various scenarios, several sample data, i.e. training resource information, can be collected for each of the N different scenarios that are most prioritized for allocation to each physical host, i.e., for cloud phone allocation information in the N scenarios. Each sample data includes CPU resource data, memory resource data, GPU resource data, and disk resource data of each physical host at a certain moment. Then, each sample is labeled with the corresponding scenario category. The label of each sample data is mapped to a one-hot vector as a label vector. Each label vector contains N elements, and each element represents whether the sample data is a positive or negative sample of a certain scenario. For ease of understanding, assume there are four physical hosts, A, B, C, and D, which are also four cloud servers. There are four scenarios: priority allocation to A, priority allocation to B, priority allocation to C, and priority allocation to D. Sample data is collected for each of these four scenarios. For a given sample data, if it was collected in the scenario with the highest priority allocation to A, then this sample sequence is labeled "priority allocation to A", and the mapped label vector is (1,0,0,0). Similarly, data collected from the scenarios with priority allocation to B, priority allocation to C, and priority allocation to D are labeled "priority allocation to B", "priority allocation to C", and "priority allocation to D", respectively, and the mapped label vectors are (0,1,0,0), (0,0,1,0), (0,0,0,1), etc.

[0077] In specific application scenarios, during the process of training the initial neural network model based on training resource information and cloud phone allocation information to obtain a trained neural network model, the training resource information can be normalized first, and then the initial neural network model can be trained based on the normalized training resource information and cloud phone allocation information to obtain a trained neural network model.

[0078] It should be noted that, considering the varying importance of different resource data on physical hosts during the allocation process, a convolutional neural network comprising a weight extraction module and a scene recognition module is proposed as the main structure of the model. The weight extraction module obtains weight data, which is then used to weight the sample data before inputting it into the scene recognition module. During model training, the weight extraction module can include several convolutional layers and pooling layers, with a global average pooling layer and a fully connected layer following each convolutional layer. The module input is normalized sample data, an n×m matrix, where n is the number of physical hosts to be allocated, and m is the total dimension of all resource data. The outputs of the global average pooling layer and the fully connected layer are both n-dimensional vectors. After the weight extraction module is trained, the weight parameters (n-dimensional) between the global average pooling layer and the fully connected layer are obtained. The output (n-dimensional) of the global average pooling layer is then weighted and summed, and resampled to obtain an n×m matrix with the same dimension as the original input data, which is the weight data. The scene recognition module consists of convolutional layers, pooling layers, etc. It uses the previously obtained weight data (n×m dimensions) to weight the normalized sample data (n×m dimensions), which is then used as the input to the scene recognition module. The final output layer is an n-dimensional vector, where each element corresponds to the confidence level most prioritized for allocation to each physical host, and the sum is 1. Correspondingly, the normalized target resource information is input into the weight extraction module of the trained model to obtain the weight data for that sample. The weight data is then used to weight the normalized sample data, and input into the scene recognition module. Each confidence level in the resulting output vector corresponds to a score for each physical host; the higher the confidence level, the higher the score, and the higher the priority for allocation. In other words, the neural network model in this application includes a weight extraction module that extracts and weights resource information, and a scene recognition module that determines the confidence level of each cloud server based on the weighting result of the weight extraction module. The higher the confidence level, the higher the priority for allocating cloud phones to the corresponding cloud server.

[0079] Step S206: Allocate cloud phones to each cloud server in the target cluster node group in sequence.

[0080] In practical applications, when allocating cloud phones to each cloud server in the target cluster node group in a sequential order, the first number of cloud servers in the target cluster node group can be selected as the cloud servers to be allocated. For each cloud server to be allocated, the data weight value of the normalized data of the cloud server to be allocated relative to the normalized data of all cloud servers to be allocated is calculated. The product value of the data weight value, the normalized data, and the number of pre-allocated cloud phones is calculated. Based on the product value, the number of cloud phones to be allocated to the cloud server is determined, and cloud phones are allocated to the cloud servers to be allocated according to the number of cloud phones.

[0081] Specifically, for ease of understanding, let's assume we obtain the normalized data of the top 50% of cloud servers in the target cluster node group. Then, we determine the number of cloud phones needed to be allocated to each of the top 50% of cloud servers using the normalized data. This is done by dividing the normalized data of each of the top 50% of cloud servers by the sum of the normalized data of the top 50% of cloud servers to obtain the allocation weight 'y'. Multiplying 'y' by the number of cloud phones needed gives the number of cloud phones needed for the current cloud server. For example, if the normalized data of the top-ranked cloud server is 10%, and it needs 100 cloud phones, then the number of cloud phones needed for this cloud server is y * 10% * 100. Note that if the result is a decimal, you can directly take the smallest integer greater than the decimal. For example, if the result is 0.1, you can directly take 1, and so on. Subsequently, we allocate the corresponding cloud phones to each physical host sequentially.

[0082] In practical applications, waiting until the user sends a cloud phone request command, then proceeding through the previous steps to obtain the target cluster node group, and finally allocating cloud phones from various cloud servers within the target cluster node group, leads to low efficiency in cloud phone allocation and long waiting times for users. To address this issue, this application solves the problem by adding a cloud phone resource pool. Typically, cloud phone services offer several fixed cloud phone specifications for users to choose from, such as cloud phones with CPU (2 cores), memory (4GB), and storage (10GB), or cloud phones with CPU (4 cores), memory (12GB), and storage (32GB). This application's solution, after obtaining the ranking of cloud servers available for cloud phone allocation, pre-allocates cloud phones of fixed specifications to the top 50% of cloud servers with different priorities, and places these pre-allocated cloud phones into a cloud phone resource pool. When a user requests a cloud phone, the solution can find a matching cloud phone from the resource pool and directly allocate it to the user, thereby improving the allocation efficiency and avoiding user waiting. In other words, after allocating cloud phones to the cloud servers to be allocated according to the number of cloud phones, the cloud phone information in each cloud server to be allocated can be recorded in the cloud phone resource pool; if a cloud phone request is received, the corresponding cloud phone is allocated based on the cloud phone resource pool.

[0083] In specific application scenarios, when allocating cloud phones using a cloud phone resource pool, it's crucial to first determine if the number of phones in the resource pool exceeds the preset number. That is, based on the cloud phone's workload and the scale of the cloud phone cluster, it's possible to pre-allocate N cloud phones. First, check if the number of cloud phones in the resource pool is greater than or equal to N. If so, no new cloud phones are pre-allocated, and the program terminates. If less than N, determine the number of cloud phones to be pre-allocated. Then, based on the order of priority, the first number of cloud servers ranked first in the target cluster node group can be selected as the cloud servers to be allocated. For each cloud server to be allocated, the system calculates the data weight of the normalized data of the cloud server to be allocated relative to the normalized data of all other cloud servers. It then calculates the product of this data weight, the normalized data, and the pre-allocated number of cloud phones. Based on this product, it determines the number of cloud phones required for each cloud server. Next, it iterates through all cloud servers, allocating the corresponding number of cloud phones. Before allocating cloud phones to each cloud server, it first checks if the server's hardware resources are sufficient. If not, it directly loops to the next cloud server for allocation, until all cloud servers have been cycled through. Finally, after all cloud servers have been cycled through once, it checks the number of cloud phones in the cloud phone resource pool again. If it is greater than or equal to the pre-set N, the process ends directly. If it is less than N, it indicates that the hardware resources of the top 50% of cloud servers cannot meet the preset number of cloud phones, and the remaining cloud phones are allocated to the bottom 50% of cloud servers, until all allocations are completed.

[0084] Please see Figure 3 , Figure 3 This is a schematic diagram of the structure of a cloud phone allocation system provided in an embodiment of this application.

[0085] This application provides a cloud phone allocation system, including:

[0086] The first acquisition module 101 is used to acquire the resource utilization rate of each cluster node group, and each cluster node group consists of a corresponding number of cloud servers.

[0087] The first selection module 102 is used to select a target cluster node group from the cluster node group based on resource utilization.

[0088] The second acquisition module 103 is used to acquire target resource information of each cloud server in the target cluster node group;

[0089] The first determining module 104 is used to determine the order in which cloud phones are allocated to each cloud server in the target cluster node group based on the target resource information.

[0090] The first allocation module 105 is used to allocate cloud phones to each cloud server in the target cluster node group in sequence.

[0091] This application provides a cloud phone allocation system, wherein the first determining module may include:

[0092] The first input unit is used to input the target resource information into the pre-trained neural network model;

[0093] The first receiving unit is used to receive the outputs of the neural network model in the correct order.

[0094] The cloud phone allocation system provided in this application embodiment has a first input unit that can be specifically used to: normalize target resource information to obtain normalized data; and input the normalized data into a pre-trained neural network model.

[0095] The cloud phone allocation system provided in this application embodiment may further include:

[0096] The third acquisition module is used to acquire training resource information of cloud servers with different performance in various scenarios and cloud phone allocation information before the first input unit inputs the target resource information into the pre-trained neural network model.

[0097] The first training module is used to train the initial neural network model based on training resource information and cloud phone allocation information to obtain a trained neural network model.

[0098] The neural network model includes a weight extraction module that extracts and weights resource information, and a scene recognition module that determines the confidence level of each cloud server based on the weighting result of the weight extraction module. The higher the confidence level, the earlier the cloud server is allocated to the cloud phone.

[0099] This application provides a cloud phone allocation system, wherein the first allocation module may include:

[0100] The first acquisition unit is used to acquire the first number of cloud servers that are ranked first in the target cluster node group as cloud servers to be allocated, based on the order of priority.

[0101] The first allocation unit is used to calculate the data weight value of the normalized data of each cloud server to be allocated relative to the normalized data of all cloud servers to be allocated, calculate the product value of the data weight value, the normalized data and the number of pre-allocated cloud phones, determine the number of cloud phones to be allocated to the cloud server based on the product value, and allocate cloud phones to the cloud server to be allocated according to the number of cloud phones.

[0102] The cloud phone allocation system provided in this application embodiment may further include:

[0103] The first recording module is used to record the cloud phone information in the cloud phone resource pool after the first allocation module allocates cloud phones to the cloud servers to be allocated according to the number of cloud phones.

[0104] The second allocation module is used to allocate the corresponding cloud phone based on the cloud phone resource pool if a cloud phone request information is received.

[0105] This application provides a cloud phone allocation system, wherein the second acquisition module can acquire:

[0106] The second acquisition unit is used to acquire resource information of each cloud server in the target cluster node group. The resource information includes CPU resource data, memory resource data, GPU resource data, and disk resource data.

[0107] This application also provides a cloud phone allocation device and a computer-readable storage medium, both of which have the corresponding effects of the cloud phone allocation method provided in the embodiments of this application. Please refer to... Figure 4 , Figure 4 This is a schematic diagram of the structure of a cloud mobile phone distribution device provided in an embodiment of this application.

[0108] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program, and the processor 202 executes the computer program to perform the following steps:

[0109] Obtain the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers;

[0110] Select the target cluster node group from the cluster node group based on resource utilization;

[0111] Obtain target resource information for each cloud server in the target cluster node group;

[0112] Based on the target resource information, determine the order in which cloud phones are allocated to each cloud server in the target cluster node group;

[0113] Cloud phones are allocated to each cloud server in the target cluster node group in sequence.

[0114] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program, and when the processor 202 executes the computer program, it performs the following steps: inputting target resource information into a pre-trained neural network model; and receiving the outputs of the neural network model in the order they appear.

[0115] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program, and when the processor 202 executes the computer program, it performs the following steps: normalizing the target resource information to obtain normalized data; and inputting the normalized data into a pre-trained neural network model.

[0116] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program. When the processor 202 executes the computer program, it performs the following steps: before inputting target resource information into a pre-trained neural network model, it obtains training resource information and cloud phone allocation information of cloud servers with different performance in various scenarios; it trains the initial neural network model based on the training resource information and cloud phone allocation information to obtain a trained neural network model; wherein, the neural network model includes a weight extraction module for extracting and weighting the resource information, and a scene recognition module for determining the confidence level of each cloud server based on the weighting result of the weight extraction module, and the higher the confidence level, the earlier the cloud phone is allocated to the corresponding cloud server.

[0117] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program. When the processor 202 executes the computer program, it performs the following steps: Based on the order, it obtains the first number of cloud servers ranked first in the target cluster node group as cloud servers to be allocated; for each cloud server to be allocated, it calculates the data weight value of the normalized data of the cloud server to be allocated relative to the normalized data of all cloud servers to be allocated, calculates the product value of the data weight value, the normalized data, and the number of pre-allocated cloud phones, determines the number of cloud phones to be allocated to the cloud server to be allocated based on the product value, and allocates cloud phones to the cloud server to be allocated according to the number of cloud phones.

[0118] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program, and the processor 202 executes the computer program to perform the following steps: after allocating cloud phones to the cloud servers to be allocated according to the number of cloud phones, the cloud phone information in each cloud server to be allocated is recorded in the cloud phone resource pool; if a cloud phone request information is received, the corresponding cloud phone is allocated based on the cloud phone resource pool.

[0119] This application provides a cloud phone allocation device, including a memory 201 and a processor 202. The memory 201 stores a computer program. When the processor 202 executes the computer program, it performs the following steps: obtaining resource information of each cloud server in the target cluster node group, including CPU resource data, memory resource data, GPU resource data, and disk resource data.

[0120] Please see Figure 5 Another cloud phone distribution device provided in this application embodiment may further include: an input port 203 connected to the processor 202 for transmitting commands input from the outside to the processor 202; a display unit 204 connected to the processor 202 for displaying the processing results of the processor 202 to the outside; and a communication module 205 connected to the processor 202 for enabling communication between the cloud phone distribution device and the outside. The display unit 204 may be a display panel, a laser scanner, or the like; the communication methods used by the communication module 205 include, but are not limited to, Mobile High Definition Link (HML), Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), wireless connectivity: Wi-Fi, Bluetooth, Bluetooth Low Energy, and IEEE 802.11s-based communication technologies.

[0121] This application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the following steps:

[0122] Obtain the resource utilization rate of each cluster node group, where each cluster node group consists of a corresponding number of cloud servers;

[0123] Select the target cluster node group from the cluster node group based on resource utilization;

[0124] Obtain target resource information for each cloud server in the target cluster node group;

[0125] Based on the target resource information, determine the order in which cloud phones are allocated to each cloud server in the target cluster node group;

[0126] Cloud phones are allocated to each cloud server in the target cluster node group in sequence.

[0127] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: inputting target resource information into a pre-trained neural network model; and receiving the outputs of the neural network model in the order they appear.

[0128] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: normalizing target resource information to obtain normalized data; and inputting the normalized data into a pre-trained neural network model.

[0129] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: before inputting target resource information into a pre-trained neural network model, it obtains training resource information and cloud phone allocation information of cloud servers with different performance in various scenarios; it trains the initial neural network model based on the training resource information and cloud phone allocation information to obtain a trained neural network model; wherein, the neural network model includes a weight extraction module for extracting and weighting the resource information, and a scene recognition module for determining the confidence level of each cloud server based on the weighting result of the weight extraction module, and the higher the confidence level, the earlier the cloud server allocates cloud phones.

[0130] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: based on the order, obtain the first number of cloud servers ranked first in the target cluster node group as cloud servers to be allocated; for each cloud server to be allocated, calculate the data weight value of the normalized data of the cloud server to be allocated relative to the normalized data of all cloud servers to be allocated, calculate the product value of the data weight value, the normalized data, and the number of pre-allocated cloud phones, determine the number of cloud phones to be allocated to the cloud server to be allocated based on the product value, and allocate cloud phones to the cloud server to be allocated according to the number of cloud phones.

[0131] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: after allocating cloud phones to the cloud servers to be allocated according to the number of cloud phones, it records the cloud phone information in each cloud server to be allocated in a cloud phone resource pool; if a cloud phone request information is received, it allocates the corresponding cloud phone based on the cloud phone resource pool.

[0132] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: obtaining resource information of each cloud server in the target cluster node group, including CPU resource data, memory resource data, GPU resource data, and disk resource data.

[0133] The computer-readable storage media involved in this application include random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage media known in the art.

[0134] For descriptions of relevant parts of the cloud phone allocation system, device, and computer-readable storage medium provided in this application's embodiments, please refer to the detailed description of the corresponding parts in the cloud phone allocation method provided in this application's embodiments; they will not be repeated here. Furthermore, parts of the technical solutions provided in this application that are consistent with the implementation principles of corresponding technical solutions in the prior art have not been described in detail to avoid excessive elaboration.

[0135] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0136] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A cloud phone allocation method, characterized by, The method comprises the following steps: obtaining resource utilization of each cluster node group, each cluster node group being composed of a corresponding number of cloud servers; selecting a target cluster node group from the cluster node groups based on the resource utilization; obtaining target resource information of each cloud server in the target cluster node group; determining an order of each cloud server in the target cluster node group for allocating cloud mobile phones based on the target resource information; allocating cloud mobile phones to each cloud server in the target cluster node group according to the order; wherein the step of determining the order of each cloud server in the target cluster node group for allocating cloud mobile phones based on the target resource information comprises: inputting the target resource information into a pre-trained neural network model; receiving the order output by the neural network model; wherein the step of inputting the target resource information into the pre-trained neural network model further comprises: obtaining training resource information and cloud mobile phone allocation information of cloud servers with different performances in each scenario; training an initial neural network model built based on the training resource information and the cloud mobile phone allocation information to obtain a trained neural network model; wherein the neural network model comprises a weight extraction module for extracting and weighting resource information, and a scenario recognition module for determining the confidence of each cloud server based on the weighting result of the weight extraction module, and the higher the confidence, the higher the order of the corresponding cloud server for allocating cloud mobile phones; wherein the step of allocating cloud mobile phones to each cloud server in the target cluster node group according to the order comprises: based on the order, obtaining a first number of cloud servers in the target cluster node group as to-be-allocated cloud servers; for each to-be-allocated cloud server, calculating a data weight value of normalized data of the to-be-allocated cloud server in all to-be-allocated cloud servers, calculating a product value of the data weight value, the normalized data and a pre-allocated cloud mobile phone number, determining a required number of cloud mobile phones to be allocated to the to-be-allocated cloud server based on the product value, and allocating cloud mobile phones to the to-be-allocated cloud server according to the number of cloud mobile phones.

2. The method of claim 1, wherein, The step of inputting the target resource information into the pre-trained neural network model comprises: normalizing the target resource information to obtain normalized data; inputting the normalized data into the pre-trained neural network model.

3. The method of claim 2, wherein, After the step of allocating cloud mobile phones to the to-be-allocated cloud server according to the number of cloud mobile phones, the method further comprises: recording cloud mobile phone information of each to-be-allocated cloud server in a cloud mobile phone resource pool; if receiving cloud mobile phone request information, allocating corresponding cloud mobile phones based on the cloud mobile phone resource pool.

4. The method according to any one of claims 1 to 3, characterized in that, The step of obtaining resource information of each cloud server in the target cluster node group comprises: Obtaining the resource information of each cloud server in the target cluster node group, the resource information including CPU resource data, memory resource data, GPU resource data, and disk resource data.

5. A cloud phone allocation system, characterized by, The method comprises: A first obtaining module is configured to obtain resource utilization of each cluster node group, each cluster node group being composed of a corresponding number of cloud servers; A first selecting module is configured to select a target cluster node group from the cluster node groups based on the resource utilization; A second obtaining module is configured to obtain target resource information of each cloud server in the target cluster node group; A first determining module is configured to determine an order of allocation of cloud mobile phones to each cloud server in the target cluster node group based on the target resource information; A first allocation module is configured to allocate cloud mobile phones to each cloud server in the target cluster node group according to the order. The first determining module comprises: A first input unit is configured to input the target resource information to a pre-trained neural network model; A first receiving unit is configured to receive the order output by the neural network model; The method further comprises: A third obtaining module is configured to obtain training resource information and cloud mobile phone allocation information of cloud servers with different performances in each scenario before the first input unit inputs the target resource information to the pre-trained neural network model; A first training module is configured to train an initial neural network model built based on the training resource information and the cloud mobile phone allocation information to obtain a trained neural network model; The neural network model comprises a weight extraction module configured to extract and weight resource information, and a scenario recognition module configured to determine a confidence level of each cloud server based on a weighting result of the weight extraction module, and the higher the confidence level, the higher the order of allocation of cloud mobile phones to the corresponding cloud server; The first allocation module comprises: A first obtaining unit is configured to obtain a first number of cloud servers in the target cluster node group as to-be-allocated cloud servers based on the order; A first allocation unit is configured to calculate a data weight value of normalized data of each to-be-allocated cloud server with respect to all the to-be-allocated cloud servers, calculate a product value of the data weight value, the normalized data, and a pre-allocated cloud mobile phone number, determine a number of cloud mobile phones required to be allocated to the to-be-allocated cloud server based on the product value, and allocate cloud mobile phones to the to-be-allocated cloud server according to the number of cloud mobile phones.

6. A cloud phone allocation apparatus, characterized by, The method comprises: A memory is configured to store a computer program; A processor is configured to implement the steps of the cloud mobile phone allocation method according to any one of claims 1 to 4 when executing the computer program.

7. A computer readable storage medium characterized in that, The computer program is stored in the computer readable storage medium, and the computer program is executed by the processor to implement the steps of the cloud mobile phone allocation method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Multi-cluster server dynamic allocation method and multi-cluster server dynamic allocation system

    CN109451056A

  • Node cluster management method and device, equipment and storage medium

    CN112799789A