CN104331335A - 门户网站的死链检查方法和装置 - Google Patents
门户网站的死链检查方法和装置 Download PDFInfo
- Publication number
- CN104331335A CN104331335A CN201410665988.3A CN201410665988A CN104331335A CN 104331335 A CN104331335 A CN 104331335A CN 201410665988 A CN201410665988 A CN 201410665988A CN 104331335 A CN104331335 A CN 104331335A
- Authority
- CN
- China
- Prior art keywords
- thread
- sub
- inspection
- check result
- inspection task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种门户网站的死链检查方法和装置。其中,该方法包括:根据门户网站的检查任务列表分配多个子线程;启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;对多个子线程进行周期性轮询检查;将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库;根据本地数据库中记录的检查结果统计门户网站的死链情况。通过本发明,提高了死链的检查效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及门户网站的死链检查方法和装置。
背景技术
用户在访问网页时,有时会遇到死链现象,即用户当前访问的服务器的地址已经改变了,无法通过用户当前提供的地址链接到该服务器。现有技术中引入了一种死链检测技术方案,该方案对检测目标进行宽度遍历,首先对种子列表和URL队列初始化,再进行死链分析和判断操作,然后提取实体E中的所有超链接,对提取的所有超链接进行网页去重、链接筛选等预处理提高数据采集效率,然后将处理后的URL加入URL队列继续进行检测。
发明人在研究中发现,现有技术中的死链检测技术采用单一进程的方式对网站的URL进行检查,尤其在对存在多个分站或多个子栏目的门户网站检查时,执行效率较差。
发明内容
有鉴于此,本发明实施例的目的在于提供门户网站的死链检查方法和装置,以提高死链的检查效率。
第一方面,本发明实施例提供了一种门户网站的死链检查方法,包括:根据门户网站的检查任务列表分配多个子线程;启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;对多个子线程进行周期性轮询检查;将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库;根据本地数据库中记录的检查结果统计门户网站的死链情况。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述根据门户网站的检查任务列表分配多个子线程包括:为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据门户网站的检查任务列表分配多个子线程包括:根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数;将检查任务列表中的检查任务平均分配给每个子线程。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述根据门户网站的检查任务列表分配多个子线程包括:根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查包括:当子线程发现当前地址在网站入口地址的域名或网站入口URL目录的范围之外或者当前地址与检查任务列表中的检查任务对应的地址重合,记录当前地址的链接状态,结束当前地址的逐层广度遍历检查。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库包括:读取处于工作完毕状态的子线程在内存数据库中记录的检查结果;当检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次数加1;其中,检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题。
第二方面,本发明实施例还提供了一种门户网站的死链检查装置,包括:子线程分配模块,用于根据门户网站的检查任务列表分配多个子线程;子线程管理模块,用于启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;轮询检查模块,用于对多个子线程进行周期性轮询检查;检查结果写入模块,用于将处于工作完毕状态的子线程在内存数据库中记录的检查结果写入本地数据库;死链情况统计模块,用于根据本地数据库中记录的检查结果统计门户网站的死链情况。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述子线程分配模块包括以下单元之一:一对一分配单元,用于为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数;平均分配单元,用于根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数,将检查任务列表中的检查任务平均分配给每个子线程;按栏分配单元,用于根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述子线程管理模块包括:遍历处理单元,用于设置子线程在发现当前地址在网站入口地址的域名或网站入口URL目录的范围之外或者当前地址与检查任务列表中的检查任务对应的地址重合时,记录当前地址的链接状态,结束当前地址的逐层广度遍历检查。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,上述检查结果写入模块包括:检查结果读取单元,用于读取处于工作完毕状态的子线程在内存数据库中记录的检查结果;检查结果合并单元,用于当检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次数加1;其中,该检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题。
本发明实施例提供的方法和装置通过对检查任务分配多个子线程,启用多个子线程并行对检查任务进行检查,这种并行检查的方式提升了死链检查的效率。同时,上述方法和装置中的子线程还将检查结果暂存于对应的内存数据库中,当完成检查任务后,再写入到本地数据库,这种方式不但可以提升各个子线程的检查效率,还能够提升数据的读写效率,进而从整体上提高了死链检查的运行效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种门户网站的死链检查方法流程图;
图2示出了本发明实施例所提供的一种门户网站的死链检查方法示意图;
图3示出了本发明实施例所提供的一种门户网站的死链检查装置的结构框图;
图4示出了本发明实施例所提供的一种门户网站的死链检查服务器的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种门户网站的死链检查方法和装置,适用于各类门户网站,尤其适用于存在多个分站或多个子栏目的门户网站检查,下面通过具体实施例进行描述。
参见图1所示的门户网站的死链检查方法的流程图,该方法包括以下步骤:
步骤S102,根据门户网站的检查任务列表分配多个子线程;其中,子线程与检查任务列表中的检查任务可以一一对应,也可以一对多,具体对应方式可以根据门户网站的实际情况选择,本发明实施例对此不进行限制。
步骤S104,启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;其中,逐层广度遍历检查指对当前网站的主页先进行检查,即检查主页上的可以链接;然后对各个链接打开的页面进行检查,以此类推;直至打开的网页不属于当前网站入口地址的域名或网站入口URL目录的范畴或打开的网页与其它检查任务的网站入口地址相同。
步骤S106,对上述多个子线程进行周期性轮询检查。
步骤S108,将处于工作完毕状态的子线程在上述内存数据库中记录的检查结果写入本地数据库。其中,工作完毕状态的子线程表明该子线程已经完成检查任务。
步骤S110,根据本地数据库中记录的检查结果统计门户网站的死链情况。
本发明实施例的方法通过对检查任务分配多个子线程,启用多个子线程并行对检查任务进行检查,这种并行检查的方式提升了死链检查的效率。同时,上述方法还将检查结果暂存于对应的内存数据库中,当完成检查任务后,再写入到本地数据库,这种方式不但可以提升各个子线程的检查效率,还能够提升数据的读写效率,进而从整体上提高了死链检查的运行效率。
考虑到子线程的分配方式可以有多种,本发明实施例对此进行举例说明,例如一对一的分配,基于此,上述根据门户网站的检查任务列表分配多个子线程可以包括:为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数。
子线程平均分配,基于此,上述根据门户网站的检查任务列表分配多个子线程的步骤可以包括:根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数;将检查任务列表中的检查任务平均分配给每个子线程。例如,检查任务列表中涉及20项检查任务,若平均分配原则为每个线程负责两项检查任务,则20÷2=10,即需要的子线程为10个,可以按照检查任务列表中任务的先后顺序为每个子线程分配两项检查任务。
按照门户网站子栏目或分站分配子线程,基于此,上述根据门户网站的检查任务列表分配多个子线程的步骤可以包括:根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。以国家级电网门户网站为例,若按照门户网站子栏目或分站分配子线程,则可以将该门户网站中各个省级网站分配给一个子线程,然后为每个省下涉及的市级网站再分配一个子线程,即每个省级网站对应一个子线程,用于检查其市级网站的死链情况,以此类推。当然,也可以为国家级电网门户网站内的各个省级网站分别分配一个子线程,再为每个市级网站分别分配一个子线程。
考虑到各个网页可能会有很多链接,而这些链接中有些是与当前网页关联度不高的链接,另外,还有各个网页之间的链接可能相互交叉,为了尽量减少没有意义的检查,提升检查效率,上述子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查的步骤可以包括:当子线程发现当前地址在网站入口地址的域名或网站入口URL目录的范围之外或者当前地址与检查任务列表中的检查任务对应的地址重合,该子线程记录当前地址的链接状态,结束当前地址的逐层广度遍历检查。
为了便于后续根据检查结果定位死链和死链原因,上述将处于工作完毕状态的子线程在上述内存数据库中记录的检查结果写入本地数据库的步骤可以包括:读取处于工作完毕状态的子线程在内存数据库中记录的检查结果;当检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次数加1;其中,该检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题等。如表1所示的内存数据库中的检查结果记录表:
表1
在具体实现上述方法时,可以设置一个主线程用于死链检查任务的调度及为检查任务分配子线程;一个或多个爬取子线程,由主线程创建并分配检查任务;一个数据库写入线程,将每个爬取子线程的爬取结果进过分类统计写入本地数据库。
主线程在得到检查任务列表后,为该列表中每个检查项目分配一个单独的线程或者为多个检查项目分配一个单独的线程(即上述子线程),并定时轮询各个爬取子线程,发现线程空闲(爬取任务结束),即结束当前子线程,并调用数据库写入线程,将子线程存放在内存数据库中的爬取结果记入本地数据库;子线程在爬取过程中将死链检查结果写入内存数据库,内存数据库结构中包含当前死链的父页面地址,当发现爬取结果不在爬取范围内(域名或IP不同)则记录当前爬取结果并放弃对当前地址继续爬取;否则就继续爬取下级网页内容;数据库写入线程在将爬取结果转录入本地数据库的过程中,如果发现存在于不同父页面的相同地址,则合并为单条数据库记录,仅记录不同父页面的地址,并合并记数死链发生的次数,并且记录爬取子线程的ID。
基于上述主线程和子线程的运行过程,参见图2所示的门户网站的死链检查方法的示意图,该方法包括以下步骤:
步骤1:读取爬取种子列表(相当于上述检查任务列表)
基于门户网站的结构特点创建爬取种子列表,列表中的URL为每一个待检查的门户网站的主站、分站或子站的入口地址,一般为该主站、分站或子站的首页。初始化主线程,主线程读取爬取种子列表。
步骤2:创建爬取子线程
本实施例中,主线程为爬取种子列表中的每一个URL分别创建一个爬取子线程,URL地址即为爬取子线程的爬取入口地址。
步骤3:爬取结果写入内存数据库
爬取子线程从入口地址开始对网站进行逐层广度遍历检查,爬取死链,由于门户网站自身的特点,各分站或子站的入口URL地址一般为主站URL子域名或主站域名下的二级目录。在检查时,如果不对爬取子线程的爬取行为进行限制,会产生重复爬取,所以爬取子线程在运行时,如果发现非入口地址域名或一级目录下的URL,则对URL的链接状态进行记录,但不再检查此URL页面内的链接状态。爬取子线程在内存数据库中创建自己独立的记录表,并将检查结果写入内存数据库中对应的记录表中(记录表结构见上述表1)。
步骤4:调用数据库写入线程
主线程在创建子线程后定时对子线程进行轮询,发现子线程检查工作结束即关闭子线程,并调用数据库写入线程。
步骤5:读取内存数据库中的检查结果和步骤6:将检查结果写入本地数据库
数据库写入线程读取内存数据库中爬取子线程的检查结果,先对内存数据库记录表中的记录进行合并,然后对比本地数据库中已写入的检查结果进行合并,最后写入本地数据库,合并的方法为:对于不同爬取子线程爬取到的同一死链,在本地数据库中仅记录一次死链的URL地址,记录所有发现该死链的网页URL既死链的父链接地址并统计该死链在所有检查结果中发生的次数。
除非另外具体说明,否则在这些实施例中阐述的步骤的相对顺序、数字表达式和数值并不限制本发明的范围。
对应于上述方法,本发明实施例还提供了一种门户网站的死链检查装置,参见图3所示的门户网站的死链检查装置的结构框图,该装置包括以下模块:
子线程分配模块30,用于根据门户网站的检查任务列表分配多个子线程;
子线程管理模块32,用于启动多个子线程,使子线程从其负责的检查任务的网站入口地址开始对网站进行逐层广度遍历检查,并将检查结果写入内存数据库;
轮询检查模块34,用于对多个子线程进行周期性轮询检查;
检查结果写入模块36,用于将处于工作完毕状态的子线程在上述内存数据库中记录的检查结果写入本地数据库;
死链情况统计模块38,用于根据本地数据库中记录的检查结果确定门户网站的死链情况。
本发明实施例的装置通过对检查任务分配多个子线程,启用多个子线程并行对检查任务进行检查,这种并行检查的方式提升了死链检查的效率。同时,上述方法还将检查结果暂存于对应的内存数据库中,当完成检查任务后,再写入到本地数据库,这种方式不但可以提升各个子线程的检查效率,还能够提升数据的读写效率,进而从整体上提高了死链检查的运行效率。
考虑到子线程的分配方式有多种,本实施例的子线程分配模块30可以包括以下单元之一:
一对一分配单元,用于为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数;
平均分配单元,用于根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数,将检查任务列表中的检查任务平均分配给每个子线程;
按栏分配单元,用于根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。
优选地,上述子线程管理模块32可以包括:遍历处理单元,用于设置子线程在发现当前地址在网站入口地址的域名或网站入口URL目录的范围之外或者当前地址与检查任务列表中的检查任务对应的地址重合时,记录当前地址的链接状态,结束当前地址的逐层广度遍历检查。
对应于上述检查结果合并的方式,上述检查结果写入模块36可以包括:检查结果读取单元,用于读取处于工作完毕状态的子线程在内存数据库中记录的检查结果;检查结果合并单元,用于当检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将本地数据库中记录死链的统计次数加1;其中,该检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题等。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例中,当子线程处于工作完毕状态时,可以关闭该子线程,该关闭动作可以由上述主线程完成,也可以装置或系统中的其它控制命令完成。
以上实施例通过创建多个子线程,对检查任务列表中的入口URL进行并发扫描,子线程在检查过程中,可以放弃爬取范围外的页面,这样能够防止对门户网站不同网站间的重复爬取,对死链父页面地址的记录便于门户网站维护人员对死链进行修复,上述数据库写入线程的合并统计设计防止了对同一死链的重复报告并可对门户网站不同模块的死链情况进行各种分类和归并统计,便于对门户网站各个模块的死链情况进行单独分析。子线程的检查结果先存入内存数据库中,再由独立的线程写入本地数据库的设计提高了爬取子线程的运行效率以及数据库读写效率,从而提高了整个检查工作的运行效率。
本发明实施例中附图的流程图和框图显示了根据本发明的方法和装置的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
参见图4,本发明实施例还提供一种门户网站的死链检查服务器100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM:RandomAccess Memory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的进行门户网站的死链检查的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种门户网站的死链检查方法,其特征在于,包括:
根据门户网站的检查任务列表分配多个子线程;
启动所述多个子线程,使所述子线程从其负责的检查任务的网站入口地址开始对所述网站进行逐层广度遍历检查,并将检查结果写入内存数据库;
对所述多个子线程进行周期性轮询检查;
将处于工作完毕状态的子线程在所述内存数据库中记录的检查结果写入本地数据库;
根据所述本地数据库中记录的检查结果统计所述门户网站的死链情况。
2.根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个子线程包括:
为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数。
3.根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个子线程包括:
根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数;
将所述检查任务列表中的检查任务平均分配给每个所述子线程。
4.根据权利要求1所述的方法,其特征在于,根据门户网站的检查任务列表分配多个子线程包括:
根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。
5.根据权利要求1所述的方法,其特征在于,所述子线程从其负责的检查任务的网站入口地址开始对所述网站进行逐层广度遍历检查包括:
当子线程发现当前地址在所述网站入口地址的域名或网站入口URL目录的范围之外或者所述当前地址与所述检查任务列表中的检查任务对应的地址重合,记录所述当前地址的链接状态,结束所述当前地址的逐层广度遍历检查。
6.根据权利要求1所述的方法,其特征在于,将处于工作完毕状态的子线程在所述内存数据库中记录的检查结果写入本地数据库包括:
读取处于工作完毕状态的子线程在所述内存数据库中记录的检查结果;
当所述检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将所述本地数据库中记录所述死链的统计次数加1;
其中,所述检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题。
7.一种门户网站的死链检查装置,其特征在于,包括:
子线程分配模块,用于根据门户网站的检查任务列表分配多个子线程;
子线程管理模块,用于启动所述多个子线程,使所述子线程从其负责的检查任务的网站入口地址开始对所述网站进行逐层广度遍历检查,并将检查结果写入内存数据库;
轮询检查模块,用于对所述多个子线程进行周期性轮询检查;
检查结果写入模块,用于将处于工作完毕状态的子线程在所述内存数据库中记录的检查结果写入本地数据库;
死链情况统计模块,用于根据所述本地数据库中记录的检查结果统计所述门户网站的死链情况。
8.根据权利要求7所述的装置,其特征在于,所述子线程分配模块包括以下单元之一:
一对一分配单元,用于为门户网站的检查任务列表中的每个检查任务分配一个子线程的个数;
平均分配单元,用于根据平均分配原则和门户网站的检查任务列表中的检查任务总数选择子线程的个数,将所述检查任务列表中的检查任务平均分配给每个所述子线程;
按栏分配单元,用于根据门户网站的检查任务列表中的各个检查任务所属的门户网站子栏目或分站分配子线程。
9.根据权利要求7所述的装置,其特征在于,所述子线程管理模块包括:
遍历处理单元,用于设置所述子线程在发现当前地址在所述网站入口地址的域名或网站入口URL目录的范围之外或者所述当前地址与所述检查任务列表中的检查任务对应的地址重合时,记录所述当前地址的链接状态,结束所述当前地址的逐层广度遍历检查。
10.根据权利要求7所述的装置,其特征在于,所述检查结果写入模块包括:
检查结果读取单元,用于读取处于工作完毕状态的子线程在所述内存数据库中记录的检查结果;
检查结果合并单元,用于当所述检查结果中记录的死链的地址与本地数据库中记录的检查结果中的死链的地址相同时,将所述本地数据库中记录所述死链的统计次数加1;
其中,所述检查结果包括:死链的地址、死链的状态编码、死链所在页面、死链的类型、死链的标题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665988.3A CN104331335B (zh) | 2014-11-20 | 2014-11-20 | 门户网站的死链检查方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665988.3A CN104331335B (zh) | 2014-11-20 | 2014-11-20 | 门户网站的死链检查方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104331335A true CN104331335A (zh) | 2015-02-04 |
CN104331335B CN104331335B (zh) | 2018-03-23 |
Family
ID=52406067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410665988.3A Expired - Fee Related CN104331335B (zh) | 2014-11-20 | 2014-11-20 | 门户网站的死链检查方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331335B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682041A (zh) * | 2015-11-11 | 2017-05-17 | 北京国双科技有限公司 | 网页断链的检测方法和装置 |
CN108228656A (zh) * | 2016-12-21 | 2018-06-29 | 普天信息技术有限公司 | 基于cart决策树的url分类方法及装置 |
CN112256773A (zh) * | 2019-07-22 | 2021-01-22 | 沅圣科技股份有限公司 | 企业管理系统对接方法、电子装置及存储介质 |
CN112615929A (zh) * | 2020-12-24 | 2021-04-06 | 上海掌门科技有限公司 | 一种推送消息的方法与设备 |
CN114861101A (zh) * | 2022-01-25 | 2022-08-05 | 浙江浩瀚能源科技有限公司 | 一种门户网站异常超链接的检测方法、装置、设备及介质 |
CN115238210A (zh) * | 2022-09-21 | 2022-10-25 | 云账户技术(天津)有限公司 | 一种网站链接可用性检查方法及装置、存储介质、终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294052A1 (en) * | 2005-06-28 | 2006-12-28 | Parashuram Kulkami | Unsupervised, automated web host dynamicity detection, dead link detection and prerequisite page discovery for search indexed web pages |
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
JP2011204184A (ja) * | 2010-03-26 | 2011-10-13 | Yahoo Japan Corp | デッドリンク判定装置及び方法 |
CN103198062A (zh) * | 2012-01-04 | 2013-07-10 | 百度在线网络技术(北京)有限公司 | 一种监控页面死链和js错误的方法及系统 |
-
2014
- 2014-11-20 CN CN201410665988.3A patent/CN104331335B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294052A1 (en) * | 2005-06-28 | 2006-12-28 | Parashuram Kulkami | Unsupervised, automated web host dynamicity detection, dead link detection and prerequisite page discovery for search indexed web pages |
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
JP2011204184A (ja) * | 2010-03-26 | 2011-10-13 | Yahoo Japan Corp | デッドリンク判定装置及び方法 |
CN103198062A (zh) * | 2012-01-04 | 2013-07-10 | 百度在线网络技术(北京)有限公司 | 一种监控页面死链和js错误的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682041A (zh) * | 2015-11-11 | 2017-05-17 | 北京国双科技有限公司 | 网页断链的检测方法和装置 |
CN108228656A (zh) * | 2016-12-21 | 2018-06-29 | 普天信息技术有限公司 | 基于cart决策树的url分类方法及装置 |
CN108228656B (zh) * | 2016-12-21 | 2021-05-25 | 普天信息技术有限公司 | 基于cart决策树的url分类方法及装置 |
CN112256773A (zh) * | 2019-07-22 | 2021-01-22 | 沅圣科技股份有限公司 | 企业管理系统对接方法、电子装置及存储介质 |
CN112615929A (zh) * | 2020-12-24 | 2021-04-06 | 上海掌门科技有限公司 | 一种推送消息的方法与设备 |
CN112615929B (zh) * | 2020-12-24 | 2023-01-31 | 上海掌门科技有限公司 | 一种推送消息的方法与设备 |
CN114861101A (zh) * | 2022-01-25 | 2022-08-05 | 浙江浩瀚能源科技有限公司 | 一种门户网站异常超链接的检测方法、装置、设备及介质 |
CN115238210A (zh) * | 2022-09-21 | 2022-10-25 | 云账户技术(天津)有限公司 | 一种网站链接可用性检查方法及装置、存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104331335B (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331335A (zh) | 门户网站的死链检查方法和装置 | |
Chu et al. | Triangle listing in massive networks and its applications | |
US8886654B2 (en) | Infrastructure and architecture for development and execution of predictive models | |
US9569207B2 (en) | Source code flow analysis using information retrieval | |
CN105404699A (zh) | 一种搜索财经文章的方法、装置及服务器 | |
CN104598376A (zh) | 一种数据驱动的分层自动化测试系统和方法 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN106055618A (zh) | 一种基于网络爬虫与结构化存储的数据处理方法 | |
CN106528898A (zh) | 将非关系型数据库数据转换到关系型数据库的方法及装置 | |
CN103455758A (zh) | 恶意网站的识别方法及装置 | |
CN111680855A (zh) | 一种项目全过程风险自动检测预警方法及系统 | |
CN104750826A (zh) | 一种结构化数据资源元数据自动甄别与动态注册方法 | |
Rosen | A visual approach to investigating shared and global memory behavior of CUDA kernels | |
CN104123298B (zh) | 产品缺陷的分析方法和设备 | |
US11288266B2 (en) | Candidate projection enumeration based query response generation | |
CN112559280A (zh) | 基于数据中台的数据全链路监控方法 | |
CN109582883A (zh) | 栏目页的确定方法和装置 | |
US10671644B1 (en) | Adaptive column set composition | |
CN116860311A (zh) | 脚本分析方法、装置、计算机设备及存储介质 | |
Haque et al. | SCUD: A fast single-pass L1 cache simulation approach for embedded processors with round-robin replacement policy | |
Koch et al. | Static spreadsheet analysis | |
US20120284224A1 (en) | Build of website knowledge tables | |
CN110472125B (zh) | 一种基于网络爬虫的多级页面的级联爬取方法和设备 | |
CN113935663A (zh) | 一种面板产品的设备组合分析方法、装置、设备及介质 | |
Chircu et al. | Business analytics and supply chain and operations management–a text mining-based literature review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180323 Termination date: 20211120 |