A multi-domain fusion emergency communication dispatching method and system for a hydropower station
Patent Information
- Application Number
- CN202610779655.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-02
- Publication Date
- 2026-09-01
AI Technical Summary
然而安全事故或极端自然灾害也会导致异构通信网络的硬件损坏,具体而言,当灾害导致骨干光纤受损而被迫启用无线自组网、卫星等异构链路时,由于不同介质的物理层特性差异,跨域信道的上下行带宽呈现出极度的非对称性
本发明通过采集各通信物理域边界网关的本地链路状态参数并计算归一化的通道评估指数,进而驱动本地状态机动态更新记录有各条跨域路径运行状态的跨域状态目录,使系统能够实时感知因灾导致的拓扑变化与链路质量突变。在此基础上,通过计算多级别流量队列的弹性通道门控参数,动态压缩非应急业务队列的可用时隙宽度,优先保障应急指令的传输通道,从而有效解决了跨域网络边界网关处高优先级应急调度指令的排队拥塞问题,极大地降低了关键指令的排队时延。同时对应急指令队列采用冗余滑动编码并将其通过处于激活状态的多条异构物理链路跨域多路径分发,在接收端收集冗余编码数据包并在达到解码阈值时通过线性消元解码还原原始数据包。这种多路径并发与前向纠错机制,避免了传统机制在窄带高延时链路上引入的不可控延迟,即使在部分异构链路发生中断或产生高丢包的极端环境下,也无需重传即可在接收端完整重建指令数据,从而彻底解决了高丢包问题。综上所述,本发明实现了核心控制指令在跨域级联传输过程中的确定性低时延与无损投递,极大提高了水电站极端环境下的应急通信保障能力。
Smart Images

Figure CN122679412A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication scheduling technology, specifically relating to a multi-domain integrated emergency communication scheduling method and system for hydropower stations. Background Technology
[0002] In the event of a sudden safety accident or extreme natural disaster at a hydropower station, the routine communication infrastructure in key physical areas such as the underground powerhouse, surface boreholes, dam, and reservoir area often suffers localized physical damage. At this time, a multi-domain emergency communication system composed of heterogeneous networks such as wireless ad hoc networks, VHF trunking, and satellite communication becomes the only channel to ensure the transmission of rescue and control commands. However, safety accidents or extreme natural disasters can also cause hardware damage to heterogeneous communication networks. Specifically, when a disaster damages the backbone fiber optic cable, forcing the use of heterogeneous links such as wireless ad hoc networks and satellites, the uplink and downlink bandwidths of cross-domain channels exhibit extreme asymmetry due to the differences in the physical layer characteristics of different media. In this situation, if routine services such as monitoring data and video streams converge concurrently with high-priority emergency control commands at the boundary gateway, traditional communication mechanisms cannot adapt to the sudden drop in link bandwidth in real time. This results in a large amount of non-emergency data crowding out limited channel resources, causing severe queuing congestion in the gateway's transmission queue for high-priority commands. Furthermore, the latency of multi-domain heterogeneous links can also cause severe packet out-of-order delivery. In poorly configured channels with limited bandwidth, traditional communication mechanisms will further consume channel bandwidth and generate uncontrollable latency accumulation. In some cases, buffer overflows may even cause a large number of data packets to be dropped, ultimately resulting in high-priority core control commands being unable to be delivered losslessly within the strict time window. Summary of the Invention
[0003] This invention provides a multi-domain integrated emergency communication and dispatching method and system for hydropower stations to solve the above-mentioned technical problems.
[0004] In a first aspect, the present invention provides a multi-domain integrated emergency communication dispatching method for hydropower stations, the method comprising the following steps: Collect local link status parameters of each communication physical domain boundary gateway of the hydropower station, and calculate the normalized channel evaluation index based on the local link status parameters; Based on the channel evaluation index, the local state machine of each communication physical domain boundary gateway is driven to perform state transitions, and when the current state of the local state machine changes, a state transition packet is pushed to the adjacent boundary gateway to dynamically update the cross-domain state directory that records the running status of each cross-domain path in the adjacent boundary gateway. The corresponding target cross-domain path is determined based on the original emergency instruction data packet to be transmitted, and the current operating status of the target cross-domain path is obtained based on the cross-domain status directory. The elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway are calculated. Based on the elastic channel gating parameters, the available time slot width of the non-emergency service queue in the multi-level traffic queue is compressed, and redundant sliding coding is performed on the emergency instruction queue in the multi-level traffic queue to generate redundant coded data packets. Redundant encoded data packets are distributed to the receiving border gateway via multiple active heterogeneous physical links across domains and multiple paths. The receiving boundary gateway collects redundant encoded data packets, and when the number of received redundant encoded data packets reaches the decoding threshold, it performs linear elimination decoding to restore the original emergency instruction data packet, and delivers the original emergency instruction data packet to the emergency execution terminal of the hydropower station.
[0005] Optionally, the step of collecting the local link status parameters of each communication physical domain boundary gateway of the hydropower station and calculating the normalized channel evaluation index based on the local link status parameters includes the following steps: The signal-to-noise ratio, packet loss rate, and round-trip delay collected at the physical layer by each communication physical domain boundary gateway are used as local link status parameters. The local link state parameters are dimensionless by using a normalized mapping function to obtain normalized link state parameters. The corresponding state parameter weights are set according to the influence weights of local link state parameters in the emergency environment of the hydropower station. The channel evaluation index representing the transmission quality of the physical link is calculated by combining the normalized link state parameters and the state parameter weights.
[0006] Optionally, the step of driving the local state machine of each communication physical domain boundary gateway to perform state transitions based on the channel evaluation index, and pushing state transition packets to adjacent boundary gateways when the current state of the local state machine changes, so as to dynamically update the cross-domain state directory recording the running status of each cross-domain path in the adjacent boundary gateways, includes the following steps: In the local state machine of each communication physical domain boundary gateway, a stable state, an early warning state, and a failure state corresponding to the health level of the physical link are preset; The channel evaluation index is compared with the preset first and second critical thresholds respectively; If the channel evaluation index is greater than or equal to the first critical threshold, the current state of the local state machine is determined to be a stable state; if the channel evaluation index is less than the first critical threshold but greater than or equal to the second critical threshold, the current state of the local state machine is determined to be a warning state; if the channel evaluation index is less than the second critical threshold, the current state of the local state machine is determined to be a failure state. When the current state of the local state machine transitions, the current state, the state before the transition, and the estimated bandwidth value of the local state machine are extracted as state update parameters, and the state update parameters are encapsulated into a state transition packet. The state transition packet is pushed to the adjacent border gateway so that the adjacent border gateway updates the cross-domain state directory that records the running status of each cross-domain path when the current state of the local state machine changes.
[0007] Optionally, the step of determining the corresponding target cross-domain path based on the original emergency instruction data packet to be transmitted, obtaining the current operating status of the target cross-domain path based on the cross-domain status directory, and calculating the elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway includes the following steps: Based on the target receiving end in the original emergency instruction data packet to be transmitted, retrieve the target cross-domain path to the target receiving end in the cross-domain status directory; The system queries the cross-domain status directory in real time to obtain the current operating status of the target cross-domain path, and evaluates the real-time channel capacity of the target cross-domain path based on the current operating status. Multi-level traffic queues are constructed at the exit of each communication physical domain boundary gateway. These multi-level traffic queues include emergency command queues, voice service queues, and non-emergency service queues. The available time slot width of the multi-level traffic queue is calculated based on the real-time channel capacity and using a proportional reduction algorithm, and is used as the elastic channel gating parameter.
[0008] Optionally, the operating state of the target cross-domain path includes a stable state, an early warning state, and a failure state. The step of calculating the available time slot width of the multi-level traffic queue based on real-time channel capacity and using a proportional reduction algorithm as the elastic channel gating parameter includes the following steps: Set a fixed time-division multiplexing scheduling period as the basic scheduling time limit; The original maximum physical bandwidth of the target cross-domain path in a steady state is used as the standard bandwidth benchmark, and the ratio of the real-time channel capacity to the standard bandwidth benchmark is calculated to obtain the bandwidth reduction factor. When the bandwidth reduction factor is less than the preset safety ratio threshold, the available time slot width of the non-emergency service queue is directly set to zero, so that the transmission channel of the non-emergency service queue is closed within the basic scheduling time limit. Multiply the original timeslot width of the voice service queue within the basic scheduling time limit by the bandwidth reduction factor to obtain the reduced voice service timeslot width. If the reduced voice service timeslot width is less than the preset minimum voice guarantee timeslot, the available timeslot width of the voice service queue will be reset to the minimum voice guarantee timeslot. If the reduced voice service timeslot width is greater than or equal to the minimum voice guarantee timeslot, the reduced voice service timeslot width will be used as the available timeslot width of the voice service queue. The available time slot width of the voice service queue is deducted from the basic scheduling time limit, and the remaining time slot width is allocated to the emergency command queue to obtain the available time slot width of the emergency command queue.
[0009] Optionally, the step of compressing the available time slot width of the non-emergency service queue in the multi-level traffic queue according to the elastic channel gating parameters, and performing redundant sliding coding on the emergency instruction queue in the multi-level traffic queue to generate redundant coded data packets includes the following steps: By using elastic channel gating parameters, the gating switches corresponding to non-emergency service queues are closed to completely block non-emergency service traffic. Configure a sliding window buffer at the output end of the emergency command queue, and fill the continuously flowing raw emergency command data packets into the sliding window buffer in sequence until the sliding window buffer is full; The preset linear XOR generator is used to perform pairwise algebraic XOR operations on the original emergency instruction data packets in the sliding window buffer to generate multiple verification redundancy packets with different degree distribution characteristics. The original emergency instruction data packet is combined and encapsulated with the verification redundancy packet to generate a redundant coded data packet.
[0010] Optionally, the operating state of the target cross-domain path includes a stable state, an early warning state, and a failure state. The step of distributing redundant coded data packets to the receiving border gateway through multiple heterogeneous physical links in an active state via cross-domain multi-path distribution includes the following steps: Select multiple heterogeneous physical links whose current running status is stable or warning from the cross-domain status directory and mark them as the set of active paths; Calculate the proportion of redundant information contained in each redundant coded data packet; Based on the real-time bandwidth and round-trip latency of each physical link in the active path set, allocate a transmission load ratio to each physical link in the active path set. Redundant coded data packets are split into multiple sub-data packet groups according to the proportion of transmitted payload; A staggered interleaving mapping algorithm is used to rearrange the sending order of data packets in each sub-data packet group within multiple sub-data packet groups; The rearranged sub-data packets are distributed to the receiving edge gateway in parallel across domains via multiple heterogeneous physical links.
[0011] Optionally, the step of collecting redundant coded data packets at the receiving end boundary gateway, and performing linear elimination decoding to restore the original emergency command data packet when the number of received redundant coded data packets reaches the decoding threshold, and delivering the original emergency command data packet to the emergency execution terminal of the hydropower station includes the following steps: Create a receive ring buffer in the memory of the receiving border gateway; Redundant encoded data packets arriving via multiple heterogeneous physical links will be received and stored in a receive ring buffer; Extract the sliding window index and coding matrix coefficients carried in the header of redundant encoded data packets, and assign the sliding window index and coding matrix coefficients to the corresponding decoding session; Count the number of redundant encoded data packets that have been successfully received in the corresponding decoding session; When the number of packets reaches the decoding threshold equal to the sliding window size, a decoding interrupt is triggered to the processor of the receiving boundary gateway to start linear elimination decoding, restore the original emergency instruction data packet, and deliver the original emergency instruction data packet to the hydropower station emergency execution terminal.
[0012] In a second aspect, the present invention also provides a multi-domain integrated emergency communication and dispatch system for hydropower stations, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the multi-domain integrated emergency communication and dispatch method for hydropower stations as described in any one of the first aspects.
[0013] Thirdly, the present invention also provides a computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the multi-domain fusion emergency communication scheduling method for a hydropower station according to any one of the first aspects.
[0014] The beneficial effects of this invention are: This invention collects local link state parameters from the boundary gateways of each communication physical domain and calculates a normalized channel evaluation index. This drives the local state machine to dynamically update the cross-domain state directory, which records the operational status of each cross-domain path. This enables the system to perceive topology changes and link quality mutations caused by disasters in real time. Based on this, by calculating the elastic channel gating parameters of multi-level traffic queues, the available time slot width of non-emergency service queues is dynamically compressed, prioritizing the transmission channels for emergency instructions. This effectively solves the queuing congestion problem of high-priority emergency dispatch instructions at the cross-domain network boundary gateway, significantly reducing the queuing latency of critical instructions. Simultaneously, redundant sliding coding is used for the emergency instruction queue, and it is distributed across multiple heterogeneous physical links in an active state via multiple cross-domain multi-path distribution. At the receiving end, redundant coded data packets are collected, and the original data packets are restored through linear elimination decoding when a decoding threshold is reached. This multi-path concurrency and forward error correction mechanism avoids the uncontrollable delays introduced by traditional mechanisms on narrowband high-latency links. Even in extreme environments where some heterogeneous links are interrupted or high packet loss occurs, instruction data can be completely reconstructed at the receiving end without retransmission, thus completely solving the high packet loss problem. In summary, this invention achieves deterministic, low-latency, and lossless delivery of core control commands during cross-domain cascading transmission, greatly improving the emergency communication support capability of hydropower stations in extreme environments. Attached Figure Description
[0015] Figure 1 This is a flowchart illustrating a multi-domain integrated emergency communication dispatching method for hydropower stations, as described in one embodiment of this application.
[0016] Figure 2 This is a flowchart illustrating the process of calculating a normalized channel evaluation index based on local link state parameters in one embodiment of this application. Detailed Implementation
[0017] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0018] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0019] Figure 1 This is a flowchart illustrating a multi-domain integrated emergency communication dispatch method for a hydropower station in one embodiment. It should be understood that, although... Figure 1 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 At least some steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps. For example Figure 1 As shown, the multi-domain integrated emergency communication dispatch method for hydropower stations disclosed in this invention specifically includes the following steps: S101. Collect the local link status parameters of each communication physical domain boundary gateway of the hydropower station, and calculate the normalized channel evaluation index based on the local link status parameters.
[0020] In the hydropower station's communication physical domain boundary gateways, the physical layer driver periodically reads the physical interface's status register to directly extract multi-dimensional status parameters of the physical link's current operating state. The acquired status parameters include the signal-to-noise ratio (SNR) representing signal quality, the packet loss rate representing transmission reliability, and the round-trip time (RTD) representing transmission delay. These three parameters constitute the unprocessed local link status parameters. To eliminate interference from different parameter dimensions in subsequent calculations, the local link status parameters need to be dimensionless. For the SNR, a forward normalization mapping function is used; that is, the higher the SNR value, the closer the mapped value is to 1. For the packet loss rate and RTD, a reverse normalization mapping function is used; that is, the lower the packet loss rate and RTD values, the closer the mapped values are to 1. The normalization mapping function restricts the values of the above three parameters to the positive interval between 0 and 1, obtaining the corresponding normalized link status parameters.
[0021] Based on the importance of each state parameter to communication assurance in a hydropower station emergency environment, different state parameter weights are pre-configured manually. For example, because emergency commands are extremely sensitive to packet loss and have high requirements for latency, the packet loss rate weight is set to 0.5, the round-trip delay weight to 0.3, and the signal-to-noise ratio weight to 0.2, with the sum of these three weights always equal to 1. Finally, the normalized signal-to-noise ratio, normalized packet loss rate, and normalized round-trip delay in the normalized link state parameters are multiplied by their respective state parameter weights, and the products are summed to calculate the final channel evaluation index. The channel evaluation index, as a comprehensive quantitative indicator reflecting the transmission quality of the physical link, ranges from 0 to 1; a higher value indicates better transmission quality of the physical link.
[0022] S102. Based on the channel evaluation index, drive the local state machine of each communication physical domain boundary gateway to perform state transitions, and push state transition packets to adjacent boundary gateways when the current state of the local state machine changes, so as to dynamically update the cross-domain state directory that records the running status of each cross-domain path in the adjacent boundary gateways.
[0023] In this system, a local state machine is constructed in each communication physical domain boundary gateway. The local state machine pre-sets three operating states corresponding to the health status of the physical link: stable state, warning state, and failure state. A first critical threshold of 0.8 and a second critical threshold of 0.4 are set in the boundary gateway. After each calculation of the channel evaluation index, the index is compared with the first and second critical thresholds. If the channel evaluation index is greater than or equal to 0.8, the physical link is determined to be in good transmission condition, and the current state of the local state machine is determined to be stable. If the channel evaluation index is less than 0.8 but greater than or equal to 0.4, the physical link is determined to be in an intermediate state with a risk of degradation, and the current state of the local state machine is determined to be warning state. If the channel evaluation index is less than 0.4, the physical link is determined to be in a state of severe packet loss or disconnection, and the current state of the local state machine is determined to be failure state.
[0024] When the current state of the local state machine transitions, such as from a stable state to a warning state, or from a warning state to a failure state, the state packet encapsulation procedure is immediately triggered. The current state, the state before the transition, and the estimated bandwidth value of the local state machine are extracted as core state update parameters. These parameters are then packaged, along with the source gateway identifier and timestamp information, into a binary state transition packet. This state transition packet is pushed to all directly adjacent border gateways through the adjacent interfaces of the border gateways. Upon receiving the state transition packet, the adjacent border gateways extract the state update parameters and, using the extracted current state and estimated bandwidth value, overwrite the running state and available bandwidth of the corresponding cross-domain path in the cross-domain state directory maintained in their local memory, achieving dynamic synchronization of the cross-domain state directory.
[0025] S103. Determine the corresponding target cross-domain path based on the original emergency instruction data packet to be transmitted, obtain the current operating status of the target cross-domain path based on the cross-domain status directory, and calculate the elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway.
[0026] When a raw emergency command data packet to be transmitted is generated, the target receiver's network address in the packet header is parsed, and all target cross-domain paths that can reach the target receiver are searched in the cross-domain status directory. After the search is completed, the local cross-domain status directory is queried in real time to obtain the current operating status of the target cross-domain path. Based on the obtained current operating status, the real-time channel capacity of the target cross-domain path in the current time period is evaluated. Real-time channel capacity is the maximum physical throughput that the physical channel can actually carry due to interference or loss. At the exit of each communication physical domain boundary gateway, a three-level priority multi-level traffic queue is constructed. The multi-level traffic queue is divided into emergency command queue, voice service queue and non-emergency service queue from high to low priority.
[0027] In the time slot allocation calculation, a fixed time-division multiplexing scheduling period, such as 20 milliseconds, is set as the basic scheduling time limit. Based on the evaluated real-time channel capacity, a proportional reduction algorithm is used to allocate the time occupied by the three types of queues within the basic scheduling time limit. The available time slot width allowed for each queue to transmit data in a single period is calculated as the elastic channel gating parameter. When the real-time channel capacity is assessed to have attenuated compared to the standard bandwidth benchmark, the proportional reduction algorithm quickly calculates the current bandwidth reduction factor. Based on the current bandwidth reduction factor, the available time slot width of the lowest priority non-emergency service queue is first compressed. When the reduction is severe, the time slots of the non-emergency service queue are compressed to 0. Then, the available time slot width of the voice service queue is reduced according to the corresponding ratio. All the saved time slot space is added to the emergency command queue to ensure the timing width of emergency communication.
[0028] S104. Based on the elastic channel gating parameters, compress the available time slot width of the non-emergency service queue in the multi-level traffic queue, and perform redundant sliding coding on the emergency instruction queue in the multi-level traffic queue to generate redundant coded data packets.
[0029] Specifically, using the calculated elastic channel gating parameters, when the bandwidth reduction coefficient is less than the safety ratio threshold of 0.5, the gating switch corresponding to the non-emergency service queue is directly closed. By disabling the output port hardware gating, the transmission of non-emergency service traffic is completely blocked, thus closing the transmission channel for non-emergency services within the basic scheduling time limit. At the output end of the emergency command queue, an additional sliding window buffer with a depth of 8 is configured. As the emergency command stream inputs, continuously flowing raw emergency command data packets are sequentially filled into the sliding window buffer. If the sliding window buffer is already full of older data packets, the oldest raw emergency command data packet is removed while the latest raw emergency command data packet is loaded, ensuring that the sliding window buffer always maintains the latest 8 raw emergency command data packets.
[0030] Once the sliding window buffer is full, a pre-defined linear XOR generator is invoked to perform pairwise algebraic XOR operations on the eight original emergency command data packets stored in the buffer. During the XOR operation, a pre-defined binary field generator matrix determines the combination of data packets participating in each XOR operation, generating multiple redundant check packets with different degree distribution characteristics to enhance codeword error correction capabilities. Finally, the original emergency command data packets in the sliding window buffer are repackaged with the newly generated redundant check packets, and the starting packet number of the current sliding window and the coefficient vector used are written into the header of the redundant encoded data packet. This combination and encapsulation generates a redundant encoded data packet with a specific header format to achieve efficient redundant transmission.
[0031] S105. Distribute the redundant coded data packets to the receiving border gateway via multiple heterogeneous physical links that are in an active state through cross-domain multipath.
[0032] In this process, multiple heterogeneous physical links currently in a stable or warning state are selected from the cross-domain status directory and marked as the active path set. For each redundant coded data packet to be sent, the proportion of redundant information contained in the data packet is calculated. Then, the real-time bandwidth and round-trip delay of each physical link in the active path set are obtained, and the transmission load ratio of each physical link is calculated according to the allocation ratio calculation formula. Based on the calculated transmission load ratios, the redundant coded data packets are split into multiple corresponding sub-data packet groups. Then, a peak-shifting interleaving mapping algorithm is used to rearrange the transmission order of data packets in each sub-data packet group, reducing the impact of continuous packet loss on transmission. Finally, the rearranged sub-data packet groups are sent through the corresponding heterogeneous physical links respectively, transmitting them to the receiving boundary gateway in a parallel cross-domain multi-path distribution manner.
[0033] S106. Collect redundant coded data packets at the receiving end border gateway, and when the number of redundant coded data packets received reaches the decoding threshold, perform linear elimination decoding to restore the original emergency instruction data packet, and deliver the original emergency instruction data packet to the emergency execution terminal of the hydropower station.
[0034] In this process, a first-in-first-out (FIFO) receive circular buffer is created in the memory of the receiving border gateway. Redundant coded data packets arriving via multiple heterogeneous physical links are received sequentially and stored in the receive circular buffer. When receiving redundant coded data packets, the packet parsing program extracts the sliding window index and coding matrix coefficients carried in the header of the redundant coded data packets, and assigns these to the corresponding decoding session. The number of redundant coded data packets successfully received in the corresponding decoding session is counted in real time. When the number of received redundant coded data packets reaches a decoding threshold equal to the sliding window size of 8, a decoding interrupt is triggered to the processor of the receiving border gateway to initiate linear elimination decoding in the interrupt service routine. Using the coding matrix coefficients corresponding to the 8 received redundant coded data packets, a coefficient matrix of a binary domain linear equation system of order 8 is constructed in memory. The data payloads of the 8 received redundant coded data packets are stored separately and arranged as a vector of constant terms of the binary domain linear equation system. Adaptive elimination is performed on the coefficient matrix of the binary domain linear equation system, converting it into an upper triangular matrix through row XOR elimination within the binary domain. Starting from the last column of the upper triangular matrix, an iterative back-substitution solution is performed to solve for the value of each unknown variable in sequence. The solved values of each unknown variable are then reassembled according to their original sequence to restore the original emergency command data packet, which is immediately delivered to the emergency execution terminal of the hydropower station. Finally, the receive circular buffer of the corresponding decoding session is cleared, and subsequent redundant encoded data packets with the same sliding window index are ignored.
[0035] In one embodiment, reference is made to Figure 2 The process of collecting local link status parameters of each communication physical domain boundary gateway in a hydropower station and calculating a normalized channel evaluation index based on these parameters includes the following steps: S201. Obtain the signal-to-noise ratio, packet loss rate, and round-trip delay collected at the physical layer by each communication physical domain boundary gateway as local link status parameters; S202. Use the normalization mapping function to perform dimensionless processing on the local link state parameters to obtain the normalized link state parameters; S203. Set the corresponding state parameter weights according to the influence weights of local link state parameters in the emergency environment of the hydropower station; S204. The channel evaluation index representing the transmission quality of the physical link is calculated by combining the normalized link state parameters and the state parameter weights.
[0036] In this embodiment, in the multi-domain integrated emergency communication network of the hydropower station, the physical layer data acquisition module directly connects to the network interface card (NIC) physical layer transceiver. Through the application programming interface of the underlying NIC driver, the physical channel indicators in the hardware registers are periodically read to directly obtain the signal-to-noise ratio (SNR) acquired at the physical layer. The SNR is measured by the ratio of received signal power to noise power, reflecting the signal's ability to resist noise interference during channel transmission; the extracted value is expressed in decibels. Packet loss rate is acquired by using a counter in the NIC's underlying driver to count the total number of data packets sent by the network socket per unit time and the number of data packets that the receiving end failed to receive and acknowledge. The proportion of unreceived data packets to the total number of sent data packets is calculated to obtain the packet loss rate. Round-trip delay (RTD) is obtained by periodically sending probe frames on the physical link and recording the sending timestamp. When an acknowledgment frame is received from the peer border gateway in response to the probe frame, the receiving timestamp is recorded. The RTD is obtained by subtracting the sending timestamp from the receiving timestamp; the RTD is expressed in milliseconds. The obtained SNR, packet loss rate, and RTD are collectively used as local link status parameters.
[0037] After obtaining the local link status parameters, a normalized mapping function is used to perform dimensionless processing on these parameters. Since the signal-to-noise ratio (SNR) is positively correlated with link quality, a higher value indicates better link quality; therefore, a forward normalized mapping function is used. Let the actual SNR be S_r, the preset minimum SNR be S_l, and the preset maximum SNR be S_h. The calculated normalized SNR is V_sn, and the forward normalized mapping function is as follows: Packet loss rate and round-trip time are negatively correlated with link quality; higher values indicate poorer link quality. Therefore, an inverse normalization mapping function is used. Let the actual packet loss rate be P_r, the preset minimum packet loss rate be P_l, and the preset maximum packet loss rate be P_h. The calculated normalized packet loss rate is V_pn. Let the actual round-trip time be D_r, the preset minimum round-trip time be D_l, and the preset maximum round-trip time be D_h. The calculated normalized round-trip time is V_dn. The inverse normalization mapping function is as follows: , , Through the above mapping operation, local link state parameters with different physical meanings and dimensions are converted into normalized link state parameters with the same dimension and a range between 0 and 1.
[0038] In emergency scenarios such as sudden accidents at hydropower stations, reliable transmission of emergency commands is the primary prerequisite for ensuring the safety of equipment and personnel. Therefore, different dimensions of state parameters have varying degrees of impact on the overall emergency communication support. Packet loss rate directly determines whether emergency commands can be delivered completely and without errors. A high packet loss rate can lead to command loss or frequent retransmissions, causing particularly serious safety hazards. Therefore, packet loss rate has the highest weight in emergency communication environments. Round-trip latency directly affects the response speed of emergency commands. Excessive latency can cause delays in emergency operations, resulting in the loss of the best opportunity for evacuation. Therefore, round-trip latency has the second highest weight in emergency communication.
[0039] Signal-to-noise ratio (SNR), as a physical layer signal quality indicator, can indirectly reflect the channel's anti-interference capability. However, since some interference is already reflected in packet loss rate and round-trip delay, SNR is set as an auxiliary reference indicator and assigned the lowest weight. Let the weight of SNR be W_sp, the weight of packet loss rate be W_pp, and the weight of round-trip delay be W_dp. The sum of the weights of these three factors must satisfy the following constraints: In practice, based on the correspondence and priority of protection, the packet loss rate weight W_pp is set to 0.5 to provide high priority for reliability; the round-trip delay weight W_dp is set to 0.3 to ensure appropriate constraints on link timeliness; and the signal-to-noise ratio weight W_sp is set to 0.2 to take into account the signal quality of the physical layer.
[0040] The channel evaluation index, representing the physical link transmission quality, is calculated by combining normalized link state parameters and their weights. The core principle of the calculation is to use a weighted summation algorithm, multiplying each independent normalized link state parameter by its corresponding weight value, and then summing the products to obtain a dimensionless comprehensive score value between 0 and 1. This dimensionless comprehensive score value is the channel evaluation index; the closer it is to 1, the better the physical link quality, and the closer it is to 0, the worse the physical link quality. The calculated channel evaluation index is denoted as E_k, and the weighted summation formula is as follows: The channel evaluation index can quantitatively describe the transmission performance of a corresponding cross-domain path in a multi-dimensional integrated environment with a single continuous value. Therefore, the channel evaluation index can provide input for the subsequent state transitions of the local state machine and multi-path distribution control.
[0041] In one implementation, the local state machine of each communication physical domain boundary gateway is driven to perform state transitions based on the channel evaluation index, and a state transition packet is pushed to the adjacent boundary gateway when the current state of the local state machine changes, so as to dynamically update the cross-domain state directory that records the running status of each cross-domain path in the adjacent boundary gateway, including the following steps: In the local state machine of each communication physical domain boundary gateway, a stable state, an early warning state, and a failure state corresponding to the health level of the physical link are preset; The channel evaluation index is compared with the preset first and second critical thresholds respectively; If the channel evaluation index is greater than or equal to the first critical threshold, the current state of the local state machine is determined to be a stable state; if the channel evaluation index is less than the first critical threshold but greater than or equal to the second critical threshold, the current state of the local state machine is determined to be a warning state; if the channel evaluation index is less than the second critical threshold, the current state of the local state machine is determined to be a failure state. When the current state of the local state machine transitions, the current state, the state before the transition, and the estimated bandwidth value of the local state machine are extracted as state update parameters, and the state update parameters are encapsulated into a state transition packet. The state transition packet is pushed to the adjacent border gateway so that the adjacent border gateway updates the cross-domain state directory that records the running status of each cross-domain path when the current state of the local state machine changes.
[0042] In this implementation, three different states are pre-defined in the local state machine: stable state, warning state, and failure state. These states are used to visually represent the actual availability of the physical link under different levels of degradation. The stable state indicates that the physical link is currently in a healthy state with high bandwidth, low packet loss, and low latency, fully guaranteeing high-quality transmission of various communication services. The warning state indicates that the physical link has experienced increased packet loss rate or round-trip latency due to external electromagnetic interference or network queuing congestion. Although the physical link remains connected, the transmission quality is showing a tendency to deteriorate. The failure state indicates that the physical link has suffered severe channel interruption or equipment failure, resulting in excessive packet loss rate or complete link disconnection, making it unable to carry any effective data transmission. In specific implementations, a corresponding state code mapping table is established in the static configuration area of memory, mapping the stable state to the integer value 2, the warning state to the integer value 1, and the failure state to the integer value 0. Let the stable state code be S_s, the warning state code be S_w, and the failure state code be S_f. The specific mapping relationship is defined as follows: .
[0043] During the initialization phase, preset first and second critical thresholds need to be written and stored in the cache register. The first critical threshold is used to delineate the boundary between the stable state and the warning state, and the second critical threshold is used to delineate the boundary between the warning state and the failure state. The value of the first critical threshold must be greater than the value of the second critical threshold. In specific implementation, the value of the first critical threshold H_a is set to 0.8, and the value of the second critical threshold H_b is set to 0.4. After each link evaluation cycle ends and the channel evaluation index E_k is calculated, the comparison control logic loads the channel evaluation index E_k as the comparison number into the first register, and simultaneously loads the first critical threshold H_a into the second register. The numerical comparator performs a subtraction operation. If the difference is greater than or equal to 0, it is determined that the channel evaluation index E_k is greater than or equal to the first critical threshold H_a. If the difference is less than 0, it indicates that the channel evaluation index E_k is less than the first critical threshold H_a. Then, the channel evaluation index E_k and the second critical threshold H_b loaded in the third register are subjected to a second subtraction logical operation to determine the relative size relationship between the channel evaluation index E_k and the second critical threshold H_b.
[0044] If the channel evaluation index is greater than or equal to the first critical threshold, the current state of the local state machine is determined to be a stable state; if the channel evaluation index is less than the first critical threshold but greater than or equal to the second critical threshold, the current state of the local state machine is determined to be a warning state; if the channel evaluation index is less than the second critical threshold, the current state of the local state machine is determined to be a failure state. These judgment logics constitute the core triggering rules for state transitions of the local state machine. Let the current state code be S_c, and the specific state transition relationship formula is as follows: , In practice, after each decision operation is completed, the newly determined current state S_c is compared with the previous state that was determined in the previous historical state register. If the two values are different, it indicates that a transition has occurred in the current state. At this time, an update notification signal is immediately triggered to the state transition module, and preparations are made to execute the subsequent state synchronization operation.
[0045] When the current state of the local state machine transitions, it indicates that the transmission quality of the physical link has crossed the set security threshold. The state change must be promptly communicated to the adjacent border gateway so that they can make scheduling adjustments. The current state of the local state machine, the state before the transition, and the estimated bandwidth value are extracted as state update parameters, and these parameters are encapsulated into a state transition packet. The estimated bandwidth value can be calculated by comparing the total size of successfully received and acknowledged data packets within a real-time sliding time window with the corresponding time difference. Let the state code before the transition be S_p, and the estimated bandwidth value be B_e. The state update parameter set is denoted as P_u, which satisfies the following set definition formula: In practical implementation, if the local state machine transitions from stable state code 2 to warning state code 1, the extracted current state S_c value is 1, and the pre-transition state S_p value is 2. Simultaneously, by calculating the transmission throughput within the last second, the estimated current available bandwidth B_e is 10 megabits per second. The state encapsulation control logic allocates a contiguous free buffer in high-speed memory. Following a preset message format, a specific start identifier of 2 bytes is written at the beginning of the buffer, followed by the source border gateway network address of 4 bytes, then the current state S_c value (1) of 1 byte, the pre-transition state S_p value (2) of 1 byte, and the estimated bandwidth value B_e of 4 bytes. Finally, the cyclic redundancy checksum of all written fields is calculated, and a 2-byte checksum field is appended to the end of the buffer, thus completely encapsulating the state update parameters into a binary byte stream format state transition packet.
[0046] The state transition packet is pushed to adjacent border gateways so that the adjacent border gateways can dynamically update their cross-domain state directories, which record the running status of each cross-domain path, when their local state machines transition. After the state transition packet is encapsulated, the sending control logic extracts the receiving network addresses of all directly adjacent border gateways from the locally stored neighbor node address table, calls the socket sending interface of the network protocol stack, and quickly pushes the state transition packet out in a multicast or unicast manner.
[0047] Let border gateway i push a state transition packet to its neighboring border gateway j, and let the push path be denoted as L_ij. When neighboring border gateway j receives the state transition packet, it extracts the current state S_c and the estimated bandwidth value B_e contained within the packet, and then searches its local memory for a cross-domain state directory that records the running status of each cross-domain path. The original state and available bandwidth value of the corresponding path entry in the cross-domain state directory are overwritten with the newly extracted values, achieving dynamic updates. Let the updated cross-domain path state be denoted as R_ij, and the update function relationship is as follows: In specific implementation, when the network receiving port of the adjacent border gateway j receives a state transition packet pushed by the border gateway i with the source network address, it immediately initiates the packet parsing logic to extract the current state S_c value of 1 and the estimated bandwidth value B_e value of 10 megabits per second. The adjacent border gateway j searches the cross-domain state directory table indexed by the path identifier in its local high-speed memory, locates the cross-domain path information item corresponding to the source network address, and updates the running status field of the cross-domain path information item from the original stable state code 2 to the warning state code 1. At the same time, it updates the available bandwidth field of the cross-domain path information item to 10 megabits per second and updates the record timestamp of the path information.
[0048] In one implementation, determining the corresponding target cross-domain path based on the original emergency instruction data packet to be transmitted, obtaining the current operating status of the target cross-domain path based on the cross-domain status directory, and calculating the elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway includes the following steps: Based on the target receiving end in the original emergency instruction data packet to be transmitted, retrieve the target cross-domain path to the target receiving end in the cross-domain status directory; The system queries the cross-domain status directory in real time to obtain the current operating status of the target cross-domain path, and evaluates the real-time channel capacity of the target cross-domain path based on the current operating status. Multi-level traffic queues are constructed at the exit of each communication physical domain boundary gateway. These multi-level traffic queues include emergency command queues, voice service queues, and non-emergency service queues. The available time slot width of the multi-level traffic queue is calculated based on the real-time channel capacity and using a proportional reduction algorithm, and is used as the elastic channel gating parameter.
[0049] In this implementation, at the data sending end, when a raw emergency command data packet to be transmitted enters the transmission buffer, the data parsing module reads the network layer header of the raw emergency command data packet, extracts the destination network protocol address, and uses the destination network protocol address as the unique identifier of the target receiver. The cross-domain status directory is stored in high-speed memory using a hash table structure, with the key name being the network address range of the target receiver and the key value being the cross-domain path composed of multiple physical links and intermediate nodes. The retrieval program takes the extracted unique identifier of the target receiver as input, performs a hash search, quickly matches and outputs all cross-domain paths that can reach the target receiver. After determining the target cross-domain path set, its latest operational status needs to be obtained to guide resource allocation. By performing high-frequency real-time queries on the cross-domain status directory, the current status code S_c and the most recently reported estimated bandwidth value B_e corresponding to each path in the target cross-domain path set are read. To accurately calculate the bandwidth loss due to path decay, a bandwidth depreciation coefficient corresponding to the status is introduced.
[0050] Let the real-time channel capacity of the m-th target cross-domain path be C_m, the estimated bandwidth be B_e, and the bandwidth loss factor be F_d. The formula for calculating the real-time channel capacity is as follows: Specifically, when the current status code S_c is stable state code 2, F_d is set to 1.0; when the current status code S_c is warning state code 1, F_d is set to 0.6; and when the current status code S_c is failure state code 0, F_d is set to 0.0. To perform differentiated flow control for different types of data, a multi-level flow queue is constructed at the sending network interface exit of each communication physical domain boundary gateway through the flow control module of the operating system kernel. The multi-level flow queue consists of three independent circular buffers with different quality of service levels, defined from high to low as the emergency command queue, voice service queue, and non-emergency service queue. Let the emergency command queue be identified as Q_1, the voice service queue as Q_2, and the non-emergency service queue as Q_3, and the multi-level flow queue set Q_s be represented as follows: In practice, the network interface export driver allocates three independent buffers in memory.
[0051] When a data packet arrives at the border gateway's transmission queue, the classifier filters it based on the protocol type carried in the packet. Power emergency control command packets destined for port 1000 are stored in the emergency command queue Q_1; voice session protocol packets destined for port 2000 are stored in the voice service queue Q_2; and other non-emergency data packets, such as general Hypertext Transfer Protocol web page packets, are stored in the non-emergency service queue Q_3. Based on the assessed real-time channel capacity, a scaling reduction algorithm is used to calculate the available time slot width for each queue as the elastic channel gating parameter.
[0052] In one implementation, the operating states of the target cross-domain path include a stable state, an early warning state, and a failure state. The step of calculating the available time slot width of the multi-level traffic queue based on real-time channel capacity and using a proportional reduction algorithm as the elastic channel gating parameter includes the following steps: Set a fixed time-division multiplexing scheduling period as the basic scheduling time limit; The original maximum physical bandwidth of the target cross-domain path in a steady state is used as the standard bandwidth benchmark, and the ratio of the real-time channel capacity to the standard bandwidth benchmark is calculated to obtain the bandwidth reduction factor. When the bandwidth reduction factor is less than the preset safety ratio threshold, the available time slot width of the non-emergency service queue is directly set to zero, so that the transmission channel of the non-emergency service queue is closed within the basic scheduling time limit. Multiply the original timeslot width of the voice service queue within the basic scheduling time limit by the bandwidth reduction factor to obtain the reduced voice service timeslot width. If the reduced voice service timeslot width is less than the preset minimum voice guarantee timeslot, the available timeslot width of the voice service queue will be reset to the minimum voice guarantee timeslot. If the reduced voice service timeslot width is greater than or equal to the minimum voice guarantee timeslot, the reduced voice service timeslot width will be used as the available timeslot width of the voice service queue. The available time slot width of the voice service queue is deducted from the basic scheduling time limit, and the remaining time slot width is allocated to the emergency command queue to obtain the available time slot width of the emergency command queue.
[0053] In this implementation, a fixed time cycle is defined as the minimum time unit for bandwidth resource allocation in the time-division multiplexing scheduling mechanism. This time cycle is the basic scheduling time limit. Setting the basic scheduling time limit requires balancing communication latency and channel switching overhead. If the cycle is set too large, it will cause high-priority emergency commands to queue in the buffer for a longer time, thus increasing the overall round-trip latency of the emergency response; if the cycle is set too small, it will cause the network interface to frequently switch channels between different traffic queues, increasing the context switching overhead of the operating system kernel and reducing the effective data transmission rate of the physical channel. Therefore, based on the real-time and throughput guarantee requirements of the hydropower station emergency communication system, a fixed time cycle is set as the benchmark for resource allocation. In specific implementation, the basic scheduling time limit... The specific value is configured and fixed at 20 milliseconds. Within each 20-millisecond cycle, the transmission time of the entire network physical interface is divided into multiple independent time slices, each corresponding to a different traffic queue.
[0054] To quantitatively assess the impact of link quality degradation on available physical layer transmission resources, a reference bandwidth benchmark is determined. The original maximum physical bandwidth of the target cross-domain path in a steady state is used as the standard bandwidth benchmark. The standard bandwidth benchmark refers to the maximum data throughput rate negotiated by the physical network interface card (NIC) chip under optimal physical network conditions with no interference, zero packet loss, and minimal round-trip latency. After obtaining the real-time channel capacity of the current target cross-domain path, the ratio between the real-time channel capacity and the standard bandwidth benchmark is calculated; this ratio is the bandwidth reduction factor. The bandwidth reduction factor is used to quantitatively represent the degree of degradation of the current physical channel due to environmental interference. Let the current total real-time channel capacity be... The standard bandwidth benchmark is The bandwidth reduction factor is The formula for calculating the bandwidth reduction factor is as follows: This value directly reflects the degree of degradation in the link's transmission capacity.
[0055] In emergency communication support for hydropower stations, to ensure the absolute priority transmission of high-priority data, a safety ratio threshold is introduced as the trigger condition for cutting off the non-emergency service transmission channel. The safety ratio threshold is a pre-set proportional constant. When the calculated bandwidth reduction coefficient is less than the preset safety ratio threshold, it means that the transmission quality of the current physical link has significantly deteriorated, and the remaining physical channel resources can no longer simultaneously meet the common transmission needs of non-emergency services and emergency support services. At this time, an absolute priority scheduling strategy is executed, directly setting the available time slot width of the non-emergency service queue to zero, so that the transmission channel of the non-emergency service queue is completely shut down within the basic scheduling time limit, achieving physical interception of non-emergency traffic. Let the available time slot width of the non-emergency service queue be... The safety ratio threshold is The bandwidth reduction factor is The control logic formula is as follows: .
[0056] After the non-emergency service queue's transmission channel is cut off, in order to further optimize resource allocation within the limited physical channel, the transmission time slots occupied by the medium-priority voice service queue need to be compressed proportionally. Voice services also play an indispensable role in emergency communications at hydropower stations, but their priority is lower than that of core emergency commands. To ensure the transmission of emergency commands, the original time slot width of the voice service queue within the basic scheduling time limit needs to be multiplied by a bandwidth reduction factor, and the reduced voice service time slot width is obtained through multiplication. Let the original voice time slot width be... The bandwidth reduction factor is The calculated reduced voice service time slot width is The calculation formula is as follows: .
[0057] To prevent excessive compression of voice service time slots from drastically degrading voice call quality and causing unintelligible voice commands, a minimum guarantee mechanism must be established. A minimum guaranteed voice time slot is preset; this parameter represents the minimum time slice width required to maintain basic audible voice coding. The width of the reduced voice service time slot is compared with the minimum guaranteed voice time slot. If the reduced voice service time slot width is less than the minimum guaranteed voice time slot, to preserve the basic voice call channel, the available time slot width of the voice service queue is forcibly reset and locked to the minimum guaranteed voice time slot. If the reduced voice service time slot width is greater than or equal to the minimum guaranteed voice time slot, then the reduced voice service time slot width is directly used as the available time slot width of the voice service queue. Let the available time slot width of the voice service queue be... The reduced voice service time slot width is The minimum voice guarantee time slot is The selection logic formula is as follows: .
[0058] To ensure that emergency command data packets can still be sent quickly with low queuing latency even when facing physical link degradation, the algorithm mechanism deducts the available time slot width of the voice service queue from the basic scheduling time limit. Simultaneously, if the time slots of non-emergency service queues are not zeroed out, these are also deducted. All remaining available time slot space is then allocated to the emergency command queue, thus obtaining the available time slot width of the emergency command queue. Let the available time slot width of the emergency command queue be... The basic scheduling time limit is The available time slot width for voice service queues is The available time slot width for non-emergency service queues is The allocation calculation formula is as follows: .
[0059] In one implementation, compressing the available time slot width of non-emergency service queues in a multi-level traffic queue according to elastic channel gating parameters, and performing redundant sliding coding on emergency instruction queues in the multi-level traffic queues to generate redundant coded data packets includes the following steps: By using elastic channel gating parameters, the gating switches corresponding to non-emergency service queues are closed to completely block non-emergency service traffic. Configure a sliding window buffer at the output end of the emergency command queue, and fill the continuously flowing raw emergency command data packets into the sliding window buffer in sequence until the sliding window buffer is full; The preset linear XOR generator is used to perform pairwise algebraic XOR operations on the original emergency instruction data packets in the sliding window buffer to generate multiple verification redundancy packets with different degree distribution characteristics. The original emergency instruction data packet is combined and encapsulated with the verification redundancy packet to generate a redundant coded data packet.
[0060] In this embodiment, based on the calculated elastic channel gating parameters, when the available time slot width of the non-emergency service queue... When the value is 0, the network interface's driver control logic reads the time slot width value and sends a shutdown control command to the gating switch corresponding to the non-emergency service queue. The gating switch is implemented through a switch control flag in the queue scheduler. Let the gating status flag of the non-emergency service queue be... Available time slot width is The logical correspondence between the gating status flag and the available time slot width is as follows: In practical implementation, when the channel gating parameter allocation program calculates the available time slot width of the non-emergency service queue... When the value is 0 milliseconds, the gating status flag is... It is automatically set to a value of 0. The network interface transmission scheduling module polls each traffic queue during each time-division multiplexing scheduling cycle. When it reads the gating status flag of a non-emergency service queue... When the value is 0, the non-emergency service queue will be skipped immediately, and data will no longer be extracted from the corresponding circular buffer. By disabling physical transmission, data packets in the non-emergency service queue will be forced to remain in the transmission buffer and will not be able to obtain a transmission channel. This achieves the interception of non-emergency service traffic at the physical layer, ensuring that all channel bandwidth resources are released and used to guarantee the transmission of high-priority emergency data.
[0061] At the output end of the emergency command queue, a contiguous space in memory is allocated to configure a sliding window buffer. The sliding window buffer is implemented using a first-in, first-out (FIFO) circular queue data structure to temporarily store consecutive raw emergency command data packets awaiting encoding. When consecutive raw emergency command data packets arrive sequentially, the sender extracts the data payload of each packet and assigns an auto-incrementing sliding window index number to each packet. Subsequently, the raw emergency command data packets with their index numbers are written sequentially into the free storage units of the sliding window buffer. In specific implementations, the sliding window size is set. The value is 8. As successive incoming raw emergency command data packets arrive, they are sequentially stored in the sliding window buffer. The current number of raw emergency command data packets written is... This accumulates accordingly. The number of raw emergency instruction data packets currently written... When the value reaches 8, the filling condition is met, and the sliding window buffer is filled. When new raw emergency instruction data packets arrive, the oldest raw emergency instruction data packet that was written first is automatically removed from the sliding window buffer, and the new raw emergency instruction data packets are filled into the newly vacated storage units, so that the sliding window buffer always maintains a state containing 8 of the latest raw emergency instruction data packets.
[0062] Once the sliding window buffer is full, a pre-defined linear XOR generator is activated. The linear XOR generator is a generator built based on XOR logic gates or software binary bitwise XOR operation instructions. It selects pairs of raw emergency instruction data packets stored in the sliding window buffer and performs algebraic XOR operations to generate multiple parity redundancy packets. During the operation of the linear XOR generator, a pre-designed generation matrix determines the combination of the two data packets participating in each XOR operation, thus ensuring that the generated parity redundancy packets exhibit a pre-defined degree distribution characteristic. Let the x-th data packet in the sliding window buffer... The original emergency instruction data packet is , No. The original emergency instruction data packet is The generated first One verification redundancy packet is The mathematical expression for the pairwise XOR operation is as follows: In practice, when the sliding window buffer is full of 8 original emergency instruction data packets, the linear XOR generator reads the data packet with index number 1. And the data packet with index number 2 Perform a bitwise XOR operation on each bit of the binary data in the data payload to generate the first parity redundancy packet. Next, read the data packets. With data packets Perform a bitwise XOR operation to generate a second parity redundancy packet. .
[0063] To ensure the receiving border gateway can correctly identify and decode received data packets, the original emergency command data packet and the newly generated verification redundancy packet must be combined and encapsulated to generate a redundancy-coded data packet with a unified format. During the encapsulation process, the encapsulation module assigns a newly created header structure to each data packet to be sent and writes key control metadata for decoding assistance into the header structure. This metadata includes the current sliding window index and the coding matrix coefficients indicating the data packet generation relationship. Subsequently, the encapsulation module concatenates the header structure with the corresponding data packet payload to obtain the redundancy-coded data packet. Let the generated redundancy-coded data packet be... The structure of the baotou is The load data is The sliding window index is The coefficients of the encoding matrix are The structural correspondence formulas for redundant coded data packet encapsulation are as follows: In practice, the encapsulation module creates a new 1500-byte data packet template in memory and extracts the 4-byte sliding window index. and 8-byte encoding matrix coefficients Fill in the first 12 bytes as the packet header structure. Then, the data payload of the 1400-byte original emergency command data packet or the verification redundancy packet is... Copy and splice into the head structure Behind this, standard redundant coded data packets are finally generated. With this standardized encapsulation, the receiving end can quickly reconstruct the system of linear equations in the binary domain by directly reading the packet header.
[0064] In one implementation, distributing redundant coded data packets across domains via multiple active heterogeneous physical links to the receiving border gateway includes the following steps: Select multiple heterogeneous physical links whose current running status is stable or warning from the cross-domain status directory and mark them as the set of active paths; Calculate the proportion of redundant information contained in each redundant coded data packet; Based on the real-time bandwidth and round-trip latency of each physical link in the active path set, allocate a transmission load ratio to each physical link in the active path set. Redundant coded data packets are split into multiple sub-data packet groups according to the proportion of transmitted payload; A staggered interleaving mapping algorithm is used to rearrange the sending order of data packets in each sub-data packet group within multiple sub-data packet groups; The rearranged sub-data packets are distributed to the receiving edge gateway in parallel across domains via multiple heterogeneous physical links.
[0065] In this embodiment, all candidate cross-domain paths in the cross-domain status directory stored in high-speed memory are traversed. These physical links have heterogeneous characteristics due to differences in transmission media and protocols, such as fiber optic links, radio links, and satellite communication links. Next, the current status code recorded in the cross-domain status directory for each heterogeneous physical link is extracted one by one. When the extracted current status code is a stable state code 2 or a warning state code 1, it indicates that the corresponding heterogeneous physical link is currently in an available or slightly fading controllable state and can be used as a data distribution channel. When the extracted current status code is a failed state code 0, it indicates that the corresponding heterogeneous physical link can no longer carry data due to severe channel degradation. The unique identifiers of all heterogeneous physical links with a current status code of 2 or 1 are added to a dedicated memory array, which is marked as the active path set.
[0066] Redundancy ratio refers to the proportion of redundant packets in a set of transmitted data packets to the total number of transmitted data packets. Calculating this ratio reflects the additional bandwidth overhead used for packet loss protection in the current coding scheme. Let the sliding window size be... The number of additional checksum redundancy packets generated each time data is sent is Calculate the proportion of redundant information in each batch of redundant coded data packets sent. The calculation formula is as follows: After determining the set of active paths, to fully leverage the transmission advantages of multiple heterogeneous physical links and avoid slow links dragging down the overall transmission, it is necessary to allocate different transmission loads to each link based on its real-time quality. The core idea of this allocation is to allocate a higher proportion of transmission load to physical links with larger real-time bandwidth and lower round-trip latency. This is achieved by using the real-time bandwidth and round-trip latency of each physical link in the active path set, and introducing a critical latency threshold for nonlinear weighted calculation. The formula for calculating the transmission load ratio is as follows: , In the formula, For the first The proportion of transmission load on each physical link; For the first Real-time bandwidth of each physical link; For the first Round-trip latency of a physical link; This is the critical delay threshold; For the set of activation paths; To activate the physical link index in the path set; For the first in the set of activation paths Real-time bandwidth of each physical link; For the first in the set of activation paths Round-trip latency of a physical link.
[0067] After calculating the transmission load ratio for each physical link, the redundant coded data packet stream to be sent needs to be physically split into sub-data packet groups corresponding to each physical link. The splitting rule is to calculate the number of data packets allocated to each link based on the transmission load ratio assigned to each physical link, and then sequentially extract the corresponding number of data packets from the to-be-sent sequence, packaging them into the corresponding sub-data packet queue. Let the total number of redundant coded data packets to be sent be... Assigned to the The number of packets in the sub-packet group of each physical link is The proportion of transmitted load is The formula for calculating the number of data packets is as follows: To mitigate the adverse impact of continuous burst packet loss on data recovery in physical links, the transmission order of data packets within the resulting sub-data packet groups needs to be rearranged. The staggered interleaving mapping algorithm disperses originally adjacent data packets, ensuring that even during continuous packet loss in the channel, the lost packets are distributed across different sliding windows, thus improving the decoding success rate. Let the total number of data packets within each sub-data packet group be... The original data packet sequence number before rearrangement is The interlacing depth is The sequence number of the rearranged new data packet is The interleaving mapping formula is defined as follows: .
[0068] If the interlacing depth and For coprime objects, a perfect bijection can be achieved directly using the congruence generation formula: After rearranging the transmission order of each sub-data packet group, the transmission control logic binds different sub-data packet groups to corresponding network sockets and transmits them simultaneously through multiple physical links, achieving multi-path parallel distribution. The heterogeneous physical link driver starts multiple concurrent transmission threads, each independently responsible for data transmission on one physical link. These threads read the rearranged sub-data packets from their respective transmission buffers and push them into the physical layer transmission queue. This heterogeneous multi-path parallel distribution method effectively disperses the congestion pressure of single-path transmission, ensuring the rapid and reliable delivery of emergency commands.
[0069] In one embodiment, the process of collecting redundant coded data packets at the receiving end border gateway, and performing linear elimination decoding to restore the original emergency command data packet when the number of received redundant coded data packets reaches a decoding threshold, and then delivering the original emergency command data packet to the emergency execution terminal of the hydropower station includes the following steps: Create a receive ring buffer in the memory of the receiving border gateway; Redundant encoded data packets arriving via multiple heterogeneous physical links will be received and stored in a receive ring buffer; Extract the sliding window index and coding matrix coefficients carried in the header of redundant encoded data packets, and assign the sliding window index and coding matrix coefficients to the corresponding decoding session; Count the number of redundant encoded data packets that have been successfully received in the corresponding decoding session; When the number of packets reaches the decoding threshold equal to the sliding window size, a decoding interrupt is triggered to the processor of the receiving boundary gateway to start linear elimination decoding, restore the original emergency instruction data packet, and deliver the original emergency instruction data packet to the hydropower station emergency execution terminal.
[0070] In this embodiment, at the boundary gateways of each communication physical domain in the hydropower station, the physical layer driver periodically reads the status registers of the physical interfaces to directly extract multi-dimensional status parameters of the physical link under its current operating state. The acquired status parameters include the signal-to-noise ratio (SNR) representing signal quality, the packet loss rate representing transmission reliability, and the round-trip time (RTD) representing transmission delay. These three parameters constitute the unprocessed local link status parameters. To eliminate the interference of different parameter dimensions on subsequent calculations, the local link status parameters need to be dimensionless. For the SNR, a forward normalization mapping function is used, meaning the higher the SNR value, the closer the mapped value is to 1. For the packet loss rate and RTD, a reverse normalization mapping function is used, meaning the lower the packet loss rate and RTD values, the closer the mapped value is to 1. The normalization mapping function restricts the value range of the above three parameters to the positive interval between 0 and 1, obtaining the corresponding normalized link status parameters. Based on the importance of each status parameter to communication assurance in the hydropower station's emergency environment, different status parameter weights are pre-configured. Because emergency commands are extremely sensitive to packet loss and have high latency requirements, the packet loss rate is weighted at 0.5, the round-trip time at 0.3, and the signal-to-noise ratio (SNR) at 0.2. Finally, the normalized SNR, normalized packet loss rate, and normalized round-trip time are multiplied by their respective state parameter weights and summed to calculate the final channel evaluation index.
[0071] A local state machine is constructed in each communication physical domain boundary gateway. Three operating states corresponding to the physical link health level are pre-set in the local state machine: stable state, warning state, and failure state. A first critical threshold of 0.8 and a second critical threshold of 0.4 are preset in the boundary gateway. In each evaluation cycle, the calculated channel evaluation index is compared with the first and second critical thresholds. If the channel evaluation index is greater than or equal to 0.8, the physical link is considered to be operating well, and the current state of the local state machine is determined to be stable. If the channel evaluation index is less than 0.8 but greater than or equal to 0.4, the physical link is considered to be showing a tendency to degrade, and the current state of the local state machine is determined to be warning state. If the channel evaluation index is less than 0.4, the physical link is considered to have severely degraded, and the current state of the local state machine is determined to be failure state. When the current state of the local state machine transitions, the current state, the state before the transition, and the estimated bandwidth value are extracted as state update parameters, and these parameters are encapsulated into a state transition packet. The state update parameters are stored in a newly allocated contiguous memory buffer, and the source gateway identifier and timestamp information are added. The buffer is then encapsulated into a binary byte stream according to a preset message format. The state transition packet is pushed to all directly adjacent border gateways through the adjacent interfaces of the border gateway, so that the adjacent border gateways can receive and parse the current state and estimated bandwidth value.
[0072] When a raw emergency command data packet to be transmitted is generated, the target receiver's network address in the packet header is parsed, and the target cross-domain path to the target receiver is retrieved from the cross-domain status directory. The cross-domain status directory is stored in memory as a hash table. By inputting the target receiver's network address into the hash retrieval algorithm, a set of all target cross-domain paths that can reach the target receiver is quickly matched and output. After the retrieval is complete, the cross-domain status directory is queried in real time to obtain the current operating status of the target cross-domain path, and the real-time channel capacity of the target cross-domain path is evaluated based on the current operating status. During the evaluation, a corresponding attenuation factor is selected for the corresponding path based on the current operating status, and the estimated bandwidth value is multiplied by the attenuation factor to obtain the real-time channel capacity. At the exit of each communication physical domain boundary gateway, a multi-level traffic queue is constructed through the flow control module of the operating system kernel. The multi-level traffic queue includes an emergency command queue, a voice service queue, and a non-emergency service queue, corresponding to high, medium, and low quality of service levels, respectively. Based on the real-time channel capacity and using a proportional reduction algorithm, the transmission time slice width occupied by each of the three traffic queues within the basic scheduling time limit is calculated. The calculated transmission time slice width is used as the elastic channel gating parameter to implement outgoing gating control for each traffic queue.
[0073] Using the calculated elastic channel gating parameters, when the transmission slot width of the non-emergency service queue is compressed to zero, the network interface drive control logic sends a closing command to the gating switch corresponding to the non-emergency service queue. The gating switch is controlled by the switch control flag in the queue scheduler. By setting the switch control flag to zero, the network interface transmission scheduling module skips the non-emergency service queue and intercepts the transmission of non-emergency service traffic. At the output end of the emergency command queue, contiguous space is allocated in memory to configure a sliding window buffer. The sliding window buffer adopts a first-in-first-out circular queue structure. As raw emergency command data packets continuously flow in, the sending end extracts the data packet payload and assigns a sliding window index number, filling it sequentially into the sliding window buffer. When the number of data packets written reaches the maximum slot size preset by the sliding window, the sliding window buffer is full, and a preset linear XOR generator is then activated. Pairwise algebraic XOR operations are performed on the raw emergency command data packets stored in the sliding window buffer. In the XOR operation, a preset binary field generation matrix determines the pairwise combinations of data packets, generating multiple check redundancy packets. Finally, the original emergency instruction data packet is combined with the newly generated verification redundancy packet, and a sliding window index and corresponding encoding matrix coefficients are added to the header of the data packet. The combination and encapsulation generate a redundant encoded data packet with a specific header format.
[0074] Multiple heterogeneous physical links currently in stable or warning states are selected from the cross-domain status directory and marked as the active path set. The cross-domain status directory is traversed to extract the current status code. If the current status code corresponds to a stable or warning state, the unique identifier of the corresponding heterogeneous physical link is stored in a memory array to form the active path set. Next, the redundancy proportion in each batch of redundant coded data packets is calculated, i.e., the number of redundant verification packets is divided by the sum of the number of original emergency command data packets and the number of redundant verification packets. Based on the real-time bandwidth and round-trip latency of each physical link in the active path set, and combined with a preset critical latency threshold, a proportional allocation calculation is used to allocate a transmission load proportion to each physical link in the active path set. Then, the redundant coded data packets are split into multiple sub-data packet groups according to the transmission load proportion allocated to each physical link, ensuring that the data volume carried by each physical link matches its carrying capacity. Subsequently, a staggered interleaving mapping algorithm is used to rearrange the data packet transmission order of each sub-data packet group, offsetting adjacent data packets on the time axis. Finally, the rearranged sub-data packets are bound to their respective network sockets and sent concurrently through multiple heterogeneous physical links, distributing them across domains and paths to the receiving edge gateway.
[0075] A contiguous receive ring buffer is created in the physical memory of the receiving boundary gateway. When redundant coded data packets arriving via multiple heterogeneous physical links are received sequentially, the network card driver directly receives and stores these packets in the storage slots of the receive ring buffer. Subsequently, the packet parser extracts the sliding window index and coding matrix coefficients carried in the header of the redundant coded data packets using a fixed byte offset, and assigns the sliding window index as an identifier to the corresponding memory decoding session. A packet counter is configured in the decoding session structure to count the number of successfully received and non-repeating redundant coded data packets in the corresponding decoding session in real time. When the number of received packets reaches a decoding threshold equal to the sliding window size, a decoding interrupt is triggered to initiate the linear elimination decoding process in the processor. During decoding, the coefficient matrix of a binary domain linear equation system is constructed using the coding matrix coefficients of the redundant coded data packets received in the corresponding decoding session, and the data payloads of the received redundant coded data packets are arranged as a constant term vector. Adaptive column pivoting elimination is performed on the coefficient matrix of the binary domain linear equation system to transform it into an upper triangular matrix. Then, iterative back-substitution is performed to solve for the value of each unknown variable in turn, and the original emergency instruction data packet is reassembled and delivered to the emergency execution terminal.
[0076] In one implementation, initiating linear elimination decoding to restore the original emergency command data packet includes the following steps: Using the coefficients of the encoding matrix corresponding to the received redundant encoded data packets, construct the coefficient matrix of a system of linear equations in a binary domain with an order equal to the size of the sliding window; Arrange the data payload of the received redundant coded data packets into a vector of constant terms of a system of linear equations; Perform adaptive column pivoting elimination on the coefficient matrix of the system of linear equations in the bivariate domain to convert the coefficient matrix of the system of linear equations in the bivariate domain into an upper triangular matrix; Starting from the last column of the upper triangular matrix, perform iterative back-substitution to solve for the value of each unknown variable in turn; The values of each unknown variable obtained from the solution are reassembled to restore the original emergency command data packet; Clear the receive ring buffer of the corresponding decoding session and ignore subsequent redundant encoded data packets with the same sliding window index.
[0077] In this implementation, after extracting the coding matrix coefficients of all successfully received redundant coded data packets in a specific decoding session, a two-dimensional array space is allocated in high-speed running memory specifically for storing the matrix coefficients. The number of rows and columns of the two-dimensional array space is set to be equal to the sliding window size. The sliding window size represents the number of original emergency command data packets in a complete coding batch. The coding matrix coefficients corresponding to each successfully received redundant coded data packet are treated as a row and sequentially filled into the corresponding row of the two-dimensional array. The coding matrix coefficients of the data packets are binary vectors, indicating which original emergency command data packets were XORed to generate the current verification redundant packet. By merging multiple coefficient vectors row by row, a complete binary domain linear equation system coefficient matrix is constructed in memory to represent the linear algebraic relationship between the received coded data and the original data. In a specific implementation, it is assumed that the sliding window size is configured to eight. When eight non-repeating redundant coded data packets are successfully received in the corresponding decoding session, the decoding process is triggered. An eight-row, eight-column two-dimensional Boolean array is allocated in running memory. The headers of these eight redundant coded data packets are read sequentially, and eight eight-bit binary coefficient vectors are parsed from them. Write the binary coefficient vector of the first data packet into the first row of the two-dimensional Boolean array, write the binary coefficient vector of the second data packet into the second row of the two-dimensional Boolean array, and so on, until the binary coefficient vector of the eighth data packet is written into the eighth row of the two-dimensional Boolean array, thereby constructing a coefficient matrix of a binary domain linear equation system of order eight in memory.
[0078] In a system of linear equations in a binary domain, in addition to the coefficient matrix, a vector of constant terms on the right-hand side of the equations also needs to be constructed. The physical entity corresponding to this vector is the data payload in the received redundant coded data packets. Each redundant coded data packet consists of a header and a data payload, where the data payload contains the encoded original data or checksum data transmitted over the network. Constructing the vector of constant terms requires extracting the data payload of each successfully received redundant coded data packet and creating a one-dimensional pointer array in memory. The memory address of each data payload is then stored sequentially into each element of the one-dimensional pointer array, corresponding one-to-one with the coefficient rows in the coefficient matrix. Since each data payload typically contains a large number of binary bytes, each element of the vector of constant terms is actually a pointer to the corresponding memory block of the data payload. Through this association, the physical data payload received from the network is transformed into an arrangement of constant term vectors in the mathematical equation system.
[0079] In practice, after constructing the coefficient matrix of the 8x8 binary domain linear equation system, a one-dimensional pointer array of length eight is allocated in memory. These eight redundant coded data packets are sequentially traversed. For the first redundant coded data packet, the header bytes are skipped, the starting physical address of the data payload in memory is obtained, and this address is written to the first element of the one-dimensional pointer array. For the second redundant coded data packet, the starting physical address of the data payload in memory is extracted and written to the second element of the one-dimensional pointer array. This process continues until the starting physical address of the data payload of the eighth redundant coded data packet is written to the eighth element of the one-dimensional pointer array, thus arranging the data payloads of the eight received redundant coded data packets into a vector of constant terms of the linear equation system.
[0080] Adaptive column pivoting is a crucial step in solving systems of linear equations in a binary domain. Its purpose is to transform the coefficient matrix into an upper triangular matrix that facilitates back-substitution. Since the operations are performed within a binary domain, all addition and subtraction operations are equivalent to bitwise XOR operations. The elimination operation starts from the first column of the coefficient matrix and searches for the pivot column by column. To improve the efficiency and success rate of the elimination process, the adaptive column pivoting selection logic searches for the first diagonal element with a value of 1 in the current column's rows to be processed. If the current diagonal element is zero, it searches for the row below with a value of 1 at its first position and swaps these two rows, thus placing the value 1 in the pivot position. After determining the column pivot, the pivot row is used to perform binary domain row elimination on all rows below that have a value of 1 in the corresponding position in the current column. Row elimination is achieved by bitwise XORing the row below with the pivot row, clearing all coefficients of the row below to zero in the current column. This process of finding the pivot and performing XOR elimination is repeated until the coefficient matrix is transformed into an upper triangular matrix.
[0081] In practice, for the constructed 8x8 coefficient matrix, the elimination control logic first points to the first column. It searches through rows 1 to 8 for rows where the first column's value is 1. If the value in the first column of the first row is zero, and the value in the first column of the third row is 1, then the coefficients of the first and third rows are swapped, and the data payload pointers of the first and third bits in the constant term vector are swapped accordingly. After the swap, with the first row as the pivot row, rows 2 to 8 are traversed. If the value in the first column of the fifth row is also 1, the corresponding bits of the 8-bit coefficients of the fifth row and the 8-bit coefficients of the first row are XORed, and the data payload pointed to by the fifth row is XORed with the data payload pointed to by the first row, thus eliminating the 1 in the first column of the fifth row. Similar pivot search and XOR elimination are performed on subsequent columns, ultimately converting the 8x8 coefficient matrix into an upper triangular matrix.
[0082] When the coefficient matrix of a system of linear equations in a binary domain is transformed into an upper triangular matrix, the last equation of the system will contain only one unknown variable. The back-substitution operation is based on this algebraic characteristic of the upper triangular matrix. It iteratively solves for all unknown variables, starting from the last unknown variable. The back-substitution process begins with the last column and row of the upper triangular matrix. Since the diagonal elements of the last row of the coefficient matrix are necessarily one, the value of the last unknown variable is obtained directly through the last term of the constant term vector. Then, the solved value of the unknown variable is substituted into the penultimate equation. By performing an XOR operation with the corresponding coefficient, the known terms in the penultimate row are eliminated, thus solving for the penultimate unknown variable. This process continues. In each iteration, all the solved values of the unknown variables are used to eliminate the corresponding known terms in the current row, thus solving for the value of each unknown variable in reverse order.
[0083] In practice, for the transformed 8th-order upper triangular matrix, the back-substitution logic starts from the 8th row and 8th column. Since only the coefficient of the 8th column in the 8th row is one, the value of the 8th unknown variable is directly equal to the content of the 8th data payload in the constant term vector. Next, the back-substitution logic moves to the 7th row, which contains the coefficients of the 7th and 8th columns. It reads the value of the 8th unknown variable and multiplies it with the coefficient of the 7th row and 8th column. If the coefficient is one, it performs a bitwise XOR operation between the 7th data payload and the data of the 8th unknown variable to solve for the value of the 7th unknown variable. The back-substitution logic continues to iterate upwards, successively moving to the 6th row, the 5th row, and so on until the 1st row. In each step, it uses the previously obtained unknown variables to perform XOR elimination on the data payload of the current row, finally solving for the values of all eight unknown variables in sequence.
[0084] The values of the unknown variables obtained through linear elimination physically correspond to the original emergency command data packets queued and encoded in the sliding window buffer at the sending end. Since the sending end fills the original data packets into the sliding window in chronological order during encoding, each element in the unknown variable vector obtained through back-substitution strictly corresponds to the original data at each temporal position within the sliding window. To reconstruct these discrete unknown variable values into original commands recognizable by the terminal, the values of each unknown variable need to be reordered according to the sliding window index. After sorting, the data reconstruction logic reads the data length of each unknown variable, removes any padding bytes introduced during encoding, and concatenates these discrete data blocks into a continuous byte stream in memory according to the standard network protocol message format, thus completely reconstructing the original emergency command data packet.
[0085] In practice, back-substitution solver obtains the values of eight independent unknown variables, each representing one of the eight original emergency command data packets encoded. The data reconstruction logic first reads the relative positions of these eight unknown variables within their corresponding original windows, recorded in the decoding session structure. Based on their relative positions, the values of the eight unknown variables are arranged in a temporary memory buffer. Then, the data of the first unknown variable is read sequentially and written to a newly created output data stream. Next, the data of the second unknown variable is read and appended to the output data stream. This process continues, sequentially writing the data of the third through eighth unknown variables into the output data stream. This reassembles the values of the eight unknown variables back into the original emergency command data packet, which is then immediately delivered to the hydropower station's emergency execution terminal.
[0086] After successfully reconstructing the original emergency command data packet and delivering it to the terminal, the current decoding session is complete. It is crucial to promptly release the occupied system resources and prevent redundant reception from wasting network resources. Clearing the corresponding decoding session's receive ring buffer involves resetting the status flags of each storage slot occupied by the corresponding decoding session to an idle state in the memory management table, allowing subsequent data packets from other sliding windows to be written into these memory spaces. Simultaneously, due to the multi-path parallel distribution mechanism used by the sender, some redundant encoded data packets that lag on links with significant transmission delays may arrive only after decoding is complete. To prevent the receiver from repeatedly triggering decoding calculations, a historical index table of completed sessions must be established in memory, recording the sliding window indices that have been successfully decoded. When a new redundant encoded data packet arrives, it is first compared to the historical index table; if it is found to have the same sliding window index, it is discarded and ignored.
[0087] In practice, after the decoding session with a session identifier of 10 successfully reconstructs the original data packet, the memory management program traverses the receive circular buffer, finds all storage slots containing redundant encoded data packets with a sliding window index of 10, clears the occupancy flags of these storage slots, resets the read / write pointers, and clears the receive circular buffer. Simultaneously, the value 10 is written as the completed window index into the completed session history list maintained in memory. When the receiving port subsequently receives a late redundant encoded data packet with a sliding window index of 10, the packet parsing program reads the index value in the packet header and searches the completed session history list. Since the value 10 is found, the receiving logic directly discards this late redundant encoded data packet at the network interface card without performing any buffering or parsing operations, completely ignoring subsequent redundant encoded data packets with the same sliding window index.
[0088] The present invention also discloses a multi-domain integrated emergency communication and dispatch system for hydropower stations, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the multi-domain integrated emergency communication and dispatch method for hydropower stations as described above.
[0089] The processor can be a central processing unit (CPU). Of course, depending on the actual use, it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc., and this application does not limit it.
[0090] The memory can be an internal storage unit of a computer device, such as a hard disk or RAM, or an external storage device, such as a plug-in hard disk, smart memory card (SMC), secure digital card (SD), or flash memory card (FC) provided on the computer device. Furthermore, the memory can be a combination of internal storage units and external storage devices of a computer device. The memory is used to store computer programs and other programs and data required by the computer device. The memory can also be used to temporarily store data that has been output or will be output. This application does not limit this.
[0091] The present invention also discloses a computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the multi-domain fusion emergency communication scheduling method for hydropower stations described in any of the above embodiments.
[0092] The computer program can be stored in a machine-readable medium. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or certain middleware. The machine-readable medium includes any entity or device capable of carrying computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the machine-readable medium includes, but is not limited to, the above-mentioned components.
[0093] The multi-domain fusion emergency communication and dispatching method for hydropower stations described in the above embodiments is stored in the computer-readable storage medium and loaded and executed on the processor to facilitate the storage and application of the above method.
[0094] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of protection of this application is limited to these examples; within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of one or more embodiments of this application as described above, which are not provided in detail for the sake of brevity.
[0095] One or more embodiments in this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of this application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments in this application should be included within the protection scope of this application.
Claims
1. A multi-domain integrated emergency communication dispatch method for hydropower stations, characterized in that, Includes the following steps: Collect local link status parameters of each communication physical domain boundary gateway of the hydropower station, and calculate the normalized channel evaluation index based on the local link status parameters; Based on the channel evaluation index, the local state machine of each communication physical domain boundary gateway is driven to perform state transitions, and when the current state of the local state machine changes, a state transition packet is pushed to the adjacent boundary gateway to dynamically update the cross-domain state directory that records the running status of each cross-domain path in the adjacent boundary gateway. The corresponding target cross-domain path is determined based on the original emergency instruction data packet to be transmitted, and the current operating status of the target cross-domain path is obtained based on the cross-domain status directory. The elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway are calculated. Based on the elastic channel gating parameters, the available time slot width of the non-emergency service queue in the multi-level traffic queue is compressed, and redundant sliding coding is performed on the emergency instruction queue in the multi-level traffic queue to generate redundant coded data packets. Redundant encoded data packets are distributed to the receiving border gateway via multiple active heterogeneous physical links across domains and multiple paths. The receiving boundary gateway collects redundant encoded data packets, and when the number of received redundant encoded data packets reaches the decoding threshold, it performs linear elimination decoding to restore the original emergency instruction data packet, and delivers the original emergency instruction data packet to the emergency execution terminal of the hydropower station.
2. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 1, characterized in that, The process of collecting local link status parameters of each communication physical domain boundary gateway of the hydropower station and calculating the normalized channel evaluation index based on the local link status parameters includes the following steps: The signal-to-noise ratio, packet loss rate, and round-trip delay collected at the physical layer by each communication physical domain boundary gateway are used as local link status parameters. The local link state parameters are dimensionless by using a normalized mapping function to obtain normalized link state parameters. The corresponding state parameter weights are set according to the influence weights of local link state parameters in the emergency environment of the hydropower station. The channel evaluation index representing the transmission quality of the physical link is calculated by combining the normalized link state parameters and the state parameter weights.
3. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 1, characterized in that, The process of driving the local state machine of each communication physical domain boundary gateway to perform state transitions based on the channel evaluation index, and pushing state transition packets to adjacent boundary gateways when the current state of the local state machine changes, so as to dynamically update the cross-domain state directory recording the running status of each cross-domain path in the adjacent boundary gateways, includes the following steps: In the local state machine of each communication physical domain boundary gateway, a stable state, an early warning state, and a failure state corresponding to the health level of the physical link are preset; The channel evaluation index is compared with the preset first and second critical thresholds respectively; If the channel evaluation index is greater than or equal to the first critical threshold, the current state of the local state machine is determined to be a stable state; if the channel evaluation index is less than the first critical threshold but greater than or equal to the second critical threshold, the current state of the local state machine is determined to be a warning state. If the channel evaluation index is less than the second critical threshold, the current state of the local state machine is determined to be in a failed state. When the current state of the local state machine transitions, the current state, the state before the transition, and the estimated bandwidth value of the local state machine are extracted as state update parameters, and the state update parameters are encapsulated into a state transition packet. The state transition packet is pushed to the adjacent border gateway so that the adjacent border gateway updates the cross-domain state directory that records the running status of each cross-domain path when the current state of the local state machine changes.
4. The multi-domain integrated emergency communication and dispatch method for hydropower stations according to claim 1, characterized in that, The steps of determining the corresponding target cross-domain path based on the original emergency instruction data packet to be transmitted, obtaining the current operating status of the target cross-domain path based on the cross-domain status directory, and calculating the elastic channel gating parameters of the multi-level traffic queues divided at the exit of each communication physical domain boundary gateway include the following: Based on the target receiving end in the original emergency instruction data packet to be transmitted, retrieve the target cross-domain path to the target receiving end in the cross-domain status directory; The system queries the cross-domain status directory in real time to obtain the current operating status of the target cross-domain path, and evaluates the real-time channel capacity of the target cross-domain path based on the current operating status. Multi-level traffic queues are constructed at the exit of each communication physical domain boundary gateway. These multi-level traffic queues include emergency command queues, voice service queues, and non-emergency service queues. The available time slot width of the multi-level traffic queue is calculated based on the real-time channel capacity and using a proportional reduction algorithm, and is used as the elastic channel gating parameter.
5. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 4, characterized in that, The operational states of the target cross-domain path include a stable state, an early warning state, and a failure state. The step of calculating the available time slot width of the multi-level traffic queue based on real-time channel capacity and using a proportional reduction algorithm as the elastic channel gating parameter includes the following steps: Set a fixed time-division multiplexing scheduling period as the basic scheduling time limit; The original maximum physical bandwidth of the target cross-domain path in a steady state is used as the standard bandwidth benchmark, and the ratio of the real-time channel capacity to the standard bandwidth benchmark is calculated to obtain the bandwidth reduction factor. When the bandwidth reduction factor is less than the preset safety ratio threshold, the available time slot width of the non-emergency service queue is directly set to zero, so that the transmission channel of the non-emergency service queue is closed within the basic scheduling time limit. Multiply the original timeslot width of the voice service queue within the basic scheduling time limit by the bandwidth reduction factor to obtain the reduced voice service timeslot width. If the reduced voice service timeslot width is less than the preset minimum voice guarantee timeslot, the available timeslot width of the voice service queue will be reset to the minimum voice guarantee timeslot. If the reduced voice service timeslot width is greater than or equal to the minimum voice guarantee timeslot, the reduced voice service timeslot width will be used as the available timeslot width of the voice service queue. The available time slot width of the voice service queue is deducted from the basic scheduling time limit, and the remaining time slot width is allocated to the emergency command queue to obtain the available time slot width of the emergency command queue.
6. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 1, characterized in that, The process of compressing the available time slot width of non-emergency service queues in multi-level traffic queues based on elastic channel gating parameters, and performing redundant sliding coding on emergency instruction queues in multi-level traffic queues to generate redundant coded data packets includes the following steps: By using elastic channel gating parameters, the gating switches corresponding to non-emergency service queues are closed to completely block non-emergency service traffic. Configure a sliding window buffer at the output end of the emergency command queue, and fill the continuously flowing raw emergency command data packets into the sliding window buffer in sequence until the sliding window buffer is full; The preset linear XOR generator is used to perform pairwise algebraic XOR operations on the original emergency instruction data packets in the sliding window buffer to generate multiple verification redundancy packets with different degree distribution characteristics. The original emergency instruction data packet is combined and encapsulated with the verification redundancy packet to generate a redundant coded data packet.
7. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 6, characterized in that, The operational states of the target cross-domain path include a stable state, an early warning state, and a failure state. The step of distributing redundant encoded data packets to the receiving border gateway via multiple heterogeneous physical links in an active state includes the following steps: Select multiple heterogeneous physical links whose current running status is stable or warning from the cross-domain status directory and mark them as the set of active paths; Calculate the proportion of redundant information contained in each redundant coded data packet; Based on the real-time bandwidth and round-trip latency of each physical link in the active path set, allocate a transmission load ratio to each physical link in the active path set. Redundant coded data packets are split into multiple sub-data packet groups according to the proportion of transmitted payload; A staggered interleaving mapping algorithm is used to rearrange the sending order of data packets in each sub-data packet group within multiple sub-data packet groups; The rearranged sub-data packets are distributed to the receiving edge gateway in parallel across domains via multiple heterogeneous physical links.
8. The multi-domain integrated emergency communication dispatch method for hydropower stations according to claim 1, characterized in that, The process of collecting redundant coded data packets at the receiving end boundary gateway, performing linear elimination decoding to restore the original emergency command data packet when the number of received redundant coded data packets reaches the decoding threshold, and delivering the original emergency command data packet to the emergency execution terminal of the hydropower station includes the following steps: Create a receive ring buffer in the memory of the receiving border gateway; Redundant encoded data packets arriving via multiple heterogeneous physical links will be received and stored in a receive ring buffer; Extract the sliding window index and coding matrix coefficients carried in the header of redundant encoded data packets, and assign the sliding window index and coding matrix coefficients to the corresponding decoding session; Count the number of redundant encoded data packets that have been successfully received in the corresponding decoding session; When the number of packets reaches the decoding threshold equal to the sliding window size, a decoding interrupt is triggered to the processor of the receiving boundary gateway to start linear elimination decoding, restore the original emergency instruction data packet, and deliver the original emergency instruction data packet to the hydropower station emergency execution terminal.
9. A multi-domain integrated emergency communication and dispatch system for hydropower stations, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the multi-domain fusion emergency communication and dispatch method for hydropower stations as described in any one of claims 1 to 8.
10. A computer-readable storage medium storing instructions thereon, characterized in that, When executed by a processor, the instruction causes the processor to be configured to perform the multi-domain fusion emergency communication scheduling method for hydropower stations according to any one of claims 1 to 8.