A service discovery performance optimization method in large-scale service network scenarios

By building a tree-like network and deploying bloom filters at service exchange nodes, the service discovery request path is optimized, solving the problem of excessive network load in large-scale decentralized service networks and achieving more efficient service discovery.

CN116192851BActive Publication Date: 2025-09-19ZHEJIANG UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310177943.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-28
Publication Date
2025-09-19
Estimated Expiration
2043-02-28

AI Technical Summary

Technical Problem

In large-scale decentralized layered service networks, service discovery requests cause excessive network load and long latency, especially when nodes join or leave and need to re-hash addresses, resulting in increased network load and reduced availability.

Method used

Build a tree-like network with service routing nodes as backbone nodes, deploy bloom filters at service exchange nodes, generate filters through hash operations, optimize the path of service discovery requests, and use the minimum spanning tree multicast network for dynamic load balancing and path optimization.

Benefits of technology

It effectively reduces the network load and time of service discovery, maintains performance optimization effects in large-scale scenarios, and reduces network bandwidth usage and the frequency of routing table updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116192851B_ABST
    Figure CN116192851B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for optimizing service discovery performance in a large-scale service network scenario, comprising the following steps: 1. constructing a tree-like network; 2. deploying bloom filters on all nodes in the tree-like network; 3. extracting local service keywords from service exchange nodes in the tree-like network, performing a hash operation on the extracted local service keywords, and performing a bitwise OR operation on the hash operation result with the bloom filter of the service exchange node to obtain a corresponding filter; 4. collecting the filters of all service exchange nodes under the service routing node to generate a corresponding filter set; and 5. extracting service keywords from a service discovery request, performing a hash operation on the service keywords to obtain a keyword hash code, and searching other nodes based on the node that received the service discovery request until the target node of the service discovery request is reached. The method provided by the present invention can reduce the network load and total time of service discovery.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of service networks, and in particular relates to a method for optimizing service discovery performance in a large-scale service network scenario. Background Art

[0002] A decentralized layered service network is a service network architecture that features high scalability, decentralization, and load balancing in large-scale scenarios. It provides infrastructure support for the interconnection of massive services. Each service entity is labeled and published in the service network. Service consumers can discover various services in the service network through a search mechanism and can combine or aggregate services according to demand to form more complex service solutions. As a large-scale service network, the decentralized layered service network has its own routing mechanism. However, due to the dynamic nature of the network, routing paths need to be adjusted in real time according to the network environment to reduce routing latency. At the same time, as a network infrastructure, the service network needs to have real-time awareness of network node resource usage, so that it can dynamically load balance during the service routing process to ensure that network nodes are not overloaded.

[0003] Patent document CN112637310A discloses a method for edge service discovery, an edge service network, which is used for an edge service network. The edge service network includes at least one edge computing system, and each edge computing system has multiple edge nodes under it. The method includes: sending an edge node selection preference request to a terminal based on an edge service discovery request, and receiving edge node selection preference information from the terminal; determining a target edge node based on the edge node selection preference information, and sending the information of the target edge node to the terminal.

[0004] Patent document CN 112468345 A discloses a cross-border service network framework based on a distributed spanning tree. The framework includes: defining a cross-border service network as an undirected graph of a quadruple (D, L, f, e), wherein: D is the set of distributed spanning trees in the undirected graph, DST = SN∪RN, SN is the set of service switch nodes, and RN is the service router node; L is the set of edges in the undirected graph, L = SR∪SS, SR represents the connection relationship between the service switch and the service router, and SS represents the connection relationship between the service switch and the service switch; f represents the mapping relationship between the service and the node, f = (service, s, r) | s∈SN, r∈RN, represents the service switch node and the service router node where the service is located, and represents the location of the service in the cross-border service network; e represents the event between the nodes, e =<s1,s2,event> Nodes s1 and s2 are service switch nodes or service router nodes. This method proposes a distributed network framework. However, in large-scale service scenarios, when nodes join and leave, the relationship between service information and storage addresses in the network needs to be maintained. Therefore, the address needs to be re-hashed and all service information in the mobile network needs to be re-allocated. This brings a large amount of network load and reduces network availability. Summary of the Invention

[0005] In order to solve the above problems, the present invention provides a service discovery performance optimization method in a large-scale service network scenario. This method can effectively solve the problem of large network load caused by the decentralized layered service network using the minimum spanning tree multicast network to multicast service discovery requests across the entire network.

[0006] A method for optimizing service discovery performance in a large-scale service network scenario includes:

[0007] Step 1: Build a tree-like network based on the service routing node as the backbone node and the service exchange node expanding outward, and store the service information at the service exchange node connected to the service provider;

[0008] Step 2: deploying bloom filters on all nodes in the tree network, wherein the bloom filters are used to filter service discovery requests based on keyword hash codes;

[0009] Step 3: Extract the local service keywords of the service switching nodes in the tree network, perform a hash operation on the extracted local service keywords, and perform a bitwise OR operation on the hash operation result value with the bloom filter of the service switching node to obtain the corresponding filter;

[0010] Step 4: Collect filters of all service switching nodes under the service routing node, and generate corresponding filter sets based on the bloom filters at the service routing node;

[0011] Step 5: Extract the service keyword in the service discovery request, perform a hash operation on the service keyword to obtain the keyword hash code, and search other nodes based on the node that receives the service discovery request until the target node of the service discovery request is reached.

[0012] This method effectively reduces the network load and total time of service discovery by constructing a tree-like bloom filter, while maintaining the effectiveness of this performance optimization effect in large-scale scenarios.

[0013] Specifically, the decentralized tree network includes constructing one or more minimum spanning tree multicast networks based on the network communication cost between service routing nodes. The node with the minimum total network communication cost with other service routing nodes in the minimum spanning tree multicast network serves as a controller node, and the n service routing nodes adjacent to each service routing node serve as the dynamic neighbor node set of the service routing node. The controller node updates the dynamic neighbor nodes based on regular network communication cost detection to ensure that the total network communication cost of the minimum spanning tree multicast network is minimized.

[0014] The decentralized tree network realizes automatic growth of network levels through a single domain splitting algorithm and a routing node splitting algorithm, and realizes dynamic stabilization of the number of levels through a network level reduction algorithm.

[0015] Specifically, the specific process of the single domain splitting algorithm is as follows:

[0016] When the number of service routing nodes in the minimum spanning tree multicast network is greater than the maximum number of nodes, two service routing nodes with the largest communication cost in the minimum spanning tree multicast network are used as base points, and the network communication costs between other service routing nodes and the two base points are repartitioned to obtain two new minimum spanning tree multicast networks.

[0017] Specifically, the specific process of the routing node splitting algorithm is as follows:

[0018] When the number of child nodes managed by the service routing node in the minimum spanning tree multicast network is greater than the maximum number of nodes, the service routing node is replicated, and half of the originally carried service switching nodes are allocated to the replicated new node.

[0019] Specifically, the specific process of the network layer reduction algorithm is as follows:

[0020] Merge the service routing node with the nearest neighboring service routing nodes in the minimum spanning tree multicast network, and merge the routing table and other information;

[0021] When the minimum spanning tree multicast network where the service routing node is located is the top layer of the tree network and the scale is merged to 1, the top layer is deleted and the nodes in the top layer are merged with the next layer to obtain a new top layer, thereby reducing the total network level by 1.

[0022] Specifically, in step 3, the filter expression is as follows:

[0023] filter j =filter|h i (key j )

[0024] In the formula, key j For local service keywords, h i () is a hash operation.

[0025] Specifically, in step 4, the expression of the filter set is as follows:

[0026] Filter 1-n =filter|filter1|filter2|...|filter n

[0027] Where, filter1, filter2…filter n A filter for all service exchange nodes under the service routing node.

[0028] Specifically, in step 5, the specific process of the retrieval is as follows:

[0029] Step 5-1: The service discovery request starts from the initiating node and spreads to the service routing node where the node is located;

[0030] Step 5-2: When the service routing node receives the service discovery request from the initiating node, it diffuses the service discovery request to the adjacent nodes and the parent node;

[0031] Step 5-3: If the initiating node has no parent node, the initiating node is the top-level node. When the top-level node receives the service discovery request, it first checks the local bloom filter. If the service discovery request contains the indexed keyword, it will spread the service discovery request to all child nodes. The service discovery request begins to spread downward layer by layer. Otherwise, no action is taken.

[0032] When a node receives a service discovery request from a parent node or a neighbor node, it first checks the local Bloom filter. If all the keywords contained in the service discovery request are not indexed, the node will no longer diffuse the service discovery request to the child nodes, but diffuse it to the neighbor nodes. Otherwise, it will diffuse it to the child nodes at the same time.

[0033] Compared with the prior art, the present invention has the following beneficial effects:

[0034] The present invention changes the path of the service discovery process by constructing a tree-shaped bloom filter network framework, thereby reducing the network load caused by service discovery and the time consumption of service discovery. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 This is a flowchart of a method for optimizing service discovery performance in a large-scale service network scenario provided by this embodiment;

[0036] Figure 2 A schematic diagram of the tree network structure provided in this embodiment;

[0037] Figure 3 This is a graph showing changes in total network delay when using Bloom filters, as provided in this embodiment.

[0038] Figure 4 This is a graph showing the effect of optimizing the total network delay using Bloom filters under different total numbers of network nodes provided in this embodiment;

[0039] Figure 5 A graph showing the total time changes of service requests when using the Bloom filter provided in this embodiment;

[0040] Figure 6 This embodiment provides a graph showing the optimization effect of using Bloom filters on the total time of service requests under different total numbers of network nodes. DETAILED DESCRIPTION

[0041] The present invention will be further described below with reference to specific examples. It should be understood that these examples are only intended to assist those of ordinary skill in the art in their understanding of the principles and knowledge of the present invention, and are not intended to limit the scope of the present invention and should not be considered to limit the application scenarios of the present invention. It should also be understood that after reading the contents taught by the present invention, those skilled in the art may make various changes or modifications to the present invention, but the deformation, changes and conversions made to the embodiments based on the principles and purpose of the present invention also fall within the scope defined by the claims appended hereto. It is also apparent that this specification is given as an example only with preferred embodiments, and it is not necessary to exhaust all embodiments in detail.

[0042] like Figure 1As shown, a service discovery performance optimization method includes:

[0043] Step 1: Build a tree-like network based on the service routing node as the backbone node and the service exchange node expanding outward, and store the service information at the service exchange node connected to the service provider;

[0044] Step 2: deploying bloom filters on all nodes in the tree network, wherein the bloom filters are used to filter service discovery requests based on keyword hash codes;

[0045] Step 3: Extract the local service keywords of the service switching nodes in the tree network, perform a hash operation on the extracted local service keywords, and perform a bitwise OR operation on the hash operation result value with the bloom filter of the service switching node to obtain the corresponding filter;

[0046] Step 4: Collect filters of all service switching nodes under the service routing node, and generate corresponding filter sets based on the bloom filters at the service routing node;

[0047] Step 5: Extract the service keyword in the service discovery request, perform a hash operation on the service keyword to obtain the keyword hash code, and search other nodes based on the node that receives the service discovery request until the target node of the service discovery request is reached.

[0048] Step 5-1: The service discovery request starts from the initiating node and spreads to the service routing node where the node is located;

[0049] Step 5-2: When the service routing node receives the service discovery request from the initiating node, it diffuses the service discovery request to the adjacent nodes and the parent node;

[0050] Step 5-3: If the initiating node has no parent node, the initiating node is the top-level node. When the top-level node receives the service discovery request, it first checks the local bloom filter. If the service discovery request contains the indexed keyword, it will spread the service discovery request to all child nodes. The service discovery request begins to spread downward layer by layer. Otherwise, no action is taken.

[0051] When a node receives a service discovery request from a parent node or a neighbor node, it first checks the local Bloom filter. If all the keywords contained in the service discovery request are not indexed, the node will no longer diffuse the service discovery request to the child nodes, but diffuse it to the neighbor nodes. Otherwise, it will diffuse it to the child nodes at the same time.

[0052] like Figure 2As shown, a tree-like network is based on service routing nodes as backbone nodes and service switching nodes expanding outward.

[0053] Service routing nodes form the backbone of the network and have the following functions and features:

[0054] 1. When the service routing node is located at the second-to-last layer in the network, it is responsible for access control of multiple service switching nodes. The number of switching nodes accessed by a single routing node does not exceed a certain threshold.

[0055] 2. Manage the routing nodes or switching nodes of the lower layer, control the entry and exit of the lower layer nodes, and ensure that the number of lower layer nodes that a single routing node can access does not exceed a certain threshold. Generally speaking, a routing node contains an abbreviated representation or index of all the services of the lower layer nodes.

[0056] 3. Responsible for service routing, service discovery, service caching, service traffic monitoring and other functions, forming the core skeleton of the entire service network.

[0057] 4. Dynamically perceive changes in single-domain network resources, provide load balancing functions, and optimize routing paths in real time.

[0058] Service exchange node, which has the following functions and features:

[0059] 1. As a network edge node, it is responsible for accessing service providers, generally enterprises, developers, etc. Service providers directly register their services on the service exchange node and store them in the built-in database. Therefore, the service exchange node is responsible for maintaining and updating service information.

[0060] 2. The service exchange node is also responsible for processing service query requests and performing searches and matching in the internal database based on the request information. Since the service scale of each service provider is not too large, service searches at the service exchange node are more efficient.

[0061] 3. It decentralizes the service network, storing all service information at the edge of the network at the service provider, thus avoiding the problems associated with centralized storage. Localized service storage also eliminates the overhead of copying service information across the network, reducing the cost of registering, updating, and deleting service information, thereby minimizing the network overhead associated with information maintenance.

[0062] The tree-like network contains one or more minimum spanning tree multicast networks, which construct an undirected weighted graph representing the network by monitoring the network communication costs between nodes in real time. The edge weight is the node communication cost, which is represented by the round-trip delay of direct network communication between two network nodes at the application layer.

[0063] By computing the minimum spanning tree of this undirected weighted graph in real time, the network can update the optimal multicast routing table for each node, ensuring that the total network load caused by multicast is minimized. In an ideal minimum spanning tree multicast network, each network node needs to maintain the communication cost from that node to all other nodes in the network.

[0064] In a small-scale network, such as a network with less than 100 nodes, maintaining this data does not cause too much network load. However, when the network scale becomes larger, since the time complexity of each real-time update of this data is O(n^2), where n represents all nodes in the network, frequent data updates will lead to serious bandwidth usage and network load.

[0065] The construction process of the minimum spanning tree multicast network is as follows:

[0066] The node with the smallest total communication cost with other nodes in the network is selected as the controller node in the multicast network.

[0067] Network nodes periodically detect and update the network communication costs with all neighboring nodes.

[0068] The network node periodically randomly selects a node other than the neighbor node to detect the network communication cost. If the communication cost is lower than any neighbor, the neighbor is replaced.

[0069] The network node sends the updated neighbor communication cost data to the controller node.

[0070] The controller node uses the collected network communication cost data of all nodes to establish an undirected weighted graph representing the network and calculates the minimum spanning tree of the graph.

[0071] The controller node determines the difference between the total weight of the minimum spanning tree and the last calculated result. If it exceeds a certain threshold, it sends an instruction to update the routing table of all network nodes.

[0072] In this construction process, the controller node improves network stability by setting update thresholds and minimizes network bandwidth usage caused by routing table updates. It's worth noting that maintaining a minimum spanning tree with constant neighbor communication costs doesn't guarantee global optimality. Therefore, network nodes periodically randomly select other nodes in the network for network latency testing. If the communication cost is lower than that of an existing neighbor, the node is replaced. This approach allows the minimum spanning tree network to continuously approach global optimality.

[0073] In order to better illustrate the effect of the bloom filter proposed in this embodiment, several specific examples are given as proof.

[0074] 1. Set the service network to initialize 1600 different random keywords. Each service exchange node stores a set of randomly selected keywords. The network is a three-layer decentralized layered service network with a network scale of 20,000 nodes.

[0075] like Figure 3 As shown in the figure, when the service discovery request contains 3 keywords and the number of keywords at the service exchange node accounts for 10% of the total, the Bloom filter can save 70.6% of the total network delay for the service network. This set of data can cover the service discovery process in most cases. Therefore, the tree-shaped Bloom filter is very effective in reducing network load.

[0076] 2. Set each service exchange node in the service network to store 10% of the total service keywords in the network. The service network structure adopts a three-layer decentralized hierarchical service network, but by adjusting the number of top-level network nodes, the total number of network nodes increases from 20100 to 100100.

[0077] like Figure 4 As shown in the figure, the optimization effect of the optimization scheme proposed in this paper will not change significantly when the total number of service keywords increases, so the optimization scheme is highly scalable.

[0078] 3. Set the service network to initialize 1600 different random keywords. Each service exchange node stores a set of randomly selected keywords, and adopts a three-layer decentralized layered service network. In the second layer of the network, a random portion of nodes are service exchange nodes, and the remaining nodes are service routing nodes. Service exchange nodes are network edge nodes. Service routing nodes manage a minimum spanning tree multicast network of varying sizes, and control the service network size to 20,000 nodes.

[0079] like Figure 5 As shown in the figure, in order to achieve the ideal effect of reducing the total service request time in the case of three keywords, the number of service keywords stored at the service exchange node should not exceed 2.7% of the total number of service keywords. At this time, the tree-shaped Bloom filter can reduce the total service discovery time by 10.2%.

[0080] 4. Set each service exchange node in the service network to store 1% of the total service keywords in the network. Use a three-layer decentralized hierarchical service network. However, by adjusting the node scale of the minimum spanning tree multicast network, the total number of network nodes is continuously increased from 20100 to 100100.

[0081] like Figure 6As shown in the figure, the total amount of different service keywords does not significantly affect service discovery time. Secondly, as the service network scales, the optimized total service discovery time continues to increase, but the growth rate gradually slows, finally converging to 92.5% of the original total service discovery time. At this point, the tree-shaped Bloom filter has improved the total service discovery time by 7.5%. Therefore, in large-scale scenarios, the tree-shaped Bloom filter can effectively reduce the total service discovery time.

Claims

1. A method for optimizing service discovery performance in a large-scale service network scenario, characterized in that: include: Step 1: Build a tree-like network based on the service routing node as the backbone node and the service exchange node expanding outward, and store the service information at the service exchange node connected to the service provider; Step 2: deploying bloom filters on all nodes in the tree network, wherein the bloom filters are used to filter service discovery requests based on keyword hash codes; Step 3: Extract the local service keywords of the service switching node in the tree network, perform a hash operation on the extracted local service keywords, and perform a bitwise OR operation on the hash operation result value with the bloom filter of the service switching node to obtain the corresponding filter ; Step 4: Collect all service exchange nodes under the service routing node filter, And generate the corresponding according to the bloom filter of the service routing node filter several episodes; Step 5: Extract the service keyword in the service discovery request, perform a hash operation on the service keyword to obtain the keyword hash code, and search other nodes based on the node that receives the service discovery request until the target node of the service discovery request is reached.

2. The service discovery performance optimization method in a large-scale service network scenario according to claim 1 is characterized in that: The tree-like network includes constructing one or more minimum spanning tree multicast networks based on the network communication costs between service routing nodes, wherein the node with the minimum total network communication costs with other service routing nodes in the minimum spanning tree multicast network serves as a controller node, and the n service routing nodes adjacent to each service routing node serve as a dynamic neighbor node set of the service routing node. The controller node updates the dynamic neighbor nodes based on regular network communication cost detection to ensure that the total network communication cost of the minimum spanning tree multicast network is minimized; The tree network realizes automatic growth of network levels through a single domain splitting algorithm and a routing node splitting algorithm, and realizes dynamic stabilization of the number of levels through a network level reduction algorithm.

3. The service discovery performance optimization method in a large-scale service network scenario according to claim 2, characterized in that: The specific process of the single domain splitting algorithm is as follows: When the number of service routing nodes in the minimum spanning tree multicast network is greater than the maximum number of nodes, two service routing nodes with the largest communication cost in the minimum spanning tree multicast network are used as base points, and the network communication costs between other service routing nodes and the two base points are repartitioned to obtain two new minimum spanning tree multicast networks.

4. The service discovery performance optimization method in a large-scale service network scenario according to claim 2 is characterized in that: The specific process of the routing node splitting algorithm is as follows: When the number of child nodes managed by the service routing node in the minimum spanning tree multicast network is greater than the maximum number of nodes, the service routing node is replicated, and half of the originally carried service switching nodes are allocated to the replicated new node.

5. The service discovery performance optimization method in a large-scale service network scenario according to claim 2, characterized in that: The specific process of the network layer reduction algorithm is as follows: Merge the service routing node with the nearest neighboring service routing nodes in the minimum spanning tree multicast network, and merge the routing table and other information; When the minimum spanning tree multicast network where the service routing node is located is the top layer of the tree network and the scale is merged to 1, the top layer is deleted and the nodes in the top layer are merged with the next layer to obtain a new top layer, thereby reducing the total network level by 1.

6. The service discovery performance optimization method in a large-scale service network scenario according to claim 1, characterized in that: In step 3, the filter expression is as follows: Where, Keywords for local services, This is a hash operation.

7. The service discovery performance optimization method in a large-scale service network scenario according to claim 1, characterized in that: In step 4, the filter The expression of the set of numbers is as follows: Where, For all service exchange nodes under the service routing node filter.

8. The service discovery performance optimization method in a large-scale service network scenario according to claim 1, characterized in that: In step 5, the specific process of the retrieval is as follows: Step 5-1: The service discovery request starts from the initiating node and spreads to the service routing node where the node is located; Step 5-2: When the service routing node receives the service discovery request from the initiating node, it diffuses the service discovery request to the adjacent nodes and the parent node; Step 5-3: If the initiating node has no parent node, the initiating node is the top-level node. When the top-level node receives the service discovery request, it first checks the local bloom filter. If the service discovery request contains the indexed keyword, it will spread the service discovery request to all child nodes. The service discovery request begins to spread downward layer by layer. Otherwise, no action is taken. When a node receives a service discovery request from a parent node or a neighbor node, it first checks the local Bloom filter. If all the keywords contained in the service discovery request are not indexed, the node will no longer diffuse the service discovery request to the child nodes, but diffuse it to the neighbor nodes. Otherwise, it will diffuse it to the child nodes at the same time.

Citation Information

Patent Citations

  • Cross-boundary service network architecture based on distributed spanning tree

    CN112468345A

  • Edge service discovery method and edge service network

    CN112637310A

  • Decentralized mobile edge computing resource discovery and selection method and system

    CN111556514A

  • A method of optimizing routing of demands in a network

    GB0604746D0