System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 图数据处理方法和图计算引擎技术_技高网

图数据处理方法和图计算引擎技术

技术编号:41221930 阅读:8 留言:0更新日期:2024-05-09 23:41
本说明书实施例提供了图数据处理方法,以及对应的图计算引擎。该方法包括:获取图处理请求对应的逻辑执行计划构成的有向无环图DAG,其中的节点对应逻辑算子。然后,通过将需重复执行的若干逻辑算子进行聚合,将DAG划分为多个分组;其中,该多个分组至少包括第一分组和第二分组,所述第一分组对应于图迭代计算,所述第二分组对应于流式处理或批式处理。接着,将各个分组分别转换为由若干可执行的任务节点构成的任务单元,得到多个任务单元。于是可以调度执行所述多个任务单元,其中对任意的目标任务单元的调度执行,通过与该目标任务单元中的头任务节点和尾任务节点进行通知交互而实现。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及数据库中计算引擎的调度和执行,尤其涉及图数据处理方法和处理引擎。


技术介绍

1、随着大数据和人工智能的发展,在越来越多的场景中,开始采用图的形式来记录和处理数据。例如,在社交平台中,常常会构建用户社交关系图;在支付平台中,常常会构建支付关系图。不同于常规的结构化数据,图是一种由点边构成,点与点之间用边关联,点和边都包含多种属性的复杂数据结构。为此,针对图数据的特点,设计了专门的图数据库来存储各种图数据,并采用图计算引擎进行图数据的计算处理。由于图数据本身的复杂性,对图数据的查询、计算和处理,往往涉及图构建、子图采样、迭代计算等多种相对复杂的计算过程。因此,需要改进的图计算引擎,能够应对复杂的多种图计算模式和图计算过程。


技术实现思路

1、本说明书一个或多个实施例描述了一种图数据处理方法和图计算引擎,可以支持多种图处理模式的任务执行和调度。

2、根据第一方面,提供了一种图数据处理方法,通过图计算引擎执行,该方法包括:

3、获取目标图处理请求对应的逻辑执行计划构成的有向无环图dag,所述dag中的节点对应逻辑算子;

4、通过将需重复执行的若干逻辑算子进行聚合,将所述dag划分为多个分组;其中,所述多个分组至少包括第一分组和第二分组,所述第一分组对应于图迭代计算,所述第二分组对应于图迭代之前或之后的数据加工处理,所述数据加工处理采用流式处理或批式处理;

5、将各个分组分别转换为由若干可执行的任务节点构成的任务单元,得到多个任务单元;

6、调度执行所述多个任务单元,其中对任意的目标任务单元的调度执行,通过与该目标任务单元中的头任务节点和尾任务节点进行通知交互而实现。

7、根据一种实现方式,获取有向无环图dag具体包括:接收用户输入的请求进行目标图处理的图查询语句;通过解析所述图查询语句,将其转换为所述dag。

8、在各种实施方式中,图迭代计算可以包括以下中的一项或多项:图遍历游走,邻居节点采样,节点表征聚合。

9、在一种情况下,第二分组对应于流式处理,其中包括需重复执行的连续的多个逻辑算子,所述多个逻辑算子以流水线方式执行。

10、在另一种情况下,所述第二分组对应于批式处理,其中包括一次性执行的逻辑算子。

11、在一个实施例中,目标任务单元可以包括多个头任务节点;对所述目标任务单元的调度执行包括,向所述多个头任务节点同步发送执行任务的事件通知。

12、在一个实施例中,目标任务单元包括多个尾任务节点;对所述目标任务单元的调度执行包括,响应于从所述多个尾任务节点均接收到任务完成的事件通知,确定所述目标任务单元完成一轮执行。

13、在一个实施例中,当目标任务单元为图迭代分组对应的第一任务单元,对其的调度执行包括,多个轮次的通知交互。

14、进一步的,根据一个示例,所述多个轮次的通知交互中首轮通知交互包括,向第一任务单元中的头任务节点发送第一事件通知,所述第一事件通知指示所述头任务节点根据上游数据执行与图迭代相关的任务。

15、根据一个示例,所述多个轮次的通知交互中第t轮通知交互包括,响应于从所述第一任务单元的尾任务节点接收到t-1轮处理完成的第二事件通知,向头任务节点发送第三事件通知,所述第三事件通知指示所述头任务节点根据t-1轮处理得到的点/边数据,执行与图迭代相关的任务。

16、在另一实施例中,当目标任务单元为流式处理对应的第二任务单元,对其调度执行包括,若干轮次的通知交互,任意轮次通知交互包括,向所述第二任务单元的头任务节点发送第四事件通知,所述第四事件通知指示所述头任务节点启动从指定数据源的数据拉取。

17、根据一种实施方式,图计算引擎包括计划器和调度器,所述多个任务单元由所述计划器转换得到,并由所述调度器调度执行;在调度执行所述多个任务单元之前,所述方法还包括:所述计划器向所述调度器注册各任务单元的总体描述和其中头/尾任务节点的节点描述;所述总体描述包括该任务单元对应的处理模式,需循环执行的次数。

18、根据第二方面,提供了一种图数据处理装置,部署在图计算引擎中,包括:

19、获取模块,配置为获取目标图处理请求对应的逻辑执行计划构成的有向无环图dag,所述dag中的节点对应逻辑算子;

20、分组模块,配置为通过将需重复执行的若干逻辑算子进行聚合,将所述dag划分为多个分组;其中,所述多个分组至少包括第一分组和第二分组,所述第一分组对应于图迭代计算,所述第二分组对应于流式处理或批式处理;

21、转换模块,配置为将各个分组分别转换为由若干可执行的任务节点构成的任务单元,得到多个任务单元;

22、调度模块,配置为调度执行所述多个任务单元,其中对任意的目标任务单元的调度执行,通过与该目标任务单元中的头任务节点和尾任务节点进行通知交互而实现。

23、根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。

24、根据第四方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面所述的方法。

25、根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。

26、在本说明书的实施例中,将图处理请求对应的逻辑执行计划进行分组,按照分组转换为对应的任务单元。不同分组或不同任务单元可对应不同的处理模式,如此,图处理请求可转换为若干处理模式对应的任务单元的组合。在调度执行时,以任务单元为调度单位,调度器通过统一的方式对各个任务单元进行统一调度,从而实现了不同图处理模式的统一执行和调度。

本文档来自技高网...

【技术保护点】

1.一种图数据处理方法,通过图计算引擎执行,该方法包括:

2.根据权利要求1所述的方法,其中,获取目标图处理请求对应的逻辑执行计划构成的有向无环图DAG,包括:

3.根据权利要求1所述的方法,其中,所述图迭代计算包括以下中的一项或多项:图遍历游走,邻居节点采样,节点表征聚合。

4.根据权利要求1所述的方法,其中,所述第二分组对应于流式处理,其中包括需重复执行的连续的多个逻辑算子,所述多个逻辑算子以流水线方式执行。

5.根据权利要求1所述的方法,其中,所述第二分组对应于批式处理,其中包括一次性执行的逻辑算子。

6.根据权利要求1所述的方法,其中,所述目标任务单元包括多个头任务节点;对所述目标任务单元的调度执行包括,向所述多个头任务节点同步发送执行任务的事件通知。

7.根据权利要求1所述的方法,其中,所述目标任务单元包括多个尾任务节点;对所述目标任务单元的调度执行包括,响应于从所述多个尾任务节点均接收到任务完成的事件通知,确定所述目标任务单元完成一轮执行。

8.根据权利要求1所述的方法,其中,所述目标任务单元为所述第一分组对应的第一任务单元,对所述目标任务单元的调度执行包括,多个轮次的通知交互。

9.根据权利要求8所述的方法,其中,所述多个轮次的通知交互中首轮通知交互包括,向所述第一任务单元中的头任务节点发送第一事件通知,所述第一事件通知指示所述头任务节点根据上游数据执行与图迭代相关的任务。

10.根据权利要求8所述的方法,其中,所述多个轮次的通知交互中第t轮通知交互包括,响应于从所述第一任务单元的尾任务节点接收到t-1轮处理完成的第二事件通知,向头任务节点发送第三事件通知,所述第三事件通知指示所述头任务节点根据t-1轮处理得到的点/边数据,执行与图迭代相关的任务。

11.根据权利要求4所述的方法,其中,所述目标任务单元为所述第二分组对应的第二任务单元,对所述目标任务单元的调度执行包括,若干轮次的通知交互,任意轮次通知交互包括,向所述第二任务单元的头任务节点发送第四事件通知,所述第四事件通知指示所述头任务节点启动从指定数据源的数据拉取。

12.根据权利要求1所述的方法,其中,所述图计算引擎包括计划器和调度器,所述多个任务单元由所述计划器转换得到,并由所述调度器调度执行;

13.一种图数据处理装置,部署在图计算引擎中,包括:

14.一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现权利要求1-12任一项所述方法的步骤。

15.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。

...

【技术特征摘要】

1.一种图数据处理方法,通过图计算引擎执行,该方法包括:

2.根据权利要求1所述的方法,其中,获取目标图处理请求对应的逻辑执行计划构成的有向无环图dag,包括:

3.根据权利要求1所述的方法,其中,所述图迭代计算包括以下中的一项或多项:图遍历游走,邻居节点采样,节点表征聚合。

4.根据权利要求1所述的方法,其中,所述第二分组对应于流式处理,其中包括需重复执行的连续的多个逻辑算子,所述多个逻辑算子以流水线方式执行。

5.根据权利要求1所述的方法,其中,所述第二分组对应于批式处理,其中包括一次性执行的逻辑算子。

6.根据权利要求1所述的方法,其中,所述目标任务单元包括多个头任务节点;对所述目标任务单元的调度执行包括,向所述多个头任务节点同步发送执行任务的事件通知。

7.根据权利要求1所述的方法,其中,所述目标任务单元包括多个尾任务节点;对所述目标任务单元的调度执行包括,响应于从所述多个尾任务节点均接收到任务完成的事件通知,确定所述目标任务单元完成一轮执行。

8.根据权利要求1所述的方法,其中,所述目标任务单元为所述第一分组对应的第一任务单元,对所述目标任务单元的调度执行包括,多个轮次的通知交互。

9.根据权利要求8所述的方法,其中,所述多个轮次的通知交互中首轮通知交互包括,向所述第一任务单元...

【专利技术属性】
技术研发人员:谯从彬周强
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1