Data synchronization method for multi-machine shared storage file system
By storing the cache information of the computing board in the shared DDR and synchronizing data, combining file information synchronization and concurrency control mechanisms, the data inconsistency and overwriting problems when multiple computing boards share storage devices is solved, and data consistency and efficient access is achieved.
Patent Information
- Application Number
- CN202411617497.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-02-28
AI Technical Summary
When sharing storage devices on multiple compute boards, there are problems of data inconsistency and overwriting, resulting in file system metadata corruption and crash.
By storing LBA_CACHE key information for each computing board in the shared DDR and synchronizing data during write operations, using SRIO to send doorbell notify other computing boards to update cache information, ensuring data consistency. At the same time, the file information synchronization mechanism and the multi-machine multi-task concurrency control mechanism are adopted to prevent multiple computing boards from writing the same file or data block at the same time.
It effectively solves the data inconsistency and overwriting problems when multiple computing boards access shared storage devices, ensures the consistency and correctness of the data, avoids file system crashes, and realizes the advantages of efficient access and strong fault tolerance.
Smart Images

Figure CN119537333A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage technology, and in particular to a method for synchronizing data of a multi-machine shared storage file system. Background Art
[0002] Shared storage plays an important role in modern information technology. It not only improves data access efficiency and security, but also simplifies management and reduces costs. It is widely used in computer science and information technology, especially in distributed systems, cloud computing, data centers and other fields.
[0003] Shared storage allows multiple computing nodes (such as servers, workstations, etc.) to access the same storage resource, that is, multiple computers can access the same files and data, thereby achieving data sharing and service collaboration. In critical business applications, the use of shared storage is also crucial to ensure service continuity. Even if a computing node fails, other nodes can still continue to access storage resources.
[0004] In the actual application scenario, a storage board is interconnected to multiple computing boards through SRIO (high-speed interconnection technology). The storage board is registered to the system as a block device, and each computing board system can see the storage board.
[0005] The computing board is a block device that is accessed in file mode through the file system management software. The software design of the general file system is based on the fact that the physical block device is only implemented when it is exclusive to this computer. There is no other access method except that the file system of this computer can access the block device. In order to improve the access efficiency of storage devices and reduce the performance loss caused by frequent access to storage devices, the file system will cache the relevant data structure information required for operation in the local memory. For example, the caching mechanism of LBA_CACHE in the FAT file system, when the system needs to read or write data, it will first look for the corresponding LBA address in LBA_CACHE. If found, there is no need to perform disk I / O operations, but directly obtain data from the cache or write to the cache. If not found, a disk I / O operation is performed, and the result is stored in the cache for subsequent use, such as Figure 1 shown.
[0006] In an environment where multiple computing boards share a storage board, since each computing board runs an independent file system and manages cached data in local memory, without a communication mechanism, there will be inconsistencies in the cache copies on multiple computing boards. When multiple computing boards try to write the same file or the same part of data at the same time, data will be overwritten, and even the metadata of the file system will be damaged, leading to disasters such as file system crashes.
[0007] Therefore, how to effectively solve the data inconsistency and overwriting problems when multiple computing boards access a shared storage device has become a focus of attention for those skilled in the art. Summary of the invention
[0008] The purpose of the present invention is to provide a multi-machine shared storage file system data synchronization method, which can effectively solve the data inconsistency and overwriting problems when multiple computing boards access a shared storage device.
[0009] In order to achieve the above object, the present invention provides a multi-machine shared storage file system data synchronization method, including an LBA_CACHE cache synchronization processing method, the LBA_CACHE cache synchronization processing method comprising:
[0010] Store the key information of LBA_CACHE of each computing board in the shared DDR;
[0011] When a computing board performs a write operation, it first reads the backup data from the shared DDR, and analyzes whether the information cached by other computing boards is the same as the LBA address currently to be written based on the backup data. If so, it notifies the other computing board that the data at the LBA address has been modified, and then updates the local LBA_CACHE information to the shared DDR and executes the write operation to the storage device; if not, it updates the local LBA_CACHE information to the shared DDR and executes the write operation to the storage device; when a computing board receives a notification from another computing board that the data at its cached LBA address has been modified, the computing board marks the LBA address in the local cache as invalid, and synchronously updates its backup in the shared DDR.
[0012] In an optional solution, multiple computing boards may use SRIO to send doorbells for notification.
[0013] In an optional solution, the data synchronization method further includes a method for processing file information synchronization; the method for processing file information synchronization includes: backing up the file information to a shared DDR so that the file information can be shared by each computing board;
[0014] The unique fnode value is calculated by the sector number and offset of the file directory and used as an index to make the file information of different file backups in the shared DDR unique.
[0015] In the optional scheme, the fnode value is calculated when opening the file, and the fnode and file information are registered in the shared DDR. When writing and closing the file, the corresponding file information in the shared DDR is found and updated according to the fnode value. When all tasks on all computing boards complete the operation on the same file, the file information resource is found in the shared DDR according to the fnode and released.
[0016] In an optional solution, the data synchronization method includes: a multi-machine multi-task concurrency control mechanism, which is used to prevent conflicts caused by multiple computing boards writing the same file or data block at the same time; the multi-machine multi-task concurrency control mechanism includes:
[0017] The atomic lock of shared storage is added after the local lock of the file system. When a computing board accesses the shared storage, the atomic lock of the shared storage is written into the computing board number. When other computing boards access the shared storage at the same time, the atomic lock information is read as a non-zero value, and the atomic lock acquisition fails. The number of the computing board currently occupied by the atomic lock is known. When the computing board occupying the atomic lock completes the operation and clears the atomic lock information to 0 and releases it, other computing boards have the opportunity to obtain the atomic lock, thereby ensuring the mutual exclusion of tasks of multiple computing boards.
[0018] The beneficial effects of the present invention are:
[0019] The present invention effectively solves the data inconsistency and overwriting problems when multiple computing boards access a shared storage device, ensures the consistency and correctness of the data, and avoids disasters such as file system crashes. The implementation method has the advantages of efficient access and strong fault tolerance. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The above and other objects, features and advantages of the present invention will become more apparent through a more detailed description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, in which like reference numerals generally represent like components.
[0021] Figure 1 The figure is a flow chart of the cache mechanism of LBA_CACHE in the Fat file system of the prior art.
[0022] Figure 2 This is a flow chart of the LBA_CACHE cache synchronization mechanism in one embodiment of the present invention.
[0023] Figure 3 The present invention is a flowchart of file information synchronization when opening a file in one embodiment of the present invention.
[0024] Figure 4 The present invention is a flowchart of file information synchronization processing when writing a file in one embodiment of the present invention.
[0025] Figure 5 The present invention is a flowchart of file information synchronization processing when closing a file in one embodiment of the present invention.
[0026] Figure 6 Schematic diagram of multi-machine multi-task concurrent control in one embodiment of the present invention. DETAILED DESCRIPTION
[0027] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. According to the following description and drawings, the advantages and features of the present invention will become clearer. However, it should be noted that the concept of the technical solution of the present invention can be implemented in a variety of different forms and is not limited to the specific embodiments described herein. The drawings are all in a very simplified form and are not in precise proportions, and are only used to conveniently and clearly assist in explaining the purpose of the embodiments of the present invention.
[0028] It should be understood that when an element or layer is referred to as being "on, adjacent to, connected to or coupled to other elements or layers, it may be directly on, adjacent to, connected to or coupled to other elements or layers, or there may be intervening elements or layers. In contrast, when an element is referred to as being "directly on, directly adjacent to, directly connected to or directly coupled to other elements or layers, there may be no intervening elements or layers. It should be understood that, although the terms first, second, third, etc. may be used to describe various elements, components, regions, layers and / or parts, these elements, components, regions, layers and / or parts should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or part from another element, component, region, layer or part. Therefore, without departing from the teachings of the present invention, the first element, component, region, layer or part discussed below may be represented as a second element, component, region, layer or part.
[0029] Spatially relative terms such as "under," "below," "below," "under," "above," "above," etc., may be used herein for ease of description to describe the relationship of an element or feature shown in the figures to other elements or features. It should be understood that in addition to the orientations shown in the figures, the spatially relative terms are intended to include different orientations of the device in use and operation. For example, if the device in the accompanying drawings is flipped, then the elements or features described as "under other elements" or "under" or "under" will be oriented as "on" the other elements or features. Therefore, the exemplary terms "under" and "under" may include both upper and lower orientations. The device may be oriented otherwise (rotated 90 degrees or other orientations) and the spatial descriptors used herein are interpreted accordingly.
[0030] The purpose of the terms used herein is only to describe specific embodiments and is not intended to be limiting of the present invention. When used herein, the singular forms "one", "an" and "said / the" are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "consisting of" and / or "comprising", when used in this specification, determine the presence of the features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or groups. When used herein, the term "and / or" includes any and all combinations of the relevant listed items.
[0031] Example 1
[0032] Reference Figures 2 to 6 This embodiment provides a multi-machine shared storage file system data synchronization method, including: an LBA_CACHE cache synchronization processing method, a file information synchronization processing method and a multi-machine multi-task concurrency control mechanism.
[0033] Among them, the processing method of LBA_CACHE cache synchronization includes: storing the key information of LBA_CACHE of each computing board on the shared DDR; when a computing board performs a write operation, first read the backup data from the shared DDR, and analyze whether the information cached by other computing boards is the same as the LBA address currently to be written based on the backup data. If so, notify the other computing board that the data of the LBA address has been modified, and then update the local LBA_CACHE information to the shared DDR and execute the operation of writing to the storage device; if not, update the local LBA_CACHE information to the shared DDR and execute the operation of writing to the storage device; when a computing board receives a notification from other computing boards that the data of its cached LBA address has been modified, the computing board marks the LBA address in the local cache as invalid, and synchronously updates its backup in the shared DDR.
[0034] The processing method for file information synchronization includes: backing up file information to a shared DDR so that the file information can be shared by each computing board; calculating a unique fnode value (file node) by the sector number and offset of the file directory as an index so that the file information of different files backed up in the shared DDR is unique.
[0035] The multi-machine multi-task concurrency control mechanism is used to prevent conflicts caused by multiple computing boards writing to the same file or data block at the same time; the concurrency control mechanism includes: adding a shared storage atomic lock after the file system local lock, when a computing board accesses the shared storage, the shared storage atomic lock is written into the computing board number, when other computing boards access the shared storage at the same time, the atomic lock information is read as a non-zero value, the atomic lock fails to be obtained, and the number of the computing board currently occupied by the atomic lock is known, when the computing board occupying the atomic lock completes the operation and clears the atomic lock information to 0 and releases it, other computing boards have the opportunity to obtain the atomic lock, thereby ensuring the mutual exclusion of tasks of multiple computing boards.
[0036] Specifically, the function of this embodiment is that the storage block device provides only a block read and write interface to the computing board, and multiple computing boards run their own operating systems and use the file system of this embodiment to manage the same storage block device. This embodiment ensures data consistency and correctness when multiple computing boards access shared storage.
[0037] Data consistency is the key to ensuring that data will not conflict when multiple computing boards access shared storage devices. There are two types of data synchronization in the file system of multiple computing boards: LBA_CACHE cache synchronization and file information synchronization. In order to achieve unified management of cache data on each computing board, this embodiment uses the shared DDR in the system to back up the file system cache data of multiple computing boards and store it in the shared DDR. This is equivalent to the local cache data of multiple computing boards being consistent with the cache backup data on the shared DDR, so that the local cache data between multiple computing boards can be ensured to be consistent.
[0038] For the processing of LBA_CACHE (Logical Block Address Cache) cache synchronization, multiple computing boards use SRIO to send doorbells to notify each other of changes in LBA_CACHE information. At the same time, key information such as the LBA address of each computing board's LBA_CACHE is stored in the shared DDR. If the information on the computing board is inconsistent with the information backed up in the shared DDR, the information is synchronized. When the computing board performs a write operation, it first reads the backup data from the shared DDR, and analyzes based on the backup data whether there is information cached by other computing boards that is the same as the LBA address currently being written. If so, it is necessary to send a doorbell to notify the other computing board that the data at the LBA address has been modified, and then perform the write operation; if not, continue the current write operation. When a computing board receives a doorbell from another computing board, the computing board will mark the LBA address in the local cache as invalid, and synchronously update its backup in the shared DDR. Figure 2As shown in the figure. Since the LBA address and other information of LBA_CACHE will be synchronized in time during the write operation, when the computing board performs a read operation, the cached information must be correct, and the read operation can be performed directly. The read operation still inherits the method of processing LBA_CACHE cache by the fat file system.
[0039] Each time an LBAx is read or written, the local cache information is updated, that is, the LBA address is updated for each operation. The local cache is also backed up in the shared DDR. When writing LBAx, it will also check whether the current cache of other computing boards has the same LBA address as this LBAx. If so, because the data of this LBA address needs to be changed, the cache data previously stored in other computing boards is no longer the latest. A doorbell should be sent to let other computing boards know that their local cache data is invalid and the LBA address of the local cache needs to be marked as invalid.
[0040] For example: The local cache of computing board A is LBA1, and the local cache of computing board B is also LBA1. The cache backups of A and B in the shared DDR are now also LBA1. At this time, computing board A needs to modify the data of LBA1 again. First, it determines whether the local cache LBA_CACHE is in the hit state, and directly modifies the cache data in LBA_CACHE. Secondly, it checks the backup of computing board B in the shared DDR and knows that it is the same as the LBA1 address to be operated currently. Then computing board A sends a doorbell to notify computing board B to mark the local cache as invalid. At the same time, the backup of computing board B in the shared DDR must be synchronously marked as invalid with its local cache. After the above operations, the cache LBA address of computing board B has been marked as invalid. Finally, when computing board B operates LBA1 again, since its local cache LBA_CACHE is a miss, it will read data from the storage device to the local cache of computing board B. At this time, the LBA address of the local cache is updated to LBA1. In this way, the originally marked invalid LBA address will be changed to a valid LBA address.
[0041] Reference Figures 3 to 5,For the processing of file information synchronization, for multiple threads opening the same file, the file starting cluster number, directory location and file size information must be shared by multiple threads. When multiple computing boards access shared storage, these file information must also be shared by each computing board, so the file information is backed up to the shared DDR. To ensure that the file information of different file backups in the shared DDR is unique, a unique fnode value can be calculated as an index through the sector number and offset of the file directory, thereby avoiding data confusion caused by duplication and other problems. When opening a file (open), the fnode value is calculated, and the fnode and file information are registered in the shared DDR. When writing a file (write) and closing a file (close), the corresponding file information in the shared DDR is found and updated according to the fnode value. When all tasks of all computing boards have completed the operation of the same file, the file information resource will be found in the shared DDR according to the fnode and released.
[0042] The concurrency control mechanism is used to prevent conflicts when multiple computing boards write to the same file or data block at the same time. In general, the multi-task and multi-thread mutual exclusion of file systems is implemented through local mutexes. The operation of shared storage by multiple computing boards is similar to the operation of block devices by multiple computing boards, which also requires the implementation of mutual exclusion locks. At the same time, the mutex lock must be accessible to multiple computing boards. Therefore, the design provides atomic locks by the shared storage board. Multiple computing boards can access the atomic lock through register read and write methods. The computing board number is written when the atomic lock is occupied and cleared to 0 when released. The atomic lock of shared storage is added after the local lock of the file system. When a computing board accesses the shared storage, the atomic lock of the shared storage is written to the computing board number. When other computing boards access the shared storage at the same time, the atomic lock information is read as a non-zero value, and the atomic lock fails to be obtained. It is also known which computing board currently occupies the atomic lock. When the computing board occupying the atomic lock completes the operation and clears the atomic lock information to 0 and releases it, other computing boards will have the opportunity to obtain the atomic lock, ensuring the mutual exclusion of multi-computing board tasks. Figure 6 shown.
[0043] Atomic lock is a multi-threaded synchronization mechanism used to ensure that multiple threads' access to shared resources is mutually exclusive. Atomic locks protect shared resources through hardware atomic operations, ensuring that each operation is either fully executed or not executed at all, without partial execution. How atomic locks work: Atomic locks use the atomic operations of the underlying hardware to control access to shared resources. This means that the locking and unlocking operations of atomic locks are inseparable and will not be interrupted or interrupted. Atomic locks are usually implemented by atomic instructions provided by hardware and have very high performance.
[0044] The following is an example of two computing boards sharing a storage board to introduce the specific implementation in detail. The operation of shared DDR is atomically locked to ensure that one computing board can access the shared DDR data only after it has been updated by the other computing board. In a multi-computing board environment, the operation of shared DDR is orderly and mutually exclusive to prevent data competition and inconsistency.
[0045] See also Figure 2 In the scenario where computing board A and computing board B read and write LBA1 successively, the implementation process of the LBA_CACHE cache synchronization method is as follows:
[0046] (1) When computing board A writes LBA1, it first checks whether the local LBA_CACHE hits. If it hits, the cache data is modified. If it does not hit, the data is read from the storage device to the cache and modified. Then the LBA_CACHE backup data of computing board B is read from the shared DDR to determine whether the information in the LBA_CACHE cache of computing board B is LBA1 information. If so, computing board A needs to send a doorbell to computing board B to notify computing board B that the cached LBA1 data has been modified. Then computing board A updates the local LBA_CACHE information to the shared DDR and executes the operation of writing to the storage device; if not, computing board A updates the local LBA_CACHE information to the shared DDR to complete the current write operation. At the same time, when computing board B receives the doorbell sent by computing board A, computing board B will mark the data in the local cache LBA_CACHE as invalid and synchronously update its backup information in the shared DDR. At this point, an operation of writing LBA1 is completed.
[0047] (2) Next, when computing board B reads LBA1, the reading process is still similar. Figure 1 In this method, when computing board A writes LBA1, it notifies computing board B to mark the LBA_CACHE cache as invalid. Therefore, if computing board B does not hit the cache, it will directly read the data from the storage device to the local cache and synchronize the local cache information to the shared DDR. The data read by computing board B is the correct data after computing board A writes.
[0048] (3) When (1) is executed and board B writes LBA1, the LBA_CACHE cache in board B has been marked as invalid. If the local cache of board B does not hit, it will first read the data from the storage device to the cache and then modify it, and then read the LBA_CACHE backup data of board A from the shared DDR. At this time, it is determined that the information cached by board A is exactly the information of LBA1. Board B needs to send a doorbell to board A to notify board A that the LBA1 data cached by board A has been modified, and then board B updates the local LBA_CACHE information to the shared DDR and executes the operation of writing to the storage device. At the same time, when board A receives the doorbell sent by board B, board A will mark the data in the local cache LBA_CACHE as invalid and synchronously update its backup information in the shared DDR.
[0049] (4) When computing board A reads LBA1 after (3) is executed, the process is similar to (2).
[0050] (5) When computing board B reads LBA1 after (3) is executed, the local cache of computing board B will hit, and the data to be read can be directly read from the cache.
[0051] See also Figures 3 to 5 , when there is a task on computing board A and computing board B writing file file at the same time, the implementation process of the file information synchronization method is as follows:
[0052] (1) When computing board A executes to open the file file, after the file file directory entry is created, the fnode value is calculated based on the sector number and offset value of the file directory, and then the file information backup in the shared DDR is read out. The fnode index is used to find out whether the current file already exists. When the file is opened for the first time, the file information cannot be found in the shared DDR, and the fnode and file information structure need to be recorded in the shared DDR.
[0053] (2) When computing board B executes to open the file file, since it is the same file opened in step (1), the file directory is the same. The fnode value calculated through the sector number and offset value of the file directory is the same as that in (1) in the shared DDR backup. Therefore, the file information indexed by the fnode can be found in the file information of the shared DDR backup read out. At this time, only the information of the current file file needs to be synchronized.
[0054] (3) When computing board A and computing board B are writing file file, they will read the file information backup in the shared DDR, find the current file information through the fnode index, modify and update it to the shared DDR.
[0055] (4) When computing board A executes to close the file file, it reads the file information backup in the shared DDR, finds the current file information through the fnode index, releases the relevant file information of computing board A's operation file file and updates it to the shared DDR.
[0056] (5) When computing board B executes the close operation for file file, it reads the file information backup in the shared DDR, finds the current file information through the fnode index, releases the file information related to the file file operated by computing board B, and finds that file file has been closed by all tasks and all computing boards. Finally, it releases all the file information backups of file in the shared DDR.
[0057] See also Figure 6 , when two tasks on computing board A and computing board B write to the same file at the same time, from the perspective of the shared storage device, it is actually four tasks operating the same file. The multitasking of a computing system is controlled by a local mutex lock, and the access of multiple computing systems to shared storage requires the atomic lock provided by the shared storage to control. The implementation process of the concurrency control mechanism is as follows:
[0058] (1) When task 1 on computing board A accesses file file, it first obtains the local thread mutex mutex, then obtains the atomic lock on the shared storage, and then assigns a value to the atomic lock, marking it as occupied by computing board A.
[0059] (2) At the same time, when task 1 on computing board B accesses file file, it first obtains the local thread mutex mutex lock, fails to obtain the atomic lock on the shared storage, and waits for computing board A to release the atomic lock.
[0060] (3) After task 1 on computing board A completes the operation and releases the atomic lock and the local mutex, task 1 on computing board B can obtain the atomic lock and then mark the atomic lock as occupied by computing board B.
[0061] (4) At this time, when task 2 on computing board A accesses file file, it first obtains the local thread mutex mutex, and then fails to obtain the atomic lock. It needs to wait for task 1 on computing board B to release the atomic lock.
[0062] (5) Based on (4), when task 2 on computing board B accesses file file, it fails to obtain the local thread mutex lock and waits until task 1 on computing board B releases the local mutex lock.
[0063] (6) When task 1 on computing board B completes the operation and releases the atomic lock and local mutex, task 2 on computing board A can obtain the atomic lock, and task 2 on computing board B can obtain the local thread mutex. At this time, the atomic lock is occupied by computing board A, and task 2 on computing board B cannot obtain the atomic lock and needs to wait for the atomic lock to be released.
[0064] (7) When the operation of task 2 on computing board A is completed and the atomic lock is released, task 2 on computing board B can obtain the atomic lock and complete its operation.
[0065] For shared storage, the above process ensures that only one task accesses the storage device within a period of time, thereby solving the data conflict problem when multiple computing boards and multiple tasks concurrently operate shared storage.
[0066] This embodiment effectively solves the data inconsistency and overwriting problems when multiple computing boards access a shared storage device, ensures data consistency and correctness, and avoids disasters such as file system crashes. The implementation method has the advantages of efficient access and strong fault tolerance.
[0067] The above description is only a description of the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention. Any changes or modifications made by a person skilled in the art in the field of the present invention based on the above disclosure shall fall within the scope of protection of the claims.
Claims
1. A method for synchronizing data in a multi-machine shared storage file system, characterized in that: The invention comprises a processing method for LBA_CACHE cache synchronization, wherein the processing method for LBA_CACHE cache synchronization comprises: Store the key information of LBA_CACHE of each computing board in the shared DDR; When a computing board performs a write operation, it first reads the backup data from the shared DDR, and analyzes whether the information cached by other computing boards is the same as the LBA address currently to be written based on the backup data. If so, it notifies the other computing board that the data at the LBA address has been modified, and then updates the local LBA_CACHE information to the shared DDR and executes the write operation to the storage device; if not, it updates the local LBA_CACHE information to the shared DDR and executes the write operation to the storage device; when a computing board receives a notification from another computing board that the data at its cached LBA address has been modified, the computing board marks the LBA address in the local cache as invalid, and synchronously updates its backup in the shared DDR.
2. The method for synchronizing data of a multi-machine shared storage file system according to claim 1, characterized in that: Multiple computing boards use SRIO to send doorbells for notification.
3. The method for synchronizing data of a multi-machine shared storage file system according to claim 1, characterized in that: The data synchronization method also includes a processing method for file information synchronization; The processing method for file information synchronization includes: Back up the file information to the shared DDR so that each computing board can share the file information; The unique fnode value is calculated by the sector number and offset of the file directory and used as an index to make the file information of different file backups in the shared DDR unique.
4. The method for synchronizing data of a multi-machine shared storage file system according to claim 3, characterized in that: When opening a file, the fnode value is calculated, and the fnode and file information are registered in the shared DDR. When writing and closing files, the corresponding file information in the shared DDR is found and updated according to the fnode value. When all tasks on all computing boards complete operations on the same file, the file information resource is found in the shared DDR according to the fnode and released.
5. The method for synchronizing data of a multi-machine shared storage file system according to claim 1, characterized in that: The data synchronization method includes: a multi-machine multi-task concurrent control mechanism, the multi-machine multi-task concurrent control mechanism is used to prevent conflicts caused when multiple computing boards write the same file or data block at the same time; The multi-machine multi-task concurrent control mechanism includes: The atomic lock of shared storage is added after the local lock of the file system. When a computing board accesses the shared storage, the atomic lock of the shared storage is written into the computing board number. When other computing boards access the shared storage at the same time, the atomic lock information is read as a non-zero value, and the atomic lock acquisition fails. The number of the computing board currently occupied by the atomic lock is known. When the computing board occupying the atomic lock completes the operation and clears the atomic lock information to 0 and releases it, other computing boards have the opportunity to obtain the atomic lock, thereby ensuring the mutual exclusion of tasks of multiple computing boards.