一种链接分析的计算方法和装置及系统制造方法及图纸

技术编号:11359760 阅读:69 留言:0更新日期:2015-04-29 10:40
本发明专利技术实施例公开了一种链接分析的计算方法和装置及系统,用于减少对内存的占用,数据计算成本较低。本发明专利技术实施例方法包括:处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,第一子地图数据包括第一节点的身份识别码ID和第一节点的边所链接的目标节点的ID;处理机在第一超级步super step中对第一子地图数据中的每一个目标节点进行权值分发,针对第一子地图数据中的每一个目标节点分别生成消息,消息包括处理机在第一super step中为第一子地图数据中的每一个目标节点分发的权值;处理机将在第一super step中对第一子地图数据中的每一个目标节点分别生成的消息存储到分布式文件系统中。

【技术实现步骤摘要】
一种链接分析的计算方法和装置及系统
本专利技术涉及计算机
,尤其涉及一种链接分析的计算方法和装置及系统。
技术介绍
随着互联网技术的飞速发展,搜索引擎因其能够在海量的网络资源中为用户找到所需的信息而越来越受到重视。其中,基于链接分析的搜索引擎因其准确率较高,日益受到用户的欢迎。目前,链接分析对整个网页搜索起非常重要的作用。链接分析主要的功能是依据网页之间的链接关系,网页的锚文本等信息,评价网页的重要性(或称权威性),通过对网页的评价会对网页搜索最终结果的排序产生影响。现有技术中存在一种适用于大规模图计算的链接分析计算方法,适用于大规模图计算的系统Pregel,主要用于PageRank和路径计算,由于pregel目前的计算状态都是常驻内存的,对于规模继续增大的图计算对内存的要求越来越大,这种基于全内存的计算系统在内存资源不够或者数据量特别大的时候,并不适用,数据计算成本比较高。
技术实现思路
本专利技术实施例提供了一种链接分析的计算方法和装置及系统,用于减少对内存的占用,数据计算成本较低。为解决上述技术问题,本专利技术实施例提供以下技术方案:第一方面,本专利技术实施例提供一种链接分析的计算方法,包括:处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点的ID;所述处理机在第一超级步superstep中对所述第一子地图数据中的每一个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,所述消息包括所述处理机在第一superstep中为所述第一子地图数据中的每一个目标节点分发的权值;所述处理机将在所述第一superstep中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中。第二方面,本专利技术实施例还提供另一种链接分析的计算方法,包括:管理服务器将地图数据划分为多个子地图数据,其中,每个子地图数据包括一个源节点的ID和所述源节点的边所链接的目标节点的ID;所述管理服务器将所述多个子地图数据存储到分布式文件系统;所述管理服务器监测每个处理机是否已经根据所述子地图数据完成第一超级步superstep的计算。第三方面,本专利技术实施例还提供一种处理机,包括:子地图获取模块,用于从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点的ID;权值分发模块,用于在第一超级步superstep中对所述第一子地图数据中的每一个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,所述消息包括所述处理机在第一superstep中为所述第一子地图数据中的每一个目标节点分发的权值;消息存储模块,用于将在所述第一superstep中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中。第四方面,本专利技术实施例还提供一种管理服务器,包括:地图预处理模块,用于将地图数据划分为多个子地图数据,其中,每个子地图数据包括一个源节点的ID和所述源节点的边所链接的目标节点的ID;子地图存储模块,用于将所述多个子地图数据存储到分布式文件系统;计算监测模块,用于监测每个处理机是否已经根据所述子地图数据完成第一超级步superstep的计算。第五方面,本专利技术实施例还提供一种链接分析的计算系统,包括:如前述第三方面所述的管理服务器、两个以上的如前述第四方面所述的处理机和分布式文件系统,所述管理服务器和所述处理机分别与所述分布式文件系统之间具有通信连接。从以上技术方案可以看出,本专利技术实施例具有以下优点:在本专利技术实施例中,管理服务器首先对地图数据进行预处理,根据节点和该节点的链接关系将地图数据划分为多个子地图数据,管理服务器将所有子地图数据存储到分布式文件系统中,多个处理机根据各自所负责处理的节点分别从分布式文件系统中获取到属于各个处理机负责处理的子地图数据,其中一处理机获取到第一子地图数据之后,上述处理机在第一superstep中对第一子地图数据中的每一个目标节点进行权值分发,针对第一子地图数据中的每一个目标节点分别生成消息,然后上述处理机将在第一superstep中对第一子地图数据中的每一个目标节点分别生成的消息存储到分布式文件系统中,在处理机进行第一superstep的计算时管理服务器监测处理机是否已经根据子地图数据完成第一superstep的计算。由于本专利技术实施例中管理服务器可以将地图数据切割为多个子地图数据,而每个处理机只负责处理属于自己的子地图数据而无需加载所有的地图数据,所以当地图数据很大时,每个处理机只处理自己负责的子地图数据并不会占用过多的内存,不会带来计算成本的急剧上升,并且本专利技术实施例中处理机在每一次的superstep计算后都会将对每个目标节点分别生成的消息存储到分布式文件系统中,故处理机生成的消息数据也不会常驻内存,对内存需要有太高的要求。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种链接分析的计算方法的流程方框示意图;图2-a为本专利技术实施例提供的一种源节点和目标节点的链接关系示意图;图2-b为本专利技术实施例提供的另一种源节点和目标节点的链接关系示意图;图3为本专利技术实施例提供的一种处理机将消息合并后存储到文件分布式文件系统的实现方式示意图;图4为本专利技术实施例提供的另一种链接分析的计算方法的流程方框示意图;图5为本专利技术实施例提供的另一种链接分析的计算方法的计算流程示意图;图6为本专利技术实施例提供的一种链接分析的计算系统的逻辑架构示意图;图7为本专利技术实施例提供的一种消息格式示意图;图8为本专利技术实施例提供的一种处理机的组成结构示意图;图9为本专利技术实施例提供的一种管理服务器的组成结构示意图;图10为本专利技术实施例提供的一种链接分析的计算系统的组成结构示意图。具体实施方式本专利技术实施例提供了一种链接分析的计算方法和装置及系统,用于减少对内存的占用,数据计算成本较低。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本专利技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。以下分别进行详细说明。本专利技术链接分析的计算方法的一个实施例,首先从处理机的角度来描述,可以包括:处理机从本文档来自技高网...

【技术保护点】
一种链接分析的计算方法,其特征在于,包括:处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点的ID;所述处理机在第一超级步super step中对所述第一子地图数据中的每一个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,所述消息包括所述处理机在第一super step中为所述第一子地图数据中的每一个目标节点分发的权值;所述处理机将在所述第一super step中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中。

【技术特征摘要】
1.一种链接分析的计算方法,其特征在于,包括:处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点的ID;所述处理机在第一超级步superstep中对所述第一子地图数据中的每一个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,所述消息包括所述处理机在第一superstep中为所述第一子地图数据中的每一个目标节点分发的权值;所述处理机将在所述第一superstep中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中;其中,所述处理机将在所述第一superstep中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中,包括:所述处理机将在所述第一superstep中每生成一个消息后,就将生成的消息留存在所述处理机的内存中;当所述处理机的内存中留存的消息数量达到预置的消息记录数时,所述处理机将所述内存中留存的消息发送到所述处理机的本地数据缓冲区,所述本地数据缓冲区中还存储有所述处理机对第二子地图数据中的每个目标节点分别生成的消息,所述第二子地图数据包括第二节点的ID和所述第二节点的边所链接的目标节点的ID;当所述本地数据缓冲区中存储的消息超过容量门限时,所述处理机将所述本地数据缓冲区中存储的消息批量存储到所述分布式文件系统中。2.根据权利要求1所述的方法,其特征在于,所述处理机将所述内存中留存的消息发送到所述处理机的本地数据缓冲区之后,还包括:所述处理机将所述本地数据缓冲区中对相同目标节点分别生成的消息进行合并和压缩。3.根据权利要求1所述的方法,其特征在于,所述第一子地图数据中还包括:所述第一节点的边所链接的目标节点中属于悬挂dangling节点的目标节点;所述处理机在第一超级步superstep中对所述第一子地图数据中的每一个目标节点进行权值分发之后,还包括:所述处理机将对属于dangling节点的目标节点分发的权值进行合并,得到所述第一节点在所述第一superstep中对应的dangling分数;所述处理机将所述第一节点在所述第一superstep中对应的dangling分数存储到所述分布式文件系统中,以使所述管理服务器通过所述分布式文件系统获取到在完成所述第一superstep的计算后所述第一节点对应的dangling分数。4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:所述处理机监测所述分布式文件系统中所述第一节点对应的源节点是否为所述第一节点生成有消息,所述第一节点为所述源节点的目标节点;若所述源节点为所述第一节点生成有消息,所述处理机从所述分布式文件系统中获取所述源节点为所述第一节点生成的消息;所述处理机对所有源节点为所述第一节点分发的权值进行合并,得到所述第一节点的权值。5.根据权利要求4所述的方法,其特征在于,所述处理机对所有源节点为所述第一节点分发的权值进行合并,包括:所述处理机对每N个源节点为所述第一节点分发的权值进行合并后,备份当前得到的所述第一节点的权值,并记录下已经处理过的源节点的ID,所述N为自然数。6.根据权利要求1所述的方法,其特征在于,所述处理机将在所述第一superstep中对所述第一子地图数据中的每一个目标节点分别生成的消息存储到所述分布式文件系统中之后,还包括:所述处理机监测超级步的轮次信息是否发生更新;若所述超级步的轮次信息从所述第一superstep更新为第二superstep,所述处理机在第二superstep中对所述第一子地图数据中的每一个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,并将生成的消息存储到所述分布式文件系统中。7.一种链接分析的计算方法,其特征在于,包括:管理服务器将地图数据划分为多个子地图数据,其中,每个子地图数据包括一个源节点的ID和所述源节点的边所链接的目标节点的ID;所述管理服务器将所述多个子地图数据存储到分布式文件系统;所述管理服务器监测每个处理机是否已经根据所述子地图数据完成第一超级步superstep的计算,所述处理机根据所述子地图数据完成第一超级步superstep的计算包括:所述处理机对所述子地图数据中的每一个目标节点进行权值分发,针对所述子地图数据中的每一个目标节点分别生成消息,所述消息包括所述处理机为所述子地图数据中的每一个目标节点分发的权值。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若所有处理机已经完成第一superstep的计算,将超级步的轮次信息从所述第一superstep更新为第二superstep,并将更新后的所述超级步的轮次信息存储到所述分布式文件系统中;所述管理服务器监测所述每个处理机是否已经根据所述子地图数据完成第二superstep的计算。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:若所有处理机都已经完成第一superstep的计算,所述管理服务器获取所述每个处理机在完成所述第一superstep的计算后发送的悬挂dangling分数;所述管理服务器将所述每个处理机在完成所述第一superstep的计算后发送的dangling分数进行合并,并计算出所述第一superstep对应的dangling平均分数;所述管理服务器将所述第一superstep对应的dangling平均分数发送给所述每个处理机。10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:当所述超级步的轮次信息更新完所有superstep后,所述管理服务器监测所述每个处理机是否已经根据所述子地图数据完成所有superstep的计算;若所有处理机都已经完成所有superstep的计算,所述管理服务器获取每个处理机在完成所述所有superstep的计算后发送的dangling分数;所述管理服务器将所述每个处理机在完成所述所有superstep的计算后发送的dangling分数进行合并,并计算出所述所有superstep对应的dangling平均分数;所述管理服务器将所述所有superstep对应的dangling平均分数发送给所述每个处理机。11.根据权利要求7所述的方法,其特征在于,所述方法还包括:所述管理服务器监测所述每个处理机在执行所述第一superstep的计算时的运行状态,所述运行状态指的是所述处理机的计算效率或者是否正常工作的指示;所述管理服务器将计算效率最低或者不正常工作的处理机所执行的计算任务迁移到另一个处理机,并通过计算效率最低或者不正常工作的处理机退出。12.一种处理机,其特征在于,包括:子地图获取模块,用于从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点...

【专利技术属性】
技术研发人员:蒲若昂
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1