A method and system for carrier communication relay networking and route optimization
By determining the interlock state by acquiring the channel collision frequency and the number of concurrent requests, sending pre-wake-up instructions to adjacent dormant nodes, and generating a traffic splitting route, the problem of channel interlock deadlock in power line carrier communication networks is solved, ensuring the normal transmission of emergency data.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- QUANYI NEW ENERGY (CHANGSHA) CO LTD
- Filing Date
- 2026-06-01
- Publication Date
- 2026-07-31
AI Technical Summary
In power line carrier communication networks, when multiple smart meters send emergency messages simultaneously, the channel of the wake-up relay node is instantly congested, causing channel collisions and backoff retransmissions to intertwine, forming an interlocking deadlock and preventing the normal transmission of emergency data.
By obtaining the channel collision frequency of the awake relay node and the number of concurrent requests from the source node, the current interlock state is determined, a pre-wake-up command is sent to the adjacent dormant node, and after the wake-up confirmation signal is received, the first and second traffic split routes are generated, the forwarding path is updated, and the concurrent requests from the source node are distributed to the awake relay node and the adjacent dormant node.
This avoids channel interlock deadlock, shortens the latency for dormant nodes to take over traffic, and ensures the normal reporting of emergency data.
Smart Images

Figure CN122496064A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of power line carrier communication technology, and in particular to a carrier communication relay networking and routing optimization method and system. Background Technology
[0002] Power line carrier communication networks rely on relay nodes to forward data cascadingly, with these nodes responsible for ensuring network connectivity. In distribution network automation, these networks often face surges of concurrent traffic from multiple sources. To reduce power consumption, many relay nodes remain dormant, with only a few active nodes handling forwarding tasks. When multiple smart meters simultaneously detect a voltage drop, they send emergency messages at the same time. Because surrounding relay nodes are dormant, all these emergency messages flood the single active relay node. The active relay node receives a large number of concurrent requests simultaneously, instantly saturating its carrier channel.
[0003] Multiple smart meters were eager to occupy the channel to send emergency messages. The meters refused to yield and continuously attempted to control the channel, causing channel collisions and backoff retransmissions to intertwine at the wake-up relay node. The wake-up relay node's channel entered a deadlock state, preventing any emergency messages from being successfully transmitted. The entire area lost communication capability at the critical moment of the sudden voltage drop, and the emergency could not be reported.
[0004] Traditional routing optimization methods lack the ability to detect concurrent interlocking states. They can only find alternative routes after the channel is completely paralyzed. Since waking up dormant nodes takes a long time, awake relay nodes cannot wait for dormant nodes to wake up after interlocking failure. Traditional routing optimization methods cannot coordinate with the wake-up delay of dormant nodes to bypass traffic in the initial stage of concurrent interlocking, ultimately resulting in large-scale data loss and network blind spots. Summary of the Invention
[0005] In view of the aforementioned problems, this application is hereby filed.
[0006] Therefore, this application provides a carrier communication relay networking and routing optimization method and system, which can solve the problems of channel interlock deadlock caused by concurrent traffic hitting a single awake relay node, and emergency data loss caused by the lag in waking up dormant nodes.
[0007] To solve the above-mentioned technical problems, this application provides the following technical solution: In a first aspect, this application provides a carrier communication relay networking and routing optimization method, including: in response to channel occupancy conflicts of awake relay nodes, obtaining the channel collision frequency of awake relay nodes and the number of concurrent requests from source nodes; The current interlocking state of the awake relay node is determined based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. Based on the current interlock state of the awake relay node and the direction of the concurrent request from the source node, determine the set of adjacent dormant nodes and send a pre-wake-up command to the set of adjacent dormant nodes; Obtain the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up command. The wake-up confirmation signal contains the physical address of the adjacent sleep node and the currently available channel bandwidth. Based on the wake-up confirmation signal of the adjacent dormant node corresponding to the pre-wake-up instruction, the concurrent requests of the source node are split to generate the first and second traffic routing routes. Based on the first and second routing routes, update the forwarding path of the source node's concurrent requests and distribute the source node's concurrent requests to the awake relay node and the adjacent dormant node.
[0008] Preferably, determining the current interlock state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node includes: Obtain the number of carrier sensing failures and backoff retransmissions generated by the awake relay node when it is listening to the carrier channel; The channel occupancy conflict rate of the awake relay node is calculated based on the number of carrier sensing failures and backoff retransmissions. In response to the fact that the channel occupancy collision rate of the awake relay node is greater than the preset collision rate threshold and the number of concurrent requests from the source node is greater than the preset concurrent number threshold, the current interlocking state of the awake relay node is determined to be a concurrent interlocking state.
[0009] Preferably, determining the set of adjacent dormant nodes based on the current interlock state of the awake relay node and the direction of the concurrent request from the source node includes: Obtain multiple signal strength distribution samples when concurrent requests from the source node arrive at the wake-up relay node; Based on multiple signal strength distribution samples when concurrent requests from the source node arrive at the wake-up relay node, the source direction of the concurrent requests from the source node is determined. Based on the direction of concurrent requests from the source node, the corresponding dormant nodes are extracted from the pre-stored topology table as candidate dormant nodes. The historical response time of candidate sleep nodes is filtered out, and candidate sleep nodes whose historical response time exceeds the preset wake-up time are removed, generating a set of adjacent sleep nodes.
[0010] Preferably, sending a pre-wake-up command to the adjacent set of dormant nodes includes: Based on the listening frequency band of each sleep node in the set of adjacent sleep nodes, a corresponding strong excitation carrier signal is generated; In response to the generation of a strong excitation carrier signal, the strong excitation carrier signal is injected into the power line channel for broadcasting; The duration of the strong excitation carrier signal is controlled. In response to the duration of the strong excitation carrier signal being longer than the listening and wake-up period of the sleep node, the sleep node in the adjacent sleep node set is triggered to exit sleep.
[0011] Preferably, the step of splitting the concurrent requests of the source node based on the wake-up confirmation signal of the adjacent sleeping node corresponding to the pre-wake-up instruction to generate a first routing route and a second routing route includes: Obtain the current buffer queue depth and channel occupancy conflict rate of the sober relay node; The remaining throughput capacity of the awake relay node is calculated based on the current buffer queue depth and the channel occupancy conflict rate of the awake relay node. Based on the remaining throughput capacity of the sober relay node, determine the upper limit of the number of nodes in the first source node subset corresponding to the first traffic splitting route; Based on the upper limit of the number of nodes in the first source node subset and the number of concurrent requests to the source node, the first and second traffic routing routes are generated.
[0012] Preferably, the step of generating the first and second traffic routing routes based on the upper limit of the number of nodes in the first source node subset and the number of concurrent requests from the source nodes includes: Based on the maximum number of nodes in the first source node subset, a subset of the first source nodes is extracted from the number of concurrent requests to the source nodes; Based on the difference between the number of concurrent requests to the source node and the upper limit of the number of nodes in the first source node subset, a second source node subset is extracted from the number of concurrent requests to the source node. Generate a first branch route for the first subset of source nodes, and the next hop of the first branch route points to the awake relay node; A second routing route is generated for the subset of the second source nodes. The next hop of the second routing route points to the adjacent dormant node that issued the wake-up confirmation signal.
[0013] Preferably, updating the forwarding path of concurrent requests from the source node based on the first and second routing routes includes: A route change notification is generated based on the routing table entries of the first and second routes. Based on the route change notification, the route change notification is broadcast to the first source node subset and the second source node subset; In response to the first source node subset receiving a route change notification, the original routing table entries of the first source node subset are maintained; In response to the second source node subset receiving a route change notification, the next-hop address of the second source node subset is overwritten with the address of the adjacent dormant node that issued the wake-up confirmation signal.
[0014] Preferably, the step of overwriting the next-hop address of the second source node subset with the address of the adjacent dormant node that issued the wake-up confirmation signal includes: Extract the physical address of the adjacent sleeping node that issued the wake-up confirmation signal from the wake-up confirmation signal; Parse the original routing table entries of the second source node subset to extract the original next-hop address; Based on the physical address of the adjacent sleeping node that issued the wake-up confirmation signal, the address is overwritten to the location of the original next-hop address; In response to the completion of the overwriting of the original next-hop address, target routing table entries for the second subset of source nodes are generated.
[0015] Preferably, after obtaining the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up command, the method further includes: Obtain the current available channel bandwidth of adjacent dormant nodes from the wake-up confirmation signal; Based on the current available channel bandwidth of adjacent dormant nodes and the estimated data volume corresponding to the second traffic splitting route, calculate the channel carrying capacity margin of adjacent dormant nodes. In response to the channel carrying capacity of adjacent dormant nodes being lower than a preset capacity threshold, a supplementary pre-wake command is sent to the unwakeable dormant nodes in the set of adjacent dormant nodes.
[0016] Secondly, this application also provides a carrier communication relay networking and routing optimization system, including: an interlock state perception module, a dormant node wake-up module, a concurrent request splitting module, and a forwarding path update module; The interlock state awareness module is used to respond to channel occupancy conflicts of the awake relay node, obtain the channel collision frequency of the awake relay node and the number of concurrent requests from the source node; and determine the current interlock state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. The sleep node wake-up module is used to determine the set of adjacent sleep nodes based on the current interlock status of the wake-up relay node and the source direction of the concurrent request from the source node, and to send a pre-wake-up command to the set of adjacent sleep nodes; and to obtain the wake-up confirmation signal fed back by the adjacent sleep nodes corresponding to the pre-wake-up command. The concurrent request splitting module is used to split the concurrent requests of the source node based on the wake-up confirmation signal of the adjacent sleep node corresponding to the pre-wake-up instruction, and generate the first splitting route and the second splitting route. The forwarding path update module is used to update the forwarding path of concurrent requests from the source node based on the first and second routing routes.
[0017] Implementing this application will have the following beneficial effects: This application provides a carrier communication relay network and routing optimization method and system. In response to channel occupancy conflicts of awake relay nodes, the system obtains the channel collision frequency and the number of concurrent requests from the source node to determine the current interlock state. Based on the current interlock state and the source direction of the concurrent requests, it determines the set of adjacent dormant nodes and sends a pre-wake-up command. It obtains wake-up confirmation signals from adjacent dormant nodes, and based on these signals, splits the concurrent requests from the source node to generate a first and a second routing. The system updates the forwarding path based on the first and second routings and distributes the concurrent requests to awake relay nodes and adjacent dormant nodes. This invention avoids channel interlock deadlock caused by concurrent traffic colliding with a single node, shortens the latency for dormant nodes to take over traffic, and ensures the normal reporting of emergency data. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is an overall flowchart of a carrier communication relay networking and routing optimization method involved in this application; Figure 2 This is a flowchart of the concurrent interlocking state determination and route splitting determination of a carrier communication relay networking and routing optimization method involved in this application; Figure 3 This application relates to an ecological diagram of emergency service traffic diversion in a carrier network for a carrier communication relay networking and routing optimization method. Figure 4 This is a data flow graph for the traffic splitting route generation and path update of a carrier communication relay networking and routing optimization method involved in this application. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0021] Example 1, referring to Figures 1-4 This is the first embodiment of the present invention, which provides a carrier communication relay networking and routing optimization method, including: This invention provides a method that can effectively solve the problems mentioned above. The following will describe in detail how to implement this carrier communication relay networking and routing optimization method with reference to several embodiments. Figure 1 A flowchart illustrating a carrier communication relay network and routing optimization method is shown, including: Step S1: In response to the channel occupancy conflict of the sober relay node, obtain the channel collision frequency of the sober relay node and the number of concurrent requests from the source node. It should be pointed out that in the dynamic operation of power line carrier communication networks, channel occupancy conflicts of awake relay nodes are not static, sudden events, but rather a logical state sequence that evolves over time. The implications of the two key parameters, channel collision frequency and the number of concurrent requests from source nodes, represent drastically different network states and operational logics at different stages of the logical timeline.
[0022] During the initialization phase, i.e., the instant channel occupancy conflicts are detected, the channel collision frequency is typically at a low level, and the number of concurrent requests from source nodes is only an initial count. At this stage, these two parameters mainly represent early warning signals of local contention beginning to appear in the network, logically indicating the nascent stage of conflict. As time progresses into the execution phase, concurrent requests from multiple source nodes continuously surge, the channel collision frequency rapidly increases and may reach a peak within a short period, and the number of concurrent requests from source nodes also increases synchronously. At this point, the meaning of these two parameters transitions to an intensified interlocking state, indicating that the network is accelerating towards the deadlock critical point.
[0023] In the later stage of execution, when channel occupancy conflicts are not effectively controlled, the channel collision frequency will remain at an extremely high level and exhibit oscillating characteristics. The number of concurrent requests from the source node will show a false decrease due to a large number of packet losses. At this time, the parameter connotation deteriorates into a channel paralysis state.
[0024] Specifically, by integrating the channel collision frequency within a time window and calculating the moving average of the number of concurrent requests from the source node, the complete evolution curve of a conflict from its inception to its escalation and eventual collapse can be captured. Obtaining these two parameters is not merely for recording instantaneous values, but also for understanding the dynamic rhythm of conflict evolution, providing forward-looking decision input for subsequent interlocking state determination and sleep node wake-up timing.
[0025] In some instances, when the derivative value of the detected channel collision frequency is greater than a preset derivative threshold, even if the current absolute value of the frequency has not yet reached an extremely high level, it means that the conflict is rapidly deteriorating and early intervention is required. The preset derivative threshold is derived from statistical analysis of historical network operation data. In this invention, the preset derivative threshold is determined by analyzing the maximum rate of change of collision frequency in the 5 minutes before all channel occupancy conflict events occurred in the past 30 days.
[0026] Step S2: Determine the current interlocking state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. It is important to note that relying solely on a single metric, such as channel collision frequency or the number of concurrent requests, cannot accurately depict the complexity and danger of the channel interlocking predicament encountered by a conscious relay node. A high collision frequency may stem from momentary interference, while a high number of concurrent requests does not necessarily lead to immediate channel failure. Only by combining the collision frequency, reflecting the intensity of channel access competition, with the number of concurrent requests, reflecting the pressure on the data source, can a comprehensive metric be defined that accurately identifies whether a node is in and to what extent it is in an interlocked state. This definition provides the only reliable logical criterion for whether to initiate the resource-intensive operation of waking up dormant nodes, avoiding invalid wake-ups due to misjudgment or network paralysis due to missed judgments.
[0027] In some optional implementations, determining the current interlock state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node includes: Step S2.1: Obtain the number of carrier sensing failures and backoff retransmissions generated by the awake relay node when listening to the carrier channel; The carrier sensing failure count is redefined in the logical closed loop of this invention as: the cumulative number of times a wake-up relay node attempts to assess the channel idle state but fails to obtain a valid channel state indication due to physical layer signal acquisition failure or signal parsing error within a unit monitoring period.
[0028] It should be noted that the backoff retransmission count is the cumulative number of times a conscious relay node triggers the Media Access Control (MAC) backoff algorithm and re-attempts to transmit the same data frame within the same monitoring period because it has not received an acknowledgment frame after sending the data frame or has detected a channel collision. This parameter is strictly limited to a direct quantitative indicator of MAC contention failure.
[0029] The specific operation for obtaining the number of carrier sensing failures is as follows: Configure a dedicated counter in the physical layer hardware of the wake relay node. Whenever the carrier sensing module outputs a sensing failure status, the counter is triggered to increment by 1.
[0030] The specific operation for obtaining the backoff retransmission count is as follows: A state tracker is set up in the media access control layer software. When the data frame transmission process enters the backoff waiting state due to the lack of an acknowledgment frame or the detection of a collision, the state tracker records a backoff event. When the data frame is resubmitted for transmission, the backoff retransmission count counter is incremented by 1. Both counters are cleared at the beginning of the unit monitoring period and the values are latched at the end of the period for the upper layer to read. The unit monitoring period is set according to the network configuration; in this invention, the unit monitoring period is set to 100 milliseconds.
[0031] Step S2.2: Calculate the channel occupancy conflict rate of the awake relay node based on the number of carrier sensing failures and backoff retransmissions. In concurrent interlocking scenarios, a failure of physical layer perception can cause a node to incorrectly determine that the channel is idle and initiate transmission, which in turn leads to a conflict. The conflict then leads to backoff and retransmission, and the node that backoffs and retransmits competes for the channel again at a later time, forming a vicious cycle.
[0032] Therefore, the channel occupancy conflict rate is defined as a derived indicator that comprehensively reflects the degree of this vicious cycle.
[0033] During the calculation, the number of carrier sensing failures and the number of backoff retransmissions are first weighted and summed. The weight allocation is based on the contribution of the two to the deterioration of the channel state. Then, the weighted sum is compared with the total number of channel access attempts within a unit monitoring period.
[0034] In an optional implementation, the aforementioned channel occupancy conflict rate It can be characterized as: ; in, This represents the number of carrier sensing failures, expressed in times. To avoid retransmissions, the unit is times; The total number of channel access attempts within a monitoring period, expressed in times. and These are the weighting coefficients. The weights that reflect the direct driving force of perceived failure on conflict. This reflects the reinforcing weight of competition failure on the conflict cycle. In this invention, The value is 1.2. The value is set to 1.0, which is derived from fitting a large amount of measured data. This value can give the physical layer a slightly higher weight for sensing failures, since they are often the source of conflicts. It is obtained by summing the number of carrier sensing operations and the number of data frame transmissions within the monitoring period of the statistical unit.
[0035] Step S2.3: In response to the channel occupancy collision rate of the awake relay node being greater than a preset collision rate threshold and the number of concurrent requests from the source node being greater than a preset concurrent number threshold, the current interlocking state of the awake relay node is determined to be a concurrent interlocking state. The current interlocked state of a sober relay node can be viewed as a discrete state machine, whose set of legal states includes normal states, potentially risky states, and concurrent interlocked states. State transitions are triggered by explicit conditional events.
[0036] When the channel occupancy collision rate Number of concurrent requests with the source node When the transition conditions are met simultaneously, the state transitions from a potentially risky state to a concurrently interlocked state.
[0037] In other words, the concurrent interlock state is not entered simply by exceeding a single parameter limit, but is a complex state caused by the failure of both the physical layer and the media access control layer, as well as the overload of the data source.
[0038] Specifically, when and When this occurs, a state transition is triggered, determining the current interlock state as a concurrent interlock state. Among these, To preset the conflict rate threshold, These are preset concurrency thresholds. These two thresholds are critical values for state transitions, and their direction of assignment must be clearly defined.
[0039] when When, it is considered unsatisfactory. If the state does not transition, meaning it remains a potentially risky state even when it equals the threshold, then... Similarly, when... At that time, the transition conditions are not met.
[0040] In detail, during the operation of the state machine, if it is currently in a normal state, when or When the state transitions to a potentially risky state, the system increases the monitoring frequency. If in a potentially risky situation, when and If the monitoring continues for 5 consecutive cycles, the status will revert to normal; when and When both conditions are met simultaneously, the system immediately transitions to a concurrent interlocked state, triggering subsequent wake-up and traffic splitting operations. A preset conflict rate threshold is set. and preset concurrency threshold Based on pre-defined network size and service type, in this invention Set it to 0.35. Five requests were set, and this value was obtained through statistical analysis of parameters of a typical power distribution automation network under non-interlocked and interlocked critical states.
[0041] Step S3: Based on the current interlocking state of the awake relay node and the source direction of the concurrent request from the source node, determine the set of adjacent dormant nodes and send a pre-wake-up command to the set of adjacent dormant nodes. It's important to note that in a concurrent interlocked state, blindly waking up any dormant node is not only inefficient but may also fail to effectively manage sudden traffic surges from specific directions. Concurrent requests typically originate from one or more specific geographical regions, i.e., the source direction. Only by determining the source direction can we find topologically adjacent dormant nodes capable of handling traffic in that direction for targeted waking, thereby constructing a traffic routing parallel to the original path and targeting the specific traffic source. Using the current interlocked state as a precondition for waking up ensures that resources are only consumed to wake up dormant nodes when a true interlocking crisis occurs, achieving a balance between power consumption and reliability.
[0042] In some optional implementations, determining the set of adjacent dormant nodes based on the current interlock state of the awake relay node and the direction of the concurrent request from the source node includes: Step S3.1: Obtain multiple signal strength distribution sample values when concurrent requests from the source node arrive at the wake-up relay node; From an information theory perspective, the signal strength distribution sample values when concurrent requests from source nodes arrive at the wake-up relay node are a data object encoded with both spatial location and channel attenuation dimensions. Each sample value not only contains scalar information about the signal power but also implicitly contains the spatial orientation information of the source node sending the request relative to the receiving node.
[0043] The rule for decoding signal strength distribution is: by analyzing the power distribution pattern of multiple sample values in the spatial dimension, the direction of arrival of the signal can be deduced.
[0044] In some embodiments, the specific operation of acquiring multiple signal strength distribution sample values is as follows: using a multi-antenna array equipped with a wake-up relay node, the signal power value received by each antenna element is synchronously recorded when a concurrent request arrives from each source node, forming a signal strength vector. Within a time window, the signal strength vectors corresponding to multiple concurrent requests are collected to form a set of signal strength distribution sample values. For example, when 10 concurrent requests arrive from 10 source nodes, 10 sets of signal strength vectors can be acquired, each set containing signal power sample values from 4 different spatial directions. These sample values are subsequently used to determine the source direction of the request using a direction-of-arrival (DOA) estimation algorithm.
[0045] Step S3.2: Determine the source direction of the concurrent requests from the source node based on multiple signal strength distribution sample values when the concurrent requests from the source node arrive at the wake-up relay node; It should be noted that the source direction is not a simple identification of the direction of the strongest signal, but rather the optimal estimate of the statistically most likely common arrival direction of a group of concurrent requests.
[0046] The specific operation employs a multi-signal classification algorithm for direction-of-arrival (DOA) estimation. Multiple signal intensity distribution samples are used to construct a received signal matrix. The covariance matrix of the received signal matrix is calculated, and eigenvalue decomposition is performed on the covariance matrix to separate the signal subspace from the noise subspace. Then, utilizing the orthogonality between the signal subspace and the array manifold matrix, a spatial spectral function is constructed, and spectral peaks are searched. The azimuth angle corresponding to the spectral peak is the estimated source direction of concurrent requests from the source node. This direction is typically represented by an angle relative to the wake-up relay node, such as 0° eastward and rotating counterclockwise. For example, if a significant spectral peak appears at 120°, the source direction is determined to be 120°.
[0047] Step S3.3: Based on the direction of the concurrent requests from the source node, extract the corresponding dormant nodes from the pre-stored topology table as candidate dormant nodes. It should be noted that the explicit extension of the candidate dormant node specifically covers two logical types of dormant nodes in the current step: the first type is dormant nodes that are geographically located in the area where the extended line of the awake relay node intersects with the source direction; the second type is dormant nodes that are not geographically located on the extended line, but whose line connecting them to the awake relay node has an angle with the source direction that is less than a directional angle threshold.
[0048] The first type of node is the ideal node on the main routing path, while the second type of node is a supplementary selection when the number of first-type nodes is insufficient. The specific operation for extracting candidate dormant nodes from the pre-stored topology table is as follows: First, search for all nodes marked as dormant in the pre-stored topology table. Then, for each dormant node, calculate the angle between the vector direction formed by the dormant node's position and the position of the awake relay node, and the determined source direction.
[0049] If the included angle is less than a preset directional angle threshold, the dormant node is added to the candidate dormant node list. The directional angle threshold is set according to the network node deployment density. In this invention, the directional angle threshold is set to 30°, which strikes a balance between coverage and traffic offloading accuracy.
[0050] Step S3.4: Filter the historical response duration of candidate sleep nodes, remove candidate sleep nodes whose historical response duration exceeds the preset wake-up duration, and generate a set of adjacent sleep nodes; The preset wake-up duration is a threshold value for filtering candidate sleep nodes. When the historical response duration of a candidate sleep node is equal to the preset wake-up duration, it is considered to exceed the preset wake-up duration, and the candidate sleep node will be eliminated.
[0051] In other words, only candidate hibernation nodes whose historical response time is strictly less than the preset wake-up time are retained. The historical response time refers to the average time taken for a candidate hibernation node to receive the network wake-up command and successfully return a wake-up confirmation signal. This data is stored in a pre-stored topology table.
[0052] It should be noted that the filtering operation specifically involves: traversing the candidate dormant node list and reading the historical response time of each candidate dormant node. ,Compare With preset wake-up time ,like If so, remove the candidate sleep node from the candidate sleep node list; If a candidate dormant node is selected, it is retained. The final retained candidate dormant nodes form a set of adjacent dormant nodes. The preset wake-up time is set according to the latency requirements of the service. In this invention, the preset wake-up time is set to 50 milliseconds. This time ensures that the woken-up node can take over the traffic before the concurrency interlock deteriorates.
[0053] In some optional implementations, sending a pre-wake-up command to the adjacent set of dormant nodes includes: Step S3.5: Generate a corresponding strong excitation carrier signal based on the listening frequency band of each sleep node in the set of adjacent sleep nodes; It should be noted that the specific operation for generating the corresponding strong excitation carrier signal is as follows: for each sleep node in the set of adjacent sleep nodes, the listening frequency band of that sleep node is queried from the pre-stored topology table. Then, the signal generator controlling the awake relay node generates a signal... The center frequency and power are normal communication power. With preset power increment The sum and duration are The continuous wave signal is used as the strong excitation carrier signal corresponding to the dormant node. Preset power increment. Set to 10 dBmW, the preset power increment in this invention is calculated based on the receiver sensitivity of the dormant node and the channel attenuation model.
[0054] Step S3.6: In response to the generation of the strong excitation carrier signal, the strong excitation carrier signal is injected into the power line channel for broadcasting; The purpose of injecting a strong excitation carrier signal into the power line channel and broadcasting it is essentially to overcome the inherent attenuation and noise of the power line channel, ensure that the excitation signal can reliably reach the target dormant node, and eliminate the risk of wake-up failure caused by channel quality uncertainty.
[0055] In practice, the generated strong excitation carrier signal is injected as a differential signal between the phase and neutral lines of the power line through the coupling circuit of the awake relay node. The strong excitation carrier signal propagates through the power line medium to all nodes in the network, achieving broadcasting. Because the power of the strong excitation carrier signal is enhanced and its frequency is aligned with the listening band of the dormant node, only the receiver of the dormant node can detect the strong excitation carrier signal when its listening window is open. Other normally operating nodes ignore the strong excitation carrier signal due to frequency mismatch or their receivers being in non-listening mode.
[0056] Step S3.7: Control the duration of the strong excitation carrier signal. In response to the duration of the strong excitation carrier signal being longer than the listening and wake-up period of the sleep node, trigger the sleep node in the adjacent sleep node set to exit sleep. The lifecycle of a dormant node can be divided into three stages: generation, survival, and extinction. Controlling the duration of the strong excitation carrier signal affects the generation stage of the lifecycle.
[0057] When the duration of the strong excitation carrier signal Listening and waking cycle greater than the dormant node This ensures that the dormant node can capture a signal sample of sufficient duration within the short time window during its periodic wake-up and receiver activation.
[0058] After the signal is captured, the microcontroller in the hibernation node is woken up by the interrupt, exits the low-power mode, and begins to execute the wake-up process such as hardware initialization and clock synchronization, and enters the life cycle.
[0059] After its survival period ends, the dormant node sends a wake-up confirmation signal to the network, marking the start of its extinction period, thus becoming a working, awake node. (Listening to the wake-up cycle) The value is set according to the node energy-saving strategy. In this invention, the listening wake-up cycle is... Set to 20 milliseconds, the duration of the strong excitation carrier signal. Set to 30 milliseconds to ensure .
[0060] Step S4: Obtain the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up instruction. The wake-up confirmation signal includes the physical address of the adjacent sleep node and the currently available channel bandwidth. It should be noted that after sending the pre-wake-up command, a timer is started for a duration equal to the preset response window. In the preset response window Inside, the receiver of the wake-up relay node listens to the power line channel and captures data frames conforming to a preset frame format. The captured data frames are parsed to extract the physical address field and the currently available channel bandwidth field. If a preset response window is available... If no acknowledgment signal is received within the timeout period, the wake-up is considered a failure. Preset response window. Based on the maximum network propagation delay and the processing delay of dormant nodes, the present invention presets a response window. Set to 80 milliseconds.
[0061] In some optional implementations, the step of splitting the concurrent requests of the source node based on the wake-up confirmation signals of adjacent dormant nodes corresponding to the pre-wake-up command to generate a first routing route and a second routing route includes: Step S5.1: Obtain the current buffer queue depth and channel occupancy conflict rate of the sober relay node; Current cache queue depth Its domain is non-negative integers, its unit is a data frame, and its range is... ,in This represents the maximum capacity of the cache queue.
[0062] when When, it indicates that the cache queue is empty; when When the buffer queue is full, newly arriving data frames will be discarded. Channel occupancy collision rate. The domain is Its value range is typically [value range] in the context of this invention. Because an excessively high channel occupancy conflict rate will cause the node to completely fail.
[0063] In some embodiments, the current cache queue depth is obtained in this invention. This can be achieved by reading the registers of the network interface controller of the wake-up relay node, which maintains in real time the number of data frames currently queued for transmission in the buffer queue. The channel occupancy collision rate can then be obtained. By reading the latest channel occupancy conflict rate calculated and stored in step S2.2. The numerical value is used to obtain the result.
[0064] Step S5.2: Calculate the remaining throughput capacity of the awake relay node based on the current buffer queue depth of the awake relay node and the channel occupancy conflict rate of the awake relay node. It should be noted that the theoretical maximum throughput of a node is jointly constrained by the buffer queue depth and the channel occupancy collision rate. High buffer occupancy means a large backlog of pending processing, while a high collision rate means less effective channel transmission time.
[0065] In one implementation, the aforementioned remaining throughput capacity It can be obtained through the following specific calculation method, where: ; In the formula, The remaining throughput capacity of the wake relay node is expressed in kbps. The theoretical maximum throughput of a clear relay node under no-conflict and no-buffering pressure conditions is expressed in kbps and is determined by the node's hardware specifications. This represents the current cache queue depth, in frames. This represents the maximum capacity of the buffer queue, in frames. Channel occupancy collision rate; This is the collision impact coefficient, used to adjust the degree to which the collision rate attenuates the effective transmission rate. In this invention... The value is 1.5, which was obtained by fitting the throughput decrease curves observed under different channel occupancy and collision rates in a real network. When or When it approaches 1, A value approaching 0 indicates that the node has no capacity to carry the load.
[0066] It should be noted that, because power line channels may be subject to sudden strong noise interference, causing a momentary spike in the channel occupancy collision rate, or the buffer queue may be temporarily full due to a sudden influx of a large number of urgent messages. In such cases, directly calculating the remaining throughput capacity may result in 0, thus incorrectly abandoning all traffic carrying. Therefore, the following operations are required to resolve the above problems: When a new concurrent request is received, if and and Then Revised to Allow a small amount of the highest priority traffic to pass through; like and and Then maintain Reject all new traffic; like and and Then for Multiply by a penalty factor of 0.5; if If so, the calculated value is used directly.
[0067] Step S5.3: Determine the upper limit of the number of nodes in the first source node subset corresponding to the first traffic splitting route based on the remaining throughput capacity of the wake-up relay node. The upper limit of the number of nodes in the first source node subset is a high-level generalization of the remaining throughput capacity into the number of serviceable nodes.
[0068] In this invention, the specific operation of downward mapping of the upper limit of the number of nodes in the first source node subset includes: Based on the average data rate requirement of each source node, the remaining throughput capacity is divided by the average data rate to obtain the number of nodes that can be served.
[0069] Furthermore, determine the upper limit for the number of nodes. The specific operation is to first estimate the average data rate of concurrent requests from the source node. This value can be preset based on historical statistical data.
[0070] Further calculations ,in This indicates rounding down to the nearest integer to ensure that the load does not exceed the actual load-bearing capacity.
[0071] like (Number of concurrent requests to the source node), then Revised to Average data rate Based on the network service model, the average data rate in this invention is... Set to 10kbps, which corresponds to the typical voltage drop alarm message rate.
[0072] Step S5.4: Based on the upper limit of the number of nodes in the first source node subset and the number of concurrent requests to the source nodes, generate the first traffic splitting route and the second traffic splitting route; It should be noted that the remaining throughput capacity of the awakened relay nodes has been calculated through step S5.2, and the maximum number of awakened relay nodes that can be supported has been determined. The source node traffic. Without this premise, that is, when the remaining throughput capacity is extremely large, there is no need to generate a second traffic splitter route. The operation of generating two traffic splitter routes essentially involves adjusting the number of concurrent requests to the source node. Allocation is performed between awake relay nodes and awakened dormant nodes.
[0073] The specific operations include: adjusting the number of concurrent requests to the source node. The source node requests are divided into two subsets. The first subset contains [number of nodes]. The second subset is served by the sober relay node; the number of nodes in the second subset is... The route is served by the awakened dormant node. When generating a route for the first subset, the next hop points to the awakened relay node itself; when generating a route for the second subset, the next hop points to the selected awakened dormant node, typically the node with the largest currently available channel bandwidth in the wake-up acknowledgment signal.
[0074] In this invention, when When all requests are routed to the dormant node; when At this time, no second branch route is generated. The first refers to the subset that is continued to be served by the awakened relay node, and the second refers to the subset that is taken over by the awakened dormant node. The ordinal number is only used to distinguish between the two different logical branches.
[0075] In some optional implementations, generating the first and second traffic routing routes based on the upper limit of the number of nodes in the first subset of source nodes and the number of concurrent requests from the source nodes includes: Step S5.41: Based on the upper limit of the number of nodes in the first source node subset, extract the first source node subset from the number of concurrent requests to the source nodes; It should be noted that the truncation operation includes operations based on the maximum number of nodes. Select the top request from the data structure of the concurrent request list of the storage source node. The source nodes corresponding to each request constitute the first subset of source nodes. The selection order can be the order in which the requests arrived or based on the priority of the source nodes.
[0076] In this invention, requests are intercepted in chronological order of arrival time to ensure that the source node that initiates the earliest request receives the service from the wake-up relay node first.
[0077] In one implementation, the first subset of source nodes can be extracted by maintaining a queue of request arrival timestamps. For example, concurrent requests are sorted in ascending order of timestamps, and the first subset is extracted. The source node corresponding to each entry.
[0078] In another implementation, the first subset of source nodes can also be obtained by assigning a priority label to each request. For example, all requests are scanned, and source nodes with urgent priority are added to the first subset of source nodes first, until the number reaches a certain threshold. Or the emergency request has been exhausted.
[0079] Step S5.42: Based on the difference between the number of concurrent requests to the source nodes and the upper limit of the number of nodes in the first source node subset, extract the second source node subset from the number of concurrent requests to the source nodes. It should be noted that the second subset of source nodes and the first subset of source nodes together constitute two disjoint subsets of the entire set of concurrent requests from source nodes. Their algebraic relationship is that their union equals the entire set. (Difference) The size of the second source node subset is clearly defined. The truncation operation is effective for the remaining part of the entire set after filtering by the first source node subset.
[0080] In this invention, requests that have been selected into the first subset of source nodes are removed from the source node concurrent request list, and the remaining difference is... The source nodes corresponding to each request constitute the second subset of source nodes. If the difference... If the second source node subset is empty, then the difference is... This represents the number of source nodes that need to be diverted to adjacent dormant nodes. The difference will be used directly when calculating channel capacity margin later. Used as a calculation parameter.
[0081] Step S5.43: Generate a first routing route for the first source node subset, and the next hop of the first routing route points to the awake relay node; It's important to note that the core logical operator for generating the first routing route is route table entry construction, and its equivalent substitution operator can be route entry insertion. That is, for each source node address in the first subset of source nodes, an entry is inserted or updated in the local routing table of the awake relay node: the destination address is the source node address, the next-hop address is the awake relay node's own address, and the outgoing interface is the network interface connecting to the source node. This is a logically equivalent description of a local loopback, indicating that traffic will be directly processed and forwarded to higher-level networks by this node, without needing to be forwarded to other relay nodes.
[0082] Step S5.44: Generate a second routing route for the second source node subset, and the next hop of the second routing route points to the adjacent dormant node that issued the wake-up confirmation signal; The logic of passively receiving traffic from a subset of second source nodes and forwarding it to dormant nodes in this invention can be equivalently replaced by actively announcing next-hop changes to the subset of second source nodes, guiding them to directly send traffic to the dormant nodes. The specific operation of generating the second routing is as follows: Select an adjacent dormant node that has issued a wake-up confirmation signal and has sufficient available channel bandwidth as a relay node. For each source node address in the subset of second source nodes, generate a routing table entry: the destination address is the source node address, the next-hop address is the physical address of the selected adjacent dormant node, and the outgoing interface is the network interface connecting to the adjacent dormant node. These entries will be used to subsequently update the routing table of the source node itself.
[0083] S6. Based on the first and second routing routes, update the forwarding path of the source node's concurrent requests and distribute the source node's concurrent requests to the awake relay node and the adjacent dormant node.
[0084] In some optional implementations, updating the forwarding path of concurrent requests from the source node based on the first and second routing routes includes: Step S6.1: Generate a route change notification based on the routing table entries of the first and second route splitting routes; It should be noted that, macroscopically, a route change notification is a comprehensive package of all route change information contained in the two split routes; while microscopically, generating a route change notification is equivalent to iterating through the first and second split route table entries one by one to generate a separate notification for each change.
[0085] The generation operation in this invention specifically involves: traversing all entries in the first and second routing tables, and extracting entries where the next hop has changed. All changed routing entry information, including the destination address, new next hop address, and subnet mask, is encapsulated into a network layer protocol data unit, such as constructing a custom routing update message with the message type "routing change" and the payload being a list of changed routing entries.
[0086] Step S6.2: Based on the route change notification, broadcast the route change notification to the first source node subset and the second source node subset; It should be noted that the logic of actively triggering the broadcast route change notification can be equivalently replaced by a passive response: that is, each source node periodically polls the routing change status of the wake-up relay node, and actively pulls the update when it detects a change for itself.
[0087] However, considering real-time requirements, this invention employs an active broadcast method. Specifically, the encapsulated route change notification message, with the broadcast address as the destination address, is sent to the power line channel through the network interface of the wake-up relay node. All source nodes, especially those belonging to the first and second subsets of source nodes, will parse the message content upon receiving it and check for any entries that might affect their own routing table entries.
[0088] Step S6.3: In response to the first source node subset receiving a route change notification, maintain the original routing table entries of the first source node subset; In practice, for the sake of simplicity, when the first source node subset nodes parse the route change notification, they find that the destination address is in the change list, but the new next hop is the wake relay node itself. They determine that it is a local process, so its behavior of sending data frames remains unchanged, which essentially maintains the logical effect of the original routing table entry.
[0089] Step S6.4: In response to the second source node subset receiving a route change notification, the next-hop address of the second source node subset is overwritten with the address of the adjacent dormant node that issued the wake-up confirmation signal; Overwriting the next-hop address of multiple nodes in the second source node subset can be achieved by sequentially receiving notifications, parsing them, and overwriting them for each node in the second source node subset.
[0090] In some optional implementations, overwriting the next-hop address of the second source node subset with the address of the adjacent dormant node that issued the wake-up confirmation signal can be achieved through the following steps, specifically including: Step S6.41: Extract the physical address of the adjacent dormant node that issued the wake-up confirmation signal from the wake-up confirmation signal; It should be noted that the operation of retrieving the physical address is strictly time-dependent on the reception of the wake-up confirmation signal, and has a serial dependency on the subsequent overwrite operation. However, under certain constraints, this time-dependent logic can be equivalently replaced by dependency-free parallel logic: that is, the physical address cache of adjacent dormant nodes is read in advance from the pre-stored topology table, and the cached address is used directly when overwriting is required, without having to retrieve it from the signal in real time.
[0091] However, this may lead to address obsolescence, so this invention still uses real-time extraction. The specific operation is as follows: parse the frame header of the wake-up confirmation signal, locate the source physical address field according to the protocol specification, and read the 6 bytes of the source physical address field, which is the physical address of the target adjacent sleeping node.
[0092] Step S6.42: Parse the original routing table entries of the second source node subset and extract the original next-hop address; It is understandable that the synchronous blocking logic for extracting the original next-hop address, i.e., waiting for the resolution to complete before continuing, can be equivalently described as an asynchronous non-blocking expression: initiate a resolution request, suspend the current route update task, inject a callback function, and when the resolution thread completes the table entry location and field reading, pass the original next-hop address through the callback function and wake up the route update task.
[0093] However, to simplify implementation, this invention employs a synchronous blocking method. In the routing table of the subset of nodes from the second source node, a matching routing table entry is searched using the destination network address and subnet mask as keys. After locating the routing table entry, the content of the next-hop field in that entry is read, which is the original next-hop address.
[0094] Step S6.43: Based on the physical address of the adjacent sleeping node that issued the wake-up confirmation signal, overwrite the location of the original next-hop address; In this invention, a pointer or offset of the original next-hop address in memory is first obtained. Then, the six bytes of the physical address of the adjacent sleeping node are copied sequentially to the memory area pointed to by the pointer to complete the overwrite. The chain structure locates the location by traversing pointers, the tree structure locates the location by comparing key values, and the graph structure locates the location by indexing the adjacency matrix. The three structures are logically interchangeable when expressing specific routing update relationships.
[0095] Step S6.44: In response to the completion of the overwriting of the original next-hop address, generate target routing table entries for the second source node subset; It should be noted that the determination of whether the overwrite is complete can be made by using absolute numerical comparison logic, such as comparing whether the 6 bytes of content at that position before and after the overwrite are completely equal to the new physical address. Alternatively, it can be replaced by relative proportion comparison logic, such as calculating the byte difference ratio of the content at that position before and after the overwrite. If the difference ratio is 100%, that is, all 6 bytes are different and the new value is consistent with the target address, then the overwrite is determined to be successful.
[0096] This invention employs absolute numerical comparison. After the overwrite operation is performed, the next-hop field of the routing table entry is reread and compared byte-by-byte with the physical address of the adjacent dormant node. If they are completely identical, the overwrite is considered complete. At this point, the routing table entry becomes the target routing table entry for the second subset of source nodes. Subsequent data frames sent by the node to the corresponding destination network will have their next-hop media access control address filled with this new physical address.
[0097] In some optional implementations, after obtaining the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up command, the method further includes: Step S7: Obtain the current available channel bandwidth of the adjacent sleep node from the wake-up confirmation signal; It is understandable that the currently available channel bandwidth refers to the effective bandwidth available for data transmission that is not occupied by other services and is perceived by adjacent dormant nodes at the time the wake-up confirmation signal is sent. The currently available channel bandwidth is a dynamic, measured value that takes into account channel noise, interference, and existing service traffic. The nominal channel bandwidth, on the other hand, is a static specification value defined by hardware or protocols. In this invention, the currently available channel bandwidth field is located by analyzing the data payload of the wake-up confirmation signal. This field is typically expressed in kilobits per second and represents the idle channel capacity assessed by adjacent dormant nodes.
[0098] Step S8: Calculate the channel carrying capacity of adjacent dormant nodes based on the current available channel bandwidth of adjacent dormant nodes and the estimated data volume corresponding to the second diversion route. It should be noted that the estimated data volume is based on the difference in the number of nodes in the second source node subset. Average data rate per node The product of the two values yields an upper bound estimate, while the lower bound is the difference. With average data rate The product of the products, with the upper limit being the difference. With peak data rate The product of these factors is typically used as a conservative estimate, with the lower bound taken. This is used to calculate the channel carrying capacity margin. The operation is to adjust the currently available channel bandwidth. Subtract the estimated data volume .
[0099] In this embodiment of the application, the channel bearer margin mentioned above... It can be calculated in the following way: ; in, This represents channel capacity margin, measured in kbps. The available channel bandwidth is in kbps. This represents the number of nodes in the second source node subset, expressed in units. The average data rate for each source node, in kbps. When, it indicates that there is remaining bandwidth after the adjacent dormant node carries the traffic of the second branch route; when When the capacity is insufficient or just exhausted.
[0100] Step S9: In response to the channel carrying capacity of adjacent dormant nodes being lower than a preset capacity threshold, a supplementary pre-wake-up command is sent to the unwakeable dormant nodes in the set of adjacent dormant nodes. It should be noted that the unwakeable dormant nodes in this step have the same name as the nodes in the adjacent dormant node set in step S3, but are different under different logical branches. In S3, the adjacent dormant node set refers to all dormant nodes that meet the direction and response time conditions, which is a candidate set. However, the unwakeable dormant nodes here specifically refer to those nodes in the candidate set that did not send a wake-up confirmation signal in step S4, i.e., nodes that failed to wake up. It is necessary to add the qualifier "failed to wake up" to limit the definition and eliminate ambiguity. The operation of sending supplementary pre-wake-up instructions is the same as in steps S3.5 to S3.7, but the target is limited to dormant nodes that failed to wake up, with the aim of increasing the redundancy and carrying capacity of the traffic distribution path. The preset margin threshold is set according to the service's tolerance for overload. In this invention, the preset margin threshold is set to 50kbps, which can leave a certain buffer for burst traffic.
[0101] Figure 2 This document describes the logic for determining concurrent interlock states and making routing decisions in carrier communication. The system first detects channel collisions and the number of concurrent requests, calculates the collision rate, and determines whether an interlock state has been entered. If not, monitoring continues; if entered, the system determines the direction of the request source and then extracts and filters the set of dormant nodes. After waking the nodes by injecting a strong excitation carrier signal and receiving an acknowledgment signal, the system calculates the remaining throughput capacity and channel capacity of the awakened nodes in parallel. Based on capacity, concurrent requests are split and paths are updated. Simultaneously, based on the capacity determination result, a decision is made on whether to trigger supplementary pre-wake-up to ensure sufficient capacity on the routing paths and avoid deadlock exacerbation.
[0102] Figure 3This section describes the traffic management ecosystem for the carrier network during emergency services. A sudden voltage drop triggers a surge of emergency messages from smart meters, directly impacting the awakened relay nodes and causing a channel deadlock. To overcome this, the system retrieves nodes from the dormant node pool, wakes them up via a strong carrier wave, and, after receiving confirmation, initiates a traffic bypass and management mechanism to alleviate the deadlock. Simultaneously, the management mechanism drives concurrent request splitting, dividing the source nodes into first and second subsets. Through traffic routing updates, the traffic is evenly distributed, ultimately ensuring the normal reporting of emergency data, forming a complete closed-loop ecosystem from the abnormal impact to the deadlock and then to the recovery process.
[0103] Figure 4 This document outlines the data flow for route generation and path updates. Carrier sensing failures and backoff retransmission records merge to generate a collision rate, which, along with the buffer queue depth, drives the calculation of remaining throughput capacity, thereby determining the upper limit of the first source node subset. The number of concurrent requests is then split into first and second source node subsets. The first subset extracts the original routing table entries, while the second subset, combined with the wake-up confirmation physical address, overwrites and generates the target routing table entries. The two sets of entries eventually converge, triggering a route change notification. Simultaneously, the second subset and the physical address calculate channel capacity margin; if insufficient, a supplementary pre-wake-up command is generated to ensure a closed-loop data flow throughout the entire link.
[0104] Example 2: This example also provides a carrier communication relay networking and routing optimization system, including: an interlock state perception module, a dormant node wake-up module, a concurrent request splitting module, and a forwarding path update module; The interlock state awareness module is used to respond to channel occupancy conflicts of the awake relay node, obtain the channel collision frequency of the awake relay node and the number of concurrent requests from the source node; and determine the current interlock state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. The sleep node wake-up module is used to determine the set of adjacent sleep nodes based on the current interlock status of the wake-up relay node and the source direction of the concurrent request from the source node, and to send a pre-wake-up command to the set of adjacent sleep nodes; and to obtain the wake-up confirmation signal fed back by the adjacent sleep nodes corresponding to the pre-wake-up command. The concurrent request splitting module is used to split the concurrent requests of the source node based on the wake-up confirmation signal of the adjacent sleep node corresponding to the pre-wake-up instruction, and generate the first splitting route and the second splitting route. The forwarding path update module is used to update the forwarding path of concurrent requests from the source node based on the first and second routing routes.
[0105] The above-mentioned unit modules can be embedded in the processor of the electronic device in hardware form or independent of it, or they can be stored in the memory of the electronic device in software form, so that the processor can call and execute the corresponding operations of the above modules.
[0106] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0107] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for carrier communication relay networking and route optimization, characterized in that, include: In response to channel occupancy conflicts of the sober relay node, obtain the channel collision frequency of the sober relay node and the number of concurrent requests from the source node. The current interlocking state of the awake relay node is determined based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. Based on the current interlock state of the awake relay node and the direction of the concurrent request from the source node, determine the set of adjacent dormant nodes and send a pre-wake-up command to the set of adjacent dormant nodes; Obtain the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up command. The wake-up confirmation signal contains the physical address of the adjacent sleep node and the currently available channel bandwidth. Based on the wake-up confirmation signal of the adjacent dormant node corresponding to the pre-wake-up instruction, the concurrent requests of the source node are split to generate the first and second traffic routing routes. Based on the first and second routing routes, update the forwarding path of the source node's concurrent requests and distribute the source node's concurrent requests to the awake relay node and the adjacent dormant node.
2. The method of claim 1, wherein the method further comprises: receiving a request for a route optimization from a mobile node; and sending a reply to the request for the route optimization to the mobile node. The determination of the current interlock state of the awake relay node based on the channel collision frequency and the number of concurrent requests from the source node includes: Obtain the number of carrier sensing failures and backoff retransmissions generated by the awake relay node when it is listening to the carrier channel; The channel occupancy conflict rate of the awake relay node is calculated based on the number of carrier sensing failures and backoff retransmissions. In response to the fact that the channel occupancy collision rate of the awake relay node is greater than the preset collision rate threshold and the number of concurrent requests from the source node is greater than the preset concurrent number threshold, the current interlocking state of the awake relay node is determined to be a concurrent interlocking state.
3. The method of claim 1, wherein the method further comprises: receiving a request for a route optimization from a mobile node; and sending a reply to the request for the route optimization to the mobile node. The step of determining the set of adjacent dormant nodes based on the current interlock state of the awake relay node and the direction of the concurrent request from the source node includes: Obtain multiple signal strength distribution samples when concurrent requests from the source node arrive at the wake-up relay node; Based on multiple signal strength distribution samples when concurrent requests from the source node arrive at the wake-up relay node, the source direction of the concurrent requests from the source node is determined. Based on the direction of concurrent requests from the source node, the corresponding dormant nodes are extracted from the pre-stored topology table as candidate dormant nodes. The historical response time of candidate sleep nodes is filtered out, and candidate sleep nodes whose historical response time exceeds the preset wake-up time are removed, generating a set of adjacent sleep nodes.
4. The carrier communication relay networking and routing optimization method as described in claim 3, characterized in that: Sending a pre-wake-up command to the set of adjacent dormant nodes includes: Based on the listening frequency band of each sleep node in the set of adjacent sleep nodes, a corresponding strong excitation carrier signal is generated; In response to the generation of a strong excitation carrier signal, the strong excitation carrier signal is injected into the power line channel for broadcasting; The duration of the strong excitation carrier signal is controlled. In response to the duration of the strong excitation carrier signal being longer than the listening and wake-up period of the sleep node, the sleep node in the adjacent sleep node set is triggered to exit sleep.
5. The carrier communication relay networking and routing optimization method as described in claim 1, characterized in that: The method of splitting concurrent requests from the source node based on the wake-up confirmation signal of the adjacent dormant node corresponding to the pre-wake-up instruction to generate a first routing route and a second routing route includes: Obtain the current buffer queue depth and channel occupancy conflict rate of the sober relay node; The remaining throughput capacity of the awake relay node is calculated based on the current buffer queue depth and the channel occupancy conflict rate of the awake relay node. Based on the remaining throughput capacity of the sober relay node, determine the upper limit of the number of nodes in the first source node subset corresponding to the first diversion route; Based on the upper limit of the number of nodes in the first source node subset and the number of concurrent requests to the source node, the first and second traffic routing routes are generated.
6. The carrier communication relay networking and routing optimization method as described in claim 5, characterized in that: The generation of the first and second traffic routing routes based on the upper limit of the number of nodes in the first subset of source nodes and the number of concurrent requests from the source nodes includes: Based on the maximum number of nodes in the first source node subset, a subset of the first source nodes is extracted from the number of concurrent requests to the source nodes; Based on the difference between the number of concurrent requests to the source node and the upper limit of the number of nodes in the first source node subset, a second source node subset is extracted from the number of concurrent requests to the source node. Generate a first branch route for the first subset of source nodes, and the next hop of the first branch route points to the awake relay node; A second routing route is generated for the subset of the second source nodes. The next hop of the second routing route points to the adjacent dormant node that issued the wake-up confirmation signal.
7. The carrier communication relay networking and routing optimization method as described in claim 6, characterized in that: The step of updating the forwarding path of concurrent requests from the source node based on the first and second traffic routing includes: A route change notification is generated based on the routing table entries of the first and second routes. Based on the route change notification, the route change notification is broadcast to the first source node subset and the second source node subset; In response to the first source node subset receiving a route change notification, the original routing table entries of the first source node subset are maintained; In response to the second source node subset receiving a route change notification, the next-hop address of the second source node subset is overwritten with the address of the adjacent dormant node that issued the wake-up confirmation signal.
8. The carrier communication relay networking and routing optimization method as described in claim 7, characterized in that: The step of overwriting the next-hop address of the second source node subset with the address of the adjacent dormant node that issued the wake-up confirmation signal includes: Extract the physical address of the adjacent sleeping node that issued the wake-up confirmation signal from the wake-up confirmation signal; Parse the original routing table entries of the second source node subset to extract the original next-hop address; Based on the physical address of the adjacent sleeping node that issued the wake-up confirmation signal, the address is overwritten to the location of the original next-hop address; In response to the completion of the overwriting of the original next-hop address, a target routing table entry for the second subset of source nodes is generated.
9. The carrier communication relay networking and routing optimization method as described in claim 1, characterized in that: After obtaining the wake-up confirmation signal fed back by the adjacent sleep node corresponding to the pre-wake-up command, the method further includes: Obtain the current available channel bandwidth of adjacent dormant nodes from the wake-up confirmation signal; Based on the current available channel bandwidth of adjacent dormant nodes and the estimated data volume corresponding to the second traffic splitting route, calculate the channel carrying capacity margin of adjacent dormant nodes. In response to the channel carrying capacity of adjacent dormant nodes being lower than a preset capacity threshold, a supplementary pre-wake command is sent to the unwakeable dormant nodes in the set of adjacent dormant nodes.
10. A carrier communication relay networking and routing optimization system, employing the carrier communication relay networking and routing optimization method as described in any one of claims 1 to 9, characterized in that, include: Interlock status awareness module, dormant node wake-up module, concurrent request splitting module, forwarding path update module; The interlock state awareness module is used to respond to channel occupancy conflicts of the awake relay node, obtain the channel collision frequency of the awake relay node and the number of concurrent requests from the source node; and determine the current interlock state of the awake relay node based on the channel collision frequency of the awake relay node and the number of concurrent requests from the source node. The sleep node wake-up module is used to determine the set of adjacent sleep nodes based on the current interlock status of the wake-up relay node and the source direction of the concurrent request from the source node, and to send a pre-wake-up command to the set of adjacent sleep nodes; and to obtain the wake-up confirmation signal fed back by the adjacent sleep nodes corresponding to the pre-wake-up command. The concurrent request splitting module is used to split the concurrent requests of the source node based on the wake-up confirmation signal of the adjacent sleep node corresponding to the pre-wake-up instruction, and generate the first splitting route and the second splitting route. The forwarding path update module is used to update the forwarding path of concurrent requests from the source node based on the first and second routing routes.