CN116166374A - 一种容灾演练方法、平台、电子设备以及可读存储介质 - Google Patents

一种容灾演练方法、平台、电子设备以及可读存储介质 Download PDF

Info

Publication number
CN116166374A
CN116166374A CN202211595914.8A CN202211595914A CN116166374A CN 116166374 A CN116166374 A CN 116166374A CN 202211595914 A CN202211595914 A CN 202211595914A CN 116166374 A CN116166374 A CN 116166374A
Authority
CN
China
Prior art keywords
disaster recovery
workflow
recovery exercise
exercise
target
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.)
Pending
Application number
CN202211595914.8A
Other languages
English (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202211595914.8A priority Critical patent/CN116166374A/zh
Publication of CN116166374A publication Critical patent/CN116166374A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种容灾演练方法、平台、电子设备以及可读存储介质,该方法包括:获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或该云资源上的应用程序进行管理所需的能力单元;通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。通过本申请,解决了相关技术中手动或者表格的方式进行容灾演练导致的效率较差的技术问题,达到了提高容灾演练效率的技术效果。

Description

一种容灾演练方法、平台、电子设备以及可读存储介质
技术领域
本申请涉及到数字化领域,具体而言,涉及一种容灾演练方法、平台、电子设备以及可读存储介质。
背景技术
随着越来越多的企业上云后,云上的系统容灾越来越重视,如何实现云上的同城、异地容灾变成传统企业较为头疼的问题。而目前的容灾方式主要还是手动或者表格的管理方式进行日常的变更管理,导致容灾演练效率较差,针对该技术问题,相关技术尚未提出有效地解决方案。
发明内容
本申请实施例提供了一种容灾演练方法、平台、电子设备以及可读存储介质,以至少解决现有技术中手动或者表格的方式进行容灾演练导致的效率较差的技术问题。
根据本申请的一个方面,提供了一种容灾演练方法,包括:获取用户基于预设的工作流模型创建的容灾演练工作流,其中,所述容灾演练工作流包括多个节点,所述多个节点分别配置有待执行的任务;将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,所述原子能力为对所述用户的云资源或所述云资源上的应用程序进行管理所需的能力单元;通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练。
可选地,在将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,所述方法还包括:获取已有的对云资源进行管理的目标任务;对处理所述目标任务所需具备的能力进行拆分,得到多个原子能力。
可选地,在将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,所述方法还包括:通过远程脚本的方式,调用所述用户的云资源管理脚本;通过所述云资源管理脚本,得到所述原子能力。
可选地,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练之前,所述方法还包括:获取所述用户多账户下的云资源;按照多维度来进行应用和部门的多层级分组,得到应用拓扑;将所述云资源划分到所述应用拓扑中。
可选地,获取所述用户多账户下的云资源包括:获取所述用户云账户的管理密钥以及所述用户的云资源的软件开发工具包SDK;基于所述管理密钥以及所述SDK,获取所述用户多账户下的云资源。
可选地,在获取用户基于预设的工作流模型创建的容灾演练工作流之后,所述方法还包括:在所述容灾演练工作流上预留变量节点,其中,所述变量节点为内容可动态配置的节点;获取所述用户基于可视化表单配置的目标信息,并将所述目标信息对应到所述变量节点上。
可选地,所述多个节点分别配置的待执行的任务通过以下方式确定:所述多个节点的样式、所述多个节点的输入输出数据以及所述多个节点之间的交互动作。
可选地,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练的过程中,所述方法还包括:通过数字化的方式,将所述容灾演练的进展以及结果进行展示。
可选地,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练在容灾演练期间之后,所述方法还包括:下载本次容灾演练的目标数据,其中,所述目标数据包括:容灾演练的步骤、容灾演练的操作对象、所述容灾演练的过程耗时。
可选地,所述原子能力包括:关系型数据库服务RDS可用区切换、关系型云原生数据库Polar DB可用区切换、缓存Redis可用区切换、文档数据库Elasticsearch可用区下线、批量云服务器ECS实例关机、远程ECS命令执行、路由规则调整、网络附属存储NAS镜像实例创建、应用域名系统DNS修改和服务器应用的启停。
可选地,所述预设的工作流模型包括基于服务流程建模与标记BPMN生成的模型。
根据本申请的一个方面,还提供了一种容灾演练平台,包括:获取模块,用于获取用户基于预设的工作流模型创建的容灾演练工作流,其中,所述容灾演练工作流包括多个节点,所述多个节点分别配置有待执行的任务;关联模块,用于将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,所述原子能力为对所述用户的云资源进行管理所需的能力单元;驱动模块,用于通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练。
根据本申请的另一个方面,还提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法步骤。
根据本申请的另一个方面,还提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
在本申请实施例中,获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或云资源上的应用程序进行管理所需的能力单元;通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。也就是说,本申请实施例提出了一种流程化、数字化的容灾演练方法,将工作流和原子能力关联,通过工作流引擎强大的编排能力,可结合任意场景,来满足用户在复杂场景下容灾演练,进而解决了相关技术中手动或者表格的方式进行容灾演练导致的效率较差的技术问题,达到了提高容灾演练效率的技术效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种容灾演练方法流程图;
图2是根据本申请实施例的另一种容灾演练方法示意图;
图3是根据本申请实施例的再一种容灾演练方法示意图;
图4是根据本申请实施例的一种容灾演练平台结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种容灾演练方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
公共云是将所有网络、机器等资源放在巨大的公共资源池中进行管理。容灾演练是在不影响服务的情况下,通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,检验容灾方案的适用性、有效性。当真实故障发生时(例如,企业正使用的云产品实例不可用,可用区的某产品的集群级别的性能衰减或不可用,以及基础设置故障导致的整个可用区故障等),通过预案快速恢复,提高服务连续性。目前的容灾方案主要是以下两种方式:方式一、多活容灾,提供可以将服务恢复和故障恢复解耦,有基于灵活的规则调度、跨域跨云管控、数据保护等能力,保障故障场景下的服务快速恢复,助力企业的容灾稳定性建设,与传统的灾备的最主要区别就是多活里的所有站点同时在对外提供服务,不仅解决了容灾本身问题,还提升了服务连续性,并且实现了容量的扩展。多活容灾是由架构加管控组合而成的产品解决方案。架构上将服务分为接入层、应用层、数据层三层,应用层又可以细分为微服务调用、消息等多个功能域,每一层都会有相应的多活组件,管控在各层组件的基础上具备全栈的多活管控能力,但多活容灾在客户程序侧有一定的改造成本,需要接入第三方程序,对客户的程序运行环境有较多依赖,对代码、数据库等都有一定的依赖。方式二、对客户操作系统实施实时镜像进行容灾,对数据库、网络等较为割裂,无法实现全站的容灾切换,只能基于镜像级别的切换,无法对应用本身进行容灾调整。基于此,本申请实施例提出了如图1所示的容灾演练方法,其中包括:
S102,获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;
需要说明的是,上述预设的工作流模型可以是基于服务流程建模与标记(Business Process Model and Notation,简称为BPMN)生成的模型。其中,BPMN定义了基于流程图技术的服务流程图,同时减少了服务流程操作的图形化模型。服务流程模型是图形对象的网络图,包括定义操作序列的活动(或工作)和流控制,以便更好地让各部门之间理解服务流程和相互关系,其主要提供了四类基础对象:流对象,数据,连接对象,泳道。其中的流对象定义服务流程地主要图形元素,包括:事件、活动、网关,数据主要通过四种元素表示:数据对象、数据输入、数据输出、数据存储,流对象彼此互相连接或者连接到其他信息的方法主要有三种:顺序流,用一个带实心箭头的实心线表示,用于指定活动执行的顺序,信息流,用一条带箭头的虚线表示,用于描述两个独立的服务参与者(服务实体/服务角色)之间发送和接受的消息流动,关联,用一根带有线箭头的点线表示,用于将相关的数据、文本和其他人工信息与流对象联系起来,用于展示活动的输入和输出。通过泳道对主要的建模元素进行分组,将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。对于流程设计器,用户通过拖、拉、拽来实现流程的建模,使得流程建模变得简单。用户基于预设的工作流模型创建的容灾演练工作流可以是用户基于预设的工作流模型所包括内容进行拖拽、配置等得到,也可以是通过输入所需工作流主题,获取目标工作流,然后对该目标工作流中的流程进行增加、删减、配置等得到。另外,需要说明的是,上述多个节点分别配置的待执行的任务可以根据具体的应用场景进行设置。
S104,将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或该云资源上的应用程序进行管理所需的能力单元;
需要说明的是,上述原子能力可以包括:关系型数据库服务RDS可用区切换、关系型云原生数据库Polar DB可用区切换、缓存Redis可用区切换、文档数据库Elasticsearch可用区下线、批量云服务器ECS实例关机、远程ECS命令执行、路由规则调整、网络附属存储NAS镜像实例创建、应用域名系统DNS修改和服务器应用的启停等,在此,只是举例说明,并不能作为对本申请的限定。另外,需要说明的是,上述容灾演练工作流关联的原子能力可以包括一个,也可以包括多个。例如,容灾演练工作流1只关联原子能力A,或者,容灾演练工作流1关联原子能力A和原子能力B,该原子能力A和原子能力B共同实现容灾演练。上述云资源包括但并不限于:公有云上的全栈资源(例如,技术设施、IaaS、PaaS资源)、应用数据以及用户组织架构等。可选地,将该容灾演练工作流与对应的原子能力关联可以包括:获取原子能力的名称,当流程执行时根据该原子能力的名称,将容灾演练工作流与对应的原子能力关联。
S106,通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。
需要说明的是,上述工作流引擎是用来驱动工作按既定流程的执行,即根据工作流程定义中设定的规则、条件来判断流程执行的方向。比如办公自动化OA审批、服务审批、服务编排等,它将独立、零散的物料进行编排集成,能够改进和优化服务流程,提高服务工作效率。例如,常规请假的例子,从发起人→审批人→归档,每个环节伴随状态变化,如果有分支通过服务数据的逻辑进行分支走向,这些都是工作流引擎该做的事情。
通过上述S102~S106,获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或该云资源上的应用程序进行管理所需的能力单元;通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。也就是说,本申请实施例提出了一种流程化、数字化的容灾演练方法,将工作流和原子能力关联,通过工作流引擎强大的编排能力,可结合任意场景,来满足用户在复杂场景下容灾演练,进而解决了相关技术中手动或者表格的方式进行容灾演练导致的效率较差的技术问题,达到了提高容灾演练效率的技术效果。
由于上述原子能力是对用户的云资源或云资源上应用程序进行管理所需的能力单元,所以在本申请实施例中,还提出了获取已有的对云资源和云资源上应用程序进行管理的目标任务;对处理该目标任务所需具备的能力进行拆分,得到多个原子能力。即可以对已知的目标任务所需具备的能力进行拆分,梳理,得到多个原子能力,进而可以通过容灾演练工作流和该多个原子能力中的单个原子能力或者多个原子能力的组合进行关联,实现流程化的容灾演练。例如,假设已有的对云资源进行管理的目标任务包括40个,那么可以通过拆分、梳理出10个以上的原子能力,该10个以上的原子能力可以和100以上的任务编排关联,从而实现50以上的云实例切换,100以上ECS服务器批量操作和多场景下的自动化能力提升。
由于用户侧可能也有一些远程脚本,该远程脚本可以对该用户的云资源或该云资源上的应用程序进行管理,因此,本申请实施例还提出了可以调用用户侧的远程脚本,实现容灾演练,具体地,可以包括:在将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,通过远程脚本的方式,调用该用户的云资源管理脚本;通过该云资源管理脚本,得到该原子能力。即,可以调用用户自身的切换脚本,提供更加灵活的使用场景,满足客户多元化的服务需求。
由于现有技术中,只能对客户操作系统实施实时镜像进行容灾,即基于镜像级别的切换,无法对应用本身进行容灾调整,因此,本申请实施例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练之前,获取该用户多账户下的云资源;按照多维度来进行应用和部门的多层级分组,得到应用拓扑;将该云资源划分到该应用拓扑中。上述按照多维度来进行应用和部门的多层级分组可以是通过动态分组、产品类型、标签、实例名、账号维度等方式,将云上任意资源按需进行分配,从而实现云资源与企业应用和部门的管理,提升数字化应用的管理能力。可选地,上述获取该用户多账户下的云资源可以包括:获取该用户云账户的管理密钥以及该用户的云资源的软件开发工具包SDK;基于该管理密钥以及该SDK,获取该用户多账户下的云资源。需要说明的是,上述管理密钥可以包括访问秘钥AK/私有访问秘钥SK,上述云资源可以包括网络、cpu、内存、存储、支付方式、区域等。
在上述目标容灾演练工作流发生变化时,为了减少上述目标容灾演练工作流的改动工作量,本申请实施例提出了在该容灾演练工作流上预留变量节点,其中,该变量节点为内容可动态配置的节点;获取该用户基于可视化表单配置的目标信息,并将该目标信息对应到该变量节点上。需要说明的是,上述变量节点可以包括多个,该多个变量节点可以根据具体应用场景进行表单配置。例如,上述目标容灾演练工作流包括节点A→节点B→节点C→节点D,那么可以在节点A之前设置一个变量节点X节点,该X节点可以根据具体应用场景进行配置。又例如,上述目标容灾演练工作流包括节点A→节点B→节点C→节点D,那么可以在节点A之前设置一个变量节点X节点、Y节点,该X节点、Y节点可以根据具体应用场景进行配置。
可选地,上述多个节点分别配置的待执行的任务通过以下方式确定:该多个节点的样式、该多个节点的输入输出数据以及该多个节点之间的交互动作。即,可以通过多个节点中待执行的任务的配置,进一步对容灾演练工作流进行配置。在本实施例中,可以通过可视化表单,用户通过拖拽的方式创建和编辑所需要的表单,完成更多内容的编辑和配置,完成个性化工作流。
在本申请实施例中,还可以通过大屏实时观察容灾演练的处理情况,进而实现数字手段对容灾演练进行把控。例如,总体进度的数字化,将用户需要关注的进度、切换实例进展、总体耗时和应用完成数进行统一展示,实现对全局的把控;阶段详情的数字化,将用户各阶段关注的阶段状态,开始、结束时间,阶段耗时,预期时效和预期比对进行展示,实现对各阶段进展的把控;任务详情的数字化,将用户的各任务的状态,操作人员和具体耗时情况进行展示,并突出正在进行中的任务,实现对各任务进展的把控,因此,本申请示例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练的过程中,通过数字化的方式,将该容灾演练的进展以及结果进行展示。
可选地,本申请实施例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练在容灾演练期间之后,下载本次容灾演练的目标数据,其中,该目标数据包括:容灾演练的步骤、容灾演练的操作对象、该容灾演练的过程耗时。即,通过下载本次演练的详细数据,供后续复盘时使用。
综上,本申请实施例结合工作流引擎和原子能力,可以通过低代码及拖拽的方式完成用户侧的容灾演练任务创建,后续可以对流程进行编辑调整,来实现容灾任务的日常管理。在解决重复劳作的同时,提升整体数字化的服务运营能力,从云资源管理到云上资源的流程操作,解决传统运维所需操作和流程的关联,并提供自动化的服务能力,大幅减少运维人员的手工操作任务,提升整体演练的安全性和减少演练时长,帮助客户提升整体演练质量。
下面结合具体示例,对本申请实施例进行举例说明。
获取云上资源的详细信息,并根据用户规则来实现资源的自动分类。具体地,和用户申请AK/SK,使用公共云各产品SDK,将企业多公共云账户下的云资源详情信息和云上标签信息进行同步;按企业任意维度来进行应用和部门的无限层级分组,并可以通过手动或自动(动态分组,支持产品类型、标签、实例名、账号维度)方式,将上述同步的云资源按规则进行分配,从而进行资源聚合管理;自定义上述步骤中各应用所需的脚本,目前脚本支持多种(Bash、PowerShell、Bat和Python)语言,将该脚本变成原子能力,供后续场景使用,提升运维操作能力(如图2所示)。
使用强大服务流程建模与标记BPMN流程引擎,无需写代码,只需在页面内将组件(对应上述节点)拖拽到画布中,再配置组件(对应上述节点)的样式、数据源(输入输出数据)和交互动作,以可视化的方式完成对容灾演练流程的创建,并提供低代码表单设计,基于可视化表单,只需要通过拖拽的方式创建和编辑所需要的表单,完成更多内容的编辑和配置,通过拖拽审批表单+可视化流程配置,两步完成一个个性化流程。使用SDK生成如RDS、Redis、ElasticSearch等可用区切换的原子能力,并通过原数据(从云上同步的资源详情)进行使用,来实现容灾演练中数据库、中间件及应用的自动化切换操作。在界面上将原子能力进行关联,来完成用户侧的个性化容灾演练流程,运行上述步骤中创建好的容灾演练流程,基于用户填写的表单中的内容,触发一次容灾演练操作,后续将按流程进度进行任务的触发调度(如图3所示)。在容灾演练期间,可以通过数字化大屏,实时任务的处理状态、处理人、时效、资源清单和处理日志进行展示,可以大屏实时观察任务的处理情况,进而通过数字手段实现对整体容灾切换的把控。在任务处理完成后,可以下载本次演练的详情数据,包含步骤、操作人、开始、结束时间和阶段耗时,供后续复盘时使用。本示例可以结合用户的真实场景及用户的具体资源情况,个性化的编排任意流程及任务,并可以利用云本身的API接口,来调用云产品本身的容灾切换能力。与此同时,还可以使用远程脚本的方式,调用客户自身的切换脚本,提供更加灵活的使用场景,满足客户多元化的服务需求。进而实现全站的容灾切换。
根据本发明实施例,还提供了一种用于实施上述方法实施例的容灾演练平台实施例,在上述实施例的应用场景下,本实施例提供了如图4所示的容灾演练平台的结构示意图。如图4所示,该容灾演练平台包括:
获取模块42,用于获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;
需要说明的是,上述预设的工作流模型可以是基于BPMN生成的模型。其中,BPMN定义了基于流程图技术的服务流程图,同时减少了服务流程操作的图形化模型。服务流程模型是图形对象的网络图,包括定义操作序列的活动(或工作)和流控制,以便更好地让各部门之间理解服务流程和相互关系,其主要提供了四类基础对象:流对象,数据,连接对象,泳道。其中的流对象定义服务流程地主要图形元素,包括:事件、活动、网关,数据主要通过四种元素表示:数据对象、数据输入、数据输出、数据存储,流对象彼此互相连接或者连接到其他信息的方法主要有三种:顺序流,用一个带实心箭头的实心线表示,用于指定活动执行的顺序,信息流,用一条带箭头的虚线表示,用于描述两个独立的服务参与者(服务实体/服务角色)之间发送和接受的消息流动,关联,用一根带有线箭头的点线表示,用于将相关的数据、文本和其他人工信息与流对象联系起来,用于展示活动的输入和输出。通过泳道对主要的建模元素进行分组,将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。对于流程设计器,用户通过拖、拉、拽来实现流程的建模,使得流程建模变得简单。用户基于预设的工作流模型创建的容灾演练工作流可以是用户基于预设的工作流模型所包括内容进行拖拽、配置等得到,也可以是通过输入所需工作流主题,获取目标工作流,然后对该目标工作流中的流程进行增加、删减、配置等得到。另外,需要说明的是,上述多个节点分别配置的待执行的任务可以根据具体的应用场景进行设置。
关联模块44,用于将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或该云资源上的应用程序进行管理所需的能力单元;
需要说明的是,上述原子能力可以包括:关系型数据库服务RDS可用区切换、关系型云原生数据库Polar DB可用区切换、缓存Redis可用区切换、文档数据库Elasticsearch可用区下线、批量云服务器ECS实例关机、远程ECS命令执行、路由规则调整、网络附属存储NAS镜像实例创建、应用域名系统DNS修改和服务器应用的启停等,在此,只是举例说明,并不能作为对本申请的限定。另外,需要说明的是,上述容灾演练工作流关联的原子能力可以包括一个,也可以包括多个。例如,容灾演练工作流1只关联原子能力A,或者,容灾演练工作流1关联原子能力A和原子能力B,该原子能力A和原子能力B共同实现容灾演练。上述云资源包括但并不限于:公有云上的全栈资源(例如,技术设施、IaaS、PaaS资源)、应用数据以及用户组织架构等。可选地,将该容灾演练工作流与对应的原子能力关联可以包括:获取原子能力的名称,当流程执行时根据该原子能力的名称,将容灾演练工作流与对应的原子能力关联。
驱动模块46,用于通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。
需要说明的是,上述工作流引擎是用来驱动工作按既定流程的执行,即根据工作流程定义中设定的规则、条件来判断流程执行的方向。比如办公自动化OA审批、服务审批、服务编排等,它将独立、零散的物料进行编排集成,能够改进和优化服务流程,提高服务工作效率。例如,常规请假的例子,从发起人→审批人→归档,每个环节伴随状态变化,如果有分支通过服务数据的逻辑进行分支走向,这些都是工作流引擎该做的事情。
通过上平台,获取用户基于预设的工作流模型创建的容灾演练工作流,其中,该容灾演练工作流包括多个节点,该多个节点分别配置有待执行的任务;将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,该原子能力为对该用户的云资源或该云资源上的应用程序进行管理所需的能力单元;通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练。也就是说,本申请实施例提出了一种流程化、数字化的容灾演练方法,将工作流和原子能力关联,通过工作流引擎强大的编排能力,可结合任意场景,来满足用户在复杂场景下容灾演练,进而解决了相关技术中手动或者表格的方式进行容灾演练导致的效率较差的技术问题,达到了提高容灾演练效率的技术效果。
由于上述原子能力是对用户的云资源或该云资源上的应用程序进行管理所需的能力单元,所以在本申请实施例中,还提出了获取已有的对云资源或该云资源上的应用程序进行管理的目标任务;对处理该目标任务所需具备的能力进行拆分,得到多个原子能力。即可以对已知的目标任务所需具备的能力进行拆分,梳理,得到多个原子能力,进而可以通过容灾演练工作流和该多个原子能力中的单个原子能力或者多个原子能力的组合进行关联,实现流程化的容灾演练。例如,假设已有的对云资源进行管理的目标任务包括40个,那么可以通过拆分、梳理出10个以上的原子能力,该10个以上的原子能力可以和100以上的任务编排关联,从而实现50以上的云实例切换,100以上ECS服务器批量操作和多场景下的自动化能力提升。
由于用户侧可能也有一些远程脚本,该远程脚本可以对该用户的云资源或该云资源上的应用程序管理进行管理,因此,本申请实施例还提出了可以调用用户侧的远程脚本,实现容灾演练,具体地,可以包括:在将该容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,通过远程脚本的方式,调用该用户的云资源管理脚本;通过该云资源管理脚本,得到该原子能力。即,可以调用用户自身的切换脚本,提供更加灵活的使用场景,满足客户多元化的服务需求。
由于现有技术中,只能对客户操作系统实施实时镜像进行容灾,即基于镜像级别的切换,无法对应用本身进行容灾调整,因此,本申请实施例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练之前,获取该用户多账户下的云资源;按照多维度来进行应用和部门的多层级分组,得到应用拓扑;将该云资源划分到该应用拓扑中。上述按照多维度来进行应用和部门的多层级分组可以是通过动态分组、产品类型、标签、实例名、账号维度等方式,将云上任意资源按需进行分配,从而实现云资源与企业应用和部门的管理,提升数字化应用的管理能力。可选地,上述获取该用户多账户下的云资源可以包括:获取该用户云账户的管理密钥以及该用户的云资源的软件开发工具包SDK;基于该管理密钥以及该SDK,获取该用户多账户下的云资源。需要说明的是,上述管理密钥可以包括访问秘钥AK/私有访问秘钥SK,上述云资源可以包括网络、cpu、内存、存储、支付方式、区域等。
在上述目标容灾演练工作流发生变化时,为了减少上述目标容灾演练工作流的改动工作量,本申请实施例提出了在该容灾演练工作流上预留变量节点,其中,该变量节点为内容可动态配置的节点;获取该用户基于可视化表单配置的目标信息,并将该目标信息对应到该变量节点上。需要说明的是,上述变量节点可以包括多个,该多个变量节点可以根据具体应用场景进行表单配置。例如,上述目标容灾演练工作流包括节点A→节点B→节点C→节点D,那么可以在节点A之前设置一个变量节点X节点,该X节点可以根据具体应用场景进行配置。又例如,上述目标容灾演练工作流包括节点A→节点B→节点C→节点D,那么可以在节点A之前设置一个变量节点X节点、Y节点,该X节点、Y节点可以根据具体应用场景进行配置。
可选地,上述多个节点分别配置的待执行的任务通过以下方式确定:该多个节点的样式、该多个节点的输入输出数据以及该多个节点之间的交互动作。即,可以通过多个节点中待执行的任务的配置,进一步对容灾演练工作流进行配置。在本实施例中,可以通过可视化表单,用户通过拖拽的方式创建和编辑所需要的表单,完成更多内容的编辑和配置,完成个性化工作流。
在本申请实施例中,还可以通过大屏实时观察容灾演练的处理情况,进而实现数字手段对容灾演练进行把控。例如,总体进度的数字化,将用户需要关注的进度、切换实例进展、总体耗时和应用完成数进行统一展示,实现对全局的把控;阶段详情的数字化,将用户各阶段关注的阶段状态,开始、结束时间,阶段耗时,预期时效和预期比对进行展示,实现对各阶段进展的把控;任务详情的数字化,将用户的各任务的状态,操作人员和具体耗时情况进行展示,并突出正在进行中的任务,实现对各任务进展的把控,因此,本申请示例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练的过程中,通过数字化的方式,将该容灾演练的进展以及结果进行展示。
可选地,本申请实施例还提出了在通过与该预设的工作流模型对应的工作流引擎,驱动该目标容灾演练工作流执行容灾演练在容灾演练期间之后,下载本次容灾演练的目标数据,其中,该目标数据包括:容灾演练的步骤、容灾演练的操作对象、该容灾演练的过程耗时。即,通过下载本次演练的详细数据,供后续复盘时使用。
综上,本申请实施例结合工作流引擎和原子能力,可以通过低代码及拖拽的方式完成用户侧的容灾演练任务创建,后续可以对流程进行编辑调整,来实现容灾任务的日常管理。在解决重复劳作的同时,提升整体数字化的服务运营能力,从云资源管理到云上资源的流程操作,解决传统运维所需操作和流程的关联,并提供自动化的服务能力,大幅减少运维人员的手工操作任务,提升整体演练的安全性和减少演练时长,帮助客户提升整体演练质量。
本发明实施例还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行上述任一项方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令被处理器执行时实现上述任一项方法的步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种容灾演练方法,包括:
获取用户基于预设的工作流模型创建的容灾演练工作流,其中,所述容灾演练工作流包括多个节点,所述多个节点分别配置有待执行的任务;
将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,所述原子能力为对所述用户的云资源或所述云资源上的应用程序进行管理所需的能力单元;
通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练。
2.根据权利要求1所述的方法,其中,在将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,所述方法还包括:
获取已有的对云资源进行管理的目标任务;
对处理所述目标任务所需具备的能力进行拆分,得到多个原子能力。
3.根据权利要求1所述的方法,其中,在将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流之前,所述方法还包括:
通过远程脚本的方式,调用所述用户的云资源管理脚本;
通过所述云资源管理脚本,得到所述原子能力。
4.根据权利要求1所述的方法,其中,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练之前,所述方法还包括:
获取所述用户多账户下的云资源;
按照多维度来进行应用和部门的多层级分组,得到应用拓扑;
将所述云资源划分到所述应用拓扑中。
5.根据权利要求4所述的方法,其中,获取所述用户多账户下的云资源包括:
获取所述用户云账户的管理密钥以及所述用户的云资源的软件开发工具包SDK;
基于所述管理密钥以及所述SDK,获取所述用户多账户下的云资源。
6.根据权利要求1所述的方法,其中,在获取用户基于预设的工作流模型创建的容灾演练工作流之后,所述方法还包括:
在所述容灾演练工作流上预留变量节点,其中,所述变量节点为内容可动态配置的节点;
获取所述用户基于可视化表单配置的目标信息,并将所述目标信息对应到所述变量节点上。
7.根据权利要求1所述的方法,其中,所述多个节点分别配置的待执行的任务通过以下方式确定:所述多个节点的样式、所述多个节点的输入输出数据以及所述多个节点之间的交互动作。
8.根据权利要求1所述的方法,其中,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练的过程中,所述方法还包括:
通过数字化的方式,将所述容灾演练的进展以及结果进行展示。
9.根据权利要求1所述的方法,其中,在通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练在容灾演练期间之后,所述方法还包括:
下载本次容灾演练的目标数据,其中,所述目标数据包括:容灾演练的步骤、容灾演练的操作对象、所述容灾演练的过程耗时。
10.根据权利要求1所述的方法,其中,所述原子能力包括:关系型数据库服务RDS可用区切换、关系型云原生数据库Polar DB可用区切换、缓存Redis可用区切换、文档数据库Elasticsearch可用区下线、批量云服务器ECS实例关机、远程ECS命令执行、路由规则调整、网络附属存储NAS镜像实例创建、应用域名系统DNS修改和服务器应用的启停。
11.根据权利要求1所述的方法,其中,所述预设的工作流模型包括基于服务流程建模与标记BPMN生成的模型。
12.一种容灾演练平台,包括:
获取模块,用于获取用户基于预设的工作流模型创建的容灾演练工作流,其中,所述容灾演练工作流包括多个节点,所述多个节点分别配置有待执行的任务;
关联模块,用于将所述容灾演练工作流与对应的原子能力关联,得到目标容灾演练工作流,其中,所述原子能力为对所述用户的云资源或所述云资源上的应用程序进行管理所需的能力单元;
驱动模块,用于通过与所述预设的工作流模型对应的工作流引擎,驱动所述目标容灾演练工作流执行容灾演练。
13.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至11任一项所述的方法步骤。
14.一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1至11任一项所述的方法步骤。
CN202211595914.8A 2022-12-13 2022-12-13 一种容灾演练方法、平台、电子设备以及可读存储介质 Pending CN116166374A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211595914.8A CN116166374A (zh) 2022-12-13 2022-12-13 一种容灾演练方法、平台、电子设备以及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211595914.8A CN116166374A (zh) 2022-12-13 2022-12-13 一种容灾演练方法、平台、电子设备以及可读存储介质

Publications (1)

Publication Number Publication Date
CN116166374A true CN116166374A (zh) 2023-05-26

Family

ID=86412277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211595914.8A Pending CN116166374A (zh) 2022-12-13 2022-12-13 一种容灾演练方法、平台、电子设备以及可读存储介质

Country Status (1)

Country Link
CN (1) CN116166374A (zh)

Similar Documents

Publication Publication Date Title
WO2022160707A1 (zh) 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
CN108287750B (zh) 用于提供联络中心资源的动态弹性的系统和方法
CN110740053B (zh) 业务编排方法及装置
CN111552471A (zh) 混合云环境下的任务编排方法及系统
US20160247246A1 (en) Plan visualization
CN107066242A (zh) 确定软件容器中软件的标识的方法和系统
CN112668295A (zh) 一种基于自定义表单和Activiti工作流的管理系统及方法
CN112801607A (zh) 一种管理服务平台及构建方法
CN104318354A (zh) 任务信息处理方法和系统
CN107295096A (zh) 一种私有云计算服务平台、管理方法及系统
US20210248278A1 (en) Process architecture modeling platform
CN105871998A (zh) 一种数据展示方法及装置
KR20220150847A (ko) 오피스 시스템, 작업 태스크 관리 방법 및 장치
CN114124951B (zh) 多云环境下构建行业云业务实例的方法及系统
CN114296698A (zh) 基于bpm的业务需求流程系统的设计方法
US20170168870A1 (en) Task status tracking and update system
US11289076B2 (en) Assisting meeting participants via conversation loop detection and resolution using conversation visual representations and time-related topic usage
Ziegler The Tech Company: On the neglected second nature of platforms
CN115567596B (zh) 云服务资源部署方法、装置、设备及存储介质
KR101310420B1 (ko) 사용자가 정의 가능한 업무 절차 기반 도시 계획 관리 시스템 및 이를 위한 기록매체
CN116166374A (zh) 一种容灾演练方法、平台、电子设备以及可读存储介质
US10168999B2 (en) Software object definition and integration
US20230110602A1 (en) Federated learning model lineage
Zhou et al. Enabling integrated information framework as cloud services for chemical and petroleum industry
Karim et al. A proposed novel enterprise cloud development application model

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