本发明涉及通信领域,具体而言,涉及一种消息推送方法及装置。
背景技术:
随着互联网技术的蓬勃发展,以及互联网公司形形色色丰富的产品形态的挑战,迫使电信运营商不得不想办法在流量经营领域有所突破,以避免沦为单纯的管道商。
图1是相关技术中的并联分流模式组网示意图,如图1所示,运营商流量经营系统一般都采用旁挂的方式部署于地市CR与省网出口之间,采用并联分光的方式接收处理网络中的数据流,这种模式下系统一般情况作为后台分析系统使用。
相关技术中的产品和技术一般大多应用于串联场景,所有数据包都可以获取并控制,控制复杂度低于并联场景,一般采用的技术手段是收齐服务端响应并在消息体中进行信息插入,这种方法明显不适用于并联场景,因为服务端响应会先于系统构造的响应到达终端。由此可知,在相关技术中,无法实现并联场景下的信息推送。
针对相关技术中存在的无法实现并联场景下的消息推送的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明提供了一种消息推送方法及装置,以至少解决相关技术中存在的无法实现并联场景下的消息推送的问题。
根据本发明的一个方面,提供了一种消息推送方法,包括:阻断数据请求响应;构造包括所述数据请求响应和推送消息的重组响应;利用发送所述数据请求响应的路径发送所述重组响应。
可选地,所述重组响应用于访问所述数据请求响应对应的网站和所述推送消息对应的信息服务器。
可选地,在利用发送所述数据请求响应的路径发送所述重组响应之前,还包括:复位RST发送所述数据请求响应的服务器。
可选地,在利用发送所述数据请求响应的路径发送所述重组响应之后,还包括:按照预定频率向接收所述重组响应的终端推送消息。
可选地,按照预定频率向接收所述重组响应的终端推送所述推送消息包括:根据预 定策略按照预定频率向接收所述重组响应的终端推送所述推送消息,其中,所述预定策略包括以下至少之一:用户类型、所述数据请求响应对应的网站、终端类型、搜索的关键字、数据请求时间。
可选地,所述重组响应包括信息框架形式的重组响应,其中,所述推送消息以预配置的方式设置于所述信息框架的预定位置上。
根据本发明的另一方面,提供了一种消息推送装置,包括:阻断模块,用于阻断数据请求响应;构造模块,用于构造包括所述数据请求响应和推送消息的重组响应;发送模块,用于利用发送所述数据请求响应的路径发送所述重组响应。
可选地,所述重组响应用于访问所述数据请求响应对应的网站和所述推送消息对应的信息服务器。
可选地,所述装置还包括:复位模块,用于复位RST发送所述数据请求响应的服务器。
可选地,所述装置还包括:推送模块,用于按照预定频率向接收所述重组响应的终端推送消息。
可选地,所述推送模块包括:推送单元,用于根据预定策略按照预定频率向接收所述重组响应的终端推送所述推送消息,其中,所述预定策略包括以下至少之一:用户类型、所述数据请求响应对应的网站、终端类型、搜索的关键字、数据请求时间。
可选地,所述重组响应包括信息框架形式的重组响应,其中,所述推送消息以预配置的方式设置于所述信息框架的预定位置上。
通过本发明,采用阻断数据请求响应;构造包括所述数据请求响应和推送消息的重组响应;利用发送所述数据请求响应的路径发送所述重组响应,解决了相关技术中存在的无法实现并联场景下的消息推送的问题,进而达到了实现并联场景下的消息推送的目的,实现了消息推送多样化的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的消息推送方法的流程图;
图2是根据本发明实施例的消息推送装置的结构框图;
图3是根据本发明实施例的消息推送装置的优选结构框图一;
图4是根据本发明实施例的消息推送装置的优选结构框图二;
图5是根据本发明实施例的消息推送装置的中推送模块42的结构框图;
图6是根据本发明实施例的并联分流模式信息推送流程图;
图7是根据本发明实施例的多维度信息推送策略匹配流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种消息推送方法,图1是根据本发明实施例的消息推送方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,阻断数据请求响应;
步骤S104,构造包括上述数据请求响应和推送消息的重组响应;
步骤S106,利用发送上述数据请求响应的路径发送该重组响应。
通过上述步骤,通过阻断数据请求响应,并构造包括推送消息的重组响应的方式,实现了在并联场景下的消息推送的目的,从而解决了相关技术中存在的无法实现并联场景下的消息推送的问题,进而达到了实现并联场景下的消息推送的目的,实现了消息推送多样化的效果。
在一个可选的实施例中,上述重组响应用于访问数据请求响应对应的网站和该推送消息对应的信息服务器。也就是说,终端在接收到重组响应之后,不仅可以访问原网站,还可以获取推送消息,从而实现了多途径获取消息的目的,改善了用户体验。
在一个可选的实施例中,在利用发送上述数据请求响应的路径发送该重组响应之前,还包括:复位RST发送数据请求响应的服务器。其中,RST服务器和构造重组响应可以使同时进行的。从而可以避免并联环境下服务提供商(Service Provider,简称为SP)响应干扰推送消息的问题。
在一个可选的实施例中,在利用发送数据请求响应的路径发送该重组响应之后,还包括:按照预定频率向接收重组响应的终端推送消息。该预定频率可以使自由设置的,也可以是事先规定好的。并且,针对不同的终端,该预定频率也可以是不一样的,或者,针对同一个终端访问不同的网站,该预定频率也可以是不一样的,或者在其他情况下,也可以采用不同的预定频率。
在一个可选的实施例中,按照预定频率向接收该重组响应的终端推送该推送消息包 括:根据预定策略按照预定频率向接收重组响应的终端推送该推送消息,其中,该预定策略包括以下至少之一:用户类型、数据请求响应对应的网站、终端类型、搜索的关键字、数据请求时间。其中,用户类型可以包括会员与非会员,对于会员用户,可以适当的增大推送上述推送消息的频率,或者按照用户意愿适当的对该频率进行调整。
在一个可选的实施例中,上述重组响应包括信息框架形式的重组响应,其中,该推送消息以预配置的方式设置于信息框架的预定位置上。该预定位置可以使信息框架的中部,左上角、右下角等位置。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种消息推送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的消息推送装置的结构框图,如图2所示,该装置包括阻断模块22、构造模块24和发送模块26,下面对该装置进行说明。
阻断模块22,用于阻断数据请求响应;构造模块24,连接至上述阻断模块22,用于构造包括上述数据请求响应和推送消息的重组响应;发送模块26,连接至上述构造模块24,用于利用发送该数据请求响应的路径发送上述重组响应。
可选地,上述重组响应用于访问数据请求响应对应的网站和推送消息对应的信息服务器。
图3是根据本发明实施例的消息推送装置的优选结构框图一,如图3所示,该装置除包括图2所示的所有模块外,还包括复位模块32,下面对该装置进行说明。
复位模块32,连接至上述发送模块26,用于复位RST发送上述数据请求响应的服务器。
图4是根据本发明实施例的消息推送装置的优选结构框图二,如图4所示,该装置除包括图2所示的所有模块外,还包括推送模块42,下面对该装置进行说明。
推送模块42,连接至上述发送模块26,用于按照预定频率向接收上述重组响应的终端推送消息。
图5是根据本发明实施例的消息推送装置的中推送模块42的结构框图,如图5所示,该推送模块42包括推送单元52,下面对该推送模块42进行说明。
推送单元52,用于根据预定策略按照预定频率向接收该重组响应的终端推送上述推送消息,其中,该预定策略包括以下至少之一:用户类型、数据请求响应对应的网站、终端类型、搜索的关键字、数据请求时间。
可选地,上述重组响应包括信息框架形式的重组响应,其中,该推送消息以预配置的方式设置于上述信息框架的预定位置上。
本发明实施例中的方案和相关技术中的消息推送方案相比,主要有以下特色:组网环境为固网并联环境、阻断服务端响应并主动构造信息框架响应发送至客户端、支持多维度差异化信息推送策略。下面进行进一步说明:
组网环境为固网并联环境:
系统部署于固网城域网与省干网之间,由分光器分光流量发送给系统,相当于拷贝一份发送给系统,系统和原网络是并联的,不是串接在原组网之中,并联模式下的信息推送需要能够先于服务端构造响应发送给终端,并且RST中断服务端链接。
阻断服务端响应并主动构造信息框架响应发送至客户端:
图6是根据本发明实施例的并联分流模式信息推送流程图,如图6所示,该流程包括如下步骤:
步骤S602,并联流量网关在本地部署模板;
步骤S604,用户通过城域网出口和分光器向网站发送页面http请求;
步骤S606,分光器向并联流量网关发送分光请求;
步骤S608,并联流量网关根据策略判断是否需要向用户推送广告,如果需要,则构造包含需要推送的广告的响应并推送给用户;
步骤S610,并联流量网关将构造的响应发送给城域网出口;
步骤S612,并联流量网关RSE服务器;
步骤S614,城域网出口将构造的响应发送给用户;
步骤S616,网站向用户返回一个无效响应;
步骤S618,用户通过浏览器触发Iframe链接访问;
步骤S620,用户发起原始页面请求;
步骤S622,用户发起广告资源请求;
步骤S624,分光器请求向并联流量网关发送分光请求;
步骤S626,并联流量网关根据统一资源定位符(Uniform Resource Locator,简称为URL)频率策略丢弃分光请求;
步骤S628,网站向用户返回原始页面响应;
步骤S630,用户侧的重担显示页面;
步骤S632,广告资源服务器向用户返回广告资源响应;
步骤S634,用户侧终端显示广告。
在上述流程中,分别设计了信息框架文件和信息资源文件,所有信息资源以配置约定的多种形式在信息框架中展现,比如可以在右下脚展示、左上方显示、页面弹出显示等待。信息资源可以是页面、图片、视频等等。
智能服务网关(Intellectualized Service Gateway,简称为ISG)对用户访问请求响应进行阻断,并以SP(网站服务器、例如baidu、sina等)名义伪造响应回给终端(终端收到的数据包源地址为SP地址,而非本系统IP地址),响应内容即为信息框架,其中一些参数根据下发配置进行修改定制。系统推送信息为系统自构造,不依赖网站服务器的响应,构造的响应框架可以保证终端收到后会逐次发起对原始页面和信息资源服务器的访问。
信息资源文件放在信息服务器上,信息框架内容回应到终端后,终端自动发起对原始网站链接和信息服务器的访问。比如用户访问www.baidu.com被信息推送,推送到终端的是一个页面框架,页面框架中有baidu的链接和信息资源的链接,终端浏览器会自动触发访问baidu和信息资源访问,最终展现在终端上的就是baidu原始页面和推送信息,达到了在原请求页面上推送信息的目的。
为了避免并联环境下SP相应干扰信息推送,ISG在构造终端请求响应的同时RST服务端,因为系统部署在内网,构造响应回终端的速度基本可以保证比网站响应速度快。
信息推送设置频率控制,可以采用统一推送频率,单个推送策略也可以设置个性化推送频率。具体来说,就是对不同用户可以采用不同的推送频率,相同用户访问不同网站也可以采用不同的推送频率。
示例信息框架截取片段如下所示:
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<METAhttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>广告测试页面</title>
<meta name="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"/>
<script type="text/javascript">
var ad_type="{$SERVICE_AD_TYPE}";
var ad_position="{$SERVICE_AD_POSITION}";//"573|220|0|0";
var ad_orgurl="{$SERVICE_AD_ORGURL}";//"http://www.baidu.com";
var ad_url="{$SERVICE_AD_URL}";//"test_ad.html";
var ad_post="{$SERVICE_AD_HOST}";
系统根据后台运行维护系统下发配置替换信息框架中加粗的大写字母的部分内容即可实现多种信息资源的多种形式展现。
支持多维度差异化信息推送策略:
图7是根据本发明实施例的多维度信息推送策略匹配流程图,如图7所示,该流程包括如下步骤:
步骤S701,接收数据流;
步骤S702,判断是否匹配了用户白名单,在判断结果为是的情况下,匹配流程结束,不向用户推送广告,否则转至步骤S703;
步骤S703,判断是否匹配了SP白名单,在判断结果为是的情况下,匹配流程结束,不向用户推送广告,否则转至步骤S704;
步骤S704,遍历配置策略,逐个匹配策略;
步骤S705,判断是否配置了策略生效时间,在判断结果为是的情况下,转至步骤S706,否则,转至步骤S708;
步骤S706,等待匹配策略生效时间;
步骤S707,匹配策略生效时间到达后,判断是否匹配成功,成功则转至步骤S708,否则转至步骤S721;
步骤S708,判断是否配置了用户组,判断结果为是,转至步骤S709,否则,转至步骤S711;
步骤S709,匹配用户组;
步骤S710,判断用户组是否匹配成功,成功,则转至步骤S711,否则,转至步骤S722;
步骤S711,判断是否配置了网站组,判断结果为是则转至步骤S712,否则,转至步骤S714;
步骤S712,匹配网站组;
步骤S713,判断网站组是否匹配成功,成功则转至步骤S714,否则,转至步骤S721;
步骤S714,判断是否配置了终端组,判断结果为是,转至步骤S715,否则,转至步骤S717;
步骤S715,匹配终端组;
步骤S716,判断终端组是否匹配成功,成功,则转至步骤S717,否则,转至步骤S722;
步骤S717,判断是否配置了关键字组,判断结果为是转至步骤S718,否则,转至步骤S720;
步骤S718,匹配关键字组;
步骤S719,判断关键字组是否匹配成功,成功则转至步骤S720,否则,转至步骤S721;
步骤S720,记录策略内容和策略优先级,如果比之前的策略优先级高则更新策略内容;
步骤S721,判断是否是最后一个策略,判断结果为是转至步骤S723,否则,转至步骤S704;
步骤S722,判断是否是最后一个策略,判断结果为是转至步骤S723,否则,转至步骤S704;
步骤S723,匹配流程结束。
其中,步骤S721和S722两个步骤可以是一样的。
下面结合图6、7进行说明:
运维下发多维度控制策略至业务。业务加载策略文件中多个策略表,包括用户组信息、终端组信息、网站组信息、关键字组信息等,以hash表或链表的方式存放于内存中,为便于配置更新,采用主附表存储。
业务流程中解析http请求头之后进行策略匹配,如果匹配上策略则进行信息推送,否则不进行信息推送,控制策略有多个维度,包括用户、网站、终端类型、搜索关键字等以及时间等,维度可以订制,可以只关注其中部分维度,不配置维度默认不关注。
如果用户访问匹配用户白名单或网站白名单,则判断流程结束,不推送信息。
信息可以立即推送,也可以延迟若干get或时间推送,当信息策略为延迟推送时,暂停当前用户信息推算判断,待此次推送完成后再进行下一次判断和推送。
信息推送设置频率控制,可以采用统一推送频率,单个推送策略也可以设置个性化推送频率。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,阻断数据请求响应;
S2,构造包括上述数据请求响应和推送消息的重组响应;
S3,利用发送上述数据请求响应的路径发送该重组响应。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。