Master-slave arbitration switching method and detection platform

By using a detection platform to switch between primary and backup arbitration clusters in a multi-cluster system, the issues of universality and cost of arbitration services in multi-cluster systems are resolved, and highly available and stable arbitration services are achieved.

CN122179288APending Publication Date: 2026-06-09HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2024-12-09
Publication Date
2026-06-09

Smart Images

  • Figure CN122179288A_ABST
    Figure CN122179288A_ABST
Patent Text Reader

Abstract

A kind of master backup arbitration switching method and detection platform are disclosed, and relate to arbitration technical field.The method provides arbitration service by master arbitration cluster, in the process of providing arbitration service by master arbitration cluster, the health degree value of master arbitration cluster is obtained by detection platform, when the health degree value of master arbitration cluster is poor, detection platform switches backup arbitration cluster to new master arbitration cluster, so that new master arbitration cluster provides arbitration service to the outside, so that the availability of arbitration service provided to the outside can be significantly improved, and then it is helpful to provide arbitration service with high availability to the outside.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of arbitration technology, and in particular to a method and detection platform for switching between primary and backup arbitration. Background Technology

[0002] Currently, cluster systems built from multiple clusters (hereinafter referred to as multi-cluster systems) are widely used in various disaster recovery scenarios because they can build fault recovery capabilities without location or boundary determination, and can control software fault domains and software explosion radii. However, the service level objectives (SLOs) of multi-cluster systems rely on highly available arbitration services.

[0003] To provide highly available arbitration services, the relevant technologies employ an arbitration scheme that involves developing customized middleware based on the characteristics of multi-cluster systems and deploying the customized middleware on the multi-cluster systems, enabling the multi-cluster systems to conduct arbitration through the customized middleware deployed on their respective cluster systems.

[0004] This arbitration scheme, because the customized middleware is developed specifically for multi-cluster systems, not only cannot be applied to other multi-cluster systems, meaning it lacks universality, but also has particularly high development costs. Summary of the Invention

[0005] This application provides a method and detection platform for switching between primary and backup arbitration, which not only provides highly available arbitration services, but also has high versatility and low development cost.

[0006] Firstly, a method for switching between primary and backup arbitration is provided. This method is applied to a first detection platform, which runs on a detection cluster. The detection cluster is part of a first infrastructure. The first infrastructure also includes a first arbitration cluster and a second arbitration cluster. The first arbitration cluster is configured with a primary arbitration cluster identifier, which is used to indicate the arbitration cluster providing arbitration services to the second infrastructure. The second infrastructure is used to provide cloud services. The method includes: the first detection platform obtaining the detection results of the first arbitration cluster, which indicate that the first arbitration cluster has a fault; the first detection platform determining a target health value of the first arbitration cluster based on the detection results; and if the target health value is less than or equal to a first health threshold, the first detection platform configuring the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0007] In the above scheme, the first infrastructure provides arbitration services to the second infrastructure. In this way, when the arbitration software for providing arbitration services is deployed on the first infrastructure, such as the arbitration software including the first detection platform, the arbitration platform deployed on the first arbitration cluster and the second arbitration cluster, etc., it is not necessary to customize the arbitration software according to the characteristics of the arbitration object. This not only significantly improves the versatility of the arbitration software, enabling it to provide arbitration services for multiple different infrastructures, but also reduces the development cost of the arbitration software.

[0008] Furthermore, the arbitration platform of the arbitration software is deployed on two arbitration clusters: a first arbitration cluster and a second arbitration cluster. Arbitration services are provided externally through the arbitration cluster with the primary arbitration cluster identifier configured. When the first arbitration cluster is configured with the primary arbitration cluster identifier, a first detection platform obtains the detection results of the first arbitration cluster. If the detection results indicate a fault in the first arbitration cluster, the first detection platform obtains the target health value of the first arbitration cluster. If the target health value is less than or equal to a first health threshold, the platform configures the second arbitration cluster's arbitration cluster identifier as the primary arbitration cluster identifier, enabling the second arbitration cluster to provide arbitration services. This allows the backup arbitration cluster (e.g., the second arbitration cluster) to switch to the primary arbitration cluster when the primary arbitration cluster (e.g., the first arbitration cluster) has poor health, and the new primary arbitration cluster then provides arbitration services. In this way, when the primary arbitration cluster providing arbitration services has poor health, the system can switch to the new primary arbitration cluster, significantly improving the availability of the arbitration services and contributing to the provision of highly available arbitration services.

[0009] In one possible implementation, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier, including: when the target health value of the first arbitration cluster is less than or equal to a first health threshold, and the duration of configuring the main arbitration cluster identifier of the first arbitration cluster is greater than or equal to a duration threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier.

[0010] In this implementation, the arbitration cluster identifier of the second arbitration cluster is configured as the primary arbitration cluster identifier only when the duration of the primary arbitration cluster identifier configured in the first arbitration cluster is greater than or equal to the duration threshold. In this way, by setting an appropriate duration threshold, frequent switching can be avoided, thereby improving the stability of the arbitration services provided by the arbitration software.

[0011] In another possible implementation, after the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, the method further includes: the first detection platform configuring the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier.

[0012] In this implementation, by configuring the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier and then configuring the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier, it helps to avoid the existence of two primary arbitration clusters at the same time, thereby helping to ensure the availability, reliability and stability of the arbitration services provided by the arbitration software.

[0013] In another possible implementation, at least one second detection platform also runs on the detection cluster; the first detection platform determines the target health value of the first arbitration cluster based on the detection results, including: the first detection platform determines the first health value of the first arbitration cluster based on the detection results; if the first health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection platform acquires the second health value of the first arbitration cluster determined by at least one second detection platform; the target health value of the first arbitration cluster includes the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster.

[0014] In this implementation, by setting the target health value to include the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster, the final decision on whether to switch the main arbitration cluster can be made based on the judgment results of at least two detection platforms (i.e. whether the main arbitration cluster needs to be switched), thereby helping to improve the accuracy of the final judgment result and avoid erroneous switching.

[0015] In another possible implementation, when the target health value is less than or equal to the first health threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier. This includes: when the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection platform sends a leader election request to the second arbitration cluster, the leader election request being used to request to be elected as the primary detection platform; the first detection platform obtains the leader election result of the second arbitration cluster, the leader election result being used to indicate whether the leader election was successful or failed; when the leader election result indicates that the leader election was successful, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0016] In this implementation, the master probe platform is selected through a second arbitration cluster. This not only enables the selection of a master for multiple probe platforms running on the probe cluster, but also allows the probe cluster to run probe platforms through stateless nodes, thereby simplifying the architecture of the probe cluster.

[0017] In another possible implementation, the first detection platform determines the first health value of the first arbitration cluster based on the detection results, including: the first detection platform obtains the target historical health value of the first arbitration cluster based on the detection results; the first detection platform determines the first health value of the first arbitration cluster based on the target historical health value of the first arbitration cluster.

[0018] In this implementation, during the process of the first detection platform detecting the main arbitration cluster, if the detection results indicate that the main arbitration cluster is faulty, the first detection platform obtains the target historical health value of the main arbitration cluster and determines whether to switch the main arbitration cluster based on the target historical health value. This helps to avoid the main detection cluster being affected by network faults, such as high network latency, high network packet loss rate, etc., and mistakenly switching the main arbitration cluster, thereby helping to improve the accuracy of switching the main arbitration cluster.

[0019] In another possible implementation, the second arbitration cluster stores K historical health values ​​of the first arbitration cluster, where K is a positive integer greater than or equal to 1; the first probe node obtains the target historical health value of the first arbitration cluster from the second arbitration cluster, including: when the difference between the update time of the K historical health values ​​and the current time meets the difference threshold, the first probe platform obtains K historical health values ​​from the second arbitration cluster, and the K historical health values ​​are the target historical health values.

[0020] In this implementation, the second arbitration cluster stores only K historical health values ​​from the first arbitration cluster. By setting an appropriate value for K, the second arbitration cluster only stores a finite number of recently determined historical health values. This not only reduces the storage space occupied by the historical health values ​​of the first arbitration cluster but also helps ensure the validity of those values. Furthermore, when the first detection platform obtains the target historical health value of the first arbitration cluster, it only acquires the K historical health values ​​as the target historical health value if the difference between the update time of the K historical health values ​​and the current time meets a difference threshold. Thus, by setting an appropriate difference threshold, only historical health values ​​determined within the most recent time period can be acquired as the target historical health value, avoiding the acquisition of health values ​​determined at an earlier time, thereby improving the accuracy of the acquired historical health values. By setting the target historical health value to include K historical health values, the amount of data used to determine the first health value can be controlled, thereby reducing computational complexity and the memory space occupied during computation.

[0021] In another possible implementation, the method further includes: the first detection platform obtaining the health value of the first arbitration cluster based on the detection results of the first arbitration cluster; and the first detection node writing the health value of the first arbitration cluster into the second arbitration cluster.

[0022] In this implementation, during the process of the arbitration platform running on the first arbitration cluster providing arbitration services, the first detection platform detects the first arbitration cluster and writes the obtained health value of the first arbitration cluster into the second arbitration cluster. In this way, not only can the health value of the first arbitration cluster be stored, but since it is not necessary to store data on the detection node running the first detection platform, stateless nodes can also be selected as detection nodes, which helps to simplify the architecture of the detection cluster and improve the convenience of expanding detection nodes.

[0023] In another possible implementation, the first probing platform obtains the probing results of the first arbitration cluster by: the first probing platform writing target data to the first arbitration cluster and obtaining a writing result; the writing result includes whether the writing was successful or failed; if the writing result is successful, the first probing platform reads target data from the first arbitration cluster and obtains a reading result; the reading result includes whether the reading was successful or failed; the first probing platform obtains the probing results of the first arbitration cluster based on the writing result, or based on the writing result and the reading result.

[0024] In this implementation, the first arbitration cluster is probed through a read-write mechanism to obtain the probe results. This helps to prevent problems such as the first arbitration cluster being unwritable or unreadable, thereby helping to ensure the reliability and availability of the first arbitration cluster, and thus helping to improve the availability of arbitration services to external parties.

[0025] In another possible implementation, the second infrastructure includes a first cluster and a second cluster. The method further includes: when the first cluster is the master cluster, the first detection platform acquires the detection results of the first cluster; when the detection results of the first cluster indicate that the first cluster is faulty, the master arbitration platform configures the second cluster as the master cluster, wherein the master arbitration platform is an arbitration platform running on the master arbitration cluster, and the master arbitration cluster includes the arbitration clusters in the first arbitration cluster and the second arbitration cluster that are configured with the master arbitration cluster identifier.

[0026] In this implementation, the first detection platform detects whether the first cluster is faulty, and when the first cluster is faulty, the second cluster is switched to the master cluster of the multi-cluster system, which helps to simplify the architecture of the arbitration cluster system.

[0027] In another possible implementation, the first arbitration cluster includes multiple first arbitration platforms running on it. When the first arbitration cluster is configured with a main arbitration cluster identifier, the main arbitration platform switches the second cluster to the main cluster, including: multiple first arbitration platforms determining the main arbitration platform; the main arbitration platform configuring the second cluster as the main cluster.

[0028] In another possible implementation, multiple second arbitration platforms run on the second arbitration cluster. When the main arbitration cluster identifier is configured on the second arbitration cluster, the main arbitration platform switches the second cluster to the main cluster, including: multiple second arbitration platforms determining the main arbitration platform; and the main arbitration platform configuring the second cluster as the main cluster.

[0029] In another possible implementation, the first infrastructure further includes a control node, on which a control platform runs; the method further includes: upon meeting a first condition, the control platform responds to a received first handover request by configuring the arbitration cluster identifier of the second arbitration cluster to be the primary arbitration cluster identifier. The first handover request is used to request the switch of the backup arbitration cluster to the primary arbitration cluster.

[0030] Optionally, satisfying the first condition includes: the health value of the first arbitration cluster is greater than a first health value threshold and less than or equal to a second health value threshold. Alternatively, satisfying the first condition includes: each probe node in the probe cluster fails, and the first arbitration cluster fails. Alternatively, satisfying the first condition includes: only one probe node in the probe cluster is alive, and the first arbitration cluster fails. Alternatively, satisfying the first condition includes: only one probe node in the probe cluster is alive, and the first health value of the first arbitration cluster is less than or equal to the first health value threshold. Alternatively, satisfying the first condition includes: the target health value of the first arbitration cluster is less than or equal to the first health value threshold, and the duration for which the first arbitration cluster acts as the primary arbitration cluster is less than a duration threshold.

[0031] In another possible implementation, the first arbitration cluster stores the target arbitration information of the second infrastructure, and the second arbitration cluster stores the target arbitration information of the second infrastructure; wherein the target arbitration information includes at least one of the first arbitration information or the second arbitration information.

[0032] In another possible implementation, the method further includes: the management platform obtaining the first arbitration information of the first infrastructure; and the management platform writing the first arbitration information of the first infrastructure into the primary arbitration cluster and the backup arbitration cluster.

[0033] In this implementation, when the primary arbitration cluster (e.g., the first arbitration cluster) provides arbitration services to external parties, the management platform stores the first arbitration information of the arbitration object in both the primary arbitration cluster and the backup arbitration cluster (e.g., the second arbitration cluster) to ensure that both the primary arbitration cluster and the backup arbitration cluster store the first arbitration information. This ensures the consistency of the first arbitration information in the primary and backup arbitration clusters after switching the primary arbitration cluster. This not only helps to improve the accuracy of the arbitration result determined by the new primary arbitration cluster after switching the primary arbitration cluster, but also helps to avoid the split-brain problem when switching the primary arbitration cluster.

[0034] In another possible implementation, the method further includes: the management platform obtaining the first arbitration information of the second infrastructure; the management platform writing the first arbitration information of the second infrastructure into the main arbitration cluster; and the main arbitration platform synchronizing the first arbitration information to the backup arbitration cluster.

[0035] In another possible implementation, the method further includes: a first detection platform acquiring second arbitration information of the second infrastructure; and the first detection platform writing the second arbitration information of the second infrastructure into the primary arbitration cluster and the backup arbitration cluster.

[0036] In another possible implementation, the method further includes: a first detection platform acquiring the second arbitration information of the second infrastructure; the first detection platform writing the second arbitration information of the second infrastructure into the main arbitration cluster; and the main arbitration platform synchronizing the second arbitration information to the backup arbitration cluster.

[0037] In another possible implementation, the method further includes: if the management platform fails to write the first arbitration information to the main arbitration cluster, the management platform reports a first alarm message; the first alarm message is used to indicate that the main arbitration cluster failed to write the arbitration information.

[0038] In another possible implementation, the method further includes: if the management platform fails to write the first arbitration information to the backup arbitration cluster, the management platform reports a second alarm message; the second alarm message is used to indicate that the backup arbitration cluster failed to write the arbitration information.

[0039] In another possible implementation, the method further includes: if the first probe platform fails to write the second arbitration information to the main arbitration cluster, the first probe platform reports a third alarm message; the first alarm message is used to indicate that the main arbitration cluster failed to write the arbitration information.

[0040] In another possible implementation, the method further includes: if the first probing platform fails to write the second arbitration information to the backup arbitration cluster, the probing cluster reports a fourth alarm message; the fourth alarm message is used to indicate that the backup arbitration cluster failed to write the arbitration information.

[0041] In another possible implementation, the method further includes: if the management platform fails to write the first arbitration information to the backup arbitration cluster, the management platform will synchronize the first arbitration information of the primary arbitration cluster to the backup arbitration cluster.

[0042] In another possible implementation, the method further includes: the management platform responding to the received synchronization request by synchronizing the target arbitration information of the primary arbitration cluster to the backup arbitration cluster.

[0043] In another possible implementation, the method further includes: the control platform inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster to obtain inspection results, which are used to indicate whether the data is consistent or inconsistent; if the inspection results indicate that the data is inconsistent, the control platform reports a fifth alarm message, which is used to indicate that the data is inconsistent.

[0044] In this implementation, the management platform inspects the data consistency of the first arbitration cluster and the second arbitration cluster, and reports the fifth alarm information when the data of the first arbitration cluster and the second arbitration cluster are inconsistent. This helps users to understand the data consistency of the primary and backup arbitration clusters in a timely manner, and helps to promptly fill in the inconsistent data when data is inconsistent.

[0045] In another possible implementation, the control platform inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, including: the control platform inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster according to a preset inspection cycle.

[0046] In this implementation, the management platform periodically checks the data consistency of the first arbitration cluster and the second arbitration cluster according to a preset inspection cycle. This helps to detect data inconsistencies in a timely manner and report them to the user promptly.

[0047] In another possible implementation, the control platform inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, including: the control platform responds to the received inspection request and inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster.

[0048] In this implementation, the management platform can be configured to respond to inspection requests and obtain data consistency results. This allows users to trigger inspections again after manually supplementing data, helping them to understand whether the manual data supplementation was successful and to promptly supplement the data if it fails, thereby ensuring the reliability of manually supplemented data.

[0049] In another possible implementation, the control platform inspects the target arbitration information of the first arbitration cluster and the target arbitration information of the second arbitration cluster, including: when the second condition is met, the control platform inspects the target arbitration information of the first arbitration cluster and the target arbitration information of the second arbitration cluster.

[0050] Optionally, satisfying the second condition includes: the detection result of the first arbitration cluster indicates that the first arbitration cluster is faulty. Alternatively, satisfying the second condition includes: the first health value of the first arbitration cluster is less than or equal to a first health threshold. Alternatively, satisfying the second condition includes: the target health value of the first arbitration cluster is less than or equal to the first health threshold. Alternatively, satisfying the second condition includes: the arbitration cluster identifier of the second arbitration cluster is configured as the primary arbitration cluster identifier.

[0051] In this implementation, when the first arbitration cluster fails, the management platform inspects the target arbitration information stored in the first and second arbitration clusters and obtains the inspection results. This helps to promptly detect the inconsistency of target arbitration information data between the primary and backup arbitration clusters after the primary arbitration fails, thereby helping to prevent the new primary arbitration cluster from conducting arbitration based on an incorrect probe cluster.

[0052] Optionally, in the event of inconsistent inspection results, the method further includes: the control platform synchronizing the target arbitration information stored in the main arbitration cluster to the backup arbitration cluster.

[0053] In this implementation, if the inspection results indicate that the target arbitration information of the first arbitration cluster and the second arbitration cluster are inconsistent, the control platform can synchronize the target arbitration information stored in the first arbitration cluster to the second arbitration cluster, thereby realizing the post-fault compensation of inconsistent data and helping to ensure the data consistency between the first arbitration cluster and the second arbitration cluster.

[0054] In another possible implementation, the method further includes: the control platform writing the inspection results into the first arbitration cluster and the second arbitration cluster.

[0055] In this implementation, storing the inspection results in the first arbitration cluster and the second arbitration cluster helps the primary and backup arbitration clusters to understand the data consistency of the target arbitration information in a timely manner.

[0056] In another possible implementation, the first detection platform obtains the detection results of the first arbitration cluster, including: the first detection platform obtains the heartbeat signal sent by the first arbitration cluster; the first detection platform obtains the detection results of the first arbitration cluster based on the obtained results.

[0057] In this implementation, the first arbitration cluster is detected by heartbeat signals, and the detection results of the first arbitration cluster are obtained. This not only helps to improve the diversity of detection methods, but also helps to improve the detection rate.

[0058] In another possible implementation, the target historical health value includes K historical health values ​​within the target period, where K is a positive integer greater than or equal to 1.

[0059] In this implementation, by setting the target historical health value to include historical health values ​​within the target period, the determination time of the historical health value can be controlled, thereby avoiding the acquisition of health values ​​determined at an earlier time and thus helping to improve the accuracy of the acquired historical health values. By setting the target historical health value to include K historical health values, the amount of data used to determine the first health value can be controlled, thereby helping to reduce computational complexity and the memory space occupied during the calculation process.

[0060] In another possible implementation, the target historical health value includes each historical health value within the target period.

[0061] In this implementation, each historical health value within the target period is obtained as the target historical health value, which helps to improve the richness of the target historical health value.

[0062] In another possible implementation, the target historical health value includes the K most recently stored historical health values, where K is a positive integer greater than or equal to 1.

[0063] In this implementation, by obtaining the K most recently stored historical health values, not only can the computational complexity be reduced, but the diversity of the target historical health values ​​can also be improved.

[0064] In another possible implementation, the first health value of the first arbitration cluster satisfies the following formula (1):

[0065]

[0066] Among them, H i The i-th historical health value is used to characterize the first arbitration cluster, where i is a positive integer greater than 1 and less than or equal to K. K is used to characterize the number of historical health values ​​included in the target historical health value.

[0067] In this implementation, the first health value is set to the average of K historical health values ​​included in the target historical health value. This helps improve the accuracy of the first health value of the first arbitration cluster.

[0068] In another possible implementation, the first health value is the maximum value among the K historical health values ​​included in the target historical health value.

[0069] In this implementation, by setting the first health value to the maximum value among the K historical health values ​​included in the target historical health value, the availability of the first arbitration cluster can be improved.

[0070] In another possible implementation, the first health value is the minimum value among the K historical health values ​​included in the target historical health value.

[0071] In this implementation, by setting the first health value to the minimum of the K historical health values ​​included in the target historical health value, the reliability of the first arbitration cluster is improved.

[0072] In another possible implementation, the first detection platform determines the first health value of the first arbitration cluster based on the detection results, including: the first detection node obtains the first health value of the first arbitration cluster based on the detection results of the first arbitration cluster.

[0073] In another possible implementation, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, including: when the number of surviving detection nodes in the detection cluster is greater than 1, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0074] In this implementation, the first detection platform sets the second arbitration cluster as the primary arbitration cluster only when the number of surviving detection nodes in the detection cluster is greater than 1. This ensures that the primary arbitration cluster is automatically switched only when there are at least two surviving detection nodes in the detection cluster, which helps to improve the reliability of switching the primary arbitration cluster.

[0075] In another possible implementation, the first probe platform sends a leader election request to the second arbitration cluster, including: if the number of surviving probe nodes in the probe cluster is greater than 1, the first probe platform sends a leader election request to the second arbitration cluster.

[0076] In another possible implementation, when the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier, including: when the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the health status of the second arbitration cluster meets the target conditions, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier.

[0077] In this implementation, the second arbitration cluster is switched to the primary arbitration cluster only when the health status of the second arbitration cluster meets the target conditions. This helps to ensure the reliability of the primary arbitration cluster after the switch.

[0078] In another possible implementation, the method further includes: when the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the first arbitration cluster as the main arbitration cluster is less than the duration threshold, the first detection platform reports the sixth alarm information.

[0079] In this implementation, when the first arbitration cluster is faulty and the time for the first arbitration cluster to switch to the main arbitration cluster is short, the first detection platform reports the sixth alarm information to the user so that the user can determine whether manual switching is required. This helps to improve the reliability of switching to the main arbitration cluster.

[0080] In another possible implementation, the method further includes: if the target health value of the first arbitration cluster is greater than the first health threshold and less than or equal to the second health threshold, the first detection platform reports a seventh alarm message; the seventh alarm message is used to indicate that the first arbitration cluster is in a sub-healthy state.

[0081] In the implementation, when the first arbitration cluster is in a sub-healthy state, such as when the first arbitration cluster has problems such as high network latency and high network packet loss rate, the seventh alarm information is reported to the user, and the user can judge whether it is necessary to switch the main arbitration cluster, which helps to avoid mistakenly switching the main arbitration cluster.

[0082] In another possible implementation, the first detection platform configures the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier, including: the first detection platform obtains the first detection result of the first arbitration cluster; if the first detection result of the first arbitration cluster indicates that the first arbitration cluster is not faulty, the first detection platform configures the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier.

[0083] In this implementation, if the detection result of the first arbitration cluster indicates that the first arbitration cluster is not faulty, the operation of setting the first arbitration cluster as the backup arbitration cluster is performed. This helps to ensure that the first arbitration cluster can be successfully set as the backup arbitration cluster.

[0084] In another possible implementation, the first detection platform obtains at least one second health value of the first arbitration cluster determined by the second detection platform, including: the first detection platform obtains at least one second health value of the first arbitration cluster determined by the second detection platform from the second arbitration cluster.

[0085] In this implementation, by setting the second health value of the first arbitration cluster to be determined by at least one second probe node obtained from the second arbitration cluster, at least one second probe platform can store the second health value of the first arbitration cluster in the second arbitration cluster instead of storing it locally. This allows the probe cluster to run the probe platform using stateless nodes, which helps to simplify the architecture of the probe cluster.

[0086] In another possible implementation, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, including: the first detection platform acquiring the arbitration cluster identifier of the second arbitration cluster; and when the arbitration cluster identifier of the second arbitration cluster is a backup arbitration cluster identifier, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0087] In this implementation, the arbitration cluster identifier of the second arbitration cluster is obtained before modification, and is only modified when the arbitration cluster identifier of the second arbitration cluster is the backup arbitration cluster identifier. In this way, when a failure occurs after a primary probe platform completes the switchover operation, and another primary probe platform emerges, the new primary probe platform can be prevented from performing the switchover operation, thereby helping to ensure the accuracy of the primary arbitration switchover operation.

[0088] In another possible implementation, the method further includes: the target detection platform acquiring second subscription information sent by the second arbitration cluster, the second subscription information being used to instruct the backup arbitration cluster to switch to the primary arbitration cluster; wherein the target detection platform includes at least one of the first detection platform or at least one second detection platform.

[0089] In this implementation, the target detection platform can subscribe to the arbitration cluster identifier field of the backup arbitration cluster. When the arbitration cluster identifier of the backup arbitration cluster changes, the backup arbitration cluster will proactively send a second subscription message to the target detection platform to notify of the change in the arbitration cluster identifier, thereby enabling the target detection platform to promptly understand the change in the arbitration cluster identifier of the backup arbitration cluster.

[0090] In another possible implementation, the method further includes: the target detection platform acquiring first subscription information sent by the first arbitration cluster, the first subscription information being used to instruct the primary arbitration cluster to switch to the backup arbitration cluster.

[0091] In another possible implementation, the method further includes: the target detection platform acquiring third subscription information sent by the second arbitration cluster, the third subscription information being used to indicate the detection nodes that are alive in the detection cluster.

[0092] In this implementation, the distributed component publish-subscribe capability on the backup arbitration cluster is used to subscribe to relevant information about the live probe nodes of the probe cluster. In this way, when the live probe nodes of the probe cluster change, the backup arbitration cluster actively sends third-party subscription information to the target probe platform, thereby enabling the target probe platform to detect the changes in the live probe nodes in a timely manner.

[0093] Secondly, a detection platform is provided, comprising: functional modules for executing any of the methods provided in the first aspect, wherein the actions performed by each functional module are implemented by hardware or by hardware executing corresponding software. For example, the detection platform includes: a detection module, a determination module, and a switching module; the detection module is used to acquire the detection results of a first arbitration cluster, the detection results indicating that the first arbitration cluster has a fault; the determination module is used to determine the target health value of the first arbitration cluster based on the detection results; and the switching module is used to configure the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier when the target health value is less than or equal to a first health threshold.

[0094] Thirdly, an arbitration cluster system is provided, comprising a detection cluster, a first arbitration cluster, and a second arbitration cluster. A first detection platform runs on the detection cluster, and a first arbitration platform runs on the first arbitration cluster, providing arbitration services through the first arbitration platform. A second arbitration platform runs on the second arbitration cluster, providing arbitration services through the second arbitration platform. The first arbitration cluster is configured with a master arbitration cluster identifier, used to indicate the arbitration cluster providing arbitration services to a second infrastructure, which provides cloud services. The first detection platform is used to acquire detection results from the first arbitration cluster, indicating a fault in the first arbitration cluster. The first detection platform is also used to determine a target health value for the first arbitration cluster based on the detection results. Furthermore, the first detection platform is used to configure the arbitration cluster identifier of the second arbitration cluster as the master arbitration cluster identifier when the target health value is less than or equal to a first health threshold.

[0095] It should be noted that, in the third aspect, the first detection platform can also be used to perform the operations performed by the first detection platform in the first aspect mentioned above, which will not be elaborated here.

[0096] Fourthly, a processor is provided that can be used to execute any of the methods provided in the first aspect above.

[0097] Fifthly, a chip is provided, comprising: a processor and a power supply circuit; the power supply circuit can be used to supply power to the chip; the processor can be used to execute any of the methods provided in the first aspect above.

[0098] In a sixth aspect, a probe node is provided, comprising: a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to cause the probe node to perform any of the methods provided in the first aspect above.

[0099] In a seventh aspect, a probe cluster is provided, comprising: at least one probe node, each probe node including a processor, a memory, and a computer program / instructions stored in the memory; the processor of each probe node executes the computer program / instructions to enable the probe cluster to implement any of the methods provided in the first aspect above.

[0100] Eighthly, a computer program product is provided, comprising a computer program / instruction, which, when executed by a probe node, implements any of the methods provided in the first aspect above.

[0101] In a ninth aspect, a computer-readable storage medium is provided, on which a computer program / instructions are stored, which, when executed by a probe node, implement any of the methods provided in the first aspect above.

[0102] The technical effects of any of the implementation methods in aspects two through nine can be seen in the technical effects of different implementation methods in aspect one above, and will not be repeated here. Attached Figure Description

[0103] Figure 1 This application provides an illustration of arbitration in a related art.

[0104] Figure 2 A hardware schematic diagram of an arbitration cluster system provided in an embodiment of this application;

[0105] Figure 3 This is a schematic diagram illustrating an application scenario of an arbitration cluster system provided in an embodiment of this application;

[0106] Figure 4 This is a schematic diagram illustrating an application scenario of another arbitration cluster system provided in an embodiment of this application;

[0107] Figure 5 A flowchart illustrating a primary / backup arbitration switching method provided in this application embodiment;

[0108] Figure 6 A schematic diagram of a historical health value provided in an embodiment of this application;

[0109] Figure 7 A schematic diagram illustrating a switching of the primary arbitration cluster, provided as an embodiment of this application;

[0110] Figure 8 A schematic diagram of a detection platform provided in an embodiment of this application;

[0111] Figure 9 A schematic diagram of a computing device provided in an embodiment of this application;

[0112] Figure 10 A schematic diagram of a computing device cluster provided in an embodiment of this application;

[0113] Figure 11 This is a schematic diagram of the connection of a computing device provided in an embodiment of this application. Detailed Implementation

[0114] To facilitate understanding, a brief introduction to the relevant terms used in the embodiments of this application will be given first.

[0115] Fault recovery capability without location or boundary determination: This refers to the ability to quickly and accurately determine the location and boundaries of a fault when it occurs in a system or device, and to automatically or manually repair it. This capability is crucial for ensuring the stable operation and rapid recovery of a system or device, as it reduces the impact time of a fault on the system and improves system availability and reliability.

[0116] Controlling software fault domains refers to the design and implementation of specific strategies and measures within a software system to reduce or control the scope and extent of the impact of software faults. This involves the logical division and management of components or resources in the software system that may fail, ensuring that other parts of the software system can continue to operate normally or be minimally affected when a fault occurs. Through proper design and configuration, fault domains can be effectively isolated, preventing problems in a single fault domain from spreading to the entire system, thereby improving the system's reliability and stability.

[0117] Controlling the software blast radius refers to taking measures during software development and maintenance to limit or reduce the impact of software faults or problems, thereby preventing them from causing excessive impact or damage to the system. By controlling the blast radius of a fault, i.e., limiting the scope of its impact, the stability and reliability of the system can be improved.

[0118] SLO (Service Level Objective) is a key performance indicator (KPI) used in distributed systems to measure system reliability and performance, ensure service quality and user satisfaction, foster trust between service providers and users, and provide direction for continuous system improvement. In distributed systems, SLO is related to system response time, system availability, error rate, or any other important metric affecting customer experience.

[0119] Region: This refers to the geographical area of ​​a physical data center. Data centers in different regions are completely isolated, ensuring maximum stability and fault tolerance across different regions.

[0120] An Availability Zone (AZ) is a collection of one or more physical data centers, each with its own independent power, cooling, and water supply. It's a physical area where power and network are independent. Within an AZ, computing, network, and storage resources are logically further divided into multiple clusters. A Region can be understood as a large, independent data center, typically divided by geographical location. The internal networks of different regions are different. An AZ can be understood as multiple data centers within a single Region, with each data center constituting an AZ.

[0121] A region can have multiple Availability Zones (AZs), and an AZ can only belong to one region. Multiple AZs within a region are connected via high-speed fiber optic cables to meet users' needs for building high-availability systems across AZs. Because different Availability Zones access each other via an internal network, a failure in one Availability Zone will not affect other Availability Zones within the same region.

[0122] Middleware is a type of software that sits between application systems and system software. It uses the basic services (functions) provided by the system software to connect various parts of application systems or different applications on the network, achieving resource sharing and function sharing. In Internet Data Centers (IDCs), middleware is defined as an independent system software service program. Distributed application software uses middleware to share resources across different technologies. Middleware resides above the operating system of the client server and manages computing resources and network communication.

[0123] Arbitration service: This refers to the service used to determine the primary cluster from multiple clusters. For example, a disaster recovery system includes multiple clusters, with the primary cluster used to run business operations. Therefore, providing an arbitration service for the disaster recovery system could be used to determine the primary cluster used to run business operations from among the multiple clusters within the disaster recovery system.

[0124] The technical solutions provided in the embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0125] Currently, multi-cluster systems are widely used in various scenarios, such as production and disaster recovery, because they can build fault recovery capabilities without location or boundary determination and can control software fault domains and software explosion radii. However, the service level objectives (SLOs) of multi-cluster systems depend on highly available arbitration services. For example, to achieve an SLO of 99.995% for a multi-cluster system, the availability of the arbitration service must first reach 99.995%.

[0126] To provide highly available arbitration services for multi-cluster systems, the relevant technologies employ an arbitration scheme that involves distributing multiple customized middleware components across the multi-cluster system. These customized middleware components then provide arbitration services to the multi-cluster system through a distributed consensus algorithm.

[0127] For example, such as Figure 1 The multi-cluster system 'a' includes cluster 'a' and cluster 'b'. To provide highly available arbitration services for clusters 'a' and 'b', on the software side, developers customized the open-source middleware 'a' based on the characteristics of the multi-cluster system 'a', resulting in a customized middleware 'a'. Since the distributed consensus algorithm requires at least three clusters, cluster 'c' is added to the multi-cluster system, and the customized middleware 'a' is distributed across clusters 'a', 'b', and 'c'. This allows the customized middleware in clusters 'a', 'b', and 'c' to provide arbitration services for clusters 'a', 'b', and 'c' through the distributed consensus algorithm.

[0128] The aforementioned approach requires customized modifications to the middleware code based on the characteristics of the multi-cluster system to ensure compatibility. This not only demands high technical skills from developers, leading to high development costs, but also limits the customized middleware 'a' to a single multi-cluster system, making it unsuitable for other systems and thus lacking versatility. Furthermore, different open-source middlewares have different characteristics, requiring different customizations. This prevents the customized solution from being reused across different types of open-source middleware, further hindering its versatility. Additionally, distributed consensus algorithms require an odd number of nodes. Therefore, in multi-cluster systems with only two clusters, at least one additional cluster is needed to deploy an odd number of customized middlewares, increasing the computational resources required for the arbitration scheme and resulting in higher resource costs.

[0129] In view of this, embodiments of this application provide a primary / backup arbitration switching method, which provides arbitration services to a second infrastructure through a first infrastructure. For example, a multi-cluster system on the second infrastructure provides arbitration services. In this way, when arbitration software for providing arbitration services is deployed on the first infrastructure, such as arbitration software including a first detection platform, arbitration platform, etc., it is not necessary to customize the arbitration software according to the characteristics of the arbitration object. This not only significantly improves the versatility of the arbitration software, enabling it to provide arbitration services for multiple different infrastructures, but also reduces the development cost of the arbitration software.

[0130] Furthermore, on the one hand, since the primary infrastructure and the multi-cluster system are independent of each other, the arbitration service provided by the primary infrastructure does not depend on the number of clusters included in the multi-cluster system. Therefore, it is not necessary to increase the number of clusters in the multi-cluster system to provide arbitration services, thereby helping to reduce the resource costs of arbitration services. On the other hand, when the primary infrastructure provides arbitration services by running an arbitration platform (e.g., middleware), the middleware deployed on the primary infrastructure does not need to be customized according to the characteristics of the multi-cluster system. Therefore, the scalability and versatility of the middleware deployed on the primary infrastructure are improved.

[0131] On the other hand, the arbitration platform of the arbitration software is deployed on two arbitration clusters, namely the first arbitration cluster and the second arbitration cluster. Arbitration services are provided externally through the arbitration cluster with the primary arbitration cluster identifier configured. When the first arbitration cluster is configured with the primary arbitration cluster identifier, the first detection platform obtains the detection results of the first arbitration cluster. If the detection results indicate a fault in the first arbitration cluster, the first detection platform obtains the target health value of the first arbitration cluster. If the target health value is less than or equal to a first health threshold, the platform configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, enabling the second arbitration cluster to provide arbitration services. This allows the backup arbitration cluster (e.g., the second arbitration cluster) to be switched to the primary arbitration cluster when the primary arbitration cluster (e.g., the first arbitration cluster) has poor health, and the new primary arbitration cluster then provides arbitration services. In this way, when the primary arbitration cluster providing arbitration services has poor health, the system can switch to the new primary arbitration cluster, significantly improving the availability of the arbitration services and contributing to the provision of highly available arbitration services.

[0132] It should be noted that the various implementation methods of the aforementioned primary / standby arbitration switching method will be discussed later. Figure 5 The examples shown will be described in detail here, but will not be elaborated upon further.

[0133] Next, the system architecture involved in the technical solution provided by the embodiments of this application will be further described in conjunction with the accompanying drawings.

[0134] This application provides an arbitration cluster system with arbitration software running on it. The arbitration cluster system executes the aforementioned arbitration scheme through the arbitration software, providing arbitration services with high availability, high versatility, low development cost, and low resource cost.

[0135] In this embodiment of the application, the arbitration software may include a detection platform and an arbitration platform. The arbitration platform is used to provide arbitration services to external parties, and the detection platform is used to detect whether there are any faults in the cluster running the arbitration platform.

[0136] Figure 2 This is a hardware schematic diagram of an arbitration cluster system provided in an embodiment of this application.

[0137] like Figure 2 As shown, the arbitration cluster system includes a first arbitration cluster and a second arbitration cluster. The primary arbitration cluster of the arbitration cluster system is used to provide arbitration services externally. The backup arbitration cluster of the arbitration cluster system does not provide arbitration services when the primary arbitration cluster is healthy (i.e., not experiencing a failure). When the primary arbitration cluster fails, it is promoted to the primary arbitration cluster and provides arbitration services externally. One of the first and second arbitration clusters is the primary arbitration cluster of the arbitration cluster system, and the other is the backup arbitration cluster.

[0138] For example, the arbitration cluster system is deployed on a first infrastructure. In other words, the first infrastructure includes a first arbitration cluster, a second arbitration cluster, and a probe cluster. The arbitration cluster system deployed on the first infrastructure can be used to provide arbitration services to the second infrastructure, which is used to provide cloud services. For example, the cloud services provided by the second infrastructure can be disaster recovery services, and the arbitration cluster system provides arbitration decisions for the disaster recovery capabilities of the disaster recovery services.

[0139] It should be noted that the reason why the first infrastructure and the second infrastructure are defined in the embodiments of this application is to distinguish between the equipment that provides arbitration services and the equipment that receives arbitration services. The first infrastructure is the equipment that provides arbitration services, and the second infrastructure is the equipment that receives arbitration services. The first infrastructure and the second infrastructure are different equipment.

[0140] In one example, the arbitration cluster system can be used to provide arbitration services for at least one multi-cluster system on a second infrastructure. For example, at least one multi-cluster system may include Figure 2 The diagram shows multi-cluster systems 1, ..., N, where N is a positive integer greater than 1.

[0141] In another example, an arbitration cluster system can be used to provide arbitration services for multiple nodes on a second infrastructure.

[0142] It should be noted that the embodiments of this application do not limit the objects (i.e., arbitration objects) for which the arbitration cluster system provides arbitration services; the above is merely an illustrative example. The following example, using the arbitration cluster system to provide arbitration services to a multi-cluster system on a second infrastructure, will be used to exemplify the embodiments of this application.

[0143] In this embodiment, the first arbitration cluster includes multiple first arbitration nodes. When the first arbitration cluster serves as the primary arbitration cluster of the arbitration cluster system, the arbitration cluster system provides arbitration services externally through these multiple first arbitration nodes. For example, a multi-cluster system includes a primary cluster and a backup cluster. When the primary cluster fails, the primary arbitration node among the multiple first arbitration nodes is used to switch the backup cluster to the primary cluster.

[0144] Optionally, the first arbitration cluster runs multiple first arbitration platforms, which are distributed across multiple first arbitration nodes. That is, one first arbitration node runs on one first arbitration platform, and multiple first arbitration nodes provide arbitration services externally through multiple first arbitration platforms. These multiple first arbitration platforms provide arbitration services externally through a distributed consensus algorithm.

[0145] It should be noted that the reason why the embodiments of this application define the first arbitration platform, the second arbitration platform, etc., is to distinguish the arbitration platforms running on different arbitration clusters, which will not be elaborated further.

[0146] For example, the first arbitration platform can be middleware, and multiple middleware can be strongly consistent distributed components, which can also be called distributed consistency components. Multiple middleware can be used to provide strongly consistent arbitration services to external parties.

[0147] For example, middleware can be open-source middleware such as Etcd or Zookeeper.

[0148] It should be noted that the embodiments of this application do not limit the type of middleware; the above is merely an illustrative example.

[0149] Optionally, the first arbitration cluster comprises M first arbitration nodes, where M is an odd number greater than 1.

[0150] In this example, by setting the first arbitration cluster to include an odd number of first arbitration nodes, the first arbitration cluster can provide arbitration services to the outside world through a distributed consensus algorithm, thereby helping to improve the reliability and availability of the arbitration services provided by the first arbitration cluster.

[0151] In one example, the second infrastructure comprises N devices across N availability zones. The multi-cluster system comprises N clusters, each deployed on N devices across N availability zones, where N is less than M. W of the M first arbitration nodes are deployed on W devices across N availability zones, where W is less than or equal to N, and the N devices are different from the W devices. F of the M first arbitration nodes (excluding the W first arbitration nodes) are deployed across F availability zones, where F availability zones are different from the N availability zones.

[0152] In this example, deploying a portion of the first arbitration nodes on the same availability zone as N clusters helps improve the reliability of the arbitration service provided by the first arbitration cluster. Furthermore, deploying another portion of the first arbitration nodes on availability zones outside the availability zone where the multi-cluster system resides ensures that the first arbitration nodes on other availability zones remain available after a failure in the availability zone where the multi-cluster system resides, further enhancing the reliability of the arbitration service provided by the first arbitration cluster.

[0153] In another example, M first arbitration nodes are deployed across N availability zones. This helps to increase the diversity of deployment methods.

[0154] In another example, N clusters are deployed in the same availability zone, and M first arbitration nodes are deployed in the same availability zone as the N clusters. This helps to increase the diversity of deployment methods.

[0155] For example, N availability zones can be N different availability zones in the same region, or N different availability zones in N regions. This application does not limit this.

[0156] In this embodiment of the application, the second arbitration cluster includes multiple second arbitration nodes. When the second arbitration cluster serves as the main arbitration cluster of the arbitration cluster system, the arbitration cluster system provides arbitration services to the outside world through multiple second arbitration nodes.

[0157] It should be noted that other relevant explanations for the second arbitration cluster can be found in the explanations for the first arbitration cluster, and will not be repeated here.

[0158] In this embodiment, the arbitration cluster system further includes a probe cluster. The probe cluster is used to detect the health status of the primary arbitration cluster and the backup arbitration cluster, and to automatically switch the backup arbitration cluster to the primary arbitration cluster when the primary arbitration cluster fails. The probe cluster can communicate with the first arbitration cluster to detect its health status. The probe cluster can also communicate with the second arbitration cluster to detect its health status.

[0159] In this embodiment, the probe cluster includes multiple probe nodes. Each probe node communicates with a first arbitration cluster to probe the health status of the first arbitration cluster. Each probe node can also communicate with a second arbitration cluster to probe the health status of the second arbitration cluster.

[0160] For example, each probe node runs a probe platform. Each probe node can probe the first arbitration cluster and the second arbitration cluster through the probe platform. For instance, the probe platform can be a middleware client, where the middleware client refers to the client of the middleware on the first arbitration cluster and the second arbitration cluster.

[0161] In one example, N clusters are deployed on N availability zones in the first region, and multiple probe nodes are deployed on N availability zones in the first region. That is, the multiple probe nodes and the N clusters are deployed on the same availability zone.

[0162] In another example, N clusters are deployed across N regions, and multiple probe nodes are deployed across N regions. That is, the multiple probe nodes are deployed in the same regions as the N clusters.

[0163] Optionally, the probe nodes are stateless nodes. This allows different probe nodes to communicate independently and enables arbitrary horizontal scaling of the number of probe nodes, thereby helping to reduce the complexity of the probe cluster.

[0164] For example, multiple probe nodes include a leader probe node. The leader probe node is selected from multiple probe nodes through a leader election strategy. The leader probe node is used to perform the master-slave arbitration cluster switchover operation. This switchover operation includes setting the slave arbitration cluster as the master arbitration cluster, and vice versa.

[0165] In this embodiment, the arbitration cluster system also includes a management node. The management node can be used to switch between the primary arbitration cluster and the backup arbitration cluster. For example, a user can use the management node to switch between the primary and backup arbitration clusters of the arbitration cluster system.

[0166] For example, a management platform runs on the management node. The management node can switch between the primary arbitration cluster and the backup arbitration cluster through the management platform.

[0167] The following is about the combination Figure 3 and Figure 4 This paper provides an example of the application scenarios of the arbitration cluster system.

[0168] Figure 3 This is a schematic diagram illustrating an application scenario of an arbitration cluster system provided in an embodiment of this application.

[0169] like Figure 3 As shown, the arbitration cluster system provided in this application embodiment is used to provide arbitration services for a multi-cluster system, which is deployed in different availability zones within the same region. For example, different availability zones within the same region can communicate via an intranet.

[0170] For example, a multi-cluster system includes a first cluster and a second cluster, wherein the first cluster is deployed on availability zone 1 of region 1, and the second cluster is deployed on availability zone 2 of region 1. The first cluster includes multiple compute nodes in availability zone 1, and the second cluster includes multiple compute nodes in availability zone 2.

[0171] It should be noted that this application embodiment does not limit the number of available zones included in region 1. Figure 3 The region 1 shown includes 3 availability zones for illustrative purposes only.

[0172] It should be noted that the embodiments of this application do not limit the number of clusters included in the multi-cluster system; the above is merely an illustrative example.

[0173] The following describes an example of an embodiment of this application, using the first arbitration cluster as the primary arbitration cluster of the arbitration cluster system and the second arbitration cluster as the backup arbitration cluster of the arbitration cluster system.

[0174] Optionally, some of the first arbitration nodes in the first arbitration cluster are deployed on the same availability zone as the multi-cluster system.

[0175] For example, multiple first arbitration nodes of the first arbitration cluster are distributed across availability zones 1, 2 and 3.

[0176] For example, multiple first arbitration nodes include First Arbitration Node 1, First Arbitration Node 2, and First Arbitration Node 3. First Arbitration Node 1 is deployed in Availability Zone 1, meaning it includes compute nodes in Availability Zone 1. First Arbitration Node 2 is deployed in Availability Zone 2, meaning it includes compute nodes in Availability Zone 2. First Arbitration Node 3 is deployed in Availability Zone 3, meaning it includes compute nodes in Availability Zone 3.

[0177] It should be noted that the embodiments of this application do not limit the number of first arbitration nodes deployed in each availability zone; the above is merely an illustrative example.

[0178] In this embodiment, multiple first arbitration nodes are deployed in a distributed manner in different availability zones. In this way, if one availability zone fails, the first arbitration nodes in other availability zones can continue to provide arbitration services. This helps to improve the reliability of the first arbitration cluster, thereby enabling the first arbitration cluster to provide highly available arbitration services to the outside world.

[0179] It should be noted that the relevant descriptions of the multiple second arbitration nodes in the second arbitration cluster can be found in the descriptions of the multiple first arbitration nodes in the first arbitration cluster, and will not be repeated here.

[0180] Optionally, multiple probe nodes of the probe cluster are deployed in the same availability zone as the multi-cluster system.

[0181] For example, multiple probe nodes of the probe cluster are deployed in Availability Zone 1 and Availability Zone 2 of Region 1. For instance, the multiple probe nodes include compute nodes on Availability Zone 1 and compute nodes on Availability Zone 2.

[0182] In this embodiment, compared to when multiple probe nodes are deployed in the same availability zone, where an availability zone failure renders all probe nodes unusable, deploying multiple probe nodes in different availability zones helps improve the reliability of the multiple probe nodes.

[0183] like Figure 3 As shown, each of the multiple probe nodes can be used to probe the health value of the first arbitration cluster (i.e., the primary arbitration cluster) and the health value of the second arbitration node (i.e., the backup arbitration cluster). Based on the health value of the primary arbitration cluster, the probe cluster determines whether the primary arbitration cluster is faulty (e.g., the target health value is less than or equal to a first health threshold). If the probe cluster determines that the primary arbitration cluster is faulty, it can switch the backup arbitration cluster to become the new primary arbitration cluster.

[0184] It should be noted that this application embodiment does not limit the number of probe nodes deployed in each availability zone.

[0185] Optionally, the control node may include compute nodes on availability zones. For example, the control node may include compute nodes on availability zone 1 and / or compute nodes on availability zone 2.

[0186] Figure 4 This application provides a schematic diagram of another application scenario for an arbitration cluster system.

[0187] It should be noted that the following only details the differences between the two application scenario diagrams; the similarities will not be repeated.

[0188] For example, such as Figure 4 As shown, the arbitration cluster system provided in this application embodiment is used to provide arbitration services for a multi-cluster system, which is deployed in different regions.

[0189] For example, the multi-cluster system includes a first cluster and a second cluster, wherein the first cluster is deployed on availability zone 4 of region 2, and the second cluster is deployed on availability zone 5 of region 3. The first cluster includes multiple compute nodes in availability zone 4, and the second cluster includes multiple compute nodes in availability zone 5. Region 2 and region 3 can communicate with each other; that is, compute nodes in different regions can communicate with each other.

[0190] Optionally, some of the first arbitration nodes in the first arbitration cluster are deployed in the same region as the multi-cluster system.

[0191] For example, multiple first arbitration nodes of the first arbitration cluster are distributed and deployed in regions 2, 3 and 4.

[0192] For example, multiple first arbitration nodes include First Arbitration Node 1, First Arbitration Node 2, and First Arbitration Node 3. First Arbitration Node 1 is deployed in Region 2, meaning that First Arbitration Node 1 includes computing nodes in Region 2. First Arbitration Node 2 is deployed in Region 3, meaning that First Arbitration Node 2 includes computing nodes in Region 3. First Arbitration Node 3 is deployed in Region 4, meaning that First Arbitration Node 3 includes computing nodes in Region 4.

[0193] It should be noted that the embodiments of this application do not limit the number of first arbitration nodes deployed in each region; the above is merely an illustrative example.

[0194] In this embodiment, multiple first arbitration nodes are deployed in a distributed manner in different regions. In this way, if one region fails, the first arbitration nodes in other regions can continue to provide arbitration services. This helps to improve the reliability of the first arbitration cluster, thereby enabling the first arbitration cluster to provide highly available arbitration services to the outside world.

[0195] It needs to be explained that, Figure 3 and Figure 4 The application scenarios shown do not constitute a limitation on the application scenarios of the arbitration cluster system provided in the embodiments of this application.

[0196] It should be noted that the system architecture and application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0197] For ease of understanding, the following describes the primary / backup arbitration switching method provided in the embodiments of this application, in conjunction with the above system architecture and accompanying drawings.

[0198] Figure 5 This is a flowchart illustrating a primary / backup arbitration switching method provided in an embodiment of this application. Exemplarily, the primary / backup arbitration switching method includes steps 501-503. In this embodiment, "step" can be abbreviated as "S," and will not be described further thereafter.

[0199] The following is based on Figure 3 Taking the application scenario shown as an example, for Figure 5The embodiments shown are described by way of example.

[0200] In this embodiment of the application, the arbitration cluster system may perform an initialization operation before providing arbitration services to external parties.

[0201] Optionally, the initialization operation includes primary and backup arbitration initialization. Primary and backup arbitration initialization includes setting up the primary arbitration cluster and backup arbitration cluster of the arbitration cluster system.

[0202] In one example, the primary arbitration cluster can be determined by the user. In another example, the primary arbitration cluster can be determined by the arbitration cluster system.

[0203] The following example illustrates how to set up a primary arbitration cluster and a backup arbitration cluster.

[0204] Example 1: The first arbitration cluster stores first cluster information. This first cluster information includes first master-slave information (MasterSlaveInfo). This first master-slave information indicates whether the first arbitration cluster is the master arbitration cluster.

[0205] For example, the first master-slave information includes the arbitration cluster identifier of the first arbitration cluster. The arbitration cluster identifier can be configured as a master arbitration cluster identifier or a backup arbitration cluster identifier. The master arbitration cluster identifier is used to indicate the arbitration cluster that provides arbitration services for the second infrastructure.

[0206] For example, the arbitration cluster identifier can be a logical identifier. The logical identifier of the first arbitration cluster includes a first state or a second state. The first state indicates that the first arbitration cluster is the primary arbitration cluster, and the second state indicates that the first arbitration cluster is not the primary arbitration cluster. That is, when the logical identifier is in the first state, it can be called the primary arbitration cluster identifier, and when the logical identifier is in the second state, it can be called the backup arbitration cluster identifier. For ease of description, the logical identifier of the first arbitration cluster will be referred to as the first logical identifier below.

[0207] It should be noted that the embodiments of this application do not limit the type of arbitration cluster identifier; the above is merely an illustrative example.

[0208] For example, the first state includes "is_master": true, where is_master indicates whether it is the primary arbitrator cluster, and true indicates that it is the primary arbitrator cluster. The second state includes "is_master": false, where false indicates that it is not the primary arbitrator cluster. Based on the fact that the first arbitrator cluster is the primary arbitrator cluster, the first logical identifier is set to the first state, that is, set to "is_master": true.

[0209] For example, the first cluster information may also include the current arbitration address, another arbitration address, the timestamp for refreshing data, the timestamp for switching, and the initialization information (master version).

[0210] The "Current Arbitration Address" represents the arbitration address of the first arbitration cluster, which can be an internet protocol (IP) address, domain name address, etc. The "Timestamp for Refreshing Data" represents the time when the first cluster information was refreshed. The "Timestamp for Switchover" represents the time when the state of the first logical identifier was modified. A value of 1 for "Initialization Information" indicates that initialization has been completed.

[0211] Example 2: The second arbitration cluster stores second cluster information. This second cluster information includes second master-slave information, which indicates whether the second arbitration cluster is the master arbitration cluster.

[0212] For example, the second master-slave information includes the logical identifier of the second arbitration cluster. For ease of description, the logical identifier of the second arbitration cluster will be referred to as the second logical identifier below. Based on the fact that the second arbitration cluster is a backup arbitration cluster, during the initialization operation, the second logical identifier is set to the second state, that is, set to "is_master": false.

[0213] It should be noted that other relevant information about the second cluster can be found in the description of the first cluster information, and will not be repeated here.

[0214] Optionally, the initialization operation includes initializing the probe nodes of the probe cluster. This probe node initialization includes identifying the primary / standby arbitration cluster.

[0215] For example, each probe node in the probe cluster acquires the first cluster information of the first arbitration cluster and determines the first arbitration cluster as the primary arbitration cluster based on the first cluster information. Each probe node also acquires the second cluster information of the second arbitration cluster and determines the second arbitration cluster as the backup arbitration cluster based on the second cluster information.

[0216] In this embodiment of the application, when the first arbitration cluster is the main arbitration cluster, the first arbitration cluster provides arbitration services to external parties.

[0217] In this context, the provision of arbitration services by the first arbitration cluster can be considered as the provision of arbitration services by the first arbitration platform running on the first arbitration cluster, or in other words, the provision of arbitration services by the first arbitration cluster through the first arbitration platform.

[0218] In this embodiment of the application, when the first arbitration cluster serves as the primary arbitration cluster, the arbitration cluster system provides arbitration services to external parties through the first arbitration cluster. For example, the first arbitration cluster provides arbitration services to a multi-cluster system through multiple first arbitration nodes. Each of the multiple first arbitration nodes runs a multiple first arbitration platform, and the first arbitration cluster provides arbitration services through these multiple first arbitration platforms.

[0219] For example, a multi-cluster system includes a first cluster and a second cluster, where the first cluster is the primary cluster and the second cluster is the backup cluster. The first arbitration cluster provides arbitration services for the multi-cluster system, including setting the second cluster as the primary cluster in the event of a failure in the first cluster.

[0220] For example, the detection cluster can detect the first cluster and obtain the detection results of the first cluster. If the detection results of the first cluster indicate that the first cluster is faulty, the second cluster is set as the primary cluster.

[0221] In this embodiment of the application, the operations performed by the detection cluster, such as detecting the first cluster, can be considered as operations performed by the detection platform (e.g., the first detection platform) running on the detection cluster, or operations performed by the detection cluster through the detection platform, which will not be described in detail hereafter.

[0222] It should be noted that other related explanations for "the first cluster has a fault" can be found in the explanation of "the target health value of the first arbitration cluster is less than or equal to the first health threshold" in the following embodiment, which will not be elaborated here.

[0223] Optionally, during the process of the first arbitration cluster providing arbitration services to external parties, both the first and second arbitration clusters store the target arbitration information of the arbitration parties. The target arbitration information includes at least one of the first arbitration information or the second arbitration information.

[0224] There are multiple ways to store the first arbitration information of the arbitration object in the first arbitration cluster and the second arbitration cluster. The following are examples of methods 1 and 2.

[0225] Hereinafter, S1 will be used as an example to describe Method 1.

[0226] S1: The control node obtains the first arbitration information of the arbitration object and writes it into the first arbitration cluster and the second arbitration cluster. Here, the arbitration object refers to the object being arbitrated, or in other words, the object receiving the arbitration service.

[0227] In this embodiment of the application, the operation performed by the control node, such as the operation of S1, can be considered as the operation performed by the control platform running on the management node, or the operation performed by the control node through the control platform, which will not be described in detail hereafter.

[0228] Optionally, the first arbitration information includes the primary and backup information of the arbitration object (primary cluster information and backup cluster information), the health information of the availability zone where the arbitration object is located, the detection information of the detection cluster on the arbitration object, and the switching information of the arbitration object.

[0229] It should be noted that the embodiments of this application do not limit the content of the first arbitration information of the arbitration object, and will not be elaborated further thereafter.

[0230] For example, during the process of the first arbitration cluster providing arbitration services to the multi-cluster system, the control node obtains the first arbitration information of the multi-cluster system (i.e., the arbitration object). Then, the control node writes the first arbitration information into the primary arbitration cluster (i.e., the first arbitration cluster). If the first arbitration information is successfully written to the primary arbitration cluster, the control node writes the first arbitration information to the backup arbitration cluster (i.e., the second arbitration cluster), thus ensuring that both the primary and backup arbitration clusters store the first arbitration information of the arbitration object.

[0231] For example, the first arbitration information written to the first arbitration cluster may include the logical identifier of the first arbitration cluster. The first arbitration information written to the second arbitration cluster may include the logical identifier of the second arbitration cluster. This helps to improve the comprehensiveness of the arbitration information of the primary and backup arbitration clusters.

[0232] It should be noted that writing the first arbitration information of the arbitration object into the first arbitration cluster and the second arbitration cluster can also be called double writing.

[0233] In the above embodiments, when the primary arbitration cluster (e.g., the first arbitration cluster) provides arbitration services to the outside world, the control node stores the first arbitration information of the arbitration object in both the primary arbitration cluster and the backup arbitration cluster (e.g., the second arbitration cluster) to ensure that both the primary arbitration cluster and the backup arbitration cluster store the first arbitration information. This ensures the consistency of the first arbitration information in the primary and backup arbitration clusters after the arbitration cluster system switches to the primary arbitration cluster. This not only helps to improve the accuracy of the arbitration result determined by the new primary arbitration cluster after the switch, but also helps to avoid the split-brain problem when switching the primary arbitration cluster.

[0234] Hereinafter, Method 2 will be described by way of example using S2.

[0235] S2: The control node obtains the first arbitration information of the arbitration object; the control node writes the first arbitration information of the arbitration object into the main arbitration cluster; the main arbitration cluster synchronizes the first arbitration information of the arbitration object to the backup arbitration cluster.

[0236] In this embodiment, the operations performed by the primary arbitration cluster, such as synchronizing the first arbitration information of the arbitration object to the backup arbitration cluster, can be considered as operations performed by the arbitration platform running on the primary arbitration cluster, or operations performed by the primary arbitration cluster through the arbitration platform, which will not be elaborated further. The arbitration platform running on the primary arbitration cluster can also be referred to as the primary arbitration platform.

[0237] For example, in the case where the first arbitration cluster is the primary arbitration cluster, after the control node obtains the first arbitration information of the arbitration object, it writes the first arbitration information of the arbitration object into the first arbitration cluster. Subsequently, the first arbitration cluster synchronizes the first arbitration information to the second arbitration cluster, so that both the primary arbitration cluster and the backup arbitration cluster store the first arbitration information of the arbitration object.

[0238] In this embodiment of the application, the operation performed by the first arbitration cluster, such as synchronizing the first arbitration information to the second arbitration cluster, can be considered as the operation performed by the arbitration platform running on the first arbitration cluster, or the operation performed by the first arbitration cluster through the arbitration platform, without the suffix "operation".

[0239] In this approach, by writing the first arbitration information to the primary arbitration cluster and then synchronizing the first arbitration information to the backup arbitration cluster, the diversity of ways to write the first arbitration information to the backup arbitration cluster is improved.

[0240] It should be noted that other relevant explanations for Method 2 can be found in the explanations for Method 1 above, and will not be repeated here.

[0241] Optionally, in combination with the above methods 1 and 2, the primary / standby arbitration switching method may also include the following S3.

[0242] S3: If the control node fails to write the first arbitration information to the main arbitration cluster, the control node reports the first alarm information; the first alarm information is used to indicate that the main arbitration cluster failed to write the arbitration information.

[0243] For example, combining S1 and S2 above, when the first arbitration cluster is the primary arbitration cluster, if the control node fails to write the first arbitration information to the primary arbitration cluster, the control node reports the first alarm information to the alarm system so that the user can be notified through the alarm system that the primary arbitration cluster failed to write arbitration information. In response to the received first alarm information, the alarm platform reports the first alarm information to the user. For example, the alarm platform can report the first alarm information to the user via SMS, email, alarm window, etc.

[0244] It should be noted that the embodiments of this application do not limit the form of the first alarm information reported by the alarm platform; the above is merely an illustrative example.

[0245] In this embodiment, when the control node fails to write the first arbitration information, it notifies the user of the failure to write the arbitration information to the main arbitration cluster by reporting the first alarm information, so that the user can be informed of the failure of the main arbitration cluster in a timely manner and handle it in a timely manner.

[0246] Optionally, in conjunction with method 1 above, the primary / standby arbitration switching method may also include the following S4.

[0247] S4: If the control node fails to write the first arbitration information to the backup arbitration cluster, the control node reports the second alarm information; the second alarm information is used to indicate that the backup arbitration cluster failed to write the arbitration information.

[0248] For example, in conjunction with S1 above, if the first arbitration cluster is the primary arbitration cluster and the control node fails to write the first arbitration information to the second arbitration cluster, the control node reports the second alarm information to the alarm system so as to notify the user that the backup arbitration cluster failed to write the arbitration information.

[0249] It should be noted that other related explanations for S4 can be found in the explanations for S3, and will not be repeated here.

[0250] In this embodiment, when the control node fails to write the first arbitration information, it notifies the user that the backup arbitration cluster has failed to write the arbitration information by reporting the second alarm information, thereby letting the user know that there is a fault in the backup arbitration cluster so that the user can deal with it in a timely manner.

[0251] Optionally, in conjunction with method 1 above, the primary / standby arbitration switching method may also include the following S5.

[0252] S5: If the control node fails to write the first arbitration information to the backup arbitration cluster, the control node will synchronize the first arbitration information of the primary arbitration cluster to the backup arbitration cluster.

[0253] For example, if the control node fails to write the first arbitration information to the backup arbitration cluster, the control node sends a synchronization command to the primary arbitration cluster. In response to the synchronization command, the primary arbitration cluster synchronizes the first arbitration information stored in its own cluster to the backup arbitration cluster.

[0254] In this embodiment, when the control node fails to write the first arbitration information to the backup arbitration cluster, it automatically synchronizes the first arbitration information of the primary arbitration cluster to the backup arbitration cluster. This helps to ensure the data consistency between the primary and backup arbitration clusters.

[0255] Optionally, in combination with the above methods 1 and 2, the primary / standby arbitration switching method may also include the following S6.

[0256] S6: The control node responds to the received synchronization request by synchronizing the target arbitration information of the primary arbitration cluster to the backup arbitration cluster.

[0257] For example, after a user receives the first alarm information or the second alarm information, they can manually check whether there is a data inconsistency between the first arbitration cluster and the second arbitration cluster. If the manual check results in a data inconsistency, the user can manually fill in the inconsistent data to make the first arbitration information stored in the first arbitration cluster consistent with the first arbitration information stored in the second arbitration cluster.

[0258] For example, a user can send a synchronization request to the control node via an electronic device. The synchronization request is used to request the synchronization of the first arbitration information of the primary arbitration cluster to the backup arbitration cluster. In response to the synchronization request, the control node sends a synchronization instruction to the primary arbitration cluster, and the primary arbitration cluster, in response to the synchronization instruction, synchronizes the first arbitration information of its own arbitration cluster to the backup arbitration cluster.

[0259] It should be noted that the embodiments of this application do not limit the method by which users manually complete the data; the above is merely an illustrative example.

[0260] In this embodiment, the control node can respond to synchronization requests and perform data synchronization, which helps to ensure data consistency of the primary and backup arbitration cluster.

[0261] There are multiple ways to store the second arbitration information of the arbitration object in the first arbitration cluster and the second arbitration cluster. The following are examples of methods 3 and 4.

[0262] Hereinafter, method 3 will be described by way of example using S7.

[0263] S7: The probe cluster obtains the second arbitration information of the multi-cluster system; the probe cluster writes the second arbitration information of the multi-cluster system into the main arbitration cluster and the main arbitration cluster.

[0264] It should be noted that other relevant explanations for Method 3 can be found in the explanations for Method 1 above, and will not be repeated here.

[0265] Hereinafter, method 4 will be described by way of example via S8.

[0266] S8: The probe cluster obtains the second arbitration information of the arbitration object; the probe cluster writes the second arbitration information of the arbitration object into the main arbitration cluster; the main arbitration cluster synchronizes the second arbitration information of the arbitration object to the backup arbitration cluster.

[0267] It should be noted that other relevant explanations for Method 4 can be found in the explanations for Method 2 above, and will not be repeated here.

[0268] For example, a multi-cluster system can write target arbitration information to a first arbitration cluster and a second arbitration cluster through a self-healing component. The explanation of how the multi-cluster system writes target arbitration information through the self-healing component can be found in the descriptions of S1-S6 above, and will not be repeated here.

[0269] Optionally, the primary / standby arbitration switchover method may also include the following steps S9-S10. Executing S9-S10 helps ensure the data consistency of the target arbitration information stored in the primary / standby arbitration cluster.

[0270] S9: The control node inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, and obtains the inspection results. The inspection results include either the target arbitration information stored in the first arbitration cluster is consistent with the target arbitration information stored in the second arbitration cluster, or the target arbitration information stored in the first arbitration cluster is inconsistent with the target arbitration information stored in the second arbitration cluster.

[0271] For ease of description, the following will refer to the target arbitration information stored in the first arbitration cluster being consistent with the target arbitration information stored in the second arbitration cluster as data consistency, and the target arbitration information stored in the first arbitration cluster being inconsistent with the target arbitration information stored in the second arbitration cluster as data inconsistency. This will not be elaborated further.

[0272] In one example, the control node inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster according to a preset inspection cycle, thereby obtaining the inspection result. This inspection result can also be referred to as the data consistency result of the target arbitration information in the primary and backup arbitration clusters. If the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster are consistent, the inspection result includes data consistency. If the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster are inconsistent, the inspection result includes data inconsistency.

[0273] It should be noted that the embodiments of this application do not limit the specific duration of the preset inspection cycle, and it can be dynamically set according to the actual scenario. For example, it can be set according to the importance of data consistency.

[0274] In this example, by setting the control node to perform regular inspections according to a preset inspection cycle, it helps to ensure data consistency of the primary and backup arbitration cluster.

[0275] In another example, combined with S6 mentioned above, after the user manually completes the data, the user sends an inspection request to the management node through an electronic device. The inspection request is used to request the inspection of the data consistency of the target arbitration information of the primary and backup arbitration cluster.

[0276] In this example, after the user manually completes the data, the inspection is triggered again. This way, the user can know in a timely manner whether the manual data completion was successful, and if the manual data completion fails, the user can promptly complete the data again, which helps to ensure the reliability of the manually completed data.

[0277] S10: If the inspection results indicate data inconsistency, the control node reports the fifth alarm message. This fifth alarm message indicates data inconsistency between the primary and backup arbitration clusters.

[0278] For example, when the inspection results show that the data is inconsistent, the control node reports the fifth alarm information to the user through the alarm platform to notify the user that the target arbitration information data of the primary and backup arbitration clusters is inconsistent.

[0279] It should be noted that other relevant explanations for the fifth alarm message can be found in the explanations for the first alarm message, and will not be repeated here.

[0280] In the above embodiments, the control node inspects the target arbitration information stored in the first arbitration cluster and the second arbitration cluster, and when the data of the first arbitration cluster and the second arbitration cluster are inconsistent, the alarm platform reports the fifth alarm information to the user, which helps the user to understand the data consistency of the primary and backup arbitration clusters in a timely manner, and thus helps to promptly fill in the inconsistent data when data is inconsistent.

[0281] Optionally, in conjunction with S09 above, the primary / backup arbitration switchover method may further include: the control node writing the inspection results into the first arbitration cluster and the second arbitration cluster. In this embodiment, storing the inspection results in the primary / backup arbitration clusters helps the primary / backup arbitration clusters to promptly understand the data consistency status of the target arbitration information.

[0282] Optionally, the primary / backup arbitration switching method may also include the following S11.

[0283] S11: In the event of inconsistent inspection results, the control node will synchronize the target arbitration information stored in the first arbitration cluster to the second arbitration cluster.

[0284] In one example, if the control node determines that the inspection results indicate inconsistent data, it will automatically synchronize the target arbitration information stored in the first arbitration cluster to the second arbitration cluster.

[0285] In another example, after receiving the fifth alarm message, the user sends a synchronization request to the control node via an electronic device. In response to the synchronization request, the control node synchronizes the target arbitration information stored in the first arbitration cluster to the second arbitration cluster.

[0286] It should be noted that other related explanations for S11 can be found in the explanations for S5 above, and will not be repeated here.

[0287] In this implementation, if the inspection results indicate that the first arbitration information of the first arbitration cluster and the second arbitration cluster are inconsistent, the control node will synchronize the first arbitration information stored in the first arbitration cluster to the second arbitration cluster, thereby compensating for the inconsistent data and helping to ensure the data consistency between the first arbitration cluster and the second arbitration cluster.

[0288] In this embodiment of the application, during the process of the first arbitration cluster providing arbitration services to the outside world, the primary and backup arbitration switching method may further include: the detection cluster detects and obtains the detection results of the first arbitration cluster, and determines whether to switch the backup second arbitration cluster to the primary arbitration cluster based on the detection results.

[0289] For example, the detection cluster includes multiple detection nodes, including a first detection node, which can be any one of the multiple detection nodes. The first detection node runs a first detection platform.

[0290] For example, the detection cluster includes a first detection node, which can be any one of the multiple detection nodes included in the detection cluster. The detection cluster can detect the first cluster by the first detection node.

[0291] The following describes the primary / backup arbitration switching method provided in this application embodiment, taking the first detection node as an example.

[0292] S501: The first probe node obtains the probe results of the first arbitration cluster.

[0293] Specifically, the detection results of the first arbitration cluster are used to indicate whether the first arbitration cluster is faulty. In other words, the detection results of the first arbitration cluster indicate whether the first arbitration cluster is faulty or not.

[0294] In the embodiments of this application, the operations performed by the first detection node, such as the operation of S501, can be considered as the operations performed by the first detection platform running on the first detection node, or the operations performed by the first detection node through the first detection platform, which will not be described in detail hereafter.

[0295] In this embodiment of the application, during the process of the first arbitration cluster providing arbitration services to the outside world, the first detection node detects the first arbitration cluster according to the first detection cycle, thereby obtaining the detection results of the first arbitration cluster in each detection cycle.

[0296] Optionally, the first detection period can be any value between 5 seconds and 15 seconds.

[0297] In one example, the first detection period is 5 seconds. This allows for timely detection of a failure in the first arbitration cluster, facilitating a prompt switchover to a new primary arbitration cluster and ultimately improving the availability of the arbitration services provided by the arbitration cluster system.

[0298] In another example, the first detection period is 15 seconds. This helps reduce the computational resources consumed.

[0299] In another example, the first detection period is 10 seconds. This not only controls the consumption of computing resources but also allows for timely detection of faults in the first arbitration cluster, enabling a timely switch to a new primary arbitration cluster.

[0300] It should be noted that the specific duration of the first detection cycle is not limited in the embodiments of this application; the above is merely an illustrative example.

[0301] In the above embodiments, the first detection node can detect the first arbitration cluster according to a first detection cycle. In this way, when the main arbitration cluster fails, the failure of the main arbitration cluster can be detected in a timely manner, which helps to switch the main arbitrator of the arbitration cluster system in a timely manner, that is, to set the second arbitration cluster as the main arbitration cluster in a timely manner, thereby helping to improve the reliability and availability of the arbitration cluster system.

[0302] Optionally, there are several ways to detect the first arbitration cluster, which will be introduced below through method a and method b.

[0303] Method a involves probing the first arbitration cluster through a read-write mechanism. The following sections, using S12a-S12d, will provide an illustrative example of method a.

[0304] S12a: The first probe node writes the target data to the first arbitration cluster and obtains the writing result.

[0305] For example, within each probing cycle, the first probing node writes target data to the first arbitration cluster and obtains a write result. The write result includes either a successful write or a failed write. If the first probing node successfully writes the target data to the first arbitration cluster, the write result is "successful write." If the first probing node fails to write the target data to the first arbitration cluster, the write result is "failed write."

[0306] Optionally, the target data may include a preset health value, the Internet Protocol (IP) address of the first probe node, a timestamp, etc. The preset health value includes the health value preset by the first probe node for the first arbitration cluster.

[0307] It should be noted that the embodiments of this application do not limit the content of the target data; the above is merely an illustrative example.

[0308] For example, the preset health value includes a first value, which represents that the health status of the first arbitration cluster is healthy, or in other words, the first arbitration cluster has not experienced a failure. For example, the first value is 100.

[0309] It should be noted that the specific value of the first numerical value is not limited in the embodiments of this application; the above is merely an illustrative example.

[0310] S12b: In the case of a write failure, the first probe node obtains the probe result of the first arbitration cluster based on the write result.

[0311] For example, when the first probe node determines that the write result is a write failure, it indicates that the first arbitration cluster is unwritable, meaning that the first arbitration cluster has a write failure. Based on this, the first probe node determines that the probe result of the first arbitration cluster is used to indicate that the first arbitration cluster has a failure, or that the first arbitration cluster has failed.

[0312] S12c: If the write result is successful, the first probe node reads the target data from the first arbitration cluster and obtains the read result.

[0313] For example, if the first write result is successful, the first probe node reads the target data from the first arbitration cluster and obtains the read result, which includes whether the read was successful or failed.

[0314] For example, if the target data read by the first probe node is consistent with the target data previously written to the first arbitration cluster, the read result is considered successful. If the target data read by the first probe node is inconsistent with the target data previously written to the first arbitration cluster, or if the first probe node does not read the target data, the read result is considered failed.

[0315] It should be noted that other related explanations for S12c can be found in the explanation of S12a above, and will not be repeated here.

[0316] In this embodiment, the target data is read only if the write result is successful, which helps to ensure the necessity of performing the read operation and thus helps to avoid wasting computing resources.

[0317] S12d: The first probe node obtains the probe results of the first arbitration cluster based on the write and read results.

[0318] In one example, if both the write and read results are successful, it indicates that the first arbitration cluster is writable and readable, meaning that the first arbitration cluster is not faulty. Based on this, the first probe node determines that the probe results of the first arbitration cluster are used to indicate that the arbitration cluster is not faulty, or that the first arbitration cluster is fault-free.

[0319] In another example, if the write result is successful but the read result is unsuccessful, it indicates that the first arbitration cluster is writable but not readable, meaning that the first arbitration cluster has a read failure. Based on this, the first probe node determines the probe result of the first arbitration cluster to indicate that the arbitration cluster has a failure.

[0320] In the above implementation, the first arbitration cluster is probed through a read-write mechanism to obtain the probe results of the first arbitration cluster. This helps to prevent the first arbitration cluster from having problems such as being unwritable or unreadable, thereby helping to ensure the reliability and availability of the arbitration services provided by the first arbitration cluster, and further helping the arbitration cluster system to improve the availability of arbitration services to the outside world.

[0321] Method b involves detecting the first arbitration cluster via a heartbeat mechanism. The following section describes method b using S12e-S12f.

[0322] S12e: The first probe node acquires the heartbeat signal sent by the first arbitration cluster.

[0323] For example, a heartbeat link is established between the first probe node and the first arbitration cluster. The first arbitration cluster sends a heartbeat signal to the first probe node according to a first probe cycle. Based on this, within each probe cycle, the first probe node receives the heartbeat signal sent by the first arbitration cluster.

[0324] S12f: The first probe node obtains the probe results of the first arbitration cluster based on the acquired results.

[0325] For example, if the first probe node receives a heartbeat signal, it indicates that the first arbitration cluster is not faulty, and the first probe node determines the probe result of the first arbitration cluster to indicate that the first arbitration cluster is not faulty. If the first probe node does not receive a heartbeat signal, it indicates that the first arbitration cluster is faulty, and the first probe node determines the probe result of the first arbitration cluster to indicate that the first arbitration cluster is faulty.

[0326] It should be noted that other relevant explanations for S12e-S12f can be found in the explanations for S12a-S12d above, and will not be repeated here.

[0327] In the above implementation, the first arbitration cluster is detected by heartbeat information, and the detection results of the first arbitration cluster are obtained. This not only helps to improve the diversity of detection methods, but also helps to improve the detection rate.

[0328] Optionally, the primary / standby arbitration switchover method may also include the following steps S13-S14. By executing the following steps S13-S14, the historical health values ​​of the first arbitration cluster can be saved.

[0329] S13: The probe node obtains the health value of the first arbitration cluster based on the probe results of the first arbitration cluster.

[0330] The health value of the first arbitration cluster includes either a first value or a second value. The first value indicates a healthy state, and the second value indicates an unhealthy state.

[0331] For example, if the detection result of the first arbitration cluster indicates that the first arbitration cluster is not faulty, the health status of the first arbitration cluster is determined to include a first value. For example, the first value can be 100. If the detection result of the first arbitration cluster indicates that the first arbitration cluster is faulty, the health status of the first arbitration cluster is determined to be a second value. For example, the second value can be 0.

[0332] It should be noted that the specific values ​​of the first and second numerical values ​​are not limited in the embodiments of this application; the above are merely illustrative examples.

[0333] S14: The first probe node writes the health value of the first arbitration cluster into the second arbitration cluster.

[0334] For example, after obtaining the health value of the first arbitration cluster, the first probe node writes the health value of the first arbitration cluster to the second arbitration cluster. That is, the health value of the primary arbitration cluster is stored in the backup arbitration cluster.

[0335] In the above embodiments, during the process of the first arbitration cluster (i.e., the primary arbitration cluster) providing arbitration services, the first probe node of the probe cluster probes the first arbitration cluster and writes the obtained health value of the first arbitration cluster into the second arbitration cluster (i.e., the backup arbitration cluster), which stores the probe results of the first arbitration cluster. On the one hand, since it is not necessary to store data on the first probe node, a stateless node can be used as the first probe node, which helps to simplify the architecture of the probe cluster and improve the convenience of expanding probe nodes. On the other hand, it makes full use of the storage capacity of the backup arbitration cluster of the arbitration cluster system, ensuring the convenience of subsequently obtaining these health values.

[0336] Furthermore, the health value of the first arbitration cluster can be stored in external memory or within the first arbitration cluster itself. This helps to increase the diversity of storage locations for the health value of the first probe cluster.

[0337] It should be noted that the storage location of the health value of the first arbitration cluster is not limited in this application embodiment; the above is merely an illustrative example. The following example, where the health value of the first arbitration cluster is stored in the second arbitration cluster, will be used to illustrate this application embodiment.

[0338] The following section provides an example of how the second arbitration cluster stores the health value of the first arbitration cluster, using S15.

[0339] S15: The second arbitration cluster stores K historical health values ​​of the first arbitration cluster. Where K is a positive integer greater than or equal to 1.

[0340] In this embodiment of the application, an arbitration platform runs on the second arbitration cluster. The operation performed by the second arbitration cluster, such as the operation in S15, can be considered as the operation performed by the arbitration platform running on the second arbitration cluster, or the operation performed by the second arbitration cluster through the arbitration platform. This will not be described in detail later.

[0341] For example, after the second arbitration cluster obtains the first health value of the first arbitration cluster, it stores the first health value. Similarly, after obtaining the Kth health value of the first arbitration cluster, it stores the Kth health value. Then, after the second arbitration cluster obtains the (K+1)th health value of the first arbitration cluster, it stores the (K+1)th health value and deletes the first health value of the first arbitration cluster, thus ensuring that the second arbitration cluster only stores the K health values ​​of the first arbitration cluster.

[0342] For example, when the second arbitration cluster stores the first health value, the update time of the K health values ​​is the same as the time when the second arbitration cluster stores the first health value. Similarly, when the second arbitration cluster stores the (K+1)th health value, the update time of the K health values ​​is the same as the time when the second arbitration cluster stores the (K+1)th health value. In other words, the update time of the K health values ​​is the same as the time when the second arbitration cluster stores the most recently determined health value of the first arbitration cluster.

[0343] Optionally, K can be any value from 2 to 10.

[0344] In one example, K is 2. This not only helps reduce the storage space occupied by the historical health values ​​of the first arbitration cluster, but also helps avoid saving historical health values ​​determined earlier, thereby helping to improve the accuracy of the K historical health values.

[0345] In another example, K is 10. This helps to increase the richness of the historical health values ​​of the first arbitration cluster.

[0346] In another example, K is 5. This not only effectively controls the storage space occupied by the historical health values ​​of the first arbitration cluster, but also ensures the richness of the historical health values ​​of the first arbitration cluster.

[0347] It should be noted that the specific value of K is not limited in the embodiments of this application; the above is merely an illustrative example. Hereinafter, the embodiments of this application will be illustrated using K as 5.

[0348] For example, such as Figure 6 As shown, after the second arbitration cluster obtains the first health value of the first arbitration cluster, it stores the first health value at time T1. Similarly, it stores the second health value at time T2, and so on, until the fifth health value is stored at time T5. After storing the sixth health value at time T6, the second arbitration cluster deletes the first health value stored at time T1 to ensure that the second arbitration cluster only stores the five health values ​​of the first arbitration cluster.

[0349] In this embodiment, by setting the second arbitration cluster to store only the K most recently stored health values, by setting an appropriate K value, it is not only helpful to avoid the historical health values ​​of the first arbitration cluster occupying too much storage space, but also to avoid saving the historical health values ​​determined earlier, thereby helping to ensure the accuracy of the stored health values ​​of the first arbitration cluster.

[0350] Optionally, during the process of the first arbitration cluster providing arbitration services to the outside world, the primary and backup arbitration switching method also includes the following S16.

[0351] S16: The first probe node obtains the probe results of the second arbitration cluster.

[0352] For example, the first detection node detects the second arbitration cluster according to the second detection cycle and obtains the detection results of the second arbitration cluster.

[0353] It should be noted that the explanation of the second detection period can be found in the explanation of the first detection period, and will not be repeated here. Furthermore, the second detection period and the first detection period can be the same or different; this application does not impose any restrictions on this.

[0354] For example, when the first probe node probes the second arbitration cluster through the read-write mechanism, it can use the health value of the first arbitration cluster as the data to be written and read.

[0355] In one example, if the first probe node fails to write the health value of the first arbitration cluster to the second arbitration cluster, the probe result of the second arbitration cluster is used to indicate that the second arbitration cluster is faulty.

[0356] In another example, if the first probe node successfully writes the health value of the first arbitration cluster to the second arbitration cluster, the first probe node reads the health value of the first arbitration cluster from the second arbitration cluster, obtaining a read result of 1. If read result 1 indicates a successful read, the first probe node determines that the probe result of the second arbitration cluster indicates that the second arbitration cluster is functioning correctly. If read result 1 indicates a read failure, the first probe node determines that the probe result of the second arbitration cluster indicates that the second arbitration cluster is malfunctioning.

[0357] It should be noted that other related explanations for S16 can be found in the explanations of S12a-S12f above, and will not be repeated here.

[0358] In the above embodiments, during the process of the first arbitration cluster providing arbitration services to the outside world, the first detection node detects the second arbitration cluster, which helps to understand the health status of the backup arbitration cluster in a timely manner and avoid the failure of the backup arbitration cluster to be detected in time, thus affecting the subsequent switching of the main arbitration cluster.

[0359] Optionally, after the first probe node obtains the probe results from the second arbitration cluster, the primary / backup arbitration switching method further includes the following step S17.

[0360] S17: The first probe node obtains the health value of the second arbitration cluster based on the probe results of the second arbitration cluster; the first probe node writes the health value of the second arbitration cluster into at least one of the first arbitration cluster or the second arbitration cluster.

[0361] It should be noted that the relevant explanations for S17 can be found in the explanations for S13-S15, and will not be repeated here.

[0362] In the above embodiments, by writing the health value of the second arbitration cluster into at least one of the first arbitration cluster or the second arbitration cluster, it is easier to obtain the health value of the second arbitration cluster in the future.

[0363] Optionally, after the first probe node obtains the probe results from the second arbitration cluster, the primary / backup arbitration switching method further includes the following step S18.

[0364] S18: If the detection results of the second arbitration cluster indicate a failure in the second arbitration cluster, the first detection node reports a second alarm message. The second alarm message indicates a failure in the backup arbitration cluster.

[0365] For example, after the first detection node determines that the detection result of the second arbitration cluster is used to indicate that the second arbitration cluster has a fault, the first detection node reports the second alarm information to the alarm platform so that the second alarm information can be transmitted to the user through the alarm platform, so that the user can know that the backup arbitration cluster has a fault.

[0366] It should be noted that other relevant explanations for the second alarm message can be found in the explanations for the first alarm message mentioned above, and will not be repeated here.

[0367] In the above embodiments, when the second detection result of the second arbitration cluster indicates that the second arbitration cluster is faulty, the second alarm information is transmitted to the user through the alarm platform, so that the user can be informed in time that the backup arbitration cluster has failed, thereby helping the user to deal with the failure of the backup arbitration cluster in a timely manner and avoid affecting the subsequent operation of switching the primary arbitration cluster.

[0368] S502: The first detection node indicates that the first arbitration cluster has a fault based on the detection results of the first arbitration cluster, and determines the target health value of the first arbitration cluster.

[0369] In this application embodiment, obtaining the target health value includes multiple implementation methods, which are described below through method 1 and method 2.

[0370] Method 1 involves the probe cluster acquiring the target health value through at least two probe nodes. Method 1 will be described below using steps S19-S21.

[0371] For example, the probe cluster includes a first probe node and at least one second probe node. The at least one second probe node includes probe nodes other than the first probe node among the multiple probe nodes. Both the first probe node and the at least one second probe node are alive, that is, both the first probe node and the at least one second probe node are probe nodes that have not failed.

[0372] The following example, using a first detection node and at least one second detection node, illustrates Method 1.

[0373] S19: The first probe node determines the first health value of the first arbitration cluster.

[0374] For example, in each detection cycle, after the first detection node obtains the detection result of the first arbitration cluster, if it determines that the detection result of the first arbitration cluster indicates that the first arbitration cluster is faulty, the first detection node determines the first health value of the first arbitration cluster to determine the health status of the first arbitration cluster, thereby determining whether it is necessary to switch the primary arbitration cluster for the arbitration cluster system.

[0375] Optionally, S19 includes multiple implementations, which are exemplified below using method A and method B.

[0376] In Method A, the first probe node determines the first health value of the first arbitration cluster based on the historical health values ​​of the first arbitration cluster. Method A will be described below as an example using S19a-S19b.

[0377] S19a: The first probe node obtains the target historical health value of the first arbitration cluster.

[0378] Optionally, the target historical health value includes various scenarios, which are illustrated below using scenarios a through c.

[0379] Case a: The target historical health value includes K historical health values, and the difference between the update time of the K historical health values ​​and the current time is less than or equal to the difference threshold.

[0380] For example, the second arbitration cluster stores K historical health values ​​of the first arbitration cluster. When the difference between the update time of the K historical health values ​​and the current time meets the difference threshold, the first probe node obtains the K historical health values ​​from the second arbitration cluster and uses the K historical health values ​​as the target historical health values.

[0381] Optionally, the difference threshold can include any value between 10s and 60s.

[0382] In one example, the difference threshold is 10 seconds, meaning the first probe node only acquires historical health values ​​updated within the last 10 seconds. This helps improve the accuracy and reliability of the acquired target historical health values.

[0383] In another example, the difference threshold is 60 seconds, meaning the first probe node acquires the updated historical health value within 60 seconds. This helps to improve the richness of the target's historical health value.

[0384] In another example, the difference threshold is 30 seconds, meaning the first probe node only acquires historical health values ​​updated within the last 30 seconds. This helps to balance the richness and reliability of the target's historical health values.

[0385] It should be noted that the specific value of the difference threshold is not limited in the embodiments of this application; the above is merely an illustrative example. For instance, the difference threshold can be dynamically adjusted according to the actual scenario.

[0386] For example, combining the first detection cycle and the number of historical health values ​​included in the target historical health value, the arbitration recovery time (also known as the fault recovery time) of the arbitration cluster system satisfies the following formula (2):

[0387] Arbitration recovery time = First detection cycle * Configured number of detections (2)

[0388] The arbitration recovery time characterizes the time required to switch the backup arbitration cluster to the primary arbitration cluster after the primary arbitration cluster fails. The configured probe count characterizes the number of historical health values ​​included in the target historical health value.

[0389] In this scenario, a sliding window mechanism is used to obtain the target historical health value. By setting it to only retrieve historical health values ​​where the difference between the update time and the current time is less than or equal to a difference threshold, this approach helps avoid retrieving historical health values ​​stored too early, thus improving the accuracy of the target historical health value and preventing misjudgments. Furthermore, by setting it to retrieve only K historical health values, and by choosing an appropriate K value, not only is the complexity of calculating the first health value reduced, but the memory usage during the calculation process is also decreased.

[0390] For example, such as Figure 6 As shown, before time T1, the first probe node probes the first arbitration cluster and obtains probe result 1, indicating a fault in the first arbitration cluster. Based on this, the first probe node tries to obtain the historical health value of the first arbitration cluster from the second arbitration cluster. Since the second arbitration cluster did not store the historical health value of the first arbitration cluster before time T1, the first probe node does not obtain this historical health value. Therefore, based on probe result 1, the first probe node obtains the health value 1 of the first arbitration cluster, for example, a health value of 0. Then, the first probe node writes the health value 1 into the second arbitration cluster, and the second arbitration cluster stores the health value 1 at time T1.

[0391] Based on this, the first probe node continues to probe the first arbitration cluster until the second arbitration cluster stores K historical health values. The first probe node then obtains K historical health values ​​from the second arbitration cluster as the target historical health value.

[0392] In scenario b, the target historical health value includes the K historical health value within the target period.

[0393] Among them, the K historical health values ​​within the target period refer to the K historical health values ​​stored by the second arbitration cluster within the target period.

[0394] For example, the second arbitration cluster stores multiple historical health values ​​of the first arbitration cluster. The first probe node obtains K historical health values ​​within the target period from these multiple historical health values.

[0395] Optionally, the target timeframe can include any value between 10s and 60s.

[0396] In one example, the target timeframe is 10 seconds. This means the first probe node only acquires historical health values ​​within the last 10 seconds. For instance, if the current time is 8:10:40 PM, the first probe node will only retrieve historical health values ​​stored between 8:10:30 PM and 8:10:40 PM. This helps improve the accuracy and reliability of the acquired target historical health values.

[0397] In another example, the target timeframe is 60 seconds. This means the first probe node only retrieves historical health values ​​from the past 60 seconds. For instance, if the current time is 8:10:40 PM, the first probe node will only acquire historical health values ​​stored between 8:09:40 PM and 8:10:40 PM. This helps to increase the richness of the target's historical health values.

[0398] In another example, the target timeframe is 30 seconds. This means the first probe node only retrieves historical health values ​​within the last 30 seconds. For instance, if the current time is 20:10:40, the first probe node will only acquire historical health values ​​stored between 20:10:10 and 20:10:40. This helps to balance the richness and reliability of the target's historical health values.

[0399] It should be noted that the embodiments of this application do not limit the specific duration of the target period; the above is merely an illustrative example. For instance, the target period can be dynamically adjusted according to the actual scenario.

[0400] It should be noted that other relevant explanations for situation b can be found in the explanation of situation a above, and will not be repeated here.

[0401] In the above embodiments, by obtaining K historical health values ​​within the target period as the target historical health value, it is helpful to improve the richness and accuracy of the target historical health value, and also to reduce the computational complexity.

[0402] In case c, the target historical health value includes the K most recently stored historical health values. These K most recently stored historical health values ​​refer to the K health values ​​most recently stored by the second arbitration cluster at the current time.

[0403] It should be noted that other relevant explanations for situation c can be found in the explanations for situations a and b above, and will not be repeated here.

[0404] In the above embodiments, by obtaining the K most recently stored historical health values, it is not only helpful to reduce the computational complexity, but also to improve the diversity of the target historical health values.

[0405] It should be noted that the embodiments of this application do not limit the target historical health value; the above is merely an illustrative example. The following description uses an example where the target historical health value includes K historical health values ​​to illustrate the embodiments of this application.

[0406] S19b: The first probe node determines the first health value of the first arbitration cluster based on the target historical health value of the first arbitration cluster.

[0407] For example, after the first probe node obtains the target historical health value of the first arbitration cluster, it determines the first health value of the first arbitration cluster based on the target historical health value of the first arbitration cluster.

[0408] In one example, the first health value is the average of the K historical health values ​​included in the target historical health value. This helps improve the accuracy of the first health value for the first arbitration cluster.

[0409] For example, the first health value of the first arbitration cluster satisfies the following formula (1):

[0410]

[0411] Among them, H i The i-th historical health value is used to characterize the first arbitration cluster, where i is a positive integer greater than 1 and less than or equal to K. K is used to characterize the number of historical health values ​​included in the target historical health value.

[0412] Specifically, when the first health score is the second value, the first arbitration cluster is considered unhealthy, meaning it is experiencing a fault. When the first health score is the first value, the first arbitration cluster is considered healthy, meaning it is not experiencing a fault. When the first health score is the third value, where the second value < the third value < the first value, the first arbitration cluster is considered sub-healthy. Sub-health indicates that the first arbitration cluster suffers from problems such as high network latency, packet loss, and network jitter.

[0413] In another example, the first health value is the maximum of the K historical health values ​​included in the target historical health value. This helps improve the availability of the first arbitration cluster.

[0414] In another example, the first health score is the minimum of the K historical health scores included in the target historical health score. This helps improve the reliability of the first arbitration cluster.

[0415] In the above embodiments, when the first arbitration cluster, as the primary arbitration cluster, provides arbitration services to the outside world, and the first detection node detects a fault in the primary arbitration cluster, it obtains the target historical health value of the primary arbitration cluster and determines the first health value of the primary arbitration cluster based on the target historical health value. Based on the first health value, it determines whether it is necessary to switch the primary arbitration cluster for the arbitration cluster system. This helps to improve the accuracy of the judgment result, thereby helping to avoid misjudgment and thus helping to avoid the erroneous switching of the primary arbitration cluster due to network jitter, which would affect the high availability of the arbitration cluster system.

[0416] Method B: The first probe node determines the first health value of the first arbitration cluster based on the probe results obtained from the first arbitration cluster.

[0417] Hereinafter, method B will be described by way of example via S19c.

[0418] S19c: The first probe node obtains the first health value of the first arbitration cluster based on the probe results of the first arbitration cluster.

[0419] It should be noted that the relevant explanations for S19c can be found in the explanation of S13 above, and will not be repeated here. That is to say, the first health value of the first arbitration cluster can be the health value of the first arbitration cluster in S13 above.

[0420] In the above embodiments, the first detection node determines the first health value of the first arbitration cluster based on the detection results of the first arbitration cluster obtained by the current detection of the first arbitration cluster. This not only helps to improve the speed of obtaining the first health value, thereby improving the speed of switching the main arbitration cluster for the arbitration cluster system, but also helps to improve the reliability of the main arbitration cluster.

[0421] Optionally, the primary / backup arbitration switching method also includes the following S20.

[0422] Through S20, the first probe node can write the obtained first health value into the second arbitration cluster, so that at least one second probe node can obtain the first health value determined by the first probe node from the second arbitration cluster.

[0423] S20: The first probe node writes the first health value of the first arbitration cluster into the second arbitration cluster.

[0424] For example, after obtaining the first health value of the first arbitration cluster, the first probe node writes the first health value to the second arbitration cluster. In this way, other probe nodes in the probe cluster (e.g., at least one second probe node) can obtain the first health value of the first arbitration cluster and use it to determine the target health value of the first arbitration cluster.

[0425] In the above embodiment, the first health value of the first arbitration cluster is determined by the first probe node and written to the second arbitration cluster, so that other probe nodes can obtain the first health value of the first arbitration cluster determined by the first probe node from the second arbitration cluster. Then, combined with the first health value of the first arbitration cluster determined by the first arbitration cluster, the target health value of the first arbitration cluster is obtained to determine whether it is necessary to switch the primary arbitration cluster for the arbitration cluster system.

[0426] S21: If the first health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node acquires the second health value of the first arbitration cluster determined by at least one second probe node. The target health value of the first arbitration cluster includes the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster.

[0427] The following example, using a single second detection node, illustrates S21.

[0428] In this embodiment of the application, a second detection platform runs on the second detection node. The operation performed by the second detection node, such as determining the second health value of the first arbitration cluster, can be considered as the operation performed by the second detection platform running on the second detection node, or the operation performed by the second detection node through the second detection platform, which will not be described in detail hereafter.

[0429] For example, after the second probe node determines the second health value of the first arbitration cluster, it writes the second health value of the first arbitration cluster into the second arbitration cluster. Based on this, if the first health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node retrieves the second health value of the first arbitration cluster determined by the second probe node from the second arbitration cluster, thereby obtaining the target health value of the first arbitration cluster.

[0430] It should be noted that the process by which the second probe node determines the second health value of the first arbitration cluster can be referred to the process by which the first probe node determines the first health value of the first arbitration cluster, and will not be repeated here.

[0431] Optionally, a second health value of the first arbitration cluster determined by at least one second probe node is obtained, including various cases, which are illustrated below by example through case 1 and case 2.

[0432] The following examples illustrate Case 1 and Case 2, using a probe cluster consisting of a first probe node and Q second probe nodes as examples. Here, the first probe node and the Q second probe nodes represent all surviving nodes in the probe cluster, and Q is a positive integer greater than or equal to 1.

[0433] Case 1: Obtain the second health value of the first arbitration cluster determined by at least one second probe node, including: obtaining the second health value of the first arbitration cluster determined by Q second probe nodes.

[0434] In this scenario, by setting the acquisition of the second health value of the first arbitration cluster determined by Q second probe nodes, that is, acquiring the second health value of the first arbitration cluster determined by all second probe nodes, the main arbitration cluster can be switched to the arbitration cluster system only when all surviving probe nodes of the probe cluster determine that the first arbitration cluster is faulty, i.e., when the second health value of the first arbitration cluster determined by each second probe node is less than or equal to the first health threshold. This helps to improve the accuracy of switching the main arbitration cluster and avoid false switching.

[0435] Case 2 involves obtaining the second health value of the first arbitration cluster determined by at least one second probe node, including: obtaining the second health values ​​of the first arbitration cluster determined by S second probe nodes. Here, S is a positive integer less than Q.

[0436] In this scenario, by setting the second health value of the first arbitration cluster determined by S second probe nodes, that is, by obtaining the second health value of the first arbitration cluster determined by some of the second probe nodes, the primary arbitration cluster can be switched when the surviving probe nodes of the probe cluster determine that the first arbitration cluster is faulty, thereby helping to improve the reliability of the primary arbitration cluster of the arbitration cluster system.

[0437] In the above embodiments, by using at least two surviving probe nodes, it is determined whether to switch the primary arbitration cluster. This helps to improve the accuracy of the target health value of the first arbitration cluster, and thus helps to ensure the accuracy of switching the primary arbitration cluster for the arbitration cluster system.

[0438] Method 2 involves the probe cluster obtaining the target health value through a single probe node. For example, the target health value is obtained through a first probe node. Based on this, the target health value of the first arbitration cluster is the first health value, which helps improve the efficiency of obtaining the target health value.

[0439] S503: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node sets the second arbitration cluster as the main arbitration cluster.

[0440] In this embodiment, after the first probe node obtains the target health level, it determines whether the target health level value is less than or equal to a first health level threshold. If the determination result is that the target health level value is less than or equal to the first health level threshold, it indicates that the first arbitration cluster is indeed faulty and can no longer provide reliable arbitration services for the multi-cluster system, requiring a switch to the primary arbitration cluster. Based on this, in order to ensure that the arbitration cluster system can provide arbitration services normally, the first probe node sets the second arbitration cluster (i.e., the backup arbitration cluster) as the primary arbitration cluster, so that the new primary arbitration cluster (i.e., the second arbitration cluster) can provide arbitration services externally.

[0441] Example 1, in conjunction with method 1 in S502 above, when the target health value includes a first health value and at least one second health value, the target health value being less than or equal to the first health threshold may include: the first health value being less than or equal to the first health threshold, and each of the at least one second health value being less than or equal to the first health threshold.

[0442] For example, if the target health value includes a first health value and Q second health values, then the target health value is less than or equal to the first health threshold, which means the first health value is less than or equal to the first health threshold, and each of the Q second health values ​​is less than or equal to the first health threshold.

[0443] In this embodiment, the primary arbitration cluster is switched only when each of the at least one secondary health value is less than or equal to the first health threshold. This allows the primary arbitration cluster to be switched only when all surviving probe nodes have determined that the first arbitration cluster is faulty. This helps to improve the accuracy of switching the primary arbitration cluster and avoids erroneous switching of the primary arbitration cluster.

[0444] Example 2, in conjunction with method 1 in S502 above, when the target health value includes a first health value and at least one second health value, the target health value is less than or equal to the first health threshold, including: the first health value is less than or equal to the first health threshold, and at least some of the second health values ​​are less than or equal to the first health threshold.

[0445] For example, if the target health value includes a first health value and Q second health values, then the target health value being less than or equal to the first health threshold is defined as the first health value being less than or equal to the first health threshold, and each of the J second health values ​​being less than or equal to the first health threshold. Here, J is a positive integer less than Q.

[0446] Example 3, combined with method 2 in S502 above, when the target health value includes the first health value, the target health value is less than or equal to the first health threshold, including: the first health value is less than or equal to the first health threshold.

[0447] Optionally, the first health threshold is any value between 0 and 20.

[0448] In one example, the first health threshold is 0. When the target health value is equal to 0, the first probe node sets the second arbitration cluster as the primary arbitration cluster. By setting the first health threshold to 0, the primary arbitration cluster is only switched when there are K consecutive historical health values ​​of 0 in the first arbitration cluster. This not only ensures the necessity of the switching operation but also avoids frequent switching.

[0449] In another example, the first health threshold is 20. When the target health value is less than or equal to 20, the first probe node sets the second arbitration cluster as the primary arbitration cluster. By setting the second health threshold to 20, the primary arbitration cluster can be switched when most of the K historical health values ​​are 0, thus enabling the switching of the primary arbitration cluster in cases of severe failure.

[0450] In another example, the first health threshold is 5. When the target health value is less than or equal to 5, the first probe node sets the second arbitration cluster as the primary arbitration cluster. By setting the first health threshold to 5, the primary arbitration cluster can be switched when most of the K historical health values ​​are 0, which also helps to balance the necessity of switching and avoid frequent switching.

[0451] It should be noted that the specific value of the first health threshold is not limited in the embodiments of this application; the above is merely an illustrative example.

[0452] Optionally, the first probe node sets the second arbitration cluster as the primary arbitration cluster, including the following S22.

[0453] S22: The first probe node configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0454] For example, the first probe node modifies the logical identifier of the second arbitration cluster stored in the second arbitration cluster to a first state. The logical identifier of the second arbitration cluster being in the first state indicates that the arbitration cluster identifier of the second arbitration cluster is the main arbitration cluster identifier. In other words, it is used to indicate that the second arbitration cluster is the main arbitration cluster, or to indicate that the arbitration cluster providing arbitration services for the second infrastructure is the second arbitration cluster.

[0455] For example, the first probe node changes the logical identifier of the second arbitration cluster from "is_master": false to "is_master": true, thereby changing the logical identifier of the second arbitration cluster to the first state and setting the second arbitration cluster as the master arbitration cluster of the arbitration cluster system. In other words, the second arbitration cluster is switched to the master arbitration cluster. In this way, the second arbitration cluster can determine that it is the master arbitration cluster and needs to provide arbitration services externally, such as providing arbitration services to a multi-cluster system, by the state of its logical identifier.

[0456] In the above embodiments, by configuring an arbitration cluster identifier for each arbitration cluster and indicating the primary and backup arbitration clusters through the two states of the arbitration cluster identifier, each arbitration cluster can determine whether it is the primary arbitration cluster by checking the state of its logical identifier, thus improving the convenience for each arbitration cluster to determine whether it is the primary arbitration cluster.

[0457] Optionally, the implementation process of the above S503 can be illustrated by means of method 1 and method 2, taking into account the switching frequency of the main arbitration cluster.

[0458] Method 1: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the primary arbitration cluster identifier configured in the first arbitration cluster is greater than or equal to the duration threshold, the first probe node will set the second arbitration cluster as the primary arbitration cluster.

[0459] Among them, the duration for which the first arbitration cluster is configured with the main arbitration cluster identifier is the duration for which the first arbitration cluster acts as the main arbitration cluster.

[0460] For example, if the first probe node determines that the target health value is less than or equal to a first health threshold, it determines whether the duration for which the first arbitration cluster acts as the primary arbitration cluster is greater than or equal to a duration threshold. If the determination result is that the duration for which the first arbitration cluster acts as the primary arbitration cluster is greater than or equal to the duration threshold, the first probe node sets the second arbitration cluster as the primary arbitration cluster.

[0461] For example, the first arbitration cluster stores first cluster information, including a switch time. This switch time indicates the first moment when the first arbitration cluster was set as the primary arbitration cluster. The difference between this first moment and the current moment represents the duration during which the first arbitration cluster served as the primary arbitration cluster. Based on this, the first probe node can obtain the duration of the first arbitration cluster's role as the primary arbitration cluster by retrieving the first moment from the first arbitration cluster.

[0462] Optionally, the duration threshold can be any value between 1 minute and 6 minutes.

[0463] In one example, the duration threshold is 1 minute. This helps ensure the probability that the second arbitration cluster will switch to the primary arbitration cluster if the first arbitration cluster fails. In another example, the duration threshold is 6 minutes. This helps avoid frequent switching of the primary arbitration cluster. In yet another example, the duration threshold is 3 minutes. This not only helps ensure the probability that the second arbitration cluster will switch to the primary arbitration cluster if the first arbitration cluster fails, but also helps avoid frequent switching of the primary arbitration cluster.

[0464] It should be noted that the specific value of the duration threshold is not limited in the embodiments of this application; the above is merely an illustrative example.

[0465] In this approach, the first probe node will only set the second arbitration cluster as the primary arbitration cluster if the duration of the primary arbitration cluster is greater than or equal to a duration threshold. By setting an appropriate duration threshold, the frequent switching of the primary arbitration cluster in the arbitration cluster system can be avoided, thereby helping to improve the stability of the arbitration cluster system.

[0466] Method 2: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node sets the second arbitration cluster as the primary arbitration cluster. In other words, the duration the first arbitration cluster serves as the primary arbitration cluster, or the switching frequency of the primary arbitration cluster, can be disregarded. This increases the probability of switching the primary arbitration cluster to the arbitration cluster system when the first arbitration cluster fails, thereby improving the reliability of the arbitration cluster system.

[0467] Optionally, the implementation process of S503 described above can be illustrated by means of method 3 and method 4, taking into account the health status of the backup arbitration cluster.

[0468] Method 3: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the health status of the second arbitration cluster meets the target conditions, the first probe node sets the second arbitration cluster as the main arbitration cluster.

[0469] For example, after the first probe node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node determines whether the health status of the second arbitration cluster meets the target condition. If the health status of the second arbitration cluster meets the target condition, the first probe node sets the second arbitration cluster as the primary arbitration cluster.

[0470] For example, if the health status of the second arbitration cluster does not meet the target conditions, the first probe node reports a third alarm to the alarm platform. The third alarm indicates that both the primary and backup arbitration clusters are faulty. In response to the received third alarm, the alarm platform reports the third alarm to the user, notifying the user of the fault in the arbitration cluster system so that the user can handle it promptly.

[0471] It should be noted that other relevant explanations for the third alarm message can be found in the explanation of the first alarm message, and will not be repeated here.

[0472] The health status of the second arbitration cluster meets the target conditions, including various situations, which are described below through situations 1 to 5.

[0473] Case 1: The health status of the second arbitration cluster meets the target conditions, including: the detection results of the second arbitration cluster indicate that the second arbitration cluster has not failed.

[0474] For example, if the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node obtains the probe result of the second arbitration cluster. If the probe result of the second arbitration cluster indicates that the second arbitration cluster is not faulty, the health status of the second arbitration cluster meets the target condition. Conversely, if the probe result of the second arbitration cluster indicates that the second arbitration cluster is faulty, the health status of the second arbitration cluster does not meet the target condition.

[0475] It should be noted that the process of obtaining the detection results of the second arbitration cluster can be referred to the process of obtaining the detection results of the first arbitration cluster, that is, refer to the description in S6, and will not be repeated here.

[0476] For example, when obtaining the probe results of the second arbitration cluster through the read-write mechanism, the data written to the second arbitration cluster can be either the first health value of the first arbitration cluster in S19, or the health value of the first arbitration cluster in S13. In this way, after writing the first health value of the first arbitration cluster to the second arbitration cluster, the first health value of the first arbitration cluster can be read directly to obtain the probe results of the second arbitration cluster, without needing to write other data to the second arbitration cluster again, which helps improve the efficiency of obtaining the health status of the second arbitration cluster.

[0477] In this scenario, the health status of the second arbitration cluster is obtained through the detection results of the second arbitration cluster. The process of obtaining the health status of the second arbitration cluster is simple and helps to improve the efficiency of obtaining the health status of the second arbitration cluster, thereby helping to improve the efficiency of switching the primary arbitration cluster.

[0478] Case 2: The health status of the second arbitration cluster meets the target conditions, including: the first health value of the second arbitration cluster is greater than or equal to the second health threshold.

[0479] For example, if the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node obtains the first health value of the second arbitration cluster. If the first health value of the second arbitration cluster is greater than or equal to the second health threshold, the health status of the second arbitration cluster meets the target condition. Conversely, if the first health value of the second arbitration cluster is less than the second health threshold, the health status of the second arbitration cluster does not meet the target condition.

[0480] Optionally, the second health threshold can be any value between 80 and 100.

[0481] In one example, the second health threshold is 80. When the health value of the second arbitration cluster is greater than or equal to 80, the health status of the second arbitration cluster meets the target condition. Conversely, when the health value of the second arbitration cluster is less than 80, the health status of the second arbitration cluster does not meet the target condition. Setting the second health threshold to 80 helps increase the probability of switching the primary arbitration cluster, thereby improving the availability of the arbitration cluster system.

[0482] In another example, the second health threshold is 100. When the health value of the second arbitration cluster is equal to 100, the health status of the second arbitration cluster meets the target condition. Conversely, when the health value of the second arbitration cluster is less than 100, the health status of the second arbitration cluster does not meet the target condition. Setting the second health threshold to 100 helps improve the reliability of the arbitration cluster system after switching the primary arbitration cluster.

[0483] In another example, the second health threshold is 90. When the health value of the second arbitration cluster is greater than or equal to 90, the health status of the second arbitration cluster meets the target condition. Conversely, when the health value of the second arbitration cluster is less than 90, the health status of the second arbitration cluster does not meet the target condition. By setting the second health threshold to 90, not only is the probability of switching the primary arbitration cluster guaranteed, but the reliability of the arbitration cluster system after the switch is completed is also guaranteed.

[0484] The process of obtaining the first health value of the second arbitration cluster can be referred to the process of obtaining the first health value of the first arbitration cluster, that is, refer to the description in S19, and will not be repeated here.

[0485] In this scenario, obtaining the health status of the second arbitration cluster through its first health value is not only simple and efficient, thus improving the efficiency of switching to the primary arbitration cluster, but also enhances the diversity of acquisition methods.

[0486] Case 3: The health status of the second arbitration cluster meets the target conditions, including: the target health value of the second arbitration cluster is greater than or equal to the second health threshold.

[0487] The process of obtaining the target health value of the second arbitration cluster can refer to the process of obtaining the health value of the first arbitration cluster, that is, refer to the description of S19 and S21, and will not be repeated here.

[0488] It should be noted that other relevant explanations for situation 3 can be found in the explanations for situations 1 to 2, and will not be repeated here.

[0489] In this scenario, the health status of the second arbitration cluster is obtained through the target health value of the second arbitration cluster. Since the target health value of the second arbitration cluster includes the first health value of the second arbitration cluster and the second health value of the second arbitration cluster, it helps to improve the stability and reliability of the obtained health status, thereby helping to improve the reliability of the arbitration services provided by the arbitration cluster system after the second arbitration cluster switches to the main arbitration cluster.

[0490] Case 4: The health status of the second arbitration cluster meets the target conditions, including: the first health value of the second arbitration cluster is greater than the target health value of the first arbitration cluster.

[0491] It should be noted that other relevant explanations for situation 4 can be found in the explanations for situations 1 to 3, and will not be repeated here.

[0492] In this scenario, the health status of the second arbitration cluster meets the target condition when the first health value of the second arbitration cluster is greater than the target health value of the second arbitration cluster. This allows for the selection of a relatively reliable primary arbitration cluster for the arbitration cluster system, thereby helping to ensure the availability of the arbitration cluster system.

[0493] Case 5: The health status of the second arbitration cluster meets the target conditions, including: the target health value of the second arbitration cluster is greater than the target health value of the second arbitration cluster.

[0494] It should be noted that other relevant explanations for situation 5 can be found in the explanations for situations 1 to 4, and will not be repeated here.

[0495] In this scenario, the health status of the second arbitration cluster meets the target condition when the target health value of the second arbitration cluster is greater than the target health value of the second arbitration cluster. This allows for the selection of a relatively reliable primary arbitration cluster for the arbitration cluster system, thereby helping to ensure the availability of the arbitration cluster system.

[0496] It should be noted that method 3 can be used in combination with method 1 or method 2, or it can be used alone. This application embodiment does not limit this.

[0497] Method 4: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node sets the second arbitration cluster as the primary arbitration cluster. In other words, the health status of the backup arbitration cluster can be disregarded. This increases the probability of switching the primary arbitration cluster to the arbitration cluster system when the first arbitration cluster fails, thereby improving the availability of the arbitration cluster system.

[0498] It should be noted that method 4 can be used in combination with method 1 or method 2, or it can be used alone. This application embodiment does not limit this.

[0499] Optionally, S503 described above can be illustrated by means of methods 5 and 6, taking into account the number of surviving probe nodes in the probe cluster.

[0500] Method 5: If the number of surviving probe nodes in the probe cluster is greater than 1, the first probe node sets the second arbitration cluster as the primary arbitration cluster.

[0501] For example, if the first probe node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node checks whether the number of currently surviving probe nodes is greater than 1. If the result is greater than 1, the first probe node sets the second arbitration cluster as the primary arbitration cluster. If the result is less than or equal to 1, the process ends.

[0502] The following example, using a target probe node, illustrates how to determine the number of surviving probe nodes. The target probe node includes surviving probe nodes within the probe cluster. For example, a first probe node, at least one second probe node, etc.

[0503] In this embodiment of the application, a target detection platform runs on the target detection node. The operations performed by the target detection node can be considered as the operations performed by the target detection platform running on the target detection node, or the operations performed by the target detection node through the target detection platform. This will not be elaborated further.

[0504] For example, the target probe node subscribes to the node status field of a backup arbitration cluster (e.g., a second arbitration cluster). The node status field indicates whether a probe node in the cluster is alive or has failed. Based on this, if the node status field changes, the backup arbitration cluster sends a third subscription message to the target probe node. The target probe node can obtain this third subscription message, which indicates whether a probe node in the cluster is alive or has failed. Therefore, if the first probe node determines that the target health value of the first arbitration cluster is less than or equal to a first health threshold, it can determine whether the number of alive probe nodes is greater than one based on the latest received third subscription message.

[0505] For example, the first probe node can also obtain, based on the third subscription information, a list of probe nodes that are alive in the probe cluster, a list of probe nodes that have failed in the probe cluster, the number of probe nodes that are alive in the probe cluster, and the number of probe nodes that have failed in the probe cluster.

[0506] For example, the liveness detection nodes of the detection cluster send heartbeat signals to the second arbitration cluster according to a preset heartbeat cycle. The second arbitration cluster can determine the node status field based on the heartbeat signals received in each heartbeat cycle.

[0507] It should be noted that the embodiments of this application do not limit the method by which the second arbitration cluster determines the node status field; the above is merely an illustrative example.

[0508] It should be noted that the embodiments of this application do not limit the specific duration of the heartbeat cycle, and can be dynamically set according to the actual scenario.

[0509] In this example, the distributed component publish-subscribe capability on the standby arbitration cluster is used to subscribe to information about the live probe nodes of the probe cluster. In this way, when the live probe nodes of the probe cluster change, the standby arbitration cluster actively sends third subscription information to the live probe nodes, so that the live probe nodes can be aware of the changes in the live probe nodes in a timely manner.

[0510] It should be noted that the embodiments of this application do not limit how to determine the number of currently surviving detection nodes; the above is merely an illustrative example.

[0511] In this method, the probe cluster sets the second arbitration cluster as the primary arbitration cluster only when the number of surviving probe nodes is greater than 1. This ensures that the primary arbitration cluster is automatically switched only when there are at least two surviving probe nodes in the probe cluster, which helps to improve the reliability of switching the primary arbitration cluster.

[0512] It should be noted that method 5 can be used in combination with methods 1 / 2, 3 / 4, etc., or it can be used alone. This application embodiment does not limit this.

[0513] Method 6: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, then the first probe node sets the second arbitration cluster as the main arbitration cluster.

[0514] In other words, the number of currently active probe nodes in the probe cluster can be disregarded. This helps increase the probability of switching the primary arbitration cluster to the arbitration cluster system when the primary arbitration cluster fails, thereby improving the availability of the arbitration cluster system.

[0515] Optionally, S503 described above can be illustrated by means of methods 7 and 8, taking into account the status of the arbitration cluster identifier of the backup arbitration cluster.

[0516] Method 7: When the arbitration cluster identifier of the second arbitration cluster is the standby arbitration cluster identifier, for example, when the logical identifier of the second arbitration cluster is in the second state, the first probe node configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, for example, by modifying the logical identifier of the second arbitration cluster to the first state. The logical identifier of the second arbitration cluster in the second state is used to indicate that the second arbitration cluster is a standby arbitration cluster.

[0517] For example, if the first probe node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, it obtains the arbitration cluster identifier of the second arbitration cluster and determines whether the arbitration cluster identifier of the second arbitration cluster is a backup arbitration cluster identifier. If the determination result is that the arbitration cluster identifier of the second arbitration cluster is a backup arbitration cluster identifier, the first probe node configures the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier. Otherwise, if the determination result is that the arbitration cluster identifier of the second arbitration cluster is the primary arbitration cluster identifier, the process ends.

[0518] In this approach, the arbitration cluster identifier of the second arbitration cluster is obtained before it is modified, and the arbitration cluster identifier of the backup arbitration cluster is modified only when the arbitration cluster identifier of the second arbitration cluster indicates that the second arbitration cluster is a backup arbitration cluster. This helps to ensure the accuracy of the main arbitration switching operation.

[0519] Method 8: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first probe node sets the second arbitration cluster as the primary arbitration cluster. In other words, the current state of the standby arbitration cluster's arbitration cluster identifier can be disregarded, which helps improve the speed of switching the primary arbitration cluster to the arbitration cluster system.

[0520] Hereinafter, with reference to Example 1 in S503, S503 will be described by way of example. Optionally, S503 includes the following S23-S25.

[0521] S23: If both the first health value and the second health value of the first arbitration cluster are less than or equal to the first health threshold, the first probe node sends a leader election request to the second arbitration cluster. The leader election request is used to request to be elected as the leader probe node.

[0522] The primary probe node is used to configure the backup arbitration cluster as the primary arbitration cluster. Alternatively, the primary node election request can be used to request the selection of the primary probe platform, which in turn configures the arbitration cluster identifier of the backup arbitration cluster as the primary arbitration cluster identifier.

[0523] For example, after the first arbitration cluster obtains the second health value of the first arbitration cluster from the second arbitration cluster, it determines whether the second health value is less than or equal to the first health threshold. If the determination result is that the second health value is less than or equal to the first health threshold, it means that the target health value is less than or equal to the first health threshold, and the primary arbitration cluster needs to be switched for the arbitration cluster system. Based on this, the first probe node sends a leader election request to the second arbitration cluster to request to be elected as the primary probe node of the probe cluster.

[0524] Optionally, the first probe node sends a leader election request to the second arbitration cluster, including: if the number of surviving probe nodes in the probe cluster is greater than 1, the first probe node sends a leader election request to the second arbitration cluster.

[0525] For example, if the first probe node determines that the target health value is less than or equal to a first health threshold, the first probe node checks whether the number of currently surviving probe nodes in the probe cluster is greater than one. If the result is greater than one, the first probe node sends a leader election request to the second arbitration cluster. Otherwise, if the result is less than or equal to one, the process ends. This helps ensure the reliability of switching the master arbitration cluster.

[0526] S24: The first probe node obtains the leader election result of the second arbitration cluster. The leader election result is used to indicate whether the leader election was successful or failed.

[0527] For example, after receiving a leader election request from at least one probe node, the second arbitration cluster selects a master probe node based on the leader election strategy and stores the leader election result. Then, the first probe node probes the cluster to obtain the leader election result. If the second arbitration cluster selects the first probe node as the master probe node, the leader election result indicates that the first probe node has successfully elected the master. Conversely, if the second arbitration cluster selects the second probe node as the master probe node, the leader election result indicates that the second probe node has successfully elected the master, meaning that the first probe node failed to elect the master.

[0528] It should be noted that the embodiments of this application do not limit the leader election strategy. For example, the leader election strategy can be that the probe node that sends the leader election request first becomes the main probe node.

[0529] S25: If the leader election result is successful, the first probe node sets the second arbitration cluster as the primary arbitration cluster.

[0530] For example, after the first probe node obtains the leader election result, if the leader election result indicates that the first probe node has successfully elected the leader, the first probe node sets the second arbitration cluster as the main arbitration cluster, so that the second arbitration cluster provides arbitration services for the multi-cluster system.

[0531] In the above embodiments, when the probe cluster switches the primary arbitration cluster in the arbitration cluster system, a primary probe node is selected through the second arbitration cluster, and the primary probe node performs the operation of switching the primary arbitration cluster. This allows the use of stateless nodes as probe nodes, simplifying the probe cluster architecture and enabling distributed locking to ensure that only one probe node can modify the state of the logical identifier of the second arbitration cluster. Furthermore, it helps to fully utilize the second arbitration cluster, enabling primary election within the cluster, and also improves the reliability of switching arbitration clusters.

[0532] For example, after the first probe node determines itself to be the primary probe node, it obtains the logical identifier of the second arbitration cluster and determines whether the logical identifier of the second arbitration cluster is in the second state. If the determination result is that the logical identifier of the second arbitration cluster is in the second state, the first probe node modifies the logical identifier of the second arbitration cluster to the first state. Otherwise, if the determination result is that the second arbitration cluster is in the first state, the process ends.

[0533] In this implementation, the master probe node modifies the logical identifier of the backup arbitration cluster only when the logical identifier of the second arbitration cluster is set to indicate that the second arbitration cluster is the backup arbitration cluster. In this way, when a master probe node fails after performing a switchover operation, and another master probe node appears, the new master probe node can avoid performing a switchover operation.

[0534] Optionally, the primary / backup arbitration switching method further includes: the target probe node obtaining the second subscription information sent by the second arbitration cluster, the second subscription information being used to instruct the second arbitration cluster to switch to the primary arbitration cluster.

[0535] In this embodiment, the target probe node can subscribe to the arbitration cluster identifier field of the backup arbitration cluster. In this way, after the arbitration cluster identifier of the backup arbitration cluster changes, the backup arbitration cluster will actively send a second subscription information to the target probe platform to notify of the change of the arbitration cluster identifier, so that the target probe node can be informed of the change of the arbitration cluster identifier of the backup arbitration cluster in a timely manner.

[0536] Optionally, in conjunction with mode 1 in S503, the primary / backup arbitration switching method may also include the following S30.

[0537] S30: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration for which the first arbitration cluster acts as the primary arbitration cluster is less than the duration threshold, the first probe node reports the sixth alarm message. The sixth alarm message is used to indicate the occurrence of continuous failures.

[0538] For example, the sixth alarm information may include information such as the first arbitration cluster having a fault, the target health value of the first arbitration cluster, the time when the first arbitration cluster switched to the primary arbitration cluster, and the duration of the first arbitration cluster as the primary arbitration cluster.

[0539] For example, after the first detection node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, it determines whether the duration for which the first arbitration cluster has served as the primary arbitration cluster is greater than or equal to the duration threshold. If the determination result is that the duration for which the first arbitration cluster has served as the primary arbitration cluster is less than the duration threshold, it indicates that the duration for which the first arbitration cluster has been switched to the primary arbitration cluster is relatively short. Based on this, the first detection node reports a sixth alarm to the alarm platform. Upon receiving the sixth alarm, the alarm platform reports the sixth alarm to the user to notify the user that the arbitration cluster system has experienced continuous failures.

[0540] It should be noted that the explanation of the sixth alarm message can be found in the explanation of the first alarm message, and will not be repeated here.

[0541] In this embodiment, when the first arbitration cluster is faulty and the time for the first arbitration cluster to switch to the main arbitration cluster is short, the first detection node reports the sixth alarm information to the user so that the user can determine whether manual switching is required. This helps to improve the reliability of switching the main arbitration cluster for the arbitration cluster system.

[0542] Optionally, the primary / backup arbitration switching method also includes the following S31.

[0543] S31: If the health status of the first arbitration cluster meets the second condition, the control node inspects the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, and obtains the inspection results.

[0544] Example 31a satisfies the second condition, including: the detection results of the first arbitration cluster indicate that the first arbitration cluster is faulty. This helps ensure the accuracy of the target arbitration information stored in the new primary arbitration cluster after switching to the primary arbitration cluster.

[0545] Example 31b satisfies the second condition, which includes: the first health value of the first arbitration cluster is less than or equal to the first health threshold. This helps ensure the accuracy of the target arbitration information stored in the new primary arbitration cluster after switching primary arbitration clusters.

[0546] Example 31c satisfies the second condition, which includes: the target health value of the first arbitration cluster is less than or equal to the first health threshold. This helps ensure the accuracy of the target arbitration information stored in the new primary arbitration cluster after switching primary arbitration clusters.

[0547] Example 31d satisfies the second condition, which includes: the second arbitration cluster is set as the primary arbitration cluster. This helps ensure the accuracy of the target arbitration information stored in the new primary arbitration cluster after switching to the primary arbitration cluster.

[0548] In this implementation, when the second condition is met, the control node inspects the target arbitration information stored in the first arbitration cluster and the second arbitration cluster to obtain the inspection results. This helps to promptly detect the inconsistency of target arbitration information data between the primary and backup arbitration clusters after the primary arbitration fails, thereby helping to prevent the new primary arbitration cluster from conducting arbitration based on incorrect target arbitration information.

[0549] It should be noted that other related explanations in S31 can be found in the explanations in S9-S11, and will not be repeated here.

[0550] In this embodiment of the application, during the process of the second arbitration cluster becoming the main arbitration cluster, the second arbitration cluster provides arbitration services to external parties.

[0551] It should be noted that the relevant explanations regarding the arbitration services provided by the second arbitration cluster can be found in the explanations regarding the arbitration services provided by the first arbitration cluster, and will not be repeated here.

[0552] In the above scheme, arbitration services are provided externally through the arbitration cluster system. For example, arbitration services are provided to multiple cluster systems outside the arbitration cluster system. Since the arbitration cluster system is a cluster system independent of the arbitration object (i.e., the multiple cluster system), when building the arbitration cluster system, for example, when deploying the arbitration software on the hardware device of the arbitration cluster system, it is not necessary to customize the arbitration software according to the characteristics of the arbitration object. This not only significantly improves the versatility of the arbitration software, enabling it to provide arbitration services to multiple different multiple cluster systems, but also reduces the development cost of the arbitration software.

[0553] Furthermore, the arbitration cluster system is configured with two arbitration clusters and a probe cluster. That is, the arbitration platform deploys arbitration software on two arbitration clusters. The arbitration cluster system provides arbitration services externally through the primary arbitration cluster. When the first arbitration cluster is the primary cluster, the arbitration cluster system provides arbitration services through it. The probe cluster obtains the target health level of the first arbitration cluster and determines whether the target health level is less than or equal to a first health threshold. If the target health level is less than or equal to the first health threshold, the probe cluster sets the second arbitration cluster as the primary arbitration cluster, allowing the arbitration cluster system to provide arbitration services through the second arbitration cluster. This enables the backup arbitration cluster to be switched to the primary arbitration cluster when the primary arbitration cluster's health is poor, thus significantly improving the availability of the arbitration services provided by the arbitration cluster system and contributing to the provision of highly available arbitration services. In addition, the main arbitration cluster of the arbitration cluster system provides arbitration services to the outside world through multiple arbitration nodes. Thus, when one arbitration node fails, other arbitration nodes can continue to provide arbitration services. This can significantly improve the availability of the arbitration services provided by the main arbitration cluster, thereby helping the arbitration cluster system to provide highly available arbitration services to the outside world.

[0554] Optionally, after the first probe node sets the second arbitration cluster as the primary arbitration cluster, the primary / standby arbitration switching method may also include S32.

[0555] S32: The first probe node sets the first arbitration cluster as the backup arbitration cluster of the arbitration cluster system.

[0556] For example, the first probe node configures the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier, thereby setting the first arbitration cluster as the backup arbitration cluster of the arbitration cluster system.

[0557] For example, the first arbitration cluster stores its logical identifier. The first probe node modifies the logical identifier of the first arbitration cluster from "is_master": true to "is_master": false, thereby changing the logical identifier of the first arbitration cluster to the second state. That is, it configures the arbitration cluster identifier of the first arbitration cluster as the standby arbitration cluster identifier, and thus sets the first arbitration cluster as the standby arbitration cluster of the arbitration cluster system, or in other words, it downgrades the first arbitration cluster to a standby arbitration cluster. In this way, the first arbitration cluster can determine that it is a standby arbitration cluster through its own arbitration cluster identifier and does not need to provide arbitration services externally.

[0558] In one example, after the first probe node sets the second arbitration cluster as the primary arbitration cluster, it obtains the first probe result of the first arbitration cluster. If the first probe result of the first arbitration cluster indicates that the first arbitration cluster is not faulty, the first probe node sets the first arbitration cluster as the backup arbitration cluster of the arbitration cluster system.

[0559] It should be noted that the process of obtaining the first detection result of the first arbitration cluster can be referred to the description in S501 above, and will not be repeated here.

[0560] In another example, after the first probe node sets the second arbitration cluster as the primary arbitration cluster, it obtains the first probe result of the first arbitration cluster and determines the third health value of the first arbitration cluster based on the first probe result. If the third health value of the first arbitration cluster is a first value, the first probe node sets the first arbitration cluster as the backup arbitration cluster of the arbitration cluster system.

[0561] It should be noted that other related explanations for S32 can be found in the explanation of S503 above, and will not be repeated here.

[0562] In the above embodiments, after setting the second arbitration cluster as the primary arbitration cluster, the first arbitration cluster is set as the backup arbitration cluster of the arbitration cluster system. This avoids the simultaneous existence of two primary arbitration clusters in the arbitration cluster system, thereby helping to improve the reliability and stability of the arbitration cluster system and thus improve its availability.

[0563] Optionally, the primary / backup arbitration switching method further includes: the target probe node obtaining the first subscription information sent by the first arbitration cluster, the first subscription information being used to instruct the first arbitration cluster to switch to the primary arbitration cluster.

[0564] In this embodiment, the target probe node can subscribe to the arbitration cluster identifier field of the first arbitration cluster. In this way, after the arbitration cluster identifier of the first arbitration cluster changes, the first arbitration cluster will actively send a second subscription message to the target probe node to notify of the change of the arbitration cluster identifier, so that the target probe node can be informed of the change of the arbitration cluster identifier of the main arbitration cluster in a timely manner.

[0565] Optionally, the primary / standby arbitration switching method may also include the following S33.

[0566] S33: If the target health value of the first arbitration cluster is greater than the first health threshold and less than or equal to the second health threshold, the first probe node reports the seventh alarm message. The seventh alarm message is used to indicate that the first arbitration cluster is in a sub-healthy state.

[0567] For example, the seventh alarm message may include the target health value of the first arbitration cluster. Based on this, the seventh alarm message can indicate that the first arbitration cluster is in a sub-healthy state through the target health value of the first arbitration cluster.

[0568] For example, if the first detection node determines that the target health value is greater than the first health threshold and less than or equal to the second health threshold, the first detection node reports a seventh alarm to the alarm platform so that the control node can report the seventh alarm to the user. After receiving the seventh alarm from the first detection node, the alarm platform reports the seventh alarm to the user, so that the user is aware that the first arbitration cluster is currently in a sub-healthy state, allowing the user to decide whether to switch to the primary arbitration cluster.

[0569] For example, after a user receives the seventh alarm information, if it is determined that a switch is needed, the user can send a switch request to the control node through an electronic device. The switch is used to request the switch of the primary arbitration cluster for the arbitration cluster system, that is, to upgrade the second arbitration cluster to the primary arbitration cluster.

[0570] It should be noted that other relevant explanations for the seventh alarm message can be found in the explanation of the first alarm message, and will not be repeated here.

[0571] In the above embodiments, when the first arbitration cluster is in a sub-healthy state, for example, when the first arbitration cluster has problems such as high network latency and high network packet loss rate, the seventh alarm information is reported to the user through the management node, and the user can judge whether it is necessary to switch the main arbitration cluster for the cluster system. This not only helps to avoid erroneous switching of the main arbitration cluster, but also helps to ensure the reliability and availability of the arbitration cluster system.

[0572] Optionally, if the first condition is met, the primary / backup arbitration switchover method may further include: the control node responding to the first switchover request by setting the second arbitration cluster as the primary arbitration cluster. The first switchover request is used to request the switchover of the backup arbitration cluster to the primary arbitration cluster.

[0573] For example, if the first condition is met and the user determines that a switch to the primary arbitration cluster is necessary, the user sends a first switch request to the management node via an electronic device. Figure 7 As shown, in response to the first switching request received, the control node can set the second arbitration cluster as the primary arbitration cluster, that is, upgrade the backup arbitration cluster to the primary arbitration cluster.

[0574] Optionally, satisfying the first condition includes multiple cases, which are illustrated below by examples from cases 1 to 6.

[0575] Case 1, satisfying the first condition, includes: the health value of the first arbitration cluster is greater than the first health value threshold and less than or equal to the second health value threshold.

[0576] For example, if the first probe node determines that the health value of the first arbitration cluster is greater than a first health value threshold and less than or equal to a second health value threshold, the first probe node reports a fifth alarm to the user through the alarm platform. After receiving the fifth alarm, if the user determines that it is necessary to switch the primary arbitration machine, the user can send a first switch request to the control node through an electronic device.

[0577] In this scenario, when the primary arbitration cluster is in a sub-optimal state, a manual switch to the primary arbitration cluster can be implemented.

[0578] Case 2, which meets the first condition, includes: each probe node in the probe cluster fails, and the first arbitration cluster fails.

[0579] For example, after each probe node in the probe cluster fails, each probe node reports alarm information 1 to the alarm platform. After the primary arbitration cluster fails, the primary arbitration cluster reports alarm information 2 to the alarm platform. Based on this, after receiving the fault information 1 from each probe node in the probe cluster and the fault information 2 from the primary arbitration cluster, the alarm platform reports target alarm information to the user. The target alarm information indicates information such as the failure of all probe nodes in the probe cluster and the failure of the primary arbitration cluster, so that the user can determine whether to switch the primary arbitration cluster based on the target alarm information.

[0580] It should be noted that other relevant explanations for situation 2 can be found in the explanations for situation 1 above, and will not be repeated here.

[0581] Case 3, which meets the first condition, includes: there is one surviving probe node in the probe cluster, and the first arbitration cluster fails.

[0582] It should be noted that other relevant explanations for situation 3 can be found in the explanations for situations 1 and 2 above, and will not be repeated here.

[0583] Case 4, which meets the first condition, includes: there is one surviving probe node in the probe cluster, and the first health value of the first arbitration cluster is less than or equal to the first health threshold.

[0584] For example, if the first detection node determines that there is one surviving detection node in the detection cluster, and the first health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection node will report alarm information to the user through the alarm platform.

[0585] It should be noted that other relevant explanations for situation 4 can be found in the explanations for situations 1 to 3 above, and will not be repeated here.

[0586] Case 5, which meets the first condition, includes: the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the first arbitration cluster as the main arbitration cluster is less than the duration threshold.

[0587] For example, if the first detection node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the first arbitration cluster as the primary arbitration cluster is less than the duration threshold, the first detection node reports a fourth alarm to the user through the alarm platform. Upon receiving the fourth alarm, if the user determines that a switch to the primary arbitration cluster is necessary, they can send a first switch request to the control node via an electronic device.

[0588] Case 6, satisfying the first condition, includes: the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the health status of the second arbitration cluster does not meet the target condition.

[0589] For example, if the first detection node determines that the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the health status of the second arbitration cluster does not meet the target conditions, the first detection node reports a third alarm to the user through the alarm platform. Upon receiving the third alarm, if the user determines that a switch to the primary arbitration cluster is necessary, they can send a first switch request to the control node via an electronic device.

[0590] Optionally, the primary / backup arbitration switchover method further includes: the control node responding to a second switchover request by switching the first arbitration cluster to a backup arbitration cluster. The second switchover request is used to request the switchover of the old primary arbitration cluster to the backup arbitration cluster.

[0591] For example, such as Figure 7 As shown, after the control node upgrades the backup arbitration cluster to the primary arbitration cluster, and the failure of the primary arbitration cluster is resolved, the control node can also set the primary arbitration cluster as the backup arbitration cluster, that is, downgrade the old primary arbitration cluster to the backup arbitration cluster. This avoids the simultaneous existence of two primary arbitration clusters in the arbitration cluster system, thus helping to ensure the stability and reliability of the arbitration cluster system.

[0592] In one example, after the failure of the first arbitration cluster is resolved, the user sends a handover request via an electronic device, requesting the management node to set the first arbitration cluster as the backup arbitration cluster. In another example, the management node may proactively set the first arbitration cluster as the backup arbitration cluster after detecting that the failure alarm of the first arbitration cluster has disappeared.

[0593] It should be noted that the embodiments of this application do not impose restrictions on the conditions under which the triggering control node sets the first arbitration cluster as a backup arbitration cluster; the above is merely an illustrative example.

[0594] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the arbitration device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0595] This application embodiment can, based on the above method, exemplarily divide the arbitration device into functional modules. For example, the arbitration device may include functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0596] For example, Figure 8 A possible schematic diagram of the detection platform (i.e., detection platform 800) involved in the above embodiments is shown. The actions performed by the detection platform 800 are implemented through a computing device or through corresponding software executed by a computing device. The detection platform 800 includes: a detection module 801, a determination module 802, and a switching module 803; the detection module 801 is used to acquire the detection results of the first arbitration cluster, and the detection results are used to indicate that the first arbitration cluster has a fault. For example, Figure 5 S501. The determining module 802 is used to determine the target health value of the first arbitration cluster based on the detection results. For example, Figure 5 S502. Switching module 803 is used to configure the arbitration cluster identifier of the second arbitration cluster to the primary arbitration cluster identifier when the target health value is less than or equal to the first health threshold. For example, Figure 5 S503.

[0597] Optionally, the switching module 803 is specifically used to: configure the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier when the target health value of the first arbitration cluster is less than or equal to the first health threshold and the duration of the main arbitration cluster identifier configured in the first arbitration cluster is greater than or equal to the duration threshold.

[0598] Optionally, after configuring the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier, the switching module 803 is also used to: configure the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier.

[0599] Optionally, the determining module 802 is specifically used to: determine a first health value of the first arbitration cluster based on the detection results; and, if the first health value of the first arbitration cluster is less than or equal to a first health threshold, obtain a second health value of the first arbitration cluster determined by at least one second detection platform; the target health value of the first arbitration cluster includes the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster.

[0600] Optionally, the switching module 803 is specifically used to: send a leader election request to the second arbitration cluster when both the first health value and the second health value of the first arbitration cluster are less than or equal to the first health threshold; the leader election request is used to request to be elected as the leader probe node; obtain the leader election result of the second arbitration cluster, the leader election result is used to indicate whether the leader election was successful or failed; and when the leader election result indicates that the leader election was successful, configure the arbitration cluster identifier of the second arbitration cluster as the leader arbitration cluster identifier.

[0601] Optionally, the determining module 802 is specifically used to: obtain the target historical health value of the first arbitration cluster based on the detection results; and determine the first health value of the first arbitration cluster based on the target historical health value of the first arbitration cluster.

[0602] Optionally, the second arbitration cluster stores K historical health values ​​of the first arbitration cluster, where K is a positive integer greater than or equal to 1; the determining module 802 is specifically used to: obtain K historical health values ​​from the second arbitration cluster when the difference between the update time of the K historical health values ​​and the current time meets the difference threshold, and the K historical health values ​​are the target historical health values.

[0603] Optionally, the detection module 801 is specifically used to: obtain the health value of the first arbitration cluster based on the detection results of the first arbitration cluster; and write the health value of the first arbitration cluster into the second arbitration cluster.

[0604] Optionally, the probe module 801 is specifically used for: writing target data to the first arbitration cluster and obtaining a write result; the write result includes write success or write failure; if the write result is write success, reading target data from the first arbitration cluster and obtaining a read result; the read result includes read success or read failure; and obtaining the probe result of the first arbitration cluster based on the write result, or based on the write result and the read result.

[0605] Optionally, the second infrastructure includes a first cluster and a second cluster, and the detection module 801 is further configured to: obtain the detection results of the first cluster when the first cluster is the master cluster; the master detection platform is configured to: configure the second cluster as the master cluster when the detection results of the first cluster indicate that the first cluster is faulty.

[0606] Optionally, if the first condition is met, the management platform is used to: in response to the received switching request, configure the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0607] Optionally, satisfying the first condition includes: the health value of the first arbitration cluster is greater than a first health value threshold and less than or equal to a second health value threshold. Alternatively, satisfying the first condition includes: each probe node in the probe cluster fails, and the first arbitration cluster fails. Alternatively, satisfying the first condition includes: one probe node survives in the probe cluster, and the first arbitration cluster fails. Alternatively, satisfying the first condition includes: one probe node survives in the probe cluster, and the first health value of the first arbitration cluster is less than or equal to the first health value threshold. Satisfying the first condition includes: the target health value of the first arbitration cluster is less than or equal to the first health value threshold, and the duration for which the first arbitration cluster acts as the primary arbitration cluster is less than a duration threshold.

[0608] Optionally, the first arbitration cluster stores the target arbitration information of the second infrastructure, and the second arbitration cluster stores the target arbitration information of the second infrastructure; wherein the target arbitration information includes at least one of the first arbitration information or the second arbitration information.

[0609] Optionally, the control platform is also used to: obtain the first arbitration information of the second infrastructure; and write the first arbitration information of the second infrastructure into the primary arbitration cluster and the backup arbitration cluster.

[0610] Optionally, the control platform is also used to: obtain the first arbitration information of the second infrastructure; write the first arbitration information of the second infrastructure into the main arbitration cluster; the main arbitration platform is also used to: synchronize the first arbitration information to the backup arbitration cluster.

[0611] Optionally, the detection platform 800 also includes an acquisition module 804, which is used to: acquire the second arbitration information of the second infrastructure; and write the second arbitration information of the second infrastructure into the primary arbitration cluster and the backup arbitration cluster.

[0612] Optionally, the acquisition module 804 is also used to: acquire the second arbitration information of the second infrastructure; write the second arbitration information of the second infrastructure into the main arbitration cluster; the main arbitration platform is also used to: synchronize the second arbitration information to the backup arbitration cluster.

[0613] Optionally, the control platform is specifically used to: report a first alarm message in the event that writing the first arbitration information to the main arbitration cluster fails; the first alarm message is used to indicate that the main arbitration cluster failed to write the arbitration information.

[0614] Optionally, the control platform is specifically used to: report a second alarm message if writing the first arbitration information to the backup arbitration cluster fails; the second alarm message is used to indicate that the backup arbitration cluster failed to write the arbitration information.

[0615] Optionally, the acquisition module 804 is also used to: report a third alarm message if writing the second arbitration information to the main arbitration cluster fails; the first alarm message is used to indicate that the main arbitration cluster failed to write the arbitration information.

[0616] Optionally, the acquisition module 804 is further configured to: report a fourth alarm message if writing the second arbitration information to the backup arbitration cluster fails; the fourth alarm message is used to indicate that the backup arbitration cluster failed to write the arbitration information.

[0617] Optionally, the management platform is also used to: synchronize the first arbitration information of the primary arbitration cluster to the backup arbitration cluster in the event that writing the first arbitration information to the backup arbitration cluster fails.

[0618] Optionally, the management platform is also used to: in response to a received synchronization request, the management node synchronizes the target arbitration information of the primary arbitration cluster to the backup arbitration cluster.

[0619] Optionally, the control platform is also used to: inspect the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, and obtain inspection results, which are used to indicate whether the data is consistent or inconsistent; if the inspection results indicate that the data is inconsistent, the control node reports the fifth alarm information, which is used to indicate that the data is inconsistent.

[0620] Optionally, the control platform is specifically used to: inspect the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster according to a preset inspection cycle, and obtain the inspection results.

[0621] Optionally, the control platform is specifically used to: respond to the received inspection request, inspect the target arbitration information stored in the first arbitration cluster and the target arbitration information stored in the second arbitration cluster, and obtain the inspection results.

[0622] Optionally, the control platform is specifically used to: inspect the first arbitration information stored in the first arbitration cluster and the first arbitration information stored in the second arbitration cluster, provided that the second condition is met.

[0623] Optionally, satisfying the second condition includes: the detection result of the first arbitration cluster indicates that the first arbitration cluster is faulty. Alternatively, satisfying the second condition includes: the first health value of the first arbitration cluster is less than or equal to a first health threshold. Alternatively, satisfying the second condition includes: the target health value of the first arbitration cluster is less than or equal to the first health threshold. Alternatively, satisfying the second condition includes: the arbitration cluster identifier of the second arbitration cluster is configured as the primary arbitration cluster identifier.

[0624] Optionally, in the event of inconsistent inspection results, the control platform is also used to synchronize the target arbitration information stored in the first arbitration cluster to the second arbitration cluster.

[0625] Optionally, the control platform is also used to: write the inspection results into the first arbitration cluster and the second arbitration cluster.

[0626] Optionally, the detection module 801 is specifically used to: acquire the heartbeat signal sent by the first arbitration cluster; and obtain the detection result of the first arbitration cluster based on the acquisition result.

[0627] Optionally, the target historical health value includes K historical health values ​​within the target period, where K is a positive integer greater than or equal to 1.

[0628] Optionally, the target historical health value includes each historical health value within the target period.

[0629] Optionally, the target historical health value includes the K most recently stored historical health values, where K is a positive integer greater than or equal to 1.

[0630] Optionally, the first health value of the first arbitration cluster satisfies the following formula (1):

[0631]

[0632] Among them, H i The i-th historical health value is used to characterize the first arbitration cluster, where i is a positive integer greater than 1 and less than or equal to K. K is used to characterize the number of historical health values ​​included in the target historical health value.

[0633] Optionally, the first health value is the maximum value among the K historical health values ​​included in the target historical health value.

[0634] Optionally, the first health level is the minimum value among the K historical health level values ​​included in the target historical health level value.

[0635] Optionally, the detection module 801 is specifically used to: obtain the first health value of the first arbitration cluster based on the detection results of the first arbitration cluster.

[0636] Optionally, the switching module 803 is specifically used to: configure the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier when the number of surviving probe nodes in the probe cluster is greater than 1.

[0637] Optionally, the switching module 803 is specifically used to: send a leader election request to the second arbitration cluster when the number of surviving probe nodes in the probe cluster is greater than 1.

[0638] Optionally, the switching module 803 is specifically used to: configure the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier when the target health value of the first arbitration cluster is less than or equal to the first health threshold and the health status of the second arbitration cluster meets the target conditions.

[0639] Optionally, the detection platform 800 also includes an alarm module 805, which is used to report a sixth alarm message when the target health value of the first arbitration cluster is less than or equal to the first health threshold and the duration of the first arbitration cluster as the main arbitration cluster is less than the duration threshold.

[0640] Optionally, the alarm module 805 is also used to: report a seventh alarm message when the target health value of the first arbitration cluster is greater than the first health threshold and less than or equal to the second health threshold; the seventh alarm message is used to indicate that the first arbitration cluster is in a sub-healthy state.

[0641] Optionally, the detection module 801 is further configured to: detect the first arbitration cluster and obtain the first detection result of the first arbitration cluster; the switching module 803 is further configured to: configure the arbitration cluster identifier of the first arbitration cluster as the standby arbitration cluster identifier when the first detection result of the first arbitration cluster indicates that the first arbitration cluster is not faulty.

[0642] Optionally, the determining module 802 is specifically used to: obtain at least one second health value of the first arbitration cluster determined by the second detection platform from the second arbitration cluster.

[0643] Optionally, the switching module 803 is specifically used to: obtain the arbitration cluster identifier of the second arbitration cluster; and, if the arbitration cluster identifier of the second arbitration cluster is the backup arbitration cluster identifier, configure the arbitration cluster identifier of the second arbitration cluster as the primary arbitration cluster identifier.

[0644] Optionally, the first arbitration cluster stores multiple live node fields, one of which indicates a live probe node, wherein different probe nodes correspond to different live node fields.

[0645] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the detection platforms 800 provided above, as well as the description of their beneficial effects, can be found in the corresponding method embodiments described above, and will not be repeated here.

[0646] In this embodiment, the detection module 801, determination module 802, switching module 803, acquisition module 804, and alarm module 805 can all be implemented in software or in hardware. For example, the implementation of the detection module 801 will be described below. Similarly, the implementation of the determination module 802, switching module 803, acquisition module 804, and alarm module 805 can refer to the implementation of the detection module 801.

[0647] As an example of a software functional unit, the detection module 801 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the detection module 801 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0648] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0649] As an example of a hardware functional unit, the detection module 801 may include at least one computing device, such as a server. Alternatively, the detection module 801 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0650] The detection module 801 includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the detection module 801 includes multiple computing devices that can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the resource scheduling module 601 includes multiple computing devices that can be distributed within the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0651] It should be noted that, in other embodiments, the detection module 801 can be used to execute any step in the primary / backup arbitration switching method, the determination module 802 can be used to execute any step in the primary / backup arbitration switching method, the switching module 803 can be used to execute any step in the primary / backup arbitration switching method, the acquisition module 804 can be used to execute any step in the primary / backup arbitration switching method, and the alarm module 805 can be used to execute any step in the primary / backup arbitration switching method. The steps implemented by the detection module 801, determination module 802, switching module 803, acquisition module 804, and alarm module 805 can be specified as needed. By implementing different steps in the primary / backup arbitration switching method through the detection module 801, determination module 802, switching module 803, acquisition module 804, and alarm module 805, all functions of the detection platform 800 can be realized.

[0652] This application also provides a computing device 900. For example... Figure 9As shown, the computing device 900 includes a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate with each other via the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that the embodiments of this application do not limit the number of processors and memories in the computing device 900.

[0653] The 902 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 9 The bus 902 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 902 may include a path for transmitting information between various components of the computing device 900 (e.g., memory 906, processor 904, communication interface 908).

[0654] Processor 904 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0655] The memory 906 may include volatile memory, such as random access memory (RAM). The processor 904 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0656] The memory 906 stores executable program code, which the processor 904 executes to implement the functions of the aforementioned detection module 801, determination module 802, switching module 803, acquisition module 804, and alarm module 805, thereby realizing the primary / backup arbitration switching method. In other words, the memory 906 stores instructions for executing the primary / backup arbitration switching method.

[0657] The communication interface 908 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 900 and other devices or communication networks.

[0658] For example, the computing device 900 described above may be Figure 2 , Figure 3 , Figure 4 The arbitration node of the arbitration cluster, the probe node of the probe cluster, or the control node shown are at least one of the following: arbitration node of the arbitration cluster, probe node of the probe cluster, or control node of the probe cluster. The arbitration node of the arbitration cluster includes at least one of the first probe node of the first arbitration cluster or the second probe node of the second arbitration cluster.

[0659] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0660] like Figure 10 As shown, the computing device cluster 1000 includes at least one computing device 900. The memory 906 of one or more computing devices 900 in the computing device cluster 1000 may store the same instructions for executing the primary / standby arbitration switchover method.

[0661] For example, the aforementioned computing device cluster 1000 can be Figure 2 , Figure 3 , Figure 4 At least one of the arbitration clusters or probe clusters shown.

[0662] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing the primary / standby arbitration switchover method. In other words, a combination of one or more computing devices 900 can jointly execute the instructions for executing the primary / standby arbitration switchover method.

[0663] It should be noted that the memory 906 in different computing devices 900 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the resource scheduling device. That is, the instructions stored in the memory 906 of different computing devices 900 can implement the functions of one or more modules among the detection module 801, determination module 802, switching module 803, acquisition module 804, and alarm module 805.

[0664] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 11One possible implementation is shown. For example... Figure 11 As shown, the two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.

[0665] In this type of possible implementation, the memory 906 in computing device 900A stores instructions for executing the functions of the detection module 801, the determination module 802, and the switching module 803. Meanwhile, the memory 906 in computing device 900B stores instructions for executing the functions of the acquisition module 804 and the alarm module 805.

[0666] Figure 11 The connection method between the computing device clusters shown can be such that, considering the primary / backup arbitration switching method provided in this application embodiment requires a large amount of computation, the functions of the acquisition module 804 and the alarm module 805 are delegated to the computing device 900B.

[0667] It should be understood that Figure 11 The functions of the computing device 900A shown can also be performed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be performed by multiple computing devices 900.

[0668] This application also provides another computing device cluster. The connection relationships between the computing devices in this computing device cluster can be similarly referred to... Figure 10 and Figure 11 The connection method of the computing device cluster is shown. The difference is that the memory 906 of one or more computing devices 900 in this computing device cluster can store the same instructions for executing the primary / standby arbitration switching method.

[0669] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing the primary / standby arbitration switchover method. In other words, a combination of one or more computing devices 900 can jointly execute the instructions for executing the primary / standby arbitration switchover method.

[0670] This application also provides a processor that can be used to execute the above methods.

[0671] This application also provides a chip, including: a processor and a power supply circuit; the power supply circuit can be used to supply power to the processor; the processor can be used to execute the above-described method.

[0672] This application also provides a probe node, which may include a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to enable the probe node to implement the above-described method.

[0673] This application also provides a detection cluster, which includes at least one detection node; each detection node includes a processor, a memory, and a computer program / instructions stored in the memory, and the processor of each detection node executes the computer program / instructions stored in the memory of each detection node to enable each detection node to implement the above method.

[0674] This application also provides a computer program product. The computer program product includes a computer program / instructions that can run on a probe node or be stored on any available medium. When the computer program / instructions are executed on at least one probe node, the at least one probe node can perform the methods described above.

[0675] This application also provides a computer-readable storage medium, which can be any available medium that a probe node can store, or a data storage device such as a data center containing one or more available media. The computer-readable storage medium stores a computer program / instructions that, when executed at least one probe node, enable at least one probe node to perform the described method. Exemplarily, the available medium can be a magnetic medium (e.g., floppy disk, magnetic disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state drive (SSD)).

[0676] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for switching between primary and backup arbitration, characterized in that, The method is applied to a first detection platform, which runs on a detection cluster. The detection cluster is part of a first infrastructure. The first infrastructure further includes a first arbitration cluster and a second arbitration cluster. The first arbitration cluster is configured with a primary arbitration cluster identifier, which indicates the arbitration cluster providing arbitration services to the second infrastructure. The second infrastructure provides cloud services. The method includes: The first detection platform acquires the detection results of the first arbitration cluster, and the detection results are used to indicate that the first arbitration cluster has a fault; The first detection platform determines the target health value of the first arbitration cluster based on the detection results; If the target health value is less than or equal to the first health threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier.

2. The method according to claim 1, characterized in that, The first detection platform configures the arbitration cluster identifier of the second arbitration cluster to be the main arbitration cluster identifier, including: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the first arbitration cluster configuring the main arbitration cluster identifier is greater than or equal to the duration threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier.

3. The method according to claim 1 or 2, characterized in that, After the first detection platform configures the arbitration cluster identifier of the second arbitration cluster to the primary arbitration cluster identifier, the method further includes: The first detection platform configures the arbitration cluster identifier of the first arbitration cluster as the backup arbitration cluster identifier.

4. The method according to any one of claims 1-3, characterized in that, At least one second detection platform also operates on the detection cluster; The first detection platform determines the target health value of the first arbitration cluster based on the detection results, including: Based on the detection results, the first detection platform determines the first health value of the first arbitration cluster; If the first health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection platform acquires the second health value of the first arbitration cluster determined by the at least one second detection platform; the target health value of the first arbitration cluster includes the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster.

5. The method according to claim 4, characterized in that, When the target health value is less than or equal to the first health threshold, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier, including: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, the first detection platform sends a leader election request to the second arbitration cluster. The leader election request is used to request to be elected as the leader detection platform. The first detection platform obtains the leader election result of the second arbitration cluster, and the leader election result is used to indicate whether the leader election was successful or failed. When the election result indicates that the election of the master is successful, the first detection platform configures the arbitration cluster identifier of the second arbitration cluster as the master arbitration cluster identifier.

6. The method according to claim 4 or 5, characterized in that, Based on the detection results, the first detection platform determines the first health value of the first arbitration cluster, including: The first detection platform obtains the target historical health value of the first arbitration cluster based on the detection results; The first detection platform determines the first health value of the first arbitration cluster based on the target historical health value of the first arbitration cluster.

7. The method according to claim 6, characterized in that, The second arbitration cluster stores K historical health values ​​of the first arbitration cluster, where K is a positive integer greater than or equal to 1; obtaining the target historical health value of the first arbitration cluster includes: If the difference between the update time of the K historical health values ​​and the current time meets the difference threshold, the first detection platform obtains the K historical health values ​​from the second arbitration cluster, and the K historical health values ​​are the target historical health values.

8. The method according to claim 6 or 7, characterized in that, The method further includes: The first detection platform obtains the health value of the first arbitration cluster based on the detection results; The first probe node writes the health value of the first arbitration cluster into the second arbitration cluster.

9. The method according to any one of claims 6-8, characterized in that, The first detection platform acquires the detection results of the first arbitration cluster, including: The first detection platform writes target data to the first arbitration cluster and obtains a writing result; the writing result includes whether the writing was successful or failed. If the write result is successful, the first detection platform reads the target data from the first arbitration cluster and obtains a read result; the read result includes whether the read was successful or failed. The first detection platform obtains the detection results of the first arbitration cluster based on the write results, or based on the write results and the read results.

10. A detection platform, characterized in that, The detection platform operates on a detection cluster, which is part of a first infrastructure. The first infrastructure further includes a first arbitration cluster and a second arbitration cluster. The first arbitration cluster is configured with a main arbitration cluster identifier, which indicates the arbitration cluster providing arbitration services to the second infrastructure. The second infrastructure provides cloud services. The detection platform includes: A detection module is used to obtain the detection results of the first arbitration cluster, and the detection results are used to indicate that the first arbitration cluster has a fault; The determination module is used to determine the target health value of the first arbitration cluster based on the detection results; The switching module is used to configure the arbitration cluster identifier of the second arbitration cluster to the main arbitration cluster identifier when the target health value is less than or equal to the first health threshold.

11. The detection platform according to claim 10, characterized in that, The switching module is specifically used for: If the target health value of the first arbitration cluster is less than or equal to the first health threshold, and the duration of the first arbitration cluster configuring the main arbitration cluster identifier is greater than or equal to the duration threshold, then the arbitration cluster identifier of the second arbitration cluster is configured as the main arbitration cluster identifier.

12. The detection platform according to claim 10 or 11, characterized in that, After configuring the arbitration cluster identifier of the second arbitration cluster to be the primary arbitration cluster identifier, the switching module is further configured to: Configure the arbitration cluster identifier of the first arbitration cluster as a backup arbitration cluster identifier.

13. The detection platform according to any one of claims 10-12, characterized in that, The determining module is specifically used for; Based on the detection results, a first health value for the first arbitration cluster is determined; If the first health value of the first arbitration cluster is less than or equal to the first health threshold, a second health value of the first arbitration cluster determined by at least one second detection platform is obtained; the target health value of the first arbitration cluster includes the first health value of the first arbitration cluster and at least one second health value of the first arbitration cluster.

14. The detection platform according to claim 13, characterized in that, The switching module is specifically used for: If both the first health value and the second health value of the first arbitration cluster are less than or equal to the first health threshold, a leader election request is sent to the second arbitration cluster. The leader election request is used to request to be elected as the leader probe node. Obtain the leader election result of the second arbitration cluster, the leader election result being used to indicate whether the leader election was successful or failed; If the election result indicates that the election of the leader was successful, the arbitration cluster identifier of the second arbitration cluster is configured as the identifier of the primary arbitration cluster.

15. The detection platform according to claim 13 or 14, characterized in that, The determining module is specifically used for: Based on the detection results, the target historical health value of the first arbitration cluster is obtained; Based on the target historical health value of the first arbitration cluster, determine the first health value of the first arbitration cluster.

16. The detection platform according to claim 15, characterized in that, The second arbitration cluster stores K historical health values ​​of the first arbitration cluster, where K is a positive integer greater than or equal to 1; the determining module is specifically used for: If the difference between the update time of the K historical health values ​​and the current time meets the difference threshold, the K historical health values ​​are obtained from the second arbitration cluster, and the K historical health values ​​are the target historical health values.

17. The detection platform according to claim 15 or 16, characterized in that, The detection module is also used for: Based on the detection results, the health value of the first arbitration cluster is obtained; Write the health value of the first arbitration cluster to the second arbitration cluster.

18. The detection platform according to any one of claims 15-17, characterized in that, The detection module is specifically used for: Write target data to the first arbitration cluster and obtain a write result; the write result includes write success or write failure. If the write result is successful, the target data is read from the first arbitration cluster to obtain the read result; The reading result includes whether the reading was successful or failed. The detection results of the first arbitration cluster are obtained based on the write results, or based on the write results and the read results.

19. A detection cluster, characterized in that, The detection cluster includes at least one detection node, each of the at least one detection node including a processor, a memory, and a computer program / instructions stored in the memory; the processor of each detection node executes the computer program / instructions stored in the memory of each detection node to enable each detection node to implement the method as described in any one of claims 1-9.

20. An arbitration cluster system, characterized in that, The arbitration cluster system includes a detection cluster, a first arbitration cluster, and a second arbitration cluster. The detection cluster runs a first detection platform, the first arbitration cluster runs a first arbitration platform, and the first arbitration cluster provides arbitration services through the first arbitration platform. The second arbitration cluster runs a second arbitration platform, and the second arbitration cluster provides arbitration services through the second arbitration platform. The first arbitration cluster is configured with a main arbitration cluster identifier, which is used to indicate the arbitration cluster that provides arbitration services to the second infrastructure, which is used to provide cloud services; The first detection platform is used to acquire the detection results of the first arbitration cluster, and the detection results are used to indicate that the first arbitration cluster has a fault; The first detection platform is also used to determine the target health value of the first arbitration cluster based on the detection results; The first detection platform is further configured to, when the target health value is less than or equal to the first health threshold, configure the arbitration cluster identifier of the second arbitration cluster as the main arbitration cluster identifier.

21. A computer program product, characterized in that, The computer program product includes a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-9.

22. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-9.