CN104504097A - 活链规则挖掘方法和装置以及搜索方法和装置 - Google Patents

活链规则挖掘方法和装置以及搜索方法和装置 Download PDF

Info

Publication number
CN104504097A
CN104504097A CN201410836421.8A CN201410836421A CN104504097A CN 104504097 A CN104504097 A CN 104504097A CN 201410836421 A CN201410836421 A CN 201410836421A CN 104504097 A CN104504097 A CN 104504097A
Authority
CN
China
Prior art keywords
chain
alive
directory link
link
attribute
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
Application number
CN201410836421.8A
Other languages
English (en)
Other versions
CN104504097B (zh
Inventor
郑燕琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410836421.8A priority Critical patent/CN104504097B/zh
Publication of CN104504097A publication Critical patent/CN104504097A/zh
Application granted granted Critical
Publication of CN104504097B publication Critical patent/CN104504097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

本发明公开了一种活链规则挖掘方法和装置以及一种搜索方法和装置,该方法包括:基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接;对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性;基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。本发明提供的技术方案不再局限于对链接的活链属性的遍历式检测,而是进一步通过分析其活链属性和活链属性的扩展性,挖掘活链规则,克服了现有技术的盲目和繁琐,更加启发式、有效、便捷地对指定站点中的链接属性进行判断;并给用户提供更为有效、可靠的搜索体验。

Description

活链规则挖掘方法和装置以及搜索方法和装置
技术领域
本发明涉及数据挖掘领域,具体涉及一种活链规则挖掘方法和装置以及一种搜索方法和装置。
背景技术
网站作为大规模的信息集合体,包含了大量的web链接。有些Web链接经过一段时间之后,因种种原因而失效或者出现错误,从而形成死链。搜索引擎每天的搜索次数达亿次,其中展现的搜索结果页不乏有些死链,这会影响用户体验。因此,活链规则挖掘并保证展现的搜索结果页的高活链率是非常必要且重要的。
现有技术中,主要是解决网站活链检测方法,即通过不断抓取网站链接通过返回码判断网页是否为活链,该方案虽然能够检测网页活链,但是并没有从已发现的活链中挖掘活链规则,无法覆盖那些已死但未被调度检测到的链接,具有一定的盲目性。并且当用户进行搜索操作时,依然存在搜索到死链的可能性,用户体验不好。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种活链规则挖掘方法、装置、搜索方法和装置。
依据本发明的一个方面,提供了一种活链规则挖掘方法,其中,该方法包括:
基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接;
对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性;
基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。
可选地,对于各目录链接,分别统计各自对应的活链属性包括:
对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态。
可选地,所述对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态包括:
如果该目录链接下包含的总链数大于第一预设值,且其中的活链占比小于第二预设值,则该目录链接的活链属性为死链状态;
如果该目录链接下包含的总链数大于第三预设值,且其中的死链占比小于第四预设值,则该目录链接的活链属性为活链状态;
如果目录链接下包含的总链数大于第五预设值,且其中的死链占比小于第六预设值,则该目录链接的活链属性为部分死链部分活链状态;
其中,第一预设值>第三预设值>第五预设值;
第二预设值<第四预设值<第六预设值。
可选地,所述第一预设值为:15;
所述第二预设值为:8%;
所述第三预设值为:10;
所述第四预设值为:30%;
所述第五预设值为:5;
所述第六预设值为:70%。
可选地,所述分别统计各自对应的活链属性的扩展性包括:
对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展。
可选地,该方法进一步包括:
对于没有孩子目录链接的目录链接,默认该目录链接的活链属性不可扩展。
可选地,对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展包括:
将该指定站点的各目录链接按照从低到高的级别进行排序;
按照所述排序对其中的每个目录链接执行如下操作:
记录该目录链接的状态;
如果该目录链接有父目录链接,则将其父目录链接放入指定集合中;
判断该目录链接是否在所述指定集合中,如果不在,默认该目录链接的活链属性不可扩展;如果在,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致;
如果都一致,则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展,并在该目录链接的活链属性为死链状态时将其临时修改为部分死链部分活链状态;
按照所述排序对每个目录链接都执行如上操作后,将活链属性为部分死链部分活链状态的目录链接修改为死链状态。
可选地,该方法进一步包括:
对个一个目录链接,判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接。
可选地,所述判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接包括:
将该指定站点的目录链接按照从高到低的级别进行排序;
先设置如下三个变量为空:上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性;
然后按照所述排序对每个目录链接执行如下操作:
判断上一目录链接是否为当前目录链接的父目录链接,否则保留当前目录链接;其中,如果变量上一目录链接为空,直接保留当前目录链接;
如果是父目录链接,判断当前目录链接的活链属性是否与上一目录链接的活链属性一致,且其上一目录链接的活链属性可扩展,如果是则筛掉该目录链接,否则保留当前目录链接;
将被保留的当前目录链接、被保留的当前目录链接的活链属性和被保留的当前目录链接活链属性的扩展性依次分别赋值给所述的三个变量。
依据本发明的另一个方面,提供了一种搜索方法,该方法包括:
根据搜索请求获取搜索结果;
根据活链规则,在所述搜索结果中只保留活链;其中所述活链规则是依据上述任一项所述的方法获取的。
向用户展现只保留活链后的搜索结果。
可选地,所述根据活链规则,在所述搜索结果中只保留活链包括:
如果搜索结果中的一个链接包含一个活链属性为活链状态,且活链属性可扩展的目录链接,则确定该链接为活链,在搜索结果中保留该活链。
依据本发明的又一个方面,提供了一种活链规则挖掘装置,该装置包括:
目录链接获取单元,适于基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接;
活链统计单元,适于对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性;
活链规则单元,适于基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。
可选地,所述活链统计单元,适于对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态。
可选地,所述活链统计单元,适于根据如下规则确定一个目录链接的活链属性:
如果该目录链接下包含的总链数大于第一预设值,且其中的活链占比小于第二预设值,则该目录链接的活链属性为死链状态;
如果该目录链接下包含的总链数大于第三预设值,且其中的死链占比小于第四预设值,则该目录链接的活链属性为活链状态;
如果目录链接下包含的总链数大于第五预设值,且其中的死链占比小于第六预设值,则该目录链接的活链属性为部分死链部分活链状态;
其中,第一预设值>第三预设值>第五预设值;
第二预设值<第四预设值<第六预设值。
可选地,所述第一预设值为:15;
所述第二预设值为:8%;
所述第三预设值为:10;
所述第四预设值为:30%;
所述第五预设值为:5;
所述第六预设值为:70%。
可选地,所述活链统计单元,适于对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展。
可选地,所述活链统计单元,适于对于没有孩子目录链接的目录链接,默认该目录链接的活链属性不可扩展。
可选地,所述活链统计单元,适于根据如下步骤确定一个目录链接的活链属性的扩展性:
将该指定站点的各目录链接按照从低到高的级别进行排序;
按照所述排序对其中的每个目录链接执行如下操作:
记录该目录链接的状态;
如果该目录链接有父目录链接,则将其父目录链接放入指定集合中;
判断该目录链接是否在所述指定集合中,如果不在,默认该目录链接的活链属性不可扩展;如果在,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致;
如果都一致,则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展,并在该目录链接的活链属性为死链状态时将其临时修改为部分死链部分活链状态;
按照所述排序对每个目录链接都执行如上操作后,将活链属性为部分死链部分活链状态的目录链接修改为死链状态。
可选地,该装置进一步包括:
去冗余单元,适于对个一个目录链接,判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接。
可选地,去冗余单元,适于根据如下步骤筛掉部分目录链接:
将该指定站点的目录链接按照从高到低的级别进行排序;
先设置如下三个变量为空:上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性;
然后按照所述排序对每个目录链接执行如下操作:
判断上一目录链接是否为当前目录链接的父目录链接,否则保留当前目录链接;其中,如果变量上一目录链接为空,直接保留当前目录链接;
如果是父目录链接,判断当前目录链接的活链属性是否与上一目录链接的活链属性一致,且其上一目录链接的活链属性可扩展,如果是则筛掉该目录链接,否则保留当前目录链接;
将被保留的当前目录链接、被保留的当前目录链接的活链属性和被保留的当前目录链接活链属性的扩展性依次分别赋值给所述的三个变量。
依据本发明的再一个方面,提供了一种搜索装置,该装置包括:
搜索结果获取单元,适于根据搜索请求获取搜索结果;
活链保留单元,适于根据活链规则,在所述搜索结果中只保留活链;其中所述活链规则是如上任一项所述的活链规则挖掘装置获得的。
搜索结果展示单元,适于向用户展现只保留活链后的搜索结果。
可选地,所述活链保留单元,适于在搜索结果中的一个链接包含一个活链属性为活链状态,且活链属性可扩展的目录链接,则确定该链接为活链,在搜索结果中保留该活链。
由上述可知,本发明提供的技术方案以指定站点中的目录链接为样本,通过统计各目录链接的活链属性及活链属性的扩展性,确定指定站点的活链规则。在用户进行搜索操作时,将活链规则能够确定的活链保留下来,将只保留活链的搜索结果展现给用户。与现有技术相比,本方案不再局限于对链接的活链属性的遍历式检测,而是进一步通过分析其活链属性和活链属性的扩展性,挖掘活链规则,克服了现有技术的盲目和繁琐,更加启发式、有效、便捷地对指定站点中的链接属性进行判断;并给用户提供更为有效、可靠的搜索体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种活链规则挖掘方法的流程图;
图2示出了根据本发明一个实施例的一种搜索方法的流程图;
图3示出了根据本发明一个实施例的一种活链规则挖掘装置的示意图;
图4示出了根据本发明另一个实施例的一种活链规则挖掘装置的示意图;
图5示出了根据本发明一个实施例的一种搜索装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种活链规则挖掘方法的流程图。如图1所示,该方法包括:
步骤S110,基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接。
例如,一个链接http://A/B/C所包含的各级目录链接为http://A、http://A/B和http://A/B/C。本本文中,为了描述方便,将如上述的目录链接记录为A、A/B、A/B/C。
步骤S120,对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性。
步骤S130,基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定指定站点的活链规则。
可见,图1所示的方法以指定站点中的目录链接为样本,通过统计各目录链接的活链属性及活链属性的扩展性,确定指定站点的活链规则。与现有技术相比,本方案不再局限于对链接的活链属性的遍历式检测,而是进一步通过分析其活链属性和活链属性的扩展性,挖掘活链规则,克服了现有技术的盲目和繁琐,更加启发式、有效、便捷地对指定站点中的链接属性进行判断。
在本发明的一个实施例中,图1所示方法的步骤S120中对于各目录链接,分别统计各自对应的活链属性是指:对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性,活链属性包括:死链状态、活链状态或部分死链部分活链状态。
在本发明的一个实施例中,所述对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态包括:
如果该目录链接下包含的总链数大于第一预设值,且其中的活链占比小于第二预设值,则该目录链接的活链属性为死链状态;如果该目录链接下包含的总链数大于第三预设值,且其中的死链占比小于第四预设值,则该目录链接的活链属性为活链状态;如果目录链接下包含的总链数大于第五预设值,且其中的死链占比小于第六预设值,则该目录链接的活链属性为部分死链部分活链状态;其中,第一预设值>第三预设值>第五预设值;第二预设值<第四预设值<第六预设值。
在本发明的一个具体实施例中,所述第一预设值为:15;所述第二预设值为:8%;所述第三预设值为:10;所述第四预设值为:30%;所述第五预设值为:5;所述第六预设值为:70%。则本本实施例中,判断活链属性的方法为:如果一个目录链接下包含的总链数大于15,且其中的活链占比小于8%,则该目录链接的活链属性为死链状态;如果一个目录链接下包含的总链数大于10,且其中的死链占比小于30%,则该目录链接的活链属性为活链状态;如果目录链接下包含的总链数大于5值,且其中的死链占比小于70%,则该目录链接的活链属性为部分死链部分活链状态。
例如,依据上述活链属性的判断标准,指定站点Site0中链接所包含的各级目录链接为:A/C/D/E、A/C/D/D、A/C/D、A/C/C/E、A/C/C/D、A/C/C、A/C、A/B、A,依据上述活链属性的判断方法,判断得到各目录链接的活链属性如表1所示,其中,“0”表示活链状态,“1”表示死链状态,“2”表示部分死链部分活链状态。
表1
在本发明的一个实施例中,图1所示的方法的步骤S120中对于一个目录链接,分别统计各自对应的活链属性的扩展性是指:对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展。其中,对于没有孩子目录链接的目录链接,默认该目录链接的活链属性不可扩展。
在本实施例中,判断活链属性的扩展性的具体方法为:将指定站点的各目录链接按照从低到高的级别进行排序,按照排序对其中的每个目录链接执行如下操作:
步骤S121,记录该目录链接的活链属性。
步骤S122,如果该目录链接有父目录链接,则将其父目录链接放入指定集合中。
步骤S123,判断该目录链接是否在指定集合中,如果不在,默认该目录链接的活链属性不可扩展;如果在,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致。
步骤S124,如果都一致,则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展,并在该目录链接的活链属性为死链状态时将其临时修改为部分死链部分活链状态。
步骤S125,按照所述排序对每个目录链接都执行如上操作后,将活链属性为部分死链部分活链状态的目录链接修改为死链状态。
沿用指定站点Site0的例子,如表1所示将各目录链接按照从低到高的级别进行排序,按照排序依次对各目录链接执行操作。
初始状态下设置指定集合为空,指定集合的含义是:放入指定集合的目录链接具有孩子目录链接。以F代表活链属性,P代表父目录链接,C代表孩子目录链接。
对于目录链接A/C/D/E,如表1所示,记录其活链属性F(A/C/D/E)=1,其父目录链接P(A/C/D/E)=A/C/D,将其父目录链接A/C/D放入指定集合中,当前目录链接A/C/D/E不在指定集合中,默认该目录链接的活链属性不可扩展。
对于目录链接A/C/D/D,如表1所示,记录其活链属性F(A/C/D/D)=1,其父目录链接P(A/C/D/D)=A/C/D在处理目录链接A/C/D/E时已被放入指定集合中,当前目录链接A/C/D/D不在指定集合中,默认该目录链接的活链属性不可扩展。
对于目录链接A/C/D,如表1所示,记录其活链属性F(A/C/D)=1,其父目录链接P(A/C/D)=A/C,将其父目录链接A/C放入指定集合中,当前目录链接A/C/D在指定集合中,其孩子目录链接的活链属性F{C(A/C/D)}=F{A/C/D/E,A/C/D/D}={F(A/C/D/E),F(A/C/D/D)}={1,1},都与当前目录链接A/C/D的活链属性一致,该目录链接的活链属性可扩展。
对于目录链接A/C/C/E,如表1所示,记录其活链属性F(A/C/C/E)=0,其父目录链接P(A/C/C/E)=A/C/C,将其父目录链接A/C/C放入指定集合中,当前目录链接A/C/C/E不在指定集合中,默认该目录链接的活链属性不可扩展。
对于目录链接A/C/C/D,如表1所示,记录其活链属性F(A/C/C/D)=0,其父目录链接P(A/C/C/D)=A/C/C在处理目录链接A/C/C/E时已被放入指定集合中,当前目录链接A/C/C/D不在指定集合中,默认该目录链接的活链属性不可扩展。
对于目录链接A/C/C,如表1所示,记录其活链属性F(A/C/C)=0,其父目录链接P(A/C/C)=A/C在处理目录链接A/C/D时已被放入指定集合中,当前目录链接A/C/C在指定集合中,其孩子目录链接的活链属性F{C(A/C/C)}=F{A/C/C/E,A/C/C/D}={F(A/C/C/E),F(A/C/C/D)}={0,0},都与当前目录链接A/C/C的活链属性一致,该目录链接的活链属性可扩展。
对于目录链接A/C,如表1所示,记录其活链属性F(A/C)=1,其父目录链接P(A/C)=A,将其父目录链接A放入指定集合中,当前目录链接A/C在指定集合中,其孩子目录链接的活链属性F{C(A/C)}=F{A/C/C,A/C/D}={F(A/C/C),F(A/C/D)}={0,1},不都与当前目录链接A/C的活链属性一致,该目录链接的活链属性不可扩展,将该目录链接的活链属性临时修改为部分死链部分活链状态,F(A/C)=2。
对于目录链接A/B,如表1所示,记录其活链属性F(A/B)=1,其父目录链接P(A/B)=A在处理目录链接A/C时已被放入指定集合中,当前目录链接A/B不在指定集合中,默认该目录链接的活链属性不可扩展。
对于目录链接A,如表1所示,记录其活链属性F(A)=1当前目录链接A在指定集合中,其孩子目录链接的活链属性F{C(A)}=F{A/B,A/C}={F(A/B),F(A/C)}={1,2},不都与当前目录链接A的活链属性一致,该目录链接的活链属性不可扩展。
处理完毕,将活链属性为部分死链部分活链状态的目录链接A/C修改为死链状态,得到各目录链接的活链属性的扩展性,如表2所示,其中,在活链属性所在的列中,“0”表示活链状态,“1”表示死链状态,“2”表示部分死链部分活链状态;在活链属性的扩展性所在的列中,“0”表示活链属性不可扩展,“1”表示活链属性可扩展。
表2
在对指定站点的各目录链接的活链属性和活链属性的扩展性做出判断后,在本发明的一个实施例中,图1所示的方法进一步包括:对个一个目录链接,判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接。
在本实施例中,对目录链接进行筛掉处理的方法具体为:将该指定站点的目录链接按照从高到低的级别进行排序;先设置如下三个变量为空:上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性;然后按照所述排序对每个目录链接执行如下操作:
步骤S126,判断上一目录链接是否为当前目录链接的父目录链接,如果否,则保留当前目录链接;其中,如果变量上一目录链接为空,直接保留当前目录链接。
步骤S127,如果是父目录链接,判断当前目录链接的活链属性是否与上一目录链接的活链属性一致,且其上一目录链接的活链属性可扩展,如果是则筛掉该目录链接,否则保留当前目录链接。
步骤S128,将被保留的当前目录链接、被保留的当前目录链接的活链属性和被保留的当前目录链接活链属性的扩展性依次分别赋值给所述的三个变量。
继续沿用指定站点Site0的例子,如表3所示将各目录链接按照从高到低的级别进行排序。
表3
设置上一目录链接(old_urldir)、上一目录链接的死链属性(old_stat)和上一目录链接死链属性的扩展性(old_extended)这三个变量为空,按照排序依次对各目录链接执行操作,其中,以E表示活链属性的扩展性。
对于目录链接A,上一目录链接为空,直接保留当前目录链接A;并将当前目录链接A、当前目录链接的活链属性F(A)=1和当前目录链接活链属性的扩展性E(A)=0依次分别赋值给上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性这三个变量。
对于目录链接A/B,上一目录链接A为当前目录链接A/B的父目录链接,虽然当前目录链接A/B的活链属性F(A/B)=1与上一目录链接的活链属性F(A)=1一致,但上一目录链接活链属性不可扩展E(A)=0,因此保留当前目录链接A/B;并将当前目录链接A/B、当前目录链接的活链属性F(A/B)=1和当前目录链接活链属性的扩展性E(A/B)=0依次分别赋值给上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性这三个变量。
对于目录链接A/C,上一目录链接A/B不是当前目录链接A/C的父目录链接,保留当前目录链接A/C;并将当前目录链接A/C、当前目录链接的活链属性F(A/C)=1和当前目录链接活链属性的扩展性E(A/C)=0依次分别赋值给上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性这三个变量。
对于目录链接A/C/C,上一目录链接A/C为当前目录链接A/C/C的父目录链接,当前目录链接A/C/C的活链属性F(A/C/C)=0与上一目录链接的活链属性F(A/C)=1不一致,因此保留当前目录链接A/C/C;并将当前目录链接A/C/C、当前目录链接的活链属性F(A/C/C)=0和当前目录链接活链属性的扩展性E(A/C/C)=1依次分别赋值给上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性这三个变量。
对于目录链接A/C/C/D,上一目录链接A/C/C为当前目录链接A/C/C/D的父目录链接,当前目录链接A/C/C/D的活链属性F(A/C/C/D)=0与上一目录链接的活链属性F(A/C/C)=0一致,且上一目录链接活链属性可扩展E(A/C/C)=1,因此筛掉该目录链接A/C/C/D。
对于目录链接A/C/C/E,上一目录链接A/C/C为当前目录链接A/C/C/E的父目录链接,当前目录链接A/C/C/E的活链属性F(A/C/C/E)=0与上一目录链接的活链属性F(A/C/C)=0一致,且上一目录链接活链属性可扩展E(A/C/C)=1,因此筛掉该目录链接A/C/C/E。
对于目录链接A/C/D,上一目录链接A/C/C不是当前目录链接A/C/D的父目录链接,保留当前目录链接A/C/D;并将当前目录链接A/C/D、当前目录链接的活链属性F(A/C/D)=1和当前目录链接活链属性的扩展性E(A/C/D)=1依次分别赋值给上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性这三个变量。
对于目录链接A/C/D/D,上一目录链接A/C/D为当前目录链接A/C/D/D的父目录链接,当前目录链接A/C/D/D的活链属性F(A/C/D/D)=1与上一目录链接的活链属性F(A/C/D)=1一致,且上一目录链接活链属性可扩展E(A/C/D)=1,因此筛掉该目录链接A/C/D/D。
对于目录链接A/C/D/E,上一目录链接A/C/D为当前目录链接A/C/D/E的父目录链接,当前目录链接A/C/D/E的活链属性F(A/C/D/E)=1与上一目录链接的活链属性F(A/C/D)=1一致,且上一目录链接活链属性可扩展E(A/C/D)=1,因此筛掉该目录链接A/C/D/E。
处理完毕,输出的最终结果如表4所示:
表4
图1所示的方法得到的活链规则如表5所示:
表5
站点 目录链接 活链属性 活链属性的扩展性
Site0 A/C/C 0 1
通过表5可知,在指定站点Site0中,目录链接A/C/C是活链,且其活链属性可扩展,即包含A/C/C的任何链接都是活链。
图2示出了根据本发明一个实施例的一种搜索方法的流程图。如图2所示,该搜索方法包括:
步骤S210,根据搜索请求获取搜索结果。
步骤S220,根据活链规则,在所述搜索结果中只保留活链。
在本步骤中,所述活链规则是依据如图1所示方法获取的。
步骤S230,向用户展现只保留活链后的搜索结果。
可见,图2所示的搜索方法通过将活链规则可以判断为活链的链接从搜索结果中去除,向用户展现只保留活链后的搜索结果,给用户更为可靠、有效的搜索体验。
在本发明的一个实施例中,图2所示方法的步骤S220根据活链规则,从搜索结果中只保留活链包括:如果搜索结果中的一个链接包含一个活链属性为活链状态,且活链属性可扩展的目录链接,则确定该链接为活链,在搜索结果中保留该活链。
图3示出了根据本发明一个实施例的一种活链规则挖掘装置的示意图。如图3所示,该活链规则挖掘装置300包括:
目录链接获取单元310,适于基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接。
活链统计单元320,适于对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性。
活链规则单元330,适于基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。
可见,图3所示的装置通过各单元的配合,以指定站点中的目录链接为样本,通过统计各目录链接的活链属性及活链属性的扩展性,确定指定站点的活链规则。与现有技术相比,本方案不再局限于对链接的活链属性的遍历式检测,而是进一步通过分析其活链属性和活链属性的扩展性,挖掘活链规则,克服了现有技术的盲目和繁琐,更加启发式、有效、便捷地对指定站点中的链接属性进行判断。
在本发明的一个实施例中,图3所示装置的活链统计单元320,适于对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态。
在本发明的一个实施例中,所述活链统计单元320,适于根据如下规则确定一个目录链接的活链属性:如果该目录链接下包含的总链数大于第一预设值,且其中的活链占比小于第二预设值,则该目录链接的活链属性为死链状态;如果该目录链接下包含的总链数大于第三预设值,且其中的死链占比小于第四预设值,则该目录链接的活链属性为活链状态;如果目录链接下包含的总链数大于第五预设值,且其中的死链占比小于第六预设值,则该目录链接的活链属性为部分死链部分活链状态;其中,第一预设值>第三预设值>第五预设值;第二预设值<第四预设值<第六预设值。
在本发明的一个实施例中,所述第一预设值为:15;所述第二预设值为:8%;所述第三预设值为:10;所述第四预设值为:30%;所述第五预设值为:5;所述第六预设值为:70%。则活链统计单元320确定活链属性的规则为:如果一个目录链接下包含的总链数大于15,且其中的活链占比小于8%,则该目录链接的活链属性为死链状态;如果一个目录链接下包含的总链数大于10,且其中的死链占比小于30%,则该目录链接的活链属性为活链状态;如果目录链接下包含的总链数大于5值,且其中的死链占比小于70%,则该目录链接的活链属性为部分死链部分活链状态。
在本发明的一个实施例中,图3所示装置的活链统计单元320,适于对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展。其中,对于没有孩子目录链接的目录链接,活链统计单元320默认该目录链接的活链属性不可扩展。
在本实施例中,活链统计单元320适于根据如下步骤确定一个目录链接的活链属性的扩展性:将该指定站点的各目录链接按照从低到高的级别进行排序;按照所述排序对其中的每个目录链接执行如下操作:
记录该目录链接的状态;如果该目录链接有父目录链接,则将其父目录链接放入指定集合中;判断该目录链接是否在所述指定集合中,如果不在,默认该目录链接的活链属性不可扩展;如果在,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致;如果都一致,则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展,并在该目录链接的活链属性为死链状态时将其临时修改为部分死链部分活链状态;按照所述排序对每个目录链接都执行如上操作后,将活链属性为部分死链部分活链状态的目录链接修改为死链状态。
活链统计单元320所执行的上述过程与图1所示方法判断活链属性的扩展性的过程相同,上文中已利用指定站点Site0的例子详细说明,在此不再赘述。
图4示出了根据本发明另一个实施例的一种活链规则挖掘装置的示意图。如图4所示,该活链规则挖掘装置400包括:目录链接获取单元410、活链统计单元420、活链规则单元430和去冗余单元440。
其中,目录链接获取单元410、活链统计单元420、活链规则单元430分别与图3所示装置的目录链接获取单元310、活链统计单元320、活链规则单元330对应相同,在此不再赘述。
去冗余单元440,适于对个所述各目录链接中的每个目录链接,判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接。
在本发明的一个实施例中,图4所示装置的去冗余单元440,适于根据如下步骤筛掉部分目录链接:将该指定站点的目录链接按照从高到低的级别进行排序;先设置如下三个变量为空:上一目录链接、上一目录链接的活链属性和上一目录链接活链属性的扩展性;然后按照所述排序对每个目录链接执行如下操作:
判断上一目录链接是否为当前目录链接的父目录链接,否则保留当前目录链接;其中,如果变量上一目录链接为空,直接保留当前目录链接;如果是父目录链接,判断当前目录链接的活链属性是否与上一目录链接的活链属性一致,且其上一目录链接的活链属性可扩展,如果是则筛掉该目录链接,否则保留当前目录链接;将被保留的当前目录链接、被保留的当前目录链接的活链属性和被保留的当前目录链接活链属性的扩展性依次分别赋值给所述的三个变量。
去冗余单元440所执行的上述过程与图1所示方法对目录链接进行筛掉处理的过程相同,上文中已利用指定站点Site0的例子详细说明,在此不再赘述。
图5示出了根据本发明一个实施例的一种搜索装置的示意图。如图5所示,该搜索装置500包括:
搜索结果获取单元510,适于根据搜索请求获取搜索结果。
活链保留单元520,适于根据活链规则,从所述搜索结果中去除死链。
活链保留单元520中,活链规则是如上任一实施例所述的活链规则挖掘装置获得的。
搜索结果展示单元530,适于向用户展现去除死链后的搜索结果。
可见,图5所示的搜索装置通过各单元的相互配合,将活链规则可以判断为活链的链接保留下来,向用户展现只保留活链后的搜索结果,给用户更为可靠、有效的搜索体验。
在本发明的一个实施例中,活链保留单元520,适于在搜索结果中的一个链接包含一个活链属性为活链状态,且活链属性可扩展的目录链接,则确定该链接为活链,在搜索结果中保留该活链。
综上所述,图1所示的方法以指定站点中的目录链接为样本,通过统计各目录链接的活链属性及活链属性的扩展性,去除冗余目录链接的相关信息,确定指定站点的活链规则。在用户进行搜索操作时,将活链规则能够确定的活链保留下来,将只保留活链后的搜索结果展现给用户。与现有技术相比,本方案不再局限于对链接的活链属性的遍历式检测,而是进一步通过分析其活链属性和活链属性的扩展性,挖掘活链规则,克服了现有技术的盲目和繁琐,更加启发式、有效、便捷地对指定站点中的链接属性进行判断;并给用户提供更为有效、可靠的搜索体验。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种活链规则挖掘装置和搜索装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种活链规则挖掘方法,其中,该方法包括:
基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接;
对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性;
基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。
2.如权利要求1所述的方法,其中,对于各目录链接,分别统计各自对应的活链属性包括:
对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态。
3.如权利要求1-2任一项所述的方法,其中,所述对于一个目录链接,根据该目录链接下的总链量和活链接量确定该目录链接的活链属性为:死链状态、活链状态或部分死链部分活链状态包括:
如果该目录链接下包含的总链数大于第一预设值,且其中的活链占比小于第二预设值,则该目录链接的活链属性为死链状态;
如果该目录链接下包含的总链数大于第三预设值,且其中的死链占比小于第四预设值,则该目录链接的活链属性为活链状态;
如果目录链接下包含的总链数大于第五预设值,且其中的死链占比小于第六预设值,则该目录链接的活链属性为部分死链部分活链状态;
其中,第一预设值>第三预设值>第五预设值;
第二预设值<第四预设值<第六预设值。
4.如权利要求1-3任一项所述的方法,其中,所述分别统计各自对应的活链属性的扩展性包括:
对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展。
5.如权利要求1-4任一项所述的方法,其中,该方法进一步包括:
对于没有孩子目录链接的目录链接,默认该目录链接的活链属性不可扩展。
6.如权利要求1-5任一项所述的方法,其中,对于一个目录链接,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致,如果都一致则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展包括:
将该指定站点的各目录链接按照从低到高的级别进行排序;
按照所述排序对其中的每个目录链接执行如下操作:
记录该目录链接的状态;
如果该目录链接有父目录链接,则将其父目录链接放入指定集合中;
判断该目录链接是否在所述指定集合中,如果不在,默认该目录链接的活链属性不可扩展;如果在,判断该目录链接的所有孩子目录链接的活链属性是否都与该目录链接的活链属性一致;
如果都一致,则该目录链接的活链属性可扩展,否则该目录链接的活链属性不可扩展,并在该目录链接的活链属性为死链状态时将其临时修改为部分死链部分活链状态;
按照所述排序对每个目录链接都执行如上操作后,将活链属性为部分死链部分活链状态的目录链接修改为死链状态。
7.如权利要求1-6任一项所述的方法,其中,该方法进一步包括:
对个一个目录链接,判断该目录链接的活链属性是否与其父目录链接的活链属性一致,且其父目录链接的活链属性可扩展,如果是则筛掉该目录链接。
8.一种搜索方法,其中,该方法包括:
根据搜索请求获取搜索结果;
根据活链规则,在所述搜索结果中只保留活链;其中所述活链规则是依据如权利要求1-7中任一项所述的方法获取的。
向用户展现只保留活链后的搜索结果。
9.一种活链规则挖掘装置,其中,该装置包括:
目录链接获取单元,适于基于已抓取链接列表,选择指定站点中链接,获取该指定站点中链接所包含的各级目录链接;
活链统计单元,适于对于各目录链接,分别统计各自对应的活链属性,以及分别统计各自对应的活链属性的扩展性;
活链规则单元,适于基于上述各个目录链接分别对应的活链属性以及活链属性的扩展性,确定所述指定站点的活链规则。
10.一种搜索装置,其中,该装置包括:
搜索结果获取单元,适于根据搜索请求获取搜索结果;
活链保留单元,适于根据活链规则,在所述搜索结果中只保留活链;其中所述活链规则是如权利要求9所述的活链规则挖掘装置获得的。
搜索结果展示单元,适于向用户展现只保留活链后的搜索结果。
CN201410836421.8A 2014-12-29 2014-12-29 活链规则挖掘方法和装置以及搜索方法和装置 Active CN104504097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410836421.8A CN104504097B (zh) 2014-12-29 2014-12-29 活链规则挖掘方法和装置以及搜索方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410836421.8A CN104504097B (zh) 2014-12-29 2014-12-29 活链规则挖掘方法和装置以及搜索方法和装置

Publications (2)

Publication Number Publication Date
CN104504097A true CN104504097A (zh) 2015-04-08
CN104504097B CN104504097B (zh) 2016-09-28

Family

ID=52945495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410836421.8A Active CN104504097B (zh) 2014-12-29 2014-12-29 活链规则挖掘方法和装置以及搜索方法和装置

Country Status (1)

Country Link
CN (1) CN104504097B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052078A1 (en) * 2000-01-14 2001-07-19 Screamingmedia Inc. Dead hyper link detection method and system
CN102752154A (zh) * 2012-07-29 2012-10-24 西北工业大学 Web网站死链检测方法
JP2013164800A (ja) * 2012-02-13 2013-08-22 Nec Corp Web検索システム、Web検索装置、Web検索方法及びプログラム
CN104158697A (zh) * 2013-10-18 2014-11-19 深圳信息职业技术学院 一种死链检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052078A1 (en) * 2000-01-14 2001-07-19 Screamingmedia Inc. Dead hyper link detection method and system
JP2013164800A (ja) * 2012-02-13 2013-08-22 Nec Corp Web検索システム、Web検索装置、Web検索方法及びプログラム
CN102752154A (zh) * 2012-07-29 2012-10-24 西北工业大学 Web网站死链检测方法
CN104158697A (zh) * 2013-10-18 2014-11-19 深圳信息职业技术学院 一种死链检测方法及装置

Also Published As

Publication number Publication date
CN104504097B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
US10521224B2 (en) Automatic identification of relevant software projects for cross project learning
Krutz et al. A dataset of open-source android applications
CN104461900A (zh) 用户界面的测试方法、中控服务器、测试终端及系统
CN104036003B (zh) 搜索结果整合方法和装置
CN104063220B (zh) 基于文件的Linux基础软件依赖关系分析方法
US20200304366A1 (en) Routing configuration method of view files, storage medium, terminal device and apparatus
CN104932980B (zh) 软件自动测试方法及装置
CN104090976A (zh) 搜索引擎爬虫抓取网页的方法及装置
US20160034258A1 (en) System and Methods of Generating Build Dependencies Radiator
US9063742B1 (en) Version histories for multiple portions of program code
CN104317931A (zh) 网页标题的确定方法和装置
CN105095175A (zh) 获取截短的网页标题的方法及装置
Petrenko et al. Concept location using program dependencies and information retrieval (depir)
CN105786851A (zh) 问答知识库的构建方法、提供搜索的方法及装置
Corò et al. Jtec: A large collection of java test classes for test code analysis and processing
US9996619B2 (en) Optimizing web crawling through web page pruning
CN104050273B (zh) 用于记录最新的网络文件、用于修改搜索结果的装置方法
CN106569734B (zh) 数据洗牌时内存溢出的修复方法及装置
CN104504097A (zh) 活链规则挖掘方法和装置以及搜索方法和装置
CN103838865A (zh) 用于挖掘时效性种子页的方法及装置
CN104572928B (zh) 死链规则挖掘方法和装置以及搜索方法和装置
CN105912467A (zh) 一种性能测试方法及装置
CN105389401A (zh) 数据库性能测试方法与装置
CN104778091A (zh) 应用程序的运行方法及装置
CN105224583A (zh) 日志文件的清理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220802

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right