[发明专利]结合平衡策略的图数据划分与分布式存储方法有效
申请号: | 201811568696.2 | 申请日: | 2018-12-21 |
公开(公告)号: | CN109710774B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 汪璟玢;卞倩虹 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F16/901;H04L67/1097 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市闽*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结合 平衡 策略 数据 划分 分布式 存储 方法 | ||
1.一种结合平衡策略的图数据划分与分布式存储方法,其特征在于,包括如下步骤:
步骤S1、采用Metis+算法对初始图数据进行粗糙化;
步骤S2、对经步骤S1粗糙化处理的图数据,采用Metis+算法进行初始划分,并将初始划分数据存入分布式存储集群的对应分区中;
步骤S3、根据步骤S2的初始划分存储结果,实施平衡策略对动态知识碎片进行存储;
所述步骤S1,实现方式为:将初始属性图G转换成对应的标签图GL,再将标签图GL转换成带权无向图GL0后,运行HEM边融合算法,得到粗糙化后的图,并判断图中的顶点总数是否满足|Vm|100,若否,则再次进行粗糙化;若是,得到最终的粗糙化后的图GLm;
所述步骤S1,具体实现方式如下:
假设在Neo4j分布式集群中有k个分区,每个分区的存储容量为M,集群总容量为kM,P={P(1),P(2),...,P(k)}为当前所有分区状态总和,|P(i)|=n表示下标为i的分区中节点总数,1≤i≤k,P(i)表示分区i当前已有的节点和边状态;
设初始属性图G,G=N,R,L,P表示图中节点,边,标签,属性状态,|G|为属性图中节点总数,Memory(G)表示属性图的容量大小;存在关系M<Memory(G)kM,因此需要对初始属性图G=N,R,L,P进行划分,划分过程如下:
步骤S11、粗糙化的预处理步骤:
(1.1)将属性图转化为标签图GL作为划分的初始状态图;
(1.2)标签图中的每个标签即为一类实例节点的组合,节点初始权重为该标签中所有实例节点总数,边的初始权重为两个标签出度入度的实例边数量总和,因此将标签图GL初始化为节点与边都带权值的无向图GL0;
(1.3)在带权值的无向图GL0中,边权值越大表示该边联系的两个节点关系越紧密,为了达到将关系紧密的节点放入同一个分区,在图分割阶段减少对关系紧密的大权边的切割,因此要对大权边进行融合;
(1.4)将带权值的无向图GL0中的悬挂顶点进行简化,得到没有悬挂顶点的图;
(1.5)对没有悬挂顶点的带权值的无向图GL0进行图文件格式转化,图文件格式中,第一行为顶点个数与边个数,接下来每行为每个顶点连接的顶点编号与边的权重;
步骤S12、HEM边融合算法步骤:
(2.1)使用贪心思想将权重从大到小排序,获得权重总和最大且无相交顶点的边进行融合,将图中的点集进行融合组成下一次图的一个顶点;
(2.2)对边的融合操作:对于被融合的任意两个顶点vi,vj,如果e(vi,vj)∈GLi=(Vi,Ei),e(vi,vj)为顶点vi到vj之间的一条通路,则将边e(vi,vj)消除;
(2.3)顶点融合时顶点权重变换方式:新顶点的权重是原来顶点集合中所有顶点权值之和;
(2.4)边权值变换方式:将被选中的两条边之间,具有公共顶点的边进行权重相加,得到融合后边的权值;
经上述步骤,得到粗糙化后的图,并判断图中的顶点总数是否满足|Vm|100,若否,则再次进行粗糙化;若是,得到最终的粗糙化后的图GLm;
所述步骤S3,具体实现方式如下:
根据步骤S2的初始划分存储结果,对动态流入的动态知识碎片进行分布式存储时进行判断,步骤如下:
步骤S31、流入动态知识碎片;
步骤S32、将动态知识碎片映射到对应标签L,L={L1,L2,...,Lt};
步骤S33、选取Li(Li∈L);
步骤S34、判断分布式存储集群的k个分区中是否存在对应的标签Li;若否,则运行平衡策略进行存储;若是,则进入下一步判断;
步骤S35、判断标签对应的分区容量是否充足;若是,则将知识碎片存入标签对应的分区;若否,则进入下一步;
步骤S36、运行平衡策略将知识碎片存入其他容量充足的分区;
步骤S37、L=L-Li;
步骤S38、若L非空表示还有碎片知识未被存储,则返回步骤S32;若否,则表示当前流入的动态知识碎片存储完毕;
所述平衡策略,即对k个分区P={P(1),P(2),...,P(k)}判断分区状态,0≤i≤k,优先选择min(|P(i)|),集分区i,|P(i)|值越小越优先被选中,如果有多个分区满足要求,则从中随机选择一个;公式如下,返回分区编号index;
Index=random({i|min(|P(i)|),i∈|k|}) 式(5)
其中,index为分区编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811568696.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:事件主体的生成方法及其装置
- 下一篇:一种基于多规则的知识图谱动态生成方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置