一种图数据的存储加载结构和方法技术

技术编号:38816243 阅读:12 留言:0更新日期:2023-09-15 19:55
本发明专利技术提供了一种图数据的存储加载结构和方法,其中,图数据的存储加载结构包括:点文件和边文件;其中,每一点文件包括多个点片段,每一点片段包括点ID、边存储位置信息和点属性信息;每一边文件包括多个边片段,每一边片段包括起始点位置信息、边信息和下一段边片段位置信息;其中,每条边信息包括终止点ID、终止点位置信息和边属性信息;存储加载结构中、仅点片段的点ID和边存储位置信息加载至内存。本发明专利技术的技术方案能解决现有技术中大规模数据难以完全加载进内存,数组存储结构对变长数据需要预留空间,造成存储空间浪费;链表存储结构中磁盘对随机读操作不友好的问题。中磁盘对随机读操作不友好的问题。中磁盘对随机读操作不友好的问题。

【技术实现步骤摘要】
一种图数据的存储加载结构和方法


[0001]本专利技术涉及图数据
,尤其涉及一种图数据的存储加载结构和方法。

技术介绍

[0002]图数据是一组点和边的集合,其中,“点”表示实体,“边”表示实体间的关系。图数据中,数据间的关系和数据本身同样重要,它们被作为数据的一部分进行存储。图数据能够直观地可视化关系,是存储、查询和分析高度互联数据的最优办法。随着技术的发展,人们对这些数据的分析和使用不再局限于从统计角度分析相关性,而是希望从关联角度揭示数据的因果联系,因此能够揭示数据因果联系的图数据日益成为人们存储和分析数据的首选。
[0003]图数据的存储加载结构通常包括数组存储和链表存储方式。其中,数组存储是最直接的图数据存储方式,能够将图数据中每一个点连接的所有边按照一定顺序一起存储。如图1所示,数组存储结构中点文件由一系列的点组成,每个点文件包括点的ID、META信息以及这个点的属性。每个边文件中按照起始点的顺序存储点上对应的边。每条边的存储包括终止点ID、META信息以及边的属性。META信息包括点边类型、边方向以及实现事务的额外字段等。此存储结构能够直接从起始点遍历所有的边数据,因此它的读取性能非常高。然而,该存储方式也需要处理一个很棘手的问题,就是变长数组。为了解决变长数组问题,可以改用链表方式存储图数据。在链表存储结构中,如图2所示,点文件和边文件存储的全部都是ID,每个ID都是固定长度的,通过ID能够计算偏移量位置,通过偏移量位置直接读取数据。因为它能够通过位置计算ID,而偏移量和ID是一一对应的,所以每个点不用保存自身ID。
[0004]数组存储结构和链表存储结构存在以下问题:首先,两种结构在面临大规模数据时难以完全加载进内存,需考虑内存+磁盘相结合的存储方案;另外,磁盘读写速度远不及内存,会降低查询效率,在进行磁盘访问时,需合理考虑磁盘数据的快速定位问题,而数组存储结构对变长数据需要预留空间,这就造成了存储空间的浪费,而链表存储结构中,磁盘对随机读操作很不友好。

技术实现思路

[0005]本专利技术提供一种图数据的存储加载结构和方法的技术方案,旨在解决现有技术中大规模数据难以完全加载进内存,数组存储结构对变长数据需要预留空间,造成存储空间浪费;链表存储结构中磁盘对随机读操作不友好的问题。
[0006]为解决上述问题,根据本专利技术的第一方面,本专利技术提出了一种图数据的存储加载结构,包括:点文件和边文件;其中,
[0007]每一点文件包括多个点片段,每一点片段包括点ID、边存储位置信息和点属性信息;
[0008]每一边文件包括多个边片段,每一边片段包括起始点位置信息、边信息和下一段
边片段位置信息;其中,每条边信息包括终止点ID、终止点位置信息和边属性信息;
[0009]存储加载结构中、仅点片段的点ID和边存储位置信息加载至内存。
[0010]优选的,图数据的存储加载结构,边存储位置信息包括边片段在磁盘中的物理首地址,边片段在磁盘中的存储空间固定。
[0011]优选的,图数据的存储加载结构,边文件为多段定长存储的分段链表形式,边文件中、每一边片段的起始点位置信息、每条边信息的存储长度、每条边信息的存储数量和下一段边片段位置信息均为固定长度。
[0012]优选的,图数据的存储加载结构,每一边片段的起始点位置信息包括:所述边片段在点文件中对应起始点的物理存放地址。
[0013]优选的,图数据的存储加载结构,下一段边片段位置信息包括外链的下一边片段的起始点位置信息;
[0014]下一段边片段位置信息还包括边信息分配到新空间的新空间首地址,该边信息的数量大于或等于预留空间。
[0015]优选的,图数据的存储加载结构,每一边片段存储的边信息数量为可调参数;可调参数中,边信息数量与边信息的预留空间大小成线性关系。
[0016]优选的,图数据的存储加载结构,存储加载结构的每一点片段中、点ID和边存储位置信息加载在内存中,存储加载结构的其余部分存储在磁盘中。
[0017]根据本专利技术的第二方面,本专利技术还提供了一种图数据的存储加载方法,用于上述任一项技术方案提供的图数据的存储加载结构;存储加载方法包括:
[0018]当图数据的存储加载结构被加载时,将点文件中点片段的点ID和边存储位置信息加载至内存;
[0019]内存根据边存储位置信息查找对应的边信息在磁盘中的物理首地址;
[0020]内存根据边信息在磁盘中的物理首地址,定位和读取边信息。
[0021]优选的,图数据的存储加载方法,内存根据边信息在磁盘中的物理首地址,定位和读取边信息的步骤,包括:
[0022]根据边信息在磁盘中的物理首地址,定位边信息在磁盘中的存储空间位置;
[0023]根据边信息在磁盘中的存储空间位置以及边片段的固定存储空间,读取边信息。
[0024]优选的,图数据的存储加载方法,根据边信息在磁盘中的存储空间位置以及边片段的固定存储空间,读取边信息的步骤,包括:
[0025]从边片段的起始点位置信息处查找边信息在磁盘中的存储空间位置;
[0026]当从边片段中未查找到边信息时,根据边片段的下一段边片段位置信息中查找边信息在磁盘中的存储空间位置;
[0027]当定位到边片段在磁盘中的存储空间位置时,读取边信息。
[0028]综上,本专利技术提供的图数据的存储加载方案,通过设置点文件和边文件,每个点文件包括多个点片段,同样每个边文件包括多个边片段,点片段包括点ID、边存储位置信息和点属性信息,该边存储位置信息即对应边信息的空间存储位置,这样在加载存储加载结构时仅需要将点片段的点ID和边存储位置信息加载至内存中即可,该存储加载结构的其他部分均设置在磁盘中,而内存根据边存储位置信息就能查找到边文件中边片段上对应边信息的空间存储位置,进而定位和读取该边信息。通过上述方案能够解决大规模数据存储的内
存占用问题,达到实现磁盘数据的快速定位,提高大规模数据存储的读取效率的目的。综上,本专利技术提供的技术方案能够解决现有技术中大规模数据难以完全加载进内存,数据存储结构对变长数据需要预留空间,造成存储空间浪费,而链表存储结构中磁盘对随机读操作不友好的问题。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0030]图1是现有技术提供的一种数组存储结构的结构示意图;
[0031]图2是现有技术提供的一种链表存储结构的结构示意图;
[0032]图3是本专利技术实施例提供的一种图数据的存储加载结构的结构示意图;
[0033]图4是本专利技术实施例提供的一种图数据的存储加载方法的流程示意图;
[0034]图5是图4所示实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据的存储加载结构,其特征在于,包括:点文件和边文件;其中,每一点文件包括多个点片段,每一点片段包括点ID、边存储位置信息和点属性信息;每一边文件包括多个边片段,每一边片段包括起始点位置信息、边信息和下一段边片段位置信息;其中,每条边信息包括终止点ID、终止点位置信息和边属性信息;所述存储加载结构中、仅所述点片段的点ID和边存储位置信息加载至内存。2.根据权利要求1所述的图数据的存储加载结构,其特征在于,所述边存储位置信息包括所述边片段在磁盘中的物理首地址,所述边片段在所述磁盘中的存储空间固定。3.根据权利要求1所述的图数据的存储加载结构,其特征在于,所述边文件为多段定长存储的分段链表形式,所述边文件中、每一边片段的起始点位置信息、每条边信息的存储长度、每条边信息的存储数量和下一段边片段位置信息均为固定长度。4.根据权利要求1所述的图数据的存储加载结构,其特征在于,每一所述边片段的起始点位置信息包括:所述点文件中对应起始点的物理存放地址。5.根据权利要求1所述的图数据的存储加载结构,其特征在于,所述下一段边片段位置信息包括外链的下一边片段的起始点位置信息;所述下一段边片段位置信息还包括边信息分配到新空间的新空间首地址;所述边信息的数量大于或等于预留空间。6.根据权利要求1所述的图数据的存储加载结构,其特征在于,所述每一边片段存储的边信息数量为可调参数;所述可调参数中,所述边信息数量与边信息的预留空间大小成线性关系。7...

【专利技术属性】
技术研发人员:杨万征蔡超
申请(专利权)人:中译语通科技股份有限公司
类型:发明
国别省市:

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

1