Data transmission method and apparatus, storage medium, and electronic device

By optimizing the IoT network transmission path through cache merging and congestion prediction, the problems of low transmission efficiency and network instability are solved, and efficient and reliable data transmission is achieved.

CN119232660BActive Publication Date: 2025-10-10CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411322862.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-10-10
Estimated Expiration
2044-09-20

AI Technical Summary

Technical Problem

The transmission of a large number of small data packets in the IoT network leads to excessive consumption of network resources and energy, and the network is unstable and unreliable. When a network failure occurs, the network topology needs to be reconfigured, resulting in transmission interruption.

Method used

By caching and merging data packets from multiple nodes, a transmission message is generated, and the congestion status of the first transmission path is predicted. If congested, data is sent through the second transmission path, and the transmission path is optimized using a congestion prediction model and a directed acyclic graph.

Benefits of technology

Significantly reduce the number of data packets transmitted in the network, improve data transmission efficiency, reduce energy consumption, ensure network stability and reliability, reduce the time for network topology reconfiguration, and extend equipment life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232660B_ABST
    Figure CN119232660B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data transmission method and device, a storage medium and an electronic device, and relates to the technical field of Internet of Things. The method comprises: performing buffer merging on data packets of multiple nodes to determine a transmission message; sending the transmission message to a target receiving end through a first transmission path, and predicting a congestion state of the first transmission path; and determining whether to send the transmission message to the target receiving end through a second transmission path according to the predicted congestion state of the first transmission path. By performing buffer merging on data packets of multiple nodes to generate a single transmission message, the number of data packets transmitted in the network can be significantly reduced, and the data transmission efficiency can be improved. The first transmission path is predicted for congestion, and the second transmission path is planned in advance before the first transmission path is congested. When the first transmission path is congested, the second transmission path is switched to, and the time required for reconfiguring the network topology after congestion occurs is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of Internet of Things, and particularly relates to a data transmission method and device, a storage medium and an electronic device. BACKGROUND

[0002] In the Internet of Things (IoT), there are a large number of sensors as nodes to collect data and exchange data with other devices through a network. In the traditional Internet of Things, each sensor node independently sends data to its parent node, which will cause a large number of small data packets to be transmitted in the network, and such scattered transmission will cause a large amount of network resources and energy consumption. When a fault occurs in the network, it takes a certain time to reconfigure the network topology, causing network transmission interruption, making the Internet of Things network unstable and unreliable.

[0003] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY

[0004] The present disclosure provides a data transmission method and device, a storage medium and an electronic device, which at least partially overcome the problem of unstable and unreliable Internet of Things network.

[0005] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.

[0006] According to one aspect of the present disclosure, a data transmission method is provided, comprising:

[0007] buffering and merging data packets of a plurality of nodes to determine a transmission message;

[0008] sending the transmission message to a target receiving end through a first transmission path, and predicting a congestion state of the first transmission path;

[0009] determining whether to send the transmission message to the target receiving end through a second transmission path according to the predicted congestion state of the first transmission path.

[0010] In some embodiments, buffering and merging data packets of a plurality of nodes to determine a transmission message comprises:

[0011] obtaining data packets of a plurality of nodes belonging to the same device;

[0012] buffering the data packets of the plurality of nodes, and when the number of buffered data packets reaches a merging threshold, merging and compressing the currently buffered data packets to determine a transmission message.

[0013] In some embodiments, sending the transmission message to a target receiving end through a first transmission path and predicting a congestion state of the first transmission path includes:

[0014] performing anomaly detection on the transmission message;

[0015] sending the transmission message that passes the anomaly detection to the target receiving end through the first transmission path;

[0016] State data of the first transmission path in transmitting the transmission message is acquired, and a congestion state of the first transmission path is predicted.

[0017] In some embodiments, performing anomaly detection on the transmission message includes:

[0018] Inputting the transmission message into the anomaly detection model to determine an anomaly detection value of the transmission message;

[0019] If the transmission message anomaly detection value is less than the anomaly judgment threshold, the transmission message passes the anomaly detection;

[0020] If the transmission message anomaly detection value is greater than or equal to the anomaly judgment threshold, the transmission message fails the anomaly detection.

[0021] In some embodiments, the process of determining the anomaly detection model includes:

[0022] Get historical transmission information of multiple devices collected during a set continuous time period;

[0023] Performing data cleaning on the historical transmission information and normalizing the numerical features to determine normalized historical transmission data;

[0024] A normal distribution probability model is established, parameters of the normal distribution probability model are set according to the normalized historical transmission data, and an anomaly detection model is determined.

[0025] In some embodiments, sending a transmission message that passes anomaly detection to a target receiving end through a first transmission path includes:

[0026] The first node receives a directed acyclic graph information object message determined based on the transmission message detected by anomaly;

[0027] If the directed acyclic graph information object message is the first directed acyclic graph information object message received by the first node, adding the sender of the directed acyclic graph information object message as a parent node of the first node;

[0028] Determining an ordering of the first node relative to its parent node in the directed acyclic graph;

[0029] The first node sends a destination advertisement object message to its parent node, and multicasts a directed acyclic graph information object message to adjacent nodes based on the ordering in the directed acyclic graph, to determine a first transmission path;

[0030] The transmission message detected by the exception is sent to the target receiving end through the first transmission path.

[0031] In some embodiments, determining the ordering of the first node in the directed acyclic graph relative to its parent node includes:

[0032] Obtaining the queue occupancy rate, through node data and node expected residual energy information of the first node and its parent node;

[0033] Inputting the queue occupancy rate, through node data and node expected residual energy information into a congestion and energy minimization function to determine the ordering of the first node in the directed acyclic graph relative to its parent node.

[0034] In some embodiments, further comprising:

[0035] If the directed acyclic graph information object message is not the first directed acyclic graph information object message received by the first node, determining whether the directed acyclic graph information object message is from a child node; the first node belongs to a child node;

[0036] If the directed acyclic graph information object message is from a child node, incrementing the child node count in the through node data.

[0037] In some embodiments, further comprising:

[0038] If the directed acyclic graph information object message is not from a child node, determining whether the directed acyclic graph information object message is from a current parent node;

[0039] If the directed acyclic graph information object message is not from a current parent node, determining the source of the directed acyclic graph information object message as a new parent node;

[0040] Adding the new parent node to a parent node list in which the current parent node is located;

[0041] Obtaining the queue occupancy rate, through node data and node expected residual energy information between the new parent node and the first node;

[0042] Inputting the queue occupancy rate, through node data and node expected residual energy information into a congestion and energy minimization function to determine the ordering of the new parent node in the directed acyclic graph;

[0043] determining the new parent node as a parent node of the first node if the new parent node has a smaller rank in the directed acyclic graph than the current parent node has in the directed acyclic graph;

[0044] updating the new parent node to a position of the current parent node in the directed acyclic graph, discarding the current parent node, and determining an updated directed acyclic graph;

[0045] sending, by the first node, a destination advertisement object message to the new parent node, and multicasting, by the first node, a directed acyclic graph information object message to neighboring nodes based on the updated directed acyclic graph.

[0046] In some embodiments, further comprising: if the new parent node has a larger or equal rank in the directed acyclic graph than the current parent node has in the directed acyclic graph, maintaining the rank of the current parent node in the directed acyclic graph.

[0047] In some embodiments, the obtaining the state data of the first transmission path in transmitting the transmission message, and predicting the congestion state of the first transmission path, comprises:

[0048] obtaining the state data of the first transmission path in transmitting the transmission message;

[0049] determining, according to the state data, a queue occupancy rate of the first transmission path in a future set time length by using a trained congestion prediction model;

[0050] if the queue occupancy rate of the first transmission path in the future set time length is less than a congestion judgment threshold, the congestion state of the first transmission path is non-congestion;

[0051] if the queue occupancy rate of the first transmission path in the future set time length is greater than or equal to the congestion judgment threshold, the congestion state of the first transmission path is congestion.

[0052] In some embodiments, the training process of the congestion prediction model comprises:

[0053] obtaining state data of the transmission data; wherein the state data comprises a combination of any one or more of a sending time, a receiving time, a packet loss rate, and / or a delay;

[0054] determining a data feature of the state data;

[0055] establishing a long short-term memory network model and inputting the data feature of the state data;

[0056] adjusting weights and bias terms of the long short-term memory network model by a back propagation and an optimization algorithm to minimize a difference between a predicted output queue occupancy rate and an actual occupancy rate as a training target, and training the long short-term memory network.

[0057] When the long short-term memory network model reaches the training target, the long short-term memory network model reaching the training target is determined as a congestion prediction model.

[0058] In some embodiments, the predicted congestion state of the first transmission path includes: congestion or no congestion;

[0059] According to the predicted congestion state of the first transmission path, it is determined whether to send the transmission message to the target receiving end through a second transmission path, including:

[0060] When the predicted congestion state of the first transmission path is congestion, the transmission message is buffered;

[0061] According to the queue occupancy rate, the node data and the node expected residual energy information, a second transmission path is determined;

[0062] The buffered transmission message is sent to the target receiving end through the second transmission path.

[0063] In some embodiments, according to the queue occupancy rate, the node data and the node expected residual energy information, a second transmission path is determined, including:

[0064] According to the queue occupancy rate, the node data and the node expected residual energy information of the first node and its parent node, the best alternative parent node is calculated;

[0065] According to the best alternative parent node, multi-path routing is performed to determine a plurality of candidate transmission paths;

[0066] The trained congestion prediction model is used to predict the congestion state of the plurality of candidate transmission paths, and the candidate transmission path with the smallest congestion state is determined as the second transmission path.

[0067] In some embodiments, further comprising:

[0068] The queue occupancy rate, the node data and the node expected residual energy information of the second transmission path are obtained;

[0069] The queue occupancy rate, the node data and the node expected residual energy information of the second transmission path are input into a congestion and energy minimization function to determine the ranking of the best alternative parent node in the directed acyclic graph in the second transmission path;

[0070] If the ranking of the best alternative parent node in the directed acyclic graph is smaller than the ranking of the current parent node in the directed acyclic graph of the first transmission path, the ranking of the best alternative parent node in the directed acyclic graph is updated.

[0071] According to another aspect of the present disclosure, there is further provided a data transmission device, comprising:

[0072] A transmission message determination module is used to cache and merge data packets from multiple nodes and determine the transmission message;

[0073] a congestion prediction module, configured to send the transmission message to a target receiving end via a first transmission path and predict a congestion state of the first transmission path;

[0074] The transmission path switching module is configured to determine whether to send the transmission message to the target receiving end through the second transmission path according to the predicted congestion state of the first transmission path.

[0075] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute any one of the above-mentioned data transmission methods by executing the executable instructions.

[0076] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, any one of the above-mentioned data transmission methods is implemented.

[0077] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, which implements any one of the above data transmission methods when executed by a processor.

[0078] Embodiments of the present disclosure provide a data transmission method and apparatus, a storage medium, and an electronic device. The method comprises: caching and merging data packets from multiple nodes to determine a transmission message; sending the transmission message to a target receiving end via a first transmission path, predicting the congestion status of the first transmission path; and determining whether to send the transmission message to the target receiving end via a second transmission path based on the predicted congestion status of the first transmission path. The embodiments of the present disclosure, by caching and merging data packets from multiple nodes to generate a single transmission message, can significantly reduce the number of data packets transmitted in the network, improve data transmission efficiency, and reduce the energy consumed by frequent data transmission, thereby improving energy efficiency. The merged transmission message is sent to the target receiving end via the first transmission path, and congestion is predicted for the first transmission path. A second transmission path is planned in advance before the first transmission path becomes congested. When the first transmission path becomes congested due to a fault or bottleneck, the transmission message can be directly switched to the second transmission path to send to the target receiving end. This reduces the time required to reconfigure the network topology after congestion occurs, ensures continuous message transmission, increases throughput and network and device life, and ensures the stability and reliability of the Internet of Things.

[0079] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0080] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0081] Figure 1 A schematic diagram showing the system structure of a data transmission method according to an embodiment of the present disclosure.

[0082] Figure 2 A schematic diagram of a data transmission method according to an embodiment of the present disclosure is shown.

[0083] Figure 3 A schematic diagram of a process for determining a transmission message in a data transmission method according to an embodiment of the present disclosure is shown.

[0084] Figure 4 A schematic diagram of a process for predicting a congestion state of a first transmission path in a data transmission method according to an embodiment of the present disclosure is shown.

[0085] Figure 5 A schematic diagram of a process for detecting anomalies in a transmission message in a data transmission method according to an embodiment of the present disclosure is shown.

[0086] Figure 6 A schematic diagram illustrating a process of sending a transmission message that passes anomaly detection to a target receiving end via a first transmission path in a data transmission method according to an embodiment of the present disclosure is shown.

[0087] Figure 7 A schematic diagram of a parent node updating process in a data transmission method according to an embodiment of the present disclosure is shown.

[0088] Figure 8 A schematic diagram showing a detailed process of predicting the congestion state of a first transmission path in a data transmission method according to an embodiment of the present disclosure is shown.

[0089] Figure 9 A schematic diagram illustrating a training process of a congestion prediction model of a data transmission method according to an embodiment of the present disclosure is shown.

[0090] Figure 10 A schematic diagram illustrating a process of determining whether to send a transmission message to a target receiving end through a second transmission path in a data transmission method according to an embodiment of the present disclosure is shown.

[0091] Figure 11 A schematic diagram of a process for determining a second transmission path in a data transmission method according to an embodiment of the present disclosure is shown.

[0092] Figure 12 A schematic diagram illustrating a sorting process of updating the best replacement parent node in a directed acyclic graph in a data transmission method according to an embodiment of the present disclosure is shown.

[0093] Figure 13 A flow chart of a data transmission method according to an embodiment of the present disclosure is shown.

[0094] Figure 14 A flowchart of anomaly detection and congestion prediction of a data transmission method in an embodiment of the present disclosure is shown.

[0095] Figure 15 A flow chart of dynamic parent node multi-path selection of a data transmission method in an embodiment of the present disclosure is shown.

[0096] Figure 16 A schematic diagram of a data transmission device in an embodiment of the present disclosure is shown.

[0097] Figure 17 A structural block diagram of a computer device showing a data transmission method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0098] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0099] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0100] The specific implementation of the embodiment of the present disclosure is described in detail below with reference to the accompanying drawings.

[0101] Figure 1 FIG. 1 shows an exemplary application system architecture diagram to which the data transmission method in the embodiment of the present disclosure can be applied. Figure 1As shown, the system architecture may include a terminal device 101 , a network 102 and a server 103 .

[0102] The network 102 is a medium for providing a communication link between the terminal device 101 and the server 103 , and can be a wired network or a wireless network.

[0103] Optionally, the above-mentioned wireless network or wired network uses standard communication technologies and / or protocols. The network is typically the Internet, but can also be any network, including but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a private network or any combination of a virtual private network). In some embodiments, technologies and / or formats including Hyper Text Mark-up Language (HTML), Extensible Markup Language (XML), etc. are used to represent data exchanged over the network. In addition, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec), etc. can be used to encrypt all or some links. In other embodiments, customized and / or dedicated data communication technologies can also be used to replace or supplement the above-mentioned data communication technologies.

[0104] The terminal device 101 can be various electronic devices, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, wearable devices, augmented reality devices, virtual reality devices, etc.

[0105] Optionally, the client of the application installed in different terminal devices 101 is the same, or the client of the same type of application based on different operating systems. Based on the different terminal platforms, the specific form of the client of the application can also be different, for example, the application client can be a mobile phone client, a PC client, etc.

[0106] The server 103 may be a server that provides various services, such as a background management server that provides support for the devices operated by the user using the terminal device 101. The background management server may analyze and process the received request and other data, and feed back the processing results to the terminal device.

[0107] Optionally, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited to these. The terminal and the server can be directly or indirectly connected via wired or wireless communication, which is not limited in this application.

[0108] Those skilled in the art will know that Figure 1 The number of terminal devices, networks, and servers in the embodiment is merely illustrative, and any number of terminal devices, networks, and servers may be provided based on actual needs. This embodiment of the present disclosure does not limit this.

[0109] Under the above system architecture, an embodiment of the present disclosure provides a data transmission method, which can be executed by any electronic device with computing and processing capabilities.

[0110] In some embodiments, the data transmission method provided in the embodiments of the present disclosure can be executed by the terminal device of the above-mentioned system architecture; in other embodiments, the data transmission method provided in the embodiments of the present disclosure can be executed by the server in the above-mentioned system architecture; in other embodiments, the data transmission method provided in the embodiments of the present disclosure can be implemented by the terminal device and the server in the above-mentioned system architecture through interaction.

[0111] Figure 2 A schematic diagram of a data transmission method according to an embodiment of the present disclosure is shown. Figure 2 As shown, the data transmission method provided in the embodiment of the present disclosure includes the following steps:

[0112] Step S202: caching and merging data packets from multiple nodes to determine a transmission message;

[0113] Step S204: sending a transmission message to a target receiving end via the first transmission path, and predicting a congestion state of the first transmission path;

[0114] Step S206: Determine whether to send the transmission message to the target receiving end through the second transmission path according to the predicted congestion status of the first transmission path.

[0115] This embodiment can significantly reduce the number of data packets transmitted in the network by caching and merging data packets from multiple nodes to generate a single transmission message, thereby improving data transmission efficiency and reducing the energy consumed by frequent data transmission, thereby improving energy efficiency. The merged transmission message is sent to the target receiving end via the first transmission path, and congestion prediction is performed on the first transmission path. A second transmission path is planned in advance before the first transmission path is congested. When the first transmission path is congested due to a failure or bottleneck, the second transmission path can be directly switched to send the transmission message to the target receiving end. This reduces the time required to reconfigure the network topology after congestion occurs, achieves continuous message transmission, increases throughput and network and device life, and ensures the stability and reliability of the Internet of Things.

[0116] Figure 3 A schematic diagram of a process for determining a transmission message in a data transmission method according to an embodiment of the present disclosure is shown. Figure 3 As shown, in the embodiment, caching and merging data packets of multiple nodes to determine a transmission message includes:

[0117] Step S302: Acquire data packets belonging to multiple nodes of the same device;

[0118] Step S304: caching data packets of multiple nodes. When the number of cached data packets reaches a merging threshold, merging and compressing the currently cached data packets to determine the transmission message.

[0119] In the Internet of Things, each sensor that collects data is regarded as a node. When there are multiple nodes, the existing technology sends data to the parent node to which it belongs, resulting in the transmission of a large number of small data packets. This embodiment adds a proxy sensor with a cache as a proxy node to aggregate the data packets of multiple nodes of the same device. The proxy node communicates with multiple nodes of the same device. After each node uses the sensor to collect corresponding data, a data packet for each node is formed. The proxy node obtains data packets belonging to multiple nodes of the same device; the proxy node has a cache, caches the obtained data packets of multiple nodes, and counts the number and capacity of the cached data packets. When the number of cached data packets reaches a merging threshold, the currently cached data packets are merged and compressed to determine the transmission message; further, when the size of the cached data packets reaches a cache capacity threshold, the currently cached data packets are merged and compressed to determine the transmission message.

[0120] This embodiment adds a proxy sensor with a cache to cache, merge and compress multiple data from the same device before transmission, thereby reducing the transmission of scattered data. This can significantly reduce the number of data packets transmitted in the network, improve data transmission efficiency, and at the same time reduce the energy consumed by frequent data transmission, thereby improving energy efficiency.

[0121] Figure 4 A schematic diagram of a process for predicting the congestion state of a first transmission path in a data transmission method according to an embodiment of the present disclosure is shown. Figure 4 As shown, in the embodiment, sending a transmission message to a target receiving end through a first transmission path and predicting a congestion state of the first transmission path includes:

[0122] Step S402: performing abnormality detection on the transmitted message;

[0123] Step S404: sending the transmission message that passes the abnormality detection to the target receiving end through the first transmission path;

[0124] Step S406: Acquire state data of the first transmission path in transmitting the transmission message, and predict the congestion state of the first transmission path.

[0125] In an IoT network, exception messages are generated when a device, sensor, or network component experiences a condition that deviates from normal operation. These can be caused by human error, cyberattacks, or data tampering. These exception messages are identified and filtered out during transmission, leaving only the transmission messages that pass the anomaly detection. The transmission messages that pass the anomaly detection are sent to the target receiving end via a first transmission path; the transmission messages are transmitted between the sending end and the target receiving end. While transmitting the transmission message, the first transmission path obtains a status message of the first transmission path and uses this status message to predict the congestion status of the first transmission path.

[0126] By predicting the congestion status of the first transmission path, the second transmission path can be prepared and planned before congestion occurs. When the first transmission path is congested, it can be switched to the second transmission path in time to send the transmission message to the target receiving end, thereby achieving uninterrupted transmission of transmission messages, realizing continuous message transmission, and reducing the time required to reconfigure the network topology after congestion occurs.

[0127] When performing anomaly detection on transmission messages, an anomaly detection model is used. The process of determining the anomaly detection model includes: obtaining historical transmission information from multiple devices collected over a set continuous time period; performing data cleaning on the historical transmission information and normalizing the numerical features to determine normalized historical transmission data; establishing a normal distribution probability model, setting the parameters of the normal distribution probability model based on the normalized historical transmission data, and determining the anomaly detection model.

[0128] In the embodiment, the historical transmission information (data i =(data 1 , data 2 , data 3 ,...,dataN ) as an example, the historical transmission information is cleaned to remove duplicate, erroneous and irrelevant information to obtain the cleaned historical transmission data; the numerical features in the cleaned historical transmission data are normalized to obtain the normalized historical transmission data. A normal distribution probability model is established. For each sample in the normalized historical transmission data, the expected value parameters (u1,...,u n ) and variance parameter

[0129] Among them, the expected value parameter is expressed as

[0130] u j is the expected value parameter of the jth sample; m is the number of samples; For data i The corresponding j samples.

[0131] The variance parameter is expressed as

[0132] is the variance parameter of the jth sample; m is the number of samples.

[0133] The expected value parameter and variance parameter are parameters of the normal distribution probability model.

[0134] After setting the expected value parameters and variance parameters, the anomaly detection model is obtained:

[0135]

[0136] Among them, P(data) is the anomaly detection value of the transmission message after calculation by the anomaly detection model; exp() is the exponential function; ∏ is the continuous multiplication operation.

[0137] Figure 5 A schematic diagram of a process for detecting anomalies in a transmission message according to a data transmission method in an embodiment of the present disclosure is shown. Figure 5 As shown, anomaly detection is performed on the transmitted message, including:

[0138] Step S502: input the transmission message into the anomaly detection model to determine the transmission message anomaly detection value;

[0139] Step S504: If the transmission message anomaly detection value is less than the anomaly judgment threshold, the transmission message passes the anomaly detection;

[0140] Step S506: If the transmission message anomaly detection value is greater than or equal to the anomaly judgment threshold, the transmission message fails the anomaly detection.

[0141] In this embodiment, a transmission message is input into an anomaly detection model for calculation, and a transmission message anomaly detection value P(data) is output. A pre-set anomaly judgment threshold ε is used to determine the difference between the transmission message anomaly detection value P(data) and the anomaly judgment threshold ε. If the transmission message anomaly detection value is greater than or equal to the anomaly judgment threshold, i.e., P(data) ≥ ε, the transmission message is determined to be an abnormal message, the current transmission message is discarded, and no further transmission is performed. The transmission message fails the anomaly detection. If the transmission message anomaly detection value is less than the anomaly judgment threshold, i.e., P(data) < ε, the transmission message is determined to be a normal message, has passed the anomaly detection, and can be processed subsequently.

[0142] Figure 6 A schematic diagram of a data transmission method according to an embodiment of the present disclosure is shown, in which a transmission message that has passed anomaly detection is sent to a target receiving end via a first transmission path. Figure 6 As shown, sending the transmission message that passes the anomaly detection to the target receiving end through the first transmission path includes:

[0143] Step S602: The first node receives a directed acyclic graph information object message determined based on a transmission message detected through anomaly detection;

[0144] Step S604: if the directed acyclic graph information object message is the first directed acyclic graph information object message received by the first node, then adding the sender of the directed acyclic graph information object message as a parent node of the first node;

[0145] Step S606: Determine the order of the first node relative to its parent node in the directed acyclic graph;

[0146] Step S608: The first node sends a destination announcement object message to its parent node, and multicasts a directed acyclic graph information object message to adjacent nodes based on the order in the directed acyclic graph to determine a first transmission path;

[0147] Step S6010: Send the transmission message that passes the abnormality detection to the target receiving end through the first transmission path.

[0148] After passing anomaly detection, the message is sent to the target receiver. In IoT networks, there are complex network topologies consisting of multiple nodes. Multiple transmission paths exist between the sender and the target receiver. Sending a message requires selecting the appropriate path from these multiple paths to achieve efficient message transmission.

[0149] In the embodiment, the Internet of Things network adopts an RPL network constructed by the RPL protocol (Routing Protocol for Low-power and Lossy networks). A directed acyclic graph (DAG) is constructed in the RPL network, and a path from each node to the target node in the network is established. Specifically, this embodiment adopts DoDAG (Destination-Oriented Directed Acyclic Graph); wherein, DoDAG is a special DAG used to optimize data routing from multiple nodes in the network to the target node. Each node can select one or more optimal paths to the target node, which can ensure that data packets can be efficiently and reliably transmitted to the destination while avoiding circular routing. When constructing DODAG in the RPL network, the child count metric ChildCount(N) is used to maintain the child node status of the specified parent node, and the parent node will put the child node information into the cache area.

[0150] Taking a new node as the first node as an example, the first transmission path needs to be established. The first node receives a directed acyclic graph information object (DAG Information Object, DIO message), which is determined based on the transmission message that passed the anomaly detection. In this embodiment, the proxy node determines the corresponding DIO message based on the transmission message that passed the anomaly detection and sends the corresponding DIO message to the first node.

[0151] DIO messages are control messages in RPL networks, containing information about the DAG, such as the DAG identifier, node rank, and preference. The main functions of DIO messages include: DAG discovery, which helps nodes discover surrounding DAGs and understand their basic properties; parent node selection, which allows nodes to select the optimal parent node based on the information in received DIO messages to build a path to the DAG root node; and DAG maintenance, which maintains the integrity of the DAG and responds to network changes by regularly updating information.

[0152] Determine whether the DIO message received by the first node is the first DIO message. If the DIO message is the first DIO message received by the first node, then add the sender of the DIO message as the parent node of the first node. In this embodiment, the proxy node is added as the parent node of the first node. There is an inheritance relationship between the first node and the parent node, that is, there is a directed edge between the first node and the parent node, so that the order of the first node relative to its parent node in the directed acyclic graph can be determined. After determining the order, the first node sends a destination announcement object message (Destination Advertisement Object, DAO message) to its parent node. The first node multicasts the DIO message to the adjacent nodes based on the order in the directed acyclic graph, thereby determining the first transmission path.

[0153] DAO messages are control messages in the RPL network and are used to establish and maintain routes in the downstream direction. When a node wants to report to the DAG root node the destination it can reach, it sends a DAO message. The main functions of DAO messages include: downstream route construction, DAO messages help establish a downstream path from the DAG root node to the leaf node. Route announcement, the node announces the destination it can reach to its parent node through the DAO message. Route maintenance, used to maintain the connectivity of these downstream paths. In one instance, the multicast DIO message also includes the rank of the DAO message. Based on the determined first transmission path, the transmission message that passes the anomaly detection is sent to the target receiving end.

[0154] In an embodiment, determining the order of a first node relative to its parent node in a directed acyclic graph includes: obtaining the queue occupancy, passing node data, and node expected remaining energy information of the first node and its parent node; inputting the queue occupancy, passing node data, and node expected remaining energy information into a congestion and energy minimization function to determine the order of the first node relative to its parent node in the directed acyclic graph.

[0155] In a directed acyclic graph, if there is a directed edge between the first node and its parent node, then there is a data transmission queue between the first node and the parent node, and the queue occupancy P of the first node and its parent node can be obtained. k , passing node data and node expected remaining energy information E N , where the node data includes the child node count ChildCount(N). Node expected remaining energy information E NThis refers to the node's current remaining capacity. For example, if a node uses batteries as its energy source, the remaining battery charge is 50%. The node's expected remaining energy is calculated based on the remaining battery charge. Besides batteries, a node's energy source can be a variety of sources, such as fuel, solar, and wind. The queue occupancy, passing node data, and the node's expected remaining energy are input into the congestion and energy minimization function to calculate the ranking of the first node relative to its parent node in the directed acyclic graph.

[0156] In the Internet of Things network, the remaining energy information of each node is the basis for supporting the node to collect and transmit data. The energy of the node is usually supplied by a limited energy source. When determining the first transmission path, the present application takes the queue occupancy rate P as the first transmission path. k Based on the node data, the node expected remaining energy information E N , achieving continuous and reliable data transmission, while also achieving load balancing and secure communication.

[0157] Node expected remaining energy information E N , is based on the node's current remaining energy E res (N) and the energy E required by the node to transmit the current data trans Specifically, the node expected remaining energy information E N , calculated using the following formula:

[0158]

[0159] Among them, E N is the node's expected remaining energy information; E res (N) is the current remaining energy of the node; E trans (N) is the energy required by the node to transmit the current data.

[0160] Among them, the node’s current remaining energy E res (N) is used to measure how much energy the current node has left. The node's current remaining energy E res (N) is determined based on the node's initial energy and the node's current energy; specifically, the node's current remaining energy E res (N) is calculated using the following formula:

[0161]

[0162] Among them, E res (N) is the current remaining energy of the node; E init (N) is the initial energy of the node; E cur (N) is the current energy of the node.

[0163] The congestion and energy minimization functions are used to calculate the objective function value. This objective function value is trained for deep learning with the goal of minimizing queue occupancy and node data passing through, and maximizing the node's expected remaining energy information. The congestion and energy minimization functions realize the selection of the transmission path in the process of calculating the objective function value.

[0164] The congestion and energy minimization function is expressed as follows:

[0165]

[0166] Among them, F is the objective function value; P k is the queue occupancy rate; ChildCount(N) is the number of child nodes passed; E N is the expected remaining energy information of the node; * is multiplication; a, b, c are calculation parameters, which change with different nodes.

[0167] In an embodiment, when determining whether the DIO message received by the first node is the first DIO message, it also includes: if the directed acyclic graph information object message is not the first directed acyclic graph information object message received by the first node, determining whether the directed acyclic graph information object message is issued by a child node; the first node belongs to a child node; if the directed acyclic graph information object message is issued by a child node, the child node count in the node data is incremented.

[0168] When determining whether the DIO message is the first time, if the DIO message is not the first DIO message received by the first node, the next step is to perform anomaly detection on the DIO message, also using the anomaly detection model established above; the DIO message is input into the anomaly detection model to determine the DIO message anomaly detection value; if the DIO message anomaly detection value is greater than or equal to the anomaly judgment threshold, the DIO message is determined to be an anomaly message, discarded, and no subsequent processing steps are performed; if the DIO message anomaly detection value is less than the anomaly judgment threshold, the DIO message passes the anomaly detection; the DIO message that passes the anomaly detection is determined to be sent from a child node. If the DIO message is sent from a child node, the child node count in the node data is incremented.

[0169] When building a directed acyclic graph, as part of the parent selection process, it uses the child count metric to maintain the children of a given parent node, keeps a buffer for each DIO message it gets from a child node, increments the child count value, and keeps track of the child count.

[0170] Figure 7 A schematic diagram of the process of updating the parent node in the embodiment of the present disclosure is shown as follows: Figure 7 As shown, in the embodiment, when determining whether a DIO message that passes the abnormality detection is sent by a child node, the method further includes:

[0171] Step S702: If the directed acyclic graph information object message is not sent by the child node, determine whether the directed acyclic graph information object message is from the current parent node;

[0172] Step S704: If the directed acyclic graph information object message is not from the current parent node, determine the source of the directed acyclic graph information object message as a new parent node;

[0173] Step S706: Add the new parent node to a parent node list in which the current parent node is located;

[0174] Step S708: Obtain the queue occupancy rate, the passed node data and the node expected residual energy information between the new parent node and the first node;

[0175] Step S7010: Input the queue occupancy rate, the passed node data and the node expected residual energy information into a congestion and energy minimization function to determine the order of the new parent node in the directed acyclic graph;

[0176] Step S7012: If the order of the new parent node in the directed acyclic graph is smaller than the order of the current parent node in the directed acyclic graph, determine the new parent node as the parent node of the first node;

[0177] Step S7014: Update the new parent node to the position of the current parent node in the directed acyclic graph, discard the current parent node, and determine an updated directed acyclic graph;

[0178] Step S7016: The first node sends a destination advertisement object message to the new parent node, and multicasts a directed acyclic graph information object message to adjacent nodes based on the updated directed acyclic graph.

[0179] The child node is connected to multiple child nodes, and the child node is also connected to multiple parent nodes. In the process of transmitting the transmission message, when it is determined that the DIO message is not sent by the child node, it is necessary to determine whether to update the parent node of the current child node to realize path reselection to balance the load.

[0180] Determine whether the DIO message comes from the current parent node. If the DIO message is deployed from the current parent node, then the source of the DIO message is determined to be the new parent node. Add the new parent node to the parent node list of the current parent node. At this time, the parent node list includes two parent nodes: the new parent node and the current parent node. One of them needs to be used when transmitting the path. Next, calculate which parent node to use. Obtain the queue occupancy rate, node data passed, and node expected remaining energy information between the new parent node and the first node. Input the queue occupancy rate, node data passed, and node expected remaining energy information between the new parent node and the first node into the congestion and energy minimization function to determine the order of the new parent node in the directed acyclic graph. Compare the order of the new parent node in the directed acyclic graph with the order of the current parent node in the directed acyclic graph. The order is the ranking in the acyclic graph. The smaller the ranking, the smaller the order, and the closer to the root node, indicating that the corresponding path is a better path. If the new parent node's ranking in the directed acyclic graph is smaller than the current parent node's ranking in the directed acyclic graph, the new parent node is determined as the parent node of the first node; the new parent node is updated to the position of the current parent node in the directed acyclic graph, and the current parent node is discarded to determine the updated directed acyclic graph; the first node sends a DAO to the new parent node, and multicasts a DIO message to adjacent nodes based on the updated directed acyclic graph, thereby updating the transmission path.

[0181] Unlike existing technologies that typically employ a static, single-parent node selection mechanism, which results in fixed and inflexible transmission paths, this embodiment dynamically adjusts the routing based on the node network's queue occupancy, node counts, and expected remaining energy information, including node ranking and parent node selection. This dynamic adjustment mechanism enhances the algorithm's flexibility and adaptability. Load balancing based on node energy status and network congestion helps extend the lifespan of IoT devices and improve network performance.

[0182] In an embodiment, when comparing the order of the new parent node in the directed acyclic graph with the order of the current parent node in the directed acyclic graph, it also includes: if the order of the new parent node in the directed acyclic graph is greater than or equal to the order of the current parent node in the directed acyclic graph, then the order of the current parent node in the directed acyclic graph is maintained, and the first node multicasts the DIO message based on the currently unupdated directed acyclic graph, does not update the transmission path, and still uses the first transmission path.

[0183] Figure 8 A schematic diagram showing a detailed process of predicting the congestion state of the first transmission path in an embodiment of the present disclosure is shown as follows: Figure 8 As shown, obtaining state data of a first transmission path in transmitting a transmission message and predicting a congestion state of the first transmission path includes:

[0184] Step S802: Acquire the state data of the first transmission path in transmitting the transmission message;

[0185] Step S804: Determine the queue occupancy of the first transmission path for a future set time period using the trained congestion prediction model based on the status data;

[0186] Step S806: If the queue occupancy of the first transmission path for the future set time period is less than the congestion judgment threshold, the congestion status of the first transmission path is non-congested;

[0187] Step S808: If the queue occupancy of the first transmission path for the future set time period is greater than or equal to the congestion determination threshold, the congestion state of the first transmission path is congested.

[0188] The first transmission path generates status data when transmitting a transmission message. The status data is obtained and input into a trained congestion prediction model for prediction to obtain a queue occupancy rate of the first transmission path for a future set time period. The queue occupancy rate is expressed using the following formula:

[0189]

[0190] Among them, P k is the queue occupancy, NQ k QS is the message size of the current K queue, k is the total length of K queues.

[0191] Compare the queue occupancy of the first transmission path for the future set time length with the congestion judgment threshold δ. If the queue occupancy of the first transmission path for the future set time length is less than the congestion judgment threshold, that is, P k <δ, the congestion state of the first transmission path will be uncongested after the future set time length; if the queue occupancy of the first transmission path for the future set time length is greater than or equal to the congestion judgment threshold, that is, P k ≥δ, the congestion state of the first transmission path will be congested after a set time period in the future.

[0192] Figure 9 A schematic diagram of the training process of the congestion prediction model in the embodiment of the present disclosure is shown as follows: Figure 9 As shown in Figure 1, the training process of the congestion prediction model includes:

[0193] Step S902: Acquire status data of the transmission data; wherein the status data includes any one or more combinations of the sending time, receiving time, packet loss rate and / or delay;

[0194] Step S904: determining data characteristics of the status data;

[0195] Step S906: Establish a long short-term memory network model and input the data features of the state data;

[0196] Step S908: adjusting the weights and biases of the LSTM network model through back propagation and optimization algorithms, with the goal of minimizing the difference between the predicted output queue occupancy and the actual occupancy, and training the LSTM network;

[0197] Step S9010: When the long short-term memory network model reaches the training target, the long short-term memory network model that reaches the training target is determined as a congestion prediction model.

[0198] Acquire status data of the transmission data, which is collected during historical transmission data. The status data includes any one or more combinations of the sending time, receiving time, packet loss rate, and / or delay; perform feature extraction on the status data to determine the data features of the status data; establish a long short-term memory network model (LSTM), input the data features of the status data into the LSTM for training, adjust the weights and bias terms of the LSTM model through backpropagation and optimization algorithms, and train the LSTM network with the goal of minimizing the gap between the predicted output queue occupancy and the actual occupancy; monitor the gap between the output queue occupancy and the actual occupancy during training, and when the gap between the minimized predicted output queue occupancy and the actual occupancy reaches a set value, the LSTM model achieves the training target, and the LSTM model that has achieved the training target is determined as the congestion prediction model.

[0199] Figure 10 FIG. 1 is a schematic diagram showing a process of determining whether to send a transmission message to a target receiving end via a second transmission path according to an embodiment of the present disclosure. Figure 10 As shown, the predicted congestion state of the first transmission path includes: congested or not congested;

[0200] Determining whether to send the transmission message to the target receiving end through the second transmission path according to the predicted congestion state of the first transmission path includes:

[0201] Step S1002: When the predicted congestion state of the first transmission path is congested, buffering the transmission message;

[0202] Step S1004: determining a second transmission path according to the queue occupancy rate, the passing node data, and the node expected remaining energy information;

[0203] Step S1006: Send the buffered transmission message to the target receiving end via the second transmission path.

[0204] When the predicted congestion state of the first transmission path is congestion, the transmission message is buffered, transmission from the first transmission path is suspended, and then a second transmission path is determined according to a deep learning algorithm using the queue occupancy rate, the node data and the node expected residual energy information, and the buffered transmission message is sent to the target receiving end through the second transmission path.

[0205] Figure 11 A schematic diagram of the process of determining the second transmission path in the embodiment of the present disclosure is shown in FIG. 6. Figure 11 As shown in FIG. 6, the second transmission path is determined according to the queue occupancy rate, the node data and the node expected residual energy information, and includes the following steps:

[0206] Step S1102: The best alternative parent node is calculated according to the queue occupancy rate, the node data and the node expected residual energy information of the first node and its parent node.

[0207] Step S1104: The multi-path routing is performed according to the best alternative parent node to determine a plurality of candidate transmission paths.

[0208] Step S1106: The congestion state of the plurality of candidate transmission paths is predicted using the trained congestion prediction model, and the candidate transmission path with the smallest congestion state is determined as the second transmission path.

[0209] The calculation of the second transmission path is performed level by level from the root node to the child node. When it is predicted that congestion will occur after a future set time period, the transmission path needs to be redesigned from the parent node. The best alternative parent node is calculated according to the queue occupancy rate, the node data and the node expected residual energy information of the first node and its parent node. The queue occupancy rate of the best alternative parent node is low and the expected residual energy is large. The multi-path routing is performed on the plurality of child nodes inherited from the best alternative parent node and the child nodes of the child nodes to determine a plurality of candidate transmission paths. The congestion state of the plurality of candidate transmission paths is predicted using the trained congestion prediction model, and the candidate transmission path with the smallest congestion state is determined as the second transmission path. In one embodiment, the trained congestion prediction model includes a congestion and energy minimization function.

[0210] Figure 12 A schematic diagram of the process of updating the ranking of the best alternative parent node in the directed acyclic graph in the embodiment of the present disclosure is shown in FIG. 7. Figure 12 As shown in FIG. 7, the process further includes the following steps:

[0211] Step S1202: The queue occupancy rate, the node data and the node expected residual energy information of the second transmission path are obtained.

[0212] Step S1204: Input the queue occupancy rate of the second transmission path, the node data along the path, and the node expected remaining energy information into a congestion and energy minimization function to determine the order of the best replacement parent nodes in the second transmission path in the directed acyclic graph;

[0213] Step S1206: If the ranking of the best alternative parent node in the directed acyclic graph is smaller than the ranking of the current parent node of the first transmission path in the directed acyclic graph, the ranking of the best alternative parent node in the directed acyclic graph is updated.

[0214] After determining the second transmission path, further obtain the queue occupancy rate, path node data, and node expected remaining energy information of the second transmission path, input the queue occupancy rate, path node data, and node expected remaining energy information of the second transmission path into the congestion and energy minimization function, and determine the ranking of the best alternative parent node in the directed acyclic graph of the second transmission path; compare the ranking of the best alternative parent node in the directed acyclic graph with the ranking of the current parent node of the first transmission path in the directed acyclic graph; if the ranking of the best alternative parent node in the directed acyclic graph is lower than the ranking of the current parent node of the first transmission path in the directed acyclic graph, update the position of the best alternative parent node in the directed acyclic graph, and determine the updated directed acyclic graph; the first node sends a DAO message to the best alternative parent node, and multicasts DIO messages to adjacent nodes based on the updated directed acyclic graph. If the ranking of the best alternative parent node in the directed acyclic graph is greater than or equal to the ranking of the current parent node of the first transmission path in the directed acyclic graph, recalculate and select the best alternative parent node.

[0215] The disclosed embodiment merges different sensor information from the same device through proxy nodes, which can significantly reduce the number of data packets transmitted in the network, improve data transmission efficiency, and reduce the energy consumed by frequent data transmission, thereby improving energy efficiency. At the same time, when a fault or bottleneck occurs in the network, the proxy node cache is used to start energy-aware multi-path scheduling at the same time, and other paths are used to transmit data packets, which reduces the time required to reconfigure the network topology, increases throughput and network life, and avoids taking low-energy links. By adding IoT proxy cache nodes, data merging is performed, the transmission of scattered data is reduced, and abnormal information detection, congestion prediction and energy-aware models are combined. Before the predicted node is about to be congested, message caching is performed, and then the path is selected based on the energy-aware dynamic parent node to balance the load, which reduces the time required to reconfigure the network topology and increases throughput and network and device life.

[0216] Figure 13 The flowchart of the data transmission method in the embodiment of the present disclosure is shown as follows: Figure 13As shown, the data transmission method provided by the embodiment is applied between a sending end A and a receiving end B; wherein, there are multiple relay devices between the sending end A and the receiving end B, and the flow of the embodiment includes:

[0217] The multiple Internet of Things nodes collect data through sensors and network monitoring tools, monitor data through a proxy node, acquire data packets of the multiple nodes for cache merging, generate a transmission message, cache the transmission message in the proxy node, and output a merged transmission message by the proxy node for anomaly detection. If the detection is an abnormal message, the abnormal message is discarded. If no abnormal message is detected, the transmission message passes the anomaly detection, and a congestion prediction model trained is used for congestion prediction. If congestion is predicted, the transmission message is cached to the proxy node, a second transmission path is determined based on energy-aware multi-path selection, and the cached transmission message is sent to the receiving end B through the second transmission path.

[0218] A proxy sensor with cache is added as a proxy node, and multiple data of the same device are cached, merged, compressed, and then transmitted to reduce the transmission of scattered data. An abnormal information identification model is trained to filter abnormal information. A congestion prediction model is trained to predict the congestion information in the link. When congestion is predicted, energy-aware multi-path selection is started, and the path with the minimum queue occupancy rate, the minimum number of nodes passed, and the maximum expected residual energy is selected.

[0219] Figure 14 The flowchart of anomaly detection and congestion prediction in the embodiment of the disclosure is shown as Figure 14 As shown, historical transmission information of multiple devices collected in a set continuous time period is acquired (data i = (data 1 , data 2 , data 3 ,..., data N ); the historical transmission information is cleaned, and numerical features are normalized to determine normalized historical transmission data; a normal distribution probability model is established, and expected value parameters (u1,..., u n ) and variance parameters of the normal distribution probability model are determined according to the normalized historical transmission data to determine an anomaly detection model. The transmission message is input into the anomaly detection model to determine an anomaly detection value of the transmission message; if P(data) ≥ ε, the transmission message does not pass the anomaly detection, and the transmission message is discarded. If P(data) < ε, the transmission message passes the anomaly detection, and then congestion prediction is performed.

[0220] Acquire state data of transmission data; wherein the state data includes: a combination of any one or more of sending time, receiving time, packet loss rate and / or delay; determine data features of the state data; establish a long short-term memory network model and input the data features of the state data; adjust the weights and bias items of the long short-term memory network model through back propagation and optimization algorithms, and train the long short-term memory network with the training goal of minimizing the difference between the predicted output queue occupancy and the actual occupancy; when the long short-term memory network model reaches the training goal, determine the long short-term memory network model that reaches the training goal as a congestion prediction model; obtain state data of the first transmission path when transmitting a transmission message; determine the queue occupancy of the first transmission path for a future set time length using the trained congestion prediction model based on the state data; if P k <δ, then the congestion state of the first transmission path is not congested; if P k ≥δ, the congestion state of the first transmission path is congested.

[0221] Figure 15 The following is a flowchart of dynamic parent node multi-path selection in an embodiment of the present disclosure: Figure 15 As shown in Figure 1, the energy-aware dynamic parent node multi-path selection process includes:

[0222] 1. The first node receives the DIO message;

[0223] 2. Determine whether the received DIO message is the first DIO message. If yes, jump to step 3; if no, jump to step 8.

[0224] 3. Add the node that sends the DIO message as the parent node of the first node;

[0225] 4. Obtain queue occupancy, passing node data, and node expected remaining energy information;

[0226] 5. Calculate the parent node ranking by congestion and energy minimization function;

[0227] 6. The first node sends a DAO message to the parent node;

[0228] 7. The first node multicasts the DIO message to neighboring nodes;

[0229] 8. Perform an anomaly check on the DIO message. If it is detected as an abnormal message, discard the DIO message; if it is detected as a normal message, jump to 9;

[0230] 9. Determine whether the DIO message is sent from a child node. If so, increment the child node count; if not, jump to 10;

[0231] 10. Determine whether the DIO message comes from the current parent node. If not, jump to 11; if so, jump to 18;

[0232] 11. Add the DIO message source as a new parent node to the parent node list;

[0233] 12. Take the queue occupancy rate, through node data and node expected residual energy information;

[0234] 13. Calculate the ranking of the new parent node through the congestion and energy minimization function;

[0235] 14. Determine whether the ranking of the new parent node is less than the ranking of the current parent node, if not, keep the ranking of the current parent node, and jump to 7; if yes, jump to 15;

[0236] 15. Add the new parent node as the parent node of the first node, update the new parent node to the position of the current parent node in the directed acyclic graph, discard the current parent node, and determine the updated directed acyclic graph;

[0237] 16. The first node sends a DAO message to the new parent node;

[0238] 17. The first node multicasts a DIO message to adjacent nodes based on the updated directed acyclic graph;

[0239] 18. Predict whether it is congested through the congestion prediction model, if yes, jump to 19; if no, jump to XX;

[0240] 19. Select the best alternative parent node, start multi-path routing, determine the second transmission path, and re-predict congestion through the congestion prediction model.

[0241] 20. Take the queue occupancy rate, through node data and node expected residual energy information;

[0242] 21. Calculate the ranking of the best alternative parent node through the congestion and energy minimization function;

[0243] 22. Determine whether the ranking of the best alternative parent node is less than the ranking of the current parent node, if not, jump to 19 to reselect the best alternative node; if yes, jump to 21;

[0244] 23. Update the ranking of the best alternative parent node in the directed acyclic graph, and determine the updated directed acyclic graph;

[0245] 24. The first node multicasts a DIO message to adjacent nodes based on the updated directed acyclic graph.

[0246] The core process of the energy-aware dynamic parent node multi-path selection described above is as follows: After receiving its first DIO message from a cached proxy sensor, a new node adds the sender as its parent node and calculates its rank relative to the parent node using the congestion- and energy-aware model F. It then sends a DIO message back to its parent node and, finally, multicasts the DIO message carrying its rank to its neighboring nodes. When an existing node receives a DIO message, it verifies whether it meets the criteria for normal traffic flow identification and acceptance. If so, it accepts the message; otherwise, it discards it. When constructing a directed acyclic graph, as part of the parent selection process, a child count metric is used to maintain the child nodes of a given parent node. A buffer is maintained for each DIO message received from the child node, and the child count is incremented and tracked. A deep learning algorithm is used to predict whether the current node is congested. If congestion is detected at the parent node, energy-aware dynamic parent node multi-path congestion mitigation is implemented. If not, the node calculates its rank using model F and updates its position in the DODAG. If a node receives a DIO message from another parent node, the parent node is added to the parent list stored in the parent table. The queue occupancy P_K, the node's expected remaining lifetime E_N, and the child count metric ChildCount(N) are then calculated to calculate an updated ranking based on model F. If the newly calculated ranking is lower than the node's current ranking, the sending parent node is accepted as the node's new parent, updating its position in the DODAG and discarding the existing parent node.

[0247] In the prior art, only the load condition of the node is usually considered as the basis for selecting the parent node. However, this embodiment takes into account abnormal information, the energy condition of the node, and the network topology at the same time. This comprehensive consideration method has not yet appeared in the prior art. In order to avoid the transmission of scattered data, this embodiment adds a cache proxy to reduce network bandwidth waste and the time required to reconfigure the network topology. Dynamic adjustment mechanism. The prior art usually adopts a static single-parent node selection mechanism, while this embodiment can dynamically adjust according to the network and energy conditions of the node, including the ranking of the node and the selection of the parent node. This dynamic adjustment mechanism enhances the flexibility and adaptability of the algorithm.

[0248] This embodiment can be applied in various scenarios, including: Internet of Things (IoT): In the Internet of Things environment, nodes usually have limited energy supply, and network congestion is a common problem. This algorithm can balance the load according to the energy status of the nodes and the network congestion, helping to prolong the life of Internet of Things devices and improve the performance of the network. Vehicle-to-Everything (V2X): In the vehicle-to- everything, nodes need to transmit data quickly and reliably, while considering energy and safety issues. This algorithm can select appropriate parent nodes according to the performance indicators of the nodes and network conditions, achieving load balancing and secure communication. Wireless Sensor Network (WSN): In the wireless sensor network, nodes are usually deployed in harsh environments, with limited energy and network congestion being a challenge. This algorithm can balance the load according to the energy status of the nodes and the network congestion, helping to prolong the life of the network and improve the reliability of data transmission. Smart Home / City: In these scenarios, nodes need to efficiently transmit data and consider energy consumption. This algorithm can select appropriate parent nodes according to the performance indicators of the nodes and network conditions, achieving load balancing and energy-efficient communication. Industrial Automation: In the industrial automation environment, nodes need to transmit data quickly and reliably, while considering energy and stability issues. This algorithm can select appropriate parent nodes according to the performance indicators of the nodes and network conditions, achieving load balancing and stability enhancement.

[0249] This embodiment reduces the transmission of scattered data by increasing the Internet of Things agent cache node, combining data merging, combining abnormal information detection, congestion prediction and energy-aware model, caching messages before predicting that the node will be congested, and then balancing the load according to the energy-aware dynamic parent node selection path, reducing the time required to reconfigure the network topology, increasing the throughput and network and device life. Multiple agents, i.e. deep learning algorithms, are used to jointly select path strategies. This scheme takes into account abnormal information, node network congestion and node energy status, which is a comprehensive consideration that has not appeared in existing patents. This patent avoids the transmission of scattered data, increases the cache agent, reduces network bandwidth waste and the time required to reconfigure the network topology. Existing patents usually use a static single parent node selection mechanism, while this scheme can dynamically adjust according to the node's network and energy status, including node ranking and parent node selection. This dynamic adjustment mechanism enhances the flexibility and adaptability of the algorithm. The algorithm can balance the load according to the energy status of the nodes and the network congestion, and can be applied in the Internet of Things, vehicle-to- everything, wireless sensor network, smart home, smart city, industrial automation and other fields involving network transmission. It helps to prolong the life of the network and improve the reliability of data transmission.

[0250] It should be noted that the acquisition, storage, use, processing and the like of data in the technical solutions of the present disclosure comply with relevant provisions of national laws and regulations. The various types of data, such as personal identity data, operation data, and behavior data of individuals, customers, and crowds, obtained in the embodiments of the present disclosure have been authorized.

[0251] Based on the same inventive concept, the present disclosure also provides a data transmission device, as described in the following embodiments. Since the principles of the device embodiments for solving problems are similar to the above-mentioned method embodiments, the implementation of the device embodiments can be referred to the implementation of the above-mentioned method embodiments, and the repeated parts will not be described here.

[0252] Figure 16 A schematic diagram of a data transmission device in an embodiment of the present disclosure is shown, as shown in Figure 16 The device comprises:

[0253] The transmission message determination module 1601 is configured to buffer and merge data packets of multiple nodes to determine a transmission message.

[0254] The congestion prediction module 1602 is configured to send the transmission message to a target receiving end through a first transmission path, and predict the congestion state of the first transmission path.

[0255] The transmission path switching module 1603 is configured to determine whether to send the transmission message to the target receiving end through a second transmission path according to the predicted congestion state of the first transmission path.

[0256] It should be noted that the transmission message determination module 1601, the congestion prediction module 1602 and the transmission path switching module 1603 correspond to S202-S206 in the method embodiments, and the above modules have the same examples and application scenarios as the corresponding steps, but are not limited to the contents disclosed in the above method embodiments. It should be noted that the above modules as part of the device can be executed in a computer system such as a group of computer executable instructions.

[0257] Those skilled in the art can understand that each aspect of the present disclosure can be implemented as a system, a method or a program product. Therefore, each aspect of the present disclosure can be embodied as a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, which can be collectively referred to as "circuitry", "module" or "system" here.

[0258] The electronic device 1700 according to this embodiment of the present disclosure will be described below with reference to Figure 17 . Figure 17 The electronic device 1700 shown is only an example and should not impose any limitation on the functions and use range of the embodiments of the present disclosure.

[0259] like Figure 17 As shown, electronic device 1700 is implemented as a general-purpose computing device. Components of electronic device 1700 may include, but are not limited to, the aforementioned at least one processing unit 1710, the aforementioned at least one storage unit 1720, and a bus 1730 connecting various system components (including storage unit 1720 and processing unit 1710).

[0260] The storage unit stores program code, which can be executed by the processing unit 1710, so that the processing unit 1710 performs the steps described in the "Exemplary Method" section of this specification according to various exemplary embodiments of the present disclosure. For example, the processing unit 1710 can perform the following steps of the above-mentioned method embodiment: caching and merging data packets from multiple nodes to determine a transmission message; sending the transmission message to a target receiving end via a first transmission path, predicting the congestion status of the first transmission path; and determining whether to send the transmission message to the target receiving end via a second transmission path based on the predicted congestion status of the first transmission path.

[0261] The storage unit 1720 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 17201 and / or a cache memory unit 17202 , and may further include a read-only memory unit (ROM) 17203 .

[0262] The storage unit 1720 may also include a program / utility 17204 having a set (at least one) of program modules 17205, such program modules 17205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0263] Bus 1730 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0264] Electronic device 1700 may also communicate with one or more external devices 1740 (e.g., a keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1700, and / or any device that enables electronic device 1700 to communicate with one or more other computing devices (e.g., a router, modem, etc.). Such communication may occur via input / output (I / O) interface 1750. Furthermore, electronic device 1700 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via network adapter 1760. As shown, network adapter 1760 communicates with other modules of electronic device 1700 via bus 1730. It should be understood that, although not shown, other hardware and / or software modules may be used in conjunction with electronic device 1700, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0265] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0266] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart may be implemented as a computer program product, which includes: a computer program, which implements the above data transmission method when executed by a processor.

[0267] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided. The computer-readable storage medium may be a readable signal medium or a readable storage medium. A program product capable of implementing the above-mentioned method of the present disclosure is stored thereon. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is run on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the "Exemplary Methods" section above of this specification.

[0268] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0269] In the present disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0270] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0271] In a specific implementation, the program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a standalone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0272] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0273] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0274] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0275] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.

Claims

1. A data transmission method, characterized in that: include: caching and merging data packets from multiple nodes to determine a transmission message, wherein the data packets are obtained by a proxy node from multiple nodes belonging to the same device; The transmission message is sent to a target receiving end via a first transmission path, and a congestion state of the first transmission path is predicted; wherein the first transmission path is determined by a first node multicasting a DIO message to adjacent nodes based on an order relative to its parent node in a directed acyclic graph, and the order of the first node relative to its parent node in the directed acyclic graph is calculated by inputting a queue occupancy rate, data of passing nodes, and expected remaining energy information of the nodes into a congestion and energy minimization function, wherein the objectives of the congestion and energy minimization function include minimizing the queue occupancy rate and the data of passing nodes, and maximizing the expected remaining energy information of the nodes; According to the predicted congestion state of the first transmission path, it is determined whether to send the transmission message to the target receiving end through the second transmission path.

2. The data transmission method according to claim 1, wherein: Cache and merge data packets from multiple nodes to determine the transmission message, including: Get data packets from multiple nodes belonging to the same device; The data packets of the plurality of nodes are cached, and when the number of cached data packets reaches a merging threshold, the currently cached data packets are merged and compressed to determine a transmission message.

3. The data transmission method according to claim 1, wherein: Sending the transmission message to a target receiving end through a first transmission path and predicting a congestion state of the first transmission path includes: performing anomaly detection on the transmission message; sending the transmission message that passes the anomaly detection to the target receiving end through the first transmission path; State data of the first transmission path in transmitting the transmission message is acquired, and a congestion state of the first transmission path is predicted.

4. The data transmission method according to claim 3, wherein: Performing anomaly detection on the transmission message includes: Inputting the transmission message into the anomaly detection model to determine an anomaly detection value of the transmission message; If the transmission message anomaly detection value is less than the anomaly judgment threshold, the transmission message passes the anomaly detection; If the transmission message anomaly detection value is greater than or equal to the anomaly judgment threshold, the transmission message fails the anomaly detection.

5. The data transmission method according to claim 4, characterized in that: The process of determining the anomaly detection model includes: Get historical transmission information of multiple devices collected during a set continuous time period; Performing data cleaning on the historical transmission information and normalizing the numerical features to determine normalized historical transmission data; A normal distribution probability model is established, parameters of the normal distribution probability model are set according to the normalized historical transmission data, and an anomaly detection model is determined.

6. The data transmission method according to claim 3, characterized in that: The method includes: sending a transmission message that passes the anomaly detection to a target receiving end through a first transmission path, comprising: The first node receives a directed acyclic graph information object message determined based on the transmission message detected by anomaly; If the directed acyclic graph information object message is the first directed acyclic graph information object message received by the first node, adding the sender of the directed acyclic graph information object message as a parent node of the first node; Determining an ordering of the first node relative to its parent node in the directed acyclic graph; The first node sends a destination announcement object message to its parent node and multicasts a directed acyclic graph information object message to adjacent nodes based on the ordering in the directed acyclic graph to determine a first transmission path; The transmission message that passes the abnormality detection is sent to a target receiving end through the first transmission path.

7. The data transmission method according to claim 6, characterized in that: Also includes: If the directed acyclic graph information object message is not the first directed acyclic graph information object message received by the first node, determining whether the directed acyclic graph information object message is sent by a child node; The first node is a child node; If the directed acyclic graph information object message is sent from a child node, the child node count in the node data will be incremented.

8. The data transmission method according to claim 7, characterized in that: Also includes: If the directed acyclic graph information object message is not sent by a child node, determining whether the directed acyclic graph information object message comes from the current parent node; If the directed acyclic graph information object message does not come from the current parent node, determining the source of the directed acyclic graph information object message as the new parent node; Add the new parent node to the parent node list of the current parent node; Obtaining queue occupancy, passing node data, and node expected remaining energy information between the new parent node and the first node; Input the queue occupancy rate, the passing node data and the node expected remaining energy information into the congestion and energy minimization function to determine the order of the new parent node in the directed acyclic graph; If the ranking of the new parent node in the directed acyclic graph is smaller than the ranking of the current parent node in the directed acyclic graph, determining the new parent node as the parent node of the first node; Updating the new parent node to the position of the current parent node in the directed acyclic graph, discarding the current parent node, and determining an updated directed acyclic graph; The first node sends a destination announcement object message to the new parent node and multicasts a directed acyclic graph information object message to adjacent nodes based on the updated directed acyclic graph.

9. The data transmission method according to claim 8, characterized in that: Also includes: If the order of the new parent node in the directed acyclic graph is greater than or equal to the order of the current parent node in the directed acyclic graph, the order of the current parent node in the directed acyclic graph is maintained.

10. The data transmission method according to claim 3, wherein: Acquiring state data of the first transmission path in transmitting the transmission message and predicting a congestion state of the first transmission path includes: Acquire state data of the first transmission path in transmitting the transmission message; determining, based on the state data, a queue occupancy of the first transmission path for a future set time period using a trained congestion prediction model; If the queue occupancy of the first transmission path for the future set time period is less than the congestion judgment threshold, the congestion state of the first transmission path is non-congested; If the queue occupancy of the first transmission path for the future set time period is greater than or equal to the congestion determination threshold, the congestion state of the first transmission path is congested.

11. The data transmission method according to claim 10, wherein: The training process of the congestion prediction model includes: Acquiring status data of the transmission message; wherein the status data includes: any one or more combinations of sending time, receiving time, packet loss rate and / or delay; determining data characteristics of the status data; Establishing a long short-term memory network model and inputting the data features of the state data; The weights and bias terms of the long short-term memory network model are adjusted by back-propagation and optimization algorithms, and the long short-term memory network is trained with the goal of minimizing the difference between the predicted output queue occupancy and the actual occupancy; When the long short-term memory network model reaches the training target, the long short-term memory network model that reaches the training target is determined as a congestion prediction model.

12. The data transmission method according to claim 6, wherein: The predicted congestion state of the first transmission path includes: congested or not congested; Determining whether to send the transmission message to the target receiving end through the second transmission path according to the predicted congestion state of the first transmission path includes: When the predicted congestion state of the first transmission path is congested, buffering the transmission message; Determine a second transmission path according to the queue occupancy rate, the node data passed through, and the expected remaining energy information of the node; The buffered transmission message is sent to the target receiving end through the second transmission path.

13. The data transmission method according to claim 12, wherein: Determining a second transmission path according to the queue occupancy rate, data of nodes passing through the path, and expected remaining energy information of the nodes includes: Calculate the best replacement parent node based on the queue occupancy of the first node and its parent node, the node data passed by the path, and the node's expected remaining energy information; Perform multi-path routing based on the best alternative parent node to determine multiple alternative transmission paths; The congestion status of the multiple candidate transmission paths is predicted using a trained congestion prediction model, and the candidate transmission path with the least congestion status is determined as the second transmission path.

14. The data transmission method according to claim 13, wherein: Also includes: Obtaining a queue occupancy rate of a second transmission path, node data passing through the path, and expected remaining energy information of the nodes; Inputting the queue occupancy rate, path node data, and node expected remaining energy information of the second transmission path into a congestion and energy minimization function, and determining the order of the best alternative parent node in the second transmission path in the directed acyclic graph; If the ranking of the best alternative parent node in the directed acyclic graph is smaller than the ranking of the current parent node of the first transmission path in the directed acyclic graph, the ranking of the best alternative parent node in the directed acyclic graph is updated.

15. A data transmission device, characterized in that: include: a transmission message determination module, configured to cache and merge data packets from multiple nodes and determine a transmission message, wherein the data packets are obtained by a proxy node from multiple nodes belonging to the same device; a congestion prediction module, configured to send the transmission message to a target receiving end via a first transmission path and predict the congestion status of the first transmission path; wherein the first transmission path is determined by a first node multicasting a DIO message to adjacent nodes based on the order of the first node relative to its parent node in a directed acyclic graph, the order of the first node relative to its parent node in the directed acyclic graph being calculated by inputting queue occupancy, passing node data, and node expected remaining energy information into a congestion and energy minimization function, wherein the objectives of the congestion and energy minimization function include minimizing queue occupancy and passing node data, and maximizing node expected remaining energy information; The transmission path switching module is configured to determine whether to send the transmission message to the target receiving end through the second transmission path according to the predicted congestion state of the first transmission path.

16. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to execute the data transmission method according to any one of claims 1 to 14 by executing the executable instructions.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 14 is implemented.

18. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 14 is implemented.

Citation Information

Patent Citations

  • Device and method for balanced ad-hoc network formation

    CN108781188A

  • Link congestion fault prediction and network autonomous management and control method based on machine learning

    CN113114582A

  • Anomaly prediction for electronic resources

    US11902309B1

  • Multipath transmission method and apparatus, and communication device

    WO2023050415A1