首页> 中国专利> 一种网页广告的防屏蔽方法、内容分发网络及客户端

一种网页广告的防屏蔽方法、内容分发网络及客户端

摘要

本发明公开了一种网页广告的防屏蔽方法、内容分发网络及客户端,其中,所述方法包括:接收客户端发来的指向目标页面的访问请求,并响应于所述访问请求,向所述客户端反馈包含检测脚本的响应;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据所述客户端的检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中;以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。本申请提供的技术方案,能够避免广告请求被屏蔽。

著录项

  • 公开/公告号CN108243249A

    专利类型发明专利

  • 公开/公告日2018-07-03

    原文格式PDF

  • 申请/专利权人 网宿科技股份有限公司;

    申请/专利号CN201810007922.3

  • 发明设计人 赵志文;林土木;周建;

    申请日2018-01-04

  • 分类号

  • 代理机构北京华智则铭知识产权代理有限公司;

  • 代理人刘荣鑫

  • 地址 200030 上海市徐汇区斜土路2899号甲光启文化广场A幢5楼

  • 入库时间 2023-06-19 05:51:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-22

    授权

    授权

  • 2018-07-27

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20180104

    实质审查的生效

  • 2018-07-03

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,特别涉及一种网页广告的防屏蔽方法、内容分发网络及客户端。

背景技术

网页上的广告是普遍存在的,它是网页管理者重要的收入来源。在线广告可以是横幅,弹出框,嵌入式页面等等形式,它可以是音频内容、文本、图像或其他多媒体内容的视觉内容。然而由于用户大多不希望在页面上查看广告,因此广告屏蔽工具被开发出来用于屏蔽页面中的广告。

通常,广告屏蔽工具具备多种形式。例如,广告屏蔽工具可以是软件应用程序,也可以是浏览器组件、扩展,还可以是附加组件、脚本或与网页浏览应用程序(如Chrome,Internet Explorer和Firefox)结合使用的服务等。广告屏蔽工具通常作用于客户端中,它所使用的方法通常是将页面所需要访问的广告服务器的通信地址列入黑名单,使客户端对这些广告服务器的访问都被拦截,从而导致网页无法获取广告内容。广告屏蔽工具会影响网页管理者的广告收入,也阻止了相关商家的产品、服务的营销、促销和信息传播。因此,当前需要确保广告内容能够按照预期的方式呈现在用户的设备上。

当前,广告防屏蔽的方法一般是对广告服务器的通信地址采用加密或加干扰项的方式,以便让广告屏蔽工具的黑名单不起作用,或者使用中间代理服务器的方式来中转广告请求。然而,随着广告屏蔽工具的黑名单的更新,加密或者加干扰项的通信地址甚至中间代理服务器的通信地址也会被加入至黑名单中,从而使得现有的广告防屏蔽方法失效。由此可见,当前需要一种更加有效的广告防屏蔽方法。

发明内容

本申请的目的在于提供一种网页广告的防屏蔽方法、内容分发网络及客户端,能够避免广告请求被屏蔽。

为实现上述目的,本申请一方面提供一种网页广告的防屏蔽方法,所述方法应用于内容分发网络中,所述方法包括:接收客户端发来的指向目标页面的访问请求,并响应于所述访问请求,向所述客户端反馈包含检测脚本的响应;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据所述客户端的检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中;以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。

为实现上述目的,本申请另一方面还提供一种内容分发网络,所述内容分发网络中包括边缘节点和广告请求重写模块,其中:所述边缘节点,用于接收客户端发来的指向目标页面的访问请求,并响应于所述访问请求,向所述客户端反馈包含检测脚本的响应;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据所述客户端的检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中;所述广告请求重写模块,用于将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求,并向所述边缘节点提供写入了所述重写请求的加载信息。

为实现上述目的,本申请另一方面还提供一种网页广告的防屏蔽方法,所述方法包括:向内容分发网络中的边缘节点发送指向目标页面的访问请求,并接收所述边缘节点反馈的包含检测脚本的响应;运行所述检测脚本,以检测当前是否存在广告屏蔽组件以及检测是否支持指定传输协议;并根据检测结果,确定是否将所述目标页面中的加载信息传至广告请求重写模块中,以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求;在运行所述加载信息时,向所述内容分发网络中的请求转换服务器发送所述重写请求,以使得所述请求转换服务器将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源;接收所述请求转换服务器反馈的所述广告资源。

为实现上述目的,本申请另一方面还提供一种客户端,所述客户端包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:向内容分发网络中的边缘节点发送指向目标页面的访问请求,并接收所述边缘节点反馈的包含检测脚本的响应;运行所述检测脚本,以检测当前是否存在广告屏蔽组件以及检测是否支持指定传输协议;并根据检测结果,确定是否将所述目标页面中的加载信息传至广告请求重写模块中,以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求;在运行所述加载信息时,向所述内容分发网络中的请求转换服务器发送所述重写请求,以使得所述请求转换服务器将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源;接收所述请求转换服务器反馈的所述广告资源。

由上可见,本申请提供的技术方案,当客户端发送指向目标页面的访问请求时,内容分发网络中的边缘节点可以判断该目标页面的运营商是否申请了防屏蔽服务,如果申请了,可以向客户端反馈检测脚本。该检测脚本可以在客户端中自动运行,并检测客户端中是否存在广告屏蔽组件,如果存在,则可以通过将页面中的广告请求重写为符合其它通信协议的请求。这样,重写后的请求便无法被广告屏幕组件拦截,从而可以顺利地加载对应的广告资源。具体地,在检测到客户端对应的检测结果之后,客户端可以再次生成指向所述目标页面的访问请求,只不过在该访问请求中可以添加检测结果。添加了检测结果的访问请求再次被发送至边缘节点处,边缘节点可以根据其中携带的检测结果,做出相应的处理。具体地,如果客户端中存在广告屏蔽组件,那么边缘节点便可以根据访问请求,先从源站服务器中获取页面的加载信息。然后将该加载信息发送至所述内容分发网络的广告请求重写模块中。广告请求重写模块可以根据客户端所支持的指定传输协议,将加载信息中的广告请求重写为符合所述指定传输协议的重写请求,并将该重写请求写入加载信息中。这样,当客户端运行写入了重写请求后的加载信息时,便可以向内容分发网络中的请求转换服务器发送重写请求,由于该重写请求没有处于广告屏蔽组件的黑名单中,因此可以被客户端正常发出。请求转换服务器接收到该重写请求之后,可以将重写请求恢复为之前的广告请求,并从广告服务器中获取对应的广告资源。最终,便可以将获取到的广告资源反馈给客户端,从而可以在客户端中正常显示页面中的广告。在上述技术方案中,所述指定通信协议与广告请求所遵循的协议不同。例如,广告请求遵循的是HTTP协议,那么所述指定通信协议可以是WebRTC协议或者WebSocket协议。由于广告屏蔽组件的黑名单通常只会更新HTTP请求,因此无法拦截重写后的重写请求。此外,内容分发网络中的请求转换服务器通常不会显示通信地址,因此也无法屏蔽请求转换服务器的通信地址。这样,本申请提供的技术方案,能够更加有效地避免广告请求被屏蔽,从而可以保证网页管理者以及广告投放者的利益。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中网页广告防屏蔽的方法流程图;

图2是本发明实施例中检测脚本的运行示意图;

图3是本发明实施例中重写广告请求的流程图;

图4是本发明实施例中请求转换服务器的工作流程图;

图5是本发明实施例中内容分发网络中各个组成部分的交互示意图;

图6是本发明实施例中客户端的结构示意图;

图7是本发明实施例中计算机终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一

本申请提供一种网页广告的防屏蔽方法,所述方法应用于内容分发网络(ContentDelivery Network,CDN)中,所述方法可以包括:

接收客户端发来的指向目标页面的访问请求,并响应于所述访问请求,向所述客户端反馈包含检测脚本的响应;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据所述客户端的检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中;以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。

在本实施方式中,客户端在访问目标页面时,可以发起针对所述目标页面的访问请求,该访问请求可以由CDN中就近的边缘节点接收。边缘节点在接收到指向所述目标页面的访问请求后,首先可以判断该目标页面的运营商是否申请了广告防屏蔽服务。具体地,在边缘节点中可以预先记录当前申请了广告防屏蔽服务的目标页面。例如,边缘节点可以将申请了广告防屏蔽服务的目标页面对应的IP地址记录于广告防屏蔽的列表中。这样,在接收到所述访问请求时,边缘节点可以从所述访问请求中提取出该请求指向的IP地址,然后判断提取出的IP地址是否处于上述的列表中。如果处于,则表明该目标页面的运营商申请了广告防屏蔽服务。

在本实施方式中,在确定所述目标页面处于所述广告防屏蔽的列表中时,边缘节点才可以启动广告防屏蔽的措施,否则按照正常的处理方式处理该访问请求。具体地,在确定所述目标页面处于所述广告防屏蔽的列表中后,所述边缘节点可以向所述客户端反馈包含检测脚本的响应。其中,所述检测脚本可以是边缘节点中预先存储的可被执行的一段程序代码。该检测脚本被客户端接收之后,客户端可以自动运行该检测脚本。当所述检测脚本在运行时,可以检测所述客户端中是否存在广告屏蔽组件。具体的检测方式可以为:首先可以获取处于广告屏蔽组件的屏蔽列表中的目标地址。所述目标地址可以是屏蔽列表中的任一地址,不同的广告屏蔽组件为了共享屏蔽列表中的地址,通常会将需要屏蔽的地址加入一个共享库中。那么在本申请中,可以从该共享库中获取任意一个目标地址,然后可以加载所述目标地址指向的页面资源。如果所述页面资源能够加载成功,则表明客户端中并没有设置用于拦截广告请求的组件,此时,运行的检测脚本可以设置用于表示所述客户端中不存在广告屏蔽组件的标识。若所述页面资源加载失败,则表明客户端中存在用于拦截广告请求的组件,此时,运行的检测脚本可以设置用于表示所述客户端中存在广告屏蔽组件的标识。

在本实施方式中,在检测到所述客户端中存在广告屏蔽组件时,可以进一步检测所述客户端是否支持指定通信协议。所述指定通信协议可以与广告请求所采用的通信协议不同。例如,当前的广告请求通常采用的是HTTP协议,那么在本实施方式中,所述指定通信协议便可以是WebRTC(Web Real-TimeCommunication,网页实时通信)协议或者WebSocket协议。当然,在实际应用场景中,还可以采用其它与所述HTTP协议不同的协议,本申请对此并不做限定。由于WebRTC协议比WebSocket协议应用范围广,因此在本实施方式中可以优先检测客户端是否支持WebRTC协议。若客户端不支持WebRTC协议,那么可以进一步检测所述客户端是否支持WebSocket协议。这样,在检测完客户端是否存在广告屏蔽组件以及是否支持指定传输协议之后,便可以生成对应的检测结果。

在本实施方式中,在得到所述检测结果后,如果客户端中存在广告屏蔽组件,因此边缘节点不能直接将目标页面的加载信息提供给客户端,否则目标页面中的广告资源就会被广告屏蔽组件屏蔽。鉴于此,目标页面中的加载信息可以被传至广告请求重写模块中。需要说明的是,该广告请求重写模块可以位于内容分发网络中的服务器一侧,也可以位于客户端一侧。具体地,在目标页面中可以嵌入包含广告URL(UniformResource Locator,统一资源定位符)重写的广告防屏蔽脚本,该广告防屏蔽脚本先检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据检测结果,收集目标页面的加载信息,并将收集的加载信息传给广告URL重写脚本,进入URL重写逻辑。该广告URL重写脚本便可以作为客户端中的广告请求重写模块执行的脚本。该广告请求重写模块可以将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。具体地,所述广告请求重写模块可以预运行所述加载信息,在所述加载信息被运行时,如果需要在页面中加载广告资源,那么会向外发出指向广告资源的广告请求。此时,广告请求重写模块可以获取在加载信息预运行过程中发出的广告请求。这些广告请求通常具备HTTP协议格式,若这些广告请求处于广告屏蔽组件的屏蔽列表中,那么会被广告屏蔽组件拦截。因此,广告请求重写模块可以在确定所述广告请求处于被屏蔽状态时,生成所述广告请求对应的符合所述指定传输协议的重写请求,并将所述重写请求写入所述加载信息中。

在本实施方式中,广告请求重写模块在加载信息中写入重写请求之后,可以将写入了重写请求的加载信息提供给边缘节点,从而使得边缘节点向所述客户端反馈写入了所述重写请求的加载信息。

在本实施方式中,当客户端运行写入了重写请求的加载信息时,可以向外发出其中包含的重写请求。在CDN中,可以预先设置用于处理符合所述指定通信协议的重写请求的服务器。具体地,所述服务器可以是请求转换服务器。客户端发出的重写请求可以被所述请求转换服务器接收。所述请求转换服务器可以将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源,并将获取的所述广告资源提供给所述客户端。这样,客户端便可以正常获取并展示所述广告资源。

具体地,请一并参阅图1至图4,在一个实施方式中,所述方法包括以下步骤。

S11:接收客户端发来的指向目标页面的第一访问请求,并响应于所述第一访问请求,向所述客户端反馈检测脚本;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并生成指向所述目标页面的第二访问请求,所述第二访问请求中携带所述客户端的检测结果。

请参阅图1,在本实施方式中,客户端在访问目标页面时,可以发起针对所述目标页面的第一访问请求,该第一访问请求可以由CDN中就近的边缘节点接收。边缘节点在接收到指向所述目标页面的第一访问请求后,首先可以判断该目标页面的运营商是否申请了广告防屏蔽服务。具体地,在边缘节点中可以预先记录当前申请了广告防屏蔽服务的目标页面。例如,边缘节点可以将申请了广告防屏蔽服务的目标页面对应的IP地址记录于广告防屏蔽的列表中。这样,在接收到所述第一访问请求时,边缘节点可以从所述第一访问请求中提取出该请求指向的IP地址,然后判断提取出的IP地址是否处于上述的列表中。如果处于,则表明该目标页面的运营商申请了广告防屏蔽服务。

在本实施方式中,在确定所述目标页面处于所述广告防屏蔽的列表中时,边缘节点才可以启动广告防屏蔽的措施,否则按照正常的处理方式处理该第一访问请求。具体地,在确定所述目标页面处于所述广告防屏蔽的列表中后,所述边缘节点可以向所述客户端反馈检测脚本。所述检测脚本可以是边缘节点中预先存储的可被执行的一段程序代码。该检测脚本被客户端接收之后,客户端可以自动运行该检测脚本。当所述检测脚本在运行时,可以检测所述客户端中是否存在广告屏蔽组件。具体的检测方式可以为:首先可以获取处于广告屏蔽组件的屏蔽列表中的目标地址。所述目标地址可以是屏蔽列表中的任一地址,不同的广告屏蔽组件为了共享屏蔽列表中的地址,通常会将需要屏蔽的地址加入一个共享库中。那么在本申请中,可以从该共享库中获取任意一个目标地址,然后可以加载所述目标地址指向的页面资源。如果所述页面资源能够加载成功,则表明客户端中并没有设置用于拦截广告请求的组件,此时,运行的检测脚本可以设置用于表示所述客户端中不存在广告屏蔽组件的标识。例如,可以用“false”作为表示客户端中不存在广告屏蔽组件的标识。若所述页面资源加载失败,则表明客户端中存在用于拦截广告请求的组件,此时,运行的检测脚本可以设置用于表示所述客户端中存在广告屏蔽组件的标识。例如,可以用“true”作为表示客户端中存在广告屏蔽组件的标识。当然,实际应用场景中,也可以参阅图2中的流程,预先设置用于表示所述客户端中存在广告屏蔽组件的标识“true”,在后续判定客户端中实际没有广告屏蔽组件时,再将“true”改为“false”。

在本实施方式中,在检测到所述客户端中存在广告屏蔽组件时,可以进一步检测所述客户端是否支持指定通信协议。所述指定通信协议可以与广告请求所采用的通信协议不同。例如,当前的广告请求通常采用的是HTTP协议,那么在本实施方式中,所述指定通信协议便可以是WebRTC(Web Real-TimeCommunication,网页实时通信)协议或者WebSocket协议。当然,在实际应用场景中,还可以采用其它与所述HTTP协议不同的协议,本申请对此并不做限定。由于WebRTC协议比WebSocket协议应用范围广,因此在本实施方式中可以优先检测客户端是否支持WebRTC协议,若支持,运行的检测脚本可以设置用于表示所述WebRTC协议的数值。例如,可以用“0”表示客户端支持WebRTC协议。若客户端不支持WebRTC协议,那么可以进一步检测所述客户端是否支持WebSocket协议,若支持所述WebSocket协议,运行的脚本便可以设置用于表示所述WebSocket协议的数值。例如,可以用“1”表示客户端支持WebSocket协议。如果两种协议都不支持,那么便可以不设置对应的数值。这样,在检测完客户端是否存在广告屏蔽组件以及是否支持指定传输协议之后,便可以生成对应的检测结果。在所述检测结果中,可以包括上述设置的标识以及数值。在实际应用中,在检测出客户端中不存在广告屏蔽组件后,由于广告请求不会被拦截,因此也无需进一步地检测客户端是否支持指定传输协议。这样,最终的检测结果例如可以是“false”,表示客户端中不存在广告屏蔽组件;检测结果还可以是“true,1”,表示客户端中存在广告屏蔽组件,并且客户端支持WebSocket协议。在实际应用中,该检测结果可以通过cookie的形式来表示。在所述检测结果中,也可以添加用于表明标识和数值含义的字段。例如,可以利用“shield=true”表示存在广告屏蔽组件。

在本实施方式中,在得到所述检测结果后,运行的检测脚本可以生成指向所述目标页面的第二访问请求,所述第二访问请求与所述第一访问请求的区别在于,在所述第二访问请求中,除了包含所述目标页面的访问地址,还添加了所述检测结果。这样,客户端便可以将携带所述检测结果的第二访问请求再次发送至边缘节点处。

在一个实施方式中,考虑到边缘节点接收的访问请求中,可能携带了检测结果(例如第二访问请求),也可能没有携带检测结果(例如第一访问请求),针对没有携带检测结果的访问请求,边缘节点才需要反馈检测脚本。因此,在确定所述目标页面处于所述广告防屏蔽的列表中时,边缘节点可以进一步判断所述第一访问请求中是否携带检测结果,如果所述第一访问请求中没有携带检测结果,边缘节点才向所述客户端反馈检测脚本,以获取客户端的检测结果。

S13:接收所述客户端发来的所述第二访问请求,并基于所述第二访问请求从源站服务器获取所述目标页面的加载信息。

S15:将所述加载信息发送至所述内容分发网络的广告请求重写模块中,以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求,并接收所述广告请求重写模块提供的写入了所述重写请求的加载信息。

在本实施方式中,当边缘节点接收到客户端发来的第二访问请求后,可以提取所述第二访问请求中携带的检测结果,并根据该检测结果采取相应的措施。具体地,若所述检测结果表明客户端中并不存在广告屏蔽组件,那么边缘节点就可以采用正常的方式处理所述第二访问请求。而如果所述检测结果表明客户端中存在广告屏蔽组件,那么边缘节点首先可以从所述目标页面对应的源站服务器中获取所述目标页面的加载信息。该加载信息可以是能够被客户端执行的页面代码,在所述加载信息被执行时,客户端可以获取所述目标页面中的各个展示元素,并最终将目标页面中的信息展示出来。

在本实施方式中,由于客户端中存在广告屏蔽组件,因此边缘节点不能直接将所述加载信息提供给客户端,否则目标页面中的广告资源就会被广告屏蔽组件屏蔽。鉴于此,若广告请求重写模块位于内容分发网络的服务器中,那么边缘节点可以将所述加载信息发送至内容分发网络的广告请求重写模块中。该广告请求重写模块可以将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。具体地,请参阅图3,所述广告请求重写模块可以预运行所述加载信息,在所述加载信息被运行时,如果需要在页面中加载广告资源,那么会向外发出指向广告资源的广告请求。此时,广告请求重写模块可以获取在加载信息预运行过程中发出的广告请求。这些广告请求通常具备HTTP协议格式,若这些广告请求处于广告屏蔽组件的屏蔽列表中,那么会被广告屏蔽组件拦截。因此,广告请求重写模块可以在确定所述广告请求处于被屏蔽状态时,生成所述广告请求对应的符合所述指定传输协议的重写请求,并将所述重写请求写入所述加载信息中。其中,所述广告请求处于被屏蔽状态可以指所述广告请求处于广告屏蔽组件的屏蔽列表中。广告请求重写模块在生成重写请求时,可以按照所述指定传输协议的格式要求,对所述广告请求进行改写,从而生成符合所述指定传输协议的重写请求。该重写请求可以被写入所述目标页面的加载信息中,这样,当加载信息被客户端执行时,其中的广告请求可能会被广告屏蔽组件拦截,但是重写请求却能够正常向外发出。

S17:向所述客户端反馈写入了所述重写请求的加载信息。

在本实施方式中,广告请求重写模块在加载信息中写入重写请求之后,可以将写入了重写请求的加载信息提供给边缘节点,从而使得边缘节点向所述客户端反馈写入了所述重写请求的加载信息。

在本实施方式中,当客户端运行写入了重写请求的加载信息时,可以向外发出其中包含的重写请求。在CDN中,可以预先设置用于处理符合所述指定通信协议的重写请求的服务器。具体地,,请参阅图4,所述服务器可以是请求转换服务器。客户端发出的重写请求可以被所述请求转换服务器接收。所述请求转换服务器可以将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源,并将获取的所述广告资源提供给所述客户端。这样,客户端便可以正常获取并展示所述广告资源。

在本实施方式中,所述请求转换服务器在获取到对应的广告资源之后,可以将获取的所述广告资源进行缓存。这样,当所述请求转换服务器再次接收到指向该广告资源的重写请求时,便可以直接将本地缓存的广告资源提供给请求的发起方,从而可以节省从广告服务器中获取广告资源的过程,减少了客户端花费的响应时间。由此可见,请求转换服务器中可能预先缓存了部分广告资源,那么在接收到所述客户端发来的重写请求时,所述请求转换服务器可以判断本地是否存在所述重写请求对应的缓存数据,若存在,则可以向所述客户端提供所述缓存数据;若不存在,才从广告服务器中获取对应的广告资源。

实施例二

本申请还提供一种内容分发网络,请参阅图5,所述内容分发网络中包括边缘节点和广告请求重写模块。

其中,所述边缘节点,用于接收客户端发来的指向目标页面的访问请求,并响应于所述访问请求,向所述客户端反馈包含检测脚本的响应;其中,当所述检测脚本在所述客户端中运行时,检测所述客户端中是否存在广告屏蔽组件以及检测所述客户端是否支持指定传输协议,并根据所述客户端的检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中;

所述广告请求重写模块,用于将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求,并向所述边缘节点提供写入了所述重写请求的加载信息。

在本实施方式中,所述内容分发网络中还包括请求转换服务器,所述请求转换服务器用于接收所述客户端发来的重写请求,并将所述重写请求还原为广告请求;基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源,并将获取的所述广告资源提供给所述客户端。

实施例三

本申请还提供一种网页广告的防屏蔽方法,所述方法可以应用于客户端中,所述方法包括以下步骤。

S21:向内容分发网络中的边缘节点发送指向目标页面的访问请求,并接收所述边缘节点反馈的包含检测脚本的响应。

S23:运行所述检测脚本,以检测当前是否存在广告屏蔽组件以及检测是否支持指定传输协议;并根据检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中,以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。

S25:在运行所述加载信息时,向所述内容分发网络中的请求转换服务器发送所述重写请求,以使得所述请求转换服务器将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源。

S27:接收所述请求转换服务器反馈的所述广告资源。

在本实施方式中,运行所述检测脚本包括:

预先获取处于广告屏蔽组件的屏蔽列表中的目标地址,并加载所述目标地址指向的页面资源;

若所述页面资源加载成功,设置用于表示不存在广告屏蔽组件的标识。

在本实施方式中,所述方法还包括:

若所述页面资源加载失败,设置用于表示存在广告屏蔽组件的标识;

检测是否支持WebRTC协议,若支持,设置用于表示所述WebRTC协议的数值;若不支持,检测是否支持WebSocket协议,若支持所述WebSocket协议,设置用于表示所述WebSocket协议的数值;

相应地,所述检测结果中包括设置的所述标识以及设置的所述数值。

本实施方式中提供的网页广告的防屏蔽方法,其中各个步骤的具体实现过程可以参见实施例一中的描述,这里便不再赘述。

实施例四

本申请还提供一种客户端,请参阅图6,所述客户端包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤。

S21:向内容分发网络中的边缘节点发送指向目标页面的访问请求,并接收所述边缘节点反馈的包含检测脚本的响应。

S23:运行所述检测脚本,以检测当前是否存在广告屏蔽组件以及检测是否支持指定传输协议;并根据检测结果确定是否将所述目标页面中的加载信息传至广告请求重写模块中,以使得所述广告请求重写模块将所述加载信息中包含的广告请求重写为符合所述指定传输协议的重写请求。

S25:在运行所述加载信息时,向所述内容分发网络中的请求转换服务器发送所述重写请求,以使得所述请求转换服务器将所述重写请求还原为广告请求,并基于还原得到的所述广告请求,从广告服务器中获取对应的广告资源。

S27:接收所述请求转换服务器反馈的所述广告资源。

请参阅图7,在本申请中,上述实施例中的技术方案可以应用于如图7所示的计算机终端10上。计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对内容分发网络和客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

由上可见,本申请提供的技术方案,当客户端发送指向目标页面的访问请求时,内容分发网络中的边缘节点可以判断该目标页面的运营商是否申请了防屏蔽服务,如果申请了,可以向客户端反馈检测脚本。该检测脚本可以在客户端中自动运行,并检测客户端中是否存在广告屏蔽组件,如果存在,则可以通过将页面中的广告请求重写为符合其它通信协议的请求。这样,重写后的请求便无法被广告屏幕组件拦截,从而可以顺利地加载对应的广告资源。具体地,在检测到客户端对应的检测结果之后,客户端可以再次生成指向所述目标页面的访问请求,只不过在该访问请求中可以添加检测结果。添加了检测结果的访问请求再次被发送至边缘节点处,边缘节点可以根据其中携带的检测结果,做出相应的处理。具体地,如果客户端中存在广告屏蔽组件,那么边缘节点便可以根据访问请求,先从源站服务器中获取页面的加载信息。然后将该加载信息发送至所述内容分发网络的广告请求重写模块中。广告请求重写模块可以根据客户端所支持的指定传输协议,将加载信息中的广告请求重写为符合所述指定传输协议的重写请求,并将该重写请求写入加载信息中。这样,当客户端运行写入了重写请求后的加载信息时,便可以向内容分发网络中的请求转换服务器发送重写请求,由于该重写请求没有处于广告屏蔽组件的黑名单中,因此可以被客户端正常发出。请求转换服务器接收到该重写请求之后,可以将重写请求恢复为之前的广告请求,并从广告服务器中获取对应的广告资源。最终,便可以将获取到的广告资源反馈给客户端,从而可以在客户端中正常显示页面中的广告。在上述技术方案中,所述指定通信协议与广告请求所遵循的协议不同。例如,广告请求遵循的是HTTP协议,那么所述指定通信协议可以是WebRTC协议或者WebSocket协议。由于广告屏蔽组件的黑名单通常只会更新HTTP请求,因此无法拦截重写后的重写请求。此外,内容分发网络中的请求转换服务器通常不会显示通信地址,因此也无法屏蔽请求转换服务器的通信地址。这样,本申请提供的技术方案,能够更加有效地避免广告请求被屏蔽,从而可以保证网页管理者以及广告投放者的利益。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号