Information synchronization method and device, controller, readable storage medium and program product

By determining the working status of the slave controller in the master controller and synchronizing the modified configuration information of the user volume according to the status, the problem of inconsistent memory object data caused by controller failure is solved, ensuring the data consistency of the storage system.

CN119292523APending Publication Date: 2025-01-10DAWNING INFORMATION IND (BEIJING) CO LTD +2
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411320413.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

In storage systems, controller failure can lead to inconsistencies in memory object data between master and slave controllers.

Method used

By determining the working status of the slave controller in the master controller, the modified configuration information of the user volume is synchronized according to the status, ensuring that the slave controller can receive the modified configuration information, including direct synchronization to the slave controller in a normal state, and synchronization to the slave controller in an abnormal state after it recovers to normal.

Benefits of technology

This ensures the consistency of user volume configuration information stored by the master and slave controllers in the event of a controller failure, thus avoiding data inconsistency issues.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292523A_ABST
    Figure CN119292523A_ABST
Patent Text Reader

Abstract

The invention relates to an information synchronization method and device, a controller, a readable storage medium and a program product. The method comprises the following steps: under the condition that configuration information of a user volume in a master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state comprises a normal state and an abnormal state; and according to the working state of each slave controller, synchronizing the modification configuration information of the user volume to each slave controller. By adopting the method, memory object data consistency between the master controller and the slave controller can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of distributed storage technology, and in particular to an information synchronization method, device, controller, readable storage medium and program product. Background Art

[0002] In the storage system, in order to improve the read and write performance of user volumes, the user volumes are divided into multiple sub-volumes, each of which is distributed on different controllers. Each controller is responsible for the input / output business of the specified interval of the user volume. Each controller stores the memory configuration information of the corresponding user volume. The operations of adding, deleting, and modifying the memory configuration information of the user volume are performed in the main controller to which the user volume belongs. After the solidified object is modified, the changes in the memory configuration information need to be broadcast to other controllers in a timely manner to maintain the consistency of the memory objects between the controllers.

[0003] In traditional technologies, methods for ensuring consistency of memory objects between controllers mostly use a master-slave replication method, where the master controller is responsible for writing objects and synchronizing these write operations to the slave controllers.

[0004] However, in the case of a controller failure in the conventional technology, inconsistent memory object data may occur between the master and slave controllers. Summary of the invention

[0005] Based on this, it is necessary to provide an information synchronization method, device, controller, readable storage medium and program product that can ensure the consistency of memory object data between master and slave controllers in response to the above technical problems.

[0006] In a first aspect, the present application provides an information synchronization method, comprising:

[0007] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0008] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0009] In one embodiment, synchronizing the modified configuration information of the user volume to each slave controller according to the working status of each slave controller includes:

[0010] According to the working state of each slave controller, a first slave controller and a second slave controller are determined from each slave controller; the first slave controller is a slave controller whose working state is a normal state; the second slave controller is a slave controller whose working state is an abnormal state;

[0011] The modified configuration information is synchronized to the first slave controller, and the modified configuration information is synchronized to the second slave controller according to an acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0012] In one embodiment, the acquisition request carries the first version number of the second slave controller; and synchronizing the modified configuration information to the second slave controller according to the acquisition request sent by the second slave controller includes:

[0013] Upon receiving the acquisition request, acquiring the second version number of the second slave controller from a state information record pool;

[0014] The modified configuration information is synchronized to the second slave controller according to the first version number and the second version number.

[0015] In one embodiment, synchronizing the modified configuration information to the second slave controller according to the first version number and the second version number includes:

[0016] If a preset condition is met, synchronizing the modified configuration information to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working state of the second slave controller recorded in the state information recording pool is normal;

[0017] In the case where the first version number is inconsistent with the second version number, return to the step of synchronizing the modified configuration information to the second slave controller according to the acquisition request sent by the second slave controller.

[0018] In one embodiment, the method further comprises:

[0019] In the case where the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying a new first version number to the master controller.

[0020] In one embodiment, determining the working status of each slave controller communicating with the master controller includes:

[0021] From the status information recording pool, the working status of each slave controller is determined.

[0022] In a second aspect, the present application also provides an information synchronization device, including:

[0023] A determination module, used for determining the working state of each slave controller communicating with the master controller when the configuration information of the user volume in the master controller is modified; the working state includes a normal state and an abnormal state;

[0024] The synchronization module is used to synchronize the modified configuration information of the user volume to each slave controller according to the working status of each slave controller.

[0025] In a third aspect, the present application further provides a controller, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0026] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0027] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0028] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0029] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0030] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0031] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0032] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0033] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0034] The above-mentioned information synchronization method, device, controller, readable storage medium and program product, when the configuration information of the user volume in the main controller is modified, determines the working status of each slave controller communicating with the main controller, and synchronizes the modified configuration information of the user volume to each slave controller according to the working status of each slave controller. Since the working status of each slave controller is taken into consideration when synchronizing the modified configuration information of the user volume to each slave controller, instead of blindly synchronizing the modified configuration information of the user volume to each slave controller, this process ensures that each slave controller can receive the synchronized modified configuration information of the user volume, thereby ensuring the synchronization of the configuration information modification of the user volume stored in the main controller and the slave controller, and ensuring the consistency of the configuration information of the user volume stored in the main controller and the slave controller. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0036] FIG1 is a diagram of an application environment of an information synchronization method according to an embodiment;

[0037] FIG2 is a schematic diagram of a flow chart of an information synchronization method in an embodiment;

[0038] FIG3 is a schematic diagram of a flow chart of an information synchronization method in another embodiment;

[0039] FIG4 is a schematic diagram of a flow chart of an information synchronization method in another embodiment;

[0040] FIG5 is a structural block diagram of an information synchronization device in one embodiment;

[0041] FIG6 is a structural block diagram of an information synchronization device in another embodiment;

[0042] FIG7 is a structural block diagram of an information synchronization device in another embodiment;

[0043] FIG8 is a structural block diagram of an information synchronization device in another embodiment;

[0044] FIG. 9 is a diagram showing the internal structure of a controller in one embodiment. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0046] The information synchronization method provided in the embodiment of the present application can be applied to the application environment as shown in Figure 1. Among them, in a controller group, a certain user volume belongs to a certain logical service, the logical service master is on one of the controllers, and the remaining controllers are slaves of the logical service. The operations of adding, deleting, and modifying the user volume configuration information are always sent to the controller to which the main logical service belongs. After any controller fails, the other controllers can continue to provide services. If the controller where the main logical service is located fails, a slave logical service will be selected from the other controllers to become the master. If the controller where the slave logical service is located fails, it will not affect the other controllers from continuing to provide services. In this embodiment, the controller where the main logical service is located is referred to as the main controller, and the controller where the slave logical service is located is referred to as the slave controller.

[0047] In an exemplary embodiment, as shown in FIG2 , an information synchronization method is provided, which is described by taking the method applied to the main controller in FIG1 as an example, and includes the following steps:

[0048] S201, when configuration information of a user volume in a master controller is modified, determining the working status of each slave controller communicating with the master controller; the working status includes a normal status and an abnormal status.

[0049] First, it should be noted that in order to improve the read and write capabilities of the user volume in the distributed storage system, the user volume can be divided into multiple sub-volumes, each of which is distributed on different slave controllers in this embodiment, and each slave controller is responsible for the input / output business of the specified interval of the user volume. Operations such as adding, deleting, and modifying the user volume configuration information are performed in the master controller. After the user volume configuration information is modified, the modified configuration information of the user volume needs to be synchronized to each slave controller in a timely manner to maintain the consistency of the memory objects between the controllers.

[0050] Optionally, in this embodiment, after the master controller modifies the configuration information of the user volume, the master controller may send a query instruction to each slave controller communicating with it, requesting to obtain the working status of each slave controller. It can be understood that when the working status of the slave controller is normal, after receiving the query instruction sent by the master controller, the slave controller may send a corresponding response message to the master controller. At this time, the master controller can determine that the working status of the slave controller is normal; when the working status of the slave controller is abnormal, that is, when the slave controller fails, the slave controller will not respond to the query instruction sent by the master controller, and will not send a corresponding response message to the master controller. At this time, the master controller can determine that the working status of the slave controller is abnormal. Optionally, in this embodiment, after the master controller modifies the configuration information of the user volume, it can send a query instruction to each slave controller at the same time, or it can send a query instruction to each slave controller one by one in a preset order.

[0051] S202: Synchronize the modified configuration information of the user volume to each slave controller according to the working status of each slave controller.

[0052] Optionally, in this embodiment, after the master controller determines the working state of each slave controller, it can determine whether each slave controller can receive information sent by the master controller according to the working state of each slave controller. After determining that each slave controller can receive information sent by the master controller according to the working state of each slave controller, the modified configuration information of the user volume is synchronized to the slave controller that can receive information sent by the master controller. Further, for the slave controller that is determined to be unable to receive information sent by the master controller, the master controller can continuously send acquisition requests to the slave controller until it can receive a response message sent by the slave controller in response to the acquisition request, and then synchronize the modified configuration information of the user volume to the slave controller.

[0053] In the above-mentioned information synchronization method, when the configuration information of the user volume in the master controller is modified, the working status of each slave controller communicating with the master controller is determined, and then the modified configuration information of the user volume is synchronized to each slave controller according to the working status of each slave controller. Since the working status of each slave controller is taken into consideration when synchronizing the modified configuration information of the user volume to each slave controller, instead of blindly synchronizing the modified configuration information of the user volume to each slave controller, this process ensures that each slave controller can receive the synchronized modified configuration information of the user volume, thereby ensuring the synchronization of the configuration information modification of the user volume stored in the master controller and the slave controller, and ensuring the consistency of the configuration information of the user volume stored in the master controller and the slave controller.

[0054] In this embodiment, the detailed process of synchronizing the modified configuration information of the user volume to each slave controller according to the working status of each slave controller is explained. In an exemplary embodiment, as shown in FIG3 , the above S202 includes:

[0055] S301, according to the working status of each slave controller, determine the first slave controller and the second slave controller from each slave controller; the first slave controller is a slave controller with a normal working status; the second slave controller is a slave controller with an abnormal working status.

[0056] In this embodiment, the main controller can determine the slave controller with a normal working status and the slave controller with an abnormal working status according to the working status of each slave controller, and then determine the slave controller with a normal working status as the first slave controller, and determine the slave controller with an abnormal working status as the second slave controller.

[0057] S302, synchronously modifying configuration information to the first slave controller, and synchronously modifying configuration information to the second slave controller according to an acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0058] In this embodiment, after the master controller determines that the working status of the first slave controller is normal, it means that the first slave controller can work normally and can receive information sent by the master controller. Therefore, the master controller can synchronize the modified configuration information of the user volume to the first slave controller.

[0059] In addition, in the present embodiment, for the determined second slave controller, it indicates that the current working state of the second slave controller is an abnormal state, and the master controller can currently give up synchronizing the modified configuration information of the user volume to the second slave controller. When the working state of the second slave controller is an abnormal state, the state may be restored after a period of time, and the working state will become a normal working state. In the embodiment of the present application, when the working state of the second slave controller becomes a normal working state, the second slave controller can send an acquisition request to the master controller, requesting the master controller to synchronize the modified configuration information of the user volume, and the master controller can synchronize the modified configuration information of the user volume to the second slave controller based on the acquisition request sent by the second slave controller.

[0060] In this embodiment, the master controller can accurately determine the first slave controller whose working status is normal and the second slave controller whose working status is abnormal from the slave controllers according to the working status of each slave controller, so that the master controller can synchronize the modified configuration information of the user volume to the first slave controller whose working status is normal, ensuring that the first slave controller can receive the modified configuration information of the user volume synchronized by the master controller. In addition, for the second slave controller whose working status is abnormal, the master controller can further synchronize the modified configuration information of the user volume to the second slave controller according to the acquisition request sent when the working status of the second slave controller is normal, ensuring that the modified configuration information of the user volume can be synchronized after the working status of the slave controller whose working status is abnormal is restored to normal, thereby ensuring the consistency of the configuration information of the user volume in the distributed storage cluster.

[0061] The acquisition request sent by the second slave controller when the working state is normal carries the first version number of the second slave controller. In this embodiment, the specific process of the master controller synchronizing the modified configuration information of the user volume to the second slave controller according to the first version number of the second slave controller carried in the acquisition request is explained. In an exemplary embodiment, as shown in FIG4 , the above S302 includes:

[0062] S401: upon receiving an acquisition request, acquiring a second version number of a second slave controller from a state information recording pool.

[0063] In this embodiment, it should be noted that a status information recording pool can be set in advance for each controller. The status information recording pool records the service status information of all controllers in the controller group, including the service status information of the master controller and the service status information of each slave controller. The recorded service status information of the controller may include the controller ID, controller status and controller version number as shown in Table 1. After a controller fails, the status of the controller on all other controller status information recording pools will be updated to abnormal. After the controller fails, the status of the controller on all other controller status information recording pools will be updated to normal, and the version number will be increased. The status of each controller on the status information recording pool is updated periodically, and there is a certain delay with the real-time status of each controller in the controller group. The length of the delay depends on the update period of the status information recording pool. Therefore, when querying the status of a controller on the status information recording pool, there may be the following three situations: (1) the status displayed by the status information recording pool is normal, but the actual status is abnormal; (2) the status displayed by the status information recording pool is abnormal, but the actual status is normal; (3) the status displayed by the status information recording pool is consistent with the actual status. Taking into account that the status information in the status information recording pool may be outdated, in an embodiment of the present application, when the working state of the second slave controller is normal, the first version number of the second slave controller is carried in the acquisition request sent by the second slave controller, and the configuration information is modified synchronously to the second slave controller through the real-time first version number carried by the second slave controller and the second version number of the second slave controller in the status information recording pool, so as to avoid abandoning the synchronization of the modified configuration information of the user volume when it is seen from the status information recording pool that the working state of the slave controller is abnormal, and to avoid the problem of inconsistency between the user volume configuration information in the slave controller and the user volume configuration information in the master controller.

[0064] Table 1

[0065]

[0066] S402: Synchronously modify configuration information to the second slave controller according to the first version number and the second version number.

[0067] Optionally, in this embodiment, the master controller will synchronize the modified configuration information of the user volume to the second slave controller when it is determined that the preset condition is met according to the first version number of the second slave controller carried in the acquisition request sent by the second slave controller and the second version number of the second slave controller obtained from the status information recording pool; wherein the preset condition may be that the first version number of the second slave controller carried in the acquisition request sent by the second slave controller is consistent with the second version number of the second slave controller obtained from the status information recording pool, and the working state of the second slave controller recorded in the status information recording pool is normal. It can be understood that, as mentioned above, the working state of the controller recorded in the status information recording pool may be outdated. In this embodiment, when the working state of the second slave controller recorded in the status information recording pool is normal, it is also determined whether to synchronize the modified configuration information of the user volume to the second slave controller by judging the first version number carried in the acquisition request sent by the second slave controller and the second version number of the second slave controller recorded in the status information recording pool, thereby ensuring that the master controller can synchronize the modified configuration information of the user volume to the second slave controller in a timely manner, so that the configuration information of the user volume of the master controller and each second slave controller is consistent.

[0068] Optionally, in this embodiment, as another optional implementation, when the master controller determines that the first version number carried in the acquisition request sent by the second slave controller is inconsistent with the second version number of the second slave controller obtained from the status information recording pool, it can be determined that the second slave controller may have failed, and the master controller will not synchronize the modified configuration information of the user volume to the second slave controller, and the master controller will return to execute the above step S302. In other words, the master controller will synchronize the modified configuration information of the user volume to the second slave controller only when it determines that the working state of the second slave controller is normal and the first version number of the second slave controller carried in the acquisition request sent by the second slave controller is consistent with the second version number of the second slave controller obtained by the master controller from the status information recording pool, ensuring that the modified configuration information of the user volume can be synchronized to the second slave controller in a timely and accurate manner, so that the configuration information of the user volume in the master controller and each slave controller is consistent.

[0069] In this embodiment, the acquisition request sent by the second slave controller received by the master controller carries the first version number of the second slave controller, and when the master controller receives the acquisition request sent by the second slave controller, it will obtain the second version number of the second slave controller from the status information recording pool, and ensure that the modified configuration information of the user volume is synchronized to the second slave controller only when the working state of the second slave controller is in a normal working state, thereby ensuring that the master controller can synchronize the modified configuration information of the user volume to the second slave controller in a timely manner, so that the configuration information of the user volume in the master controller and the second slave controller are consistent.

[0070] Based on the above embodiment, in an exemplary embodiment, the above method further includes:

[0071] Step A: When the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying a new second version number to the master controller.

[0072] In this embodiment, as described in the above embodiments, when the master controller determines that the first version number of the second slave controller carried in the acquisition request sent by the second slave controller is inconsistent with the second version number of the second slave controller obtained from the status information recording pool, the master controller will return to execute the above step S302. In this case, as an optional implementation, when the master controller determines that the first version number of the second slave controller carried in the acquisition request sent by the second slave controller is inconsistent with the second version number of the second slave controller obtained from the status information recording pool, the master controller may also send a response message to the second slave controller, instructing the second slave controller to send an acquisition request carrying a new second version number to the master controller through the response message, so that the master controller can determine whether to synchronize the modified configuration information of the user volume to the second slave controller based on the new first version number sent by the second slave controller, according to the new first version number and the above second version number.

[0073] In this embodiment, when the first version number of the second slave controller in the acquisition request sent by the second slave controller to the master controller is inconsistent with the second version number of the second slave controller in the status information recording pool, the master controller can instruct the second slave controller to send an acquisition request carrying the new first version number to the master controller by sending a response message to the second slave controller, so that when the second slave controller is in a normal working state, it can send an acquisition request to the master controller in a timely manner to request the synchronization of modified configuration information of the user volume, thereby ensuring that the user volume configuration information in the second slave controller can be consistent with the user volume configuration information in the master controller.

[0074] In this embodiment, the detailed process of the master controller determining the working status of each slave controller communicating with it is explained. In an exemplary embodiment, the above S201 includes:

[0075] Step B: Determine the working status of each slave controller from the status information record pool.

[0076] The status information recording pool records the service status information of all controllers in the controller group, including the service status information of the master controller and the service status information of each slave controller. The recorded service status information of the controller may include the controller ID, the controller status, and the controller status version number, etc. Therefore, after the master controller modifies the configuration information of the user volume, the master controller can obtain the service status information of each slave controller from the status information recording pool, and determine the working status of each slave controller based on the service status information of each slave controller. Exemplarily, the working status of each slave controller determined by the master controller may be a normal state or an abnormal state.

[0077] In this embodiment, when the master controller modifies the configuration information of the user volume, the method for the master controller to determine the working status of each slave controller from the status information recording pool is relatively simple, and the status information recording pool records the service status information of each controller in the controller group. Therefore, the master controller can quickly and accurately determine the working status of each slave controller from the status information recording pool, ensuring the efficiency and accuracy of the master controller in determining the working status of each slave controller.

[0078] To facilitate understanding by those skilled in the art, the information synchronization method provided by the present application is described in detail below. The method may include:

[0079] S1, when the configuration information of the user volume in the master controller is modified, the working status of each slave controller is determined from the status information recording pool.

[0080] S2, according to the working status of each slave controller, determine the first slave controller and the second slave controller from each slave controller; the first slave controller is a slave controller with a normal working status; the second slave controller is a slave controller with an abnormal working status.

[0081] S3, synchronously modifying the configuration information to the first slave controller.

[0082] S4, upon receiving an acquisition request carrying the first version number of the second slave controller sent by the second slave controller, obtain the second version number of the second slave controller from the status information recording pool; the acquisition request is sent when the working status of the second slave controller is normal.

[0083] S5, when a preset condition is met, synchronously modify the configuration information to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working status of the second slave controller recorded in the status information recording pool is normal.

[0084] S6. When the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying the new first version number to the master controller.

[0085] S7, when receiving an acquisition request carrying a new first version number sent by the second slave controller, if the new first version number is consistent with the second version number of the second slave controller in the status information recording pool, and the working status of the second slave controller recorded in the status information recording pool is normal, synchronize the modified configuration information of the user volume to the second slave controller.

[0086] It should be noted that for the description in the above S1-S7, reference may be made to the relevant description in the above embodiment, and the effects are similar, which will not be repeated in this embodiment.

[0087] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0088] Based on the same inventive concept, the embodiment of the present application also provides an information synchronization device for implementing the information synchronization method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more information synchronization device embodiments provided below can refer to the limitations on the information synchronization method above, and will not be repeated here.

[0089] In an exemplary embodiment, as shown in FIG5 , an information synchronization device is provided, including: a determination module 10 and a synchronization module 11, wherein:

[0090] The determination module 10 is used to determine the working state of each slave controller communicating with the master controller when the configuration information of the user volume in the master controller is modified; the working state includes a normal state and an abnormal state.

[0091] The synchronization module 11 is used to synchronize the modified configuration information of the user volume to each slave controller according to the working status of each slave controller.

[0092] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0093] In one embodiment, as shown in FIG6 , the synchronization module 11 includes: a first determination unit 111 and a synchronization unit 112 , wherein:

[0094] The first determining unit 111 is used to determine a first slave controller and a second slave controller from each slave controller according to the working state of each slave controller; the first slave controller is a slave controller with a normal working state; the second slave controller is a slave controller with an abnormal working state.

[0095] The synchronization unit 112 is used to synchronously modify the configuration information to the first slave controller, and synchronously modify the configuration information to the second slave controller according to the acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0096] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0097] In one embodiment, the acquisition request carries the first version number of the second slave controller; please continue to refer to Figure 6, the synchronization unit 111 is specifically used to: when receiving the acquisition request, obtain the second version number of the second slave controller from the status information record pool; according to the first version number and the second version number, synchronize the modified configuration information to the second slave controller.

[0098] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0099] In one embodiment, please continue to refer to Figure 6, the above-mentioned synchronization unit 111 is specifically used to: synchronize the configuration information to the second slave controller when the preset conditions are met; the preset conditions are that the first version number is consistent with the second version number, and the working status of the second slave controller recorded in the status information recording pool is normal; when the first version number is inconsistent with the second version number, return to execute the step of synchronously modifying the configuration information to the second slave controller according to the acquisition request sent by the second slave controller.

[0100] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0101] In one embodiment, as shown in FIG7 , the above device further includes: a sending module 12, wherein:

[0102] The sending module 12 is used to send a response message to the second slave controller when the first version number is inconsistent with the second version number; the response message is used to instruct the second slave controller to send an acquisition request carrying a new first version number to the master controller.

[0103] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0104] In one embodiment, as shown in FIG8 , the determination module 10 includes: a second determination unit 101, wherein:

[0105] The second determining unit 101 is used to determine the working status of each slave controller from the status information recording pool.

[0106] The information synchronization device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0107] Each module in the above information synchronization device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0108] In an exemplary embodiment, a computer device is provided, which may be a controller, and its internal structure diagram may be shown in FIG9. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store configuration information of the user volume. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, an information synchronization method is implemented.

[0109] Those skilled in the art will understand that the structure shown in FIG. 9 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0110] In an exemplary embodiment, a controller is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0111] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0112] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0113] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0114] According to the working state of each slave controller, a first slave controller and a second slave controller are determined from each slave controller; the first slave controller is a slave controller whose working state is a normal state; the second slave controller is a slave controller whose working state is an abnormal state;

[0115] The configuration information is synchronously modified to the first slave controller, and the configuration information is synchronously modified to the second slave controller according to the acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0116] In one embodiment, the acquisition request carries the first version number of the second slave controller; when the processor executes the computer program, the following steps are also implemented:

[0117] When receiving the acquisition request, acquiring the second version number of the second slave controller from the state information record pool;

[0118] The configuration information is modified synchronously to the second slave controller according to the first version number and the second version number.

[0119] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0120] When a preset condition is met, the configuration information is synchronously modified to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working state of the second slave controller recorded in the state information recording pool is normal;

[0121] In the case where the first version number is inconsistent with the second version number, the step of synchronously modifying the configuration information to the second slave controller according to the acquisition request sent by the second slave controller is returned to be executed.

[0122] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0123] When the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying the new first version number to the master controller.

[0124] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0125] From the status information record pool, determine the working status of each slave controller.

[0126] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0127] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0128] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0129] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0130] According to the working state of each slave controller, a first slave controller and a second slave controller are determined from each slave controller; the first slave controller is a slave controller whose working state is a normal state; the second slave controller is a slave controller whose working state is an abnormal state;

[0131] The configuration information is synchronously modified to the first slave controller, and the configuration information is synchronously modified to the second slave controller according to the acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0132] In one embodiment, the acquisition request carries the first version number of the second slave controller; when the computer program is executed by the processor, the following steps are also implemented:

[0133] When receiving the acquisition request, acquiring the second version number of the second slave controller from the state information record pool;

[0134] The configuration information is modified synchronously to the second slave controller according to the first version number and the second version number.

[0135] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0136] When a preset condition is met, the configuration information is synchronously modified to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working state of the second slave controller recorded in the state information recording pool is normal;

[0137] In the case where the first version number is inconsistent with the second version number, the step of synchronously modifying the configuration information to the second slave controller according to the acquisition request sent by the second slave controller is returned to be executed.

[0138] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0139] When the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying the new first version number to the master controller.

[0140] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0141] From the status information record pool, determine the working status of each slave controller.

[0142] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0143] In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state;

[0144] According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

[0145] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0146] According to the working state of each slave controller, a first slave controller and a second slave controller are determined from each slave controller; the first slave controller is a slave controller whose working state is a normal state; the second slave controller is a slave controller whose working state is an abnormal state;

[0147] The configuration information is synchronously modified to the first slave controller, and the configuration information is synchronously modified to the second slave controller according to the acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

[0148] In one embodiment, the acquisition request carries the first version number of the second slave controller; when the computer program is executed by the processor, the following steps are also implemented:

[0149] When receiving the acquisition request, acquiring the second version number of the second slave controller from the state information record pool;

[0150] The configuration information is modified synchronously to the second slave controller according to the first version number and the second version number.

[0151] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0152] When a preset condition is met, the configuration information is synchronously modified to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working state of the second slave controller recorded in the state information recording pool is normal;

[0153] In the case where the first version number is inconsistent with the second version number, the step of synchronously modifying the configuration information to the second slave controller according to the acquisition request sent by the second slave controller is returned to be executed.

[0154] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0155] When the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying the new first version number to the master controller.

[0156] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0157] From the status information record pool, determine the working status of each slave controller.

[0158] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0159] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0160] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. An information synchronization method, characterized in that: The method comprises: In the case where the configuration information of the user volume in the master controller is modified, determining the working state of each slave controller communicating with the master controller; the working state includes a normal state and an abnormal state; According to the working status of each slave controller, the modified configuration information of the user volume is synchronized to each slave controller.

2. The method according to claim 1, characterized in that The step of synchronizing the modified configuration information of the user volume to each slave controller according to the working status of each slave controller includes: According to the working state of each slave controller, a first slave controller and a second slave controller are determined from each slave controller; the first slave controller is a slave controller whose working state is a normal state; the second slave controller is a slave controller whose working state is an abnormal state; The modified configuration information is synchronized to the first slave controller, and the modified configuration information is synchronized to the second slave controller according to an acquisition request sent by the second slave controller; the acquisition request is sent when the working state of the second slave controller is normal.

3. The method according to claim 2, characterized in that The obtaining request carries the first version number of the second slave controller; and synchronizing the modified configuration information to the second slave controller according to the obtaining request sent by the second slave controller includes: Upon receiving the acquisition request, acquiring the second version number of the second slave controller from a state information record pool; The modified configuration information is synchronized to the second slave controller according to the first version number and the second version number.

4. The method according to claim 3, characterized in that The step of synchronizing the modified configuration information to the second slave controller according to the first version number and the second version number includes: If a preset condition is met, synchronizing the modified configuration information to the second slave controller; the preset condition is that the first version number is consistent with the second version number, and the working state of the second slave controller recorded in the state information recording pool is normal; In the case where the first version number is inconsistent with the second version number, return to the step of synchronizing the modified configuration information to the second slave controller according to the acquisition request sent by the second slave controller.

5. The method according to claim 4, characterized in that The method further comprises: In the case where the first version number is inconsistent with the second version number, a response message is sent to the second slave controller; the response message is used to instruct the second slave controller to send an acquisition request carrying a new first version number to the master controller.

6. The method according to any one of claims 1 to 5, characterized in that: The determining the working status of each slave controller communicating with the master controller includes: From the status information recording pool, the working status of each slave controller is determined.

7. An information synchronization device, characterized in that: The device comprises: A determination module, used for determining the working state of each slave controller communicating with the master controller when the configuration information of the user volume in the master controller is modified; the working state includes a normal state and an abnormal state; The synchronization module is used to synchronize the modified configuration information of the user volume to each slave controller according to the working status of each slave controller.

8. A controller comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Cited By

  • Subgeneration synchronization method and system of data volume

    CN121098873A