Method, electronic device and computer readable storage medium for implementing a cloud phone

By categorizing users based on their application usage and sharing server resources, the problem of low resource utilization in virtualized operating systems in cloud phones is solved, achieving efficient dynamic scheduling and flexible allocation of resources.

CN119697179BActive Publication Date: 2026-01-23CHINA MOBILE INTERNET CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411647739.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2026-01-23
Estimated Expiration
2044-11-18

AI Technical Summary

Technical Problem

In existing technologies, cloud phone virtualization operating systems have low resource utilization and inflexible resource allocation, leading to resource waste and increased costs.

Method used

By acquiring the application usage data of target users, the target category is determined, and resources of the target server node are shared based on the category, enabling dynamic scheduling and optimized allocation of resources.

Benefits of technology

It improves resource utilization, reduces resource scheduling costs, enhances resource scheduling flexibility, and solves the problem of low resource utilization in virtualized operating systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697179B_ABST
    Figure CN119697179B_ABST
Patent Text Reader

Abstract

The application discloses a method, an electronic device and a computer readable storage medium for realizing a cloud mobile phone, and belongs to the Internet field. The method comprises the following steps: acquiring application program usage of a target user; determining a target category of the target user based on the application program usage of the target user; determining a target server node based on the target category; providing a cloud mobile phone service function to the target user based on the target server node; wherein all users in the target category share resources provided by the target server node. The method is used for realizing a cloud mobile phone, and solves the problem of low resource utilization rate of a virtualization operating system resource in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of Internet, and particularly relates to a method for implementing a cloud mobile phone, an electronic device and a computer readable storage medium. BACKGROUND

[0002] A cloud mobile phone is a cloud mobile phone based on virtualization technology. Various application programs in the cloud mobile phone run in the cloud. By using a cloud mobile phone service, consumption of local resources of a physical mobile phone can be greatly reduced. At present, application scenarios of the cloud mobile phone are increasingly rich, such as game, office, education, video, live broadcast and the like. How to effectively utilize virtualization operating system resources is also very important for implementing the cloud mobile phone.

[0003] Related technologies usually allocate a set of independent virtualization operating systems for each user using a cloud mobile phone service. In this way, resources used by each user when running the cloud mobile phone are fixed, and there is a problem of low resource utilization rate of virtualization operating system resources. SUMMARY

[0004] Embodiments of the present application provide a method for implementing a cloud mobile phone, an electronic device and a computer readable storage medium, which can solve the problem of low resource utilization rate of virtualization operating system resources in related technologies.

[0005] In a first aspect, embodiments of the present application provide a method for implementing a cloud mobile phone, which comprises:

[0006] obtaining application program usage of a target user;

[0007] determining a target category of the target user based on the application program usage of the target user;

[0008] determining a target server node based on the target category;

[0009] providing a cloud mobile phone service function to the target user based on the target server node;

[0010] wherein all users in the target category share resources provided by the target server node.

[0011] In a second aspect, embodiments of the present application provide an electronic device, which comprises a processor and a memory. The memory stores programs or instructions that can be run on the processor. When the programs or instructions are executed by the processor, the steps of the method according to the first aspect are implemented.

[0012] In a third aspect, embodiments of the present application provide a computer readable storage medium, which stores programs or instructions. When the programs or instructions are executed, the steps of the method according to the first aspect are implemented.

[0013] In a fourth aspect, an embodiment of the present application provides a computer program product, which comprises a computer program, and the computer program implements the steps of the method according to the first aspect when executed by a processor.

[0014] The above at least one technical solution provided by the embodiments of the present application can achieve the following technical effects:

[0015] In the embodiments of the present application, the application program usage of a target user is acquired; based on the application program usage of the target user, a target category of the target user is determined; based on the target category, a target server node is determined; based on the target server node, a cloud mobile phone service function is provided to the target user; wherein all users in the target category share resources provided by the target server node. In this way, the target category of the target user can be determined according to the application program usage of the target user, and the cloud mobile phone service function is provided to the target user based on the target category. Since the users in the target category share the resources provided by the target server node, compared with the fixed resources used by each user when running a cloud mobile phone in the related art, this resource sharing manner can greatly improve the utilization rate of resources, and improve the flexibility of resource scheduling, thereby solving the problem of low resource utilization rate of virtualization operating system resources in the related art. BRIEF DESCRIPTION OF DRAWINGS

[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0017] Figure 1 is a flowchart of a method for implementing a cloud mobile phone provided by an embodiment of the present application;

[0018] Figure 2 is a flowchart of another method for implementing a cloud mobile phone provided by an embodiment of the present application;

[0019] Figure 3 is a schematic diagram of a target classification model provided by an embodiment of the present application;

[0020] Figure 4 is a flowchart of another method for implementing a cloud mobile phone provided by an embodiment of the present application;

[0021] Figure 5 is a specific flowchart of a method for implementing a cloud mobile phone provided by an embodiment of the present application;

[0022] Figure 6 is a structural block diagram of an apparatus for implementing a cloud phone provided by an embodiment of the present application.

[0023] Figure 7 is a structural block diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0024] The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of them. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0025] The terms "first", "second", and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally a category and do not limit the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / ", generally indicates that the front and rear associated objects are in a "or" relationship.

[0026] Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0027] The method for implementing a cloud phone provided by the embodiments of the present application is applied to the case of cloud phone business, and in particular, can be applied to allocating a target server node for providing cloud phone service functions to a target user. Specifically, by obtaining the application usage of the target user, the target category of the target user is determined, and the target server node for providing cloud phone service functions to the target user is determined based on the target category. Wherein, all users in the target category share the resources provided by the target server node.

[0028] The method for implementing a cloud phone provided in this application can be executed by a target device, which can be a single electronic device or multiple electronic devices. That is, the method for implementing a cloud phone provided in this application can be executed by a single electronic device, which can be a server, such as a standalone physical server, a server cluster consisting of multiple servers, or a cloud server capable of cloud computing. When the method for implementing a cloud phone provided in this application is executed by multiple electronic devices, these multiple electronic devices can form a service cluster, and they cooperate to complete each step.

[0029] The method for implementing a cloud phone provided in this application will be described in detail below with reference to the accompanying drawings, through specific embodiments and application scenarios.

[0030] Please see Figure 1 , Figure 1 This is a flowchart illustrating a method for implementing a cloud phone according to an embodiment of this application. Figure 1 As shown, the method includes the following steps:

[0031] Step 110: Obtain the target user's application usage information.

[0032] In this embodiment, the target user can be an existing user, i.e., a user who has used cloud phone services before, or a new user, i.e., a user experiencing cloud phone services for the first time. For existing users, since there is historical data on their use of cloud phone services, the application usage data can be the historical data of applications run by existing users through cloud phones. For new users, since they have not used cloud phones before, the application usage data can be the historical data of applications used on the target user's physical terminal device, which is the terminal device (e.g., a mobile phone) used by the target user to experience cloud phone services.

[0033] The application usage data may include the application's identifier (ID), application type, and average usage duration. This data is relatively easy to collect in cloud phone services. The application usage data is obtained with the target user's authorization. For example, for a new user, the target user's application usage data can be queried from the physical terminal device's system with the user's authorization, thus achieving consistency between online and offline data.

[0034] Step 120: Determine the target category of the target user based on the application usage of the target user.

[0035] In the embodiments of the present application, the cloud mobile phone service is mostly a paid service, and users realize virtual mobile phones (cloud mobile phones) by purchasing resources (such as CPU cores, memories, storages, etc.) in the cloud. For users who purchase different cloud mobile phone service packages, the cloud mobile phone services (such as bandwidth, the number of cloud mobile phones in a single machine, the load of a single machine, operation and maintenance, customer service, etc.) provided are also different. Therefore, users using the same or similar cloud mobile phone services can be divided into a category, so that users in the category use the same level of cloud mobile phone services to ensure user experience.

[0036] The potential consumption capacity of the target user can be mined through the application usage of the target user, and users with similar consumption capacity can be divided into a category as much as possible, and the same level or similar level of cloud mobile phone services is used. Specifically, through the application usage of the target user, users using the same or similar application can be divided into a category, and users in the category usually have similar consumption capacity. In order to ensure the accuracy of classification, the historical consumption record of the target user can be obtained, and the target category of the target user is determined according to the historical consumption record and the mined potential consumption capacity. The historical consumption record includes not only the historical purchase record of the cloud mobile phone service package, but also the historical consumption record of other application programs, and the historical consumption record is obtained under the authorization of the user.

[0037] For example, users who purchase the cloud mobile phone service package "8 cores / 8G / 128G" are divided into a category as much as possible, and users who purchase the cloud mobile phone service package "4 cores / 4G / 64G" and may upgrade to the cloud mobile phone service package "8 cores / 8G / 128G" are also divided into the category. At the same time, cloud mobile phone new users who consume many application programs are also divided into the category.

[0038] In fact, since the classification of the target category is related to the consumption capacity of the user, more index data and features related to the consumption capacity can be obtained in the process of classifying the user, such as the historical purchase of the cloud mobile phone service package and the consumption record of the application program. However, considering that for cloud mobile phone new users, the application program basically has no port to export this part of data, these data are difficult to obtain, and the cold start problem exists and is difficult to solve. Therefore, in order to avoid this situation, the application usage of the target user can be obtained, and such data are not only easy to obtain, but also easy to unify for both stock users and new users.

[0039] Step 130: determining a target server node based on the target category.

[0040] In the embodiments of the present application, the target server node is used to provide resources for running cloud phone service to users belonging to the target category. In the process of determining the target server node, the target server node corresponding to the target category can be configured according to the cloud phone service packages purchased by the users in the target category.

[0041] Step 140: providing cloud phone service functions to the target user based on the target server node; wherein all users in the target category share the resources provided by the target server node.

[0042] In the embodiments of the present application, all users in the target category are allocated in the same target server node, and the virtualization operating system resources of the cloud phone are loaded in the host of the node. All users in the target category share the virtualization operating system resources of the cloud phone, the common basic services of the virtualization operating system resources use the resources provided by all users, and the performance of the virtualization operating system resources is maximized. For the fixed resources, if you want to improve the resource utilization, you need to make the resource scheduling flexible.

[0043] For example, the target user in the target category purchases a cloud phone service package "4 cores / 4G / 64G". In the case that the target user's usage resources are idle, 1 core / 1G can be shared to other users in the target category (at this time, the target user's available resources are 3 cores / 3G / 64G). In the case that the target user's usage resources are busy, 1 core / 1G shared by other users in the target category can be obtained (at this time, the target user's available resources are 5 cores / 5G / 64G). This resource expansion and contraction method is easy to implement on the same physical machine and has certain feasibility in business, which can realize the closed loop of user resources to avoid the cost of expanding servers.

[0044] However, it should be noted that this sharing should be limited. For example, a user who purchases a cloud phone service package "2 cores / 2G / 42G" can temporarily overdraft to 3 cores / 3G / 42G, but cannot temporarily overdraft to 8 cores / 8G / 42G. Because if the user who purchases a cloud phone service package "2 cores / 2G / 42G" enjoys similar services with the user who purchases a cloud phone service package "8 cores / 8G / 128G", it is not conducive to the promotion of cloud phone service packages.

[0045] Meanwhile, since the applications used by all users in the target category have a large number of overlapping applications, the target server node can generate a configuration file for all users in the target category for the overlapping applications. In the case that a user in the target category runs the application through the cloud phone, an instance of the application is started, and the configuration file is loaded into the instance to realize the running of the application. In addition, the behavior habits of users belonging to the same category are usually similar. That is, the applications installed by a user in the target category are also likely to be of interest to other users in the target category. Therefore, in the case that other users in the target category indicate to install the application, the application installation process does not need to be repeated, and the second opening of the application can be realized.

[0046] In an embodiment of the present application, the target server node includes a first server node and a second server node, the first server node is configured to run the applications commonly used by most users in the target category, and the second server node is configured to run the personalized applications of individual users in the target category.

[0047] In an embodiment of the present application, most users in the target category usually have common applications, and the common applications are usually popular applications. The common applications can be installed on the first server node. Meanwhile, the users in the target category can also use some personalized applications, and the personalized applications are usually less popular. The personalized applications can be installed on the second server node, and the second server node can include multiple server nodes for installing multiple personalized applications. That is, the applications used by users in the target category can be distributed and installed on multiple server nodes.

[0048] Specifically, the applications commonly used by users in the target category can be mined using a frequent set or the like, and the remaining applications can be determined as personalized applications. The applications commonly used by users in the target category can be installed in the first server node, and the remaining personalized applications can be distributed and installed according to categories (such as game category applications and video category applications, etc.). That is, the personalized applications can be installed on different server nodes according to application categories.

[0049] The virtualization operating system in the first server node and the virtualization operating system of the dedicated server establish a communication link, and the virtualization operating system in the first server node can act as a relay for relaying the application control operation instructions triggered by the user to the virtualization operating system of the second server node and obtaining the running results of the applications in the virtualization operating system of the second server node.

[0050] In this case, the second server node is used to install an application of a certain category, and the same virtualization operating system is implemented, and the application can also be opened in seconds, but this way will have a certain delay due to the transfer. The second server node can include multiple server nodes, and different servers can provide corresponding services for the corresponding category of applications, thereby improving the running efficiency of the application. For example, video applications occupy bandwidth more obviously, and some video applications can be installed on the same server, which can cache the video requested by the application locally to be reused by other applications, thereby reducing the occupation of bandwidth.

[0051] Among the applications used by the users in the target category, most of the applications run in the virtualization operating system in the same server node (the first server node), and the applications used by different users will always have some differences, and these difference applications run in the virtualization operating system in other server nodes (the second server node). That is, in most cases, two or more virtualization operating systems are maintained for the user's cloud mobile phone, and in this case, the virtualization operating system in the server node configured for the target category (the first server node) is the main one, and the virtualization operating system in the other server node (the second server node) is hidden, so that the user perceives that he is using one cloud mobile phone, and does not feel that he is using two or more cloud mobile phones.

[0052] For example, the cloud mobile phone of the target user in the target category has application 1, application 2, and application 3, the first server node (node 1) configured in the target node starts cloud mobile phone A for the user, and application 1 and application 2 run in cloud mobile phone A; in another independent second server node (node 2), cloud mobile phone B is started for the user, and application 3 runs in cloud mobile phone B, and cloud mobile phone B transmits the data of running application 3 to cloud mobile phone A, so as to simulate running application 3 in cloud mobile phone A.

[0053] In this way, a server (the second server node) is specially configured to run a relatively small application, mainly considering the running efficiency of the application. For example, some users in different categories play the same small game A, and the game A can be installed in a special server node, and if the game A needs to be upgraded, it only needs to be upgraded once in the special server node, without the need to upgrade multiple times in multiple server nodes. In the case where the user in different categories wants to run game A, game A has been installed and configured, and the user only needs to generate an instance when starting, which can exchange a small amount of delay for overall running efficiency, and can also reduce the overall cost.

[0054] In an embodiment of the present application, there are multiple specified users among all users in the target category, and the multiple specified users use the cloud phone service function at different times.

[0055] In an embodiment of the present application, in order to realize resource sharing among users in the same category, the time of using the cloud phone service function can be further mined in the process of user classification, so that the time of using the cloud phone service function of the users in the target category is as different as possible, and the users in the target category avoid being in the peak of using resources at the same time, and the meaning of resource sharing in this case is not great. For example, if all users in the target category belong to the idle time of using resources at 10 o'clock in the morning, all users can share 1 core / 1G, but the shared resources are not used by anyone, and if all users in the target category belong to the busy time of using resources at 8 o'clock in the evening, no user can share 1 core / 1G, and no user can borrow 1 core / 1G shared by other users.

[0056] At the same time, it is difficult to make the time of using the cloud phone service function of all users in the target category be different from each other. Therefore, as long as there are multiple specified users among all users in a category, and the multiple specified users use the cloud phone service function at different times, the category can be used as the target category.

[0057] It should be noted that it is difficult to completely balance the virtual operating system resources in this way, and in this case, the cloud phone service provider can additionally provide certain resources, and the part of resources can be used for resource allocation and balancing, and further activate the borrowing behavior of resources. At the same time, the cloud phone service provider can distribute some offline tasks to process under the condition of occupying certain resources, so as to improve the overall resource utilization.

[0058] In an embodiment of the present application, there is a certain complementarity in the time distribution of using the application program among the users in the target category, that is, the idle time of using resources and the busy time of using resources of different users in the target category are staggered, and in this way, the resource sharing of the users in the target category is facilitated.

[0059] In the embodiment of the present application, the application usage of the target user is acquired; the target category of the target user is determined based on the application usage of the target user; the target server node is determined based on the target category; the cloud mobile phone service function is provided to the target user based on the target server node; wherein all users in the target category share the resources provided by the target server node. In this way, the target category of the target user can be determined according to the application usage of the target user, and the cloud mobile phone service function is provided to the target user based on the target category. Since the users in the target category share the resources provided by the target server node, compared with the fixed resources used by each user when running the cloud mobile phone in the related art, the resource utilization rate can be greatly improved by this resource sharing mode, and the flexibility of resource scheduling is improved, and the problem of low resource utilization rate of virtualization operating system resources in the related art is solved.

[0060] Please refer to Figure 2 , Figure 2 is a flowchart of another method for implementing a cloud mobile phone provided by the embodiment of the present application. As shown in Figure 2 , the method comprises the following steps:

[0061] Step 210: acquiring the application usage of the target user.

[0062] Step 220: determining the first category of the target user based on the application usage of the target user.

[0063] In the embodiment of the present application, the target users in the first category usually have similar consumption habits and behavior habits, and the same or similar services can be provided to the users belonging to the first category.

[0064] Exemplarily, in one embodiment of the present application, the application usage of the target user comprises: the identification of the application, the type of the application, and the average use duration of the application. In step 220, the first category of the target user is determined based on the application usage of the target user, comprising: determining the behavior habit of the target user based on the identification of the application, the type of the application, and the average use duration of the application; determining the first category of the target user based on the behavior habit of the target user.

[0065] In the embodiment of the present application, in the process of determining the first category of the target user, the relationship between the behavior habit of the target user using the application and the service level is usually mined through the application usage of the target user. The behavior habit of the user using the application can reflect the interest preference and consumption ability of the user to some extent, and these can also be linked to the service level.

[0066] Users purchase different cloud phone service packages, which are usually used for different use scenarios. For example, for free users of cloud phone promotion, users who purchase cloud phone service package "2 cores / 2G / 42G", users who purchase cloud phone service package "4 cores / 4G / 64G" and users who purchase cloud phone service package "8 cores / 8G / 128G", the use scenarios of the purchased packages are different. Specifically, the cloud phone service package "8 cores / 8G / 128G" is usually used for large games, and the cloud phone service package "2 cores / 2G / 42G" is usually used for safe office and other scenarios with low performance requirements.

[0067] That is, the behavior habits of the target user can be determined according to the application program usage of the target user (the identity of the application program, the type of the application program, and the average use time of the application program), the purpose of the target user using the cloud phone service is clear, and then the target category to which the target user belongs is determined. For example, for users with long average time of large game application programs, these users usually have high requirements for the services provided by the cloud phone, and these users can be divided into a category.

[0068] Exemplarily, in an embodiment of the present application, the step 220 of determining the first category of the target user based on the application program usage of the target user includes: determining a target vector of the target user based on the application program usage of the target user; inputting the target vector into a target classification model to obtain the first category of the target user; the target classification model includes a backbone network and a detection head; wherein the backbone network is used to extract features of the target vector, and the detection head is used to predict the first category to which the target vector belongs.

[0069] In the embodiment of the present application, in the process of classifying the target user, the target classification model can also be used for classification, and the target classification model is a deep learning model. Before using the target classification model, the related data of the application program usage of the target user can be preprocessed to obtain a target vector of the target user. Specifically, the target vector includes a plurality of total vectors corresponding to a plurality of application programs used by the target user. For each application program used by the target user, the identity of the application program, the category of the application program and the average use time of the application program can be obtained, and the three indicators are spliced to obtain a total vector of the application program.

[0070] The target classification model can refer to Figure 3 , Figure 3 is a schematic diagram of a target classification model provided by an embodiment of the present application. As shown in Figure 3As shown, the target classification model includes a backbone network and a detection head. The backbone network is used to extract features of a target vector, and includes four repeated structures of "convolution layer + linear rectifier function, convolution layer + linear rectifier function, and average pooling layer". The detection head is used to predict a first category to which the target vector belongs, and includes three convolution layers, two fully connected layers, and an activation function.

[0071] By inputting the target vector of a target user into the target classification model, features of the target vector can be extracted by the backbone network to obtain a feature map of the target user, and an output of the detection head is the first category of the target user.

[0072] In an embodiment of the present application, the backbone network in the target classification model is trained in a first stage based on a self-supervised manner, and the detection head in the target classification model is trained in a second stage based on a supervised manner, wherein the second stage is after the first stage, and the trained backbone network is used to train the detection head in the second stage.

[0073] In an embodiment of the present application, the training stage of the target classification model can be divided into two stages, i.e., a first stage and a second stage. The first stage is used to train the backbone network in the target classification model, and the second stage is used to train the detection head in the target classification model. The first stage is before the second stage, and the trained backbone network in the first stage is used together with the detection head to be trained to complete the training of the detection head to be trained.

[0074] In an embodiment of the present application, the behavior data of the inventory users using the cloud phone can be collected as samples for training the target classification model. The training data of the target classification model can be roughly divided into two categories, one is a positive sample, and the other is a negative sample. The positive sample can be an application program that has been installed and used by the inventory user in the cloud phone in the past, and the negative sample can be an application program that has not been installed by the inventory user. By distinguishing the positive and negative samples, the error recognition rate in the subsequent network training process for different user classification tasks can be reduced, and the generalization ability of the network model can be improved. According to experience, the positive sample and the negative sample can be selected in a ratio of 1:4, and the learning effect of the target classification model is best when the samples are selected in this ratio.

[0075] In theory, in a large number of historical application programs, in addition to the positive samples, the application programs are negative samples, and the number of negative samples is large, which cannot be used for training. Therefore, the application programs that may show negative emotions of the inventory users can be selected as negative samples for training, including but not limited to, the application programs that have been installed and not started, the application programs that have been uninstalled (may be the application programs installed by mistake of the advertisement), and the application programs that have been recommended in each page of the cloud mobile phone but not downloaded and installed or clicked to close. If the number of negative samples obtained in this way is insufficient, the application categories that the inventory users may be interested in (such as network games, casual games, learning application programs, or navigation application programs) can be determined based on the basic attributes (such as age, gender, etc.) of the inventory users, and the application programs in the popular list of the application categories of interest can be randomly collected as negative samples for training.

[0076] The training data of the samples can include the identification of the application program, the category of the application program, and the average use duration of the application program. The average use duration of the positive sample is the use duration of the inventory user in the current cloud mobile phone, and the average use duration of the negative sample is the average use duration of the group user of the negative sample in the cloud mobile phone. For any sample, whether it is a positive sample or a negative sample, the training data of the sample can be converted into a sub-vector, that is, the identification, category, and average use duration of the application program are converted into sub-vectors, respectively, and then the sub-vectors are spliced to obtain the total vector of the sample. In this way, the total vectors of all samples can be obtained. At the same time, the classification results of these samples can be determined by manual marking as the true value in the training process.

[0077] For the first stage, since the feature map output by the backbone network will be repeatedly used in the subsequent process of dividing the second category, it is required that the feature map output by the backbone network is as neutral as possible to avoid the influence of the first category output by the detection head, causing overfitting. Therefore, the backbone network is first trained using a self-supervised method. In the process of training the backbone network using the self-supervised method, the backbone network can be used as an encoder, and a decoder is additionally added for training. After the backbone network is trained, the decoder is discarded. That is, the decoder is only used for training the backbone network, and in the prediction process of the target classification model, the target classification model only includes the backbone network and the detection head.

[0078] The structure of the decoder is as follows Figure 3As shown, it can be a structure of eleven layers (a flip convolutional layer, a convolutional layer + batch normalization + a linear rectifier function, a max pooling layer, a flip convolutional layer, a convolutional layer + batch normalization + a linear rectifier function, a max pooling layer, a flip convolutional layer, a convolutional layer + batch normalization + a linear rectifier function, a max pooling layer, a flip convolutional layer, and a convolutional layer + batch normalization + a linear rectifier function). The connection between the encoder and the decoder is a skip-connection, which can fuse shallow features and deep features and improve the richness of the features extracted by the backbone network. In addition, Figure 3 The arrow shown in the middle represents a concatenation operation.

[0079] In the first stage, the total vector of the sample can be used for training, and the mean absolute error (MAE) can be used as the loss function of the first stage training. Specifically, the MAE loss function is as follows:

[0080]

[0081] where MAE represents the MAE loss function value, N is the number of dimensions of the feature, i is a positive integer less than or equal to N, is the i-th dimension vector in the total vector of the sample input to the backbone network, is the i-th dimension vector of the output result of the decoder.

[0082] In the self-supervised training of the backbone network, the optimization method of the backbone network can use stochastic gradient descent (SGD), and the optimization goal is to reconstruct an output as similar as possible to the sample, so as to improve the quality of the features extracted by the backbone network as much as possible.

[0083] For the second stage, the trained backbone network and the to-be-trained detection head can be used together to perform supervised training on the to-be-trained detection head. In the training process of the second stage, the parameters in the backbone network are no longer changed, and only the parameters in the detection head are updated. In the process of supervised training, the optimization method of the detection head can use the SGD method, and the optimization goal is to make the distribution of the predicted classification as close as possible to the distribution of the true classification, so as to improve the accuracy of the classification of the detection head as much as possible. In the process of supervised training, the cross entropy (CS) can be used as the loss function of the training, which is specifically shown as follows:

[0084]

[0085] where CS is the cross entropy loss function value, J is the number of preset first categories, and j is a positive integer less than or equal to J. a probability that a real classification result of a sample belongs to the i-th category, a probability that a real classification result of a sample belongs to the i-th category, a probability that a real classification result of a sample does not belong to the i-th category, a probability that a real classification result of a sample belongs to the i-th category.

[0086] Step 230: determining a second category of the target user based on the first category, and determining the second category as a target category of the target user, wherein the second category is one of a plurality of sub-categories contained in the first category.

[0087] In the embodiments of the present application, after determining the first category of the target user through the target classification model, all users belonging to the first category can be further classified to obtain a plurality of sub-categories, and the second category of the target user is determined from the plurality of sub-categories, and the second category is determined as the target category of the target user. There are a plurality of specified users in all users in the second category, and the time when the plurality of specified users use the cloud phone service function is staggered.

[0088] That is, the target category of the target user can be determined through two classifications, the first classification of the target user is determined through the first classification, mainly to gather users enjoying the same or similar cloud phone service. The second category is obtained by subdividing the first category through the second classification, mainly to further stagger the time when the users in the target category use the virtualization operating system resources, and better realize resource sharing.

[0089] Step 240: determining a target server node based on the target category.

[0090] In an embodiment of the present application, the target server node includes a first server node and a second server node, the first server node is used to run an application program common to most users in the target category, and the second server node is used to run a personalized application program of an individual user in the target category.

[0091] Step 250: providing a cloud phone service function to the target user based on the target server node; wherein all users in the target category share resources provided by the target server node.

[0092] In the embodiments of the present application, through the way of twice classification, the users whose time of using virtualization operating system resources are staggered can be classified into a category on the basis of gathering users enjoying the same or similar cloud phone service, which can improve the efficiency of resource sharing and resource utilization rate on the premise of guaranteeing the user experience.

[0093] Please refer to Figure 4 , Figure 4 is another flowchart of a method for implementing a cloud phone according to an embodiment of the present application. As shown in Figure 4 , the method comprises the following steps:

[0094] Step 410: Obtain the application usage of a target user.

[0095] Step 420: Determine a target vector of the target user based on the application usage of the target user.

[0096] Step 430: Input the target vector into a target classification model to obtain a first category of the target user; the target classification model comprises a backbone network and a detection head; wherein the backbone network is used to extract features of the target vector, and the detection head is used to predict the first category to which the target vector belongs.

[0097] Step 440: Obtain N users belonging to the first category, wherein the N users include the target user, and N is a positive integer greater than 1.

[0098] Step 450: Obtain N feature maps of the N users, wherein the N feature maps are obtained based on feature extraction by the backbone network.

[0099] In the embodiment of the present application, for the N users in the first category, the N users are classified into one category by the target classification model based on the application usage of the N users. In the process of classification, the backbone network in the target classification model extracts features according to the application usage of the N users to obtain N feature maps of the N users, and the N feature maps output by the backbone network can be used for subsequent clustering.

[0100] Step 460: Cluster the N users based on the N feature maps using a K-means clustering algorithm to obtain K clustering results, wherein K is a positive integer less than or equal to N.

[0101] In the embodiments of the present application, the process of the K-means clustering algorithm is as follows: 1, determine the number K of clustering results, the K value can be selected according to experience. 2, initialize K clusters, the center points of the K clusters are randomly generated. 3, for any one of the N users, calculate the Euclidean distance from the user to the center points of the K clusters based on the feature map of the user, and divide the user into the cluster with the minimum Euclidean distance. 4, for any one of the K clusters, perform mean processing on the feature maps of all users belonging to the cluster to obtain a new center point of the cluster. 5, calculate the objective function value of clustering. 6, constantly iterate the process of 2-5, after A rounds of iteration (preset iteration stopping condition), select the K clusters (including center points) with the maximum objective function value as the final clustering results, and each cluster corresponds to a clustering result. At the same time, the mapping relationship between each cluster and the users belonging to the cluster can be recorded.

[0102] In an embodiment of the present application, the objective function of the K-means clustering algorithm includes a first part and a second part, the first part is used to discretize the time when each user belonging to the same clustering result uses the cloud phone service function, and the second part is used to constrain the application program usage of each user belonging to the same clustering result.

[0103] In the embodiments of the present application, the K-means clustering algorithm is improved, and the improvement is in the evaluation standard of convergence, that is, the objective function of clustering in the above step 5. In addition to the traditional convergence to the center of the cluster, a new constraint is added, which is mainly to make the resource (such as CPU, memory, etc.) usage at each time as dispersed as possible. That is, at the same time, in the same cluster, some people use less resources (can lend resources), and some people use more resources (need to borrow resources). In this way, it can make some people lend resources and some people use resources at the same time, so as to achieve resource balancing. On the contrary, if at the same time, in the same cluster, the resource usage of all people is simultaneously less or simultaneously more, it is difficult to achieve resource balancing, and the degree of dispersion is low.

[0104] In the embodiments of the present application, the classification criteria of the second category can be roughly divided into two criteria, the first criterion is that the application program usage in the cloud phone of the user in the second category is similar, which improves the efficiency of resource sharing; the second criterion is that the time when the user uses the virtualization operating system resource in the second category is staggered, which avoids multiple users being in the peak of using resources at the same time and being unable to share.

[0105] Based on this, the objective function of the K-means clustering algorithm can be designed to include two parts (a first part and a second part). The first part is used to make the time when each user belonging to the same clustering result uses the cloud phone service function discrete, that is, to make the time period when each user belonging to the same clustering result uses the cloud phone service function staggered with each other and dispersed in each time period of a day. This way saves resources because the same time is idle time for a user and busy time for another user. In this case, the resources available to the user in the idle time can be shared with the user in the busy time (especially overdraft beyond the upper limit of the purchased package). The second part is used to constrain the application usage of each user belonging to the same clustering result, so that users with similar application usage are classified into a category, thereby improving the efficiency of resource sharing.

[0106] Specifically, the objective function of the K-means clustering algorithm is as follows:

[0107] ;

[0108] wherein F is the value of the objective function, and are preset weight coefficients, K is the number of clustering results, m is the number of users in the kth clustering result, T is a preset time length (for example, 24 hours a day), is the standard deviation of the resource usage of all users in the kth clustering result at time point t, is the feature map of the i th user in the k th clustering result, is the feature map of the clustering center of the k th clustering result.

[0109] As shown in the above formula, the left part of the objective function is the first part, and the right part of the objective function is the second part.

[0110] Step 470: Based on the K clustering results, determine the second category of the target user, and determine the second category as the target category of the target user.

[0111] Step 480: Based on the target category, determine the target server node.

[0112] In an embodiment of the present application, the target server node includes a first server node and a second server node, the first server node is used to run the application program common to most users in the target category, and the second server node is used to run the personalized application program of individual users in the target category.

[0113] Step 490: providing a cloud mobile service function to the target user based on the target server node; wherein all users in the target category share resources provided by the target server node.

[0114] In the embodiments of the present application, for a new user of a cloud mobile phone, the application usage of an application program in an entity terminal device used by the new user to experience a cloud mobile service can be obtained, and the second category of the new user can be determined by the above steps 410-490. Since the classification this time can not be accurate, the first category and the second category of the new user can be re-divided after the new user accumulates behavior data of using the cloud mobile phone. At the same time, for the stock users, the stock users can also be re-classified regularly.

[0115] In the embodiments of the present application, the first category to which the target user belongs is obtained through a target classification model, and the second category under the first category can be determined through a K-means clustering algorithm. The two levels of categories not only guarantee the business requirements, but also improve the accuracy of classification.

[0116] Please refer to Figure 5 , Figure 5 is a specific flowchart of a method for implementing a cloud mobile phone provided by the embodiments of the present application. As Figure 5 shown, the method comprises the following steps:

[0117] Step 510: obtaining application program usage of a target user.

[0118] Step 520: determining a target vector of the target user based on the application program usage of the target user.

[0119] Step 530: inputting the target vector into a target classification model to obtain a first category of the target user; the target classification model comprises a backbone network and a detection head; wherein the backbone network is used to extract features of the target vector, and the detection head is used to predict the first category to which the target vector belongs.

[0120] In the embodiments of the present application, the application program usage of the target user comprises: an identifier of an application program, a type of the application program, and an average use duration of the application program. In addition to the method shown in steps 520-530, the first category can also be obtained by the following method: determining a behavior habit of the target user based on the identifier of the application program, the type of the application program, and the average use duration of the application program; and determining the first category of the target user based on the behavior habit of the target user.

[0121] The backbone network in the target classification model is obtained based on a self-supervised manner in a first stage, and the detection head in the target classification model is obtained based on a supervised manner in a second stage, wherein the second stage is after the first stage, and the obtained backbone network is used for training the detection head in the second stage.

[0122] Step 540: obtaining N users belonging to the first category, the N users including the target user, and N being a positive integer greater than 1.

[0123] Step 550: obtaining N feature maps of the N users, the N feature maps being obtained based on the backbone network.

[0124] Step 560: clustering the N users based on the N feature maps using a K-means clustering algorithm to obtain K clustering results, K being a positive integer less than or equal to N; an objective function of the K-means clustering algorithm including a first part and a second part, the first part being used to discretize the time when each user belonging to the same clustering result uses the cloud phone service function, and the second part being used to constrain the application usage of each user belonging to the same clustering result.

[0125] In the embodiment of the present application, the objective function of the K-means clustering algorithm is as follows:

[0126] ;

[0127] wherein F is the objective function value, and is a preset weight coefficient, K is the number of clustering results, m is the number of users in the kth clustering result, T is a preset time length, is the standard deviation of the resource usage of all users in the kth clustering result at time point t, is the feature map of the i th user in the k th clustering result, is the feature map of the clustering center of the k th clustering result.

[0128] Step 570: determining a second category of the target user based on the K clustering results, and determining the second category as a target category of the target user, there being a plurality of specified users in all users in the target category, the plurality of specified users using the cloud phone service function at different times.

[0129] Step 580: determining a target server node based on the target category.

[0130] Step 590: providing the cloud phone service function to the target user based on the target server node; wherein all users in the target category share resources provided by the target server node.

[0131] In the embodiments of the present application, the target server node comprises a first server node and a second server node, the first server node is configured to run application programs commonly used by most users in the target category, and the second server node is configured to run personalized application programs of individual users in the target category.

[0132] In the embodiments of the present application, the application program usage of the target user is obtained, the target category of the target user is determined based on the application program usage of the target user, the target server node is determined based on the target category, and the cloud phone service function is provided to the target user based on the target server node; wherein all users in the target category share resources provided by the target server node. In this way, the target category of the target user can be determined according to the application program usage of the target user, and the cloud phone service function is provided to the target user based on the target category. Since the users in the target category share the resources provided by the target server node, compared with the fixed resources used by each user when running the cloud phone in the related art, this resource sharing manner can greatly improve the utilization rate of resources and improve the flexibility of resource scheduling, thereby solving the problem of low resource utilization rate of the virtualization operating system in the related art.

[0133] It should be understood that, Figures 1 to 5 the explanations of various identical or corresponding steps in the above Figure 1 may be mutually referred to. For example, Figure 2 the explanations of step 130 and step 140 in the above may be applicable to step 240 and step 250 in the above.

[0134] Meanwhile, it is to be understood that the method for implementing a cloud mobile phone provided by the embodiments of the present application can have the following beneficial effects: first, the backbone network is trained in a self-supervised manner, and generalization is ensured as much as possible, so as to be reused for dividing the first category and dividing the second category for the K-means clustering algorithm, two levels of categories, which not only guarantees the business requirements, but also improves the accuracy of classification. Second, in the second category, the users in the category use the application program in an idle and busy time staggered, that is, the demand for resources is staggered, which provides a basis for resource scheduling. Third, all users belonging to the second category use shared virtualization operating system resources, so that the resources enjoyed by the public basic service increase significantly, the performance of the virtualization operating system can be released, the common application program is run in the virtualization operating system of the first server node, the operation of repeated installation and startup is avoided, and the running speed of the application program can be improved, and the personalized application program is run in the virtualization operating system of the second server node, and the running efficiency of the overall personalized application program is improved. Fourth, with the construction of the computing power network, distributed computing will become an important way for future applications, and the method provided by the present application improves the running mode of the cloud mobile phone, realizes the distributed running mode, greatly utilizes the distributed computing power resources, closely follows the technology development trend, and has great commercial value.

[0135] See Figure 6 , Figure 6 is a structural block diagram of a device for implementing a cloud mobile phone provided by the embodiments of the present application. As Figure 6 indicated, the device 600 for implementing a cloud mobile phone provided by the embodiments of the present application includes an acquisition module 610, a classification module 620, a determination module 630, and a service module 640.

[0136] The acquisition module 610 is configured to acquire the application program usage of a target user.

[0137] The classification module 620 is configured to determine a target category of the target user based on the application program usage of the target user.

[0138] The determination module 630 is configured to determine a target server node based on the target category.

[0139] The service module 640 is configured to provide a cloud mobile phone service function to the target user based on the target server node, and all users in the target category share the resources provided by the target server node.

[0140] In the embodiment of the present application, application program usage of a target user is acquired; a target category of the target user is determined based on the application program usage of the target user; a target server node is determined based on the target category; a cloud mobile phone service function is provided to the target user based on the target server node; and all users in the target category share resources provided by the target server node. In this way, the target category of the target user can be determined according to the application program usage of the target user, and the cloud mobile phone service function is provided to the target user based on the target category. Since the users in the target category share the resources provided by the target server node, compared with the fixed resources used by each user when running a cloud mobile phone in the related art, the resource utilization rate can be greatly improved, and the flexibility of resource scheduling is improved, thereby solving the problem of low resource utilization rate of virtualization operating system resources in the related art.

[0141] The apparatus for implementing a cloud mobile phone provided in the embodiments of the present application can implement each process implemented by the method embodiments described above, and thus details are not repeated here.

[0142] As shown in Figure 7 The electronic device 700 includes a processor 710 and a memory 720, and the memory 720 stores programs or instructions, which are executed by the processor 710 to implement the steps of any one of the methods described above. For example, when the programs are executed by the processor 710, the following processes are implemented: acquiring application program usage of a target user; determining a target category of the target user based on the application program usage of the target user; determining a target server node based on the target category; providing a cloud mobile phone service function to the target user based on the target server node; and all users in the target category share resources provided by the target server node. In this way, the target category of the target user can be determined according to the application program usage of the target user, and the cloud mobile phone service function is provided to the target user based on the target category. Since the users in the target category share the resources provided by the target server node, compared with the fixed resources used by each user when running a cloud mobile phone in the related art, the resource utilization rate can be greatly improved, and the flexibility of resource scheduling is improved, thereby solving the problem of low resource utilization rate of virtualization operating system resources in the related art.

[0143] The embodiments of the present application also provide a readable storage medium, which stores programs or instructions, and the programs or instructions are executed by a processor to implement the steps of each embodiment of the method for implementing a cloud mobile phone and achieve the same technical effects, and thus details are not repeated here.

[0144] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0145] The chip provided in the embodiments of the present application includes a processor and a communication interface, the communication interface is coupled with the processor, the processor is used to run programs or instructions, realizes various processes of the above method embodiments, and can achieve the same technical effects. To avoid repetition, details are not described here.

[0146] The embodiments of the present application provide a computer program product stored in a storage medium, the program product is executed by at least one processor to realize various processes of the above method embodiments, and can achieve the same technical effects. To avoid repetition, details are not described here.

[0147] It should be noted that in this paper, the term "include", "contain" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including a" does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the embodiments of the present application is not limited to the order of functions shown or discussed, but also includes functions performed in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method can be performed in a different order from the described order, and various steps can also be added, omitted or combined. In addition, the features described with reference to some examples can be combined in other examples.

[0148] From the above description of the embodiments, those skilled in the art can clearly understand that the above method embodiments can be realized by software plus the necessary general hardware platform, of course, also can be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a computer software product in essence or said contribution to the prior art, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes a plurality of instructions for making a terminal (which can be a mobile phone, computer, server or network equipment, etc.) execute the method described in each embodiment of the present application.

[0149] The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the specific embodiments described above, and the specific embodiments described above are merely illustrative, but not restrictive, and a person of ordinary skill in the art can make many forms under the inspiration of the present application without departing from the purpose of the present application and the scope protected by the claims.

Claims

1. A method for implementing a cloud phone, characterized in that, include: Obtain application usage information from target users; Based on the application usage of the target users, a first category of the target users is determined; Based on the first category, a second category of the target user is determined, and the second category is determined as the target category of the target user, wherein the second category is one of the multiple subcategories included in the first category; Based on the target category, determine the target server node; Based on the target server node, cloud mobile phone service functions are provided to the target user; All users within the target category share the resources provided by the target server node; The step of determining the second category of the target user based on the first category includes: Obtain N users belonging to the first category, where the N users include the target user, and N is a positive integer greater than 1; Obtain N feature maps from the N users, wherein the N feature maps are obtained by feature extraction based on the backbone network; Based on the N feature maps, the K-means clustering algorithm is used to cluster the N users to obtain K clustering results, where K is a positive integer less than or equal to N; Based on the K clustering results, the second category of the target user is determined; The objective function of the K-means clustering algorithm includes a first part and a second part. The first part is used to discretize the time when each user belonging to the same cluster uses the cloud phone service function, and the second part is used to constrain the application usage of each user belonging to the same cluster.

2. The method according to claim 1, characterized in that, Among all users within the target category, there are multiple designated users whose times of using cloud phone service functions are staggered.

3. The method according to claim 2, characterized in that, The application usage information of the target user includes: application identifier, application type, and average usage time of the application; based on the application usage information of the target user, a first category of the target user is determined, including: The behavioral habits of the target user are determined based on the application's identifier, application type, and average usage time. Based on the behavioral habits of the target users, a first category of the target users is determined.

4. The method according to claim 2, characterized in that, The step of determining the first category of the target user based on the target user's application usage includes: Based on the application usage of the target users, determine the target vector of the target users; The target vector is input into a target classification model to obtain the first category of the target user; the target classification model includes a backbone network and a detection head; wherein, the backbone network is used to extract features of the target vector, and the detection head is used to predict the first category to which the target vector belongs.

5. The method according to claim 1, characterized in that, The objective function of the K-means clustering algorithm is as follows: ; Where F is the objective function value, and Here, K is the preset weighting coefficient, m is the number of clustering results, and T is the preset time length. Let be the standard deviation of resource usage of all users in the k-th cluster at time t. For the feature map of the i-th user in the k-th clustering result, The feature map of the cluster center of the k-th clustering result.

6. The method according to claim 4, characterized in that, The backbone network in the target classification model is trained in the first stage using a self-supervised method, and the detection head in the target classification model is trained in the second stage using a supervised method. The second stage is after the first stage, and the trained backbone network is used to train the detection head in the second stage.

7. The method according to any one of claims 1-6, characterized in that, The target server node includes a first server node and a second server node. The first server node is used to run applications common to most users in the target category, and the second server node is used to run personalized applications for individual users in the target category.

8. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that run on the processor, the program or instructions which, when executed by the processor, implement the steps of the method as described in any one of claims 1-7.

9. A computer-readable storage medium, characterized in that, The medium stores a program or instructions that, when executed, implement the steps of the method as described in any one of claims 1-7.

10. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-7.

Citation Information

Patent Citations

  • Method for analyzing application program use data to predict user attributes

    CN112084402A

  • Resource processing method, system and device and electronic equipment

    CN116074541A

  • Traffic scheduling method and device, equipment and storage medium

    CN116248603A