[发明专利]基于社区结构的图数据分布式存储方法及装置有效
申请号: | 201810718954.4 | 申请日: | 2018-07-03 |
公开(公告)号: | CN108920105B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 王朝坤;楼昀恺 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/28 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 社区 结构 数据 分布式 存储 方法 装置 | ||
本发明实施例公开一种基于社区结构的图数据分布式存储方法及装置,能使联系紧密的结点的相关信息尽可能地存储在同一台机器中,减少查询和计算过程中机器间的数据请求,提升查询和计算的效率。方法包括:S1、获取待存储的图数据中包含的结点和社区间的从属关系及结点间的边信息,并基于所述结点和社区间的从属关系及结点间的边信息计算各个社区间的关联度;S2、对于每个社区,根据该社区与其它社区的关联度,按关联度的大小对所述其它社区进行排序得到该社区的关联社区列表;S3、基于所述关联社区列表将所述图数据分配给至少一台机器,根据分配结果将所述图数据存储在对应的机器中。
技术领域
本发明实施例涉及计算机领域,具体涉及一种基于社区结构的图数据分布式存储方法及装置。
背景技术
随着图数据广泛应用于生产、医疗等多个领域,如何高效存储图数据成为了一个重要的问题。对于大型的图而言,分布式的存储方案既能解决单机存储空间不足的瓶颈,也能通过多台机器同时计算提升查询和计算的效率。
现有的分布式的图数据管理系统,如Trinity、imGraph等,通过将图数据进行划分后存储到不同的机器上,来实现对大量图数据的存储。同时,在进行查询计算时可以并行地使用多台机器进行处理,能提高图上相关计算的性能。
Trinity支持有向属性图的存储,它使用对结点和边的编号进行哈希的方式对数据进行划分,根据划分结果将图数据存储到不同的机器上。每个机器上包含若干trunk结构,结点和边存储到哪个trunk中也是通过哈希的方式决定的。每个trunk使用一张记录“编号-位置-大小”信息的表记录存储在此trunk中的数据的位置和大小。
imGraph是存储有向属性图的分布式的内存图数据库。它存储的基本结构是细胞,每个细胞包含有一个标识符,每个结点及每条边各自对应一个细胞。对数据进行划分时,首先计算细胞标识符的哈希值,随后根据哈希值决定将该细胞存储到哪台机器中。
Trinity和imGraph都使用哈希的方式将图数据进行划分,没有考虑图的结构、结点间的关系等因素,联系紧密的结点的相关信息可能被分配到不同机器进行存储,导致进行一些查询和计算时(如结点二跳邻居查询),发生大量的机器间请求数据的情况,影响查询和计算的性能。
发明内容
针对现有技术存在的不足和缺陷,本发明实施例提供一种基于社区结构的图数据分布式存储方法及装置。
一方面,本发明实施例提出一种基于社区结构的图数据分布式存储方法,包括:
S1、获取待存储的图数据中包含的结点和社区间的从属关系及结点间的边信息,并基于所述结点和社区间的从属关系及结点间的边信息计算各个社区间的关联度;
S2、对于每个社区,根据该社区与其它社区的关联度,按关联度的大小对所述其它社区进行排序得到该社区的关联社区列表;
S3、基于所述关联社区列表将所述图数据分配给至少一台机器,根据分配结果将所述图数据存储在对应的机器中。
另一方面,本发明实施例提出一种基于社区结构的图数据分布式存储装置,包括:
计算单元,用于获取待存储的图数据中包含的结点和社区间的从属关系及结点间的边信息,并基于所述结点和社区间的从属关系及结点间的边信息计算各个社区间的关联度;
排序单元,用于对于每个社区,根据该社区与其它社区的关联度,按关联度的大小对所述其它社区进行排序得到该社区的关联社区列表;
存储单元,用于基于所述关联社区列表将所述图数据分配给至少一台机器,根据分配结果将所述图数据存储在对应的机器中。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810718954.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无中心的视频监控云存取方法
- 下一篇:一种闪存存储阵列的实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置