Data Sending Method, Device, Equipment and Storage Medium Based on Load Prediction

Through the exchange of load estimates between nodes and policy generation, the load balancing problem in wireless ad hoc networks is solved, low latency and efficient load prediction are achieved, and network resource utilization is improved.

CN119967489BActive Publication Date: 2025-07-29CHINA ACADEMY OF INFORMATION & COMM +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510442647.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-09
Publication Date
2025-07-29
Estimated Expiration
2045-04-09

AI Technical Summary

Technical Problem

In the prior art, the load balancing algorithm of wireless ad hoc networks is difficult to adapt to the demand for dynamic random distribution of nodes, and relies on a centralized control mechanism to lead to high latency and high computational complexity.

Method used

Each node counts the number of pulses in the data transmission cycle and broadcasts the first LSS message, receives the number of pulses of adjacent nodes, determines the load estimate, propagates the load estimate through the second LSS message, generates the data transmission strategy for the next data transmission cycle, and realizes real-time prediction of network load.

Benefits of technology

Load prediction without centralized control mechanism is realized, message propagation delay and computational complexity are reduced, and network load balancing and resource utilization efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119967489B_ABST
    Figure CN119967489B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data sending method, apparatus, device, and storage medium based on load prediction. By enabling each node to count the number of pulses during its data sending cycle and broadcast a first LSS message carrying the number of pulses to adjacent nodes, each node can determine a load estimation value based on its local number of pulses and the number of pulses of each adjacent node. Then, by broadcasting a second LSS message to adjacent nodes to propagate the load estimation value, predicting the channel load condition based on the local load estimation value and the load estimation values of each adjacent node, and generating a data sending strategy for the next data sending cycle, real-time prediction of network load can be achieved, the load balance and resource utilization efficiency of the network can be improved, and there is no need to rely on a centralized control mechanism for load prediction. The message propagation delay is low, the computational complexity is low, and the flexibility is high, which is suitable for communication networks with dynamically and randomly distributed nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to distributed network technology and communication technology, and in particular to a data transmission method, apparatus, device and storage medium based on load prediction. Background Art

[0002] With the rapid development of wireless networks and self-organizing networks, network load balancing and optimal resource allocation have become key factors in ensuring network performance and service quality.

[0003] Related technologies typically rely on centralized control mechanisms to obtain load information between nodes in the network. This approach suffers from high latency and computational complexity. Furthermore, due to the randomness and dynamic nature of network node distribution, related load balancing algorithms struggle to adapt to the needs of wireless ad hoc networks. Summary of the Invention

[0004] In response to the above technical problems, embodiments of the present disclosure provide a data sending method, apparatus, device, and storage medium based on load prediction.

[0005] In one aspect of an embodiment of the present disclosure, a method for sending data based on load prediction is provided, which is applied to at least one node in a communication network. The method includes:

[0006] Sending a first LSS message to a neighboring node based on the number of pulses of the current node in the previous data transmission cycle, and receiving the first LSS message sent by the neighboring node;

[0007] Determine, based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the neighboring node, a load estimation value of the current node, where the load estimation value is an estimated value of the amount of data sent and received by the node in the previous data sending period;

[0008] sending a second LSS message to the neighboring node based on the load estimation value, and receiving the second LSS message sent by the neighboring node;

[0009] Based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the neighboring node, a data sending strategy for the next data sending cycle is generated, where the data sending strategy includes whether to send data and a data sending path when sending data.

[0010] Optionally, the generating a data sending strategy for a next data sending cycle based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the neighboring node includes:

[0011] Determine a maximum load estimation value between the load estimation value of the current node and the load estimation values of the adjacent nodes;

[0012] Determining the maximum load estimation value as the load prediction value of the current node;

[0013] The data sending strategy is determined based on a magnitude relationship between the load prediction value and the load threshold.

[0014] Optionally, determining the data sending strategy based on a magnitude relationship between the load prediction value and a load threshold includes:

[0015] In response to the load prediction value being less than or equal to the load threshold, determining the data sending strategy to send data packets to adjacent nodes having load estimation values less than or equal to the load prediction value;

[0016] In response to the load prediction value being greater than the load threshold and the load prediction value being the load estimation value of the current node, performing backoff processing on the data packet to be sent by using a backoff algorithm;

[0017] In response to the load prediction value being greater than the load threshold and the load prediction value being the load estimation value of the adjacent node, the load prediction value is re-determined based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and the data sending strategy is determined based on the size relationship between the updated load prediction value and the load threshold.

[0018] Optionally, the generating a data sending strategy for a next data sending cycle based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the neighboring node includes:

[0019] Determine a maximum load estimation value between the load estimation value of the current node and the load estimation values of the adjacent nodes;

[0020] Determining the maximum load estimation value as the load prediction value of the current node;

[0021] Determining a channel load rate of the current node based on the load prediction value, where the channel load rate is a ratio of a predicted data transmission duration to a data transmission cycle duration, and the predicted data transmission duration is a ratio of the load prediction value to a data transmission rate;

[0022] The data sending strategy is determined based on the channel load rate.

[0023] Optionally, determining the data sending strategy based on the channel load rate includes:

[0024] In response to the channel load rate being less than or equal to a channel load rate threshold, determining the data sending strategy to send a data packet to a neighboring node whose load estimation value is less than or equal to the load prediction value;

[0025] In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of the current node, performing backoff processing on the data packet to be sent by using a backoff algorithm;

[0026] In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of the adjacent node, the channel load rate is re-determined based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and the data sending strategy is determined based on the updated channel load rate.

[0027] Optionally, a wireless network simulation framework is provided in the at least one node, and the wireless network simulation framework includes a transmitter module and a data parsing module;

[0028] The method further comprises:

[0029] Counting the number of pulses in each data transmission cycle using the transmitter module;

[0030] Receive and parse the first LSS message sent by the neighboring node using the data parsing module, and obtain the number of pulses carried in the first LSS message sent by the neighboring node;

[0031] The data parsing module is used to receive and parse the second LSS message sent by the neighboring node, and obtain the load estimation value carried in the second LSS message sent by the neighboring node.

[0032] Another aspect of the present disclosure provides a data transmission device based on load prediction, which is applied to at least one node in a communication network; the device includes:

[0033] A first transceiver module is configured to send a first LSS message to a neighboring node based on a pulse number of a current node in a previous data transmission cycle, and receive the first LSS message sent by the neighboring node, where the pulse number is the number of data packets sent by the node;

[0034] a determination module, configured to determine a load estimation value of the current node based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the neighboring node, the load estimation value being an estimated value of the amount of data sent and received by the node in the previous data sending period;

[0035] A second transceiver module, configured to send a second LSS message to the neighboring node based on the load estimation value and receive the second LSS message sent by the neighboring node;

[0036] A generation module, configured to generate a data sending strategy for the next data sending period based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the neighboring node, where the data sending strategy includes whether to send data and the data sending path when sending data.

[0037] On the other hand, an embodiment of the present disclosure provides an electronic device, including:

[0038] A memory, configured to store a computer program;

[0039] A processor, configured to execute the computer program stored in the memory, and when the computer program is executed, implement the method described in the above aspect.

[0040] On the other hand, an embodiment of the present disclosure provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method described in the above aspect is implemented.

[0041] On the other hand, an embodiment of the present disclosure provides a computer program, including computer program instructions, and when the computer program instructions are executed by a processor, the method described in the above aspect is implemented.

[0042] Based on the embodiments of the present disclosure, by enabling each node to count the number of pulses in its own data sending period and broadcast a first LSS message carrying the number of pulses to neighboring nodes, each node can determine a load estimation value based on the local number of pulses and the number of pulses of each neighboring node, and then broadcast a second LSS message to neighboring nodes to spread the load estimation value. Predict the channel load situation based on the local load estimation value and the load estimation values of each neighboring node, and generate a data sending strategy for the next data sending period, which can realize real-time prediction of network load, improve the load balance and resource utilization efficiency of the network, and does not require a centralized control mechanism for load prediction. It has low message propagation delay, low computational complexity, and high flexibility, and is suitable for communication networks with dynamically and randomly distributed nodes.

[0043] The technical solutions of the present disclosure will be further described in detail below with reference to the drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The drawings constituting a part of the specification depict embodiments of the present disclosure and, together with the description, are used to explain the principles of the present disclosure.

[0045] Referring to the drawings, the present disclosure can be understood more clearly from the following detailed description, where:

[0046] Figure 1 Flow chart of an embodiment of the data sending method based on load prediction according to the present disclosure;

[0047] Figure 2 Schematic diagram of a communication network of an embodiment of the data sending method based on load prediction according to the present disclosure;

[0048] Figure 3 Flow chart of another embodiment of the data sending method based on load prediction according to the present disclosure;

[0049] Figure 4 Flow chart of another embodiment of the data sending method based on load prediction according to the present disclosure;

[0050] Figure 5 Schematic diagram of the structure of an embodiment of the data sending device based on load prediction according to the present disclosure;

[0051] Figure 6 Schematic diagram of the structure of another embodiment of the data sending device based on load prediction according to the present disclosure;

[0052] Figure 7 Schematic diagram of the structure of an application embodiment of an electronic device according to the present disclosure. Detailed implementation manners

[0053] Now, various exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. It should be noted that: unless otherwise specifically stated, the relative arrangements of components and steps, numerical expressions and values set forth in these embodiments do not limit the scope of the present disclosure.

[0054] Those skilled in the art can understand that terms such as "first", "second", etc. in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, etc., and neither represent any specific technical meaning nor indicate an inevitable logical order between them.

[0055] It should also be understood that in the embodiments of the present disclosure, "a plurality of" may refer to two or more, and "at least one" may refer to one, two or more.

[0056] It should also be understood that for any component, data or structure mentioned in the embodiments of the present disclosure, without clear definition or contrary indication in the context, it can generally be understood as one or more.

[0057] In addition, the term "and / or" in the present disclosure is merely a description of the association relationship between associated objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in the present disclosure generally represents an "or" relationship between the associated objects before and after.

[0058] It should also be understood that the descriptions of the various embodiments in the present disclosure emphasize the differences between the various embodiments, and their similarities or similarities can be referred to each other. For the sake of brevity, they will not be elaborated one by one.

[0059] At the same time, it should be understood that for the sake of description, the dimensions of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0060] The following description of at least one exemplary embodiment is actually merely illustrative and in no way limits the present disclosure or its application or use.

[0061] The technologies, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, the said technologies, methods, and devices should be regarded as part of the specification.

[0062] It should be noted that: similar reference numerals and letters represent similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.

[0063] Figure 1 The flowchart of the data sending method based on load prediction provided for an exemplary embodiment of the present disclosure. The data sending method based on load prediction in the embodiments of the present disclosure can be applied to at least one node in a communication network. For example, the communication network can be a distributed network such as a wireless sensor network or an ad hoc network, where the node is an electronic device for data transmission in the communication network, such as a sensor in a wireless sensor network or a router in a local area network.

[0064] As Figure 1 shown, the method includes the following steps:

[0065] Step 101, send a first LSS message to an adjacent node based on the number of pulses of the current node in the previous data sending cycle, and receive the first LSS message sent by the adjacent node.

[0066] Wherein, the number of pulses is the number of data packets sent by the node, and the adjacent node refers to a node whose direct communication distance from the current node is within the single-hop communication range. Single-hop communication means that the communication between the sending node and the receiving node passes through a wireless link and does not require other nodes to forward data in the middle.

[0067] In one possible implementation, each node in a communication network is responsible for counting the number of data packets, or pulses, sent by that node during each data transmission cycle. At the end of the previous data transmission cycle (the i-th data transmission cycle, where i is a positive integer), the current node generates a Link State Signaling (LSS) message (hereinafter referred to as the first LSS message) containing the pulse count based on the counted pulse count. This first LSS message carries the pulse count of the current node during the previous data transmission cycle. Each node in the communication network can broadcast the first LSS message to neighboring nodes and also receive first LSS messages from neighboring nodes, thereby performing load prediction and strategy generation for the next data transmission cycle (the i+1th data transmission cycle).

[0068] Indicative, Figure 2 A schematic diagram of a communication network is shown, which includes four nodes: node a, node b, node c, and node d. Node a's neighboring nodes include node b and node c, and node b's neighboring nodes include node a, node c, and node d. Therefore, when broadcasting a first LSS message, node a sends the first LSS message to nodes b and c and receives the first LSS messages from them. Node b sends the first LSS message to nodes a, c, and d and receives the first LSS messages from them.

[0069] Step 102: Determine an estimated load value of the current node based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the neighboring node.

[0070] Among them, the load estimation value is an estimate of the amount of data sent and received by the node in the previous data sending cycle, which is used to characterize the overall load situation of the channel corresponding to the node in the previous data sending cycle, so that the channel load situation in the next cycle can be predicted based on the overall load situation of the channel corresponding to the node in the previous data sending cycle.

[0071] In one possible implementation, the load estimation value of the current node is the sum of the number of pulses of the current node in the previous data transmission cycle and the number of pulses of the adjacent nodes in the previous data transmission cycle. Schematically, the calculation formula of the load estimation value is as follows:

[0072] (1)

[0073] in, is the load estimate of the current node in the tth data sending cycle, is the sum of the pulse numbers of all adjacent nodes corresponding to the current node in the tth data transmission cycle, is the number of pulses of the current node in the tth data sending cycle.

[0074] Indicatively, for Figure 2 In the communication network shown, node a can determine the sum of the number of pulses of node a, the number of pulses of node b, and the number of pulses of node c as the load estimation value of node a.

[0075] Step 103: Send a second LSS message to the neighboring node based on the load estimation value, and receive the second LSS message sent by the neighboring node.

[0076] After calculating its own load estimate, each node in the communication network generates an LSS message (hereinafter referred to as a second LSS message) carrying that load estimate and sends it to each neighboring node. In turn, each node receives the second LSS message from each neighboring node. For each node, the second LSS message sent by the current node includes its own load estimate, and the second LSS message sent by the neighboring node includes its own load estimate. This allows each node to adjust its data transmission strategy based on its own load estimate and the load estimates of its neighboring nodes.

[0077] Step 104: Generate a data transmission strategy for the next data transmission cycle based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the neighboring node.

[0078] The data sending strategy includes whether to send data and the data sending path when sending data.

[0079] Optionally, the data transmission strategy can be comprehensively determined based on the load estimate of the current node and the load estimate of the neighboring nodes. For example, if the load estimate of the current node and the load estimate of the neighboring nodes are both less than or equal to a preset threshold, the data transmission strategy of the current node in the next data transmission cycle is to send data to all neighboring nodes. If the load estimate of at least one of the current node and the neighboring nodes is greater than the preset threshold, the data transmission strategy of the current node in the next data transmission cycle is not to send data. For another example, if the load estimate of the current node is less than or equal to the preset threshold, the data transmission strategy of the current node in the next data transmission cycle may be to send data to neighboring nodes whose load estimate is less than or equal to the preset threshold.

[0080] Based on the embodiments of the present disclosure, by having each node count its own pulse number in a data sending period and broadcasting a first LSS message carrying the pulse number to adjacent nodes, each node can determine a load estimation value based on the local pulse number and the pulse number of each adjacent node, and then propagate the load estimation value by broadcasting a second LSS message to the adjacent nodes. Based on the local load estimation value and the load estimation value of each adjacent node, the channel load situation is predicted, and a data sending strategy for the next data sending period is generated. This can realize real-time prediction of network load, improve the load balancing and resource utilization efficiency of the network, and does not need to rely on a centralized control mechanism for load prediction. The message propagation delay is low, the computational complexity is low, and the flexibility is high, and it is suitable for communication networks with dynamically and randomly distributed nodes.

[0081] In a possible implementation, the load prediction value of the current node can be determined based on the load estimation value of the current node and the load estimation values of the adjacent nodes, and then the data sending strategy can be determined based on the load prediction value, such as Figure 3 As shown, the above step 104 may include the following steps:

[0082] Step 301: Determine the maximum load estimation value between the load estimation value of the current node and the load estimation values of the adjacent nodes.

[0083] Step 302: Determine the maximum load estimation value as the load prediction value of the current node.

[0084] Optionally, the load estimation value of the current node and the load estimation values of adjacent nodes may be arranged in descending order to obtain a load estimation value sequence, and the first (maximum) load estimation value in the load estimation value sequence may be determined as the load prediction value of the current node.

[0085] For example, the load estimation value of node a is 100, the load estimation value of node b is 90, and the load estimation value of node c is 110. Then, for node a, its load prediction value is 110.

[0086] Step 303: Determine a data sending strategy based on the relationship between the load prediction value and the load threshold.

[0087] Optionally, if the load prediction value is less than or equal to the load threshold, the data sending strategy of the current node in the next data sending cycle is to send data to all neighboring nodes (for example, data can be sent to all neighboring nodes in the form of broadcast, or any neighboring node can be selected to send data); if the load prediction value is greater than the load threshold, the data sending strategy of the current node in the next data sending cycle is to back off the data to be sent (for example, not sending data, or reducing the frequency of data sending, etc.).

[0088] Optionally, if the load prediction value is greater than the load threshold, the magnitude relationship between the load estimation values of other adjacent nodes and the load threshold can be further determined, and data is sent through the adjacent nodes whose load estimation values are lower than the load threshold. Specifically, step 303 may include the following steps:

[0089] Step 303a, in response to the load prediction value being less than or equal to the load threshold, determining the data sending strategy as sending a data packet to an adjacent node whose load estimation value is less than or equal to the load prediction value.

[0090] Step 303b, in response to the load prediction value being greater than the load threshold and the load prediction value being the load estimation value of the current node, performing backoff processing on the data packet to be sent by using a backoff algorithm.

[0091] Step 303c, in response to the load prediction value being greater than the load threshold and the load prediction value being the load estimation value of an adjacent node, re-determining the load prediction value based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and determining the data sending strategy based on the magnitude relationship between the updated load prediction value and the load threshold.

[0092] If the load prediction value is greater than the load threshold and the load prediction value is the load estimation value of the current node, it indicates that the load of the current node itself has exceeded the upper limit. To reduce the load burden on the channel, backoff processing can be performed on the data packet to be sent in the next data sending cycle. Among them, the backoff algorithm can adopt a non-persistent algorithm, a persistent algorithm, a binary exponential backoff algorithm, etc.

[0093] If the load prediction value is greater than the load threshold but the load prediction value is the load estimation value of an adjacent node, the load estimation value of this adjacent node can be excluded from the load estimation value sequence, the maximum value in the remaining load estimation values is determined as the load prediction value, and the data sending strategy is determined based on the magnitude relationship between the updated load prediction value and the load threshold. If the load prediction value is less than or equal to the load threshold, the data sending strategy can be to send data to the adjacent nodes corresponding to the remaining load estimation values in the load estimation value sequence (i.e., the adjacent nodes whose load estimation values are less than or equal to the updated load prediction value).

[0094] Schematically, in Figure 2In the communication network shown, assuming the load estimates are ranked from highest to lowest as follows: the load estimate for node a, the load estimate for node c, the load estimate for node b, and the load estimate for node d, then the load estimate for node b is the load estimate for node a. If this load estimate is less than or equal to the load threshold, the data transmission strategy for node b in the next data transmission cycle is to send data to nodes a, c, and d. If this load estimate is greater than the load threshold, the load estimate for node c is reset to the load estimate. If the updated load estimate is less than or equal to the load threshold, the data transmission strategy for node b in the next data transmission cycle is to send data to nodes c and d.

[0095] In another possible implementation, after calculating the load prediction value, the channel load rate may be further calculated, thereby determining the data transmission strategy based on the channel load rate. Figure 4 As shown, the above step 104 may include the following steps:

[0096] Step 401: Determine the maximum load estimation value between the load estimation value of the current node and the load estimation values of the adjacent nodes.

[0097] Step 402: Determine the maximum load estimation value as the load prediction value of the current node.

[0098] Optionally, the load estimation value of the current node and the load estimation values of adjacent nodes may be arranged in descending order to obtain a load estimation value sequence, and the first (maximum) load estimation value in the load estimation value sequence may be determined as the load prediction value of the current node.

[0099] For example, the load estimation value of node a is 100, the load estimation value of node b is 90, and the load estimation value of node c is 110. Then, for node a, its load prediction value is 110.

[0100] Step 403: Determine the channel load rate of the current node based on the load prediction value.

[0101] The channel load rate is the ratio of the predicted data transmission duration to the data transmission cycle duration, and the predicted data transmission duration is the ratio of the load prediction value to the data transmission rate. Schematically, the channel load rate is calculated as follows:

[0102] ChannelLoading=NetLoad / bitrate / priPeriod (2)

[0103] Among them, ChannelLoading is the channel load rate, NetLoad is the load prediction value, bitrate is the data transmission rate, and priPeriod is the data transmission period.

[0104] Step 404: Determine a data transmission strategy based on the channel load rate.

[0105] Optionally, if the channel load rate is less than or equal to the load rate threshold, the data sending strategy of the current node in the next data sending cycle is to send data to all neighboring nodes (for example, data can be sent to all neighboring nodes in the form of broadcast, or any neighboring node can be selected to send data); if the channel load rate is greater than the load rate threshold, the data sending strategy of the current node in the next data sending cycle is to back off the data to be sent (for example, not sending data, or reducing the frequency of data sending, etc.).

[0106] Optionally, if the channel load ratio is greater than the load ratio threshold, the channel load ratio may be re-determined based on the load estimates of the current node and other neighboring nodes, and the data transmission strategy may be determined based on the updated channel load ratio. Specifically, step 404 may include the following steps:

[0107] Step 404a: In response to the channel load rate being less than or equal to the channel load rate threshold, determining the data transmission strategy to be transmitting data packets to adjacent nodes whose load estimation values are less than or equal to the load prediction value.

[0108] Step 404b: In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of the current node, a backoff process is performed on the data packet to be sent using a backoff algorithm.

[0109] Step 404c, in response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of the adjacent node, the channel load rate is re-determined based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and the data sending strategy is determined based on the updated channel load rate.

[0110] If the channel load ratio exceeds the load ratio threshold and the load prediction value is the current node's estimated load value, the node's load has exceeded the upper limit. To reduce the channel load, the next data transmission cycle can back off the pending data packets. The backoff algorithm can use a non-persistent algorithm, a persistent algorithm, or a binary exponential backoff algorithm.

[0111] If the channel load rate is greater than the load rate threshold but the load prediction value is the load estimation value of the adjacent node, the load estimation value of the adjacent node can be eliminated from the load estimation value sequence, and the maximum value of the remaining load estimation values can be determined as the load prediction value. The channel load rate is recalculated based on the updated load prediction value, and the data sending strategy is determined based on the updated channel load rate. If the channel load rate is less than or equal to the load rate threshold, the data sending strategy can be to send data to the adjacent nodes corresponding to the remaining load estimation values in the load estimation value sequence (that is, the adjacent nodes whose load estimation values are less than or equal to the updated load prediction value). Otherwise, continue to update the load prediction value based on the load estimation value of the next node in the load estimation value sequence and execute step 404.

[0112] Indicatively, in Figure 2 In the communication network shown, assuming the load estimates are ranked from highest to lowest as follows: the load estimate for node a, the load estimate for node c, the load estimate for node b, and the load estimate for node d. For node b, its load estimate is equal to the load estimate for node a, and the channel load ratio is calculated based on this load estimate. If the channel load ratio is less than or equal to the load ratio threshold, node b's data transmission strategy for the next data transmission cycle is to send data to nodes a, c, and d. If the channel load ratio is greater than the load ratio threshold, node c's load estimate is reset to the load estimate, and the channel load ratio is recalculated. If the updated channel load ratio is less than or equal to the load ratio threshold, node b's data transmission strategy for the next data transmission cycle is to send data to nodes c and d.

[0113] In one possible implementation, at least one node is provided with a wireless network simulation framework, the wireless network simulation framework including a transmitter module and a data parsing module. The method provided in the embodiment of the present disclosure further includes the following steps:

[0114] Step 1: Use the transmitter module to count the number of pulses in each data transmission cycle.

[0115] Illustratively, the transmitter module can be implemented using the UnitDiskTransmitter module in the wireless network simulation framework. This module can count the pulses of its node and broadcast various LSS messages to neighboring nodes. Specifically, in step 101, the current node can use the transmitter module to send a first LSS message to a neighboring node, and in step 103, the current node can use the transmitter module to send a second LSS message to a neighboring node.

[0116] Step 2: Utilize a data analysis module to receive and analyze the first LSS message sent by the neighboring node, and obtain the number of pulses carried in the first LSS message sent by the neighboring node.

[0117] Step 3: Use the data parsing module to receive and parse the second LSS message sent by an adjacent node, and obtain the load estimation value carried in the second LSS message sent by the adjacent node.

[0118] Optionally, each node may set the message types of the first LSS message and the second LSS message to a preset message type (for example, uniformly set to SPMA_LSS). The identifiers of the preset message type are carried in the packets of the first LSS message and the second LSS message. Each node may parse the message type corresponding to the received message through the data parsing module. When it is determined that the received message is of the preset message type, it may be determined that the message is the first LSS message or the second LSS message, and further parse to obtain the number of pulses or the load estimation value.

[0119] Figure 5 The block diagram of a data sending device based on load prediction provided by an exemplary embodiment of the present disclosure is shown. The data sending device based on load prediction is applied to at least one node in a communication network. The data sending device based on load prediction includes:

[0120] A first transceiver module 501, configured to send a first LSS message to an adjacent node based on the number of pulses of the current node in the previous data sending cycle, and receive the first LSS message sent by the adjacent node, where the number of pulses is the number of data packets sent by the node;

[0121] A determination module 502, configured to determine the load estimation value of the current node based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the adjacent node received by the first transceiver module 501, where the load estimation value is an estimated value of the data transceiver volume of the node in the previous data sending cycle;

[0122] A second transceiver module 503, configured to send a second LSS message to an adjacent node based on the load estimation value determined by the determination module 502, and receive the second LSS message sent by the adjacent node;

[0123] A generation module 504, configured to generate a data sending strategy for the next data sending cycle based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the adjacent node received by the second transceiver module 503, where the data sending strategy includes whether to send data and the data sending path when sending data.

[0124] Optionally, in a possible implementation manner, the generation module 504 may further be configured to:

[0125] Determine the maximum load estimation value among the load estimation value of the current node and the load estimation value of the adjacent node;

[0126] Determine the maximum load estimate value as the load prediction value of the current node;

[0127] Based on the magnitude relationship between the load prediction value and the load threshold, determine the data sending strategy.

[0128] Optionally, in a possible implementation manner, the generating module 504 can also be used for:

[0129] In response to the load prediction value being less than or equal to the load threshold, determine the data sending strategy as sending data packets to adjacent nodes whose load estimates are less than or equal to the load prediction value;

[0130] In response to the load prediction value being greater than the load threshold and the load prediction value being the load estimate of the current node, use the backoff algorithm to perform backoff processing on the data packets to be sent;

[0131] In response to the load prediction value being greater than the load threshold and the load prediction value being the load estimate of an adjacent node, re-determine the load prediction value based on the load estimate of the current node and the load estimates of other adjacent nodes, and determine the data sending strategy based on the magnitude relationship between the updated load prediction value and the load threshold.

[0132] Optionally, in a possible implementation manner, the generating module 504 can also be used for:

[0133] Determine the maximum load estimate value among the load estimate value of the current node and the load estimate values of adjacent nodes;

[0134] Determine the maximum load estimate value as the load prediction value of the current node;

[0135] Based on the load prediction value, determine the channel load rate of the current node, where the channel load rate is the ratio of the data transmission prediction duration to the data sending cycle duration, and the data transmission prediction duration is the ratio of the load prediction value to the data transmission rate;

[0136] Based on the channel load rate, determine the data sending strategy.

[0137] Optionally, in a possible implementation manner, the generating module 504 can also be used for:

[0138] In response to the channel load rate being less than or equal to the channel load rate threshold, determine the data sending strategy as sending data packets to adjacent nodes whose load estimates are less than or equal to the load prediction value;

[0139] In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimate of the current node, use the backoff algorithm to perform backoff processing on the data packets to be sent;

[0140] In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of an adjacent node, re - determine the channel load rate based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and determine the data transmission strategy based on the updated channel load rate.

[0141] Optionally, in a possible implementation manner, as Figure 6 shown, the data transmission device based on load prediction may further include:

[0142] A statistics module 601, configured to use the transmitter module to count the number of pulses in each data transmission period;

[0143] A first parsing module 602, configured to use the data parsing module to receive and parse the first LSS message sent by the adjacent node, and obtain the number of pulses carried in the first LSS message sent by the adjacent node;

[0144] A second parsing module 603, configured to use the data parsing module to receive and parse the second LSS message sent by the adjacent node, and obtain the load estimation value carried in the second LSS message sent by the adjacent node.

[0145] In this specification, each embodiment is described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same, similar or corresponding parts among the embodiments, reference can be made to each other. Since the method, apparatus, and device embodiments basically correspond, reference can be made to the corresponding parts for the relevant parts. The methods, apparatuses, and devices in the embodiments of the present disclosure also correspond to each other in specific implementation manners and beneficial technical effects. The relevant content can be referred to each other and will not be repeated.

[0146] In addition, the embodiments of the present disclosure also provide an electronic device, including:

[0147] A memory, configured to store a computer program;

[0148] A processor, configured to execute the computer program stored in the memory, and when the computer program is executed, implement the data transmission method based on load prediction described in any one of the above embodiments of the present disclosure.

[0149] Figure 7 This is a structural schematic diagram of an application embodiment of the electronic device of the present disclosure. Next, refer to Figure 7 to describe the electronic device according to the embodiments of the present disclosure. The electronic device may be any one or both of the first device and the second device, or a stand - alone device independent of them. The stand - alone device can communicate with the first device and the second device to receive the input signals collected from them.

[0150] AsFigure 7 As shown, the electronic device includes one or more processors and memory.

[0151] The processor may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.

[0152] The memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor may execute the program instructions to implement the load prediction-based data transmission method of the various embodiments of the present disclosure described above and / or other desired functions.

[0153] In one example, the electronic device may further include an input device and an output device, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0154] In addition, the input device may also include, for example, a keyboard, a mouse, and the like.

[0155] The output device can output various information to the outside, including determined distance information, direction information, etc. The output device can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.

[0156] Of course, to simplify, Figure 7 Only some of the components related to the present disclosure in the electronic device are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, the electronic device may further include any other appropriate components according to specific application scenarios.

[0157] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the data sending method based on load prediction according to various embodiments of the present disclosure described in the above part of this specification.

[0158] The computer program product may be written in any combination of one or more programming languages to implement the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, and conventional procedural programming languages such as C or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0159] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enable the processor to execute the steps of the data sending method based on load prediction according to various embodiments of the present disclosure described in the above part of this specification.

[0160] The computer-readable storage medium may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0161] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk, etc. Various media that can store program codes.

[0162] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.

[0163] Each embodiment in this specification is described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. References to the same or similar parts between the various embodiments are sufficient. For system embodiments, since they largely correspond to method embodiments, their description is relatively simple. For relevant parts, references to the description of the method embodiments are sufficient.

[0164] The block diagrams of the devices, devices, equipment, and systems involved in this disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "include," "comprise," "have," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.

[0165] The methods and apparatus of the present disclosure may be implemented in many ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless otherwise specified. In addition, in some embodiments, the present disclosure may also be implemented as programs recorded in a recording medium, which include machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers recording media that store programs for executing the methods according to the present disclosure.

[0166] It should also be noted that in the apparatus, device, and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.

[0167] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0168] The foregoing description has been presented for purposes of illustration and description. Furthermore, this description is not intended to limit embodiments of the present disclosure to the form disclosed herein. Although several example aspects and embodiments have been discussed above, those skilled in the art will recognize some variations, modifications, alterations, additions, and sub-combinations thereof.

Claims

1. A data sending method based on load prediction, characterized in that Applied to at least one node in a communication network; the method includes: Sending a first Link State Signal (LSS) message to an adjacent node based on the number of pulses of the current node in the previous data transmission period, and receiving the first LSS message sent by the adjacent node, where the number of pulses is the number of data packets sent by the node. In the communication network, nodes send data packets to adjacent nodes in a broadcast form; Determining an estimated load value of the current node based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the adjacent node, where the estimated load value is an estimated value of the data transceiver volume of the node in the previous data transmission period; Sending a second LSS message to the adjacent node based on the estimated load value, and receiving the second LSS message sent by the adjacent node; Generating a data transmission strategy for the next data transmission period based on the estimated load value of the current node and the estimated load value carried in the second LSS message sent by the adjacent node, where the data transmission strategy includes whether to send data and the data transmission path when sending data.

2. The method according to claim 1, wherein The generating a data transmission strategy for the next data transmission period based on the estimated load value of the current node and the estimated load value carried in the second LSS message sent by the adjacent node includes: Determining the maximum estimated load value among the estimated load value of the current node and the estimated load value of the adjacent node; Determining the maximum estimated load value as the load prediction value of the current node; Determining the data transmission strategy based on the magnitude relationship between the load prediction value and a load threshold.

3. The method according to claim 2, characterized in that, The determining the data transmission strategy based on the magnitude relationship between the load prediction value and the load threshold includes: In response to the load prediction value being less than or equal to the load threshold, determining the data transmission strategy as sending data packets to adjacent nodes whose estimated load values are less than or equal to the load prediction value; In response to the load prediction value being greater than the load threshold and the load prediction value being the estimated load value of the current node, performing backoff processing on the data packets to be sent using a backoff algorithm; In response to the load prediction value being greater than the load threshold and the load prediction value being the estimated load value of the adjacent node, re - determining the load prediction value based on the estimated load value of the current node and the estimated load values of other adjacent nodes, and determining the data transmission strategy based on the magnitude relationship between the updated load prediction value and the load threshold.

4. The method according to claim 2, wherein The generating a data transmission strategy for the next data transmission period based on the estimated load value of the current node and the estimated load value carried in the second LSS message sent by the adjacent node includes: Determining the maximum estimated load value among the estimated load value of the current node and the estimated load value of the adjacent node; Determining the maximum estimated load value as the load prediction value of the current node; Determining the channel load rate of the current node based on the load prediction value, where the channel load rate is the ratio of the predicted data transmission duration to the data transmission period duration, and the predicted data transmission duration is the ratio of the load prediction value to the data transmission rate; Determine the data sending strategy based on the channel load rate.

5. The method according to claim 4, characterized in that The determining the data sending strategy based on the channel load rate includes: In response to the channel load rate being less than or equal to the channel load rate threshold, determine the data sending strategy as sending data packets to adjacent nodes whose load estimation values are less than or equal to the load prediction value; In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of the current node, perform backoff processing on the data packets to be sent using the backoff algorithm; In response to the channel load rate being greater than the channel load rate threshold and the load prediction value being the load estimation value of an adjacent node, re-determine the channel load rate based on the load estimation value of the current node and the load estimation values of other adjacent nodes, and determine the data sending strategy based on the updated channel load rate.

6. The method according to any one of claims 1 to 5, characterized in that A wireless network simulation framework is provided in the at least one node, and the wireless network simulation framework includes a transmitter module and a data parsing module; The method further includes: Use the transmitter module to count the number of pulses in each data sending period; Use the data parsing module to receive and parse the first LSS message sent by the adjacent node, and obtain the number of pulses carried in the first LSS message sent by the adjacent node; Use the data parsing module to receive and parse the second LSS message sent by the adjacent node, and obtain the load estimation value carried in the second LSS message sent by the adjacent node.

7. A data sending device based on load prediction, characterized in that, Applied to at least one node in a communication network; the device includes: A first transceiver module, configured to send a first LSS message to an adjacent node based on the number of pulses of the current node in the previous data sending period, and receive the first LSS message sent by the adjacent node, where the number of pulses is the number of data packets sent by the node, and wherein the nodes in the communication network send data packets to the adjacent nodes in a broadcast form; A determination module, configured to determine the load estimation value of the current node based on the number of pulses of the current node and the number of pulses carried in the first LSS message sent by the adjacent node, where the load estimation value is an estimated value of the data transceiver volume of the node in the previous data sending period; A second transceiver module, configured to send a second LSS message to the adjacent node based on the load estimation value, and receive the second LSS message sent by the adjacent node; A generation module, configured to generate a data sending strategy for the next data sending period based on the load estimation value of the current node and the load estimation value carried in the second LSS message sent by the adjacent node, where the data sending strategy includes whether to send data and the data sending path when sending data.

8. An electronic device, characterized in that, Includes: A memory, configured to store a computer program; A processor, configured to execute the computer program stored in the memory, and when the computer program is executed, implement the method according to any one of claims 1-6 above.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, implement the method according to any one of claims 1-6 above.

10. A computer program product, comprising computer program instructions, characterized in that, When the computer program instructions are executed by the processor, implement the method according to any one of claims 1-6 above.

Citation Information

Patent Citations

  • Bandwidth estimation method for wireless Mesh network

    CN103024796A

  • Multiple access method based on load perception in wireless ad hoc network

    CN108200602A