System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种图数据存储方法、图计算数据转换方法和对应的装置制造方法及图纸_技高网

一种图数据存储方法、图计算数据转换方法和对应的装置制造方法及图纸

技术编号:44963944 阅读:3 留言:0更新日期:2025-04-12 01:35
本发明专利技术涉及图数据技术领域,提供了一种图数据存储方法、图计算数据转换方法和对应的装置。存储方法包括:使用第一文件存储顶点数据,包括:所述第一文件包括多个一级区块,每个一级区块对应顶点数据表中的一块水平划分区域;将顶点数据表中相应水平划分区域内的顶点数据以列存储的形式存储到第一文件的相应一级区块中;其中,所述列存储的方式具体为:将各顶点数据中属于相同字段的字段数据存储在一块连续的字段存储空间中。本发明专利技术通过使用第一文件存储顶点数据,从而将顶点数据存储到内存中,实现图数据库与图计算引擎的分离,并且,通过使用水平和竖直混合的存储模式,从而降低图计算引擎读取顶点数据的难度。

【技术实现步骤摘要】

本专利技术涉及图数据,特别是涉及一种图数据存储方法、图计算数据转换方法和对应的装置


技术介绍

1、现有技术中,在进行计算引擎进行图计算时,往往是由图计算引擎直接从图数据库中读取图数据进行计算的,这种实现方式不符合常规系统设计的模块分离原则,从而导致系统的耦合度过高,一旦图计算引擎或图数据库发生变化,则需要重新对耦合接口进行重新设计,这显然不利于后期的维护,且由于图计算所需数据结构的特殊性,图数据库中的图数据无法直接用于图计算。因此,如何实现算分离(存储-计算)的技术架构,即把图数据存储和图数据计算的运行逻辑分开是本领域技术人员需要解决的问题。

2、鉴于此,克服该现有技术所存在的缺陷是本
亟待解决的问题。


技术实现思路

1、本专利技术要解决的技术问题是现有技术中,图计算引擎与图数据库直接耦合,不利于后期维护。

2、本专利技术采用如下技术方案:

3、第一方面,本专利技术提供了一种图数据存储方法,使用第一文件存储顶点数据,包括:

4、所述第一文件包括多个一级区块,每个一级区块对应顶点数据表中的一块水平划分区域;

5、将顶点数据表中相应水平划分区域内的顶点数据以列存储的形式存储到第一文件的相应一级区块中;其中,所述列存储的方式具体为:将各顶点数据中属于相同字段的字段数据存储在一块连续的字段存储空间中;

6、在第一文件中还存储各一级区块的索引信息,以便于根据所述索引信息,从第一文件中读取相应的顶点数据。

<p>7、优选的,所述将各顶点数据中属于相同字段的字段数据存储在一块连续的字段存储空间中,具体包括:

8、将每一个字段存储空间划分为多个二级区块;

9、在每个二级区块中存储预设数量的字段数据;

10、并在第一文件中写入各二级区块在相应字段存储空间中的偏移量、各二级区块中字段数据的起始索引值和各二级区块中字段数据的结束索引值。

11、优选的,各顶点数据的字段包括顶点数据表中原有的字段和新增的字段;所述顶点数据表中原有的字段包括索引值、物理id、业务id和顶点类型中的一种或多种;所述新增的字段包括邻接入点的数量和邻接出点的数量中的一种或多种;

12、所述在每个二级区块中存储预设数量的字段数据,具体包括:

13、将物理id、业务id、邻接入点的数量和邻接出点的数量所对应的字段数据按照顺序写入到对应的二级区块中;

14、将索引值和顶点类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中。

15、优选的,所述将索引值和顶点类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中,具体包括:

16、将二级区块中的所有索引值压缩为一条索引压缩数据,所述索引压缩数据包括起始索引值、索引增量和增加次数;

17、将二级区块中位置相邻且值相同的顶点类型字段数据压缩为一条顶点类型压缩数据;其中,所述顶点类型压缩数据包括顶点类型字段数据的值以及值相同的顶点类型字段数据的数量,所述顶点类型字段数据为顶点类型所对应的字段数据。

18、优选的,方法还包括使用第二文件存储边数据;所述边数据的字段包括出点、入点、权重和边类型中的一种或多种,具体的:

19、将出点所对应的字段数据、入点所对应的字段数据和边类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中;

20、将权重所对应的字段数据按照顺序写入到对应的二级区块中。

21、优选的,所述将出点所对应的字段数据、入点所对应的字段数据和边类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中,具体包括:

22、将二级区块中位置相邻且值相同的出点字段数据压缩为一条出点压缩数据;其中,所述出点压缩数据包括出点字段数据的值和以及值相同的出点字段数据的数量;

23、将二级区块中位置相邻且值相同的入点字段数据压缩为一条入点压缩数据;其中,所述入点压缩数据包括入点字段数据的值和以及值相同的入点字段数据的数量;

24、将二级区块中位置相邻且值相同的边类型字段数据压缩为一条边类型压缩数据;其中,所述边类型压缩数据包括边类型字段数据的值和以及值相同的边类型字段数据的数量;

25、所述出点字段数据为出点所对应的字段数据,所述入点字段数据为入点所对应的字段数据,所述边类型字段数据为边类型所对应的字段数据。

26、第二方面,本专利技术提供了一种图计算数据转换方法,包括:

27、从图数据库中获取图数据;

28、使用第一方面所述的图数据存储方法,将所述图数据中的顶点数据存储到第一文件中;

29、在进行图计算时,从内存中读取所述第一文件,根据所述第一文件中的索引信息,从相应一级区块中读取顶点数据,根据所述顶点数据,生成图计算所需的数据结构。

30、优选的,所述根据所述顶点数据,生成图计算所需的数据结构,具体包括:

31、将读取得到的邻接入点的数量和/或邻接出点的数量依次累加后,装填到数组中,得到对应的offset数组;

32、根据读取得到的顶点数据的索引值,依次获取对应的边数据,将边数据装填到nbr数组、edgelables数组和weights数组中,生成得到图计算所需的数据结构。

33、第三方面,本专利技术还提供了一种图数据存储装置,用于实现第一方面所述的图数据存储方法,所述装置包括:

34、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的图数据存储方法。

35、第四方面,本专利技术还提供了一种图计算数据转换装置,用于实现第一方面所述的图计算数据转换方法,所述装置包括:

36、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第二方面所述的图计算数据转换方法。

37、第五方面,本专利技术还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的方法和/或第二方面所述的方法。

38、第六方面,提供了一种芯片,包括:处理器和接口,用于从存储器中调用并运行存储器中存储的计算机程序,执行如第一方面至第二方面及其任一项的方法。

39、第七方面,提供了一种包含指令的计算机程序产品,当该指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面至第二方面及其任一项的方法。

40、本专利技术通过使用第一文件存储顶点数据,从而将顶点数据存储到内存中,实现图数据库与图计算引擎的分离,并且,通过划分一级区块和字段存储空间,形成水平和竖直混合的存储模式,以便于图计算引擎在确定顶点数据所在的一级区块后,获取顶本文档来自技高网...

【技术保护点】

1.一种图数据存储方法,其特征在于,使用第一文件存储顶点数据,包括:

2.根据权利要求1所述的图数据存储方法,其特征在于,所述将各顶点数据中属于相同字段的字段数据存储在一块连续的字段存储空间中,具体包括:

3.根据权利要求2所述的图数据存储方法,其特征在于,各顶点数据的字段包括顶点数据表中原有的字段和新增的字段;所述顶点数据表中原有的字段包括索引值、物理ID、业务ID和顶点类型中的一种或多种;所述新增的字段包括邻接入点的数量和邻接出点的数量中的一种或多种;

4.根据权利要求3所述的图数据存储方法,其特征在于,所述将索引值和顶点类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中,具体包括:

5.根据权利要求1所述的图数据存储方法,其特征在于,方法还包括使用第二文件存储边数据;所述边数据的字段包括出点、入点、权重和边类型中的一种或多种,具体的:

6.根据权利要求5所述的图数据存储方法,其特征在于,所述将出点所对应的字段数据、入点所对应的字段数据和边类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中,具体包括:

7.一种图数据存储装置,其特征在于,包括:

8.一种图计算数据转换方法,其特征在于,包括:

9.根据权利要求8所述的图计算数据转换方法,其特征在于,所述根据所述顶点数据,生成图计算所需的数据结构,具体包括:

10.一种图计算数据转换装置,其特征在于,包括:

...

【技术特征摘要】

1.一种图数据存储方法,其特征在于,使用第一文件存储顶点数据,包括:

2.根据权利要求1所述的图数据存储方法,其特征在于,所述将各顶点数据中属于相同字段的字段数据存储在一块连续的字段存储空间中,具体包括:

3.根据权利要求2所述的图数据存储方法,其特征在于,各顶点数据的字段包括顶点数据表中原有的字段和新增的字段;所述顶点数据表中原有的字段包括索引值、物理id、业务id和顶点类型中的一种或多种;所述新增的字段包括邻接入点的数量和邻接出点的数量中的一种或多种;

4.根据权利要求3所述的图数据存储方法,其特征在于,所述将索引值和顶点类型所对应的字段数据以数据压缩的形式写入到对应的二级区块中,具体包括:

【专利技术属性】
技术研发人员:周帆谭江李冬方杰张睿丁先胜王振宇
申请(专利权)人:四川蜀天梦图数据科技有限公司
类型:发明
国别省市:

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

1