CN109936462A - Disaster recovery method and device - Google Patents

Disaster recovery method and device Download PDF

Info

Publication number
CN109936462A
CN109936462A CN201711344664.XA CN201711344664A CN109936462A CN 109936462 A CN109936462 A CN 109936462A CN 201711344664 A CN201711344664 A CN 201711344664A CN 109936462 A CN109936462 A CN 109936462A
Authority
CN
China
Prior art keywords
disaster tolerance
application example
higher level
application
new online
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.)
Granted
Application number
CN201711344664.XA
Other languages
Chinese (zh)
Other versions
CN109936462B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711344664.XA priority Critical patent/CN109936462B/en
Publication of CN109936462A publication Critical patent/CN109936462A/en
Application granted granted Critical
Publication of CN109936462B publication Critical patent/CN109936462B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

Present application illustrates a kind of disaster recovery method and devices.Disaster tolerance control centre obtains disaster tolerance operation object belonging to new online higher level's application example in production website, the instance identification of new online higher level's application example is stored in the application example identification list of disaster tolerance operation object again, later when determining that needing to be implemented disaster tolerance switches, disaster tolerance switching notice can be sent to new online higher level's application example according to the instance identification of new online higher level's application example, indicate that new online higher level's application example calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching notice at least carries the address that the disaster tolerance is applied in disaster tolerance website.New online higher level's application example receives the disaster tolerance switching notice that disaster tolerance control centre sends, and then applies the address of the corresponding disaster tolerance application in disaster tolerance website to execute disaster tolerance handover operation according to junior.So that new online higher level's application example can correct processing business request after breaking down for production stations point.

Description

Disaster recovery method and device
Technical field
The present embodiments relate to field of communication technology more particularly to a kind of disaster recovery methods and device.
Background technique
Currently, enterprise provides online a variety of applications and clothes in business, such as production website by the outside portion of production website Business handles extraneous service request by the cooperation of these applications and service.However, sometimes may be due to various accidents Production stations point is caused to break down, such as certain applications or service fault.Therefore, in order to avoid the failure of production stations point is led It causes correctly processing business to request, needs to be arranged another website as disaster tolerance website, enable application or the clothes of failure Corresponding application or the service in disaster tolerance website of business, to guarantee the continuity of business.
Elastic telescopic is not present under non-cloud scene, for each application or service in production website, at disaster tolerance station There are corresponding application or service in point.In this way, when these applications or service can not handle request, so that it may road will be requested By to disaster tolerance website it is corresponding application or service on.The purpose of service normally is provided to external to realize.In cloud scene It generally requires to carry out the online new application example of elastic telescopic in production website, to meet growing business demand.Such as Fruit, the certain applications produced in website are broken down, so that it may be enabled according to the corresponding relationship of application corresponding in disaster tolerance website Using.For higher level's application of these failures application, the calling or request that they apply original failure will be transferred to disaster tolerance The disaster tolerance of website is using upper, to guarantee the continuity of business.But existing disaster tolerance is both for non-cloud scene, for cloud Change the new online higher level's application example of production website under scene and do not carry out disaster tolerance processing, is not aware that needs shift request To disaster tolerance website using upper, after causing disaster tolerance to switch, new higher level's application example can not correct processing business.
Summary of the invention
In order to solve the above technical problems, present application illustrates a kind of disaster recovery method and devices.
In a first aspect, producing the failure junior application in website at disaster tolerance station present application illustrates a kind of disaster recovery method There is corresponding disaster tolerance application in point, which comprises
Disaster tolerance control centre, which determines, has new online higher level's application example in production website;
The disaster tolerance control centre obtains disaster tolerance operation object belonging to new online higher level's application example;
The instance identification of new online higher level's application example is stored in the disaster tolerance and grasped by the disaster tolerance control centre Make in the application example identification list of object;
The disaster tolerance control centre obtains in the application example identification list when determining that needing to be implemented disaster tolerance switches The instance identification of new online higher level's application example;
The disaster tolerance control centre is according to the instance identification of new online higher level's application example to described new online Higher level's application example sends disaster tolerance switching notice, indicates that new online higher level's application example calls the junior to apply and holding Corresponding disaster tolerance application in calamity website, the disaster tolerance switching notice at least carry the application of the disaster tolerance in the disaster tolerance website Address.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, the disaster tolerance control centre, which determines, has new online higher level in production website Application example, comprising:
The topological TOPO information change notifying of the production website is subscribed to by the disaster tolerance control centre;
The disaster tolerance control centre receives the TOPO information change notifying from the production website, and the TOPO information becomes There is new online higher level's application example in the more notice instruction production website.
In an optional implementation, the method also includes:
When the junior application in the production website can not provide normal service, the disaster tolerance control centre is determined Need to be implemented disaster tolerance switching.
In an optional implementation, the disaster tolerance control centre obtains new online higher level's application example institute The disaster tolerance operation object of category, comprising:
The disaster tolerance control centre obtains the configuration information of new online higher level's application example, the configuration information packet Include the object identity of disaster tolerance operation object belonging to new online higher level's application example;
The disaster tolerance control centre obtains the object identity in the configuration information;
Disaster tolerance operation object corresponding to the object identity is determined as described new online by the disaster tolerance control centre Disaster tolerance operation object belonging to higher level's application example.
In order to save system resource, in an optional implementation, the method also includes:
When there is offline higher level's application example in the production website, the disaster tolerance control centre determination is described Disaster tolerance operation object belonging to offline higher level's application example;
The application of disaster tolerance control centre disaster tolerance operation object belonging to offline higher level's application example is real The instance identification of offline higher level's application example is deleted in example identification list.
In an optional implementation, the disaster tolerance control centre does not receive higher level's application example in preset duration Heartbeat message when, the disaster tolerance control centre determines that higher level's application example is offline.
Second aspect produces the failure junior application in website at disaster tolerance station present application illustrates a kind of disaster recovery method There is corresponding disaster tolerance application in point, which comprises
New online higher level's application example receives the disaster tolerance switching notice that disaster tolerance control centre sends, and the disaster tolerance switching is logical Know the address at least carrying the application of disaster tolerance described in the disaster tolerance website;
New online higher level's application example executes disaster tolerance handover operation according to the address.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, new online higher level's application example executes disaster tolerance according to the address and cuts Change operation, comprising:
Service call address is switched to the disaster tolerance and applied at the disaster tolerance station by new online higher level's application example Address in point.
The third aspect produces the failure junior application in website at disaster tolerance station present application illustrates a kind of disaster tolerance device There is corresponding disaster tolerance application in point, described device includes:
There is new online higher level's application example in production website for determining in the first determination unit;
First acquisition unit, for obtaining disaster tolerance operation object belonging to new online higher level's application example;
Storage unit, for the instance identification of new online higher level's application example to be stored in the disaster tolerance operation pair In the application example identification list of elephant;
Second acquisition unit, for obtaining in the application example identification list when determining that needing to be implemented disaster tolerance switches New online higher level's application example instance identification;
Transmission unit, for according to the instance identification of new online higher level's application example to the new online higher level Application example sends disaster tolerance switching notice, indicates that new online higher level's application example calls the junior to apply at disaster tolerance station Corresponding disaster tolerance application in point, the disaster tolerance switching notice at least carry the ground of the application of the disaster tolerance in the disaster tolerance website Location.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, first determination unit includes:
Subscriber units, for subscribing to the topological TOPO information change notifying of the production website;
First receiving unit, for receiving the TOPO information change notifying from the production website, the TOPO information Notification of Changes indicates there is new online higher level's application example in the production website.
In an optional implementation, described device further include:
Second determination unit, for when it is described production website in the junior application can not provide normal service when, really Surely disaster tolerance switching is needed to be implemented.
In an optional implementation, the first acquisition unit includes:
Second acquisition unit, for obtaining the configuration information of new online higher level's application example, the configuration information Object identity including disaster tolerance operation object belonging to new online higher level's application example;
Third acquiring unit, for obtaining the object identity in the configuration information;
Third determination unit, it is described new online for disaster tolerance operation object corresponding to the object identity to be determined as Disaster tolerance operation object belonging to higher level's application example.
In order to save system resource, in an optional implementation, described device further include:
4th determination unit, described in determining when there is offline higher level's application example in the production website Disaster tolerance operation object belonging to offline higher level's application example;
Delete unit, the application example mark for the disaster tolerance operation object belonging to offline higher level's application example Know the instance identification that offline higher level's application example is deleted in list.
In an optional implementation, described device further include:
5th determination unit, when for not receiving the heartbeat message of higher level's application example in preset duration, the disaster tolerance Control centre determines that higher level's application example is offline.
Fourth aspect produces the failure junior application in website at disaster tolerance station present application illustrates a kind of disaster tolerance device There is corresponding disaster tolerance application in point, described device includes:
Second receiving unit, for receiving the disaster tolerance switching notice of disaster tolerance control centre transmission, the disaster tolerance switching notice At least carry the address of the application of disaster tolerance described in the disaster tolerance website;
Switch unit, for executing disaster tolerance handover operation according to the address.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, the switch unit is specifically used for: service call address being switched to described Disaster tolerance applies the address in the disaster tolerance website.
5th aspect, present application illustrates a kind of computer readable storage mediums, including instruction, when it is transported on computers When row, so that computer executes disaster recovery method as described in relation to the first aspect.
6th aspect, present application illustrates a kind of computer program products, when run on a computer, so that calculating Machine executes disaster recovery method as described in relation to the first aspect.
7th aspect, present application illustrates a kind of equipment, including memory, processor and storage are on a memory and can be The computer program run on processor, which is characterized in that when the processor executes described program, realize such as first aspect institute The disaster recovery method stated.
Eighth aspect, present application illustrates a kind of computer readable storage mediums, including instruction, when it is transported on computers When row, so that computer executes the disaster recovery method as described in second aspect.
9th aspect, present application illustrates a kind of computer program products, when run on a computer, so that calculating Machine executes the disaster recovery method as described in second aspect.
Tenth aspect, present application illustrates a kind of equipment, including memory, processor and storage are on a memory and can be The computer program run on processor, which is characterized in that when the processor executes described program, realize such as second aspect institute The disaster recovery method stated.
Detailed description of the invention
Fig. 1 is a kind of structural schematic diagram of disaster tolerance system shown according to an exemplary embodiment;
Fig. 2 is a kind of flow chart of disaster recovery method shown according to an exemplary embodiment;
Fig. 3 is the structural schematic diagram of another disaster tolerance system shown according to an exemplary embodiment;
Fig. 4 is a kind of structural schematic diagram of disaster tolerance device shown according to an exemplary embodiment;
Fig. 5 is a kind of structural schematic diagram of disaster tolerance device shown according to an exemplary embodiment.
Specific embodiment
This application provides a kind of disaster tolerance system, Fig. 1 is a kind of disaster tolerance system shown according to an exemplary embodiment Structural schematic diagram, as shown in Figure 1, the system includes disaster tolerance control centre 01 and multiple application examples 02, the application be can use Virtual machine (Virtual Machine, VM) carries application example and disaster tolerance control centre, carries the VM of each application example Can be different, the VM and the VM of carrying disaster tolerance control centre for carrying application example can be different.Disaster tolerance control centre can with answer With data interaction is carried out between example, for example, disaster tolerance control centre can send to application example carries junior in disaster tolerance website The switching notice of the address of disaster tolerance application, so that application example is according to junior's disaster tolerance application in the call by location disaster tolerance website.
Present invention also provides a kind of disaster recovery method, Fig. 2 is a kind of disaster recovery method shown according to an exemplary embodiment Flow chart, as shown in Fig. 2, this method be applied to disaster tolerance control centre 01 shown in FIG. 1 in.There is failure in production website Junior application, and the failure junior application have corresponding disaster tolerance application in disaster tolerance website.Junior application Higher level's application needs that junior application is called to carry out finishing service request.For the application example of the higher level application in production website Disaster tolerance switching is completed, when processing service requests, junior application of the meeting into disaster tolerance website is called, finishing service Request.But producing new online higher level's application example in website can still call in production website due to being not carried out disaster tolerance notice Failed junior's application, therefore it is unable to complete service request.
This approach includes the following steps.
In step s101, disaster tolerance control centre, which determines, has new online higher level's application example in production website;
In this application, when needing a new online application example in producing website, the platform produced in website is Service (Platform as a Service, PaaS) layer can be used virtual machine image and create VM in production website, and new An application example is disposed on the VM of creation, then starts the application example of deployment, to realize new online in production website One application example.
When needing an offline application example in producing website, PaaS layers can unload the offline application of needs in fact Example, to realize an offline application example in production website;Further, it can also unload for carrying offline application The VM of example.
Disaster tolerance control centre has subscribed PaaS layers topology (TOPO) information change notifying in production website, whenever producing In website when new online higher level's application example, PaaS layers can send TOPO information change notifying to disaster tolerance control centre, There is new online higher level's application example in TOPO information change notifying instruction production website.Each application example can be periodically to appearance Calamity control centre sends heartbeat message, and when higher level's application example offline in producing website, disaster tolerance control centre is not The heartbeat message of offline higher level's application example can be received again, therefore disaster tolerance control centre can determine higher level's application example It is offline.
In step s 102, disaster tolerance control centre obtains disaster tolerance operation object belonging to new online higher level's application example;
In this application, application example can be classified in advance, for example, according to its function classification.Such as calculate the application of class Example, the application example of image processing class and the application example for obtaining web data class etc..
For example, being illustrated by taking the application example for calculating class as an example, online calculating class is answered in production website Calculating service can be externally provided with example, for example, processing computation requests, required junior is answered when handling computation requests It is produced in website with being stored in.
When user, which needs to produce website, to be calculated some data, user can send to calculate to production website and ask It asks, calculative data is carried in computation requests, production website receives the computation requests, and the computation requests are distributed to The application example of calculating class online in website is produced, the application example for calculating class receives the computation requests, from the computation requests In extract calculative data, and call junior to apply from production website and calculative data calculated, thus complete The processing of the pairs of computation requests.
For example, production website provides the service for calculating Individual Income Tax, user can be submitted to production website for calculating The computation requests of Individual Income Tax, the computation requests carry the pre-tax salary of user, pay the amount of money of social security and pay public product The amount of money of gold, the required junior's application used can provide the calculating public affairs for calculating Individual Income Tax when calculating Individual Income Tax The computation requests can be distributed to the application for calculating class when production website receives the computation requests of user's submission by formula Example can be mentioned when the application example for calculating class gets the computation requests of production website distribution from the computation requests The pre-tax salary of user is taken out, the amount of money of social security is paid and pays the amount of money of common reserve fund, and calling from production website should Junior's application of calculation formula is provided, to the pre-tax salary of user, pay the amount of money of social security and pay the amount of money of common reserve fund into The Individual Income Tax of user is calculated in row.
However, production website often receives a large amount of computation requests in a short time as portfolio is gradually increased, Such as needing to calculate respective Individual Income Tax in a large amount of user's short time, the application example for calculating class due to one is primary only A computation requests are capable of handling, in order to improve the efficiency for handling these computation requests, are produced often online multiple in website The application example of class is calculated, multiple application examples for calculating class belong to same type of application example.Same type of application is real Example needs to produce the junior's application called in website can be identical, for example, it is desired to which the junior's application called is to calculate personal institute Obtain junior's application etc. of tax.
Therefore, when need by the junior of a certain higher level's application example using call address from production website switch to disaster tolerance station When point, generally require the junior for belonging to same type of all application examples with higher level's application example is equal using call address Disaster tolerance website is switched to from production website.
Correspondingly, in this application, (hold as sent when needing to execute disaster tolerance handover operation to a certain higher level's application example Calamity switching notice), generally require to the application example belong to same type of all application examples be performed both by disaster tolerance switching grasp Make.
In order to facilitate handover operation is executed, in this application, can by production website it is online belong to it is same type of Application example forms a disaster tolerance operation object, and the instance identification for belonging to same type of application example is formed application example Identification list.
In this application, VM is created in production website using virtual machine image when PaaS layers, and on newly created VM It disposes after an application example and the application example of starting deployment, PaaS layers also need to create the application example in VM Configuration information, and store in the configuration information of the application example object mark of disaster tolerance operation object belonging to the application example Know.In this way, later when determining that needing to be implemented disaster tolerance switches, the disaster tolerance operation object according to belonging to the application example Object identity is determined to belong to same type of all application examples, and executes appearance to same type of all application examples are belonged to Calamity handover operation.
Therefore, in this step, the configuration information of the available new online higher level's application example of disaster tolerance control centre, should Configuration information includes the object identity of disaster tolerance operation object belonging to new online higher level's application example, and confidence should be matched by then obtaining Object identity in breath, and disaster tolerance operation object corresponding to the object identity is determined as new online higher level's application example institute The disaster tolerance operation object of category.
In this application, it is also possible to which there is no disaster tolerance operation objects belonging to new online higher level's application example, if not In the presence of disaster tolerance operation object belonging to new online higher level's application example, it is determined that new online higher level's application example is not related to holding Calamity demand, so as to terminate process.
In step s 103, the instance identification of new online higher level's application example is stored in disaster tolerance behaviour by disaster tolerance control centre Make in the application example identification list of object;
In step S104, disaster tolerance control centre obtains application example identity column when determining that needing to be implemented disaster tolerance switches The instance identification of new online higher level's application example in table;
In this application, when normal service can not be provided by producing junior's application in website, disaster tolerance control centre is determined Need to be implemented disaster tolerance switching.
Such as, it is generally the case that when higher level's application example calls junior's application to complete a service request in production website Later, junior's application can return to a feedback information, and feedback information is to indicate that the service request has been handled.However, working as After junior's application is broken down, new online higher level's application may can not call junior application to complete to service request Processing, junior's application can not Normal Feedback information, such as return to error message or not return information, and then can determine in production website Junior application is broken down, thus may determine that needing to be implemented disaster tolerance switching.
Alternatively, disaster tolerance control centre, which determines, to need to hold when disaster tolerance control centre receives the switching request of user's submission The switching of row disaster tolerance.For example, user can determine the need for executing disaster tolerance switching according to actual needs, when needing to be implemented disaster tolerance When switching, switching request can be submitted to disaster tolerance control centre, after disaster tolerance control centre receives the switching request, determined Need to be implemented disaster tolerance switching.
There is also the scene that other need to be implemented disaster tolerance switching, herein a different citings in the application.
In step s105, disaster tolerance control centre is according to the instance identification of new online higher level's application example to new online Higher level's application example sends disaster tolerance switching notice, and the new online higher level's application example of instruction calls the junior to apply in disaster tolerance website In corresponding disaster tolerance application, disaster tolerance switching notice at least carries the address that the disaster tolerance in disaster tolerance website is applied.
In step s 106, new online higher level's application example receives the disaster tolerance switching notice that disaster tolerance control centre sends;
In step s 107, new online higher level's application example applies the corresponding disaster tolerance in disaster tolerance website to answer according to junior Address executes disaster tolerance handover operation.
After new online higher level's application example receives disaster tolerance switching notice, no longer the junior is applied from production website It is called, but the junior is called using corresponding disaster tolerance application from disaster tolerance website, complete to service request Processing.
Further, in the another embodiment of the application, disaster tolerance control centre can also apply to new online higher level Other higher level's application examples that example belongs to same disaster tolerance operation object send disaster tolerance switching notice, so that with new online higher level Other higher level's application examples that application example belongs to same disaster tolerance operation object execute disaster tolerance according to the disaster tolerance switching notice respectively Handover operation.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In this application, the quantity for the service request that production website receives in section in different times may be different, When the quantity of the service request received gradually increases, in order to improve the efficiency of processing business request, need in production website In new online application example, in order to save system resource, needed in life when the quantity of the service request received gradually decreases Produce offline certain applications example in website.
After offline some application examples in producing website, it is assumed that production stations point breaks down, if disaster tolerance operates There is also the instance identifications of offline application example in the application example identification list of object, then are sending disaster tolerance switching notice When, disaster tolerance control centre, which can also send according to the application example identification list of disaster tolerance operation object to offline application example, to be held Calamity switching notice, but in fact, be not necessarily to send disaster tolerance switching notice to offline application example at this time, to offline Application example send disaster tolerance switching notice can waste system resource.
Therefore, in order to save system resource, disaster tolerance control centre need to only send to currently not offline application example to be switched Notice, without sending switching notice to offline application example again.
In order to no longer send switching notice to offline application example, in this application, disaster tolerance control centre also needs Determining in production website whether there is offline application example, if there is offline application example in production website, Disaster tolerance control centre is then it needs to be determined that disaster tolerance operation object belonging to offline application example, and in offline application example The instance identification of offline application example is deleted in the application example identification list of affiliated disaster tolerance operation object.In S101 It has been be illustrated that, after producing an offline application example in website, disaster tolerance control centre will not receive the application example again Heartbeat message, therefore can determine that the application example is offline, disaster tolerance of the instance identification of the application example belonging to it grasped Make to delete in the application example identification list of object.
In this way, later when sending disaster tolerance switching notice, the disaster tolerance operation object as belonging to offline application example Application example identification list in the instance identification of offline application example, therefore, disaster tolerance control centre root has been not present It would not be again to offline application according to the application example identification list of disaster tolerance operation object belonging to offline application example Example sends disaster tolerance switching notice, so as to save system resource.
In this application, application example online in production website periodically can send heartbeat letter to disaster tolerance control centre Breath, after disaster tolerance control centre receives the heartbeat message that a certain application example is sent, so that it may determine that the application example is Online application example.Wherein, if not receiving a certain application example in preset duration sends heartbeat message, it is determined that this is answered It is offline with example.
In this application, multiple application examples without type may be carried in a VM simultaneously, it is different types of to answer May be different with the communication interface of example, disaster tolerance control centre needs while supporting the communication interface of each application example, It so could and be interacted between each application example online in production website, but will increase disaster tolerance control in this way The system complexity at center and the close coupling between application example.
In this application, on a kind of basis of disaster tolerance system shown in Fig. 1, with reference to Fig. 3, present invention also provides another A kind of disaster tolerance system, Fig. 3 are a kind of structural schematic diagrams of disaster tolerance system shown according to an exemplary embodiment, as shown in figure 4, The system includes that disaster tolerance control centre 01, multiple application examples 02 and multiple Disaster Recovery Agent further include within the system multiple VM, one of VM carry disaster tolerance control centre, carry one or more application in each of other VM VM Example, each carrying application example VM in be also deployed with Disaster Recovery Agent.Disaster tolerance control centre can be between Disaster Recovery Agent It interacts, for example, disaster tolerance control centre can send disaster tolerance switching notice to Disaster Recovery Agent, so that Disaster Recovery Agent is according to the appearance The corresponding application example of calamity switching notice executes disaster tolerance handover operation.
In this application, disaster tolerance control centre only needs to interact between Disaster Recovery Agent, without real with each application Example interacts respectively, for example, disaster tolerance control centre sends disaster tolerance switching notice to Disaster Recovery Agent, Disaster Recovery Agent receives the disaster tolerance Switching notice, and the address pair that corresponding disaster tolerance is applied in disaster tolerance website is applied according to the junior that the disaster tolerance switching notice carries Higher level's application example executes disaster tolerance handover operation.
The interface interacted between disaster tolerance control centre in each Disaster Recovery Agent is identical, disaster tolerance control The interface that center only need to support Disaster Recovery Agent to be supported, without supporting what each application example supported to connect simultaneously Mouthful, so as to reduce the system complexity of disaster tolerance control centre.
Secondly, in this application, if carrying does not have to multiple application examples of type simultaneously in a VM, when needing to align When all application examples in VM execute disaster tolerance handover operation, if disaster tolerance control centre needs to divide without Disaster Recovery Agent Not to each of VM application example transmission disaster tolerance switching notice is located at, all needed due to sending a disaster tolerance switching notice every time Certain system resource is expended, therefore, can be consumed to positioned at each of VM application example transmission disaster tolerance switching notice respectively Take more system resource.
And if being deployed with Disaster Recovery Agent in VM, it is logical that disaster tolerance control centre only need to send disaster tolerance switching to Disaster Recovery Agent Know, Disaster Recovery Agent executes disaster tolerance switching behaviour to positioned at each of VM application example respectively further according to disaster tolerance switching notice Make, so as to save system resource.
Fig. 4 is the structural schematic diagram of disaster tolerance device shown according to an exemplary embodiment, is produced under the failure in website Grade application has corresponding disaster tolerance application in disaster tolerance website, as shown in figure 4, described device includes:
There is new online higher level's application example in production website for determining in the first determination unit 11;
First acquisition unit 12, for obtaining disaster tolerance operation object belonging to new online higher level's application example;
Storage unit 13 is operated for the instance identification of new online higher level's application example to be stored in the disaster tolerance In the application example identification list of object;
Second acquisition unit 14, for obtaining the application example identification list when determining that needing to be implemented disaster tolerance switches In new online higher level's application example instance identification;
Transmission unit 15, for according to the instance identification of new online higher level's application example to described new online Grade application example sends disaster tolerance switching notice, indicates that new online higher level's application example calls the junior to apply in disaster tolerance Corresponding disaster tolerance application in website, the disaster tolerance switching notice at least carry the ground of the application of the disaster tolerance in the disaster tolerance website Location.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, first determination unit 11 includes:
Subscriber units, for subscribing to the topological TOPO information change notifying of the production website;
First receiving unit, for receiving the TOPO information change notifying from the production website, the TOPO information Notification of Changes indicates there is new online higher level's application example in the production website.
In an optional implementation, described device further include:
Second determination unit, for when it is described production website in the junior application can not provide normal service when, really Surely disaster tolerance switching is needed to be implemented.
In an optional implementation, the first acquisition unit 12 includes:
Second acquisition unit, for obtaining the configuration information of new online higher level's application example, the configuration information Object identity including disaster tolerance operation object belonging to new online higher level's application example;
Third acquiring unit, for obtaining the object identity in the configuration information;
Third determination unit, it is described new online for disaster tolerance operation object corresponding to the object identity to be determined as Disaster tolerance operation object belonging to higher level's application example.
In order to save system resource, in an optional implementation, described device further include:
4th determination unit, described in determining when there is offline higher level's application example in the production website Disaster tolerance operation object belonging to offline higher level's application example;
Delete unit, the application example mark for the disaster tolerance operation object belonging to offline higher level's application example Know the instance identification that offline higher level's application example is deleted in list.
In an optional implementation, described device further include:
5th determination unit, when for not receiving the heartbeat message of higher level's application example in preset duration, the disaster tolerance Control centre determines that higher level's application example is offline.
Fig. 5 is the structural schematic diagram of disaster tolerance device shown according to an exemplary embodiment, is produced under the failure in website Grade application has corresponding disaster tolerance application in disaster tolerance website, as shown in figure 5, described device includes:
Second receiving unit 21, for receiving the disaster tolerance switching notice of disaster tolerance control centre transmission, the disaster tolerance switching is logical Know the address at least carrying the application of disaster tolerance described in the disaster tolerance website;
Switch unit 22, for executing disaster tolerance handover operation according to the address.
In this application, disaster tolerance control centre, which determines, has new online higher level's application example in production website;Disaster tolerance control Center processed obtains disaster tolerance operation object belonging to new online higher level's application example;New online higher level answers in disaster tolerance control centre It is stored in the application example identification list of disaster tolerance operation object with the instance identification of example;Disaster tolerance control centre is determining needs When executing disaster tolerance switching, the instance identification of new online higher level's application example in application example identification list is obtained;Disaster tolerance control Center processed sends disaster tolerance switching to new online higher level's application example according to the instance identification of new online higher level's application example and leads to Know, the new online higher level's application example of instruction calls the junior to apply the corresponding disaster tolerance application in disaster tolerance website, disaster tolerance switching Notice at least carries the address of disaster tolerance application in disaster tolerance website.New online higher level's application example receives disaster tolerance control centre hair The disaster tolerance switching notice sent;New online higher level's application example applies the corresponding disaster tolerance application in disaster tolerance website according to junior Address execute disaster tolerance handover operation.So that new online higher level's application example can be just after breaking down for production stations point True processing business request.
In an optional implementation, the switch unit 22 is specifically used for: service call address is switched to institute It states disaster tolerance and applies the address in the disaster tolerance website.
The apparatus embodiments described above are merely exemplary, wherein described, unit can as illustrated by the separation member It is physically separated with being or may not be, component shown as a unit may or may not be physics list Member, it can it is in one place, or may be distributed over multiple network units.It can be selected according to the actual needs In some or all of the modules achieve the purpose of the solution of this embodiment.
Through the above description of the embodiments, those skilled in the art can be understood that each embodiment can It is realized by the mode of software plus general hardware platform, naturally it is also possible to pass through hardware.Based on this understanding, above-mentioned technology Scheme substantially in other words can be embodied in the form of software products the part that the relevant technologies contribute, the computer Software product may be stored in a computer readable storage medium, such as ROM/RAM, magnetic disk, CD, including some instructions to So that computer equipment (can be personal computer, server or the network equipment etc.) execute each embodiment or Method described in certain parts of embodiment.
Those skilled in the art after considering the specification and implementing the invention disclosed here, will readily occur to of the invention its Its embodiment.This application is intended to cover any variations, uses, or adaptations of the invention, these modifications, purposes or Person's adaptive change follows general principle of the invention and including the undocumented common knowledge in the art of the present invention Or conventional techniques.The description and examples are only to be considered as illustrative, and true scope and spirit of the invention are by appended Claim is pointed out.
It should be understood that the present invention is not limited to the precise structure already described above and shown in the accompanying drawings, and And various modifications and changes may be made without departing from the scope thereof.The scope of the present invention is limited only by the attached claims.

Claims (16)

1. a kind of disaster recovery method, which is characterized in that the failure junior application in production website has in disaster tolerance website corresponding Disaster tolerance application, which comprises
Disaster tolerance control centre, which determines, has new online higher level's application example in production website;
The disaster tolerance control centre obtains disaster tolerance operation object belonging to new online higher level's application example;
The instance identification of new online higher level's application example is stored in the disaster tolerance operation pair by the disaster tolerance control centre In the application example identification list of elephant;
The disaster tolerance control centre obtains described in the application example identification list when determining that needing to be implemented disaster tolerance switches The instance identification of new online higher level's application example;
The disaster tolerance control centre is according to the instance identification of new online higher level's application example to the new online higher level Application example sends disaster tolerance switching notice, indicates that new online higher level's application example calls the junior to apply at disaster tolerance station Corresponding disaster tolerance application in point, the disaster tolerance switching notice at least carry the ground of the application of the disaster tolerance in the disaster tolerance website Location.
2. existing newly in production website the method according to claim 1, wherein the disaster tolerance control centre determines Online higher level's application example, comprising:
The topological TOPO information change notifying of the production website is subscribed to by the disaster tolerance control centre;
The disaster tolerance control centre receives the TOPO information change notifying from the production website, and the TOPO information change is logical Know and indicates there is new online higher level's application example in the production website.
3. method according to claim 1 or 2, which is characterized in that the method also includes:
When the junior application in the production website can not provide normal service, the disaster tolerance control centre, which determines, to be needed Execute disaster tolerance switching.
4. the method according to claim 1, wherein the disaster tolerance control centre obtains the new online higher level Disaster tolerance operation object belonging to application example, comprising:
The disaster tolerance control centre obtains the configuration information of new online higher level's application example, and the configuration information includes institute State the object identity of disaster tolerance operation object belonging to new online higher level's application example;
The disaster tolerance control centre obtains the object identity in the configuration information;
Disaster tolerance operation object corresponding to the object identity is determined as the new online higher level by the disaster tolerance control centre Disaster tolerance operation object belonging to application example.
5. the method according to claim 1, which is characterized in that the method also includes:
When there is offline higher level's application example in the production website, the disaster tolerance control centre determines described offline Higher level's application example belonging to disaster tolerance operation object;
The application example mark of disaster tolerance control centre disaster tolerance operation object belonging to offline higher level's application example Know the instance identification that offline higher level's application example is deleted in list.
6. according to the method described in claim 5, it is characterized in that, the disaster tolerance control centre does not receive in preset duration When the heartbeat message of grade application example, the disaster tolerance control centre determines that higher level's application example is offline.
7. a kind of disaster recovery method, which is characterized in that the failure junior application in production website has in disaster tolerance website corresponding Disaster tolerance application, which comprises
New online higher level's application example receives the disaster tolerance switching notice that disaster tolerance control centre sends, and the disaster tolerance switching notice is extremely The address of the application of disaster tolerance described in the disaster tolerance website is carried less;
New online higher level's application example executes disaster tolerance handover operation according to the address.
8. the method according to the description of claim 7 is characterized in that new online higher level's application example is according to the address Execute disaster tolerance handover operation, comprising:
Service call address is switched to the disaster tolerance and applied in the disaster tolerance website by new online higher level's application example Address.
9. a kind of disaster tolerance device, which is characterized in that the failure junior application in production website has in disaster tolerance website corresponding Disaster tolerance application, described device include:
There is new online higher level's application example in production website for determining in the first determination unit;
First acquisition unit, for obtaining disaster tolerance operation object belonging to new online higher level's application example;
Storage unit, for the instance identification of new online higher level's application example to be stored in the disaster tolerance operation object In application example identification list;
Second acquisition unit, for obtaining the institute in the application example identification list when determining that needing to be implemented disaster tolerance switches State the instance identification of new online higher level's application example;
Transmission unit, for being applied according to the instance identification of new online higher level's application example to the new online higher level Example sends disaster tolerance switching notice, indicates that new online higher level's application example calls the junior to apply in disaster tolerance website Corresponding disaster tolerance application, the disaster tolerance switching notice at least carry the address of the application of the disaster tolerance in the disaster tolerance website.
10. device according to claim 9, which is characterized in that first determination unit includes:
Subscriber units, for subscribing to the topological TOPO information change notifying of the production website;
First receiving unit, for receiving the TOPO information change notifying from the production website, the TOPO information change There is new online higher level's application example in the notice instruction production website.
11. device according to claim 9 or 10, which is characterized in that described device further include:
Second determination unit, for when the junior application in the production website can not provide normal service, determining to be needed Execute disaster tolerance switching.
12. device according to claim 9, which is characterized in that the first acquisition unit includes:
Second acquisition unit, for obtaining the configuration information of new online higher level's application example, the configuration information includes The object identity of disaster tolerance operation object belonging to new online higher level's application example;
Third acquiring unit, for obtaining the object identity in the configuration information;
Third determination unit, for disaster tolerance operation object corresponding to the object identity to be determined as the new online higher level Disaster tolerance operation object belonging to application example.
13. according to device described in claim 9 to 12 any one, which is characterized in that described device further include:
4th determination unit, for when there is offline higher level's application example in the production website, determine it is described under Disaster tolerance operation object belonging to higher level's application example of line;
Delete unit, the application example identity column for the disaster tolerance operation object belonging to offline higher level's application example The instance identification of offline higher level's application example is deleted in table.
14. device according to claim 13, which is characterized in that described device further include:
5th determination unit, when for not receiving the heartbeat message of higher level's application example in preset duration, the disaster tolerance control Center determines that higher level's application example is offline.
15. a kind of disaster tolerance device, which is characterized in that the failure junior application in production website has in disaster tolerance website corresponding Disaster tolerance application, described device include:
Second receiving unit, for receiving the disaster tolerance switching notice of disaster tolerance control centre transmission, the disaster tolerance switching notice is at least Carry the address of the application of disaster tolerance described in the disaster tolerance website;
Switch unit, for executing disaster tolerance handover operation according to the address.
16. device according to claim 15, which is characterized in that the switch unit is specifically used for: by service call Location is switched to the disaster tolerance and applies the address in the disaster tolerance website.
CN201711344664.XA 2017-12-15 2017-12-15 Disaster recovery method and device Active CN109936462B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711344664.XA CN109936462B (en) 2017-12-15 2017-12-15 Disaster recovery method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711344664.XA CN109936462B (en) 2017-12-15 2017-12-15 Disaster recovery method and device

Publications (2)

Publication Number Publication Date
CN109936462A true CN109936462A (en) 2019-06-25
CN109936462B CN109936462B (en) 2021-11-30

Family

ID=66979421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711344664.XA Active CN109936462B (en) 2017-12-15 2017-12-15 Disaster recovery method and device

Country Status (1)

Country Link
CN (1) CN109936462B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021259281A1 (en) * 2020-06-24 2021-12-30 中兴通讯股份有限公司 Disaster recovery method and apparatus for middleware of paas, disaster recovery device, and computer-readable storage medium
WO2023202049A1 (en) * 2022-04-20 2023-10-26 华为云计算技术有限公司 Disaster tolerance management method and disaster tolerance management device

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866866A (en) * 2005-12-30 2006-11-22 华为技术有限公司 Data transmission system and method between telecommunication equipments based on point-to-point connection
WO2012155630A1 (en) * 2011-09-01 2012-11-22 中兴通讯股份有限公司 Method, device, and system for disaster recovery
US20130326265A1 (en) * 2012-05-30 2013-12-05 Symantec Corporation Systems and methods for disaster recovery of multi-tier applications
CN103490999A (en) * 2013-09-11 2014-01-01 华为技术有限公司 Disaster tolerance switching method and device
CN105517031A (en) * 2015-12-07 2016-04-20 中国联合网络通信集团有限公司 Method and device for service restoration after PCRF (Policy and Charging Rules Function) fault
CN105873009A (en) * 2015-01-21 2016-08-17 中国移动通信集团公司 Disaster tolerance method, device and system for IP short message interworking gateway
CN106330415A (en) * 2015-06-19 2017-01-11 中兴通讯股份有限公司 Disaster tolerance method and device and communication system
CN106452882A (en) * 2016-10-21 2017-02-22 浙江宇视科技有限公司 Backup switching method and system of universal network passport server
CN106713409A (en) * 2016-10-21 2017-05-24 中国电信集团系统集成有限责任公司 SaaS-based cloud disaster recovery system and method
CN107276811A (en) * 2013-08-07 2017-10-20 华为技术有限公司 It is a kind of to realize method, relevant apparatus and system that terminal called service recovers

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866866A (en) * 2005-12-30 2006-11-22 华为技术有限公司 Data transmission system and method between telecommunication equipments based on point-to-point connection
WO2012155630A1 (en) * 2011-09-01 2012-11-22 中兴通讯股份有限公司 Method, device, and system for disaster recovery
US20130326265A1 (en) * 2012-05-30 2013-12-05 Symantec Corporation Systems and methods for disaster recovery of multi-tier applications
CN107276811A (en) * 2013-08-07 2017-10-20 华为技术有限公司 It is a kind of to realize method, relevant apparatus and system that terminal called service recovers
CN103490999A (en) * 2013-09-11 2014-01-01 华为技术有限公司 Disaster tolerance switching method and device
CN105873009A (en) * 2015-01-21 2016-08-17 中国移动通信集团公司 Disaster tolerance method, device and system for IP short message interworking gateway
CN106330415A (en) * 2015-06-19 2017-01-11 中兴通讯股份有限公司 Disaster tolerance method and device and communication system
CN105517031A (en) * 2015-12-07 2016-04-20 中国联合网络通信集团有限公司 Method and device for service restoration after PCRF (Policy and Charging Rules Function) fault
CN106452882A (en) * 2016-10-21 2017-02-22 浙江宇视科技有限公司 Backup switching method and system of universal network passport server
CN106713409A (en) * 2016-10-21 2017-05-24 中国电信集团系统集成有限责任公司 SaaS-based cloud disaster recovery system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021259281A1 (en) * 2020-06-24 2021-12-30 中兴通讯股份有限公司 Disaster recovery method and apparatus for middleware of paas, disaster recovery device, and computer-readable storage medium
WO2023202049A1 (en) * 2022-04-20 2023-10-26 华为云计算技术有限公司 Disaster tolerance management method and disaster tolerance management device

Also Published As

Publication number Publication date
CN109936462B (en) 2021-11-30

Similar Documents

Publication Publication Date Title
CN106301876B (en) Physical machine upgrade method, business migration method and device
CN105760214B (en) A kind of equipment state and resource information monitoring method, relevant device and system
CN108040108A (en) Communication handover method, device, coordination service device and readable storage medium storing program for executing
CN111338774A (en) Distributed timing task scheduling system and computing device
CN109729143A (en) Network-based cloud platform is disposed on the terminal device
CN107733726A (en) A kind of processing method and processing device of service request
CN103516759B (en) Cloud system method for managing resource, cloud call center are attended a banquet management method and cloud system
CN106301829A (en) A kind of method and apparatus of Network dilatation
CN112882790A (en) Cloud edge cooperative management method based on distributed cloud platform
JPWO2015146355A1 (en) Update management system and update management method
CN103368768A (en) Automatically scaled network overlay with heuristic monitoring in hybrid cloud environment
CN105468302B (en) A kind of method, apparatus and system of processing data
CN103716356B (en) Storing process operating method, device and system based on web
CN103516918B (en) Faulty resource restoration methods and device
CN106528327A (en) Data processing method and backup server
CN105791175A (en) Method and equipment for controlling transmission resources in software defined network SDN
CN107122229A (en) A kind of virtual machine restoration methods and device
CN108345490B (en) Method and system for deploying virtual machine in NFV
WO2017076278A1 (en) Method and device for flexibly processing link between network elements
CN109936462A (en) Disaster recovery method and device
CN110532066A (en) A kind of realization method and system of transaction consistency
CN108366098A (en) A kind of data interactive method and device of network node
CN105183588A (en) Rebuilding method and device of virtual machines
CN106034148A (en) Fast information interaction method, local server, remote server and system
CN107360015A (en) The method and apparatus of the shared storage of switching

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