[发明专利]一种跨平台统一的分布式图数据处理方法有效
申请号: | 202110491976.3 | 申请日: | 2021-05-06 |
公开(公告)号: | CN113177034B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 黄宜华;王肇康;黎俊虹 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/901 |
代理公司: | 苏州威世朋知识产权代理事务所(普通合伙) 32235 | 代理人: | 杨林洁 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 统一 分布式 数据处理 方法 | ||
1.一种跨平台统一的分布式图数据处理方法,包括以下步骤:
(1)在集群的主节点安装跨平台统一分布式图处理编程框架UniGPS,所述编程框架UniGPS向用户提供Python语言的应用程序编程接口;
(2)所述编程框架UniGPS向用户提供跨平台统一分布式图处理编程模型VCProg,所述编程模型将图计算过程表达为顶点属性记录的多轮迭代更新的过程;
(3)所述编程模型VCProg以Python语言的抽象基类PregelX的形式向用户提供编程接口,所述抽象基类PregelX包括如下函数:顶点属性记录初始化、生成空消息、顶点程序、发送消息以及消息合并,所述函数用于描述每一轮迭代中对每个顶点属性记录的更新方法;
(4)在集群的主节点上,用户根据其所希望执行的图数据处理算法逻辑,编程实现抽象基类PregelX的一个具体子类;
(5)用户通过调用所述编程框架UniGPS中的函数pregelX,将所述具体子类的实例对象提交给所述编程框架UniGPS;
(6)所述编程框架UniGPS将用户提供的实例对象序列化到程序文件中并上传至分布式文件系统;
(7)所述编程框架UniGPS启动分布式图处理系统作业的Driver进程;启动后的所述Driver进程通过集群资源调度管理器在集群中若干计算节点启动所述分布式图处理系统作业的计算进程;
(8)每个所述计算进程从分布式文件系统下载所述程序文件到本地文件系统;
(9)每个所述计算进程通过Python语言解释器启动一个PregelX Runner进程,并与所述PregelX Runner进程建立进程间通信通道,所述PregelX Runner进程从所述程序文件反序列化出一个所述PregelX抽象基类的实例对象O;
(10)各所述计算进程将外部数据源中的输入图数据转换为统一图数据交换格式GraphBuffer;GraphBuffer格式采用目录的形式存储一张图的数据,所述目录下的.meta元文件存储图的元信息数据,所述目录下的vertex顶点集目录存储顶点属性记录,所述目录下的edge边集目录存储边属性记录;所述计算进程将以GraphBuffer格式存储的图数据文件载入分布式图处理系统;
(11)所述计算进程在分布式图处理系统的指导下进行分布式图数据处理,所述分布式图数据处理的过程分为多轮迭代计算;
(12)在所述步骤(11)中,所述计算进程通过进程间通信通道,将需要调用的成员函数编号、成员函数参数传递给所述PregelX Runner进程,所述PregelX Runner进程根据成员函数编号调用所述实例对象O的相应成员函数,所述PregelX Runner进程将成员函数的返回值通过进程间通信通道返回给计算进程,所述计算进程再返回给分布式图处理系统;
(13)当所述分布式图处理系统的迭代次数达到用户给定的上限或者所有顶点均处于未激活状态时,图处理过程的迭代计算终止,所述计算进程将更新后的顶点属性记录和边属性记录以GraphBuffer格式文件的形式输出到分布式文件系统;
(14)所述编程框架UniGPS将所述GraphBuffer格式文件在分布式文件系统上的路径返回给用户。
2.根据权利要求1所述一种跨平台统一的分布式图数据处理方法,其特征在于:所述步骤(10)中顶点属性记录和边属性记录由多个字段构成,序列化格式将一条属性记录转换为一个字节类型的数组,所述数组从头到尾分别由记录长度、定长字段数据、变长字段偏移量以及变长字段数据四部分构成;所述记录长度部分为32位整型数,记录了整个数组的长度;所述定长字段数据部分按照属性记录的结构定义,依次存储每一个定长字段序列化后得到的字节子数组;所述变长字段偏移量部分存储了记录中每一个变长字段对应子数组在整个字节数组中起始位置的偏移量,每一个偏移量是32位整型数;所述变长字段数据部分存储了每一个变长字段序列化后得到的字节类型的子数组;属性记录中每一个字段采用该字段数据类型在x86内存中的表示方式进行序列化;对于基本类型字段采用小端字节序,对于字符串字段采用UTF-8格式进行编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110491976.3/1.html,转载请声明来源钻瓜专利网。