Arbitration control method, product, electronic device and storage medium

By selecting and dynamically managing the target arbitration equipment in the dual-active storage system, the complexity and overhead problems caused by the arbitration equipment cluster are solved, ensuring high availability and security of the storage system.

CN119728701BActive Publication Date: 2025-09-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510228168.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-09-02
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

The use of a cluster of arbitration equipment in the dual-live storage system leads to the increased design complexity and operational overhead of arbitration equipment instances.

Method used

When an arbitration device establishes a connection with the storage site, select one of the multiple arbitration devices connected simultaneously with the storage site as the target arbitration device and disable and reselect the target arbitration device in the event of a communication failure.

Benefits of technology

This avoids the situation where the inter-station link failures in the dual-active storage system caused by different storage sites to enable different arbitration devices, reduces the communication overhead of the distributed consensus protocol, and improves the security of the arbitration device activation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728701B_ABST
    Figure CN119728701B_ABST
Patent Text Reader

Abstract

The present application discloses an arbitration control method, product, electronic device, and storage medium, relating to the field of storage technology. The method selects a target arbitration device from multiple arbitration devices simultaneously connected to a first storage site and a second storage site when the arbitration device establishes a connection with the two storage sites. The method can address the problem of increased design complexity and operational overhead of arbitration device instances caused by the use of arbitration device clusters in active-active storage systems. This avoids the situation where different storage sites activate different arbitration devices, resulting in the two storage sites each sending arbitration requests to different arbitration devices when a link failure occurs between the storage sites, causing both sites to take over. Only one arbitration device can be activated by both storage sites at a time, avoiding the communication overhead of using a distributed consensus protocol framework between two independent storage sites and improving security during the arbitration device activation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of storage technology, and in particular to an arbitration control method, product, electronic device, and storage medium. Background Art

[0002] An active-active storage system consists of two storage sites, which synchronize data between them. An arbitrator device maintains connections to both sites. If a link failure occurs between the two storage sites, both sites send arbitration requests to the arbitrator device. The arbitrator device will only return a successful arbitration result to one of the storage sites. The storage site with the successful arbitration result then takes over operations, while the other storage site ceases operations. Existing solutions combine multiple arbitrator devices into a cluster, which acts as a whole and establishes connections with both storage sites. In this case, the storage system only considers a single arbitrator, eliminating the need to select an arbitrator device instance. However, maintaining a cluster on the arbitrator device significantly increases the design complexity and operational overhead of the arbitrator device instance. Summary of the Invention

[0003] The present application provides an arbitration control method, apparatus, electronic device, and storage medium to at least address the problem in the related art that an active-active storage system uses an arbitration device cluster, which increases the design complexity and operating overhead of arbitration device instances.

[0004] This application provides an arbitration control method, including:

[0005] Controlling the first storage site and the second storage site to connect via a high-speed communication link for data synchronization, wherein the first storage site and the second storage site use the same arbitration device to perform arbitration for high-speed communication link failures to select a service takeover site;

[0006] In response to the arbitration device establishing connections with the first storage site and the second storage site, the first storage site and the second storage site exchange arbitration device connection status information, select one as a target arbitration device from multiple arbitration devices simultaneously connected to the first storage site and the second storage site, and enable the target arbitration device to perform arbitration to select a service takeover site in case of a high-speed communication link failure;

[0007] In response to a communication loss between the target quorum device and the first storage site and / or the second storage site, the target quorum device is disabled and a new target quorum device is selected.

[0008] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any one of the above-mentioned arbitration control methods when executing the computer program.

[0009] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any one of the above-mentioned arbitration control methods are implemented.

[0010] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above arbitration control methods when executed by a processor.

[0011] Through this application, when the arbitration device establishes a connection with the first storage site and the second storage site, one arbitration device is selected from multiple arbitration devices simultaneously connected to the two storage sites as the target arbitration device, and the problem of increased design complexity and operating overhead of arbitration device instances caused by the use of an arbitration device cluster in an active-active storage system can be solved. Therefore, it can be avoided that different storage sites enable different arbitration devices, resulting in the two storage sites each sending arbitration requests to different arbitration devices when a link failure occurs between the storage sites, causing both sites to take over. At the same time, only one arbitration device can be enabled by both storage sites, avoiding the communication overhead of using a distributed consensus protocol framework between two independent storage sites and improving the security of the arbitration device activation process. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0013] Figure 1 A schematic diagram of the structure of connecting the existing active-active storage system to the quorum device cluster;

[0014] Figure 2 This is a diagram of an application environment of an arbitration control method in one embodiment of the present application;

[0015] Figure 3 This is a flowchart of an arbitration control method in one embodiment of the present application;

[0016] Figure 4 This is a timing diagram of local arbitration device connection confirmation in one embodiment of the present application;

[0017] Figure 5 A timing diagram of mutual notification of arbitration connection status in one embodiment of the present application;

[0018] Figure 6 This is a timing diagram of enabling an arbitration device in one embodiment of the present application;

[0019] Figure 7This is a timing diagram of disabling the arbitration device in one embodiment of the present application;

[0020] Figure 8 This is a structural block diagram of an arbitration control device in one embodiment of the present application;

[0021] Figure 9 This is a diagram of the internal structure of a computer device in one embodiment of the present application. DETAILED DESCRIPTION

[0022] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0023] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0024] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0025] An active-active storage system consists of two storage clusters, also known as storage sites or sites. Data at the two sites is synchronized, providing completely consistent data services to the front-end host. The master node of the site with the smaller serial number within the active-active storage cluster serves as the global master node. The master node is the node within the storage cluster that handles event functions. If all other nodes want to initiate a status change, they must send the change event to the master node, which will then broadcast it to all other nodes in the cluster to synchronize the status. The storage system is based on dedicated storage server hardware and provides external storage services through a dedicated software stack. The storage cluster consists of multiple storage system nodes. The control status of all nodes within the cluster remains consistent, enabling complete backup and takeover in the event of a local node failure. Status changes in the storage cluster are triggered by events.

[0026] High availability is a core requirement for storage systems, and an active-active storage system is a storage system deployment method that offers extremely high availability. This system integrates two storage sites located in two data centers into a single entity, providing data read and write services to front-end hosts. A host simply sends a write request to either site, and the active-active storage system synchronizes the data internally, ensuring that the host always accesses consistent data. If either site fails, or the communication link between the two sites is disconnected, data synchronization between the sites becomes impossible. To minimize data access disruption, one site must smoothly take over all services.

[0027] A key requirement of an active-active storage system is to ensure that at most one site can take over in the event of a site failure. Since the two sites only communicate with each other, if communication is interrupted, the local site cannot distinguish whether the failure occurred on the inter-site link or at the remote site. Therefore, a third-party arbitration device must be used to assist in selecting the arbitration device. The arbitration device maintains connections to both sites. If an inter-site link failure occurs, both sites send arbitration requests to the arbitration device. The arbitration device will only return a successful arbitration result to one site. The site with the successful arbitration result takes over services, while the other site ceases services.

[0028] Storage systems should minimize single points of failure. To prevent the quorum device from becoming a single point of failure, multiple quorum device instances should be deployed to provide adequate backups in the event of a failure in the currently active quorum device instance. To prevent different sites from activating different quorum device instances, which could lead to each site sending arbitration requests to different quorum devices in the event of an inter-site link failure and both sites taking over, only one quorum device instance can be activated by both sites at a time.

[0029] like Figure 1 As shown, in existing technical solutions, multiple arbitration devices are clustered together. The arbitration device cluster, as a whole, establishes a connection with two storage sites. In this case, the storage system only considers that there is a single arbitration device, and there is no need to select an arbitration device instance. However, this solution incurs greater operational overhead. A significant disadvantage of the above solution is that it requires maintaining a cluster on the arbitration device side, which greatly increases the design complexity and operational overhead of the arbitration device instance. In actual deployments, arbitration devices should be as simple and reliable as possible, with near-zero deployment costs. If an arbitration cluster is to be maintained, channels and bandwidth resources must be reserved for communication between arbitration device instances. Actual deployments may not necessarily have these conditions, thus limiting the scope of application of this solution.

[0030] Ensuring that both sites recognize a particular arbitration device instance is essentially a cross-cluster consensus problem. This invention provides a cross-cluster consensus-reaching method capable of achieving a weaker consensus across clusters under certain constraints. As an application, this method addresses the cross-site activation of arbitration devices. This method ensures the following two points when multiple arbitration device instances exist: only one arbitration device instance is activated by both sites at any given time; and automatically switches to the next arbitration device instance if the currently recognized arbitration device instance fails.

[0031] The arbitration control method provided in this application can be applied to Figure 2 In the application environment shown. Among them, the active-active storage system includes a first storage site and a second storage site, and several arbitration devices at the first storage site and the second storage site form an arbitration control system. Each storage set site is composed of several nodes, and a consistency protocol is run internally. Each storage set site is one, and a consistent state can be reached internally. There is a high-speed communication link between the first storage site and the second storage site, which is used for active-active data synchronization and can also be used for state synchronization between sites, but the state consistency guarantee between sites is weaker than that within the site. Each node of the two storage sites has a general communication link with all arbitration devices (Q1, Q2, ..., Qn), which carries daily heartbeat IO and arbitration requests, and there is no interaction between arbitration devices. The arbitration device, the first storage site and the second storage site can be implemented using independent servers or a server cluster consisting of multiple servers.

[0032] In one embodiment, Figure 3 As shown, an arbitration control method is provided, comprising the following steps:

[0033] Step S1: Control the first storage site and the second storage site to connect via a high-speed communication link for data synchronization. The first storage site and the second storage site use the same arbitration device to perform arbitration in the event of a high-speed communication link failure to select a service takeover site.

[0034] Step S2: In response to the arbitration device establishing connections with the first storage site and the second storage site, the first storage site and the second storage site exchange arbitration device connection status information, select one as a target arbitration device from multiple arbitration devices simultaneously connected to the first storage site and the second storage site, and enable the target arbitration device to perform arbitration to select a service takeover site in the event of a high-speed communication link failure.

[0035] Step S3: in response to a communication loss between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device.

[0036] Specifically, since when the arbitration device establishes a connection with the first storage site and the second storage site, one arbitration device is selected from multiple arbitration devices simultaneously connected to the two storage sites as the target arbitration device, and the problem of increased design complexity and operating overhead of arbitration device instances caused by the use of arbitration device clusters in the active-active storage system can be solved, it can avoid different storage sites enabling different arbitration devices, resulting in the two storage sites each sending arbitration requests to different arbitration devices when a link failure occurs between the storage sites, causing both sites to take over. At the same time, there can only be one arbitration device enabled by both storage sites, which avoids the communication overhead of using a distributed consensus protocol framework between two independent storage sites and improves the security of the arbitration device enabling process.

[0037] like Figure 4 、 Figure 5 As shown, in this embodiment, the first storage site and the second storage site exchange arbitration device connection status information, and select one of the multiple arbitration devices connected to the first storage site and the second storage site as a target arbitration device, including:

[0038] Obtaining a first primary node and at least one first secondary node of the first storage site, in response to the arbitration device establishing a connection with the first primary node, the first primary node initiating a connection establishment event, and the first secondary node receiving the connection establishment event establishing a connection with the arbitration device;

[0039] Acquire a second primary node and at least one second secondary node of the second storage site, and in response to the arbitration device establishing a connection with the second primary node, the second primary node initiates a connection establishment event, and the second secondary node that receives the connection establishment event establishes a connection with the arbitration device;

[0040] In response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notify each other of the connection status, and determine whether the arbitration device connected to the first storage site and the second storage site is the same. If it is the same arbitration device, it is used as the target arbitration device.

[0041] Understandably, there's no interaction between arbitration devices. Storage systems should minimize single points of failure. To prevent the arbitration device itself from becoming a single point of failure, multiple arbitration devices need to be deployed to provide adequate backup in the event of a failure in the currently active arbitration device. To avoid different sites activating different arbitration devices, which would result in each site sending arbitration requests to different arbitration devices in the event of an inter-site link failure, with both sites taking over, only one arbitration device can be activated by both sites at a time. Therefore, it's necessary to select a target arbitration device from among the multiple arbitration devices simultaneously connected to the first and second storage sites.

[0042] Among them, before the first master node and at least one first slave node of the first storage site and the second master node and at least one second slave node of the second storage site establish a connection with the arbitration device, the arbitration device connection can be implemented one by one in ascending or descending order according to the ID of the arbitration device, and the arbitration device connected each time is the same.

[0043] like Figure 4 、 Figure 5 As shown, in this embodiment, the first storage site and the second storage site exchange arbitration device connection status information, and selecting one of the multiple arbitration devices connected to the first storage site and the second storage site as a target arbitration device further includes:

[0044] The first master node is configured to use an arbitration device connection bit array to count the connection status of the first master node and the first secondary node with the arbitration device. The second master node is configured to use an arbitration device connection bit array to count the connection status of the second master node and the second secondary node with the arbitration device. The arbitration device connection bit array includes a first bit array and a second bit array according to the connection status. The first bit array corresponds to the connection status of the first master node and the arbitration device and the connection status of the second master node and the arbitration device, and the second bit array corresponds to the connection status of the first secondary node and the arbitration device and the connection status of the second secondary node and the arbitration device. The first value or the second value is filled in the first bit array and the second bit array according to the connection status. The first value represents that the arbitration device is connected, and the second value represents that the arbitration device is not connected.

[0045] That is, the first bit array and the second bit array respectively correspond to the connection status of the first master node and the first slave node with the arbitration device, and the first bit array and the second bit array respectively correspond to the connection status of the second master node and the second slave node with the arbitration device.

[0046] Specifically, the arbitration device connection bit array can be represented by quorum_connected_bv. If the arbitration device is connected to a node in the first storage site or the second storage site, the bit corresponding to the node is set to 1, and the default value is 0. That is, preferably, the first value is 1 and the second value is 0. By using the arbitration device connection bit array, the connection status of the first primary node and the first secondary node with the arbitration device can be intuitively obtained. The second bit array is the value corresponding to the first secondary node. For example, if there is a first primary node and n first secondary nodes in the first storage site, the arbitration device connection bit array includes a first bit array and n second bit arrays, each second bit array corresponding to a first secondary node.

[0047] like Figure 4As shown, in this embodiment, obtaining a first master node and at least one first slave node of a first storage site, in response to an arbitration device establishing a connection with the first master node, the first master node initiating a connection establishment event, and the first slave node receiving the connection establishment event establishing a connection with the arbitration device includes:

[0048] In response to the arbitration device establishing a connection with the first master node, the arbitration device sends a connection establishment event to the first master node, changes the first bit of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the arbitration device connection state to the first master node being connected to the arbitration device;

[0049] In response to the arbitration device establishing a connection with the first secondary node, the first secondary node sends a connection establishment event to the first master node, the first master node changes the second bit array of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the connection status of the arbitration device to the first secondary node being connected to the arbitration device.

[0050] Specifically, the quorum device connection status is represented by quorum_connected, which is TRUE if all nodes in the first storage site or the second storage site are connected to the quorum device, and FALSE otherwise. The quorum device connection status intuitively displays whether the first primary node and at least one first secondary node in the first storage site are connected to the quorum device.

[0051] like Figure 4 As shown, in this embodiment, obtaining a second primary node and at least one second secondary node of the second storage site, in response to the arbitration device establishing a connection with the second primary node, the second primary node initiating a connection establishment event, and the second secondary node receiving the connection establishment event establishing a connection with the arbitration device includes:

[0052] In response to the arbitration device establishing a connection with the second master node, the arbitration device sends a connection establishment event to the second master node, changes the first bit of the arbitration device connection bit array to the first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the arbitration device connection state to "the second master node is connected to the arbitration device";

[0053] In response to the arbitration device establishing a connection with the second secondary node, the second secondary node sends a connection establishment event to the second master node, the second master node changes the second bit array of the arbitration device connection bit array to the first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the connection status of the arbitration device to the second secondary node being connected to the arbitration device.

[0054] The arbitration device connection status intuitively displays whether the second primary node and at least one second secondary node of the second storage site are connected to the arbitration device. The second bit array represents the values ​​corresponding to the second secondary nodes. For example, if the second storage site has one second primary node and n second secondary nodes, the arbitration device connection bit array includes one first bit array and n second bit arrays, with each second bit array corresponding to a second secondary node.

[0055] like Figure 5 As shown, in this embodiment, in response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notifying each other of the connection status includes:

[0056] The first master node of the first storage site synchronizes the local arbitration connection status to the second master node of the second storage site, the second master node sends a remote site arbitration connection status change event, the second master node submits the remote site arbitration connection status change event to the second secondary node, and when the second secondary node receives the remote site arbitration connection status change event, it determines whether the arbitration device connection status has been modified to the second secondary node being connected to the arbitration device. If so, it determines whether the arbitration device connection status has been modified to the second master node being connected to the arbitration device. If so, the second storage site determines that the arbitration device is available;

[0057] The second master node of the second storage site synchronizes the local arbitration connection status to the first master node of the first storage site, the first master node sends a remote site arbitration connection status change event, the first master node submits the remote site arbitration connection status change event to the first secondary node, and when the first secondary node receives the remote site arbitration connection status change event, it determines whether the arbitration device connection status has been modified to the first secondary node is connected to the arbitration device. If so, it determines whether the arbitration device connection status has been modified to the first master node is connected to the arbitration device. If so, the first storage site determines that the arbitration device is available.

[0058] Among them, by notifying each other of the connection status between the first storage site and the second storage site, it is possible to determine whether the arbitration device is available in the first storage site and the second storage site one by one, and to accurately determine one of the multiple arbitration devices simultaneously connected to the first storage site and the second storage site to be selected as the target arbitration device.

[0059] like Figure 6 As shown, in this embodiment, enabling the target arbitration device includes:

[0060] The first master node determines the activation status of the arbitration device. If there is an active arbitration device, the process ends. Otherwise, the first master node obtains the arbitration activation status change count value and the arbitration activation status change count value of the first slave node.

[0061] Determine whether the arbitration enabled state change count value of the first primary node is equal to the arbitration enabled state change count value of the first secondary node, and if they are equal, determine whether there is an available arbitration device;

[0062] In response to the existence of an available arbitration device, obtaining the available arbitration device serial number, the first master node sending an arbitration enable event, the first master node setting the enable state of the arbitration device to active, increasing the arbitration enable state change count value of the first master node by one, and setting the active arbitration device address of the first master node to the available arbitration device serial number;

[0063] The first master node submits an arbitration enable event to the first secondary node. The first secondary node sends the arbitration enable event. The first secondary node sets the enable state of the arbitration device to active, increases the arbitration enable state change count of the first secondary node by one, and sets the active arbitration device address of the first secondary node to the available arbitration device serial number.

[0064] The first master node sends an arbitration enable event to the second master node. The second master node sends an arbitration enable event. The second master node sets the enable state of the quorum device to active, increases the arbitration enable state change count of the second master node by one, and sets the active quorum device address of the second master node to the available quorum device serial number.

[0065] The second master node submits an arbitration enable event to the second slave node. The second slave node sends an arbitration enable event. The second slave node sets the enable state of the arbitration device to active, increases the arbitration enable state change count value of the second slave node by one, and sets the active arbitration device address of the second slave node to the available arbitration device serial number.

[0066] The quorum enablement state change count for the first and second master nodes can be represented by quorum_state_lvl, and the quorum enablement state change count for the first and second slave nodes can be represented by quorum_state_lvl_remote. The quorum enablement state change count is a monotonically increasing integer starting from 0 and increments with each quorum enablement state change (from disabled to enabled or vice versa). This allows accurate determination of whether the first master node and first slave node are connected to the same quorum device by comparing the values ​​of quorum_state_lvl and quorum_state_lvl_remote at the first storage site. Similarly, accurate determination of whether the second master node and second slave node are connected to the same quorum device by comparing the values ​​of quorum_state_lvl and quorum_state_lvl_remote at the second storage site.

[0067] like Figure 6 As shown, in this embodiment, the arbitration control method further includes:

[0068] In response to the target arbitration device being enabled, the first master node sends its arbitration enablement state change count value to the second master node, and the second master node initiates an arbitration enablement state change count value update event for the second secondary node, setting the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second secondary node;

[0069] The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates the first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node to be equal to the arbitration enabled state change count value of the first slave node.

[0070] It is understandable that this application uses the method of comparing whether the values ​​of quorum_state_lvl and quorum_state_lvl_remote are the same to determine whether the arbitration devices connected to the first master node and the first slave node are the same, and whether the arbitration devices connected to the second master node and the second slave node are the same. Therefore, after the target arbitration device is enabled, it is necessary to promptly update the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second slave node, and update the arbitration enablement state change count value of the first master node to be equal to the arbitration enablement state change count value of the first slave node to ensure the accuracy of the judgment.

[0071] like Figure 7 As shown, in this embodiment, if communication loss occurs between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device includes:

[0072] Real-time detection of whether the first primary node and the first secondary node have lost communication with the target arbitration device;

[0073] In response to the first master node losing communication with the target arbitration device, the first master node sends an arbitration connection loss event, changes the first bit array of the arbitration device connection bit array to a second value, and modifies the arbitration device connection state to the first master node being not connected to the arbitration device;

[0074] In response to the first secondary node losing communication with the target arbitration device, the first secondary node sends an arbitration connection loss event to the first master node, changes the second bit array of the arbitration device connection bit array to a second value, the first master node modifies the arbitration device connection status to the first secondary node not being connected to the arbitration device, and the first master node submits the arbitration connection loss event to the first secondary node.

[0075] Specifically, the quorum device connection status is represented by quorum_connected, which is TRUE if all nodes in the first storage site or the second storage site are connected to the quorum device, and FALSE otherwise. The quorum device connection status intuitively displays whether the first primary node and at least one first secondary node in the first storage site are connected to the quorum device.

[0076] like Figure 7 As shown, in this embodiment, in response to a communication loss between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting the target arbitration device includes:

[0077] Real-time detection of whether the second primary node and the second secondary node have lost communication with the target arbitration device;

[0078] In response to the second master node losing communication with the target arbitration device, the second master node sends an arbitration connection loss event, changes the first bit of the arbitration device connection bit array to a second value, modifies the arbitration device connection state to "the second master node is not connected to the arbitration device", synchronizes the arbitration connection state with the first master node, and the first master node modifies the arbitration device connection state to "the second master node is not connected to the arbitration device".

[0079] In response to the second secondary node losing communication with the target arbitration device, the second secondary node sends an arbitration connection loss event to the second master node, changes the second bit array of the arbitration device connection bit array to a second value, the second master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device, the second master node submits the arbitration connection loss event to the second secondary node, the second master node synchronizes the arbitration connection status to the first master node, and the first master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device.

[0080] When the target arbitration device loses communication, the arbitration device connection bit array and the arbitration device connection status are modified in a timely manner, which can intuitively display the status of the arbitration device communication loss and achieve the disabling of the target arbitration device.

[0081] like Figure 7 As shown, in this embodiment, disabling the target arbitration device and reselecting the target arbitration device includes:

[0082] Determine the activation status of the target arbitration device connected to the first storage site and the second storage site, and terminate if the target arbitration device is not activated; if the target arbitration device is activated, obtain the target arbitration device serial number;

[0083] Determine whether the active arbitration device addresses of the first master node and the first slave node of the first storage site and the second master node and the second slave node of the second storage site are the target arbitration device serial numbers; if so, determine whether the arbitration enable state change count value of the first master node and the arbitration enable state change count value of the first slave node are the same; if they are the same, determine whether the arbitration enable state change count value of the second master node and the arbitration enable state change count value of the second slave node are the same; if they are the same, disable the target arbitration device in the first master node and the first slave node; in response to disabling the target arbitration device in the first master node and the first slave node, disable the target arbitration device in the second master node and the second slave node.

[0084] The target quorum device serial number is active_quorum_id, which is the ID of the currently enabled quorum device. If no quorum device is currently enabled, the target quorum device serial number is invalid. Using the target quorum device serial number, you can accurately locate the target quorum device and disable it. When disabling, the quorum activation status change count is used to determine whether the disabling conditions are met to ensure that the target quorum device is disabled.

[0085] like Figure 7 As shown, in this embodiment, disabling the target arbitration device in the first primary node and the first secondary node includes:

[0086] The first master node sends an arbitration disable event;

[0087] The first master node submits an arbitration disable event to the first secondary node. The first secondary node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first secondary node by one, and sets the active arbitration device address of the first secondary node to an invalid sequence number. The first master node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first master node by one, and sets the active arbitration device address of the first master node to an invalid sequence number.

[0088] The first master node synchronizes the arbitration disable event to the second master node.

[0089] The node synchronization arbitration disabling event in the first storage site can enable all nodes in the first storage site to completely disable the target arbitration device.

[0090] like Figure 7 As shown, in this embodiment, disabling the target arbitration device in the second primary node and the second secondary node includes:

[0091] In response to the second master node receiving the arbitration disable event sent by the first master node, the second master node submits the arbitration disable event to the second slave node, the second slave node sets the enable state of the arbitration device to inactive, increases the arbitration enable state change count of the second slave node by one, and changes the active arbitration device address of the second slave node to an invalid serial number; the second master node sets the enable state of the arbitration device to inactive, increases the arbitration enable state change count of the second master node by one, and changes the active arbitration device address of the second master node to an invalid serial number.

[0092] The node synchronization arbitration disabling event in the second storage site can enable all nodes in the second storage site to completely disable the target arbitration device.

[0093] like Figure 7 As shown, in this embodiment, the arbitration control method further includes:

[0094] In response to disabling the target quorum device in the first storage site and the second storage site, the first master node sends its arbitration enable state change count value to the second master node, and the second master node initiates an arbitration enable state change count value update event for the second slave node, setting the arbitration enable state change count value of the second master node to be equal to the arbitration enable state change count value of the second slave node;

[0095] The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates the first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node to be equal to the arbitration enabled state change count value of the first slave node.

[0096] It is understandable that the present application uses the method of comparing whether the values ​​of quorum_state_lvl and quorum_state_lvl_remote are the same to determine whether the arbitration devices connected to the first master node and the first slave node are the same, and whether the arbitration devices connected to the second master node and the second slave node are the same. Therefore, after disabling the target arbitration device in the first storage site and the second storage site, it is necessary to promptly update the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second slave node, and update the arbitration enablement state change count value of the first master node to be equal to the arbitration enablement state change count value of the first slave node to ensure the accuracy of the judgment.

[0097] In this embodiment, the first storage site and the second storage site use the same arbitration device to perform arbitration for a high-speed communication link failure and select a service takeover site, including:

[0098] In response to a communication failure occurring in the high-speed communication link between the first storage site and the second storage site, the first storage site and the second storage site sending an arbitration request to the arbitration device;

[0099] The arbitration device determines the winning storage site and returns an arbitration success result to the winning storage site. The storage site that receives the arbitration success result takes over the business and continues to provide services, while the other storage site stops providing services.

[0100] By taking over the business based on the successful arbitration result and continuing to provide services, the other storage site stops providing services. This can avoid different storage sites using different arbitration devices, which would cause the two storage sites to each send arbitration requests to different arbitration devices when a link failure occurs between the storage sites, resulting in both sites being taken over.

[0101] In this embodiment, disabling the target arbitration device and reselecting the target arbitration device includes:

[0102] In response to the target quorum device being disabled, the quorum devices connected to the first storage site and the second storage site are changed, and a new target quorum device is selected from the quorum devices connected to the first storage site and the second storage site.

[0103] Combine Figure 2 , selecting a new target quorum device after the target quorum device is disabled can maintain the functionality of the quorum device controlling the first storage site and the second storage site intact.

[0104] Specifically, in response to the target arbitration device being disabled, changing the arbitration devices connected to the first storage site and the second storage site, and selecting a new target arbitration device from the arbitration devices connected to the first storage site and the second storage site includes:

[0105] detecting whether the first storage site and the second storage site are connected to a new arbitration device, and if so, notifying each other of the connection status;

[0106] A new arbitration device connected to the first storage site and the second storage site is obtained, and it is determined whether the new arbitration device connected to the first storage site and the second storage site is the same. If the new arbitration device is the same, it is used as a new target arbitration device.

[0107] In the above arbitration control method, since, when the arbitration device establishes a connection with the first storage site and the second storage site, one arbitration device is selected from multiple arbitration devices simultaneously connected to the two storage sites as the target arbitration device, and the problem of increased design complexity and operating overhead of arbitration device instances caused by the use of arbitration device clusters in active-active storage systems can be solved, it can avoid the situation where different storage sites enable different arbitration devices, resulting in the two storage sites each sending arbitration requests to different arbitration devices when a link failure occurs between the storage sites, causing both sites to take over. At the same time, only one arbitration device can be enabled by both storage sites, avoiding the communication overhead of using a distributed consensus protocol framework between two independent storage sites and improving the security of the arbitration device activation process.

[0108] It should be understood that although Figure 3-Figure 7 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 3-Figure 7 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0109] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0110] like Figure 8 As shown, an embodiment of the present application further provides an arbitration control device, comprising: a service processing module 1 , an arbitration device selection module 2 , and an arbitration device disabling module 3 .

[0111] The service processing module 1 is used to control the first storage site and the second storage site to synchronize data via a high-speed communication link. The first storage site and the second storage site use the same arbitration device to arbitrate a high-speed communication link failure and select a service takeover site.

[0112] The arbitration device selection module 2 is used to select a target arbitration device from multiple arbitration devices simultaneously connected to the first storage site and the second storage site in response to the arbitration device establishing a connection with the first storage site and the second storage site, and the first storage site and the second storage site exchanging arbitration device connection status information, and enable the target arbitration device to perform arbitration to select a service takeover site in the event of a high-speed communication link failure.

[0113] The arbitration device disabling module 3 is configured to disable the target arbitration device and reselect a target arbitration device in response to a communication loss between the target arbitration device and the first storage site and / or the second storage site.

[0114] In this embodiment, the first storage site and the second storage site exchange arbitration device connection status information, and select one of the multiple arbitration devices simultaneously connected to the first storage site and the second storage site as a target arbitration device, including:

[0115] Obtaining a first primary node and at least one first secondary node of the first storage site, in response to the arbitration device establishing a connection with the first primary node, the first primary node initiating a connection establishment event, and the first secondary node receiving the connection establishment event establishing a connection with the arbitration device;

[0116] Acquire a second primary node and at least one second secondary node of the second storage site, and in response to the arbitration device establishing a connection with the second primary node, the second primary node initiates a connection establishment event, and the second secondary node that receives the connection establishment event establishes a connection with the arbitration device;

[0117] In response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notify each other of the connection status, and determine whether the arbitration device connected to the first storage site and the second storage site is the same. If it is the same arbitration device, it is used as the target arbitration device.

[0118] In this embodiment, the first storage site and the second storage site exchange quorum device connection status information, and selecting one of the plurality of quorum devices simultaneously connected to the first storage site and the second storage site as a target quorum device further includes:

[0119] Setting the first master node to use an arbitration device connection bit array to count the connection status of the first master node and the first secondary node with the arbitration device, the arbitration device connection bit array including a first bit array and a second bit array according to the connection status, the first bit array and the second bit array corresponding to the connection status of the first master node and the first secondary node with the arbitration device, respectively, filling the first value or the second value in the first bit array and the second bit array according to the connection status, the first value representing a connected arbitration device, and the second value representing an unconnected arbitration device;

[0120] The second master node is configured to use an arbitration device connection bit array to count connection statuses between the second master node and the second slave node and the arbitration device. The arbitration device connection bit array includes a first bit array and a second bit array according to the connection status. The first bit array and the second bit array correspond to connection statuses between the second master node and the second slave node and the arbitration device, respectively. The first value or the second value is filled in the first bit array and the second bit array according to the connection status. The first value represents that the arbitration device is connected, and the second value represents that the arbitration device is not connected.

[0121] In this embodiment, obtaining a first master node and at least one first slave node of a first storage site, in response to an arbitration device establishing a connection with the first master node, the first master node initiating a connection establishment event, and the first slave node receiving the connection establishment event establishing a connection with the arbitration device includes:

[0122] In response to the arbitration device establishing a connection with the first master node, the arbitration device sends a connection establishment event to the first master node, changes the first bit of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the arbitration device connection state to the first master node being connected to the arbitration device;

[0123] In response to the arbitration device establishing a connection with the first secondary node, the first secondary node sends a connection establishment event to the first master node, the first master node changes the second bit array of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the connection status of the arbitration device to the first secondary node being connected to the arbitration device.

[0124] In this embodiment, obtaining a second primary node and at least one second secondary node of the second storage site, in response to the arbitration device establishing a connection with the second primary node, the second primary node initiating a connection establishment event, and the second secondary node receiving the connection establishment event establishing a connection with the arbitration device includes:

[0125] In response to the arbitration device establishing a connection with the second master node, the arbitration device sends a connection establishment event to the second master node, changes the first bit of the arbitration device connection bit array to the first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the arbitration device connection state to "the second master node is connected to the arbitration device";

[0126] In response to the arbitration device establishing a connection with the second secondary node, the second secondary node sends a connection establishment event to the second master node, the second master node changes the second bit array of the arbitration device connection bit array to the first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the connection status of the arbitration device to the second secondary node being connected to the arbitration device.

[0127] In this embodiment, in response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notifying each other of the connection status includes:

[0128] The first master node of the first storage site synchronizes the local arbitration connection status to the second master node of the second storage site, the second master node sends a remote site arbitration connection status change event, the second master node submits the remote site arbitration connection status change event to the second secondary node, and when the second secondary node receives the remote site arbitration connection status change event, it determines whether the arbitration device connection status has been modified to the second secondary node being connected to the arbitration device. If so, it determines whether the arbitration device connection status has been modified to the second master node being connected to the arbitration device. If so, the second storage site determines that the arbitration device is available;

[0129] The second master node of the second storage site synchronizes the local arbitration connection status to the first master node of the first storage site, the first master node sends a remote site arbitration connection status change event, the first master node submits the remote site arbitration connection status change event to the first secondary node, and when the first secondary node receives the remote site arbitration connection status change event, it determines whether the arbitration device connection status has been modified to the first secondary node is connected to the arbitration device. If so, it determines whether the arbitration device connection status has been modified to the first master node is connected to the arbitration device. If so, the first storage site determines that the arbitration device is available.

[0130] In this embodiment, enabling the target arbitration device includes:

[0131] The first master node determines the activation status of the arbitration device. If there is an active arbitration device, the process ends. Otherwise, the first master node obtains the arbitration activation status change count value and the arbitration activation status change count value of the first slave node.

[0132] Determine whether the arbitration enabled state change count value of the first primary node is equal to the arbitration enabled state change count value of the first secondary node, and if they are equal, determine whether there is an available arbitration device;

[0133] In response to the existence of an available arbitration device, obtaining the available arbitration device serial number, the first master node sending an arbitration enable event, the first master node setting the enable state of the arbitration device to active, increasing the arbitration enable state change count value of the first master node by one, and setting the active arbitration device address of the first master node to the available arbitration device serial number;

[0134] The first master node submits an arbitration enable event to the first secondary node. The first secondary node sends the arbitration enable event. The first secondary node sets the enable state of the arbitration device to active, increases the arbitration enable state change count of the first secondary node by one, and sets the active arbitration device address of the first secondary node to the available arbitration device serial number.

[0135] The first master node sends an arbitration enable event to the second master node. The second master node sends an arbitration enable event. The second master node sets the enable state of the quorum device to active, increases the arbitration enable state change count of the second master node by one, and sets the active quorum device address of the second master node to the available quorum device serial number.

[0136] The second master node submits an arbitration enable event to the second slave node. The second slave node sends an arbitration enable event. The second slave node sets the enable state of the arbitration device to active, increases the arbitration enable state change count value of the second slave node by one, and sets the active arbitration device address of the second slave node to the available arbitration device serial number.

[0137] In this embodiment, if Figure 8 As shown, the arbitration control device further includes an arbitration connection loss management module 4. The arbitration connection loss management module 4 is used to:

[0138] In response to the target arbitration device being enabled, the first master node sends its arbitration enablement state change count value to the second master node, and the second master node initiates an arbitration enablement state change count value update event for the second secondary node, setting the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second secondary node;

[0139] The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates the first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node to be equal to the arbitration enabled state change count value of the first slave node.

[0140] In this embodiment, if communication loss occurs between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device includes:

[0141] Real-time detection of whether the first primary node and the first secondary node have lost communication with the target arbitration device;

[0142] In response to the first master node losing communication with the target arbitration device, the first master node sends an arbitration connection loss event, changes the first bit array of the arbitration device connection bit array to a second value, and modifies the arbitration device connection state to the first master node being not connected to the arbitration device;

[0143] In response to the first secondary node losing communication with the target arbitration device, the first secondary node sends an arbitration connection loss event to the first master node, changes the second bit array of the arbitration device connection bit array to a second value, the first master node modifies the arbitration device connection status to the first secondary node not being connected to the arbitration device, and the first master node submits the arbitration connection loss event to the first secondary node.

[0144] In this embodiment, in response to a communication loss between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device includes:

[0145] Real-time detection of whether the second primary node and the second secondary node have lost communication with the target arbitration device;

[0146] In response to the second master node losing communication with the target arbitration device, the second master node sends an arbitration connection loss event, changes the first bit of the arbitration device connection bit array to a second value, modifies the arbitration device connection state to "the second master node is not connected to the arbitration device", synchronizes the arbitration connection state with the first master node, and the first master node modifies the arbitration device connection state to "the second master node is not connected to the arbitration device".

[0147] In response to the second secondary node losing communication with the target arbitration device, the second secondary node sends an arbitration connection loss event to the second master node, changes the second bit array of the arbitration device connection bit array to a second value, the second master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device, the second master node submits the arbitration connection loss event to the second secondary node, the second master node synchronizes the arbitration connection status to the first master node, and the first master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device.

[0148] In this embodiment, disabling the target arbitration device and reselecting the target arbitration device includes:

[0149] Determine the activation status of the target arbitration device connected to the first storage site and the second storage site, and terminate if the target arbitration device is not activated; if the target arbitration device is activated, obtain the target arbitration device serial number;

[0150] Determine whether the active arbitration device addresses of the first master node and the first slave node of the first storage site and the second master node and the second slave node of the second storage site are the target arbitration device serial numbers; if so, determine whether the arbitration enable state change count value of the first master node and the arbitration enable state change count value of the first slave node are the same; if they are the same, determine whether the arbitration enable state change count value of the second master node and the arbitration enable state change count value of the second slave node are the same; if they are the same, disable the target arbitration device in the first master node and the first slave node; in response to disabling the target arbitration device in the first master node and the first slave node, disable the target arbitration device in the second master node and the second slave node.

[0151] In this embodiment, disabling the target arbitration device in the first primary node and the first secondary node includes:

[0152] The first master node sends an arbitration disable event;

[0153] The first master node submits an arbitration disable event to the first secondary node. The first secondary node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first secondary node by one, and sets the active arbitration device address of the first secondary node to an invalid sequence number. The first master node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first master node by one, and sets the active arbitration device address of the first master node to an invalid sequence number.

[0154] The first master node synchronizes the arbitration disable event to the second master node.

[0155] In this embodiment, disabling the target arbitration device in the second primary node and the second secondary node includes:

[0156] In response to the second master node receiving the arbitration disable event sent by the first master node, the second master node submits the arbitration disable event to the second slave node, the second slave node sets the enable state of the arbitration device to inactive, increases the arbitration enable state change count of the second slave node by one, and changes the active arbitration device address of the second slave node to an invalid serial number; the second master node sets the enable state of the arbitration device to inactive, increases the arbitration enable state change count of the second master node by one, and changes the active arbitration device address of the second master node to an invalid serial number.

[0157] In this embodiment, if Figure 8 As shown, the arbitration control device further includes an arbitration status updating module 5. The arbitration status updating module 5 is used to:

[0158] In response to disabling the target quorum device in the first storage site and the second storage site, the first master node sends its arbitration enable state change count value to the second master node, and the second master node initiates an arbitration enable state change count value update event for the second slave node, setting the arbitration enable state change count value of the second master node to be equal to the arbitration enable state change count value of the second slave node;

[0159] The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates the first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node to be equal to the arbitration enabled state change count value of the first slave node.

[0160] In this embodiment, the first storage site and the second storage site use the same arbitration device to perform arbitration for a high-speed communication link failure and select a service takeover site, including:

[0161] In response to a communication failure occurring in the high-speed communication link between the first storage site and the second storage site, the first storage site and the second storage site sending an arbitration request to the arbitration device;

[0162] The arbitration device determines the winning storage site and returns an arbitration success result to the winning storage site. The storage site that receives the arbitration success result takes over the business and continues to provide services, while the other storage site stops providing services.

[0163] In this embodiment, if Figure 8 As shown, the arbitration control device further includes an arbitration device changing module 6. The arbitration device changing module 6 is used to:

[0164] In response to the target quorum device being disabled, the quorum devices connected to the first storage site and the second storage site are changed, and a new target quorum device is selected from the quorum devices connected to the first storage site and the second storage site.

[0165] In this embodiment, in response to the target arbitrator device being disabled, changing the arbitrator devices connected to the first storage site and the second storage site, and selecting a new target arbitrator device from the arbitrator devices connected to the first storage site and the second storage site includes:

[0166] detecting whether the first storage site and the second storage site are connected to a new arbitration device, and if so, notifying each other of the connection status;

[0167] A new arbitration device connected to the first storage site and the second storage site is obtained, and it is determined whether the new arbitration device connected to the first storage site and the second storage site is the same. If the new arbitration device is the same, it is used as a new target arbitration device.

[0168] For the description of the features in the embodiment corresponding to the arbitration control device, reference can be made to the relevant description of the embodiment corresponding to the arbitration control method, which will not be repeated here.

[0169] In the above-mentioned arbitration control device, since one arbitration device is selected as the target arbitration device from multiple arbitration devices simultaneously connected to the two storage sites when the arbitration device establishes a connection with the first storage site and the second storage site, and the problem of increased design complexity and operating overhead of arbitration device instances caused by the use of arbitration device clusters in active-active storage systems can be solved, it can avoid the situation where different storage sites enable different arbitration devices, resulting in the two storage sites each sending arbitration requests to different arbitration devices when a link failure occurs between the storage sites, causing both sites to take over. At the same time, there can only be one arbitration device enabled by both storage sites, which avoids the communication overhead of using a distributed consensus protocol framework between two independent storage sites and improves the security of the arbitration device activation process.

[0170] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above arbitration control method embodiments.

[0171] For the specific limitations on the steps implemented when the computer program is executed by the processor, please refer to the limitations on the arbitration control method above, which will not be repeated here.

[0172] In one embodiment, an electronic device is provided. The electronic device may be a server, and its internal structure diagram may be as follows: Figure 9 As shown. The electronic device includes a processor, a memory, a network interface and a database connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic 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 computer program in the non-volatile storage medium. The database of the electronic device is used to store arbitration control data. The network interface of the electronic device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, an arbitration control method is implemented.

[0173] Those skilled in the art will understand that Figure 9 The structure shown in the figure is only a block diagram of a part of the 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 component arrangement.

[0174] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above-mentioned arbitration control method embodiments when running.

[0175] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0176] For the specific limitations on the steps implemented when the processor executes the computer program, please refer to the limitations on the arbitration control method above, which will not be repeated here.

[0177] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any one of the above arbitration control method embodiments are implemented.

[0178] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned arbitration control method embodiments are implemented.

[0179] For the specific limitations on the steps implemented when the computer program is executed by the processor, please refer to the limitations on the arbitration control method above, which will not be repeated here.

[0180] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0181] The above is a detailed introduction to the arbitration control method, product, electronic device and storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. An arbitration control method, characterized in that: include: Controlling the first storage site to connect with the second storage site through a high-speed communication link to synchronize data; In response to an arbitration device establishing connections with the first storage site and the second storage site, the first storage site and the second storage site exchange arbitration device connection status information, select one as a target arbitration device from multiple arbitration devices simultaneously connected to the first storage site and the second storage site, obtain a first master node and at least one first slave node of the first storage site, obtain a second master node and at least one second slave node of the second storage site, and enable the target arbitration device to perform arbitration to select a service takeover site in the event of a high-speed communication link failure; wherein, at the same time, only the target arbitration device is enabled by the first storage site and the second storage site; enabling the target arbitration device includes: the first master node determining the enabling status of the arbitration device, and ending the process if an active arbitration device already exists; otherwise, obtaining an arbitration enabling status change count value of the first master node and an arbitration enabling status change count value of the first slave node; determining whether the arbitration enabling status change count value of the first master node is equal to the arbitration enabling status change count value of the first slave node, and if so, determining whether an available arbitration device exists; in response to the existence of an available arbitration device, obtaining a serial number of the available arbitration device, the first master node sending an arbitration enabling event, and the first The master node sets the quorum device enable state to active, increments the arbitration enable state change count of the first master node by one, and sets the active quorum device address of the first master node to the available quorum device serial number. The first master node submits an arbitration enable event to the first secondary node. The first secondary node receives the arbitration enable event. The first secondary node sets the quorum device enable state to active, increments the arbitration enable state change count of the first secondary node by one, and sets the active quorum device address of the first secondary node to the available quorum device serial number. The first master node sends the arbitration enable event to the second master node. The second master node receives the arbitration enable event. The second master node sets the quorum device enable state to active, increments the arbitration enable state change count of the second master node by one, and sets the active quorum device address of the second master node to the available quorum device serial number. The second master node submits an arbitration enable event to the second secondary node. The second secondary node receives the arbitration enable event. The second secondary node sets the quorum device enable state to active, increments the arbitration enable state change count of the second secondary node by one, and sets the active quorum device address of the second secondary node to the available quorum device serial number. In response to a communication loss between the target quorum device and the first storage site and / or the second storage site, the target quorum device is disabled and a new target quorum device is selected.

2. The arbitration control method according to claim 1, wherein: The first storage site and the second storage site exchange quorum device connection status information, and selecting one of a plurality of quorum devices simultaneously connected to the first storage site and the second storage site as a target quorum device includes: In response to the arbitration device establishing a connection with the first master node, the first master node initiates a connection establishment event, and the first secondary node, which receives the connection establishment event, establishes a connection with the arbitration device; In response to the arbitration device establishing a connection with the second master node, the second master node initiates a connection establishment event, and the second slave node that receives the connection establishment event establishes a connection with the arbitration device; In response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notify each other of the connection status, and determine whether the arbitration device connected to the first storage site and the second storage site is the same. If it is the same arbitration device, it is used as the target arbitration device.

3. The arbitration control method according to claim 2, wherein: The first storage site and the second storage site exchange arbitration device connection status information, and selecting one of a plurality of arbitration devices simultaneously connected to the first storage site and the second storage site as a target arbitration device further comprises: The first master node is set to use an arbitration device connection bit array to count the connection status of the first master node and the first secondary node with the arbitration device. The second master node is set to use an arbitration device connection bit array to count the connection status of the second master node and the second secondary node with the arbitration device. The arbitration device connection bit array is set according to the connection status, including a first bit array and a second bit array. The first bit array corresponds to the connection status of the first master node and the arbitration device and the connection status of the second master node and the arbitration device, and the second bit array corresponds to the connection status of the first secondary node and the arbitration device and the connection status of the second secondary node and the arbitration device. The first bit array and the second bit array are filled with a first value or a second value according to the connection status. The first value indicates that the arbitration device is connected, and the second value indicates that the arbitration device is not connected.

4. The arbitration control method according to claim 3, wherein: Acquiring a first primary node and at least one first secondary node of the first storage site, in response to an arbitration device establishing a connection with the first primary node, the first primary node initiating a connection establishment event, and the first secondary node, upon receiving the connection establishment event, establishing a connection with the arbitration device, includes: In response to the arbitration device establishing a connection with the first master node, the arbitration device sends a connection establishment event to the first master node, changes the first bit array of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the arbitration device connection state to indicate that the first master node has connected to the arbitration device; In response to the arbitration device establishing a connection with the first secondary node, the first secondary node sends a connection establishment event to the first master node, the first master node changes the second bit array of the arbitration device connection bit array to a first value, the first master node submits the connection establishment event to the first secondary node, and the first master node modifies the arbitration device connection status to the first secondary node being connected to the arbitration device.

5. The arbitration control method according to claim 3, characterized in that: Acquiring a second primary node and at least one second secondary node of the second storage site, in response to the arbitration device establishing a connection with the second primary node, the second primary node initiating a connection establishment event, and the second secondary node, upon receiving the connection establishment event, establishing a connection with the arbitration device, includes: In response to the arbitration device establishing a connection with the second master node, the arbitration device sends a connection establishment event to the second master node, changes the first bit of the arbitration device connection bit array to a first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the arbitration device connection state to indicate that the second master node has connected to the arbitration device; In response to the arbitration device establishing a connection with the second secondary node, the second secondary node sends a connection establishment event to the second master node, the second master node changes the second bit array of the arbitration device connection bit array to a first value, the second master node submits the connection establishment event to the second secondary node, and the second master node modifies the arbitration device connection status to the second secondary node being connected to the arbitration device.

6. The arbitration control method according to claim 2, wherein: In response to the second primary node and the second secondary node of the second storage site establishing a connection with the arbitration device, the first storage site and the second storage site notifying each other of a connection status includes: The first master node of the first storage site synchronizes the local arbitration connection status to the second master node of the second storage site, the second master node sends a remote site arbitration connection status change event, the second master node submits the remote site arbitration connection status change event to the second secondary node, and when the second secondary node receives the remote site arbitration connection status change event, determines whether the connection status of the arbitration device has been modified to indicate that the second secondary node is connected to the arbitration device. If so, determines whether the connection status of the arbitration device has been modified to indicate that the second master node is connected to the arbitration device. If so, the second storage site determines that the arbitration device is available. The second master node of the second storage site synchronizes the local arbitration connection status to the first master node of the first storage site, the first master node sends a remote site arbitration connection status change event, the first master node submits the remote site arbitration connection status change event to the first secondary node, and when the first secondary node receives the remote site arbitration connection status change event, it determines whether the connection status of the arbitration device has been modified to the first secondary node being connected to the arbitration device. If so, it determines whether the connection status of the arbitration device has been modified to the first master node being connected to the arbitration device. If so, the first storage site determines that the arbitration device is available.

7. The arbitration control method according to claim 6, characterized in that: Also includes: In response to the target arbitration device being enabled, the first master node sends its arbitration enablement state change count value to the second master node, and the second master node initiates a second secondary node arbitration enablement state change count value update event to set the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second secondary node; The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates a first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node equal to the arbitration enabled state change count value of the first slave node.

8. The arbitration control method according to claim 4, characterized in that: If communication loss occurs between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device includes: detecting in real time whether the first master node and the first slave node lose communication with the target arbitration device; In response to the first master node losing communication with the target arbitration device, the first master node sends an arbitration connection loss event, changes a first bit array of the arbitration device connection bit array to a second value, and modifies the arbitration device connection state to indicate that the first master node is not connected to the arbitration device. In response to the loss of communication between the first secondary node and the target arbitration device, the first secondary node sends an arbitration connection loss event to the first master node, changes the second bit array of the arbitration device connection bit array to a second value, the first master node modifies the arbitration device connection status to the first secondary node not being connected to the arbitration device, and the first master node submits the arbitration connection loss event to the first secondary node.

9. The arbitration control method according to claim 5, characterized in that: In response to a communication loss between the target arbitration device and the first storage site and / or the second storage site, disabling the target arbitration device and reselecting a target arbitration device includes: detecting in real time whether the second primary node and the second secondary node lose communication with the target arbitration device; In response to the second master node losing communication with the target arbitration device, the second master node sends an arbitration connection loss event, changes the first bit array of the arbitration device connection bit array to a second value, and modifies the arbitration device connection state to indicate that the second master node is not connected to the arbitration device. The second master node synchronizes the arbitration connection state with the first master node, and the first master node modifies the arbitration device connection state to indicate that the second master node is not connected to the arbitration device. In response to the second secondary node losing communication with the target arbitration device, the second secondary node sends an arbitration connection loss event to the second master node, changes the second bit array of the arbitration device connection bit array to a second value, the second master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device, the second master node submits the arbitration connection loss event to the second secondary node, the second master node synchronizes the arbitration connection status with the first master node, and the first master node modifies the arbitration device connection status to the second secondary node not being connected to the arbitration device.

10. The arbitration control method according to claim 1, wherein: Disabling the target arbitration device and reselecting a target arbitration device includes: determining the activation status of a target arbitration device connected to the first storage site and the second storage site, and terminating if the target arbitration device is not activated; and obtaining a target arbitration device serial number if the target arbitration device is activated; Determine whether the active arbitration device addresses of the first master node and the first slave node of the first storage site and the second master node and the second slave node of the second storage site are the target arbitration device serial numbers; if so, determine whether the arbitration enable state change count value of the first master node and the arbitration enable state change count value of the first slave node are the same; if they are the same, determine whether the arbitration enable state change count value of the second master node and the arbitration enable state change count value of the second slave node are the same; if they are the same, disable the target arbitration device in the first master node and the first slave node; in response to disabling the target arbitration device in the first master node and the first slave node, disable the target arbitration device in the second master node and the second slave node.

11. The arbitration control method according to claim 10, wherein: The disabling of the target arbitration device in the first primary node and the first secondary node includes: The first master node sends an arbitration disable event; The first master node submits the arbitration disable event to the first secondary node, the first secondary node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first secondary node by one, and sets the active arbitration device address of the first secondary node to an invalid sequence number; the first master node sets the enabled state of the arbitration device to inactive, increments the arbitration enabled state change count of the first master node by one, and sets the active arbitration device address of the first master node to an invalid sequence number; The first master node synchronizes the arbitration disable event to the second master node.

12. The arbitration control method according to claim 11, characterized in that: The disabling of the target arbitration device in the second primary node and the second secondary node includes: In response to the second master node receiving the arbitration disable event sent by the first master node, the second master node submits the arbitration disable event to the second slave node, the second slave node sets the enable state of the arbitration device to inactive, increments the arbitration enable state change count of the second slave node by one, and sets the active arbitration device address of the second slave node to an invalid sequence number; the second master node sets the enable state of the arbitration device to inactive, increments the arbitration enable state change count of the second master node by one, and sets the active arbitration device address of the second master node to an invalid sequence number.

13. The arbitration control method according to claim 12, wherein: Also includes: In response to disabling the target arbitration device in the first storage site and the second storage site, the first master node sends its arbitration enablement state change count value to the second master node, and the second master node initiates a second secondary node arbitration enablement state change count value update event to set the arbitration enablement state change count value of the second master node to be equal to the arbitration enablement state change count value of the second secondary node; The second master node sends its arbitration enabled state change count value to the first master node, and the first master node initiates a first slave node arbitration enabled state change count value update event, setting the arbitration enabled state change count value of the first master node equal to the arbitration enabled state change count value of the first slave node.

14. The arbitration control method according to claim 1, wherein: The first storage site and the second storage site use the same arbitration device to perform arbitration for a high-speed communication link failure and select a service takeover site, including: In response to a communication failure occurring in the high-speed communication link between the first storage site and the second storage site, the first storage site and the second storage site sending an arbitration request to the arbitration device; The arbitration device determines the winning storage site and returns an arbitration success result to the winning storage site. The storage site that obtains the arbitration success result takes over the business and continues to provide services, while the other storage site stops providing services.

15. The arbitration control method according to claim 1, wherein: Disabling the target arbitration device and reselecting a target arbitration device includes: In response to the target arbitration device being disabled, the arbitration devices connected to the first storage site and the second storage site are changed, and a new target arbitration device is selected from arbitration devices connected to the first storage site and the second storage site.

16. The arbitration control method according to claim 15, characterized in that: In response to the target arbitration device being disabled, changing the arbitration device connected to the first storage site and the second storage site, and selecting a new target arbitration device from the arbitration devices connected to the first storage site and the second storage site includes: detecting whether the first storage site and the second storage site are connected to a new arbitration device, and if so, notifying each other of the connection status; A new arbitration device connected to the first storage site and the second storage site is obtained, and it is determined whether the new arbitration device connected to the first storage site and the second storage site is the same. If the new arbitration device is the same, it is used as a new target arbitration device.

17. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the arbitration control method according to any one of claims 1 to 16 when executing the computer program.

18. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the arbitration control method according to any one of claims 1 to 16 are implemented.

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

Citation Information

Patent Citations

  • Disaster recovery method and apparatus in dual-activation cluster system

    CN105426275A

  • Storage active-active and test system and method

    CN114416501A