Information synchronization method and device, medium and program product
By using the bitmap to be marked and the bitmap initialized in a centralized multi-controller storage system, only target operations are performed on the strips of the usage state and information is updated simultaneously, the problem of high metadata communication pressure between each controller is solved, and the effect of reducing communication transmission pressure and maintaining verification consistency is achieved.
Patent Information
- Application Number
- CN202510156999.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-12
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2045-02-12
AI Technical Summary
In a centralized multi-controller storage system, the metadata communication frequency between each controller is high, resulting in a large communication transmission pressure and affecting system performance.
By introducing a bitmap to be marked and an initialized bitmap in the disk array, only target operations are performed on the strips in use and only synchronous update information is sent to the second disk controller. For unused stripes, no target operation is performed or synchronous update information is sent. After all disk controllers complete target operations, the initialization bitmap is updated at one time to achieve information synchronization.
The number of operations performed on unused stripes and the number of information synchronization between disk controllers is reduced, the communication transmission pressure is reduced, and the frequency of metadata synchronization is reduced without affecting verification consistency.
Smart Images

Figure CN119621443A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage technology, and in particular to an information synchronization method, device, equipment, medium and program product. Background Art
[0002] With the development of storage technology, a centralized multi-controller system can be used to control and manage multiple disks. For example, metadata in each controller can be synchronized to achieve data fault tolerance in the event of a disk failure, or metadata in each controller can be synchronized to save system resources during the recovery of dirty data.
[0003] Since the metadata communication frequency between controllers is high and the communication time is long, the communication transmission pressure between controllers is relatively high. Summary of the invention
[0004] In view of the above problems, the present invention provides a method, device, medium and program product for improving information synchronization.
[0005] According to a first aspect of the present invention, there is provided an information synchronization method, comprising: being applied to a disk array, the disk array comprising a first disk controller and a second disk controller; the method comprising: obtaining a to-be-marked bitmap and an initialization bitmap; wherein the to-be-marked bitmap indicates the execution status of a target operation performed on a data block stored in a plurality of stripes in the disk array; the initialization bitmap indicates whether an initialization operation needs to be performed on the data block; in the case of determining that a first target stripe among the plurality of stripes represents a stripe that is managed by the first disk controller and is in use, performing a target operation on the data block stored in the first target stripe, and marking the execution status of the first target stripe in the to-be-marked bitmap as completed The method comprises the steps of: executing and generating a mark bitmap; sending information for synchronously updating the execution status of the first target stripe to the second disk controller; when it is determined that the first target stripe is a stripe that is managed by the first disk controller and is in an unused state, not performing the target operation on the first target stripe, and not sending the execution status information of the target operation and the execution status information of the initialization operation for synchronously updating the first target stripe to the second disk controller; in response to determining that each disk controller has performed the target operation, processing the mark bitmap and the initialization bitmap of each disk controller to generate a target initialization bitmap; and performing the initialization operation based on the target initialization bitmap to achieve information synchronization of each disk controller.
[0006] A second aspect of the present invention provides an electronic device, comprising: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.
[0007] The third aspect of the present invention further provides a computer-readable storage medium having a computer program or instructions stored thereon, which implements the steps of the above method when the computer program or instructions are executed by a processor.
[0008] The fourth aspect of the present invention further provides a computer program product, comprising a computer program or instructions, which implement the steps of the above method when executed by a processor.
[0009] According to an embodiment of the present invention, the first disk controller only marks the execution status of the stripes in use, and only sends the execution status information for synchronously updating the stripes in use to the second disk controller used to back up the storage data of the first disk controller. This reduces the number of operations performed on the stripes in an unused state and the number of information synchronizations between the disk controllers, thereby reducing the communication transmission pressure between the disk controllers. In addition, after determining that each disk controller has completed the target operation, the initialization bitmap is updated at one time, so that during the execution of the target operation, the disk controllers do not need to synchronously update the initialization bitmap, and the verification consistency of each storage area in the disk array is still maintained. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above contents and other objects, features and advantages of the present invention will become more apparent through the following description of the embodiments of the present invention with reference to the accompanying drawings, in which:
[0011] Figure 1 An application scenario diagram of an information synchronization method, device, medium, and program product according to an embodiment of the present invention is shown;
[0012] Figure 2 A flowchart of an information synchronization method according to an embodiment of the present invention is shown;
[0013] Figure 3 An example diagram showing a valid area and an invalid area according to an embodiment of the present invention is shown;
[0014] Figure 4 An example diagram showing a bitmap to be marked and an initialization bitmap according to an embodiment of the present invention;
[0015] Figure 5 A schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap of a single disk controller during execution of a target operation task according to an embodiment of the present invention is shown;
[0016] Figure 6 A schematic diagram showing a target bitmap obtained by conversion based on a stripe identifier mapping relationship according to an embodiment of the present invention;
[0017] Fig. 7AA schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap when a use state of a single disk controller changes during execution of a target operation task according to an embodiment of the present invention is shown;
[0018] Figure 7B A schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap when a single disk controller according to an embodiment of the present invention has a change in the ownership state during the execution of a target operation task;
[0019] Figure 8 A schematic diagram showing the time quantification for asynchronously completing information synchronization of each disk controller during execution of a target operation task in a related example is shown;
[0020] Fig. 9 A schematic diagram showing the time quantification of asynchronously completing information synchronization of each disk controller during execution of a target operation task according to an embodiment of the present invention is shown;
[0021] Fig.10 A schematic diagram showing the reorganization of the backup relationship of each disk controller according to an embodiment of the present invention is shown;
[0022] Fig.11 A block diagram of an electronic device suitable for implementing an information synchronization method according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0023] Below, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present invention. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of embodiments of the present invention. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of concepts of the present invention.
[0024] The terms used herein are only for describing specific embodiments and are not intended to limit the present invention. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0025] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0026] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0027] In a centralized multi-disk controller storage system, for example, a four-disk controller system can use mirror pairs formed in pairs to cyclically back up some data information being processed by nodes in the team relationship, and achieve fault tolerance for real-time failures through synchronous backup of nodes in pairs.
[0028] In terms of input / output processing logic, the storage system divides the areas on the disk and each disk controller independently manages the read and write operations. This allows each disk controller in the four disk controllers to ensure the order of read and write operations without inter-disk controller locks, thereby achieving efficient and accurate read and write processing.
[0029] At the same time, in the process of realizing the real-time fault tolerance function, it is necessary to interact between the disk controllers. By dividing the areas where tasks are being executed between nodes and sending the real-time execution status of the marking information on these areas to the peer nodes, the backup redundancy of metadata / write data information of the four-controller system in the event of a node failure is realized. Metadata can be used to characterize the execution status of each disk controller executing the target operation for the belonging stripe. The target operation can include, for example, data reconstruction operation, dirty data recovery operation, etc.
[0030] In order to achieve data fault tolerance in the event of a hard disk failure, the operating system manages the disks by creating RAID (Redundant Arrays of Independent Disks) on multiple disks. RAID generates check data based on user data through an XOR algorithm, and stores the data on the disk according to a specific distribution strategy based on the mapping rules generated by dividing the data into blocks, thereby achieving data management and redundancy recovery at the software level. After a failure occurs, RAID starts the reconstruction background task according to the corresponding decoding algorithm, for example, the XOR algorithm recovers the failed part / lost user data / check data based on the check data and user data information on the remaining non-failed blocks.
[0031] For data reconstruction tasks, the reconstruction time for reconstructing each TB of valid data is an important indicator that reflects the performance of the reconstruction task. After completing the data reconstruction, the metadata between the disk controllers needs to be synchronized to ensure the array consistency of the reconstructed storage area, also known as verification consistency. This avoids the scenario where after the valid storage area used by the user is expanded, there are inconsistencies in I / O reads and writes due to non-reconstruction or non-initialization. And after a disk controller fails, the disk controller that takes over the business of the failed disk controller misses reconstruction or initialization due to failure to synchronize metadata, which leads to data inconsistency between the disk controllers.
[0032] Therefore, an embodiment of the present invention provides an information synchronization method, in which the first disk controller only marks the execution status of the stripes in use, and only sends the execution status information for synchronously updating the stripes in use to the second disk controller used to back up the storage data of the first disk controller. This reduces the number of operations performed on the stripes in an unused state and the number of information synchronizations between the disk controllers, thereby reducing the communication transmission pressure between the disk controllers. In addition, after determining that each disk controller has completed the target operation, the initialization bitmap is updated at one time, so that during the execution of the target operation, the disk controllers do not need to synchronously update the initialization bitmap, and the verification consistency of each storage area in the disk array is still maintained.
[0033] Figure 1 An application scenario diagram of an information synchronization method, device, medium, and program product according to an embodiment of the present invention is shown.
[0034] like Figure 1 As shown, the information synchronization method is applied to a disk array 100 , and the disk array 100 may include four disk controllers, namely: a disk controller Dc0 101 , a disk controller Dc1 102 , a disk controller Dc2 103 and a disk controller Dc3 104 .
[0035] Disk controller Dc0 101 and disk controller Dc1 102 can form a domain, in which disk controller Dc0 101 acts as a master node to perform input / output read and write operations, and disk controller Dc1 102 acts as a backup node to back up the execution of fault-tolerant tasks generated by the master node during the input / output read and write operations, such as marking the location and content of temporary data that has not been successfully flushed; or data information in fault-tolerant tasks, such as marking bitmap information of the execution of reconstruction tasks caused by disk errors. Similarly, disk controller Dc1 102 and disk controller Dc2 103 can also form a domain, disk controller Dc2 103 and disk controller Dc3 104 can also form a domain, and disk controller Dc3 104 and disk controller Dc0 101 can also form a domain.
[0036] Since disk arrays are created in storage systems based on storage disk groups of fixed size, when users create volumes, they usually only use the created volume parts for data read and write operations. Therefore, only the valid areas that users are using can be reconstructed, and the metadata of the deleted and invalid unused areas can be marked with the initialization task. After the reconstruction task is completed, the initialization task is started again to maintain the consistency of the verification of each data block and the verification block, thereby improving the execution speed of the reconstruction task.
[0037] However, this method of only reconstructing the valid area that the user is using only reduces the number of times the reconstruction operation is executed, and does not change the number of metadata synchronizations between the disk controllers, that is, the metadata communication between the disk controllers still maintains the original frequency. In the actual simulation test process, it was found that the time spent on metadata communication between the disk controllers accounts for a large proportion of the overall reconstruction task.
[0038] Therefore, by using each disk controller to respectively execute the information synchronization method provided by the embodiment of the present invention, the metadata synchronization operation between the disk controllers can be optimized, and the information transmission pressure between the disk controllers can be reduced. This reduces the fluctuation of the time consumption of task execution in the scenario where the asynchronous information is received and the data communication of the other disk controllers is blocked, and further improves the stability of the asynchronous communication between the disk controllers.
[0039] It should be noted that Figure 1 The number of disk controllers shown is only for illustration, and the method provided in the embodiment of the present invention is applicable to disk arrays with different numbers of disk controllers.
[0040] The following will be based on Figure 1 The scene described by Figure 2~Figure 9 The information synchronization method of the disclosed embodiment is described in detail.
[0041] Figure 2 A flow chart of an information synchronization method according to an embodiment of the present invention is shown.
[0042] like Figure 2 As shown, the information synchronization method 200 of this embodiment includes operations S210 to S250.
[0043] In operation S210, an execution status to-be-marked bitmap for indicating a target operation performed on a data block stored in a plurality of stripes in a disk array and an initialization bitmap for indicating whether an initialization operation needs to be performed on the data block are obtained.
[0044] In operation S220, when it is determined that the first target stripe among the multiple stripes represents a stripe that is managed by the first disk controller and is in use, a target operation is performed on the data blocks stored in the first target stripe, and the execution status of the first target stripe in the to-be-marked bitmap is marked as executed, a marking bitmap is generated, and information for synchronously updating the execution status of the first target stripe is sent to the second disk controller.
[0045] In operation S230, when it is determined that the first target stripe is a stripe that is managed by the first disk controller and is in an unused state, no target operation is performed on the first target stripe, and execution status information of the target operation and execution status information of the initialization operation for synchronously updating the first target stripe are not sent to the second disk controller.
[0046] In operation S240 , in response to determining that each disk controller has performed the target operation, the mark bitmap and the initialization bitmap of each disk controller are processed to generate a target initialization bitmap.
[0047] In operation S250, an initialization operation is performed based on the target initialization bitmap to achieve information synchronization of each disk controller.
[0048] According to an embodiment of the present invention, the to-be-marked bitmap indicates the execution status of the target operation performed on the data blocks stored in multiple stripes in the disk array. The target operation may include a data reconstruction operation, a dirty data recovery operation, and the like.
[0049] For example, when a disk in a disk array fails, a data reconstruction operation can be performed on the stripes related to the failed disk to recover the data stored on the failed disk.
[0050] For example, when dirty data in a storage system is recycled, dirty data in data blocks stored in a full stripe may be processed to achieve reasonable utilization of data resources in the storage system.
[0051] Regardless of whether a data reconstruction operation or a dirty data processing operation is performed, the execution status of each operation, that is, the metadata, needs to be synchronized between the disk controllers. Each disk controller stores a full bitmap to be marked. For example: in a disk array with four disk controllers, each disk controller stores a bitmap to be marked that includes four disk controllers. The bitmap to be marked also indicates the ownership relationship between each stripe and each disk controller. Each disk controller can only perform data reconstruction or dirty data recovery operations on the data blocks stored in the stripe to which it belongs, and mark the execution status of the operation in the full bitmap to be marked, and synchronize metadata with another disk controller in the same domain.
[0052] Figure 3 An example diagram of a valid area and an invalid area according to an embodiment of the present invention is shown.
[0053] like Figure 3 As shown, the whole area 310 may represent the entire storage area available to the user, the valid area 311 may represent the storage area in use, and the invalid area 312 may represent the storage area in an unused state.
[0054] According to an embodiment of the present invention, a stripe refers to a minimum logical storage unit obtained by dividing the storage area of each disk in a disk array.
[0055] The valid area 311 may include multiple stripes in use. A target operation needs to be performed on data blocks stored in the stripes of the valid area 311. The invalid area 312 may include multiple stripes in unused state. An initialization operation needs to be performed on data blocks stored in the stripes of the invalid area 312.
[0056] When the target operation is a data reconstruction operation, the stripe on which the data reconstruction operation needs to be performed is the stripe that belongs to the valid area 311 and corresponds to the failed disk.
[0057] When the target operation is a dirty data processing operation, the stripe on which the dirty data processing operation needs to be performed is a stripe belonging to the valid area 311 .
[0058] Figure 4 An example diagram of a bitmap to be marked and an initialized bitmap according to an embodiment of the present invention is shown.
[0059] like Figure 4 As shown, the target operation needs to be performed for the data blocks stored in the stripe of the valid area 311, and no initialization operation needs to be performed. The target operation does not need to be performed for the data blocks stored in the stripe of the invalid area 312, but an initialization operation needs to be performed.
[0060] Each bit in the to-be-marked bitmap corresponds to a stripe. The first target stripe represents a stripe that is managed by the first disk controller and is in use.
[0061] In some embodiments, the target operation is performed only on the data blocks stored in the first target stripe in the valid area in use, and the execution status of the first target stripe in the to-be-marked bitmap is marked as executed, and a marking bitmap is generated. Information for synchronously updating the execution status of the first target stripe, i.e., metadata, is sent to the second disk controller. This reduces the number of times the target operation is performed on the data blocks stored in the stripe in the invalid area that is not in use.
[0062] Furthermore, for the data blocks stored in the stripe of the invalid area in an unused state, there is no need to perform the target operation, nor is there any need to mark the operation execution status on the to-be-marked bitmap. At the same time, there is no need to initiate a synchronization request for the execution status information of the stripe of the invalid area to the second disk controller, that is, there is no need for the second disk controller to synchronize the execution status information of the stripe of the invalid area. This reduces the number of metadata synchronizations for the data blocks stored in the stripe of the invalid area in an unused state.
[0063] However, the data blocks stored in the stripe of the invalid area still need to be initialized to ensure the stripe that has performed the target operation, for example, the stripe that has performed the data reconstruction operation is verified consistent in the disk array.
[0064] According to an embodiment of the present invention, the initialization bitmap indicates whether an initialization operation needs to be performed on a data block. Since the execution status of the target operation for each stripe has been marked in the mark bitmap of each disk controller, it can be understood that the reconstructed area or the area where dirty data recovery has been performed has been marked in the mark bitmap.
[0065] Therefore, when it is determined that all disk controllers in the disk array have executed the target operation, the marking bitmap and initialization bitmap of each disk controller can be processed, and which strips need to be initialized can be marked in the first target initialization bitmap at one time to ensure the verification consistency of the area after the target operation is executed. In this way, the initialization operation is executed based on the first target initialization bitmap to achieve information synchronization of each disk controller.
[0066] Figure 5 A schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap of a single disk controller during execution of a target operation task according to an embodiment of the present invention is shown.
[0067] like Figure 5As shown, in this embodiment 500, the execution status of each stripe in the task start to be marked bitmap 510 is "1", indicating that the target operation is not executed. The execution status of each stripe in the initialization bitmap 520 is "0", indicating that no initialization operation is required. The current disk controller can be the disk controller Dc0.
[0068] During task execution, disk controller Dc0 only performs target operations on stripes that belong to the valid area and belong to Dc0, but directly skips stripes that belong to the invalid area and belong to Dc0.
[0069] Therefore, the execution status of the stripe at the first bit belonging to Dc0 in the to-be-marked bitmap 511 during task execution changes from "1" to "0", indicating that the target operation has been completed for the stripe.
[0070] Since the disk controller Dc0 is the backup node of the disk controller Dc3, the metadata synchronized by the disk controller Dc3 through asynchronous communication will be marked on the bit belonging to Dc3 in the to-be-marked bitmap 511 during task execution.
[0071] During task execution, there is no need to perform marking and metadata synchronization on the initialization bitmap, so the marking of each stripe in the initialization bitmap 520 does not change.
[0072] In the mark bitmap 512, the execution status of the stripes belonging to the valid area of the disk controller Dc0 is marked as "0", indicating that the task is completed at this time. The execution status of the stripes belonging to the valid area of the disk controller Dc3 has also been synchronized to the disk controller Dc0. Therefore, the mark bitmap 512 and the initialization bitmap 520 can be bitwise "OR" operated to generate the target initialization bitmap 521. It can be seen from the target initialization bitmap 521 that the initialization operation does not need to be performed for the valid area where the operation has been performed, and the initialization operation needs to be performed for the invalid area where the operation has not been performed. This can effectively reduce the number of metadata synchronizations between the disk controllers during the task execution.
[0073] According to an embodiment of the present invention, the first disk controller only marks the execution status of the stripes in use, and only sends the execution status information for synchronously updating the stripes in use to the second disk controller used to back up the storage data of the first disk controller. This reduces the number of operations performed on the stripes in an unused state and the number of information synchronizations between the disk controllers, thereby reducing the communication transmission pressure between the disk controllers. In addition, after determining that each disk controller has completed the target operation, the initialization bitmap is updated at one time, so that during the execution of the target operation, the disk controllers do not need to synchronously update the initialization bitmap, and the verification consistency of each storage area in the disk array is still maintained.
[0074] For the data reconstruction task, since the to-be-marked bitmap indicates the execution status of the data reconstruction operation performed on the data blocks stored in each stripe related to the failed disk in the disk array, the position of each stripe in the marking bitmap obtained after the data reconstruction operation is completed does not correspond to the position of each stripe in the initialization bitmap.
[0075] Therefore, when the target operation is a data reconstruction operation, the target bitmap and initialization bitmap of each disk controller are processed to generate a target initialization bitmap, which may include the following operations: based on the identification mapping relationship of each stripe, the mark bitmap of each disk controller is processed to obtain a target bitmap; and the target bitmap and initialization bitmap are processed to generate a target initialization bitmap.
[0076] According to an embodiment of the present invention, the identifier mapping relationship indicates the mapping between the arrangement order identifier of each stripe and the row / column identifier of each stripe in the disk array.
[0077] Figure 6 A schematic diagram showing a target bitmap obtained by conversion based on a stripe identifier mapping relationship according to an embodiment of the present invention is shown.
[0078] like Figure 6 As shown, the arrangement order of each stripe in the disk array is identified in the full stripe bitmap 601. The stripes associated with the failed disk are located in the 0th to 7th rows in the 4th column of the full stripe bitmap 601. In the mark bitmap 612, the row of the stripe associated with the failed disk in the disk array can be identified, that is, the stripe with the stripe identification of "0" actually has the stripe number "4" in the full stripe bitmap 601. The stripe with the stripe identification of "1" actually has the stripe number "13" in the full stripe bitmap 601.
[0079] Therefore, based on the identification mapping relationship, the stripe identification in the marking bitmap can be converted into the actual stripe number, and the execution status information of each stripe can be marked at the position corresponding to the stripe number according to the arrangement order of the actual stripe number to obtain the target bitmap. The position of each stripe in the target bitmap corresponds to the position of each stripe in the initialization bitmap.
[0080] In some embodiments, based on the identification mapping relationship of each stripe, the mark bitmap of each disk controller is processed to obtain a target bitmap, which may include the following operations: reading the first position identifier of each stripe from the mark bitmap of each disk controller; based on the identification mapping relationship of each stripe, determining the second position identifier of each stripe in the initialization bitmap according to each first position identifier; and based on each second position identifier, marking the execution status information indicated by each mark bitmap to generate a target bitmap.
[0081] According to an embodiment of the present invention, the first position identifier indicates the row or column of each stripe in the disk array.
[0082] For example, first, the first position identifiers "0", "1", "2", ..., "7" of each stripe can be read from the mark bitmap 612 of each disk controller. The stripe associated with the failed disk can be in the 4th column of the disk array. The first position identifier indicates the row where the stripe associated with the failed disk is located.
[0083] In some embodiments, based on the identification mapping relationship of each stripe, the arrangement sequence identification of each stripe in the disk array can be determined according to each first position identification; and the arrangement sequence identification can be determined as the second position identification.
[0084] For example, the actual stripe number of each stripe can be determined from the full stripe bitmap 601, that is, the second position identifier, "4", "13", "22", ... "67".
[0085] Finally, the execution status information of each stripe is marked according to the second position identifier to generate a target bitmap.
[0086] For example, the execution status information of the stripe number “4” is marked at the 4th bit, and the execution status information of the stripe number “13” is marked at the 13th bit, and the target bitmap 613 is generated.
[0087] For the data reconstruction task, since the data reconstruction operation is only performed on the stripe corresponding to the failed disk, the stripe for data reconstruction is only a part of the full stripe. Therefore, based on the identification mapping relationship of each stripe, a target bitmap is generated to achieve the correspondence between each stripe in the target bitmap and each stripe in the initialization bitmap, so as to update the initialization bitmap bit by bit, thereby ensuring the verification consistency of the reconstructed area.
[0088] In some embodiments, processing the target bitmap and the initialization bitmap to generate a target initialization bitmap may include the following operations: performing an OR operation on the data status of each stripe according to the position correspondence between the target bitmap and the initialization bitmap to generate a target initialization bitmap.
[0089] For example: in the target bitmap, the first bit marked as "0" indicates that the data reconstruction operation has been performed, and in the initialization bitmap, the first bit marked as "1" indicates that the initialization operation needs to be performed. By performing an OR operation, the first bit mark in the generated target initialization bitmap should be "1", indicating that the initialization operation needs to be performed.
[0090] According to an embodiment of the present invention, by performing an OR operation on the data status of each stripe according to the position correspondence between the target bitmap and the initialization bitmap, the update operation of the initialization bitmap can be completed at one time to meet the verification consistency of the reconstructed area.
[0091] Whether it is a data reconstruction task or a dirty data recovery task, during the execution of the task, the status of each stripe may change due to user operations. For example, users can change the usage status of each stripe and the ownership status of each stripe and each disk controller through creation or deletion operations.
[0092] According to an embodiment of the present invention, the above method may also include the following operations: in response to detecting a state change operation performed on the second target stripe, determining an operation strategy for the second target stripe according to the changed state; marking the second target stripe in the initialization bitmap as requiring an initialization operation to be performed, generating an updated initialization bitmap, wherein the second target stripe belongs to the first disk controller; and in response to determining that each disk controller has completed the target operation, processing the mark bitmap of each disk controller and the updated initialization bitmap to generate a second target initialization bitmap.
[0093] Regardless of whether the change operation performed on the second target stripe is a usage status change or an ownership status change, the mark change of the corresponding position of the initialization bitmap needs to be performed, for example, changing the position corresponding to the second target stripe in the initialization bitmap from "0" to "1".
[0094] However, changes to the initialization bitmap do not need to be performed in real time during the execution of data reconstruction tasks or dirty data recovery tasks. When it is determined that all disk controllers have completed the target operation, the initialization bitmap can be updated uniformly, thereby reducing the number of communications between disk controllers for synchronizing the metadata of the initialization bitmap.
[0095] According to an embodiment of the present invention, determining the operation strategy for the second target stripe based on the changed state may include the following operations: in response to determining that the changed state of the second target stripe is a used state, re-traversing the to-be-marked bitmap to perform the target operation on the data blocks stored in the second target stripe, and marking the execution state of the second target stripe in the to-be-marked bitmap as executed, generating a marking bitmap; and sending information for synchronously updating the data state of the second target stripe to the second disk controller.
[0096] Fig. 7A A schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap when a use state of a single disk controller changes during execution of a target operation task according to an embodiment of the present invention is shown.
[0097] like Fig. 7A As shown, the difference between the embodiment 700A and the embodiment 500 is that the use state of the second target strip is changed during the task execution, that is, the use state of the second target strip (the gray area in the figure) is changed from an invalid area to a valid area.
[0098] In the to-be-marked bitmap 713A, since the stripe belongs to an invalid area before the change, the operation on the stripe is skipped during the task execution. After the change, the to-be-marked bitmap needs to be traversed again to perform the target operation on the data block stored in the second target stripe. When the task execution is completed, the mark of the stripe in the mark bitmap 714A changes from "1" to "0".
[0099] At this time, the mark of the stripe needs to be changed from "0" to "1" in the initialization bitmap to obtain an updated initialization bitmap 721A, indicating that the stripe has been changed from an invalid area to a valid area due to user operation, and therefore, an initialization operation needs to be performed on the stripe to ensure the verification consistency of the disk array.
[0100] Finally, the mark bitmap 714A and the initialization bitmap 721A are ORed according to the stripe position to generate the target initialization bitmap 722A. It can be seen from the target initialization bitmap 722A that the stripe for the changed area is still marked as "1", which realizes that the initialization operation can still be accurately and targetedly performed without the need for each disk controller to synchronously update the metadata of the initialization bitmap during task execution, thereby ensuring the verification consistency of the disk array.
[0101] When it is determined that the changed state of the second target stripe is an unused state, the to-be-marked bitmap is traversed again to skip the target operation on the second target stripe.
[0102] In some embodiments, the state of the second target strip before the change is in use state, which belongs to the valid area. If the use state change operation occurs before the target operation is performed on the second target strip, then in the bitmap to be marked, since the initial state of the second target strip is "1", after it is changed to the invalid area, the operation on the second target strip can be directly skipped without updating the bitmap to be marked. If the use state change operation occurs after the target operation is performed on the second target strip, since the execution state of the second target strip has been changed from "1" to "0" at this time, therefore, when re-traversing, the second target strip can be directly skipped without updating the bitmap to be marked.
[0103] According to an embodiment of the present invention, when the state of the second target stripe after the change is an unused state belonging to an invalid area, the operation on the second target stripe is directly skipped without re-updating the mark bitmap, thereby reducing the number of operations on the invalid area and the number of synchronizations of metadata between disk controllers.
[0104] According to an embodiment of the present invention, the state change operation may be an ownership state change operation. Determining the operation strategy for the second target stripe according to the changed state may include the following operations: in response to determining that the changed state of the second target stripe belongs to the second disk controller, changing the ownership relationship in the to-be-marked bitmap so that the second disk controller determines the operation to be performed on the second target stripe according to the changed state.
[0105] Figure 7B A schematic diagram showing changes in a to-be-marked bitmap and an initialization bitmap when a single disk controller has a change in ownership state during execution of a target operation task according to an embodiment of the present invention is shown.
[0106] like Figure 7B As shown, the difference between the embodiment 700B and the embodiment 700A is that the stripe corresponding to the gray area belongs to the disk controller Dc1 before the change, and belongs to the disk controller Dc0 after the change. Therefore, since the stripe belongs to the disk controller Dc1 before the change, and the disk controller Dc1 is used to synchronize and backup the metadata of the disk controller Dc0. Therefore, in the to-be-marked bitmap 713B of the disk controller Dc0, the initial mark of the stripe is "1". When the stripe is a valid area, the target operation is directly performed on the stripe to generate the mark bitmap 714B, and the mark of the stripe in the mark bitmap 714B is "0". When the stripe is an invalid area, the stripe can be directly skipped.
[0107] At this time, the mark of the stripe needs to be changed from "0" to "1" in the initialization bitmap to obtain an updated initialization bitmap 721B, indicating that the stripe has been changed from an invalid area to a valid area due to user operation, and therefore, an initialization operation needs to be performed on the stripe to ensure the verification consistency of the disk array.
[0108] Finally, the mark bitmap 714B and the initialization bitmap 721B are ORed according to the stripe position to generate the target initialization bitmap 722B. It can be seen from the target initialization bitmap 722B that the stripe for the changed area is still marked as "1", which realizes that the initialization operation can still be accurately and targetedly performed without the need for each disk controller to synchronously update the metadata of the initialization bitmap during task execution, thereby ensuring the verification consistency of the disk array.
[0109] Figure 8A schematic diagram of time quantification for asynchronously completing information synchronization of each disk controller during execution of a target operation task in a related example is shown.
[0110] like Figure 8 As shown, in the related example 800, during the execution of the data reconstruction task by each disk controller, although no data reconstruction operation is required for the area that does not need to be reconstructed in the invalid area, an initialization operation still needs to be performed, and the initialization mark needs to be synchronized between the disk controllers.
[0111] For example, for disk controller Dc0, the white area indicates the area that needs to be reconstructed in the valid area, the light gray area indicates the area that does not need to be reconstructed in the invalid area, and the dark gray area indicates the area that needs to be initialized after the reconstructed area is converted through the stripe identifier.
[0112] When the disk controller Dc0 performs metadata synchronization with the disk controller Dc1, not only synchronization of the reconstruction mark but also synchronization of the initialization mark is required.
[0113] Similarly, when the disk controller Dc1 synchronizes metadata with the disk controller Dc2, it is also necessary to synchronize the reconstruction mark of the valid area and the initialization mark of the invalid area.
[0114] Therefore, when the metadata synchronization is completed asynchronously, the required duration can be quantified as the sum of the lengths of the area that needs to be reconstructed in the valid area, the area that does not need to be reconstructed in the invalid area, and the area that needs to be initialized.
[0115] Fig. 9 A schematic diagram showing the time quantification for asynchronously completing information synchronization of each disk controller during execution of a target operation task according to an embodiment of the present invention is shown.
[0116] like Fig. 9 As shown, in this embodiment 900, each disk controller only synchronizes the reconstruction mark with the backup disk controller for the area that needs to be reconstructed (white area) in the valid area, and neither marks the reconstruction completion mark for the area that does not need to be reconstructed in the invalid area, nor synchronizes the reconstruction mark and initialization mark to the backup disk controller.
[0117] In order to meet the verification consistency of the reconstructed area of the disk array, it is only necessary to update the initialization bitmap once after each disk controller completes the reconstruction operation, thereby reducing the number of metadata synchronizations between the disk controllers.
[0118] like Fig. 9 As shown, regardless of whether a state change operation is involved during task execution, the initialization bitmap update does not need to occupy the asynchronous completion time for synchronizing metadata.
[0119] Therefore, when the metadata synchronization is completed asynchronously, the required duration can be quantified as the length of the area that needs to be reconstructed in the belonging valid area.
[0120] After comparison Figure 8~Figure 9 From the quantization diagram of asynchronous completion time in the figure, it can be seen that the method provided by the embodiment of the present invention can reduce the number of communications between disk controllers, improve the completion rate of reconstruction tasks, reduce the consumption of communication resources, and increase the stability of communication channel interactions between disk controllers while ensuring data correctness and fault recovery reliability during the read and write operations of user host input / output and the interaction of reconstruction tasks.
[0121] During the execution of a task, a disk controller may fail. In order to ensure the stability of data stored in the disk array, the above method may also include the following operations: in response to detecting that the first disk controller has failed, reorganizing the data backup relationship between the remaining disk controllers in the disk array; and based on the reorganized data backup relationship, performing information synchronization operations between the disk controllers.
[0122] In some embodiments, reorganizing the data backup relationship between the remaining disk controllers among the multiple disk controllers may include the following operations: based on the initial data backup relationship, determining the second disk controller and the third disk controller related to the first disk controller; wherein the second disk controller is used to back up the data of the first disk controller; the first disk controller is used to back up the data of the third disk controller; and by determining that the second disk controller is the disk controller used to back up the data of the third disk controller, a reorganized data backup relationship is obtained.
[0123] Fig.10 A schematic diagram showing the reorganization of the backup relationship of each disk controller according to an embodiment of the present invention is shown.
[0124] like Fig.10 As shown, in this embodiment 1000, the initial data backup relationship of each disk controller may include: disk controller Dc1102 is used to back up the metadata of disk controller Dc0101. Disk controller Dc2103 is used to back up the metadata of disk controller Dc1102. Disk controller Dc3104 is used to back up the metadata of disk controller Dc2103. Disk controller Dc0101 is used to back up the metadata of disk controller Dc3104.
[0125] When the disk controller Dc0101 fails, the disk controller Dc1102 and the disk controller Dc3104 related to the disk controller Dc0101 can be determined based on the above initial data backup relationship.
[0126] Then, disk controller Dc1102 takes over the business of disk controller Dc0101, and the reorganized data backup relationship may include: disk controller Dc2103 is used to back up the metadata of disk controller Dc1102, disk controller Dc3104 is used to back up the metadata of disk controller Dc2103, and disk controller Dc1102 is used to back up the metadata of disk controller Dc3104.
[0127] Since the disk controller Dc1102 lacks the metadata in the disk controller Dc3104, the above method also includes: merging the information in the third disk controller with the information in the second disk controller by copying the information in the third disk controller to the second disk controller; based on the merged information, according to the reorganized data backup relationship, performing information synchronization operations between the disk controllers.
[0128] For example, the metadata in disk controller Dc3104 can be copied to disk controller Dc1102, and the metadata in disk controller Dc3104 and disk controller Dc1102 can be merged so that the merged information can perform information synchronization operations between the disk controllers according to the reorganized data backup relationship.
[0129] According to an embodiment of the present invention, when a disk controller failure occurs during task execution, the stability of the storage data of the disk array is further improved by reorganizing the data backup relationship between the disk controllers.
[0130] Fig.11 A block diagram of an electronic device suitable for implementing an information synchronization method according to an embodiment of the present invention is shown.
[0131] like Fig.11 As shown, the electronic device 1100 according to an embodiment of the present invention includes a processor 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage part 1108 to a random access memory (RAM) 1103. The processor 1101 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1101 may also include an onboard memory for caching purposes. The processor 1101 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present invention.
[0132] In RAM 1103, various programs and data required for the operation of electronic device 1100 are stored. Processor 1101, ROM 1102 and RAM 1103 are connected to each other via bus 1104. Processor 1101 performs various operations of the method flow according to the embodiment of the present invention by executing the program in ROM 1102 and / or RAM 1103. It should be noted that the program can also be stored in one or more memories other than ROM 1102 and RAM 1103. Processor 1101 can also perform various operations of the method flow according to the embodiment of the present invention by executing the program stored in the one or more memories.
[0133] According to an embodiment of the present invention, the electronic device 1100 may further include an input / output (I / O) interface 1105, which is also connected to the bus 1104. The electronic device 1100 may further include one or more of the following components connected to the input / output (I / O) interface 1105: an input portion 1106 including a keyboard, a mouse, etc.; an output portion 1107 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 1108 including a hard disk, etc.; and a communication portion 1109 including a network interface card such as a LAN card, a modem, etc. The communication portion 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the input / output (I / O) interface 1105 as needed. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1110 as needed, so that a computer program read therefrom is installed into the storage portion 1108 as needed.
[0134] The present invention also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiment; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present invention is implemented.
[0135] According to an embodiment of the present invention, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present invention, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present invention, the computer-readable storage medium may include the ROM 1102 and / or RAM 1103 described above and / or one or more memories other than ROM 1102 and RAM 1103.
[0136] The embodiment of the present invention also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the method provided by the embodiment of the present invention.
[0137] The computer program executes the above functions defined in the system / device of the embodiment of the present invention when it is executed by the processor 1101. According to the embodiment of the present invention, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0138] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 1109, and / or installed from a removable medium 1111. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0139] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1109, and / or installed from the removable medium 1111. When the computer program is executed by the processor 1101, the above functions defined in the system of the embodiment of the present invention are performed. According to the embodiment of the present invention, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.
[0140] According to an embodiment of the present invention, the program code for executing the computer program provided by the embodiment of the present invention can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).
[0141] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0142] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present invention may be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present invention. In particular, without departing from the spirit and teachings of the present invention, the features described in the various embodiments of the present invention may be combined and / or combined in various ways. All of these combinations and / or combinations fall within the scope of the present invention.
[0143] The embodiments of the present invention are described above. However, these embodiments are only for the purpose of illustration, and are not intended to limit the scope of the present invention. Although each embodiment is described above, it does not mean that the measures in each embodiment cannot be used in combination advantageously. Without departing from the scope of the present invention, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present invention.
Claims
1. An information synchronization method, characterized in that: Applied to a disk array, the disk array includes a first disk controller and a second disk controller; the method includes: Acquire an execution status to-be-marked bitmap for indicating a target operation performed on a data block stored in a plurality of stripes in a disk array and an initialization bitmap for indicating whether an initialization operation needs to be performed on the data block; In the case where it is determined that a first target stripe among the multiple stripes is a stripe that is managed by the first disk controller and is in use, a marking bitmap is generated by performing a target operation on a data block stored in the first target stripe and marking the execution status of the first target stripe in the to-be-marked bitmap as executed; and information for synchronously updating the execution status of the first target stripe is sent to the second disk controller; In the case where it is determined that the first target stripe is a stripe that is managed by the first disk controller and is in an unused state, the target operation is not performed on the first target stripe, and execution status information of the target operation and execution status information of the initialization operation for synchronously updating the first target stripe are not sent to the second disk controller; In response to determining that each disk controller has performed the target operation, processing the mark bitmap of each disk controller and the initialization bitmap to generate a target initialization bitmap; and An initialization operation is performed based on the target initialization bitmap to achieve information synchronization of each disk controller.
2. The method according to claim 1, characterized in that The target operation includes a data reconstruction operation; the to-be-marked bitmap indicates the execution status of the data reconstruction operation performed on the data blocks stored in each stripe associated with the failed disk in the disk array; The processing of the mark bitmap of each disk controller and the initialization bitmap to generate a target initialization bitmap includes: Based on the identification mapping relationship of each stripe, the mark bitmap of each disk controller is processed to obtain a target bitmap; wherein the identification mapping relationship indicates the mapping between the arrangement order identification of each stripe and the row / column identification of each stripe in the disk array, and the position of each stripe in the target bitmap corresponds to the position of each stripe in the initialization bitmap; and The target bitmap and the initialization bitmap are processed to generate the target initialization bitmap.
3. The method according to claim 2, characterized in that The processing of the target bitmap and the initialization bitmap to generate the target initialization bitmap includes: According to the position correspondence between the target bitmap and each stripe in the initialization bitmap, an OR operation is performed on the data status of each stripe to generate the target initialization bitmap.
4. The method according to claim 2, characterized in that: The process of processing the mark bitmap of each disk controller based on the identification mapping relationship of each stripe to obtain the target bitmap includes: Reading a first position identifier of each stripe from a mark bitmap of each disk controller; the first position identifier indicates a row or column of each stripe in the disk array; Based on the identification mapping relationship of each stripe, determining the second position identifier of each stripe in the initialization bitmap according to each first position identifier; and Based on each of the second position identifiers, the execution status information indicated by each of the marking bitmaps is marked to generate the target bitmap.
5. The method according to claim 4, characterized in that The determining, based on the identification mapping relationship of each stripe and according to each first position identifier, the second position identifier of each stripe in the initialization bitmap includes: Based on the identification mapping relationship of each stripe, determining the arrangement order identification of each stripe in the disk array according to each first position identification; and The arrangement order identifier is determined as the second position identifier.
6. The method according to claim 1, characterized in that The method further comprises: In response to detecting a state change operation performed on a second target stripe, determining an operation strategy for the second target stripe according to the changed state; Marking the second target stripe in the initialization bitmap as requiring an initialization operation to be performed, generating an updated initialization bitmap, wherein the second target stripe belongs to the first disk controller; and In response to determining that each disk controller has completed the target operation, the mark bitmap of each disk controller and the updated initialization bitmap are processed to generate a second target initialization bitmap.
7. The method according to claim 6, characterized in that The state change operation includes: using the state change operation; and determining the operation strategy for the second target stripe according to the changed state includes: In response to determining that the changed state of the second target stripe is in use, re-traversing the to-be-marked bitmap to perform a target operation on the data block stored in the second target stripe, and marking the execution state of the second target stripe in the to-be-marked bitmap as executed, thereby generating the marking bitmap; and Information for synchronously updating the data status of the second target stripe is sent to the second disk controller.
8. The method according to claim 6, characterized in that The determining, according to the changed state, an operation strategy for the second target stripe includes: In response to determining that the changed state of the second target stripe is an unused state, the to-be-marked bitmap is re-traversed to skip the target operation for the second target stripe.
9. The method according to claim 6, characterized in that The state change operation includes: an attribution state change operation; and determining an operation strategy for the second target stripe according to the changed state includes: In response to determining that the changed state of the second target stripe belongs to the second disk controller, the ownership relationship in the to-be-marked bitmap is changed so that the second disk controller determines the operation to be performed on the second target stripe according to the changed state.
10. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: In response to detecting that the first disk controller has failed, reorganizing the data backup relationship between the remaining disk controllers in the disk array; and Based on the reorganized data backup relationship, information synchronization operations are performed between the disk controllers.
11. The method according to claim 10, characterized in that The reorganizing the data backup relationship between the remaining disk controllers among the plurality of disk controllers comprises: Based on the initial data backup relationship, determining a second disk controller and a third disk controller related to the first disk controller; wherein the second disk controller is used to back up data of the first disk controller; and the first disk controller is used to back up data of the third disk controller; and The reorganized data backup relationship is obtained by determining that the second disk controller is a disk controller used to back up data of the third disk controller.
12. The method according to claim 11, characterized in that The method further comprises: Merging the information in the third disk controller with the information in the second disk controller by copying the information in the third disk controller to the second disk controller; and Based on the merged information, and in accordance with the reorganized data backup relationship, information synchronization operations are performed between the disk controllers.
13. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 12.
14. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A computer program product, comprising a computer program or instructions, which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Formatting scheduling method and device for redundant array of independent disks, equipment and medium
CN114995771A
Method and device for determining state of data area, disk array and storage system
CN117149094A
Data reconstruction method of redundant array of independent disks, storage system and controller
CN117472292A
Metadata synchronization method and device, controller, storage medium and program product
CN118732956A
Disk reconstruction method and device, equipment and storage medium
CN119292838A