CN115378800A - 无服务器架构分布式容错***、方法、装置、设备及介质 - Google Patents

无服务器架构分布式容错***、方法、装置、设备及介质 Download PDF

Info

Publication number
CN115378800A
CN115378800A CN202211010834.1A CN202211010834A CN115378800A CN 115378800 A CN115378800 A CN 115378800A CN 202211010834 A CN202211010834 A CN 202211010834A CN 115378800 A CN115378800 A CN 115378800A
Authority
CN
China
Prior art keywords
unit
computing
target task
persistent storage
computing node
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
CN202211010834.1A
Other languages
English (en)
Other versions
CN115378800B (zh
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.)
Douyin Vision Co Ltd
Lemon Inc Cayman Island
Original Assignee
Douyin Vision Co Ltd
Lemon Inc Cayman Island
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 Douyin Vision Co Ltd, Lemon Inc Cayman Island filed Critical Douyin Vision Co Ltd
Priority to CN202211010834.1A priority Critical patent/CN115378800B/zh
Publication of CN115378800A publication Critical patent/CN115378800A/zh
Priority to PCT/CN2023/111562 priority patent/WO2024041363A1/zh
Application granted granted Critical
Publication of CN115378800B publication Critical patent/CN115378800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开提供了一种无服务器架构分布式容错***、方法、装置、设备及介质,所述***:包括无服务器架构控制模块和基于分布式架构的计算节点,无服务器架构控制模块监测各计算节点的工作状态,在监测到故障计算节点时,基于故障计算节点中的持久化存储单元为故障计算节点构建副本计算节点,副本计算节点替代故障计算节点继续执行故障计算节点承接的目标任务。副本计算节点基于持久化存储单元中存储的目标任务对应的图数据和状态快照数据,恢复并继续执行目标任务。本公开能够实现资源调度层面的容器级别的容错,针对基于容器实现的计算节点的故障进行容错处理,降低了因计算节点发生故障,对任务执行进度的影响。

Description

无服务器架构分布式容错***、方法、装置、设备及介质
技术领域
本公开涉及数据处理领域,尤其涉及一种无服务器架构分布式容错***、方法、装置、设备及存储介质。
背景技术
随着云、大数据、容器等技术的成熟,无服务器Serverless架构应运而生。在Serverless架构下,用户只需要专注于应用逻辑的代码实现,而服务器等基础设置的部署、维护以及计算资源的弹性扩缩容等均由Serverless平台端负责。
无服务器架构分布式处理***通常规模较大,但是目前并没有较好的容错功能做支持,一旦某个节点出现故障,那么整个作业都会失败,而重启作业需要从头开始执行,影响作业的执行进度。
因此,如何实现无服务器架构分布式处理***的容错功能,是目前亟需解决的技术问题。
发明内容
为了解决上述技术问题,本公开实施例提供了一种无服务器架构分布式容错***、方法、设备及存储介质。
第一方面,本公开提供了一种无服务器架构分布式容错***,所述***包括:
无服务器架构控制模块和基于分布式架构的计算节点;所述无服务器架构控制模块与所述基于分布式架构的计算节点之间具有通信连接;所述基于分布式架构的计算节点用于接收并执行被分配的目标任务;
所述无服务器架构控制模块,用于监测所述基于分布式架构的计算节点的工作状态,在监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障计算节点承接的目标任务;所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
所述副本计算节点,用于基于所述持久化存储单元中存储的所述目标任务对应的图数据和状态快照数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述无服务器架构控制模块,具体用于为所述故障计算节点中的持久化存储单元构建代理单元;
所述代理单元,用于为所述故障计算节点中的持久化存储单元构建计算单元,所述副本计算节点中包括构建的所述计算单元和所述代理单元;控制构建的所述计算单元,基于所述故障计算节点中的持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述***还包括:
主代理单元,所述主代理单元与基于分布式架构的计算节点中的代理单元之间具有通信连接;
所述主代理单元,用于监测代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
所述副本代理单元,用于为所述故障代理单元对应的持久化存储单元构建计算单元,并控制所述计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
所述代理单元,用于在监测到故障计算单元时,为所述故障计算单元创建副本计算单元,控制所述副本计算单元替代所述故障计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述代理单元,还用于基于各代理单元之间的通信连接,通知其他计算节点中的代理单元暂停执行被分配的目标任务,并在恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
一种可选的实施方式中,所述代理单元,具体用于为所述故障计算节点中的持久化存储单元构建计算单元,并控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述持久化存储单元采用内存、持久化存储介质和硬盘的分层结构;
所述持久化存储单元,具体用于按照内存、持久化存储介质和硬盘三级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
一种可选的实施方式中,所述持久化存储单元采用内存和持久化存储介质的分层结构;
所述持久化存储单元,具体用于按照内存和持久化存储介质二级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
一种可选的实施方式中,所述持久化存储介质包括持久内存。
一种可选的实施方式中,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述***还包括主代理单元,所述主代理单元与基于分布式架构的计算节点中的代理单元之间具有通信连接;
所述主代理单元,用于监测代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
所述副本代理单元,用于为所述故障代理单元对应的持久化存储单元构建计算单元,并控制所述计算单元基于所述故障代理单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务;
所述代理单元,用于在监测到所述计算节点中的计算单元发生故障时,为故障计算单元创建副本计算单元,控制所述副本计算单元替代所述故障计算单元,基于所述计算节点中的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
第二方面,本公开还提供了一种无服务器架构分布式容错方法,所述方法包括:
监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,包括:
为所述故障计算节点中的持久化存储单元构建代理单元;
控制所述代理单元为所述故障计算节点中的持久化存储单元构建计算单元;
相应的,所述控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务,包括:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述方法还包括:
利用主代理单元监测各计算节点中的代理单元的工作状态,当监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
控制所述副本代理单元为所述故障代理单元对应的持久化存储单元构建计算单元,并控制构建的所述计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述方法还包括:
当所述代理单元监测到所述计算单元发生故障时,为发生故障的所述计算单元创建副本计算单元;
控制所述副本计算单元替代发生故障的所述计算单元,基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述方法还包括:
基于各代理单元之间的通信连接,利用所述代理单元通知其他代理单元暂停执行所述目标任务;
当监测到恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
一种可选的实施方式中,所述利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务,包括:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述方法还包括:
利用主代理单元监测各计算节点中的代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;控制所述副本代理单元为所述故障代理单元对应的持久化存储单元构建计算单元,并控制构建的所述计算单元基于所述故障代理单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务;
当计算节点中的代理单元监测到所述计算节点中的计算单元发生故障时,为故障计算单元创建副本计算单元;控制所述副本计算单元替代所述故障计算单元,基于所述故障计算单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
第三方面,本公开还提供了一种无服务器架构分布式容错装置,所述装置包括:
第一构建模块,用于监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
第一恢复执行模块,用于控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第五方面,本公开提供了一种数据处理设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第六方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
本公开实施例提供了一种无服务器架构分布式容错***,包括无服务器架构控制模块和基于分布式架构的计算节点,无服务器架构控制模块与各计算节点之间具有通信连接,计算节点用于接收并执行被分配的目标任务。无服务器架构控制模块监测各计算节点的工作状态,在监测到故障计算节点时,基于故障计算节点中的持久化存储单元为故障计算节点构建副本计算节点,副本计算节点替代故障计算节点继续执行故障计算节点承接的目标任务。具体的,副本计算节点基于持久化存储单元中存储的目标任务对应的图数据和状态快照数据,恢复并继续执行目标任务。可见,本公开实施例提供的无服务器架构分布式容错***,能够实现资源调度层面的容器级别的容错,针对基于容器实现的计算节点的故障进行容错处理,降低了因计算节点发生故障,对任务执行进度的影响。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种无服务器架构分布式容错***的架构图;
图2为本公开实施例提供的另一种无服务器架构分布式容错***的架构图;
图3为本公开实施例提供的又一种无服务器架构分布式容错***的示意图;
图4为本公开实施例提供的又一种无服务器架构分布式容错***的示意图;
图5为本公开实施例提供的一种无服务器架构分布式容错方法的流程图;
图6为本公开实施例提供的一种无服务器架构分布式容错装置的结构示意图;
图7为本公开实施例提供的一种无服务器架构分布式容错设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
无服务器Serverless架构是一种软件设计方法,允许开发人员构建和运行服务,无需管理底层架构体系。为用户提供用户态的服务,用户只需编写实现应用逻辑的函数代码,然后将函数代码上传至无服务器***即可。在检测到触发函数代码执行的事件发生时,无服务器***为其分配多个计算节点,用于执行函数代码相关的任务,用户不需要关心计算资源层面的问题,使得用户开发变得更加便捷,减轻用户的开发负担,给用户带来更好的体验。
无服务器架构用于通用大数据处理和分布式机器学习等多个领域,例如可以应用于图计算和图挖掘领域,对于数十亿甚至数万亿条边的大规模图的计算任务和挖掘任务,需要将繁重的任务分布在大量的计算节点,而图计算和图挖掘领域的无服务器架构分布式***中,较少考虑容错作为其基本能力,而容错能力的不足,导致无服务器架构分布式***中任务的执行进度会受到影响。为此,本公开提供了一种无服务器架构分布式容错***,可以部署于物理集群,也可以部署于云环境中,将容错功能作为基本能力,降低因节点等的故障对任务的执行进度的影响。
具体的,本公开实施例提供了一种无服务器架构分布式容错***,参考图1,为本公开实施例提供的一种无服务器架构分布式容错***的架构图。
其中,无服务器架构分布式容错***100中包括无服务器架构控制模块101和基于分布式架构的计算节点,以计算节点102和计算节点104为例。无服务器架构控制模块101与各个基于分布式架构的计算节点之间具有通信连接,基于分布式架构的计算节点用于接收并执行被分配的目标任务。
无服务器架构控制模块101,用于监测各个基于分布式架构的计算节点的工作状态,在监测到故障计算节点(假设为故障计算节点为计算节点102)时,基于故障计算节点102中的持久化存储单元1021,为故障计算节点102构建副本计算节点103,所述副本计算节点103用于替代所述故障计算节点102继续执行所述故障计算节点103承接的目标任务;所述持久化存储单元1021用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
所述副本计算节点103,用于基于所述持久化存储单元1021中存储的所述目标任务对应的图数据和状态快照数据,恢复并继续执行所述目标任务。
本公开实施例中,基于分布式架构的计算节点可以基于容器Pod实现,每个计算节点中包括代理单元、计算单元和持久化存储单元,同一个计算节点中的代理单元、计算单元和持久化存储单元均部署于同一个Pod中。另外,同一个Pod中可以包括一个或多个计算单元,每个计算单元对应于一个进程。该Pod中的代理单元用于对该一个或多个计算单元进行控制。
其中,持久化存储单元可以基于持久化存储介质(如持久内存Optane PersistentMemory,PMEM)实现,也可以基于硬盘(如固态硬盘Solid State Drive,SSD)实现,还可以基于内存、持久化存储介质和硬盘的混合存储设计实现,用于持久化存储数据,不因断电等故障情况影响数据的存储。计算单元(也称为worker)是指持有计算资源并执行分配的计算任务负载的应用程序耦合实体。
一种可选的实施方式中,持久化存储单元采用内存、持久化存储介质和硬盘的分层结构。
具体的,所述持久化存储单元,具体用于按照内存、持久化存储介质和硬盘三级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
另一种可选的实施方式中,持久化存储单元采用内存和持久化存储介质的分层结构;
具体的,所述持久化存储单元,具体用于按照内存和持久化存储介质二级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
本公开实施例能够针对基于容器实现的计算节点的故障进行容错处理,实现资源调度层面的容器级别的容错,降低因计算节点发生故障,对任务执行进度的影响。
为了便于对上述无服务器架构分布式容错***的进一步理解,本公开实施例提供了另一种无服务器架构分布式容错***的架构图,如图2所示。
无服务器架构分布式***200包括无服务器架构控制模块201和基于分布式架构的计算节点,以计算节点202和204为例。具体的,计算节点202中可以包括具有对应关系的代理单元2021、计算单元2022和持久化存储单元2023;
无服务器架构控制模块201,具体用于监测基于分布式架构的计算节点的工作状态,在监测到故障计算节点(假设为计算节点202)时,为所述故障计算节点202中的持久化存储单元2023构建新的代理单元2031;
代理单元2031,用于为所述故障计算节点202中的持久化存储单元2023构建新的计算单元2032,代理单元2031控制构建的所述计算单元2032,基于所述故障计算节点202中的持久化存储单元2023中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务.
其中,构建的代理单元2031和计算单元2032,以及故障计算节点202中的持久化存储单元2023,均处于同一个计算节点,即副本计算节点203中,副本计算节点203用于替代故障计算节点202继续执行所述故障计算节点202承接的目标任务。
一种可选的实施方式中,同一计算节点中的代理单元、计算单元和持久化存储单元具有相同的索引标识,通过该索引标识能够定位到具有该索引标识的代理单元、计算单元和持久化存储单元。例如,同一计算节点中的代理单元、计算单元和持久化存储单元具有相同的索引标识1,通过索引标识1能够定位到具有该索引标识1的代理单元、计算单元和持久化存储单元。具体的,各个代理单元、计算单元和持久化存储单元分别与索引标识的对应关系可以预先设置并存储。
实际应用中,每个计算单元分别挂载有持久化存储单元,计算单元预先从远程文件***(如Hadoop分布式文件***HDFS)中读取目标任务对应的数据分片,并将目标任务对应的数据分片存储于持久化存储单元中,用于后续目标任务的执行。本公开实施例通过为每个计算单元挂载单独的持久化存储单元,而不是各个计算单元共享持久化存储单元,能够较大限度地降低资源竞争。
代理单元可以控制对应的计算单元执行目标任务,具体的,控制计算单元从持久化存储单元中获取目标任务对应的图数据,执行目标任务。
另外,代理单元控制计算单元将执行目标任务过程中产生的状态快照数据,周期性的写入对应的持久化存储单元中,实现对状态快照数据的持久化存储,以便后续在监测到故障时,可以基于目标任务的状态快照数据恢复目标任务的执行状态。其中,状态快照数据也可以称为检查点checkpoint数据,用于记录目标任务的执行状态数据,基于该执行状态数据能够恢复目标任务的某个暂态。
具体的,本公开实施例中,基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据。
本公开实施例中,各计算节点中的代理单元之间具有通信连接,各代理单元之间可以基于协商通信同步彼此的计算结果数据,共同执行目标任务。
一种可选的实施方式中,无服务器架构控制模块在监测到故障计算节点时,确定故障计算节点中包括的持久化存储单元,并基于该持久化存储单元构建新的计算节点,用于替代故障计算节点继续执行目标任务。另外,新的计算节点中的代理单元,可以基于各代理单元之间的通信连接,通知其他代理单元暂停执行目标任务,并指示其他代理单元将目标任务的状态快照数据同步至新的计算节点,以便新的计算节点能够代替故障计算节点恢复执行目标任务。
具体的,新的计算节点中的代理单元,具体用于基于该计算节点中的持久化存储单元中存储的目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
值得注意的是,新的代理单元在确定恢复执行目标任务至最新状态后,还可以基于各代理单元之间的通信连接,通知其他代理单元可以继续执行目标任务。
在上述实施例的基础上,无服务器架构分布式容错***中还包括主代理单元,主代理单元与各代理单元之间具有通信连接,主代理单元用于维护各个代理单元的状态以及存储各个代理单元的索引信息。
如图3所示,为本公开实施例提供的另一种无服务器架构分布式容错***的架构图,其中,无服务器架构分布式容错***300中包括无服务器架构控制单元304、主代理单元301、状态存储模块302和计算节点303,主代理单元301与各计算节点中的代理单元之间具有通信连接,主代理单元301利用状态存储模块302存储各个代理单元的索引信息。主代理单元与其他各代理单元之间可以基于协商通信,实现数据同步等。
另外,所述主代理单元,用于监测各个计算节点中的代理单元的工作状态,并在监测到故障代理单元(假设为计算节点303中的代理单元3031)时,为所述故障代理单元3031构建副本代理单元3034。
所述副本代理单元3034,用于为所述故障代理单元3031对应的持久化存储单元3033构建新的计算单元3035,并由副本代理单元3034控制所述计算单元3035,基于所述持久化存储单元3033中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
具体的,发生故障的代理单元3031可以为任一计算节点中的代理单元。由于代理单元3031发生故障,其对应的计算单元3032会被回收,此时需要在创建新的代理单元(如代理单元3034)之后,由新的代理单元3034创建新的计算单元3035。
一种可选的实施方式中,主代理单元301在在监测到故障代理单元之后,基于与各代理单元之间的通信连接,通知各个计算节点中的代理单元暂停执行被分配的目标任务,并在恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
一种可选的实施方式中,具有相同索引标识的计算节点、代理单元、计算单元和持久化存储单元之间的对应关系,可以分别预先存储于各个代理单元处,也可以单独存储于主代理单元301的状态存储模块302中,以便节省各代理单元的存储资源。基于各代理单元之间的协商通信,可以基于需求从主代理单元301的状态存储模块302中获取所需的索引信息。
本公开实施例提供的无服务器架构分布式容错***,是一个基于代理单元的弹性容错框架,不仅能够支持计算节点层级的容错,还能够支持代理单元层级的容错,进一步降低因无服务器架构分布式容错***中发生故障影响任务执行进度的概率。
另外,在上述实施例的基础上,本公开实施例还可以支持计算单元层级的容错,具体的,如图4所示,为本公开实施例提供的又一种无服务器架构分布式容错***的示意图。
其中,无服务器架构分布式容错***400中包括基于分布式架构的计算节点,以下以计算节点401和402为例。其中,计算节点401中的代理单元4011,用于监测计算节点401中的计算单元4012的工作状态,并在监测到计算单元4012发生故障时,为发生故障的计算单元4012创建副本计算单元4014,并由代理单元4011控制副本计算单元4014基于持久化存储单元4013中存储的目标任务的状态快照数据和图数据,恢复执行所述目标任务。
一种可选的实施方式中,代理单元4011在确定自身对应的计算单元4012发生故障时,基于代理单元之间的通信连接,获取存储于主代理单元的状态存储模块中的索引信息,确定与代理单元4011具有相同索引标识的持久化存储单元,即持久化存储单元4013,由代理单元4011为持久化存储单元4013创建新的计算单元4014,用于恢复执行目标任务。具体的,代理单元4011可以为任一计算节点中的代理单元。
一种可选的实施方式中,代理单元4011在确定自身对应的计算单元4012发生故障时,基于各代理单元之间的通信连接,通知其他计算节点中的代理单元(如图4所示的代理单元4021)暂停执行被分配的目标任务,并在恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
可见,本公开实施例提供的无服务器架构分布式容错***,能够分别从分布式计算节点层级、代理单元层级以及计算单元层级,支持容错功能,降低因计算节点、代理单元、计算单元等发生故障后,对任务执行进度的影响。
本公开实施例提供的无服务器架构分布式容错***,能够针对基于容器实现的计算节点的故障、代理单元的故障以及计算单元的故障分别进行容错处理,实现从资源调度层面的容器级别容错,到分布式控制面的代理单元Agent级别容错,再到应用本身的计算单元worker级别容错的多维度容错,形成了端到端的容错保障,从而保证了图数据处理应用的端到端容错体验,降低在用户使用图数据处理应用的整个回路中出现应用出错报警等情况的发生。
基于上述无服务器架构分布式容错***的实施例描述,本公开实施例还提供了一种无服务器架构分布式容错方法,参考图5,为本公开实施例提供的一种无服务器架构分布式容错方法的流程图。该方法包括:
S501:监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点。
其中,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据。
本公开实施例提供的无服务器架构分布式容错方法可以应用于上述无服务器架构分布式容错***,该无服务器架构分布式容错***包括无服务器架构控制模块以及目标任务对应的基于分布式架构的计算节点。
本公开实施例中的基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据。
一种可选的实施方式中,持久化存储单元采用内存、持久化存储介质和硬盘的分层结构。具体的,持久化存储单元具体用于按照内存、持久化存储介质和硬盘三级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
另一种可选的实施方式中,持久化存储单元采用内存和持久化存储介质的分层结构;具体的,持久化存储单元具体用于按照内存和持久化存储介质二级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
另外,本公开实施例中的持久化存储介质可以包括持久内存PMEM等。
一种可选的实施方式中,基于故障计算节点中的持久化存储单元,为故障计算节点构建副本计算节点,具体可以包括:首先为故障计算节点中的持久化存储单元构建代理单元,然后控制该代理单元为故障计算节点中的持久化存储单元构建计算单元,实现故障计算节点的副本计算节点的构建。
然后,可以利用代理单元控制构建的新的计算单元,基于故障计算节点中的持久化存储单元中存储的目标任务对应的状态快照数据和图数据,恢复并继续执行目标任务。
一种可选的实施方式中,无服务器架构控制模块可以基于预先存储的计算节点、代理单元、计算单元以及持久化存储单元之间的索引关系,确定故障计算节点对应的持久化存储单元。
实际应用中,计算节点、代理单元、计算单元以及持久化存储单元之间的索引关系可以预先存储于各个代理单元中,也可以预先存储于无服务器架构分布式容错***中的主代理单元中。无服务器架构控制模块可以与各个代理单元进行通信,以确定故障计算节点对应的持久化存储单元。
本公开实施例中,无服务器架构控制模块在确定故障计算节点对应的持久化存储单元之后,为了避免图数据的存入存出的***消耗,可以保持该持久化存储单元中存储的图数据不动,而是重新创建用于处理该持久化存储单元中的图数据的新的计算节点,即故障计算节点的副本计算节点,后续可以利用副本计算节点对该持久化存储单元中的图数据进行处理,以恢复执行目标任务。
另一种可选的实施方式中,可以利用主代理单元监测各计算节点中的代理单元的工作状态,当监测到故障代理单元时,为所述故障代理单元构建副本代理单元,然后控制副本代理单元为故障代理单元对应的持久化存储单元构建计算单元,并控制构建的计算单元基于持久化存储单元中存储的目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
本公开实施例通过为故障代理单元构建副本代理单元,能够实现代理单元层级的容错功能,降低对目标任务的执行进度的影响。
另一种可选的实施方式中,同一计算节点中的代理单元用于监测该计算节点中的计算单元的工作状态。当代理单元监测到计算单元发生故障时,为发生故障的所述计算单元创建副本计算单元,然后控制所述副本计算单元替代发生故障的所述计算单元,基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
S502:控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
实际应用中,各计算节点在执行目标任务的过程中产生的计算结果数据和状态快照数据等,可以按照预设周期同步至其他计算节点,以便各个计算节点之间协同完成目标任务。
一种可选的实施方式中,可以利用代理单元控制构建的新的计算单元,基于其对应的持久化存储单元中存储的目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,可以基于各代理单元之间的通信连接,由故障计算单元中的代理单元通知其他代理单元暂停执行所述目标任务。
当监测到恢复并继续执行所述目标任务时,还可以通知其他计算节点中的代理单元继续执行被分配的目标任务。
本公开实施例提供的无服务器架构分布式容错方法,能够分别从分布式计算节点层级、代理单元层级以及计算单元层级,支持容错功能,降低因计算节点、代理单元、计算单元等发生故障后,对任务执行进度的影响。
基于上述方法实施例,本公开还提供了一种无服务器架构分布式容错装置,参考图6,为本公开实施例提供的一种无服务器架构分布式容错装置的结构示意图,所述装置包括:
第一构建模块601,用于监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
第一恢复执行模块602,用于控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述第一构建模块601,包括:
第一构建子模块,用于为所述故障计算节点中的持久化存储单元构建代理单元;
控制子模块,用于控制所述代理单元为所述故障计算节点中的持久化存储单元构建计算单元;
相应的,所述恢复执行模块,具体用于:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述装置还包括:
第二构建模块,用于利用主代理单元监测各计算节点中的代理单元的工作状态,当监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
第二恢复执行模块,用于控制所述副本代理单元为所述故障代理单元对应的持久化存储单元构建计算单元,并控制构建的所述计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述装置还包括:
第三构建模块,用于当所述代理单元监测到所述计算单元发生故障时,为发生故障的所述计算单元构建副本计算单元;
第三恢复执行模块,用于控制所述副本计算单元替代发生故障的所述计算单元,基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述装置还包括:
通知模块,用于基于各代理单元之间的通信连接,利用所述代理单元通知其他代理单元暂停执行所述目标任务;以及当监测到恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
一种可选的实施方式中,所述第一恢复执行模块,具体用于:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
一种可选的实施方式中,所述持久化存储单元采用内存、持久化存储介质和硬盘的分层结构;
所述持久化存储单元具体用于按照内存、持久化存储介质和硬盘三级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
一种可选的实施方式中,所述持久化存储单元采用内存和持久化存储介质的分层结构;
所述持久化存储单元具体用于按照内存和持久化存储介质二级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
一种可选的实施方式中,所述持久化存储介质包括持久内存。
本公开实施例提供的无服务器架构分布式容错装置,能够分别从分布式计算节点层级、代理单元层级以及计算单元层级,支持容错功能,降低因计算节点、代理单元、计算单元等发生故障后,对任务执行进度的影响。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的无服务器架构分布式容错方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的无服务器架构分布式容错方法。
另外,本公开实施例还提供了一种无服务器架构分布式容错设备,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。无服务器架构分布式容错设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本公开的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行无服务器架构分布式容错设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与无服务器架构分布式容错设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现上述无服务器架构分布式容错设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (21)

1.一种无服务器架构分布式容错***,其特征在于,所述***包括:
无服务器架构控制模块和基于分布式架构的计算节点;所述无服务器架构控制模块与所述基于分布式架构的计算节点之间具有通信连接;所述基于分布式架构的计算节点用于接收并执行被分配的目标任务;
所述无服务器架构控制模块,用于监测所述基于分布式架构的计算节点的工作状态,在监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障计算节点承接的目标任务;所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
所述副本计算节点,用于基于所述持久化存储单元中存储的所述目标任务对应的图数据和状态快照数据,恢复并继续执行所述目标任务。
2.根据权利要求1所述的***,其特征在于,所述无服务器架构控制模块,具体用于为所述故障计算节点中的持久化存储单元构建代理单元;
所述代理单元,用于为所述故障计算节点中的持久化存储单元构建计算单元,所述副本计算节点中包括构建的所述计算单元和所述代理单元;控制构建的所述计算单元,基于所述故障计算节点中的持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
3.根据权利要求1所述的***,其特征在于,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述***还包括:
主代理单元,所述主代理单元与基于分布式架构的计算节点中的代理单元之间具有通信连接;
所述主代理单元,用于监测代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
所述副本代理单元,用于为所述故障代理单元对应的持久化存储单元构建计算单元,并控制所述计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
4.根据权利要求1所述的***,其特征在于,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
所述代理单元,用于在监测到故障计算单元时,为所述故障计算单元创建副本计算单元,控制所述副本计算单元替代所述故障计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
5.根据权利要求2所述的***,其特征在于,
所述代理单元,还用于基于各代理单元之间的通信连接,通知其他计算节点中的代理单元暂停执行被分配的目标任务,并在恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
6.根据权利要求2所述的***,其特征在于,
所述代理单元,具体用于为所述故障计算节点中的持久化存储单元构建计算单元,并控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
7.根据权利要求1所述的***,其特征在于,所述持久化存储单元采用内存、持久化存储介质和硬盘的分层结构;
所述持久化存储单元,具体用于按照内存、持久化存储介质和硬盘三级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
8.根据权利要求1所述的***,其特征在于,所述持久化存储单元采用内存和持久化存储介质的分层结构;
所述持久化存储单元,具体用于按照内存和持久化存储介质二级存储层的优先级降序,将所述目标任务对应的图数据和状态快照数据存储至对应的存储层。
9.根据权利要求7或8所述的***,其特征在于,所述持久化存储介质包括持久内存。
10.根据权利要求1所述的***,其特征在于,所述基于分布式架构的计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述***还包括主代理单元,所述主代理单元与基于分布式架构的计算节点中的代理单元之间具有通信连接;
所述主代理单元,用于监测代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
所述副本代理单元,用于为所述故障代理单元对应的持久化存储单元构建计算单元,并控制所述计算单元基于所述故障代理单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务;
所述代理单元,用于在监测到所述计算节点中的计算单元发生故障时,为故障计算单元创建副本计算单元,控制所述副本计算单元替代所述故障计算单元,基于所述计算节点中的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
11.一种无服务器架构分布式容错方法,其特征在于,所述方法包括:
监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
12.根据权利要求11所述的方法,其特征在于,所述基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,包括:
为所述故障计算节点中的持久化存储单元构建代理单元;
控制所述代理单元为所述故障计算节点中的持久化存储单元构建计算单元;
相应的,所述控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务,包括:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
13.根据权利要求11所述的方法,其特征在于,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述方法还包括:
利用主代理单元监测各计算节点中的代理单元的工作状态,当监测到故障代理单元时,为所述故障代理单元构建副本代理单元;
控制所述副本代理单元为所述故障代理单元对应的持久化存储单元构建计算单元,并控制构建的所述计算单元基于所述持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
14.根据权利要求11所述的方法,其特征在于,所述计算节点中包括代理单元、计算单元和持久化存储单元,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;所述方法还包括:
当计算节点中的代理单元监测到所述计算节点中的计算单元发生故障时,为故障计算单元创建副本计算单元;
控制所述副本计算单元替代所述故障计算单元,基于所述计算节点中的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
基于各代理单元之间的通信连接,利用所述代理单元通知其他代理单元暂停执行所述目标任务;
当监测到恢复并继续执行所述目标任务时,通知其他计算节点中的代理单元继续执行被分配的目标任务。
16.根据权利要求12所述的方法,其特征在于,所述利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务,包括:
利用所述代理单元控制构建的所述计算单元,基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据、图数据以及来自其他计算节点的状态快照数据,恢复并继续执行所述目标任务。
17.根据权利要求11所述的方法,其特征在于,所述方法还包括:
利用主代理单元监测各计算节点中的代理单元的工作状态,并在监测到故障代理单元时,为所述故障代理单元构建副本代理单元;控制所述副本代理单元为所述故障代理单元对应的持久化存储单元构建计算单元,并控制构建的所述计算单元基于所述故障代理单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务;
当计算节点中的代理单元监测到所述计算节点中的计算单元发生故障时,为故障计算单元创建副本计算单元;控制所述副本计算单元替代所述故障计算单元,基于所述故障计算单元对应的持久化存储单元中存储的所述目标任务的状态快照数据和图数据,恢复并继续执行所述目标任务。
18.一种无服务器架构分布式容错装置,其特征在于,所述装置包括:
第一构建模块,用于监测基于分布式架构的计算节点的工作状态,当监测到故障计算节点时,基于所述故障计算节点中的持久化存储单元,为所述故障计算节点构建副本计算节点,所述副本计算节点用于替代所述故障计算节点继续执行所述故障节点被分配的目标任务,所述持久化存储单元用于存储所述目标任务对应的图数据和状态快照数据,所述状态快照数据包括所述目标任务执行过程中产生的中间状态数据;
第一恢复执行模块,用于控制所述副本计算节点基于所述持久化存储单元中存储的所述目标任务对应的状态快照数据和图数据,恢复并继续执行所述目标任务。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现权利要求11-17任一项所述的方法。
20.一种分布式图数据处理设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求11-17任一项所述的方法。
21.一种计算机程序产品,其特征在于,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器实现权利要求11-17任一项所述的方法。
CN202211010834.1A 2022-08-23 2022-08-23 无服务器架构分布式容错***、方法、装置、设备及介质 Active CN115378800B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211010834.1A CN115378800B (zh) 2022-08-23 2022-08-23 无服务器架构分布式容错***、方法、装置、设备及介质
PCT/CN2023/111562 WO2024041363A1 (zh) 2022-08-23 2023-08-07 无服务器架构分布式容错***、方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211010834.1A CN115378800B (zh) 2022-08-23 2022-08-23 无服务器架构分布式容错***、方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115378800A true CN115378800A (zh) 2022-11-22
CN115378800B CN115378800B (zh) 2024-07-16

Family

ID=84068258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211010834.1A Active CN115378800B (zh) 2022-08-23 2022-08-23 无服务器架构分布式容错***、方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN115378800B (zh)
WO (1) WO2024041363A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041363A1 (zh) * 2022-08-23 2024-02-29 抖音视界有限公司 无服务器架构分布式容错***、方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736996A (zh) * 2020-06-17 2020-10-02 上海交通大学 一种面向分布式非易失内存***的进程持久化方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585599B2 (en) * 2015-07-01 2020-03-10 Oracle International Corporation System and method for distributed persistent store archival and retrieval in a distributed computing environment
US10152386B1 (en) * 2016-07-29 2018-12-11 Nutanix, Inc. Efficient disaster rollback across heterogeneous storage systems
US10909072B2 (en) * 2018-08-02 2021-02-02 Memverge, Inc. Key value store snapshot in a distributed memory object architecture
CN115378800B (zh) * 2022-08-23 2024-07-16 抖音视界有限公司 无服务器架构分布式容错***、方法、装置、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736996A (zh) * 2020-06-17 2020-10-02 上海交通大学 一种面向分布式非易失内存***的进程持久化方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041363A1 (zh) * 2022-08-23 2024-02-29 抖音视界有限公司 无服务器架构分布式容错***、方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2024041363A1 (zh) 2024-02-29
CN115378800B (zh) 2024-07-16

Similar Documents

Publication Publication Date Title
US11074143B2 (en) Data backup and disaster recovery between environments
US11797395B2 (en) Application migration between environments
US20200379858A1 (en) Proactive cluster compute node migration at next checkpoint of cluster upon predicted node failure
US9804927B2 (en) Virtual machine distributed checkpointing
WO2016077267A1 (en) Virtual machine cluster backup
EP2643771B1 (en) Real time database system
JP2011060055A (ja) 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
CN113032085A (zh) 云操作***的管理方法、装置、服务器、管理***及介质
JP2020021277A (ja) 情報処理システム、情報処理システムの管理方法及びプログラム
CN106874142B (zh) 一种实时数据容错处理方法及***
CN115562911B (zh) 虚拟机数据备份方法及装置、***、电子设备、存储介质
CN113742081A (zh) 一种基于容器技术的分布式任务迁移方法及分布式***
CN111460039A (zh) 关系型数据库处理***、客户端、服务器及方法
CN111880934A (zh) 一种资源管理方法、装置、设备及可读存储介质
CN105589756A (zh) 批处理集群***以及方法
WO2024041363A1 (zh) 无服务器架构分布式容错***、方法、装置、设备及介质
CN111290767B (zh) 具有业务快速恢复功能的容器组更新方法及***
CN114281508A (zh) 一种数据批流融合离线计算方法
Moghaddam et al. Self-healing redundancy for openstack applications through fault-tolerant multi-agent task scheduling
CN112243030A (zh) 分布式存储***的数据同步方法、装置、设备及介质
CN117201278A (zh) 一种实现信创环境云原生应用主备容灾高可用场景的方法
CN111400098B (zh) 一种副本管理方法、装置、电子设备及存储介质
Lin et al. ReHRS: A hybrid redundant system for improving MapReduce reliability and availability
CN114443369A (zh) 异构集群虚拟机备份恢复方法、***及云平台
CN115480893B (zh) 异构化节点间的应用迁移方法、***及集群

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