一种定期推送广告数据的实现方法、系统及无线接入点
技术领域
本发明属于无线通信网络技术领域,特别是涉及一种定期推送广告数据的实现方法、系统及无线接入点。
背景技术
众所周知,品牌效应对企业经营盈利起到很重要的作用,对于小微企业如小型商铺来说,没有雄厚的资金,考虑到成本,不可能投入大量的资金到媒体或是平面媒体投放广告,而基于路由器的广告投放,又需要第三方服务器支持,购买服务器又需要大量的资金,本方法的广告页推送,只需在常规路由器,甚至如SOHO级路由器中单独实现,可以说单个路由器就是一个系统,而单个路由器购买价格很低,并且还起到了推送广告的效果,很好的适应了小型商铺的用户。
当前的实现方案虽然也有基于netfilter的广告推送,但是他们都是需要第三方大型服务器的支持,而这些明显不适用于成本控制很严格的小型商铺,缺点很明显,一方面,当前方案针对大型企业和大型商圈,因为需要同时向多台路由器配置相关数据,当前方案广告推送服务都是由服务器控制,路由器只是起到一个将用户访问的网址重定向到服务器对应的网址,广告数据需要在服务器上设置;另一方面,通常现在的方案都是portal认证(强制门户认证)时推送广告,没有周期性推送。
因此,如何提供一种定期推送广告数据的实现方法、系统及无线接入点,以解决现有技术中广告页的推送需要第三方大型服务器,而现有技术明显不适用于成本控制很严格的小型商户,且现有技术都是通过强制门户认证时推送广告,缺少周期性推送等缺陷,实已成为本领域从业者亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种定期推送广告数据的实现方法、系统及无线接入点,用于解决现有技术中广告页的推送需要第三方大型服务器,而现有技术明显不适用于成本控制很严格的小型商户,且现有技术都是通过强制门户认证时推送广告,缺少周期性推送的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种定期推送广告数据的实现方法,应用于客户端、无线接入点、服务器端组成的通信网络,所述无线接入点包括内核层和用户层,在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数,并预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,和用于记录状态标识位变化的时间变量值,所述定期推送广告数据的实现方法包括以下步骤:待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数接收来自于所述客户端发送的访问数据包;获取当前时刻的时间变量值,并判断当前所述状态标识位是否为默认值,若是,则计算当前推送广告时间差值,并判断当前推送广告时间差值是否超过预定推送广告时间阈值,若是,直接放行所述访问数据包;若否,则令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据;若否,则计算当前推送广告间隔时间差值,并判断当前推送广告间隔时间差是否超过预定推送间隔时间阈值,若否,直接放行所述访问数据包;若是,则令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据。
于本发明的一实施例中,所述无线接入点还预定义有用于存储已推送过其欲推送的广告数据的IP地址的白名单链表。
于本发明的一实施例中,若当前推送广告时间差值超过预定推送广告时间阈值,所述定期推送广告数据的实现方法还包括:更新所述状态标识位,将所述时间变量值更新为记录状态标识位变化的时间变量值,并将所述白名单链表中所有IP地址清空。
于本发明的一实施例中,所述令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据的步骤包括:解析所述访问数据包,判断其是否为源自HTTP默认端口的访问数据包;若否,则对所述访问数据包执行偏移处理,解析关键字段,并将该关键字段存入设置在所述拦截函数中的用户字段变量中;若是,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则直接放行源自HTTP默认端口的访问数据包,若否,则解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的响应数据包。
于本发明的一实施例中,若源自HTTP默认端口的访问数据包的IP地址不存在于所述白名单链表中时,所述定期推送广告数据的实现方法还需将源自HTTP默认端口的访问数据包的IP地址保存在所述白名单链表中。
于本发明的一实施例中,若当前推送广告间隔时间差超过预定推送间隔时间阈值时,所述令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据的步骤之前所述定期推送广告数据的实现方法还包括更新所述状态标识位,并将所述时间变量值更新为记录状态标识位变化的时间变量值。
本发明另一方面还提供一种定期推送广告数据的实现系统,应用于客户端、无线接入点、服务器端组成的通信网络,所述无线接入点包括内核层和用户层,所述定期推送广告数据的实现系统包括:注册模块,用于在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数;预定义模块,与所述注册模块连接,用于预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,和用于记录状态标识位变化的时间变量值;通信模块,与所述注册模块和预定义模块连接,用于待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数接收来自于所述客户端发送的访问数据包;检测模块,与所述通信模块连接,用于获取当前时刻的时间变量值,并判断当前所述状态标识位是否为默认值,若是,则调用用于计算当前推送广告时间差值的第一计算模块,和用于判断当前推送广告时间差值是否超过预定推送广告时间阈值的第一判断模块,若是,调用所述通信模块直接放行所述访问数据包;若否,则调用推送模块用于令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据;若否,则调用用于计算当前推送广告间隔时间差值的第二计算模块,和判断用于当前推送广告间隔时间差是否超过预定推送间隔时间阈值的第二判断模块,若否,调用所述通信模块直接放行所述访问数据包;若是,则调用所述推送模块令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包通过所述通信模块发送至客户端以推送所述无线接入点欲推送的广告数据。
于本发明的一实施例中,所述预定义模块还用于预定义有用于存储已推送过其欲推送的广告数据的IP地址的白名单链表。
于本发明的一实施例中,所述拦截模块具体用于:解析所述访问数据包,判断其是否为源自HTTP默认端口的访问数据包;若否,则对所述访问数据包执行偏移处理,解析关键字段,并将该关键字段存入设置在所述拦截函数中的用户字段变量中;若是,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则直接放行源自HTTP默认端口的访问数据包,若否,则解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的响应数据包。
本发明又一方面还提供一种无线接入点,其特征在于,包括:定期推送广告数据的实现系统。
于本发明的一实施例中,所述无线接入点为商用无线路由器
如上所述,本发明的定期推送广告数据的实现方法、系统及无线接入点,具有以下有益效果:
本发明的定期推送广告数据的实现方法、系统及无线接入点主要针对小型商户,再推送广告时无需进行Portal认证,实现了周期性的推送广告,且使广告数据在本地管理页面配置完成,简单易操作。
附图说明
图1显示为本发明的定期推送广告数据的实现方法于一实施例中的流程示意图。
图2显示为本发明的定期推送广告数据的实现方法中步骤S8的具体流程示意图。
图3显示为本发明的定期推送广告数据的实现系统于一实施例中的原理结构示意图。
图4显示为本发明的无线接入点于一实施例中的原理结构示意图。
元件标号说明
1无线接入点
10定期推送广告数据的实现系统
101注册模块1
102预定义模块
103通信模块
104检测模块
105第一计算模块
106第一判断模块
107第一处理模块
108推送模块
109第二计算模块
200第二判断模块
201第二处理模块
S1~S11步骤
S81~S85步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
本实施例提供一种定期推送广告数据的实现方法,应用于客户端、无线接入点、服务器端组成的通信网络,所述无线接入点包括内核层和用户层,在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数,并预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,和用于记录状态标识位变化的时间变量值,所述定期推送广告数据的实现方法包括以下步骤:
待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数接收来自于所述客户端发送的访问数据包;
获取当前时刻的时间变量值,并判断当前所述状态标识位是否为默认值,
若是,则计算当前推送广告时间差值,并判断当前推送广告时间差值是否超过预定推送广告时间阈值,若是,直接放行所述访问数据包;若否,则令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据;
若否,则计算当前推送广告间隔时间差值,并判断当前推送广告间隔时间差是否超过预定推送间隔时间阈值,若否,直接放行所述访问数据包;若是,则令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据。
以下将结合图示对本实施例提供的定期推送广告数据的实现方法进行详细阐述。本实施例所述的定期推送广告数据的实现方法,应用于客户端、无线接入点、服务器端组成的通信网络。于实际应用中,所述客户端为智能手机、平板电脑、IPAD等移动终端。在本实施例中,所述客户端为智能手机,所述无线接入点为小型商用路由器。所述小型商用路由器是基于Linux内核。该商用无线路由器包括内核层和用户层,在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数,并预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,记为iAd(iAd为1时表示当前正在推送广告,iAd为0时表示当前未开始推送广告,在本实施例中,状态标识位的默认值为1),用于记录状态标识位变化的时间变量值(jiffes值,jiffes值的初始值为系统启动时间值),记为uTime(unsignedint类型),预定义用于存储广告数据的存储数据变量,即sAdData(char*类型),用于保存商户从路由器页面通过用户配置到内核态中的预定广告推送时间阈值和预定推送间隔时间阈值的iAdTime(unsignedint类型)和iInterTime(unsignedint类型),用于存储已推送过其欲推送的广告数据的IP地址的白名单链表。
本实施例所述的定期推送广告数据的实现方法涉及以下三个技术点:
第一,基于linux内核netfilter包过滤实现广告推送,因此首先需要在内核态注册一个HOOK函数(又名钩子函数),因为是商户对外提供网络,因此我们只处理无线数据包。要拦截路由器LAN侧的数据包转发到WAN侧的数据包,因此HOOK点放在“NF_IP_FORWARD”。netfiter防火墙是linux内核的一个模块组件,其主要目的是执行数据包的过滤动作,包含INPUT、OUTPUT和FORWARD链,用于处理路由器输入、输出和转发的数据包,本方案涉及到FORWARD链,即对从路由器转发出去的数据包进行处理。
第二,http协议(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,其常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用,本方案涉及到http协议的一种向服务器请求资源的方法。httpGET:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,例如:GET/index.htmlHTTP/1.1(CRLF)。在接收和解释请求消息后,服务器返回一个HTTP响应消息,相应消息中带有状态码,“200OK”表示客户端向服务器请求成功。
第三,Jiffies是用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,jiffies一秒内增加的值也就是Hz,系统运行时间以秒为单位,等于jiffies/Hz。
请参阅图1,显示为定期推送广告数据的实现方法于一实施例中的流程示意图。如图1所示,所述定期推送广告数据的实现方法具体包括以下几个步骤:
S1,待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数(hook函数)接收来自于所述客户端发送的访问数据包,所述访问数据包在本实施例中可记为skbuff数据包。
S2,获取当前时刻的时间变量值,即当前时刻的jiffes值。
S3,判断当前所述状态标识位是否为默认值,即当前所述状态标识位,iAd为1。若是,则执行步骤S4,若否,则执行步骤S9。
S4,当前所述状态标识位iAd为1,计算当前推送广告时间差值。
计算当前推送广告时间差值的公式如下:
当前推送广告时间差值=当前时刻的jiffes值-记录状态标识位变化的时间变量值的uTime除以Hz(频率)
S5,判断当前推送广告时间差值是否超过预定推送广告时间阈值,即当前推送广告时间差值是否超过iAdTime,若是,执行步骤S6,即更新所述状态标识位为0,将所述时间变量值更新为记录状态标识位变化的时间变量值,即uTime,并将所述白名单链表中所有IP地址清空,转入步骤S7,直接放行所述访问数据包;若否,则执行步骤S8。
S8,令所述拦截函数(hook函数)拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据。本实施例中,请参阅图2,显示为步骤S8的具体流程示意图。如图2所示,所述步骤S8具体包括:
S81,解析所述访问数据包skbuff数据包。
S82,判断skbuff数据包是否为源自HTTP默认端口的访问数据包;若否,则执行步骤S83,若是,则执行S84。
S83,对所述访问数据包(skbuff数据包)执行偏移处理,所述偏移处理是指偏移处理是指对访问数据包按照字节顺序取出源自HTTP默认端口的访问数据包,解析关键字段host,并将该关键字段host存入设置在所述拦截函数(hook函数)中的用户字段变量(userHost变量)中。
S84,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则返回步骤S7,直接放行源自HTTP默认端口的访问数据包,若否,则执行步骤S85。
S85,解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的200OK响应数据包。换句话说,在广告推送时间内,解析出终端用户httpGET数据包后,构造200OK响应数据包,此数据包body字段中需要加入sAdDate数据,并且将userHost变量的值加入body字段中生成超链接代码,超链接在前端显示“点此访问原网页”,然后直接将构造的响应数据包回复到终端用户,同时将解析的用户IP地址加入白名单,用户便可以在浏览器里看到管理员配置的广告网页,而不是用户请求时的网页,只有当用户点击广告页中“点此访问原网页”后,超链接将请求真正终端用户要访问的网页。
S9,若当前所述状态标识位iAd为0,计算当前推送广告间隔时间差值。
计算当前推送广告间隔时间差值的公式如下:
当前推送广告间隔时间差值=当前时刻的jiffes值-记录状态标识位变化的时间变量值的uTime除以Hz(频率)
S10,判断当前推送广告间隔时间差是否超过预定推送间隔时间阈值,即当前推送广告间隔时间差是否超过iInterTime,若否,执行步骤S7,即直接放行所述访问数据包;若是,则执行步骤S11,返回步骤S8,令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据。
S11,更新所述状态标识位iAd为1,并将所述时间变量值更新为记录状态标识位变化的时间变量值uTime。
所述令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据的步骤包括:
解析所述访问数据包skbuff数据包,判断skbuff数据包是否为源自HTTP默认端口的访问数据包;若否,则对所述访问数据包(skbuff数据包)执行偏移处理,所述偏移处理是指偏移处理是指对访问数据包按照字节顺序取出源自HTTP默认端口的访问数据包,解析关键字段host,并将该关键字段host存入设置在所述拦截函数(hook函数)中的用户字段变量(userHost变量)中;若是,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则直接放行源自HTTP默认端口的访问数据包,若否,则解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的200OK响应数据包。换句话说,在广告推送时间内,解析出终端用户httpGET数据包后,构造200OK响应数据包,此数据包body字段中需要加入sAdDate数据,并且将userHost变量的值加入body字段中生成超链接代码,超链接在前端显示“点此访问原网页”,然后直接将构造的响应数据包回复到终端用户,同时将解析的用户IP地址加入白名单,用户便可以在浏览器里看到管理员配置的广告网页,而不是用户请求时的网页,只有当用户点击广告页中“点此访问原网页”后,超链接将请求真正终端用户要访问的网页。
本实施例所述的定期推送广告数据的实现方法主要针对小型商户,再推送广告时无需进行Portal认证,实现了周期性的推送广告,且使广告数据在本地管理页面配置完成,简单易操作。
实施例二
本实施例提供一种定期推送广告数据的实现系统,应用于客户端、无线接入点、服务器端组成的通信网络,所述无线接入点包括内核层和用户层,所述定期推送广告数据的实现系统包括:
注册模块,用于在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数;
预定义模块,与所述注册模块连接,用于预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,和用于记录状态标识位变化的时间变量值;
通信模块,与所述注册模块和预定义模块连接,用于待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数接收来自于所述客户端发送的访问数据包;
检测模块,与所述通信模块连接,用于获取当前时刻的时间变量值,并判断当前所述状态标识位是否为默认值,若是,则调用用于计算当前推送广告时间差值的第一计算模块,和用于判断当前推送广告时间差值是否超过预定推送广告时间阈值的第一判断模块,若是,调用所述通信模块直接放行所述访问数据包;若否,则调用推送模块用于令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据;若否,则调用用于计算当前推送广告间隔时间差值的第二计算模块,和判断用于当前推送广告间隔时间差是否超过预定推送间隔时间阈值的第二判断模块,若否,调用所述通信模块直接放行所述访问数据包;若是,则调用所述推送模块令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包通过所述通信模块发送至客户端以推送所述无线接入点欲推送的广告数据。
以下将结合图示对本实施例提供的定期推送广告数据的实现系统进行详细阐述。本实施例所述的定期推送广告数据的实现系统,应用于客户端、无线接入点、服务器端组成的通信网络。于实际应用中,所述客户端为智能手机、平板电脑、IPAD等移动终端。在本实施例中,所述客户端为智能手机,所述无线接入点为小型商用路由器。所述小型商用路由器是基于Linux内核。该商用无线路由器包括内核层和用户层。
请参阅图3,显示为定期推送广告数据的实现系统于一实施例中的原理结构示意图。如图3所示,所述定期推送广告数据的实现系统10包括:注册模块101、预定义模块102、通信模块103、检测模块104、第一计算模块105、第一判断模块106、第一处理模块107、推送模块108、第二计算模块109、第二判断模块200、及第二处理模块201。
所述注册模块101用于在所述内核层预先注册一用于拦截所述客户端通过所述无线接入点转发的访问数据包的拦截函数(hook函数)。
与所述注册模块了101连接的预定义模块102用于预定义用于记录所述无线接入点当前是否推送广告数据的状态标识位,记为iAd(iAd为1时表示当前正在推送广告,iAd为0时表示当前未开始推送广告,在本实施例中,状态标识位的默认值为1),用于记录状态标识位变化的时间变量值(jiffes值,jiffes值的初始值为系统启动时间值),记为uTime(unsignedint类型),预定义用于存储广告数据的存储数据变量,即sAdData(char*类型),用于保存商户从路由器页面通过用户配置到内核态中的预定广告推送时间阈值和预定推送间隔时间阈值的iAdTime(unsignedint类型)和iInterTime(unsignedint类型),用于存储已推送过其欲推送的广告数据的IP地址的白名单链表。
与所述注册模块101和预定义模块102连接的通信模块103用于待所述客户端和无线接入点进入通信链接模式后,令注册在所述内核层上的拦截函数(hook函数)接收来自于所述客户端发送的访问数据包,所述访问数据包在本实施例中可记为skbuff数据包。
与所述通信模块103连接的检测模块104用于获取当前时刻的时间变量值,即当前时刻的jiffes值,并判断当前所述状态标识位是否为默认值,即当前所述状态标识位,iAd为1。若是,则调用所述第一计算模块105和第一判断模块106,若否,则调用所述第二计算模块109和第二判断模块200。
与所述注册模块101、预定义模块102、检测模块104连接的所述第一计算模块105用于当前所述状态标识位iAd为1,计算当前推送广告时间差值。
所述第一计算模块105预存有计算当前推送广告时间差值的公式,计算当前推送广告时间差值的公式如下:
当前推送广告时间差值=当前时刻的jiffes值-记录状态标识位变化的时间变量值的uTime除以Hz(频率)。
与所述第一计算模块105连接的第一判断模块106用于判断当前推送广告时间差值是否超过预定推送广告时间阈值,即当前推送广告时间差值是否超过iAdTime,若是,调用所述通信模块103直接放行所述访问数据包,并调用第一处理模块107更新所述状态标识位为0,将所述时间变量值更新为记录状态标识位变化的时间变量值,即uTime,并将所述白名单链表中所有IP地址清空;若否,则调用推送模块108。
所述推送模块108用于令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包通过所述通信模块发送至客户端以推送所述无线接入点欲推送的广告数据。所述推送模块108具体用于:
解析所述访问数据包skbuff数据包,判断skbuff数据包是否为源自HTTP默认端口的访问数据包;若否,则对所述访问数据包(skbuff数据包)执行偏移处理,所述偏移处理是指偏移处理是指对访问数据包按照字节顺序取出源自HTTP默认端口的访问数据包,解析关键字段host,并将该关键字段host存入设置在所述拦截函数(hook函数)中的用户字段变量(userHost变量)中;若是,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则直接放行源自HTTP默认端口的访问数据包,若否,则解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的200OK响应数据包。换句话说,在广告推送时间内,解析出终端用户httpGET数据包后,构造200OK响应数据包,此数据包body字段中需要加入sAdDate数据,并且将userHost变量的值加入body字段中生成超链接代码,超链接在前端显示“点此访问原网页”,然后直接将构造的响应数据包回复到终端用户,同时将解析的用户IP地址加入白名单,用户便可以在浏览器里看到管理员配置的广告网页,而不是用户请求时的网页,只有当用户点击广告页中“点此访问原网页”后,超链接将请求真正终端用户要访问的网页。
与所述注册模块101、预定义模块102、检测模块103的第二计算模块109用于若当前所述状态标识位iAd为0,计算当前推送广告间隔时间差值。
所属第二计算模块109预存的计算当前推送广告间隔时间差值的公式如下:
当前推送广告间隔时间差值=当前时刻的jiffes值-记录状态标识位变化的时间变量值的uTime除以Hz(频率)
与所述第二计算模块109连接的第二判断模块200用于判断当前推送广告间隔时间差是否超过预定推送间隔时间阈值,即当前推送广告间隔时间差是否超过iInterTime,若否,调用所述通信模块103直接放行所述访问数据包;若是,则调用第二处理模块201,和返回调用所述推送模块108令所述拦截函数拦截所述访问数据包,并模拟构造一源自所述服务器端反馈的响应数据包发送至客户端以推送所述无线接入点欲推送的广告数据。
所述第二处理模块201用于更新所述状态标识位iAd为1,并将所述时间变量值更新为记录状态标识位变化的时间变量值uTime。
所述推送模块108具体用于:
解析所述访问数据包skbuff数据包,判断skbuff数据包是否为源自HTTP默认端口的访问数据包;若否,则对所述访问数据包(skbuff数据包)执行偏移处理,所述偏移处理是指偏移处理是指对访问数据包按照字节顺序取出源自HTTP默认端口的访问数据包,解析关键字段host,并将该关键字段host存入设置在所述拦截函数(hook函数)中的用户字段变量(userHost变量)中;若是,解析源自HTTP默认端口的访问数据包的IP地址,并在所述白名单链表中查找该IP地址是否存在,若是,则调用通信模块103直接放行源自HTTP默认端口的访问数据包,若否,则解析源自HTTP默认端口的访问数据包的关键字段,将所述关键字段、欲推送的广告数据、及源自HTTP默认端口的访问数据包的IP地址组合以模拟构造一源自所述服务器端反馈的200OK响应数据包。换句话说,在广告推送时间内,解析出终端用户httpGET数据包后,构造200OK响应数据包,此数据包body字段中需要加入sAdDate数据,并且将userHost变量的值加入body字段中生成超链接代码,超链接在前端显示“点此访问原网页”,然后直接将构造的响应数据包回复到终端用户,同时将解析的用户IP地址加入白名单,用户便可以在浏览器里看到管理员配置的广告网页,而不是用户请求时的网页,只有当用户点击广告页中“点此访问原网页”后,超链接将请求真正终端用户要访问的网页。
本实施例所述的定期推送广告数据的实现系统主要针对小型商户,再推送广告时无需进行Portal认证,实现了周期性的推送广告,且使广告数据在本地管理页面配置完成,简单易操作。
实施例三
本实施例提供一种无线接入点1,请参阅图4显示为无线接入点于一实施例中的原理结构示意图。如图4所示,所述无线接入点包括上述实施例二中介绍的定期推送广告数据的实现系统10。而所述定期推送广告数据的实现系统10所有的功能可以通过处理器,通信模块,存储器等硬件设备完成。在本实施例中,所述无线接入点为小型商用路由器。
综上所述,本发明所述的定期推送广告数据的实现方法、系统及无线接入点主要针对小型商户,再推送广告时无需进行Portal认证,实现了周期性的推送广告,且使广告数据在本地管理页面配置完成,简单易操作。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。