Electrolytic tank test data cloud storage method

By time-stamping and partitioning management of electrolytic cell test data, combined with multi-channel data stream processing and double-buffer architecture, the problems of single data channels, simple cache structure and inflexible storage layout in the existing technology are solved, efficient data storage and access performance is achieved, and continuously growing data volume and burst load are adapted.

CN120122885AInactive Publication Date: 2025-06-10SHANGHAI DONGHEXUN XINCHUANG HYDROGEN ENERGY TECHNOLOGY CO LTD
View PDF 0 Cites 4 Cited by

Patent Information

Application Number
CN202510206374.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2025-06-10
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In the existing electrolytic cell test data cloud storage method, the data channel design is single, resulting in concurrent write requests that are easily overcrowded and blocked, which cannot meet the burst performance requirements; the cache structure is simple, hot and cold data is mixed and stored, and frequent disk interactions reduce overall performance; the storage layout lacks a flexible adjustment mechanism, and the data correlation analysis capability is weak, making it difficult to cope with the pressure brought by the continuous growth of data volume.

Method used

By performing time stamp marking and partition size calculation on the electrolytic cell test data, the data is aggregated into fixed-sized partitions according to timestamps, the data density value and write rate value of each partition are calculated, and a partition index table is established; based on the partition index table, the data is allocated to multiple data flow channels, and multi-channel data flow allocation and merge sorting are performed; the double buffer architecture is used to cooperate with data access frequency analysis to support intelligent migration of hot and cold data; by calculating the data correlation between partitions, the storage structure is guided to adapt to changes in different access modes.

Benefits of technology

Dynamic partition management and multi-channel data stream processing are realized, the storage efficiency and access performance of electrolytic cell test data are improved, single-channel bottlenecks are eliminated, IO resource configuration is optimized, burst load processing capacity is enhanced, and data value mining and analysis effect is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120122885A_ABST
    Figure CN120122885A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of storage systems, in particular to an electrolytic cell test data cloud storage method, which comprises the following steps: performing timestamp marking and partition size calculation on electrolytic cell test data, aggregating the data into partitions with fixed sizes according to timestamps, calculating a data density value and a write-in rate value of each partition, obtaining a partition data set, and storing the partition data set into a database; and comparing the write-in rate value in the partition data set with a preset partition threshold value. According to the method, through a dynamic partition management and multi-path data flow processing mechanism, in the storage process of the test data of the electrolytic cell, the data is subjected to partition aggregation through timestamp marking, a data density value and a write-in rate value reflect the dynamic change of the partition, and the size of the partition is adjusted in real time to cope with the fluctuation of a data write-in load. Multi-channel data stream distribution and merge sorting improve concurrent processing performance and eliminate single-channel bottleneck restriction. A double-buffer-area framework is matched with data access frequency analysis to support intelligent migration of cold and hot data, and IO resource configuration is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of storage systems, and particularly to a method for cloud storage of electrolyzer test data. Background Art

[0002] A storage system is a core component in a computer system responsible for data persistence and management, mainly including functions such as data organization, access, retrieval, and maintenance. This field involves multiple aspects such as file systems, database management systems, and distributed storage architectures, and focuses on solving technical problems such as data reliability, consistency, and efficient access. The method for cloud storage of electrolyzer test data is a technology for managing and storing a large amount of test data generated during the operation of an electrolyzer. However, in the prior art, the data channel design is single, concurrent write requests are prone to backlog and blockage, and sudden performance requirements cannot be met. At the same time, the cache structure is simple, hot and cold data are stored mixedly, and frequent disk interactions reduce the overall performance. The storage layout lacks a flexible adjustment mechanism, the ability to analyze data correlation is weak, and it is difficult to cope with the pressure brought by the continuously increasing data volume. During the electrolyzer test process, the data acquisition frequency is not fixed, and the acquisition content is diverse. The prior art is difficult to balance the storage efficiency and access performance requirements, affecting the data value mining and analysis effect. Summary of the Invention

[0003] The purpose of the present invention is to solve the deficiencies existing in the prior art and propose a method for cloud storage of electrolyzer test data.

[0004] To achieve the above purpose, the present invention adopts the following technical solutions. The method for cloud storage of electrolyzer test data includes the following steps:

[0005] Perform timestamp marking and partition size calculation on the electrolyzer test data, aggregate the data into fixed-size partitions according to the timestamp, calculate the data density value and write rate value of each partition, obtain the partition data set, compare the write rate value in the partition data set with the preset partition threshold, perform a merge operation on adjacent partitions whose write rate value exceeds the preset partition threshold, and establish a partition index table;

[0006] Based on the partition index table, allocate the electrolyzer test data to multiple data stream channels, sort the data items in the data stream channels according to the timestamp, establish a channel priority table, and perform a merge sort on the data items in the channel priority table to establish a merged data stream;

[0007] Based on the merged data stream, load the data into the memory buffer and disk buffer, count the data access frequency value of the buffer, establish a buffer index set, and migrate the data items whose data access frequency value in the buffer index set exceeds the buffer threshold to generate a buffer data table;

[0008] Based on the buffer data table and the partition index table, the data association degree between partitions is calculated, and the data items whose association degree exceeds the partition threshold are partitioned and reorganized to generate a partition storage table.

[0009] Preferably, the steps of obtaining the partitioned data set are:

[0010] Timestamp the electrolytic cell test data, aggregate the data into preset fixed-size partitions according to the timestamp, and then calculate the data density value and write rate value of each partition to obtain a preliminary partition data set;

[0011] Analyze the data density and write rate of each partition according to the preliminary partition data set, evaluate the storage efficiency and processing requirements of each partition, identify the partitions that need to be optimized by comparing the write rate of each partition with a preset threshold, and obtain the partition evaluation result;

[0012] Based on the partition evaluation result, a partition data set is formed through data reallocation and storage strategy adjustment.

[0013] Preferably, the steps for obtaining the partition index table are:

[0014] Extracting write rate values ​​from the partition data set, associating the extracted write rate values ​​with the time range and data density of the partitions one by one, calculating the feature vector of each partition, including the synergy between the write rate and the time distribution and the density uniformity, and generating a partition feature data table;

[0015] Based on the partition feature data table, the preset partition threshold is calculated using the following formula:

[0016]

[0017] Among them, T is the preset partition threshold, r i is the write rate value of the i-th partition, sd i is the data density value of the i-th partition, st i is the data duration of the i-th partition, l i is the time span of the ith partition, and m is the total number of partitions;

[0018] According to the partition feature data table and the preset partition threshold, adjacent partitions whose write rate values ​​exceed the preset partition threshold are merged, and indexes are updated by calculating the starting and ending positions of the adjacent partitions to generate a partition index table.

[0019] Preferably, the steps of obtaining the channel priority table are:

[0020] Based on the partition index table, extract the start position and end position of each partition in the electrolytic cell test data, allocate the data to multiple data stream channels according to the index range, and eliminate the data items with missing and duplicate timestamps in each data stream channel to generate a set of preprocessed data stream channels;

[0021] According to the set of preprocessed data stream channels, sort the data items in each data stream channel in ascending order of timestamps, and at the same time record the data identifier corresponding to each timestamp and the channel number where it is located to obtain a sorted timestamp data table;

[0022] Based on the sorted timestamp data table, evaluate the timestamp distribution of each data stream channel, and establish a channel priority table by evaluating the time coverage rate and data integrity of each data stream channel.

[0023] Preferably, the steps for obtaining the merged data stream are as follows:

[0024] Based on the channel priority table, extract the timestamps and the corresponding channel identifiers of the data items in each data stream channel, insert the timestamp data into the initial merge queue in order of channel priority, and filter and correct the data items with abnormal timestamps in the initial merge queue;

[0025] According to the initial merge queue, calculate the priority score of the merged data item, and the calculation formula is:

[0026]

[0027] where P is the priority score of the merged data item, t max is the maximum timestamp in the current merge queue, t i is the timestamp of the current data item, k is the number of channels currently participating in the merge, n i is the relative position index of the data item in the channel, m i is the remaining data quantity of the channel where the data item is located;

[0028] Based on the priority score, gradually merge and sort the merged data items in descending order of the priority score, and remove the merged data items from the queue during the merge process to generate a merged data stream.

[0029] Preferably, the steps for obtaining the buffer index set are as follows:

[0030] Based on the merged data stream, sequentially read the timestamps, storage locations, and access records of each data item, sort the data items according to the timestamps and allocate them to the memory buffer and the disk buffer, and at the same time record the buffer locations and access times of each data item to form a data buffer record table;

[0031] Calculate the data access frequency value of each data item according to the data buffer record table, and the calculation formula is:

[0032]

[0033] Among them, F is the data access frequency value, A i is the access count of the data item, T i is the timestamp of the last access of the data item, T min is the earliest data timestamp in the buffer, S i is the storage location offset of the data item in the buffer, L i is the time span of the data item since its first access, M i is the size of the disk buffer where the data item is located;

[0034] Based on the data access frequency value, filter out the data items with access frequency values higher than the buffer threshold, sort the filtering results and record them in the buffer index set to generate the buffer index set.

[0035] Preferably, the steps for obtaining the buffer data table are as follows:

[0036] According to the buffer index set, the data items are sorted in descending order of the data access frequency value, and at the same time, the position of the target buffer is determined, and the sorted data items are migrated to the target buffer one by one to generate a migration record table;

[0037] Based on the migration record table, reallocate the storage space of the buffer for the migrated data items, update the storage status of each buffer, and generate the buffer data table.

[0038] Preferably, the steps for obtaining the partition storage table are as follows:

[0039] Based on the buffer data table and the partition index table, extract the data items in the partition and the corresponding access frequency values and the starting position of the partition to generate a basic partition analysis dataset;

[0040] According to the basic partition analysis dataset, calculate the data correlation degree between partitions, and the calculation formula is:

[0041]

[0042] Among them, R ij is the data correlation degree between partition i and partition j, f ik and f jk are the access frequency values of the kth data item in partition i and partition j respectively, d ik and d jk are the data volumes of the kth data item in partition i and partition j respectively, s i and sj are the starting positions of partition i and partition j, and p is the total number of data items in the partition;

[0043] Based on the data correlation degree, merge the partition data whose data correlation degree exceeds the partition threshold, re - allocate the storage location of the partition, and establish a sparse index structure for the re - organized partition to generate a partition storage table.

[0044] Compared with the prior art, the advantages and positive effects of the present invention are as follows:

[0045] Through the dynamic partition management and multi - path data stream processing mechanism, during the storage process of the electrolytic cell test data, the time - stamp mark is used to partition and aggregate the data. The data density value and the write rate value reflect the dynamic change of the partition, and the partition size is adjusted in real time to cope with the fluctuation of the data write load. The multi - channel data stream allocation and merge sort improve the concurrent processing performance and eliminate the bottleneck restriction of the single channel. The double - buffer architecture combined with the data access frequency analysis supports the intelligent migration of hot and cold data and optimizes the IO resource configuration. The partition correlation degree calculation guides the reorganization of the storage structure to adapt to the changes of different access modes. The multi - dimensional dynamic adjustment mechanism improves the data processing throughput, reduces the system response delay, and enhances the ability to handle burst loads. The intelligent data layout and cache management maintain stable access performance while saving storage space. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is a schematic diagram of the steps of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0047] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present 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 only used to explain the present invention and are not used to limit the present invention.

[0048] Please refer to Figure 1 , the present invention provides a technical solution, an electrolytic cell test data cloud storage method, including the following steps:

[0049] Perform time - stamp marking and partition size calculation on the electrolytic cell test data, aggregate the data into fixed - size partitions according to the time - stamp, calculate the data density value and the write rate value of each partition, obtain the partition data set, compare the write rate value in the partition data set with the preset partition threshold, perform a merge operation on adjacent partitions whose write rate value exceeds the preset partition threshold, and establish a partition index table;

[0050] Based on the partition index table, allocate the electrolytic cell test data to multiple data stream channels, sort the data items in the data stream channels according to the time - stamp, establish a channel priority table, perform a merge sort on the data items in the channel priority table, and establish a merged data stream;

[0051] Based on the merged data stream, load the data into the memory buffer and the disk buffer, count the data access frequency values of the buffers, establish a buffer index set, migrate the data items whose data access frequency values in the buffer index set exceed the buffer threshold, and generate a buffer data table;

[0052] Based on the buffer data table and the partition index table, calculate the data correlation degree between partitions, reorganize the partitions of the data items whose correlation degree exceeds the partition threshold, and generate a partition storage table.

[0053] The steps for obtaining the partitioned data set are as follows:

[0054] Mark the time stamps for the electrolyzer test data, aggregate the data into preset fixed-size partitions according to the time stamps, and then calculate the data density value and the write rate value of each partition to obtain a preliminary partitioned data set;

[0055] According to the preliminary partitioned data set, analyze the data density and write rate of each partition, evaluate the storage efficiency and processing requirements of each partition, and identify the partitions that need to be optimized by comparing the write rate of each partition with the preset threshold to obtain a partition evaluation result;

[0056] Based on the partition evaluation result, form a partitioned data set through data redistribution and storage strategy adjustment.

[0057] Specifically, when marking the time stamps for the electrolyzer test data, first read the electrolyzer test data item by item from the existing data records and extract the acquisition time, then use this acquisition time as the time stamp and arrange it internally. When dividing all the data with time stamps into fixed-size partitions, it is necessary to preset a partition size in advance. For example, based on empirical settings, take thirty minutes as a partition length. This thirty minutes is proposed by relevant engineers after comprehensively evaluating the daily test cycle of the electrolyzer and referring to the operation rules of similar equipment. Then, count the number of original records that appear within a certain period in the partition and record it as the total number of records. Calculate the data density value by dividing the total number of records by the number of minutes in the partition span. At the same time, estimate the write rate value by calculating the average of the intervals between two adjacent records in the partition. The write rate value threshold here is also calculated by the software in combination with the rated operating frequency of the equipment and the peak and valley values recorded in the historical test data. Specifically, it can be set to r threshold = 100 records per minute in the preliminary stage. Subsequently, save the total number of records and the write rate value corresponding to each partition together, and uniformly form an intermediate data set with partition numbers, data density values, and write rate values. Finally, after summarization, obtain the preliminary partitioned data set.

[0058] According to the data density values and writing rate values of each partition listed in the preliminary partition dataset, it is necessary to analyze the data storage efficiency and processing requirements of each partition. The specific method is to first read the total number of records of each partition and the corresponding writing rate value of the partition one by one, and then set a threshold in the program as the judgment criterion. For example, continue to use the r calculated by the software in the previous stage threshold = 100 records per minute. If the writing rate value of a certain partition exceeds this threshold, it is marked as needing optimization. If the data density value deviates too much from the average value of most partitions, the same marking is also carried out. The average value of most partitions here can be calculated statistically in the program first and then set a deviation range threshold. For example, the deviation range can be set to plus or minus 30% based on engineering experience. If the deviation exceeds this value, the partition is marked as a partition to be processed. Then, record the numbers of all marked partitions and the corresponding reasons in the analysis results to form a detailed list with partition identifiers and processing instructions. Finally, summarize and compare the numbers of these partitions that need to be optimized and processed, their corresponding writing rates, and data density values to obtain the partition evaluation results.

[0059] Based on the partition evaluation results, it is necessary to further form a partition dataset by data redistribution and storage strategy adjustment. The specific execution process includes first retrieving the numbers of partitions marked as needing optimization, and then sorting and comparing the data characteristics of these partitions one by one. For example, partitions with a writing rate exceeding r threshold within the same time period can be merged into a new time period partition to reduce duplicate partition management records. At the same time, if the data density values in some partitions are significantly too high or too low, they can also be split and merged into the partition closest to their average data density level as needed. These split or merge operations are executed by the pre-set redistribution logic in the program, and will gradually check whether other thresholds or criteria are triggered. For example, each partition after splitting still needs to maintain a time span not exceeding 30 minutes of the original set partition or other restrictions. Finally, integrate the new allocation results of all partitions, and record the new partition numbers and allocation rules to form a partition dataset.

[0060] The steps to obtain the partition index table are as follows:

[0061] Extract the writing rate values from the partition dataset, associate the extracted writing rate values with the time range and data density of the partition one by one, calculate the feature vectors of each partition, including the coordination between the writing rate and the time distribution and the density uniformity, and generate a partition feature data table;

[0062] Based on the partition feature data table, calculate the preset partition threshold, and the calculation formula is:

[0063]

[0064] where T is the preset partition threshold, r iis the write rate value for the i-th partition, sd i is the data density value for the i-th partition, st i is the data duration for the i-th partition, l i is the time span for the i-th partition, and m is the total number of partitions;

[0065] According to the partition feature data table and the preset partition threshold, adjacent partitions with write rate values exceeding the preset partition threshold are merged and calculated, and the index is updated by calculating the start position and end position of the adjacent partitions to generate a partition index table.

[0066] Specifically, extract the write rate value from the partition dataset. First, read all the timestamped records in each partition and record the write rate value for each record one by one. At the same time, compare each record with the previously determined write rate reference range. For example, the write rate value within the partition can be compared with the range from 0 to 200. If the actual write rate is lower than 0, it indicates that there is an abnormal data collection in the record and the abnormal record needs to be directly marked during this process. If the write rate is higher than 200, it indicates that there may be a short-term sudden increase in the current data volume and further distinction needs to be made in combination with the number of records in the same time period. Then, confirm whether the write rate remains high during this time period by continuously reading adjacent records. Next, continue to retrieve the partition time range of each partition and summarize the start and end times of these partition time ranges. List the partition time range and the extracted write rate value in a table together. Each partition corresponds to a sequence of write rate values to reflect the overall change range within the partition. Then, correspond the data density to the partition time range one by one. The data density can be obtained by dividing the total number of records obtained previously by the partition duration, and it is necessary to calculate the matching relationship between each record and the partition time period through a loop. Summarize the partition number, time range, write rate sequence, and data density in an original association table. Finally, rearrange the fields in the original association table and remove duplicate records to generate a partition feature data table.

[0067] The advantage of the formula is that it can integrate multiple factors such as write rate, time distribution characteristics, and data density into the same threshold measurement index, and take into account the comprehensive influence of data duration and time span within the partition; r i The acquisition step of is to calculate the ratio of the number of records generated per unit time in the i-th partition to the corresponding time unit of this partition, sd i The acquisition step of is to divide the number of data items counted within the i-th partition by the duration of this partition and record the result, st i The acquisition step of is to record the time used for continuous sampling within the i-th partition, l iThe acquisition step of is to count the time span covered by the i-th partition and record it in a unified standard such as minutes or seconds. The acquisition step of m is to directly count the total number of partitions obtained and record it in the system configuration table.

[0068] Calculation process:

[0069] In a certain scenario, m = 3, and take r of the first partition 1 = 50, sd 1 = 30, st 1 = 60, l 1 = 60, r of the second partition 2 = 120, sd 2 = 45, st 2 = 45, l 2 = 45, r of the third partition 3 = 90, sd 3 = 40, st 3 = 50, l 3 = 50, then the numerator part Denominator part Therefore, the overall fraction is Finally

[0070] This result shows that the preset partition threshold obtained by comprehensively quantifying factors such as write rate, data density, duration, and time span is 7.34. When the write rate value of each partition exceeds this threshold, adjacent partitions can be merged for calculation.

[0071] According to the partition feature data table and the preset partition threshold, first read the write rate values ​​and the time ranges of the corresponding partitions listed in the partition feature data table in the system in the order of the partition numbers, and then compare these write rate values ​​with the threshold values ​​obtained in the previous step one by one. If the write rate corresponding to a partition has been recorded in the feature data table and the value is greater than the threshold, continue to query the partition number adjacent to the partition and read its end time and start time. By comparing whether the time ranges of adjacent partitions are closely connected, it is determined whether these partitions are close in the time series. Then, the time ranges of these adjacent partitions are all summarized as a new partition area, and the new partition area is marked with a new number in the software. Marking, after the merger is completed, the original adjacent partition numbers are modified and rearranged according to the partition numbers in the system index area. In this process, the write rate and density value and other fields need to be updated synchronously. If the write rate value interval in the merged partition continues to remain higher than the partition threshold, the number of records and time information will be read again for verification against the previously established range, including whether the continuous length of the read data exceeds the cumulative threshold of the previous partition length and the time coverage within the partition. The results of all partition mergers and index updates are recorded in the index collection. Finally, the partition numbers that have completed the merger operation are regenerated into a list and the query basis for subsequent steps is provided on the interface to generate a partition index table.

[0072] The steps to obtain the channel priority table are:

[0073] Based on the partition index table, the starting position and the ending position of each partition in the electrolytic cell test data are extracted, the data is distributed to multiple data stream channels according to the index range, and the data items with missing and repeated timestamps are removed from the data of each data stream channel to generate a preprocessed data stream channel set;

[0074] According to the preprocessed data stream channel set, the data items in each data stream channel are sorted from small to large according to the timestamp, and the data identifier and the channel number corresponding to each timestamp are recorded to obtain a sorted timestamp data table;

[0075] Based on the sorted timestamp data table, the timestamp distribution of each data stream channel is evaluated, and a channel priority table is established by evaluating the time coverage and data integrity of each data stream channel.

[0076] Specifically, based on the start and end positions of each partition in the partition index table, it is necessary to first record these position data in the internal partition positioning list and number them. Then, traverse all the test data of the electrolytic cells in the program, read the timestamp and the partition identification to which it belongs one by one, determine whether the record falls between the start and end positions in the partition positioning list, and after confirming its belonging, allocate the data to the corresponding data stream channel according to the pre-set index range. During this process, the start and end times listed in the partition positioning list can be referred to first and a tolerance range for time matching can be set. If the error between the timestamp and the start or end time does not exceed five seconds, it is considered to meet the classification conditions, and the record is marked as belonging to the data stream channel of this partition. Subsequently, continue to sequentially check the next piece of data until all records are traversed. When the timestamp in the record is missing, it is processed according to the method set in the project. For example, an incomplete record index can be established internally and subsequent manual inspection can be reserved. If duplicate data items appear, compare the record content and the timestamp and only retain the first entered piece of information, delete or mark the other duplicate records as duplicate records. In addition, it is necessary to mark the abnormal writing situation in combination with the effective range set above. For example, compare the temperature value with the range of 0°C to 90°C, compare the pressure value with the range of 0 MPa to 2 MPa, compare the current value with the range of 0 A to 5 A, and compare the voltage value with the range of 0 V to 24 V. If the temperature value of a certain record is greater than 90°C or less than 0°C, an over-limit mark is added to the annotation column and it is included in the abnormal record list. Process various fields that exceed the effective range in turn. Finally, through this series of processes of data traversal, partition matching, abnormal annotation, and record screening, a set of pre-processed data stream channels excluding missing timestamps and duplicate data items is formed.

[0077] According to the preprocessed data stream channel set, it is necessary to sort the records of each channel in ascending order of timestamp. First, the program sequentially reads all the records in each channel and extracts their timestamps. By converting the timestamps into a unified format such as year-month-day hour:minute:second and comparing them in chronological order, the earlier records are placed in the front. If multiple data records are found under the same timestamp, the high-priority and low-priority items are further distinguished according to the collection order marked in the previous text, and the high-priority data items are placed in a more forward position after sorting. After sorting, it is also necessary to retain the channel number of each record and the data identifier corresponding to the timestamp, and check the continuity of the timestamps during the sorting process. For example, compare whether the difference in seconds between two adjacent records conforms to the normal distribution range. If the interval is too large, it is necessary to check the original data in the adjacent time period to confirm whether there are missing or abnormal records. Then, the sorted results are further integrated into a timestamp data table. In this table, a row number is assigned to each timestamp, corresponding to the channel to which the record belongs and the identifier of the record. Finally, the sorted timestamp data table is formed.

[0078] Based on the sorted timestamp data table, it is necessary to evaluate the timestamp distribution of each data stream channel. First, the earliest and latest records of the timestamps in each channel can be read and the time interval covered by the channel can be calculated. Then, this time interval is compared with the reference period set in the previous text. For example, for a certain channel, its earliest record is at 2025-01-01 08:00:00 and the latest record is at 2025-01-01 20:00:00, then the coverage duration of this channel is 12 hours. If the difference exceeds 1 hour compared with the previously determined target acquisition duration, this channel is marked as having insufficient coverage rate, and it is necessary to further check whether there is data loss. In addition to the time coverage rate, the integrity of the record quantity also needs to be checked. For example, in an ideal state, a certain device is expected to generate 60 records within one hour, but there are only 50 records in the current channel, which can be identified as data missing. In this way, the coverage rate and integrity indicators are calculated for each channel internally, and the corresponding values are recorded, so as to generate a list with priorities in the program. The channels with higher time coverage rate and data integrity are ranked in the front, and the channels with lower coverage rate and integrity are ranked in the back. Finally, the channel priority table is formed.

[0079] The steps for obtaining the merged data stream are as follows:

[0080] Based on the channel priority table, extract the timestamps and the corresponding channel identifiers of the data items in each data stream channel, and insert the timestamp data into the initial merge queue in order of channel priority. Filter and correct the data items with abnormal timestamps in the initial merge queue;

[0081] According to the initial merge queue, calculate the priority score of the merged data items. The calculation formula is:

[0082]

[0083] where P is the priority score of the merged data item, t max is the maximum timestamp in the current merge queue, t i is the timestamp of the current data item, k is the number of channels currently participating in the merge, n i is the relative position index of the data item in the channel, m i is the remaining number of data in the channel where the data item is located;

[0084] Based on the priority score, the merged data items are gradually sorted and merged in descending order of the priority score. The merged data items during the merge process are removed from the queue to generate a merged data stream.

[0085] Specifically, based on the priority information listed in the channel priority table, it is necessary to read and scan each data item's timestamp and channel identifier in each data stream channel one by one, and then insert these timestamps into the initial merge queue in order of priority. During this process, it is necessary to first consult the priority value of each channel in the channel priority table and use this as the basis for the insertion order. If the priority identifier of a certain channel is 1, it means it is inserted first. If the priority identifier is 2, it is queued in turn after the previous one is inserted, and so on. Then, read the timestamps of each data item and combine them with the channel identifier to form a complete record and put it into the initial merge queue. During this period, it is necessary to detect whether the timestamp exceeds the reasonable range. For example, convert the timestamp to a unified time format and compare it with the effective time range set in the system previously. If it is found that the timestamp of a certain record is earlier than the specified start time or later than the specified end time, it is determined as an abnormal record and marked in the abnormal list. Then, compare each item in the abnormal list item by item to check whether the time difference is within the range that can be corrected. For example, by finding the timestamps of adjacent records in the channel and calculating the difference between the two records. If the difference does not exceed one minute, it may be an offset caused by inconsistent record accuracy. At this time, the software automatically corrects the timestamp to the average value of the adjacent values in the channel. If the time difference is too large, the abnormal state is continued to be retained internally and can be further checked later. Finally, the corrected or confirmed normal records are uniformly stored in the initial merge queue. After such a process of scanning and marking correction item by item, a clean timestamp sequence is formed to complete the filtering and correction of timestamp abnormal data.

[0086] The benefit of the formula is that by quantifying the difference between the maximum timestamp and the current data item's timestamp, and comprehensively considering the number of channels, the relative position index of the data item in the channel, and the remaining number of data, the merge process can take into account the priority order and data distribution among channels.

[0087] The parameter t maxThe acquisition steps are to determine the maximum timestamp in the current merge queue, numerically convert the timestamps of all data items entering the merge queue (for example, convert the time to the number of seconds since a certain unified reference moment), and then select and record the maximum value after comparison;

[0088] Parameter t i The acquisition steps are to read the timestamp of the current data item itself and also convert it to the same timing reference as t max to obtain a timestamp in numerical form;

[0089] The acquisition steps of parameter k are to count the number of channels participating in the merge before the merge starts, determine the total number of selected channels through the channel priority table obtained previously, and store it;

[0090] Parameter n i The acquisition steps are to record the relative position index for each data item in the channel. The software will assign numbers in sequence and record them during channel sorting, and directly call this number during subsequent calculations;

[0091] Parameter m i The acquisition steps are to obtain it by counting the total number of unprocessed data items in the current channel. For each channel, it can be obtained by subtracting the number of processed items from the queue length and recording it in the list to be calculated.

[0092] Calculation process:

[0093] At a certain merge moment, let k = 3, that is, there are currently 3 channels to be merged. Take the maximum timestamp t max = 700000 seconds (here, the actual time is converted to the value calculated from the reference point), the timestamp of the current data item t i = 695000 seconds, the relative position index n i = 15, the remaining number of data items in this channel m i = 40, then the numerator part is |700000 - 695000| = 5000,

[0094] First calculate the denominator part Then calculate log 2 (1 + n i + m i ) = log 2 (1 + 15 + 40) = log 2 (56) = log 2 (56) ≈ 5.807,

[0095] Therefore, the result of the integral expression is:

[0096]

[0097] This result indicates that the current data item has a relatively high priority score in the merge queue, with a numerical scale close to five hundred. If it is higher than a certain critical value (such as one hundred), it can be regarded as the object that needs to be processed first during the merge sort of this batch. The larger its value, the more urgent it is to be sorted.

[0098] Based on the priority scores, it is necessary to gradually perform merge sorting on the merge data items in descending order. First, scan the priority scores of all entries in the merge queue and generate a priority index list. Subsequently, start from the data item with the highest priority for comparison and output it to the merge result. At the same time, remove the output data item from the queue. Then, read the next data item with the highest priority and align it with the adjacent data in the sequence generated by the previous merge. Also, check in the program whether the interval between the new timestamp and the last timestamp of the previous merge result conforms to the regular input rule. For example, judge the continuity and integrity of the records through the allowable interval of adjacent record intervals set previously. If there are entries with too large intervals, mark them as potentially abnormal during the merge process and register them in a unified suspected abnormal form. Continue to complete the output process for other entries one by one according to the priority order, and remove each merged data item from the queue. In this way, continuously update the merge sequence and the queue to be processed until all data items in all channels are merged. Finally, according to the completed merge order, count and record the sorting position numbers of each data item at the end of the merge and summarize them to form a merged data stream.

[0099] The steps to obtain the buffer index set are as follows:

[0100] Based on the merged data stream, sequentially read the timestamp, storage location, and access record of each data item. After sorting the data items by timestamp, allocate them to the memory buffer and the disk buffer, and at the same time record the buffer location and access times of each data item to form a data buffer record table;

[0101] According to the data buffer record table, calculate the data access frequency value of each data item. The calculation formula is:

[0102]

[0103] where F is the data access frequency value, A i is the access times of the data item, T i is the timestamp of the last access of the data item, T min is the earliest data timestamp in the buffer, S i is the storage location offset of the data item in the buffer, L i is the time span of the data item since its first access, M i is the size of the disk buffer where the data item is located;

[0104] Based on the data access frequency values, filter out the data items whose access frequency values are higher than the buffer threshold, sort the filtering results and record them in the buffer index set, and generate the buffer index set.

[0105] Specifically, based on the timestamps, storage locations, and access records of each data item listed in the merged data stream, it is necessary to first read the timestamps of each data item one by one and perform numerical processing. For example, convert the date and time (hours, minutes, and seconds) into the number of seconds accumulated from a certain unified reference moment. Then, sort all the data items in ascending order of timestamps. During the sorting process, data items with abnormal timestamps can be marked according to the record integrity verification results obtained previously and retained in the abnormal record list. When allocating them to the memory buffer and disk buffer one by one, first refer to the memory capacity value and disk capacity value set previously. If the current memory space can still accommodate the data item, record that the data item is stored in the memory cache and assign an internal identifier for distinguishing different memory storage sections. If the memory space is insufficient, directly allocate the data item to the disk cache and mark its physical location on the disk. Then, record the access times field of the data item and set it to the initial value, such as zero times or accumulate it according to the existing historical records. If this data item has appeared in the system before, retrieve its previous access times and increment it by one on the original record. During this process, the offset of the data in the cache after successful allocation will also be checked and recorded, and the corresponding relationship between different storage locations and different address ranges will be marked. All these information are saved in a record, forming a data buffer record table, which includes the timestamp, storage location in memory or disk, start or end offset, and recorded access times of each data item.

[0106] The advantage of the formula is that it comprehensively considers various factors such as access times, time difference, storage offset location, and disk space occupancy, so that it can more accurately evaluate which data access is more frequent or more time-sensitive during data cache scheduling.

[0107] A i The acquisition step of A is to count the access times of each data item when forming the data buffer record table, and obtain it by accumulating the access logs within the system and recording and adding the current access actions;

[0108] T i The acquisition step of T is to convert the timestamp of the last time the data item was read or written into a numerical form, retrieve its previous access time from the buffer history and compare it with the current access time for recording. Here, the numerical value can adopt second-level precision;

[0109] T min The acquisition step of T is to first retrieve the timestamps of all data items in the entire buffer, convert the earliest timestamp among them into a numerical value and store it, and then use this as a unified reference moment;

[0110] S i The acquisition step of S is to read the difference between the starting storage offset of the data item in the buffer and the start address of the overall cache. This offset can be directly retrieved from the buffer record table;

[0111] L i The acquisition step of L is to calculate the time elapsed since the data item was first accessed. The number of seconds or minutes can be obtained by taking the difference between the first access time and the current access time and saved in the access duration list;

[0112] M i The acquisition step of M is to query the actual capacity of the disk buffer where the current data item is located. For example, by combining the capacity limits set for different disk partitions, recording the allocated space and remaining space in the system configuration item, and then comparing data such as the partition capacity and the allocated space, the size of the disk buffer where the data item is located can be obtained.

[0113] Calculation process:

[0114] In an example, let A i = 20 times, which is the cumulative access count of the data item obtained by aggregating all previous access logs. T i = 640000 seconds means that the last access was made 640000 seconds from the unified reference time. T min = 600000 seconds means that the access time of the earliest data in the buffer is 600000 seconds from the same reference time. S i = 512 bytes means that the storage location offset of the data item in memory or disk is 512 bytes. L i = 4000 seconds means that the data item has experienced a total of 4000 seconds since it first appeared. M i = 1048576 bytes means that the disk buffer capacity where the data is located is 1MB (1024×1024 bytes). Then the numerator part:

[0115]

[0116] Denominator part:

[0117]

[0118] Among them

[0119] ln(1 + 1048576) ≈ ln(1048577) ≈ 13.86;

[0120] So the denominator ≈ 1 + 4032.52 + 13.86 = 4047.38;

[0121] Furthermore:

[0122]

[0123] This result indicates that the current data item exhibits a relatively high data access frequency value in the buffer scheduling of this system. When F exceeds a specific threshold (such as 0.8), it can be determined as the data item that most needs to be retained in the memory cache. The larger the value, the more attention it receives in the scheduling policy.

[0124] Based on the data access frequency values, it is necessary to compare and sort all data items in the system by frequency values. The specific approach is to read the previously obtained calculation results one by one, compare the F value of each data item with the buffer threshold statistically obtained according to the application scenario in advance. This threshold can be determined based on the access distribution pattern in the past period. For example, after statistically analyzing the access times and timestamp distributions of all data items within a month, the average frequency is comprehensively obtained and the coefficient of variation is analyzed. If the final evaluated threshold is 0.6, it means that once the F value of a data item is higher than 0.6, it is regarded as an item that needs to enter the subsequent screening process and be added to the list. Then, a secondary sorting is performed on these screened data items by arranging their access frequencies from high to low. If the access frequency values are the same, they are distinguished according to the order of timestamps recorded previously, so that the data items that are preferentially scheduled or migrated are arranged at the front of the list. Then, these high-frequency data are recorded in an index set and integrated together with the corresponding data item identifiers, buffer position offsets, access times, and other information. Finally, the relevant fields of all data items in the index set are renumbered and listed in a unified table to obtain the buffer index set.

[0125] The steps for obtaining the buffer data table are as follows:

[0126] According to the buffer index set, the data items are sorted from high to low according to the data access frequency values, and at the same time, the position of the target buffer is determined. The sorted data items are migrated to the target buffer item by item to generate a migration record table;

[0127] Based on the migration record table, the storage space of the buffer for the migrated data items is reallocated, and the storage status of each buffer is updated to generate the buffer data table.

[0128] Specifically, sort the data access frequency values listed in the buffer index set in descending order. First, it is necessary to traverse all data items and read their corresponding access frequency values, data identifiers, and original buffer positions. Then, arrange the data items with higher access frequency values at the front of the list, and the data items with lower access frequency values at the back. When the access frequency values are the same or similar, further compare the chronological order of timestamps in the records or the previously counted access times to determine the sorting order. Subsequently, based on the capacity parameter of the target buffer and its remaining available space, determine how many data items can be accepted for each migration operation. If it is found that the total capacity of some high-frequency data items has approached the threshold of the remaining available space in the target buffer, check whether there are unused space segments in the system or whether some low-frequency data items can be adjusted to other areas. This threshold can be determined by combining engineering experience and the actual monitoring results of recent months. For example, after counting the upper limit of high-frequency data capacity within a month, take 90% of it as the upper limit for using the target buffer. When the specific quantity that can be accommodated is confirmed, select data items one by one from the front of the sorted list and read their offsets, storage addresses, and identification information. Execute the transfer operation for each record in the program, that is, copy the content of the source location where the data is located to the target location. After the transfer is completed, record the timestamp corresponding to this operation and the new address after migration in the internal record, and register this information in the unified list in the form of a migration record. If data conflicts or address overlaps are encountered during the process, automatically distinguish and reallocate addresses by referring to the current space mapping relationship, mark the appropriate conflict type for the migration record, and retain a summary of the processing process. After all the selected data items have been migrated, summarize the serial numbers of this batch of migration operations and each migration record in the list to obtain the migration record table.

[0129] Based on the previously generated migration record table, it is necessary to reallocate new buffer storage space for the successfully migrated data items and update the location information of these migrated data items in the system. First, according to the new address of each data item listed in the migration record table and the old address of the data item in the original buffer, it is judged whether the old address location has been released for subsequent data to be reused. Then, scan all the migrated items in the order of the migration record table, mark the associated buffer areas as occupied, and then check the storage status of the original buffer and count the capacity of the emptied areas. If the total free space exceeds a minimum reorganization threshold set by a certain project, for example, setting this threshold to 512KB means that when the accumulated vacated space is greater than 512KB, it can be regarded as having the value of reorganization. Then, a round of section division can be performed on this large free area to store more data in the future. Subsequently, update the corresponding index records in the system and write the storage status of each data item into a latest buffer allocation list. Then, check the access priorities of these data items and the corresponding actual read and write times again, confirm that they are in the correct positions in the memory or disk cache, and perform space fine-tuning according to the application scenario if necessary. Once all the comparison and registration operations are completed, the final buffer usage status will be summarized uniformly to obtain the latest area allocation situation and occupancy information. Finally, the program outputs this list and indicates the data areas being used and the free block positions in all buffers, generating a buffer data table.

[0130] The steps to obtain the partition storage table are as follows:

[0131] Based on the buffer data table and the partition index table, extract the data items within the partition and the corresponding access frequency values and the starting position of the partition to generate a basic data set for partition analysis;

[0132] According to the basic data set for partition analysis, calculate the data correlation degree between partitions. The calculation formula is:

[0133]

[0134] Among them, R ij is the data correlation degree between partition i and partition j, f ik and f jk are the access frequency values of the kth data item in partition i and partition j respectively, d ik and d jk are the data volumes of the kth data item in partition i and partition j respectively, s i and s j are the starting positions of partition i and partition j, and p is the total number of data items in the partition;

[0135] Based on the data correlation degree, merge the partition data whose data correlation degree exceeds the partition threshold, reallocate the storage locations of the partitions, and establish a sparse index structure for the reorganized partitions to generate a partition storage table.

[0136] Specifically, based on all the partition data items listed in the buffer data table and the partition index table, it is necessary to first read the data identifier corresponding to each partition and its access frequency value, and then refer to the partition start position information to locate the section where each record is located in the unified sequence. Then, compile a brief attribute overview for each data item, including the name of the data item, the access frequency value, the row order or serial number within the partition, and the start position and duration interval of the partition. To make the data content more concentrated, the program can first scan all partitions and register the partition number, start position, and total duration in the index list, and then match the partition number with the corresponding data item one by one, so as to write the access frequency value and start position into a temporary list in sequence. Then, perform deduplication and merging processing on the temporary list. If it is found that there are duplicate-recorded data identifiers within the same partition, use this identifier as the primary key to compare its access frequency value and the number of records. If two or more records point to the same identifier and the access frequency values are the same, retain the first record and record its actual data volume. If the access frequency values are different, merge their data volumes and store the one with the higher access frequency value in the result. After completing the investigation and merging of all duplicate records, merge the data sets of all partitions into a table of the partition analysis basic data set, which contains the access frequency value of each data item in each partition, the start position of the partition, and the corresponding data volume information. Finally, sort the field order of this table so that the partition number, partition start position, access frequency value, and data volume are listed in sequence in directly readable columns to obtain the partition analysis basic data set.

[0137] The benefit of the formula is that it combines the accumulation of the access frequency difference and the corresponding data volume, and comprehensively considers the differences between the partition start positions, and evaluates the association degree between partitions by quantifying the above several factors.

[0138] f ik The obtaining step of f is to retrieve the access frequency value of the k-th data item in partition i, and the access frequency fields of each record can be extracted and summarized from the previously generated partition analysis basic data set;

[0139] f jk The obtaining step of f is to retrieve the access frequency value corresponding to the k-th data item in partition j, and the processing method is the same as that of f ik except that it is for partition j;

[0140] d ikThe acquisition step for is to find the corresponding data volume field in the same record of partition i, and mark the read number of data bytes or entries after unified measurement;

[0141] d jk The acquisition step for is to retrieve the data volume field in partition j that matches the above k data items, and also record the number of bytes or entries;

[0142] s i and s j The acquisition step for and s is to read the starting positions of partition i and partition j, which can be directly obtained from the index list established in the previous step. If numerical forms such as time or address are used, internal conversion is required first;

[0143] The acquisition step for p is to count the total number of all data items in the partition, and determine the number of data items included by reading the partition analysis basic dataset line by line.

[0144] Calculation process:

[0145] When there are p = 3 data items with the same identifier in both partition i and partition j, read their access frequency values and data volumes in sequence. Let f in partition i i1 = 10, f i2 = 25, f i3 = 40, f in partition j j1 = 15, f j2 = 23, f j3 = 50, d in partition i i1 = 100 bytes, d i2 = 350 bytes, d i3 = 600 bytes, d in partition j j1 = 120 bytes, d j2 = 370 bytes, d j3 = 610 bytes, and another s i = 1000 indicates that the offset of partition i from a certain starting point is 1000, and s j = 1500 indicates that the offset of partition j in the same coordinate system is 1500. First, calculate the numerator:

[0146] The first item:

[0147] The second item:

[0148] The third item:

[0149] The sum of the numerator part ≈ 33.166 + 37.95 + 110 = 181.116,

[0150] The denominator part 1 + ln(1 + |1000 - 1500|) = 1 + ln(1 + 500) = 1 + ln(501) ≈ 1 + 6.2166 = 7.2166,

[0151] Therefore,

[0152] This result indicates that the data correlation value between partition i and partition j is approximately 25.09. When this value is greater than a predetermined partition threshold (e.g., 20), it means there is a tight correlation between the partitions.

[0153] Based on the data correlation, it is necessary to read the calculated R ij values one by one in the program and compare them with the partition threshold set in the project. The partition threshold in the project can be set through statistical analysis of historical operation and maintenance data and research on the average correlation of typical partitions. For example, after sorting out the partition information in the past three months, it is found that the correlation values between most partitions are less than 10, and only in the partitions with high-frequency interactions will they reach 20 or even 30. Therefore, 20 can be set as the threshold for judging whether to merge. Subsequently, for R ij partition pairs greater than 20 are marked. Read all the data items included in these partition pairs and check whether adjacent partitions share the time coverage range. For example, if the difference in the starting positions of the two partitions is too small and the partition durations have obvious overlaps, a merge operation can be performed on them in the system, that is, the data in these partitions are renumbered in chronological order or merged into the same large partition. During the process, a new index needs to be established internally to record the new starting and ending positions of the merged partition. After the merge is completed, the space occupied by the original partitions is reallocated, and the indexes that have become part of the merged partition are marked as restructured. A corresponding sparse index structure is allocated for the newly generated large partition in the system, and some high-frequency data items are recorded with relatively compact numbers, and the partition segments that are far apart are placed in the empty positions in the index to ensure that the new large partition can be quickly retrieved. Finally, summarize all the partition information that has been restructured and record it in the overall index management table to generate a partition storage table.

[0154] The above is only a preferred embodiment of the present invention, and it is not intended to limit the present invention in other forms. Any person skilled in the relevant art may use the disclosed technical content to make changes or modifications into equivalent embodiments with equivalent changes and apply them to other fields. However, as long as it does not depart from the technical solution content of the present invention, any simple modification, equivalent change, and modification made to the above embodiments based on the technical essence of the present invention still fall within the protection scope of the technical solution of the present invention.

Claims

1. A method for storing electrolytic cell test data in a cloud, characterized in that: The following steps are involved: Perform timestamp marking and partition size calculation on the electrolytic cell test data, aggregate the data into fixed-size partitions according to the timestamp, calculate the data density value and write rate value of each partition, obtain the partition data set, compare the write rate value in the partition data set with the preset partition threshold, merge adjacent partitions whose write rate values ​​exceed the preset partition threshold, and establish a partition index table; Based on the partition index table, the electrolytic cell test data is distributed to multiple data stream channels, the data items in the data stream channels are sorted according to timestamps, a channel priority table is established, the data items in the channel priority table are merged and sorted, and a merged data stream is established; Based on the merged data stream, data is loaded into a memory buffer and a disk buffer, data access frequency values ​​of the buffer are counted, a buffer index set is established, data items whose data access frequency values ​​in the buffer index set exceed a buffer threshold are migrated, and a buffer data table is generated; Based on the buffer data table and the partition index table, the data association degree between partitions is calculated, and the data items whose association degree exceeds the partition threshold are partitioned and reorganized to generate a partition storage table.

2. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps for obtaining the partitioned data set are: Timestamp the electrolytic cell test data, aggregate the data into preset fixed-size partitions according to the timestamp, and then calculate the data density value and write rate value of each partition to obtain a preliminary partition data set; Analyze the data density and write rate of each partition according to the preliminary partition data set, evaluate the storage efficiency and processing requirements of each partition, identify the partitions that need to be optimized by comparing the write rate of each partition with a preset threshold, and obtain the partition evaluation result; Based on the partition evaluation result, a partition data set is formed through data reallocation and storage strategy adjustment.

3. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps for obtaining the partition index table are: Extracting write rate values ​​from the partition data set, associating the extracted write rate values ​​with the time range and data density of the partitions one by one, calculating the feature vector of each partition, including the synergy between the write rate and the time distribution and the density uniformity, and generating a partition feature data table; Based on the partition feature data table, the preset partition threshold is calculated using the following formula: Among them, T is the preset partition threshold, r i is the write rate value of the i-th partition, sd i is the data density value of the i-th partition, st i is the data duration of the i-th partition, l i is the time span of the ith partition, and m is the total number of partitions; According to the partition feature data table and the preset partition threshold, adjacent partitions whose write rate values ​​exceed the preset partition threshold are merged, and indexes are updated by calculating the starting and ending positions of the adjacent partitions to generate a partition index table.

4. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps for obtaining the channel priority table are: Based on the partition index table, the starting position and the ending position of each partition in the electrolytic cell test data are extracted, the data is distributed to multiple data stream channels according to the index range, and the data items with missing and repeated timestamps are removed from the data of each data stream channel to generate a preprocessed data stream channel set; According to the preprocessed data stream channel set, the data items in each data stream channel are sorted in ascending order according to the timestamps, and the data identifier and the channel number corresponding to each timestamp are recorded to obtain a sorted timestamp data table; Based on the sorted timestamp data table, the timestamp distribution of each data stream channel is evaluated, and a channel priority table is established by evaluating the time coverage and data integrity of each data stream channel.

5. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps of obtaining the merged data stream are: Based on the channel priority table, extract the timestamps and channel identifiers of the data items in each data stream channel, insert the timestamp data into the initial merge queue in sequence according to the channel priority, and filter and correct the data items with abnormal timestamps in the initial merge queue; According to the initial merge queue, the priority score of the merged data item is calculated, and the calculation formula is: Among them, P is the priority score of the merged data item, t max is the maximum timestamp in the current merge queue, t i is the timestamp of the current data item, k is the number of channels currently participating in the merge, and n i is the relative position index of the data item in the channel, m i The number of remaining data in the channel where the data item is located; Based on the priority scores, the merged data items are gradually merged and sorted in order of the priority scores from high to low, and the merged data items in the merging process are removed from the queue to generate a merged data stream.

6. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps of obtaining the buffer index set are: Based on the merged data stream, read the timestamp, storage location and access record of each data item in turn, sort the data items according to the timestamps and allocate them to the memory buffer and the disk buffer, and record the buffer location and access times of each data item to form a data buffer record table; According to the data buffer record table, the data access frequency value of each data item is calculated, and the calculation formula is: Among them, F is the data access frequency value, A i is the number of accesses to the data item, T i is the last access timestamp of the data item, T min is the earliest data timestamp in the buffer, S i is the storage location offset of the data item in the buffer, L i is the time span since the data item was first accessed, M i The size of the disk buffer where the data item is located; Based on the data access frequency value, data items whose access frequency value is higher than the buffer threshold are filtered, and the filtering results are sorted and recorded in the buffer index set to generate the buffer index set.

7. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps for obtaining the buffer data table are: According to the buffer index set, the data items are sorted from high to low according to the data access frequency value, and the location of the target buffer is determined at the same time, and the sorted data items are migrated to the target buffer one by one to generate a migration record table; Based on the migration record table, the storage space of the buffer zone is reallocated for the migrated data items, the storage status of each buffer zone is updated, and a buffer zone data table is generated.

8. The electrolytic cell test data cloud storage method according to claim 1, characterized in that: The steps for obtaining the partition storage table are: Based on the buffer data table and the partition index table, extract the data items in the partition and the corresponding access frequency values ​​and the partition starting position to generate a partition analysis basic data set; According to the partition analysis basic data set, the data association between partitions is calculated. The calculation formula is: Among them, R ij is the data association between partition i and partition j, f ik and f jk are the access frequency values ​​of the kth data item in partition i and partition j respectively, and d ik and d jk are the data volume of the kth data item in partition i and partition j respectively, s i and j is the starting position of partition i and partition j, and p is the total number of data items in the partition; Based on the data association degree, the partition data whose data association degree exceeds the partition threshold is merged, the storage location of the partition is reallocated, and a sparse index structure is established for the reorganized partition to generate a partition storage table.

Citation Information

Cited By

  • CAD drawing loading method and system combined with cache optimization

    CN120315779A

  • Perovskite whole line equipment data management method and system

    CN120783885A

  • Time sequence data partition storage method for high-frequency acquisition system

    CN121233596A

  • A time sequence data partition storage method for a high frequency acquisition system

    CN121233596B