Method for realizing cloud mobile phone, electronic equipment and computer readable storage medium

By dividing target categories according to the application usage of the target user and sharing the resources of the target server nodes, the problem of low resource utilization of cloud mobile phone virtualization operating system is solved, and resource utilization and scheduling flexibility is improved.

CN119697179AActive Publication Date: 2025-03-25CHINA MOBILE INTERNET CO LTD +1

Patent Information

Application Number
CN202411647739.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-03-25
Estimated Expiration
2044-11-18

AI Technical Summary

Technical Problem

In the prior art, the resource utilization rate of the virtualized operating system of cloud mobile phones is not high, resulting in insufficient flexibility in resource scheduling.

Method used

By obtaining the application usage of the target user, determining the target user's target category, and determining the target server node based on the target category, providing cloud mobile service functions to the target user. All users within the target category share the resources provided by the target server node.

Benefits of technology

This method greatly improves the resource utilization rate and resource scheduling flexibility, and solves the problem of low resource utilization rate of virtualized operating systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697179A_ABST
    Figure CN119697179A_ABST
Patent Text Reader

Abstract

The invention discloses a method for realizing a cloud mobile phone, electronic equipment and a computer readable storage medium, and belongs to the field of Internet. The method comprises the following steps: acquiring an application program use condition of a target user; determining a target category of the target user based on the application program use condition of the target user; determining a target server node based on the target category; providing a cloud mobile phone service function for 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 the cloud mobile phone, and solves the problem of low resource utilization rate of virtualized operating system resources in the prior 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 specifically relates to a method for implementing a cloud phone, an electronic device and a computer-readable storage medium. Background Art

[0002] A cloud phone is a cloud phone based on virtualization technology. Various applications in a cloud phone run in the cloud. By using cloud phone services, the consumption of local resources of physical phones can be greatly reduced. At present, the application scenarios of cloud phones are becoming more and more abundant, such as games, office, education, video, live broadcast and other scenarios. How to effectively utilize virtualized operating system resources is also very important for the realization of cloud phones.

[0003] The related technology usually allocates an independent virtualized operating system to each user who uses the cloud phone service. In this way, the resources used by each user when running the cloud phone are fixed, and there is a problem of low resource utilization of the virtualized operating system resources. Summary of the invention

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

[0005] In a first aspect, an embodiment of the present application provides a method for implementing a cloud phone, the method comprising: Get the target user's application usage; Determining a target category of the target user based on application usage of the target user; Based on the target category, determining a target server node; Based on the target server node, providing the target user with a cloud phone service function; All users in the target category share the resources provided by the target server node.

[0006] In a second aspect, an embodiment of the present application provides an electronic device, which includes a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the program or instructions are executed by the processor, the steps of the method described in the first aspect are implemented.

[0007] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed, the steps of the method described in the first aspect are implemented.

[0008] In a fourth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the method described in the first aspect.

[0009] At least one of the above technical solutions provided in the embodiments of the present application can achieve the following technical effects: In an embodiment of the present application, the application usage of the target user is obtained; based on the application usage of the target user, the target category of the target user is determined; based on the target category, the target server node is determined; based on the target server node, the cloud phone service function is provided to the target user; wherein all users within 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 phone service function can be provided to the target user based on the target category. Since the users within the target category share the resources provided by the target server node, compared with the related art in which the resources used by each user when running a cloud phone are fixed, this resource sharing method can greatly improve the utilization of resources, while improving the flexibility of resource scheduling, and solving the problem of low resource utilization of virtualized operating system resources existing in the related art. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.

[0011] Figure 1 It is a flow chart of a method for implementing a cloud phone provided in an embodiment of the present application; Figure 2 is a flow chart of another method for implementing a cloud phone provided in an embodiment of the present application; Figure 3 is a schematic diagram of a target classification model provided in an embodiment of the present application; Figure 4 is a flow chart of another method for implementing a cloud phone provided in an embodiment of the present application; Figure 5 It is a specific flow chart of a method for implementing a cloud phone provided in an embodiment of the present application; Figure 6 It is a structural block diagram of a device for implementing a cloud phone provided in an embodiment of the present application; Figure 7 It is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0012] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0013] The terms "first", "second", etc. 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 interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0014] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0015] The method for implementing a cloud phone provided in the embodiment of the present application is applied to the cloud phone service, and in particular, can be applied to assigning a target server node for providing a cloud phone service function to a target user. Specifically, by obtaining the application usage of the target user, the target category of the target user is determined, and based on the target category, the target server node providing the cloud phone service function to the target user is determined. Among them, all users in the target category share the resources provided by the target server node.

[0016] The method for implementing a cloud phone provided in an embodiment of the present application can be executed by a target device, wherein the target device can be one electronic device or multiple electronic devices. That is to say, the method for implementing a cloud phone provided in an embodiment of the present application can be executed by one electronic device, wherein the electronic device can be a server, such as an independent physical server, a server cluster composed of multiple servers, and a cloud server capable of cloud computing. In the case where the method for implementing a cloud phone provided in an embodiment of the present application is executed by multiple electronic devices, these multiple electronic devices can form a service cluster, which cooperate with each other to complete each step.

[0017] The following is a detailed description of the method for implementing a cloud phone provided by the embodiment of the present application through specific embodiments and their application scenarios in conjunction with the accompanying drawings.

[0018] See also Figure 1 , Figure 1 This is a flow chart of a method for implementing a cloud phone provided by an embodiment of the present application. Figure 1 As shown, the method comprises the following steps: Step 110: Obtain application usage of the target user.

[0019] In the embodiment of the present application, the target user may be an existing user, that is, a user who has used the cloud phone service, or a new user, that is, a user who is using the cloud phone service for the first time. For existing users, since there is historical data of using the cloud phone service, the application usage may be the historical data of the application run by the existing user through the cloud phone. For new users, since they have never used a cloud phone, the application usage may be the historical data of the application used on the target user's physical terminal device, and the physical terminal device is the terminal device (such as a mobile phone) used by the target user to experience the cloud phone service.

[0020] The application usage may include the application ID, the application type and the average usage time of the application, which are relatively easy to count in cloud phone services. The application usage is obtained with the authorization of the target user. For example, for a new user, the application usage of the target user can be queried from the system of the physical terminal device with the user's authorization to achieve online and offline unification.

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

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

[0023] The target user's application usage can be used to explore the target user's potential consumption capacity, and users with similar consumption capacity can be divided into one category as much as possible to use the same or similar level of cloud phone services. Specifically, through the target user's application usage, users who use the same or similar applications can be divided into one category, and this category of users usually has similar consumption capacity. In order to ensure the accuracy of the classification, the target user's historical consumption record can be obtained, and the target category of the target user can be determined based on the historical consumption record and the potential consumption capacity explored. Among them, the historical consumption record includes not only the historical purchase record of the cloud phone service package, but also the historical consumption record of other applications. The historical consumption record is obtained with the user's authorization.

[0024] For example, users who purchased the cloud phone service package "8 cores / 8G / 128G" are classified into one category as much as possible, and users who purchased the cloud phone service package "4 cores / 4G / 64G" who may upgrade to the cloud phone service package "8 cores / 8G / 128G" are also classified into this category. At the same time, new cloud phone users who consume a lot of other applications are also classified into this category.

[0025] In fact, since the classification of the target category is related to the user's spending power, in the process of user classification, more indicator data and features related to spending power can be obtained, such as historically purchased cloud phone service packages and application consumption records. However, considering that for new cloud phone users, the application basically has no port to export this part of data, this data is difficult to obtain, and there is a cold start problem, and the cold start problem is also difficult to solve. Therefore, in order to avoid this situation, the target user's application usage can be obtained. This data is not only easy to obtain, but also easier to unify for existing users and new users.

[0026] Step 130: Determine a target server node based on the target category.

[0027] In an embodiment of the present application, the target server node is used to provide resources for running the 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 users in the target category.

[0028] Step 140: Based on the target server node, provide the target user with a cloud phone service function; wherein all users within the target category share the resources provided by the target server node.

[0029] In the embodiment of the present application, all users in the target category are assigned to the same target server node, and the virtualized operating system resources of the cloud phone are loaded in the host of the node. All users in the target category share the virtualized operating system resources of the cloud phone, and the public basic services of the virtualized operating system resources use the resources provided by all users to maximize the performance of the virtualized operating system resources. For solidified resources, if you want to improve resource utilization, you need to make resource scheduling flexible.

[0030] For example, if the target user in the target category purchases the cloud phone service package "4 cores / 4G / 64G", when the target user's resources are idle, 1 core / 1G can be shared with other users in the target category (at this time, the target user's available resources are 3 cores / 3G / 64G). When the target user's resources are busy, the 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 method of scaling resources is easy to implement on the same physical machine and is also feasible in business. It can achieve a closed loop of user-used resources to avoid the cost of expanding servers.

[0031] However, it should be noted that such sharing should be limited. For example, users who purchase the cloud phone service package "2 cores / 2G / 42G" can temporarily overdraw to 3 cores / 3G / 42G, but cannot temporarily overdraw to 8 cores / 8G / 42G. This is because once users who purchase the cloud phone service package "2 cores / 2G / 42G" and users who purchase the cloud phone service package "8 cores / 8G / 128G" enjoy similar services, it is not conducive to the promotion of the cloud phone service package.

[0032] At the same time, since most of the applications used by all users in the target category overlap, the target server node can generate a configuration file for all users in the target category for these applications. When a user in the target category runs the application through a cloud phone, an instance of the application is started and the configuration file is loaded into the instance to enable the operation of the application. In addition, users belonging to the same category usually have similar behavioral habits. In other words, an application that has been installed by a user in the target category is also likely to be of interest to other users in the target category. Therefore, when other users in the target category instruct to install the application, there is no need to repeat the application installation process, and the application can be opened in seconds.

[0033] In one 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 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.

[0034] In the embodiment of the present application, most of the users in the target category usually have common applications, which are usually popular applications and can be installed on the first server node. At the same time, the users in the target category may also use some personalized applications, which are usually niche applications and can be installed on the second server node. The second server node may include multiple server nodes for installing multiple personalized applications. In other words, the applications used by the users in the target category can be distributed and installed on multiple server nodes.

[0035] Specifically, frequent sets and other methods can be used to mine applications shared by users in the target category, and the remaining applications can be determined as personalized applications. The applications shared by users in the target category are installed in the first server node, and the remaining personalized applications can be distributedly installed according to categories (such as game applications and video applications, etc.), that is, personalized applications can be installed on different server nodes according to application categories.

[0036] Among them, a communication link will be established between the virtualized operating system in the first server node and the virtualized operating system of the dedicated server. The virtualized operating system in the first server node can serve as a repeater to convey user-triggered application control operation instructions to the virtualized operating system of the second server node and obtain the running results of the application in the virtualized operating system of the second server node.

[0037] In this case, the second server node is used to install a certain category of applications and implement the same virtualized operating system. The application can also be opened in seconds, but this method will have a certain delay due to the transfer. The second server node may include multiple server nodes, and different servers can provide corresponding services for corresponding categories of applications, thereby improving the operating efficiency of the application. For example, video applications occupy a relatively obvious bandwidth, and some video applications can be installed on the same server. The server can locally cache the videos requested by the application so that they can be reused by other applications to reduce bandwidth occupancy.

[0038] Among the applications used by users in the target category, most of them run on the virtualized operating system in the same server node (first server node), while there are always certain differences between the applications used by different users, and these different applications run on the virtualized operating systems in other server nodes (second server nodes). In other words, in most cases, two or more virtualized operating systems are maintained for the user's cloud phone. In this case, the virtualized operating system in the server node (first server node) configured for the target category is the main one, and the virtualized operating systems in other server nodes (second server nodes) are hidden, so that the user perceives that he is using one cloud phone instead of two or more cloud phones.

[0039] For example, the cloud phone of the target user in the target category has application 1, application 2, and application 3. In the first server node (node ​​1) configured by the target node, cloud phone A is started for the user, and application 1 and application 2 run in cloud phone A; in another independent second server node (node ​​2), cloud phone B is started for the user, and application 3 runs in cloud phone B. Cloud phone B transfers the data for running application 3 to cloud phone A, thereby simulating the running of application 3 in cloud phone A.

[0040] In this method, a server (second server node) is specially configured to run a relatively niche application, and the main consideration is the operating efficiency of the application. For example, some users in different categories are playing the same niche game A. This game A can be installed in a dedicated server node. If game A needs to be upgraded, it only needs to be upgraded once in the dedicated server node, without multiple upgrades in many server nodes. When users in different categories want to run game A, game A has been installed and configured, and the user only needs to generate an instance when starting it. This method can exchange a small amount of delay for overall operating efficiency and reduce overall costs.

[0041] In one embodiment of the present application, there are multiple designated users among all users in the target category, and the times at which the multiple designated users use the cloud phone service function are staggered.

[0042] In an embodiment of the present application, in order to achieve resource sharing between users in the same category, in the process of user classification, the time of using the cloud phone service function can be further mined, so that the time when users in the target category use the cloud phone service is staggered as much as possible, to avoid the target category users being at the peak of resource usage at the same time. In this case, resource sharing is not very meaningful. For example, if all users in the target category are in the idle time of using resources at 10 o'clock in the morning, all users can share 1 core / 1G, but no one uses the shared resources. If all users in the target category are in 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 the 1 core / 1G shared by other users.

[0043] At the same time, it is difficult to make all users in the target category use the cloud phone service function at different times. Therefore, as long as there are multiple designated users among all users in a category, and the times at which the multiple designated users use the cloud phone service function are different, the category can be used as the target category.

[0044] It should be noted that it is difficult to achieve complete balancing of virtual operating system resources in this way. In this case, cloud phone service providers can provide additional resources, which can be used to adjust and balance resources and further activate resource borrowing. At the same time, cloud phone service providers can distribute some offline tasks to improve overall resource utilization when occupying certain resources.

[0045] In an embodiment of the present application, there is a certain complementarity in the time distribution of the use of applications by users within the target category, that is, the idle time of usage resources and the busy time of usage resources of different users within the target category are intertwined, which facilitates resource sharing among users within the target category.

[0046] In an embodiment of the present application, the application usage of the target user is obtained; based on the application usage of the target user, the target category of the target user is determined; based on the target category, the target server node is determined; based on the target server node, the cloud phone service function is provided to the target user; wherein all users within 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 phone service function can be provided to the target user based on the target category. Since the users within the target category share the resources provided by the target server node, compared with the related art in which the resources used by each user when running a cloud phone are fixed, this resource sharing method can greatly improve the utilization of resources, while improving the flexibility of resource scheduling, and solving the problem of low resource utilization of virtualized operating system resources existing in the related art.

[0047] See also Figure 2 , Figure 2 This is a flow chart of another method for implementing a cloud phone provided by an embodiment of the present application. Figure 2 As shown, the method comprises the following steps: Step 210: Obtain application usage of the target user.

[0048] Step 220: Determine a first category of the target user based on the application usage of the target user.

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

[0050] For example, in one embodiment of the present application, the target user's application usage includes: an application identifier, an application type, and an average application usage duration. Determining the first category of the target user based on the target user's application usage in step 220 includes: determining the target user's behavior habits based on the application identifier, the application type, and the average application usage duration; determining the first category of the target user based on the target user's behavior habits.

[0051] In the embodiment of the present application, in the process of determining the first category of target users, the relationship between the target users' application usage habits and the service level is usually explored through the target users' application usage. The user's application usage habits can reflect the user's interest preferences and consumption capacity to a certain extent, and these can also be linked to the service level.

[0052] Users purchase different cloud phone service packages for different usage scenarios. For example, for free users of cloud phone promotion, users who purchase the cloud phone service package "2 cores / 2G / 42G", users who purchase the cloud phone service package "4 cores / 4G / 64G", and users who purchase the cloud phone service package "8 cores / 8G / 128G", the usage scenarios of the purchased packages are different. Specifically, the cloud phone service package "8 cores / 8G / 128G" is usually used for large-scale games, and the cloud phone service package "2 cores / 2G / 42G" is usually used for scenarios with lower performance requirements such as secure office.

[0053] That is to say, the target user's behavior habits can be determined based on the target user's application usage (application identification, application type, average application usage time), the target user's purpose of using the cloud phone service can be clarified, and then the target category to which the target user belongs can be determined. For example, for users who have a long average usage time for large-scale game applications, these users usually have higher requirements for the services provided by the cloud phone, and these users can be divided into one category.

[0054] Exemplarily, in one embodiment of the present application, determining the first category of the target user based on the application usage of the target user in step 220 includes: determining the target vector of the target user based on the application 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.

[0055] In an embodiment of the present application, in the process of classifying the target user, a 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 relevant data of the target user's application usage can be preprocessed to obtain the target vector of the target user. Specifically, the target vector includes multiple total vectors corresponding to multiple applications used by the target user. For each application used by the target user, the identification of the application, the category of the application, and the average usage time of the application can be obtained, and these three indicators are spliced ​​to obtain the total vector of the application.

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

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

[0058] In one 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 in the second stage to train the detection head.

[0059] In an embodiment of the present application, the training stage of the target classification model can be divided into two stages, namely 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 backbone network trained in the first stage completes the training of the detection head to be trained together with the detection head to be trained.

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

[0061] Theoretically, among the massive amount of historical applications, all applications except positive samples are negative samples. The number of negative samples is so large that they cannot all be used for training. Therefore, applications that existing users may show negative emotions can be selected as negative samples for training, including but not limited to applications that have been installed but not started, applications that have been uninstalled (applications that may have been installed by clicking on advertisements by mistake), and applications that have been recommended on various pages of cloud phones but not downloaded, installed, or closed. If the number of negative samples obtained in this way is insufficient, the application categories that users may be interested in (such as online games, casual games, learning applications, or navigation applications, etc.) can be determined based on the basic attributes of existing users (such as age, gender, etc.), and applications can be randomly collected from the popular lists of the application categories of interest as negative samples for training.

[0062] The training data of the sample may include the identification of the application, the category of the application, and the average usage time of the application. The average usage time of the positive sample is the usage time of the existing users in the current cloud phone, and the average usage time of the negative sample is the average usage time of the group users of the negative sample in the cloud 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 usage time of the application 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 vector of all samples can be obtained. At the same time, the classification results of these samples can be determined by manual labeling as the true value in the training process.

[0063] For the first stage, since the feature map output by the backbone network will be reused in the process of subsequent division to obtain the second category, this requires that the feature map output by the backbone network be as neutral as possible to avoid being affected by the first category output by the detection head and causing overfitting. Therefore, the backbone network is first trained using a self-supervised method. In the process of training the backbone network using a self-supervised method, the backbone network can be used as an encoder, and an additional decoder can be added for training together. After the backbone network is trained, the decoder is discarded. In other words, the decoder is only used to train the backbone network. In the prediction process of the target classification model, the target classification model only includes the backbone network and the detection head.

[0064] The structure of the decoder is as follows: Figure 3As shown, it can be a structure of eleven layers (flipped convolution layer, convolution layer + batch normalization + linear rectification function, maximum pooling layer, flipped convolution layer, convolution layer + batch normalization + linear rectification function, maximum pooling layer, flipped convolution layer, convolution layer + batch normalization + linear rectification function, maximum pooling layer, flipped convolution layer and convolution layer + batch normalization + linear rectification function). The connection between the encoder and the decoder is a skip connection, which can fuse shallow features with deep features and improve the richness of the features extracted by the backbone network. In addition, Figure 3 The arrows shown in merging are used to represent the concatenation operation (concat).

[0065] 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 for the first stage training. Specifically, the MAE loss function is as follows:

[0066] Among them, MAE is used to represent the MAE loss function value, N is the number of feature dimensions, i is a positive integer less than or equal to N, is the i-th dimension vector in the total vector of samples input into the backbone network, is the i-th dimension vector of the decoder output result.

[0067] In the self-supervised training of the backbone network, the optimization method of the backbone network can use stochastic gradient descent (SGD). The optimization goal is to reconstruct the output as similar to the sample as possible, so as to improve the quality of feature extraction of the backbone network as much as possible.

[0068] For the second stage, the trained backbone network and the detection head to be trained can be used together to perform supervised training on the detection head to be trained. During 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. During the supervised training process, the optimization method of the detection head can use the SGD method. 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 maximize the accuracy of the detection head classification. Among them, cross entropy (CS) can be used as the training loss function during supervised training, as shown in the following formula:

[0069] Wherein, 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. It is used to indicate the probability that the true classification result of the sample belongs to the i-th category. It is used to indicate that the true classification result of the sample belongs to the i-th category. It is used to indicate that the true classification result of the sample does not belong to the i-th category. is the probability that the sample detected by the detection head belongs to the i-th category.

[0070] Step 230: Based on the first category, determine a second category of the target user, and determine the second category as the target category of the target user, wherein the second category is one of the multiple subcategories included in the first category.

[0071] In the embodiment of the present application, after the first category of the target user is determined by the target classification model, all users belonging to the first category can be further classified to obtain multiple subcategories, and the second category of the target user is determined from the multiple subcategories, and the second category is determined as the target category of the target user. There are multiple designated users among all users in the second category, and the time when the multiple designated users use the cloud phone service function is staggered.

[0072] That is to say, the target category of the target user can be determined through two classifications. The first category of the target user is determined through the first classification, mainly to gather users who enjoy the same or similar cloud mobile phone services. The second category is obtained by subdividing the first category through the second classification, mainly to further stagger the time when users in the target category use virtualized operating system resources, so as to better realize resource sharing.

[0073] Step 240: Determine a target server node based on the target category.

[0074] In one 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 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.

[0075] Step 250: Based on the target server node, provide the cloud phone service function to the target user; wherein all users in the target category share the resources provided by the target server node.

[0076] In an embodiment of the present application, through a secondary classification method, on the basis of aggregating users who enjoy the same or similar cloud phone services, users who use virtualized operating system resources at different times can be further classified into one category. This method can improve the efficiency of resource sharing and resource utilization while ensuring the user experience.

[0077] See also Figure 4 , Figure 4 This is a flow chart of another method for implementing a cloud phone provided by an embodiment of the present application. Figure 4 As shown, the method comprises the following steps: Step 410: Obtain application usage of the target user.

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

[0079] Step 430: Input the target vector into a target classification model to obtain a 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.

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

[0081] Step 450: Obtain N feature graphs of the N users, where the N feature graphs are obtained by performing feature extraction based on the backbone network.

[0082] In an embodiment of the present application, for the N users in the first category, the N users are divided into one category by the target classification model based on the application usage of the N users. During the division process, the backbone network in the target classification model will perform feature extraction based on the application usage of the N users to obtain N feature maps of the N users. The N feature maps output by the backbone network can be used for subsequent clustering.

[0083] Step 460: Based on the N feature graphs, the N users are clustered using a K-means clustering algorithm to obtain K clustering results, where K is a positive integer less than or equal to N.

[0084] In an embodiment of the present application, the process of the K-means clustering algorithm is as follows: 1. Determine the number K of clustering results, and the K value can be selected based on experience. 2. Initialize K clusters, and 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 smallest 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 the new center point of the cluster. 5. Calculate the objective function value of clustering. 6. Continuously iterate the process of 2-5. After iterating round A (preset iteration stop condition), select the K clusters (including the center point) with the maximum objective function value as the final clustering result, and each cluster corresponds to a clustering result. At the same time, the mapping relationship between each cluster and the user belonging to the cluster can be recorded.

[0085] In one 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 of each user belonging to the same clustering result using the cloud phone service function, and the second part is used to constrain the application usage of each user belonging to the same clustering result.

[0086] In the embodiment of the present application, it is considered to improve the K-means clustering algorithm, and the improvement lies in the criterion for evaluating convergence, that is, the objective function of clustering in step 5 above. In addition to the traditional clustering toward the center of the cluster, new constraints are added. The new constraints are mainly to make the usage of resources (such as CPU, memory, etc.) at each time as discrete 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, some people borrow resources and some people use resources at the same time, so as to achieve resource balance. On the contrary, if at the same time, in the same cluster, the resource usage of all people is less or more at the same time, it is difficult to achieve resource balance in this case, and the degree of discreteness is low.

[0087] In an embodiment 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 usage in the cloud phones of users in the second category are relatively similar, thereby improving the efficiency of resource sharing; the second criterion is that the time when users in the second category use virtualized operating system resources is staggered, thereby avoiding multiple users being at the peak of resource usage at the same time and unable to share.

[0088] Based on this, the objective function of the K-means clustering algorithm can be designed to include two parts (the first part and the 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. The discretization here means that the time periods when each user belonging to the same clustering result uses the cloud phone service function are staggered and scattered in various time periods of the day. The reason why this method saves resources is that the same time is idle time for a certain user and busy time for another user. In this case, the resources available to users in idle time can be shared with users in busy time (especially overdrafts exceeding 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 one category, thereby improving the efficiency of resource sharing.

[0089] Specifically, the objective function of the K-means clustering algorithm is as follows: ; Where F is the objective function value, and is the preset weight coefficient, K is the number of clustering results, m is the number of users in the kth clustering result, T is the preset time length (for example, 24 hours a day), is the standard deviation of resource usage of all users in the kth clustering result at time point t, is the feature graph of the i-th user in the k-th clustering result, It is the feature map of the cluster center of the k-th clustering result.

[0090] 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.

[0091] Step 470: Determine a second category of the target user based on the K clustering results, and determine the second category as the target category of the target user.

[0092] Step 480: Determine a target server node based on the target category.

[0093] In one 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 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.

[0094] Step 490: Based on the target server node, provide the target user with a cloud phone service function; wherein all users within the target category share the resources provided by the target server node.

[0095] In the embodiment of the present application, for a new user of a cloud phone, the second category of the new user can be determined by obtaining the application usage in the physical terminal device used by the new user to experience the cloud phone service, and by the above steps 410 to 490. Since this classification may not be accurate, the first category and the second category can be reclassified for the new user after the new user accumulates the behavior data of using the cloud phone. At the same time, for existing users, they can also be reclassified regularly.

[0096] In an embodiment of the present application, the first category to which the target user belongs is obtained through the target classification model, and the second category under the first category can be further determined through the K-means clustering algorithm. The two-level categories not only ensure business needs, but also improve the accuracy of classification.

[0097] See also Figure 5 , Figure 5 This is a specific flow chart of a method for implementing a cloud phone provided by an embodiment of the present application. Figure 5 As shown, the method comprises the following steps: Step 510: Obtain application usage of the target user.

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

[0099] Step 530: Input the target vector into a target classification model to obtain a 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.

[0100] In the embodiment of the present application, the target user's application usage includes: application identification, application type, and average application usage time. In addition to the method shown in steps 520 to 530, the first category can also be obtained in the following ways: based on the application identification, application type, and average application usage time, determine the target user's behavior habits; based on the target user's behavior habits, determine the first category of the target user.

[0101] Among them, the backbone network in the target classification model is trained in the first stage based on a self-supervised method, and the detection head in the target classification model is trained in the second stage based on a supervised method, 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.

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

[0103] Step 550: Obtain N feature graphs of the N users, where the N feature graphs are obtained by performing feature extraction based on the backbone network.

[0104] Step 560: Based on the N feature graphs, use the K-means clustering algorithm to cluster the N users to obtain K clustering results, where K is a positive integer less than or equal to N; 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 of each user belonging to the same clustering result using the cloud phone service function, and the second part is used to constrain the application usage of each user belonging to the same clustering result.

[0105] In the embodiment of the present application, the objective function of the K-means clustering algorithm is as follows: ; Where F is the objective function value, and is the preset weight coefficient, K is the number of clustering results, m is the number of users in the kth clustering result, T is the preset time length, is the standard deviation of resource usage of all users in the kth clustering result at time point t, is the feature graph of the i-th user in the k-th clustering result, It is the feature map of the cluster center of the k-th clustering result.

[0106] Step 570: 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, there are multiple designated users among all users in the target category, and the time when the multiple designated users use the cloud phone service function is staggered.

[0107] Step 580: Determine a target server node based on the target category.

[0108] Step 590: Based on the target server node, provide the target user with a cloud phone service function; wherein all users within the target category share the resources provided by the target server node.

[0109] 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 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.

[0110] In an embodiment of the present application, the application usage of the target user is obtained; based on the application usage of the target user, the target category of the target user is determined; based on the target category, the target server node is determined; based on the target server node, the cloud phone service function is provided to the target user; wherein all users within 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 phone service function can be provided to the target user based on the target category. Since the users within the target category share the resources provided by the target server node, compared with the related art in which the resources used by each user when running a cloud phone are fixed, this resource sharing method can greatly improve the utilization of resources, while improving the flexibility of resource scheduling, and solving the problem of low resource utilization of virtualized operating system resources existing in the related art.

[0111] It is important to understand that Figures 1 to 5 The explanations of the same or corresponding steps in the above may refer to each other. For example, Figure 1 The explanation of step 130 and step 140 in Figure 2 Step 240 and step 250 in .

[0112] At the same time, it should be understood that a method for implementing a cloud phone provided by an embodiment of the present application may have the following beneficial effects: First, the backbone network is trained in a self-supervised manner to ensure universality as much as possible, so that it can be reused for the detection head to obtain the first category and the K-means clustering algorithm to obtain the second category. The two levels of categories not only guarantee business needs, but also improve the accuracy of classification. Second, in the second category, the users in this category use the application program when they are busy and idle, 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 virtualized operating system resources, so that the resources enjoyed by public basic services are significantly increased, the performance of the virtualized operating system can be released, and the common application program is run in the virtualized operating system of the first server node to avoid repeated installation and startup operations, which can improve the running speed of the application program, and run personalized applications in the virtualized operating system of the second server node to improve the overall running efficiency of personalized applications. Fourth, with the construction of computing power networks, distributed computing will become an important way of future applications. The method provided in this application improves the operation mode of cloud phones and realizes distributed operation. It makes great use of distributed computing power resources, keeps up with the development trend of technology, and has great commercial value.

[0113] See also Figure 6 , Figure 6 1 is a structural block diagram of a device for implementing a cloud phone provided in an embodiment of the present application. Figure 6 As shown, an embodiment of the present application provides a device 600 for implementing a cloud phone, and the device 600 for implementing a cloud phone includes: an acquisition module 610, a classification module 620, a determination module 630 and a service module 640.

[0114] The acquisition module 610 is used to acquire the application usage of the target user; The classification module 620 is used to determine the target category of the target user based on the application usage of the target user; The determination module 630 is used to determine a target server node based on the target category; The service module 640 is used to provide the cloud phone service function 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.

[0115] In an embodiment of the present application, the application usage of the target user is obtained; based on the application usage of the target user, the target category of the target user is determined; based on the target category, the target server node is determined; based on the target server node, the cloud phone service function is provided to the target user; wherein all users within 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 phone service function can be provided to the target user based on the target category. Since the users within the target category share the resources provided by the target server node, compared with the related art in which the resources used by each user when running a cloud phone are fixed, this resource sharing method can greatly improve the utilization of resources, while improving the flexibility of resource scheduling, and solving the problem of low resource utilization of virtualized operating system resources existing in the related art.

[0116] The device for implementing a cloud phone provided in the embodiment of the present application can implement each process implemented in the above method embodiment. To avoid repetition, it will not be described here.

[0117] like Figure 7 As shown, the embodiment of the present application also provides an electronic device 700. The electronic device 700 includes: a processor 710 and a memory 720, and the memory 720 stores a program or instruction, and the program or instruction is executed by the processor 710 to implement the steps of any of the methods described above. For example, when the program is executed by the processor 710, the following process is implemented: obtaining the application usage of the target user; determining the target category of the target user based on the application usage of the target user; determining the target server node based on the target category; providing the target user with a cloud phone service function 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 phone service function can be 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 related art that the resources used by each user when running the cloud phone are fixed, this resource sharing method can greatly improve the utilization of resources, while improving the flexibility of resource scheduling, and solving the problem of low resource utilization of virtualized operating system resources existing in the related art.

[0118] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of each embodiment of the method for implementing a cloud phone are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0119] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.

[0120] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0121] An embodiment of the present application provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement the various processes of the above-mentioned method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0122] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do 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 methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0123] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0124] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A method for implementing a cloud phone, characterized in that: include: Get the target user's application usage; Determining a target category of the target user based on application usage of the target user; Based on the target category, determining a target server node; Based on the target server node, providing the target user with a cloud phone service function; All users in the target category share the resources provided by the target server node.

2. The method according to claim 1, characterized in that There are multiple designated users among all users in the target category, and the times when the multiple designated users use the cloud phone service function are staggered.

3. The method according to claim 2, characterized in that Determining a target category of the target user based on the application usage of the target user includes: Determining a first category of the target user based on application usage of the target user; 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.

4. The method according to claim 3, characterized in that The application usage of the target user includes: an identification of the application, a type of the application, and an average usage time of the application; and based on the application usage of the target user, determining the first category of the target user includes: Determine the behavior habits of the target user based on the identification of the application, the type of the application, and the average usage time of the application; Based on the behavior habits of the target user, a first category of the target user is determined.

5. The method according to claim 3, characterized in that: The determining the first category of the target user based on the application usage of the target user includes: Determining a target vector of the target user based on the application usage of the target user; The target vector is input into a target classification model to obtain a 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.

6. The method according to claim 5, characterized in that The determining, based on the first category, a second category of the target user includes: Acquire N users belonging to the first category, wherein the N users include the target user, and N is a positive integer greater than 1; Obtaining N feature graphs of the N users, where the N feature graphs are obtained by performing feature extraction based on the backbone network; Based on the N feature graphs, clustering the N users using a K-means clustering algorithm to obtain K clustering results, where K is a positive integer less than or equal to N; Based on the K clustering results, a second category of the target user is determined.

7. The method according to claim 6, characterized in that 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 usage of each user belonging to the same clustering result.

8. The method according to claim 7, characterized in that The objective function of the K-means clustering algorithm is as follows: ; Where F is the objective function value, and is the preset weight coefficient, K is the number of clustering results, m is the number of users in the kth clustering result, T is the preset time length, is the standard deviation of resource usage of all users in the kth clustering result at time point t, is the feature graph of the i-th user in the k-th clustering result, It is the feature map of the cluster center of the k-th clustering result.

9. The method according to claim 5, characterized in that 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 in the second stage to train the detection head.

10. The method according to any one of claims 1 to 9, 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 an application program common to most users in the target category, and the second server node is used to run a personalized application program for an individual user in the target category.

11. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction running on the processor, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 10 are implemented.

12. A computer-readable storage medium, characterized in that: The medium stores a program or an instruction, and when the program or the instruction is executed, the steps of the method according to any one of claims 1 to 10 are implemented.

13. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 10 when being executed by a processor.

Citation Information

Patent Citations

  • Information pushing method and device, storage medium and terminal

    CN111612499A

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

    CN112084402A

  • Server management method and device, electronic equipment and computer storage medium

    CN113867968A

  • Method and system for realizing time-sharing sharing of cloud mobile phone

    CN114827147A

  • Container resource scheduling method and device

    CN115994029A

Cited By

  • Cloud application access method and device, electronic equipment and storage medium

    CN120980075A