一种面向海量时序数据的图数据处理方法及系统的制作方法

文档序号:6518661阅读:337来源:国知局
一种面向海量时序数据的图数据处理方法及系统的制作方法
【专利摘要】本发明涉及一种面向海量时序数据的图数据处理方法及系统,预处理社交网络数据,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构;该表示方法能够有效的表示有互动时序关系的社交网络关系;根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号;按照内存组织方式将图结构块导入内存的相应位置中;该内存存储方式充分利用了图数据的分布特性,能达到高效的存储和查询性能;本发明本着节省计算时间和内存空间的原则,改进了原始以顶点为计算单元的编程模型,而是采用以消息为计算单元的编程模型,这种方式在很大程度上节省了计算时间,也节约了存储空间。
【专利说明】一种面向海量时序数据的图数据处理方法及系统
【技术领域】
[0001]本发明涉及大规模图数据处理领域,特别是涉及一种面向海量时序数据的图数据处理方法及系统。
【背景技术】
[0002]近年来随着互联网的快速发展,社交网络平台也迅速发展和普及。用图数据表示社交网络中的人物关系,结合图算法可以挖掘出社交网络人物关系中的隐藏信息。所以,随着社交网络的发展,图数据又一次迎来了热潮。
[0003]但是,随着社交网络的逐渐普及,社交网络数据也呈现指数级增长的趋势。所以,就不能用单机版图数据处理程序来实现对这些大规模图数据的分析处理。
[0004]随着社交网络的热度以及社交网络数据的大规模,目前采用的处理这些大规模数据的方案是在多台机器上并行处理这些数据。这些并行方案基本上都遵循如下思路:首先将庞大的图数据按照一定规律切分(以稠密度较大的区域为基准设定划分内存块的依据,这就造成了内存块能存储下稠密度大的图结构的数据,但对于较稀疏的图结构来说,虽然也能存储,但造成了大量存储空间的浪费),切分成多份,每份图数据都存储在其中一台机器上。当开始处理时,从本机上加载本机上存储的图数据,然后进行计算,最后再通过消息传输的机制交换中间计算结果,经过多次迭代,从而得到最终的计算结果。
[0005]现有的图数据处理的解决方案中,比较有代表性的解决方案有两种。一个是Google 在 2009 年提出的 Pregel,Pregel 使用 BSP(Bulk Synchronous Parallel,整体同步并行计算模型)来完成计算。由于图应用的特点,不能一次计算就得到最终结果,需要多次迭代计算。所以在每两次迭代之间就有一次同步的过程,这个同步的过程是指等待所有任务都计算完毕,然后才能执行同步。Pregel这种方式比较简单,容易理解,但是每两次迭代之间的大同步过程比较耗时,处理效率不高。另外一个典型代表是Microsoft的Ttrinity系统,该系统是2012年公布出来,相对Pregel系统,有如下优势:首先,针对图数据处理这一典型应用,将图数据从存储在文件系统改成存储在分布式内存中,加快了图数据的加载效率;其次,针对具体的图应用,把每两次迭代之间的同步过程用异步代替,可以减少同步带来的整体性能开销。
[0006]但是,图数据处理仍然面临着如下几个问题:
[0007]图数据中除了有人与人之间的连接关系外,还有与时间序列相关的互动关系。这种互动关系与连接关系不同,连接关系用图结构中的一条边即可表示,但是互动关系与时间直接相关,它表示两个顶点之间依据时间关系有多种表示和互动关系。但是目前,大规模图数据处理系统都只处理了人与人之间的连接关系,并没有处理人与人之间按照时间不同的互动关系。
[0008]社交网络的分布情况呈现名人效应,名人在社交网络中比普通人更受关注。所以名人群体是图结构中稠密的部分,并且这个圈子的人基本上都互相认识。所以在表示社交网络的图结构中,稠密部分相对集中,剩下大部分的普通人就是该图结构中的稀疏部分。那么针对这种稠密和稀疏共存的图结构,采用哪种图数据存储与组织方法能够达到高效的特性呢?现有的图数据处理系统中,没有考虑到数据特性而采取统一的存储策略,没有定制化就无法达到高性能,所以,高效的图数据组织也是该领域应该考虑的一个重大问题。
[0009]图数据处理中都以图数据顶点作为处理单元,当到来一批消息时,针对图数据的每个顶点遍历所有消息,当把图数据顶点遍历完毕后,才能把所有到来的消息删掉,相当于一个匹配过程。这个匹配过程不仅耗费时间,要对每个顶点遍历所有消息,而且要占用大量内存空间存储这些中间消息直到所有顶点全部遍历完。

【发明内容】

[0010]本发明所要解决的技术问题是提供一种面向海量时序数据的图数据处理方法及系统,解决现有图数据处理技术中无法表达时序互动关系、图数据的存储没有充分考虑到数据分布特性、以顶点为单位的图数据处理编程模型在计算时间和存储空间上存在着极大浪费等问题。
[0011]本发明解决上述技术问题的技术方案如下:一种面向海量时序数据的图数据处理方法,包括如下步骤:
[0012]步骤1:预处理社交网络数据,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构;
[0013]步骤2:根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号;
[0014]步骤3:将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中;
[0015]步骤4:用户按照基于消息的编程模型编写应用作业,并将应用作业提交给应用作业处理单元;
[0016]步骤5:应用作业处理单元从内存中获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
[0017]本发明的有益效果是:本发明在两个顶点之间建立多条边,每条边代表两个顶点间的互动关系,每条边上带有表示该条边建立时间的时间戳,也就是互动发生的时间,该表示方法能够有效的表示有互动时序关系的社交网络关系;本发明针对图数据的特殊分布(名人效应)设计了一种图数据的内存存储方式,充分利用了图数据的分布特性,能达到高效的存储和查询性能;本发明本着节省计算时间和内存空间的原则,改进了原始以顶点为计算单元的编程模型,而是采用以消息为计算单元的编程模型,这种方式在很大程度上节省了计算时间,也节约了存储空间。
[0018]在上述技术方案的基础上,本发明还可以做如下改进。
[0019]进一步,所述步骤I对社交网络数据进行预处理的具体步骤为:
[0020]步骤1.1:从社交网络数据中抽取出具体人物,组成图结构的顶点;
[0021]步骤1.2:从社交网络数据中抽取出人物与人物间的互动,每次互动组成图结构的一条边;
[0022]步骤1.3:在图结构的每条边上设置表示该条边建立时间的时间戳。
[0023]进一步,步骤2根据名人效应将图结构按照欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号的具体实现为:
[0024]步骤2.1:统计图结构中与每个顶点相连的边的条数,计算图结构稠密度的平均值;
[0025]步骤2.2:根据图结构稠密度的平均值设定用于切分图结构的欧式距离,并根据欧式距离对图结构进行切分,得到若干个图结构块;
[0026]步骤2.3:对切分后的图结构块进行编号得到块编号,并且对图结构块中的每个顶点进行编号,每个顶点的编号为块编号加顶点编号。
[0027]进一步,所述步骤3中每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中的具体步骤如下:
[0028]步骤3.1:在内存中开辟一片内存区间,并将内存区间分成N个固定大小的内存分区,用于存储N个图结构块;
[0029]步骤3.2:在每个内存分区中为每个顶点分配一个固定大小的内存块,用于存储该顶点的顶点数据和关系数据;
[0030]步骤3.3:判断该顶点是否具有名人效应,如果具有,且所述内存块不能存储该顶点的顶点数据和所有关系数据,则将该顶点的顶点数据和部分关系数据存储在内存块中,并再开辟一个或一个以上固定大小的附加内存块,将剩余的关系数据存储在附加内存块中,并用指针指向所述附加内存块;否则直接将该顶点的顶点数据和所有关系数据存储在相应内存块中;
[0031]步骤3.4:在附件内存块中,建立以时间为主关键字,以图结构中的顶点为次关键字的索引。
[0032]进一步,步骤5中应用作业处理单元从内存中获取所需数据,并按照基于消息的处理模式执行应用作业,得到运算结果的具体实现为:
[0033]步骤5.1:应用作业执行单元执行应用作业,应用作业包含若干个任务,每个任务管理一个图结构块;
[0034]步骤5.2:每个任务从其管理的图结构块中按顶点编号获取所需数据,按照应用作业的处理逻辑处理图结构块中的数据,处理完成后生成若干条消息,并将消息发送给其他任务;
[0035]步骤5.3:接收消息的任务依次解析到来的每一条消息,提取出该消息应要到达的目的顶点;
[0036]步骤5.4:更新目的顶点的值,进而删除该条消息;
[0037]步骤5.5:判断是否还有未处理的消息,如果有,返回步骤5.3,否则结束。
[0038]本发明解决上述技术问题的技术方案如下:一种面向海量时序数据的图数据处理系统,包括存储层、计算层和用户层;
[0039]所述存储层,其用于建立能表示人物之间互动关系的图结构,并根据名人效应实现图结构的个性化存储;
[0040]所述用户层,其用于编写基于消息处理的应用作业,并提交给计算层;
[0041]所述计算层,其用于从存储层获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
[0042]在上述技术方案的基础上,本发明还可以做如下改进。[0043]进一步,所述存储层包括数据预处理单元、图结构切割单元、数据导入单元和内存单元;
[0044]所述数据预处理单元,其用于对社交网络数据进行预处理,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构;
[0045]所述图结构切割单元,其用于根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号;
[0046]所述数据导入单元,其用于将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中;
[0047]所述内存单元,包括若干个节点的内存,分别用于存储导入的图结构块数据。
[0048]进一步,所述用户层包括应用作业编写单元和应用作业提交单元,
[0049]所述应用作业编写单元,其用于编写基于消息处理的应用作业,并将应用作业发送给应用作业提交单元;
[0050]所述应用作业提交单元,其用于将应用作业提交给计算层的应用作业处理单元。
[0051]进一步,所述计算层包括应用作业处理单元,其用于按照消息处理模式执行应用作业。
[0052]进一步,所述图应用作业中包含若干个任务,每个任务负责处理一个图结构块。
【专利附图】

【附图说明】
[0053]图1为本发明所述一种面向海量时序数据的图数据处理方法流程图;
[0054]图2为本发明所述步骤I的具体实现流程图;
[0055]图3为本发明所述步骤2的具体实现流程图;
[0056]图4为本发明所述步骤3的具体实现流程图;
[0057]图5为本发明所述步骤5的具体实现流程图;
[0058]图6为本发明所述一种面向海量时序数据的图数据处理系统结构框图;
[0059]图7为本发明所述实施例1中部分图结构示意图;
[0060]图8为本发明所述实施例2 —个节点的内存中一个内存分区的存储结构示意图;
[0061]图9为现有技术中以顶点为处理单元的处理过程示意图;
[0062]图10为本发明所述以消息为处理单元的处理过程示意图。
[0063]附图中,各标号所代表的部件列表如下:
[0064]1、存储层,2、用户层,3、计算层,1-1、数据预处理单元,1-2、图结构切割单元,1_3、数据导入单元,1-4、内存单元,2-1、应用作业编写单元,2-2、应用作业提交单元,3-1、应用作业处理单元;101、内存块,102、附加内存块,201、顶点,202、消息。
【具体实施方式】
[0065]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0066]如图1所示,一种面向海量时序数据的图数据处理方法,包括如下步骤:
[0067]步骤1:预处理社交网络数据,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构;[0068]步骤2:根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号;
[0069]步骤3:将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中;
[0070]步骤4:用户按照基于消息的编程模型编写应用作业,并将应用作业提交给应用作业处理单元;
[0071]步骤5:应用作业处理单元从内存中获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
[0072]如图2所示,所述步骤I对社交网络数据进行预处理的具体步骤为:
[0073]步骤1.1:从社交网络数据中抽取出具体人物,组成图结构的顶点;
[0074]步骤1.2:从社交网络数据中抽取出人物与人物间的互动,每次互动组成图结构的一条边;
[0075]步骤1.3:在图结构的每条边上设置表示该条边建立时间的时间戳。
[0076]如图3所示,步骤2根据名人效应将图结构按照欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号的具体实现为:
[0077]步骤2.1:统计图结构中与每个顶点相连的边的条数,计算图结构稠密度的平均值;
[0078]步骤2.2:根据图结构稠密度的平均值设定用于切分图结构的欧式距离,并根据欧式距离对图结构进行切分,得到若干个图结构块;
[0079]步骤2.3:对切分后的图结构块进行编号得到块编号,并且对图结构块中的每个顶点进行编号,每个顶点的编号为块编号加顶点编号。
[0080]如图4所示,所述步骤3中每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中的具体步骤如下:
[0081]步骤3.1:在内存中开辟一片内存区间,并将内存区间分成N个固定大小的内存分区,用于存储N个图结构块;
[0082]步骤3.2:在每个内存分区中为每个顶点分配一个固定大小的内存块,用于存储该顶点的顶点数据和关系数据;
[0083]步骤3.3:判断该顶点是否具有名人效应,如果具有,且所述内存块不能存储该顶点的顶点数据和所有关系数据,则将该顶点的顶点数据和部分关系数据存储在内存块中,并再开辟一个或一个以上固定大小的附加内存块,将剩余的关系数据存储在附加内存块中,并用指针指向所述附加内存块;否则直接将该顶点的顶点数据和所有关系数据存储在相应内存块中;
[0084]步骤3.4:在附件内存块中,建立以时间为主关键字,以图结构中的顶点为次关键字的索引。
[0085]如图5所示,步骤5中应用作业处理单元从内存中获取所需数据,并按照基于消息的处理模式执行应用作业,得到运算结果的具体实现为:
[0086]步骤5.1:应用作业执行单元执行应用作业,应用作业包含若干个任务,每个任务管理一个图结构块;
[0087]步骤5.2:每个任务从其管理的图结构块中按顶点编号获取所需数据,按照应用作业的处理逻辑处理图结构块中的数据,处理完成后生成若干条消息,并将消息发送给其他任务;
[0088]步骤5.3:接收消息的任务依次解析到来的每一条消息,提取出该消息应要到达的目的顶点;
[0089]步骤5.4:更新目的顶点的值,进而删除该条消息;
[0090]步骤5.5:判断是否还有未处理的消息,如果有,返回步骤5.3,否则结束。
[0091]如图6所示:一种面向海量时序数据的图数据处理系统,包括存储层1、用户层2和计算层3 ;
[0092]所述存储层I,其用于建立能表示人物之间互动关系的图结构,并根据名人效应实现图结构的个性化存储;
[0093]所述用户层2,其用于编写基于消息处理的应用作业,并提交给计算层3 ;
[0094]所述计算层3,其用于从存储层I获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
[0095]其中,所述存储层I包括数据预处理单元1-1、图结构切割单元1-2、数据导入单元1-3和内存单兀1-4 ;
[0096]所述数据预处理单元1-1,其用于对社交网络数据进行预处理,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构;
[0097]所述图结构切割单元1-2,其用于根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号;
[0098]所述数据导入单元1-3,其用于将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中;
[0099]所述内存单元1-4,包括若干个节点的内存,分别用于存储导入的图结构块数据。
[0100]其中,所述用户层2包括应用作业编写单元2-1和应用作业提交单元2-2,
[0101]所述应用作业编写单元2-1,其用于编写基于消息处理的应用作业,并将应用作业发送给应用作业提交单元2-2 ;
[0102]所述应用作业提交单元2-2,其用于将应用作业提交给计算层的应用作业处理单兀 3-1 ο
[0103]其中,所述计算层3包括应用作业处理单元3-1,其用于按照消息处理模式执行应用作业。
[0104]其中,所述图应用作业中包含若干个任务,每个任务负责处理一个或一个以上编号相邻的图结构。
[0105]图数据中除了有人与人之间的连接关系外,还有人与人之间与时间序列相关的互动关系。这种互动关系与连接关系不同,连接关系用图结构中的一条边即可表示,但是互动关系与时间直接相关,它表不两个顶点之间依据时间关系有多种表不和互动关系。但是目前,大规模图数据处理系统都只处理了人与人之间的连接关系,并没有处理人与人之间按照时间不同的互动关系。
[0106]本发明设计了一种以顶点代表人物,以带有时间戳的边代表人物间的互动关系的图结构,该表示方法在两个顶点之间建立多条边,图7为本发明实施例1中,能表示人物间互动关系的部分图结构示意图,每条边上的值为该条边的建立时间,也就是互动发生的时间,该表不方法能够有效的表不有互动时序关系的社交网络关系。数据的多版本除了可以表示社交网络的图结构,还能表示图结构中这些顶点之间以时间为单位的互动关系,简称为时序关系。抽象成图结构之后,与原始的图结构有本质的区别。原始的图结构中每两个顶点之间只有一条边(无向图的情况)或两条边(有向图的情况)相连,改进后的图结构中每两个顶点之间有多条边相连,每条边表示这两个顶点之间带时间戳的互动关系,如评论照片,评论说说,转载,“赞”等。
[0107]现有的数据存储方式是以稠密度较大的区域为基准设定划分内存块的依据,这就造成了内存块能存储下稠密度大的图结构的数据,但对于较稀疏的图结构来说,虽然也能存储,但造成了大量存储空间的浪费;另一方面,对于数据的查询,现有技术是将该块图结构的所有数据(顶点数据和关系数据,其中关系数据包括代表互动关系的边的方向和其时间戳)都存储在分得的内存块中,数据查询时要遍历内存分区中所有数据,使数据查询效率降低。
[0108]在社交网络中,每个人的活跃程度和受欢迎程度不尽相同。可想而知,名人的微博相比起普通大众来说更受关注。所以,代表名人的顶点有更多边与其相连,同样的道理,也会有更多的互动关系。如此,可以理解为在社交网络中,名人圈是一个稠密的图结构,而普通人又是一个稀疏的图结构。但是,名人相对于普通人来说,毕竟是一个很小的群体。本发明针对图数据的特殊分布(名人效应)设计了一种图数据的内存存储方式,充分利用了图数据的分布特性,能达到高效的存储和查询性能。如图8所示,为本发明实施例2中一个节点的内存中一个内存分区存储图结构块的示意图,本发明根据图结构块的切割情况,在内存中开辟一片内存空间,并分成N块固定大小的内存分区,将图结构块存储到相应的内存分区中。具体存储方法为:在内存分区中为每个顶点分配一个固定大小的内存块101,其中每个顶点的数据包括顶点数据和关系数据,关系数据包括边数据和时间戳数据,将每个顶点的数据存入一个内存块中,当某个顶点稠密度较大时(即其包含的关系数据较多),即该顶点的顶点数据和少量关系数据存储在分得的内存块中,再另外开辟若干个附加内存块102,并用指针指向所述附加内存块102,并将剩余的关系数据存储在附加内存块102中。本发明还在附件内存块102中建立以时间为第一关键字,以顶点为第二关键字的索引,便于数据的查找。
[0109]如图9所示,为现有技术中以顶点为处理单元的处理过程示意图,传统的图计算模型都是以顶点为处理单元,在每一轮迭代过程中,接收到了邻居任务发过来的消息202,具体的处理过程就是针对每一个顶点201,遍历所有消息202,找到与该顶点201匹配的消息202,然后将该消息202提取出来。在所有顶点201都遍历完毕后,这些消息202才能删除。所以,占用了大量的计算资源和存储资源。
[0110]图10为本发明所述以消息为处理单元的处理过程示意图,在本发明中,这种以消息为处理单元的编程模型是指每来一条消息202,直接解析该条消息202,然后找出与该消息202对应的顶点201进行计算,同时可以删除该消息202。这种方式下,计算只与消息202数目相关,同时不必要保存所有的消息条数,从很大程度上可以节省计算时间和存储空间。
[0111]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种面向海量时序数据的图数据处理方法,其特征在于,包括如下步骤: 步骤1:预处理社交网络数据,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构; 步骤2:根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号; 步骤3:将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中; 步骤4:用户按照基于消息的编程模型编写应用作业,并将应用作业提交给应用作业处理单元; 步骤5:应用作业处理单元从内存中获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
2.根据权利要求1所述一种面向海量时序数据的图数据处理方法,其特征在于,所述步骤I对社交网络数据进行预处理的具体步骤为: 步骤1.1:从社交网络数据中抽取出具体人物,组成图结构的顶点; 步骤1.2:从社交网络数据中抽取出人物与人物间的互动,每次互动组成图结构的一条边; 步骤1.3:在图结构的每条边上设置表示该条边建立时间的时间戳。
3.根据权利要求1所述一种面向海量时序数据的图数据处理方法,其特征在于,步骤2根据名人效应将图结构按照欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号的具体实现为: 步骤2.1:统计图结构中与每个顶点相连的边的条数,计算图结构稠密度的平均值;步骤2.2:根据图结构稠密度的平均值设定用于切分图结构的欧式距离,并根据欧式距离对图结构进行切分,得到若干个图结构块; 步骤2.3:对切分后的图结构块进行编号得到块编号,并且对图结构块中的每个顶点进行编号,每个顶点的编号为块编号加顶点编号。
4.根据权利要求1所述一种面向海量时序数据的图数据处理方法,其特征在于,所述步骤3中每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中的具体步骤如下: 步骤3.1:在内存中开辟一片内存区间,并将内存区间分成N个固定大小的内存分区,用于存储N个图结构块; 步骤3.2: 在每个内存分区中为每个顶点分配一个固定大小的内存块,用于存储该顶点的顶点数据和关系数据; 步骤3.3:判断该顶点是否具有名人效应,如果具有,且所述内存块不能存储该顶点的顶点数据和所有关系数据,则将该顶点的顶点数据和部分关系数据存储在内存块中,并再开辟一个或一个以上固定大小的附加内存块,将剩余的关系数据存储在附加内存块中,并用指针指向所述附加内存块;否则直接将该顶点的顶点数据和所有关系数据存储在相应内存块中; 步骤3.4:在附件内存块中,建立以时间为主关键字,以图结构中的顶点为次关键字的索引。
5.根据权利要求1所述一种面向海量时序数据的图数据处理方法,其特征在于,步骤5中应用作业处理单元从内存中获取所需数据,并按照基于消息的处理模式执行应用作业,得到运算结果的具体实现为: 步骤5.1:应用作业执行单元执行应用作业,应用作业包含若干个任务,每个任务管理一个图结构块; 步骤5.2:每个任务从其管理的图结构块中按顶点编号获取所需数据,按照应用作业的处理逻辑处理图结构块中的数据,处理完成后生成若干条消息,并将消息发送给其他任务; 步骤5.3:接收消息的任务依次解析到来的每一条消息,提取出该消息应要到达的目的顶点; 步骤5.4:更新目的顶点的值,进而删除该条消息; 步骤5.5:判断是否还有未处理的消息,如果有,返回步骤5.3,否则结束。
6.一种面向海量时序数据的图数据处理系统,其特征在于,包括存储层、计算层和用户层; 所述存储层,其用于建立能表示人物之间互动关系的图结构,并根据名人效应实现图结构的个性化存储; 所述用户层,其用于编写基于消息处理的应用作业,并提交给计算层; 所述计算层,其用于从存储层获取所需图结构块的数据,并按照基于消息的处理模式执行应用作业,得到运算结果。
7.根据权利要求6所述一种面向海量时序数据的图数据处理系统,其特征在于,所述存储层包括数据预处理单元、图结构切割单元、数据导入单元和内存单元; 所述数据预处理单元,其用于对社交网络数据进行预处理,并抽象出以顶点代表人物,以若干条带有时间戳的边代表人物间互动关系的图结构; 所述图结构切割单元,其用于根据名人效应将图结构按照预定的欧式距离切分成若干个图结构块,并给图结构块及其内部的顶点编号; 所述数据导入单元,其用于将图结构块分配给不同的节点进行处理,每个节点按照内存组织方式将其分得的图结构块导入内存的相应位置中; 所述内存单元,包括若干个节点的内存,分别用于存储导入的图结构块数据。
8.根据权利要求6所述一种面向海量时序数据的图数据处理系统,其特征在于,所述用户层包括应用作业编写单元和应用作业提交单元, 所述应用作业编写单元,其用于编写基于消息处理的应用作业,并将应用作业发送给应用作业提交单元; 所述应用作业提交单元,其用于将应用作业提交给计算层的应用作业处理单元。
9.根据权利要求6所述一种面向海量时序数据的图数据处理系统,其特征在于,所述计算层包括应用作业处理单元,其用于按照消息处理模式执行应用作业。
10.根据权利要求6所述一种面向海量时序数据的图数据处理系统,其特征在于,所述图应用作业中包含若干个任务,每个任务负责处理一个图结构块。
【文档编号】G06F17/30GK103593433SQ201310559846
【公开日】2014年2月19日 申请日期:2013年11月12日 优先权日:2013年11月12日
【发明者】周薇, 高赟, 冉攀峰, 韩冀中 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1