Data processing method and device, equipment and medium
By using multi-port memory and cyclic redundancy verification mechanism in the storage server, the inefficiency and data conflict problems in the traditional data synchronization method are solved, efficient and reliable data synchronization and management are achieved, and data integrity and consistency.
Patent Information
- Application Number
- CN202411145379.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2024-12-27
AI Technical Summary
Traditional data synchronization methods have problems such as inefficiency, data loss or data conflict in the redundant design of storage server multi-controllers, affecting data availability and business continuity.
Using multi-port memory and cyclic redundancy verification (CRC) mechanism, the cyclic redundancy verification value of the data to be stored is calculated by obtaining the marking information of the data field, and comparing it when the data is written and read to ensure the data Synchronization integrity and consistency reduces the risk of data modification caused by incorrect operations.
It improves the flexibility and efficiency of data management, reduces the risk of data conflicts and modification caused by wrong operations, enhances the accuracy and reliability of data, and improves the system's throughput and response speed.
Smart Images

Figure CN119201537A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a data processing method, device, equipment and medium. Background Art
[0002] The design of multiple controller redundancy of storage servers aims to improve the reliability and fault tolerance of storage systems by introducing redundant controllers. In this architecture, the main goal is to ensure that even if one or more controllers fail, the entire storage system can continue to provide uninterrupted services, thereby ensuring data availability and business continuity.
[0003] To achieve this goal, data synchronization mechanisms become crucial. Data synchronization ensures that data always maintains consistency and integrity between multiple controllers, especially in shared data areas. However, traditional data synchronization methods, such as those based on the network communication I2C (Inter-Integrated Circuit) bus, may be limited by problems such as inefficiency, data loss or data conflicts in some scenarios. Summary of the invention
[0004] In order to overcome the above technical defects, the purpose of the present application is to provide a data processing method, device, equipment and medium, the method comprising: obtaining the tag information of the data domain; in response to the tag information of the data domain being in an idle state, obtaining the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller; obtaining the data stored in the corresponding data domain, recalculating the cyclic redundancy check value of the data stored in the corresponding data domain; comparing the cyclic redundancy check value recalculated by the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; in response to the cyclic redundancy check value recalculated by the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed. The present application can make the management and update of data more flexible and efficient, and also reduce the risk of other irrelevant data being incorrectly modified due to erroneous operations.
[0005] The specific technical solutions provided by the embodiments of this application are as follows:
[0006] In a first aspect, the present application provides a data processing method, the method being applied to a data processing system, the system comprising a plurality of controllers and a multi-port memory, the multi-port memory comprising a plurality of data domains, the plurality of controllers corresponding one to one with the plurality of data domains of the multi-port memory, the method comprising:
[0007] Obtaining tag information of the data domain;
[0008] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0009] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0010] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0011] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0012] In one embodiment, the method comprises:
[0013] Configuring the parameters of the multi-port memory; wherein the parameters include: the number of memory ports, memory capacity, and operating frequency;
[0014] The tag information of each data field of the multi-port memory is set to an idle state.
[0015] In one embodiment, storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data field by the controller includes:
[0016] Obtaining access rights to the data domain through a cache consistency protocol and / or a lock mechanism;
[0017] The controller stores the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain;
[0018] releasing access rights to the data domain;
[0019] The releasing the access rights of the data domain comprises:
[0020] When the lock mechanism is used to obtain access rights to the data domain, unlocking is performed;
[0021] When the access right to the data domain is obtained through the cache consistency protocol, the data state is updated to a shared state.
[0022] In one embodiment, the calculating the cyclic redundancy check value of the data to be stored includes:
[0023] Obtain the data to be stored; obtain a generating polynomial;
[0024] Converting the data to be stored into binary data;
[0025] Expanding the binary data according to the number of bits of the generating polynomial;
[0026] The extended binary data is divided by the generator polynomial through a bitwise XOR operation to obtain a cyclic redundancy check value of the data to be stored.
[0027] In one embodiment, the method comprises:
[0028] In response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being inconsistent with the cyclic redundancy check value of the data to be stored, an error log is recorded through the controller, and the data to be stored and the cyclic redundancy check value of the data to be stored are re-stored in the corresponding data domain through the controller.
[0029] In one embodiment, after storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data field, and after comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data field with the cyclic redundancy check value of the data to be stored, the method includes:
[0030] The controller resets the mark information of the corresponding data field to an idle state.
[0031] In one embodiment, the method comprises:
[0032] Verifying the integrity of the data stored in the corresponding data domain;
[0033] The checking the integrity of the data stored in the corresponding data domain includes:
[0034] Acquire the data to be stored, traverse each byte of the data to be stored, perform addition modulo calculation on each byte to calculate the checksum value of the data to be stored, and store the data to be stored and the checksum value of the data to be stored in a corresponding data field through the controller;
[0035] Acquire the data stored in the corresponding data field, and recalculate the checksum value of the data stored in the corresponding data field;
[0036] Comparing the recalculated checksum value of the data stored in the corresponding data field with the checksum value of the data to be stored;
[0037] In response to the checksum value recalculated in response to the data stored in the corresponding data domain being consistent with the checksum value of the data to be stored, the data synchronization is complete;
[0038] The checking the integrity of the data stored in the corresponding data domain also includes:
[0039] Acquire the data to be stored, calculate the hash function value of the data to be stored by using a hash function, and store the data to be stored and the hash function value of the data to be stored in a corresponding data domain by using the controller;
[0040] Acquire the data stored in the corresponding data domain, and recalculate the hash function value of the data stored in the corresponding data domain;
[0041] Compare the recalculated hash function value of the data stored in the corresponding data domain with the hash function value of the data to be stored;
[0042] In response to the recalculated hash function value of the data stored in the corresponding data domain being consistent with the hash function value of the data to be stored, the data synchronization is complete;
[0043] The method further comprises:
[0044] When a data transmission error is detected quickly, the data integrity is checked by a cyclic redundancy check value;
[0045] When the data performance requirement is high, the data processing volume is small, and there is no need to pay attention to the slight changes in data integrity, the data integrity is verified through the checksum value;
[0046] When a highly secure data error detection mechanism is required and large data files or important information need to be protected, the data integrity is verified through the hash function value.
[0047] In a second aspect, the present application further provides a data processing device, the device is applied to a data processing system, the system includes several controllers and a multi-port memory, the multi-port memory includes several data domains, the several controllers correspond one to one with the several data domains of the multi-port memory, the device includes:
[0048] An acquisition module, used to acquire the tag information of the data domain;
[0049] a synchronization module, configured to obtain the data to be stored, calculate the cyclic redundancy check value of the data to be stored, and store the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller in response to the mark information of the data domain being in an idle state;
[0050] A calculation module, used to obtain data stored in the corresponding data domain, and recalculate a cyclic redundancy check value of the data stored in the corresponding data domain;
[0051] A comparison module is used to compare the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0052] In a third aspect, a data processing device is also provided, including:
[0053] one or more processors;
[0054] A storage device for storing one or more programs;
[0055] When the one or more programs are executed by the one or more processors, the one or more processors implement the data processing method as described in any one of the first aspects.
[0056] In a fourth aspect, the present application further provides a computer device, the device comprising:
[0057] A memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the data processing method as described in any one of the first aspects.
[0058] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of any data processing method described in the first aspect.
[0059] In a sixth aspect, the present application further provides a computer storage medium, the medium comprising:
[0060] A computer program is stored thereon, and when the computer program is executed by a processor, the steps of any data processing method described in the first aspect are implemented.
[0061] Compared with the prior art, the method described in the technical solution provided by the embodiment of the present application includes: obtaining the tag information of the data domain; in response to the tag information of the data domain being in an idle state, obtaining the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller; obtaining the data stored in the corresponding data domain, recalculating the cyclic redundancy check value of the data stored in the corresponding data domain; comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed. The present application can make the management and update of data more flexible and efficient, and also reduce the risk of other irrelevant data being incorrectly modified due to erroneous operations.
[0062] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0063] The cyclic redundancy check (CRC) mechanism introduced in the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0065] Figure 1 A first structural diagram of a data processing system provided in Embodiment 1 of the present application;
[0066] Figure 2 A second structural diagram of the data processing system provided in Embodiment 1 of the present application;
[0067] Figure 3 A classification diagram of memory data domains provided in Example 1 of the present application;
[0068] Figure 4A first flow chart of a data processing method provided in Embodiment 1 of the present application;
[0069] Figure 5 A second flow chart of the data processing method provided in Embodiment 2 of the present application;
[0070] Figure 6 A third flow chart of the data processing method provided in Embodiment 2 of the present application;
[0071] Figure 7 A fourth flow chart of the data processing method provided in Embodiment 2 of the present application;
[0072] Figure 8 A structural diagram of a data processing device provided in Embodiment 3 of the present application;
[0073] Fig. 9 The exemplary system provided for Embodiment 7 of the present application can be used to implement the various embodiments described in the present application. DETAILED DESCRIPTION
[0074] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0075] It should be noted that, unless the context clearly requires otherwise, words such as “include”, “including” and similar words throughout the specification and claims should be interpreted as including rather than exclusive or exhaustive; that is, the meaning is “including but not limited to”.
[0076] Furthermore, in the description of the present application, unless otherwise specified, “plurality” means two or more.
[0077] Embodiment 1
[0078] The present application embodiment provides a data processing method, such as Figure 1 , 2 As shown in , 3, and 4, the method is applied to a data processing system, the system includes a plurality of controllers and a memory, the memory includes a plurality of data domains, the plurality of controllers correspond to the plurality of data domains of the memory in a one-to-one manner, and the method includes:
[0079] Obtaining tag information of the data domain;
[0080] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0081] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0082] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0083] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0084] Specifically, the present application provides a storage server multi-control redundancy and efficient data synchronization system based on a multi-port random access memory (RAM); the system uses a multi-port memory as the main storage medium for data caching and transmission to achieve efficient data synchronization between devices and improve the reliability and redundancy of the storage system.
[0085] Here, a multi-port static random access memory (SRAM) is used as the main storage medium for data caching and transmission; for example, a quad-port SRAM provides multiple independent read / write ports that can access the same memory address simultaneously, thereby supporting high parallelism and complex data exchange operations.
[0086] In the multi-controller redundant design of the storage server, each baseboard management controller (BMC) device can be connected to different ports of a multi-port memory. Through this connection method, each BMC device can efficiently synchronize data because data can be directly transmitted through the multi-port RAM without going through an additional network or bus interface. This direct data transmission method can significantly reduce the delay of data synchronization and improve the response speed and performance of the entire system.
[0087] like Figure 1 As shown, the multi-port memory uses multi-ports as the main storage medium for data cache. The multi-port RAM has four independent read / write ports, supports high parallelism and complex data exchange, and is suitable for high-performance storage systems. When each BMC device is connected to a different port of a multi-port RAM, efficient data synchronization between devices can be achieved.
[0088] like Figure 2 As shown, the memory is divided into several independent memory areas, and each baseboard management controller is associated with a specific memory area and is responsible for updating the data in the area.
[0089] like Figure 3 As shown in the figure, in order to more effectively synchronize data updates, the associated data domain is subdivided into multiple independent data class domains. Each data class domain has a header tag information to indicate the current state of the area, which includes read, write and idle states. Each data class domain focuses on specific synchronization information, such as power supply PSU information, hard disk information, sensor information, setting class instructions, etc. This division makes data management and updating more flexible and efficient.
[0090] When a certain type of data in the system changes, such as hard disk information, the controller only needs to update the hard disk data class domain. This targeted update not only improves the efficiency of data synchronization, but also reduces the risk of other unrelated data being incorrectly modified due to misoperation.
[0091] Efficient data synchronization mechanism:
[0092] The baseboard management controller only needs to update the contents of the associated area; first check the header tag information of the area, if the tag is idle, the BMC will modify the tag to read / write state, and then perform the update operation. After the update is completed, the BMC will change the tag back to idle state so that other BMCs can use the area.
[0093] If other BMCs need to read the contents of a certain area, they will also check the tag information of the area first. Only when the tag information is in the idle state can the tag be changed to the read state and the reading operation can be started. After the reading is completed, the BMC needs to ensure that the tag is changed back to the idle state to ensure that the memory area can be safely accessed by other BMCs.
[0094] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0095] This application can make data management and updating more flexible and efficient, and also reduce the risk of other unrelated data being incorrectly modified due to erroneous operations.
[0096] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0097] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0098] Embodiment 2
[0099] The present application embodiment provides a data processing method, such as Figure 5 As shown, the method is applied to a data processing system, the system includes several controllers and memories, the memory includes several data domains, and the method includes:
[0100] Step S01, one-to-one correspondence between the plurality of controllers and the plurality of data fields of the memory, wherein the data fields include power supply information, hard disk information, sensor information and setting instruction information;
[0101] Configuring the parameters of the memory; wherein the parameters include: the number of memory ports, memory capacity, and operating frequency;
[0102] The mark information of each data field of the memory is set to an idle state.
[0103] Specifically, each controller BMC device is connected to the multi-port memory through a different port;
[0104] Configure the parameters of the multi-port memory, such as the number of ports, capacity, operating frequency, etc.
[0105] The multi-port memory is divided into a plurality of independent memory areas, and the data class domain header tag information of each memory area is initialized to an idle state.
[0106] Step S02, obtaining the tag information of the data domain;
[0107] In response to the mark information of the data domain being in an idle state, the data to be stored is acquired, a cyclic redundancy check value of the data to be stored is calculated, and the data to be stored and the cyclic redundancy check value of the data to be stored are stored in the corresponding data domain through the controller.
[0108] Specifically, check the status: before writing data, the BMC device first checks the header tag information of its associated memory area to ensure that it is in an idle state.
[0109] Status update: If it is in idle state, BMC updates the mark information to read / write state and starts the data writing operation.
[0110] Data write: BMC writes the data to be written and the CRC check value corresponding to the data into the memory area.
[0111] Step S02 also includes:
[0112] Step S021, obtaining access rights to the data domain through a cache consistency protocol and / or a lock mechanism;
[0113] The controller stores the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain;
[0114] releasing access rights to the data domain;
[0115] The releasing the access rights of the data domain comprises:
[0116] When the lock mechanism is used to obtain access rights to the data domain, unlocking is performed;
[0117] When the access right to the data domain is obtained through the cache consistency protocol, the data state is updated to a shared state.
[0118] Specifically, if multiple controllers share the same memory, then access to the data domain needs to be obtained;
[0119] This can be achieved through cache consistency protocols (such as MESI, MOESI) or locking mechanisms;
[0120] When the controller obtains exclusive access to a data domain, it can write data to the data domain;
[0121] After the update is complete, the controller needs to release access to the data domain;
[0122] If a lock mechanism is used, it needs to be unlocked; if it is a cache consistency protocol, the data state needs to be updated to a shared state.
[0123] Step S022, obtaining the data to be stored; obtaining a generating polynomial;
[0124] Converting the data to be stored into binary data;
[0125] Expanding the binary data according to the number of bits of the generating polynomial;
[0126] The extended binary data is divided by the generator polynomial through a bitwise XOR operation to obtain a cyclic redundancy check value of the data to be stored.
[0127] Specifically, determine the generator polynomial: select a generator polynomial that is suitable for the application scenario; common CRC generator polynomials include CRC-8, CRC-16, CRC-32, etc.;
[0128] Represent data in binary form: Represent the data to be sent synchronously in binary form, for example, the data to be sent is "10010011";
[0129] Add zero bits: Add the same number of zero bits as the number of bits in the generator polynomial after the binary data. For example, if CRC-3 (a 3-bit generator polynomial) is used, add 3 zero bits after the data: "10010011000";
[0130] Binary division: Use the generator polynomial to remove the extended data string, that is, perform a bitwise XOR operation. If the highest bit is aligned, perform the XOR operation; otherwise, shift the dividend one bit to the right until the highest bit can be aligned with the highest bit of the polynomial.
[0131] Get the remainder: When all bits of the binary data string have been processed, what remains is the remainder: the CRC check value;
[0132] Append CRC check value: Append the obtained CRC check value to the end of the original data to form the final synchronized data.
[0133] Step S03, obtaining data stored in the corresponding data domain, and recalculating a cyclic redundancy check value of the data stored in the corresponding data domain;
[0134] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0135] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0136] Specifically, check the status: before reading data, the BMC checks the header tag information of the target memory area to ensure that it is in the idle state or read / write state;
[0137] Status update: If it is in idle state or read / write state, BMC updates the flag to read state and starts data reading operation;
[0138] Data reading and verification: After the BMC reads the data, it recalculates the CRC (Cyclic Redundancy Check) check value of the data and compares it with the stored CRC check value.
[0139] Step S03 also includes:
[0140] Step S031, in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being inconsistent with the cyclic redundancy check value of the data to be stored, an error log is recorded through the controller, and the data to be stored and the cyclic redundancy check value of the data to be stored are re-stored in the corresponding data domain through the controller.
[0141] Specifically, to ensure the integrity of data during transmission and storage, each time before writing data to the memory RAM, the BMC calculates the CRC value of the data and appends the value to the data for storage.
[0142] When other BMCs read data, they recalculate the CRC value of the data and compare it with the stored CRC value.
[0143] If the two match, it means the data is complete; if they do not match, it means an error may have occurred during data transmission or storage, and the system will take appropriate error handling measures, such as requesting data retransmission or reporting an error.
[0144] Step S04, after storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data field, and comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data field with the cyclic redundancy check value of the data to be stored, comprises:
[0145] The controller resets the mark information of the corresponding data field to an idle state.
[0146] Specifically, state recovery: after data writing is completed, the BMC restores the mark information of the memory area to the idle state.
[0147] State recovery: After data reading and verification are completed, the BMC restores the mark information of the memory area to the idle state.
[0148] Step S05, verifying the integrity of the data stored in the corresponding data domain;
[0149] The checking the integrity of the data stored in the corresponding data domain includes:
[0150] Acquire the data to be stored, traverse each byte of the data to be stored, perform addition modulo calculation on each byte to calculate the checksum value of the data to be stored, and store the data to be stored and the checksum value of the data to be stored in a corresponding data field through the controller;
[0151] Acquire the data stored in the corresponding data field, and recalculate the checksum value of the data stored in the corresponding data field;
[0152] Comparing the recalculated checksum value of the data stored in the corresponding data field with the checksum value of the data to be stored;
[0153] In response to the checksum value recalculated in response to the data stored in the corresponding data domain being consistent with the checksum value of the data to be stored, the data synchronization is complete;
[0154] The checking the integrity of the data stored in the corresponding data domain also includes:
[0155] Acquire the data to be stored, calculate the hash function value of the data to be stored by using a hash function, and store the data to be stored and the hash function value of the data to be stored in a corresponding data domain by using the controller;
[0156] Acquire the data stored in the corresponding data domain, and recalculate the hash function value of the data stored in the corresponding data domain;
[0157] Compare the recalculated hash function value of the data stored in the corresponding data domain with the hash function value of the data to be stored;
[0158] In response to the recalculated hash function value of the data stored in the corresponding data domain being consistent with the hash function value of the data to be stored, the data synchronization is complete.
[0159] Specifically, the sender calculates the sum of the data blocks;
[0160] The sender attaches the checksum to the data packet and sends it together;
[0161] The receiver calculates the checksum after receiving the data;
[0162] The receiver compares the calculated checksum with the received checksum to see if they are consistent;
[0163] If they are inconsistent, the data may have been tampered with or corrupted.
[0164] The method further comprises:
[0165] The sender calculates the hash value of the data;
[0166] Send the hash value along with the data;
[0167] The receiver recalculates the hash value of the received data;
[0168] Compare the calculated hash value with the received hash value;
[0169] If they match, the data is intact; if they do not match, the data may have been tampered with.
[0170] Here, commonly used hash functions include MD5, SHA-1, and SHA-256.
[0171] Through these methods, it is possible to effectively detect whether the data has been changed or damaged during transmission, thereby ensuring the integrity and reliability of the data.
[0172] like Figure 6 , 7 As shown, the technical solution of the present application proposes a data processing method based on the data synchronization structure of a multi-port memory RAM: the present application applies the multi-port RAM to the multi-control redundant architecture of the storage server for the first time, and the multiple independent read and write ports of the multi-port RAM support multiple BMC devices to access and operate data simultaneously and independently, thereby realizing efficient data synchronization and multi-control redundancy between devices.
[0173] This application proposes an innovative memory area division and state management mechanism, which realizes the refined management of memory resources by dividing the multi-port RAM into multiple independent memory areas and setting a state mark (such as idle, read / write, etc.) for each area. This mechanism effectively avoids data conflicts and ensures the consistency and security of data access;
[0174] The concurrent access control mechanism of the present application allows multiple BMC devices to access different memory areas at the same time, thereby improving the throughput and response speed of the system. Through status marking, precise control of concurrent access is achieved to avoid data conflicts and access conflicts.
[0175] Furthermore, calculating a checksum value of the data includes:
[0176] Initialize an accumulator, the accumulator is 0;
[0177] Iterate through each byte in the data;
[0178] Accumulate each byte;
[0179] Performing a bitwise inversion operation on the value in the accumulator;
[0180] Calculate the checksum value of the data and output the final result;
[0181] The method further comprises:
[0182] When rapid detection of data transmission errors is performed under limited resources, the data integrity is checked using a cyclic redundancy check value;
[0183] When the performance requirement is high, the data volume is not large, and there is no particular concern about slight changes in data integrity, the data integrity is checked through the checksum value;
[0184] When the integrity of the data is of concern and a highly secure error detection mechanism is required, and the protection of large data files or important information is required, the data integrity is checked through the hash function value;
[0185] The data is checked for integrity by combining a checksum value, a cyclic redundancy check value, and a hash function value, including:
[0186] A cyclic redundancy check value is used first for quick error detection, and then a hash function value is used for more detailed verification.
[0187] Here, when selecting a data verification method (such as CRC, checksum, or hash value), factors such as application scenarios, data size, error detection capabilities, and performance requirements need to be considered. In some network protocols, data reliability can be improved while maintaining performance.
[0188] The data processing method provided in the embodiment of the present application may be further improved and optimized without departing from the technical solution of the present application, and these improvements and optimizations should also be regarded as within the scope of protection of the present application.
[0189] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0190] This application can make data management and updating more flexible and efficient, and also reduce the risk of other unrelated data being incorrectly modified due to erroneous operations.
[0191] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0192] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0193] Embodiment 3
[0194] The present application provides a data processing device, such as Figure 8 As shown, the device includes a corresponding module, a configuration module, an acquisition module, a synchronization module, a calculation module, a comparison module, a verification module, and a processing module.
[0195] In this embodiment, the corresponding module is used to correspond the several controllers to the several data fields of the memory one by one, wherein the data fields include power supply information, hard disk information, sensor information and setting instruction information;
[0196] An acquisition module, used to acquire the tag information of the data domain;
[0197] a synchronization module, configured to obtain the data to be stored, calculate the cyclic redundancy check value of the data to be stored, and store the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller in response to the mark information of the data domain being in an idle state;
[0198] A calculation module, used to obtain data stored in the corresponding data domain, and recalculate a cyclic redundancy check value of the data stored in the corresponding data domain;
[0199] A comparison module is used to compare the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0200] In one embodiment, the configuration module is used to configure the parameters of the memory; wherein the parameters include: the number of memory ports, the memory capacity, and the operating frequency;
[0201] The mark information of each data field of the memory is set to an idle state.
[0202] In one of the embodiments, the synchronization module is used to obtain access rights to the data domain through a cache consistency protocol and / or a lock mechanism;
[0203] The controller stores the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain;
[0204] releasing access rights to the data domain;
[0205] The releasing the access rights of the data domain comprises:
[0206] When the lock mechanism is used to obtain access rights to the data domain, unlocking is performed;
[0207] When the access right to the data domain is obtained through the cache consistency protocol, the data state is updated to a shared state.
[0208] In one embodiment, the computing module is used to obtain the data to be stored; obtain a generating polynomial;
[0209] Converting the data to be stored into binary data;
[0210] Expanding the binary data according to the number of bits of the generating polynomial;
[0211] The extended binary data is divided by the generator polynomial through a bitwise XOR operation to obtain a cyclic redundancy check value of the data to be stored.
[0212] In one of the embodiments, the comparison module is used to record an error log through a controller in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being inconsistent with the cyclic redundancy check value of the data to be stored, and re-store the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller.
[0213] In one of the embodiments, the processing module is used to reset the marking information of the corresponding data field to an idle state.
[0214] In one of the embodiments, the verification module is used to verify the integrity of the data stored in the corresponding data field;
[0215] The checking the integrity of the data stored in the corresponding data domain includes:
[0216] Acquire the data to be stored, traverse each byte of the data to be stored, perform addition modulo calculation on each byte to calculate the checksum value of the data to be stored, and store the data to be stored and the checksum value of the data to be stored in a corresponding data field through the controller;
[0217] Acquire the data stored in the corresponding data field, and recalculate the checksum value of the data stored in the corresponding data field;
[0218] Comparing the recalculated checksum value of the data stored in the corresponding data field with the checksum value of the data to be stored;
[0219] In response to the checksum value recalculated in response to the data stored in the corresponding data domain being consistent with the checksum value of the data to be stored, the data synchronization is complete;
[0220] The checking the integrity of the data stored in the corresponding data domain also includes:
[0221] Acquire the data to be stored, calculate the hash function value of the data to be stored by using a hash function, and store the data to be stored and the hash function value of the data to be stored in a corresponding data domain by using the controller;
[0222] Acquire the data stored in the corresponding data domain, and recalculate the hash function value of the data stored in the corresponding data domain;
[0223] Compare the recalculated hash function value of the data stored in the corresponding data domain with the hash function value of the data to be stored;
[0224] In response to the recalculated hash function value of the data stored in the corresponding data domain being consistent with the hash function value of the data to be stored, the data synchronization is complete.
[0225] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0226] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0227] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0228] Embodiment 4
[0229] The present invention also provides a data processing device, comprising:
[0230] one or more processors;
[0231] A storage device for storing one or more programs;
[0232] When the one or more programs are executed by the one or more processors, the one or more processors perform the following data processing method:
[0233] Obtaining tag information of the data domain;
[0234] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0235] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0236] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0237] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0238] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0239] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0240] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0241] Embodiment 5
[0242] The present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following data processing method can be executed:
[0243] Obtaining tag information of the data domain;
[0244] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0245] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0246] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0247] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0248] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0249] This application can make data management and updating more flexible and efficient, and also reduce the risk of other unrelated data being incorrectly modified due to erroneous operations.
[0250] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0251] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0252] Embodiment 6
[0253] The present application also provides a computer program product, including a computer program, which can implement the following data processing method when executed by a processor:
[0254] Obtaining tag information of the data domain;
[0255] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0256] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0257] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0258] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0259] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0260] This application can make data management and updating more flexible and efficient, and also reduce the risk of other unrelated data being incorrectly modified due to erroneous operations.
[0261] The technical solution provided in the embodiment of the present application can achieve efficient data synchronization between devices by using a multi-port memory. The multiple independent read and write ports of the multi-port memory support high parallelism and complex data exchange, greatly improving the efficiency of data synchronization; and the division of memory areas and state management strategies effectively avoid data conflicts and improve the efficiency and security of data access.
[0262] The cyclic redundancy check mechanism introduced by the technical solution provided in the embodiment of the present application can perform data integrity verification during data writing and reading to ensure the accuracy and reliability of the data; through flexible concurrent access control, multiple controller devices are allowed to access different memory areas at the same time, thereby improving the system's throughput and response speed.
[0263] Embodiment 7
[0264] The present application provides a computer storage medium, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:
[0265] The controllers are matched one by one with the data fields of the memory, wherein the data fields include power supply information, hard disk information, sensor information and setting instruction information;
[0266] Obtaining tag information of the data domain;
[0267] In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller;
[0268] Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain;
[0269] Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored;
[0270] In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
[0271] In one embodiment, after the plurality of controllers are connected to the plurality of data fields of the memory in a one-to-one correspondence, the method further comprises:
[0272] Configuring the parameters of the memory; wherein the parameters include: the number of memory ports, memory capacity, and operating frequency;
[0273] The mark information of each data field of the memory is set to an idle state.
[0274] In one embodiment, storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data field by the controller includes:
[0275] Obtaining access rights to the data domain through a cache consistency protocol and / or a lock mechanism;
[0276] The controller stores the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain;
[0277] releasing access rights to the data domain;
[0278] The releasing the access rights of the data domain comprises:
[0279] When the lock mechanism is used to obtain access rights to the data domain, unlocking is performed;
[0280] When the access right to the data domain is obtained through the cache consistency protocol, the data state is updated to a shared state.
[0281] In one embodiment, the calculating the cyclic redundancy check value of the data to be stored includes:
[0282] Obtain the data to be stored; obtain a generating polynomial;
[0283] Converting the data to be stored into binary data;
[0284] Expanding the binary data according to the number of bits of the generating polynomial;
[0285] The extended binary data is divided by the generator polynomial through a bitwise XOR operation to obtain a cyclic redundancy check value of the data to be stored.
[0286] In one embodiment, the method comprises:
[0287] In response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being inconsistent with the cyclic redundancy check value of the data to be stored, an error log is recorded through the controller, and the data to be stored and the cyclic redundancy check value of the data to be stored are re-stored in the corresponding data domain through the controller.
[0288] In one embodiment, after storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data field, and after comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data field with the cyclic redundancy check value of the data to be stored, the method includes:
[0289] The controller resets the mark information of the corresponding data field to an idle state.
[0290] In one embodiment, the method comprises:
[0291] Verifying the integrity of the data stored in the corresponding data domain;
[0292] The checking the integrity of the data stored in the corresponding data domain includes:
[0293] Acquire the data to be stored, traverse each byte of the data to be stored, perform addition modulo calculation on each byte to calculate the checksum value of the data to be stored, and store the data to be stored and the checksum value of the data to be stored in a corresponding data field through the controller;
[0294] Acquire the data stored in the corresponding data field, and recalculate the checksum value of the data stored in the corresponding data field;
[0295] Comparing the recalculated checksum value of the data stored in the corresponding data field with the checksum value of the data to be stored;
[0296] In response to the checksum value recalculated in response to the data stored in the corresponding data domain being consistent with the checksum value of the data to be stored, the data synchronization is complete;
[0297] The checking the integrity of the data stored in the corresponding data domain also includes:
[0298] Acquire the data to be stored, calculate the hash function value of the data to be stored by using a hash function, and store the data to be stored and the hash function value of the data to be stored in a corresponding data domain by using the controller;
[0299] Acquire the data stored in the corresponding data domain, and recalculate the hash function value of the data stored in the corresponding data domain;
[0300] Compare the recalculated hash function value of the data stored in the corresponding data domain with the hash function value of the data to be stored;
[0301] In response to the recalculated hash function value of the data stored in the corresponding data domain being consistent with the hash function value of the data to be stored, the data synchronization is complete;
[0302] The method further comprises:
[0303] When a data transmission error is detected quickly, the data integrity is checked by a cyclic redundancy check value;
[0304] When the data performance requirement is high, the data processing volume is small, and there is no need to pay attention to the slight changes in data integrity, the data integrity is verified through the checksum value;
[0305] When a highly secure data error detection mechanism is required and large data files or important information need to be protected, the data integrity is verified through the hash function value.
[0306] This application can make data management and updating more flexible and efficient, and also reduce the risk of other unrelated data being incorrectly modified due to erroneous operations.
[0307] Fig. 9 An exemplary system provided for Embodiment 7 of the present application that can be used to implement various embodiments described in the present application;
[0308] like Fig. 9 As shown, in some embodiments, the system can be used as any of the above-mentioned devices for data processing in each of the described embodiments. In some embodiments, the system may include one or more computer-readable media (e.g., system memory or NVM / storage device) having results and one or more processors (e.g., (one or more) processors) coupled to the one or more computer-readable media and configured to execute the results to implement the module to perform the actions described in this application.
[0309] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0310] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0311] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A data processing method, the method being applied to a data processing system, characterized in that: The system includes a plurality of controllers and a multi-port memory, the multi-port memory includes a plurality of data domains, the plurality of controllers correspond one to one with the plurality of data domains of the multi-port memory, and the method includes: Obtaining tag information of the data domain; In response to the mark information of the data domain being in an idle state, acquiring the data to be stored, calculating the cyclic redundancy check value of the data to be stored, and storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller; Acquire the data stored in the corresponding data domain, and recalculate the cyclic redundancy check value of the data stored in the corresponding data domain; Comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; In response to the cyclic redundancy check value recalculated in the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
2. The data processing method according to claim 1, characterized in that: The method comprises: Configuring the parameters of the multi-port memory; wherein the parameters include: the number of memory ports, memory capacity, and operating frequency; The tag information of each data field of the multi-port memory is set to an idle state.
3. The data processing method according to claim 1, characterized in that: The step of storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain by the controller includes: Obtaining access rights to the data domain through a cache consistency protocol and / or a lock mechanism; The controller stores the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain; releasing access rights to the data domain; The releasing the access rights of the data domain comprises: When the lock mechanism is used to obtain access rights to the data domain, unlocking is performed; When the access right to the data domain is obtained through the cache consistency protocol, the data state is updated to a shared state.
4. The data processing method according to claim 3, characterized in that: The calculating the cyclic redundancy check value of the data to be stored includes: Obtain the data to be stored; obtain a generating polynomial; Converting the data to be stored into binary data; Expanding the binary data according to the number of bits of the generating polynomial; The extended binary data is divided by the generator polynomial through a bitwise XOR operation to obtain a cyclic redundancy check value of the data to be stored.
5. The data processing method according to claim 1, characterized in that: The method comprises: In response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being inconsistent with the cyclic redundancy check value of the data to be stored, an error log is recorded through the controller, and the data to be stored and the cyclic redundancy check value of the data to be stored are re-stored in the corresponding data domain through the controller.
6. The data processing method according to claim 1, characterized in that: After storing the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain, and comparing the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored, the method comprises: The controller resets the mark information of the corresponding data field to an idle state.
7. The data processing method according to claim 1, characterized in that: The method comprises: Verifying the integrity of the data stored in the corresponding data domain; The checking the integrity of the data stored in the corresponding data domain includes: Acquire the data to be stored, traverse each byte of the data to be stored, perform addition modulo calculation on each byte to calculate the checksum value of the data to be stored, and store the data to be stored and the checksum value of the data to be stored in a corresponding data field through the controller; Acquire the data stored in the corresponding data field, and recalculate the checksum value of the data stored in the corresponding data field; Comparing the recalculated checksum value of the data stored in the corresponding data field with the checksum value of the data to be stored; In response to the checksum value recalculated in response to the data stored in the corresponding data domain being consistent with the checksum value of the data to be stored, the data synchronization is complete; The checking the integrity of the data stored in the corresponding data domain also includes: Acquire the data to be stored, calculate the hash function value of the data to be stored by using a hash function, and store the data to be stored and the hash function value of the data to be stored in a corresponding data domain by using the controller; Acquire the data stored in the corresponding data domain, and recalculate the hash function value of the data stored in the corresponding data domain; Compare the recalculated hash function value of the data stored in the corresponding data domain with the hash function value of the data to be stored; In response to the recalculated hash function value of the data stored in the corresponding data domain being consistent with the hash function value of the data to be stored, the data synchronization is complete; The method further comprises: When a data transmission error is detected quickly, the data integrity is checked by a cyclic redundancy check value; When the data performance requirement is high, the data processing volume is small, and there is no need to pay attention to the slight changes in data integrity, the data integrity is verified through the checksum value; When a highly secure data error detection mechanism is required and large data files or important information need to be protected, the data integrity is verified through the hash function value.
8. A data processing device, applied to a data processing system, characterized in that: The system includes a plurality of controllers and a multi-port memory, the multi-port memory includes a plurality of data domains, the plurality of controllers correspond one to one with the plurality of data domains of the multi-port memory, and the device includes: An acquisition module, used to acquire the tag information of the data domain; a synchronization module, configured to obtain the data to be stored, calculate the cyclic redundancy check value of the data to be stored, and store the data to be stored and the cyclic redundancy check value of the data to be stored in the corresponding data domain through the controller in response to the mark information of the data domain being in an idle state; A calculation module, used to obtain data stored in the corresponding data domain, and recalculate a cyclic redundancy check value of the data stored in the corresponding data domain; A comparison module is used to compare the cyclic redundancy check value recalculated from the data stored in the corresponding data domain with the cyclic redundancy check value of the data to be stored; in response to the cyclic redundancy check value recalculated from the data stored in the corresponding data domain being consistent with the cyclic redundancy check value of the data to be stored, data synchronization is completed.
9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the data processing method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the data processing method according to any one of claims 1 to 7 are implemented.