[发明专利]基于社区结构的图数据分布式存储方法及装置有效
申请号: | 201810718954.4 | 申请日: | 2018-07-03 |
公开(公告)号: | CN108920105B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 王朝坤;楼昀恺 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/28 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 社区 结构 数据 分布式 存储 方法 装置 | ||
1.一种基于社区结构的图数据分布式存储方法,其特征在于,包括:
S1、获取待存储的图数据中包含的结点和社区间的从属关系及结点间的边信息,并基于所述结点和社区间的从属关系及结点间的边信息计算各个社区间的关联度;
S2、对于每个社区,根据该社区与其它社区的关联度,按关联度的大小对所述其它社区进行排序得到该社区的关联社区列表;
S3、基于所述关联社区列表将所述图数据分配给至少一台机器,根据分配结果将所述图数据存储在对应的机器中;
所述按关联度的大小对所述其它社区进行排序得到该社区的关联社区列表,包括:
按关联度从大到小的顺序对所述其它社区进行排序得到该社区的关联社区列表;
其中,所述基于所述关联社区列表将所述图数据分配给至少一台机器,包括:
S30、按照包含的边数从多到少的顺序对所有社区进行排序,按此顺序排列各社区的社区编号得到社区编号列表;
S31、判断所述至少一台机器中是否存在未被分配图数据的机器,若所述至少一台机器中存在未被分配图数据的机器,则从所述未被分配图数据的机器中选择一台机器作为当前处理的机器,执行步骤S32,否则,结束分配;
S32、将所述社区编号列表中第一个社区编号对应的社区中的所有结点的相关信息存储到当前处理的机器中,并将所述第一个社区编号从所述社区编号列表中删除;
S33、判断所述当前处理的机器中存储的边的数量是否大于或等于预设的数值,若所述当前处理的机器中存储的边的数量小于所述预设的数值,则判断所述社区编号列表是否为空,若所述社区编号列表不为空,则执行步骤S34,或者若所述当前处理的机器中存储的边的数量大于或等于所述预设的数值,则执行步骤S31,或者若所述社区编号列表为空,则结束分配;
S34、寻找目标社区,将所述目标社区的所有结点的相关信息存储到所述当前处理的机器中,并将所述目标社区的编号从所述社区编号列表中删除,其中,所述目标社区为所述第一个社区编号对应的社区的关联社区列表中的社区,且为对应社区编号存在于所述社区编号列表的社区中与所述第一个社区编号对应的社区的关联度最大的社区,执行步骤S33。
2.根据权利要求1所述的方法,其特征在于,在每一台机器中使用关系型数据库存储分配的图数据中结点和边的属性信息,按照region、block和list三层结构存储分配的图数据中的其它信息,其中,
每个region存储一个社区的至少一个结点和对应的边,每个region由至少一个block组成,每个block由至少一个list组成,list的结构为(nodeid,[end1,end2,...,endn]),nodeid为结点标识,endj包括起点是nodeid对应结点的一条边的终点的结点标识,j∈(1,2,...,n),n为起点是nodeid对应结点的边的数量。
3.根据权利要求2所述的方法,其特征在于,还包括:
对于每一台机器,使用B+树结构对该台机器存储的所有结点建立索引,其中,B+树上的叶子结点包含的信息包括结点的标识、结点所属社区标识和存储了以该结点标识对应的结点为起点的边的block的存储位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810718954.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无中心的视频监控云存取方法
- 下一篇:一种闪存存储阵列的实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置