A microservice orchestration recommendation method based on interface matching

By building a microservice dependency graph and graph convolutional neural network, the microservice embedding vector is extracted, and the problem of poor microservice orchestration recommendation in traditional methods is solved, and efficient and accurate microservice orchestration is achieved.

CN117271902BActive Publication Date: 2025-08-26UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311470917.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-07
Publication Date
2025-08-26
Estimated Expiration
2043-11-07

AI Technical Summary

Technical Problem

In the microservice orchestration process, traditional collaborative filtering algorithms cannot effectively consider the dependencies and execution order between microservices, resulting in poor recommendation results and it is difficult to complete microservice orchestration efficiently and accurately.

Method used

By building a dependency graph of microservices, using graph convolutional neural network to extract the embedded vectors of microservices, and compute the similarity based on interface matching, the next microservice orchestration scheme is recommended.

Benefits of technology

It improves the recommendation effect of microservice orchestration, ensures that the recommended microservices comply with the execution sequence logic, and improves the accuracy and efficiency of orchestration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117271902B_ABST
    Figure CN117271902B_ABST
Patent Text Reader

Abstract

The present invention relates to microservice orchestration technology, which discloses a microservice orchestration recommendation method based on interface matching, which improves the recommendation effect of microservice orchestration and helps modelers to complete the orchestration of the entire microservice efficiently and accurately. The present invention uses a semantic-based method to perform semantic extraction on the description information of the input and output interfaces of microservices in a microservice orchestration database, and determines the call relationship between microservices based on the semantic matching between the output interface of each microservice and the input interface of other microservices, thereby constructing a microservice dependency graph. Based on the microservice dependency graph, a graph convolutional neural network is used to generate an embedding vector for each microservice; when making recommendations, the similarity between the vector of the current microservice workflow that the user has orchestrated and the embedding vector of the microservice in the microservice orchestration database is calculated, thereby recommending to the user the microservices that may be used in the next step of the orchestration work. The present invention is suitable for microservice orchestration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to microservice orchestration technology, and in particular to a microservice orchestration recommendation method based on interface matching. Background Art

[0002] As service systems continue to expand, service architectures are also evolving. Large enterprises have rapidly transitioned from traditional monolithic architectures to distributed architectures. Distributed architectures split traditional monolithic systems according to business needs, reducing the coupling of the entire project and facilitating development across large teams. Distributed architectures have also evolved through layers of iteration, ultimately evolving from SOA (Service-Oriented Architecture) to today's microservices architecture.

[0003] Building on SOA, microservices further decompose existing applications into a collection of loosely coupled service components. This makes microservices easier to understand, develop, and test, and provides a degree of protection against intrusion vulnerabilities inherent in RPC architectures. While microservices offer numerous advantages, orchestrating and coordinating them is a complex problem. Enabling the orchestration of cross-domain, distributed, and unrelated microservice components to jointly deliver unified services requires the design of an efficient orchestration model. With the increasing popularity of microservice architectures and the continuous increase in the number of microservices, information overload is inevitable. For microservice orchestrators, selecting the right microservices for the current application scenario from the vast number of microservices stored in the microservices library is a significant challenge. To address this issue and help modelers easily and quickly complete the orchestration of microservices, research on microservice orchestration recommendation systems is essential.

[0004] However, in the context of microservice orchestration, using a traditional collaborative filtering algorithm for recommendation will tend to recommend microservices with similar functionality to the current microservice. In real-world microservice orchestration tasks, adjacent microservices often have completely different functions. Using traditional collaborative filtering algorithms to orchestrate similar microservices together is meaningless, as they lack information about the dependencies between microservices and their execution order. Consequently, traditional recommendations for microservice orchestration are ineffective. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to propose a microservice orchestration recommendation method based on interface matching, improve the recommendation effect of microservice orchestration, and help modelers complete the orchestration of the entire microservice efficiently and accurately.

[0006] The technical solution adopted by the present invention to solve the above technical problems is:

[0007] A microservice orchestration recommendation method based on interface matching includes the following steps:

[0008] S1. Based on the interface matching between each microservice in the microservice orchestration database, a microservice dependency graph is constructed; in the dependency graph, nodes represent microservices, and edges between nodes represent call relationships between microservices;

[0009] S2. Extract the vector of each node in the dependency graph as the embedding vector of the corresponding microservice through the graph convolutional neural network;

[0010] S3. When performing microservice orchestration, for the current microservice workflow that the user has orchestrated, recommend the user the microservices that may be used in the next step of the current microservice workflow in the following way:

[0011] S31. Calculate a comprehensive vector of the current microservice workflow based on the embedding vectors of the microservices in the current microservice workflow.

[0012] S32. Calculate the similarity between the comprehensive vector of the current microservice workflow and the embedding vectors of each microservice in the microservice orchestration database and sort them. Based on the sorting results, recommend to the user the microservices that may be used in the next step of the current microservice workflow.

[0013] Furthermore, in step S1, based on the interface matching between each microservice in the microservice orchestration database, a microservice dependency graph is constructed, which specifically includes:

[0014] S11. Divide the description documents of each microservice in the microservice orchestration database to obtain input documents and output documents corresponding to each microservice;

[0015] S12. Extract keywords from the input documents and output documents corresponding to each microservice;

[0016] S13. Use the pre-trained model to extract word vectors for the keywords of the input documents and output documents of each microservice, and then concatenate the word vectors of all keywords in the input documents and output documents to obtain the corresponding input vectors and output vectors of each microservice;

[0017] S14. For each microservice, calculate the similarity between its output vector and the input vectors of each other microservice and sort them from high to low, and select a set number of microservices with the highest ranking as the microservices that have a call relationship with the microservice;

[0018] S15. Take each microservice as a node, connect the microservices with a call relationship as the edges between the nodes, and build a microservice dependency graph.

[0019] Furthermore, in step S11, the input document covers the input interface description of the microservice, and the output document covers the output interface description of the microservice. The input interface description and the output interface description include interface parameter names, parameter types and function description information.

[0020] Furthermore, in step S14, for each microservice, the similarity between its output vector and the input vectors of other microservices is calculated, specifically including:

[0021] Take each microservice as the matching target, traverse all other microservices in the microservice orchestration database as the objects to be matched, and calculate the similarity score between the output vector of the matching target and the input vector of the object to be matched using the following formula:

[0022]

[0023] Among them, S1 is the matching target, S2 is the object to be matched, S10 i Represents the i-th output vector of the matching target, S2I j represents the jth input vector of the object to be matched, n is the total number of output vectors of the matching target, and m is the total number of input vectors of the object to be matched; max() is the maximum value function; sim() is the similarity function.

[0024] Furthermore, in step S2, the vector of each node in the dependency graph is extracted as the embedding vector of the corresponding microservice through the graph convolutional neural network, which specifically includes:

[0025] Using a graph convolutional neural network, the Microservice2vce method is used to extract the vectors of each node in the dependency graph according to the following steps:

[0026] S21, randomly select a node in the dependency graph as the central node;

[0027] S22, perform K-order neighborhood sampling on the central node to obtain a neighbor set of the central node;

[0028] S23. Aggregate the vectors of the microservices corresponding to all nodes in the neighbor set of the central node step by step to obtain a node vector of the central node; the vector of the microservice is formed by concatenating all input vectors and output vectors of the microservice;

[0029] S24. Execute steps S21-S23 in a loop until the node vectors of all nodes in the dependency graph are extracted.

[0030] Furthermore, in step S23, the vectors of the microservices corresponding to all nodes in the neighbor set of the central node are aggregated step by step to obtain the node vector of the central node, which specifically includes:

[0031] Neighbor node vector aggregation:

[0032]

[0033]

[0034] Among them, v represents the central node, u represents the neighbor node one hop away from the central node v, W is the weight matrix, σ represents the sigmoid function, It represents the vector obtained by aggregating all k-order neighbor nodes of the central node v, and MEAN() is the mean value function;

[0035] Center node vector update:

[0036]

[0037] Among them, CONCAT() is a concatenation operation. is the node vector of the center node v after the last update.

[0038] Furthermore, in step S31 , the comprehensive vector of the current microservice workflow is formed by concatenating the embedding vector of the last orchestrated microservice in the current microservice workflow and the embedding vector of the microservice preceding this microservice.

[0039] Furthermore, in step S32, the similarity between the comprehensive vector of the current microservice workflow and the embedding vectors of each microservice in the microservice orchestration database is calculated, specifically including:

[0040]

[0041] Among them, A represents the comprehensive vector of the current microservice workflow, B represents the embedding vector of the microservice in the microservice orchestration database, α and β are weights, and v q is the embedding vector of the last orchestrated microservice in the current microservice workflow, v q-1 is the embedding vector of the previous microservice of the last orchestrated microservice in the current microservice workflow, B i represents the i-th component of vector B, and z represents the total number of components contained in the vector.

[0042] The beneficial effects of the present invention are:

[0043] The present invention uses a semantic-based method to perform semantic extraction on the description information of the input and output interfaces of microservices in the microservice orchestration database. Based on the semantic matching between the output interface of each microservice and the input interface of other microservices, the calling relationship between microservices is determined, thereby constructing a microservice dependency graph. Based on the microservice dependency graph, a graph convolutional neural network is used to generate an embedding vector for each microservice. When making recommendations, the similarity between the vector of the current microservice workflow orchestrated by the user and the embedding vector of the microservices in the microservice orchestration database is calculated to recommend to the user the microservices that may be used in the next step of the orchestration work.

[0044] Since the calculation of the embedding vector of the microservice is based on the microservice dependency graph, and the microservice dependency graph takes into account the matching relationship between the input and output interfaces of the microservice during the generation process, this matching relationship reflects the calling relationship between the microservices; thus, the interface calling relationship of the microservice is also incorporated into the embedding vector of the microservice, so that the microservices recommended by similarity calculation are more in line with the logical requirements for execution order in the microservice orchestration scenario, thereby improving the recommendation effect of microservice orchestration; in addition, in the recommendation process, the similarity between the overall vector of the current microservice workflow orchestrated by the user and the embedding vector of the microservice in the database is calculated, and the overall vector of the current microservice workflow orchestrated by the user takes into account the front-end calling relationship of each microservice in the orchestrated microservice flow, that is, it fully considers the existing execution logic, so that the next recommended microservice can better fit the orchestrated microservice flow, thereby improving the overall microservice orchestration effect.

[0045] Based on the above, the microservice orchestration recommendation method implemented by the present invention can help modelers complete the orchestration of the entire microservice efficiently and accurately. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 This is a flowchart of the recommended method for microservice orchestration based on interface matching in the present invention;

[0047] Figure 2 This is an exemplary microservice dependency graph;

[0048] Figure 3 A flowchart of constructing a dependency graph of microservices in the present invention;

[0049] Figure 4 Recommended schematic diagram for leave approval service arrangement. DETAILED DESCRIPTION

[0050] The present invention aims to propose a microservice orchestration recommendation method based on interface matching, improve the recommendation effect of microservice orchestration, and help modelers to complete the orchestration of the entire microservice efficiently and accurately. Figure 1 First, based on the interface matching between each microservice in the microservice orchestration database, a microservice dependency graph is constructed; then, the vector of each node in the dependency graph is extracted as the embedding vector of the corresponding microservice through a graph convolutional neural network; finally, when performing microservice orchestration, the similarity between the comprehensive vector of the current microservice workflow orchestrated by the user and the embedding vectors of each microservice in the microservice orchestration database is calculated and sorted, and based on the sorting results, the microservices that may be used in the next step of the current microservice workflow are recommended to the user.

[0051] The solution of the present invention is further described below with reference to the accompanying drawings and embodiments.

[0052] Example:

[0053] This embodiment specifically describes the implementation of the present invention from three aspects: constructing a microservice dependency graph, extracting microservice embedding vectors, and recommending microservices. The details are as follows:

[0054] 1. Build a microservice dependency graph

[0055] In the microservice architecture, the program is composed of different microservices. The calling relationship between microservices can be expressed as a dependency graph between microservices. An exemplary microservice dependency graph is as follows: Figure 2 As shown, in Figure 2 In the graph, there are nodes A, B, C, D, E, F, G, H, and J. Each node represents a microservice, and the edges between nodes represent the dependencies between microservices. For example, there is a dependency between A and B, that is, the output of A is the input of B; similarly, there is a dependency between A and J, that is, the output of A is the input of J; similarly, there is a dependency between B and both C and D, that is, the output of B is the input of C and also the input of D... and so on.

[0056] The difficulty in building a microservice dependency graph lies in how to determine the calling relationship between microservices. This embodiment analyzes the input and output information of each microservice and matches them to determine the possible calling relationships between microservices, thereby building a microservice dependency graph. The specific process is as follows: Figure 3 As shown, the following steps are included:

[0057] Step 1: Divide the description documents of each microservice in the microservice orchestration database to obtain the input documents and output documents corresponding to each microservice;

[0058] The description document of each microservice contains a description of the input and output information of the corresponding microservice, including parameter name, parameter type, function description, and other information; through document division, the input document and output document corresponding to each microservice can be obtained. When a microservice has multiple inputs and / or outputs, there will also be multiple corresponding divided input documents and / or output documents.

[0059] Step 2: Extract keywords from the input documents and output documents corresponding to each microservice;

[0060] TF-IDF is a commonly used text feature extraction method that can convert words or phrases in a text into numerical form, making it easier for computers to analyze and process them. In this embodiment, the TF-IDF algorithm is used to extract keywords from a document. TF-IDF is divided into two parts:

[0061] TF refers to the frequency of a keyword appearing in a microservice document. It can be calculated using the following formula:

[0062]

[0063] IDF stands for Inverse Document Frequency, which is used to measure the importance of a keyword or phrase. The higher the IDF value, the less common a word or phrase is, but it may be very important for certain texts. It can be calculated using the following formula:

[0064] IDF(t) = log(total number of texts / total number of texts containing word t)

[0065] After calculating TF and IDF, you can multiply them together to get the TF-IDF value, which is:

[0066] TF(t)-IDF(t)=TF(t)*IDF(t)

[0067] After calculating the TF-IDF value of each word, the words with the highest TF-IDF values ​​are selected as the extracted keywords. Based on this, this step can obtain the keywords corresponding to the input documents and output documents of each microservice.

[0068] Step 3: Based on the keywords of the input and output documents, calculate the input and output vectors of each microservice.

[0069] In this step, a pre-trained model (such as the BERT model) is used to extract word vectors for the keywords in the input and output documents of each microservice. The word vectors for all keywords in the input and output documents are then concatenated to obtain the corresponding input and output vectors for each microservice. That is, the input vector for each microservice is the concatenation of the word vectors for all keywords in its input documents, and the output vector for each microservice is the concatenation of the word vectors for all keywords in its output documents.

[0070] Step 4: For each microservice, calculate the similarity between its output vector and the input vectors of other microservices, and filter out microservices that have a call relationship with the microservice based on the similarity;

[0071] In a microservices architecture, a necessary condition for a call relationship between microservices is that their input and output interfaces match each other. This means that the output of one microservice can serve as the input of the next. Based on this condition, this embodiment defines a scoring method to assess the likelihood of calls between microservices.

[0072] Specifically, each microservice is used as a matching target, and the other microservices in the microservice orchestration database are traversed as matching objects. The similarity score between the output vector of the matching target and the input vector of the matching object is calculated using the following formula:

[0073]

[0074] Among them, S1 is the matching target, S2 is the object to be matched, S10 i Represents the i-th output vector of the matching target, S2I j represents the jth input vector of the object to be matched, n is the total number of output vectors of the matching target, and m is the total number of input vectors of the object to be matched; max() is the maximum value function; sim() is the similarity function.

[0075] For the current microservice as the matching target, after calculating the similarity score between it and other microservices in the microservice orchestration database, the scores can be sorted from high to low, so as to select the microservices with the highest scores as the microservices with which it has a calling relationship.

[0076] Step 5: Build a microservice dependency graph;

[0077] In this step, each microservice is used as a node, and the microservices with a call relationship are connected as edges between nodes to build a microservice dependency graph.

[0078] 2. Extracting Embedding Vectors of Microservices

[0079] This section extracts the embedding vectors of each microservice based on the constructed microservice dependency graph. An exemplary approach is to use a graph convolutional neural network and the Microservice2vce method to extract the vectors of each node in the dependency graph as the embedding vector of the corresponding microservice. This vector contains the complex network structure information in the microservice dependency graph, the neighbor node information of the microservice, etc.

[0080] The embedding vector extraction process of the microservice is as follows:

[0081] Step 1: Randomly select a node in the dependency graph as the central node;

[0082] Step 2: Perform K-order neighborhood sampling on the central node to obtain the neighbor set of the central node;

[0083] Step 3: Aggregate the vectors of the microservices corresponding to all nodes in the neighbor set of the central node step by step to obtain the node vector of the central node; the vector of the microservice is formed by concatenating all input vectors and output vectors of the microservice;

[0084] In step-by-step aggregation, the graph convolutional neural network uses convolution operations to aggregate the embedding vectors of K-order neighboring points into the embedding vectors of K-1-order neighboring points. Then, another convolution operation is performed to aggregate the embedding vectors of K-1-order neighboring points into the embedding vectors of K-2-order neighboring points, and so on. This process continues until K decreases to 0. Ultimately, the embedding vector of the central node is obtained.

[0085] Then, for each order of aggregation, it includes the following two parts:

[0086] Neighbor node vector aggregation:

[0087]

[0088]

[0089] Among them, v represents the central node, u represents the neighbor node one hop away from the central node v, W is the weight matrix, σ represents the Sigmoid function, It represents the vector obtained by aggregating all k-order neighbor nodes of the central node v, and MEAN() is the average value function;

[0090] Center node vector update:

[0091]

[0092] Among them, CONCAT() is a concatenation operation. is the node vector of the center node v after the last update.

[0093] Step 4: Loop through steps 1 to 3 until the node vectors of all nodes in the dependency graph are extracted.

[0094] Through the above process, the vector of each node in the dependency graph can be extracted as the embedding vector of the corresponding microservice.

[0095] 3. Microservice Recommendations

[0096] The purpose of this section is to recommend microservices that users may need to use next during actual microservice orchestration. Research shows that microservices that are close in vector space are more likely to form service combinations and cooperative relationships in actual production environments. Therefore, after obtaining the embedding vectors of each microservice, the cosine similarity between the microservice vectors can be directly used to make recommendations. Considering that the microservice orchestration process requires not only a strict logical relationship between the preceding and following microservices, but also that the following microservice should logically align with the entire orchestrated microservice flow, this embodiment calculates the similarity between the overall vector of the user's currently orchestrated microservice workflow and the embedding vectors of the microservices in the database during the recommendation process. The overall vector of the user's currently orchestrated microservice workflow takes into account the preceding and following call relationships between the microservices in the orchestrated microservice flow, fully considering the existing execution logic. This ensures that the recommended next microservice better aligns with the orchestrated microservice flow, thereby improving the overall microservice orchestration effect.

[0097] Based on this, the microservice recommendation process includes the following two steps:

[0098] Step 1: Calculate the comprehensive vector of the current microservice workflow based on the embedding vectors of the microservices in the current microservice workflow;

[0099] Considering that the next microservice to be recommended is usually most closely associated with the last and penultimate microservices currently orchestrated, in order to improve the efficiency of recommendation, the comprehensive vector of the current microservice workflow is composed of the embedding vector of the last orchestrated microservice in the current microservice workflow and the embedding vector of the previous microservice.

[0100] Step 2: Calculate the similarity between the comprehensive vector of the current microservice workflow and the embedding vectors of each microservice in the microservice orchestration database and sort them. Based on the sorting results, recommend to the user the microservices that may be used in the next step of the current microservice workflow.

[0101] The similarity between the comprehensive vector of the current microservice workflow and the embedding vectors of each microservice in the microservice orchestration database is calculated, specifically including:

[0102]

[0103] Among them, A represents the comprehensive vector of the current microservice workflow, B represents the embedding vector of the microservice in the microservice orchestration database, α and β are weights, and v q is the embedding vector of the last orchestrated microservice in the current microservice workflow, v q-1 is the embedding vector of the previous microservice of the last orchestrated microservice in the current microservice workflow, B i represents the i-th component of vector B, and z represents the total number of components contained in the vector.

[0104] Take the above microservice recommendation solution for leave approval as an example, see Figure 4 The last orchestrated microservice in the currently orchestrated microservice flow is the "Leave Approval Service." The previous orchestrated microservices for the "Leave Approval Service" include the parallel "Personal Leave Service" and "Official Leave Service." Therefore, the next microservice needs to be recommended to the user. The comprehensive vector of the current microservice workflow is constructed by concatenating the embedding vectors of the "Personal Leave Service," "Official Leave Service," and "Leave Approval Service." The similarity between the comprehensive vector of the current microservice workflow and each microservice in the microservice orchestration database is then calculated and sorted from high to low. Finally, the top two microservices, the "Salary Statistics Service" and the "Leave Rejection Service," are selected as recommended microservices and presented to the user. The user then decides which microservice to adopt next, thus continuing the orchestration process.

[0105] Finally, it should be noted that the above embodiments are merely preferred implementations and are not intended to limit the present invention. It should be noted that those skilled in the art will be able to make modifications, equivalent substitutions, and improvements without departing from the spirit and scope of the present invention and the claims, all of which should be included within the scope of protection of the present invention.

Claims

1. A microservice orchestration recommendation method based on interface matching, characterized in that: include: S1. Build a microservice dependency graph based on the interface matching between microservices in the microservice orchestration database. In the dependency graph, nodes represent microservices, and edges between nodes represent call relationships between microservices. S2. Extract the vector of each node in the dependency graph as the embedding vector of the corresponding microservice through the graph convolutional neural network; S3. When performing microservice orchestration, for the current microservice workflow that the user has orchestrated, recommend the user the microservices that may be used in the next step of the current microservice workflow in the following way: S31. Calculate a comprehensive vector of the current microservice workflow based on the embedding vectors of the microservices in the current microservice workflow. S32. Calculate the similarity between the comprehensive vector of the current microservice workflow and the embedding vectors of each microservice in the microservice orchestration database and sort them. Based on the sorting results, recommend to the user the microservices that may be used in the next step of the current microservice workflow. In step S1, based on the interface matching between each microservice in the microservice orchestration database, a microservice dependency graph is constructed, which specifically includes: S11. Divide the description documents of each microservice in the microservice orchestration database to obtain input documents and output documents corresponding to each microservice; S12. Extract keywords from the input documents and output documents corresponding to each microservice; S13. Use the pre-trained model to extract word vectors for the keywords of the input documents and output documents of each microservice, and then concatenate the word vectors of all keywords in the input documents and output documents to obtain the corresponding input vectors and output vectors of each microservice; S14. For each microservice, calculate the similarity between its output vector and the input vectors of each other microservice and sort them from high to low, and select a set number of microservices with the highest ranking as the microservices that have a call relationship with the microservice; S15. Using each microservice as a node, connect the microservices that have a call relationship as edges between the nodes to build a microservice dependency graph. In step S2, the vector of each node in the dependency graph is extracted as the embedding vector of the corresponding microservice through the graph convolutional neural network, which specifically includes: Using a graph convolutional neural network, the Microservice2vce method is used to extract the vectors of each node in the dependency graph according to the following steps: S21, randomly select a node in the dependency graph as the central node; S22, perform K-order neighborhood sampling on the central node to obtain a neighbor set of the central node; S23. Aggregate the vectors of the microservices corresponding to all nodes in the neighbor set of the central node step by step to obtain a node vector of the central node; the vector of the microservice is formed by concatenating all input vectors and output vectors of the microservice; S24. Execute steps S21-S23 in a loop until the node vectors of all nodes in the dependency graph are extracted.

2. A microservice orchestration recommendation method based on interface matching according to claim 1, characterized in that: In step S11, the input document covers the input interface description of the microservice, and the output document covers the output interface description of the microservice. The input interface description and the output interface description include interface parameter names, parameter types and function description information.

3. The microservice orchestration recommendation method based on interface matching according to claim 1, characterized in that: In step S14, for each microservice, the similarity between its output vector and the input vectors of other microservices is calculated, specifically including: Take each microservice as the matching target, traverse all other microservices in the microservice orchestration database as the objects to be matched, and calculate the similarity score between the output vector of the matching target and the input vector of the object to be matched using the following formula: Among them, S1 is the matching target, S2 is the object to be matched, S10 i Represents the i-th output vector of the matching target, S2I j represents the j-th input vector of the object to be matched, n is the total number of output vectors of the matching target, and m is the total number of input vectors of the object to be matched; max() is the maximum value function; sim() is the similarity function.

4. The microservice orchestration recommendation method based on interface matching according to claim 1, characterized in that: In step S23, the vectors of the microservices corresponding to all nodes in the neighbor set of the central node are aggregated step by step to obtain the node vector of the central node, which specifically includes: Neighbor node vector aggregation: Among them, v represents the central node, u represents the neighbor node one hop away from the central node v, W is the weight matrix, σ represents the sigmoid function, Represents the vector obtained by aggregating all k-order neighbor nodes of the central node v, and MEAN() is the average value function; Center node vector update: Among them, CONCAT() is a concatenation operation. is the node vector of the center node v after the last update.

5. The microservice orchestration recommendation method based on interface matching according to claim 1, characterized in that: In step S31, the comprehensive vector of the current microservice orchestration workflow is formed by concatenating the embedding vector of the last orchestrated microservice in the current microservice orchestration workflow and the embedding vector of the microservice before this microservice.

6. A microservice orchestration recommendation method based on interface matching according to claim 5, characterized in that: In step S32, the similarity between the comprehensive vector of the current microservice orchestration workflow and the embedding vectors of each microservice in the microservice orchestration database is calculated, specifically including: Among them, A represents the comprehensive vector of the current microservice orchestration workflow, B represents the embedding vector of the microservice in the microservice orchestration database, α and β are weights, and v q is the embedding vector of the last orchestrated microservice in the current microservice orchestration workflow, v q-1 is the embedding vector of the previous microservice of the last orchestrated microservice in the current microservice orchestration workflow, B i represents the i-th component of vector B, and z represents the total number of components contained in the vector.

Citation Information

Patent Citations

  • Microservice application arrangement and deployment method and device and computer terminal

    CN108762769A

  • Generating data structures representing relationships among entities of a high-scale network infrastructure

    US20200396232A1