当前位置: 首页 > 专利查询>清华大学专利>正文

一种图数据处理与增量存储方法、装置及计算机设备制造方法及图纸

技术编号:37306719 阅读:10 留言:0更新日期:2023-04-21 22:51
本发明专利技术提供一种图数据处理与增量存储方法、装置及计算机设备,包括:对目标图数据进行预处理;分别计算各节点的哈希值;根据目标图数据中各类节点的数量,确定各类型的节点的前缀空间的数量,以及各前缀空间的前缀值;根据各节点的哈希值以及节点类型,将各节点分配到节点类型对应的前缀空间;根据各节点的哈希值以及所属前缀空间的空间容量,分别计算各节点引用编号的后缀值;分别将各节点所属前缀空间的前缀值与引用编号的后缀值进行串联,得到各节点的引用编号;对各节点按照引用编号进行排序,按照排序结果得到目标图数据的线性存储数据结构;对线性存储数据结构进行增量存储。执行本发明专利技术能准确剔除与已有数据等效的节点,节省存储空间。省存储空间。省存储空间。

【技术实现步骤摘要】
一种图数据处理与增量存储方法、装置及计算机设备


[0001]本专利技术涉及图数据处理领域,具体涉及一种图数据处理与增量存储方法、装置及计算机设备。

技术介绍

[0002]图数据是由节点与边构成的数据,在图数据中,数据节点本身只具有不完整的信息,而更多的信息来自节点与周边节点的引用关系,以及由引用关系构成的路径。节点之间的引用关系是通过引用编号建立的,引用编号是节点具有的一个数值或字符串标记,在图数据中唯一。
[0003]目前,对于图数据的存储,还不能使用版本控制系统等工具进行,常见的计算机存储设备(硬盘、磁带、光盘)都是线性的存储空间,图数据在上述设备中的存储需要转换为线性存储数据结构,通常包括文本文件、二进制文件、数据库等。
[0004]现有的将图数据转化为线性存储数据结构的方法并不能支持增量存储。因为图数据在线性存储数据结构中存在等价变换(如引用变换或写入顺序变换)的干扰,现有的版本控制系统难以正确地识别图数据中的增量,并进行增量存储。
[0005]因此,如何解决将图数据转化为线性存储数据结构并增量存储的问题,成为了本领域技术人员亟待解决的技术问题和始终研究的重点。

技术实现思路

[0006]为解决现有技术中的不足,本专利技术提供一种图数据处理与增量存储方法、装置及计算机设备。
[0007]本专利技术第一方面提供一种图数据处理与增量存储方法,该方法包括:
[0008]对目标图数据进行预处理,将无向图与有向有环图转化为有向无环图;分别计算目标图数据中各节点的哈希值;根据目标图数据中各类节点的数量,确定各类型的节点的前缀空间的数量,以及各前缀空间的前缀值;根据各节点的哈希值以及节点类型,将各节点分配到节点类型对应的前缀空间;根据各节点的哈希值以及所属前缀空间的空间容量,分别计算各节点引用编号的后缀值;分别将各节点所属前缀空间的前缀值与引用编号的后缀值进行串联,得到各节点的引用编号;对各节点按照引用编号进行排序,按照排序结果得到目标图数据的线性存储数据结构;对线性存储数据结构进行增量存储。
[0009]有益效果为:对于图数据中的节点,各节点均具有其对应的原始引用编号,如果两个节点都是叶节点,那么当节点除了原始引用编号以外的内容完全相同时,两个节点等效;如果两个节点都不是叶节点,那么当节点引用的其它节点完全相同或等效,且除了原始引用编号以外的内容完全相同时,两个节点等效。若根据各节点的原始引用编号构建线性存储数据结构,并进行增量存储,会存在大量等效节点被重复存储。但是在本专利技术提供的图数据处理与增量存储方法中,并不是采用各节点的原始引用编号构建目标图数据的线性存储数据结构,而是为各节点计算了新的引用编号,根据节点的类型确定引用编号的前缀值,根
据各节点的哈希值以及所属前缀空间的空间容量确定引用编号的后缀值,对于内容相同的节点,其类型是相同的,因此引用编号的前缀值相同,且内容相同的节点类型相同,所属前缀空间也相同,计算得到的哈希值也相同,因此根据所属前缀空间和哈希值计算得到的引用编号的后缀值也相同,从而可得,对于两个相同的节点,执行本专利技术提供的方法计算得到的引用编号相同,在构建线性存储数据结构时,将引用编号相同的节点剔除,得到的目标图数据的线性存储数据结构中不存在等效节点,在对线性存储数据结构进行增量存储时,也能准确剔除与已有数据中等效的节点,得到增量数据更简洁,节省了存储空间。
[0010]结合第一方面,在第一方面第一实施方式中,通过如下步骤计算各节点的哈希值:根据目标图数据中各节点之间的引用关系,计算各节点的层次,其中,目标图数据中的叶节点组成底层,对于非叶节点,节点的层次值比其引用的所有节点的最大层次值多一;结合各节点所引用的下层节点的哈希值,计算各节点的哈希值,哈希值是根据长哈希算法计算得到的。
[0011]有益效果为:对节点进行分层,在每一层内部,所有节点之间不存在引用关系,每层的长哈希计算可以并行处理,还能忽略减少计算时间,提高效率。
[0012]结合第一方面第一实施方式,在第一方面第二实施方式中,结合各节点所引用的下层节点的哈希值,计算各节点的哈希值的步骤,包括:将节点类型与节点内容序列化为字符串A;获取节点的各直接引用关系的边类型和目标节点的长哈希,将不同的直接引用关系的边类型和目标节点的长哈希进行配对,排序并序列化为字符串B;串联字符串A和字符串B,得到字符串A+B,如果字符串A+B长度小于阈值L,则以A+B作为此节点的长哈希;如果字符串A+B长度大于阈值L,则调用长哈希算法计算A+B的长哈希作为此节点的长哈希。
[0013]有益效果为:使用上述方法计算长哈希值,减小长哈希算法的调用次数,提高计算速度。
[0014]结合第一方面第一实施方式或第一方面第二实施方式,在第一方面第三实施方式中,若存在哈希值相同的节点,仅保留其中一个节点。
[0015]有益效果为:哈希值相同的节点,其节点内容相同,且其下层引用的长哈希值也相同,则节点等效,相同哈希值的节点仅保留一份,以此去除重复的等效节点,这样可以让存储结果更加简洁有效。
[0016]结合第一方面,在第一方面第四实施方式中,根据各节点的哈希值以及节点类型,将各节点分配到节点类型对应的前缀空间的步骤,包括:根据短哈希值对各类前缀空间数量的模值、各节点的短哈希值,以及各节点的节点类型,将各节点分配到对应的前缀空间。
[0017]有益效果为:将各节点分配到对应的前缀空间,保证各前缀空间的节点数量均衡,多个前缀空间之间的计算互不影响,提高效率。
[0018]结合第一方面,在第一方面第五实施方式中,根据各节点的哈希值以及所属前缀空间的空间容量,分别计算各节点引用编号的后缀值的步骤,包括:计算各节点哈希值的短哈希值;计算短哈希值对各节点所属前缀空间的空间容量的模值;根据各节点的短哈希值以及短哈希值对各节点所属前缀空间的空间容量的模值,确定各节点引用编号的后缀值。
[0019]有益效果为:计算各节点引用编号的后缀值,将前缀值和后缀值串联,得到新的引用编号,消除等效节点,从而得到线性存储数据结构的图数据以及增量数据,并将其存储起来。
[0020]结合第一方面第三实施方式,在第一方面第六实施方式中,对线性存储数据结构进行存储的步骤包括:若版本控制系统中存在与线性存储数据结构相对应的旧版本线性存储数据结构,将线性存储数据结构和旧版本线性存储数据结构进行比较,得到线性存储数据结构中相对于旧版本数据的增量数据,存储增量数据。
[0021]有益效果为:在本专利技术中,去除了重复的等效节点,再比较新旧两个版本的线性存储数据结构,得到增量数据更简洁,比较的过程效率也更高,得到增量数据后可以实现对增量数据进行存储。
[0022]本专利技术第二方面提供了一种图数据处理与增量存储装置,包括:预处理模块,用于对目标图数据进行预处理,将无向图与有向有环图转化为有向无环图;哈希计算模块,用于分别计算目标图数据各节点的哈希值;前缀空间处理模块,用于根据目标图数据中各类节点的数量,确定各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据处理与增量存储方法,其特征在于,包括以下步骤:对目标图数据进行预处理,将无向图与有向有环图转化为有向无环图;分别计算所述目标图数据各节点的哈希值;根据所述目标图数据中各类节点的数量,确定各类型的节点的前缀空间的数量,以及各前缀空间的前缀值;根据各节点的哈希值以及节点类型,将各节点分配到所述节点类型对应的前缀空间;根据各节点的哈希值以及所属前缀空间的空间容量,分别计算各节点引用编号的后缀值;分别将各节点所属前缀空间的前缀值与引用编号的后缀值进行串联,得到各节点的引用编号;对各节点按照所述引用编号进行排序,按照排序结果得到所述目标图数据的线性存储数据结构;对所述线性存储数据结构进行增量存储。2.根据权利要求1所述的图数据处理与增量存储方法,其特征在于,通过如下步骤计算各节点的哈希值:根据所述目标图数据中各节点之间的引用关系,计算各节点的层次,其中,目标图数据中的叶节点组成底层,对于非叶节点,节点的层次值比其引用的所有节点的最大层次值多一;结合各节点所引用的下层节点的哈希值,计算各节点的哈希值,所述哈希值是根据长哈希算法计算得到的。3.根据权利要求2所述的图数据处理与增量存储方法,其特征在于,结合各节点所引用的下层节点的哈希值,计算各节点的哈希值的步骤,包括:将节点类型与节点内容序列化为字符串A;获取节点的各直接引用关系的边类型和目标节点的长哈希,将不同的直接引用关系的所述边类型和目标节点的长哈希进行配对,排序并序列化为字符串B;串联字符串A和字符串B,得到字符串A+B,如果所述字符串A+B的长度小于阈值L,则以A+B作为此节点的长哈希;如果字符串A+B长度大于阈值L,则调用长哈希算法计算A+B的长哈希作为此节点的长哈希。4.根据权利要求2或3所述的图数据处理与增量存储方法,其特征在于,若存在哈希值相同的节点,仅保留其中一个节点。5.根据权利要求1所述的图数据处理与增量存储方法,其特征在于,根据各节点的哈希值以及节点类型,将各节点分配到所述节点类型对应的前缀空间的步骤,包括:计算各节点哈希值的短哈希值;根据短哈希值对各类前缀空间数量的模值、各节点的短哈希值,以及各节点的节点类型,将各节点分配到对应的前缀空间。6.根据权利要求1...

【专利技术属性】
技术研发人员:刘寒高歌顾明
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1