Application multi-living system, application disaster management method and computer device
By introducing traffic node strategy control to manage traffic distribution in the application active-active system, the problem that the existing system architecture cannot meet the high availability requirements is solved, enabling flexible architecture reorganization and expansion, and reducing transformation costs.
Patent Information
- Application Number
- CN202411644817.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2044-11-18
AI Technical Summary
The existing architecture of active-active systems is difficult to meet the high availability requirements of business operations, and the transformation cost is high, making it unable to flexibly adapt to business development.
An application-active system is adopted, including at least one application-active architecture and multiple data clusters. It binds to gateway, application and database components through first-level, second-level and third-level traffic nodes, defines selection policies to control traffic distribution, and realizes architecture reorganization and expansion.
It achieves flexibility in traffic scheduling and business continuity, adapts to high availability requirements, and reduces the cost of architecture transformation.
Smart Images

Figure CN119520245B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an application active-active system, an application disaster recovery management method, and a computer device. Background Technology
[0002] Application active-active is an advanced form of application disaster recovery technology. It refers to establishing a production system in a data center within the same city or in a different location that partially or completely corresponds to the local production system. All applications within the data center simultaneously provide services to the outside world. When a disaster occurs, the active-active system can switch business traffic within minutes, and users may not even feel the disaster. It is a basic method for achieving business-level disaster recovery.
[0003] However, the architecture of active-active systems in related technologies is all fixed, which makes it difficult to meet the current high availability requirements of businesses. Summary of the Invention
[0004] Therefore, it is necessary to provide an application active-active system, application disaster recovery management method, and computer equipment that can meet the high availability requirements of business operations, addressing the aforementioned technical issues.
[0005] In a first aspect, this application provides an application active-active system, the application active-active system comprising at least one application active-active architecture and multiple data clusters, the data clusters comprising gateway components, application components, and database components; the application active-active architecture comprising:
[0006] A primary traffic node is bound to a gateway component in the corresponding data cluster and is used to control the gateway component to receive traffic and distribute traffic entering the gateway component according to a first selection strategy.
[0007] Secondary traffic nodes are bound to application components in the corresponding data cluster and are used to control the application components to receive traffic distributed by the gateway component according to the second selection strategy, and to distribute the traffic received by the application components.
[0008] The third-level traffic node is bound to the database component in the corresponding data cluster and is used to control the database component to receive traffic distributed by the application component;
[0009] The primary traffic node is further configured to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster, and the secondary traffic node is further configured to control the corresponding application component to distribute traffic to at least one database component in the data cluster.
[0010] In one embodiment, the application active-active architecture corresponds to the data cluster, and the number of application active-active architectures is less than or equal to the number of data clusters.
[0011] In one embodiment, the application component includes an application instance; the secondary traffic node includes secondary traffic sub-nodes, each of the secondary traffic sub-nodes being bound to an application instance in the corresponding data cluster, the secondary traffic sub-nodes being used to control the application instance to receive traffic distributed by the gateway component according to a second sub-selection strategy, and to distribute the traffic received by the application instance; wherein, at least some of the secondary traffic sub-nodes correspond to different second sub-selection strategies.
[0012] In one embodiment, the database component includes a data instance, and the third-level traffic node includes a third-level traffic sub-node. Each third-level traffic sub-node is bound to a data instance in the corresponding data cluster. The third-level traffic sub-node is used to control the data instance to receive traffic distributed by the application component.
[0013] In one embodiment, the first selection strategy includes a first write control strategy and / or a first distribution control strategy. The first write control strategy is used to instruct the primary traffic node to control the gateway component to receive traffic, and the first distribution control strategy is used to instruct the primary traffic node to control the gateway component to distribute traffic to a target application component, wherein the target application component is at least one application component included in the data cluster.
[0014] In one embodiment, the second selection strategy includes a second write control strategy and / or a second distribution control strategy. The second write control strategy is used to instruct the secondary traffic node to control the application component to receive traffic, and the second distribution control strategy is used to instruct the secondary traffic node to control the application component to distribute traffic to a target database component, wherein the target database component is at least one of the database components included in the data cluster.
[0015] Secondly, this application provides an application disaster recovery management method, applied to the application active-active system described in any of the above embodiments; the method includes:
[0016] Upon receiving an extension instruction, locate the idle data cluster in the application active-active system, where the idle data cluster represents a data cluster without a corresponding application active-active architecture.
[0017] If at least one idle data cluster exists, determine the target data cluster from among the idle data clusters;
[0018] A target application active-active architecture is built based on the target data cluster, so as to realize traffic interaction between the target data cluster and the other non-idle data clusters through the target application active-active architecture and the application active-active architecture corresponding to the other non-idle data clusters.
[0019] Thirdly, this application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the application disaster recovery management method described in the above embodiments.
[0020] Fourthly, this application provides a computer-readable storage medium storing a computer program thereon, characterized in that, when the computer program is executed by a processor, it implements the steps of the application disaster recovery management method described in the above embodiments.
[0021] Fifthly, this application provides a computer program product, including a computer program, characterized in that, when the computer program is executed by a processor, it implements the steps of the application disaster recovery management method described in the above embodiments.
[0022] The aforementioned application active-active system, application disaster recovery management method, and computer equipment include at least one application active-active architecture and multiple data clusters. Each data cluster has a gateway component, application components, and a database component. The application active-active architecture includes primary traffic nodes, secondary traffic nodes, and tertiary traffic nodes. Primary traffic nodes are bound to the corresponding gateway component in the data cluster and are used to control the gateway component to receive traffic and distribute traffic entering the gateway component according to a first selection strategy. Primary traffic nodes are also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster. Secondary traffic nodes are bound to the corresponding application components in the data cluster and are used to control the application components according to a second selection strategy. The component receives traffic distributed by the gateway component and distributes the traffic received by the application component. The secondary traffic node is also used to control the corresponding application component to distribute traffic to at least one database component in the data cluster. The tertiary traffic node is bound to the corresponding database component in the data cluster and is used to control the database component to receive traffic distributed by the application component. This application binds the gateway component, application component and database component in the data cluster to traffic nodes at each level, and controls the control strategy of the traffic nodes to control which component in the data cluster selects to receive traffic and distribute traffic to which component. This enables the reorganization and expansion of the architecture of each data cluster, thereby adapting to the high availability requirements of the business. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1This is a schematic diagram of the structure for applying multi-active mode in related technologies;
[0025] Figure 2 This is a schematic diagram of the structure of a multi-active system applied in one embodiment of this application;
[0026] Figure 3 This is a schematic diagram of the structure of a multi-active system applied in another embodiment of this application;
[0027] Figure 4 This is a flowchart illustrating the application of a disaster recovery management method in one embodiment of this application;
[0028] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0029] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0030] Application active-active is an advanced form of application disaster recovery technology. It refers to establishing a production system in a data center within the same city or in a different location that partially or completely corresponds to the local production system. All applications within the data center simultaneously provide services to the outside world. When a disaster occurs, the active-active system can switch business traffic within minutes, and users may not even feel the disaster. It is a basic method for achieving business-level disaster recovery.
[0031] Most mainstream application-based active-active products and services in the industry adopt an architecture-plus-control solution. The architecture typically divides the business into three parts: the access layer, the application layer, and the data layer. The access layer handles business traffic, identifying and distributing it. The application layer contains the main business traffic flow, such as application service calls and application middleware access management, and possesses three core functions: routing, protection, and isolation. The data layer refers to application data storage, synchronization, and switching. Control integrates the aforementioned layered components, orchestrating processes according to the application architecture to achieve traffic allocation while ensuring data consistency.
[0032] Based on business data distribution, please refer to Figure 1Currently, there are three common active-active application modes: single data cluster mode, master-slave data cluster mode, and master-master data cluster mode. Single data cluster mode refers to data layer components building a single cluster locally across data centers (or availability zones), ensuring high availability of business traffic across data centers (or availability zones). Master-slave data cluster mode refers to each center having its own independent data cluster, with the master center providing read and write services, establishing one-way data synchronization, redundancy of business data across centers, and high availability of business traffic across centers. Master-master data cluster mode refers to each center having its own independent data cluster, with business data sharded according to rules, establishing two-way data synchronization or star-shaped data synchronization, and closed-loop business traffic within the center, i.e., a unitized solution.
[0033] Because control is built upon the architecture, implementation requires applications to be modified according to the predetermined architecture to adapt to the corresponding solution. This model requires implementation personnel to follow the pre-defined solution step-by-step, resulting in a high learning and understanding cost. Furthermore, regardless of whether it's a single data cluster, master-slave, or master-master cluster, each architecture corresponds to a dedicated control mechanism. Therefore, once the architecture is determined, it cannot be changed. However, the established architecture may not meet the current high availability requirements of the business. To adapt to business development, it is necessary to re-match the architecture, modify the application, and rebuild the entire multi-active metadata, which is costly.
[0034] In one exemplary embodiment, please refer to Figure 2 This application provides an application active-active system, which includes at least one application active-active architecture and multiple data clusters. The data clusters include gateway components, application components and database components.
[0035] The application active-active architecture of this application includes at least a first-level traffic node, a second-level traffic node, and a third-level traffic node. The first-level traffic node is bound to a gateway component in the corresponding data cluster and is used to control the gateway component to receive traffic and distribute traffic entering the gateway component according to a first selection strategy. The second-level traffic node is bound to an application component in the corresponding data cluster and is used to control the application component to receive traffic distributed by the gateway component and distribute the traffic received by the application component according to a second selection strategy. The third-level traffic node is bound to a database component in the corresponding data cluster and is used to control the database component to receive traffic distributed by the application component. The first-level traffic node is also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster, and the second-level traffic node is also used to control the corresponding application component to distribute traffic to at least one database component in the data cluster.
[0036] In one example, see Figure 2 , Figure 2 In the master-master data cluster mode, this application uses a multi-active architecture and multiple data clusters, from... Figure 2As can be seen, the first-level traffic nodes correspond to the gateway component in the primary master data cluster; second-level traffic node 1 corresponds to application component 1 in the primary master data cluster; second-level traffic node 2 corresponds to application component 2 in the primary master data cluster; third-level traffic node 1 corresponds to database component 1 in the primary master data cluster; and third-level traffic node 2 corresponds to database component 2 in the primary master data cluster. By defining each traffic node and setting its selection strategy, the traffic nodes can continuously repeat the two questions: "What traffic can I receive?" and "Where should my traffic go?", thereby controlling the traffic allocation among the components in the physical domain.
[0037] Specifically, by defining a first selection strategy on a primary traffic node, the system can control which types of traffic the primary traffic node chooses to receive and which application component it allocates to based on the traffic type. Similarly, by defining a second selection strategy on a secondary traffic node, the system can control which types of traffic the secondary traffic node chooses to receive and which database component it allocates to based on the traffic type. Furthermore, a third selection strategy can be defined for tertiary traffic nodes to control which types of traffic they choose to receive. The first selection strategies on different primary traffic nodes can be different, the second selection strategies on different secondary traffic nodes can be different, and the third selection strategies on different tertiary traffic nodes can be different. Moreover, since primary traffic nodes are bound to the gateway component in their corresponding data cluster, secondary traffic nodes are bound to the application components in their corresponding data cluster, and tertiary traffic nodes are bound to the database components in their corresponding data cluster, the gateway component, application component, and database component can actually manage traffic reception and allocation according to the selection strategies of the corresponding traffic nodes.
[0038] As can be seen, the application-active multi-active system of this application does not deviate from the physical underlying layer of application-active multi-active, but rather redesigns the logical organization of application-active multi-active. It decouples the management of the physical domain from the traditional deployment architecture, meaning it does not use the mainstream layered structure of access layer, application layer, and data layer, but instead divides the system by traffic nodes, downplaying hierarchical grouping and emphasizing upstream and downstream links. It also decouples management from specific components, meaning it does not explicitly describe specific multi-active control measures such as access layer routing, RPC error correction, and data write protection, but instead abstracts them uniformly into traffic nodes, ensuring consistency in management. The application-active multi-active system of this application can achieve a consistent perspective on traffic scheduling and business continuity, making it easier for relevant technical personnel to understand and learn.
[0039] Furthermore, this application decouples management and disaster recovery architecture. Regardless of whether it's a basic active-active architecture or a combined active-active architecture, traffic scheduling is uniformly abstracted into a selection strategy, enabling the reconfiguration of data cluster modes. In one example, based on the type of data cluster, it can be divided into single-data clusters, primary-data clusters, and backup-data clusters. A single-data cluster mode refers to a system containing only one single-data cluster; a primary-backup cluster mode refers to a system containing one primary-data cluster and one backup-data cluster; and a primary-primary cluster mode refers to a system containing two primary-data clusters. Assuming the application active-active system includes two independent single-data clusters (the first and second single-data clusters), each corresponding to a different application active-active architecture, by rewriting the second selection strategy of the secondary traffic nodes in the application active-active architecture corresponding to the second single-data cluster, the application components in the second single-data cluster can distribute traffic to the database components in the first single-data cluster. This allows the two independent single-data clusters to be combined into a primary-backup cluster mode, achieving data cluster architecture reconfiguration and expansion to meet the high availability requirements of the business.
[0040] The aforementioned application active-active system, application disaster recovery management method, and computer equipment include at least one application active-active architecture and multiple data clusters. Each data cluster has a gateway component, application components, and a database component. The application active-active architecture includes primary traffic nodes, secondary traffic nodes, and tertiary traffic nodes. Primary traffic nodes are bound to the corresponding gateway component in the data cluster and are used to control the gateway component to receive traffic and distribute traffic entering the gateway component according to a first selection strategy. Primary traffic nodes are also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster. Secondary traffic nodes are bound to the corresponding application components in the data cluster and are used to control the application components according to a second selection strategy. The component receives traffic distributed by the gateway component and distributes the traffic received by the application component. The secondary traffic node is also used to control the corresponding application component to distribute traffic to at least one database component in the data cluster. The tertiary traffic node is bound to the corresponding database component in the data cluster and is used to control the database component to receive traffic distributed by the application component. This application binds the gateway component, application component and database component in the data cluster to traffic nodes at each level, and controls the control strategy of the traffic nodes to control which component in the data cluster selects to receive traffic and distribute traffic to which component. This enables the reorganization and expansion of the architecture of each data cluster, thereby adapting to the high availability requirements of the business.
[0041] In one exemplary embodiment, the application active-active architecture corresponds to the data cluster, and the number of application active-active architectures is less than or equal to the number of data clusters.
[0042] In this embodiment, one application active-active architecture can correspond to one data cluster, and the number of application active-active architectures in the application active-active system of this application is less than or equal to the number of data clusters. For example, the data clusters with application active-active architectures in the application active-active system are non-idle data clusters, and the data clusters without application active-active architectures are idle data clusters. Non-idle data clusters can be combined to form a data master-slave cluster mode or a data master-master cluster mode, or they can run independently according to the data single cluster mode. When it is necessary to expand the non-idle data clusters, one or more target data clusters can be found from the idle data clusters and combined with the non-idle data clusters to expand them, thereby adapting to the distribution requirements of business traffic.
[0043] In one exemplary embodiment, please refer to Figure 3 The application components include application instances, and the database components include data instances. Second-level traffic nodes include second-level traffic sub-nodes, each bound to an application instance in its corresponding data cluster. These sub-nodes control the application instances' reception of traffic distributed by the gateway component according to a second sub-selection strategy, and also distribute the traffic received by the application instances. At least some of the second-level traffic sub-nodes have different second sub-selection strategies. Third-level traffic nodes include third-level traffic sub-nodes, each bound to a data instance in its corresponding data cluster. These sub-nodes control the data instances' reception of traffic distributed by the application components.
[0044] In an application, within a data cluster, an application component may include at least one application instance, and a database component may also include at least one data instance. Application instances are bound to secondary traffic sub-nodes in the corresponding active-active application architecture, while data instances are bound to tertiary traffic sub-nodes in the same architecture. Each secondary traffic sub-node has a second sub-selection strategy to control what traffic the corresponding application instance receives and where it is distributed. Each tertiary traffic sub-node may also have a third sub-selection strategy to control what traffic the corresponding data instance receives.
[0045] In an exemplary embodiment, the first selection strategy includes a first write control strategy and / or a first distribution control strategy. The first write control strategy is used to instruct the primary traffic node control gateway component to receive traffic, and the first distribution control strategy is used to instruct the primary traffic node control gateway component to distribute traffic to a target application component, wherein the target application component is an application component included in at least one data cluster.
[0046] The second selection strategy includes a second write control strategy and / or a second distribution control strategy. The second write control strategy is used to instruct the secondary traffic node to control the application component to receive traffic, and the second distribution control strategy is used to instruct the secondary traffic node to control the application component to distribute traffic to the target database component, which is a database component included in at least one data cluster.
[0047] It can be understood that the first write control policy defines what type of traffic the first traffic node receives, thereby enabling the first-level traffic node to control the gateway component to receive the corresponding type of traffic. The first distribution control policy defines which application component the first traffic node will allocate the received traffic to, thereby enabling the first-level traffic node to control the gateway component to allocate traffic to the corresponding application component. Similarly, the second write control policy defines what type of traffic the second traffic node receives, thereby enabling the second-level traffic node to control the application component to receive the corresponding type of traffic. The second distribution control policy defines which database component the second traffic node will allocate the received traffic to, thereby enabling the second-level traffic node to control the application component to allocate traffic to the corresponding database component.
[0048] Similarly, the second sub-selection strategy of the secondary traffic sub-node includes a second write control sub-strategy and / or a second distribution control sub-strategy. The second write control sub-strategy is used to define what type of traffic the secondary traffic sub-node receives, thereby enabling the secondary traffic sub-node to control what type of traffic the corresponding application instance receives. The second distribution control sub-strategy defines which data instance the secondary traffic sub-node will allocate the received traffic to, thereby enabling the secondary traffic sub-node to control the application instance to allocate traffic to the corresponding data instance.
[0049] In applications, for a traffic node or traffic sub-node, you can define its node type (node_type), node group (group_id), write control strategy (enter_strategy), and distribution control strategy (select_strategy). By defining its node type, you can bind it to a specific component or instance. By defining its node group, you can easily configure routing rules.
[0050] In one example, assuming the data cluster includes a gateway component gw1, an application component svr_g1 (including application instances svr1 and svr2), and a data instance db1, then for the primary traffic node corresponding to the gateway component gw1, its node type node_type is defined as gateway, and its node identifier node_id is defined as gw1, to bind this primary traffic node to the gateway component gw1. Furthermore, a first write control policy and / or a first distribution control policy can be defined for this primary traffic node. For example, the first write control policy enter_strategy of this primary traffic node is defined as {"strategy_name": header", "key": op", "value": "*"}, and the first distribution control policy select_strategy of this primary traffic node is defined as {"strategy_name": group", "group_id": "svr_g1"}.
[0051] For the secondary traffic sub-node corresponding to application instance svr1, define its node type node_type as server, define its node identifier node_id as svr1 to bind this secondary traffic sub-node to application instance svr1, define its node group group_id as svr_g1, and also define a second write control sub-policy and / or a second distribution control sub-policy for this secondary traffic sub-node. For example, define the second distribution control sub-policy select_strategy of this secondary traffic sub-node as {"strategy_name": "db_all", "db_id": "db1"}.
[0052] For the secondary traffic sub-node corresponding to the application instance svr2, define its node type node_type as server, define its node identifier node_id as svr2 to bind this secondary traffic sub-node to the application instance svr2, define its node group group_id as svr_g1, and also define a second write control sub-policy and / or a second distribution control sub-policy for this secondary traffic sub-node. For example, define the second distribution control sub-policy select_strategy of this secondary traffic sub-node as {"strategy_name": "db_all", "db_id": "db1"}.
[0053] For the third-level traffic sub-node corresponding to data instance db1, define its node type node_type as database and its node identifier node_id as db1 to bind this third-level traffic sub-node to data instance db1.
[0054] In one exemplary embodiment, please continue to refer to Figure 2 and Figure 3 The application multi-active system of this application also includes a control device. Each application component is connected to a corresponding proxy component, and the control component is connected to each proxy component and the gateway component. Specifically, the proxy component may include at least one proxy device, which is connected to the corresponding application instance. The mapping channel from the logical domain to the physical domain is realized through the proxy component and the control component. The mapping channel from the logical domain to the physical domain is also the management channel of the component instance. The management channel can be divided into two types: one is an instruction channel, which can be implemented by the control device calling the control interface of the gateway component, and the other is a proxy channel, which can be implemented by the control device and the proxy device jointly.
[0055] In one exemplary embodiment, this application provides an application disaster recovery management method, applied to the application active-active system of any of the above embodiments. Please refer to... Figure 4 The method includes steps S401 to S403.
[0056] S401: Upon receiving an extension instruction, search for an idle data cluster in the application active-active system. An idle data cluster indicates that there is no corresponding data cluster for the application active-active architecture.
[0057] It is understandable that data clusters with an application-active architecture configured in an application-active system are non-idle data clusters, while data clusters without such a configuration are idle data clusters. Non-idle data clusters can be combined to form a primary-backup data cluster mode or a primary-primary data cluster mode, or they can operate independently as a single data cluster. When it is necessary to expand a non-idle data cluster, one or more target data clusters can be found from the idle data clusters and combined with the non-idle data cluster to expand it, thereby adapting to the distribution needs of business traffic.
[0058] S402: In the case of at least one idle data cluster, determine the target data cluster from the idle data clusters.
[0059] If there are idle data clusters in the system, one or more target data clusters can be determined from the idle data clusters according to the specific instructions received.
[0060] S403: A target application active-active architecture is built for the target data cluster to achieve traffic interaction between the target data cluster and the other non-idle data clusters through the target application active-active architecture and the application active-active architecture corresponding to the other non-idle data clusters.
[0061] Since the idle data cluster does not have a corresponding application active-active architecture, a target application active-active architecture needs to be built for the target data cluster. Then, by defining the node type (node_type), node group (group_id), write control policy (enter_strategy), and distribution control policy (select_strategy) of each traffic node and / or traffic sub-node in the target application active-active architecture, traffic interaction between the target data cluster and at least one of the other non-idle data clusters can be achieved.
[0062] In a detailed embodiment, taking a two-site, three-center application architecture with a local data single cluster and a remote data primary / backup cluster as an example, the construction, expansion, and traffic switching steps of the solution described in this invention are illustrated as follows:
[0063] First, an active-active architecture for the application is built based on the single-cluster data model. Traffic nodes in the local single-cluster model are configured, an initial traffic map is generated, and the first-level traffic node [lb1] corresponding to the local load balancer instance is configured with a group round-robin strategy as the first distribution control policy, targeting [g1]. The second-level traffic sub-node [svr1] corresponding to the local application instance is configured, and a group [g1] is defined. The second distribution control sub-policy is a specified database policy, targeting [db1]. The third-level traffic sub-node [db1] corresponding to the local data instance is configured. Then, [lb1] is bound to the local load balancer instance and a command channel is set. [svr1] integrates a proxy device to bind to the application instance and a proxy channel is set. [db1] is bound to the local data instance, only mapped, without setting a channel. Next, the traffic map is refreshed, converting the first distribution control policy of [lb1] into a load balancer configuration and pushing it to the instance through the command channel. The second distribution control sub-policy of [svr1] is converted into a database access address and pushed to the instance through the proxy channel.
[0064] When expanding a local data cluster, configure new traffic nodes in a remote primary / standby cluster mode to generate a traffic map under the new architecture. First, configure the primary traffic node [lb2] of the remote load balancer instance, with the first distribution control strategy being a group round-robin strategy and the target being [g2]. Configure the secondary traffic sub-node [svr2] of the remote application instance, defining the group [g2]. The second distribution control sub-strategy is a specified database strategy, with the target being [db1]. Configure the traffic node [db2] of the remote data instance. Similarly, bind the remote component instance and build a management channel. Bind [lb2] to the remote load balancer instance and set the command channel. Bind the integrated proxy device [svr2] to the remote application instance and set the proxy channel. Bind [db2] to the local data cluster instance, only mapping, without setting a channel. Then, build a one-way synchronous link from [db1] to [db2]. This item is unrelated to the traffic map but related to traffic switching management. Finally, refresh the traffic map, push the rules to the component instance, and the local component does not need to be updated. The first distribution control policy of [lb2] is converted into a load balancing configuration and pushed to the instance through the command channel. The second distribution control sub-policy of [svr2] is converted into a database access address and pushed to the instance through the proxy channel. At this time, both [svr1] and [svr2] read and write [db1].
[0065] In application, the active-active system of this application can also realize traffic switching. In one example, the first distribution control policy of [lb1] can be modified to a conditional grouping policy, and the grayscale identifier [gray] condition target is added as [lb2], with the default target being [g1]. Then, the first distribution control policy of [lb1] is converted into a load balancing configuration and pushed to the instance through the command channel. At this time, if the traffic carrying the grayscale identifier [gray] falls to the local cluster, it will be forwarded to the remote cluster, thereby realizing traffic error correction.
[0066] In another example, the active-active application system of this application can also realize the switching between the primary data cluster and the backup data cluster. For example, the second distribution control sub-policy of [svr1] and [svr2] can be modified to a write-prohibition policy. The rule is pushed to the instance through the proxy channel. At this time, the application instance is completely write-prohibited. Then, after waiting for the data synchronization delay to catch up, the one-way synchronization link from [db2] to [db1] is started. Then, the second distribution control sub-policy of [svr1] and [svr2] can be modified to a specified database policy with [db2] as the target. The rule is pushed to the instance through the proxy channel. At this time, the application reads and writes [db2], thus realizing the switching between the primary data cluster and the backup data cluster.
[0067] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0068] In one exemplary embodiment, this application provides a computer device including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the application disaster recovery management method described in the above embodiment.
[0069] This computer device can be a terminal, and its internal structure diagram can be as follows: Figure 5 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements an application disaster recovery management method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0070] Those skilled in the art will understand that Figure 5The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0071] In one exemplary embodiment, this application provides a computer-readable storage medium storing a computer program thereon, characterized in that the computer program, when executed by a processor, implements the steps of the application disaster recovery management method described in the above embodiments.
[0072] In one exemplary embodiment, this application provides a computer program product, including a computer program, characterized in that, when the computer program is executed by a processor, it implements the steps of the application disaster recovery management method described in the above embodiments.
[0073] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0074] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0075] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0076] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. An application-based active-active system, characterized in that, The application active-active system includes at least one application active-active architecture and multiple data clusters, wherein the data clusters include gateway components, application components and database components; The application multi-active architecture includes: A primary traffic node is bound to a gateway component in the corresponding data cluster and is used to control the gateway component to receive traffic and distribute traffic entering the gateway component according to a first selection strategy. Secondary traffic nodes are bound to application components in the corresponding data cluster and are used to control the application components to receive traffic distributed by the gateway component according to the second selection strategy, and to distribute the traffic received by the application components. The third-level traffic node is bound to the database component in the corresponding data cluster and is used to control the database component to receive traffic distributed by the application component; The primary traffic node is further configured to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster, and the secondary traffic node is further configured to control the corresponding application component to distribute traffic to at least one database component in the data cluster.
2. The application multi-active system according to claim 1, characterized in that, The application active-active architecture corresponds to the data cluster, and the number of application active-active architectures is less than or equal to the number of data clusters.
3. The application multi-active system according to claim 1, characterized in that, The application component includes an application instance; the secondary traffic node includes secondary traffic sub-nodes, each of which is bound to an application instance in the corresponding data cluster. The secondary traffic sub-node is used to control the application instance to receive traffic distributed by the gateway component and to distribute the traffic received by the application instance according to a second sub-selection strategy. At least some of the secondary traffic sub-nodes correspond to different second sub-selection strategies.
4. The application multi-active system according to claim 1, characterized in that, The database component includes a data instance, and the three-level traffic node includes three-level traffic sub-nodes. Each of the three-level traffic sub-nodes is bound to a data instance in the corresponding data cluster. The three-level traffic sub-nodes are used to control the data instance to receive traffic distributed by the application component.
5. The application multi-active system according to claim 1, characterized in that, The first selection strategy includes a first write control strategy and / or a first distribution control strategy. The first write control strategy is used to instruct the primary traffic node to control the gateway component to receive traffic, and the first distribution control strategy is used to instruct the primary traffic node to control the gateway component to distribute traffic to a target application component, wherein the target application component is at least one application component included in the data cluster.
6. The application multi-active system according to claim 1, characterized in that, The second selection strategy includes a second write control strategy and / or a second distribution control strategy. The second write control strategy is used to instruct the secondary traffic node to control the application component to receive traffic, and the second distribution control strategy is used to instruct the secondary traffic node to control the application component to distribute traffic to a target database component, wherein the target database component is at least one of the database components included in the data cluster.
7. A disaster recovery management method, characterized in that, Applied to the application multi-active system according to any one of claims 1-6; the method includes: Upon receiving an extension instruction, locate the idle data cluster in the application active-active system, where the idle data cluster represents a data cluster without a corresponding application active-active architecture. If at least one idle data cluster exists, determine the target data cluster from among the idle data clusters; A target application active-active architecture is built based on the target data cluster, so as to realize traffic interaction between the target data cluster and the other non-idle data clusters through the target application active-active architecture and the application active-active architecture corresponding to the other non-idle data clusters.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method of claim 7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method of claim 7.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the method of claim 7.
Citation Information
Patent Citations
Application cross-cluster elastic scaling method and system, medium and electronic equipment
CN114666215A
Disaster recovery switching method and device, equipment and storage medium
CN118473907A