Cluster Arbitration Method and Multi-Cluster Cooperation System
A cluster arbitration method and a multi-cluster cooperation system, including a first cluster group having one portion of a first cluster and one portion of a second cluster, a second cluster group having another portion of the first cluster and another portion of the second cluster, and an arbitration device having a preset arbitration mechanism. The first cluster group and the second cluster group are each respectively configured to determine respective preemption representatives when a fault has occurred in the first cluster group or the second cluster group. The respective preemption representatives of each of the first cluster group and the preemption representative of the second cluster group are configured to determine whether a fault has occurred in the respective cluster group, and, if no fault has occurred in the respective cluster group, attempt to preempt the arbitration device.
This application is a continuation of International Application No. PCT/CN2015/077092, filed on Apr. 21, 2015, which claims priority to Chinese Patent Application No. 201410705888.9, filed on Nov. 27, 2014. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
TECHNICAL FIELDThe present disclosure relates to the mobile communications field, and in particular, to a cluster arbitration method and a multi-cluster cooperation system.
BACKGROUNDActive-active data centers mean that both the two data centers are in a running state and can bear services simultaneously, which improves an overall service capability and system resource utilization of the data centers. The two data centers are mutually redundant. When one data center is faulty, services can be automatically switched to the other data center with zero data loss.
The active-active data centers generally include a storage layer, a network layer, and an application layer. There are several clusters deployed in the active-active data centers. One portion of each cluster is located in one data center, and the other portion of the cluster is located in the other data center. All sub-clusters of each data center cooperate with each other.
However, each cluster in the active-active data centers has a different arbitration mechanism. When a fault occurs, each cluster uses its own arbitration mechanism to arbitrate. As a result, arbitration results of the clusters are not always consistent. That is, it may occur that, for some clusters, their sub-clusters located in one data center survive, and for some clusters, their sub-clusters located in the other data center survive. This further results in a probabilistic situation of interruption of entire service access.
SUMMARYEmbodiments of the present disclosure provide a cluster arbitration method, which can reduce a probability of interruption of service access.
A first aspect of the embodiments of the present disclosure provides a cluster arbitration method, including detecting whether a fault has occurred in a first cluster group or a second cluster group, where the first cluster group includes one portion of a first cluster and one portion of a second cluster, the second cluster group includes another portion of the first cluster and another portion of the second cluster, and the first cluster and the second cluster cooperate with each other, and when detecting that a fault has occurred, determining, by the first cluster group and the second cluster group, respective preemption representatives, where both the preemption representative of the first cluster group and the preemption representative of the second cluster group perform determining whether a fault has occurred in the respective cluster group, and if no fault has occurred in the respective cluster group, attempting to preempt an arbitration device, where a cluster group whose preemption representative has successfully preempted the arbitration device according to a preset arbitration mechanism survives.
With reference to the first aspect of the embodiments of the present disclosure, in a first implementation of the first aspect of the embodiments of the present disclosure, both the preemption representative of the first cluster group and the preemption representative of the second cluster group further perform, if determining that a fault has occurred in the respective cluster group, detecting whether the other cluster group has attempted to preempt the arbitration device within a preset time, where, if the other cluster group has not attempted to preempt the arbitration device within the preset time, the first cluster attempts to preempt the arbitration device by using a first preset mechanism, or the second cluster attempts to preempt the arbitration device by using a second preset mechanism.
With reference to the first aspect of the embodiments of the present disclosure, in a second implementation of the first aspect of the embodiments of the present disclosure, after the determining whether a fault has occurred in the respective cluster group, the method further includes, when both the preemption representative of the first cluster group and the preemption representative of the second cluster group determine that no fault has occurred in the respective cluster group, attempting, by both the preemption representative of the first cluster group and the preemption representative of the second cluster group, to preempt the arbitration device, where it is preset that the preemption representative of the second cluster group makes a concession.
With reference to the second implementation of the first aspect of the embodiments of the present disclosure, in a third implementation of the first aspect of the embodiments of the present disclosure, the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully. That it is preset that the preemption representative of the second cluster group makes a concession includes presetting that the preemption representative of the second cluster group attempts to preempt the arbitration device a preset time later after determining that no fault has occurred in the respective cluster group.
With reference to the first aspect of the embodiments of the present disclosure, in a fourth implementation of the first aspect of the embodiments of the present disclosure, the first cluster group and the second cluster group are located in active-active data centers, where the first cluster group is located in one data center, and the second cluster group is located in the other data center.
A second aspect of the embodiments of the present disclosure provides a multi-cluster cooperation system, including a first cluster group, a second cluster group, and an arbitration device, where the first cluster group includes one portion of a first cluster and one portion of a second cluster, the second cluster group includes another portion of the first cluster and another portion of the second cluster, the first cluster and the second cluster cooperate with each other, and the arbitration device is provided with a preset arbitration mechanism. The first cluster group and the second cluster group are configured to determine respective preemption representatives when detecting that a fault has occurred in the first cluster group and the second cluster group, and both the preemption representative of the first cluster group and the preemption representative of the second cluster group are configured to determine whether a fault has occurred in the respective cluster group; and if no fault has occurred in the respective cluster group, attempt to preempt the arbitration device, where a cluster group whose preemption representative has successfully preempted the arbitration device according to the preset arbitration mechanism survives.
With reference to the second aspect of the embodiments of the present disclosure, in a first implementation of the second aspect of the embodiments of the present disclosure, the arbitration device is further provided with a first preset mechanism and a second preset mechanism, and both the preemption representative of the first cluster group and the preemption representative of the second cluster group are further configured to: when determining that a fault has occurred in the respective cluster group, detect whether the other cluster group has attempted to preempt the arbitration device within a preset time, where, if the other cluster group has not attempted to preempt the arbitration device within the preset time, the first cluster attempts to preempt the arbitration device by using the first preset mechanism, or the second cluster attempts to preempt the arbitration device by using the second preset mechanism.
With reference to the second aspect of the embodiments of the present disclosure, in a second implementation of the second aspect of the embodiments of the present disclosure, the preemption representative of the second cluster group is further configured to make a concession when both the preemption representative of the first cluster group and the preemption representative of the second cluster group determine that no fault has occurred in the respective cluster group, and when both the preemption representative of the first cluster group and the preemption representative of the second cluster group attempt to preempt the arbitration device.
With reference to the second implementation of the second aspect of the embodiments of the present disclosure, in a third implementation of the second aspect of the embodiments of the present disclosure, the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully, and the preemption representative of the second cluster group is specifically configured to attempt to preempt the arbitration device a preset time later after determining that no fault has occurred in the respective cluster group.
With reference to the second aspect of the embodiments of the present disclosure, in a fourth implementation of the second aspect of the embodiments of the present disclosure, the multi-cluster cooperation system is active-active data centers, where the first cluster group is located in one data center, and the second cluster group is located in the other data center.
It can be seen from the foregoing solution that the embodiments of the present disclosure have the following advantages:
In the embodiments of the present disclosure, when a fault occurs, a first cluster group and a second cluster group determine respective preemption representatives to attempt to preempt an arbitration device, and all sub-clusters in a cluster group that succeeds in the preemption survive. This ensures a consistent arbitration result for different clusters when a fault occurs, so that a surviving cluster group can continue service provision.
Embodiments of the present disclosure provide a cluster arbitration method and a multi-cluster cooperation system, intended to reduce a probability of interruption of service access.
In the specification, the claims, and the accompanying drawings of the present disclosure, the terms “include,” “contain” and any other variants mean to cover a non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to those steps or units, but may include other steps or units not expressly listed or inherent to such a process, method, system, product, or device.
Referring to
101. Detect whether a fault has occurred in a first cluster group and a second cluster group, where the first cluster group includes one portion of a first cluster and one portion of a second cluster, the second cluster group includes another portion of the first cluster and another portion of the second cluster, and the first cluster and the second cluster cooperate with each other.
In this embodiment, of the first cluster, one portion of nodes are configured in the first cluster group, and another portion of nodes are configured in the second cluster group. These two portions of nodes respectively form two sub-clusters of the first cluster. Of the second cluster, one portion of nodes are configured in the first cluster group, and another portion of nodes are configured in the second cluster group. These two portions of nodes respectively form two sub-clusters of the second cluster. The first cluster and the second cluster cooperate with each other, and the first cluster group and the second cluster group bear services simultaneously and are mutually redundant.
Specifically, for example, the first cluster group and the second cluster group are active-active data centers. One VIS6600T is deployed at a storage layer in each of the two data centers. The two VIS6600Ts form a VIS cluster, providing read and write services for host services of both the two data centers. An Oracle RAC cluster is deployed at an application layer of the two data centers. Of the Oracle RAC cluster, one portion of nodes are configured in one data center, and the other portion of nodes are configured in the other data center.
It should be noted that clusters in the first cluster group and the second cluster group are not limited to the first cluster and the second cluster, and may further include another cluster. For example, the first cluster group and the second cluster group further include a third cluster. Of the third cluster, one portion of nodes are configured in the first cluster group, and another portion of nodes are configured in the second cluster group.
A sub-cluster that is of the first cluster and in the first cluster group and a sub-cluster that is of the second cluster and in the first cluster group communicate with each other. Similarly, a sub-cluster that is of the first cluster and in the second cluster group and a sub-cluster that is of the second cluster and in the second cluster group communicate with each other. Moreover, the sub-cluster that is of the first cluster and in the first cluster group and the sub-cluster that is of the first cluster and in the second cluster group periodically obtain an operating status of each other by using a cluster IP heartbeat link. The sub-cluster that is of the second cluster and in the first cluster group and the sub-cluster that is of the second cluster and in the second cluster group periodically obtain an operating status of each other by using the cluster IP heartbeat link.
When a cluster in one cluster group is faulty, another cluster in this cluster group cannot communicate with the cluster. Then, clusters in this cluster group may determine that a fault has occurred in the cluster group. Accordingly, when an operating status of the faulty cluster cannot be obtained, a cluster that is in another cluster group and that communicates with the faulty cluster may determine that a fault has occurred in the faulty cluster, and send a message that the cluster is faulty to another cluster in the another cluster group.
Alternatively, when the cluster IP heartbeat link is faulty, causing the sub-cluster that is of the first cluster and in the first cluster group and the sub-cluster that is of the first cluster and in the second cluster group unable to obtain an operating status of each other, or causing the sub-cluster that is of the second cluster and in the first cluster group and the sub-cluster that is of the second cluster and in the second cluster group unable to obtain an operating status of each other, it may be further determined that a fault has occurred in the first cluster group or the second cluster group.
102. When detecting that a fault has occurred, the first cluster group and the second cluster group determine respective preemption representatives, and both the preemption representative of the first cluster group and the preemption representative of the second cluster group perform step 103.
When determining that a fault has occurred, the first cluster group and the second cluster group determine their respective preemption representatives according to a preset mechanism. The preemption representative is configured to represent the respective cluster group to attempt to preempt an arbitration device. All clusters in a cluster group whose preemption representative has preempted the arbitration device survive and continue service provision, while all sub-clusters in the other cluster group stop service provision.
There may be multiple mechanisms for determining a preemption representative. For example, it may be preset that a node with a smallest node number is selected as a preemption representative, or that a last started node is used as a preemption representative, and no limitation is imposed herein. Alternatively, the preemption representative may not be one node in a cluster group, but be multiple nodes or one sub-cluster, and no limitation is imposed herein.
A mechanism for determining the preemption representative of the first cluster group may be the same as or different from a mechanism for determining the preemption representative of the second cluster group, and no limitation is imposed herein. After the first cluster group and the second cluster group have determined the respective preemption representatives, both the two preemption representatives perform step 103.
103. Determine whether a fault has occurred in the respective cluster group; and if no fault has occurred in the respective cluster group, attempt to preempt an arbitration device, where a cluster group whose preemption representative has successfully preempted the arbitration device according to a preset arbitration mechanism survives.
All sub-clusters in the cluster group whose preemption representative has successfully preempted the arbitration device survive and continue service provision. Because all sub-clusters in a cluster group cooperate with each other, if a fault occurs in the cluster group, and some sub-clusters cannot provide services, service interruption is also caused. Therefore, before attempting to preempt the arbitration device, both the preemption representatives determine whether a fault has occurred in the respective cluster group.
After determining that no fault has occurred in the respective cluster group, the preemption representative attempts to preempt the arbitration device according to the preset arbitration mechanism. Multiple preset arbitration mechanisms are available, which are prior arts and are not elaborated herein. A cluster group whose preemption representative has successfully preempted the arbitration device continues to survive, and the other cluster group “kills itself” and stops service provision.
If the preemption representative finds that a fault has occurred in the respective cluster group, the preemption representative quits a preemption.
In this embodiment of the present disclosure, when a fault occurs, a first cluster group and a second cluster group determine respective preemption representatives to attempt to preempt an arbitration device, and all sub-clusters in a cluster group that succeeds in the preemption survive. This ensures a consistent arbitration result for different clusters when a fault occurs, so that a surviving cluster group can continue service provision.
However, there may be a situation that both the two preemption representatives find that a fault has occurred in the respective cluster group and therefore do not participate in the preemption, although such probability is low. Therefore, preferably, in step 102 of the cluster arbitration method of the present disclosure, both the preemption representative of the first cluster group and the preemption representative of the second cluster group further perform step 104.
104. If it is determined that a fault has occurred in the respective cluster group, detect whether the other cluster group has preempted the arbitration device successfully within a preset time, where, if the other cluster group has not preempted the arbitration device successfully within the preset time, the first cluster attempts to preempt the arbitration device by using a first preset mechanism, or the second cluster attempts to preempt the arbitration device by using a second preset mechanism.
When a preemption representative of a cluster group determines that a fault has occurred in the cluster group, while quitting the preemption, the preemption representative further detects whether a preemption representative of the other cluster group has successfully preempted the arbitration device within the preset time. If the preemption representative of the other cluster group has not successfully preempted the arbitration device within the preset time, it means that a fault has occurred in both the two cluster groups. Therefore, the one portion of the first cluster that is in the first cluster group and the another portion of the first cluster that is in the second cluster group use the first preset mechanism to attempt to preempt the arbitration device; and the one portion of the second cluster that is in the first cluster group and the another portion of the second cluster that is in the second cluster group use the second preset mechanism to attempt to preempt the arbitration device. The first preset mechanism and the second preset mechanism are respectively original arbitration mechanisms of the first cluster and the second cluster. The first preset mechanism and the second preset mechanism may be the same, or may be different.
In this way, even though the first cluster group or the second cluster group is in a situation that not the entire first cluster group or second cluster group can survive, the clusters can still make best efforts to ensure service continuity.
In this embodiment, in a case of a link failure or another failure when sub-clusters in the first cluster group and sub-clusters in the second cluster group can still continue to survive, of the first cluster group and the second cluster group, which cluster group continues service provision and which cluster group “kills itself” and stops service provision depend on which cluster group has a preemption representative successfully preempting the arbitration device.
In practical application, which cluster group survives in precedence in this case may be further preset. For example, it may be preset that the first cluster group survives in precedence. Then, when both the preemption representative of the first cluster group and the preemption representative of the second cluster group attempt to preempt the arbitration device, the preemption representative of the second cluster group makes a concession, to ensure that the preemption representative of the first cluster group can successfully preempt the arbitration device.
Specifically, for example, the preset arbitration mechanism is that a preemption representative that is the first in time to preempt the arbitration device preempts the arbitration device. When the two preemption representatives attempt to preempt the arbitration device, it is preset that, after determining that no fault has occurred in the respective cluster group, the preemption representative of the second cluster group waits for a preset time before attempting to preempt the arbitration device. This can ensure that the preemption representative of the first cluster group is the first to preempt the arbitration device.
For ease of understanding, the following uses a practical application scenario to describe the cluster arbitration method of this embodiment of the present disclosure.
At a storage layer of active-active data centers, one VIS6600T is deployed in both a data center 1 and a data center 2. The two VIS6600Ts form a VIS cluster. At an application layer of the active-active data centers, an Oracle RAC cluster is provided. Of the Oracle RAC cluster, one portion of nodes are configured in the data center 1, and the other portion of nodes are configured in the data center 2. Virtual machine servers of the two data centers further form a virtual machine cluster, and respective core switches of the two data centers form a core switch cluster. The active-active data centers are further provided with an arbitration device.
A cluster IP heartbeat link and an FC data transmission network are used between the two data centers of the active-active data centers for transfer of control information and configuration information and data synchronization.
The active-active data centers are preset as follows: The VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch that are in the data center 1 belong to Group1; and the VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch that are in the data center 2 belong to Group2.
When the cluster IP heartbeat link is faulty, the data centers 1 and 2 each select a node with a smallest node number from respective nodes as a preemption representative. The preemption representatives of both the data centers 1 and 2 determine whether a fault has occurred in a cluster in the respective data center. If a fault has occurred in a cluster in one data center, and no fault has occurred in any cluster in the other data center, a preemption representative of the data center in which no fault has occurred attempts to preempt the arbitration device and succeeds in the preemption.
If no fault has occurred in any cluster in the two data centers, one of the preemption representatives of the two data centers that is the first to preempt the arbitration device succeeds in the preemption. All clusters in the data center whose preemption representative has succeeded in preemption continue to survive, so that the data center continues service provision, while all clusters in the other data center “kill themselves” and stop service provision.
If the preemption representatives of both the two data centers detect that a fault has occurred in a cluster in the respective data center, both the preemption representatives further detect whether the preemption representative of the other data center has successfully preempted the arbitration device within a preset time. When it is determined that the preemption representative of the other data center has not successfully preempted the arbitration device, the VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch cluster in each of the two data centers use respective original arbitration mechanisms of the clusters to attempt to preempt the arbitration device.
The foregoing describes the cluster arbitration method in the embodiments of the present disclosure. The following describes a multi-cluster cooperation system in the embodiments of the present disclosure. Referring to
The first cluster group 201 and the second cluster group 202 are configured to determine respective preemption representatives when detecting that a fault has occurred in the first cluster group 201 and the second cluster group 202.
Both the preemption representative of the first cluster group 201 and the preemption representative of the second cluster group 202 are configured to determine whether a fault has occurred in the respective cluster group; and if no fault has occurred in the respective cluster group, attempt to preempt the arbitration device 203, where a cluster group whose preemption representative has successfully preempted the arbitration device according to the preset arbitration mechanism survives.
In this embodiment of the present disclosure, when a fault occurs, a first cluster group and a second cluster group determine respective preemption representatives to attempt to preempt an arbitration device in arbitration devices, and all sub-clusters in a cluster group that succeeds in the preemption survive. This ensures a consistent arbitration result for different clusters when a fault occurs, so that a surviving cluster group can continue service provision.
Preferably, the arbitration device 203 is further provided with a first preset mechanism and a second preset mechanism.
Both the preemption representative of the first cluster group 201 and the preemption representative of the second cluster group 202 are further configured to: when determining that a fault has occurred in the respective cluster group, detect whether the other cluster group has attempted to preempt the arbitration device within a preset time. If the other cluster group has not attempted to preempt the arbitration device within the preset time, the first cluster attempts to preempt the arbitration device by using the first preset mechanism, or the second cluster attempts to preempt the arbitration device by using the second preset mechanism.
Preferably, the preemption representative of the second cluster group 202 is further configured to make a concession when both the preemption representative of the first cluster group 201 and the preemption representative of the second cluster group 202 attempt to preempt the arbitration device.
Preferably, the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully. The preemption representative of the second cluster group 202 is configured to attempt to preempt the arbitration device a preset time later after determining that no fault has occurred in the respective cluster group.
Preferably, the multi-cluster cooperation system is active-active data centers, where the first cluster group is located in one data center, and the second cluster group is located in the other data center.
For ease of understanding, the following uses a practical application scenario to describe the multi-cluster cooperation system in this embodiment of the present disclosure.
In this embodiment, the multi-cluster cooperation system is active-active data centers. At a storage layer of the active-active data centers, one VIS6600T is deployed in both a data center 1 and a data center 2. The two VIS6600Ts form a VIS cluster. At an application layer of the active-active data centers, an Oracle RAC cluster is provided. Of the Oracle RAC cluster, one portion of nodes are configured in the data center 1, and the other portion of nodes are configured in the data center 2. Virtual machine servers of the two data centers further form a virtual machine cluster, and respective core switches of the two data centers form a core switch cluster. The active-active data centers are further provided with an arbitration device.
A cluster IP heartbeat link and an FC data transmission network are used between the two data centers of the active-active data centers for transfer of control information and configuration information and data synchronization.
The active-active data centers are preset as follows: The VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch that are in the data center 1 belong to Group1; and the VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch that are in the data center 2 belong to Group2.
When the cluster IP heartbeat link is faulty, the data centers 1 and 2 each select a node with a smallest node number from respective nodes as a preemption representative. The preemption representatives of both the data centers 1 and 2 determine whether a fault has occurred in a cluster in the respective data center. If a fault has occurred in a cluster in one data center, and no fault has occurred in any cluster in the other data center, a preemption representative of the data center in which no fault has occurred attempts to preempt the arbitration device and succeeds in the preemption.
If no fault has occurred in any cluster in the two data centers, one of the preemption representatives of the two data centers that is the first to preempt the arbitration device succeeds in the preemption. All clusters in the data center whose preemption representative has succeeded in preemption continue to survive, so that the data center continues service provision, while all clusters in the other data center “kill themselves” and stop service provision.
If the preemption representatives of both the two data centers detect that a fault has occurred in a cluster in the respective data center, both the preemption representatives further detect whether the preemption representative of the other data center has successfully preempted the arbitration device within a preset time. When it is determined that the preemption representative of the other data center has not successfully preempted the arbitration device, the VIS cluster, the Oracle RAC cluster, the virtual machine cluster, and the core switch cluster in each of the two data centers use respective original arbitration mechanisms of the clusters to attempt to preempt the arbitration device.
It may be clearly understood by persons skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.
In the several embodiments provided by the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in an actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, and may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present disclosure essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of the present disclosure. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc.
The foregoing embodiments are merely intended for describing the technical solutions of the present disclosure, but not for limiting the present disclosure. Although the present disclosure is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some technical features thereof, without departing from the spirit and scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A cluster arbitration method, comprising:
- determining, by a first cluster group in a plurality of cluster groups comprising the first cluster group and a second cluster group, and in response to a fault has occurring in the first cluster group or the second cluster group, a preemption representative, wherein the first cluster group comprises one portion of a first cluster and one portion of a second cluster, wherein the second cluster group comprises another portion of the first cluster and another portion of the second cluster, and wherein the first cluster and the second cluster cooperate with each other;
- determining, by the preemption representative of the first cluster group, whether a fault has occurred in the first cluster group; and
- attempting, by the preemption representative of the first cluster group, and in response to determining that no fault has occurred in the first cluster group, to preempt an arbitration device;
- wherein a cluster group whose preemption representative has successfully preempted the arbitration device according to a preset arbitration mechanism survives.
2. The cluster arbitration method according to claim 1, further comprising:
- detecting, by the preemption representative of the first cluster group, and in response to determining that a fault has occurred in the first cluster group, whether the second cluster group has attempted to preempt the arbitration device within a preset time;
- attempting, in response to the second cluster group having not attempted to preempt the arbitration device within the preset time, to preempt, by the first cluster, the arbitration device by using a first preset mechanism, or to preempt, by the second cluster, the arbitration device by using a second preset mechanism.
3. The cluster arbitration method according to claim 1, the method further comprising:
- attempting, by the preemption representative of the first cluster group, and in response to both the preemption representative of the first cluster group and a preemption representative of the second cluster group respectively determining that no fault has occurred in the respective cluster group, to preempt the arbitration device, wherein the preemption representative of the second cluster group makes a concession according to a preset concession configuration.
4. The cluster arbitration method according to claim 3, wherein the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully; and
- wherein the preset concession configuration causes the preemption representative of the second cluster group to attempt to preempt the arbitration device a preset time after the determining that no fault has occurred in the second cluster group.
5. The cluster arbitration method according to claim 1, wherein the first cluster group and the second cluster group are each located in active data centers, wherein the first cluster group is located in a first data center, and the second cluster group is located in a second data center different from the first data center.
6. A multi-cluster cooperation system, comprising:
- a first cluster group comprising one portion of a first cluster and one portion of a second cluster;
- a second cluster group comprising another portion of the first cluster and another portion of the second cluster, wherein the first cluster and the second cluster cooperate with each other; and
- an arbitration device having a preset arbitration mechanism;
- wherein the first cluster group and the second cluster group are each respectively configured to determine respective preemption representatives when a fault has occurred in the first cluster group or the second cluster group; and
- wherein the respective preemption representatives of each of the first cluster group and the preemption representative of the second cluster group are configured to determine whether a fault has occurred in the respective cluster group, and, if no fault has occurred in the respective cluster group, attempt to preempt the arbitration device, wherein a cluster group of the first cluster group and the second cluster group having a preemption representative that successfully preempts the arbitration device according to the preset arbitration mechanism survives.
7. The multi-cluster cooperation system according to claim 6, wherein the arbitration device is further provided with a first preset mechanism and a second preset mechanism; and
- wherein the preemption representative of the first cluster group and the preemption representative of the second cluster group are each further configured to detect, in response to a fault occurring in the respective cluster group, whether the other cluster group has attempted to preempt the arbitration device within a preset time;
- wherein the first cluster group is configured to attempt to, using the first preset mechanism, preempt the arbitration device in response to the second cluster group having not attempted to preempt the arbitration device within the preset time.
8. The multi-cluster cooperation system according to claim 6, wherein the arbitration device is further provided with a first preset mechanism and a second preset mechanism; and
- wherein the preemption representative of the first cluster group and the preemption representative of the second cluster group are each further configured to detect, in response to a fault occurring in the respective cluster group, whether the other cluster group has attempted to preempt the arbitration device within a preset time;
- wherein the second cluster group is configured to attempt to, using the second preset mechanism, preempt the arbitration device in response to the first cluster group having not attempted to preempt the arbitration device within the preset time.
9. The multi-cluster cooperation system according to claim 6, wherein the preemption representative of the second cluster group is further configured to make a concession in response to both the preemption representative of the first cluster group and the preemption representative of the second cluster group respectively determining that no fault has occurred in the respective cluster group, and in response to both the preemption representative of the first cluster group and the preemption representative of the second cluster group respectively attempting to preempt the arbitration device.
10. The multi-cluster cooperation system according to claim 9, wherein the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully; and
- wherein the preemption representative of the second cluster group is configured to attempt to preempt the arbitration device a preset time after determining that no fault has occurred in the respective cluster group.
11. The multi-cluster cooperation system according to claim 6, wherein the multi-cluster cooperation system is active data centers, wherein the first cluster group is located in a first data center and the second cluster group is located in a second data center different from the first data center.
12. A computer program product, comprising a non-transitory computer-readable medium storing computer executable instructions, wherein the instructions comprise instructions for:
- determining a preemption representative of a first cluster group in response to a fault occurring in the first cluster group or a second cluster group, wherein the first cluster group comprises one portion of a first cluster and one portion of a second cluster, wherein the second cluster group comprises another portion of the first cluster and another portion of the second cluster, and wherein the first cluster and the second cluster cooperate with each other;
- determining whether a fault has occurred in the first cluster group; and
- attempting to preempt an arbitration device, in response to determining that no fault has occurred in the first cluster group, wherein a cluster group whose preemption representative has successfully preempted the arbitration device according to a preset arbitration mechanism survives.
13. The computer program product according to claim 12, wherein the instructions further comprise instruction for:
- detecting whether the second cluster group has attempted to preempt the arbitration device within a preset time, in response to a fault occurring in the first cluster group;
- attempting, in response to if the second cluster group has not attempted to preempt the arbitration device within the preset time, to preempt, by the first cluster, the arbitration device by using a first preset mechanism, or to preempt, by the second cluster, the arbitration device by using a second preset mechanism.
14. The computer program product according to claim 12, wherein the instructions further comprise instructions for attempting to preempt the arbitration device as the preemption representative of the first cluster group in response to both the preemption representative of the first cluster group and a preemption representative of the second cluster group respectively determine that no fault has occurred in the respective cluster group;
- wherein the preemption representative of the second cluster group makes a concession according to a preset concession configuration.
15. The computer program product according to claim 14 wherein the preset arbitration mechanism is that a preemption representative that is the first to preempt the arbitration device preempts the arbitration device successfully; and
- wherein the preset concession configuration causes the preemption representative of the second cluster group to attempt to preempt the arbitration device a preset time later after determining that no fault has occurred in the second cluster group.
16. The computer program product according to claim 12, wherein the first cluster group and the second cluster group are located in active data centers, wherein the first cluster group is located in a first data center and the second cluster group is located in a second data center different from the first data center.
Type: Application
Filed: May 26, 2017
Publication Date: Sep 21, 2017
Inventors: Xiaoli Chen (Chengdu), Jingyong Zeng (Chengdu)
Application Number: 15/606,214