外链可用性监控方法和监控装置与流程

文档序号:14990576发布日期:2018-07-20 22:08阅读:203来源:国知局

本发明涉及互联网技术领域,特别是涉及一种外链可用性监控方法和装置。



背景技术:

随着网络的发展,为了丰富页面内容,经常在页面中插入多个指向外部页面的外链链接。由于外链链接所对应的页面一般是不同于页面提供者的第三方开发的,难以保证所插入的外链的有效性。例如对于诸如导航网站、电商网站这些具有很多外链的网站,由于外部链接的可用性不受网站控制,一旦这些外部链接的地址不可用,就会对这些网站的收入和实用性造成影响。

由此,需要一种能对外链的可用性进行监控的方案。



技术实现要素:

本发明的主要目的在于,提供一种能够对外链的可用性进行监控的高度自动化的方法及监控装置。

根据本发明的一个方面,提供了一种外链可用性监控方法,包括:获取目标页面中的所有外链链接;发起针对外链链接的页面资源获取请求;根据返回的请求响应确定不可用的外链链接;修复、移除和/或报告不可用的外链链接。

由此,可以根据访问目标页面中的外部链接的访问结果确定外部链接的可用性,对于不可用的外部链接可以根据实际情况采取多种措施。例如,对于与目标页面属于同一提供方的不可用的外链,可以尝试对其进行修复,并在修复不成功时进行移除和/或报告;对于与目标页面属于不同提供方的不可用的外链,可以加以移除并报告相应的外部提供方。

优选地,目标页面可以是如下之一:导航页面;搜索结果页面;电商商户和/或产品页。本发明的外链监控方法尤其适用于上述具有大量外链的情况。

优选地,获取目标页面中的所有外链链接包括:获取目标页面的源代码;以及使用正则式href=\"(.*?)\"从源代码中取出所有外链链接。

由此,可以方便地检索出需要进行处理的外链链接,由此提升监控效率。

优选地,发起针对外链链接的页面资源获取请求包括:逐一发起针对每个外链链接的http请求。根据返回的请求响应确定不可用的外链链接包括:根据返回的http状态码确定不可用的外链链接。由此能够经由业内广泛使用的http状态码来实现对死链的判定,从而提升本发明方案的通用性。

优选地,根据返回的http状态码确定不可用的外链链接包括:在一外链链接返回的http状态码大于等于400且小于等于504时确定该外链链接不可用。由此,通过合理选择用于判断的http状态码数值,能够更为方便准确地识别出页面中的死链。

优选地,该方法还可以包括:跳转至目标页面的内链链接所指向的站内页面并针对所述站内页面重复外链链接的获取、发起页面资源获取请求、确定不可用的外链链接以及修复、移除和/或报告不可用的外链链接的操作。优选地,跳转至目标页面的内链链接所指向的站内页面可以是基于预定规则遍历目标页面所属网站内的所有带外链的页面,以完成对所述网站的死链移除。

优选地,对站内页面的跳转也可以不经由内链链接的指向。所述方法可以包括获取网站内的页面结构关系信息(例如,网站地图),并且根据上述结构信息的指示完成对目标网站内各页面的外链可用性检测,从而实现对整个目标站点的死链识别和处理。

根据本发明的另一个方面,还提供了一种外链可用性监控装置,包括:外链获取单元,用于获取目标页面中的所有外链链接;资源请求单元,用于发起针对外链链接的页面资源获取请求;不可用外链确定单元,用于根据返回的请求响应确定不可用的外链链接;以及不可用外链处理单元,用于修复、移除和/或报告不可用的外链链接。

在本发明的一个实施例中,外链获取单元包括:源代码获取单元,用于获取目标页面的源代码;以及外链取出单元,用于使用正则表达式href=\"(.*?)\"从源代码中取出所有外链链接。

在本发明的一个实施例中,该装置还可以包括:站内页面跳转单元,用于跳转至目标页面的内链链接所指向的站内页面,并且外链可用性监控装置使得外链获取单元、不可用外链确定单元和不可用外链处理单元针对站内页面进行操作。

本发明的外链可用性监控方法及监控装置可以自动地识别目标页面、网站甚至网站集群中的不可用外链链接,并进行相应的处理,从而能够快速有效地实现对外链链接可用性的全方位监控。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1是示出了根据本发明一实施例的外链可用性监控方法的示意性流程图。

图2是示出了根据本发明一实施例的外链可用性监控装置的功能框图。

图3是示出了对导航页中的外链链接的可用性进行监控的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

如前所述,为了实现对页面中的外链链接的可用性的监控,本发明提出了一种可以自动识别目标页面、网站甚至网站集群中的不可用外链链接(也可称为“死链”),并进行相应的处理的死链监控方案。在这里,“外链链接”可以指代页面中指向其它外部网站页面的链接,“内链链接”可以指代站内链接,即,同一网站域名下的内容页面之间的互相链接,例如当前页面的下级页面。本发明在此述及的目标页面可以是具有多个外链链接的页面,尤其可以是导航页面、搜索结果页面、电商商户和/或产品页等等。

下面结合图1就本发明的监控方案进行详细说明。图1是示出了根据本发明一实施例的外链链接可用性监控方法的示意性流程图。

参见图1,外部链接可用性监控方法开始于步骤s110,获取目标页面中的所有外链链接。在一个实施例中,步骤s110可以通过获取目标页面的源代码(例如,使用httpget),对源代码进行分析来得到目标页面的所有外部链接。优选地,可以使用正则式href=\"(.*?)\"从源代码中取出所有外链链接,由此提升外链获取效率。

在得到外部链接后,可以在步骤s120,发起针对外部链接的页面资源获取请求。所述请求可以是逐一发起针对每个外链链接的http请求,也可以是并行发起的。

在一个实施例中,步骤s110可以通过正则式逐一取出目标页面中的外部链接,在取出第一个外部链接后,就可以执行步骤s120,发出针对第一个外部链接的页面资源获取请求,以此类推,可以实现对所有外部链接的资源获取请求。由此,可以在执行步骤s110的同时执行步骤s120。

接下来,在步骤s130,根据返回的请求响应确定不可用的外链链接。其中,步骤s120可以向外链链接所对应的服务器发起http请求的。服务器在接收到访问请求后,会向请求方发出三位http状态码以表示服务器的http响应状态。

在现有技术中,已知以不同数字开头的http状态码表示不同的含义。具体地,以1开头的http状态码,代表http请求已被接受,需要继续处理。以2开头的http状态码,代表请求已成功被服务器接收、理解、并接受。以3开头的http状态码代表需要客户端采取进一步的操作才能完成请求。以4开头的http状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。以5、6开头的http状态码代表了服务器在处理请求的过程中有错误或者异常状态发生。

根据http状态码开头数字所代表的含义可知,以4及以后数字(5、6等等)开头的http状态码表示的均是http请求访问失败或者需要进一步处理才能访问成功。例如,http状态码400表示语义有误,当前请求无法被服务器理解,或者请求参数有误。http状态码504表示的是网关请求超时,即作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(uri标识出的服务器,例如http、ftp、ldap)或者辅助服务器(例如dns)收到响应

由此在返回的http状态码是4及以后数字开头时,可以将对应的外链链接认定为不可用。由于在实际访问中504以后出现的http状态码的概率较小,因此可以优选地将大于等于400且小于等于504的http状态码作为错误码,在返回的http状态码处于错误码内时,可以认为相应的外链链接不可用。即可以在一外链链接返回的http状态码大于等于400且小于等于504时确定该外链链接不可用。

在确定了不可用的外链链接后,可以在步骤s140对死链的相应处理,包括修复、移除和/或报告不可用的外链链接。

具体地,对于确定为不可用的外链链接,在具有其修改权限的情况下,可以尝试对上述外链进行修复,以使其变为可用状态。在这里,具有修改权限可以是进行外链状态监控的监控方与目标页面所属网站由同一方运营的情况,也可以是目标页面所属网站开放其修复权项的情况。修复的手段可以包括服务器重启或是调试等在不具备修改权限的情况下,可以将页面上的死链直接移除。另外,还可以向相关人员报告不可用的外链链接。上述报告优选地自动执行,例如经由通讯机器人执行。而相关人员可以是产品经理或是其他外方负责人员。

如上已经结合图1详细描述了本发明的外链可用性监控方法。利用本发明的外链可用性监控方法可以自动获取外链,识别死链并进行后续操作,从而可以实现对目标页面中的外链链接的可用性的监控。

在一个实施例中,在执行了图1所示的外链可用性监控方法以对目标页面中的外部链接的可用性进行了监控后,还可以继续对目标站点内的其他页面进行外链可用性监控。

具体地,可以跳转至目标页面包含的内链链接指向的站内页面并针对所述站内页面重复外链链接的获取(步骤s110)、发起页面资源获取请求(步骤s120)、确定不可用的外链链接(步骤s130)以及修复、移除和/或报告不可用的外链链接(步骤s140)的操作。优选地,跳转至目标页面的内链链接所指向的站内页面可以是基于预定规则遍历目标页面所属网站内的所有带外链的页面,以完成对整个网站的全部死链移除。

在其他实施例中,对站内页面的跳转也可以不经由内链实现,而且可以例如预先获取网站地图,并按照网站地图的指示实现对网站中包含外链的页面的外链可用性检查。

本发明的方案也可以应用于客户端,例如可以利用本发明对客户端配置文件中的外链的可用性进行检测。

另外,需要强调的是,本发明的监控方案可以是适用于各类导航页、网站和客户端的全程自动进行的外链状态监控方案。由此,通过对死链的及时发现、修复或移除,能够提升广大用户的使用体验。另外,由于能够及时发现外链故障,因此对于一些收费链接而言,能够确保页面位置(尤其是导航页)的利益最大化。

图2是示出了根据本发明一实施例的外部链接可用性监控装置200的的功能框图。其中,监控装置200的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图2所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。

图2所示的监控装置200可以用来实现图1所示的监控方法,下面仅就监控装置200可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1的描述,这里不再赘述。

参见图2,监控装置200包括外链获取单元210、资源请求单元220、不可用外链确定单元230以及不可用外链处理单元240。

外链获取单元210用于获取目标页面中的所有外链链接。资源请求单元220用于发起针对外链链接的页面资源获取请求。不可用外链确定单元230用于根据返回的请求响应确定不可用的外链链接。不可用外链处理单元240用于修复、移除和/或报告不可用的外链链接。

在本发明一个实施例中,外链获取单元210可以可选地包括源代码获取单元2110和外链取出单元2120。

源代码获取单元2110用于获取目标页面的源代码。外链取出单元2120用于使用正则式href=\"(.*?)\"从源代码中取出所有外链链接。

在本发明的一个实施例中,监控装置200还可以可选地包括站内页面跳转单元250,用于跳转至目标页面所属网站的站内页面,并且监控装置200使得外链获取单元210、不可用外链确定单元230和不可用外链处理单元240针对该站内页面进行操作。该站内页面跳转单元250还可以基于预定规则(例如,网站地图)遍历目标页面所属网站内的所有带外链的页面,以完成对整个网站的全部死链移除

综上,对于具有多个外链链接的页面,利用本发明的外链可用性监控方法及监控装置可以自动地获取其中存在的外链链接,并识别出其中不可用的外链链接,进而修复、移除和/或报告不可用的外链链接,从而能够快速有效地实现对页面中的外链链接的可用性的监控。

上文中已经参考附图详细描述了根据本发明的外链可用性监控方法及监控装置。如下将给出根据利用上述方法和装置实现监控的一个具体应用。

应用例

如上文所述,本发明的方案具有通用性,其可以适用于导航、电商、搜索等多种业务。具体地,可以利用本发明对导航页、搜索结果页以及电商商户页和产品页等多种页面进行监控,识别出其中不可用的外链链接。并且本发明的方案还可以应用于客户端,例如可以利用本发明对客户端配置文件中的外链的可用性进行检测。

下面以对导航页中的外链链接的可用性进行监控为例进行说明,应该知道对于其它类型的页面也可以参照下面的方式进行。

图3是示出了对导航页中的外链链接的可用性进行监控的流程图。其中,为了便于清楚直观地了解整个监测流程,图中示出了两列算法。应该理解的是,这两列算法可以从属于同一个算法,也可以是两个独立的算法。另外,图中的导航服务器和外链服务器可以是同一服务器,也可以是不同的服务器,例如可以是属于同一集群内的服务器。

参见图3,算法可以用来执行本发明的外链可用性监控方案。具体地,首先可以由算法向导航服务器(例如导航页为www.example123.com的服务器)发出httpget请求,以获取页面源代码。在得到页面源代码后算法可以通过正则表达式href=\"(.*?)\",把所有href的值取出来然后循环取出url,以得到一个外链列表。此后算法就可以向外链服务器发起http请求,外链服务器向算法返回httpcode(即http状态码)。

优选地,可以将数值400到504之间的http状态码设定为错误码,将数值小于400的http状态码设定为正确码,错误码返回0,正确码返回1。

优选地,错误码的返回可以设置如下代码实现。

这里优选优先判断httpcode等于200或302,这是链接健康时最为常见的返回状态码,并且上述判断的成立能够免除对后续httpcode>=200&&rescode<300或者httpcode>=300&&<400的判断,从而提升算法的整体效率。

循环对返回为0的url添加进错误链接数组,判断错误链接数组是否大于0,大于则把其中的url和httpcode输出,输出的url所对应的外链即为死链。如图3所示,可以将识别出的死链报告给通讯机器人,由通讯机器人上报给相关人员,例如产品经理。

由此就可以识别出导航页中的不可用的外链链接和其对应的http状态码。在测试中,利用本发明对于example123导航页的200多个个链接可以在1分钟完成检测。

上文中已经参考附图详细描述了根据本发明的外链可用性监控方法和监控装置。

此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1