网络搜索处理方法、装置、电子设备转让专利

申请号 : CN202010223119.0

文献号 : CN111444408B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李辉

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提供了一种网络搜索处理方法、装置、电子设备及计算机可读存储介质;方法包括:从网络中抓取内容并在搜索引擎的索引库中建立索引,其中所述索引包括抓取内容的关键字和链接;接收客户端针对访问内容的异常状态通知,并在所述索引库对应所述访问内容的索引中记录异常状态;接收搜索请求,并根据所述搜索请求携带的关键字查询所述索引库,得到与所述关键字匹配的多个内容所分别对应的链接;在所述多个内容中过滤掉被记录为异常状态的内容;基于过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求,通过本发明,能够优化异常内容的主动探测机制,以避免延时问题。

权利要求 :

1.一种网络搜索处理方法,其特征在于,所述方法包括:从网络中抓取内容并在搜索引擎的索引库中建立索引,其中所述索引包括抓取内容的关键字和链接;

接收客户端针对访问内容的异常状态通知,并在所述索引库对应所述访问内容的索引中记录异常状态;

当接收到内容提供方主动推送的异常状态通知,且所述内容提供方主动推送的异常状态通知表征所述内容提供方的至少部分内容处于永久失效状态时,删除所述索引库中对应永久失效状态的内容的索引;

接收搜索请求,并根据所述搜索请求携带的关键字查询所述索引库,得到与所述关键字匹配的多个内容所分别对应的链接;

在所述多个内容中过滤掉被记录为异常状态的内容;

基于过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求。

2.根据权利要求1所述的方法,其特征在于,所述在所述索引库对应所述访问内容的索引中记录异常状态,包括:

针对所述访问内容的异常状态进行可靠性分析;

当所述访问内容的异常状态满足可靠性条件时,在所述索引库对应所述访问内容的索引中记录异常状态。

3.根据权利要求2所述的方法,其特征在于,所述针对所述访问内容的异常状态进行可靠性分析,包括:

在窗口时间中,记录针对所述访问内容接收到的异常状态通知的累计次数,其中,所述累计次数与所述异常状态的可靠性正相关;

当所述窗口时间内,所述记录的累计次数超出累计次数阈值时,确定所述访问内容的异常状态具备可靠性;

所述方法还包括:

当所述窗口时间到达时所述记录的累计次数未超出所述累计次数阈值时,将所述累计次数清零。

4.根据权利要求2所述的方法,其特征在于,所述针对所述访问内容的异常状态进行可靠性分析,包括:

向区块链网络发送针对所述访问内容的异常状态的提案响应,以使所述区块链网络中的多个共识节点对所述提案响应进行共识验证,当共识验证通过的共识节点的数目超过共识数目阈值时,确定所述访问内容的异常状态具备可靠性;

其中,所述区块链网络中的共识节点的类型包括:所述访问内容的源站点;与所述客户端存在社交关系的客户端。

5.根据权利要求2所述的方法,其特征在于,所述针对所述访问内容的异常状态进行可靠性分析,包括:

基于所述客户端的用户活动数据构建用户特征;

其中,所述用户活动数据包括以下至少之一:用户日活时间;用户月均发表内容数量;

月均阅读内容数量;用户月均转发量;用户月均点赞量;用户月均评论量;

基于神经网络模型预测所述用户活动特征对应的用户征信度;

当预测得到的用户征信度超出征信度阈值时,确定所述访问内容的异常状态具备可靠性。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述访问内容的异常状态不满足可靠性条件时,在独立于所述索引库的存储空间记录所访问内容的异常状态;

所述在所述多个内容中过滤掉被记录为异常状态的内容,包括:从所述多个内容中过滤掉在所述索引库中被记录为异常状态的内容,并过滤掉在所述存储空间中被记录为异常状态的内容。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:从所述异常状态通知中获取网络响应的状态值,所述网络响应是针对所述访问内容的网络请求发送的;

当所述状态值大于异常状态阈值时,确定所述访问内容处于永久失效状态;

当所述状态值未超出所述异常状态阈值时,确定所述访问内容处于暂时失效状态。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:当所述客户端访问内容处于暂时失效状态时,从在所述索引库中记录所述访问内容的异常状态开始计时;

当计时时长达到异常状态的超时时长时,在所述索引库中将所述访问内容的异常状态重新记录为正常状态;

当所述访问内容处于永久失效状态时,删除所述索引库中对应所述访问内容的索引。

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到内容提供方主动推送的异常状态通知,且所述异常状态通知表征所述内容提供方的至少部分内容处于暂时失效状态时,在所述索引库中对应暂时失效状态的内容的索引中记录异常状态。

10.根据权利要求9所述的方法,其特征在于,当在所述索引库对应所述访问内容的索引中记录异常状态时,所述方法还包括:针对所述异常状态开始计时;

当计时时长超出异常状态的超时时长时,在所述索引库中将处于暂时失效状态的内容重新记录为正常状态。

11.根据权利要求10所述的方法,其特征在于,开始计时之前,所述方法还包括:确定处于暂时失效状态的内容所来自的内容提供方;

确定与所述内容提供方的内容更新周期成正相关关系的时长,以作为所述内容提供方的内容处于暂时失效状态时的超时时长。

12.根据权利要求10所述的方法,其特征在于,开始计时之前,所述方法还包括:针对处于暂时失效状态的内容,从对应的异常状态通知中获取网络响应的状态值,所述网络响应是针对所述暂时失效状态的内容的网络请求发送的;

确定与所述状态值正相关的时长,以作为所述内容提供方的内容处于暂时失效状态时的超时时长。

13.一种网络搜索处理装置,其特征在于,所述装置包括:索引建立模块,用于从网络中抓取内容并在搜索引擎的索引库中建立索引,其中所述索引包括抓取内容的关键字和链接;

状态记录模块,用于接收客户端针对访问内容的异常状态通知,并在所述索引库对应所述访问内容的索引中记录异常状态;当接收到内容提供方主动推送的异常状态通知,且所述内容提供方主动推送的异常状态通知表征所述内容提供方的至少部分内容处于永久失效状态时,删除所述索引库中对应永久失效状态的内容的索引;

搜索查询模块,用于接收搜索请求,并根据所述搜索请求携带的关键字查询所述索引库,得到与所述关键字匹配的多个内容所分别对应的链接;

内容过滤模块,用于在所述多个内容中过滤掉被记录为异常状态的内容;

结果响应模块,用于基于过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求。

14.一种电子设备,其特征在于,所述电子设备包括:存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1‑12任一项所述的网络搜索处理方法。

15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现如权利要求1‑12任一项所述的网络搜索处理方法。

说明书 :

网络搜索处理方法、装置、电子设备

技术领域

[0001] 本发明涉及网络技术,尤其涉及一种网络搜索处理方法、装置、电子设备及计算机可读存储介质。

背景技术

[0002] 随着互联网技术的发展,出现了各种各样的搜索引擎,通常搜索引擎接收用户发起的检索请求,搜索引擎会从存储有链接和链接对应的内容的快照缓存中检索包括关键字
的第三方的内容,并将包括相关链接的快照内容呈现给用户。
[0003] 由于这些内容大多数是位于互联网上的第三方站点,其发生更新时并不会主动通知搜索引擎,而搜索引擎检索为了加快检索速度,会结合快照的内容进行检索,因此不会实
时感知第三方站点的链接的可访问性可能存在问题,通常情况下,第三方站点删除了相关
内容或者调整了内容的链接,会导致搜索引擎返回给用户的链接不再有效,影响了用户的
有效访问的搜索体验。

发明内容

[0004] 本发明实施例提供一种网络搜索处理方法、装置、电子设备及计算机可读存储介质,能够优化异常内容的主动探测机制,以避免延时问题。
[0005] 本发明实施例的技术方案是这样实现的:
[0006] 本发明实施例提供一种网络搜索处理方法,包括:
[0007] 从网络中抓取内容并在搜索引擎的索引库中建立索引,其中所述索引包括抓取内容的关键字和链接;
[0008] 接收客户端针对访问内容的异常状态通知,并在所述索引库对应所述访问内容的索引中记录异常状态;
[0009] 接收搜索请求,并根据所述搜索请求携带的关键字查询所述索引库,得到与所述关键字匹配的多个内容所分别对应的链接;
[0010] 在所述多个内容中过滤掉被记录为异常状态的内容;
[0011] 基于过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求。
[0012] 本发明实施例提供一种网络搜索处理装置,所述装置包括:
[0013] 索引建立模块,用于从网络中抓取内容并在搜索引擎的索引库中建立索引,其中所述索引包括抓取内容的关键字和链接;
[0014] 状态记录模块,用于接收客户端针对访问内容的异常状态通知,并在所述索引库对应所述访问内容的索引中记录异常状态;
[0015] 搜索查询模块,用于接收搜索请求,并根据所述搜索请求携带的关键字查询所述索引库,得到与所述关键字匹配的多个内容所分别对应的链接;
[0016] 内容过滤模块,用于在所述多个内容中过滤掉被记录为异常状态的内容;
[0017] 结果响应模块,用于基于过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求。
[0018] 在上述方案中,所述状态记录模块,还用于:
[0019] 针对所述访问内容的异常状态进行可靠性分析;
[0020] 当所述访问内容的异常状态满足可靠性条件时,在所述索引库对应所述访问内容的索引中记录异常状态。
[0021] 在上述方案中,所述状态记录模块,还用于:
[0022] 在窗口时间中,记录针对所述访问内容接收到的异常状态通知的累计次数,其中,所述累计次数与所述异常状态的可靠性正相关;
[0023] 当所述窗口时间内,所述记录的累计次数超出累计次数阈值时,确定所述访问内容的异常状态具备可靠性;
[0024] 当所述窗口时间到达时所述记录的累计次数未超出所述累计次数阈值时,将所述累计次数清零。
[0025] 在上述方案中,所述状态记录模块,还用于:
[0026] 向区块链网络发送针对所述访问内容的异常状态的提案响应,以使
[0027] 所述区块链网络中的多个共识节点对所述提案响应进行共识验证,当共识验证通过的共识节点的数目超过共识数目阈值时,确定所述访问内容的异常状态具备可靠性。
[0028] 其中,所述区块链网络中的共识节点的类型包括:所述访问内容的源站点;与所述客户端存在社交关系的客户端。
[0029] 在上述方案中,所述状态记录模块,还用于:
[0030] 基于所述客户端的用户活动数据构建用户特征;
[0031] 其中,所述用户活动数据包括以下至少之一:用户日活时间;用户月均发表内容数量;月均阅读内容数量;用户月均转发量;用户月均点赞量;用户月均评论量;
[0032] 基于神经网络模型预测所述用户活动特征对应的用户征信度;
[0033] 当预测得到的用户征信度超出征信度阈值时,确定所述访问内容的异常状态具备可靠性。
[0034] 在上述方案中,所述状态记录模块,还用于:
[0035] 当所述访问内容的异常状态不满足可靠性条件时,在独立于所述索引库的存储空间记录所访问内容的异常状态;
[0036] 所述在所述多个内容中过滤掉被记录为异常状态的内容,包括:
[0037] 从所述多个内容中过滤掉在所述索引库中被记录为异常状态的内容,并过滤掉在所述存储空间中被记录为异常状态的内容。
[0038] 在上述方案中,所述状态记录模块,还用于:
[0039] 从所述异常状态通知中获取网络响应的状态值,所述网络响应是针对所述访问内容的网络请求发送的;
[0040] 当所述状态值大于异常状态阈值时,确定所述访问内容处于永久失效状态;
[0041] 当所述状态值未超出所述异常状态阈值时,确定所述访问内容处于暂时失效状态。
[0042] 在上述方案中,所述状态记录模块,还用于:
[0043] 当所述客户端访问内容处于暂时失效状态时,从在所述索引库中记录所述访问内容的异常状态开始计时;
[0044] 当计时时长达到异常状态的超时时长时,在所述索引库中将所述访问内容的异常状态重新记录为正常状态;
[0045] 当所述访问内容处于永久失效状态时,删除所述索引库中对应所述访问内容的索引。
[0046] 在上述方案中,所述状态记录模块,还用于:
[0047] 当接收到内容提供方主动推送的异常状态通知,且所述异常状态通知表征所述内容提供方的至少部分内容处于暂时失效状态时,在所述索引库中对应暂时失效状态的内容
的索引中记录异常状态;
[0048] 当接收到内容提供方主动推送的异常状态通知,且所述异常状态通知表征所述内容提供方的至少部分内容处于永久失效状态时,删除所述索引库中对应永久失效状态的内
容的索引。
[0049] 在上述方案中,所述状态记录模块,还用于:
[0050] 针对所述异常状态开始计时;
[0051] 当计时时长超出异常状态的超时时长时,在所述索引库中将处于暂时失效状态的内容重新记录为正常状态。
[0052] 在上述方案中,所述装置还包括:计时模块,用于:
[0053] 确定处于暂时失效状态的内容所来自的内容提供方,确定与所述内容提供方的内容更新周期成正相关关系的时长,以作为所述内容提供方的内容处于暂时失效状态时的超
时时长。
[0054] 在上述方案中,所述计时模块,还用于:
[0055] 针对处于暂时失效状态的内容,从对应的异常状态通知中获取网络响应的状态值,所述网络响应是针对所述暂时失效状态的内容的网络请求发送的;确定与所述状态值
正相关的时长,以作为所述内容提供方的内容处于暂时失效状态时的超时时长。
[0056] 本发明实施例提供一种电子设备,包括:
[0057] 存储器,用于存储可执行指令;
[0058] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的网络搜索处理方法。
[0059] 本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的网络搜索处理方法。
[0060] 本发明实施例具有以下有益效果:
[0061] 通过客户端上报的异常状态来过滤掉搜索请求时的无效内容;从而,依赖客户端的数量优势和频繁访问内容的特点,能够克服主动探测和依赖网站通知异常状态的片面性
和滞后性,在节约搜索后台资源的基础上,显著提升发现无效内容的实时性和全面性,保证
了搜索结果的正确性。

附图说明

[0062] 图1A是本发明实施例提供的网络搜索处理系统的架构示意图;
[0063] 图1B是本发明实施例提供的网络搜索处理系统的区块链可选架构图;
[0064] 图2是本发明实施例提供的应用网络搜索处理方法的服务器的结构示意图;
[0065] 图3A‑3F是本发明实施例提供的网络搜索处理方法的流程图;
[0066] 图4是本发明实施例提供的搜索引擎的应用原理图;
[0067] 图5是本发明实施例提供的网络搜索处理方法的整体应用架构图。

具体实施方式

[0068] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0069] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0070] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,
不是旨在限制本发明。
[0071] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0072] 1)搜索引擎:根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术,搜索引擎依托于多种技术为用户提供快速、高相关性的信息
服务,搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系
列辅助模块,以为用户创造更好的网络使用环境。
[0073] 2)链接:指从一个网页指向一个目标的连接关系,所指向的目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是图片、电子邮件地址、文件、甚至是应用程
序。
[0074] 3)异常链接:因特网上的可用资源可以用简单字符串来表示,而这些字符串则被称为“统一资源定位器”(URL,uniform resource locator),是指互联网上在访问时不再有
效的内容URL。
[0075] 4)TTL键值数据库(TTL KV,time to life key‑value):具有存储时效的键值存储,当达到设定的时间时,键值存储自动失效。
[0076] 5)第三方站点:在网络中提供内容的主体,例如网站、公众号等等。
[0077] 在相关技术中通常有两种机制来发现网络中的异常链接,即主动机制和被动机制,主动机制是指搜索引擎服务端访问网络上的链接并对链接所对应的内容进行判断,被
动机制是指搜索引擎服务端不主动发现异常链接,而是由第三方站点主动通知搜索引擎服
务端,相关技术中的技术方案可以实现异常链接的发现,但是面临以下技术问题:在主动机
制中,搜索引擎索引的第三方内容非常多。动辄亿甚至数十亿量级。全部靠主动访问来发现
异常链接,在短时间内基本没有可能。从而引入了探测的延时,在被动机制中,由于异常链
接的发现过程完全依赖于第三方站点的通知,如果通知路径出现异常,则失去了发现异常
链接的能力,从而造成了可靠性问题。
[0078] 为了解决上面提到的问题,本发明实施例提供了一种网络搜索处理方法,装置、电子设备和计算机可读存储介质,以过滤搜索结果中的异常链接,其综合采用了主动机制和
被动机制,并且通过分析客户端主动上报的异常状态通知优化了主动机制的探测逻辑,能
够解决探测延迟以及用户访问有效性较低的问题,下面说明本发明实施例提供的电子设备
的示例性应用,本发明实施例提供的电子设备可以实施为服务器。下面,将说明设备实施为
服务器时示例性应用。
[0079] 参见图1A,图1A是本发明实施例提供的网络搜索处理系统的架构示意图,终端400通过网络300连接搜索服务器200‑1和索引库500,搜索服务器200‑1也与索引库500连接,网
络300可以是广域网或者局域网,又或者是二者的组合,搜索服务器200‑1向终端400推送包
括访问链接的搜索结果,终端400点击访问链接,当该访问链接无法正常访问时,终端400向
搜索服务器200‑1上报异常状态通知,搜索服务器200‑1在自身的缓存中记录终端400所上
报的异常状态通知中的内容以及异常状态,或者搜索服务器200‑1在索引库的索引中记录
终端400所上报的异常状态通知中的内容以及异常状态,搜索服务器200‑1接收第三方站点
服务器200‑2发送的异常状态通知,在索引库的索引中记录第三方站点服务器200‑2所上报
的异常状态通知中的内容以及异常状态,终端400向搜索服务器200‑1发送搜索请求,搜索
服务器200‑1从索引中获取正常状态的内容,并基于内容所对应的链接构造搜索结果返回
给终端400,或者搜索服务器200‑1从索引中获取内容后根据缓存中的记录进行过滤,并基
于过滤后的内容所对应的链接构造搜索结果返回给终端400。
[0080] 基于图1A,参见图1B,图1B是本发明实施例提供的网络搜索处理系统的区块链可选架构图,区块链网络700中的节点需要到认证中心600进行登记注册身份,区块链网络中
的共识节点的类型包括:访问内容的源站点(第三方服务器节点700‑1)与客户端存在社交
关系的客户端(终端节点700‑2和700‑3),搜索服务器200‑1向区块链网络发起交易,具体为
向区块链网络发送针对访问内容的异常状态的提案响应,以使区块链网络中的多个共识节
点对提案响应进行共识验证,当共识验证通过的共识节点的数目超过共识数目阈值时,确
定访问内容的异常状态具备可靠性,以调用智能合约来向状态数据库中写入索引,访问内
容的源站点相当于第三方站点服务器,与上报异常状态通知的客户端存在社交关系的客户
端也属于共识节点,除了上述的源站点以及与客户端存在社交关系的客户端之外,还可以
将所有能够上报异常状态通知的客户端的作为共识节点,后续服务器以发起交易的方式来
调用智能合约来查询索引,以根据查询结果响应客户端发送的搜索请求。
[0081] 参见图2,图2是本发明实施例提供的应用网络搜索处理方法的搜索服务器的结构示意图,图2所示的搜索服务器200‑1包括:至少一个处理器210、存储器250、至少一个网络
接口220。搜索服务器200‑1中的各个组件通过总线系统240耦合在一起。可理解,总线系统
240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总
线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系
统240。
[0082] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0083] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一
个或多个存储设备。
[0084] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Mem ory),易失性存储器可
以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在
包括任意适合类型的存储器。
[0085] 在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0086] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0087] 网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiF i)、和通用串行总线(USB,
Universal Serial Bus)等;
[0088] 呈现模块253,用于呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口)。
[0089] 在一些实施例中,本发明实施例提供的网络搜索处理装置可以采用软件方式实现,图2示出了存储在存储器250中的网络搜索处理装置255,其可以是程序和插件等形式的
软件,包括以下软件模块:索引建立模块2551、状态记录模块2552、搜索查询模块2553、内容
过滤模块2554、结果响应模块2555以及计时模块2556,这些模块是逻辑上的,因此根据所实
现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0090] 在另一些实施例中,本发明实施例提供的网络搜索处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的网络搜索处理装置可以是采用硬件译码处理器形式的
处理器,其被编程以执行本发明实施例提供的网络搜索处理方法,例如,硬件译码处理器形
式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific 
Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可
编程逻辑器件(CPLD,Comple x Programmable Logic Device)、现场可编程门阵列(FPGA,
Field‑Programma ble Gate Array)或其他电子元件。
[0091] 下面将结合本发明实施例提供的网络搜索处理方法实施为服务器时的示例性应用,说明本发明实施例提供的网络搜索处理方法。
[0092] 参见图3A,图3A是本发明实施例提供的网络搜索处理方法的流程示意图,将结合图3A示出的步骤101‑107进行说明。
[0093] 在步骤101中,服务器从网络中抓取内容并在搜索引擎的索引库中建立索引,其中索引包括抓取内容的关键字和链接。
[0094] 参见图4,图4是本发明实施例提供的搜索引擎的应用原理图,这里,搜索引擎的整个工作过程视为三个部分:在互联网上爬行和抓取网页信息,并存入原始网页数据库;对原
始网页数据库中的信息进行提取和组织,并建立索引库;根据用户输入的关键词,快速找到
相关文档,并对找到的结果进行排序,并将查询结果返回给用户。
[0095] 在步骤1中,抓取网页后,送回网页仓库进行预处理,在进行网络抓取的过程中,每遇到一个新文档,都要搜索其页面的链接网页,搜索引擎访问网页页面的过程类似普通用
户使用浏览器访问其页面,搜索引擎先向网页页面提出访问请求,第三方站点服务器接受
其访问请求并返回超文本标记代码后,把获取的超文本标记代码存入原始页面数据库(网
页仓库),搜索引擎的服务器遍布世界各地,在抓取网页时搜索引擎会建立两张不同的表,
一张表记录已经访问过的网站,一张表记录没有访问过的网站,当抓取某个外部链接页面
URL的时候,需把该网站的URL下载回来分析,当全部分析完这个URL后,将这个U RL存入相
应的表中,这时当从其他的网站或页面又发现了这个URL时,会对比看看已访问列表有没
有,如果有,会自动丢弃该URL,不再访问,这里的把该网站的URL下载回来分析的过程即为
对每一个URL进行分析探测,以确保每一个URL均是有效URL,但是这个过程浪费时间,容易
造成响应结果延迟。
[0096] 为了便于用户在数万亿级别以上的原始网页数据库中快速便捷地找到搜索结果,搜索引擎必须将抓取的原始网页页面做预处理,网页预处理最主要过程是为网页建立全文
索引,之后开始分析网页,最后建立倒排文件(也称反向索引),网页页面分析有以下步骤:
判断网页类型,衡量其重要程度,丰富程度,对超链接进行分析,分词,把重复网页去掉,经
过搜索引擎分析处理后,网页已经不再是原始的网页页面,而是浓缩成能反映页面主题内
容且以词为单位的文档,步骤2中,将网页仓库里的信息交由服务器进行索引处理,在步骤3
中,将网页进行分门别类,索引压缩,无效信息则删除,数据索引中结构最复杂的是建立索
引库,索引又分为文档索引和关键词索引,每个网页唯一的标识号是由文档索引分配的,每
个关键词标识出现的次数、位置、大小格式都可以根据文档索引的标识号在网页中检索出
来,最终形成关键词标识的数据列表,最后步骤4中,通过关键字搜索,搜索引擎在索引中查
出结果经排序后显示给用户。
[0097] 在一些实施例中,索引库的索引结构可以是键值结构:键为内容关键字,值为链接状态,这里的链接状态包括正常状态和异常状态,当值缺省时为正常状态,值的字段还可以
包括内容快照以及链接,从而基于过滤后的内容所对应的链接构造搜索结果时,搜索结果
中还可以包括内容快照中匹配关键字的部分内容,以在客户端中突出显示。
[0098] 在步骤102中,服务器接收客户端针对访问内容的异常状态通知。
[0099] 这里客户端在访问各种内容的时候会发现各个内容是否能够被正常访问,即通过用户实际的访问行为识别出搜索结果中的异常链接,当识别出搜索结果中的异常链接时,
触发客户端向服务器上报异常状态通知,这里的异常状态通知包括被发现处于异常状态的
抓取内容,表征抓取内容的链接是无法进行正常访问的链接。
[0100] 这里的异常状态通知可以是实时的,可以在区块链网络中给予上报可靠异常状态的客户端实时记录奖励,服务器可以从区块链网络中查询奖励,将奖励作为提升搜索服务
体验的凭证,例如针对于具有奖励的客户端提供去除广告的服务,专用线路搜索服务,收费
数据库搜索服务等等,以激励客户端反馈可靠的异常状态通知。
[0101] 在步骤103中,服务器在索引库对应访问内容的索引中记录异常状态。
[0102] 这里的索引库类似于查字典时候的检索表,或者是图书馆的书目检索,在搜索引擎抓取网页之后,就把这些页面放到对应的索引库里面,在用户搜索的时候,只需要到相应
的索引库里面搜索相应的信息,而不是从所有的页面当中进行检索。
[0103] 参见图3B,图3B是本发明实施例提供的网络搜索处理方法的流程示意图,步骤103中在索引库对应内容的索引中记录异常状态,可以通过步骤1031‑1032实现,下面将结合图
3B示出的步骤1031‑1032进行说明。
[0104] 在步骤1031中,针对访问内容的异常状态进行可靠性分析。
[0105] 在步骤1032中,当访问内容的异常状态满足可靠性条件时,在索引库对应访问内容的索引中记录异常状态。
[0106] 在一些实施例中,需要针对访问内容的异常状态进行可靠性分析,由于各个客户端相对于第三方站点而言不属于具有公信力的组织,对于客户端上报的针对访问内容的异
常状态通知,需要进行可靠性分析,当访问内容的异常状态满足可靠性条件时,在索引库对
应访问内容的索引中记录异常状态,从而避免由于客户端误判或者客户端被病毒入侵等原
因错误发出了异常状态通知所导致的错误记录,将正常状态的内容记录为异常状态,提高
了索引库中索引的异常状态记录的准确性。
[0107] 参见图3C,图3C是本发明实施例提供的网络搜索处理方法的流程示意图,步骤1031中针对访问内容的异常状态进行可靠性分析,可以通过步骤10311‑10312实现,下面将
结合图3C示出的步骤10311‑10312进行说明。
[0108] 在步骤10311中,在窗口时间中,记录针对访问内容接收到的异常状态通知的累计次数,其中,累计次数与异常状态的可靠性正相关;
[0109] 在步骤10312中,当窗口时间内,记录的累计次数超出累计次数阈值时,确定访问内容的异常状态具备可靠性;
[0110] 在一些实施例中,累计次数是针对每个窗口时间的计数概念,每个窗口时间的累计次数从零开始累计,例如,将窗口时间设置为3天,这里的窗口时间的起始位置可以是接
收到针对于某一内容的第一个异常状态通知的时间戳,那么从接收到针对于某一内容的第
一个异常状态通知的时间戳开始的3天时间内,记录针对访问内容接收到的异常状态通知
的累计次数,当三天时间期满或者在三天时间期未满,且记录的累计次数超出累计次数阈
值时,确定访问内容的异常状态具备可靠性,从而保证客户端所上报的异常内容通知是可
靠且可信的,提高了索引库中索引异常状态记录的准确性。
[0111] 在执行完步骤10312后,当窗口时间到达时记录的累计次数未超出累计次数阈值时,将累计次数清零。
[0112] 这里,若在窗口时间内记录的累计次数未超出累计次数阈值时,将累计次数清零,等再次接收到针对该内容的异常状态通知时,进行下一次窗口时间内的异常状态通知累
计。
[0113] 参见图3D,图3D是本发明实施例提供的网络搜索处理方法的流程示意图,步骤1031中针对访问内容的异常状态进行可靠性分析,可以通过步骤10313‑10314实现,下面将
结合图3D示出的步骤10313‑10314进行说明。
[0114] 在步骤10313中,向区块链网络发送针对访问内容的异常状态的提案响应。
[0115] 在步骤10314中,区块链网络中的多个共识节点对提案响应进行共识验证,当共识验证通过的共识节点的数目超过共识数目阈值时,确定访问内容的异常状态具备可靠性。
[0116] 这里,区块链网络中的共识节点的类型包括:访问内容的源站点;与客户端存在社交关系的客户端。
[0117] 在一些实施例中,索引库可以是区块链网络中的状态数据库,服务器向区块链网络发起交易,具体为向区块链网络发送针对访问内容的异常状态的提案响应,以使区块链
网络中的多个共识节点对提案响应进行共识验证,当共识验证通过的共识节点的数目超过
共识数目阈值时,确定访问内容的异常状态具备可靠性,以调用智能合约来向状态数据库
中写入索引,区块链网络中的共识节点的类型包括:访问内容的源站点与客户端存在社交
关系的客户端,访问内容的源站点相当于第三方站点服务器,与上报异常状态通知的客户
端存在社交关系的客户端也属于共识节点,除了上述的源站点以及与客户端存在社交关系
的客户端之外,还可以将所有能够上报异常状态通知的客户端的作为共识节点,后续服务
器以发起交易的方式来调用智能合约来查询索引,以根据查询结果响应客户端发送的搜索
请求。
[0118] 在一些实施例中,步骤1031中针对访问内容的异常状态进行可靠性分析,可以通过以下技术方案实现,基于客户端的用户活动数据构建用户特征;其中,用户活动数据包括
以下至少之一:用户日活时间;用户月均发表内容数量;月均阅读内容数量;用户月均转发
量;用户月均点赞量;用户月均评论量;基于神经网络模型预测用户活动特征对应的用户征
信度;当预测得到的用户征信度超出征信度阈值时,确定访问内容的异常状态具备可靠性。
[0119] 在一些实施例中,还可以通过人工智能的方式对访问内容的异常状态进行可靠性分析,从客户端的用户活动数据提取出用户特征,用户活动数据可以是用户日活时间、用户
月均发表内容数量、月均阅读内容数量、用户月均转发量、用户月均点赞量、用户月均评论
量中的一种或者多种,这些用户活动数据可以用来反映用户的征信情况,例如,当用户日活
时间低于正常用户日活时间阈值时,可以一定程度上表征用户日活时间不正常,表征用户
并不常常使用该客户端,那么该客户端所上报的异常状态通知中访问内容的异常状态不具
备可靠性,可能是由于客户端自身出现连接错误,也有可能是有用户进行恶意上报,其他的
用户活动数据均能够在一定程度上反映用户是否正常使用客户端,从而保证客户端所上报
的异常内容通知是可靠且可信的,提高了索引库中索引异常状态记录的准确性。
[0120] 参见图3E,在执行完步骤102后,还可以执行步骤108,不对步骤108和步骤103之间的执行顺序进行限定。
[0121] 在步骤108中,当访问内容的异常状态不满足可靠性条件时,在独立于索引库的存储空间记录所访问内容的异常状态。
[0122] 这里独立于索引库的存储空间可以为服务器的缓存,即在访问内容的异常状态经过上述各种可靠性分析后确认为不满足可靠性条件时,不直接对索引库进行操作,而是仅
在服务器缓存中记录所访问内容的异常状态,由于索引库的数据量是亿万级的,因此对索
引库进行操作相当于对超大型数据库进行操作,在还无法确认访问内容的异常状态具备可
靠性的前提下,没有必要对索引库进行频繁操作,否则会增加服务器的资源占用率以及影
响索引库的正常使用,若是仅在服务器的缓存中记录所访问内容的异常状态,那么再下一
次响应客户端的搜索请求,从索引库中获取与关键字匹配的多个内容所分别对应的链接,
在多个内容中过滤掉被记录为异常状态的内容的过程可以通过以下技术方案实现,从多个
内容中过滤掉在索引库中被记录为异常状态的内容,并过滤掉在存储空间中被记录为异常
状态的内容,之后将过滤后的内容所分别对应的链接构造搜索结果,以响应所述搜索请求,
这样相当于直接在返回搜索结果是进行过滤即可,虽然无法保证索引库中的所有内容均可
被正常访问,但是从客户端的访问体验而言,可以保证客户端上的有效访问。
[0123] 在一些实施例中,当客户端访问内容处于暂时失效状态时,从在缓存中记录访问内容的异常状态开始计时,当计时时长达到异常状态的超时时长时,在所述缓存中将该访
问内容以及所记录的异常状态删除,当访问内容处于永久失效状态时,直接删除索引库中
对应访问内容的索引。
[0124] 在一些实施例中,在执行步骤102之后,还可以执行以下技术方案,从异常状态通知中获取网络响应的状态值,网络响应是访问内容的源站或网络中的路由器针对访问内容
的网络请求发送的;当状态值大于异常状态阈值时,确定访问内容处于永久失效状态;当状
态值未超出异常状态阈值时,确定访问内容处于暂时失效状态。
[0125] 在一些实施例中,以数字2开头的状态值代表请求已成功被服务器接收并接受,例如状态值200,表征请求已成功,请求所希望的响应头或数据体将随此响应返回,出现此状
态值是表示正常状态,状态值201,表征请求已经被实现,而且有一个新的资源已经依据请
求的需要而建立,且其资源定位符已经随定位头信息返回,以数字3开头的状态值表征需要
客户端采取进一步的操作才能完成请求,通常这些状态值用来重定向,后续的请求地址(重
定向目标)在本次响应的定位域中指明,当且仅当后续的请求所使用的方法是GET或者HEAD
时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当
自动监测无限循环重定向,从而服务器和客户端大量不必要的资源消耗,例如,状态值300,
表征被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动
的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向,状态值301,表征被
请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的
若干个资源定位符之一,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务
器反馈回来的地址,以数字4开头的状态值表征客户端看起来可能发生了错误,妨碍了服务
器的处理,这些状态值适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误
响应中的实体内容,例如,状态值400,表征语义有误,当前请求无法被服务器理解,除非进
行修改,否则客户端不应该重复提交这个请求,状态值403,表征服务器已经理解请求,但是
拒绝执行它,状态值404,表征请求失败,请求所希望得到的资源未被在服务器上发现,目前
对超文本传输协议状态值的使用分为两类,一类是状态值301,这个需要跟踪跳转后的链接
的有效性,一类是大于400的异常值,针对于大于400的异常值可以全部直接封禁。
[0126] 在一些实施例中,服务器还可以执行以下技术方案,当客户端访问内容处于暂时失效状态时,从在索引库中记录访问内容的异常状态开始计时;当计时时长达到异常状态
的超时时长时,在索引库中将访问内容的异常状态重新记录为正常状态;当访问内容处于
永久失效状态时,删除索引库中对应访问内容的索引。
[0127] 在一些实施例中,当客户端访问内容处于暂时失效状态时,这里的暂时失效状态可以从异常状态通知中直接获取,还可以是根据历史异常状态记录中获取,即在一段时间
内针对于同一内容的记录次数不超过永久失效次数阈值时,表征该内容处于暂时失效状
态,从在索引库中对应客户端所访问内容的索引中记录访问内容的异常状态开始计时;当
计时时长达到异常状态的超时时长时,在索引库中对应客户端所访问内容的索引中将访问
内容的异常状态重新记录为正常状态;当访问内容处于永久失效状态时,这里的永久失效
状态可以从异常状态通知中直接获取,还可以是根据历史异常状态记录中获取,即在一段
时间内针对于同一内容的记录次数达到超过永久失效次数阈值时,直接将该内容默认为死
链,直接删除索引库中对应访问内容的索引。
[0128] 在一些实施例中,服务器在执行步骤104之前,还可以执行以下技术方案,当接收到内容提供方主动推送的异常状态通知,且异常状态通知表征内容提供方的至少部分内容
处于暂时失效状态时,在索引库中对应暂时失效状态的内容的索引中记录异常状态;当接
收到内容提供方主动推送的异常状态通知,且异常状态通知表征内容提供方的至少部分内
容处于永久失效状态时,删除索引库中对应永久失效状态的内容的索引。
[0129] 在一些实施例中,除了接收客户端上报的异常状态通知外,还可以获取由第三方站点推送过来的异常状态通知,其所推送的异常状态通知包括处于异常状态的内容,直接
由服务器在索引中过滤处于异常状态的内容,这里的暂时失效状态可以从异常状态通知中
直接获取,还可以是根据历史异常状态记录中获取,即在一段时间内针对于同一内容的记
录次数不超过永久失效次数阈值时,表征该内容处于暂时失效状态,在索引库中内容提供
方上报为异常状态的内容的索引中记录该内容处于暂时失效状态;当内容处于永久失效状
态时,这里的永久失效状态可以从异常状态通知中直接获取,还可以是根据历史异常状态
记录中获取,即在一段时间内针对于同一内容的记录次数达到超过永久失效次数阈值时,
直接将该内容默认为死链,直接删除索引库中对应访问内容的索引。
[0130] 在一些实施例中,在执行完上述方案后,当在索引库对应内容的索引中记录异常状态时,针对异常状态开始计时;当计时时长超出异常状态的超时时长时,在索引库中将处
于暂时失效状态的内容重新记录为正常状态。
[0131] 在一些实施例中,针对不同来源内容的异常状态的超时时长可以是统一的,可以是差异化的,例如针对不同来源,统计在历史记录中各个来源的内容从异常状态恢复到正
常状态的平均时间,作为相应来源的超时时长,这里的平均时间可以通过主动探测确定,也
可以根据内容提供方推送的通知确定,这里使用TTL键值数据库来存储内容的异常状态,并
为不同的数据来源源设置了不同的异常状态的超时时长,可以根据搜索结果的页面类型进
行区分,搜索结果的页面类型包括第三方站点以及内部文章/小程序,若是来源于前者的内
容出现异常,该内容会被屏蔽一天甚至更长的时间,若是来源于后者的内容出现异常,该内
容会被屏蔽数十分钟到一小时,除了上述通过将历史记录中的平均时间作为超时时长外,
这里可以对内容来源方的可信度进行区分,超时时长与可信度成反相关,第三方站点的可
信度比内部文章/小程序的可信度低,因此,来源于第三方站点的内容被记录为异常状态的
时间比来源于内部文章/小程序的内容被记录为异常状态的时间长,在被记录为异常状态
时,内容不会呈现在最后的搜索结果中,在超时时长达到后会重新将该内容记录为正常状
态,如果继续被上报为异常状态,则会重新记录为异常状态。
[0132] 在一些实施例中,除了通过上述方式对超时时长进行区分,还可以通过以下实施方式确定超时时长,即根据内容更新周期确定超时时长,或者根据异常通知状态的状态值
确定超时时长,在开始计时之前,确定处于暂时失效状态的内容所来自的内容提供方,确定
与内容提供方的内容更新周期成正相关关系的时长,以作为内容提供方的内容处于暂时失
效状态时的超时时长;或者,针对处于暂时失效状态的内容,从对应的异常状态通知中获取
网络响应的状态值,网络响应是访问内容的源站或网络中的路由器针对暂时失效状态的内
容的网络请求发送的;确定与状态值正相关的时长,以作为内容提供方的内容处于暂时失
效状态时的超时时长,适应性设置不同内容的超时时长,能够平衡搜索结果多样性以及访
问有效性。
[0133] 在步骤104中,服务器接收搜索请求。
[0134] 在一些实施例中,响应于接收到客户端的搜索请求,搜索引擎开始对搜索请求中的搜索词进行以下处理:分词处理、根据情况对整合搜索是否需要启动进行判断、找出错别
字和拼写中出现的错误、把停止词去掉,把包含搜索词的相关网页从索引库中找出,且对网
页进行排序,最后按照一定格式返回到客户端。
[0135] 在步骤105中,服务器根据搜索请求携带的关键字查询索引库。
[0136] 这里,首先确定关键词的常用程度,经过分词后的多个关键词,对整个搜索字符串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对搜索词的意
义贡献越大,接着确定词频及密度,通常情况下,关键词的密度和其在页面中出现的次数成
正相关,次数越多,说明密度越大,页面与关键词关系越密切,关键词出现在比较重要的位
置,说明页面与关键词越相关,在索引库的建立过程中,页面关键词出现的格式和位置都被
记录在索引库中。
[0137] 在步骤106中,服务器得到与关键字匹配的多个内容所分别对应的链接,并在多个内容中过滤掉被记录为异常状态的内容。
[0138] 在一些实施例中,步骤106中在多个内容中过滤掉被记录为异常状态的内容实际上是从多个内容中过滤掉在索引库中被记录为异常状态的内容,当服务器的缓存中记录有
处于异常状态的内容,则还需要从多个内容中过滤掉在缓存中被记录为异常状态的内容,
从而最大程度上保证用户访问链接的有效性。
[0139] 当过滤后剩余的内容超出搜索结果数据阈值时,例如设定针对每次搜索请求返回10条内容,过滤后还剩余20条内容,继续过滤掉被记录为异常状态的至少部分内容,以使过
滤后剩余的内容的数量为搜索结果阈值。
[0140] 在步骤107中,服务器基于过滤后的内容所分别对应的链接构造搜索结果,以响应搜索请求。
[0141] 在一些实施例中,服务器将过滤后的内容所分别对应的链接构造为搜索结果,将构造成的搜索结果返回至用户以响应搜索请求,由于这里的内容是过滤掉异常状态的内容
之后所剩下的内容,从而可以提高用户的有效访问率。
[0142] 参见图3F,图3F是本发明实施例提供的网络搜索处理方法的交互流程图,服务器从网络中抓取内容并在搜索引擎的索引库中建立索引,其中索引包括抓取内容的关键字和
链接(201),客户端或者内容提供方分别将针对访问内容和推送内容的异常状态通知发送
至服务器(202),服务器根据所接收的来自于客户端的异常状态通知,在索引库中访问内容
的索引中记录异常状态(203),或者在服务器的缓存中将访问内容记录为异常状态,根据所
接收的来自于内容提供方的异常状态通知,在索引库中推送内容的索引中记录异常状态,
将索引库中的内容被记录为暂时失效状态,且从记录为异常状态时开始计时达到超时时长
的索引重新记录为正常状态,将索引库中的内容被记录为永久失效状态的索引删除(204),
将缓存中被记录为暂时失效状态,且从记录为暂时失效状态时开始计时达到超时时长的内
容重新记录为正常状态,将缓存中被记录为永久失效状态的内容删除(205),接收到客户端
的搜索请求(206),服务器从索引库中召回多个内容(207),并过滤掉索引库以及缓存中被
记录为异常状态的内容(208),将剩余的内容返回至客户端(209)。
[0143] 下面,将说明本发明实施例提供的网络搜索处理方法在一个实际的应用场景中的示例性应用,搜索引擎接收用户的搜索请求,搜索引擎会从快照缓存(存储有链接和链接对
应的内容)检索包括关键字的第三方的内容并按照算法排序,将相关的链接和链接对应的
内容返回至用户,由于这些内容大多数是位于互联网上的第三方站点,其发生更新时并不
会实时主动通知搜索引擎,而搜索引擎检索为了加快检索速度,会结合快照的内容进行检
索,因此不会实时感知第三方站点链接的可访问性可能存在问题,通常第三方站点删除了
相关内容或者调整了内容的链接,会导致搜索引擎返回给用户的链接不再有效,响应于接
收到针对这些链接的点击操作,会返回报错通知,严重影响用户的体验和搜索引擎服务的
口碑。
[0144] 本发明实施例提供了一种网络搜索处理方法,主要创新点在于使用用户的访问结果来识别出状态为异常的内容,在后续响应搜索请求时,从搜索结果中过滤异常内容,相关
技术的异常内容识别主要依赖于第三方站点上报,在异常内容检测的时效性上滞后,与广
告电商等类似利用用户历史行为的其它系统相比,本发明实施例提供的网络搜索处理方法
在行为数据提取上主要分析用户访问的内容的链接状态,异常状态源于链接的不可用,而
不看重用户访问内容,本发明实施例提供的网络搜索处理方法所提取的数据对用户无差别
生效,不会因人而异。
[0145] 在搜索场景中会返回许多公众号文章和外部第三方站点的文章内容作为搜索结果,其中公众号文章和外部站点的文章网页索引量都是数十亿量级,在众多的网页中,经常
会出现网页失效或者内容异常等情况,这些异常情况需要在将搜索结果最终返回给用户前
过滤掉,以确保最终展现网页内容的可访问性,客户端的公众号平台会将公众号文章的异
常情况发送给后台服务器,部分外部第三方站点也会将异常的文章网页信息发给后台服务
器,在客户端内访问搜索结果是从客户端发起的网络请求,从而可以获取访问结果,并根据
是否成功打开文章内容,决定后续该条结果的展现与否,由于公众号平台和第三方站点自
身在服务异常的时候,会导致原本正常的文章内容出现访问异常;文章状态确实也存在正
常和异常间的变化,这些情况都会污染上报数据,等第三方服务正常时,这些文章内容却会
一直被过滤掉。因此引入异常文章的过期机制。
[0146] 在客户端搜一搜功能的搜索场景中,响应于客户端发出的搜索请求,服务器会返回许多公众号文章和外部第三方站点(内容提供方)的文章内容,其中公众号文章和外部站
点的文章网页索引量都是数十亿量级,在众多的网页中,经常会出现网页失效或者内容异
常等情况。这些异常情况需要在将搜索结果最终返回给用户前,尽可能的过滤掉,以确保最
终展现网页内容的可访问性,目前公众号平台会将公众号文章的异常情况发送给服务器,
部分外部第三方站点也会将异常的文章网页信息发给服务器,但是这里公众号平台或者外
部第三方站点所报的异常内容存在漏报缺失的现象。
[0147] 访问搜索结果的过程是在客户端内发起网络请求并响应的过程,从而可以获取访问搜索结果的情况,并根据是否成功打开对应的文章内容,来决定后续该条结果的展现与
否,同时公众号平台和第三方站点自身在服务异常的时候,会导致原本正常的文章内容出
现访问异常的情形,文章状态确实也会在正常和异常状态之间发生变化,这些情况都会污
染上报数据,等到公众号平台和第三方站点的服务恢复正常时,这些文章内容却会一直被
过滤掉,因此引入内容的异常状态过期机制。
[0148] 参见图5,图5是本发明实施例提供的网络搜索处理方法的应用流程图,本发明实施例提供的网络搜索处理方法主要使用用户的历史访问日志,并将结果在服务器内存中记
录下来,为后续搜索结果的展现提供决策建议,搜索响应流程如下,服务器接收搜索请求,
根据搜索请求携带的关键字,从索引库召回多个与关键字匹配的链接,过滤掉召回的链接
中的异常链接,将过滤结果用于响应搜索请求,在这里通过使用搜一搜功能获得搜索结果,
服务器根据之前文章的访问状态,决策是否对搜索结果进行过滤,服务器根据从索引库检
索到的与搜索请求中的关键字匹配的内容,在索引库中查询该内容的状态,这里索引库的
数据结构可以为以下两种:关键字‑链接;关键字‑链接+状态,这里的状态表征是否为异常
状态,若为异常状态即表征该链接无法被正常访问,将处于有效状态的内容呈现给用户,将
处于异常状态的内容过滤,在步骤1中,索引库将搜索结果返回至后台服务器,后台服务器
将搜索结果返回至客户端,客户端将搜索结果返回至用户,响应于接收到针对某一搜索结
果的点击操作(步骤2,访问搜索结果),在步骤3中,客户端记录用户点击后浏览器的访问状
态,即客户端记录接收到点击操作后浏览器的访问状态,这里的访问状态包括链接的超文
本传输协议状态值,在步骤4中,客户端上报异常状态通知到后台服务器,客户端上报的异
常状态通知包括:链接以及链接的访问状态(即链接的超文本传输协议状态值),客户端上
报异常状态通知可以是在每一次点击操作时均上报,可以是针对于同一链接的点击次数超
过点击次数阈值时进行上报,可以是每隔一段时间进行上报,可以是针对不同的链接来源
采取不同的上报策略,例如,客户端针对来源于第三方站点的内容上报异常状态通知以及
针对内部文章/小程序等内容上报异常状态通知,可以按照不同的时间间隔上报,间隔时间
与内容来远方的历史访问成功率成正相关,从而提高服务器的处理效率,避免频繁接收上
报的异常状态通知,这里也可以依据客户端上报的异常状态通知对索引库进行操作,使得
索引库中的链接最大程度上保持正常访问,接收客户端上报的异常状态通知,并离线统计
针对同一链接被连续上报为异常状态的次数,如果连续多次被上报为异常状态,可以从索
引库中删掉对应的异常链接。
[0149] 除了采取客户端上报异常状态通知外,在步骤5中,公众号或者第三方站点将异常的文章网页信息发给后台服务器使服务器对索引库进行操作,即后台服务器还可以获取由
第三方站点推送过来的异常状态通知,其所推送的异常状态通知包括处于异常状态的链
接,直接由服务器在索引库中过滤处于异常状态的链接。
[0150] 这里使用第三方站点推送来的异常状态通知以及客户端上报的异常状态通知,共同决策是否过滤搜索结果,针对于客户端上报的异常状态通知,响应于用户针对链接的点
击操作触发的网络请求,客户端会得到超文本传输协议状态值,若状态值大于400,表示网
络请求异常,将状态值大于400的链接记录到服务器的存储中,记录为无法正常访问的异常
状态,需要在返回搜索结果时对查询处于异常状态的链接并进行过滤。其它内容默认为处
于正常状态,若接收到用户针对于处于正常状态的内容的点击操作却返回得到表征异常的
状态值,客户端将这些信息保存并上报服务器,对于针对相同链接的累计次数进行统计,针
对于不同的上报次数设置有不同的应对策略,例如,累计次数超过累计次数阈值时,可以直
接将索引库中的链接删除,当累计次数不超过累计次数阈值时,则可以仅在服务器缓存中
进行记录,并仅在返回搜索结果时将该链接屏蔽过滤;当该链接恢复至正常状态,则将该链
接从缓存的记录中删除。
[0151] 这里使用TTL键值数据库来存储内容的异常状态,并为不同的数据源设置了不同的异常状态的超时时长,可以根据搜索结果的页面类型进行区分:搜索结果的页面类型包
括第三方站点以及内部文章/小程序,若是来源于前者的内容出现异常,该内容会被屏蔽一
天甚至更长的时间,若是来源于后者的内容出现异常,该内容会被屏蔽数十分钟到一小时,
这里可以对内容来源方的可信度进行区分,超时时间与可信度成反相关,第三方站点的可
信度比内部文章/小程序的可信度低,因此,来源于第三方站点的内容被屏蔽的时间比来源
于内部文章/小程序的内容被屏蔽的时间长,这里的超时时间即为被记录为异常状态的时
间,在这段时间内,被屏蔽的内容不会呈现在最后的搜索结果中,在超时时长达到后会重新
将该内容记录为正常状态,如果继续为异常链接,会重新屏蔽,对于过滤策略而言,会根据
链接的历史状态采取不同的过滤策略,这里将连续被上报为异常状态的链接确定为长期死
链,将偶尔被上报为异常状态的链接按照上述超时时间进行处理,这里还可以独立于索引
库针对异常状态的内容专门建立一个新的存储空间,以降低索引库中的死链比例。
[0152] 通过应用本发明实施例提供的网络搜索处理方法,业务侧可以有效的降低搜索结果中的死链占比,下降约4%左右。极大提升了搜索结果的用户体验。
[0153] 下面继续说明本发明实施例提供的网络搜索处理装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的网络搜索处理装置255中的软
件模块可以包括:索引建立模块2551,用于从网络中抓取内容并在搜索引擎的索引库中建
立索引,其中索引包括抓取内容的关键字和链接;状态记录模块2552,用于接收客户端针对
访问内容的异常状态通知,并在索引库对应访问内容的索引中记录异常状态;搜索查询模
块2553,用于接收搜索请求,并根据搜索请求携带的关键字查询索引库,得到与关键字匹配
的多个内容所分别对应的链接;内容过滤模块2554,用于在多个内容中过滤掉被记录为异
常状态的内容;结果响应模块2555,用于基于过滤后的内容所分别对应的链接构造搜索结
果,以响应搜索请求。
[0154] 在一些实施例中,状态记录模块2552,还用于:针对访问内容的异常状态进行可靠性分析;当访问内容的异常状态满足可靠性条件时,在索引库对应访问内容的索引中记录
异常状态。
[0155] 在一些实施例中,状态记录模块2552,还用于:在窗口时间中,记录针对访问内容接收到的异常状态通知的累计次数,其中,累计次数与异常状态的可靠性正相关;当窗口时
间内,记录的累计次数超出累计次数阈值时,确定访问内容的异常状态具备可靠性;当窗口
时间到达时记录的累计次数未超出累计次数阈值时,将累计次数清零。
[0156] 在一些实施例中,状态记录模块2552,还用于:向区块链网络发送针对访问内容的异常状态的提案响应,以使区块链网络中的多个共识节点对提案响应进行共识验证,当共
识验证通过的共识节点的数目超过共识数目阈值时,确定访问内容的异常状态具备可靠
性。其中,区块链网络中的共识节点的类型包括:访问内容的源站点;与客户端存在社交关
系的客户端。
[0157] 在一些实施例中,状态记录模块2552,还用于:基于客户端的用户活动数据构建用户特征;其中,用户活动数据包括以下至少之一:用户日活时间;用户月均发表内容数量;月
均阅读内容数量;用户月均转发量;用户月均点赞量;用户月均评论量;基于神经网络模型
预测用户活动特征对应的用户征信度;当预测得到的用户征信度超出征信度阈值时,确定
访问内容的异常状态具备可靠性。
[0158] 在一些实施例中,状态记录模块2552,还用于:当访问内容的异常状态不满足可靠性条件时,在独立于索引库的存储空间记录所访问内容的异常状态;内容过滤模块2554,还
用于:从多个内容中过滤掉在索引库中被记录为异常状态的内容,并过滤掉在存储空间中
被记录为异常状态的内容。
[0159] 在一些实施例中,状态记录模块2552,还用于:从异常状态通知中获取网络响应的状态值,网络响应是针对访问内容的网络请求发送的;当状态值大于异常状态阈值时,确定
访问内容处于永久失效状态;当状态值未超出异常状态阈值时,确定访问内容处于暂时失
效状态。
[0160] 在一些实施例中,状态记录模块2552,还用于:当客户端访问内容处于暂时失效状态时,从在索引库中记录访问内容的异常状态开始计时;当计时时长达到异常状态的超时
时长时,在索引库中将访问内容的异常状态重新记录为正常状态;当访问内容处于永久失
效状态时,删除索引库中对应访问内容的索引。
[0161] 在一些实施例中,状态记录模块2552,还用于:当接收到内容提供方主动推送的异常状态通知,且异常状态通知表征内容提供方的至少部分内容处于暂时失效状态时,在索
引库中对应暂时失效状态的内容的索引中记录异常状态;当接收到内容提供方主动推送的
异常状态通知,且异常状态通知表征内容提供方的至少部分内容处于永久失效状态时,删
除索引库中对应永久失效状态的内容的索引。
[0162] 在一些实施例中,状态记录模块2552,还用于:针对异常状态开始计时;当计时时长超出异常状态的超时时长时,在索引库中将处于暂时失效状态的内容重新记录为正常状
态。
[0163] 在一些实施例中,装置255还包括:计时模块2556,用于:确定处于暂时失效状态的内容所来自的内容提供方,确定与内容提供方的内容更新周期成正相关关系的时长,以作
为内容提供方的内容处于暂时失效状态时的超时时长。
[0164] 在一些实施例中,计时模块2556,还用于:针对处于暂时失效状态的内容,从对应的异常状态通知中获取网络响应的状态值,网络响应是针对暂时失效状态的内容的网络请
求发送的;确定与状态值正相关的时长,以作为内容提供方的内容处于暂时失效状态时的
超时时长。
[0165] 需要说明的是,本发明实施例提供的网络搜索处理装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明实施例
提供的网络搜索处理装置中未尽的技术细节,可以根据图3A‑3D任一附图的说明而理解。
[0166] 本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例
如,如图3A‑3F示出的网络搜索处理方法。
[0167] 在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEP ROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0168] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0169] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HT ML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0170] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备
上执行。
[0171] 综上所述,通过本发明实施例具有以下有益效果:
[0172] 通过客户端上报的异常状态来过滤掉搜索请求时的无效内容;从而,依赖客户端的数量优势和频繁访问内容的特点,能够克服主动探测和依赖网站通知异常状态的片面性
和滞后性,在节约搜索后台资源的基础上,显著提升发现无效内容的实时性和全面性,保证
了搜索结果的正确性。
[0173] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之
内。