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

文档序号:8258601阅读:221来源:国知局
一种链接分析的计算方法和装置及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种链接分析的计算方法和装置及系统。
【背景技术】
[0002] 随着互联网技术的飞速发展,搜索引擎因其能够在海量的网络资源中为用户找到 所需的信息而越来越受到重视。其中,基于链接分析的搜索引擎因其准确率较高,日益受到 用户的欢迎。
[0003] 目前,链接分析对整个网页搜索起非常重要的作用。链接分析主要的功能是依据 网页之间的链接关系,网页的锚文本等信息,评价网页的重要性(或称权威性),通过对网页 的评价会对网页搜索最终结果的排序产生影响。
[0004] 现有技术中存在一种适用于大规模图计算的链接分析计算方法,适用于大规模图 计算的系统Pregel,主要用于PageRank和路径计算,由于pregel目前的计算状态都是常 驻内存的,对于规模继续增大的图计算对内存的要求越来越大,这种基于全内存的计算系 统在内存资源不够或者数据量特别大的时候,并不适用,数据计算成本比较高。

【发明内容】

[0005] 本发明实施例提供了一种链接分析的计算方法和装置及系统,用于减少对内存的 占用,数据计算成本较低。
[0006] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0007] 第一方面,本发明实施例提供一种链接分析的计算方法,包括:
[0008] 处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,所述 第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链接的目标节点的 ID;
[0009] 所述处理机在第一超级步superstep中对所述第一子地图数据中的每一个目标 节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息,所述消 息包括所述处理机在第一superstep中为所述第一子地图数据中的每一个目标节点分发 的权值;
[0010] 所述处理机将在所述第一superSt印中对所述第一子地图数据中的每一个目标 节点分别生成的消息存储到所述分布式文件系统中。
[0011] 第二方面,本发明实施例还提供另一种链接分析的计算方法,包括:
[0012] 管理服务器将地图数据划分为多个子地图数据,其中,每个子地图数据包括一个 源节点的ID和所述源节点的边所链接的目标节点的ID;
[0013] 所述管理服务器将所述多个子地图数据存储到分布式文件系统;
[0014] 所述管理服务器监测每个处理机是否已经根据所述子地图数据完成第一超级步 superstep的计算。
[0015] 第三方面,本发明实施例还提供一种处理机,包括:
[0016] 子地图获取模块,用于从分布式文件系统中获取管理服务器预处理生成的第一子 地图数据,所述第一子地图数据包括第一节点的身份识别码ID和所述第一节点的边所链 接的目标节点的ID;
[0017] 权值分发模块,用于在第一超级步superstep中对所述第一子地图数据中的每一 个目标节点进行权值分发,针对所述第一子地图数据中的每一个目标节点分别生成消息, 所述消息包括所述处理机在第一superstep中为所述第一子地图数据中的每一个目标节 点分发的权值;
[0018] 消息存储模块,用于将在所述第一superstep中对所述第一子地图数据中的每一 个目标节点分别生成的消息存储到所述分布式文件系统中。
[0019] 第四方面,本发明实施例还提供一种管理服务器,包括:
[0020] 地图预处理模块,用于将地图数据划分为多个子地图数据,其中,每个子地图数据 包括一个源节点的ID和所述源节点的边所链接的目标节点的ID;
[0021] 子地图存储模块,用于将所述多个子地图数据存储到分布式文件系统;
[0022] 计算监测模块,用于监测每个处理机是否已经根据所述子地图数据完成第一超级 步superstep的计算。
[0023] 第五方面,本发明实施例还提供一种链接分析的计算系统,包括:
[0024] 如前述第三方面所述的管理服务器、两个以上的如前述第四方面所述的处理机和 分布式文件系统,所述管理服务器和所述处理机分别与所述分布式文件系统之间具有通信 连接。
[0025] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0026] 在本发明实施例中,管理服务器首先对地图数据进行预处理,根据节点和该节点 的链接关系将地图数据划分为多个子地图数据,管理服务器将所有子地图数据存储到分布 式文件系统中,多个处理机根据各自所负责处理的节点分别从分布式文件系统中获取到属 于各个处理机负责处理的子地图数据,其中一处理机获取到第一子地图数据之后,上述处 理机在第一superstep中对第一子地图数据中的每一个目标节点进行权值分发,针对第一 子地图数据中的每一个目标节点分别生成消息,然后上述处理机将在第一superstep中对 第一子地图数据中的每一个目标节点分别生成的消息存储到分布式文件系统中,在处理机 进行第一superst印的计算时管理服务器监测处理机是否已经根据子地图数据完成第一 superstep的计算。由于本发明实施例中管理服务器可以将地图数据切割为多个子地图数 据,而每个处理机只负责处理属于自己的子地图数据而无需加载所有的地图数据,所以当 地图数据很大时,每个处理机只处理自己负责的子地图数据并不会占用过多的内存,不会 带来计算成本的急剧上升,并且本发明实施例中处理机在每一次的superstep计算后都会 将对每个目标节点分别生成的消息存储到分布式文件系统中,故处理机生成的消息数据也 不会常驻内存,对内存需要有太高的要求。
【附图说明】
[0027] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
[0028] 图1为本发明实施例提供的一种链接分析的计算方法的流程方框示意图;
[0029] 图2_a为本发明实施例提供的一种源节点和目标节点的链接关系示意图;
[0030] 图2_b为本发明实施例提供的另一种源节点和目标节点的链接关系示意图;
[0031] 图3为本发明实施例提供的一种处理机将消息合并后存储到文件分布式文件系 统的实现方式示意图;
[0032] 图4为本发明实施例提供的另一种链接分析的计算方法的流程方框示意图;
[0033]图5为本发明实施例提供的另一种链接分析的计算方法的计算流程示意图;
[0034]图6为本发明实施例提供的一种链接分析的计算系统的逻辑架构示意图;
[0035] 图7为本发明实施例提供的一种消息格式示意图;
[0036] 图8为本发明实施例提供的一种处理机的组成结构示意图;
[0037] 图9为本发明实施例提供的一种管理服务器的组成结构示意图;
[0038]图10为本发明实施例提供的一种链接分析的计算系统的组成结构示意图。
【具体实施方式】
[0039] 本发明实施例提供了一种链接分析的计算方法和装置及系统,用于减少对内存的 占用,数据计算成本较低。
[0040] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述 的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的 技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0041] 本发明的说明书和权利要求书及上述附图中的术语"第一"、"第二"等是用于区别 类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情 况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分 方式。此外,术语"包括"和"具有"以及他们的任何变形,意图在于覆盖不排他的包含,以 便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清 楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0042] 以下分别进行详细说明。
[0043] 本发明链接分析的计算方法的一个实施例,首先从处理机的角度来描述,可以包 括:处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据,其中,上述 第一子地图数据包括第一节点的身份识别码(ID,IDentity)和上述第一节点的边所链接 的目标节点的ID;上述处理机在第一超级步(superstep)中对上述第一子地图数据中的 每一个目标节点进行权值分发,针对上述第一子地图数据中的每一个目标节点分别生成消 息;上述处理机将在上述第一superstep中对上述第一子地图数据中的每一个目标节点 分别生成的消息存储到上述分布式文件系统中。
[0044] 请参阅图1所示,本发明一个实施例提供的链接分析的计算方法,具体可以包括 如下步骤:
[0045] 101、处理机从分布式文件系统中获取管理服务器预处理生成的第一子地图数据。
[0046] 其中,上述第一子地图数据包括第一节点的身份识别码(ID,IDentity)和上述第 一节点的边(edge)所链接的目标节点的ID。
[0047] 在本发明实施例中,链接分析的计算系统中部署有一个管理服务器、多个的处理 机和分布式文件系统,其中,管理服务器通常作为master,处理机作为worker,每个处理机 都独立处理属于各自处理机负责的数据。管理服务器首先对地图数据进行预处理,根据节 点和该节点的链接关系将地图数据划分为多个子地图数据,管理服务器将所有子地图数据 存储到分布式文件系统中。本发明实施例中,管理服务器预处理得到的多个子地图数据并 不是常驻内存中的,而是当管理服务器生成多个子地图数据后,管理服务器将生成的多个 子地图数据存储到分布式文件系统中。其中,分布式文件系统是指文件系统管理的物理存 储资源不一定直接连接在本地主机上,而是通过计算机网络与其它主机相连。分布式文件 系统可以基于客户端/服务器模式来实现,例如网络架构可能包括多个供多客户端访问的 服务器,管理服务器可以将子地图数据存储到分布式文件系统
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1