A decentralized distributed clustering and result harvesting method
By employing a decentralized distributed clustering method, utilizing local node computation and neighbor node collaboration, and combining the DBSCAN algorithm with competitive tree optimization for result collection, the performance bottleneck of the master node and network congestion in distributed clustering are resolved, achieving load balancing and efficient clustering computation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANDONG UNIV OF FINANCE & ECONOMICS
- Filing Date
- 2022-08-02
- Publication Date
- 2026-04-17
AI Technical Summary
Existing distributed clustering algorithms suffer from master node performance bottlenecks and network congestion on large-scale datasets, resulting in low computational efficiency and difficulty in scaling.
A decentralized distributed clustering method is adopted, which uses local node computation and neighboring node cooperation to perform local clustering and cross-node cluster merging through the DBSCAN algorithm. Combined with the competitive tree optimization results collection, load balancing and network load reduction are achieved.
It achieves load balancing and network load reduction in distributed clustering, improves computational efficiency and scalability, and is suitable for clustering analysis of large-scale datasets.
Smart Images

Figure CN115293259B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of big data mining, specifically a decentralized distributed clustering method.
[0002] and the method for collecting results. Background Technology
[0003] With the rapid development of information technology, people are able to collect and store massive amounts of data from daily life and production events. The amount of data stored in databases is becoming increasingly enormous, making cluster analysis of ultra-large-scale datasets particularly important. However, existing clustering algorithms all suffer from scalability and efficiency issues when clustering ultra-large-scale data. Cluster analysis of ultra-large-scale data is a very important research topic in the field of data mining, and distributed clustering is the most effective way to improve clustering efficiency.
[0004] Distributed clustering is a common approach to extracting classification patterns from large-scale datasets using a distributed computing environment. The basic idea is as follows: First, local clustering is performed at each local node; second, the local nodes send the local clustering results or parameters to the main site, which then performs global clustering on these local clustering results to obtain a global clustering model; finally, the main site sends the global clustering model to each sub-site, and each sub-site updates its clustering based on the model.
[0005] Distributed clustering requires the participation of all nodes in two processes: convergence and broadcast. When the number of distributed nodes is too large, the communication volume of the master node will increase dramatically, and the time consumed will exceed that of centralized clustering.
[0006] A decentralized system architecture with highly autonomous nodes can effectively alleviate the load on the master node in distributed clustering. Decentralized systems no longer have a master node; each node collaborates equally to complete computational tasks. Introducing the concept of decentralization to solve the clustering problem of large-scale data can balance the load on each node and improve computational efficiency. Summary of the Invention
[0007] To address the issues of master node performance bottlenecks or network congestion caused by global broadcasting in current distributed clustering methods, this invention discloses a decentralized distributed clustering and result collection method. This invention achieves distributed clustering load balancing with minimal network load and exhibits good scalability.
[0008] To achieve the above objectives, the present invention employs the following technical solution:
[0009] A method for calculating local nodes includes the following steps:
[0010] S1 Let a node be n10, and calculate the data points at n10. Before the value is generated, the n10 space is used to generate the value. Let the width of the bounding shape be denoted as . ;
[0011] S2 in Randomly select a coordinate point, and n10 finds the corresponding neighboring node based on the position of this point. Let this neighboring node be n11.
[0012] S3n11 will handle the graphics in the space it is responsible for and Overlap, the overlapping part is set to ;Collecting what fell into The data points are then sent to n10;
[0013] After receiving these data points, S4n10 adds them to the outer data point set for use. Value calculation;
[0014] S5 ;
[0015] S6 if If the process ends, proceed; otherwise, repeat steps S2 to S5.
[0016] S7n10 calculates local data points based on the peripheral data point set. value;
[0017] Preferably, when steps S2 to S5 are performed, the edge points in n10 are... All data points of the radius circle are collected by n10.
[0018] Preferably, when steps S2 to S5 are repeated, step S2 includes simultaneously generating multiple random coordinate points that are as dispersed as possible, distributing these coordinate points to multiple nodes simultaneously, and having multiple nodes process step S3 in parallel.
[0019] A decentralized distributed clustering and result collection method is proposed, through which the following results are obtained: The algorithm uses the DBSCAN algorithm to obtain several clusters, extracts cross-node clusters from these clusters, and merges the cross-node clusters using the following method:
[0020] Child processes were discovered:
[0021] enter: , Let n be the set of points surrounding n10; , For the outer perimeter, For data point identification, After local clustering, The cluster to which it belongs For cluster identification; , for The host node, For node identification;
[0022] algorithm:
[0023] FOREACH in ;
[0024] #Will The membership cluster is assigned to ;
[0025] IF There are only outer points in the middle;
[0026]
[0027] CONTINUE# It does not involve n10;
[0028] # Find all belonging to n10 And the host node and Same outer perimeter points;
[0029] Will for Message sent to ;
[0030]
[0031] Merge child processes:
[0032] enter: ,
[0033] algorithm:
[0034]
[0035] FOREACH in
[0036] IF Is it the core issue?
[0037] #Changes in n11 Cluster identifier;
[0038] ELSE # It is the core point;
[0039] ,in for The set of density-reachable points in n11;
[0040] IF #The merging across node clusters has been completed;
[0041] CONTINUE
[0042] ELSE
[0043] Execute the merge cluster function ( , )#Will and merge.
[0044] Preferably, this includes a method for collecting maximum and minimum values among decentralized distributed clustering nodes, the specific method of which is as follows:
[0045] (1) All nodes build a competition tree in the order of CAN split, and each node outputs the maximum and minimum values to the competition tree;
[0046] (2) The root node of the competition tree is the sink node, and the value of the root node is the maximum value.
[0047] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0048] (1) A decentralized clustering algorithm is proposed. It achieves distributed clustering load balancing with less network load and has good scalability.
[0049] (2) Analyze the application scenarios for collecting results from distributed clustering and design different optimization schemes to further improve the application efficiency of distributed clustering. Attached Figure Description
[0050] Appendix Figure 1 It refers to the distribution of clustered objects on nodes in the two-dimensional CAN protocol.
[0051] Appendix Figure 2 These are internal and edge points within a local node.
[0052] Appendix Figure 3 It is an edge point A possible complex situation where the radius range is distributed among neighboring nodes.
[0053] Appendix Figure 4 Therefore The width of the bounding box encloses the graphic.
[0054] Appendix Figure 5 Example of merging cross-node clusters after local clustering.
[0055] Appendix Figure 6The situation where different clusters of local nodes become the same cluster after merging subprocesses.
[0056] Appendix Figure 7 Use a competition tree to collect the maximum and minimum values. Detailed Implementation
[0057] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined in this application.
[0058] Example 1: Knowledge Tracking Modeling Method Based on Dual-Channel Graph Neural Network
[0059] The specific implementation steps are as follows:
[0060] Before clustering calculations can be performed, the distribution of clustered objects across distributed computing nodes needs to be organized using CAN (Consciousness-Based Array). CAN is designed based on a virtual... The Vicarage coordinate space. This entire coordinate space is allocated to all nodes in the system, with each node responsible for maintaining an independent, non-overlapping region. The nodes in CAN self-organize into an overlay network representing this virtual coordinate space. Each node needs to know and maintain the network addresses of nodes in its neighboring regions, using this neighbor information to construct its own coordinate routing table. Based on the routing table, routing between any two points in the coordinate space can be completed.
[0061] The CAN space is configured with dimensions identical to the attribute dimensions of the clustered objects. Each clustered object can be mapped to a unique location point in the CAN space based on its multidimensional attribute values; these points are called data points. Each node has its own assigned CAN space region. When a data point falls into a node's region, that node is responsible for managing that data point. The number of data points allocated to each node should be approximately equal to achieve load balancing among nodes. This ensures that the computing power of each node is utilized effectively, improving the time efficiency of clustering computation.
[0062] Assume the attributes of the data points are two-dimensional. Figure 1 An example of mapping data points to nodes in a two-dimensional CAN is given. Small circles represent data points, dark colors represent normal points, and light colors represent abnormal points. Each square represents a computing node. It can be observed that each node is responsible for a portion of the data points. Some local nodes may contain normal points and possibly abnormal points;
[0063] DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is a high-performance spatial clustering algorithm. Its basic idea is that if a point... and another point If they are density-connected, then and They belong to the same cluster. (Based on a single data point) With the center as the center, The set of data points within a circular region with radius is called of Neighborhood, using This means, that is:
[0064]
[0065] in, It is a set of data points. It is a point With point The distance between them.
[0066] Given a parameter MinPts, if One point of A neighborhood containing at least MinPts points is called a neighborhood. If it is a core point, then it is a non-core point. Given... Two points in , ,if exist of Within the neighborhood, and If it is a core point, then it is called a point. From The starting point is directly accessible by density. If This is also a key point. exist of Within the neighborhood, it is called From The starting density is reachable. Reachable density indicates a tendency to spread.
[0067] The basic idea of the DBSCAN algorithm is: first, select an unlabeled core point and create a new cluster; then, find all clusters originating from that core point. Find the points reachable by the MinPts density and mark them as the cluster. Repeat this process until all points have been processed, meaning there are no more unmarked cluster core points.
[0068] Since the relative positions of clustered objects remain unchanged in the CAN space, they can be clustered in the CAN space based on DBSCAN. DBSCAN clustering only requires calculating neighboring data points to form clusters, without relying on global information, making it suitable for decentralized distributed environments. However, DDCM's use of DBSCAN for clustering in decentralized environments still has some applicability issues that need to be addressed. To facilitate the introduction of the DDCM clustering process, the following definitions are given:
[0069] Definition 1 Node: A computing node organized based on the CAN protocol is called a node. A node is also called a local node. These node network topologies are peer-to-peer, a completely decentralized organizational structure, and each node in the peer-to-peer network has the same logic and function. Nodes are... express, Used as a node identifier.
[0070] To simplify the model, this paper assumes that the computing performance of the nodes is consistent. To achieve load balancing, the computing tasks of each node need to be roughly the same, that is, each node is responsible for roughly the same number of data points.
[0071] Neighboring nodes: If there are two nodes A and B, and the space managed by node B is adjacent to the space managed by node A, then A and B are neighboring nodes.
[0072] Neighboring node: If the space of node B is adjacent to the space of node A, then B is a neighboring node of A. The set of neighboring nodes of A contains the neighboring nodes of A.
[0073] Definition 2 Data point: The point that a clustered object maps to in the CAN space based on its attribute values is called a data point, or simply a point.
[0074] Local data points: According to the CAN protocol, one local node is responsible for... A subset of data points are called local data points of a local node. This local node is the host node for these local data points.
[0075] The DBSCAN algorithm requires prior calculation. Then, a density clustering algorithm is executed. In CAN, data points are distributed across various local nodes, therefore... The calculation and density clustering algorithm differ from the centralized DBSCAN algorithm. The following two sections introduce the calculation method and the adaptive improvement of the clustering algorithm, respectively.
[0076] During clustering, local nodes have two types of data points: internal points and edge points. For example... Figure 2 In the n10 nodes, the dark-colored points are interior points. Because interior points... The neighborhood is within the space that the local node is responsible for, so the internal points This can be done at local nodes. Light-colored dots represent edge points. Edge points. The neighborhood contains some nodes that fall within the neighboring nodes, therefore the edge points Information from neighboring nodes is required to complete the calculation.
[0077] like Figure 2 The light-colored dots in n10, Since the radius involves 3 neighboring nodes, n10 needs to exchange information with these 3 neighboring nodes to complete the task at that point. Calculation. In the CAN protocol, for load balancing, nodes are responsible for different spatial sizes. Therefore, edge nodes... The distribution of the radius among neighboring nodes can be quite complex. For example, Figure 3 This demonstrates one possible scenario for the distribution of nodes in a two-dimensional CAN protocol, where the identifier space of each node's payload varies in size and its distribution is uncertain. Figure 3 center point The calculation requires the assistance of all shaded nodes. Computational tasks require complex distributed scheduling and extensive inter-node communication. If there are many edge nodes in a local area, it can lead to a significant network load.
[0078] To address this problem, this paper designs a distributed, fast... Calculation method. This method can be completed quickly and accurately in CAN. The calculation. Its main principle is that local nodes collect information about neighboring node data points in advance, so that... The calculation no longer relies on other nodes. For ease of illustration, this article uses a two-dimensional space as an example. Calculation steps. The calculation steps are as follows:
[0079] S1. Let there be a node named n10. Calculate the data points at node n10. Before the value is generated, the n10 space is used to generate the value. Enclose the graphic in width. For example... Figure 4 As shown, the shaded area enclosed by the n10 rectangle is the generated bounding shape. The method is as follows: a. Expand each side of the n10 rectangle outwards by a... a. A rectangle of width n; b. A rectangle of width n10, with each corner extended outwards by one... c. Combine these rectangles and sectors to form a shape similar to an outline. Mapped on node n10 The data points in the middle are called the outer points of n10.
[0080] S2 in Find a random coordinate point. n10 finds the corresponding neighboring node based on the position of this point, and let this neighboring node be n11.
[0081] S3n11 will handle the graphics in the space it is responsible for and Overlap, the overlapping part is set to Collecting what fell into The data points are then sent to n10.
[0082] After receiving these data points, S4n10 adds them to the outer data point set for use. Value calculation.
[0083] S5 .
[0084] S6 if If the above steps are not completed, proceed to the next step; otherwise, repeat steps 2) through 5).
[0085] S7n10 calculates local data points based on the peripheral data point set. value.
[0086] Repeat steps S2 to S5, so that the edge points in n10 are... The data points of the radius circle are all collected by n10. Therefore, in step S7, n10 contains both types of data points. The values can be calculated relatively quickly by relying only on local nodes.
[0087] Distributed fast In the computational method, steps S2 to S5 are referred to as the peripheral data point set collection process. Due to the distributed architecture, this process can be improved through parallelization. During the execution of S2, multiple machine coordinate points are generated simultaneously, making them as dispersed as possible. These coordinate points are then distributed to multiple nodes, which process step S3 in parallel.
[0088] After calculation After obtaining the values, density clustering can be performed. DDCM clustering is mainly completed in two steps: First, each local node independently executes the DBSCAN algorithm on its local data points, forming several clusters. Second, if there are edge points in a cluster, the clusters between nodes need to be merged. Observation Figure 2 The light-colored dots should be merged into a single cluster with other nodes. Such a cluster is called a cross-node cluster.
[0089] Local clustering employs the classic DBSCAN algorithm. Internal, edge, and outer nodes of a local node all participate in clustering. After clustering, the DBSCAN algorithm generates multiple clusters. These clusters are divided into internal clusters and cross-node clusters. An internal cluster consists entirely of internal or edge nodes, with no outer nodes. For example... Figure 5The C0 cluster. An internal cluster is a single category and does not need to be merged with clusters from other nodes.
[0090] If a cluster has peripheral points, it means that other nodes have data points that need to be added to the cluster; this type of cluster is called a cross-node cluster. Cross-node clusters exist at the boundaries of local nodes and involve merging two or more node clusters. Merging cross-node clusters falls into two categories: the first is when a peripheral point in the cluster is a core point of another node. This means that the other node must have a cluster containing this core point, so the clusters of the two adjacent nodes need to be merged. For example... Figure 5 Cluster C1 has one light-colored node. The light-colored node is both an outer node and a core node. Therefore, based on the density reachability property of the light-colored node, clusters C1 (n=10) and C2 (n=11) can be merged into one cluster. The second case is where the outer node in a cluster is a non-core node of another node. Since non-core nodes do not form clusters with their neighboring nodes, merging clusters is unnecessary; simply adding the non-core node to the existing cluster is sufficient. For example... Figure 5 The center point is the outer point of n10, not the core point of n11. We only need to add the center point to C1.
[0091] The cross-node cluster merging algorithm requires the cooperation of two nodes. Therefore, the algorithm consists of two sub-processes: a discovery sub-process, which is responsible for sending the information about the cross-node clusters to be merged to neighboring nodes; and a merge sub-process, which merges the cross-node clusters after receiving the merge request from the discovery sub-process. Let the local nodes be n10, and the algorithm method of the discovery sub-process is as follows:
[0092] enter: , Let n be the set of points surrounding n10; , For the outer perimeter, For data point identification, After local clustering, The cluster to which it belongs For cluster identification; , for The host node, For node identification;
[0093] algorithm:
[0094] FOREACH in ;
[0095] #Will The membership cluster is assigned to ;
[0096] IF There are only outer points in the middle;
[0097]
[0098] CONTINUE# It does not involve n10;
[0099] # Find all belonging to n10 And the host node and Same outer perimeter points;
[0100] Will for Message sent to ;
[0101]
[0102] Merge child processes:
[0103] enter: ,
[0104] algorithm:
[0105]
[0106] FOREACH in
[0107] IF Is it the core issue?
[0108] #Changes in n11 Cluster identifier;
[0109] ELSE # It is the core point;
[0110] ,in for The set of density-reachable points in n11;
[0111] IF #The merging across node clusters has been completed;
[0112] CONTINUE
[0113] ELSE
[0114] Execute the merge cluster function ( , )#Will and merge.
[0115] When merging cross-node clusters, merging is required. Each core point involves clusters. The first line of the merge subprocess guarantees this requirement. Otherwise, the cluster merge might not be completed correctly. For example, in... Figure 6 In the n11 node, local clustering algorithm shows that c2 and c3 are not in the same cluster, but by connecting the C1 cluster in n10, it can be determined that C2 and C3 belong to the same cluster.
[0116] The metadata of a local node across a node cluster consists of multiple It consists of tuples, and each tuple corresponds to a cross-node cluster of the local node. This represents a globally unified identifier across the node cluster. This represents the set of data points of the cross-node cluster in this node. This represents the set of host nodes that constitute the cross-node cluster distribution. When the cross-node clusters of two nodes are merged, it can be done through... Quickly notify the nodes involved in the cross-node cluster of the updated information.
[0117] In the merge cluster function of merging subprocesses ( , In this context, merging two clusters is accomplished by modifying the cluster identifiers, that is, changing the cluster identifiers of both nodes to the same identifier. Sometimes a cluster involves more than two nodes, in which case the merged cluster also needs to notify other nodes that own this cluster to modify their cluster identifiers. For example... Figure 6 In the example, assume that n9, n10, and n11 have already completed the cross-node cluster merging, and For C1, Meanwhile, n12 and n13 have also completed the merging of cross-node clusters. For C4, When the cross-node clusters n11 and n13 are merged, the metadata of all management nodes in that cluster needs to be updated, specifically the metadata of nodes n9, n10, n11, n12, and n13 for that cluster. This involves changing the metadata of these nodes. For C1, .
[0118] After clustering is complete, the clustering information needs to be collected. The nodes that receive the clustering information are called aggregation nodes. Collecting results from a large number of nodes can cause a huge network load. However, in distributed large-scale clustering application scenarios, there are various needs for result collection, and collection efficiency can still be optimized for different application requirements. Clustering result collection can be mainly divided into three categories of needs:
[0119] The first type of requirement is to collect all clustering results. Similar to centralized clustering, the aggregation node collects all clusters after clustering, as well as isolated points that were not added to any clusters. This requirement should collect information from all nodes, leaving little room for network load optimization.
[0120] The second type of requirement is to collect only cluster data, excluding outliers. This requirement satisfies most clustering applications, such as unsupervised learning where only cluster and member information is needed. Since this type of requirement only needs to collect partial information, a fast data collection method must be designed to reduce network load.
[0121] The third type of requirement is collecting extreme values. For example, finding the largest cluster or collecting the most anomalous data points. The approach of aggregating results before comparison can create a severe performance bottleneck, while placing the comparison operation on a local node can eliminate this bottleneck. There are two ways to collect clusters: The first method is for each node to send the clusters it generates to the aggregation node. These clusters include internal clusters and cross-node clusters. This method is suitable when there are few nodes, but it will significantly increase the network load on the aggregation node when the number of nodes is large. The second method is to inform the nodes that own such clusters on a cluster-by-cluster basis. In this method, internal clusters are reported directly, while for cross-node clusters, a node is asked to collect the cross-node cluster information first before reporting it to the aggregation node. This method is suitable when the number of clusters is small, and it will effectively reduce the network load on the aggregation node when the number of clusters is much smaller than the number of nodes.
[0122] The first method is relatively simple and will not be elaborated further. The second method involves selecting only one node in the cross-node cluster to report the information of that cross-node cluster. This node is called the cluster master node. The cluster master node needs to report to the summarizing node as soon as the cross-node cluster is completed. Therefore, the cluster master node needs to promptly confirm the completion status of the merging of all host nodes in the cluster.
[0123] The cluster master node will base its operations on the metadata. In , and cluster The host node confirms the cluster merge. However, there's still a problem with the cluster master node confirming whether the cluster merge is complete. Cluster merging is a dynamic process, and variables... The number of nodes increases dynamically as clusters merge. The cluster master node is unaware of this at any given time. Has all host nodes of the cluster been included? To address this issue, a merge completion confirmation method is proposed. This method can correctly and promptly confirm the completion of the merge of cross-node clusters. It will not change. Specifically:
[0124] Suppose that at a certain moment, the cluster master node has the following information: Metadata is ,set up If all of the following conditions are met, it means that the boundaries of cross-node clusters have been found, and the clustering has been completed. For Each :1) The cross-node cluster discovery subprocess has completed. 2) middle All the neighboring festivals involved have been completed. Cross-node merging. In some clustering applications, it is often unnecessary to collect all clustering results. For example, anomaly detection only needs to submit the data on anomalies; or behavioral analysis only needs to collect the largest clusters. This section presents a method for collecting maximum and minimum values in DDCM nodes:
[0125] 1) such as Figure 7 All nodes build a competition tree according to the order of CAN splits, and each node outputs the maximum and minimum values to the competition tree.
[0126] 2) The root node of the competition tree is the sink node, such as... Figure 7 The nodes with dark outlines. The value of the root node is the maximum or minimum value.
[0127] In large-scale clustering applications, there are other types of data collection requirements, such as determining whether two points belong to the same cluster. Most of these requirements can be addressed by designing fast data collection methods that leverage the distribution characteristics of cross-node clusters.
Claims
1. A method of computing a local node, characterized by, Includes the following steps: S1, set a node as n10, calculate each data point at n10 Before the value, generate a graph with the width of n10 space surrounded by the graph, set this graph as ; S2, in Randomly find a coordinate point, n10 finds the corresponding adjacent node according to the position of the point, and sets the adjacent node as n11; S3 and n11 will combine the graphics of the space they are responsible for with... Overlap, the overlapping part is set to ;Collecting what fell into The data points are then sent to n10; S4, n10 receives these data points and adds them to the set of peripheral data points for value calculation; S5、 ; S6, if , end; otherwise, repeat performing S2 to S5 steps; S7, n10 calculates values for local data points based on the peripheral data point set values; Before clustering computation, the distribution of clustered objects across distributed computing nodes needs to be organized based on CAN. CAN is designed based on a virtual d-dimensional Cartesian coordinate space. The entire coordinate space is allocated to all nodes in the system, and each node is responsible for maintaining an independent, non-overlapping region. The nodes in CAN self-organize into a coverage network representing this virtual coordinate space. Each node needs to know and maintain the network addresses of nodes in its neighboring regions, using this neighbor information to construct its own coordinate routing table. The routing table is used to complete the pathfinding between any two points in the coordinate space. The dimensions of the CAN space are set to be the same as the attribute dimensions of the clustered objects; each clustered object is mapped to a unique location point in the CAN space based on its own multidimensional attribute values, and these points are called data points; each node has its own CAN space region to manage; when a data point falls into a node's region, that node is responsible for managing that data point. When steps S2 to S5 are repeated, step S2 includes generating multiple random coordinate points that are as dispersed as possible, distributing these coordinate points to multiple nodes simultaneously, and having multiple nodes process step S3 in parallel.
2. The method of claim 1, wherein, When the steps S2 to S5 are performed, the edge points in n10 are collected with The data points of the semicircle are all collected by n10.
3. A decentralized, distributed clustering and result harvesting method, characterized by, The computing method of the local node according to any one of claims 1-2 is used to obtain a plurality of clusters based on the DBSCAN algorithm, extract a cross-node cluster from the plurality of clusters, and merge the cross-node cluster by the following method: Child processes were discovered: enter: , Let n be the set of points surrounding n10; , For the outer perimeter, For data point identification, After local clustering, The cluster to which it belongs For cluster identification; , for The host node, For node identification; algorithm: FOREACH in ; # will the membership cluster value of ; IF only peripheral points; CONTINUE# It does not involve n10; In n10 find all peripheral points that belong to the same cluster as the host node. and the host node is the same as the peripheral node. send a message to ; Merge child processes: Output: , algorithm: FOREACH in IF is a non-core point; Change the cluster identity in n11 ; ELSE # It is the core point; wherein is In n11 the density can reach the set of points; IF The merging across the node clusters has been completed; CONTINUE ELSE Perform merge cluster function (MergeCluster) , ) # merge with and .
4. The method of claim 3, wherein the method is decentralized. This includes a method for collecting maximum and minimum values in decentralized distributed clustering nodes, as detailed below: (1) All nodes build a competition tree according to the order of CAN split, and each node Output the maximum and minimum values to the competition tree; (2) The root node of the competition tree is the sink node, and the value of the root node is the maximum value.
Citation Information
Patent Citations
An online clustering method of spatial data streams based on distributed incremental DBSCAN algorithm
CN109214462A
Distributed clustering method and system for large-scale streaming data
CN110543588A