大数据容灾方法、装置和电子设备与流程

文档序号:23554578发布日期:2021-01-05 21:16阅读:70来源:国知局

技术领域
:】本说明书实施例涉及大数据
技术领域
:,尤其涉及一种大数据容灾方法、装置和电子设备。
背景技术
::随着互联网业务发展,大数据业务的地位越来越重要,随着互联网公司提供的服务越来越基础设施化,其大数据业务在金融、物流和/或日常生活等国计民生中占有着越来越重要位置,服务的稳定性、数据的质量和核心数据应用的产出时效,任何异常都会带来巨大的经济、社会影响。在这个背景下,为了在故障发生时,保障大数据业务的可用性,需要提供大数据容灾的解决方案。同时,大数据业务的主要特性是“大”,对于计算、存储的资源消耗比较多,对大数据容灾时带来的成本开销往往比较高,技术实现要素:本说明书实施例提供了一种大数据容灾方法、装置和电子设备,以实现提供一种用较少的成本开销保障业务可用性的大数据容灾的解决方案。第一方面,本说明书实施例提供一种大数据容灾方法,包括:当生产集群发生故障时,获取所述生产集群中需要进行容灾保护的目标任务节点和目标业务集合;获取所述目标任务节点所属的目标任务组;根据所述目标任务组和所述目标业务集合,确定待切换节点;启动所述待切换节点对应的容灾节点上的任务,在容灾集群中执行所述容灾节点上的任务。上述大数据容灾方法中,基于各任务节点对生产时间的诉求不同,对计算资源的诉求也不同,当生产集群发生故障时,首先获取上述生产集群中需要进行容灾保护的目标任务节点和目标业务集合,然后获取目标任务节点所属的目标任务组,进而根据目标任务组和目标业务集合,确定待切换节点,最后启动待切换节点对应的容灾节点上的任务,在容灾集群中执行上述容灾节点上的任务,从而可以实现对待切换节点进行容灾,相对于机房/集群级的容灾方案,既保障了大数据容灾的诉求,又节省了资源开销。其中一种可能的实现方式中,所述获取所述目标任务节点所属的目标任务组包括:查询所述目标任务节点的依赖关系,获取所述目标任务节点的依赖节点,并逐级获取所述依赖节点的依赖关系;根据所述目标任务节点的依赖关系和所述依赖节点的依赖关系,构建有向无环图;根据所述有向无环图,获取所述目标任务节点所属的目标任务组。其中一种可能的实现方式中,所述启动所述待切换节点对应的容灾节点上的任务之后,还包括:在所述生产集群的故障恢复之后,停止执行所述容灾节点上的任务,将所述容灾节点在所述容灾集群中生产的数据同步到所述生产集群,继续在所述生产集群执行所述待切换节点上的任务。其中一种可能的实现方式中,所述获取所述生产集群中需要进行容灾保护的目标任务节点和目标业务集合之前,还包括:获取需要进行容灾保护的任务节点;查询所述任务节点的依赖关系,获取所述任务节点的依赖节点;以及逐级查询所述依赖节点的依赖关系,获取所述依赖节点的依赖节点;创建容灾任务组,所述容灾任务组中包括所述任务节点对应的容灾节点和所述依赖节点对应的容灾节点,所述容灾任务组中容灾节点之间的依赖关系与所述任务节点和所述依赖节点之间的依赖关系相同,并且所述容灾节点上承载与所述任务节点相同的任务;根据所述容灾任务组中容灾节点之间的依赖关系,构建所述容灾任务组对应的有向无环图。其中一种可能的实现方式中,所述根据所述容灾任务组中容灾节点之间的依赖关系,构建所述容灾任务组对应的有向无环图之后,还包括:根据所述容灾任务组对应的有向无环图,获取所述容灾任务组当前包括的容灾节点;将所述容灾任务组当前包括的容灾节点与保存的所述容灾任务组包括的容灾节点进行对比,判断所述容灾任务组是否有新加入的容灾节点;如果是,则当所述新加入的容灾节点被允许加入所述容灾任务组时,保存所述新加入的容灾节点的依赖关系和所述新加入的容灾节点上承载的任务。其中一种可能的实现方式中,所述创建容灾任务组之后,还包括:将所述容灾节点上承载的任务与保存的任务进行对比,判断所述容灾节点上承载的任务是否有变更;如果是,则保存所述容灾节点上承载的任务。其中一种可能的实现方式中,所述创建容灾任务组之后,还包括:将执行所述任务节点上承载的任务所使用的数据和执行所述任务节点上的任务所生产的数据,备份到所述容灾集群。其中一种可能的实现方式中,所述备份到所述容灾集群之后,还包括:在所述容灾集群监测到执行所述任务节点上承载的任务所使用的数据和执行所述任务节点上的任务所生产的数据发生变化时,将发生变化的数据同步到所述容灾集群。第二方面,本说明书实施例提供一种大数据容灾装置,包括:获取模块,用于当生产集群发生故障时,获取所述生产集群中需要进行容灾保护的目标任务节点和目标业务集合;以及获取所述目标任务节点所属的目标任务组;确定模块,用于根据所述目标任务组和所述目标业务集合,确定待切换节点;执行模块,用于启动所述待切换节点对应的容灾节点上的任务,在容灾集群中执行所述容灾节点上的任务。其中一种可能的实现方式中,所述获取模块包括:节点获取子模块,用于当生产集群发生故障时,获取所述生产集群中需要进行容灾保护的目标任务节点和目标业务集合;查询子模块,用于查询所述目标任务节点的依赖关系,获取所述目标任务节点的依赖节点,并逐级获取所述依赖节点的依赖关系;构建子模块,用于根据所述目标任务节点的依赖关系和所述依赖节点的依赖关系,构建有向无环图;任务组获取子模块,用于根据所述有向无环图,获取所述目标任务节点所属的目标任务组。其中一种可能的实现方式中,所述大数据容灾装置还包括:停止模块,用于在所述执行模块启动所述待切换节点对应的容灾节点上的任务之后,在所述生产集群的故障恢复之后,停止执行所述容灾节点上的任务,将所述容灾节点在所述容灾集群中生产的数据同步到所述生产集群;所述执行模块,还用于继续在所述生产集群执行所述待切换节点上的任务。其中一种可能的实现方式中,所述大数据容灾装置还包括:查询模块、创建模块和有向无环图构建模块;所述获取模块,还用于在获取所述生产集群中需要进行容灾保护的目标任务节点和目标业务集合之前,获取需要进行容灾保护的任务节点;所述查询模块,用于查询所述任务节点的依赖关系,获取所述任务节点的依赖节点;以及逐级查询所述依赖节点的依赖关系,获取所述依赖节点的依赖节点;所述创建模块,用于创建容灾任务组,所述容灾任务组中包括所述任务节点对应的容灾节点和所述依赖节点对应的容灾节点,所述容灾任务组中容灾节点之间的依赖关系与所述任务节点和所述依赖节点之间的依赖关系相同,并且所述容灾节点上承载与所述任务节点相同的任务;所述有向无环图构建模块,用于根据所述容灾任务组中容灾节点之间的依赖关系,构建所述容灾任务组对应的有向无环图。其中一种可能的实现方式中,所述大数据容灾装置还包括:对比模块和保存模块;所述获取模块,还用于在所述有向无环图构建模块构建所述容灾任务组对应的有向无环图之后,根据所述容灾任务组对应的有向无环图,获取所述容灾任务组当前包括的容灾节点;所述对比模块,用于将所述容灾任务组当前包括的容灾节点与保存的所述容灾任务组包括的容灾节点进行对比,判断所述容灾任务组是否有新加入的容灾节点;所述保存模块,用于当所述容灾任务组有新加入的容灾节点,并且所述新加入的容灾节点被允许加入所述容灾任务组时,保存所述新加入的容灾节点的依赖关系和所述新加入的容灾节点上承载的任务。其中一种可能的实现方式中,所述大数据容灾装置还包括:对比模块和保存模块;所述对比模块,用于在所述创建模块创建容灾任务组之后,将所述容灾节点上承载的任务与保存的任务进行对比,判断所述容灾节点上承载的任务是否有变更;所述保存模块,用于当所述容灾节点上承载的任务有变更时,保存所述容灾节点上承载的任务。其中一种可能的实现方式中,所述大数据容灾装置还包括:备份模块;所述备份模块,用于在所述创建模块创建容灾任务组之后,将执行所述任务节点上承载的任务所使用的数据和执行所述任务节点上的任务所生产的数据,备份到所述容灾集群。其中一种可能的实现方式中,所述大数据容灾装置还包括:同步模块;所述同步模块,用于在所述备份模块将执行所述任务节点上承载的任务所使用的数据和执行所述任务节点上的任务所生产的数据,备份到所述容灾集群之后,在所述容灾集群监测到执行所述任务节点上承载的任务所使用的数据和执行所述任务节点上的任务所生产的数据发生变化时,将发生变化的数据同步到所述容灾集群。第三方面,本说明书实施例提供一种电子设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。第四方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。应当理解的是,本说明书实施例的第二~四方面与本说明书实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。【附图说明】为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本说明书大数据容灾方法的应用场景示意图;图2为本说明书大数据容灾方法一个实施例的流程图;图3为本说明书大数据容灾方法一个实施例中有向无环图的示意图;图4为本说明书大数据容灾方法另一个实施例的流程图;图5为本说明书大数据容灾方法再一个实施例的流程图;图6为本说明书大数据容灾方法再一个实施例的流程图;图7为本说明书大数据容灾方法再一个实施例的流程图;图8为本说明书大数据容灾方法再一个实施例的流程图;图9为本说明书大数据容灾装置一个实施例的结构示意图;图10为本说明书大数据容灾装置另一个实施例的结构示意图;图11为本说明书电子设备一个实施例的结构示意图。【具体实施方式】为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。现有相关技术中,在传统的数据库和/或分布式文件系统容灾中,通常会提供多副本容灾的解决方案,此类方案会在不同机架、不同集群上部署多个副本,当容器、宿主机、机架故障时,可以切换备用副本对外提供服务。但对比大数据业务,一方面大数据业务由于其业务特性,存储成本巨大,单纯对数据应用增加副本带来的资源开销过大,而通常此类方案又做不到与业务相结合,无法基于业务情况控制副本数量,多副本容灾成本开销过大;另一方面此类方案做不到异地容灾,当发生集群、机房级故障时,同样存在服务不可用的问题。在现有相关技术提供的大数据解决方案中,通常会提供机房级、集群级的容灾解决方案。在此类方案中,通常会构建一个容灾集群,当生产集群出现故障时,切换到容灾集群进行生产。此种解决方案的问题在于需要备份整个集群,带来的资源消耗比较大,投入成本比较高,因此使用方在部署实施上往往比较谨慎,业务上采用较少;而事实上同一集群下,并非所有数据应用对容灾恢复都有着强诉求,并不需要简单的全部对其进行备份,此类方案存在着其固有的不足之处。基于上述问题,本说明书实施例提出一种大数据容灾方法,该方法可以用较少的成本开销实现大数据容灾。图1为本说明书大数据容灾方法的应用场景示意图,从图1中可以看出,本说明书实施例通过定义任务组,基于任务组创建容灾任务,进行大数据容灾恢复。众所周知,大数据应用的一个基本特点是数据量大,计算需要一定的时间,业务相对在线应用对计算时间的容忍度较大。在这个特点之上,不同的数据应用对计算时间有着不同的诉求,有的应用对产出时间有着相对较高的要求,比如要在某个时间点前产出,而其他应用要求相对会低些。因此,当故障发生,在做容灾保障时,可以按数据应用对时效的不同诉求,进行不同的级别的保障,优先保障对时效要求高的应用,基于此达到用较少资源做数据容灾的目的。图2为本说明书大数据容灾方法一个实施例的流程图,如图2所示,上述大数据容灾方法可以包括:步骤202,当生产集群发生故障时,获取上述生产集群中需要进行容灾保护的目标任务节点和目标业务集合。其中,上述生产集群中需要进行容灾保护的目标任务节点可以为核心数据应用对应的任务节点,上述业务集合可以为同一部门或者同一业务群创建的任务集合。具体实现时,当生产集群发生故障时,可以指定需要进行容灾保护的目标任务节点和目标业务集合。参见图3,图3为本说明书大数据容灾方法一个实施例中有向无环图的示意图,图3中,写有数字的圆圈为任务节点;虚线方框311所框住的任务节点组成一个业务集合,虚线方框312所框住的任务节点组成另一个业务集合;321、322和323指向的一串任务节点分别为一个任务组。举例来说,当生产集群发生故障时,可以指定节点28为需要进行容灾保护的目标任务节点,指定虚线方框311对应的业务集合为目标业务集合。步骤204,获取目标任务节点所属的目标任务组。具体地,获取目标任务节点所属的目标任务组可以为:查询目标任务节点的依赖关系,获取目标任务节点的依赖节点,并逐级获取上述依赖节点的依赖关系;然后,根据目标任务节点的依赖关系和上述依赖节点的依赖关系,构建有向无环图(directedacyclicgraph,dag),根据有向无环图,获取目标任务节点所属的目标任务组。举例来说,假设当生产集群发生故障时,需要进行容灾保护的目标任务节点为节点28,那么可以从数据库中查询节点28的依赖关系,获取节点28的依赖节点为节点25,继续查询节点25的依赖关系,获取节点25的依赖节点为节点20和节点21,以此类推,逐级向上查询依赖节点的依赖关系,直至查询到节点3,在数据库中查询不到节点3的依赖关系,依赖关系的查询结束。之后,根据节点28的依赖关系和上述依赖节点的依赖关系,构建dag,可以获得图3所示的dag。接下来,可以根据图3所示的dag,获取节点28所属的目标任务组为任务组323。步骤206,根据目标任务组和目标业务集合,确定待切换节点。具体地,根据目标任务组和目标业务集合,确定待切换节点可以为:从目标任务组中获取属于目标业务集合的任务节点,作为待切换节点。仍以图3为例,任务组323为目标任务组,从任务组323中获取属于虚线方框311对应的业务集合的任务节点,作为待切换节点,则待切换节点可以包括节点11和节点16。步骤208,启动上述待切换节点对应的容灾节点上的任务,在容灾集群中执行上述容灾节点上的任务。举例来说,参见图1,虚线框11中的节点为待切换节点,虚线框11中的节点对应的容灾节点为虚线框12中的节点。当生产集群发生故障时,启动虚线框12中的节点上的任务,从容灾集群读取数据进行生产。上述大数据容灾方法中,基于各任务节点对生产时间的诉求不同,对计算资源的诉求也不同,当生产集群发生故障时,首先获取上述生产集群中需要进行容灾保护的目标任务节点和目标业务集合,然后获取目标任务节点所属的目标任务组,进而根据目标任务组和目标业务集合,确定待切换节点,最后启动待切换节点对应的容灾节点上的任务,在容灾集群中执行上述容灾节点上的任务,从而可以实现对待切换节点进行容灾,相对于机房/集群级的容灾方案,既保障了大数据容灾的诉求,又节省了资源开销。图4为本说明书大数据容灾方法另一个实施例的流程图,如图4所示,本说明书图2所示实施例中,步骤208之后,还可以包括:步骤402,在生产集群的故障恢复之后,停止执行上述容灾节点上的任务,将上述容灾节点在容灾集群中生产的数据同步到生产集群,继续在生产集群执行上述待切换节点上的任务。本实施例中,在故障恢复之后,将容灾数据恢复回生产集群,从而达到容灾恢复的目的。图5为本说明书大数据容灾方法再一个实施例的流程图,如图5所示,本说明书图2所示实施例中,步骤202之前,还可以包括:步骤502,获取需要进行容灾保护的任务节点。步骤504,查询任务节点的依赖关系,获取上述任务节点的依赖节点;以及逐级查询上述依赖节点的依赖关系,获取上述依赖节点的依赖节点。步骤506,创建容灾任务组,上述容灾任务组中包括上述任务节点对应的容灾节点和上述依赖节点对应的容灾节点,上述容灾任务组中容灾节点之间的依赖关系与上述任务节点和上述依赖节点之间的依赖关系相同,并且上述容灾节点上承载与上述任务节点相同的任务。步骤508,根据上述容灾任务组中容灾节点之间的依赖关系,构建上述容灾任务组对应的有向无环图。举例来说,假设需要进行容灾保护的任务节点为节点27,那么可以从数据库中查询节点27的依赖关系,获取节点27的依赖节点为节点24,接下来可以查询节点24的依赖关系,获取节点24的依赖节点为节点20,以此类推,逐级向上查询依赖节点的依赖关系,直至查询到节点2,在数据库中查询不到节点2的依赖关系,依赖关系的查询结束。然后,创建容灾任务组,该容灾任务组中包括以下节点对应的容灾节点:节点27、节点24、节点20、…、节点2;并且,容灾任务组中容灾节点之间的依赖关系与节点27、节点24、节点20、…、节点2之间的依赖关系相同,并且容灾任务组中的容灾节点分别承载与节点27、节点24、节点20、…、节点2相同的任务。接下来,可以根据上述容灾任务组中容灾节点之间的依赖关系,构建上述容灾任务组对应的有向无环图。可以理解的是,上述容灾任务组对应的有向无环图的形状与图3所示的有向无环图相同。图6为本说明书大数据容灾方法再一个实施例的流程图,如图6所示,本说明书图5所示实施例中,步骤508之后,还可以包括:步骤602,根据上述容灾任务组对应的有向无环图,获取上述容灾任务组当前包括的容灾节点。步骤604,将容灾任务组当前包括的容灾节点与保存的上述容灾任务组包括的容灾节点进行对比,判断上述容灾任务组是否有新加入的容灾节点。如果是,则执行步骤606;如果上述容灾任务组没有新加入的容灾节点,则结束本次流程。步骤606,当新加入的容灾节点被允许加入上述容灾任务组时,保存上述新加入的容灾节点的依赖关系和上述新加入的容灾节点上承载的任务。具体地,根据上述容灾任务组对应的有向无环图,获取上述容灾任务组当前包括的容灾节点之后,可以将容灾任务组当前包括的容灾节点与数据库中保存的上述容灾任务组包括的容灾节点进行对比,判断上述容灾任务组是否有新加入的容灾节点。接下来,如果上述容灾任务组中有新加入的容灾节点,可选地,可以先判断上述新加入的容灾节点是否满足准入规则,当新加入的容灾节点被允许加入上述容灾任务组时,将上述新加入的容灾节点的依赖关系和上述新加入的容灾节点上承载的任务保存到数据库中。其中,上述准入规则可以包括:容灾集群是否有足够的存储空间保存执行上述新加入的容灾节点上的任务所需的数据以及执行上述新加入的容灾节点上的任务所生产的数据;和/或,容灾集群的处理性能是否满足执行上述新加入的容灾节点上的任务的性能需求。需要说明的是,步骤602~步骤606在步骤508之后,步骤202之前执行。图7为本说明书大数据容灾方法再一个实施例的流程图,如图7所示,本说明书图5所示实施例中,步骤506之后,还可以包括:步骤702,将容灾节点上承载的任务与保存的任务进行对比,判断上述容灾节点上承载的任务是否有变更。如果是,则执行步骤704;如果容灾节点上承载的任务没有变更,则结束本次流程。步骤704,保存容灾节点上承载的任务。具体地,创建容灾任务组之后,可以将容灾节点上承载的任务与数据库中保存的任务进行对比,如果容灾节点上承载的任务有变更,则将容灾节点上承载的任务保存在数据库中。具体实现时,本说明书图5~图7所示的流程可以定时执行,例如每天或每两天定时执行;或者,本说明书图5~图7所示的流程也可以周期执行。本实施例对本说明书图5~图7所示流程的执行方式不作限定。需要说明的是,步骤702~步骤704在步骤506之后,步骤202之前执行。图8为本说明书大数据容灾方法再一个实施例的流程图,如图8所示,本说明书图5所示实施例中,步骤506之后,还可以包括:步骤802,将执行上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据,备份到上述容灾集群。进一步地,步骤802之后,还可以包括:步骤804,在上述容灾集群监测到执行上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据发生变化时,将发生变化的数据同步到上述容灾集群。也就是说,在创建容灾集群之后,要将执行任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据,备份到上述容灾集群。进一步地,参见图1,在容灾集群检测到上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据发生变化时,将发生变化的数据同步到上述容灾集群,从而维护容灾集群和生产集群的数据一致性,以备容灾切换时,执行容灾节点上承载的任务时有数据可用。需要说明的是,步骤802~步骤804在步骤506之后,步骤202之前执行。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。图9为本说明书大数据容灾装置一个实施例的结构示意图,如图9所示,上述大数据容灾装置可以包括:获取模块91、确定模块92和执行模块93;其中,获取模块91,用于当生产集群发生故障时,获取上述生产集群中需要进行容灾保护的目标任务节点和目标业务集合;以及获取上述目标任务节点所属的目标任务组;确定模块92,用于根据目标任务组和目标业务集合,确定待切换节点;执行模块93,用于启动上述待切换节点对应的容灾节点上的任务,在容灾集群中执行上述容灾节点上的任务。图9所示实施例提供的大数据容灾装置可用于执行本说明书图2所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。图10为本说明书大数据容灾装置另一个实施例的结构示意图,与图9所示的大数据容灾装置相比,不同之处在于,图10所示的大数据容灾装置中,获取模块91可以包括:节点获取子模块911、查询子模块912、构建子模块913和任务组获取子模块914;其中,节点获取子模块911,用于当生产集群发生故障时,获取上述生产集群中需要进行容灾保护的目标任务节点和目标业务集合;查询子模块912,用于查询目标任务节点的依赖关系,获取目标任务节点的依赖节点,并逐级获取上述依赖节点的依赖关系;构建子模块913,用于根据目标任务节点的依赖关系和上述依赖节点的依赖关系,构建有向无环图;任务组获取子模块914,用于根据上述有向无环图,获取目标任务节点所属的目标任务组。进一步地,上述大数据容灾装置还可以包括:停止模块94,用于在执行模块93启动待切换节点对应的容灾节点上的任务之后,在上述生产集群的故障恢复之后,停止执行上述容灾节点上的任务,将容灾节点在容灾集群中生产的数据同步到生产集群;这时,执行模块93,还用于继续在上述生产集群执行待切换节点上的任务。进一步地,上述大数据容灾装置还可以包括:查询模块95、创建模块96和有向无环图构建模块97;获取模块91,还用于在获取生产集群中需要进行容灾保护的目标任务节点和目标业务集合之前,获取需要进行容灾保护的任务节点;查询模块95,用于查询上述任务节点的依赖关系,获取上述任务节点的依赖节点;以及逐级查询上述依赖节点的依赖关系,获取上述依赖节点的依赖节点;创建模块96,用于创建容灾任务组,上述容灾任务组中包括上述任务节点对应的容灾节点和上述依赖节点对应的容灾节点,上述容灾任务组中容灾节点之间的依赖关系与上述任务节点和上述依赖节点之间的依赖关系相同,并且上述容灾节点上承载与上述任务节点相同的任务;有向无环图构建模块97,用于根据上述容灾任务组中容灾节点之间的依赖关系,构建上述容灾任务组对应的有向无环图。进一步地,上述大数据容灾装置还可以包括:对比模块98和保存模块99;获取模块91,还用于在有向无环图构建模块97构建上述容灾任务组对应的有向无环图之后,根据上述容灾任务组对应的有向无环图,获取上述容灾任务组当前包括的容灾节点;对比模块98,用于将上述容灾任务组当前包括的容灾节点与保存的容灾任务组包括的容灾节点进行对比,判断上述容灾任务组是否有新加入的容灾节点;保存模块99,用于当上述容灾任务组有新加入的容灾节点,并且上述新加入的容灾节点被允许加入上述容灾任务组时,保存新加入的容灾节点的依赖关系和上述新加入的容灾节点上承载的任务。进一步地,上述大数据容灾装置还可以包括:对比模块98和保存模块99;对比模块98,用于在创建模块96创建容灾任务组之后,将上述容灾节点上承载的任务与保存的任务进行对比,判断上述容灾节点上承载的任务是否有变更;保存模块99,用于当上述容灾节点上承载的任务有变更时,保存上述容灾节点上承载的任务。进一步地,上述大数据容灾装置还可以包括:备份模块9010;其中,备份模块9010,用于在创建模块96创建容灾任务组之后,将执行上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据,备份到容灾集群。进一步地,上述大数据容灾装置还可以包括:同步模块9011;其中,同步模块9011,用于在备份模块9010将执行上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据,备份到容灾集群之后,在上述容灾集群监测到执行上述任务节点上承载的任务所使用的数据和执行上述任务节点上的任务所生产的数据发生变化时,将发生变化的数据同步到容灾集群。图10所示实施例提供的大数据容灾装置可用于执行本申请图2~图8所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。图11为本说明书电子设备一个实施例的结构示意图,如图11所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图2~图8所示实施例提供的大数据容灾方法。其中,上述电子设备可以为服务器,例如:云服务器,具体来说,可以为执行图2~图8所示实施例提供的大数据容灾方法的服务器。图11示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图11显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。如图11所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,以及连接不同组件(包括存储器430、通信接口420和处理单元410)的通信总线440。通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,或者使用多种总线结构中的任意总线结构的局域总线。举例来说,通信总线440可以包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection,pci)总线。电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)和/或高速缓存存储器。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书图2~图8所示实施例的功能。具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书图2~图8所描述的实施例中的功能和/或方法。处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图2~图8所示实施例提供的大数据容灾方法。本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图2~图8所示实施例提供的大数据容灾方法。上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属
技术领域
:的技术人员所理解。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1