门户网站的死链检查方法和装置制造方法

文档序号:6635038阅读:223来源:国知局
门户网站的死链检查方法和装置制造方法
【专利摘要】本发明提供了一种门户网站的死链检查方法和装置。其中,该方法包括:根据门户网站的检查任务列表分配多个子线程;启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;对多个子线程进行周期性轮询检查;将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库;根据本地数据库中记录的检查结果统计门户网站的死链情况。通过本发明,提高了死链的检查效率。
【专利说明】口户网站的死链检查方法和装置

【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及口户网站的死链检查方法和装置。

【背景技术】
[0002] 用户在访问网页时,有时会遇到死链现象,即用户当前访问的服务器的地址已经 改变了,无法通过用户当前提供的地址链接到该服务器。现有技术中引入了一种死链检测 技术方案,该方案对检测目标进行宽度遍历,首先对种子列表和U化队列初始化,再进行死 链分析和判断操作,然后提取实体E中的所有超链接,对提取的所有超链接进行网页去重、 链接筛选等预处理提高数据采集效率,然后将处理后的U化加入U化队列继续进行检测。
[0003] 发明人在研究中发现,现有技术中的死链检测技术采用单一进程的方式对网站的 U化进行检查,尤其在对存在多个分站或多个子栏目的口户网站检查时,执行效率较差。


【发明内容】

[0004] 有鉴于此,本发明实施例的目的在于提供口户网站的死链检查方法和装置,W提 高死链的检查效率。
[0005] 第一方面,本发明实施例提供了一种口户网站的死链检查方法,包括:根据口户网 站的检查任务列表分配多个子线程;启动多个子线程,使子线程从其负责的检查任务的网 站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;对多个子 线程进行周期性轮询检查;将处于工作完毕状态的子线程在内存数据库中记录的检查结果 写入本地数据库;根据本地数据库中记录的检查结果统计口户网站的死链情况。
[0006] 结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上 述根据口户网站的检查任务列表分配多个子线程包括:为口户网站的检查任务列表中的每 个检查任务分配一个子线程的个数。
[0007] 结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根 据口户网站的检查任务列表分配多个子线程包括:根据平均分配原则和口户网站的检查任 务列表中的检查任务总数选择子线程的个数;将检查任务列表中的检查任务平均分配给每 个子线程。
[0008] 结合第一方面,本发明实施例提供了第一方面的第H种可能的实施方式,其中,上 述根据口户网站的检查任务列表分配多个子线程包括:根据口户网站的检查任务列表中的 各个检查任务所属的口户网站子栏目或分站分配子线程。
[0009] 结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上 述子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查包括:当 子线程发现当前地址在网站入口地址的域名或网站入口 U化目录的范围之外或者当前地 址与检查任务列表中的检查任务对应的地址重合,记录当前地址的链接状态,结束当前地 址的逐层广度遍历检查。
[0010] 结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上 述将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库包括:读 取处于工作完毕状态的子线程在内存数据库中记录的检查结果;当检查结果中记录的死链 的地址与本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链 的统计次数加1;其中,检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链 的类型、死链的标题。
[0011] 第二方面,本发明实施例还提供了一种口户网站的死链检查装置,包括:子线程分 配模块,用于根据口户网站的检查任务列表分配多个子线程;子线程管理模块,用于启动多 个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检 查,并将检查结果写入内存数据库;轮询检查模块,用于对多个子线程进行周期性轮询检 查;检查结果写入模块,用于将处于工作完毕状态的子线程在内存数据库中记录的检查结 果写入本地数据库;死链情况统计模块,用于根据本地数据库中记录的检查结果统计口户 网站的死链情况。
[0012] 结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上 述子线程分配模块包括W下单元之一;一对一分配单元,用于为口户网站的检查任务列表 中的每个检查任务分配一个子线程的个数;平均分配单元,用于根据平均分配原则和口户 网站的检查任务列表中的检查任务总数选择子线程的个数,将检查任务列表中的检查任务 平均分配给每个子线程;按栏分配单元,用于根据口户网站的检查任务列表中的各个检查 任务所属的口户网站子栏目或分站分配子线程。结合第二方面,本发明实施例提供了第二 方面的第二种可能的实施方式,其中,上述子线程管理模块包括;遍历处理单元,用于设置 子线程在发现当前地址在网站入口地址的域名或网站入口 U化目录的范围之外或者当前 地址与检查任务列表中的检查任务对应的地址重合时,记录当前地址的链接状态,结束当 前地址的逐层广度遍历检查。
[0013] 结合第二方面,本发明实施例提供了第二方面的第H种可能的实施方式,其中,上 述检查结果写入模块包括;检查结果读取单元,用于读取处于工作完毕状态的子线程在内 存数据库中记录的检查结果;检查结果合并单元,用于当检查结果中记录的死链的地址与 本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次 数加1 ;其中,该检查结果包括;死链的地址、死链的状态编码、死链所在页面、死链的类型、 死链的标题。
[0014] 本发明实施例提供的方法和装置通过对检查任务分配多个子线程,启用多个子线 程并行对检查任务进行检查,该种并行检查的方式提升了死链检查的效率。同时,上述方法 和装置中的子线程还将检查结果暂存于对应的内存数据库中,当完成检查任务后,再写入 到本地数据库,该种方式不但可W提升各个子线程的检查效率,还能够提升数据的读写效 率,进而从整体上提高了死链检查的运行效率。
[0015] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合 所附附图,作详细说明如下。

【专利附图】

【附图说明】
[0016] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附 图作简单地介绍,应当理解,W下附图仅示出了本发明的某些实施例,因此不应被看作是对 范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据该 些附图获得其他相关的附图。
[0017] 图1示出了本发明实施例所提供的一种口户网站的死链检查方法流程图;
[0018] 图2示出了本发明实施例所提供的一种口户网站的死链检查方法示意图;
[0019] 图3示出了本发明实施例所提供的一种口户网站的死链检查装置的结构框图;
[0020] 图4示出了本发明实施例所提供的一种口户网站的死链检查服务器的结构框图。

【具体实施方式】
[0021] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在 此处附图中描述和示出的本发明实施例的组件可WW各种不同的配置来布置和设计。因 此,W下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的 范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做 出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 本发明实施例提供了一种口户网站的死链检查方法和装置,适用于各类口户网 站,尤其适用于存在多个分站或多个子栏目的口户网站检查,下面通过具体实施例进行描 述。
[0023] 参见图1所示的口户网站的死链检查方法的流程图,该方法包括W下步骤:
[0024] 步骤S102,根据口户网站的检查任务列表分配多个子线程;其中,子线程与检查 任务列表中的检查任务可W-一对应,也可W-对多,具体对应方式可W根据口户网站的 实际情况选择,本发明实施例对此不进行限制。
[00巧]步骤S104,启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始 对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;其中,逐层广度遍历检查指 对当前网站的主页先进行检查,即检查主页上的可W链接;然后对各个链接打开的页面进 行检查,W此类推;直至打开的网页不属于当前网站入口地址的域名或网站入口 U化目录 的范畴或打开的网页与其它检查任务的网站入口地址相同。
[0026] 步骤S106,对上述多个子线程进行周期性轮询检查。
[0027] 步骤S108,将处于工作完毕状态的子线程在上述内存数据库中记录的检查结果写 入本地数据库。其中,工作完毕状态的子线程表明该子线程已经完成检查任务。
[002引步骤S110,根据本地数据库中记录的检查结果统计口户网站的死链情况。
[0029] 本发明实施例的方法通过对检查任务分配多个子线程,启用多个子线程并行对检 查任务进行检查,该种并行检查的方式提升了死链检查的效率。同时,上述方法还将检查结 果暂存于对应的内存数据库中,当完成检查任务后,再写入到本地数据库,该种方式不但可 W提升各个子线程的检查效率,还能够提升数据的读写效率,进而从整体上提高了死链检 查的运行效率。
[0030] 考虑到子线程的分配方式可W有多种,本发明实施例对此进行举例说明,例如一 对一的分配,基于此,上述根据口户网站的检查任务列表分配多个子线程可W包括;为口户 网站的检查任务列表中的每个检查任务分配一个子线程的个数。
[0031] 子线程平均分配,基于此,上述根据口户网站的检查任务列表分配多个子线程的 步骤可W包括;根据平均分配原则和口户网站的检查任务列表中的检查任务总数选择子线 程的个数;将检查任务列表中的检查任务平均分配给每个子线程。例如,检查任务列表中涉 及20项检查任务,若平均分配原则为每个线程负责两项检查任务,则20-2 = 10,即需要的 子线程为10个,可W按照检查任务列表中任务的先后顺序为每个子线程分配两项检查任 务。
[0032] 按照口户网站子栏目或分站分配子线程,基于此,上述根据口户网站的检查任务 列表分配多个子线程的步骤可W包括;根据口户网站的检查任务列表中的各个检查任务所 属的口户网站子栏目或分站分配子线程。W国家级电网口户网站为例,若按照口户网站子 栏目或分站分配子线程,则可W将该口户网站中各个省级网站分配给一个子线程,然后为 每个省下涉及的市级网站再分配一个子线程,即每个省级网站对应一个子线程,用于检查 其市级网站的死链情况,W此类推。当然,也可W为国家级电网口户网站内的各个省级网站 分别分配一个子线程,再为每个市级网站分别分配一个子线程。
[0033] 考虑到各个网页可能会有很多链接,而该些链接中有些是与当前网页关联度不高 的链接,另外,还有各个网页之间的链接可能相互交叉,为了尽量减少没有意义的检查,提 升检查效率,上述子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍 历检查的步骤可W包括;当子线程发现当前地址在网站入口地址的域名或网站入口 U化目 录的范围之外或者当前地址与检查任务列表中的检查任务对应的地址重合,该子线程记录 当前地址的链接状态,结束当前地址的逐层广度遍历检查。
[0034] 为了便于后续根据检查结果定位死链和死链原因,上述将处于工作完毕状态的子 线程在上述内存数据库中记录的检查结果写入本地数据库的步骤可W包括;读取处于工作 完毕状态的子线程在内存数据库中记录的检查结果;当检查结果中记录的死链的地址与本 地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次数 加1 ;其中,该检查结果包括;死链的地址、死链的状态编码、死链所在页面、死链的类型、死 链的标题等。如表1所示的内存数据库中的检查结果记录表:
[0035] 表 1
[0036]

【权利要求】
1. 一种门户网站的死链检查方法,其特征在于,包括: 根据门户网站的检查任务列表分配多个子线程; 启动所述多个子线程,使所述子线程从其负责的检查任务的网站入口地址开始对所述 网站进行逐层广度遍历检查,并将检查结果写入内存数据库; 对所述多个子线程进行周期性轮询检查; 将处于工作完毕状态的子线程在所述内存数据库中记录的检查结果写入本地数据 库; 根据所述本地数据库中记录的检查结果统计所述门户网站的死链情况。
2. 根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个 子线程包括: 为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数。
3. 根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个 子线程包括: 根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个 数; 将所述检查任务列表中的检查任务平均分配给每个所述子线程。
4. 根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个 子线程包括: 根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配 子线程。
5. 根据权利要求1所述的方法,其特征在于,所述子线程从其负责的检查任务的网站 入口地址开始对所述网站进行逐层广度遍历检查包括: 当子线程发现当前地址在所述网站入口地址的域名或网站入口 URL目录的范围之外 或者所述当前地址与所述检查任务列表中的检查任务对应的地址重合,记录所述当前地址 的链接状态,结束所述当前地址的逐层广度遍历检查。
6. 根据权利要求1所述的方法,其特征在于,将处于工作完毕状态的子线程在所述内 存数据库中记录的检查结果写入本地数据库包括: 读取处于工作完毕状态的子线程在所述内存数据库中记录的检查结果; 当所述检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地 址相同时,将所述本地数据库中记录所述死链的统计次数加1 ; 其中,所述检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、 死链的标题。
7. -种门户网站的死链检查装置,其特征在于,包括: 子线程分配模块,用于根据门户网站的检查任务列表分配多个子线程; 子线程管理模块,用于启动所述多个子线程,使所述子线程从其负责的检查任务的网 站入口地址开始对所述网站进行逐层广度遍历检查,并将检查结果写入内存数据库; 轮询检查模块,用于对所述多个子线程进行周期性轮询检查; 检查结果写入模块,用于将处于工作完毕状态的子线程在所述内存数据库中记录的检 查结果写入本地数据库; 死链情况统计模块,用于根据所述本地数据库中记录的检查结果统计所述门户网站的 死链情况。
8. 根据权利要求7所述的装置,其特征在于,所述子线程分配模块包括以下单元之一:一对一分配单元,用于为门户网站的检查任务列表中的每个检查任务分配一个子线程 的个数; 平均分配单元,用于根据平均分配原则和门户网站的检查任务列表中的检查任务总数 选择子线程的个数,将所述检查任务列表中的检查任务平均分配给每个所述子线程; 按栏分配单元,用于根据门户网站的检查任务列表中的各个检查任务所属的门户网站 子栏目或分站分配子线程。
9. 根据权利要求7所述的装置,其特征在于,所述子线程管理模块包括: 遍历处理单元,用于设置所述子线程在发现当前地址在所述网站入口地址的域名或网 站入口 URL目录的范围之外或者所述当前地址与所述检查任务列表中的检查任务对应的 地址重合时,记录所述当前地址的链接状态,结束所述当前地址的逐层广度遍历检查。
10. 根据权利要求7所述的装置,其特征在于,所述检查结果写入模块包括: 检查结果读取单元,用于读取处于工作完毕状态的子线程在所述内存数据库中记录的 检查结果; 检查结果合并单元,用于当所述检查结果中记录的死链的地址与本地数据库中记录的 检查结果中的死链的地址相同时,将所述本地数据库中记录所述死链的统计次数加1 ; 其中,所述检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、 死链的标题。
【文档编号】G06F9/50GK104331335SQ201410665988
【公开日】2015年2月4日 申请日期:2014年11月20日 优先权日:2014年11月20日
【发明者】王潇, 孙建, 张淑娟, 顾广宇 申请人:国家电网公司, 国网安徽省电力公司电力科学研究院, 国网安徽省电力公司六安供电公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1