一种基于混合层次聚类的分布式存储RDF数据平衡分割方法技术

技术编号:12453447 阅读:93 留言:0更新日期:2015-12-04 17:30
一种基于混合层次聚类的RDF数据平衡分割算法,包括如下步骤:通过对唯一属性值节点的合并和高邻域节点的移除来压缩RDF聚类数据规模;通过基于邻域节点的相似性度量和基于交互边的相似性度量计算RDF图中节点和数据块儿间的相似性;通过逐层AP聚类发现图中所有潜在的聚类中心和数据块儿,实现图的粗化;通过平衡调整算法实现RDF图分割的平衡;最后通过K‑means聚类算法实现指定数目的数据分割。本发明专利技术实施例针对RDF数据有向图的本质,将AP聚类与K‑means聚类相结合实现RDF数据基于图的平衡分割。本发明专利技术有效地提升网络接入服务评估准确性、动态响应性能和连接时间的预测准确度。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种基于混合层次聚类的RDF数据平衡分 割算法。
技术介绍
RDF(resource description framework)是由WWW提出的对万维网上信息进行描 述的一个框架,它为Web上的各种应用提供信息描述规范。它用主语表示信息实体或概念, 谓语表示实体所具有的相关属性,宾语表示对应的属性值。这种简单的表述方式可以用来 表示Web上的任意被标识的信息,为在应用程序之间交换数据提供了互操作性。因此,RDF 数据被广泛应用于多种领域的元数据描述。如Wikipedia,DBLP等都用RDF表达它们的元 数据,IBM智慧地球的研究中也广泛采用RDF数据描述和集成语义。 随着RDF数据的广泛应用,RDF数据规模急剧增加,原始的单机存储RDF数据在存 储和查询上遇到了性能瓶颈,分布式的存储方案是解决大规模RDF数据存储的一种常用的 解决方案。而RDF数据的分布式存储面临的一个关键问题是RDF的数据分割,不同的数据 分割方式在数据的查询性能和节点间通信上有很大差异。 基于三元组的水平或垂直分割方式,在划分数据时忽略了元组间关联性,因此在 执行查询时,存储节点间需要传递大量信息完成子句的关联查询。 基于图的分割方式可以将逻辑上相连的数据划分到一个存储节点,使大部分查询 子句的连接能够在存储节点内部完成,减少了存储节点间数据通信量,提高了数据并行查 询可能性。 基于图的分割算法主要包括网格划分算法、谱聚类算法、启发式算法和多层划分 算法。网格划分根据统计和估算不同区域的网格单元个数,使各区域的网格单元个数尽可 能相等,从而得到较平衡的划分结果。由于网格划分方法所依据的不是结点间的连接信息, 而是一个已有的网格单元组结构,因此网格划分方法更适用于已知结点坐标信息的情况, 尽管也有算法能够根据结点的连接信息计算出结点的坐标,但是时间消耗太大。 谱聚类算法建立在谱图理论基础上,与传统的聚类算法相比,具有它能在任意形 状的样本空间上聚类且收敛于全局最优解的优点,其本质是将聚类问题转化为图的最优划 分问题。该算法首先根据给定的样本数据集定义一个描述成对数据点相似度的矩阵,并且 计算矩阵的特征值和特征向量,然后选择合适的特征向量聚类不同的数据点。谱聚类算法 的聚类过程中需要求解矩阵的特征值与特征向量,处理大规模数据集的时候,求解过程不 但非常耗时,而且所需要的内存空间也非常大,面临着内存溢出的危险,对计算机内存容量 和处理速度都要求很高。启发式方法不关注区域网格单元的个数,尽可能把连接关系密切的节点划分在一 个区域,常用的启发算法包括广度优先划分、KL/FM方法。广度优先划分方法从某一个结点 开始,通过加入相邻的结点来逐渐增大所在区域,并尽可能地把相连的结点都划分到同一 个区域。KL/FM算法是启发式划分方法中较为典型的算法。KL/FM方法本质上是对图的再 划分。即已经存在一个图的初始划分,或者是一个图的随机划分,在此基础之上进行较少次 数的节点调整,从而减少边割数。启发式方法对数据的初始化要求较高,因此要进行多次初 始化,从结果中选择最好的划分。 KL/FM算法通常只能处理IO4个顶点规模以内的图,为了处理规模较大的图, Kumar、Hendrickson、Hauck等人都各自提出了多层次的图划分框METIS。METIS算法包括 三个阶段:粗化,分割和反粗化。即首先通过粗化将大图缩减成可接受的小图,然后在小图 上采用一定的分割算法进行划分,划分好后再通过反粗糙化将小图上的划分还原成原图上 的划分。METIS可以处理百万规模以内的大图,为了处理更大规模的数据,Kumar等人又提 出了并行版本的METIS-ParMetis,其能处理千万顶点规模的大图。METIS框架执行图分割 时效率非常高,但算法执行前要对输入数据进行转换,此转换效率非常高。 Shang等人在层次聚类思想基础上,利用FS (Fast Sampling)算法在稀疏图上选 择图中代表性的数据点,然后利用谱聚类算法对这些数据点进行分割,最后对分割图进行 反粗化,但该算法没有考虑图分割平衡性问题。 针对图的分割算法很多,但这些算法都有各自的局限性,当面临大规模RDF数据 时,这些算法并没有真正的从RDF数据本身特性出发,实现有效性分割存储。因此随着RDF 数据的大量增长,RDF数据应用范围扩大,一种有效的RDF分割是十分有必要的。
技术实现思路
随着RDF数据应用领域的不断扩大,其数据规模越来越大,由于内存和CPU的限 制,单机存储和查询大规模RDF数据出现瓶颈,分布式存储是一种解决大规模RDF数据存储 和查询的有效方法,有效的数据分割是实现分布式存储的前提。本专利技术探究一种基于混合 层次聚类的RDF数据平衡分割算法,包括以下步骤: 步骤1、基于节点合并和移除的RDF数据预处理; 步骤2、基于邻域和交互边的两种相似性度量方法; 步骤3、基于AP的多层次聚类; 步骤4、层次聚类的平衡调整; 步骤5、基于κ-means的图分割算法。【附图说明】 图1为混合层次聚类的RDF数据平衡分割算法框架图。 图2为移除不同高度数节点的边割比例变化情况。 图3为移除不同高度数节点算法执行效率。 图4为平衡分割算法与FAP算法的边割比对比。 图5为平衡分割算法与FAP算法的执行效率对比。【具体实施方式】 下面结合附图对本专利技术实施例做进一步说明。 图1为混合层次聚类的RDF数据平衡分割算法框架图,本专利技术考虑RDF数据本身 特性,对于一个给定的RDF图,其图中节点分为资源节点和值节点两类,其中有部分值节点 只属于某一个资源节点,即资源节点存在一个属性,其值在RDF图中是唯一的,为了降低图 分割时的计算量,本专利技术将此类节点合并到其资源节点中,逻辑上合成一个数据点实现图 的压缩。另外,RDF图中高邻域节点严重影响分割和查询性能,因此本专利技术针对高邻域节点 进行移除处理,该方法对于降低边割比和分割执行效率效果显著。 RDF图分割需要计算节点间相似性,本专利技术基于分割时边割比的考虑,定义基于邻 域和交互边两种不同的节点相似度计算方法,这两种方法分别用于原始图和数据块儿顶点 图两种不同节点相似性的计算。初始时,对原始图采用基于邻域的节点相似度计算方法,当 对图粗化,图的顶点聚类成数据块儿后采用交互边相似度计算方法。 算法执行首先采用AP聚类自动将联系紧密的节点聚类成一个数据块儿,由于 分布式存储最终制定存储节点数目,因此后继聚类可以根据实际计算能力和需求采用 k-means聚类实现最终指定数目的分割。 具有步骤如下: 1、一种基于混合层次聚类的RDF数据平衡分割算法,包括如下步骤: 步骤1、基于节点合并和移除的RDF数据预处理; 步骤2、基于邻域和交互边的两种相似性度量方法; 步骤3、基于AP的多层次聚类; 步骤4、层次聚类的平衡调整; 步骤5、基于K-means的图分割算法。 步骤1、基于节点合并和移除的RDF数据预处理: 以RDF图节点压缩和节点移除为基础的数据预处理,节点压缩针对唯一属性值节 点,节点移除针对高邻域节点,降低RDF图中参与聚类节点数目。 1)节点合并 给定RDF图G= (V,E),其中V = VeU V :表示图中节点本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105117488.html" title="一种基于混合层次聚类的分布式存储RDF数据平衡分割方法原文来自X技术">基于混合层次聚类的分布式存储RDF数据平衡分割方法</a>

【技术保护点】
一种基于混合层次聚类的RDF数据平衡分割算法,包括如下步骤:步骤1:基于节点合并和移除的RDF数据预处理以RDF图节点压缩和节点移除为基础的数据预处理,节点压缩针对唯一属性值节点,节点移除针对高邻域节点,降低RDF图中参与聚类节点数目;1)节点合并给定RDF图G=(V,E),其中V=Ve∪Vl表示图中节点的集合,Ve代表实体节点,Vl表示属性值节点;E={e(vi,vj)|vi,vj∈V}=Er∪Ea表示有向边的集合,其中Er代表关系边,Ea代表属性边;在RDF有向图中,如果属性边Ea所对应的属性值节点vj∈Vl只属于指向它的主语节点vi∈Ve,则节点vj在数据分割时必然要与vi划分到同一存储节点;针对这类节点,将节点vj与指向它的主语节点vi合并成一个节点;2)节点移除在RDF图中,节点邻域分布并不是均匀的,有一部分节点的邻域数目非常高;节点邻域数目越高,和其关联的节点就越多,当查询时这些节点被查询的几率越高,因此产生的网络通信代价越高;为降低存储节点间通信代价,在对RDF图进行分割前,将节点度数超过一定阈值的节点从RDF图中移除,待图分割结束后加这些高度数节点分别存储到与之相关的存储节点上,用存储代价换取通信代价;步骤2:基于邻域和交互边的两种相似性度量方法:1)基于邻域相似性度量:如果一个节点的邻域节点同另一个节点相连,则认为这两个节点相似性大;同时,一个节点的邻域节点同另一个节点的远近关系也影响着相似度的大小;路径长度表示两个节点远近;设Nr(v)是节点v在半径为r的邻域集合,邻域内任意节点q与节点v的最短距离为l,节点q到节点v的权重wqv=1/l;节点q到v的权重和路径长度有关,路径长度越长,则权重越小,即该点与v的相似度越小;计算节点u到任意节点v的相似度如公式(1):similarity(u,v)=Σk∈interr(u,v)wkvΣk∈Nr(u)wku---(1)]]>其中Nr(u)和Nr(v)是节点u,v的半径为r的邻域集合,interr(u,v)=Nr(u)∩Nr(v)表示两个节点邻域的交集;2)基于交互边相似性度量交互边是指位于两个不同集合的节点间的连接边;RDF图分割的一个目的是使分割后的交互边最小,混合层次聚类算法中从第二层聚类开始;以交互边作为两个聚类数据块儿间的权重,衡量两个数据块儿间的相似度,如果数据块儿间交互边越多,代表两个数据块儿相似度越大,否则越小;给定两个数据块Ci和Cj,cut(Ci,Cj)表示两个数据块内节点间的交互边数目,cutmin(Ck)和cutmax(Ck)分别代表所有数据块间最小交互边和最大交互边数目,则两个数据块相似性计算如公式(2)similarity(Ci,Cj)=cut(Ci,Cj)-cutmin(Ck)cutmax(Ck)-cutmin(Ck)---(2)]]>步骤3:基于AP聚类算法的多层次聚类:AP聚类算法通过迭代更新吸引度矩阵R=[r(i,k)]与归属度矩阵A=[a(i,k)],逐步确定高质量聚类中心,吸引度矩阵和归属度矩阵更新规则如下:用归属度矩阵与相似度矩阵S=[s(i,k)]更新吸引度矩阵R:r(i,k)=s(i,k)-maxk′≠k{a(i,k′)+s(i,k′)}---(4)]]>用吸引度矩阵R更新归属度矩阵A:a(i,k)=min{0,r(k,k)+Σi′∉{i,k}max{0,r(i′,k)}}]]>a(k,k)=Σi′≠kmax{0,r(i′,k)}---(5)]]>其中,s(i,k)为点i到点k的相似度,表明点k作为点i的聚类中心的合适程度;r(i,k)表示点k对点i的吸引度,反映点k通过与其他数据点k'竞争,作为适合数据点i的聚类中心的程度;a(i,k)表示点i对点k的归属度,反映数据点i选择数据点k作为其聚类中心的适合程度;当i=k时,s(k,k)由输入的偏向参数p(k)设置,p(k)越大,数据点k越有可能被选为聚类中心,聚类个数越多;反之,p(k)越小,聚类个数越少;在执行过程中,吸引度矩阵和归属度矩阵需要迭代更新,每次更新的时间复杂度为O(n2),算法迭代T次,时间复杂度为O(Tn2);RDF图分割的目的是将紧密连接的节点分配到一个存储节点,如果两个节点间的相似性越小,则这两个节点被分配到一个存储节点的可能性就越小;在执行AP聚类前,设定相似度矩阵中小于阈值δ的节点间的相似性为‑∞,提高时间性能;AP层次聚类算法步骤:输入:RDF图G=(V,E),聚类数目阈值T输出:聚类数据块C={C1,C2,...,Cm},其...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈志奎冷泳林程心如
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

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

1