A communication network cloud service QoS prediction method, system, device and medium

By using undirected graphs and the Node2Vec algorithm for feature learning in communication network cloud services, and combining deep clustering networks to partition historical datasets, training vector outputs and aggregated prediction models, the problem of inappropriate partitioning of historical datasets is solved, and the accuracy of QoS prediction is improved.

CN116489040BActive Publication Date: 2026-05-19SHANTOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANTOU UNIV
Filing Date
2023-04-23
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In existing technologies, QoS prediction methods for cloud services in communication networks suffer from inappropriate partitioning of historical datasets, which leads to the inability to effectively retain coupling information between users and services, thus affecting the QoS prediction results.

Method used

We employ undirected graphs and the Node2Vec algorithm for feature learning, combine a deep clustering network to partition the historical dataset, and use multiple data subsets to train vector output models and aggregate prediction models, including attention network layers, MLP layers, and interaction function layers, to improve the accuracy of QoS prediction.

Benefits of technology

By retaining collaborative information, the effectiveness of QoS prediction was improved, the problem of inappropriate historical dataset partitioning was solved, and more accurate service quality prediction was achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116489040B_ABST
    Figure CN116489040B_ABST
Patent Text Reader

Abstract

The application discloses a communication network cloud service QoS prediction method, system, device and medium, wherein the method comprises the following steps: dividing the obtained historical data set into multiple data subsets; training the constructed multiple vector output models by using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set; training the constructed aggregation prediction model by using the user embedding vector set and the service embedding vector set; inputting a to-be-tested user label and a to-be-tested service label into the trained multiple vector output models to obtain a single user embedding vector and multiple service embedding vectors; and inputting the single user embedding vector and the multiple service embedding vectors into the trained aggregation prediction model to obtain a predicted QoS value of the to-be-tested user when calling the to-be-tested service. The application can retain cooperation information when the historical data set is divided, and can improve the QoS prediction effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of QoS (Quality of Service) prediction technology, specifically to a method, system, device, and medium for predicting QoS of cloud services in communication networks. Background Technology

[0002] Cloud services are becoming one of the most important interoperability technologies, connecting heterogeneous applications on the Internet to achieve cross-platform, cross-system, and cross-language interaction. They are rapidly becoming a crucial way to deploy distributed computing and collaboration, greatly promoting the efficient use of network resources. Users can find and invoke various services provided by cloud services without worrying about programming languages, operating platforms, implementation methods, or other related issues. As users of cloud services, they often invoke multiple services to achieve their target functions when developing cloud applications. However, with the increasing number of services developed in cloud services, selecting the most suitable service from a large pool to meet user needs becomes a critical problem. Many researchers believe that when selecting a service, users should consider not only their functional requirements but also the non-functional metrics provided by the service, namely QoS values ​​that encompass factors such as availability, response time, execution time, and throughput. Therefore, predicting the QoS value generated when a user invokes a service in advance is essential.

[0003] In existing technologies, collaborative filtering or deep learning networks are commonly used to achieve QoS prediction. However, these two methods have the drawback of inappropriate partitioning of historical datasets, which can disrupt the coupling information between users and services, meaning that collaborative information cannot be effectively preserved, resulting in poor QoS prediction performance. Summary of the Invention

[0004] This invention provides a method, system, device, and medium for predicting QoS of cloud services in communication networks, in order to solve one or more technical problems existing in the prior art, and at least provide a beneficial option or create conditions.

[0005] Firstly, a method for predicting QoS of cloud services in a communication network is provided, the method comprising:

[0006] Obtain the historical dataset, which includes several user tags, several service tags, and the QoS value of each user when calling each service;

[0007] Based on the aforementioned user tags, the historical dataset is divided into multiple data subsets;

[0008] The multiple data subsets are used to train the constructed multiple vector output models to obtain a user embedding vector set and a service embedding vector set;

[0009] The constructed aggregation prediction model is trained using the user embedding vector set and the service embedding vector set;

[0010] Input the user label and service label to be tested into the trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors;

[0011] The single user embedding vector and the multiple service embedding vectors are input into the trained aggregate prediction model to obtain the predicted QoS value of the user under test when calling the service under test.

[0012] Furthermore, the step of dividing the historical dataset into multiple data subsets based on the aforementioned user tags includes:

[0013] An undirected graph is constructed based on the historical dataset, which contains several user nodes corresponding to the several user labels;

[0014] The Node2Vec algorithm is used to learn features from the user nodes on the undirected graph, resulting in several initial user embedding vectors.

[0015] Based on the aforementioned initial user embedding vectors, a deep clustering network is used to cluster the aforementioned user tags, resulting in multiple clustering results;

[0016] For all user tags included in each clustering result, obtain all QoS values ​​associated with all user tags from the historical dataset, and then combine all user tags and the several service tags to generate a data subset corresponding to each clustering result.

[0017] Furthermore, the step of clustering the user labels using a deep clustering network based on the initial user embedding vectors to obtain multiple clustering results includes:

[0018] The deep clustering network includes a deep neural network and a clustering network, and the deep neural network is used to perform dimensionality reduction processing on the several initial user embedding vectors;

[0019] Calculate the Euclidean distance between every two initial user embedding vectors after dimensionality reduction, and then use the clustering network based on the K-Means algorithm to cluster the several user labels to obtain multiple clustering results.

[0020] Furthermore, the step of training the constructed multiple vector output models using the multiple data subsets to obtain the user embedding vector set and the service embedding vector set includes:

[0021] For all user tags and several service tags contained in each data subset, a single constructed vector output model is trained using each data subset to obtain all user embedding vectors corresponding to all user tags to form a user embedding vector subset, and several service embedding vectors corresponding to several service tags to form a service embedding vector subset.

[0022] Similarly, after training the constructed multiple vector output models, multiple user embedding vector subsets and multiple service embedding vector subsets are obtained. The multiple user embedding vector subsets are then combined to form a user embedding vector set, and the multiple service embedding vector subsets are combined to form a service embedding vector set.

[0023] Furthermore, training the constructed aggregation prediction model using the user embedding vector set and the service embedding vector set includes:

[0024] Based on the user embedding vector set and the service embedding vector set, multiple training data are generated, wherein each training data contains a single user embedding vector corresponding to a single user label and a single service embedding vector corresponding to a single service label.

[0025] The aggregate prediction model includes a sequentially connected attention network layer, MLP layer, and interaction function layer. The aggregate prediction model is trained using the multiple training data. During the entire training process, the similarity matrix and value matrix associated in the attention network layer are updated, and the weight parameters of the multiple vector output models associated in the MLP layer are updated.

[0026] Furthermore, the step of inputting the user label and service label to be tested into a pre-trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors includes:

[0027] A single trained vector output model associated with the user tag to be tested is obtained from multiple trained vector output models. A single user embedding vector corresponding to the user tag to be tested is generated using the single trained vector output model. Then, multiple service embedding vectors corresponding to the service tag to be tested are generated using the multiple trained vector output models.

[0028] Further, the step of inputting the single user embedding vector and the multiple service embedding vectors into the trained aggregation prediction model to obtain the predicted QoS value of the user under test when calling the service under test includes:

[0029] The multiple service embedding vectors are input into the trained attention network layer for feature extraction, resulting in multiple service feature vectors.

[0030] The multiple service feature vectors are input into the trained MLP layer for feature fusion to obtain the global service feature vector.

[0031] The individual user embedding vector and the global service feature vector are input into the interaction function layer for information fusion to obtain the predicted QoS value of the user under test when calling the service under test.

[0032] Secondly, a QoS prediction system for cloud services in a communication network is provided, the system comprising:

[0033] The acquisition module is used to acquire historical datasets, which include several user tags, several service tags, and the QoS value of each user when calling each service;

[0034] The segmentation module is used to divide the historical dataset into multiple data subsets based on the aforementioned user tags;

[0035] The first training module is used to train multiple vector output models constructed using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set.

[0036] The second training module is used to train the constructed aggregate prediction model using the user embedding vector set and the service embedding vector set;

[0037] The generation module is used to input the user labels and service labels to be tested into a pre-trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors.

[0038] The prediction module is used to input the single user embedding vector and the multiple service embedding vectors into the trained aggregate prediction model to obtain the predicted QoS value of the user under test when calling the service under test.

[0039] Thirdly, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the communication network cloud service QoS prediction method as described in the first aspect.

[0040] Fourthly, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the QoS prediction method for cloud services in a communication network as described in the first aspect.

[0041] This invention offers at least the following advantages: By introducing an undirected graph to describe the acquired historical dataset, then employing the Node2Vec algorithm for feature learning on this undirected graph, and finally introducing a deep clustering network to partition the historical dataset based on the feature learning results, it overcomes the shortcomings of inappropriate historical dataset partitioning in existing technologies, maximizing the preservation of collaborative information. Furthermore, by utilizing multiple subsets of data to train multiple vector output models and aggregate prediction models, QoS prediction performance can be improved. Attached Figure Description

[0042] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.

[0043] Figure 1 This is a flowchart illustrating a method for predicting QoS of cloud services in a communication network according to an embodiment of the present invention.

[0044] Figure 2 This is a flowchart illustrating a QoS prediction method for cloud services in a communication network, as described in another embodiment.

[0045] Figure 3 This is a schematic diagram of the composition of a communication network cloud service QoS prediction system according to an embodiment of the present invention;

[0046] Figure 4 This is a schematic diagram of the hardware structure of the computer device in an embodiment of this disclosure. Detailed Implementation

[0047] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0048] It should be noted that although functional modules are divided in the system diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowchart. The terms "first," "second," "third," "fourth," etc., used in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units that are not explicitly listed and are inherent to these processes, methods, products, or apparatuses.

[0049] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a QoS prediction method for cloud services in a communication network provided by an embodiment of the present invention. The method includes the following:

[0050] Step S110: Obtain historical dataset, which includes several user tags, several service tags, and the QoS value of each user when calling each service;

[0051] Step S120: Based on the aforementioned user tags, divide the historical dataset into multiple data subsets;

[0052] Step S130: Train the constructed multiple vector output models using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set;

[0053] Step S140: Train the constructed aggregation prediction model using the user embedding vector set and the service embedding vector set;

[0054] Step S150: Input the user label and service label to be tested into the trained multiple vector output model to obtain a single user embedding vector and multiple service embedding vectors.

[0055] Step S160: Input the single user embedding vector and the multiple service embedding vectors into the trained aggregation prediction model to obtain the predicted QoS value of the user under test when calling the service under test.

[0056] In an embodiment of the present invention, it is assumed that the number of the several user tags included in the historical data set is N1 and the number of the several service tags is N2, and both N1 and N2 are integers greater than zero. The specific implementation process of the above step S120 includes the following:

[0057] Step S121: Use the historical data set to construct an undirected graph. There are N1 user nodes associated with N1 user tags on the undirected graph, and the feature data carried on each user node is the QoS value generated by the user associated with the user node when calling each service.

[0058] Step S122: Perform random walks on the undirected graph through the existing Node2Vec algorithm, and learn the feature representations of all target user nodes adjacent to each user node, so as to obtain N1 initial user embedding vectors corresponding to the N1 user nodes.

[0059] Step S123: Use the N, initial user embedding vectors as features, perform clustering operations on the N1 user tags through a trained deep clustering network to obtain multiple clustering results, and record the number of the multiple clustering results as M1, where M1 is an integer greater than zero.

[0060] Step S124: Obtain the ith clustering result from the M1 clustering results. For all user tags involved in the ith clustering result, extract all QoS values directly associated with the all user tags from the historical data set, and then combine the N2 service tags and the all user tags to form the ith data subset corresponding to the ith clustering result and save it.

[0061] Step S125: Judge whether i<M1 holds; if it holds, assign i + 1 to i, and then return to execute the above step S124; if it does not hold, output the M1 data subsets corresponding to the saved M1 clustering results.

[0062] It should be noted that the above step S124 starts from i = 1.

[0063] At present, some scholars have proposed to use geographical regions to divide the historical data set, believing that users and services located in the same geographical region often have similar QoS values. However, relying solely on geographical proximity cannot guarantee network proximity, that is, users or services that are close to each other may still generate different QoS values due to connecting to different networks, making the data division result unreliable; based on this, the above clustering division method in step S120 is proposed, which can improve the reliability of data division.

[0064] More specifically, a clustering network and a deep neural network are provided inside the trained deep clustering network (DCN). The implementation process of step S123 is as follows: First, input the N1 initial user embedding vectors into the deep neural network to perform dimensionality reduction, that is, convert the N1 initial user embedding vectors in high dimensions to a low-dimensional space representation. Second, input the N1 initial user embedding vectors after dimensionality reduction and the N1 user labels into the clustering network. After calculating the Euclidean distance between every two initial user embedding vectors after dimensionality reduction, use the K-Means algorithm to perform clustering on the N1 user labels in combination with the given number of clusters M1 to obtain M1 clustering results.

[0065] More specifically, assume that the number of all user labels included in the i-th data subset mentioned in step S124 is K1, where K1 < N1 and K1 is a positive integer. The i-th data subset can be represented as a K1×N2 matrix, that is, fill the first column of the matrix with K1 user labels, fill the first row of the matrix with N2 service labels, and fill the middle part of the matrix with the Qos values generated when each user calls each service. When a user does not call a service, leave it blank at the corresponding position in the middle part of the matrix; or, the i-th data subset can be represented as an N2×K1 matrix, that is, fill the first column of the matrix with N2 service labels, fill the first row of the matrix with K1 user labels, and fill the middle part of the matrix with the Qos values generated when each user calls each service. When a user does not call a service, leave it blank at the corresponding position in the middle part of the matrix; or, the i-th data subset can be composed of multiple tuples, and the number of the multiple tuples is the same as the number of all Qos values included in the i-th data subset. Each tuple contains three elements, namely a user label, a service label, and its associated Qos value.

[0066] In the embodiment of the present invention, M1 vector output models are created in advance. Each vector output model can select an existing GraphFM (Graph Factorization Machines) model. The specific implementation process of step S130 includes the following:

[0067] Step S131: Obtain the i-th data subset from the M1 data subsets, and obtain the i-th vector output model from the M1 vector output models;

[0068] Step S132: For all user tags included in the \(i\)-th data subset, input the \(i\)-th data subset into the \(i\)-th vector output model to perform a training operation, obtain all user embedding vectors corresponding to all the user tags, and then form the \(i\)-th user embedding vector subset and save it;

[0069] Step S133: For the \(N2\) service tags included in the \(i\)-th data subset, input the \(i\)-th data subset into the \(i\)-th vector output model to perform a training operation, obtain \(N2\) service embedding vectors corresponding to the \(N2\) service tags, and then form the \(i\)-th service embedding vector subset and save it;

[0070] Step S134: Determine whether \(i < M1\) holds; if it holds, assign \(i + 1\) to \(i\), and then return to execute the above Step S131; if it does not hold, output the user embedding vector set formed by the \(M1\) user embedding vector subsets obtained by training the saved \(M1\) vector output models, and output the service embedding vector set formed by the \(M1\) service embedding vector subsets obtained by training the saved \(M1\) vector output models;

[0071] It should be noted that the above Step S131 starts from \(i = 1\); the user embedding vector set actually contains \(N1\) user embedding vectors associated with the \(N1\) user tags, and the service embedding vector set actually contains \(M1×N2\) service embedding vectors associated with the \(N2\) service tags.

[0072] In the embodiment of the present invention, the pre-created aggregation prediction model at least includes an attention network layer, an MLP (Multilayer Perceptron) layer, and an interaction function layer. The attention network layer is connected to the MLP layer, the MLP layer is connected to the interaction function layer, the attention network layer is set at the model input end, and the interaction function layer is set at the model output end. The following descriptions are made for the applications of the above layers:

[0073] (1) The attention network layer can be built using the original self-attention mechanism, and the mathematical model it adopts is:

[0074]

[0075] where, is the service feature vector set with a dimension of \(M1\), the function is the normalized exponential function, is the query embedding vector set, is the key embedding vector set, is the value embedding vector set, is the transpose symbol, Output the service embedding vector generated by the model for the i-th vector. It refers to the service embedding vector matrix formed by stacking the M1 service embedding vectors generated from the M1 vector output models. For querying the set of embedded vectors The weight matrix, Embedded vector set for keys The weight matrix, Embedded vector set for values The weight matrix, typically, is a weight matrix. Weight matrix and weight matrix It will be trained to adapt to the task so that the query embedding vector set can be used. Key embedding vector set Sum value embedding vector set The transformation can better obtain the service embedding vector matrix. Feature information in;

[0076] However, the original self-attention mechanism suffers from the drawback of secondary computational complexity. To reduce computational costs, this invention improves the original self-attention mechanism, resulting in the mathematical model used in the improved attention network layer as follows:

[0077]

[0078] in, It is a norm-based function, also known as a standardized function. It is a similarity matrix. This is a value matrix.

[0079] (2) The mathematical model used in the MLP layer is:

[0080]

[0081] in, For global service feature vectors, This is the activation function, and the present invention sets it as the maximum value function. Refers to the fully connected layer. As a factor dimension, and in this fully connected layer The application process involves M1 vector output models and M1 weight parameters.

[0082] (3) The mathematical model used in the interaction function layer is: ,in The user embedding vector is used as input to the aggregate prediction model. The predicted QoS value generated when a user invokes the service;

[0083] In addition, the interaction function layer can also choose to adopt another mathematical model: ,in Refers to user embedding vector With global service feature vector splicing operations between them Refers to a multilayer perceptron.

[0084] In this embodiment of the invention, the specific implementation process of step S140 includes the following:

[0085] Step S141: Perform different vector binding processing on the service embedding vector set and the user embedding vector set to obtain M1×N2×N1 training data, such that each training data packet contains a single service embedding vector associated with a single service tag and a single user embedding vector associated with a single user tag.

[0086] Step S142: Input the M1×N2×N1 training data into the aggregated prediction model to perform training operations, and during the entire training process, it is necessary to learn and update the value matrix mentioned in the attention network layer. and similarity matrix And learn to update the M1 weight parameters corresponding to the M1 vector output models mentioned in the MLP layer.

[0087] In this embodiment of the invention, the user tag to be tested is actually one of the N1 user tags, and the service tag to be tested is actually one of the N2 service tags. The specific implementation process of the above step S150 includes the following:

[0088] Step S151: Obtain a single trained vector output model that is directly related to the user label to be tested from the M1 trained vector output models, and then input the user label to be tested into the single trained vector output model for matching to generate the corresponding single user embedding vector.

[0089] Step S152: Input the service labels to be tested into the trained M1 vector output models for matching to generate corresponding M1 service embedding vectors.

[0090] In this embodiment of the invention, the specific implementation process of step S160 includes:

[0091] Step S161: Perform feature extraction on the M1 service embedding vectors input by external input using the trained attention network layer, thereby obtaining the M1 service feature vectors corresponding to the M1 service embedding vectors and inputting them into the trained MLP layer.

[0092] Step S162: Perform feature fusion operation on the M1 service feature vectors using the trained MLP layer to obtain a global service feature vector and input it into the interaction function layer;

[0093] Step S163: Perform information fusion operation on the global service feature vector and the externally input single user embedding vector using the interaction function layer to obtain the predicted QoS value generated by the user under test when calling the service under test.

[0094] In this embodiment of the invention, an undirected graph is introduced to describe the acquired historical dataset. Then, the Node2Vec algorithm is used to learn features from this undirected graph. Finally, a deep clustering network is introduced to partition the historical dataset based on the feature learning results. This addresses the shortcomings of inappropriate historical dataset partitioning in existing technologies and preserves collaborative information to the greatest extent possible. By using multiple subsets of data to train multiple vector output models and aggregate prediction models, QoS prediction performance can be effectively improved.

[0095] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating a QoS prediction method for cloud services in a communication network, provided in another embodiment. The method includes the following:

[0096] Step S210: Obtain historical dataset, which includes several user tags, several service tags, and the QoS value of each user when calling each service;

[0097] Step S220: Based on the aforementioned service tags, divide the historical dataset into multiple data subsets;

[0098] Step S230: Train the constructed multiple vector output models using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set;

[0099] Step S240: Train the constructed aggregation prediction model using the user embedding vector set and the service embedding vector set;

[0100] Step S250: Input the user label and service label to be tested into the trained multiple vector output model to obtain a single service embedding vector and multiple user embedding vectors.

[0101] Step S260: Input the single service embedding vector and the multiple user embedding vectors into the trained aggregation prediction model to obtain the predicted QoS value of the user under test when calling the service under test.

[0102] In an embodiment of the present invention, it is assumed that the number of the several user tags included in the historical dataset is N1 and the number of the several service tags is N2, and both N1 and N2 are integers greater than zero. The specific implementation process of the above step S220 includes the following:

[0103] Step S221: Use the historical dataset to construct an undirected graph. There are N2 service nodes associated with N2 service tags on the undirected graph, and the feature data carried on each service node is the QoS value generated when the service associated with the service node is called by each user.

[0104] Step S222: Perform random walks on the undirected graph through the existing Node2Vec algorithm, and learn the feature representations of all target service nodes adjacent to each service node, so as to obtain N2 initial service embedding vectors corresponding to the N2 service nodes.

[0105] Step S223: Use the N2 initial service embedding vectors as features, and perform clustering operations on the N2 service tags through a trained deep clustering network to obtain multiple clustering results, and record the number of the multiple clustering results as M2, where M2 is an integer greater than zero.

[0106] Step S224: Obtain the j-th clustering result from the M2 clustering results. For all service tags involved in the j-th clustering result, extract all Qos values directly associated with all service tags from the historical dataset, and then combine N1 user tags and all service tags to form the j-th data subset corresponding to the j-th clustering result and save it.

[0107] Step S225: Judge whether j < M2 holds; if it holds, assign j + 1 to j, and then return to execute the above step S224; if it does not hold, output the M2 data subsets corresponding to the saved M2 clustering results.

[0108] It should be noted that the above step S224 starts to execute from j = 1.

[0109] More specifically, a clustering network and a deep neural network are provided inside the trained Deep Clustering Network (DCN). The implementation process of step S223 is as follows: First, input the N2 initial service embedding vectors into the deep neural network to perform dimensionality reduction, that is, convert the N2 initial service embedding vectors in high dimensions to a low-dimensional space representation. Second, input the N2 dimensionality-reduced initial service embedding vectors and the N2 service labels into the clustering network. After calculating the Euclidean distance between every two dimensionality-reduced initial service embedding vectors, use the K-Means algorithm to perform clustering on the N2 service labels in combination with the given number of clusters M2 to obtain M2 clustering results.

[0110] More specifically, assume that the number of all service labels included in the j-th data subset mentioned in step S224 is K2, where K2 < N2 and K2 is a positive integer. The j-th data subset can be represented as a K2×N1 matrix, that is, fill the first column of the matrix with K2 service labels, fill the first row of the matrix with N1 user labels, and fill the middle part of the matrix with the Qos values generated when each user calls each service. When a user does not call a service, leave it blank at the corresponding position in the middle part of the matrix; or, the j-th data subset can be represented as an N1×K2 matrix, that is, fill the first column of the matrix with N1 user labels, fill the first row of the matrix with K2 service labels, and fill the middle part of the matrix with the Qos values generated when each user calls each service. When a user does not call a service, leave it blank at the corresponding position in the middle part of the matrix; or, the j-th data subset can be composed of multiple tuples, and the number of the multiple tuples is the same as the number of all Qos values included in the j-th data subset. Each tuple contains three elements, namely user label, service label, and its associated Qos value.

[0111] In the embodiment of the present invention, M2 vector output models are created in advance. Each vector output model can select an existing GraphFM (Graph Factorization Machines) model. The specific implementation process of step S230 includes the following:

[0112] Step S231: Obtain the j-th data subset from the M2 data subsets, and obtain the j-th vector output model from the M2 vector output models;

[0113] Step S232: For all service tags included in the j-th data subset, input the j-th data subset into the j-th vector output model to perform a training operation, obtain all service embedding vectors corresponding to all the service tags, and then form the j-th service embedding vector subset and save it;

[0114] Step S233: For the N1 user tags included in the j-th data subset, input the j-th data subset into the j-th vector output model to perform a training operation, obtain N1 user embedding vectors corresponding to the N1 user tags, and then form the j-th user embedding vector subset and save it;

[0115] Step S234: Determine whether j < M2 holds; if it holds, assign j + 1 to j, and then return to execute the above Step S231; if it does not hold, output the service embedding vector set formed by the M2 service embedding vector subsets trained by the saved M2 vector output models, and output the user embedding vector set formed by the M2 user embedding vector subsets trained by the saved M2 vector output models;

[0116] It should be noted that the above Step S231 starts from j = 1; the service embedding vector set actually contains N2 service embedding vectors associated with the N2 service tags, and the user embedding vector set actually contains M2 × N1 user embedding vectors associated with the N1 user tags.

[0117] In an embodiment of the present invention, the pre-created aggregation prediction model at least includes an attention network layer, an MLP (Multilayer Perceptron) layer, and an interaction function layer. The attention network layer is connected to the MLP layer, the MLP layer is connected to the interaction function layer, the attention network layer is set at the model input end, and the interaction function layer is set at the model output end. The following descriptions are made for the applications of the above layers:

[0118] (1) The attention network layer can be built using an improved self-attention mechanism, and the mathematical model it adopts is:

[0119]

[0120] Where, is the user feature vector set with a dimension of M2, is the norm solving function, also known as the normalization function, is the transpose symbol, is the user embedding vector generated by the j-th vector output model, It refers to the user embedding vector matrix formed by stacking the M2 user embedding vectors generated from the M2 vector output models. It is a similarity matrix. This is a value matrix.

[0121] (2) The mathematical model used in the MLP layer is:

[0122]

[0123] in, For global user feature vectors, This is the activation function, and the present invention sets it as the maximum value function. Refers to the fully connected layer. As a factor dimension, and in this fully connected layer The application process involves M2 vectors and M2 weight parameters corresponding to the output model.

[0124] (3) The mathematical model used in the interaction function layer is: ,in The service embedding vector is used as input to the aggregate prediction model. The predicted QoS value generated when a user invokes the service;

[0125] In addition, the interaction function layer can also choose to adopt another mathematical model: ,in Refers to service embedding vector With global user feature vector splicing operations between them Refers to a multilayer perceptron.

[0126] In this embodiment of the invention, the specific implementation process of step S240 includes the following:

[0127] Step S241: Perform different vector binding processing on the service embedding vector set and the user embedding vector set to obtain M2×N1×N2 training data, such that each training data packet contains a single service embedding vector associated with a single service tag and a single user embedding vector associated with a single user tag.

[0128] Step S242: Input the M2×N1×N2 training data into the aggregated prediction model to perform training operations, and during the entire training process, it is necessary to learn and update the value matrix mentioned in the attention network layer. and similarity matrix And learn to update the M2 weight parameters corresponding to the M2 vector output models mentioned in the MLP layer.

[0129] In this embodiment of the invention, the user tag to be tested is actually one of the N1 user tags, and the service tag to be tested is actually one of the N2 service tags. The specific implementation process of the above step S250 includes the following:

[0130] Step S251: Obtain a single trained vector output model that is directly related to the service tag to be tested from the M2 trained vector output models, and then input the service tag to be tested into the single trained vector output model for matching to generate the corresponding single service embedding vector.

[0131] Step S152: Input the user labels to be tested into the trained M2 vector output models for matching to generate corresponding M2 user embedding vectors.

[0132] In this embodiment of the invention, the specific implementation process of step S260 includes:

[0133] Step S261: Perform feature extraction on the M2 user embedding vectors input by the external input using the trained attention network layer, thereby obtaining the M2 user feature vectors corresponding to the M2 user embedding vectors and inputting them into the trained MLP layer;

[0134] Step S262: Perform feature fusion operation on the M2 user feature vectors using the trained MLP layer to obtain a global user feature vector and input it into the interaction function layer;

[0135] Step S263: Perform information fusion operation on the global user feature vector and the externally input single service embedding vector using the interaction function layer to obtain the predicted QoS value generated by the user under test when calling the service under test.

[0136] In this embodiment of the invention, an undirected graph is introduced to describe the acquired historical dataset. Then, the Node2Vec algorithm is used to learn features from this undirected graph. Finally, a deep clustering network is introduced to partition the historical dataset based on the feature learning results. This addresses the shortcomings of inappropriate historical dataset partitioning in existing technologies and preserves collaborative information to the greatest extent possible. By using multiple subsets of data to train multiple vector output models and aggregate prediction models, QoS prediction performance can be effectively improved.

[0137] Please refer to Figure 3 , Figure 3This is a schematic diagram of the composition of a communication network cloud service QoS prediction system provided in an embodiment of the present invention. The system includes an acquisition module 310, a partitioning module 320, a first training module 330, a second training module 340, a generation module 350, and a prediction module 360 ​​connected in sequence.

[0138] In one specific implementation, the acquisition module 310 acquires a historical dataset based on the historical call history of each user to each service. The historical dataset contains several service tags, several user tags, and the QoS value generated by each user when calling each service. The partitioning module 320 partitions the historical dataset based on the several user tags to obtain multiple data subsets. The first training module 330 inputs the multiple data subsets into multiple pre-created vector output models to obtain service embedding vector sets and user embedding vector sets through model training. The second training module 340 inputs the service embedding vector sets and the user embedding vector sets into a pre-created aggregation prediction model to complete model training.

[0139] After completing the above-mentioned model training tasks, the first training module 330 can transmit the trained multiple vector output models to the generation module 350, and the second training module 340 can transmit the trained aggregate prediction model to the prediction module 360. The generation module 350 obtains the user-provided service tag and user tag and simultaneously inputs them into the trained multiple vector output models to generate multiple service embedding vectors and a single user embedding vector. The prediction module 360 ​​inputs the multiple service embedding vectors and the single user embedding vector into the trained aggregate prediction model to output the predicted QoS value generated when the user calls the service to be tested.

[0140] The above regarding Figure 1 The content of the provided method embodiments is applicable to the device embodiments. The functions implemented by the device embodiments are the same as those of the method embodiments, and the beneficial effects achieved are the same as those of the method embodiments, so they will not be repeated here.

[0141] In another specific implementation, the acquisition module 310 acquires a historical dataset based on the historical call history of each user to each service. The historical dataset contains several service tags, several user tags, and the QoS value generated by each user when calling each service. The partitioning module 320 partitions the historical dataset based on the several service tags to obtain multiple data subsets. The first training module 330 inputs the multiple data subsets into multiple pre-created vector output models to obtain service embedding vector sets and user embedding vector sets through model training. The second training module 340 inputs the service embedding vector sets and the user embedding vector sets into a pre-created aggregation prediction model to complete model training.

[0142] After completing the above-mentioned model training tasks, the first training module 330 can transmit the trained multiple vector output models to the generation module 350, and the second training module 340 can transmit the trained aggregate prediction model to the prediction module 360. The generation module 350 obtains the user-provided service tag and user tag and simultaneously inputs them into the trained multiple vector output models to generate multiple user embedding vectors and a single service embedding vector. The prediction module 360 ​​inputs the multiple user embedding vectors and the single service embedding vector into the trained aggregate prediction model to output the predicted QoS value generated when the user calls the service to be tested.

[0143] The above regarding Figure 2 The content of the provided method embodiments is applicable to the device embodiments. The functions implemented by the device embodiments are the same as those of the method embodiments, and the beneficial effects achieved are the same as those of the method embodiments, so they will not be repeated here.

[0144] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the QoS prediction method for cloud services in the communication network described in the above embodiments. The computer-readable storage medium includes, but is not limited to, any type of disk (including floppy disks, hard disks, optical disks, CD-ROMs, and magneto-optical disks), ROM (Read-Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, magnetic cards, or optical cards. In other words, the storage device includes any medium on which a device (e.g., a computer, mobile phone, etc.) stores or transmits information in a readable form, and can be a read-only memory, a disk, or an optical disk, etc.

[0145] also, Figure 4 This is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention. The computer device includes components such as a processor 420, a memory 430, an input unit 440, and a display unit 450. Those skilled in the art will understand that... Figure 4 The illustrated device structure is not intended to limit all devices and may include more or fewer components than shown, or combine certain components. Memory 430 can be used to store computer program 410 and various functional modules. Processor 420 runs the computer program 410 stored in memory 430, thereby performing various functional applications and data processing of the device. Memory can be internal memory or external memory, or include both internal and external memory. Internal memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or random access memory. External memory may include hard disks, floppy disks, ZIP disks, USB flash drives, magnetic tapes, etc. The memory 430 disclosed in the embodiments of this invention includes, but is not limited to, these types of memory. The memory 430 disclosed in the embodiments of this invention is only an example and not a limitation.

[0146] Input unit 440 is used to receive signal input and user-input keywords. Input unit 440 may include a touch panel and other input devices. The touch panel can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel) and drive the corresponding connection device according to a pre-set program; other input devices may include, but are not limited to, one or more of physical keyboards, function keys (such as play control buttons, power buttons, etc.), trackballs, mice, joysticks, etc. Display unit 450 can be used to display user-input information or information provided to the user, as well as various menus of the terminal device. Display unit 450 may be in the form of a liquid crystal display, organic light-emitting diode, etc. Processor 420 is the control center of the terminal device, connecting various parts of the entire device through various interfaces and lines, performing various functions and processing data by running or executing software programs and / or modules stored in memory 430, and calling data stored in memory.

[0147] As one embodiment, the computer device includes a processor 420, a memory 430, and a computer program 410, wherein the computer program 410 is stored in the memory 430 and configured to be executed by the processor 420, and the computer program 410 is configured to perform the communication network cloud service QoS prediction method in the above embodiment.

[0148] Although the description of this application has been quite detailed and particularly focused on several of the described embodiments, it is not intended to limit itself to any of these details or embodiments or any particular embodiment. Rather, it should be considered as effectively covering the intended scope of this application by referring to the appended claims and taking into account the prior art, which provides for a broad possible interpretation of these claims. Furthermore, the foregoing description of this application with respect to embodiments foreseeable by the inventors is intended to provide a useful description, and non-substantial modifications to this application that have not yet been foreseen may still represent equivalent modifications.

Claims

1. A method for predicting QoS of cloud services in a communication network, characterized in that, The method includes: Obtain the historical dataset, which includes several user tags, several service tags, and the QoS value of each user when calling each service; Based on the aforementioned user tags, the historical dataset is divided into multiple data subsets; The multiple data subsets are used to train the constructed multiple vector output models to obtain a user embedding vector set and a service embedding vector set; The constructed aggregation prediction model is trained using the user embedding vector set and the service embedding vector set; Input the user label and service label to be tested into the trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors; The single user embedding vector and the multiple service embedding vectors are input into the trained aggregate prediction model to obtain the predicted QoS value of the user under test when calling the service under test. The step of dividing the historical dataset into multiple data subsets based on the aforementioned user tags includes: An undirected graph is constructed based on the historical dataset, which contains several user nodes corresponding to the several user labels; The Node2Vec algorithm is used to learn features from the user nodes on the undirected graph, resulting in several initial user embedding vectors. Based on the aforementioned initial user embedding vectors, a deep clustering network is used to cluster the aforementioned user tags, resulting in multiple clustering results; For all user tags included in each clustering result, obtain all QoS values ​​associated with all user tags from the historical dataset, and then combine all user tags and the several service tags to generate a data subset corresponding to each clustering result.

2. The QoS prediction method for cloud services in a communication network according to claim 1, characterized in that, The step of clustering the user tags using a deep clustering network based on the initial user embedding vectors to obtain multiple clustering results includes: The deep clustering network includes a deep neural network and a clustering network, and the deep neural network is used to perform dimensionality reduction processing on the several initial user embedding vectors; Calculate the Euclidean distance between every two initial user embedding vectors after dimensionality reduction, and then use the clustering network based on the K-Means algorithm to cluster the several user labels to obtain multiple clustering results.

3. The QoS prediction method for cloud services in a communication network according to claim 1, characterized in that, The step of training multiple pre-constructed vector output models using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set includes: For all user tags and several service tags contained in each data subset, a single constructed vector output model is trained using each data subset to obtain all user embedding vectors corresponding to all user tags to form a user embedding vector subset, and several service embedding vectors corresponding to several service tags to form a service embedding vector subset. Similarly, after training the constructed multiple vector output models, multiple user embedding vector subsets and multiple service embedding vector subsets are obtained. The multiple user embedding vector subsets are then combined to form a user embedding vector set, and the multiple service embedding vector subsets are combined to form a service embedding vector set.

4. The QoS prediction method for cloud services in a communication network according to claim 3, characterized in that, The step of training the constructed aggregate prediction model using the user embedding vector set and the service embedding vector set includes: Based on the user embedding vector set and the service embedding vector set, multiple training data are generated, wherein each training data contains a single user embedding vector corresponding to a single user label and a single service embedding vector corresponding to a single service label. The aggregate prediction model includes a sequentially connected attention network layer, MLP layer, and interaction function layer. The aggregate prediction model is trained using the multiple training data. During the entire training process, the similarity matrix and value matrix associated in the attention network layer are updated, and the weight parameters of the multiple vector output models associated in the MLP layer are updated.

5. The QoS prediction method for cloud services in a communication network according to claim 3, characterized in that, The step of inputting the user label and service label to be tested into a pre-trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors includes: A single trained vector output model associated with the user tag to be tested is obtained from multiple trained vector output models. A single user embedding vector corresponding to the user tag to be tested is generated using the single trained vector output model. Then, multiple service embedding vectors corresponding to the service tag to be tested are generated using the multiple trained vector output models.

6. The QoS prediction method for cloud services in a communication network according to claim 4, characterized in that, The step of inputting the single user embedding vector and the multiple service embedding vectors into the trained aggregate prediction model to obtain the predicted QoS value of the user under test when calling the service under test includes: The multiple service embedding vectors are input into the trained attention network layer for feature extraction, resulting in multiple service feature vectors. The multiple service feature vectors are input into the trained MLP layer for feature fusion to obtain the global service feature vector. The individual user embedding vector and the global service feature vector are input into the interaction function layer for information fusion to obtain the predicted QoS value of the user under test when calling the service under test.

7. A QoS prediction system for cloud services in a communication network, characterized in that, The system includes: The acquisition module is used to acquire historical datasets, which include several user tags, several service tags, and the QoS value of each user when calling each service; The segmentation module is used to divide the historical dataset into multiple data subsets based on the aforementioned user tags; The first training module is used to train multiple vector output models constructed using the multiple data subsets to obtain a user embedding vector set and a service embedding vector set. The second training module is used to train the constructed aggregate prediction model using the user embedding vector set and the service embedding vector set; The generation module is used to input the user labels and service labels to be tested into a pre-trained multi-vector output model to obtain a single user embedding vector and multiple service embedding vectors. The prediction module is used to input the single user embedding vector and the multiple service embedding vectors into the trained aggregate prediction model to obtain the predicted QoS value of the user under test when calling the service under test. The step of dividing the historical dataset into multiple data subsets based on the aforementioned user tags includes: An undirected graph is constructed based on the historical dataset, which contains several user nodes corresponding to the several user labels; The Node2Vec algorithm is used to learn features from the user nodes on the undirected graph, resulting in several initial user embedding vectors. Based on the aforementioned initial user embedding vectors, a deep clustering network is used to cluster the aforementioned user tags, resulting in multiple clustering results; For all user tags included in each clustering result, obtain all QoS values ​​associated with all user tags from the historical dataset, and then combine all user tags and the several service tags to generate a data subset corresponding to each clustering result.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, The processor executes the computer program to implement the communication network cloud service QoS prediction method as described in any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the QoS prediction method for cloud services in a communication network as described in any one of claims 1 to 6.