CN116821250B - 一种分布式图数据处理方法和系统 - Google Patents
一种分布式图数据处理方法和系统 Download PDFInfo
- Publication number
- CN116821250B CN116821250B CN202311085768.9A CN202311085768A CN116821250B CN 116821250 B CN116821250 B CN 116821250B CN 202311085768 A CN202311085768 A CN 202311085768A CN 116821250 B CN116821250 B CN 116821250B
- Authority
- CN
- China
- Prior art keywords
- task
- processing
- graph data
- subsystems
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 320
- 230000000977 initiatory effect Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 33
- 239000012634 fragment Substances 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Retry When Errors Occur (AREA)
Abstract
本说明书实施例提供一种分布式图数据处理方法和系统,涉及计算机技术领域。其技术要点包括:发起目标任务分布式处理指令,以使得分布式图数据库中的两个以上任务处理子系统分别执行图数据处理任务的一部分;获取所述两个以上任务处理子系统的反馈信息;当至少一个任务处理子系统的反馈信息指示执行失败时,基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及一种分布式图数据处理方法和系统。
背景技术
分布式任务处理因能并行处理目标任务的不同部分,具有较高的计算效率,在大数据场景中,尤其是分布式图数据库中,被广泛应用。在分布式任务处理过程中,可能因为网络质量下降或计算设备某一时段的负载量较高等各类原因,导致目标任务不能被成功处理。当再次尝试对目标任务进行分布式处理时可能会出现重试失败的情况,使得分布式任务处理效率降低。
有鉴于此,本说明书一些实施例提出了一种分布式图数据处理方法,以提高重试成功率。
发明内容
本说明书一个或多个实施例提供一种分布式图数据处理方法,包括:发起目标任务分布式处理指令,以使得分布式图数据库中的两个以上任务处理子系统分别执行图数据处理任务的一部分;获取所述两个以上任务处理子系统的反馈信息;当至少一个任务处理子系统的反馈信息指示执行失败时,基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
本说明书一个或多个实施例提供一种分布式图数据处理系统,包括:指令发起模块,用于发起目标任务分布式处理指令,以使得分布式图数据库中的两个以上任务处理子系统分别执行图数据处理任务的一部分;反馈获取模块,用于获取所述两个以上任务处理子系统的反馈信息;重试模块,用于当至少一个任务处理子系统的反馈信息指示执行失败时,基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;结果获取模块,用于当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
本说明书一个或多个实施例提供一种存储介质,用于存储计算机指令,当所述计算机指令中的至少一部分被处理器或处理卡执行时,实现前述分布式图数据处理方法。
本说明书一个或多个实施例提供一种分布式任务处理装置,包括处理器以及存储介质,所述存储介质存储有计算机指令,所述处理器用于执行计算机指令中的至少部分,以实现前述分布式图数据处理方法。
本说明书一个或多个实施例提供一种分布式图数据库系统,包括应用层、引擎层以及存储层;所述应用层用于与用户交互以及向引擎层发出指令;所述引擎层用于基于应用层的指令调度存储层执行图数据处理任务,其进一步用于:发起目标任务分布式处理指令,以使得存储层的两个以上任务处理子系统分别执行所述目标任务的一部分;获取所述两个以上任务处理子系统的反馈信息,并传输给所述应用层;响应于应用层发出的目标任务重试指令:基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;所述目标任务重试指令是应用层在至少一个任务处理子系统的反馈信息指示执行失败时发出的;当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述目标任务的处理结果。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的计算集群示意图;
图2是根据本说明书一些实施例所示的分布式图数据处理方法的示例性流程图;
图3是根据本说明书一些实施例所示的分布式图数据库系统的数据交互示意图;
图4是根据本说明书一些实施例所示的分布式图数据处理系统的示意框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的计算集群示意图。图1所示的计算集群100包括中心设备110、网络120以及两个以上工作设备130。图1所示的计算集群可以为服务平台所有,接收用户的服务请求,并向用户返回处理结果。示例性的服务可以包括数据存储维护、数据加解密、模型预测、模型训练、在线交易及支付等等。在一些实施例中,中心设备110可以与用户端(图中未示出)交互,接收用户的服务请求或指令,以及向用户返回处理结果。工作设备130与中心设备110通过网络进行数据交互,工作设备130用于接收中心设备110的控制及调度,执行具体任务,并向中心设备返回执行结果。在一些实施例中,中心设备的数量也可以是两个以上,多个中心设备可以分担控制及调度工作。
在一些实施例中,多个工作设备之间可以并行工作,以分布式处理的方式提高任务处理效率。在一些实施例中,中心设备可以获取目标任务,并进行任务划分,得到两个以上子任务或任务分片,向两个以上工作设备发送指令,使其分别完成一个或多个任务分片。工作设备完成相应任务分片后,向中心设备返回执行结果,中心设备基于两个以上工作设备返回的执行结果确定目标任务的处理结果。
在一些实施例中,目标任务可以是图数据处理任务。图数据又称为知识图谱,包括节点和边。图数据可以包括反映消费信息的图,其节点可以对应商品、消费者、商户等对象,边表示节点间的关系,如归属关系、交易关系等。节点和边可以具有属性,例如,商户节点具有城市属性,交易关系具有时间属性和金额属性等。示例性的,图数据处理任务可以包括图数据查询、图数据压缩编码、图数据的增删改等。图数据的体量一般较大,在一些具体应用中,其节点可以达千亿级规模。为了提高任务处理效率,可以将图数据拆分成多个分片或子图,分布式存储在多台计算设备(或工作设备)上,进而使用分布式处理方式来执行图数据处理任务。
然而,在一些具体应用中,工作设备可能因为系统固有缺陷或偶然问题,如负载过大、程序缺陷、硬件性能、网络质量不佳等,导致任务分片不能成功执行,进而使得目标任务处理失败,此时,中心设备可能会重新指示工作设备执行目标任务。如果部分工作设备还在继续处理上一次目标任务的任务分片时,则出于系统的保护机制,导致任务重试失败。进一步的,中心设备可能会不停指示重试,或者直接向用户返回目标任务处理失败的信息,降低计算集群工作效率。尤其对于图数据而言,其涉及的数据规模较大,即使处理设备仅负责处理图数据中的部分分片,也可能会消耗较长的时间。如果需要等到上一次任务的全部处理设备对其负责的图数据分片都处理结束(失败或成功)才能确保任务重试成功,则会大大降低图数据处理的效率。
有鉴于此,本说明书一些实施例提供了一种分布式任务处理方法,以确保任务重试的成功率,提高分布式计算效率。
图2是根据本说明书一些实施例所示的分布式任务处理方法的示例性流程图。图2所示的流程可以由处理设备(如图1中的中心设备)执行。在一些实施例中,图2所示的流程可以由部署于处理设备上的分布式任务处理系统400实现。如图2所示,流程200包括:
步骤210,发起目标任务分布式处理指令,以使得两个以上任务处理子系统分别执行所述目标任务的一部分。在一些实施例中,步骤210可由指令发起模块410实现。
目标任务亦可称为待处理任务。示例性的目标任务可以是数据查询任务、模型预测任务、图数据处理任务等。在一些实施例中,处理设备可以获取来自用户端或其他处理设备的服务请求或指令,服务请求或指令用于指示待处理任务,其中可以进一步包含与任务处理相关的输入参数,作为示例,输入参数可以包括数据查询条件、数据表名称等,又例如,输入参数可以包括待预测对象的特征数据。处理设备可以基于服务请求或指令确定目标任务。
在一些实施例中,处理设备可以将目标任务划分为多个任务分片。其中,任务分片的数量可以基于任务处理子系统的数量确定。在一些实施例中,两个以上任务处理子系统可以属于分布式图数据库,具体的,可以是分布式图数据库的两个以上处理设备。关于分布式图数据库的内容还可以在图3的相关说明中找到,在此不再赘述。在一些实施例中,任务处理子系统也可以是其他处理设备,如工作设备130。作为示例, 图1中有三台工作设备上分布式存储有数据集的一部分,处理设备可以将目标任务划分为3个任务分片。又例如,图1中有两台工作设备上部署有人脸识别模型,处理设备可以将服务请求中的待预测对象的特征数据划分为两组,不妨假设有100个待预测对象,处理设备可以将其划分为两组,每组包括50个待预测对象的特征数据。
处理设备可以发起目标任务分布式处理指令,使得两个以上处理设备分别执行所述目标任务的一部分。具体的,处理设备可以分别向相关的工作设备发起处理指令,指示其负责执行的目标任务的部分。例如,处理设备可以向三台工作设备发出分别包含有查询条件的数据查询指令,又例如,处理设备可以向两台工作设备发出人脸识别指令,每条指令中包含有不同待预测对象的特征数据。
步骤220,获取所述两个以上任务处理子系统的反馈信息。在一些实施例中,步骤220可由反馈获取模块420实现。
任务处理子系统接收到任务指令后,对任务分片进行处理,并向处理设备返回反馈信息。在一些实施例中,反馈信息可以指示任务分片的处理进度、任务分片是否成功被执行和/或执行结果。示例性的,反馈信息可以指示任务分片已执行50%,或者指示任务分片执行失败,又或者反馈信息可以包含被查询到的数据,或者人脸识别的结果等。在一些实施例中,任务处理子系统可以仅主动发送一次反馈信息,其指示执行失败或包含执行结果。期间,处理设备可以向任务处理子系统发送进度查询请求,任务处理子系统响应于进度查询请求如实返回反馈信息。在又一些实施例中,任务处理子系统可以在任务执行过程的不同节点分别发送一次反馈信息,例如,任务处理子系统可以在任务执行到50%时,发送一次反馈信息以指示执行进度,在任务执行结束时发送一次反馈信息以指示执行失败或返回执行结果。
处理设备可以基于任务处理子系统的反馈信息进行不同的后续流程。当参与当前目标任务的任务处理子系统的反馈信息均指示任务分片还在执行过程中时,处理设备可以等待。
步骤230,当至少一个任务处理子系统的反馈信息指示执行失败时,基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令。在一些实施例中,步骤230可由重试模块430实现。
当至少一个任务处理子系统的反馈信息指示执行失败时,这意味着目标任务不可能成功被执行了,此时处理设备可以尝试重试。具体的,处理设备可以直接向全部相关任务处理子系统重新发起目标任务分布式处理指令,也可以仅向部分任务处理子系统发起重试指令。
一般来说,分布式任务处理需要保证事务的一致性,当设备上还有上一次的任务没有执行结束时,再次接收到重试指令时,设备是不会重复执行该任务的,如设备可能直接返回执行(重试)失败的反馈信息。也就是说,当处理设备尝试重试目标任务时,可能会因为当前还有部分任务处理子系统因为没有退出上次的目标任务,而导致目标任务重试识别。
鉴于以上特点,在一些实施例中,处理设备可以先确定目标任务的类型,再基于其类型选择重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令。
在一些实施例中,目标任务的类型可以包括及时幂等类型和非及时幂等类型。幂等任务是指一项任务不论执行多少次,其结果与一次执行的结果相同。如,模型预测任务,对于特定的特征数据和预测模型,将所述特征数据输入该预测模型100次,得到的预测结果都是相同的。及时是指任务的完成周期较短,如秒级、毫秒级或更快,此时出结果的等待时间很短,可以视作是任务同步或及时处理的。非及时是指任务的完成周期较长,如出结果的等待时间为若干小时甚至几天,可以视作任务是异步的或者非及时的。一般来说可以设定时间阈值,当等待出结果的时间小于阈值时,认为该任务是及时的,否则是非及时的。示例性的,所述阈值可以设置为5分钟、1分钟、30秒等。由此可知,及时幂等类型的任务同时具备及时和幂等的特点,非及时幂等类型的任务同时具备非及时和幂等的特点。
在一些实施例中,当目标任务的类型是及时幂等类型时,这意味着短期内各相关的任务处理子系统的任务分片已经执行结束,此时处理设备可以重新发起目标任务分布式处理指令,使得相关任务处理子系统重新执行一次任务分片。当目标任务的类型是非及时幂等时,意味着尽管有一部分任务处理子系统已结束执行,并确定执行失败,但当前还极有可能存在一些任务处理子系统尚在任务分片的执行过程中。此时,可以仅向反馈信息指示执行失败的任务处理子系统发起重试指令,要求其重新执行其任务分片。这样,可以使得前一次目标任务处理过程中的未结束执行的任务处理子系统继续执行其任务分片,结束执行且失败的任务处理子系统重新执行其任务分片,由于任务是幂等的,可以确保执行结果的一致性。进而在避免重试失败的情况下,由于无需等到全部任务处理子系统结束执行后再次发起目标任务分布式处理指令,提高了重试效率。
步骤240,当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述目标任务的处理结果。在一些实施例中,步骤240可由结果获取模块440实现。
在一些实施例中,目标任务执行一次时,参与目标任务的全部任务处理子系统的反馈信息指示执行成功,处理设备可以基于各任务处理子系统的执行结果确定目标任务的处理结果。例如,处理任务可以将三台工作设备返回的查询结果合并,得到数据查询任务的处理结果。又例如,处理设备可以将两台工作设备返回的人脸识别结果组合,得到用户需要的100个对象的人脸识别结果。
在一些实施例中,目标任务经过重试后,参与目标任务的全部任务处理子系统的反馈信息最终都指示执行成功,此时处理设备可以基于任务处理子系统最后返回的反馈信息确定处理结果。
处理设备在获得目标任务的处理结果后,可以向请求方返回该结果,如向用户端返回,或者向其他处理设备返回。
在一些实施例中,流程200也可以由某一处理设备中的管理进程实现,而两个以上任务处理子系统可以是该处理设备中的两个以上处理进程。例如,两个以上任务处理子系统可以是分布式图数据库中某一处理设备上的两个以上任务处理进程。进程是计算设备中程序的基本执行实体,直观的,可以认为进程是运行中的程序。与中心设备类似,管理进程用于接收服务请求(来自其他设备或者本地设备上的其他进程),控制或调度多个处理进程并行完成目标任务。处理进程则负责具体的任务执行。在一些实施例中,两个以上处理进程可以位于所述处理设备中不同的处理器上,如处理设备具有多个协处理器GPU,每个GPU上可以运行一个处理进程,管理进程可以运行于处理设备的主处理器CPU上,多个处理进程与管理进程协同工作,实现分布式任务处理过程。
图3是根据本说明书一些实施例所示的分布式图数据库系统的数据交互示意图。从图3中可以看出,分布式图数据库系统可以包括应用层、引擎层以及存储层。这里的层可以看成是具有特定功能的软硬件系统。具体的,应用层负责与用户交互以及向引擎层发出指令,引擎层用于基于应用层的指令调度存储层执行图数据处理任务。分布式图数据库系统用于存储图数据,以及对外提供图数据服务。示例性的,图数据服务可以包括图数据查询、图数据压缩编码、图数据的增删改等。在一些实施例中,图数据可以被拆分成多个分片或子图,分布式存储在多台计算设备上。存储图数据的计算设备对应于上述的存储层,也就是说,存储层可以由两台以上的计算设备或处理设备实现。在一些实施例中,应用层可以对外提供应用接口,用户通过用户端可以调用应用接口,请求图数据服务。应用层可以基于用户的服务请求生成指令并传输给引擎层。引擎层基于所述指令确定图数据处理任务,调度存储层的设备执行。可以理解的是,应用层和引擎层可以对应于图1中的中心设备110,在具体应用中,应用层和引擎层也可以由不同的处理设备或不同分组的处理设备实现。存储层可以对应于图1中的工作设备130。
在一些实施例中,图2所示的流程200可以在分布式图数据库系统中实现,具体的,流程200可以具体由引擎层中的处理设备执行,流程200中的任务处理子系统可以对应存储层中的处理设备,当引擎层执行流程200时,可以有图3所示的数据交互过程。
如图3所示,应用层可以与用户交互,接收用户发起的图数据服务请求。基于此,应用层可以确定目标任务,并向引擎层发出目标任务处理指令。示例性的,目标任务可以是统计图数据中年龄大于35岁的消费者节点的数量。引擎层接收到目标任务处理指令后,可以确定消费图数据存储于存储层的哪些处理设备上,进而将这些处理设备作为任务处理子系统并向其发出目标任务分布式处理指令。之后,存储层向引擎层返回反馈信息,引擎层将所述反馈信息传输给应用层。当至少一个任务处理子系统发出的反馈信息指示执行失败时,应用层向引擎层发出目标任务重试指令。引擎层基于目标任务重试指令后,对目标任务进行重试,具体的,引擎层基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令。例如,存储层中参与目标任务的为3台处理设备,其中第二台处理设备反馈信息为执行失败,此时引擎层可以向第二台处理设备发起重试指令。关于引擎层进行目标任务重试的具体内容可以参见步骤230的相关描述,在此不再赘述。在一些实施例中,引擎层可以查看存储层的反馈信息,当反馈信息指示所有相关的任务处理子系统执行任务分片成功时,引擎层可以基于各任务处理子系统的执行结果确定处理结果,如引擎层可以将各任务处理子系统查询到的年龄大于35岁的消费者节点的数量进行叠加,得到目标任务的处理结果。之后,引擎层可以将处理结果发送给应用层,应用层可以向用户返回处理结果。关于引擎层确定处理结果的具体内容可以还参见步骤240的相关描述。
图4是根据本说明书一些实施例所示的分布式任务处理系统的示意框图。如图4所示分布式任务处理系统400,包括:
指令发起模块410,用于发起目标任务分布式处理指令,以使得两个以上任务处理子系统分别执行所述目标任务的一部分。
反馈获取模块420,用于获取所述两个以上任务处理子系统的反馈信息。
重试模块430,用于当至少一个任务处理子系统的反馈信息指示执行失败时,基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令。
结果获取模块440,用于当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述目标任务的处理结果。
关于各模块的更多内容可以参见图2的相关说明,在此不再赘述。应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。或者对某些模块进行拆分,得到更多的模块或者该模块下的多个单元。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)基于图数据处理任务的类型采用不同的重试机制。对于非及时幂等任务,处理设备进一步确定任务处理子系统中哪些还在继续处理前一次残留的任务分片,仅向反馈信息指示执行失败的任务处理子系统发起重试指令,要求其重新执行其任务分片,而前一次残留的任务分片可以继续被处理,当处理成功后,其结果可以直接使用,无需重复处理该残留的任务分片,节省了计算资源。(2)无需等到全部任务处理子系统结束执行后再次发起目标任务分布式处理指令,提高了重试效率。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (10)
1.一种分布式图数据处理方法,包括:
发起目标任务分布式处理指令,以使得分布式图数据库中的两个以上任务处理子系统分别执行图数据处理任务的一部分;
获取所述两个以上任务处理子系统的反馈信息;
当至少一个任务处理子系统的反馈信息指示执行失败时,基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;所述图数据处理任务的类型为及时幂等类型或非及时幂等类型,所述基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令包括:
若所述图数据处理任务的类型为及时幂等类型,重新发起目标任务分布式处理指令,以使全部所述任务处理子系统分别重新执行其所执行的任务分片;若所述图数据处理任务的类型为非及时幂等类型,向所述两个以上任务处理子系统中的部分发起重试指令,以使所述两个以上任务处理子系统中的所述部分分别重新执行其所执行的所述任务分片,其中,所述任务分片为所述图数据处理任务的一部分,所述两个以上任务处理子系统中的部分为反馈信息指示执行失败的任务处理子系统;
当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
2.如权利要求1所述的方法,所述两个以上任务处理子系统包括同一处理设备上的两个以上任务处理进程或者包括两个以上处理设备。
3.如权利要求1所述的方法,所述分布式图数据库包括应用层、引擎层以及存储层;所述应用层用于与用户交互以及向引擎层发出指令;所述引擎层用于基于应用层的指令调度存储层执行图数据处理任务。
4.如权利要求3所述的方法,该方法由所述引擎层的处理设备实现;所述两个以上任务处理子系统为所述存储层的两个以上处理设备。
5.如权利要求4所述的方法,还包括:将获取的所述两个以上任务处理子系统的反馈信息传输给所述应用层;
所述当至少一个任务处理子系统的反馈信息指示执行失败时,基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令,是基于应用层发出的目标任务重试指令进行的;所述目标任务重试指令是应用层在至少一个任务处理子系统的反馈信息指示执行失败时发出的。
6.一种分布式图数据处理系统,包括:
指令发起模块,用于发起目标任务分布式处理指令,以使得分布式图数据库中的两个以上任务处理子系统分别执行图数据处理任务的一部分;
反馈获取模块,用于获取所述两个以上任务处理子系统的反馈信息;
重试模块,用于当至少一个任务处理子系统的反馈信息指示执行失败时,基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;所述图数据处理任务的类型为及时幂等类型或非及时幂等类型,所述基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令包括:
若所述图数据处理任务的类型为及时幂等类型,重新发起目标任务分布式处理指令,以使全部所述任务处理子系统分别重新执行其所执行的任务分片;若所述图数据处理任务的类型为非及时幂等类型,向所述两个以上任务处理子系统中的部分发起重试指令,以使所述两个以上任务处理子系统中的所述部分分别重新执行其所执行的所述任务分片,其中,所述任务分片为所述图数据处理任务的一部分,所述两个以上任务处理子系统中的部分为反馈信息指示执行失败的任务处理子系统;
结果获取模块,用于当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
7.如权利要求6所述的系统,所述两个以上任务处理子系统包括同一处理设备上的两个以上任务处理进程或者包括两个以上处理设备。
8.一种分布式任务处理装置,包括处理器和存储介质,存储介质用于存储计算机指令,所述处理器用于处理计算机指令中的至少部分,以实现如权利要求1~5任一项所述的方法。
9.一种存储介质,存储有计算机指令,当计算机指令中的至少部分被处理器执行时,实现如权利要求1~5任一项所述的方法。
10.一种分布式图数据库系统,包括应用层、引擎层以及存储层;
所述应用层用于与用户交互以及向引擎层发出指令;
所述引擎层用于基于应用层的指令调度存储层执行图数据处理任务,其进一步用于:
发起目标任务分布式处理指令,以使得存储层的两个以上任务处理子系统分别执行所述图数据处理任务的一部分;
获取所述两个以上任务处理子系统的反馈信息,并传输给所述应用层;
响应于应用层发出的目标任务重试指令:基于目标任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令;所述目标任务重试指令是应用层在至少一个任务处理子系统的反馈信息指示执行失败时发出的,所述图数据处理任务的类型为及时幂等类型或非及时幂等类型,所述基于图数据处理任务的类型重新发起目标任务分布式处理指令,或者向所述两个以上任务处理子系统中的部分发起重试指令包括:
若所述图数据处理任务的类型为及时幂等类型,重新发起目标任务分布式处理指令,以使全部所述任务处理子系统分别重新执行其所执行的任务分片;若所述图数据处理任务的类型为非及时幂等类型,向所述两个以上任务处理子系统中的部分发起重试指令,以使所述两个以上任务处理子系统中的所述部分分别重新执行其所执行的所述任务分片,其中,所述任务分片为所述图数据处理任务的一部分,所述两个以上任务处理子系统中的部分为反馈信息指示执行失败的任务处理子系统;
当所述两个以上任务处理子系统的反馈信息均指示执行成功时,基于各任务处理子系统的执行结果确定所述图数据处理任务的处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085768.9A CN116821250B (zh) | 2023-08-25 | 2023-08-25 | 一种分布式图数据处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085768.9A CN116821250B (zh) | 2023-08-25 | 2023-08-25 | 一种分布式图数据处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116821250A CN116821250A (zh) | 2023-09-29 |
CN116821250B true CN116821250B (zh) | 2023-12-08 |
Family
ID=88120577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311085768.9A Active CN116821250B (zh) | 2023-08-25 | 2023-08-25 | 一种分布式图数据处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821250B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354729A (zh) * | 2015-07-16 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种图数据处理方法、装置和系统 |
CN111198769A (zh) * | 2018-11-16 | 2020-05-26 | 北京京东金融科技控股有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN111367628A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 分布式事务的处理方法、装置及消息生产方、消费方系统 |
CN113590574A (zh) * | 2021-09-29 | 2021-11-02 | 北京海致星图科技有限公司 | 一种分布式图数据库数据处理方法、介质和电子设备 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
CN114385320A (zh) * | 2020-10-22 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 一种分布式事务处理方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143759A1 (en) * | 2005-12-15 | 2007-06-21 | Aysel Ozgur | Scheduling and partitioning tasks via architecture-aware feedback information |
-
2023
- 2023-08-25 CN CN202311085768.9A patent/CN116821250B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354729A (zh) * | 2015-07-16 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种图数据处理方法、装置和系统 |
CN111198769A (zh) * | 2018-11-16 | 2020-05-26 | 北京京东金融科技控股有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN111367628A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 分布式事务的处理方法、装置及消息生产方、消费方系统 |
CN114385320A (zh) * | 2020-10-22 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 一种分布式事务处理方法和系统 |
CN113590574A (zh) * | 2021-09-29 | 2021-11-02 | 北京海致星图科技有限公司 | 一种分布式图数据库数据处理方法、介质和电子设备 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
Distributed and Privacy Preserving Graph Data Collection in Internet of Thing Systems;Xu Zheng 等;《IEEE Internet of Things Journal》;9301 - 9309 * |
嵌入式网络分布式负载任务并行计算系统设计;熊聪聪;冯阔;;现代电子技术(15);151-155 * |
Also Published As
Publication number | Publication date |
---|---|
CN116821250A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016029B (zh) | 一种业务数据的处理方法、装置及系统 | |
CN113656179B (zh) | 云计算资源的调度方法及装置、电子设备和存储介质 | |
US8606833B2 (en) | Method and system of committing operations of a synchronized transaction | |
CN113094434A (zh) | 数据库同步方法、系统、装置、电子设备及介质 | |
CN109634989B (zh) | 一种hive任务执行引擎选择方法和系统 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
CN111404755B (zh) | 一种网络配置方法、装置及存储介质 | |
CN112115105A (zh) | 一种业务处理方法、装置及设备 | |
CN115964153A (zh) | 一种异步任务处理方法、装置、设备以及存储介质 | |
US20220171791A1 (en) | Replicating large statements with low latency | |
CN116049109A (zh) | 一种基于过滤器的文件校验方法、系统、设备和介质 | |
CN106874080B (zh) | 基于分布式服务器集群的数据计算方法及系统 | |
CN116821250B (zh) | 一种分布式图数据处理方法和系统 | |
CN113407343A (zh) | 一种基于资源分配的业务处理方法、装置及设备 | |
CN113986642A (zh) | 任务监控系统、方法、装置、电子设备和存储介质 | |
CN110061933B (zh) | 一种数据处理方法及装置、设备、存储介质 | |
US20230093004A1 (en) | System and method for asynchronous backend processing of expensive command line interface commands | |
CN115510036A (zh) | 数据迁移方法、装置、设备以及存储介质 | |
CN109558222A (zh) | 批量业务进程监控方法、装置、计算机及可读存储介质 | |
US11243979B1 (en) | Asynchronous propagation of database events | |
CN114969206A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN108984426B (zh) | 用于处理数据的方法和装置 | |
US20200356564A1 (en) | Candidate data record prioritization for match processing | |
CN109710690B (zh) | 一种业务驱动计算方法及系统 | |
CN110430263B (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 | ||
GR01 | Patent grant |