Backup and disaster recovery method, and distributed systems

Through the cross-region backup disaster recovery method, the configuration gateway is used to select the control node with the highest priority from the candidate nodes, which solves the paralysis problem caused by the control node failure of the distributed system and improves the stability and security of the system.

WO2025161672A1PCT designated stage Publication Date: 2025-08-07HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/136770
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-14
Filing Date
2024-12-04
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

When all control nodes in a region fail, the distributed system cannot work properly, causing the entire system to be paralyzed.

Method used

Through a cross-region backup disaster recovery method, the first configuration gateway determines the second control node with the highest priority from the N candidate backup control nodes, receives the configuration information it generates, and sends it to the first data node to ensure the normal operation of the distributed system.

Benefits of technology

It realizes that when controlling node failure, the stability and security of the distributed system are improved, ensuring the continuity and reliability of data services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024136770_07082025_PF_FP_ABST
    Figure CN2024136770_07082025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a backup and disaster recovery method, and distributed systems. In the method, a first distributed system comprises a first configuration gateway, a first control node and a first data node, wherein the first configuration gateway determines that a fault occurs in the first control node, and determines, from among N candidate backup control nodes corresponding to a first region, a second control node in a second distributed system to be a backup control node, the priority of the second control node being higher than the priorities of nodes, other than the second control node, among the N candidate backup control nodes; the first configuration gateway receives first configuration information sent by a second configuration gateway in the second distributed system, the first configuration information being generated by the second control node on the basis of a first configuration parameter corresponding to the first region; and the first configuration gateway sends the first configuration information to the first data node. By means of the solution, a cross-region backup and disaster recovery method can be realized, thereby improving the stability and safety of data service provision performed by distributed systems.
Need to check novelty before this filing date? Find Prior Art

Description

A backup disaster recovery method and distributed system

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on January 29, 2024, with application number 202410121628.0 and application name “Distributed Domain Name Resolution System”, the entire contents of which are incorporated by reference into this application; this application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on March 14, 2024, with application number 202410299377.5 and application name “A Backup Disaster Recovery Method and Distributed System”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of cloud computing technology, and in particular to a backup and disaster recovery method and a distributed system. Background Art

[0004] Region is the basic unit and container for providing cloud services in cloud computing. Regions can be divided based on dimensions such as geographic location and network latency. Resources such as elastic computing, block storage, and object storage are shared within the same region.

[0005] When data is transmitted using peer-to-peer (P2P) technology, a distributed system can be deployed within a region. This distributed system can include a configuration gateway, control nodes, and data nodes. The configuration gateway receives configuration parameters issued by users through the management node and sends them to the control nodes within the region. The control nodes calculate the configuration information that can be loaded by the data nodes based on the received configuration parameters and other data. The data nodes can load the configuration information sent by the control nodes and provide data plane services, such as domain name resolution and gateway forwarding.

[0006] Generally, multiple control nodes are deployed in a distributed system within a region. The failure of a single control node will not affect the overall business of the region. However, when all control nodes in a region fail, the control plane in the distributed system cannot work properly, which will cause the entire distributed system to be paralyzed. Summary of the Invention

[0007] The present application provides a backup and disaster recovery method and a distributed system for providing a cross-regional backup and disaster recovery solution to improve the security of data services provided by distributed systems in a region.

[0008] In a first aspect, the present application provides a backup disaster recovery method, which can be executed by a first distributed system, the first distributed system including a first configuration gateway, a first control node and a first data node, the first control node being used to control and manage the first data node, and the first distributed system being used to provide data services for a first area, the method comprising: the first configuration gateway determining that the first control node has failed; the first configuration gateway determining a second control node as a backup control node from N candidate backup control nodes corresponding to the first area, the second distributed system including a second configuration gateway, the second control node and a second data node, the second distributed system being used to provide data services for the second area, the priority of the second control node being higher than the priority of other nodes in the N candidate backup control nodes except the second control node, wherein N is a positive integer. The first configuration gateway receives first configuration information sent by the second configuration gateway, the first configuration information being generated by the second control node based on first configuration parameters corresponding to the first area; the first configuration gateway sends the first configuration information to the first data node.

[0009] In the above method, N areas can be used as backups for the first area. When the first configuration gateway determines that the first control node has failed, the second control node can be determined from the N candidate backup control nodes in the N areas that back up the first area. The priority of the second control node is higher than the priority of other nodes in the N candidate backup control nodes except the second control node. The determined second control node can accurately provide the function of backing up the first area. The first configuration gateway receives the first configuration information sent by the second configuration gateway in the second area where the second control node is located. The first configuration information is generated by the second control node according to the first configuration parameters corresponding to the first area. The first configuration gateway sends the obtained first configuration information to the first data node, so that the first data node can normally load the configuration information of the first area, ensure the normal operation of the first distributed system, and realize the cross-regional backup disaster recovery method, thereby improving the stability and security of the distributed system in providing data services.

[0010] In one possible design, the first configuration gateway determines the second control node as the backup control node from the N candidate backup control nodes corresponding to the first area, including: the first configuration gateway determines the priority of the N candidate backup control nodes based on the backup adaptability of the N areas to which the N candidate backup control nodes belong to back up the first area; the first configuration gateway determines the second control node as the backup control node based on the priority of the N candidate backup control nodes.

[0011] Through this design, the first configuration gateway can determine the priorities of N candidate backup control nodes based on the backup adaptability of the N regions for the first region, so that the second region to which the second control node determined according to the priority belongs is the region with higher backup adaptability for the first region, thereby ensuring the accuracy of the backup for the first region.

[0012] In one possible design, the second control node is an available control node.

[0013] Through this design, when the first configuration gateway determines the second control node from N candidate backup control nodes, it can select a control node among the N candidate backup control nodes that is available and has a higher priority than other nodes, further ensuring that the determined second control node can calculate configuration information for the first area.

[0014] Optionally, the second control node in the present application may include: the second control node can provide sufficient computing power to calculate configuration information for the first area, and the second configuration gateway in the second distributed system to which the second control node belongs can communicate normally with the first configuration gateway.

[0015] In one possible design, the method also includes: the first configuration gateway receives second configuration information sent by the third configuration gateway, the second configuration information is generated by the third control node based on the first configuration parameters, the third distributed system includes the third configuration gateway, the third control node and the third data node, the third distributed system is used to provide data services for the third area, and the N candidate backup control nodes include the third control node.

[0016] Through this design, multiple distributed systems in multiple regions can back up the first region. For example, the first configuration gateway can receive the first configuration information sent by the second configuration gateway, and the first configuration gateway can also receive the second configuration information sent by the third configuration gateway. The first configuration information and the second configuration information are both configuration information generated based on the first configuration parameters corresponding to the first region, further improving the security of cross-regional backup and disaster recovery.

[0017] In one possible design, the N candidate backup control nodes belong to N regions, each of the N regions includes a candidate backup control node, and the N regions are used to back up the first region; the method also includes: the first configuration gateway obtains the backup fitness of M regions for backing up the first region, the M regions include the second region, and M is a positive integer greater than or equal to N; the first configuration gateway determines the N regions based on the backup fitness of the M regions for backing up the first region.

[0018] With this design, the first configuration gateway can determine N regions as backups for the first region from the M regions based on the backup suitability of the M regions for backing up the first region, so that the determined N regions are suitable for backing up the first region.

[0019] In one possible design, the first configuration gateway obtains the backup fitness of M regions backing up the first region, including: receiving the backup fitness of the M regions backing up the first region sent by M configuration gateways of the M regions.

[0020] In one possible design, the N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; the method also includes: the first configuration gateway obtains the backup adaptability between every two areas in Q areas, the Q areas include the first area and the second area, and Q is a positive integer greater than N; the first configuration gateway determines the N areas based on the backup adaptability between every two areas in the Q areas.

[0021] Through this design, the first configuration gateway can obtain the backup adaptability between every two regions in Q regions, where Q regions include the first region and the second region. The first configuration gateway can determine N regions to back up for the first region based on the backup adaptability between every two regions in the Q regions, thereby ensuring that the regions backed up for each region in the Q regions are N different regions, avoiding a region backing up more than N regions, and evenly utilizing the computing power of the Q regions.

[0022] In one possible design, the backup adaptability between each two areas in the Q areas includes the backup adaptability of the target area as a backup of any area other than the target area in the Q areas, and the target area is any area other than the first area in the Q areas; the first configuration gateway obtains the backup adaptability between any two areas in the Q areas, including: the first configuration gateway receives the backup adaptability sent by the target configuration gateway of the target area, and the target area is a backup of any area in the Q areas other than the target area.

[0023] In one possible design, the backup fitness between each two areas in the Q areas includes the backup fitness of the first area as a backup of M areas, where the M areas are areas other than the first area in the Q areas; the first configuration gateway obtains the backup fitness between any two areas in the Q areas, including: the first configuration gateway sends a detection signal to the M configuration gateways in the M areas based on a preset period; the first configuration gateway determines the connectivity and detection delay between the first configuration gateway and the M configuration gateways based on the responses of the M configuration gateways to the detection signal; the first configuration gateway determines the backup fitness of the first area as a backup of the M areas based on the connectivity and detection delay between the first configuration gateway and the M configuration gateways.

[0024] This design allows the first configuration gateway to determine connectivity and detection latency between the first and other configuration gateways by sending probe signals to them. This allows the first region to determine its suitability for backups in other regions. When determining the backup relationship between regions based on this determined backup suitability, the region providing the backup and the region receiving the backup can communicate normally with minimal latency, improving the accuracy and efficiency of backup disaster recovery.

[0025] In one possible design, before the first configuration gateway determines that the first control node fails, the method also includes: the first configuration gateway determines that the first control node is a candidate backup control node corresponding to the fourth area; and the first configuration gateway obtains the third configuration parameters corresponding to the four areas.

[0026] With this design, when the first area backs up the fourth area, the first configuration gateway in the first area can obtain the third configuration parameters corresponding to the fourth area, thereby being able to provide backup services to the fourth area in a timely manner.

[0027] In one possible design, the method also includes: the first configuration gateway sends the third configuration parameter to the first control node; the first control node generates third configuration information based on the third configuration parameter, and sends the third configuration information to the first configuration gateway; the first configuration gateway sends the third configuration information to the fourth configuration gateway in the fourth area.

[0028] Through this design, when the first area backs up the fourth area, the first configuration gateway can send the third configuration parameters corresponding to the fourth area to the first control node, so that the first control node can calculate the third configuration information that can be loaded by the fourth data node in the fourth area. The first configuration gateway sends the third configuration information generated by the first control node to the fourth configuration gateway. Even if the control node in the fourth area fails, the fourth distributed system in the fourth area can obtain the third configuration information in time to ensure the normal operation of the fourth distributed system.

[0029] In a second aspect, the present application provides a distributed system, which may include a first configuration gateway, a first control node, and a first data node, wherein the first control node is used to control and manage the first data node, and the distributed system is used to provide data services for a first area;

[0030] The first configuration gateway is used to determine that the first control node has failed; determine the second control node as the backup control node from the N candidate backup control nodes corresponding to the first area, the second distributed system includes the second configuration gateway, the second control node and the second data node, the second distributed system is used to provide data services for the second area, the priority of the second control node is higher than the priority of other nodes in the N candidate backup control nodes except the second control node, where N is a positive integer; receive the first configuration information sent by the second configuration gateway, the first configuration information is generated by the second control node according to the first configuration parameters corresponding to the first area; and send the first configuration information to the first data node.

[0031] The first data node is used to load the first configuration information.

[0032] In one possible design, the first configuration gateway is specifically used to: determine the priorities of the N candidate backup control nodes based on the backup adaptability of the N areas to which the N candidate backup control nodes belong as backups of the first area; and determine the second control node as the backup control node based on the priorities of the N candidate backup control nodes.

[0033] In one possible design, the second control node is an available control node.

[0034] In one possible design, the first configuration gateway is also used to: receive second configuration information sent by a third configuration gateway, where the second configuration information is generated by a third control node based on the first configuration parameters. The third distributed system includes the third configuration gateway, the third control node and a third data node. The third distributed system is used to provide data services for the third area, and the N candidate backup control nodes include the third control node.

[0035] In one possible design, the N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area;

[0036] The first configuration gateway is further used to: obtain the backup fitness of M areas as backups of the first area, where the M areas include the second area, and M is a positive integer greater than or equal to N; and determine the N areas based on the backup fitness of the M areas as backups of the first area.

[0037] In one possible design, the first configuration gateway is specifically used to: receive backup fitness of the M regions as backups of the first region, which are sent by the M configuration gateways of the M regions.

[0038] In one possible design, the N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area;

[0039] The first configuration gateway is also used to: obtain the backup adaptability between each two areas in Q areas, where the Q areas include the first area and the second area, and Q is a positive integer greater than N; and determine the N areas based on the backup adaptability between each two areas in the Q areas.

[0040] In one possible design, the backup fitness between every two areas in the Q areas includes a backup fitness of a target area being a backup of any area in the Q areas except the target area, where the target area is any area in the Q areas except the first area.

[0041] The first configuration gateway is specifically configured to receive a backup adaptability sent by a target configuration gateway of the target area, where the target area is a backup of any area other than the target area among the Q areas.

[0042] In one possible design, the backup adaptability between every two areas in the Q areas includes the backup adaptability of the first area as a backup of M areas, where the M areas are areas in the Q areas other than the first area.

[0043] The first configuration gateway is specifically used to: send a detection signal to the M configuration gateways of the M regions based on a preset period; determine the connectivity and detection delay between the first configuration gateway and the M configuration gateways based on the responses of the M configuration gateways to the detection signal; determine the backup suitability of the first region as a backup for the M regions based on the connectivity and detection delay between the first configuration gateway and the M configuration gateways.

[0044] In one possible design, the first configuration gateway is also used to: before determining that the first control node fails, determine that the first control node is a candidate backup control node corresponding to the fourth area, and obtain third configuration parameters corresponding to the four areas.

[0045] In one possible design, the first configuration gateway is further configured to: send the third configuration parameter to the first control node; receive third configuration information sent by the first control node, and send the third configuration information to a fourth configuration gateway in the fourth area;

[0046] The first control node is configured to generate the third configuration information according to the third configuration parameter.

[0047] In a third aspect, the present application provides a computing device cluster, which includes at least one computing device, each computing device including multiple functional modules; the multiple functional modules in the at least one computing device interact with each other, so that the computing device cluster implements the method executed by the first distributed system in the above-mentioned first aspect and its various embodiments, such as the computing device can be used to implement the method executed by the first configuration gateway in the above-mentioned first aspect and its various embodiments, or to implement the method executed by the first control node in the above-mentioned first aspect and its various embodiments. The multiple functional modules in each computing device can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation.

[0048] In a fourth aspect, the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory, and the processor of the at least one computing device is used to execute the quality stored in the memory of the at least one computing device, so that the computing device cluster executes the method executed by the first distributed system in the above-mentioned first aspect and its various embodiments, such as the computing device can be used to execute the method executed by the first configuration gateway in the above-mentioned first aspect and its various embodiments, or execute the method executed by the first control node in the above-mentioned first aspect and its various embodiments.

[0049] In a fifth aspect, the present application further provides a computer program product comprising instructions, which, when run on a computing device cluster, enables the computing device cluster to execute the method executed by the first distributed system in any of the above aspects and its various embodiments.

[0050] In a sixth aspect, the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a computing device cluster, the computing device cluster executes the method of execution of the first distributed system in any of the above aspects and its various embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] FIG1 is a schematic diagram of the structure of a distributed system in a region;

[0052] FIG2 is a schematic diagram of the architecture of a distributed system applicable to an embodiment of the present application;

[0053] FIG3 is an example diagram of a backup adaptability between each two areas in a plurality of areas provided by an embodiment of the present application;

[0054] FIG4 is a schematic diagram of determining a backup area according to backup adaptability according to an embodiment of the present application;

[0055] FIG5 is an example diagram of the backup adaptability between each two areas in a plurality of areas provided by an embodiment of the present application;

[0056] FIG6 is a flowchart of a backup disaster recovery method provided in an embodiment of the present application;

[0057] FIG7 is a flowchart of a backup disaster recovery method provided by an embodiment of the present application;

[0058] FIG8 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0059] FIG9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0060] FIG10 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0061] FIG11 is a schematic diagram of a connection method of computing devices in a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings. In the description of the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.

[0063] It should be understood that in the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c can be single or multiple.

[0064] A region can be a basic unit for providing cloud services, divided based on dimensions such as geographical location and network latency. A distributed system can be deployed within a region for data transmission. Figure 1 is a schematic diagram of the structure of a distributed system in a region. Referring to Figure 1, the distributed system may include a configuration gateway, a control node, and a data node. Among them, the configuration gateway is used to receive the configuration parameters corresponding to the region. For example, the user can set the configuration parameters corresponding to the region in the user interface corresponding to the management node, and the management node sends the configuration parameters of the region to the configuration gateway of the region. The control node can also be called a control plane node. The control node is used to calculate the configuration information that can be loaded by the data node based on the received configuration parameters and other data. The data node can also be called a data plane node. The data node is used to load the configuration information sent by the control node and provide data plane services to the user. For example, data plane services may include domain name resolution, gateway forwarding, etc.

[0065] Optionally, the control plane functions of the distributed system can be performed by a control node cluster, which includes multiple control nodes. The data plane functions of the distributed system can be performed by a data node cluster, which includes multiple data nodes. For ease of description, the following introduction to the embodiments of the present application takes the control node performing the control plane functions and the data node performing the data plane functions as an example. It is understandable that in specific implementations, the control node cluster can perform the functions performed by the control node in the embodiments of the present application, and the data node cluster can perform the functions performed by the data node in the embodiments of the present application.

[0066] Referring to Figure 1, in this distributed system, when a single control node fails, the other control nodes in the distributed system can still continue to work, and the distributed system can still provide data services normally. However, when all the control nodes in the distributed system fail, the data nodes cannot obtain the loadable configuration information, and the entire distributed system will be paralyzed.

[0067] In view of the above problems, an embodiment of the present application provides a backup disaster recovery method. The backup disaster recovery method provided by the embodiment of the present application is introduced below with reference to the accompanying drawings.

[0068] FIG2 is a schematic diagram of the architecture of a distributed system applicable to an embodiment of the present application. Referring to FIG2 , FIG2 takes a distributed system deployed in three regions as an example. A first distributed system is deployed in region 1, and the first distributed system includes a first configuration gateway, a first control node, and a first data node. A second distributed system is deployed in region 2, and the second distributed system includes a second configuration gateway, a second control node, and a second data node. A third distributed system is deployed in region 3, and the third distributed system includes a third configuration gateway, a third control node, and a third data node. The configuration gateway, control node, and data node in the same region are in the same peer-to-peer (P2P) network, and the configuration gateway, control node, and data node can transmit data based on P2P technology. Referring to Figure 2, taking the process of providing data services by the first distributed system in area 1 as an example, the user can configure area 1 through the user interface corresponding to the management node (such as the control plane console). The management node generates the configuration parameters corresponding to area 1 according to the user settings. The management node sends the configuration parameters corresponding to area 1 to the first configuration gateway. The first configuration gateway sends the configuration parameters to the first control node. The first control node generates configuration information based on the configuration parameters and sends the generated configuration information to the first data node. The first data node loads the configuration information to provide data services.

[0069] Referring to Figure 2, in an embodiment of the present application, multiple configuration gateways in multiple regions are within the same P2P network. Any two configuration gateways within the P2P network can communicate with each other, thereby enabling configuration gateways in different regions to implement cross-regional data exchange through the P2P network. For example, a first configuration gateway can receive first configuration information sent by a second configuration gateway. The first configuration information can be configuration information generated by a second control node based on first configuration parameters corresponding to the first region. In this way, the second region can be a backup for the first region.

[0070] It should be noted that multiple configuration gateways in multiple regions constitute a P2P network only as an example and not a limitation. In specific implementation, the P2P network can also include more nodes, such as multiple configuration gateways and multiple control nodes in multiple regions can be in the same P2P network, or multiple configuration gateways, multiple control nodes and multiple data nodes in multiple regions can be in the same P2P network. It can be understood that when the nodes contained in the P2P network are different, the way of interaction between nodes in different regions is also different. Specifically, when multiple configuration gateways in multiple regions constitute a P2P network, cross-regional data interaction is performed by multiple configuration gateways; when multiple configuration gateways and multiple control nodes in multiple regions are in the same P2P network, the configuration gateway or control node in any region can interact with the configuration gateway or control node in other regions for data; when multiple configuration gateways, multiple control nodes and multiple data nodes in multiple regions are in the same P2P network, data interaction can be performed between any two devices in multiple regions. In specific implementation, the architecture of the P2P network can be set according to the scenario or business requirements, and the embodiments of this application do not limit this. In the following embodiments, multiple configuration gateways in multiple regions are described as being in the same P2P network.

[0071] In the embodiments of the present application, the configuration of the gateway, control node, and data node can be implemented by software or hardware. For example, the following describes the implementation of the configuration of the gateway. Similarly, the implementation of the control node and data node can refer to the implementation of the configuration of the gateway.

[0072] As an example of a software functional unit, configuring a gateway may include code running on a computing instance. A computing instance may be at least one of a physical host (computing device), a virtual machine, a container, or other computing devices. Furthermore, the computing devices may be one or more. For example, configuring a gateway may include code running on multiple hosts / virtual machines / containers.

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

[0074] The distributed system provided in the embodiment of the present application can be a domain name system (DNS), or the distributed system in the embodiment of the present application can also be a system or device with separation of control plane and data plane based on P2P technology, such as a load balancer, an application programming interface (API) gateway, a global server load balance (GSLB) system, etc.

[0075] In the backup and disaster recovery method provided in the embodiment of the present application, Q areas can form a cluster that backs up each other, where Q is a positive integer. Each area in the Q areas can back up other areas in the Q areas, or in other words, the distributed system of each area in the Q areas can back up the distributed systems of other areas in the Q areas. The Q areas include a first area. In implementation, N areas in the Q areas can be set as backups of the first area, and the first area can back up N areas in the Q areas, where N is a positive integer less than Q. In the embodiment of the present application, there are at most N areas that back up one area, and one area can back up at most N areas. For example, when N is 2, it means that there are 2 areas that back up the first area, and the first area backs up the other 2 areas. The value of N can be an empirical value set by a technician, or the value of N can be a user-defined value, or the value of N can be a value determined according to the business scenario, and the embodiment of the present application does not limit this. It can be understood that in a cluster composed of Q areas, the backup and disaster recovery method provided in the embodiment of the present application allows control node failures in at most N areas.

[0076] Taking the first distributed system shown in Figure 2 as an example of executing the backup and disaster recovery method provided in an embodiment of the present application, the first configuration gateway can determine N areas to back up the first area from a cluster consisting of Q areas, and the first configuration gateway can also determine which N areas in the cluster the first area is to back up.

[0077] In an optional embodiment, the first configuration gateway obtains the backup fitness between every two regions in the Q regions, and determines N regions to be backed up by the first region based on the backup fitness between every two regions in the Q regions, and determines N regions to be backed up by the first region. The backup fitness between every two regions in the Q regions includes the backup fitness of the first region as a backup for regions other than the first region in the Q regions, and the backup fitness of M regions other than the first region in the Q regions as backups for other regions, where M is a positive integer less than Q.

[0078] For example, Figure 3 is an example diagram of the backup adaptability between each two regions in six regions provided by an embodiment of the present application. Referring to Figure 3, taking Q as 6 as an example, R1-R6 are six different regions. The column of values ​​corresponding to R1 within the dotted circle in Figure 3 represents the backup adaptability of R1 for backups of R2-R5, and the row of values ​​corresponding to R1 within the solid circle represents the backup adaptability of R2-R5 for backups of R1. Similarly, the column of values ​​corresponding to R2 represents the backup adaptability of R2 for backups of R1 and R3-R5, and the row of values ​​corresponding to R2 represents the backup adaptability of R1 and R3-R5, respectively, and so on. In an embodiment of the present application, the configuration gateway in R1 can calculate the backup fitness of R1 as a backup of R2-R5 based on the detection signal, and the configuration gateway in R2 can calculate the backup fitness of R2 as a backup of R1 and R3-R5 based on the detection signal. That is to say, each column of values ​​in Figure 3 is calculated by the configuration gateway in an area. After each configuration gateway calculates a column of backup fitness shown in Figure 3, the backup fitness calculated by the configuration gateway can be sent to the configuration gateways in other areas respectively, so that the configuration gateway in each area can obtain the backup fitness between each two areas as shown in Figure 3.

[0079] In an embodiment of the present application, when the first configuration gateway determines the backup suitability of the first region as a backup for M regions other than the first region among Q regions, the first configuration gateway may send a detection signal to the M configuration gateways in the M regions based on a preset period. After receiving the detection signal, the M configuration gateways may respond to the detection signal, such as by sending a response signal to the first configuration gateway. The first configuration gateway may determine the connectivity and detection delay between the first configuration gateway and the M configuration gateways based on the responses of the M configuration gateways to the detection signal; the first configuration gateway may determine the backup suitability between the M regions and the first region based on the connectivity and detection delay between the first configuration gateway and the M configuration gateways.

[0080] For example, a first configuration gateway sends a probe signal to a second configuration gateway. If the first configuration gateway receives a response from the second configuration gateway to the probe signal, connectivity exists between the first and second configuration gateways. If the first configuration gateway does not receive a response from the second configuration gateway to the probe signal, connectivity does not exist between the first and second configuration gateways. In implementations, "1" can be used to indicate connectivity between the first and second configuration gateways, and "0" can be used to indicate disconnection between the first and second configuration gateways. Upon receiving a response from the second configuration gateway to the probe signal, the first configuration gateway can also determine a probe delay based on the time it takes to send the probe signal and the time it takes to receive the response signal. In implementations, multiple thresholds can be set to quantify the probe delay. For example, when the probe delay is less than 2ms, the probe delay corresponds to a value of "1," and when the probe delay is less than 5ms, the probe delay corresponds to a value of "0.8." The first configuration gateway can determine the backup suitability between the second configuration gateway and the first configuration gateway based on connectivity and the probe delay between the first and second configuration gateways. For example, the backup suitability can be a value between 0 and 1, with a larger value indicating a higher backup suitability between the second and first configuration gateways.

[0081] It should be noted that the determination of the backup adaptability based on connectivity and detection delay in the above embodiment is only an example and not a limitation. In implementation, the backup adaptability can also be determined based on more other parameters. For example, other parameters can be parameters carried in the response signal, such as health-related parameters, etc. Other parameters can also be hardware or software-related parameters of the control node in the distributed system to which the configuration gateway that sends the response signal belongs, etc. The embodiments of the present application do not limit this. In addition, the embodiments of the present application do not limit the calculation method of the backup adaptability calculated by the configuration gateway based on connectivity and detection delay. For example, the calculation method can be a linear function or a neural network model.

[0082] In this embodiment of the present application, the first configuration gateway may also receive backup fitness metrics sent by configuration gateways in other regions of the Q regions except the first region. The backup fitness metrics sent by each configuration gateway are the backup fitness metrics of the region to which the configuration gateway belongs as backups of the other regions of the Q regions except the first region. Accordingly, after determining that the first region is the backup fitness metrics of the other M regions except the first region among the Q regions, the first configuration gateway also sends the backup fitness metrics of the first region as backups of the other M regions to the M configuration gateways in the other M regions.

[0083] After the first configuration gateway obtains the backup adaptability between every two areas in the Q areas, it can determine N areas based on the backup adaptability between every two areas in the Q areas. In implementation, the first configuration gateway can determine the N areas corresponding to each area for backup of the area in order of priority from high to low among the Q areas, and then determine the N areas corresponding to the area to which the first configuration gateway belongs for backup of the area. For example, FIG4 is a schematic diagram of determining backup areas according to backup adaptability provided by an embodiment of the present application. Referring to FIG4 , FIG4 shows the backup adaptability between every two areas in 6 areas, wherein the first row of values ​​represents the backup adaptability of R2-R6 for R1 backup, the second row of values ​​represents the backup adaptability of R1 and R3-R6 for R2 backup, and so on. Determine the backup area corresponding to each area in the order of R1, R2, R3, R4, R5, and R6. Assume that N is 2. As shown in Figure 4, when selecting the area to backup R1, select R3 with the highest backup fitness of 1 and R6 with the highest backup fitness of 0.6 from R2-R6 as the backup for R1; when selecting the area to backup R2, select R3 with the highest backup fitness of 1 and R5 with the highest backup fitness of 0.6 as the backup for R2; when selecting the area to backup R3, select R6 with the highest backup fitness of 1 and R2 with the highest backup fitness of 0.8 as the backup for R3; when selecting the area to backup R4, due to the backup fitness of 1, R3 and R5 with the highest backup fitness of 0.6 are selected as the backup for R3. R3, which has the highest backup adaptability, has been backed up by R1 and R2, and a region has a maximum of two regions for backup. Therefore, R1 corresponding to the backup adaptability of 0.8 and R2 corresponding to the backup adaptability of 0.7 are selected as backups for R4. When selecting a region for backup to R5, since R2, which has the highest backup adaptability, has been backed up by R3 and R4, and R3, which has a backup adaptability of 0.9, has been backed up by R1 and R2, R4, which has a backup adaptability of 1, and R1, which has a backup adaptability of 0.4, are selected as backups for R5. When selecting a region for backup to R6, since R1, which has the highest backup adaptability of 0.9, has been backed up by R4 and R5, R4, which has a backup adaptability of 0.4, and R5, which has a backup adaptability of 0.6, are selected as backups for R6.

[0084] Based on the backup adaptability of each two regions in the six regions shown in Figure 4, it is possible to determine which two regions each region R1-R6 is used to back up. Therefore, the configuration gateway in each region can obtain not only the configuration parameters corresponding to its own region, but also the configuration parameters of the two regions backed up by that region. Therefore, the control node in each region also needs to calculate the configuration parameters corresponding to the two regions other than its own region. As shown in Figure 4, the control node in each region also needs to calculate the configuration parameters of the other regions according to the following correspondence between the regions: R1: {R4, R5}, R2: {R3, R4}, R3: {R1, R2}, R4: {R5, R6}, R5: {R2, R6}, R6: {R1, R3}.

[0085] Based on the backup adaptability of each two areas in the six areas shown in Figure 4, it can be determined that each area in R1-R6 corresponds to the two areas that are the backup of the area. Then, when the control node in the area fails, the configuration gateway in the area can obtain the configuration parameters calculated by the control nodes in other areas in order according to the following correspondence between the areas: R1: {R3, R6}, R2: {R3, R5}, R3: {R6, R2}, R4: {R1, R2}, R5: {R4, R1}, R6: {R5, R4}.

[0086] It should be noted that in the above embodiment, the backup region corresponding to each region is determined in the order of R1-R6, which can avoid duplication of backup regions corresponding to multiple regions. In the backup disaster recovery method provided in the embodiment of the present application, the priority of multiple regions can also be set according to other methods, such as determining the priority of the region according to parameters such as the service type in the region. For the configuration gateway of the region ranked in the top N positions in the order of priority from high to low among Q regions, the configuration gateway can determine the backup region corresponding to the region to which the configuration gateway belongs after obtaining the backup fitness of other regions as backups for the region to which the configuration gateway belongs. For example, based on the backup fitness of each two regions in the six regions shown in Figure 4, when the first configuration gateway belongs to R1, since the backup region corresponding to R1 is determined first, the first configuration gateway can determine the two regions as R1 backups after obtaining the backup fitness of R2-R6 as R1 backups; and when the first configuration gateway belongs to R2, the first configuration gateway can determine the two regions as R2 backups after obtaining the backup fitness of R1 and R3-R6 as R2 backups, without considering whether there will be duplication of backup regions corresponding to other regions.

[0087] It can be understood that in the embodiment of the present application, the first configuration gateway can send a detection signal based on a preset period to determine the backup fitness of the first area as a backup for other areas. Correspondingly, the configuration gateways of other areas can also determine the backup fitness based on a preset period and send the determined backup fitness to the first configuration gateway. Then, the first configuration gateway can periodically determine the N areas that are backed up for the first area, and the N areas that the first area serves as a backup area. That is to say, in the implementation, the first configuration gateway determines the backup area as a dynamic process. When the first configuration gateway determines that the first control node has failed, it can obtain the N areas that were determined as backups for the first area in the previous period. Alternatively, in other optional implementations, the embodiment of the present application can also trigger the process of determining the backup area by other means. For example, when the first configuration gateway determines that the first control node has failed, the first configuration gateway can obtain the backup fitness of other areas as backups for the first area, and determine the N areas that are backed up for the first area, thereby ensuring the accuracy of the N areas determined as backups for the first area at this time.

[0088] In the backup disaster recovery method provided in the embodiment of the present application, since the backup fitness of other areas backed up for the first area obtained by the first configuration gateway is sent to the first configuration gateway by the configuration gateways of other areas, such as the second configuration gateway of the second area sends the backup fitness of the second area backed up for other areas other than the second area among Q areas to the first configuration gateway, if the second configuration gateway fails, the second configuration gateway cannot send the backup fitness of the second area backed up for other areas other than the second area among Q areas. At this time, the backup fitness obtained by the first configuration gateway as shown in Figure 4 may lack a column of values, and the first configuration gateway cannot determine the N backup areas corresponding to the first area. In this case, the user can manually set the backup fitness of the second area as a backup of other areas through the user interface corresponding to the management node. The management node can send the backup fitness of the second area set by the user for the backup of other areas to the first configuration gateway, and the first configuration gateway can determine the N backup areas corresponding to the first area according to the method described above.

[0089] In some embodiments, the user can also manually set the backup relationship between multiple areas through the user interface corresponding to the management node. For example, Figure 5 shows the backup adaptability of every two areas in the six areas. The user can set the backup adaptability of multiple areas for R1 backup, the backup adaptability of multiple areas for R2 backup, and so on. To facilitate user settings, the user can set the backup adaptability of R1 for R2 backup to 1, indicating that R1 can back up R2, and the backup adaptability of R1 for R2 backup to 0, indicating that R1 cannot back up R2. As shown in Figure 5, the user can set the backup adaptability between each two areas separately. After the management node sends the backup adaptability of every two areas in the six areas shown in Figure 5 to the configuration gateways of the six areas, the configuration gateway of each area can determine the backup area corresponding to the area, and which areas the area backs up.

[0090] It should be noted that the solution provided by the embodiment of the present application for the configuration gateway to determine the backup fitness through the detection signal can be combined with the solution of user-defined backup fitness. That is to say, taking Figure 4 as an example, in the 5 columns of backup fitness corresponding to R2-R6 received by the first configuration gateway, the value of each column of backup fitness can be determined by other configuration gateways through detection signals, or it can be a user-defined value. Optionally, the priority of the user-defined backup fitness is higher than the backup fitness determined by the configuration gateway. When the first configuration gateway receives the backup fitness generated by the configuration gateway and the user-defined backup fitness at the same time, the user-defined backup fitness is used first. Through this design, a solution can be provided for configuration gateway failures, further improving security, and at the same time providing a solution for manually controlling the backup relationships of multiple areas, ensuring security while facilitating user control.

[0091] After the first configuration gateway determines the N regions that serve as backups for the first region, when the first control node in the first distributed system of the first region fails, the first configuration gateway can obtain configuration information sent by the configuration gateways in the N regions that serve as backups for the first region to ensure continued operation of the system. Furthermore, after the first configuration gateway determines the N regions that serve as backups for the first region, the first distributed system provides backup services for the N regions that serve as backups for the first region. The following describes the backup disaster recovery method in which other regions serve as backups for the first region and the backup disaster recovery method in which the first region serves as backups for other regions in the embodiments of the present application.

[0092] First, taking the second area as a backup for the first area as an example, a backup disaster recovery method for a first control node failure in a first distributed system is introduced. FIG6 is a flowchart of a backup disaster recovery method provided by an embodiment of the present application. Referring to FIG6, the method includes the following steps:

[0093] S601: A first configuration gateway determines that a first control node fails, and determines a second control node as a backup control node from N candidate backup control nodes corresponding to a first area.

[0094] In an embodiment of the present application, the N backup areas corresponding to the first area can be understood as N areas being backups of the first area, the N distributed systems in the N areas being backups of the first distributed systems in the first area, and the control nodes in the N areas being N candidate backup control nodes corresponding to the first area.

[0095] The first configuration gateway determines that the first control node is faulty, such as when the first configuration gateway determines that normal communication with the first control node is impossible, or when the first configuration gateway receives a fault report from the first control node. The first configuration gateway may determine the second control node as the backup control node from N candidate backup control nodes corresponding to the first region, wherein the priority of the second control node is higher than the priorities of other nodes in the N candidate backup control nodes other than the second control node.

[0096] Optionally, the first configuration gateway may determine the priorities of the N candidate backup control nodes based on the backup fitness of the N regions to which the N candidate backup control nodes belong as backups for the first region. For example, referring to Figure 4, taking the first configuration gateway belonging to R1 as an example, R3 and R6 are backups for R1, and the control nodes in R3 and R6 are the two candidate backup control nodes corresponding to R1, the first configuration gateway determines the priority of the control node in R3 as a candidate backup control node based on the backup fitness of R3 as a backup for R1, and the first configuration gateway determines the priority of the control node in R6 as a candidate backup control node based on the backup fitness of R6 as a backup for R1. For example, the first configuration gateway may use the backup fitness of the region to which the candidate backup control node belongs as the backup fitness of the first region as the priority value of the candidate backup control node, then the priority value of the control node in R3 is 1, and the priority value of the control node in R6 is 0.6, where the larger the value, the higher the priority.

[0097] When determining a backup control node from the N candidate backup control nodes corresponding to the first region, the first configuration gateway may determine, in descending order of priority of the candidate backup control nodes, a candidate backup control node with the highest priority and available among the N candidate backup control nodes as the backup control node. The availability of the control node may mean that the control node can provide sufficient computing power to calculate configuration information for the first region, and that configuration gateways in the distributed system to which the control node belongs can communicate normally with the first configuration gateway.

[0098] For example, when the priority value of the control node in R3 is 1 and the priority value of the control node in R6 is 0.6, the first configuration gateway may select the control node in R3 as the backup control node.

[0099] S602: The first configuration gateway receives first configuration information sent by the second configuration gateway.

[0100] In an embodiment of the present application, the second area to which the second configuration gateway belongs is used to back up the first area. In addition to obtaining the configuration parameters of the second area, the second configuration gateway also needs to obtain the first configuration parameters corresponding to the first area, referring to the steps shown by the dotted line in Figure 6. The first configuration parameters are parameters generated by the management node based on the configuration and requirements input by the user. The second configuration gateway sends the first configuration parameters to the second control node of the second area. The second control node generates first configuration information based on the first configuration parameters. The first configuration information is configuration information that can be loaded by the first data node of the first area. Optionally, the second control node can calculate the first configuration information based on the first configuration parameters and the basic data of the first area, wherein the basic data may include, for example, geographic location data, health, latency and other data. The second control node sends the first configuration information to the second configuration gateway, and the second configuration gateway sends the first configuration information to the first configuration gateway.

[0101] In some embodiments, after obtaining the first configuration parameters corresponding to the first area, the second configuration gateway may store the first configuration parameters corresponding to the first area. After the first configuration gateway determines that the first control node has failed, it may send an indication message to the second configuration gateway, where the indication message is used to indicate that the first control node of the first area has failed. After receiving the indication message sent by the first configuration gateway, the second configuration gateway may send the stored first configuration parameters to the second control node, and the second control node may generate the first configuration information based on the first configuration parameters and send the first configuration information to the second configuration gateway, which in turn may send the first configuration information to the first configuration gateway. This solution allows the second control node to calculate the first configuration information when the second control node is required to implement a backup function, thereby saving the computing power of the second control node.

[0102] In other embodiments, after obtaining the first configuration parameters corresponding to the first area, the second configuration gateway can directly send the first configuration parameters to the second control node. The second control node generates first configuration information based on the first configuration parameters. The second control node sends the first configuration information to the second configuration gateway. The second configuration gateway can directly send the first configuration information to the first configuration gateway, or the second configuration gateway can send the first configuration information to the first configuration gateway after receiving the indication information sent by the first configuration gateway, wherein the indication information is used to indicate that the first control node of the first area has a fault.

[0103] S603: The first configuration gateway sends the first configuration information to the first data node.

[0104] After receiving the first configuration information, the first configuration gateway may send the first configuration information to the first data node in the first area through the P2P network in the first area. The first data node may load the first configuration information to provide data services for the user.

[0105] In an embodiment of the present application, the configuration gateways in the N areas that back up the first area can all obtain the first configuration parameters corresponding to the first area, and the N candidate backup control nodes in the N areas can all generate configuration information based on the first configuration parameters. The first configuration gateway can receive the configuration information sent by the N configuration gateways, further improving system security. For example, if the N areas that back up the first area include the third area, the third configuration gateway in the third area can obtain the first configuration parameters corresponding to the first area, the third configuration gateway can send the first configuration parameters to the third control node in the third area, the third control node generates the second configuration information based on the first configuration parameters, the third control node sends the second configuration information to the third configuration gateway, and the third configuration gateway sends the second configuration information to the first configuration gateway, thereby realizing the third area as a backup for the first area. In the specific implementation, the functions performed by the third configuration gateway and the third control node when the third area backs up the first area can refer to the introduction of the functions performed by the second configuration gateway and the second control node in the embodiment shown in Figure 6, and the repeated parts will not be repeated.

[0106] The following description uses the example of the first region serving as a backup for the fourth region. When the first control node in the first region is not faulty, the first control node serves as a candidate backup control node corresponding to the fourth region. The first distributed system can back up the fourth distributed system in the fourth region. FIG7 is a flowchart of a backup and disaster recovery method provided in an embodiment of the present application. Referring to FIG7 , the method includes the following steps:

[0107] S701: A first configuration gateway determines a first control node as a candidate backup control node corresponding to a fourth area.

[0108] The first configuration gateway determines that the first area is a backup of N areas according to the method described above, and the N areas include the fourth area. Then the first control node in the first area is one of the N candidate backup control nodes corresponding to the fourth area, and the first distributed system needs to back up the fourth distributed system in the fourth area.

[0109] S702: The first configuration gateway obtains second configuration parameters corresponding to the fourth area.

[0110] After the user configures the fourth area in the user interface corresponding to the management node, the management node can generate and issue second configuration parameters corresponding to the fourth area. The fourth configuration gateway in the fourth area obtains the second configuration parameters corresponding to the fourth area. The first area is a backup for the fourth area, and the first configuration gateway in the first area also obtains the second configuration parameters corresponding to the fourth area.

[0111] S703: The first configuration gateway sends the second configuration parameters corresponding to the fourth area to the first control node.

[0112] In some embodiments, after acquiring the second configuration parameters corresponding to the fourth area, the first configuration gateway may directly send the second configuration parameters to the second control node.

[0113] In other embodiments, after obtaining the second configuration parameters corresponding to the fourth region, the first configuration gateway may store the second configuration parameters corresponding to the fourth region. After determining that the fourth control node in the fourth region has failed, the fourth configuration gateway may send indication information to the first configuration gateway, indicating that the fourth control node in the fourth region has failed. After receiving the indication information sent by the fourth configuration gateway, the first configuration gateway may send the stored second configuration parameters to the first control node.

[0114] S704: The first control node generates third configuration information according to the second configuration parameters.

[0115] The first control node generates third configuration information based on the second configuration parameters. The third configuration information is loadable by the fourth data node in the fourth region. Optionally, the first control node may calculate the third configuration information based on the second configuration parameters and basic data of the fourth region. The basic data may include, for example, geographic location data, health, latency, and other data.

[0116] S705: The first control node sends the third configuration information to the first configuration gateway.

[0117] After generating the third configuration information, the first control node can determine, based on the identifier of the third configuration parameter, that the third configuration parameter is the configuration parameter corresponding to the fourth area, rather than the configuration parameter corresponding to the current area. The first control node can then send the third configuration information to the first configuration gateway.

[0118] S706: The first configuration gateway sends the third configuration information to the fourth configuration gateway in the fourth area.

[0119] Optionally, after receiving the third configuration information sent by the first control node, the first configuration gateway can directly send the third configuration information to the fourth configuration gateway, or the first configuration gateway can send the third configuration information to the fourth configuration gateway after receiving the indication information sent by the fourth configuration gateway, wherein the indication information is used to indicate that the fourth control node in the fourth area has failed.

[0120] The present application also provides a computing device that can be used to perform the functions of the first configuration gateway in the above embodiment. FIG8 is a schematic diagram of the structure of a computing device provided in the present application embodiment. As shown in FIG8, the computing device includes:

[0121] The processing module 801 is configured to determine that a first control node in a first distributed system to which a first configuration gateway belongs fails; and determine a second control node as a backup control node from N candidate backup control nodes corresponding to a first area.

[0122] Among them, the second distributed system includes a second configuration gateway, a second control node and a second data node. The second distributed system is used to provide data services for the second area. The priority of the second control node is higher than the priority of other nodes in N candidate backup control nodes except the second control node, and N is a positive integer.

[0123] The communication module 802 is configured to receive first configuration information sent by the second configuration gateway, and send the first configuration information to the first data node.

[0124] The first configuration information is generated by the second control node according to the first configuration parameter corresponding to the first area.

[0125] In some embodiments, the processing module 801 is specifically used to: determine the priorities of the N candidate backup control nodes based on the backup adaptability of the N regions to which the N candidate backup control nodes belong for backing up the first region, and determine the second control node as the backup control node based on the priorities of the N candidate backup control nodes.

[0126] In some embodiments, the processing module 801 is also used to: receive second configuration information sent by a third configuration gateway, where the second configuration information is generated by a third control node based on the first configuration parameters, the third distributed system includes the third configuration gateway, the third control node and the third data node, the third distributed system is used to provide data services for the third area, and the N candidate backup control nodes include the third control node.

[0127] In some embodiments, the N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; the processing module 801 is also used to: obtain the backup fitness of M areas for backing up the first area, the M areas include the second area, and M is a positive integer greater than or equal to N; determine the N areas based on the backup fitness of the M areas for backing up the first area.

[0128] In some implementation manners, the communication module 802 is specifically configured to: receive backup fitness of the M regions as backups of the first region, which are sent by the M configuration gateways of the M regions.

[0129] In some embodiments, the N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; the processing module 801 is also used to: obtain the backup adaptability between every two areas in the Q areas, the Q areas include the first area and the second area, and Q is a positive integer greater than the N; determine the N areas based on the backup adaptability between every two areas in the Q areas.

[0130] In some embodiments, the backup adaptability between each two areas in the Q areas includes the backup adaptability of the target area as a backup of any area other than the target area in the Q areas, and the target area is any area other than the first area in the Q areas; the communication module 802 is specifically used to: receive the backup adaptability of the target area as a backup of any area other than the target area in the Q areas, sent by the target configuration gateway of the target area.

[0131] In some embodiments, the backup adaptability between each two areas in the Q areas includes the backup adaptability of the first area as a backup for M areas, where the M areas are areas other than the first area among the Q areas; the processing module 801 is specifically used to: send a detection signal to the M configuration gateways of the M areas based on a preset period; determine the connectivity and detection delay between the first configuration gateway and the M configuration gateways based on the responses of the M configuration gateways to the detection signal; determine the backup adaptability of the first area as a backup for the M areas based on the connectivity and detection delay between the first configuration gateway and the M configuration gateways.

[0132] In some implementations, the processing module 801 is further configured to: before determining that the first control node fails, determine that the first control node is a candidate backup control node corresponding to a fourth region; and obtain third configuration parameters corresponding to the four regions.

[0133] In some embodiments, the communication module 802 is further used to: send the third configuration parameter to the first control node; receive the third configuration information sent by the first control node, and send the third configuration information to the fourth configuration gateway in the fourth area, where the third configuration information is generated by the first control node based on the third configuration parameter.

[0134] It should be noted that the processing module can be implemented by software or hardware. By way of example, the following describes possible implementations of the processing module.

[0135] As an example of a software functional unit, a processing module may include code running on a computing instance. A computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the computing instance may be one or more. For example, a processing module may include code running on multiple hosts, virtual machines, or containers.

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

[0137] It should be noted that in other embodiments, the computing device may also include more or fewer modules, any module is used to execute any step in the backup and disaster recovery method, and the steps that any module in the computing device is responsible for implementing can be specified as needed, and the embodiments of this application do not limit this.

[0138] The present application also provides a computing device. As shown in FIG9 , computing device 100 includes a bus 102, a processor 104, a memory 106, and a communication interface 108. Processor 104, memory 106, and communication interface 108 communicate with each other via bus 102. Computing device 100 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in computing device 100.

[0139] Bus 102 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG9 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 102 may include a path for transmitting information between various components of computing device 100 (e.g., memory 106, processor 104, and communication interface 108).

[0140] The processor 104 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).

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

[0142] The memory 106 stores executable program codes, and the processor 104 executes the executable program codes to respectively implement the aforementioned processing module functions, thereby implementing the backup disaster recovery method. That is, the memory 106 stores instructions for executing the backup disaster recovery method.

[0143] Alternatively, the memory 106 stores an executable program code, and the processor 104 executes the executable program code to respectively implement the functions of the first control node or the first data node in the embodiment of the present application, thereby realizing the backup disaster recovery method.

[0144] The communication interface 108 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement the aforementioned communication module functions, or to implement communication between the computing device 100 and other devices or communication networks.

[0145] Embodiments of the present application also provide 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.

[0146] As shown in Figure 10, the computing device cluster includes at least one computing device 100. At least one computing device 100 is used to implement the functions of the first distributed system in the embodiment of the present application. The memories of different computing devices 100 in the computing device cluster can store different instructions for executing part of the functions of the first distributed system, such as some computing devices 100 in the computing device cluster are used to execute the function of the first configuration gateway, some computing devices 100 in the computing device cluster are used to execute the function of the first control node, and some computing devices 100 in the computing device cluster are used to execute the function of the first data node.

[0147] It should be noted that the function of the first configuration gateway in the embodiment of the present application can also be implemented by multiple computing devices 100. The memory 106 in the multiple computing devices 100 can store the same instructions for executing the first configuration gateway function in the backup and disaster recovery method. Alternatively, the memory 106 in the multiple computing devices 100 can also store partial instructions for executing the first configuration gateway function in the backup and disaster recovery method. Then, the combination of the multiple computing devices 100 can jointly execute the first configuration gateway function in the backup and disaster recovery method. Similarly, the functions of the first control node and the first data node can also be implemented by multiple computing devices, and the repeated parts will not be repeated.

[0148] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network (WAN) or a local area network (LAN), among others. FIG. 11 illustrates a possible implementation. As shown in FIG. 11 , two computing devices 100A and 100B are connected via a network. Specifically, the connection to the network is achieved via a communication interface in each computing device. It should be understood that the functionality of the computing device 100A shown in FIG. 11 may also be accomplished by multiple computing devices 100. Similarly, the functionality of the computing device 100B may also be accomplished by multiple computing devices 100.

[0149] Based on the above embodiments, embodiments of the present application further provide a computer program product comprising instructions. The computer program product may be software or a program product comprising instructions that can be run on a computing device or stored on any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the backup and disaster recovery method provided in the embodiments of the present application.

[0150] Based on the above embodiments, embodiments of the present application further provide a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a backup and disaster recovery method.

[0151] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0152] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.

[0153] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0154] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0155] Obviously, those skilled in the art may make various modifications and variations to this application without departing from the scope of protection of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.

Claims

1. A backup and disaster recovery method, characterized in that: Applied to a first distributed system, the first distributed system includes a first configuration gateway, a first control node, and a first data node, the first control node is used to control and manage the first data node, and the first distributed system is used to provide data services for a first area. The method includes: Determining, by the first configuration gateway, that the first control node fails; The first configuration gateway determines, from N candidate backup control nodes corresponding to the first area, a second control node as a backup control node. The second distributed system includes the second configuration gateway, the second control node, and a second data node. The second distributed system is used to provide data services for the second area. The priority of the second control node is higher than the priority of other nodes in the N candidate backup control nodes except the second control node, where N is a positive integer. The first configuration gateway receives first configuration information sent by the second configuration gateway, where the first configuration information is generated by the second control node according to first configuration parameters corresponding to the first area; The first configuration gateway sends the first configuration information to the first data node.

2. The method according to claim 1, wherein The first configuration gateway determines, from the N candidate backup control nodes corresponding to the first area, the second control node as the backup control node, including: The first configuration gateway determines the priorities of the N candidate backup control nodes according to the backup suitability of the N regions to which the N candidate backup control nodes belong as backups for the first region; The first configuration gateway determines the second control node as the backup control node according to the priorities of the N candidate backup control nodes.

3. The method according to claim 2, wherein The second control node is an available control node.

4. The method according to any one of claims 1 to 3, wherein The method further comprises: The first configuration gateway receives second configuration information sent by the third configuration gateway, where the second configuration information is generated by the third control node based on the first configuration parameters. The third distributed system includes the third configuration gateway, the third control node and the third data node. The third distributed system is used to provide data services for the third area, and the N candidate backup control nodes include the third control node.

5. The method according to any one of claims 1 to 4, characterized in that The N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; The method further comprises: The first configuration gateway obtains backup adaptability of M regions as backups of the first region, where the M regions include the second region, and M is a positive integer greater than or equal to N; The first configuration gateway determines the N regions according to the backup suitability of the M regions for backing up the first region.

6. The method according to claim 5, wherein The first configuration gateway obtains the backup suitability of M regions as backups of the first region, including: Receive backup adaptability of the M regions as backups of the first region, which is sent by the M configuration gateways of the M regions.

7. The method according to any one of claims 1 to 4, characterized in that The N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; the method further includes: The first configuration gateway obtains a backup adaptability between every two areas of Q areas, where the Q areas include the first area and the second area, and Q is a positive integer greater than N; The first configuration gateway determines the N areas according to the backup adaptability between every two areas in the Q areas.

8. The method according to claim 7, wherein The backup adaptability between each two areas in the Q areas includes a backup adaptability of a target area being a backup of any area in the Q areas except the target area, and the target area is any area in the Q areas except the first area; The first configuration gateway obtains the backup adaptability between any two areas of the Q areas, including: The first configuration gateway receives a backup adaptability of the target area sent by a target configuration gateway of the target area, where the target area is a backup of any area other than the target area among the Q areas.

9. The method according to claim 7 or 8, wherein The backup adaptability between each two regions in the Q regions includes the backup adaptability of the first region as a backup of M regions, where the M regions are regions other than the first region in the Q regions; The first configuration gateway obtains the backup adaptability between any two areas of the Q areas, including: The first configuration gateway sends a detection signal to the M configuration gateways in the M areas based on a preset period; The first configuration gateway determines, based on responses of the M configuration gateways to the detection signal, connectivity and detection delay between the first configuration gateway and the M configuration gateways; The first configuration gateway determines, based on connectivity and detection delays between the first configuration gateway and the M configuration gateways, a backup suitability of the first area as a backup for the M areas.

10. The method according to any one of claims 1 to 9, wherein: Before the first configuration gateway determines that the first control node fails, the method further includes: The first configuration gateway determines the first control node as a candidate backup control node corresponding to the fourth area; The first configuration gateway obtains third configuration parameters corresponding to the four areas.

11. The method according to claim 10, wherein The method further comprises: The first configuration gateway sends the third configuration parameter to the first control node; The first control node generates third configuration information according to the third configuration parameter, and sends the third configuration information to the first configuration gateway; The first configuration gateway sends the third configuration information to a fourth configuration gateway in the fourth area.

12. A distributed system, characterized in that: The distributed system includes a first configuration gateway, a first control node, and a first data node, wherein the first control node is used to control and manage the first data node, and the distributed system is used to provide data services for the first area; The first configuration gateway is configured to determine that the first control node has failed; determine a second control node as a backup control node from N candidate backup control nodes corresponding to the first area, the second distributed system including the second configuration gateway, the second control node, and a second data node, the second distributed system being configured to provide data services for the second area, the priority of the second control node being higher than the priorities of other nodes in the N candidate backup control nodes except the second control node, where N is a positive integer; receive first configuration information sent by the second configuration gateway, the first configuration information being generated by the second control node based on first configuration parameters corresponding to the first area; and send the first configuration information to the first data node; The first data node is used to load the first configuration information.

13. The system according to claim 12, wherein: The first configuration gateway is specifically used for: determining priorities of the N candidate backup control nodes according to the backup suitability of the N regions to which the N candidate backup control nodes belong as backups for the first region; According to the priorities of the N candidate backup control nodes, the second control node is determined as the backup control node.

14. The system according to claim 13, wherein: The second control node is an available control node.

15. The system according to any one of claims 12 to 14, wherein: The first configuration gateway is further configured to: Receive second configuration information sent by a third configuration gateway, where the second configuration information is generated by a third control node based on the first configuration parameters. The third distributed system includes the third configuration gateway, the third control node and the third data node. The third distributed system is used to provide data services for the third area, and the N candidate backup control nodes include the third control node.

16. The system according to any one of claims 12 to 15, wherein: The N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; The first configuration gateway is further configured to: Obtaining backup adaptability of M regions as backups of the first region, where the M regions include the second region, and M is a positive integer greater than or equal to N; The N regions are determined according to the backup suitability of the M regions for backing up the first region.

17. The system according to claim 16, wherein: The first configuration gateway is specifically used for: Receive backup adaptability of the M regions as backups of the first region, which is sent by the M configuration gateways of the M regions.

18. The system according to any one of claims 12 to 15, wherein: The N candidate backup control nodes belong to N areas, each of the N areas includes a candidate backup control node, and the N areas are used to back up the first area; The first configuration gateway is further configured to: Obtaining a backup adaptability between every two areas of Q areas, where the Q areas include the first area and the second area, and Q is a positive integer greater than N; The N areas are determined according to the backup adaptability between every two areas in the Q areas.

19. The system of claim 18, wherein: The backup adaptability between each two areas in the Q areas includes a backup adaptability of a target area being a backup of any area in the Q areas except the target area, and the target area is any area in the Q areas except the first area; The first configuration gateway is specifically used for: Receive a backup adaptability sent by a target configuration gateway of the target area, where the target area is a backup of any area other than the target area among the Q areas.

20. The system according to claim 18 or 19, wherein: The backup adaptability between each two regions in the Q regions includes the backup adaptability of the first region as a backup of M regions, where the M regions are regions other than the first region in the Q regions; The first configuration gateway is specifically used for: Sending a detection signal to the M configured gateways in the M areas based on a preset period; Determining connectivity and detection delays between the first configuration gateway and the M configuration gateways based on responses of the M configuration gateways to the detection signal; The backup suitability of the first area as a backup for the M areas is determined according to connectivity and detection delay between the first configuration gateway and the M configuration gateways.

21. The system according to any one of claims 12 to 20, wherein: The first configuration gateway is further configured to: Before determining that the first control node fails, the first control node is determined to be a candidate backup control node corresponding to the fourth area, and third configuration parameters corresponding to the four areas are obtained.

22. The system of claim 21, wherein: The first configuration gateway is further configured to: send the third configuration parameter to the first control node; receive third configuration information sent by the first control node, and send the third configuration information to a fourth configuration gateway in the fourth area; The first control node is configured to generate the third configuration information according to the third configuration parameter.

23. A computing device cluster, characterized in that: comprising at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in a memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 11.

24. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to any one of claims 1 to 11.

25. A computer-readable storage medium, characterized in that The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Gateway equipment disaster tolerance method and communication equipment

    CN112543468A

  • Enterprise-level micro-service platform cross-regional disaster recovery architecture and method

    CN114143323A

  • System-oriented disaster-tolerant and destroy-resistant node cross-domain scheduling method and device

    CN116566805A

  • Arbitration method, device and system for dual-active data center

    CN116668269A

  • Zone redundant computing services using multiple local services in distributed computing systems

    US20190394284A1