CN109698769B - Application disaster tolerance device and method, terminal device and readable storage medium - Google Patents

Application disaster tolerance device and method, terminal device and readable storage medium Download PDF

Info

Publication number
CN109698769B
CN109698769B CN201910120857.XA CN201910120857A CN109698769B CN 109698769 B CN109698769 B CN 109698769B CN 201910120857 A CN201910120857 A CN 201910120857A CN 109698769 B CN109698769 B CN 109698769B
Authority
CN
China
Prior art keywords
virtual network
cloud
cloud environment
alternative
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910120857.XA
Other languages
Chinese (zh)
Other versions
CN109698769A (en
Inventor
谢忠杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910120857.XA priority Critical patent/CN109698769B/en
Publication of CN109698769A publication Critical patent/CN109698769A/en
Application granted granted Critical
Publication of CN109698769B publication Critical patent/CN109698769B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides an application disaster recovery device, which comprises: the tunnel creation module is used for respectively creating a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration; the application deployment module is used for deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels; and the application migration module is used for migrating the application to other alternative cloud environments through alternative virtual network tunnels in the virtual network tunnels when monitoring that the target virtual network tunnel is abnormal. The invention also provides an application disaster recovery method, terminal equipment and a readable storage medium. The invention solves the technical problem that the existing application disaster recovery scheme is difficult to recover or has application limitation when the cloud environment is damaged.

Description

Application disaster tolerance device and method, terminal device and readable storage medium
Technical Field
The present invention relates to the field of internet communication technologies, and in particular, to an application disaster recovery device and method, a terminal device, and a readable storage medium.
Background
At present, a hybrid cloud architecture for uniformly managing, distributing and deploying a private cloud and a public cloud is more and more widely applied, and it is a great trend of the industry to uniformly manage different cloud platforms. However, when the cloud environment is managed in a unified manner, the problem of safe communication among different cloud environments exists. When a certain public cloud environment is subjected to risks of natural disasters, artificial damage and unpredictability, the enhancement of disaster tolerance characteristics of applications becomes a strong demand of users.
The disaster recovery technology is that two or more sets of systems with similar functions are established in remote places at a distance. When the working system has disastrous events such as earthquake, fire and the like or major faults such as power failure and the like, the working system is switched to a disaster recovery system at a different place, so that a reliability mechanism for providing the application service is maintained.
The existing technology of disaster recovery applied in the industry at present has the problems that the cloud environment cannot be recovered in other cloud environments when damaged, the application is limited, and the like.
The above is only for the purpose of assisting understanding of the technical aspects of the present invention, and does not represent an admission that the above is prior art.
Disclosure of Invention
The invention mainly aims to provide an application disaster recovery device and method, a terminal device and a readable storage medium, and aims to solve the technical problems that an existing application disaster recovery scheme is difficult to recover or has application limitation when a cloud environment is damaged.
In order to achieve the above object, the present invention provides an application disaster recovery device, including:
the tunnel creation module is used for respectively creating a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration;
the application deployment module is used for deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
and the application migration module is used for migrating the application to other alternative cloud environments through alternative virtual network tunnels in the virtual network tunnels when monitoring that the target virtual network tunnel is abnormal.
Preferably, the tunnel creation module includes:
the acquiring unit is used for acquiring a virtual network tunnel number setting value set by a user side and/or priority setting information of each cloud environment, and/or reading preset state information of each cloud environment to determine priority information of each cloud environment;
a first determining unit, configured to determine, according to the set value of the number of virtual network tunnels and/or the priority setting information of each cloud environment, and/or the priority information of each cloud environment, a specified number of cloud environments from each cloud environment as alternative cloud environments; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
and the first tunnel creation unit is used for performing resource arrangement and deploying the gateway to each alternative cloud environment so as to create a virtual network tunnel from the private cloud to each alternative cloud environment.
Preferably, the tunnel creation module includes: a second determining unit, configured to determine a new target candidate cloud environment from the candidate cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determine a virtual network tunnel from the private cloud to the target candidate cloud environment as the new target virtual network tunnel;
and the application migration module is used for migrating the application to the new target alternative cloud environment through the new target virtual network tunnel.
Preferably, the tunnel creation module includes a third determination unit and a second tunnel creation unit; wherein the content of the first and second substances,
the third determining unit is used for determining a new alternative cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
and the second tunnel creating unit is used for creating a virtual network tunnel from the private cloud to the new alternative cloud environment after the application is migrated to the other alternative cloud environment.
In addition, in order to achieve the above object, the present invention further provides an application disaster recovery method, including the following steps:
respectively establishing a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration;
deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
and when the target virtual network tunnel is monitored to be abnormal, migrating the application to other alternative cloud environments through alternative virtual network tunnels in the virtual network tunnels.
Preferably, the step of respectively establishing a virtual network tunnel between the private cloud and each alternative cloud environment according to the user configuration specifically includes:
acquiring a virtual network tunnel number setting value set by a user side and/or priority setting information of each cloud environment, and/or reading preset state information of each cloud environment to determine the priority information of each cloud environment;
determining a specified number of cloud environments from the cloud environments as alternative cloud environments according to the virtual network tunnel number setting value and/or the priority setting information of each cloud environment and/or the priority information of each cloud environment; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
and performing resource arrangement, and deploying the gateway to each alternative cloud environment to create a virtual network tunnel from the private cloud to each alternative cloud environment.
Preferably, before the step of deploying the application to the target alternative cloud environment through the target virtual network tunnel in the virtual network tunnels, the method further includes:
determining a new target alternative cloud environment from alternative cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determining a virtual network tunnel from a private cloud to the target alternative cloud environment as a new target virtual network tunnel;
when the target virtual network tunnel is monitored to be abnormal, the step of migrating the application to other alternative cloud environments through the alternative virtual network tunnel in the virtual network tunnel specifically comprises the following steps:
and when the target virtual network tunnel is monitored to be abnormal, migrating the application to a new target alternative cloud environment through the new target virtual network tunnel.
Preferably, after the step of migrating the application to another alternative cloud environment through an alternative virtual network tunnel in the virtual network tunnels when it is monitored that the target virtual network tunnel is abnormal, the method further includes:
determining a new alternative cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
a virtual network tunnel of the private cloud to the new alternate cloud environment is created.
In addition, to achieve the above object, the present invention also provides a terminal device, including: the application disaster recovery system comprises a memory, a processor and an application disaster recovery program which is stored on the memory and can run on the processor, wherein the application disaster recovery program realizes the steps of the application disaster recovery method when being executed by the processor.
In addition, to achieve the above object, the present invention further provides a readable storage medium, where an application disaster recovery program is stored, and the application disaster recovery program, when executed by a processor, implements the steps of the application disaster recovery method as described above.
The embodiment of the invention provides an application disaster recovery device and method, an intelligent terminal and a readable storage medium. And respectively creating virtual network tunnels between the private cloud and each alternative cloud environment according to user configuration, and deploying the application to the target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels, so that the optimization of the application deployment cloud environment is realized, and the disaster resistance of the application deployment cloud environment is improved. In addition, based on the pre-deployment of the dynamic disaster recovery infrastructure, when a currently used target virtual network tunnel is disconnected, the currently applied deployment cloud environment is immediately switched to other normally available alternative cloud environments, so that a dynamic disaster recovery effect with high reliability is achieved. For a user, the cloud environment abnormity does not need to be sensed, the manual intervention processing is also not needed, and the labor cost is saved to a certain extent. The intensity of the applied disaster tolerance characteristic is in direct proportion to the number of cloud environments, and the more alternative cloud environments are managed, the stronger the disaster tolerance characteristic is. In addition, the cloud environment can be prioritized according to user requirements, and flexible configuration is performed.
Drawings
FIG. 1 is a functional block diagram of a disaster recovery device according to the present invention;
fig. 2 is a schematic diagram of a tunnel creation module 10 applying a disaster recovery device according to the present invention;
fig. 3 is another schematic diagram of the application deployment module 10 of the application disaster recovery device according to the present invention;
fig. 4 is another schematic diagram of the tunnel creating module 10 using the disaster recovery device according to the present invention;
FIG. 5 is a schematic diagram of another functional module of the disaster recovery device according to the present invention;
fig. 6 is a schematic flow chart of a disaster recovery method according to a first embodiment of the present invention;
fig. 7 is a flowchart illustrating a detailed step of step S10 of the first embodiment of the disaster recovery method according to the present invention;
fig. 8 is a flowchart illustrating another detailed step of step S10 of the first embodiment of the disaster recovery method according to the present invention;
fig. 9 is a schematic flow chart of a disaster recovery method according to a second embodiment of the present invention;
fig. 10 is a flowchart of a specific implementation of the disaster recovery method according to the present invention.
The objects, features and advantages of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Some of the terms and explanations related to the present invention are listed below:
API (application Programming interface): application programming interfaces, which are predefined functions, are intended to provide applications and developers the ability to access a set of routines based on certain software or hardware without accessing source code or understanding the details of the internal workings.
VPN (virtual Private network): a virtual private network. And establishing a private network on the public network, and encrypting so as to realize end-to-end communication.
Ipsec (internet Protocol security): internet protocol security is an open standard framework that ensures secure and secure communications over Internet Protocol (IP) networks by using encrypted security services.
Vlan (virtual Local Area network): a virtual local area network.
Vxlan (virtual Extensible lan): a virtual extended LAN is a network virtual technology, it is an extension to VLAN, there are 24 bits in VXLAN's message Header, can support 2 bit24The number of VLANs.
The invention provides an application disaster recovery device. As shown in fig. 1, fig. 1 is a schematic composition diagram of a functional module of the application disaster recovery device. Wherein the apparatus comprises:
a tunnel creation module 10, configured to create virtual network tunnels between the private cloud and each alternative cloud environment according to user configuration;
in one embodiment, as shown in fig. 2, the tunnel creating module 10 includes an obtaining unit 110, configured to obtain a setting value of the number of virtual network tunnels set by a user and/or priority setting information of each cloud environment, and/or read preset state information of each cloud environment to determine priority information of each cloud environment;
the user side is used for realizing the setting operation of the user, and can be a web page side or an application program running on a mobile terminal (such as a mobile phone and a tablet computer). When a virtual network tunnel between the private cloud and each alternative cloud environment needs to be created, a user sets the virtual network tunnel through the user side, so that the user side triggers a tunnel creation request to the tunnel creation module 10.
Specifically, a user sets the number of virtual network tunnels between a private cloud and each alternative cloud environment, which need to be created by the application disaster recovery device, through a user side; optionally, the priority of a certain cloud environment may also be set by the user side. The obtaining unit 110 is responsible for interacting with the ue to obtain the set value of the number of virtual network tunnels set on the ue and/or the priority setting information of each cloud environment.
Generally, the number of virtual network tunnels is set to be greater than 1 to provide alternative virtual network tunnels and cloud environments, for example, to be 2. All the default priorities of the cloud environments are at the same level, and a user can set or divide the priority level of a certain cloud environment according to needs (or not set the priority level); the cloud environment with the high priority is preferentially selected as the cloud environment for application deployment.
It should be noted that the type of the "cloud environment" referred to in the embodiments of the present invention is not necessarily limited, and any "cloud environment" may be a public cloud environment or a private cloud environment, or other types of cloud environments.
When receiving the tunnel creation request, the obtaining unit 110 optionally reads preset state information of each cloud environment to determine priority information of each cloud environment. Specifically, the application disaster recovery device further includes a cloud environment resource pool (not shown in fig. 1). The cloud environment resource pool monitors each cloud environment based on a specific API (application programming interface), and acquires a cloud environment list, wherein the list comprises preset characteristic information of each cloud environment. The cloud environment resource pool reports the preset feature information of each cloud environment to the obtaining unit 110.
The preset feature information of any cloud environment is used for representing a corresponding cloud environment state, and specifically may include but is not limited to: the cloud environment has an occupancy level for computing resources, network resources, and storage resources. And determining the priority information (priority level) of each cloud environment according to the preset characteristic information of each cloud environment. For example, if the occupancy rate level of a certain cloud environment to computing resources, network resources, and storage resources is low, the priority level of the cloud environment is high, and the cloud environment should be preferentially determined as the candidate cloud environment. That is, under the same condition, the lower the resource occupancy rate of a certain cloud environment is, the higher the priority level of the cloud environment is.
A first determining unit 120, configured to determine, according to the set value of the number of virtual network tunnels and/or the priority setting information of each cloud environment, and/or the priority information of each cloud environment, a specified number of cloud environments from each cloud environment as alternative cloud environments; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
performing comprehensive sequencing on the cloud environments according to the priority information of the cloud environments and/or the priority information of the cloud environments; and according to the comprehensive sequencing result, determining the specified number of cloud environments as alternative cloud environments, and using the rest undetermined cloud environments as idle cloud environments, wherein the specified number is equal to the virtual network tunnel number set value.
In a preferred embodiment, the cloud environments are sorted according to the set priority level according to the priority setting information of the cloud environments set by the user terminal. Assuming that the client sets A, B, C, D, E the priority information of five cloud environments as 3, 1, 2, and 3 (the priority is higher, the priority is selected preferentially), the reverse ordering result of the priority of the five cloud environments is: a ═ E > D > B ═ C. If the set value of the number of virtual network tunnels is 2, 2 cloud environments (i.e., a and E) with higher priority levels are determined as alternative cloud environments, and the remaining 3 cloud environments (i.e., B, C, D) are idle cloud environments. If the number of virtual network tunnels is set to be 3, 3 cloud environments (i.e., A, E and D) with higher priority levels are determined to be alternative cloud environments, and the remaining 2 cloud environments (i.e., B, C) are idle cloud environments. If the alternative cloud environment needs to be determined in a plurality of cloud environments with the same priority level, the alternative cloud environment can be randomly selected. The rest can be analogized in the same way.
In another preferred embodiment, the cloud environments are sorted according to the set priority level according to the priority information of the cloud environments. And according to the sequencing result, determining the cloud environments with the specified number as alternative cloud environments, and taking the rest undetermined cloud environments as idle cloud environments. The specific determination process may refer to the above description, and is not described herein again.
The first tunnel creating unit 130 is configured to perform resource orchestration and deploy a gateway to each alternative cloud environment to create a virtual network tunnel from the private cloud to each alternative cloud environment.
And after determining the specified number of alternative cloud environments, establishing a virtual network tunnel from the private cloud to each alternative cloud environment.
The resource arrangement refers to arrangement and allocation of running environments or resources such as computing resources, network resources and storage resources. And after finishing the resource arrangement, deploying the gateway to each alternative cloud environment. The communication protocol used by the gateway can be selected from a general communication technology/protocol (such as a VXLAN gateway or an IPSec gateway is preferably used), or can be customized according to needs.
For example, the first tunnel creation unit 130 performs resource organization, and automatically deploys a VXLAN gateway or an IPSec gateway locally and in each cloud environment. And establishing a network topology from the local to each cloud environment through a VXLAN gateway or an IPSec gateway, and realizing the intercommunication between the private cloud and the alternative cloud environment. In this way, the virtual network tunnel is realized by using VXLAN technology or IPSecVPN, so that two-layer network communication is realized between the private cloud and the alternative cloud environment.
Thereafter, the first tunnel creation unit 130 creates a virtual network tunnel from the private cloud to each alternative cloud environment. For example, alternative cloud environments have three in total: cloud environment A/B/C. And respectively deploying the gateways to the cloud environment A/B/C, and further respectively establishing a virtual network tunnel A/B/C from the private cloud to the alternative cloud environment A/B/C. Inter-cloud communication between the private cloud and different alternative cloud environments can be achieved based on the created virtual network tunnel.
In a specific implementation, as shown in fig. 3, the tunnel creation module 10 may further include:
a second determining unit 140, configured to determine a target alternative cloud environment from alternative cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determine a virtual network tunnel from a private cloud to the target alternative cloud environment as a target virtual network tunnel;
according to the priority level of each cloud environment, determining an alternative cloud environment with the highest priority level from the alternative cloud environments, taking the determined alternative cloud environment as a target alternative cloud environment, and further determining a virtual network tunnel from the private cloud to the target alternative cloud environment as a target virtual network tunnel. In this way, the candidate cloud environment with the highest priority and the least resource occupancy can be determined for the application deployment.
Understandably, the determination of the target candidate cloud environment and the target virtual network tunnel is performed after reading the preset state information of each cloud environment to determine the priority information of each cloud environment.
The application deployment module 20 is configured to deploy the application to the target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
after a better alternative cloud environment is selected, the application is deployed to the target alternative cloud environment through the target virtual network tunnel, and therefore the application can normally run in the target alternative cloud environment. The implementation of a particular application deployment is not limited herein. In this way, by selecting a specified number of alternative cloud environments, respectively creating a virtual network tunnel from the private cloud to each alternative cloud environment, and deploying the application to one of the preferred alternative cloud environments, the dynamic disaster recovery infrastructure is pre-deployed.
And the application migration module 30 is configured to, when it is monitored that the target virtual network tunnel is abnormal, migrate the application to another alternative cloud environment through an alternative virtual network tunnel in the virtual network tunnels.
In specific implementation, the application migration module 30 is configured to migrate the application to the new target candidate cloud environment through the new target virtual network tunnel, as opposed to the execution step of the second determining unit 140.
Firstly, the application migration module 30 monitors the state information of the target virtual network tunnel in real time; and judging whether the target virtual network tunnel is interrupted or not according to the state information.
If the target virtual network tunnel is judged to be interrupted, acquiring and analyzing the state information to confirm whether the target virtual network tunnel is in a disconnection state or not so as to eliminate the recoverable condition of short-time disconnection of the target virtual network tunnel; or directly judging that the target virtual network tunnel is in a disconnection state when the state information cannot be acquired.
And when the target virtual network tunnel is confirmed to be in the disconnection state, carrying out application migration. Based on the second determination unit, another available alternative cloud environment is selected as a new target alternative cloud environment, and the virtual network tunnel between the private cloud and the new target alternative cloud environment is used as a new target virtual network tunnel. Further, the application is migrated to the new target candidate cloud environment through the new target virtual network tunnel, and for specific implementation, reference is made to the above, which is not described herein again. Because the virtual network tunnel between the private cloud and the new target alternative cloud environment is established in advance, the application can be rapidly migrated to other alternative cloud environments except the target alternative cloud environment through the virtual network tunnel with the new target alternative cloud environment, the efficiency of application conversion deployment is improved, and the effect of dynamic disaster tolerance is achieved.
The application disaster recovery device in this embodiment respectively creates a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration, and deploys the application to the target alternative cloud environment through a target virtual network tunnel in the virtual network tunnel, so that the application deployment cloud environment is optimized, and the disaster resistance of the application deployment cloud environment is improved.
In addition, based on the pre-deployment of the dynamic disaster recovery infrastructure, when a currently used target virtual network tunnel is disconnected, the currently applied deployment cloud environment is immediately switched to other normally available alternative cloud environments, so that a dynamic disaster recovery effect with high reliability is achieved. For a user, the cloud environment abnormity does not need to be sensed, the manual intervention processing is also not needed, and the labor cost is saved to a certain extent. The intensity of the applied disaster tolerance characteristic is in direct proportion to the number of cloud environments, and the more alternative cloud environments are managed, the stronger the disaster tolerance characteristic is. In addition, the cloud environment can be prioritized according to user requirements, and flexible configuration is performed.
Further, based on the application disaster recovery apparatus in the first embodiment, as shown in fig. 4, the tunnel creation module 10 includes a third determining unit 150 and a second tunnel creation unit 160; wherein the content of the first and second substances,
the third determining unit 150 is configured to determine a new candidate cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
specifically, the third determining unit 150 sorts the cloud environments according to the set priority levels according to the priority setting information of the cloud environments and/or the priority information of the cloud environments. The third determining unit 150 determines, according to the sorting result, one idle cloud environment with the highest priority level from among the idle cloud environments as a new candidate cloud environment.
The second tunnel creating unit 160 is further configured to create a virtual network tunnel from the private cloud to the new alternative cloud environment after migrating the application to the other alternative cloud environment.
The creation of the virtual network tunnel from the private cloud to the new candidate cloud environment by the second tunnel creation unit 160 is the same as the creation of the virtual network tunnel described above, and is not described herein again. Alternatively, the second tunnel creation unit 160 may be identical to the first tunnel creation unit 130.
In this way, after the application migration module 30 switches the current application deployment cloud environment, the third determining unit 150 determines the new candidate cloud environment, and the second tunnel creating unit 160 creates virtual network tunnels from the private cloud to the new candidate cloud environment, so as to keep the total number of candidate cloud environments equal to the set virtual network tunnel number setting value. Therefore, the state that the number of alternative cloud environments is redundant is kept, the requirement of next disaster recovery switching is met, and the dynamic disaster recovery effect with high reliability is achieved.
Further, as shown in fig. 5, the application disaster recovery apparatus further includes a cloud environment resource pool 50; the cloud environment resource pool 50 is connected with the tunnel creation module 10; the cloud environment resource pool 50 is configured to manage the private cloud and each alternative cloud environment, and send a cloud environment list to the cloud environment resource pool 50 according to the data acquisition request of the tunnel creation module 10, where the list includes preset feature information of each cloud environment, which may be specifically referred to as a management index/content of a cloud environment managed by the cloud environment resource pool 50.
In this embodiment, the cloud environment resource pool 50 is responsible for managing all managed cloud environments, and management criteria/contents include but are not limited to: computing resources, network resources, storage resources, monitoring, and alarming. That is, the cloud environment resource pool 50 is a set of computing resources, storage resources, network resources, and the like that can be uniformly managed, allocated, and monitored, and can realize uniform management and allocation of the private cloud and each cloud environment.
In addition, the invention also provides an application disaster recovery method.
As shown in fig. 6, fig. 6 is a schematic flow chart of a disaster recovery method according to a first embodiment of the present invention. Wherein the method comprises the following steps:
step S10, respectively establishing virtual network tunnels between the private cloud and each alternative cloud environment according to user configuration;
in one implementation, as shown in fig. 7, step S10 includes: step S11, acquiring the virtual network tunnel number setting value set by the user end and/or the priority setting information of each cloud environment, and/or reading the preset state information of each cloud environment to determine the priority information of each cloud environment;
the user side is used for realizing the setting operation of the user, and can be a web page side or an application program running on a mobile terminal (such as a mobile phone and a tablet computer). When a virtual network tunnel between the private cloud and each alternative cloud environment needs to be created, the user performs setting through the user side, so that the user side triggers a tunnel creation request to the application disaster recovery device as described above.
Specifically, a user sets the number of virtual network tunnels between a private cloud and each alternative cloud environment, which need to be created by the application disaster recovery device, through a user side; optionally, the priority of a certain cloud environment may also be set by the user side. And the application disaster recovery device interacts with the user side to acquire the set value of the number of the virtual network tunnels set on the user side and/or the priority setting information of each cloud environment.
Generally, the number of virtual network tunnels is set to be greater than 1 to provide alternative virtual network tunnels and cloud environments, for example, to be 2. All the default priorities of the cloud environments are at the same level, and a user can set or divide the priority level of a certain cloud environment according to needs (or not set the priority level); the cloud environment with the high priority is preferentially selected as the cloud environment for application deployment.
It should be noted that the type of the "cloud environment" referred to in the embodiments of the present invention is not necessarily limited, and any "cloud environment" may be a public cloud environment or a private cloud environment, or other types of cloud environments.
When a tunnel creation request is received, optionally, preset feature information of each cloud environment is read. Specifically, each cloud environment is monitored based on a specific API (application programming interface), and a cloud environment list is obtained, where the list includes preset feature information of each cloud environment.
The preset feature information of any cloud environment is used for representing a corresponding cloud environment state, and specifically may include but is not limited to: the cloud environment has an occupancy level for computing resources, network resources, and storage resources. And determining the priority information (priority level) of each cloud environment according to the preset characteristic information of each cloud environment. For example, if the occupancy rate level of a certain cloud environment to computing resources, network resources, and storage resources is low, the priority level of the cloud environment is high, and the cloud environment should be preferentially determined as the candidate cloud environment. That is, under the same condition, the lower the resource occupancy rate of a certain cloud environment is, the higher the priority level of the cloud environment is.
Step S12, according to the virtual network tunnel number setting value and/or the priority setting information of each cloud environment, and/or the priority information of each cloud environment, determining a specified number of cloud environments from each cloud environment as alternative cloud environments; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
performing comprehensive sequencing on the cloud environments according to the priority information of the cloud environments and/or the priority information of the cloud environments; and according to the comprehensive sequencing result, determining the specified number of cloud environments as alternative cloud environments, and using the rest undetermined cloud environments as idle cloud environments, wherein the specified number is equal to the virtual network tunnel number set value.
In a preferred embodiment, the cloud environments are sorted according to the set priority level according to the priority setting information of the cloud environments set by the user terminal. Assuming that the client sets A, B, C, D, E the priority information of five cloud environments as 3, 1, 2, and 3 (the priority is higher, the priority is selected preferentially), the reverse ordering result of the priority of the five cloud environments is: a ═ E > D > B ═ C. If the set value of the number of virtual network tunnels is 2, 2 cloud environments (i.e., a and E) with higher priority levels are determined as alternative cloud environments, and the remaining 3 cloud environments (i.e., B, C, D) are idle cloud environments. If the number of virtual network tunnels is set to be 3, 3 cloud environments (i.e., A, E and D) with higher priority levels are determined to be alternative cloud environments, and the remaining 2 cloud environments (i.e., B, C) are idle cloud environments. If the alternative cloud environment needs to be determined in a plurality of cloud environments with the same priority level, the alternative cloud environment can be randomly selected. The rest can be analogized in the same way.
In another preferred embodiment, the cloud environments are sorted according to the set priority level according to the priority information of the cloud environments. And according to the sequencing result, determining the cloud environments with the specified number as alternative cloud environments, and taking the rest undetermined cloud environments as idle cloud environments. The specific determination process may refer to the above description, and is not described herein again.
And step S13, performing resource arrangement, and deploying the gateway to each alternative cloud environment to create a virtual network tunnel from the private cloud to each alternative cloud environment.
And after determining the specified number of alternative cloud environments, establishing a virtual network tunnel from the private cloud to each alternative cloud environment.
The resource arrangement refers to arrangement and allocation of running environments or resources such as computing resources, network resources and storage resources. And after finishing the resource arrangement, deploying the gateway to each alternative cloud environment. The communication protocol used by the gateway can be selected from a general communication technology/protocol (such as a VXLAN gateway or an IPSec gateway is preferably used), or can be customized according to needs.
For example, resource orchestration is performed first, and VXLAN gateways or IPSec gateways are automatically deployed locally and in various cloud environments. And establishing a network topology from the local to each cloud environment through a VXLAN gateway or an IPSec gateway, and realizing the intercommunication between the private cloud and the alternative cloud environment. In this way, the virtual network tunnel is realized by using VXLAN technology or IPSecVPN, so that two-layer network communication is realized between the private cloud and the alternative cloud environment.
Further, a virtual network tunnel of the private cloud to each alternative cloud environment is created. For example, alternative cloud environments have three in total: cloud environment A/B/C. And respectively deploying the gateways to the cloud environment A/B/C, and further respectively establishing a virtual network tunnel A/B/C from the private cloud to the alternative cloud environment A/B/C. And realizing inter-cloud communication between the private cloud and different alternative cloud environments based on the created virtual network tunnel.
In one implementation, as shown in fig. 8, step S10 further includes: step S14, determining a target alternative cloud environment from alternative cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determining a virtual network tunnel from a private cloud to the target alternative cloud environment as a target virtual network tunnel;
according to the priority level of each cloud environment, determining an alternative cloud environment with the highest priority level from the alternative cloud environments, taking the determined alternative cloud environment as a target alternative cloud environment, and further determining a virtual network tunnel from the private cloud to the target alternative cloud environment as a target virtual network tunnel. In this way, the candidate cloud environment with the highest priority and the least resource occupancy can be determined for the application deployment.
It is understood that step S14 may be executed after step S11, and the specific execution order of step S12 is not limited.
Step S20, deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
after a better alternative cloud environment is selected, the application is deployed to the target alternative cloud environment through the target virtual network tunnel, and therefore the application can normally run in the target alternative cloud environment. The implementation of a particular application deployment is not limited herein. In this way, by selecting a specified number of alternative cloud environments, respectively creating a virtual network tunnel from the private cloud to each alternative cloud environment, and deploying the application to one of the preferred alternative cloud environments, the dynamic disaster recovery infrastructure is pre-deployed.
Step S30, when the target virtual network tunnel is monitored to be abnormal, the application is migrated to other alternative cloud environments through the alternative virtual network tunnel in the virtual network tunnel.
In specific implementation, as opposed to step S14, the application is migrated to the new target candidate cloud environment through the new target virtual network tunnel.
Firstly, monitoring the state information of a target virtual network tunnel in real time; and judging whether the target virtual network tunnel is interrupted or not according to the state information.
If the target virtual network tunnel is judged to be interrupted, acquiring and analyzing the state information to confirm whether the target virtual network tunnel is in a disconnection state or not so as to eliminate the recoverable condition of short-time disconnection of the target virtual network tunnel; or directly judging that the target virtual network tunnel is in a disconnection state when the state information cannot be acquired.
And when the target virtual network tunnel is confirmed to be in the disconnection state, carrying out application migration. Namely, another available alternative cloud environment is selected as a new target alternative cloud environment, and the virtual network tunnel between the private cloud and the new target alternative cloud environment is used as a new target virtual network tunnel. Further, the application is migrated to the new target candidate cloud environment through the new target virtual network tunnel, and for specific implementation, reference is made to the above, which is not described herein again. Because the virtual network tunnel between the private cloud and the new target alternative cloud environment is established in advance, the application can be rapidly migrated to other alternative cloud environments except the target alternative cloud environment through the virtual network tunnel with the new target alternative cloud environment, the efficiency of application conversion deployment is improved, and the effect of dynamic disaster tolerance is achieved.
In this embodiment, virtual network tunnels between the private cloud and the alternative cloud environments are respectively created according to user configuration, and the application is deployed to the target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels, so that the application deployment cloud environment is optimized, and the disaster resistance of the application deployment cloud environment is improved.
In addition, based on the pre-deployment of the dynamic disaster recovery infrastructure, when a currently used target virtual network tunnel is disconnected, the currently applied deployment cloud environment is immediately switched to other normally available alternative cloud environments, so that a dynamic disaster recovery effect with high reliability is achieved. For a user, the cloud environment abnormity does not need to be sensed, the manual intervention processing is also not needed, and the labor cost is saved to a certain extent. The intensity of the applied disaster tolerance characteristic is in direct proportion to the number of cloud environments, and the more alternative cloud environments are managed, the stronger the disaster tolerance characteristic is. In addition, the cloud environment can be prioritized according to user requirements, and flexible configuration is performed.
Further, based on the first embodiment of the application disaster recovery method of the present invention, a second embodiment of the application disaster recovery method of the present invention is provided. As shown in fig. 9, after step S30, the method further includes:
step S40, determining a new alternative cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
specifically, the cloud environments are sorted according to the set priority levels according to the priority setting information of the cloud environments and/or the priority information of the cloud environments. And according to the sequencing result, determining one idle cloud environment with the highest priority level from all idle cloud environments as a new alternative cloud environment.
Step S41, create a virtual network tunnel from the private cloud to the new alternate cloud environment.
Fig. 10 shows a specific implementation flowchart of the disaster recovery method according to the present invention, and the creation of the virtual network tunnel from the private cloud to the new candidate cloud environment is the same as the creation of the virtual network tunnel described above, and is not described here again.
In this way, after the switching of the current application deployment cloud environment is performed, the determination of the new alternative cloud environment is performed, and the virtual network tunnels from the private cloud to the new alternative cloud environment are created, so as to keep the total number of the alternative cloud environments equal to the set virtual network tunnel number setting value. Therefore, the state that the number of alternative cloud environments is redundant is kept, the requirement of next disaster recovery switching is met, and the dynamic disaster recovery effect with high reliability is achieved.
The invention also provides the terminal equipment.
The terminal device of the present invention includes: the application disaster recovery system comprises a memory, a processor and an application disaster recovery program which is stored on the memory and can run on the processor, wherein the application disaster recovery program realizes the steps of the application disaster recovery method when being executed by the processor.
The method implemented when the application disaster recovery program running on the processor is executed may refer to each embodiment of the application disaster recovery method of the present invention, and details thereof are not repeated herein.
The invention also provides a storage medium.
The storage medium of the present invention stores an application disaster recovery program, and the application disaster recovery program implements the steps of the application disaster recovery method described above when executed by a processor.
The method implemented when the application disaster recovery program running on the processor is executed may refer to each embodiment of the application disaster recovery method of the present invention, and details thereof are not repeated herein.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (8)

1. An application disaster recovery device, comprising:
the tunnel creation module is used for respectively creating a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration;
the application deployment module is used for deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
the application migration module is used for migrating the application to other alternative cloud environments through alternative virtual network tunnels in the virtual network tunnels when monitoring that the target virtual network tunnel is abnormal;
the tunnel creation module includes:
the acquiring unit is used for acquiring a virtual network tunnel number setting value set by a user side and/or priority setting information of each cloud environment, and/or reading preset state information of each cloud environment to determine priority information of each cloud environment;
a first determining unit, configured to determine, according to the set value of the number of virtual network tunnels and/or the priority setting information of each cloud environment, and/or the priority information of each cloud environment, a specified number of cloud environments from each cloud environment as alternative cloud environments; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
and the first tunnel creation unit is used for performing resource arrangement and deploying the gateway to each alternative cloud environment so as to create a virtual network tunnel from the private cloud to each alternative cloud environment.
2. The application disaster recovery device of claim 1 wherein said tunnel creation module comprises: a second determining unit, configured to determine a new target candidate cloud environment from the candidate cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determine a virtual network tunnel from the private cloud to the target candidate cloud environment as the new target virtual network tunnel;
and the application migration module is used for migrating the application to the new target alternative cloud environment through the new target virtual network tunnel.
3. The apparatus of claim 1, wherein the tunnel creation module comprises a third determination unit, a second tunnel creation unit; wherein the content of the first and second substances,
the third determining unit is used for determining a new alternative cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
and the second tunnel creating unit is used for creating a virtual network tunnel from the private cloud to the new alternative cloud environment after the application is migrated to the other alternative cloud environment.
4. An application disaster recovery method is characterized by comprising the following steps:
respectively establishing a virtual network tunnel between the private cloud and each alternative cloud environment according to user configuration;
deploying the application to a target alternative cloud environment through a target virtual network tunnel in the virtual network tunnels;
when the target virtual network tunnel is monitored to be abnormal, migrating the application to other alternative cloud environments through alternative virtual network tunnels in the virtual network tunnels;
the step of respectively establishing the virtual network tunnels between the private cloud and the alternative cloud environments according to the user configuration specifically includes:
acquiring a virtual network tunnel number setting value set by a user side and/or priority setting information of each cloud environment, and/or reading preset state information of each cloud environment to determine the priority information of each cloud environment;
determining a specified number of cloud environments from the cloud environments as alternative cloud environments according to the virtual network tunnel number setting value and/or the priority setting information of each cloud environment and/or the priority information of each cloud environment; the specified number is equal to the virtual network tunnel number set value, and the rest undetermined cloud environments are used as idle cloud environments;
and performing resource arrangement, and deploying the gateway to each alternative cloud environment to create a virtual network tunnel from the private cloud to each alternative cloud environment.
5. The application disaster recovery method according to claim 4, wherein before the step of deploying the application onto the target alternative cloud environment through the target one of the virtual network tunnels, the method further comprises:
determining a new target alternative cloud environment from alternative cloud environments according to the priority setting information of each cloud environment and/or the priority information of each cloud environment, and determining a virtual network tunnel from a private cloud to the target alternative cloud environment as a new target virtual network tunnel;
when the target virtual network tunnel is monitored to be abnormal, the step of migrating the application to other alternative cloud environments through the alternative virtual network tunnel in the virtual network tunnel specifically comprises the following steps:
and when the target virtual network tunnel is monitored to be abnormal, migrating the application to a new target alternative cloud environment through the new target virtual network tunnel.
6. The application disaster recovery method according to claim 4, wherein after the step of migrating the application to other alternative cloud environments through the alternative virtual network tunnel in the virtual network tunnels when it is monitored that the target virtual network tunnel is abnormal, the method further comprises:
determining a new alternative cloud environment from the idle cloud environment according to the priority setting information of each cloud environment and/or the priority information of each cloud environment;
a virtual network tunnel of the private cloud to the new alternate cloud environment is created.
7. A terminal device, characterized in that the terminal device comprises: memory, a processor and an application disaster recovery program stored on said memory and executable on said processor, said application disaster recovery program implementing the steps of the application disaster recovery method according to any of claims 4 to 6 when executed by said processor.
8. A readable storage medium, characterized in that the readable storage medium has stored thereon an application disaster recovery program, which when executed by a processor implements the steps of the application disaster recovery method according to any one of claims 4 to 6.
CN201910120857.XA 2019-02-18 2019-02-18 Application disaster tolerance device and method, terminal device and readable storage medium Active CN109698769B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910120857.XA CN109698769B (en) 2019-02-18 2019-02-18 Application disaster tolerance device and method, terminal device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910120857.XA CN109698769B (en) 2019-02-18 2019-02-18 Application disaster tolerance device and method, terminal device and readable storage medium

Publications (2)

Publication Number Publication Date
CN109698769A CN109698769A (en) 2019-04-30
CN109698769B true CN109698769B (en) 2022-03-22

Family

ID=66234807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910120857.XA Active CN109698769B (en) 2019-02-18 2019-02-18 Application disaster tolerance device and method, terminal device and readable storage medium

Country Status (1)

Country Link
CN (1) CN109698769B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572321A (en) * 2019-09-30 2019-12-13 北京天融信网络安全技术有限公司 Data transmission method and device, storage medium and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291262A (en) * 2011-09-01 2011-12-21 中兴通讯股份有限公司 Disaster recovery method, device and system
CN105812191A (en) * 2016-04-28 2016-07-27 杭州华三通信技术有限公司 Disaster recovery switching method and device
CN106254095A (en) * 2016-07-19 2016-12-21 华为技术有限公司 The backup processing method of tunnel traffic and equipment
CN108475251A (en) * 2016-01-22 2018-08-31 环球互连及数据中心公司 It is put for the virtual network of container, heat exchange, pyrocondensation and disaster recovery

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649799B2 (en) * 2010-03-17 2020-05-12 Zerto Ltd. Hypervisor virtual server system, and method for providing data services within a hypervisor virtual server system
US8341363B2 (en) * 2010-05-03 2012-12-25 Panzura, Inc. Efficient cloud network attached storage
US10021027B2 (en) * 2013-04-30 2018-07-10 Comcast Cable Communications, Llc Network validation with dynamic tunneling
CN104869118B (en) * 2015-05-15 2018-07-31 北京云杉世纪网络科技有限公司 A kind of method and system for realizing DDoS defence based on dynamic tunneling technique
CN107241384B (en) * 2017-05-03 2020-11-03 复旦大学 Content distribution service resource optimization scheduling method based on multi-cloud architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291262A (en) * 2011-09-01 2011-12-21 中兴通讯股份有限公司 Disaster recovery method, device and system
CN108475251A (en) * 2016-01-22 2018-08-31 环球互连及数据中心公司 It is put for the virtual network of container, heat exchange, pyrocondensation and disaster recovery
CN105812191A (en) * 2016-04-28 2016-07-27 杭州华三通信技术有限公司 Disaster recovery switching method and device
CN106254095A (en) * 2016-07-19 2016-12-21 华为技术有限公司 The backup processing method of tunnel traffic and equipment

Also Published As

Publication number Publication date
CN109698769A (en) 2019-04-30

Similar Documents

Publication Publication Date Title
US11842208B2 (en) Virtual provisioning with implementation resource boundary awareness
US6543004B1 (en) Method and apparatus for archiving and restoring data
US8806015B2 (en) Workload-aware placement in private heterogeneous clouds
US6446091B1 (en) Method and apparatus for undeleting files in a computer system
US10528433B2 (en) Systems and methods for disaster recovery using a cloud-based data center
JP5391207B2 (en) Application description system and method for manageable and efficient expansion deployment
CN105335229B (en) Scheduling method and device of service resources
CN107105050B (en) Storage and downloading method and system for service objects
JP2018045671A (en) Method and apparatus for scheduling cloud server
EP2622504A1 (en) Virtual resource cost tracking with dedicated implementation resources
CN106790092B (en) Remote procedure call server control system and method
CN108268211B (en) Data processing method and device
CN108345490B (en) Method and system for deploying virtual machine in NFV
CN112099913A (en) Method for realizing safety isolation of virtual machine based on OpenStack
CN109698769B (en) Application disaster tolerance device and method, terminal device and readable storage medium
CN106941522B (en) Lightweight distributed computing platform and data processing method thereof
US11374979B2 (en) Graph-based policy representation system for managing network devices
WO2007146473A2 (en) Method and system for distributing data processing units in a communication network
CN107911243B (en) Network optimization method, device and computer readable storage medium
Merlino et al. Cloud-based network virtualization: An IoT use case
US10680965B1 (en) Redistribution of VPN tunnels among VPN concentrators
CN114745757B (en) Cluster switching method, device, equipment and medium
CN114338670B (en) Edge cloud platform and network-connected traffic three-level cloud control platform with same
JP2020017201A (en) Network system, information acquisition device, information acquisition method, and program
CN110661655B (en) Cluster deployment method and system, electronic device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant