一种新型存储系统的图冗余策略技术方案

技术编号:29088050 阅读:16 留言:0更新日期:2021-06-30 09:53
本发明专利技术公开一种存储系统的RDF图冗余切割存储方法,在进行图切割划分时,把图切割顶点的关联顶点复制一份,放到两个flash页中冗余存储,以实现通过所述图切割顶点所在flash页能读取该关联顶点的数据。本发明专利技术的RDF图冗余切割存储方法的,通过对于与其它顶点关联度比较高的顶点在切割时把该顶点复制一份,放到两个页中,进行冗余存储,这样通过其它顶点读取该顶点时就不用到其它页中寻找它,也就是不再需要读取两个页的数据,从而提高读取效率。从而提高读取效率。从而提高读取效率。

【技术实现步骤摘要】
一种新型存储系统的图冗余策略


[0001]本专利技术涉及图存储
,特别是涉及一种新型存储系统的图冗余策略,特别是一种存储系统的RDF图冗余切割存储方法。

技术介绍

[0002]图存储技术研究图数据在SSD环境下的布局形式、划分方法、复制方法等一系列问题,它是图数据管理的前提与基石。图的存储方式直接决定了图数据的访问效率、图查询的效率。传统图存储系统是一种非关系型数据库,把数据节点和节点间的关系一起保存在数据库中。以顶点为中心的图存储系统在进行图划分时,是无组织的,只是粗粒度的将顶点分配到不同的分区中,没有深度分析不同顶点之间的关系以及读取顶点数据时的效率问题,也就不能有效的利用SSD的访问特性。
[0003]目前对图的划分方法已经在尽可能地充分利用SSD存储中整个页的存储资源,避免存储资源的浪费,但在对一个完整图划分时,不可避免地会将两个相关联的顶点切割后存放到不同的flash页中,SSD读取时的最小单位是页,所以如果需要读取存储在两个不同页中的相邻顶点时,为了得到两个顶点的内容需要读取它所在整个页,这样会成倍地增加读取时间。通过对大图的多次切割,这样的点就会越切割越多,如果程序中多次读取这些点的内容,读取效率就会越来越低。

技术实现思路

[0004]本专利技术的目的是针对现有技术中存在的技术缺陷,而提供一种存储系统的RDF图冗余切割存储方法。
[0005]为实现本专利技术的目的所采用的技术方案是:
[0006]一种存储系统的RDF图冗余切割存储方法,在进行图切割划分时,把确定的图切割顶点的关联顶点复制一份,放到两个flash页中冗余存储,以实现通过所述图切割顶点所在flash页能读取该关联顶点的数据。
[0007]其中,所述关联点的选取步骤如下:
[0008]设置一个冗余阈值r',当待切割顶点的出度和入度之和r<=r'时,将该待切割顶点作为关联点进行冗余存储,当r>r'时,该待切割顶点仅存储一次,不作为关联顶点。
[0009]本专利技术的RDF图冗余切割存储方法的,通过对于与其它顶点关联度比较高的顶点在切割时把该顶点复制一份,放到两个页中,进行冗余存储,这样通过其它顶点读取该顶点时就不用到其它页中寻找它,也就是不再需要读取两个页的数据,从而提高读取效率。
附图说明
[0010]图1为本专利技术的存储系统的RDF图冗余切割存储方法的流程图;
[0011]图2为RDF示例图;
[0012]图3a

3d为传统RDF图切割方法示意图;
[0013]图4a

4d为冗余RDF图切割方法示意图。
具体实施方式
[0014]以下结合附图和具体实施例对本专利技术作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0015]由于现有技术中对图的切割是根据需求把图切割成不同小图,图切割时没有考虑把小图存储到SSD后,再重新读取时会不会产生效率问题,实际上,如果切割的顶点与其它的顶点关联度比较高,就会出现程序会经常读取切割顶点相邻的顶点,这样就需要读取两个顶点所在的两个页中的数据,导致读取时间成倍地增加,减缓了读取效率。
[0016]值得注意的是,RDF数据集本身不是一个完整的图,是稀疏图,数据集的大部分内容是一个个小型图,如DBpedia摘取维基百科上的词条,要先将一部分边缘图提取出来,再去划分大图。接下来使用图2来介绍传统图划分策略,图2中省略顶点的属性值,仅保留与其他顶点的关系,如图2所示,该图包括A

K个顶点。
[0017]由图3a

3d可知,传统RDF图切割方法是直接根据需求对顶点进行切割,切割到图3c的时候,发现通过顶点F可非常容易找到顶点H、I和G(为了把有关联度的顶点放到一起),但如果把J和K也放在一起可能会超过页的存储空间,所以只能把剩余顶点J和K单独保存在图3d所示的页P4中,顶点F、顶点H、I和G保存在P3中,切割完成后把得到的所有小图保存在SSD每个页中(为了直观地表述,只画几个顶点),真实环境中每个小图会包含特别多的顶点,这样才能填满一个页。如图3a、图3b切割时,顶点C和E在不同的分区中,顶点C在页P2中,顶点E在页P1中,如果通过顶点C去查找顶点E,则需要读取不同页,SSD读取的最小单位是页,所以为了得到某一个顶点的内容需要读取它所在整个页,这样会成倍地增加读取时间。
[0018]因此,本专利技术提出的一种新型的图切割存储方法,其是将与其它顶点关联度比较高的顶点在切割时把该顶点复制一份,放到两个页中,进行冗余存储,这样通过其它顶点读取该顶点时就不用到其它页中寻找它,也就是读取两个页的数据,从而提高读取效率。当然,在复制冗余存储前首先要根据其它顶点与待冗余存储的顶点的相邻关系或关联关系来确定关联顶点。
[0019]由于图不像其它的块式存储数据(其它的块式存储数据彼此之间没有太多关联性,可做缓存),图的各个顶点之间的关联性比较强,不能把切割下来的小图缓存,所以每次图划分切割顶点时,将该顶点复制并划分到新的分区,这样就可在同一个flash页中读取到尽可能多的顶点。
[0020]但不能冗余存储所有要切割的顶点,这样会造成极大的内存以及存储空间开销。因此要考虑哪些点需要冗余,哪些点不需要这种操作。
[0021]所以本专利技术中,引入一个新的变量,假设待切割顶点的出度和入度之和为r,同时设置一个冗余阈值r',当r<=r'时,才会冗余存储该顶点。当r>r'时,该顶点仅存储一次。
[0022]通过上述设置变量,能把与其它顶点关联度比较高的顶点做冗余,提高读取效率,同时也不会造成太多存储空间的浪费。
[0023]其中r'的值需要在实验中进行确定,通过对r'选取不同值后测试数据的读取效率以及存储空间的占用情况,选择数据读取效率与空间占用情况均衡时的r',即为最优值。
[0024]对于比较简单图来说,如可通过几步计算就能得到,以图3a

3d为例,若是想把顶
点E,D,H和I做冗余的,如果选择r'=1,此时会发现没有顶点符合条件,当r'=2或r'=3时,顶点E,H和I符合条件,当r'=4时,E,D,H和I都符合条件,此时就是理想取值,根据这样思路再对图1进行切割,切割后的图如图4a

4d所示,页P2中包括页P1的关联顶点E,页P3中包括页P2的关联顶点D,页P4中包括页P3的关联顶点H。
[0025]以上分析,可以看出,本专利技术的RDF图冗余切割存储方法的,通过对于与其它顶点关联度比较高的顶点在切割时把该顶点复制一份,放到两个页中,进行冗余存储,这样通过其它顶点读取该顶点时就不用到其它页中寻找它,也就是不再需要读取两个页的数据,从而提高读取效率。
[0026]以上所述仅是本专利技术的优选实施方式,应当指出的是,对于本
的普通技术人员来说,在不脱离本专利技术原理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统的RDF图冗余切割存储方法,其特征在于,在进行图切割划分时,把确定的图切割顶点的关联顶点复制一份,放到两个flash页中冗余存储,以实现通过所述图切割顶点所在flash页能读取该关联顶点的数据。2.根据权利要求1所述存储系统的RDF图冗...

【专利技术属性】
技术研发人员:陈仁海李太俊冯志勇刘琤
申请(专利权)人:天津电子信息职业技术学院
类型:发明
国别省市:

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

1