CN104281664B - 分布式图计算系统数据切分方法和系统 - Google Patents

分布式图计算系统数据切分方法和系统 Download PDF

Info

Publication number
CN104281664B
CN104281664B CN201410496089.5A CN201410496089A CN104281664B CN 104281664 B CN104281664 B CN 104281664B CN 201410496089 A CN201410496089 A CN 201410496089A CN 104281664 B CN104281664 B CN 104281664B
Authority
CN
China
Prior art keywords
back end
mrow
community
main frame
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410496089.5A
Other languages
English (en)
Other versions
CN104281664A (zh
Inventor
李博
宋骐
李建欣
于伟仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201410496089.5A priority Critical patent/CN104281664B/zh
Publication of CN104281664A publication Critical patent/CN104281664A/zh
Application granted granted Critical
Publication of CN104281664B publication Critical patent/CN104281664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式图计算系统数据切分方法和系统,该方法包括:确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;获得各第一相邻节点的标签的出现次数,并确定是否存在出现次数相同的至少两个标签;若存在,则确定与至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与各第二相邻节点间的相似性度量值,确定所述数据节点的标签;将具有同一标签的数据节点划分到同一社区,将属于同一社区的数据节点存储在同一处理主机中。充分考虑了数据节点间的相似性特征以及基于标签实现了数据节点的社区划分,节省了运算开销,而且关系密切的数据节点被分配到同一处理主机中,减少了在不同处理主机间的通信开销。

Description

分布式图计算系统数据切分方法和系统
技术领域
本发明属于数据处理领域,尤其是涉及一种分布式图计算系统数据切分方法和系统。
背景技术
近年来,以互联网、高能物理、计算生物为代表的众多领域产生的海量数据对数据处理系统提出了更高的要求。在这些海量数据中,由节点和边组成的图结构数据作为一种重要的数据结构,可以有效表示很多不同领域的数据关系,例如,社交网络数据可以表现为一种图结构数据,其中节点代表用户,边代表用户之间的关系,例如两个用户相互关注则表明两个对应节点之间有一条边。同样,英特网的网页数据也可以表现为一种图结构数据,节点代表网页,边代表网页之间的关系,例如网页A上有一个指向网页B的超链接,则对应的节点A和节点B之间有一条边。
随着数据比如图结构数据的数据量越来越大,受限于有限的运算和存储能力,单机已经不能满足对大规模图结构数据的高效处理,因而作为大数据处理的有效工具,分布式数据处理设备提供了一个处理海量图结构数据的平台。为了实现数据的分布式存储,分布式数据处理设备一般会采用数据切分。数据切分,简单来说,就是指通过某种特定的条件,将海量数据中的数据分散存放到多个处理主机上,以达到分散单台处理主机负载的效果。
但是,当前图数据处理设备存储数据的模式为:对图数据中的每个数据节点创建一个主节点(它自身)和至少一个副节点(备份节点),随机将主节点固定存储在某一台处理主机上,同时在该处理主机上保存主节点的相邻数据节点,其中,如果相邻数据节点的主节点在其处理主机上,则存储相邻数据节点的副节点。
上述这种以数据节点为单位进行数据切分的图结构数据处理方式中,关系紧密的数据节点往往会被存储在不同的处理主机上,而关系紧密的数据节点实际上非常有可能要被同时访问,如果这些数据节点不在同一个处理主机上,则需要耗费大量的通信资源来从不同的处理主机上获得关系紧密的不同数据节点。而且,上述的随机分配以及数据节点冗余存储的方式,对于一些度数(即邻居节点的个数)很大的数据节点,需要消耗很多的运算资源,从而,将导致较大的运算开销和通信开销,使得数据处理效率较低。
发明内容
针对上述存在的问题,本发明提供一种分布式图计算系统数据切分方法和系统,用以克服现有技术中以数据节点为单位进行数据切分的图结构数据处理方式导致数据处理效率较低的缺陷。
本发明提供了一种分布式图计算系统数据切分方法,包括:
根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签;
若存在,则确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。
本发明提供了一种分布式图计算系统数据切分系统,包括:
第一确定模块,用于根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
获取模块,用于根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
第二确定模块,用于根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签;
第三确定模块,用于若存在,则确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
处理模块,用于将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。
本发明提供的分布式图计算系统数据切分方法和系统,对于数据规模很大的待处理数据,针对待处理数据中的每个数据节点确定自身与各相邻节点间的相似性度量值,进而在确定其各相邻节点的标签中存在多个出现次数相同的标签时,根据与拥有该相同标签的各相邻节点间的相似性度量值,确定自身的标签,进而将待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。通过对每个数据节点进行与其相邻节点间的相似性度量,充分考虑了待处理数据的整体结构特性,进而对待处理数据中的每个数据节点基于该相似性特性,结合其相邻节点的标签进行聚类分析,以最终将待处理数据划分为多个社区,每个社区中的数据节点都具有同一标签,而且,每个社区中的数据节点也具有较高相似性,从而以社区为单位进行数据节点在处理主机上的切分存储。由于充分考虑了数据节点间的相似性特征以及基于标签实现了数据节点的社区划分,节省了运算开销,而且使得关系密切的数据节点能够被分配到同一处理主机中,大大减少了在不同处理主机间的通信开销,从而提高了数据处理效率。
附图说明
图1为本发明分布式图计算系统数据切分方法实施例一的流程图;
图2为本发明分布式图计算系统数据切分方法实施例二的流程图;
图3为本发明分布式图计算系统数据切分系统实施例一的结构示意图;
图4为本发明分布式图计算系统数据切分系统实施例二的结构示意图。
具体实施方式
图1为本发明分布式图计算系统数据切分方法实施例一的流程图,如图1所示,该方法包括:
步骤101、根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
本实施例提供的所述方法适用于采用分布式数据处理系统对大规模的图结构数据进行数据切分存储的场景,在该分布式数据处理系统中设置有多个处理主机。值得说明的是,该系统在接收到大量待处理数据后,可以采用现有的分布式处理方式将该待处理数据预先分布式存入多个处理主机中,而本实施例提供的所述方法可以针对预存入各处理主机中的待处理数据进行处理,当然,也可以在接收到待处理数据后直接进行处理。本实施例提供的所述方法可以由一处理系统来执行,该处理系统比如为分布式处理系统的管理平台。
本实施例中,对于图结构的数据,数据可以表示为数据节点与边的抽象图,处理系统针对待处理数据中的每个数据节点,分别计算其与自身相邻节点的相似度度量值,其中,上述预设算法例如可以是基于数据节点与其相邻节点之间的连接边的权重,或是基于数据节点的度数(其相邻节点的总数)与每个相邻节点的度数,或是基于数据节点的网页排名(PageRank,以下简称PR)值等等。
步骤102、根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
步骤103、根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签,若存在,则执行步骤104,否则,执行步骤105;
步骤104、确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
步骤105、确定所述数据节点的标签与所述各第一相邻节点的标签中出现次数最多的标签相同。
本实施例中,可以预先为每个数据节点配置一个标签,该标签可以是为每个节点预先设置的一个标识ID。值得说明的是,该标签为节点标识ID,并不意味着标签与数据节点具有唯一的一一对应关系,简单来说,该标签具有分类的含义,将满足一定条件的各个数据节点打上同一个标签。
值得说明的是,本实施例中为每个数据节点确定标签的过程是一个多次迭代的过程。在迭代初始时,可以为每个数据节点配置一个用于区别于其他数据节点的标识ID,在第一次迭代时,以某个数据节点i为例,在计算获得了数据节点i与其各个相邻节点即上述的第一相邻节点的相似度度量值后,假设其与相邻节点j的相似度度量值最大,从而,确定数据节点i的标签为数据节点j的标识ID。也就是说,在第一次迭代时,数据节点i的各相邻节点的标签即为每个相邻节点被初始分配的标识ID,而且,由于此时的每个相邻节点的标签具有唯一性,因此,每个标签的出现次数为1,即数据节点i的各相邻节点的标签中存在出现次数相同的至少两个标签,此时,与所述至少两个标签分别对应的各第二相邻节点即为数据节点i的全部相邻节点。从而,根据数据节点i与其全部相邻节点中的每个相邻数据节点间的相似性度量值,确定数据节点i的标签。比如,假设数据节点i与相邻节点j的相似度度量值最大,从而,确定数据节点i的标签为数据节点j的标识ID,此时,数据节点i的标签不再时初始分配给其的标识ID,而变为数据节点j的标识ID。
从而在后续的第二次或者以后的迭代过程中,由于存在上述标签改变的过程,因此后续的迭代过程中有可能出现某数据节点k的某个相邻节点q的标签出现了最多的次数,也就是说,该数据节点q的标识ID在数据节点k的所有相邻节点中被用于作为标签的次数最多。此时,将数据节点k的标签变为数据节点q的标识ID。
步骤106、将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。
在对待处理数据中的每个数据节点都做了上述的确定标签的处理之后,待处理数据中的很多数据节点将具有同样的标签,将具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中,从而完成对待处理数据的数据切分处理,即将待处理数据划分为各个社区,以社区为单位进行数据节点的存储。
本实施例中,对于数据规模很大的待处理数据,针对待处理数据中的每个数据节点确定自身与各相邻节点间的相似性度量值,进而在确定其各相邻节点的标签中存在多个出现次数相同的标签时,根据与拥有该相同标签的各相邻节点间的相似性度量值,确定自身的标签,进而将待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。通过对每个数据节点进行与其相邻节点间的相似性度量,充分考虑了待处理数据的整体结构特性,进而对待处理数据中的每个数据节点基于该相似性特性,结合其相邻节点的标签进行聚类分析,以最终将待处理数据划分为多个社区,每个社区中的数据节点都具有同一标签,而且,每个社区中的数据节点也具有较高相似性,从而以社区为单位进行数据节点在处理主机上的切分存储。由于充分考虑了数据节点间的相似性特征以及基于标签实现了数据节点的社区划分,节省了运算开销,而且使得关系密切的数据节点能够被分配到同一处理主机中,大大减少了在不同处理主机间的通信开销,从而提高了数据处理效率。
图2为本发明分布式图计算系统数据切分方法实施例二的流程图,如图2所示,本实施例提供的所述方法包括如下步骤:
步骤201、根据公式(1)计算所述待处理数据中的数据节点u与所述数据节点u的相邻节点v间的相似性度量值APS(u,v);
其中,v为所述数据节点u的各第一相邻节点中的任一个数据节点,δ(v)为数据节点v的各第一相邻节点,V为所述待处理数据中所有数据节点的集合,δ(u)为所述数据节点u的各第一相邻节点,n为同时属于数据节点v的各第一相邻节点和数据节点u的各第一相邻节点的节点的个数,PG(vj,u)为数据节点vj传播到数据节点u的网页排名PR值,根据PG(vj,u)=PR(u)确定,PG(vj,v)为数据节点vj传播到数据节点v的网页排名PR值,根据PG(vj,v)=PR(v)确定,其中,PR(u)和PR(v)根据公式(2)确定:
其中,γ为加权系数,in(w)为与所述数据节点w的入边对应的相邻节点集合,out(w)为与数据节点w的出边对应的相邻节点集合,|out(w)|为所述出边对应的相邻节点集合中包含的节点个数。
本实施例中,可以根据数据节点的PageRank值来计算某个数据节点与其相邻节点的相似程度。PageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度,本实施例中将其应用在图结构数据中,用来计算数据节点在整个图结构数据即待处理数据中的重要程度。每个数据节点通过上述计算方式计算出其与所有相邻节点的相似度度量值,从而每个数据节点可以保存一个结构体,其中存储了它的所有相邻节点的标识ID和与该数据节点的相似度度量值,以便用于后续该数据节点的标签的确定过程中。
步骤202、根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数;
步骤203、根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签,若存在,则执行步骤204,否则,执行步骤205;
步骤204、确定与所述至少两个标签分别对应的各第二相邻节点,从所述各第二相邻节点中确定出第三相邻节点,确定所述数据节点的标签与所述第三相邻节点的标签相同,所述第三相邻节点与所述数据节点的相似性度量值大于所述各第二相邻节点中除所述第三相邻节点之外的其他第二相邻节点与所述数据节点的相似性度量值;
步骤205、确定所述数据节点的标签与所述各第一相邻节点的标签中出现次数最多的标签相同。
上述步骤202-205与图1所示实施例中一致,不再赘述。
步骤206、将所述待处理数据中具有同一标签的数据节点划分到同一社区,将所述待处理数据中的各个社区按照社区规模从大到小的顺序进行排序,所述社区规模为所述社区中包含的数据节点的个数;
步骤207、根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,所述存储顺序是指所述各处理主机存储所述各个社区的先后顺序。
本实施例中,在各个处理主机中已经预先存储了待处理数据的情况下,为了使得对待处理数据进行社区划分后的每个社区,与存储该社区中的数据节点的处理主机中的预先存储的数据节点具有较好的匹配,从而进一步降低处理开销,优化处理效果,本实施例在将待处理数据中具有同一标签的数据节点划分到同一社区之后,还进行如下的处理:
将各个社区按照社区规模从大到小的顺序进行排序,其中,社区规模为所述社区中包含的数据节点的个数;根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,所述存储顺序是指所述各处理主机存储所述各个社区的先后顺序。
值得说明的是,本实施例中对各个社区按照社区规模从大到小排序仅仅是一种可选的方式,也可以从小到大排序。而且,上述各处理主机的预设存储顺序,简单来说相当于对各个处理主机进行了顺序编号。从而,上述根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,具体为:以每个处理主机一次存入一个社区的方式,按照各个社区排序的先后顺序以及各个处理主机存储各社区的先后顺序,确定每个社区应该存入的处理主机。
举例来说,假设待处理数据中有N1个社区,按照社区规模从大到小的顺序依次排列为:社区1、社区2、…、社区N1,并有N2个处理主机,按照预设存储顺序依次为:处理主机1、处理主机2、…、处理主机N2。如果N1小于或者等于N2,那么各个社区与各个处理主机的对应关系为:社区1(即社区1中包含的所有数据节点)存入处理主机1中,社区2存入处理主机2中,依次类推,社区N1存入处理主机N1中;如果N1大于N2,此时说明待存入的社区数量多于处理主机的数量,此时各个社区与各个处理主机的对应关系为:社区1存入处理主机1中,社区2存入处理主机2中,依次类推,社区N2存入处理主机N2中,后续社区则从头开始循环存入,即社区N2+1存入处理主机1中,社区N2+2存入处理主机2中,以此类推。
从而,在确定了各个社区应该存入的处理主机后,可选的,可以将各个社区依次存入对应的各处理主机中。但是,另一种可选的方式中,为了使得每个社区能够存入预存数据节点与该社区包含的数据节点具有良好匹配程度的处理主机中,本实施例中,将执行如下步骤:
步骤208、分别以所述各个社区中的每个社区作为待处理社区,确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度;
具体地,所述确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度,包括:
确定每个所述匹配程度为所述待处理社区中包含的数据节点与对应的每个处理主机中预先保存的数据节点间包含的相同数据节点的个数。
简单来说,针对每个社区来说,将其包含的数据节点依次与每个处理主机中预先保存的数据节点进行比较,确定分别与每个处理主机中预先保存的数据节点间的匹配程度,即重复的数据节点的个数。
步骤209、从所述各处理主机中确定与所述待处理社区对应的目标处理主机,所述目标处理主机中预先保存的数据节点与所述待处理社区中包含的数据节点的匹配程度最高;
针对每个社区来说,确定分别与每个处理主机中预先保存的数据节点间的匹配程度,即重复的数据节点的个数后,选择数据节点重复个数最多的那个处理主机作为该社区最终将被存入的目标处理主机。
步骤210、确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机是否相同,若相同,则执行步骤211,否则,执行步骤212;
步骤211、将所述待处理社区存入所述应该存入的处理主机中。
步骤212、将所述待处理社区存入所述目标处理主机中。
如果确定的目标处理主机与根据社区排序和处理主机排序确定的处理主机相同,那么将该社区存入该处理主机即可,否则,将该社区存入目标处理主机,即相当于将该社区从初始确定的处理主机迁移到了目标处理主机中。
本实施例中,通过对每个数据节点进行与其相邻节点间的相似性度量,充分考虑了待处理数据的整体结构特性,进而对待处理数据中的每个数据节点基于该相似性特性,结合其相邻节点的标签进行聚类分析,以最终将待处理数据划分为多个社区,每个社区中的数据节点都具有同一标签,而且,每个社区中的数据节点也具有较高相似性,从而以社区为单位进行数据节点在处理主机上的切分存储。由于充分考虑了数据节点间的相似性特征以及基于标签实现了数据节点的社区划分,节省了运算开销,而且使得关系密切的数据节点能够被分配到同一处理主机中,大大减少了在不同处理主机间的通信开销,从而提高了数据处理效率。此外,在进行社区存入处理主机的过程中,依据社区中包含的数据节点与处理主机中预先存储的数据节点的匹配程度来最终确定各社区将被存入的处理主机,降低了待处理数据中数据节点存储位置的变更,进一步降低了处理开销,提高了处理效率。
图3为本发明分布式图计算系统数据切分系统实施例一的结构示意图,如图3所示,该系统包括:
第一确定模块11,用于根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
获取模块12,用于根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
第二确定模块13,用于根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签;
第三确定模块14,用于若所述第二确定模块13确定存在出现次数相同的至少两个标签,则确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
处理模块15,用于将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中。
所述第三确定模块14,还用于:
若所述第二确定模块13确定不存在出现次数相同的至少两个标签,则确定所述数据节点的标签与所述各第一相邻节点的标签中出现次数最多的标签相同。
本实施例的系统可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明分布式图计算系统数据切分系统实施例二的结构示意图,如图4所示,本实施例提供的所述系统在图3所示实施例的基础上,所述第一确定模块11,具体用于:
根据公式(1)计算所述待处理数据中的数据节点u与所述数据节点u的相邻节点v间的相似性度量值APS(u,v):
其中,v为所述数据节点u的各第一相邻节点中的任一个数据节点,δ(v)为数据节点v的各第一相邻节点,V为所述待处理数据中所有数据节点的集合,δ(u)为所述数据节点u的各第一相邻节点,n为同时属于数据节点v的各第一相邻节点和数据节点u的各第一相邻节点的节点的个数,PG(vj,u)为数据节点vj传播到数据节点u的网页排名PR值,根据PG(vj,u)=PR(u)确定,PG(vj,v)为数据节点vj传播到数据节点v的网页排名PR值,根据PG(vj,v)=PR(v)确定,其中,PR(u)和PR(v)根据公式(2)确定:
其中,γ为加权系数,in(w)为与所述数据节点w的入边对应的相邻节点集合,out(w)为与数据节点w的出边对应的相邻节点集合,|out(w)|为所述出边对应的相邻节点集合中包含的节点个数;
所述第三确定模块14,具体用于:
从所述各第二相邻节点中确定出第三相邻节点,所述第三相邻节点与所述数据节点的相似性度量值大于所述各第二相邻节点中除所述第三相邻节点之外的其他第二相邻节点与所述数据节点的相似性度量值;
确定所述数据节点的标签与所述第三相邻节点的标签相同;
所述处理模块15,还用于:
将所述待处理数据中的各个社区按照社区规模从大到小的顺序进行排序,所述社区规模为所述社区中包含的数据节点的个数;
根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,所述存储顺序是指所述各处理主机存储所述各个社区的先后顺序;
将所述各个社区依次存入对应的各处理主机中;
所述系统还包括第四确定模块21,用于:
分别以所述各个社区中的每个社区作为待处理社区,确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度;
从所述各处理主机中确定与所述待处理社区对应的目标处理主机,所述目标处理主机中预先保存的数据节点与所述待处理社区中包含的数据节点的匹配程度最高;
确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机是否相同;
所述处理模块15,还用于:
若所述第四确定模块21确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机相同,则将所述待处理社区存入所述应该存入的处理主机中;
若所述第四确定模块21确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机不相同,则将所述待处理社区存入所述目标处理主机中。
本实施例的系统可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种分布式图计算系统数据切分方法,其特征在于,包括:
根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签;
若存在,则确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中;
所述将所述待处理数据中具有同一标签的数据节点划分到同一社区之后,还包括:
将所述待处理数据中的各个社区按照社区规模从大到小的顺序进行排序,所述社区规模为所述社区中包含的数据节点的个数;
所述将属于同一社区的数据节点存储在同一处理主机中,包括:
根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,所述存储顺序是指所述各处理主机存储所述各个社区的先后顺序;
将所述各个社区依次存入对应的各处理主机中;
所述根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机之后,还包括:
分别以所述各个社区中的每个社区作为待处理社区,确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度;
从所述各处理主机中确定与所述待处理社区对应的目标处理主机,所述目标处理主机中预先保存的数据节点与所述待处理社区中包含的数据节点的匹配程度最高;
确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机是否相同;
若相同,则将所述待处理社区存入所述应该存入的处理主机中;
若不相同,则将所述待处理社区存入所述目标处理主机中。
2.根据权利要求1所述的方法,其特征在于,所述根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值,包括:
根据公式(1)计算所述待处理数据中的数据节点u与所述数据节点u的相邻节点v间的相似性度量值APS(u,v):
<mrow> <mi>A</mi> <mi>P</mi> <mi>S</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>P</mi> <mi>G</mi> <mo>(</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>P</mi> <mi>G</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>,</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>&amp;Element;</mo> <mi>V</mi> <mo>,</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>&amp;Element;</mo> <mrow> <mo>(</mo> <mi>&amp;delta;</mi> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>&amp;delta;</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,v为所述数据节点u的各第一相邻节点中的任一个数据节点,δ(v)为数据节点v的各第一相邻节点,V为所述待处理数据中所有数据节点的集合,δ(u)为所述数据节点u的各第一相邻节点,n为同时属于数据节点v的各第一相邻节点和数据节点u的各第一相邻节点的节点的个数,PG(vj,u)为数据节点vj传播到数据节点u的网页排名PR值,根据PG(vj,u)=PR(u)确定,PG(vj,v)为数据节点vj传播到数据节点v的网页排名PR值,根据PG(vj,v)=PR(v)确定,其中,PR(u)和PR(v)根据公式(2)确定:
<mrow> <mi>P</mi> <mi>R</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;gamma;</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&amp;gamma;&amp;Sigma;</mi> <mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>&amp;Element;</mo> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> </mrow> </msub> <mfrac> <mrow> <mi>P</mi> <mi>R</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mi>o</mi> <mi>u</mi> <mi>t</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mi>w</mi> <mo>&amp;Element;</mo> <mi>V</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中,γ为加权系数,in(w)为与数据节点w的入边对应的相邻节点集合,out(w)为与数据节点w的出边对应的相邻节点集合,|out(w)|为所述出边对应的相邻节点集合中包含的节点个数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签,包括:
从所述各第二相邻节点中确定出第三相邻节点,所述第三相邻节点与所述数据节点的相似性度量值大于所述各第二相邻节点中除所述第三相邻节点之外的其他第二相邻节点与所述数据节点的相似性度量值;
确定所述数据节点的标签与所述第三相邻节点的标签相同。
4.根据权利要求1所述的方法,其特征在于,所述根据所述出现次数,确定所述各第一相邻节点的所述标签中是否存在出现次数相同的至少两个标签之后,还包括:
若不存在,则确定所述数据节点的标签与所述各第一相邻节点的标签中出现次数最多的标签相同。
5.根据权利要求1所述的方法,其特征在于,所述确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度,包括:
确定每个所述匹配程度为所述待处理社区中包含的数据节点与对应的每个处理主机中预先保存的数据节点间包含的相同数据节点的个数。
6.一种分布式图计算系统数据切分系统,其特征在于,包括:
第一确定模块,用于根据预设算法,确定待处理数据中的每个数据节点与自身的各第一相邻节点间的相似性度量值;
获取模块,用于根据所述各第一相邻节点的标签,获得每个所述标签在所述各第一相邻节点中的出现次数,所述标签包括节点标识ID;
第二确定模块,用于根据所述出现次数,确定所述各第一相邻节点的标签中是否存在出现次数相同的至少两个标签;
第三确定模块,用于若存在,则确定与所述至少两个标签分别对应的各第二相邻节点,并根据所述数据节点与所述各第二相邻节点间的相似性度量值,确定所述数据节点的标签;
处理模块,用于将所述待处理数据中具有同一标签的数据节点划分到同一社区,并将属于同一社区的数据节点存储在同一处理主机中;
所述第三确定模块,具体用于:
从所述各第二相邻节点中确定出第三相邻节点,所述第三相邻节点与所述数据节点的相似性度量值大于所述各第二相邻节点中除所述第三相邻节点之外的其他第二相邻节点与所述数据节点的相似性度量值;
确定所述数据节点的标签与所述第三相邻节点的标签相同;
所述第三确定模块,还用于:
若不存在,则确定所述数据节点的标签与所述各第一相邻节点的标签中出现次数最多的标签相同;
所述处理模块,还用于:
将所述待处理数据中的各个社区按照社区规模从大到小的顺序进行排序,所述社区规模为所述社区中包含的数据节点的个数;
根据各处理主机的预设存储顺序以及所述各个社区的排序,分别确定所述各个社区应该存入的处理主机,所述存储顺序是指所述各处理主机存储所述各个社区的先后顺序;
将所述各个社区依次存入对应的各处理主机中;
所述系统还包括第四确定模块,用于:
分别以所述各个社区中的每个社区作为待处理社区,确定所述待处理社区中包含的数据节点分别与所述各处理主机中的每个处理主机中预先保存的数据节点间的匹配程度;
从所述各处理主机中确定与所述待处理社区对应的目标处理主机,所述目标处理主机中预先保存的数据节点与所述待处理社区中包含的数据节点的匹配程度最高;
确定所述目标处理主机与根据所述各处理主机的预设存储顺序以及所述各个社区的排序确定的所述待处理社区应该存入的处理主机是否相同;
所述处理模块,还用于:
若相同,则将所述待处理社区存入所述应该存入的处理主机中;
若不相同,则将所述待处理社区存入所述目标处理主机中。
7.根据权利要求6所述的系统,其特征在于,所述第一确定模块,具体用于:
根据公式(1)计算所述待处理数据中的数据节点u与所述数据节点u的相邻节点v间的相似性度量值APS(u,v):
<mrow> <mi>A</mi> <mi>P</mi> <mi>S</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>P</mi> <mi>G</mi> <mo>(</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>P</mi> <mi>G</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>,</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>&amp;Element;</mo> <mi>V</mi> <mo>,</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>&amp;Element;</mo> <mrow> <mo>(</mo> <mi>&amp;delta;</mi> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>&amp;delta;</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,v为所述数据节点u的各第一相邻节点中的任一个数据节点,δ(v)为数据节点v的各第一相邻节点,V为所述待处理数据中所有数据节点的集合,δ(u)为所述数据节点u的各第一相邻节点,n为同时属于数据节点v的各第一相邻节点和数据节点u的各第一相邻节点的节点的个数,PG(vj,u)为数据节点vj传播到数据节点u的网页排名PR值,根据PG(vj,u)=PR(u)确定,PG(vj,v)为数据节点vj传播到数据节点v的网页排名PR值,根据PG(vj,v)=PR(v)确定,其中,PR(u)和PR(v)根据公式(2)确定:
<mrow> <mi>P</mi> <mi>R</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;gamma;</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&amp;gamma;&amp;Sigma;</mi> <mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>&amp;Element;</mo> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> </mrow> </msub> <mfrac> <mrow> <mi>P</mi> <mi>R</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mi>o</mi> <mi>u</mi> <mi>t</mi> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mi>w</mi> <mo>&amp;Element;</mo> <mi>V</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中,γ为加权系数,in(w)为与数据节点w的入边对应的相邻节点集合,out(w)为与数据节点w的出边对应的相邻节点集合,|out(w)|为所述出边对应的相邻节点集合中包含的节点个数。
CN201410496089.5A 2014-09-24 2014-09-24 分布式图计算系统数据切分方法和系统 Active CN104281664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410496089.5A CN104281664B (zh) 2014-09-24 2014-09-24 分布式图计算系统数据切分方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410496089.5A CN104281664B (zh) 2014-09-24 2014-09-24 分布式图计算系统数据切分方法和系统

Publications (2)

Publication Number Publication Date
CN104281664A CN104281664A (zh) 2015-01-14
CN104281664B true CN104281664B (zh) 2017-11-03

Family

ID=52256537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410496089.5A Active CN104281664B (zh) 2014-09-24 2014-09-24 分布式图计算系统数据切分方法和系统

Country Status (1)

Country Link
CN (1) CN104281664B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809249A (zh) * 2015-05-18 2015-07-29 北京嘀嘀无限科技发展有限公司 数据结构的处理方法和系统
CN105677755B (zh) * 2015-12-30 2019-05-24 杭州华为数字技术有限公司 一种处理图数据的方法及装置
CN107222565B (zh) * 2017-07-06 2019-07-12 太原理工大学 一种网络图分割方法及系统
CN107862073B (zh) * 2017-11-24 2021-03-30 山西大学 一种基于节点重要度和分离度的Web社区划分方法
CN108920105B (zh) * 2018-07-03 2020-08-04 清华大学 基于社区结构的图数据分布式存储方法及装置
CN113779322B (zh) * 2018-08-27 2023-08-01 北京百度网讯科技有限公司 用于图检索的方法、装置、设备以及计算机可读存储介质
CN110287378B (zh) * 2019-05-24 2021-10-19 中国科学院计算技术研究所 一种基于动态代码生成的图计算方法及系统
CN110738577B (zh) * 2019-09-06 2022-02-22 平安科技(深圳)有限公司 社区发现方法、装置、计算机设备和存储介质
CN111523011B (zh) * 2020-04-16 2023-04-14 武汉有牛科技有限公司 基于区块链技术分布式图计算引擎的冷热钱包智能标签系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377996B1 (en) * 1999-02-18 2002-04-23 International Business Machines Corporation System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming
US7844634B2 (en) * 2005-11-18 2010-11-30 International Business Machines Corporation Focused community discovery in network
CN102685255A (zh) * 2012-06-01 2012-09-19 重庆邮电大学 一种分布式机会网络社区划分方法
CN103327092A (zh) * 2012-11-02 2013-09-25 中国人民解放军国防科学技术大学 一种信息网络上的社区发现方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377996B1 (en) * 1999-02-18 2002-04-23 International Business Machines Corporation System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming
US7844634B2 (en) * 2005-11-18 2010-11-30 International Business Machines Corporation Focused community discovery in network
CN102685255A (zh) * 2012-06-01 2012-09-19 重庆邮电大学 一种分布式机会网络社区划分方法
CN103327092A (zh) * 2012-11-02 2013-09-25 中国人民解放军国防科学技术大学 一种信息网络上的社区发现方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
节点相似度标签传播在社会网络中的应用研究;夏磊等;《计算机工程与应用》;20121130(第14期);第106页第3.3节第1-2段 *

Also Published As

Publication number Publication date
CN104281664A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN104281664B (zh) 分布式图计算系统数据切分方法和系统
CN110866181B (zh) 资源推荐的方法、装置及存储介质
CN106844407B (zh) 基于数据集相关性的标签网络产生方法和系统
CN108897761A (zh) 一种聚簇存储方法及装置
CN103914506A (zh) 数据检索装置、数据存储方法和数据检索方法
CN103902702A (zh) 一种数据存储系统和存储方法
CN111324827B (zh) 智能推荐货源订单信息的方法、装置、设备及存储介质
CN110880136A (zh) 配套产品的推荐方法、系统、设备和存储介质
CN113449187A (zh) 基于双画像的产品推荐方法、装置、设备及存储介质
CN106326475A (zh) 一种高效的静态哈希表实现方法及系统
CN101119302A (zh) 一种挖掘事务数据流上最近时间窗口内频繁模式的方法
CN105653657A (zh) 一种商品的推荐方法及装置
CN106598999A (zh) 一种计算文本主题归属度的方法及装置
CN111489201A (zh) 一种客户价值分析的方法、设备、存储介质
CN110930192A (zh) 用户流失预测方法、系统、设备和存储介质
CN110288362A (zh) 刷单的预测方法、装置及电子设备
CN102169491A (zh) 一种多数据集中重复记录动态检测方法
CN107229694A (zh) 一种基于大数据的数据信息一致性处理方法、系统及装置
CN107256132A (zh) 一种基于性能测试的异构Redis集群存储分配方法
CN113886708A (zh) 基于用户信息的产品推荐方法、装置、设备及存储介质
CN108984735A (zh) 标签词库更新方法、装置及电子设备
CN104077288B (zh) 网页内容推荐方法和网页内容推荐设备
Gómez et al. Halo merger tree comparison: impact on galaxy formation models
Lim et al. Lazy and eager approaches for the set cover problem
CN108319626B (zh) 一种基于名称信息的对象分类方法与设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant