A method and system for redundant cloud-based data storage for industrial control computers
By monitoring the frequency of changes in data segments of the industrial control computer and dynamically adjusting the target upload node, the rigidity of resource scheduling in the existing technology is solved, the stability and efficiency of redundant data storage in the cloud of the industrial control computer are improved, and the risk of communication congestion is reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- 深圳市凌壹科技有限公司
- Filing Date
- 2026-05-08
- Publication Date
- 2026-07-31
AI Technical Summary
In existing cloud-based redundant data storage methods for industrial control computers, the fixed-interval upload method results in rigid resource scheduling. It is impossible to dynamically adjust the upload frequency and target nodes according to changes in data content. This leads to inconsistency loss in high-variable data segments due to write delays, and resource waste in low-variable data segments. Furthermore, it cannot be effectively controlled when there are differences in node load or when the link is close to saturation, which can easily cause data transmission bottlenecks or packet loss.
By monitoring the frequency of changes in data segments, the type of upload target node is dynamically adjusted. A multi-dimensional mapping relationship is established in conjunction with the task time window structure to achieve distribution density control between nodes and channels, redirect link load, ensure upload link stability, and balance resource allocation.
It improves the reliability and redundancy efficiency of industrial control computer data storage, reduces the risk of communication congestion, achieves a high degree of coordination and consistency between data copy configuration and upload path scheduling, and ensures the flexibility and accuracy of data transmission.
Smart Images

Figure CN122489007A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial control computer data processing technology, and in particular to a method and system for redundant cloud-based data storage of industrial control computers. Background Technology
[0002] The field of industrial control computer data processing technology involves core aspects of data acquisition, analysis, management, and transmission in industrial environments. It primarily achieves intelligent control and automated management of industrial processes by processing data from sensors and control equipment in real time. Among these methods, the industrial control computer cloud-based data redundancy storage method addresses the large amounts of critical data generated in industrial control systems. This involves uploading local data to the cloud for multiple copies for redundant storage, preventing data loss due to hardware failure or communication anomalies. Typically, a fixed-interval upload method is used, dividing the collected data into multiple segments according to preset rules and then uploading them to multiple cloud storage nodes. Redundancy backup is achieved through file slicing and multi-point distribution.
[0003] In the current process of redundant cloud data storage for industrial control computers, data segments are mainly processed by uploading at fixed intervals. This fails to dynamically adjust the upload frequency and target nodes based on the real-time and variability of data content changes, resulting in rigid resource scheduling. The upload task lacks a coordination mechanism based on task density or link capacity between cloud nodes and channels. This leads to inconsistencies in highly variable data segments due to write delays, while low-variable data segments are at risk of resource waste. When there are significant differences in node load or the link is close to saturation, effective control cannot be achieved, which can easily cause data transmission bottlenecks or packet loss. For example, data segment uploads in high-frequency sampling scenarios will continuously occupy master node resources, affecting the continuity of subsequent task scheduling. Overall, this reflects a lack of adaptive upload path capabilities based on the frequency of changes and task distribution. Summary of the Invention
[0004] The purpose of this invention is to address the shortcomings of existing technologies by proposing a method for redundant cloud-based data storage for industrial control computers.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a method for redundant cloud-based data storage of industrial control computers, comprising the following steps:
[0006] S1: Obtain all data in the industrial control computer's storage structure, divide the data segment into continuous sub-blocks, monitor the frequency of content change events in each sub-block during the upload cycle, increase the marker count value for each change and accumulate it periodically to obtain a list of data segment change frequencies.
[0007] S2: Based on the data segment change frequency list, obtain the high water level mark and low water level mark threshold standards set for each redundant node, determine whether the data segment changes more or less than the high water level mark or less than the low water level mark in a continuous period, configure the upload target node type for each data segment replica, and generate a replica node distribution configuration table.
[0008] S3: Obtain the task list of the time window for uploading tasks from the industrial control computer, extract the planned timestamp, data segment number, assigned node number and channel number of each uploading task, and establish a time window task allocation structure diagram.
[0009] S4: Based on the data segment change frequency list and the time window task allocation structure diagram, calculate the target redundant replica link occupancy, determine whether it exceeds the link capacity utilization threshold, and if it does, filter the node with the lowest load and reallocate the channel number to generate a replica channel redirection record set.
[0010] S5: Based on the replica node distribution configuration table and the replica channel redirection record set, the upload node number, channel adjustment information and corresponding change frequency of each industrial control computer data segment are summarized to generate a cloud data redundancy storage record for the industrial control computer.
[0011] As a further aspect of the present invention, the data segment change frequency list includes data fluctuation level classification, cumulative number of data block change events, and corresponding index number for the period; the replica node distribution configuration table includes the node role category to which the replica belongs, the replica write strategy level, and the number of replica distribution nodes; the time window task allocation structure diagram includes task time density scale, node channel matching graph, and task execution order chain; the replica channel redirection record set includes the channel mapping relationship before and after adjustment and the data segment link usage intensity; the industrial control computer cloud data redundancy storage record includes write channel distribution details, redundant node behavior characteristics, and data change response statistics.
[0012] As a further aspect of the present invention, the step of obtaining the data segment change frequency list specifically includes:
[0013] S111: Obtain all data mounted in the industrial control computer's storage structure, and use data frames as the basic unit. Call the starting address of each data frame and its corresponding total byte length to divide the data block sequence. Based on the physical continuity index relationship of each data block, aggregate the data blocks in address order to generate a data segment index mapping table.
[0014] S112: Based on the data segment index mapping table, obtain all sub-block contents contained in each data segment, read the timing parameters of the data upload cycle, divide the upload cycle into fixed time windows, and perform bitwise XOR operation on the byte contents of the same sub-block in each time window to determine whether the sub-block contents have undergone data state transition between adjacent time windows, record the occurrence frequency of each transition event, and generate a data sub-block change frequency matrix.
[0015] S113: Based on the frequency of each sub-block in the data sub-block change frequency matrix, perform aggregation and statistical operations according to the data segment to which it belongs. Use the data segment identifier as the grouping index, perform summation operation on the frequency values of all sub-blocks in the same data segment, and generate a data segment change frequency list.
[0016] As a further aspect of the present invention, the step of obtaining the replica node distribution configuration table specifically includes:
[0017] S211: Based on the data segment change frequency list, obtain the high water level mark threshold and low water level mark threshold in the system resource management configuration file of each redundant node, extract the change frequency threshold standards corresponding to the main node and auxiliary node, and establish a mapping relationship between the node identifier and the threshold value pair to generate a node change threshold configuration set.
[0018] S212: Based on the node change threshold configuration set and the frequency record value sequence of the same data segment in the data segment change frequency list in two consecutive periods, for each data segment, determine whether the current frequency value continuously exceeds the high water level mark or continuously falls below the low water level mark. If it is greater than the high water level threshold for two consecutive periods, it is marked as a main node write segment. If it is less than the low water level threshold for two consecutive periods, it is marked as an auxiliary node write segment, and a data segment write node identifier set is generated.
[0019] S213: Based on the write segment status of the primary and secondary nodes marked in the data segment write node identifier set, extract the unique number of each data segment and its corresponding write target node type, sort them in ascending order by number and organize them into a structured form record structure, mark the primary node as type 1, mark the secondary node as type 2, and establish a replica node distribution configuration table.
[0020] As a further aspect of the present invention, the step of determining whether the current frequency value continuously exceeds the high water level mark or continuously falls below the low water level mark further includes: if the frequency record value of a data segment in two consecutive periods does not meet the condition of continuously exceeding the high water level mark threshold or continuously falling below the low water level mark threshold, then the data segment is marked as a dynamically adjusted segment in the data segment write node identifier set; the step of marking the primary node as type 1 and the auxiliary node as type 2 further includes: setting the write target node type of the data segment marked as a dynamically adjusted segment in the data segment write node identifier set to type 0 in the replica node distribution configuration table.
[0021] As a further aspect of the present invention, the step of obtaining the time window task allocation structure diagram specifically includes:
[0022] S311: Obtain the task list of the time window for uploading tasks from the industrial control computer, and extract the timestamp, data segment number, node number and channel number of each task record in the list. Read the corresponding task metadata index, extract the task trigger time sequence by timestamp, locate the data source address range by data segment number, identify the target node ID by node number, associate the network channel identifier by channel number, establish a one-to-one mapping relationship, and generate the time window upload task parameter set.
[0023] S312: Based on the time window, upload the task parameter set, take the task plan timestamp as the horizontal axis as the main sequence, perform aggregation operation on the combination dimension composed of different node numbers and channel numbers, group the tasks with the same timestamp by node number and channel number, establish a combination key-value mapping, and generate a task time dimension mapping table by grouping the node and channel combination tasks at the same time point.
[0024] S313: Based on the structured task set in the task time dimension mapping table, extract the node channel combination pair information under each timestamp, organize the upload task allocation structure in a two-dimensional coordinate structure, set the timestamp as the main axis sequence, and the node number and channel number form a nested dimension index to establish a cross-time window task scheduling structure map and a time window task allocation structure map.
[0025] As a further aspect of the present invention, the step of obtaining the replica channel redirection record set specifically comprises:
[0026] S411: Based on the data segment change frequency list and the time window task allocation structure diagram, extract the number of upload tasks corresponding to each data segment in the current period, and count the number of tasks corresponding to the data segment in all task records on the same node. Calculate the task density of the node for the target data segment in the current period to obtain the node task density parameter group.
[0027] S412: Based on the task density of each node in the node task density parameter group and the corresponding change frequency in the data segment change frequency list, establish a one-to-one matching relationship between the corresponding node number and the data segment number, calculate and obtain the link occupancy, determine whether it exceeds the link capacity utilization threshold, and establish the link utilization judgment result.
[0028] S413: Based on the node task records marked as exceeding the link capacity utilization threshold in the link utilization judgment result, filter the node with the lowest task density in the current period, query the corresponding available channel number, replace the original node and channel configuration, update the redistribution path index, and establish a replica channel redirection record set.
[0029] As a further aspect of the present invention, the step of obtaining redundant data storage records in the cloud of the industrial control computer specifically comprises:
[0030] S511: Based on the replica node distribution configuration table and the replica channel redirection record set, retrieve all record items that have completed redundant replica writing operations within the current upload cycle, and read the triplet of channel number, node number and data segment number of the associated record, sort them in ascending order according to the priority of node number and remove duplicate items to generate a redundant replica writing completion record set.
[0031] S512: Based on the redundant replica write completion record set, extract the data segment number as the main index, match the channel adjustment information corresponding to the same data segment number from the replica channel redirection record set, extract the corresponding change frequency value from the data segment change frequency list, and generate a data segment upload mapping association table according to the data segment number, the period identifier aggregation node number, the change frequency, and the channel adjustment status.
[0032] S513: Based on each record in the data segment upload mapping association table, aggregate the node number, channel number, and change frequency corresponding to all data segments under each industrial control computer according to the industrial control computer identifier, and output them after sorting them in ascending order by industrial control computer ID to establish a redundant storage record for industrial control computer cloud data.
[0033] An industrial control computer cloud-based redundant data storage system includes:
[0034] The frequency of change acquisition module is used to execute S1: acquire all data in the storage structure of the industrial control computer, divide the data segment into continuous sub-blocks, monitor the frequency of content change events in each sub-block within the upload cycle, add a marker count value for each change and accumulate it periodically to obtain a list of data segment change frequencies.
[0035] The node mapping and filtering module is used to execute S2: based on the data segment change frequency list, obtain the high water level mark and low water level mark threshold standards set for each redundant node, determine whether the data segment changes more than the high water level mark or less than the low water level mark in a continuous period, configure the upload target node type for each data segment replica, and generate a replica node distribution configuration table.
[0036] The task occupancy extraction module is used to execute S3: obtain the task list of the time window for the industrial control computer upload task, extract the planned timestamp, data segment number, allocated node number and channel number of each upload task, and establish a time window task allocation structure diagram.
[0037] The path conflict adjustment module is used to execute S4: based on the data segment change frequency list and the time window task allocation structure diagram, calculate the ratio of the target redundant replica change frequency to the task distribution density, determine whether it exceeds the link capacity utilization threshold, and if it does, filter the node with the lowest load and reassign the channel number to generate a replica channel redirection record set.
[0038] The periodic status summary module is used to execute S5: based on the replica node distribution configuration table and the replica channel redirection record set, it summarizes the upload node number, channel adjustment information and corresponding change frequency of each industrial control computer data segment, and generates a redundant storage record of industrial control computer cloud data.
[0039] Compared with the prior art, the advantages and positive effects of the present invention are as follows:
[0040] In this invention, by periodically accumulating the frequency of changes in data segments and adjusting the type of upload target nodes accordingly, the redundant writing strategy dynamically adapts to the data activity level. A multi-dimensional mapping relationship is established by combining the task time window structure, effectively coordinating the distribution density of upload tasks between nodes and channels. When the ratio of change frequency to task density exceeds a threshold, channel redirection is performed based on the node load status, ensuring the stability of the upload link. Simultaneously, a balanced allocation of replica resources among redundant nodes is achieved. By summarizing node numbers, channel numbers, and data segment change characteristics, a data redundancy log with time-series orientation and path adjustment records is formed. This makes the entire data redundancy transmission process flexible, accurate, and adaptable to link load, improving the reliability and redundancy efficiency of industrial control computer data storage, reducing the risk of communication congestion, and achieving a high degree of coordination and consistency between data replica configuration and upload path scheduling. Attached Figure Description
[0041] Figure 1 This is a flowchart of the main steps of the present invention;
[0042] Figure 2 This is a flowchart of the process for obtaining the list of data segment change frequencies in this invention;
[0043] Figure 3 This is a flowchart of the process for obtaining the replica node distribution configuration table for this invention;
[0044] Figure 4 This is a flowchart for obtaining the time window task allocation structure diagram of the present invention;
[0045] Figure 5 This is a flowchart of the process for obtaining the copy channel redirection record set in this invention;
[0046] Figure 6 This is a flowchart of the process for obtaining redundant data storage records in the cloud of the industrial control computer according to the present invention. Detailed Implementation
[0047] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0048] In the description of this invention, it should be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships, are based on the orientation or positional relationships shown in the accompanying drawings and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, in the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0049] Please see Figure 1 A method for redundant cloud-based storage of industrial control computer data includes the following steps:
[0050] S1: Obtain all data mounted in the industrial control computer's storage structure, divide the data segment into continuous sub-blocks with a fixed length of 4KB data blocks (the standard data block size in computer storage systems (4096 bytes), which conforms to the standard storage unit specifications of most file systems (such as NTFS, ext4) and cloud storage services, and is beneficial for optimizing I / O performance and storage efficiency). Monitor the frequency of content change events of each data sub-block during the upload cycle, add a marker count value for each change, and accumulate all count values at the end of the cycle to obtain a list of data segment change frequencies.
[0051] S2: Based on the data segment change frequency list, obtain the high-water mark / low-water mark (standard threshold indicators used for resource management and load balancing in distributed systems. The high-water mark represents the upper limit of the frequency of changes that trigger data to be written to the master node, and the low-water mark represents the lower limit of the frequency of changes that trigger data to be written to the auxiliary node. The specific values are dynamically set according to the cloud service provider's SLA (Service Level Agreement) and the performance of the storage cluster) threshold standard, determine whether the change frequency of the data segment in two consecutive periods exceeds the high-water mark or is lower than the low-water mark, configure the upload target node type for each data segment replica according to the judgment result, and generate a replica node distribution configuration table;
[0052] S3: Obtain the task list of the time window for uploading tasks from the industrial control computer, extract the planned timestamp, data segment number, assigned node number and channel number of each uploading task, establish a mapping structure with timestamp as the main axis and nodes and channels as the dimensions, and generate a time window task allocation structure diagram.
[0053] S4: Based on the data segment change frequency list and time window task allocation structure diagram, extract the task distribution density of the target redundant replica on the current period node and calculate the link occupancy. Determine whether it exceeds the link capacity utilization threshold (when the link utilization exceeds 80%, it indicates that the network channel is close to saturation. Continued transmission may lead to data packet loss or increased latency, and a redirection mechanism needs to be triggered). If it exceeds the threshold, filter the node with the lowest load and reallocate the channel number to generate a replica channel redirection record set.
[0054] S5: Based on the replica node distribution configuration table and replica channel redirection record set, retrieve the channel number, node number and corresponding data segment number that have completed redundant replica writing operations in the current upload cycle, and summarize the data segment upload node number, channel adjustment information and corresponding change frequency of each industrial control computer to generate industrial control computer cloud data redundancy storage record.
[0055] The data segment change frequency list includes data fluctuation level classification, cumulative number of data block change events, and corresponding index number for each period; the replica node distribution configuration table includes the node role category to which the replica belongs, the replica write strategy level, and the number of nodes distributed across the replica; the time window task allocation structure diagram includes task time density scale, node channel matching graph, and task execution order chain; the replica channel redirection record set includes the channel mapping relationship before and after adjustment and the data segment link usage intensity; the industrial control computer cloud data redundancy storage record includes write channel distribution details, redundant node behavior characteristics, and data change response statistics.
[0056] Please see Figure 2 Step S1 is as follows:
[0057] S111: Obtain all data mounted in the industrial control computer's storage structure, and use data frames as the basic unit. Call the starting address and corresponding total byte length of each data frame, divide it into a data block sequence of 4KB length, and aggregate the data blocks according to address order based on the physical continuity index relationship of each data block to generate a data segment index mapping table.
[0058] To obtain all mounted data in the industrial control computer's storage structure, during the operation of the industrial control system, the background embedded diagnostic module calls the mount information query command in the Linux system. This involves traversing the ` / proc / mounts` file and parsing each line of text fields to obtain the mount paths and corresponding file system types. After filtering out mount points for ext4, xfs, or vfat file system formats, these are stored in the device path list. For example, if the detection result in a PLC controller shows three valid paths: ` / dev / sda1`, ` / dev / sdb1`, and ` / dev / mmcblk0p1`, the `statfs` function is further called to read the block size information fields `f_bsize` and `f_blocks` of these partitions. After confirming that the standard unit of a data block is 4096 bytes, each device path is read as a raw byte stream in DMA mode and divided into blocks. Each block is processed using the kernel buffer during reading. The system processes data and sets the starting offset to 0 and the read step size to 4096 bytes, forming an index format like Block_0=bytes[0:4095], Block_1=bytes[4096:8191]. It further establishes a triplet structure for each data block, consisting of block number, starting physical address, and the corresponding device path. Consecutive blocks are automatically segmented according to their physical addresses; that is, if the addresses of Block_i+1 are consecutive and the device paths are consistent, they are grouped into the same segment. During field device operation, this segment is represented by logical addresses. For example, in device / dev / sda1, consecutive blocks Block_0 to Block_15 constitute data segment DS_1, with an address span from 0x00000000 to 0x0000F000. If each segment is fixed at 16 blocks in length, a 128MB partition can generate 2048 data segments. The system organizes the segment index structure into a two-dimensional table structure for subsequent fast access, as shown in the table below:
[0059] Table 1 Data Block Structure Mapping Table
[0060] DS_1 / dev / sda1 0x00000000 16 DS_2 / dev / sda1 0x00010000 16 DS_3 / dev / sda1 0x00020000 16
[0061] As shown in Table 1, each segment contains 16 4KB data blocks, forming a 64KB data volume. This structure is periodically updated by the main controller before the industrial control data upload channel is established to ensure data read and write consistency, and finally generates a data segment index mapping table.
[0062] S112: Based on the data segment index mapping table, obtain all sub-block contents contained in each data segment, read the timing parameters of the data upload cycle, divide the upload cycle into fixed time windows, and perform bitwise XOR operation on the byte contents of the same sub-block in each time window to determine whether the sub-block contents have undergone data state transition between adjacent time windows, record the frequency of each transition event, and generate a data sub-block change frequency matrix.
[0063] Based on the data segment address ranges registered in the data segment index mapping table, the system needs to call the physical address corresponding to each block segment by segment. A 60-second detection window is set in the industrial control data upload module's operating cycle, and each cycle is divided into six 10-second time segments. When the system interrupt scheduling is triggered, a snapshot is taken of all data blocks within each segment every 10 seconds. The snapshot data is organized into a matrix structure, like Snapshot[t][BlockID], where t is the time window number and BlockID is the block identifier. In the current cycle, let's assume Block_A is stored as six groups of hexadecimal data strings from time T0 to T5. Let T0 value be FFAA 10 12 and T1 value be FF AB 10 12. Then, the system performs a byte-by-byte XOR operation on T0 and T1, i.e., FF^FF=00, AA^AB=01, 10^10=00, 12^12=00. The result is 00 01 00. 00, after being converted to decimal, results in a change of 1 byte, thus the count value is accumulated to 1. If the change range from T1 to T2 is 3 bytes, then it continues to accumulate to 3. Finally, the change frequency of Block_A within a 6-window period is 1+3+0+0+2=6 times. If the threshold for judging frequent changes in sub-blocks is set to half the number of periodic windows plus 1, that is... When the frequency of a block exceeds 4, it is marked as a frequently changing block. Multiple segments of data in the system undergo this type of XOR and accumulation judgment operation to form a sub-block frequency matrix, with the following structure:
[0064] Table 2 Sub-block Change Frequency Matrix
[0065] DS_1 B1 6 Frequently changing blocks DS_1 B2 3 stable block DS_1 B3 5 Frequently changing blocks
[0066] Referring to Table 2, the number of changes of B1 and B3 in segment DS_1 exceeds the threshold of 4, and they are marked as frequently changing blocks. The system caches their change frequency matrix in the RAM area for subsequent segment aggregation analysis. This process ultimately yields the data sub-block change frequency matrix.
[0067] S113: Based on the frequency of each sub-block in the data sub-block change frequency matrix, perform aggregation and statistical operations according to the data segment to which it belongs. Use the data segment identifier as the grouping index, perform summation operation on the frequency values of all sub-blocks in the same data segment, and generate a list of data segment change frequencies.
[0068] The frequency values of all sub-blocks in the data sub-block change frequency matrix are retrieved, and aggregation statistics are performed according to the data segment identifier. During the aggregation process, the data segment number is used as the first index field, and linear summation is performed on the frequency values of all sub-blocks belonging to that segment, in the following form: the sub-block frequency list within the segment is such as [6, 3, 5, 1, 2, 0, 3, 1, 4, 0, 2, 1, 1, 1, 2, 1], and then summation is performed. The total frequency of changes in DS_1 was 34 times. This result was used as the basis for judging the change level of the segment. The division criteria were: frequency 0 to 10 was low frequency, 11 to 20 was medium frequency, and above 21 was high frequency. DS_1 was divided into the high frequency segment. The following table lists the frequency aggregation results of the three data segments in one complete period:
[0069] Table 3. List of Data Segment Change Frequency
[0070] DS_1 16 34 high frequency DS_2 16 15 Intermediate frequency DS_3 16 6 low frequency
[0071] As shown in Table 3, the three segments correspond to different levels of change frequency. This structure can provide adjustment strategy input for the data scheduling module of industrial control equipment, and finally generate a list of data segment change frequencies.
[0072] Please see Figure 3 Step S2 is as follows:
[0073] S211: Based on the data segment change frequency list, obtain the high water level mark threshold and low water level mark threshold in the system resource management configuration file of each redundant node, extract the change frequency threshold standards corresponding to the master node and auxiliary node, and establish a mapping relationship between the node identifier and the threshold value pair. Set the high water level mark to change frequency of no less than 20 times per cycle and the low water level mark to change frequency of no more than 5 times, and generate a node change threshold configuration set.
[0074] Based on the data segment change frequency list, obtain the resource management parameter items for primary and secondary nodes from the configuration files of each redundant node. For each node instance, retrieve the high-water mark and low-water mark setting parameters identified in its Service Level Agreement (SLA). Parse the change frequency standard fields related to storage scheduling and convert the values in the fields into a standardized frequency threshold structure. For example, in an industrial cloud-edge collaboration platform, the primary node's high-water mark is configured to be 20 times per cycle, and the secondary node's low-water mark is configured to be 5 times per cycle. Read the threshold field from the configuration items of node sets Node_A, Node_B, and Node_C. `shold_high` and `threshold_low` are expressed in the configuration template as a JSON structure: `{Node_A: {threshold_high: 20, threshold_low: 5}}`. Then, the node scheduling configuration relationship in the data segment distribution table is called to establish a node number and threshold mapping for each node, forming a two-dimensional matrix structure of [number, node name, high threshold, low threshold] for subsequent matching. In the field test environment, Node_A is set to number 1, Node_B to number 2, and Node_C to number 3. The threshold configurations are as follows:
[0075] Table 4 Node Change Threshold Configuration Table
[0076] 1 Node_A 20 5 2 Node_B 18 6 3 Node_C 22 4
[0077] Referring to Table 4, the high and low water level markers for the above three nodes are determined based on performance testing and SLA negotiation results. The node change threshold configuration set is generated through system parameter reading and structured conversion operations.
[0078] S212: Based on the frequency record value sequence of the same data segment in two consecutive periods in the node change threshold configuration set and the data segment change frequency list, for each data segment, determine whether the current frequency value continuously exceeds the high water level mark or continuously falls below the low water level mark. If it is greater than the high water level threshold for two consecutive periods, it is marked as a primary node write segment. If it is less than the low water level threshold for two consecutive periods, it is marked as an auxiliary node write segment, and a data segment write node identifier set is generated.
[0079] Based on the node change threshold configuration set and the corresponding data segment number and period frequency record value in the data segment change frequency list, a matching operation is performed on each data segment number. First, the frequency value sequence of the current period and the previous period is extracted. For example, the frequency values of data segment DS_101 in periods T1 and T2 are 22 and 21 times, respectively. The node mapped to DS_101 is extracted as Node_A, whose high watermark is 20 times and low watermark is 5 times. Then, a logical judgment operation is performed on the period frequency value. If both period values are greater than 22, the frequency value is determined by the frequency of the data segment. If the value is 20, the condition for continuous high-frequency writing is met, and the writing target is marked as a primary node type 1. If the frequency value is less than 5, the writing target is marked as an auxiliary node type 2. If there is one high and one low value or the value is within the threshold, the current state is maintained. When performing logical judgment, the Boolean logic expression is set as follows: if (f_t1≥h)∧(f_t2≥h), then it is marked as 1; if (f_t1≤l)∧(f_t2≤l), then it is marked as 2; the rest remain unchanged. The following lists the frequency changes of the three data segments and the node writing judgment situation in two consecutive cycles:
[0080] Table 5 Data Segment Write Node Judgment Table
[0081] DS_101 22 21 20 5 Master node DS_102 3 4 20 5 auxiliary nodes DS_103 10 15 20 5 remain unchanged
[0082] Referring to Table 5, after the logical judgment is executed, the system organizes the judgment result into a structured identifier set and generates a data segment to be written into the node identifier set.
[0083] S213: Based on the data segment write node identifier, mark the primary node and auxiliary node write segment status, extract the unique number of each data segment and its corresponding write target node type, sort them in ascending order by number and organize them into a structured form record structure, mark the primary node as type 1, mark the auxiliary node as type 2, and establish a replica node distribution configuration table.
[0084] Based on the data segment number and writing node type recorded in the data segment write node identifier set, a pairing item is established in the node scheduling configuration structure for each data segment corresponding to the write target node. The data segments are sorted in ascending order by their numbers to form a structured output form. In the data identifier set, segments written to the primary node are marked as type 1, segments written to the secondary node are marked as type 2, and other segments remain unchanged. The output structure is set as the field [data segment number, write node type]. For example, number DS_101 corresponds to type 1, and DS_102 corresponds to type 2. The system sorts all records in ascending order by number and writes them into the configuration template. The final structure is as follows:
[0085] Table 6. Replica Node Distribution Configuration Table
[0086] DS_101 1 DS_102 2 DS_103 0
[0087] As shown in Table 6, 0 in the table indicates that the current node remains unchanged. This table can be directly used by the redundancy scheduling module to perform replica distribution operations and data writing channel configuration, and finally establish a replica node distribution configuration table.
[0088] Please see Figure 4 Step S3 is as follows:
[0089] S311: Obtain the task list of the time window for uploading tasks from the industrial control computer, and extract the timestamp, data segment number, node number and channel number of each task record in the list. Read the corresponding task metadata index, extract the task trigger time sequence by timestamp, locate the data source address range by data segment number, identify the target node ID by node number, associate the network channel identifier by channel number, establish a one-to-one mapping relationship, and generate the time window upload task parameter set.
[0090] To obtain the task list for the industrial control computer's upload task time window, the system first performs structured parsing of the task scheduling queue in the system scheduling module. This involves reading the upload task field groups recorded in JSON or CSV format from the task list structure, including the fields `task_time` (timestamp), `segment_id` (data segment number), `node_id` (node number), and `channel_id` (channel number). Each task record is then deconstructed by field, extracting the planned execution time and converting it to a unified Unix timestamp format for subsequent index mapping. Subsequently, based on the `segment_id` field, the corresponding data segment's number in the storage structure is retrieved from the data distribution structure. This number is consistent with the number previously bound by the data segment change frequency list or replica configuration. For example, in the task record... If segment_id is S-023, then its corresponding data segment number is 23. Next, the node number information in the node_id field is compared one by one with the node identifier in the node allocation configuration table to establish a mapping relationship between node number and physical node address, thus determining the target node to which the task points. Further, based on the channel_id field, the corresponding transmission path information is matched from the communication channel allocation structure to confirm the data upload channel used by the task. For example, if channel_id is C-05, then its corresponding transmission channel is the industrial Ethernet interface eth2. After all fields are destructured, a four-tuple structure is formed: [timestamp, data segment number, node number, channel number]. A structured table is formed by iteratively parsing all task records in the list. The following is a sample of some task list records:
[0091] Table 7 Example Table of Upload Task Parameters
[0092] 1726109400 101 03 02 1726109460 102 05 01 1726109520 103 03 03
[0093] As shown in Table 7, each task record contains a clear plan timestamp and corresponding resource dimension parameters. This structure can serve as the basis for subsequent mapping construction, ultimately generating a time window upload task parameter set.
[0094] S312: Upload task parameter set based on time window, take task plan timestamp as the main sequence on the horizontal axis, perform aggregation operation on the combined dimension composed of different node numbers and channel numbers, group tasks with the same timestamp by node number and channel number, establish combined key value mapping, and generate task time dimension mapping table by grouping the combined tasks of each node and channel at the same time point.
[0095] Based on the uploaded task parameter set within a time window, the timestamp field of each task is used as the primary index item of the timeline. Under this timeline, different combinations of node and channel numbers are aggregated. First, a unique timestamp set T = {t_1, t_2, ..., t_n} is extracted from all tasks. Then, for each t_i, the task records in the parameter set are traversed, and all records with timestamps equal to t_i are selected. Their node and channel numbers are extracted to form binary pairs [node_id, channel_id]. Finally, a system is constructed with t_i as the key and the combined pairs as the values. The hash mapping structure, for example, when t_1=1726109400, has tasks [node03, channel02] and [node05, channel01], then the mapping item is: 1726109400→{[03, 02], [05, 01]}. Furthermore, all node-channel combinations at the same time point are merged into a unified array structure, and the array is sorted in ascending order by node number to facilitate horizontal consistency in graph structure construction. The following table lists the node-channel combination aggregation results for timestamps t_1 and t_2:
[0096] Table 8 Time Axis Node Channel Mapping Table
[0097] 1726109400 [03,02],[05,01] 1726109460 [03,03],[02,01],[01,02]
[0098] As shown in Table 8, the node-channel combination pairs under the time axis primary key have been merged, the structure is clear and indexable, and the task time dimension mapping table is finally generated.
[0099] S313: Based on the structured task set in the task time dimension mapping table, extract the node channel combination pair information under each timestamp, organize the upload task allocation structure in a two-dimensional coordinate structure, set the timestamp as the main axis sequence, and the node number and channel number form a nested dimension index to establish a cross-time window task scheduling structure map and a time window task allocation structure map.
[0100] Based on the structured data in the task time dimension mapping table, each timestamp is used as the main axis sequence. All nodes and channels at each time point are extracted and grouped together. A two-dimensional nested mapping matrix structure is constructed with the node number as the vertical axis and the channel number as the horizontal axis. In this matrix, Boolean flags or task indices are used as matrix unit values. For example, if node 03 performs an upload task via channel 02 at timestamp 1726109400, it is marked as 1 at coordinates (03, 02). If there is no task, it is marked as 0. After completing the mapping of the task allocation status of all timestamps corresponding to nodes and channels, the structure can be transformed into a task time allocation map. During the visualization process, the map is presented in the form of a heatmap or adjacency graph to express the resource allocation status at each time point. The following table lists some of the two-dimensional coordinate mapping content:
[0101] Table 9. Time Window Upload Task Structure Mapping Matrix
[0102] 1726109400 01 0 0 0 03 0 1 0 05 1 0 0 1726109460 01 1 0 0 02 1 0 0 03 0 0 1
[0103] As shown in Table 9, each matrix corresponding to the time axis represents the node-channel task binding relationship. After the matrix structure is completed, it can be directly used as a graph index to finally establish the time window task allocation structure diagram.
[0104] Please see Figure 5 Step S4 is as follows:
[0105] S411: Based on the list of data segment change frequency and the time window task allocation structure diagram, extract the number of upload tasks corresponding to each data segment in the current period, and count the number of tasks corresponding to the data segment in all task records on the same node. Calculate the task density of the node for the target data segment in the current period to obtain the node task density parameter group.
[0106] Based on the data segment change frequency list and the time window task allocation structure diagram, the system first extracts the set of numbers and corresponding change frequency values of all data segments in the current period from the data segment change frequency list. For example, data segments numbered DS_101 and DS_102 have frequencies of 24 and 12 times / cycle, respectively. Then, the system extracts all node numbers in the task allocation matrix from the time window task allocation structure diagram and extracts the statistical values of the number of tasks for different data segments under each node according to the timestamp dimension. A two-dimensional relationship mapping table between nodes and data segments is constructed to extract the number of task records for each data segment on the corresponding node. Next, using the data segment number as the primary index field, the system counts the number of tasks appearing on a single node for each data segment. This value is defined as the node task density, with the unit being the number of tasks per cycle. For example, if DS_101 appears 3 times on node A and 5 times on node B, the densities for nodes A and B are 3 / cycle and 5 / cycle, respectively. The system structures all task density data into triples, with the field format being [data segment number, node number, task density], as shown below:
[0107] Table 10 Node Task Density Table
[0108] DS_101 A 3 DS_101 B 5 DS_102 A 2
[0109] As shown in Table 10, the task density of each data segment on different nodes has formed a clear distribution. This distribution will be used as the direct calculation input for link utilization judgment to obtain the node task density parameter set.
[0110] S412: Based on the task density of each node in the node task density parameter group and the corresponding change frequency in the data segment change frequency list, establish a one-to-one matching relationship between the corresponding node number and the data segment number, using the formula:
[0111] ;
[0112] The link occupancy rate is calculated, it is determined whether it exceeds the link capacity utilization threshold, and a link utilization judgment result is established; among which, Represents a node For data segments Link occupancy Data segment The frequency of changes within the current period, expressed in times per period. Represents a node For data segments Task distribution density, in units of times per cycle. Represents a node Number of tasks within the time window of the channel;
[0113] Based on the node task density parameter group and the data segment change frequency list, perform joint matching of corresponding fields for each record to extract the data segment number, change frequency, node number, task density, and channel number fields. Extract the currently allocated channel number for that node from the node channel resource scheduling table, and query the number of time window tasks it carries. Set this value as the channel load count. For example, if DS_101 has a task density of 3 / cycle and a change frequency of 24 times / cycle on node A, and the corresponding channel C_1 currently has 9 bound task windows, then perform the calculation operation:
[0114] ;
[0115] The link occupancy ratio for this task was calculated to be 2.67. This ratio was then calculated for all data segments and node combinations, and the result was compared to a link capacity utilization threshold. This threshold is set based on the upper limit of the ratio between the channel's maximum physical transmission load and the maximum number of tasks that can be accommodated per unit cycle. Considering the maximum concurrent capacity test of commonly used gigabit Ethernet channels in industrial control networks with a 10ms task cycle, it is known that each channel can stably support a maximum task load of 3 groups within a continuous 60s cycle. The actual average task distribution should not exceed 80% of this upper limit to prevent buffer queue backlog. Therefore, the threshold is set to... This threshold adjusts according to changes in the maximum number of tasks supported by the channel and the number of periodic scheduling windows. It is a dynamic critical value indicator established with parameters based on changes in physical link support capacity and scheduling density. If the calculated value exceeds this threshold, the task combination is marked as overloaded. The final output structure fields are [data segment number, node number, occupancy ratio, overload status], as shown below:
[0116] Table 11 Link Utilization Judgment Results
[0117] DS_101 A 2.67 yes DS_102 B 1.25 no
[0118] Referring to Table 11, the link occupancy value of node A has exceeded the threshold range, and channel redirection operation needs to be performed in subsequent steps to establish a link utilization judgment result set.
[0119] Link occupancy is an indicator used to measure the intensity of link resource occupancy caused by a data segment on a specific node and its corresponding transmission channel within a unit period. This indicator comprehensively considers the frequency of data segment changes, the task scheduling density of the data segment on the target node, and the number of task time windows of the transmission channel bound to the node. It reflects the load ratio between data synchronization needs and transmission channel scheduling capacity. When a data segment is updated frequently on a node, and the node undertakes a large number of tasks and is in a densely scheduled channel, its link occupancy will show an increasing trend. At this time, the value of the occupancy will approach or exceed the link capacity threshold, indicating that the link is in a high-load or overloaded state. Therefore, link occupancy can be used as a core basis for judging the redundancy replica redirection needs, channel load balancing scheduling, and network congestion prediction.
[0120] The formula's operational logic lies in constructing a composite ratio that measures the resource consumption of data segments on a node, where the parameters of the numerator are... Data segment The frequency of changes within the current period reflects the intensity at which this data segment needs to be frequently synchronized or updated. It is a direct measure of the driving force behind task generation. The denominator is... Represents a node The higher the task distribution density of this data segment within the period, the higher the task scheduling pressure on the node. Therefore, to offset the impact of high task density, it needs to be treated as a suppression factor through multiplication. Simultaneously, to reasonably incorporate the scheduling pressure level of the channel to which the node belongs, the number of channel task time windows is selected. As an indicator of scheduling density, but considering that the impact of the number of tasks on the transmission load is sublinear rather than nonlinearly cumulative, therefore... A square root transformation is performed to implement penalty scaling for high-density scheduling nodes, and the final denominator is... This forms a nonlinear suppression term, which is used to create a ratio structure with the frequency of variation, resulting in an overall effect. The larger the value, the more concentrated the data segment transmission tasks are on that node, the higher the frequency of changes, and the higher the channel scheduling density. Therefore, it is necessary to pay priority attention to the link load risk and integrate them to form a joint measure between the data redundancy update pressure and the network transmission scheduling pressure.
[0121] S413: Based on the node task records marked as exceeding the link capacity utilization threshold in the link utilization judgment results, filter the node with the lowest task density in the current period, query the corresponding available channel number, replace the original node and channel configuration, update the reallocation path index, and establish a replica channel redirection record set.
[0122] Based on the link utilization judgment result set of the task node combination record marked as overloaded, traverse the set of all non-overloaded nodes in the current period, and perform a filtering operation on the node with the smallest task density parameter. For example, if the candidate node set is {B, C, D}, and their corresponding DS_101 task densities are 5, 2, and 4 times / cycle, respectively, then node C is selected as the replacement target node. At the same time, query the list of currently bound channels of node C, and determine that the channel number in the idle or low load state is C_4. Mark this channel as a candidate channel, and construct a new replica transmission path, updating the original structure [DS_101, A, C_1] to [DS_101, C, C_4]. All redirected data segment numbers, original nodes, target nodes, original channels, and new channels 5-tuples are written into the redirection record table, with the following structure:
[0123] Table 12 Copy Channel Redirection Record Table
[0124] DS_101 A C C_1 C_4
[0125] As shown in Table 12, the replica corresponding to DS_101 has completed the node and channel redirection configuration, and finally established a replica channel redirection record set.
[0126] Please see Figure 6 The S5 steps are as follows:
[0127] S511: Based on the replica node distribution configuration table and the replica channel redirection record set, retrieve all records that have completed redundant replica write operations within the current upload cycle, and read the triplet of channel number, node number and data segment number of the associated record, sort them in ascending order according to the priority of node number and remove duplicates to generate a redundant replica write completion record set.
[0128] Based on the replica node distribution configuration table and the replica channel redirection record set, all replica write task records in the industrial control computer system within the current upload cycle are monitored. First, the task cycle field and replica write status field are extracted from the replica node distribution configuration table. All record entries that meet the current cycle identifier CYCLE_37 and the write status is complete are retrieved. Then, according to the index mapping table, the corresponding channel number field (Channel_ID), node number field (Node_ID), and data segment number field (Data_ID) for that batch are retrieved from the replica channel redirection record set. Finally, the extracted triples are sorted by node number. First, nodes are sorted in ascending order. Node priorities are determined by the system startup order and master node attributes. The master control node number has a priority value of 1, and ordinary acquisition nodes have a priority value of 2 or higher. After sorting, the sorted list is deduplicated, removing duplicate data segments and redundant records written to the same node. Only the first valid record whose task status field is still "completed" is retained. For example, in a certain sampling period, redundant copies of nodes N01 and N02 are both written to data segment DS_104. However, because N01 has a higher priority, only the write record of N01 is retained. The final output of redundant copy write results is shown in the table below:
[0129] Table 13 Redundant Copy Write Completed List
[0130] CH_003 N01 DS_104 Finish CH_007 N02 DS_108 Finish
[0131] As shown in Table 13, the filtered records are all redundant copies of data segments that have completed the write task through the node in this period, and a redundant copy write completion record set is established.
[0132] S512: Based on the redundant replica write completion record set, extract the data segment number as the main index, match the channel adjustment information corresponding to the same data segment number from the replica channel redirection record set, extract the corresponding change frequency value from the data segment change frequency list, and generate a data segment upload mapping association table based on the data segment number, the period identifier aggregation node number, the change frequency, and the channel adjustment status.
[0133] Based on the established redundant replica write completion record set, the values of all data segment number fields are extracted as the query primary key. For each data segment number, the adjustment status field corresponding to its channel number is matched in the replica channel redirection record set. The channel status is divided into two categories: unadjusted and redirected. Then, the data segment change frequency list is linked, and the change frequency value of the data segment in the current period is extracted through a dual indexing method of period number and data segment number. The change frequency is measured by the number of data modifications, in units of times / period. For example, DS_104 has a change frequency of 24 times in the CYCLE_37 period. Finally, the three fields are sorted by data segment number. The segments are aggregated to form a three-field data structure with the record format [Node_ID, Delta_Freq, Channel_Status]. The system automatically maps and marks the segments based on the periodic attribute field, constructing a mapping table for subsequent merging operations. For example, if DS_104 writes to the channel number CH_003 through node N01, and it is marked as unadjusted in the replica channel redirection record with a change frequency of 24 times, then the mapping structure is [N01, 24, unadjusted]. In this step, the channel adjustment status is not judged; only the fields are merged and organized. The output results are shown in the table below:
[0134] Table 14 Data Segment Upload Mapping Association Table
[0135] DS_104 N01 24 Unadjusted DS_108 N02 19 Redirected
[0136] Referring to Table 14, the data structure already has the uniqueness of data segment numbers, node binding information, change behavior statistics and channel status descriptions, and a data segment upload mapping association table is established.
[0137] S513: Based on each record in the data segment upload mapping association table, aggregate the node number, channel number, and change frequency corresponding to all data segments under each industrial control computer according to the industrial control computer identifier, construct each record into a 5-tuple [industrial control computer ID, data segment number, node number, channel number, change frequency], and output it after sorting it in ascending order by industrial control computer ID, and establish a redundant storage record for industrial control computer cloud data;
[0138] Based on the records in the data segment upload mapping association table, all records are categorized and aggregated according to the industrial control computer (ICC) identifier. The ICC identifier is obtained through a reverse index of the node number via the mapping structure. In an industrial control system, each ICC can deploy multiple acquisition nodes. Therefore, the node number field is mapped to the corresponding ICC ID through the node-host mapping table. For example, node N01 belongs to ICC H001, and node N02 belongs to H002. After the system categorizes the records by ICC ID, it assembles the data segment number, node number, channel number, and change frequency information into a 5-tuple format, with the data format being [Ho [st_ID, Data_ID, Node_ID, Channel_ID, Delta_Freq], for example, if DS_104 corresponds to industrial control computer H001, node number N01, channel number CH_003, and change frequency 24 times, then the record will be [H001, DS_104, N01, CH_003, 24]. After forming this structure, the system sorts all records in ascending order by industrial control computer ID, which facilitates the construction of index mapping relationships based on industrial control computers in subsequent cloud redundancy management strategies. The output records are shown in the table below:
[0139] Table 15 Industrial Control Computer Data Redundancy Mapping Table
[0140] H001 DS_104 N01 CH_003 24 H002 DS_108 N02 CH_007 19
[0141] As shown in Table 15, the data has completed node mapping, channel adjustment information supplementation and change frequency integration operations, and established a redundant storage record of industrial control computer cloud data.
[0142] An industrial control computer cloud-based redundant data storage system includes:
[0143] The frequency of change acquisition module is used to execute S1: acquire all data in the storage structure of the industrial control computer, divide the data segment into continuous sub-blocks, monitor the frequency of content change events in each sub-block within the upload cycle, add a marker count value for each change and accumulate it periodically to obtain a list of data segment change frequencies.
[0144] The node mapping and filtering module is used to execute S2: based on the list of data segment change frequencies, obtain the high water level mark and low water level mark threshold standards set for each redundant node, determine whether the data segment changes more or less than the high water level mark or less than the low water level mark in a continuous period, configure the upload target node type for each data segment replica, and generate a replica node distribution configuration table.
[0145] The task occupancy extraction module is used to execute S3: obtain the task list of the time window for the industrial control computer upload task, extract the planned timestamp, data segment number, allocated node number and channel number of each upload task, and establish a time window task allocation structure diagram.
[0146] The path conflict adjustment module is used to execute S4: based on the data segment change frequency list and the time window task allocation structure diagram, calculate the ratio of the target redundant replica change frequency to the task distribution density, determine whether it exceeds the link capacity utilization threshold, and if it does, filter the node with the lowest load and reassign the channel number to generate a replica channel redirection record set.
[0147] The periodic status summary module is used to execute S5: based on the replica node distribution configuration table and replica channel redirection record set, it summarizes the upload node number, channel adjustment information and corresponding change frequency of each industrial control computer data segment, and generates a redundant storage record of industrial control computer cloud data.
[0148] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A method for redundant cloud-based storage of industrial control computer data, characterized in that, Includes the following steps: S1: Obtain all data in the industrial control computer's storage structure, divide the data segment into continuous sub-blocks, monitor the frequency of content change events in each sub-block during the upload cycle, increase the marker count value for each change and accumulate it periodically to obtain a list of data segment change frequencies. S2: Based on the data segment change frequency list, obtain the high water level mark and low water level mark threshold standards set for each redundant node, determine whether the data segment changes more or less than the high water level mark or less than the low water level mark in a continuous period, configure the upload target node type for each data segment replica, and generate a replica node distribution configuration table. S3: Obtain the task list of the time window for uploading tasks from the industrial control computer, extract the planned timestamp, data segment number, assigned node number and channel number of each uploading task, and establish a time window task allocation structure diagram. S4: Based on the data segment change frequency list and the time window task allocation structure diagram, calculate the target redundant replica link occupancy, determine whether it exceeds the link capacity utilization threshold, and if it does, filter the node with the lowest load and reallocate the channel number to generate a replica channel redirection record set. S5: Based on the replica node distribution configuration table and the replica channel redirection record set, the upload node number, channel adjustment information and corresponding change frequency of each industrial control computer data segment are summarized to generate a cloud data redundancy storage record for the industrial control computer.
2. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The data segment change frequency list includes data fluctuation level classification, cumulative number of data block change events, and corresponding index number for each period; the replica node distribution configuration table includes the node role category to which the replica belongs, the replica write strategy level, and the number of nodes distributed across the replica; the time window task allocation structure diagram includes task time density scale, node channel matching graph, and task execution order chain; the replica channel redirection record set includes the channel mapping relationship before and after adjustment and the data segment link usage intensity; the industrial control computer cloud data redundancy storage record includes write channel distribution details, redundant node behavior characteristics, and data change response statistics.
3. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The specific steps for obtaining the data segment change frequency list are as follows: S111: Obtain all data mounted in the industrial control computer's storage structure, and use data frames as the basic unit. Call the starting address of each data frame and its corresponding total byte length to divide the data block sequence. Based on the physical continuity index relationship of each data block, aggregate the data blocks in address order to generate a data segment index mapping table. S112: Based on the data segment index mapping table, obtain all sub-block contents contained in each data segment, read the timing parameters of the data upload cycle, divide the upload cycle into fixed time windows, and perform bitwise XOR operation on the byte contents of the same sub-block in each time window to determine whether the sub-block contents have undergone data state transition between adjacent time windows, record the occurrence frequency of each transition event, and generate a data sub-block change frequency matrix. S113: Based on the frequency of each sub-block in the data sub-block change frequency matrix, perform aggregation and statistical operations according to the data segment to which it belongs. Use the data segment identifier as the grouping index, perform summation operation on the frequency values of all sub-blocks in the same data segment, and generate a data segment change frequency list.
4. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The specific steps for obtaining the replica node distribution configuration table are as follows: S211: Based on the data segment change frequency list, obtain the high water level mark threshold and low water level mark threshold in the system resource management configuration file of each redundant node, extract the change frequency threshold standards corresponding to the main node and auxiliary node, and establish a mapping relationship between the node identifier and the threshold value pair to generate a node change threshold configuration set. S212: Based on the node change threshold configuration set and the frequency record value sequence of the same data segment in the data segment change frequency list in two consecutive periods, for each data segment, determine whether the current frequency value continuously exceeds the high water level mark or continuously falls below the low water level mark. If it is greater than the high water level threshold for two consecutive periods, it is marked as a main node write segment. If it is less than the low water level threshold for two consecutive periods, it is marked as an auxiliary node write segment, and a data segment write node identifier set is generated. S213: Based on the write segment status of the primary and secondary nodes marked in the data segment write node identifier set, extract the unique number of each data segment and its corresponding write target node type, sort them in ascending order by number and organize them into a structured form record structure, mark the primary node as type 1, mark the secondary node as type 2, and establish a replica node distribution configuration table.
5. The industrial control computer cloud data redundancy storage method according to claim 4, characterized in that, The step of determining whether the current frequency value continuously exceeds the high water level mark or continuously falls below the low water level mark further includes: if the frequency record value of a data segment in two consecutive periods does not meet the condition of continuously exceeding the high water level mark threshold or continuously falling below the low water level mark threshold, then the data segment is marked as a dynamically adjusted segment in the data segment write node identifier set; the step of marking the primary node as type 1 and the auxiliary node as type 2 further includes: setting the write target node type of the data segment marked as a dynamically adjusted segment in the data segment write node identifier set to type 0 in the replica node distribution configuration table.
6. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The specific steps for obtaining the time window task allocation structure diagram are as follows: S311: Obtain the task list of the time window for uploading tasks from the industrial control computer, and extract the timestamp, data segment number, node number and channel number of each task record in the list. Read the corresponding task metadata index, extract the task trigger time sequence by timestamp, locate the data source address range by data segment number, identify the target node ID by node number, associate the network channel identifier by channel number, establish a one-to-one mapping relationship, and generate the time window upload task parameter set. S312: Based on the time window, upload the task parameter set, take the task plan timestamp as the horizontal axis as the main sequence, perform aggregation operation on the combination dimension composed of different node numbers and channel numbers, group the tasks with the same timestamp by node number and channel number, establish a combination key-value mapping, and generate a task time dimension mapping table by grouping the node and channel combination tasks at the same time point. S313: Based on the structured task set in the task time dimension mapping table, extract the node channel combination pair information under each timestamp, organize the upload task allocation structure in a two-dimensional coordinate structure, set the timestamp as the main axis sequence, and the node number and channel number form a nested dimension index to establish a cross-time window task scheduling structure map and a time window task allocation structure map.
7. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The specific steps for obtaining the replica channel redirection record set are as follows: S411: Based on the data segment change frequency list and the time window task allocation structure diagram, extract the number of upload tasks corresponding to each data segment in the current period, and count the number of tasks corresponding to the data segment in all task records on the same node. Calculate the task density of the node for the target data segment in the current period to obtain the node task density parameter group. S412: Based on the task density of each node in the node task density parameter group and the corresponding change frequency in the data segment change frequency list, establish a one-to-one matching relationship between the corresponding node number and the data segment number, calculate and obtain the link occupancy, determine whether it exceeds the link capacity utilization threshold, and establish the link utilization judgment result. S413: Based on the node task records marked as exceeding the link capacity utilization threshold in the link utilization judgment result, filter the node with the lowest task density in the current period, query the corresponding available channel number, replace the original node and channel configuration, update the redistribution path index, and establish a replica channel redirection record set.
8. The industrial control computer cloud data redundancy storage method according to claim 1, characterized in that, The specific steps for obtaining redundant data storage records in the industrial control computer cloud are as follows: S511: Based on the replica node distribution configuration table and the replica channel redirection record set, retrieve all record items that have completed redundant replica writing operations within the current upload cycle, and read the triplet of channel number, node number and data segment number of the associated record, sort them in ascending order according to the priority of node number and remove duplicate items to generate a redundant replica writing completion record set. S512: Based on the redundant replica write completion record set, extract the data segment number as the main index, match the channel adjustment information corresponding to the same data segment number from the replica channel redirection record set, extract the corresponding change frequency value from the data segment change frequency list, and generate a data segment upload mapping association table according to the data segment number, the period identifier aggregation node number, the change frequency, and the channel adjustment status. S513: Based on each record in the data segment upload mapping association table, aggregate the node number, channel number, and change frequency corresponding to all data segments under each industrial control computer according to the industrial control computer identifier, and output them after sorting them in ascending order by industrial control computer ID to establish a redundant storage record for industrial control computer cloud data.
9. A cloud-based redundant data storage system for industrial control computers, characterized in that, The system is used to implement the industrial control computer cloud data redundancy storage method according to any one of claims 1-8, including: The frequency of change acquisition module is used to execute S1: acquire all data in the storage structure of the industrial control computer, divide the data segment into continuous sub-blocks, monitor the frequency of content change events in each sub-block within the upload cycle, add a marker count value for each change and accumulate it periodically to obtain a list of data segment change frequencies. The node mapping and filtering module is used to execute S2: based on the data segment change frequency list, obtain the high water level mark and low water level mark threshold standards set for each redundant node, determine whether the data segment changes more than the high water level mark or less than the low water level mark in a continuous period, configure the upload target node type for each data segment replica, and generate a replica node distribution configuration table. The task occupancy extraction module is used to execute S3: obtain the task list of the time window for the industrial control computer upload task, extract the planned timestamp, data segment number, allocated node number and channel number of each upload task, and establish a time window task allocation structure diagram. The path conflict adjustment module is used to execute S4: based on the data segment change frequency list and the time window task allocation structure diagram, calculate the target redundant replica link occupancy, determine whether it exceeds the link capacity utilization threshold, and if it exceeds, filter the node with the lowest load and reallocate the channel number to generate a replica channel redirection record set. The periodic status summary module is used to execute S5: based on the replica node distribution configuration table and the replica channel redirection record set, it summarizes the upload node number, channel adjustment information and corresponding change frequency of each industrial control computer data segment, and generates a redundant storage record of industrial control computer cloud data.