Communication node optimization method for dual-redundancy DCS control system
Through the communication node optimization method of the data distributor, the three-level processing order and intelligent master-slip switching of data in the dual redundant DCS system are realized, solving the main DPU crash caused by data surge, and improving the system's reliability and resource utilization rate.
Patent Information
- Application Number
- CN202511053111.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-30
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-07-30
AI Technical Summary
When the existing dual redundant DCS control system faces sudden data surges, the main DPU is prone to crash, the cold backup mode resources are idle, and the hot backup mode synchronization overhead is large and complex. How to reasonably utilize the backup DPU resources to avoid the main DPU crash has not been effectively solved.
Communication data classification is carried out through the data distributor, three-level message processing order is established, and different priority processing of state change channels, timing messages and buffered messages are used, and dynamic routing of mapping tables and intelligent master-secure switching strategies are combined to optimize data flow and resource utilization.
Effectively prevent system avalanches, improve the utilization rate of backup DPUs, reduce the load pressure of the main DPUs, ensure that key resources are not blocked, achieve rapid recovery, and improve system reliability and response integrity.
Smart Images

Figure CN120560209A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of industrial automation control, and in particular to a communication node optimization method for a dual-redundant DCS control system. Background Art
[0002] Distributed Control Systems (DCS) are core infrastructure in the industrial automation field. They include key components such as distributed processing units (DPUs), communication buses, and power modules. They achieve high-reliability control through a dual-redundancy design with a dual-machine active-standby architecture. In high-security scenarios such as the power and chemical industries, dual-redundant DCS systems must ensure that the backup DPU can seamlessly take over control if the primary DPU fails. In existing technologies, dual-redundancy modes are mainly divided into two categories: 1. Cold backup mode: When the primary DPU is not faulty, only the primary DPU is processing, and the backup DPU is completely idle. When the primary DPU fails, the backup DPU instantly switches to take over. The switching speed is fast and the configuration is simple, but the backup DPU hardware resources are idle for a long time, and historical data needs to be reloaded when the switch occurs.
[0003] 2. Hot backup mode: The active and standby DPUs run in parallel and synchronize data in real time, ensuring smooth switching. However, continuous communication and data comparison between the two machines are required, resulting in high synchronization overhead, increased configuration debugging complexity, and difficulty in locating faults.
[0004] Although the dual redundancy mechanism improves system availability, the problem of primary DPU crash caused by instantaneous data surge has not been effectively solved. Figure 1 The following diagram shows the architecture of a dual-redundant DCS control system in existing technology. It uses cold backup mode, with the primary DPU directly processing all data. When a traffic surge causes a crash, the backup DPU must be switched to the backup DPU. However, how to effectively utilize the backup DPU resources and prevent the primary DPU from crashing due to sudden data surges has become a pressing issue. Summary of the Invention
[0005] In view of this, in order to solve the problems brought about by the prior art, the present application provides a communication node optimization method for a dual-redundant DCS control system.
[0006] In a first aspect, the present disclosure provides a communication node optimization method for a dual-redundant DCS control system, which is applied to a data distributor, the data distributor being disposed between a DPU and an IO adapter board. The method comprises: S100, obtaining a buffered message in the communication data; S200, maintaining a mapping table, wherein the key of the mapping table is the data type of the buffered message, and the value is the distribution direction of the buffered message, and the buffered message is dynamically routed to the active DPU or the standby DPU based on the mapping table; S300: When the active DPU cannot respond to the client's message, an intelligent active / standby switching strategy is executed.
[0007] Optionally, step S100 specifically includes: Communication data is divided into three categories through the Golang channel mechanism: The response message is triggered by the status change channel c.statusChange and has the highest priority; Timing messages are triggered by the timer channel c.timing.C and have a medium priority. The buffered message is triggered by the delay queue time.After and has the lowest priority.
[0008] Optionally, step S200 specifically includes: Determining a data type of the buffered message, and if the data type of the buffered message indicates that there is no logical coupling, sending the buffered message to a standby DPU; If the data type of the buffered message is logical coupling, the buffered message is sent to the master DPU; The mapping table is synchronized to all nodes in real time.
[0009] Optionally, determining the data type of the buffered message includes: By parsing the function call relationship and data flow path in the DPU source code, the logical coupling of the buffered message is determined and the type of the buffered message is verified; The method of determining the logical coupling of buffered messages by parsing the function call relationship and data flow path in the DPU source code includes: When the buffered message is called only when obtaining the buffered message, storing the buffered message in the database, and receiving the response message, the buffered message is determined to be a buffered message without logical coupling, otherwise it is a buffered message with logical coupling.
[0010] Optionally, step S300 specifically includes: S301: The client sends a secondary response message to the standby DPU. The standby DPU verifies the integrity of the standby DPU's local data. If the data is complete, the standby DPU directly responds to the client's request. If the data is incomplete, the standby DPU receives the first data request sent by the standby DPU. S302: Counting the data volume distribution in the primary and backup DPUs and the local queue based on the first data request, and selecting a unique responder from the primary and backup DPUs to execute the secondary response message according to the statistical result; S303: The determined unique responder performs cross-node data aggregation and feeds back the data aggregation result to the client.
[0011] Optionally, step S302 specifically includes: S3021: Based on the first data request, count the amount of valid data d1 in the primary DPU, including the data required by the first data request, the amount of data d2 processed by the backup DPU, and the amount of data required by the second response message in the local queue. S3022: Select a unique responder from the master and slave DPUs according to the length of the local queue to execute the secondary response message.
[0012] Optionally, step S3022 specifically includes: When d1> p * (d2 + d3), the master DPU is designated as the only responder; When d1≤ p * (d2 + d3), the standby DPU is designated as the only responder; The p is a dynamic weight coefficient, which is adaptively adjusted according to the length of the local queue.
[0013] Optionally, step S303 specifically includes: S3031: Send a second data request to the non-unique responding end, where the data corresponding to the second data request is data stored in the non-unique responding end and required for executing the secondary response message; S3032: Acquire corresponding data according to the second data request, integrate the corresponding data with the data stored in the local queue and required for executing the second response message, and send the data to the unique responder; S3033, the unique responder performs aggregation processing based on the data stored locally and required for executing the secondary response message, and the integrated data obtained from the data distributor, and feeds back to the client.
[0014] In a second aspect, the present disclosure provides an electronic device comprising a memory and at least one processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the communication node optimization method for a dual-redundant DCS control system according to the first aspect.
[0015] In a third aspect, the present disclosure provides a computer storage medium storing a computer program. When the computer program is executed, the communication node optimization method for a dual-redundant DCS control system described in the first aspect is implemented.
[0016] The beneficial effects of the present disclosure are that, compared with the prior art, the present disclosure has the following advantages: 1) By establishing a three-tiered message processing hierarchy, the data flow paradigm of the dual-redundant DCS system has been fundamentally restructured. Response messages utilize the status change channel (c.statusChange) for highest priority preemption, ensuring that operational instructions and safety alerts never block critical resources. Timed messages utilize the fixed-interval trigger (c.timing.C) to maintain the basic control loop, ensuring that core real-time functions are not disrupted. Buffered messages rely on the delay queue (time.After) to activate during system idle windows, strictly limiting the processing of non-real-time tasks to fragmented resources. This hierarchical architecture effectively prevents system avalanches caused by surges in routine data.
[0017] 2) A mapping table mechanism accurately distributes independent buffered messages to backup DPUs, synchronizing the mapping table to all nodes in real time to ensure data location traceability. This mechanism completely restructures the value chain of cold backup resources, transforming the backup DPU from a completely idle state into a "warm standby processor" capable of sharing non-critical loads. This significantly reduces the processing pressure on the primary DPU and mitigates the risk of crashes caused by instantaneous data surges.
[0018] 3) When the primary DPU crashes due to a data surge, efficient recovery is achieved through an intelligent master-slave switching strategy, forming a technical closed loop that fundamentally solves the retry deadlock. This ensures that the client will receive a complete response within two requests, completely resolving the fatal defect of repeated retries triggered by empty response messages, which can lead to system paralysis.
[0019] In summary, the present disclosure provides a communication node optimization method for a dual-redundant DCS control system. Through the triple operations of data classification, mapping table dynamic routing, and intelligent master-slave switching, a "prevention-optimization-cure" system is formed, which enables the standby DPU to be transformed from a passive cold standby to an active load-sharing node, maximizes hardware utilization, and significantly reduces the risk of system loss of control and improves reliability through hierarchical prevention and rapid reorganization after crashes. It is universally applicable to industrial scenarios that need to deal with sudden data streams. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0021] Figure 1 A schematic diagram of a dual-redundant DCS control system architecture in the prior art is shown.
[0022] Figure 2 A schematic diagram of the dual-redundant DCS control system architecture provided by an embodiment of the present disclosure is shown.
[0023] Figure 3A flow chart of a communication node optimization method for a dual-redundant DCS control system provided by an embodiment of the present disclosure is shown.
[0024] Figure 4 It is a communication diagram of a dual redundant DCS control system.
[0025] The above drawings illustrate specific embodiments of the present disclosure, which will be described in more detail below. These drawings and textual descriptions are not intended to limit the scope of the present disclosure in any way, but rather to illustrate the concepts of the present disclosure to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0026] The present disclosure is further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solutions of the present disclosure and are not intended to limit the scope of protection of the present disclosure.
[0027] The components of the embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the figures is not intended to limit the scope of the claimed invention, but rather merely represents selected embodiments of the present invention. All other embodiments derived by those skilled in the art based on the embodiments of the present invention without inventive effort are intended to be within the scope of protection of the present invention.
[0028] Hereinafter, the terms "including", "having" and their cognates, which may be used in various embodiments of the present invention, are intended only to indicate specific features, numbers, steps, operations, elements, components or combinations of the foregoing items, and should not be understood as first excluding the existence of one or more other features, numbers, steps, operations, elements, components or combinations of the foregoing items or the possibility of adding one or more features, numbers, steps, operations, elements, components or combinations of the foregoing items.
[0029] Furthermore, the terms “first”, “second”, etc. are merely used for distinguishing descriptions and should not be understood as indicating or implying relative importance.
[0030] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which the various embodiments of the present invention pertain. Terms (such as those defined in generally used dictionaries) will be interpreted as having the same meaning as their contextual meaning in the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning unless clearly defined in the various embodiments of the present invention.
[0031] Figure 1 This is a schematic diagram of the dual redundant DCS control system architecture of the existing technology, such as Figure 1As shown, it includes: Client: Connects to the switch through a network line and then integrates into the system network to realize system engineering configuration, operation control and other functions; Switch: Connects to the active DPU and standby DPU respectively, exchanges network data, and builds a link between the control core and signal transfer; DPU: The core computing engine of DCS, with dual redundancy of main DPU and backup DPU; Storage module: provides data redundancy and real-time synchronization between the active and standby DPUs, ensuring system reliability and continuity; IO adapter board: used for signal transfer; Branch: used for wiring collection, electrical isolation, protection signals, etc. It is generally grouped by logical area for easy fault location and modification; Field instruments: include various sensors and detection equipment, such as pressure transmitters, temperature sensors and other field detection equipment, as well as cameras, etc., which are used to collect field operating parameters. They are connected to branches (branch 1-branch N) through lines, and the branches are connected to the IO adapter board to transmit the field data to the system.
[0032] In order to solve the DPU crash problem caused by the instantaneous data surge of the DCS control system in the prior art, this application improves the dual redundant DCS control system architecture based on the prior art. Figure 2 shown. Figure 2 Schematic diagram of a dual-redundant DCS control system architecture provided according to an embodiment of the present disclosure.
[0033] like Figure 2 As shown, the dual redundant DCS control system provided in this embodiment adds a data distributor on the basis of the existing technology, which is connected to the main DPU and the backup DPU respectively, and the other end is connected to the IO adapter board for processing buffered data.
[0034] based on Figure 2 The dual redundant DCS control system architecture shown in FIG, the present application embodiment provides a communication node optimization method for a dual redundant DCS control system, such as Figure 3 As shown, the method is applied to a data distributor, which is arranged between the DPU and the IO adapter board.
[0035] A data distributor for processing buffered messages is set up between the DPU and the IO adapter board. Its operating mechanism relies on the refined identification of data flows and resource coordination. During implementation, it is necessary to first reconstruct the hardware connection topology and adjust the original one-way channel of the DPU directly connected to the IO adapter board to a two-way diversion architecture: the input end of the data distributor is connected to the communication interface of the main DPU and the backup DPU respectively, and the output end is directly connected to the data receiving port of the IO adapter board, forming a triangular data path. A multi-level buffer pool management mechanism is adopted inside the data distributor. When a non-real-time data stream arrives from a field instrument, its built-in protocol parsing engine will perform instant classification according to the type identification field in the packet header (such as the specific flag bit in the Modbus TCP function code). For data packets identified as buffered messages, the system imports them into a priority queue buffer area composed of memory blocks. The depth parameter of this buffer area needs to be dynamically adjusted according to the available capacity of the storage module.
[0036] refer to Figure 4 , which may include the following steps: S100, obtaining a buffered message in the communication data; In some embodiments, communication data is categorized into response messages, timed messages, and buffered messages. Golang is a statically strongly typed, compiled language with strong expressiveness. The core of using Golang to categorize communication data is managing three types of messages through a channel mechanism. First, three key triggers are defined, corresponding to the processing entry points for the three types of messages. Response messages are triggered by the status change trigger c.statusChange, which has the highest priority. The channel receiver listens via select, triggering the response message processing function f1(). Timed messages are triggered by the timing trigger c.timing.C, which has a medium priority. Time events are sent to the c.timing.C channel at a fixed interval of c.interval seconds, triggering function f2() to process real-time sensor data. Timed messages often have strong logical coupling. Buffered messages are triggered by the buffer trigger queue.C, which has the lowest priority and is only active when the system is idle. That is, when there are no statusChange or timing.C events, the queue channel is processed, triggering function f3() to process non-real-time data. Buffered messages are subject to the processing speed of scheduled and response messages and can be interrupted at any time by higher-priority events. Therefore, buffered messages typically refer to messages with large data volumes and low real-time requirements. By prioritizing communication data processing, critical functions can be prevented from being paralyzed when the DPU is heavily loaded.
[0037] The above implementation code is as follows: c :=&Client{ C: make(chan interface{}, 3000), / / Create a general channel with a buffer capacity of 3000 to receive all types of messages statusChange: make(chan struct{}, 2), / / Status change channel (unbuffered), highest priority, used to trigger immediate response messages interval: 1, / / Timer interval (seconds), controls the processing frequency of timed messages buffer: 60, / / Buffer message waiting time (seconds), determines the maximum delay of non-real-time messages } func (c *Client) Start() { c.timing = time.NewTicker(time.Duration(c.interval) * time.Second) / / Create a timer trigger (1 second period) queue := time.After(time.Duration(c.buffer) * time.Second) / / Create a buffered delay trigger (60 seconds timeout) defer c.timing.Stop() / / Stop the timer when the function exits defer queue.Stop() / / Stop the buffer timer for { select { case<-c.statusChange: / / Response message trigger c.f1() / / Process high priority tasks case<-c.timing.C: / / Timing message trigger (every 1 second) c.f2() / / Process periodic tasks case<-queue.C: / / Buffered message trigger (60 seconds timeout or idle) c.f3() / / Process non-real-time batch data... } } } In the technical solution of the disclosed embodiment, by classifying communication data, the data flow paradigm of the dual-redundant DCS system is fundamentally reconstructed, a strict message processing priority order is established, and response messages implement interrupt responses through the statusChange channel to ensure that operation instructions and safety alarms are never blocked; timing messages are triggered by the timing.C cycle to maintain the basic control loop and achieve resource isolation optimization, and buffered messages utilize fragmented computing resources through the time.After idle time mechanism. When data surges, buffered messages automatically give way, ensuring immediate response to emergency instructions and preventing regular data surges.
[0038] S200, maintaining a mapping table, wherein the key of the mapping table is the data type of the buffered message, and the value is the distribution direction of the buffered message, and the buffered message is dynamically routed to the active DPU or the standby DPU based on the mapping table; To further avoid data surge, in some embodiments, the data distributor generates a mapping table by parsing the DPU source code during the system initialization phase. This process identifies the type of buffered message through static code analysis. The types of buffered messages are divided into those with logical coupling and those without logical coupling. Those skilled in the art understand that the logical coupling of the buffered message refers to whether the buffered message depends on other communication data or system status during the DPU processing process. Specifically, if the buffered message needs to be combined with other data (such as real-time sensor readings, historical analysis results) to generate a valid output, then there is logical coupling. For example, the vibration spectrum data of the turbine needs to be calculated together with the bearing temperature data to determine the risk of mechanical failure. If the buffered message can be stored, called or responded to independently without cross-data interaction, it is considered that there is no logical coupling. For example, the maintenance log only needs to be archived to the database by timestamp, or respond to independent query requests.
[0039] The method for determining the type of the buffered message includes: determining the logical coupling of the buffered message by parsing the function call relationship and data flow path in the DPU source code, and verifying the type of the buffered message.
[0040] In one embodiment, the determining of the logical coupling of the buffered messages by parsing the function call relationship and data flow path in the DPU source code includes: When the buffered message is called only when obtaining the buffered message, storing the buffered message in the database, and receiving the response message, the buffered message is determined to be a buffered message without logical coupling, otherwise it is a buffered message with logical coupling.
[0041] In one embodiment, verifying the type of the buffered message includes: injecting a buffered data stream during the system testing phase, isolating the target data type (such as shielding a temperature sensor), and observing whether the buffered message processing result is abnormal; if the output result is still valid, it is confirmed that there is no logical coupling, such as independently generating a log file; if the output fails, there is logical coupling, such as a fault diagnosis function reporting an error due to lack of temperature data.
[0042] Based on the logical coupling of the buffered messages, the mapping table key is generated by extracting the parameter type of the buffered message processing function in the source code and mapping it to the buffered message type identifier. The value assignment rule in the mapping table includes the following: if the data type of the buffered message indicates no logical coupling, the distribution direction is marked as 1, indicating that it is sent to the backup DPU; if the data type of the buffered message indicates that it is logically coupled, the distribution direction is marked as 0, indicating that it is sent to the primary DPU.
[0043] Furthermore, the mapping table is synchronized to all nodes in real time to ensure that the data location is traceable.
[0044] In the technical solution of the disclosed embodiment, the communication data classification mechanism and the dynamic routing of the mapping table constitute two core lines of defense. Data classification fundamentally prevents system avalanches caused by conventional data surges by establishing a three-level message processing order. On this basis, based on the static analysis of the DPU source code, the logical coupling of buffered messages is accurately identified and diverted to the backup DPU for processing, significantly reducing the peak load of the main DPU.
[0045] However, these two technologies are still insufficient for the extreme scenario of a sudden crash of the primary DPU. Specifically, when the primary DPU crashes due to a momentary overload, the data stored in the distributed mapping table becomes fragmented, and the response data requested by the client often requires cross-source aggregation (for example, a vibration spectrum needs to be combined with temperature recording data). In this case, the buffered message is not processed in a timely manner and is forced to return an "incomplete data" response. This scenario causes the client to repeatedly retry the request, squeezing the remaining system resources until the response channel is completely paralyzed, creating a vicious cycle. To further avoid this flaw, a dynamic data aggregation engine is required to select the optimal recovery path after the primary DPU crashes.
[0046] S300: When the active DPU cannot respond to the client's message, an intelligent active / standby switching strategy is executed.
[0047] In an optional embodiment, when the client sends a response message to the primary DPU, if the primary DPU crashes due to a data surge or becomes unresponsive due to overload, and the system detects a timeout or empty data return, the process start condition of the intelligent primary-backup switching strategy is triggered. By identifying the failure status of the primary DPU, a basis is provided for subsequent switching to the backup node.
[0048] The step S300 includes: S301: The client sends a secondary response message to the standby DPU. The standby DPU verifies the integrity of the standby DPU's local data. If the data is complete, the standby DPU directly responds to the client's request. If the data is incomplete, the standby DPU receives the first data request sent by the standby DPU. In an optional embodiment, when the main DPU is unable to respond to the client's message, the client automatically turns to the backup DPU to send the same request. For example, when the response message requests a vibration spectrum report for a certain period of time, the backup DPU searches to see if it has processed all the buffered messages required for the request. If the vibration spectrum data has been routed to the backup DPU through the mapping table, the backup DPU directly returns the vibration spectrum report requested by the client to the client; if the vibration spectrum data needs to be associated with other data of the main DPU or the data distributor to be obtained, the backup DPU sends a first data request to the data distributor, and the first data request includes the data required for the secondary response message and the corresponding timestamp.
[0049] S302: Counting the data volume distribution in the primary and backup DPUs and the local queue based on the first data request, and selecting a unique responder from the primary and backup DPUs to execute the secondary response message according to the statistical result; The step S302 includes: S3021: Based on the first data request, count the amount of valid data d1 in the primary DPU, including the data required by the first data request, the amount of data d2 processed by the backup DPU, and the amount of data required by the second response message in the local queue. S3022: Select a unique responder from the active and standby DPUs according to the length of the local queue to execute the secondary response message.
[0050] In an optional embodiment, to execute the secondary response message, the amount of data received by the primary DPU is d1, the amount of data received by the backup DPU is d2, and the amount of data in the data distributor is d3. The data distributor selects a unique responder from the primary and backup DPUs by comparing d1 with p * (d2 + d3): When d1> p * (d2 + d3), the master DPU is designated as the only responder; When d1≤ p * (d2 + d3), the standby DPU is designated as the only responder; p is a dynamic weight coefficient that can be adaptively adjusted based on the length of the queue in the data distributor. Optionally, the longer the queue, the larger the p value, that is, the larger the data volume, the more likely it is to use a backup DPU. The DPU with lower aggregation cost is selected based on the data distribution ratio to avoid duplicate processing across nodes.
[0051] S303: The determined unique responder performs cross-node data aggregation and feeds back the data aggregation result to the client.
[0052] The step S303 includes: S3031: Send a second data request to the non-unique responding end, where the data corresponding to the second data request is data stored in the non-unique responding end and required for executing the secondary response message; S3032: Acquire corresponding data according to the second data request, integrate the corresponding data with the data stored in the local queue and required for executing the second response message, and send the data to the unique responder; S3033, the unique responder performs aggregation processing based on the data stored locally and required for executing the secondary response message, and the integrated data obtained from the data distributor, and feeds back to the client.
[0053] In an optional embodiment, when the main DPU serves as the only responding end, the data distributor sends a second data request to the backup DPU, requiring the backup DPU to feed back the data volume d2 to the data distributor. After the data distributor receives the data volume d2, it integrates the data volumes d2 and d3, aligns them by timestamp, and sends them uniformly to the only responding end main DPU to ensure that the secondary response message can obtain complete data. Finally, the main DPU integrates all the data (i.e., including local data d1 + forwarded data d2 and d3), generates a complete response (such as a spectrum analysis report) and returns it to the client. Conversely, when the backup DPU serves as the only responding end, the data distributor sends a second data request to the main DPU, requiring the main DPU to feed back the data volume d1 to the data distributor. After the data distributor receives the data volume d1, it integrates the data volumes d1 and d3, aligns them by timestamp, and sends them uniformly to the only responding end backup DPU to ensure that the secondary response message can obtain complete data. Finally, the standby DPU integrates all the data (including local data d2 + forwarded data d1 and d3) and generates a complete response to return to the client.
[0054] In the technical solution of the embodiment of the present disclosure, the intelligent master-slave switching strategy eliminates the conflict risk of parallel processing of the master and standby DPUs by setting a unique response end, selects the optimal aggregation path by quantifying data distribution decisions, avoids the vicious cycle caused by repeated retries of the client, and uses the data distributor as a data exchange hub to avoid the overloaded historical data delay of traditional cold standby switching.
[0055] In summary, the present invention fundamentally reconstructs the data flow paradigm of the dual-redundant DCS system by establishing a three-level message processing order. Response messages use the status change channel c.statusChange to achieve the highest priority preemption, ensuring that operating instructions and safety alarms never block critical resources; timed messages maintain the basic control loop through the fixed interval trigger c.timing.C to ensure that real-time core functions are not interfered with; buffered messages rely on the delay queue time.After to be activated in the system idle window, strictly limiting non-real-time tasks to fragmented resources for processing. This hierarchical architecture effectively prevents system avalanches caused by conventional data surges. The present invention also accurately diverts independent buffered messages to the backup DPU based on the mapping table mechanism, and synchronizes the mapping table to all nodes in real time to ensure that the data location is traceable. This mechanism completely reconstructs the value chain of cold backup resources. The backup DPU is transformed from a completely idle state to a "warm standby processor" that can share non-critical loads, significantly reducing the processing pressure of the main DPU and alleviating the risk of crashes caused by instantaneous data surges from the source. When the primary DPU crashes due to a data surge, an intelligent master-standby switching strategy enables efficient recovery, forming a closed-loop technology that eradicates retry deadlocks. This ensures that clients receive a complete response within two requests, completely resolving the fatal flaw of system paralysis caused by repeated retries triggered by empty response messages. This invention utilizes a triple-operational approach: data classification, dynamic routing through mapping tables, and intelligent master-standby switching. This creates a "prevention-optimization-cure" system, transforming the standby DPU from a passive cold standby to an active load-sharing node, maximizing hardware utilization. Through hierarchical prevention and rapid post-crash reconfiguration, it significantly reduces the risk of system failure and improves reliability. This approach is universally applicable to industrial scenarios that must cope with sudden data flows.
[0056] According to an embodiment of the present disclosure, an electronic device is provided. The electronic device may include a processor, a communications interface, a memory, and a communications bus. The processor, the communications interface, and the memory communicate with each other via the communications bus. The processor may invoke logic instructions in the memory to execute a communication node optimization method for a dual-redundant DCS control system, as provided by the aforementioned methods.
[0057] In addition, the logical instructions in the above-mentioned memory can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present disclosure is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0058] On the other hand, the present disclosure also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is implemented when executed by a processor to perform a communication node optimization method for a dual-redundant DCS control system provided by the above methods.
[0059] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0060] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.
[0061] It should be understood that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present disclosure.
Claims
1. A communication node optimization method for a dual-redundant DCS control system, applied to a data distributor, characterized in that: The data distributor is arranged between the DPU and the IO adapter board, and the method includes: S100, obtaining a buffered message in the communication data; S200, maintaining a mapping table, wherein the key of the mapping table is the data type of the buffered message, and the value is the distribution direction of the buffered message, and the buffered message is dynamically routed to the active DPU or the standby DPU based on the mapping table; S300: When the active DPU cannot respond to the client's message, an intelligent active / standby switching strategy is executed.
2. A communication node optimization method for a dual-redundant DCS control system according to claim 1, characterized in that: The step S100 includes: Communication data is divided into three categories through the Golang channel mechanism: The response message is triggered by the status change channel c.statusChange and has the highest priority; Timing messages are triggered by the timer channel c.timing.C and have a medium priority. The buffered message is triggered by the delay queue time.After and has the lowest priority.
3. The communication node optimization method for a dual-redundant DCS control system according to claim 1, characterized in that: The step S200 includes: Determining a data type of the buffered message, and if the data type of the buffered message indicates that there is no logical coupling, sending the buffered message to a standby DPU; If the data type of the buffered message is logical coupling, the buffered message is sent to the master DPU; The mapping table is synchronized to all nodes in real time.
4. A communication node optimization method for a dual-redundant DCS control system according to claim 3, characterized in that: Determining the data type of the buffered message includes: By parsing the function call relationship and data flow path in the DPU source code, the logical coupling of the buffered message is determined and the type of the buffered message is verified; The method of determining the logical coupling of buffered messages by parsing the function call relationship and data flow path in the DPU source code includes: When the buffered message is called only when obtaining the buffered message, storing the buffered message in the database, and receiving the response message, the buffered message is determined to be a buffered message without logical coupling, otherwise it is a buffered message with logical coupling.
5. The communication node optimization method for a dual-redundant DCS control system according to claim 1, characterized in that: The step S300 includes: S301: The client sends a secondary response message to the standby DPU. The standby DPU verifies the integrity of the standby DPU's local data. If the data is complete, the standby DPU directly responds to the client's request. If the data is incomplete, the standby DPU receives the first data request sent by the standby DPU. S302: Counting the data volume distribution in the primary and backup DPUs and the local queue based on the first data request, and selecting a unique responder from the primary and backup DPUs to execute the secondary response message according to the statistical result; S303: The determined unique responder performs cross-node data aggregation and feeds back the data aggregation result to the client.
6. A communication node optimization method for a dual-redundant DCS control system according to claim 5, characterized in that: The step S302 includes: S3021: Based on the first data request, count the amount of valid data d1 in the primary DPU, including the data required by the first data request, the amount of data d2 processed by the backup DPU, and the amount of data required by the second response message in the local queue. S3022: Select a unique responder from the active and standby DPUs according to the length of the local queue to execute the secondary response message.
7. The communication node optimization method for a dual-redundant DCS control system according to claim 6, characterized in that: The step S3022 includes: When d1> p * (d2 + d3), the master DPU is designated as the only responder; When d1≤ p * (d2 + d3), the standby DPU is designated as the only responder; The p is a dynamic weight coefficient, which is adaptively adjusted according to the length of the local queue.
8. The communication node optimization method for a dual-redundant DCS control system according to claim 7, characterized in that: The step S303 includes: S3031: Send a second data request to the non-unique responding end, where the data corresponding to the second data request is data stored in the non-unique responding end and required for executing the secondary response message; S3032: Acquire corresponding data according to the second data request, integrate the corresponding data with the data stored in the local queue and required for executing the second response message, and send the data to the unique responder; S3033, the unique responder performs aggregation processing based on the data stored locally and required for executing the secondary response message, and the integrated data obtained from the data distributor, and feeds back to the client.
9. An electronic device, characterized in that: The electronic device includes a memory and at least one processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the communication node optimization method for a dual-redundant DCS control system according to any one of claims 1 to 8.
10. A computer storage medium, characterized in that The device stores a computer program, which, when executed, implements the communication node optimization method for a dual-redundant DCS control system according to any one of claims 1 to 8.
Citation Information
Patent Citations
DUP equipment message management method and device thereof
CN113645151A
DCS (Distributed Control System) redundant controller main / standby switching optimization method and related device
CN116931528A
Redundant undisturbed switching method based on openPOWERLINK network and computer device
CN119135515A
Distributed service intelligent master selection method and system based on double-engine cooperation
CN119484230A
An inter-processor communication method based on message
CN1558638A