一种基于MapReduce框架的网页排序方法和系统的制作方法

文档序号:6624044阅读:155来源:国知局
一种基于MapReduce框架的网页排序方法和系统的制作方法
【专利摘要】本发明公开了一种基于MapReduce框架的网页排序方法和系统,应用于Hadoop集群中的MapReduce框架,MapReduce框架包括Map模块和Reduce模块,Map模块从文本文件中读取与各个网页对应的数据记录,根据读取到的数据记录,生成并保存与各个网页对应的链接信息、积分信息和出度信息;Reduce模块根据与各个网页对应的链接信息和出度信息,更新各个网页的贡献积分,并在满足预设的收敛条件时,将网页排序结果输出,提升了网页排序的效率,且保证网页排序的准确性。
【专利说明】-种基于MapReduce框架的网页排序方法和系统

【技术领域】
[0001] 本发明涉及计算机【技术领域】,具体涉及一种基于MapReduce框架的网页排序方法 和系统。

【背景技术】
[0002] 随着网络技术的日益普及,人们对于网络搜索的需求量也急剧增加,而用户能否 快速地搜索到自己所需的网页,取决于网络中的网页排序。因此,网络中的网页排序是至关 重要的。
[0003] 现有技术中,通常使用基于网页拓扑结果的网页排序算法对网络中的网页进行排 序。即,计算每个网页的重要性,基于每个网页的重要性对各个网页进行评分,并根据评分 对网页进行排序。
[0004] 然而,由于网络中的网页处于海量增长状态,使用单机硬件配置进行网页排序,会 导致排序效率低下,降低了网络搜索的处理速度。


【发明内容】

[0005] 本发明提供了一种基于MapReduce框架的网页排序方法和系统,以解决现有技术 中排序效率低下的缺陷。
[0006] 本发明提供了一种基于MapReduce框架的网页排序方法,应用于Hadoop集群中的 MapReduce框架,所述MapReduce框架包括Map模块和Reduce模块,所述方法包括以下步 骤:
[0007] S1、所述Map模块从文本文件中读取与各个网页对应的数据记录,根据读取到的 数据记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信息进行 初始化和保存;
[0008] S2、所述Map模块根据与各个网页对应的积分信息,生成并保存与各个网页对应 的出度信息;
[0009] S3、所述Reduce模块获取与各个网页对应的链接信息和出度信息,根据与各个网 页对应的链接信息和出度信息,更新各个网页的贡献积分;
[0010] S4、所述Reduce模块判断是否满足预设的收敛条件,如果是,则执行步骤S6 ;否 贝1J,返回步骤S5 ;
[0011] S5、所述Reduce模块根据更新后的各个网页的贡献积分,对与各个网页对应的积 分信息进行更新和保存,并返回步骤S2 ;
[0012] S6、所述Reduce模块将与更新后的各个网页的贡献积分对应的网页排序结果输 出。
[0013] 可选地,所述步骤S1,具体为:
[0014] 所述Map模块将各个网页的URL作为键,将各个网页包含的正向链接的URL作为 值,生成与各个网页对应的第一键值对,将所述第一键值对作为链接信息存储到本地文件 系统中;对各个网页的贡献积分进行初始化,并将各个网页的URL作为键,将各个网页的贡 献积分以及各个网页包含的正向链接的URL作为值,生成与各个网页对应的第二键值对, 并将所述第二键值对作为积分信息存储到本地文件系统中。
[0015] 可选地,所述步骤S2,具体为:
[0016] 所述Map模块根据与各个网页对应的积分信息,获取各个网页的URL以及各个网 页包含的正向链接的URL,获取各个网页的网页ID以及各个网页的出度数量,将各个网页 的网页ID作为键,将各个网页的贡献积分与出度数量的比值作为值,生成与各个网页对应 的第三键值对,并将所述第三键值对作为出度信息存储到本地文件系统中。
[0017] 可选地,所述步骤S3,具体为:
[0018] 所述Reduce模块根据与各个网页对应的链接信息,确定各个网页的反向链接所 在的网页,并根据确定出的网页对应的出度信息中包含的该网页的贡献积分与出度数量的 比值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网页的贡献积分。
[0019] 可选地,所述Reduce模块判断是否满足预设的收敛条件,具体为:
[0020] 所述Reduce模块根据更新前后的各个网页的贡献积分,判断各个网页的贡献积 分是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预设的收 敛条件;
[0021] 或者,
[0022] 所述Reduce模块获取与更新前后的各个网页的贡献积分对应的网页排序结果, 判断所述网页排序结果是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否 贝1J,确定满足预设的收敛条件;
[0023] 或者,
[0024] 所述Reduce模块判断各个网页的贡献积分的更新次数是否达到预设次数,如果 是,则确定满足预设的收敛条件;否则,确定不满足预设的收敛条件。
[0025] 本发明还提供了一种基于MapReduce框架的网页排序系统,包括Map模块和 Reduce 模块;
[0026] 所述Map模块包括:
[0027] 第一生成子模块,用于从文本文件中读取与各个网页对应的数据记录,根据读取 到的数据记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信息 进行初始化和保存;
[0028] 第二生成子模块,用于根据与各个网页对应的积分信息,生成并保存与各个网页 对应的出度?η息;
[0029] 所述Reduce模块包括:
[0030] 第一更新子模块,用于获取与各个网页对应的链接信息和出度信息,根据与各个 网页对应的链接信息和出度信息,更新各个网页的贡献积分;
[0031] 判断子模块,用于判断是否满足预设的收敛条件;
[0032] 第二更新子模块,用于在所述判断子模块判断出不满足预设的收敛条件时,根据 所述第一更新子模块更新后的各个网页的贡献积分,对与各个网页对应的积分信息进行更 新和保存,并触发所述第二生成子模块;
[0033] 输出子模块,用于在所述判断子模块判断出满足预设的收敛条件时,将与更新后 的各个网页的贡献积分对应的网页排序结果输出。
[0034] 可选地,所述第一生成子模块,具体用于将各个网页的URL作为键,将各个网页 包含的正向链接的URL作为值,生成与各个网页对应的第一键值对,将所述第一键值对作 为链接信息存储到本地文件系统中;对各个网页的贡献积分进行初始化,并将各个网页的 URL作为键,将各个网页的贡献积分以及各个网页包含的正向链接的URL作为值,生成与各 个网页对应的第二键值对,并将所述第二键值对作为积分信息存储到本地文件系统中。
[0035] 可选地,所述第二生成子模块,具体用于根据与各个网页对应的积分信息,获取各 个网页的URL以及各个网页包含的正向链接的URL,获取各个网页的网页ID以及各个网页 的出度数量,将各个网页的网页ID作为键,将各个网页的贡献积分与出度数量的比值作为 值,生成与各个网页对应的第三键值对,并将所述第三键值对作为出度信息存储到本地文 件系统中。
[0036] 可选地,所述第一更新子模块,具体用于根据与各个网页对应的链接信息,确定各 个网页的反向链接所在的网页,并根据确定出的网页对应的出度信息中包含的该网页的贡 献积分与出度数量的比值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网 页的贡献积分。
[0037] 可选地,所述判断子模块,具体用于根据更新前后的各个网页的贡献积分,判断各 个网页的贡献积分是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确 定满足预设的收敛条件;
[0038] 或者,
[0039] 获取与更新前后的各个网页的贡献积分对应的网页排序结果,判断所述网页排序 结果是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预设的 收敛条件;
[0040] 或者,
[0041] 判断各个网页的贡献积分的更新次数是否达到预设次数,如果是,则确定满足预 设的收敛条件;否则,确定不满足预设的收敛条件。
[0042] 本发明通过MapReduce框架中的Map模块和Reduce模块,对文本文件中的数据记 录进行并行处理,并根据处理结果对各个网页进行排序,提升了排序的效率,且保证网页排 序的准确性。

【专利附图】

【附图说明】
[0043] 图1为本发明实施例中提出了一种基于MapReduce框架的网页排序方法的流程 图;
[0044] 图2为本发明实施例中提出了一种基于MapReduce框架的网页排序系统的结构示 意图。

【具体实施方式】
[0045] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0046] 需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结 合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0047] 本发明实施例中提出了一种基于MapReduce框架的网页排序方法,应用于Hadoop 集群中的MapReduce框架,该框架包括Map模块和Reduce模块,上述网页排序方法,如图1 所示,包括以下步骤:
[0048] 步骤101,Map模块从文本文件中读取与各个网页对应的数据记录,根据读取到的 数据记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信息进行 初始化和保存。
[0049] 其中,文本文件中包含多条数据记录,每条数据记录与一个网页一一对应,记录有 该网页的URL以及该网页包含的正向链接的URL,S卩,指向其他网页的链接的URL。与各个 网页对应的积分信息包含各个网页的URL、各个网页的贡献积分以及各个网页包含的正向 链接的URL,网页的正向链接是指该网页包含的、指向其他网页的链接。
[0050] 相应地,Map模块可以将各个网页的URL作为键(key),将各个网页包含的正向链 接的URL作为值(value),生成与各个网页对应的第一键值对(key-value pair),将该第一 键值对作为链接信息存储到本地文件系统中,以供Reduce模块使用。
[0051] 此外,Map模块可以对各个网页的贡献积分进行初始化,并将各个网页的URL作为 键,将各个网页的贡献积分以及各个网页包含的正向链接的URL作为值,生成与各个网页 对应的第二键值对,并将该第二键值对作为积分信息存储到本地文件系统中,以供Reduce 模块使用。
[0052] 本实施例中,Map模块可以将各个网页的贡献积分均初始化为预设常数与文本文 件中包含的数据记录的比值,优选地,该预设常数为1。
[0053] 例如,文本文件为:
[0054] http://guoms. hehe. comhttp://nihao. xixi. com, http://www. xuexi. com
[0055] http://nihao. xixi. comhttp://www. xuexi. com
[0056] http://www. xuexi. comhttp://www. jintian. com
[0057] http://www. jintian. comhttp://nihao. xixi. com
[0058] 以上文件包含4条数据记录,对应的网页URL为"http://guoms. hehe. com"、 "http://nihao. xixi. com,'、''http://www. xuexi. com,'和"http://www. jintian. com,',各个 网页的贡献积分均被初始化为1/4,即0. 25。
[0059] 其中,URL为"http://guoms. hehe. com"的网页中包含的2个正向链接,该正向 链接的 URL 为 "http://nihao. xixi. com" 和 "http://www. xuexi. com" ;URL 为 "http:// nihao. xixi. com"的网页中包含1个正向链接,该正向链接的URL为"http://www. xuexi. com" ;URL为"http://www. xuexi. com"的网页中包含1个正向链接,该正向链接的URL为 "http://www. jintian. com";URL 为"http://www. jintian. com" 的网页中包含 1 个正向链 接,该正向链接的 URL 为 "http://nihao. xixi. com"。
[0060] 相应地,Map模块生成的与各个网页对应的链接信息为:
[0061] <http://guoms. hehe. com, http://nihao. xixi. com-http://www. xuexi. com>
[0062] <http://nihao. xixi. com, http://www. xuexi. com>
[0063] <http://www. xuexi. com, http://www. jintian. com>
[0064] <http://www. jintian. com, http://nihao. xixi. com>
[0065] Map模块生成的与各个网页对应的积分信息为:
[0066] <http://guoms. hehe. com, (0. 25, http://nihao. xixi. com-http://www. xuexi. com) >
[0067] <http://nihao. xixi. com, (0. 25, http://www. xuexi. com) >
[0068] <http://www. xuexi. com, (0. 25, http://www. jintian. com) >
[0069] http://www. jintian. com, (0. 25, http://nihao. xixi. com)
[0070] 步骤102, Map模块根据与各个网页对应的积分信息,生成并保存与各个网页对应 的出度信息。
[0071] 其中,与各个网页对应的出度信息包含各个网页的网页ID以及各个网页的贡献 积分与出度数量的比值。
[0072] 具体地,Map模块根据与各个网页对应的积分信息,获取各个网页的URL以及各个 网页包含的正向链接的URL,进而获取各个网页的网页ID以及各个网页的出度数量,即各 个网页包含的正向链接的数量。Map模块将各个网页的网页ID作为键,将各个网页的贡献 积分与出度数量的比值作为值,生成与各个网页对应的第三键值对,并将该第三键值对作 为出度信息存储到本地文件系统中,以供Reduce模块使用。
[0073] 例如,URL 分别为 "http://guoms. hehe. com"、"http://nihao. xixi. com"、 "http://www. xuexi. com" 和 "http://www. jintian. com" 的网页的网页 ID 分别为 A、B、C 和D,上述网页的贡献积分均为0. 25,出度数量分别为2、1、1和1,则Map模块生成的与各个 网页对应的出度is息为:
[0074] 〈A,0.125〉
[0075] <Β,0·25>
[0076] <C,0. 25>
[0077] <D,0. 25>
[0078] 步骤103,Reduce模块获取与各个网页对应的链接信息和出度信息,根据与各个 网页对应的链接信息和出度信息,更新各个网页的贡献积分。
[0079] 具体地,Reduce模块可以根据与各个网页对应的链接信息,确定各个网页的反向 链接所在的网页,并根据确定出的网页对应的出度信息中包含的该网页的贡献积分与出度 数量的比值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网页的贡献积分。 其中,网页的反向链接为指向该网页且包含在其他网页中的链接。
[0080] 本实施例中,Reduce模块可以根据各个网页的反向链接所在的网页的贡献积分与 出度数量的比值,按照以下公式计算各个网页的贡献积分:
[0081] PR(A) = (l-d)+d(PR(T1)/C(T1)+. ,.+PR(Tn)/C(Tn))
[0082] 其中,PR㈧为网页A的贡献积分,PRC^/CCTiMi为整数,且0彡i彡η)为网页 Α的反向链接所在的网页的贡献积分与出度数量的比值,d为阻尼系数,且0 < d < 1。
[0083] 例如,d = 0. 5,URL为"http://nihao. xixi. com"的网页的反向链接所在的网页有 2 个,即 URL 分别为"http://guoms. hehe. com"和"http://www. jintian. com"的网页,且上 述2个网页的贡献积分与出度数量的比值分别为0. 125和0. 25,则URL为"http://nihao. xixi. com"的网页的贡献积分为:
[0084] (1-0. 5)+0. 5(0. 125+0. 25) = 0. 6875
[0085] 步骤104, Reduce模块判断是否满足预设的收敛条件,如果是,则执行步骤106 ;否 贝1J,返回步骤105。
[0086] 具体地,Reduce模块可以根据更新前后的各个网页的贡献积分,判断各个网页的 贡献积分是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预 设的收敛条件。
[0087] 另外,Reduce模块还可以获取与更新前后的各个网页的贡献积分对应的网页排序 结果,判断网页排序结果是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否 贝1J,确定满足预设的收敛条件。
[0088] 此外,Reduce模块还可以判断各个网页的贡献积分的更新次数是否达到预设次 数,如果是,则确定满足预设的收敛条件;否则,确定不满足预设的收敛条件。
[0089] 步骤105, Reduce模块根据更新后的各个网页的贡献积分,对与各个网页对应的 积分信息进行更新和保存,并返回步骤102。
[0090] 具体地,Reduce模块可以根据更新后的各个网页的贡献积分,对与各个网页对应 的积分信息所包含的各个网页的贡献积分进行更新,得到更新后的各个网页对应的积分信 肩、。
[0091] 例如,URL为"http://nihao. xixi. com"的网页的贡献积分被更新为0. 6875,则该 网页对应的积分信息被更新为:
[0092] <http://nihao. xixi. com, (0. 6875, http://www. xuexi. com) >
[0093] 步骤106, Reduce模块将与更新后的各个网页的贡献积分对应的网页排序结果输 出。
[0094] 本发明实施例通过MapReduce框架中的Map模块和Reduce模块,对文本文件中的 数据记录进行并行处理,并根据处理结果对各个网页进行排序,提升了排序的效率,且保证 网页排序的准确性。
[0095] 需要说明的是,本发明实施例可将文本文件划分为多个子文件,相应地,Map模块 中设置有多个Map任务,Map任务的数量与子文件的数量相同,且子文件与Map任务一一对 应。每个Map任务从对应的子文件中读取数据记录,将读取到的数据记录中包含的各个网 页的URL作为键,将各个网页包含的正向链接的URL作为值,生成与各个网页对应的第一键 值对,将该键值对作为链接信息存储到本地文件系统中,以供Reduce模块使用。
[0096] 此外,每个Map任务还对上述各个网页的贡献积分进行初始化,将各个网页的 URL作为键,将各个网页的贡献积分以及各个网页包含的正向链接的URL作为值,生成与 各个网页对应的第二键值对,将该第二键值对作为积分信息存储到本地文件系统中,以供 Reduce模块使用,并根据与各个网页对应的积分信息,获取各个网页的URL以及各个网页 包含的正向链接的URL,进而获取各个网页的网页ID以及各个网页的出度数量,将各个网 页的网页ID作为键,将各个网页的贡献积分与出度数量的比值作为值,生成与各个网页对 应的第三键值对,并将该第三键值对作为出度信息存储到本地文件系统中,以供Reduce模 块使用。
[0097] 通过在Map模块中设置多个Map任务来处理文本文件中的数据记录,能够提高数 据记录的处理效率,提升工作性能。
[0098] 进一步地,本发明实施例可将Map模块生成的与各个网页对应的链接信息和出度 信息划分为与多个网页集合对应的链接信息和出度信息,相应地,Reduce模块中设置有多 个Reduce任务,Reduce任务的数量与网页集合的数量相同,且子文件与Reduce任务-- 对应。每个Reduce任务根据各自对应的网页集合中的各个网页对应的链接信息,确定各个 网页的反向链接所在的网页,并根据确定出的网页对应的出度信息中包含的该网页的贡献 积分与出度数量的比值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网页 的贡献积分。
[0099] 通过在Reduce模块中设置多个Reduce任务来更新各个网页的贡献积分,能够提 高更新效率,提升工作性能。
[0100] 基于上述网页排序方法,本发明实施例还提供了一种基于MapReduce框架的网页 排序系统,如图2所示,包括Map模块210和Reduce模块220。
[0101] 其中,Map模块210包括:
[0102] 第一生成子模块211,用于从文本文件中读取与各个网页对应的数据记录,根据读 取到的数据记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信 息进行初始化和保存。
[0103] 具体地,上述第一生成子模块211,具体用于将各个网页的URL作为键,将各个网 页包含的正向链接的URL作为值,生成与各个网页对应的第一键值对,将所述第一键值对 作为链接信息存储到本地文件系统中;对各个网页的贡献积分进行初始化,并将各个网页 的URL作为键,将各个网页的贡献积分以及各个网页包含的正向链接的URL作为值,生成与 各个网页对应的第二键值对,并将所述第二键值对作为积分信息存储到本地文件系统中。
[0104] 第二生成子模块212,用于根据与各个网页对应的积分信息,生成并保存与各个网 页对应的出度信息。
[0105] 具体地,上述第二生成子模块212,具体用于根据与各个网页对应的积分信息,获 取各个网页的URL以及各个网页包含的正向链接的URL,获取各个网页的网页ID以及各个 网页的出度数量,将各个网页的网页ID作为键,将各个网页的贡献积分与出度数量的比值 作为值,生成与各个网页对应的第三键值对,并将所述第三键值对作为出度信息存储到本 地文件系统中。
[0106] 其中,与各个网页对应的积分信息可以是第一生成子模块211生成的积分信息, 也可以是第二更新子模块223更新后的积分信息。
[0107] Reduce 模块 220 包括:
[0108] 第一更新子模块221,用于获取与各个网页对应的链接信息和出度信息,根据与各 个网页对应的链接信息和出度信息,更新各个网页的贡献积分。
[0109] 具体地,上述第一更新子模块221,具体用于根据与各个网页对应的链接信息,确 定各个网页的反向链接所在的网页,并根据确定出的网页对应的出度信息中包含的该网页 的贡献积分与出度数量的比值,计算各个网页的贡献积分,并将计算结果作为更新后的各 个网页的贡献积分。
[0110] 判断子模块222,用于判断是否满足预设的收敛条件。
[0111] 具体地,上述判断子模块222,具体用于根据第一更新子模块221更新前后的各个 网页的贡献积分,判断各个网页的贡献积分是否发生变化,如果发生变化,则确定不满足预 设的收敛条件;否则,确定满足预设的收敛条件;
[0112] 或者,
[0113] 获取与第一更新子模块221更新前后的各个网页的贡献积分对应的网页排序结 果,判断所述网页排序结果是否发生变化,如果发生变化,则确定不满足预设的收敛条件; 否则,确定满足预设的收敛条件;
[0114] 或者,
[0115] 判断各个网页的贡献积分的更新次数是否达到预设次数,如果是,则确定满足预 设的收敛条件;否则,确定不满足预设的收敛条件。
[0116] 第二更新子模块223,用于在判断子模块222判断出不满足预设的收敛条件时,根 据第一更新子模块221更新后的各个网页的贡献积分,对与各个网页对应的积分信息进行 更新和保存,并触发第二生成子模块212 ;
[0117] 输出子模块224,用于在判断子模块222判断出满足预设的收敛条件时,将与第一 更新子模块221更新后的各个网页的贡献积分对应的网页排序结果输出。
[0118] 本发明实施例通过MapReduce框架中的Map模块和Reduce模块,对文本文件中的 数据记录进行并行处理,并根据处理结果对各个网页进行排序,提升了排序的效率,且保证 网页排序的准确性。
[0119] 结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的 软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】 内所公知的任意其它形式的存储介质中。
[0120] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1. 一种基于MapReduce框架的网页排序方法,其特征在于,应用于Hadoop集群中的 MapReduce框架,所述MapReduce框架包括Map模块和Reduce模块,所述方法包括以下步 骤: 51、 所述Map模块从文本文件中读取与各个网页对应的数据记录,根据读取到的数据 记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信息进行初始 化和保存; 52、 所述Map模块根据与各个网页对应的积分信息,生成并保存与各个网页对应的出 度息; 53、 所述Reduce模块获取与各个网页对应的链接信息和出度信息,根据与各个网页对 应的链接信息和出度信息,更新各个网页的贡献积分; 54、 所述Reduce模块判断是否满足预设的收敛条件,如果是,则执行步骤S6 ;否则,返 回步骤S5 ; 55、 所述Reduce模块根据更新后的各个网页的贡献积分,对与各个网页对应的积分信 息进行更新和保存,并返回步骤S2 ; 56、 所述Reduce模块将与更新后的各个网页的贡献积分对应的网页排序结果输出。
2. 如权利要求1所述的方法,其特征在于,所述步骤S1,具体为: 所述Map模块将各个网页的URL作为键,将各个网页包含的正向链接的URL作为值, 生成与各个网页对应的第一键值对,将所述第一键值对作为链接信息存储到本地文件系统 中;对各个网页的贡献积分进行初始化,并将各个网页的URL作为键,将各个网页的贡献积 分以及各个网页包含的正向链接的URL作为值,生成与各个网页对应的第二键值对,并将 所述第二键值对作为积分信息存储到本地文件系统中。
3. 如权利要求1所述的方法,其特征在于,所述步骤S2,具体为: 所述Map模块根据与各个网页对应的积分信息,获取各个网页的URL以及各个网页包 含的正向链接的URL,获取各个网页的网页ID以及各个网页的出度数量,将各个网页的网 页ID作为键,将各个网页的贡献积分与出度数量的比值作为值,生成与各个网页对应的第 三键值对,并将所述第三键值对作为出度信息存储到本地文件系统中。
4. 如权利要求1所述的方法,其特征在于,所述步骤S3,具体为: 所述Reduce模块根据与各个网页对应的链接信息,确定各个网页的反向链接所在的 网页,并根据确定出的网页对应的出度信息中包含的该网页的贡献积分与出度数量的比 值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网页的贡献积分。
5. 如权利要求1所述的方法,其特征在于,所述Reduce模块判断是否满足预设的收敛 条件,具体为: 所述Reduce模块根据更新前后的各个网页的贡献积分,判断各个网页的贡献积分是 否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预设的收敛条 件; 或者, 所述Reduce模块获取与更新前后的各个网页的贡献积分对应的网页排序结果,判断 所述网页排序结果是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确 定满足预设的收敛条件; 或者, 所述Reduce模块判断各个网页的贡献积分的更新次数是否达到预设次数,如果是,则 确定满足预设的收敛条件;否则,确定不满足预设的收敛条件。
6. 一种基于MapReduce框架的网页排序系统,其特征在于,包括Map模块和Reduce模 块; 所述Map模块包括: 第一生成子模块,用于从文本文件中读取与各个网页对应的数据记录,根据读取到的 数据记录,生成并保存与各个网页对应的链接信息,并对与各个网页对应的积分信息进行 初始化和保存; 第二生成子模块,用于根据与各个网页对应的积分信息,生成并保存与各个网页对应 的出度信息; 所述Reduce模块包括: 第一更新子模块,用于获取与各个网页对应的链接信息和出度信息,根据与各个网页 对应的链接信息和出度信息,更新各个网页的贡献积分; 判断子模块,用于判断是否满足预设的收敛条件; 第二更新子模块,用于在所述判断子模块判断出不满足预设的收敛条件时,根据所述 第一更新子模块更新后的各个网页的贡献积分,对与各个网页对应的积分信息进行更新和 保存,并触发所述第二生成子模块; 输出子模块,用于在所述判断子模块判断出满足预设的收敛条件时,将与更新后的各 个网页的贡献积分对应的网页排序结果输出。
7. 如权利要求6所述的系统,其特征在于, 所述第一生成子模块,具体用于将各个网页的URL作为键,将各个网页包含的正向链 接的URL作为值,生成与各个网页对应的第一键值对,将所述第一键值对作为链接信息存 储到本地文件系统中;对各个网页的贡献积分进行初始化,并将各个网页的URL作为键,将 各个网页的贡献积分以及各个网页包含的正向链接的URL作为值,生成与各个网页对应的 第二键值对,并将所述第二键值对作为积分信息存储到本地文件系统中。
8. 如权利要求6所述的系统,其特征在于, 所述第二生成子模块,具体用于根据与各个网页对应的积分信息,获取各个网页的URL 以及各个网页包含的正向链接的URL,获取各个网页的网页ID以及各个网页的出度数量, 将各个网页的网页ID作为键,将各个网页的贡献积分与出度数量的比值作为值,生成与各 个网页对应的第三键值对,并将所述第三键值对作为出度信息存储到本地文件系统中。
9. 如权利要求6所述的系统,其特征在于, 所述第一更新子模块,具体用于根据与各个网页对应的链接信息,确定各个网页的反 向链接所在的网页,并根据确定出的网页对应的出度信息中包含的该网页的贡献积分与出 度数量的比值,计算各个网页的贡献积分,并将计算结果作为更新后的各个网页的贡献积 分。
10. 如权利要求6所述的系统,其特征在于, 所述判断子模块,具体用于根据更新前后的各个网页的贡献积分,判断各个网页的贡 献积分是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预设 的收敛条件; 或者, 获取与更新前后的各个网页的贡献积分对应的网页排序结果,判断所述网页排序结果 是否发生变化,如果发生变化,则确定不满足预设的收敛条件;否则,确定满足预设的收敛 条件; 或者, 判断各个网页的贡献积分的更新次数是否达到预设次数,如果是,则确定满足预设的 收敛条件;否则,确定不满足预设的收敛条件。
【文档编号】G06F17/30GK104156457SQ201410409929
【公开日】2014年11月19日 申请日期:2014年8月19日 优先权日:2014年8月19日
【发明者】宗栋瑞, 郭美思, 吴楠 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1