CN110662182A - Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles - Google Patents

Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles Download PDF

Info

Publication number
CN110662182A
CN110662182A CN201910912214.9A CN201910912214A CN110662182A CN 110662182 A CN110662182 A CN 110662182A CN 201910912214 A CN201910912214 A CN 201910912214A CN 110662182 A CN110662182 A CN 110662182A
Authority
CN
China
Prior art keywords
node
cluster
cluster head
nodes
stable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910912214.9A
Other languages
Chinese (zh)
Other versions
CN110662182B (en
Inventor
刘凯
张玥
曹先彬
张涛
肖振宇
谢晋东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Beijing University of Aeronautics and Astronautics
Original Assignee
Beijing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Aeronautics and Astronautics filed Critical Beijing University of Aeronautics and Astronautics
Priority to CN201910912214.9A priority Critical patent/CN110662182B/en
Publication of CN110662182A publication Critical patent/CN110662182A/en
Application granted granted Critical
Publication of CN110662182B publication Critical patent/CN110662182B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application provides a clustering method, a device and equipment suitable for a high-dynamic large-scale Internet of vehicles, and the method comprises the following steps: a first node receives a communication message sent by a second node; the first node determines all first stable nodes according to the information of all adjacent nodes in the updated adjacent table; the first node calculates the cluster head cost of the first node according to the node information of all the first stable nodes; if the first node is a cluster head node and when the first node is determined to meet the preset conditions for switching the cluster heads in the cluster or the preset conditions for switching the cluster heads among the clusters according to the cluster head cost of the first node, the first node can directly resolve the cluster or select a quasi cluster head to form a new cluster. The method provided by the embodiment of the application can solve the problems of poor cluster structure stability, uneven cluster distribution, high cluster overhead and low communication reliability among nodes in the conventional clustering method.

Description

Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles
Technical Field
The embodiment of the application relates to the technical field of high-dynamic large-scale wireless ad hoc networks, in particular to a clustering method, a clustering device and clustering equipment suitable for high-dynamic large-scale Internet of vehicles.
Background
For a large-scale high dynamic network, a flat network (distributed structure) can cause a serious hidden terminal node and channel competition problem. Since there is no central unit as coordinator, the probability of packet collision is significantly increased, which results in an increase in packet loss rate and transmission delay. This adverse effect is exacerbated at higher network densities. Infrastructure-based networks (centralized architecture) offer a great advantage over flat networks for this case, since the infrastructure (Access Point, AP, Access Point or Road Side Unit, RSU, roadside Unit) can optimally schedule channel Access and distribution of network resources in a relatively simple manner. However, this requires a certain amount of infrastructure to be applied within the intended coverage area, which results in increased costs for economy and infrastructure installation. To realize the advantages of infrastructure-based type networks, clustering can be an alternative technique to generate a hierarchical network topology.
Currently existing clustering algorithms use a variety of metrics for the design of the clustering algorithm, such as location, speed, direction, link lifetime, connectivity of nodes, relative destination, final destination, communication range, relative mobility, link quality, vehicle density, radio power, etc. The clustering algorithm in the internet of vehicles is a clustering algorithm, and aims to optimize certain implementation targets such as cluster stability, connectivity, cluster forming speed, minimized overhead and the like. The most important of them is to provide good quality of experience for security and emergency services, which is closely related to good connectivity of the network, reliability of communication and maximum delay bound. In general, a plurality of metrics are used in a clustering algorithm to cluster nodes, and most clustering algorithms aim to increase stability and lifetime of a cluster structure. Generally, the clustering process can be divided into three major parts, namely cluster head selection, cluster formation and cluster maintenance. The cluster head selection allows a node to select one CH in a distributed or centralized manner. The CH is mainly used for managing nodes in the cluster and maintaining the cluster structure of the cluster. The clustering process is mainly to establish communication links between the CH and the CMs. A stable cluster usually requires a stable link between CH and CMs. However, due to the dynamic nature of the network, these separate links may be unpredictable and may fail, making the establishment and maintenance of communications between high speed mobile nodes difficult. The cluster maintenance process mainly solves the problems of cluster reformation and cluster rejoining of nodes. How to select a CH and how nodes form a particular cluster has a large impact on the stability of the cluster.
Although clustering can bring great advantages, clustering also faces some important challenges such as: mobility of nodes, extra overhead for cluster formation and maintenance, and channel fading, signal shadowing, etc. The most challenging problem of clustering mobile nodes is maintaining clusters during the movement of the nodes. Due to the high mobility of the nodes, the frequent changes in topology and the fragile and time-varying nature of the wireless channel, the communication links between nodes continue to break frequently, so the clustering algorithm should be able to detect and react to topology changes to maintain an appropriate cluster structure. In a dynamic network environment, reconfiguration of clusters and cluster head changes are inevitable, and a re-clustering process needs to be started periodically in the network, which generally results in a less stable cluster structure. Therefore, a clustering algorithm with a small cluster head change frequency should be designed in an attempt, so that the stability of the cluster structure is improved, and reliable communication between nodes can be supported. In addition, the algorithm is required to be capable of converging quickly, so that all nodes are added into the network as soon as possible, and control overhead and time overhead brought by the clustering process are minimized as much as possible.
Disclosure of Invention
The embodiment of the application provides a clustering method, a device and equipment suitable for a high-dynamic large-scale Internet of vehicles, and aims to solve the problems that the existing clustering method suitable for the high-dynamic large-scale Internet of vehicles is poor in stability of a cluster structure, uneven in cluster distribution, high in clustering cost and low in communication reliability among nodes.
In a first aspect, an embodiment of the present application provides a clustering method suitable for a high-dynamic large-scale internet of vehicles, including:
a first node receives a communication message sent by a second node, and the first node updates the communication message to a neighbor table of the first node;
the first node determines all stable adjacent nodes of the first node according to the updated node information of all adjacent nodes in the adjacent table of the first node, wherein the stable adjacent nodes of the first node are the nodes which are mutually stable adjacent to the first node in the updated adjacent table of the first node;
the first node calculates the cluster head cost of the first node according to the node information of all stable neighbor nodes of the first node;
if the first node is a cluster head node, and when the first node is determined to accord with the preset condition of intra-cluster head switching or the preset condition of inter-cluster head switching according to the cluster head cost of the first node, the first node determines a cluster head node to be determined, and the first node disperses a cluster where the first node is located, wherein the new cluster is established when the cluster head node to be determined meets the preset condition of new cluster establishment, and the cluster head of the established new cluster is the node with the minimum cluster head cost value within the distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed;
if the first node is a cluster head node, and the sum of the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node is smaller than a preset cluster disaggregation scale threshold, the first node sends a disaggregation cluster message to all cluster members of the cluster where the first node is located, and the target non-clustered node is a non-clustered node which is a stable neighbor node with the first node;
if the first node is a cluster member node and the cluster head node in the cluster where the first node is located does not meet the condition of distance or angle between each other and a stable adjacent node according to the cluster head cost of the first node, the first node changes the cluster head node corresponding to the first node;
if the first node is a non-clustered node and a target cluster head node exists in a neighbor table of the first node, the first node sends an application joining request for applying to join a cluster where the target cluster head node is located;
if the first node is a non-clustered node and it is determined that a target cluster head node does not exist in a neighbor table of the first node, determining whether the first node meets a preset condition for establishment of a new cluster according to the neighbor table of the first node, and if the first node meets the preset condition for establishment of the new cluster, taking the first node as the cluster head node of the new cluster.
In a second aspect, an embodiment of the present application provides a clustering device suitable for a high-dynamic large-scale internet of vehicles, including:
the neighbor table updating module is used for receiving the communication message sent by the second node and updating the communication message into the neighbor table of the first node;
a stable neighbor node determining module, configured to determine all stable neighbor nodes of the first node according to node information of all neighbor nodes in an updated neighbor table of the first node, where the stable neighbor nodes of the first node are nodes in the updated neighbor table of the first node that are stable neighbors of the first node;
a cluster head cost calculation module, configured to calculate a cluster head cost of the first node according to node information of all stable neighboring nodes of the first node;
a cluster head switching module, configured to determine a cluster head node to be determined when the first node is a cluster head node and it is determined that the first node meets a preset condition for intra-cluster head switching or a preset condition for inter-cluster head switching according to a cluster head cost of the first node, and the first node dissociates a cluster where the first node is located, where a new cluster is established when the cluster head node to be determined meets the preset condition for establishment of the new cluster, and a cluster head that establishes the new cluster is a node having a minimum cluster head cost value within a distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed;
a cluster resolving module, configured to broadcast a message for resolving a cluster to the first node when the first node is a cluster head node and a sum of the number of cluster members in a cluster where the first node is located and the number of target non-clustered nodes included in the updated neighbor table of the first node is smaller than a preset cluster resolving scale threshold, where the target non-clustered node is a non-clustered node that is a stable neighbor node with the first node;
a cluster head changing module, configured to, when the first node is a cluster member node and it is determined that the first node and a cluster head node in a cluster where the first node is located do not satisfy a condition of a distance or an angle between each other and a stable neighboring node according to a cluster head cost of the first node, change the cluster head node corresponding to the first node by the first node;
a cluster joining application module, configured to send an application joining request to apply for joining a cluster in which a target cluster head node is located when the first node is an unclustered node and it is determined that the target cluster head node exists in a neighbor table of the first node;
and the new cluster establishment module is used for determining whether the first node meets a preset condition for establishing a new cluster according to the neighbor table of the first node when the first node is an unclustered node and the target cluster head node does not exist in the neighbor table of the first node, and taking the first node as the cluster head node of the new cluster when the first node meets the preset condition for establishing the new cluster.
In a third aspect, an embodiment of the present application provides a water resource optimal configuration device, including: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executing the computer-executable instructions stored by the memory causes the at least one processor to perform the clustering method suitable for high-dynamic large-scale internet of vehicles as described above in the first aspect.
According to the clustering method, the clustering device and the clustering equipment suitable for the high-dynamic large-scale Internet of vehicles, firstly, a first node receives a communication message sent by a second node, and the first node updates the communication message to a neighbor table of the first node; the first node determines all stable adjacent nodes of the first node according to the updated node information of all adjacent nodes in the adjacent table of the first node, wherein the stable adjacent nodes of the first node are the nodes which are mutually stable adjacent to the first node in the updated adjacent table of the first node; the first node calculates the cluster head cost of the first node according to the node information of all stable neighbor nodes of the first node; if the first node is a cluster head node, and when the first node is determined to accord with the preset condition of intra-cluster head switching or the preset condition of inter-cluster head switching according to the cluster head cost of the first node, the first node determines a cluster head node to be determined, and the first node disperses a cluster where the first node is located, wherein the new cluster is established when the cluster head node to be determined meets the preset condition of new cluster establishment, and the cluster head of the established new cluster is the node with the minimum cluster head cost value within the distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed; if the first node is a cluster head node, and the sum of the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node is smaller than a preset cluster disaggregation scale threshold, the first node sends a disaggregation cluster message to all cluster members of the cluster where the first node is located, and the target non-clustered node is a non-clustered node which is a stable neighbor node with the first node; if the first node is a cluster member node and the cluster head node in the cluster where the first node is located does not meet the condition of distance or angle between each other and a stable adjacent node according to the cluster head cost of the first node, the first node changes the cluster head node corresponding to the first node; if the first node is a non-clustered node and a target cluster head node exists in a neighbor table of the first node, the first node sends an application joining request for applying to join a cluster where the target cluster head node is located; if the first node is a non-clustered node and it is confirmed that no target cluster head node exists in a neighbor table of the first node, whether the first node meets a preset condition for establishing a new cluster is determined according to the neighbor table of the first node, if the first node meets the preset condition for establishing the new cluster, the first node is used as the cluster head node of the new cluster, and therefore connectivity and stability of a cluster structure are improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to these drawings without inventive exercise.
Fig. 1 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale internet of vehicles according to an embodiment of the present application;
FIG. 2 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale Internet of vehicles according to still another embodiment of the present application;
FIG. 3 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale Internet of vehicles according to another embodiment of the present application;
FIG. 4 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale Internet of vehicles according to another embodiment of the present application;
FIG. 5 is a schematic structural diagram of a clustering device suitable for a high-dynamic large-scale Internet of vehicles according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a clustering device suitable for a high-dynamic large-scale internet of vehicles according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the above-described drawings (if any) are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The embodiment of the application provides a clustering method suitable for a high-dynamic large-scale Internet of vehicles, in order to solve the problems, multiple clustering measurement standards are comprehensively considered, the direction is applied when a cluster is formed, the distance, the speed, the connection time and other factors are utilized, so that only the moving directions are close, the distance is smaller than a threshold value, a node with stable connection time larger than the threshold value can be divided into one cluster, the situation that the node with short connection time leaves the cluster immediately after being added into the cluster is avoided, meanwhile, the validity of a link can be maintained to a certain extent by limiting the distance threshold value, a clustering algorithm is suitable for a complex and variable wireless channel environment, and the connectivity and the stability of a clustering structure are improved.
Fig. 1 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale internet of vehicles according to an embodiment of the present application, where an execution main body of the embodiment may be a device or an apparatus serving as a first node, and the execution main body is not limited herein.
Referring to fig. 1, the clustering method suitable for the high-dynamic large-scale internet of vehicles includes:
s101, a first node receives a communication message sent by a second node, the first node updates the communication message to a neighbor table of the first node, and the neighbor table comprises at least one node information of nodes which correspond to the neighbor table and are adjacent to each other.
In this embodiment, the first node and the second node may both be any node of a mobile node in a network formed by an internet of vehicles, for example, the first node and the second node may both be vehicle nodes, where the first node may operate in any one of the following states: unclustered Node (UN): the initial state of all the nodes indicates that the nodes do not belong to any cluster and are not successfully added into any cluster; cluster Member status (CM): the node is added into a cluster and can directly communicate with a cluster head, and any node only belongs to one cluster; cluster Head status (CH): the manager of the cluster can perform one-hop communication with all cluster members in the cluster. Therefore, the first node may be any one of a cluster head node, a cluster member node, and a non-clustered node.
The first node periodically broadcasts messages continuously, and simultaneously receives messages broadcast by other nodes, namely communication messages continuously. Each node has its own neighbor table, and node information of each neighboring node may be stored in the neighbor table, and if the first node receives the communication message sent by the second node, which indicates that the first node and the second node are neighboring nodes, the node information of the second node is added or updated to the neighbor table of the first node. Specifically, when the first node periodically detects its own neighbor table, the first node updates and deletes the entry of the failed neighbor table. If the first node finds that no message of the second node is received in three consecutive HELLO period intervals, the first node considers that the second node and the first node are no longer adjacent nodes to each other, and deletes the relevant entry of the second node from the neighbor table.
S102, the first node determines all first stable nodes according to the updated node information of all adjacent nodes in the neighbor table of the first node, wherein the first stable nodes are nodes which are stable nodes with the first node in the updated neighbor table of the first node.
In this embodiment, in one cluster, it is specified that the UN node and the CH must satisfy the condition of mutually stable neighboring nodes when joining the cluster, and the CH and all CMs in the cluster must satisfy two constraints of direction and distance in the mutually stable neighboring nodes, but there is no conditional requirement between the CM nodes in the same cluster. Wherein the definition of stable neighbor nodes is as follows: if the distance D between node i and node ji,jLess than a certain threshold DthDirection of relative movement between two nodes | Δ θi,j| less than a certain threshold θthStable connection time SLTi,jGreater than or equal to a certain threshold value TthAnd the node i and the node j are stable adjacent nodes.
Wherein D isth=DistanceThreshold=R*DistanceThresholdcoeff
R=TransmissonRange
Vth=Speed Threshold=5
θth=Angle Threshold=π/2
Tth=Time Threshold=(R-Dth)/Vth
Step S103, the first node calculates the cluster head cost of the first node according to the node information of all the first stable nodes.
Wherein after the calculating the cluster head cost of the first node, the method further comprises:
and if the first node is a cluster head node, the first node acquires the number of cluster members of the cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node. In this embodiment, the distance between a node and a CH is measured by using the cluster head cost cl (cost level), and a smaller value indicates that the node is more qualified as the CH and has more ability to assume the role of the CH, and the probability of being selected as the CH is higher. The node with the smallest CL value is always selected when selecting CH.
The following table shows messages transmitted between nodes in the clustering process, and except for the service data packets, other data packets are clustering control data packets transmitted in the network layer.
Figure BDA0002215034060000091
S104, if the first node is a cluster head node, and when the first node is determined to accord with the preset condition of cluster head switching in a cluster or the preset condition of cluster head switching between clusters according to the cluster head cost of the first node, the first node determines a cluster head node to be determined, and the first node dissociates the cluster where the first node is located, wherein a new cluster is established when the cluster head node to be determined meets the preset condition of establishment of the new cluster, and the cluster head of the established new cluster is the node with the minimum cluster head cost value in the range of a distance threshold value when the cluster head node in the cluster is switched or the cluster head between clusters is switched.
In this embodiment, the cluster head switching in the cluster means that when the CH is no longer an optimal CH, it will grant the role of the CH to a CM node in the cluster. To avoid frequent cluster head switching, in the present embodiment, cluster head switching in a cluster is performed only when the CL value ranking of the cluster CH is not within the range of 1/4 before the cluster.
Wherein, the node is added into the cluster or leaves the cluster, which causes the change of the cluster size and the ranking of the CL value of CH in the cluster. It is detected whether intra-cluster head switching is to occur when the cluster size changes. And even if the cluster size does not change, the CL value of CH may change in the ranking within the cluster. Therefore, in this embodiment, the set node periodically detects whether cluster head switching occurs in the cluster when the BEAT message arrives.
Specifically, when detecting whether or not cluster head switching in a cluster needs to be performed, it is first determined whether or not the cluster meets a cluster suicide condition, that is, the sum of the current cluster size of CH and the number of UN nodes in stable neighbor nodes of the cluster is less than a cluster size threshold 1/2 × cluster size threshold (that is, a preset cluster size threshold). If the conditions for cluster suicide are met, the CH will break up the cluster. Otherwise, the CH will continue to determine whether to perform intra-cluster head switching. The CH node traverses all CM members in the neighbor table to obtain the CL value of the CM members, counts the CM node number m of which the CL value is smaller than the self value, and records the CM member with the minimum CL value. If the following formula is satisfied, switching of cluster heads in a cluster occurs, namely the preset condition for switching of cluster heads in a cluster is as follows: m > RankThresholdcoeff CurrentClusterSize. Here RankThresholdcoeff is 1/4.
The selected CM with the smallest CL value becomes quasi-CH (QCH). The CH then transitions to the UN state, stores the Id information of the QCH in the field of the target clusterhead Id, and sends a CH _ HANDOVER message to broadcast the information of the QCH to surrounding nodes. All CM members of the original cluster receiving the CH _ HANDOVER message change the state of the CM members into UN, and enter the flow of initializing the UN node and adding the UN node into the cluster. And for the QCH node, after receiving the CH _ HANDOVER message, the QCH node changes the state of the QCH node into CH, sends a CH _ ANNOUNCE message and waits for other nodes to be added into the cluster.
In addition, inter-cluster head switching can be regarded as cluster fusion, which refers to a phenomenon that two clusters overlap to a large extent. And when the first node meets the preset condition of cluster head switching among the clusters, the CH performs cluster head switching among the clusters to enable the two clusters to be combined into one cluster. Cluster fusion can be simply equated here as inter-cluster head switching. The node performs inter-cluster head switching, namely a cluster fusion process. Cluster fusion may occur if CH nodes detected in the neighbor table of the CH travel in the same direction as the node and the two CHs are in a state of being close to each other. The term "close to each other" means that when the detected CH node is in front of itself and the traveling speed is lower than itself, or when the detected CH node is behind itself and the traveling speed is higher than itself, that is, when two CHs are adjacent to each other and one CH may catch up with the other CH. But cluster fusion must only occur when a CH node detects co-driving with another CH node and the distance between the two is less than a threshold. Before cluster fusion, the CH judges whether a cluster suicide condition is satisfied or not, and if the cluster suicide condition is satisfied, the cluster is dissolved and the cluster fusion is not performed any more. The CH selects a node with the smallest CL value from the set of nodes in both CHs and in the two cluster overlap region if the cluster suicide condition is not satisfied. Each CH traverses its neighbor table and attempts to find a node from the table that is less than Dth from both CHs and has the smallest CL value, and then compares the smallest CL value with the CL values of both CHs to determine an optimal quasi-CH (qch) node. Since the nodes satisfying the condition must exist in the neighbor tables of the two CHs at the same time, the QCH nodes selected by the two CHs must be the same node.
If the QCH is one of the two CHs, the CH remains in the CH state, and the other CH becomes the UN state and transmits a CH _ release message. If QCH is CM member of a certain CH, this CH changes to UN state and sends CH _ HANDOVER message, and the cluster fusion in this cluster is equal to cluster head switch in cluster. While another CH will go to the UN state and send a CH _ resolution message to dissolve the cluster. If the QCH is an UN node, then both CHs will change to UN state and send CH _ resolution messages to dissolve the cluster.
Among them, the occurrence of cluster fusion is mainly divided into three cases:
1) if QCH is one of two CH, the CH keeps the state of CH unchanged, and the other CH changes to UN state and sends CH _ DISSOLUTION message;
2) if QCH is CM member of a certain CH, this CH changes to UN state and sends CH _ HANDOVER message, and the cluster fusion in this cluster is equal to cluster head switch in cluster. And the other CH will become UN state and send CH _ DISSOLUTION message to dissolve the cluster;
3) if the QCH is an UN node, then both CHs will change to UN state and send CH _ resolution messages to dissolve the cluster.
In this embodiment, the first node further determines, by updating and maintaining its own neighbor table, a first stable node in the neighbor table of the first node, which is a stable node with respect to the first node, then calculates a cluster head cost of the first node, and when the first node is a cluster head node, further determines whether the first node needs to be switched, that is, whether the first node meets a preset condition for switching a cluster head in a cluster or a preset condition for switching a cluster head between clusters, and if so, determines a new cluster head node corresponding to the cluster where the first node is located, and switches the new cluster head node to the cluster head node of the cluster where the first node is located, thereby improving connectivity and stability of the cluster structure, and simultaneously, due to improvement of stability, avoiding switching time and times, further saving time and resources, solving problems of poor stability of the cluster structure and uneven distribution of the cluster, high clustering overhead and low communication reliability among nodes.
S105, if the first node is a cluster head node, and the sum of the number of cluster members of the cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node is smaller than a preset cluster disaggregation scale threshold, the first node sends a disaggregation cluster message to all cluster members of the cluster where the first node is located, and the target non-clustered nodes are non-clustered nodes which are stable neighbor nodes with the first node. In practical application, there are three cases of cluster disintegration, which respectively correspond to three cases of cluster death: the first case is the unraveling of small-scale clusters. If the first node is a cluster head node, cluster resolution will occur when the sum of the current cluster size of the CH and the number of UN nodes in stable neighbors around the CH node is less than half 1/2 × cluster size threshold. The cluster death pattern for cluster resolution due to member loss is cluster suicide (CD _ Drain);
the second case is cluster de-clustering where intra-cluster head switching occurs. At this point, although the cluster suicide condition is not satisfied, the CL value of CH is not within the top 1/4 ranking in this cluster, which indicates that the current CH is no longer the optimal CH. At this time, the cluster head switching in the cluster occurs, and the original cluster must be disassembled when the cluster head switching is performed. The cluster death type of cluster unraveling due to membership Succession is cluster correction (CD _ success).
The third case is cluster disassembly when cluster fusion occurs. Cluster fusion may occur when one CH detects the presence of another CH, i.e., when two CHs become one-hop neighbors. In order to avoid unnecessary cluster fusion as much as possible, cluster fusion does not necessarily occur even when two CH nodes are neighboring nodes to each other. And cluster fusion will only occur when two CHs satisfy two conditions of direction and distance in mutually stable neighboring nodes. At this time, two clusters are fused into one cluster, at least one cluster is disassembled, so cluster disassembly occurs, and the cluster death type of the disassembled cluster due to cluster fusion is cluster Recombination (CD _ Recombination).
S106, if the first node is a cluster member node, and according to the cluster head cost of the first node, when the first node and the cluster head node in the cluster where the first node is located do not meet the condition of distance or angle between each other and a stable adjacent node, the first node changes the cluster head node corresponding to the first node.
In this embodiment, a process of the first node changing the cluster head node corresponding to the first node is similar to a process of the first node applying for adding a new cluster.
Specifically, the first node changes a cluster head node corresponding to the first node, that is, the first node leaves a cluster where the first node is located. The case that a node leaves a cluster generally refers to that a CM node leaves the cluster, and this can be divided into two cases, namely active leaving and passive leaving.
The active leaving of the cluster is usually directed to the CM node, which means that when the CM node receives the HELLO message of its CH, it detects that the CH and itself have not satisfied the direction or distance threshold condition in the stable neighboring nodes. At this time, the CM node changes its status to UN and actively sends a LEAVE message to the CH node to inform its CH. After receiving the LEAVE message of the CM node of the cluster, the CH deletes the CM node from the cluster member set ClusterMemberSet and updates the current cluster scale of the cluster.
Passive leaving of a cluster by a CM node is divided into two cases: one is to find that any message of the CH node has not been received for three consecutive HELLO cycle intervals when the failed neighbor table entity is deleted, which indicates that the link between the CH to the CM has failed. In this case, the CM node may consider it to have disconnected from the CH, and at this time, the CM node may still send a LEAVE message to inform its CH (since the CH may still receive the message of the CM although the CM node does not receive the message of the CH). Another situation that may arise is when a CM node receives a message from a CH but at this time its own CH node is no longer in the CH state. Such as the CM node receiving the JOIN message of its own CH. At this time, the CM node will not send LEAVE message, it will change to UN state directly, and enter the process of UN node initializing joining cluster.
If the message of the CM is received by the CH, the CH finds that the CH and the CM member do not meet the condition of the direction or distance threshold value in the stable adjacent nodes of each other. Or when the failed neighbor table entry is deleted and it is found that no message of the CM node has been received for three consecutive HELLO cycle intervals, the CH considers the CM to have left the cluster in both cases. At this time, the CH node deletes the CM node from the ClusterMemberSet, and simultaneously updates the current cluster size of the cluster.
S107, if the first node is a non-clustered node and a target cluster head node exists in a neighbor table of the first node, the first node sends an application adding request for applying to add into a cluster where the target cluster head node is located;
s108, if the first node is a non-clustered node and it is determined that no target cluster head node exists in a neighbor table of the first node, determining whether the first node meets a preset condition for establishing a new cluster according to the neighbor table of the first node, and if the first node meets the preset condition for establishing the new cluster, taking the first node as the cluster head node of the new cluster.
After determining whether the first node meets a preset condition for establishing a new cluster according to the neighbor table of the first node, the method further includes:
if the first node does not meet the preset condition of establishment of the new cluster, the first node broadcasts a beacon to wait for joining a cluster where an adjacent node which is a stable adjacent node with the first node is located; wherein, the preset conditions for establishing the new cluster are as follows: the first node does not have any cluster head node within a distance threshold range, the number of non-clustered nodes in all stable neighbor nodes of the first node in the updated neighbor table of the first node is greater than a preset cluster threshold, and the first node has the minimum cluster head cost in the non-clustered nodes in all stable neighbor nodes.
In practical application, the formation process of the initial cluster is as follows: at the initial stage of network establishment, all nodes are in an UN state (here, the node in the UN state is the first node which is an unclustered node), the CL value of each node is 1, and all nodes periodically broadcast HELLO messages at intervals of 100 ms. The HELLO message includes information such as the current position, speed, direction, CL value, status, etc. of the node. The node broadcasts the HELLO message of the node and receives the HELLO messages of other nodes at the same time.
Each node (i.e., the first node, where the first node may be the second node, and the second node may also be the first node) may establish and maintain a neighbor table, and store and update relevant information of neighboring nodes around according to information in a received data packet. Each neighbor table entry may include information such as Id of a node, network address (IP address), current location (coordinate form), current speed (coordinate form), current direction, current node state, cluster head Id of a node, node target Id, CH flag (whether CH is present or not), current CL value, current cluster scale, timestamp of the last time the node was received, and the like. Thus, each node can continuously update the information of the surrounding neighbor nodes through the periodic HELLO messages.
After the nodes exchange mutual information for a period of time, the CL value of the nodes can be calculated according to the received data packets of the surrounding adjacent nodes. The node will first establish a stable neighbor set stableNeighborSet and then traverse all entries in the neighbor table. For the node corresponding to each neighbor table entry, the node will determine whether it is its own stable neighbor node, and if so, add it to the stableineghborset. And after traversing all the neighbor table entries, if the set is empty, the node indicates that no stable neighbor node exists, and the node modifies the CL value of the node to 1. If not, the node calculates its CL value according to the CL value calculation formula mentioned above. Before sending a new HELLO message, the node fills updated information such as location, speed, status, CL value, etc. into corresponding fields of the data packet, and then broadcasts the latest information to surrounding nodes.
In addition, the UN node also judges whether the neighboring nodes have the CH nodes which can be added according to the information in the neighbor table. If there is no joinable CH node around the UN node, and the number of UN nodes in the neighbor table that are stable neighbors to itself is greater than ClusterSizeThreshold, and the UN node has the smallest CL value among these UN nodes, the UN node will change its state to CH, and send a CH _ ANNOUNCE message to establish a new cluster.
In addition, the specific process of adding the nodes into the cluster is as follows: the UN node firstly tries to search the joinable CH node from the neighbor table, applies for joining the cluster if the joinable CH node exists, and judges whether the node can declare a new cluster if the joinable CH node does not exist. The joinable node means that the CH node and the CH node are stable neighbor nodes and the current cluster size is smaller than the upper limit of the cluster size. For this reason, the UN node establishes an addable CH set AvailableCHSet, and then traverses its own neighbor table to see whether there is any addable CH. If the node corresponding to the neighbor table entry is a CH, the current cluster size is smaller than the upper limit capable of being accommodated, and the node are stable neighbor nodes, the CH is added into the AvailablecHSet. After all entries are traversed, the node first determines whether the set is empty. If the set is empty and does not satisfy the condition of declaring as a CH, the method continues to search a neighbor table for a proper target CH and tries to join the network. If the UN node satisfies the condition of declaring to be CH, the state of the UN node is changed to be CH, and a CH _ ANNOUNCE message is sent to declare that a new cluster is formed. If there is only one joinable CH in the set, the node sets its own clusterhead Id to the Id of this CH. If a plurality of such CH exist, the UN node calculates stable connection time with the joinable CH, compares the stable connection time of the joinable CH with the stable connection time of the joinable CH, selects a CH with the longest stable connection time with the UN node as a target CH of the UN node, and sets the own clusterhead Id as the Id of the target CH.
After the target CH is determined, the UN node sends a JOIN message requesting to JOIN the cluster and starts a timer. If the JOIN _ ACK message from the target node is successfully received within the validity period, it indicates that the UN node successfully joined the network. At this time, the UN node changes its own state to a CM state, and changes the cluster head Id to the Id of the target CH. If the node does not receive the JOIN _ ACK message within the validity period or receives the JOIN _ NACK message within the validity period, the node indicates that the UN node is not successfully added into the network, and the node continues to search a suitable target CH in the neighbor table and tries to add into the network.
According to the clustering method suitable for the high-dynamic large-scale Internet of vehicles, a first node receives a communication message sent by a second node, and the first node updates the communication message to a neighbor table of the first node; the first node determines all stable adjacent nodes of the first node according to the updated node information of all adjacent nodes in the adjacent table of the first node, wherein the stable adjacent nodes of the first node are the nodes which are mutually stable adjacent to the first node in the updated adjacent table of the first node; the first node calculates the cluster head cost of the first node according to the node information of all stable neighbor nodes of the first node; if the first node is a cluster head node, and when the first node is determined to accord with the preset condition of intra-cluster head switching or the preset condition of inter-cluster head switching according to the cluster head cost of the first node, the first node determines a cluster head node to be determined, and the first node disperses a cluster where the first node is located, wherein the new cluster is established when the cluster head node to be determined meets the preset condition of new cluster establishment, and the cluster head of the established new cluster is the node with the minimum cluster head cost value within the distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed; if the first node is a cluster head node, and the sum of the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node is smaller than a preset cluster disaggregation scale threshold, the first node sends a disaggregation cluster message to all cluster members of the cluster where the first node is located, and the target non-clustered node is a non-clustered node which is a stable neighbor node with the first node; if the first node is a cluster member node and the cluster head node in the cluster where the first node is located does not meet the condition of distance or angle between each other and a stable adjacent node according to the cluster head cost of the first node, the first node changes the cluster head node corresponding to the first node; if the first node is a non-clustered node and a target cluster head node exists in a neighbor table of the first node, the first node sends an application joining request for applying to join a cluster where the target cluster head node is located; if the first node is a non-clustered node and it is confirmed that no target cluster head node exists in a neighbor table of the first node, whether the first node meets a preset condition for establishing a new cluster is determined according to the neighbor table of the first node, and if the first node meets the preset condition for establishing the new cluster, the first node is used as the cluster head node of the new cluster, so that the connectivity and the stability of a cluster structure are improved.
In order to determine a first stable node that is a stable node with the first node, fig. 2 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale internet of vehicles according to yet another embodiment of the present application, where the embodiment details a specific process of S102 on the basis of the above-mentioned embodiment, for example, on the basis of the embodiment shown in fig. 1. The node information comprises position coordinates and speed coordinates of the nodes; the first node determines all stable neighbor nodes of the first node according to the updated node information of all neighbor nodes in the neighbor table of the first node, including:
s201, aiming at each adjacent node of all adjacent nodes in the updated adjacent table of the first node, determining the relative movement direction of the first node and the adjacent nodes according to the speed coordinate of the adjacent nodes;
s202, determining the distance between the first node and the adjacent node according to the position coordinates of the adjacent node;
s203, if the relative movement direction of the first node and the adjacent node is smaller than or equal to a preset included angle and the distance between the adjacent nodes is smaller than or equal to a preset distance, calculating by a preset first inequality according to the position coordinate and the speed coordinate of the adjacent node to obtain the stable connection time between the first node and the adjacent node;
and S204, if the stable connection time is greater than or equal to the preset connection time, determining that the adjacent node is a stable adjacent node of the first node.
In this embodiment, the process of determining the first stable node which is a stable node with the first node is as follows: recording the first node as a node i, recording any adjacent node in the neighbor table of the first node as a node j, and traversing all adjacent nodes in the neighbor table of the first node, specifically: stable connection time SLT between node i and node ji,jDefined as the distance from the current time to two nodes is greater than DthTime of (SLT)i,jThe value of (c) can be calculated from the current velocity and position of the two nodes. Suppose the speed and direction of a node are atThe position coordinate of the node i is (P)i.x,PiY) velocity coordinate of (V)i.x,ViY); the position coordinate of the node j is (P)j.x,PjY) velocity coordinate of (V)j.x,VjY). If the distance between node i and node j is less than or equal to DthThen, there are:
[(Pi.x+Vi.x*t)-(Pj.x+Vj.x*t)]2+[(Pi.y+Vi.y*t)-(Pj.y+Vj.y*t)]2≤Dth 2
[(Pi.x-Pj.x)+(Vi.x*t-Vj.x*t)]2+[(Pi.y-Pj.y)+(Vi.y*t-Vj.y*t)]2≤Dth 2
the following variable substitutions were made:
a=Vi.x-Vj.x
b=Pi.x-Pj.x
c=Vi.y-Vj.y
d=Pi.y-Pj.y
then there are:
[b+at]2+[d+ct]2≤Dth 2
by definition, SLTI,j=tmaxAt this time, the following formula is satisfied:
[b+a*SLTI,j]2+[d+c*SLTI,j]2=Dth 2
the following variable substitutions were made:
e=a2+c2
solving the equation yields the stable connection time between nodes i and j as:
Figure BDA0002215034060000181
in order to calculate the cluster head cost of the first node, fig. 3 is a schematic flow chart of a clustering method suitable for a high-dynamic large-scale internet of vehicles according to another embodiment of the present application, and this embodiment details a specific process of S103 on the basis of the above embodiment, for example, on the basis of the embodiment described in fig. 1. The first node calculates the cluster head cost of the first node according to the node information of all the first stable neighbor nodes, and the method comprises the following steps:
s301, the first node calculates the average speed of all stable adjacent nodes of the first node and the average distance from the first node to all stable adjacent nodes of the first node according to the node information of all stable adjacent nodes of the first node;
s302, the first node acquires the number of all stable adjacent nodes of the first node, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position behind the first node;
s303, obtaining the cluster head cost of the first node based on a preset cluster head cost formula according to the average speed, the average distance, the number of all first stable nodes, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position behind the first node.
In this embodiment, the first node is denoted as a node i, where a cluster head cost C of the node iiThe calculation formula is as follows:
Figure BDA0002215034060000182
where α, β, γ can be set to different values, but α + β + γ is 1, where ViRepresents the velocity of node i;
Figure BDA0002215034060000183
represents the average velocity of all stable neighbors of node i; vmaxRepresenting a predefined maximum speed, set at 50 m/s;
Figure BDA0002215034060000184
represents the average distance, N, of node i from all its stable neighborsallIndicates the number of all stable neighbor nodes of node i, NfrontIndicates the number of stable neighbor nodes with the current position in front of the node i, NbehindRepresents the number of stable neighbor nodes with the current position behind the node i and has Nall=Nfront+Nbehind,Nfront-Nbehind=2*Nfront-Nall
From the above equation: when N is presentallWhen not 0, CLiThe value range of (c) will be normalized to (0, 1). When N isallWhen the value is 0, the denominator of the above formula is zero, so that the definition of N is thatallWhen it is 0, CLiHas a value of 1. If the relative speed of the node i and the stable adjacent node of the node i is smaller, the distance is closer, the number of the stable adjacent nodes of the node is larger, and the distribution of the stable adjacent nodes in front of and behind the node is more uniform, the CL value of the node is smaller.
In order to implement the adaptive beacon mechanism, fig. 4 is a schematic flowchart of a clustering method suitable for a high dynamic large-scale vehicle networking according to another embodiment of the present application, and this embodiment details a specific process of the clustering method suitable for the high dynamic large-scale vehicle networking based on the above embodiment, for example, based on any one of the embodiments illustrated in fig. 1 to 3. The method further comprises the following steps:
s401, when the first node is in a non-clustering state, the first node broadcasts a beacon by taking a first preset time interval as a period;
s402, after the first node is added into a cluster, the first node obtains the speed of a cluster head node of the cluster where the first node is located;
s403, the first node determines a beacon period of the beacon sent by the first node according to the speed of a cluster head node of a cluster where the first node is located and a preset beacon period threshold table;
s404, the first node broadcasts a beacon according to the beacon period.
In this embodiment, all nodes are set to the UN state during initialization of the network, so the nodes will periodically broadcast HELLO messages at intervals of 100 ms. But after a node joins a cluster and becomes a CM node, its beacon period is determined by the speed range of the CH, the larger the CH speed, the shorter the beacon period. In the present invention, 5 kinds of beacon periods are set with 40m/s, 30m/s, 20m/s, and 10m/s as thresholds for dividing the beacon period. When the speed of the CH is more than 40m/s, the nodes in the whole cluster send beacons in a period of 100 ms; when the speed of the CH is less than or equal to 40m/s and greater than 30m/s, the nodes in the whole cluster send beacons in a period of 200 ms; when the speed of the CH is less than or equal to 30m/s and greater than 20m/s, the nodes in the whole cluster send beacons in a period of 400 ms; when the speed of the CH is less than or equal to 20m/s and more than 10m/s, the nodes in the whole cluster send beacons by taking 800ms as a period; when the speed of the CH is less than or equal to 10m/s, the nodes in the entire cluster transmit beacons at a period of 1000 ms.
In practical applications, the communication message sent by one node to another node may be any of the following: HELLO message, JOIN _ (N) ACK message, CH _ ANNOUNCE message, CH _ HANDOVER message, CH _ release message, LEAVE message.
Each node needs to maintain and update its own state information in time in the whole clustering process. This work is done primarily through bed self-messaging. The node sets a periodic timer, traverses the neighbor table of the node at regular intervals, deletes the invalid neighbor table entries, calculates the CL value of the node according to the valid information in the neighbor table, and sets the beacon message sending interval. If the node is CH, whether cluster suicide is needed or not and whether cluster head switching is needed or not are judged. If the node is a CM, the node judges whether to change the cluster head of the node. If the node is a UN, it may attempt to join a cluster or establish a new cluster.
The processing process of the network node (which may be the first node or the second node) on various messages is as follows: (the node may be the first node hereinafter.)
1. Processing of a node to receive a HELLO message
No matter what type of message and who the source node and the destination node of the message are, in this embodiment, as long as the message of a certain node is received, the information of the message sender is recorded in the neighbor table. The following cases are mainly classified into the following cases:
1) the contents of the entries associated with the sending node are updated in the neighbor table.
2. Processing of a node receiving a JOIN message
The following situations are mainly used for receiving the JOIN message:
1) if a CH node receives a JOIN message of a UN node, whether the CH node and the UN node are stable neighbor nodes and whether the CH node can accommodate the UN node needs to be judged, if the conditions are met, a JOIN _ ACK message is sent, and meanwhile, the cluster size of the CH node is changed. If the joining condition is not met, a JOIN _ NACK message is sent to refuse the joining of the node;
2) if a CH node receives the JOIN message of the CM in the cluster, the destination node of the message is not itself. At this time, the CH deletes the CM from the ClusterMemberSet and updates the cluster scale of the CH;
3) if one CM or UN node receives the JOIN message of CH or target CH, the CM will change to UN state and enter the initial joining process of UN node, the UN node will keep UN state and reselect target CH;
4) if the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
3. Processing for node to receive JOIN _ N ACK message
Receiving the JOIN _ (N) ACK message is mainly divided into the following cases:
1) if a UN node does not receive the JOIN _ ACK message of the target CH node within the validity period of the timer or receives the JOIN _ NACK message of the target CH within the validity period, the UN node can continuously keep the UN state and enter the process of initially adding the UN node into the cluster;
2) if a UN node receives the JOIN _ ACK message of the target CH node within the validity period of the timer, the UN node is switched to the CM state from the UN state, and the cluster head Id is set to be the Id of the target CH.
3) If the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
4. Processing of a node receiving a CH _ ANNOUNCE message
Receiving the CH _ ANNOUNCE message is mainly divided into the following cases:
1) if a CH node receives the CH _ ANNOUNCE message of the CM node in the cluster, the CH node is deleted to the CM node in the ClusterMemberSet, and the cluster scale of the CH node is updated;
2) if the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
5. Processing of node receiving CH _ HANDOVER message
Receiving the CH _ HANDOVER message is mainly divided into the following cases:
1) if a CM node receives a CH _ HANDOVER message with a destination node as itself, the node is switched to a CH state and announces to be a CH;
2) if the destination node of the message is not the self but the source node of the message is the CH or the target CH of the self, the node can be switched or continuously kept to the UN state, the initialization joining cluster flow of the UN node is entered, and the proper CH is reselected;
3) if the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
6. Processing for receiving CH _ DISSOLUTION message by node
Receiving the CH _ release message is mainly divided into the following cases:
1) if a CM node receives CH _ DISSOLUTION message of CH, the node will switch to UN state, enter the initialization joining cluster flow of UN node, and reselect proper CH;
2) if a UN node receives the CH _ DISSOLUTION message of a target CH, the node can continuously keep the UN state, enter the initial cluster adding process of the UN node and reselect a proper CH;
3) if the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
7. Processing of receiving LEAVE message by node
Receiving the LEAVE message mainly includes the following cases:
1) if a CH node receives the LEAVE message of the CM node in the cluster, the node is deleted from the ClusterMemberSet, and the current cluster scale is updated;
2) if the situation is the other situation, redundant processing is not carried out, and the content of the entry related to the sending node is simply updated in the neighbor table.
In the actual simulation process, the process of simulating the clustering algorithm in OMNeT + + is as follows: firstly, initializing a simulation module and parameters in a network initialization function, and setting self-message events. In the simulation time, if the node receives the message sent by the upper layer, the message is encapsulated into a network layer data packet and the encapsulated data packet is sent to the MAC layer; if the data packet sent by the lower layer is received, different processing is carried out according to the type of the message; if the self-message (mainly realizing the timing function, such as HELLO message transmission and periodic bed message transmission) is received, corresponding processing is carried out according to the type of the self-message. At the end of the simulation time, receipts are collected and the results are statistically correlated.
In order to realize the clustering method suitable for the high-dynamic large-scale internet of vehicles, the embodiment provides a clustering device suitable for the high-dynamic large-scale internet of vehicles. Referring to fig. 5, fig. 5 is a schematic structural diagram of a clustering device suitable for a high-dynamic large-scale internet of vehicles according to an embodiment of the present application; the clustering device 50 suitable for the high-dynamic large-scale internet of vehicles comprises: a neighbor table updating module 501, configured to receive a communication message sent by a second node, and update the communication message to a neighbor table of a first node; a stable neighbor node determining module 502, configured to determine all stable neighbor nodes of the first node according to node information of all neighbor nodes in the updated neighbor table of the first node, where the stable neighbor nodes of the first node are nodes in the updated neighbor table of the first node that are stable neighbors of the first node; a cluster head cost calculation module 503, configured to calculate a cluster head cost of the first node according to node information of all stable neighboring nodes of the first node; a cluster head switching module 504, configured to determine a cluster head node to be determined when the first node is a cluster head node and it is determined that the first node meets a preset condition for intra-cluster head switching or a preset condition for inter-cluster head switching according to a cluster head cost of the first node, and the first node dissociates a cluster where the first node is located, where a new cluster is established when the cluster head node to be determined meets the preset condition for establishment of the new cluster, and a cluster head of the established new cluster is a node having a minimum cluster head cost value within a distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed; a cluster resolving module 505, configured to broadcast a message for resolving a cluster to the first node when the first node is a cluster head node and a sum of the number of cluster members in a cluster where the first node is located and the number of target non-clustered nodes included in the updated neighbor table of the first node is smaller than a preset cluster resolving scale threshold, where the target non-clustered node is a non-clustered node that is a stable neighbor node with the first node; a cluster head changing module 506, configured to, when the first node is a cluster member node and it is determined that the first node and a cluster head node in a cluster where the first node is located do not satisfy a condition of a distance or an angle between each other and a stable neighboring node according to a cluster head cost of the first node, change the cluster head node corresponding to the first node by the first node; a cluster joining application module 507, configured to send an application joining request to apply for joining a cluster where a target cluster head node is located when the first node is an unclustered node and it is determined that the target cluster head node exists in a neighbor table of the first node; a new cluster establishment module 508, configured to determine whether the first node meets a preset condition for establishment of a new cluster according to the neighbor table of the first node when the first node is an unclustered node and it is determined that the target cluster head node does not exist in the neighbor table of the first node, and when the first node meets the preset condition for establishment of the new cluster, use the first node as a cluster head node of the new cluster.
The apparatus provided in this embodiment may be used to implement the technical solutions of the above method embodiments, and the implementation principles and technical effects are similar, which are not described herein again.
In one possible design, the apparatus further includes: a number acquisition module; the number obtaining module is configured to obtain the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes included in the updated neighbor table of the first node after calculating the cluster head cost of the first node and when the first node is a cluster head node.
In one possible design, the apparatus further includes: a broadcast module; the broadcast module is configured to, after determining whether the first node satisfies a preset condition for establishment of a new cluster according to the neighbor table of the first node, and when the first node does not satisfy the preset condition for establishment of the new cluster, broadcast a beacon to wait for joining a cluster in which a neighbor node that is a neighbor node of the first node is located; wherein, the preset conditions for establishing the new cluster are as follows: the first node does not have any cluster head node within a distance threshold range, the number of non-clustered nodes in all stable neighbor nodes of the first node in the updated neighbor table of the first node is greater than a preset cluster threshold, and the first node has the minimum cluster head cost in the non-clustered nodes in all stable neighbor nodes.
In one possible design, the node information includes position coordinates and velocity coordinates of the node; a stable neighbor node determining module, specifically configured to:
aiming at each adjacent node of all adjacent nodes in the updated adjacent table of the first node, determining the relative movement direction of the first node and the adjacent nodes according to the speed coordinate of the adjacent nodes; determining the distance between the first node and the adjacent node according to the position coordinates of the adjacent node; if the relative movement direction of the first node and the adjacent node is smaller than or equal to a preset included angle and the distance between the adjacent nodes is smaller than or equal to a preset distance, calculating by a preset first inequality according to the position coordinate and the speed coordinate of the adjacent node to obtain the stable connection time between the first node and the adjacent node; and if the stable connection time is greater than or equal to the preset connection time, determining the adjacent node as a stable adjacent node of the first node.
In a possible design, the cluster head cost calculating module 403 is specifically configured to:
calculating the average speed of all stable adjacent nodes of the first node and the average distance from the first node to all stable adjacent nodes of the first node according to the node information of all stable adjacent nodes of the first node; acquiring the number of all stable adjacent nodes of a first node, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position in back of the first node; and obtaining the cluster head cost of the first node based on a preset cluster head cost formula according to the average speed, the average distance, the number of all first stable nodes, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position behind the first node.
In one possible design, the apparatus further includes: a beacon period update module; the beacon period updating module is configured to: when the first node is in a non-clustering state, the first node broadcasts a beacon by taking a first preset time interval as a period; after adding a cluster, the first node acquires the speed of a cluster head node of the cluster where the first node is located; determining a beacon period of the beacon sent by the first node according to the speed of a cluster head node of the cluster where the first node is located and a preset beacon period threshold table; and broadcasting a beacon according to the beacon period.
In order to realize the clustering method suitable for the high-dynamic large-scale internet of vehicles, the embodiment provides clustering equipment suitable for the high-dynamic large-scale internet of vehicles. Fig. 6 is a schematic structural diagram of a cluster suitable for a high-dynamic large-scale internet of vehicles provided in an embodiment of the present application. As shown in fig. 6, the clustering device 60 suitable for a high-dynamic large-scale internet of vehicles of the present embodiment includes: a processor 601 and a memory 602; a memory 602 for storing computer-executable instructions; the processor 601 is configured to execute the computer-executable instructions stored in the memory to implement the steps performed in the above embodiments. Reference may be made in particular to the description relating to the method embodiments described above.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. A clustering method suitable for a high-dynamic large-scale Internet of vehicles is characterized by comprising the following steps:
a first node receives a communication message sent by a second node, and the first node updates the communication message to a neighbor table of the first node;
the first node determines all stable adjacent nodes of the first node according to the updated node information of all adjacent nodes in the adjacent table of the first node, wherein the stable adjacent nodes of the first node are the nodes which are mutually stable adjacent to the first node in the updated adjacent table of the first node;
the first node calculates the cluster head cost of the first node according to the node information of all stable neighbor nodes of the first node;
if the first node is a cluster head node, and when the first node is determined to accord with the preset condition of intra-cluster head switching or the preset condition of inter-cluster head switching according to the cluster head cost of the first node, the first node determines a cluster head node to be determined, and the first node disperses a cluster where the first node is located, wherein the new cluster is established when the cluster head node to be determined meets the preset condition of new cluster establishment, and the cluster head of the established new cluster is the node with the minimum cluster head cost value within the distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed;
if the first node is a cluster head node, and the sum of the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node is smaller than a preset cluster disaggregation scale threshold, the first node sends a disaggregation cluster message to all cluster members of the cluster where the first node is located, and the target non-clustered node is a non-clustered node which is a stable neighbor node with the first node;
if the first node is a cluster member node and the cluster head node in the cluster where the first node is located does not meet the condition of distance or angle between each other and a stable adjacent node according to the cluster head cost of the first node, the first node changes the cluster head node corresponding to the first node;
if the first node is a non-clustered node and a target cluster head node exists in a neighbor table of the first node, the first node sends an application joining request for applying to join a cluster where the target cluster head node is located;
if the first node is a non-clustered node and it is determined that a target cluster head node does not exist in a neighbor table of the first node, determining whether the first node meets a preset condition for establishment of a new cluster according to the neighbor table of the first node, and if the first node meets the preset condition for establishment of the new cluster, taking the first node as the cluster head node of the new cluster.
2. The method of claim 1, wherein after the calculating the cluster head cost of the first node, further comprising:
and if the first node is a cluster head node, the first node acquires the number of cluster members of the cluster where the first node is located and the number of target non-clustered nodes contained in the updated neighbor table of the first node.
3. The method according to claim 1, after determining whether the first node satisfies a preset condition for establishing a new cluster according to the neighbor table of the first node, further comprising:
if the first node does not meet the preset condition of establishment of the new cluster, the first node broadcasts a beacon to wait for joining a cluster where an adjacent node which is a stable adjacent node with the first node is located;
wherein, the preset conditions for establishing the new cluster are as follows: the first node does not have any cluster head node within a distance threshold range, the number of non-clustered nodes in all stable neighbor nodes of the first node in the updated neighbor table of the first node is greater than a preset cluster threshold, and the first node has the minimum cluster head cost in the non-clustered nodes in all stable neighbor nodes.
4. The method of claim 1, wherein the node information comprises position coordinates and velocity coordinates of the node;
the first node determines all stable neighbor nodes of the first node according to the updated node information of all neighbor nodes in the neighbor table of the first node, including:
aiming at each adjacent node of all adjacent nodes in the updated adjacent table of the first node, determining the relative movement direction of the first node and the adjacent nodes according to the speed coordinate of the adjacent nodes;
determining the distance between the first node and the adjacent node according to the position coordinates of the adjacent node;
if the relative movement direction of the first node and the adjacent node is smaller than or equal to a preset included angle and the distance between the adjacent nodes is smaller than or equal to a preset distance, calculating by a preset first inequality according to the position coordinate and the speed coordinate of the adjacent node to obtain the stable connection time between the first node and the adjacent node;
and if the stable connection time is greater than or equal to the preset connection time, determining the adjacent node as a stable adjacent node of the first node.
5. The method according to claim 1, wherein the first node calculates the cluster head cost of the first node according to the node information of all stable neighbor nodes of the first node, including:
the first node calculates the average speed of all stable adjacent nodes of the first node and the average distance from the first node to all stable adjacent nodes of the first node according to the node information of all stable adjacent nodes of the first node;
the first node acquires the number of all stable adjacent nodes of the first node, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position behind the first node;
and obtaining the cluster head cost of the first node based on a preset cluster head cost formula according to the average speed, the average distance, the number of all first stable nodes, the number of stable adjacent nodes of the first node with the current position in front of the first node and the number of stable adjacent nodes of the first node with the current position behind the first node.
6. The method according to any one of claims 1-5, further comprising:
when the first node is in a non-clustering state, the first node broadcasts a beacon by taking a first preset time interval as a period;
after the first node is added into a cluster, the first node acquires the speed of a cluster head node of the cluster where the first node is located;
the first node determines a beacon period of the beacon sent by the first node according to the speed of a cluster head node of a cluster where the first node is located and a preset beacon period threshold table;
the first node broadcasts a beacon according to the beacon period.
7. A clustering device suitable for a high-dynamic large-scale Internet of vehicles is characterized by comprising:
the neighbor table updating module is used for receiving the communication message sent by the second node and updating the communication message into the neighbor table of the first node;
a stable neighbor node determining module, configured to determine all stable neighbor nodes of the first node according to node information of all neighbor nodes in an updated neighbor table of the first node, where the stable neighbor nodes of the first node are nodes in the updated neighbor table of the first node that are stable neighbors of the first node;
a cluster head cost calculation module, configured to calculate a cluster head cost of the first node according to node information of all stable neighboring nodes of the first node;
a cluster head switching module, configured to determine a cluster head node to be determined when the first node is a cluster head node and it is determined that the first node meets a preset condition for intra-cluster head switching or a preset condition for inter-cluster head switching according to a cluster head cost of the first node, and the first node dissociates a cluster where the first node is located, where a new cluster is established when the cluster head node to be determined meets the preset condition for establishment of the new cluster, and a cluster head that establishes the new cluster is a node having a minimum cluster head cost value within a distance threshold range when the intra-cluster head switching or the inter-cluster head switching is performed;
a cluster resolving module, configured to broadcast a message for resolving a cluster to the first node when the first node is a cluster head node and a sum of the number of cluster members in a cluster where the first node is located and the number of target non-clustered nodes included in the updated neighbor table of the first node is smaller than a preset cluster resolving scale threshold, where the target non-clustered node is a non-clustered node that is a stable neighbor node with the first node;
a cluster head changing module, configured to, when the first node is a cluster member node and it is determined that the first node and a cluster head node in a cluster where the first node is located do not satisfy a condition of a distance or an angle between each other and a stable neighboring node according to a cluster head cost of the first node, change the cluster head node corresponding to the first node by the first node;
a cluster joining application module, configured to send an application joining request to apply for joining a cluster in which a target cluster head node is located when the first node is an unclustered node and it is determined that the target cluster head node exists in a neighbor table of the first node;
and the new cluster establishment module is used for determining whether the first node meets a preset condition for establishing a new cluster according to the neighbor table of the first node when the first node is an unclustered node and the target cluster head node does not exist in the neighbor table of the first node, and taking the first node as the cluster head node of the new cluster when the first node meets the preset condition for establishing the new cluster.
8. The apparatus of claim 7, further comprising: a number acquisition module;
the number obtaining module is configured to obtain the number of cluster members of a cluster where the first node is located and the number of target non-clustered nodes included in the updated neighbor table of the first node after calculating the cluster head cost of the first node and when the first node is a cluster head node.
9. The apparatus of claim 7, further comprising: a broadcast module;
the broadcast module is configured to, after determining whether the first node satisfies a preset condition for establishment of a new cluster according to the neighbor table of the first node, and when the first node does not satisfy the preset condition for establishment of the new cluster, broadcast a beacon to wait for joining a cluster in which a neighbor node that is a neighbor node of the first node is located;
wherein, the preset conditions for establishing the new cluster are as follows: the first node does not have any cluster head node within a distance threshold range, the number of non-clustered nodes in all stable neighbor nodes of the first node in the updated neighbor table of the first node is greater than a preset cluster threshold, and the first node has the minimum cluster head cost in the non-clustered nodes in all stable neighbor nodes.
10. A clustering device suitable for a high-dynamic large-scale Internet of vehicles is characterized by comprising: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executing the computer-executable instructions stored by the memory causes the at least one processor to perform the clustering method suitable for high-dynamic large-scale internet of vehicles according to any one of claims 1 to 6.
CN201910912214.9A 2019-09-25 2019-09-25 Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles Active CN110662182B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910912214.9A CN110662182B (en) 2019-09-25 2019-09-25 Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910912214.9A CN110662182B (en) 2019-09-25 2019-09-25 Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles

Publications (2)

Publication Number Publication Date
CN110662182A true CN110662182A (en) 2020-01-07
CN110662182B CN110662182B (en) 2020-10-13

Family

ID=69039129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910912214.9A Active CN110662182B (en) 2019-09-25 2019-09-25 Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles

Country Status (1)

Country Link
CN (1) CN110662182B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207572A (en) * 2007-12-14 2008-06-25 北京科技大学 Method for clustering vehicle mounted Ad hoc network based on signal strength
CN102307373A (en) * 2011-08-23 2012-01-04 哈尔滨工业大学 VANET clustering method taking regard of vehicle traffic characteristic
CN103781148A (en) * 2014-02-25 2014-05-07 重庆邮电大学 Stable clustering routing method based on link perception in vehicle-mounted self-organizing network
CN110121200A (en) * 2019-05-09 2019-08-13 江南大学 The network-building method of energy efficient in a kind of heterogeneous Sensor Network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207572A (en) * 2007-12-14 2008-06-25 北京科技大学 Method for clustering vehicle mounted Ad hoc network based on signal strength
CN102307373A (en) * 2011-08-23 2012-01-04 哈尔滨工业大学 VANET clustering method taking regard of vehicle traffic characteristic
CN103781148A (en) * 2014-02-25 2014-05-07 重庆邮电大学 Stable clustering routing method based on link perception in vehicle-mounted self-organizing network
CN110121200A (en) * 2019-05-09 2019-08-13 江南大学 The network-building method of energy efficient in a kind of heterogeneous Sensor Network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUNHUA WANG等: "Dynamic Clustering and Cooperative Scheduling for Vehicle-to-Vehicle Communication in Bidirectional Road Scenarios", 《IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS》 *

Also Published As

Publication number Publication date
CN110662182B (en) 2020-10-13

Similar Documents

Publication Publication Date Title
Ren et al. A unified framework of clustering approach in vehicular ad hoc networks
Ren et al. A mobility-based scheme for dynamic clustering in vehicular ad-hoc networks (VANETs)
Ucar et al. Multihop-cluster-based IEEE 802.11 p and LTE hybrid architecture for VANET safety message dissemination
Yau et al. Clustering algorithms for cognitive radio networks: A survey
Saleem et al. SMART: A SpectruM-Aware ClusteR-based rouTing scheme for distributed cognitive radio networks
CN102883403B (en) Construction method for mobile ad hoc network
CN107071843A (en) Mobile self-organizing network cluster dividing method
Turcanu et al. An integrated vanet-based data dissemination and collection protocol for complex urban scenarios
CN101179501A (en) Local routing discovering method for on-demand routing of mobile ad hoc network
CN105072586B (en) To the management method of the forwarding of broadcast message in embedded radio self-organizing network
CN106658635A (en) Hierarchical routing method based on service quality in wireless multi-hop network
Mu et al. Performance analysis of the ZigBee networks in 5G environment and the nearest access routing for improvement
Huang et al. A new distributed mobility-based multi-hop clustering algorithm for vehicular ad hoc networks in highway scenarios
Abuashour An efficient Clustered IoT (CIoT) routing protocol and control overhead minimization in IoT network
CN109803342A (en) A kind of unmanned plane method for self-organizing network routing towards balancing energy highly-reliable transmission
CN110662182B (en) Clustering method, device and equipment suitable for high-dynamic large-scale Internet of vehicles
CN111314863A (en) Pre-switching efficient MLLN routing method
Huang et al. The k-hop V2V data offloading using the predicted utility-centric path switching (PUPS) method based on the SDN-controller inside the multi-access edge computing (MEC) architecture
Francis et al. Performance analysis of clustering protocols in Mobile Ad Hoc Networks
Stalin et al. A survey on topology and geography based routing protocols in vanets
Liu et al. A Position Sensitive Clustering Algorithm for VANET.
Li et al. A cluster-based routing method for D2D communication oriented to vehicular networks
Chaabane et al. An efficient mobility management approach for ieee 802.15. 4/zigbee nodes
Zaatouri et al. Performance evaluation of mobility-aware routing protocol for low power and lossy networks
Tan et al. Clustering algorithm in vehicular ad-hoc networks: A brief summary

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant