System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及数据库,尤其涉及一种针对图数据库的索引管理方法及相关设备。
技术介绍
1、图是一种由点和边构成的,包含多种属性的复杂数据结构,其中,点可以代表实体,点与点之间连接的边可以代表点之间的关系。
2、在图查询中,图数据索引是较为重要的技术。为图中每个点和边构建的索引通常存储在图数据库的存储引擎所管理的内存中,以便存储引擎可以快速获取索引,并基于索引读取出相应的图数据。
3、但是,随着图数据规模的不断扩大,索引量也随之增加,这给内存开销带来了极大负担。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种针对图数据库的索引管理方法及相关设备。
2、第一方面,本说明书提供了一种针对图数据库的索引管理方法,所述方法包括:
3、获取与目标图数据对应的待存储的目标索引;其中,所述目标索引包括主键,辅键,以及所述目标图数据的属性数据存储地址;所述主键为将所述目标图数据的图数据标识进行映射处理之后得到的数据;所述辅键包括与所述目标图数据对应的元数据;
4、将所述辅键和所述属性数据存储地址存入磁盘中,并将所述辅键和所述属性数据存储地址在所述磁盘中的磁盘地址存入内存中。
5、第二方面,本说明书提供了一种针对图数据库的索引管理装置,所述装置包括:
6、获取单元,用于获取与目标图数据对应的待存储的目标索引;其中,所述目标索引包括主键,辅键,以及所述目标图数据的属性数据存储地址;所述主键为将所
7、存储单元,用于将所述辅键和所述属性数据存储地址存入磁盘中,并将所述辅键和所述属性数据存储地址在所述磁盘中的磁盘地址存入内存中。
8、第三方面,本说明书提供了一种针对图数据库的图数据查询方法,所述图数据库中的图数据索引包括主键,辅键,以及图数据的属性数据存储地址;所述主键为将与图数据相关的图数据标识进行映射处理之后得到的数据;所述辅键中包含与图数据对应的元数据;所述方法包括:
9、接收针对所述图数据库的查询语句,解析得到所述查询语句中包含的与待查询图数据相关的查询条件;
10、获取内存中存储的若干个辅键和属性数据存储地址的磁盘地址,并根据该若干个磁盘地址,在磁盘中读取出若干个辅键和属性数据存储地址;
11、在所述若干个辅键中查找包含的元数据满足所述查询条件的辅键,并根据与该辅键对应的属性数据存储地址,获取所述待查询图数据的属性数据。
12、第四方面,本说明书提供了一种针对图数据库的图数据查询装置,所述图数据库中的图数据索引包括主键,辅键,以及图数据的属性数据存储地址;所述主键为将与图数据相关的图数据标识进行映射处理之后得到的数据;所述辅键中包含与图数据对应的元数据;所述装置包括:
13、接收单元,用于接收针对所述图数据库的查询语句,解析得到所述查询语句中包含的与待查询图数据相关的查询条件;
14、获取单元,用于获取内存中存储的若干个辅键和属性数据存储地址的磁盘地址,并根据该若干个磁盘地址,在磁盘中读取出若干个辅键和属性数据存储地址;
15、查询单元,用于在所述若干个辅键中查找包含的元数据满足所述查询条件的辅键,并根据与该辅键对应的属性数据存储地址,获取所述待查询图数据的属性数据。
16、相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述第一方面所述的针对图数据库的索引管理方法,或者第三方面所述的针对图数据库的图数据查询方法。
17、相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如上述第一方面所述的针对图数据库的索引管理方法,或者第三方面所述的针对图数据库的图数据查询方法。
18、综上所述,一方面,本申请首先定义了图数据索引包括主键,辅键,以及属性数据存储地址三个部分。其中,该主键是由用户输入的图数据标识(例如点id或者边的起始点id)经映射处理后得到的规范化数据,具有固定的格式,可以减少占用的内存空间,且便于管理。其中,该辅键中包含了点或边的元数据,以便在索引层提前过滤掉大量不符合条件的图数据,进而减少磁盘io。
19、另一方面,在内存空间不足的情况下,本申请可以将索引中的辅键和属性数据存储地址存入磁盘中,再将辅键和属性数据存储地址在磁盘中的磁盘地址存入内存中,从而实现内存+磁盘的索引组织方式,极大程度上减少了内存开销,降低了索引的存储和管理成本。
本文档来自技高网...【技术保护点】
1.一种针对图数据库的索引管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述内存中包含了预先定义的用于存储图数据索引的内存对象;与所述内存对象对应的存储空间被划分为多个子存储空间,每个子存储空间对应不同的存储空间标识;所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述内存对象为数组对象,与所述数组对象对应的存储空间中包含分别对应不同的数组下标的多个存储块;
4.根据权利要求1所述的方法,其特征在于,所述目标图数据包含的图对象为点,所述图数据标识为该点的id ;或者,所述目标图数据包含的图对象为边,所述图数据标识为该边的起始点的id。
5.根据权利要求1所述的方法,其特征在于,所述元数据包括以下示出的任意一种或多种数据的组合:所述目标图数据包含的图对象是否为点、所述目标图数据包含的图对象是否为入边、所述目标图数据的时间戳、所述目标图数据的标签、所述目标图数据的时间信息。
6.根据权利要求1所述的方法,其特征在于,所述辅键还包括以下示出的任意一种或多种数据的组合:所述目标图数据
7.根据权利要求1所述的方法,其特征在于,所述磁盘为本地磁盘,所述辅键和所述属性数据存储地址的磁盘地址为本地磁盘地址;
8.根据权利要求2所述的方法,其特征在于,所述主键为大于或者等于0的整数;所述基于所述主键计算与所述目标索引对应的目标存储空间标识,包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1-9任意一项所述的方法,其特征在于,所述磁盘包含基于LSM树的多个存储层,所述多个存储层的至少部分存储层中存储了若干个文件,每个文件中包含与若干个索引对应的辅键和属性数据存储地址。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
12.一种针对图数据库的图数据查询方法,其特征在于,所述图数据库中的图数据索引包括主键,辅键,以及图数据的属性数据存储地址;所述主键为将与图数据相关的图数据标识进行映射处理之后得到的数据;所述辅键中包含与图数据对应的元数据;所述方法包括:
13.一种针对图数据库的索引管理装置,其特征在于,所述装置包括:
14.一种针对图数据库的图数据查询装置,其特征在于,所述图数据库中的图数据索引包括主键,辅键,以及图数据的属性数据存储地址;所述主键为将与图数据相关的图数据标识进行映射处理之后得到的数据;所述辅键中包含与图数据对应的元数据;所述装置包括:
15.一种计算机设备,其特征在于,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至11或12中任意一项所述的方法。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11或12中任意一项所述的方法。
...【技术特征摘要】
1.一种针对图数据库的索引管理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述内存中包含了预先定义的用于存储图数据索引的内存对象;与所述内存对象对应的存储空间被划分为多个子存储空间,每个子存储空间对应不同的存储空间标识;所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述内存对象为数组对象,与所述数组对象对应的存储空间中包含分别对应不同的数组下标的多个存储块;
4.根据权利要求1所述的方法,其特征在于,所述目标图数据包含的图对象为点,所述图数据标识为该点的id ;或者,所述目标图数据包含的图对象为边,所述图数据标识为该边的起始点的id。
5.根据权利要求1所述的方法,其特征在于,所述元数据包括以下示出的任意一种或多种数据的组合:所述目标图数据包含的图对象是否为点、所述目标图数据包含的图对象是否为入边、所述目标图数据的时间戳、所述目标图数据的标签、所述目标图数据的时间信息。
6.根据权利要求1所述的方法,其特征在于,所述辅键还包括以下示出的任意一种或多种数据的组合:所述目标图数据的写入时间、所述目标图数据的终点的id、所述目标图数据的系统序列号。
7.根据权利要求1所述的方法,其特征在于,所述磁盘为本地磁盘,所述辅键和所述属性数据存储地址的磁盘地址为本地磁盘地址;
8.根据权利要求2所述的方法,其特征在于,所述主键为大于或者等于0的整数;所述基于所述主键计算与所述目标索引对应的目...
【专利技术属性】
技术研发人员:唐浩栋,吴涛,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。