CN104283972B - 基于浏览器的消息推送方法、设备和系统 - Google Patents

基于浏览器的消息推送方法、设备和系统 Download PDF

Info

Publication number
CN104283972B
CN104283972B CN201410586612.3A CN201410586612A CN104283972B CN 104283972 B CN104283972 B CN 104283972B CN 201410586612 A CN201410586612 A CN 201410586612A CN 104283972 B CN104283972 B CN 104283972B
Authority
CN
China
Prior art keywords
http
address
data packets
server
user terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410586612.3A
Other languages
English (en)
Other versions
CN104283972A (zh
Inventor
雷永成
吴方
朱胜超
安振威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHENGDU SKSPRUCE TECHNOLOGY Inc
Original Assignee
CHENGDU SKSPRUCE TECHNOLOGY Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU SKSPRUCE TECHNOLOGY Inc filed Critical CHENGDU SKSPRUCE TECHNOLOGY Inc
Priority to CN201410586612.3A priority Critical patent/CN104283972B/zh
Publication of CN104283972A publication Critical patent/CN104283972A/zh
Application granted granted Critical
Publication of CN104283972B publication Critical patent/CN104283972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于浏览器的消息推送方法、设备和系统。其中,该方法包括:汇聚层交换机接收到用户终端发往目的服务器的HTTP数据包时,向HTTP数据包的指定字段插入预先获取的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;经由代理服务器将HTTP数据包转发给目的服务器;接收到代理服务器返回的HTTP应答数据包时,将HTTP应答数据包的源地址修改为目的服务器的IP地址;该HTTP应答数据包为代理服务器在目的服务器返回的数据包中插入对应的推送消息生成的;汇聚层交换机将修改源地址后的HTTP应答数据包发送给用户终端。通过本发明,降低了汇聚层交换机的压力,进而保证了通信质量。

Description

基于浏览器的消息推送方法、设备和系统
技术领域
本发明涉及通信领域,具体而言,涉及基于浏览器的消息推送方法、设备(如:汇聚层交换机和代理服务器)和系统。
背景技术
对于互联网服务提供商(ISP,Internet Service Provider)来说,根据具体用户和具体的用户行为,以一定策略向用户提供实时的消息(如新闻或广告)推送服务是十分必要的。目前,互联网服务提供商们通常采用的几种方法包括:电子邮件、HTTP(Hyper TextTransfer Protocol,超文本传送协议)消息重定向、短信服务、电话、邮政邮件等。然而,这些方法存在以下问题:(1)电子邮件提示方法的有效性较差,因为用户不可能经常查看运营商提供的电子邮件账号;有时,这些提示信息也可能被导入垃圾邮件文件夹,导致该提示信息被忽略或错误归类。(2)对于HTTP消息重定向,HTTP重定向以服务提供商提供的消息网页替换用户的目的网页,有时会中断包含流媒体的网页APP(应用)服务,这种形式多数不能令用户满意。(3)移动运营商利用短信服务(SMS,Short Messaging Service)提供多用途的消息提示功能,但是并非所有的网络设备拥有呼叫/短信功能。再者,Wi-Fi或互联网服务提供商可能没法获取用户手机号码。(4)对于移动手机用户,通过电话提示无疑会打扰用户并造成较高的成本。此外,邮政邮件通知的时效性较差。
现有技术中有一种基于浏览器的消息发送方法,它采用直接修改底层协议(如HTTP、TCP、IP等协议)的方式实现,汇聚层交换机(AC)在截获服务器发向客户端的应答报文后,向HTTP协议尾部插入带有指向消息服务器(也称为AD服务器)的java script链接。由于数据净荷长度发生改变,因此要求多次修改TCP协议中Seq及Ack字段以保证正常链接,这种方式导致汇聚层交换机的压力增大。
发明人在研究中发现,现有技术中基于浏览器的消息发送方法容易导致汇聚层交换机的压力过大,针对这一问题,目前尚未提出有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提供基于浏览器的消息推送方法、设备(如:汇聚层交换机和代理服务器)和系统,以降低基于浏览器的消息推送中汇聚层交换机的压力。
第一方面,本发明实施例提供了一种基于浏览器的消息推送方法,包括:汇聚层交换机接收到用户终端发往目的服务器的HTTP数据包时,向HTTP数据包的HTTP协议中的指定字段插入预先获取的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;汇聚层交换机经由代理服务器将HTTP数据包转发给目的服务器;汇聚层交换机接收到代理服务器返回的HTTP应答数据包时,将HTTP应答数据包的源地址修改为目的服务器的IP地址;其中,该HTTP应答数据包为代理服务器根据用户终端的MAC地址和用户终端对应AP的MAC地址在目的服务器返回的数据包中插入对应的推送消息生成的;汇聚层交换机将修改源地址后的HTTP应答数据包发送给用户终端。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述汇聚层交换机经由代理服务器将HTTP数据包转发给目的服务器包括:汇聚层交换机修改HTTP数据包中目的地址,将目的服务器的IP地址替换为预先获取的汇聚层交换机与代理服务器相连的IP地址,并将HTTP数据包发送给代理服务器;代理服务器接收到HTTP数据包后,根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述方法还包括:汇聚层交换机接收用户终端发送的数据包;汇聚层交换机判断数据包是否携带HTTP字段,如果是,确定数据包为HTTP数据包;如果否,通过因特网将该数据包转发给对应的服务器。
第二方面,本发明实施例提供了一种基于浏览器的消息推送方法,包括:代理服务器接收来自汇聚层交换机的HTTP数据包;其中,HTTP数据包的HTTP协议中的指定字段中携带有HTTP数据包的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;代理服务器提取并保存指定字段中的地址信息,并根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包;代理服务器接收目的服务器返回的HTTP应答数据包,根据用户终端的MAC地址和用户终端对应AP的MAC地址在HTTP应答数据包中插入对应的推送消息;代理服务器将HTTP应答数据包的目的地址修改为用户终端的IP地址,将HTTP应答数据包的源地址修改为代理服务器与汇聚层交换机相连的IP地址;代理服务器将HTTP应答数据包经由汇聚层交换机发送给用户终端。
第三方面,本发明实施例提供了一种汇聚层交换机,包括:地址信息插入模块,用于接收到用户终端发往目的服务器的HTTP数据包时,向HTTP数据包的HTTP协议中的指定字段插入预先获取的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;HTTP数据包转发模块,用于经由代理服务器将HTTP数据包转发给目的服务器;HTTP应答数据包地址修改模块,用于接收到代理服务器返回的HTTP应答数据包时,将HTTP应答数据包的源地址修改为目的服务器的IP地址;其中,HTTP应答数据包为代理服务器根据用户终端的MAC地址和用户终端对应AP的MAC地址在目的服务器返回的数据包中插入对应的推送消息生成的;HTTP应答数据包转发模块,用于将修改源地址后的HTTP应答数据包发送给用户终端。
第四方面,本发明实施例提供了一种代理服务器,包括:HTTP数据包接收模块,用于接收来自汇聚层交换机的HTTP数据包;其中,HTTP数据包的HTTP协议中的指定字段中携带有HTTP数据包的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;HTTP数据包地址转发模块,用于提取并保存指定字段中的地址信息,并根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包;推送消息插入模块,用于接收目的服务器返回的HTTP应答数据包,根据用户终端的MAC地址和用户终端对应AP的MAC地址在HTTP应答数据包中插入对应的推送消息;HTTP应答数据包地址修改模块,用于将HTTP应答数据包的目的地址修改为用户终端的IP地址,将HTTP应答数据包的源地址修改为代理服务器与汇聚层交换机相连的IP地址;HTTP应答数据包转发模块,用于将HTTP应答数据包经由汇聚层交换机发送给用户终端。
第五方面,本发明实施例提供了一种基于浏览器的消息推送系统,包括上述汇聚层交换机和代理服务器,还包括目的服务器;目的服务器,用于接收代理服务器发送的HTTP数据包,生成HTTP应答数据包,其中,HTTP应答数据包的源地址为目的服务器的IP地址,目的地址为代理服务器与目的服务器相连的IP地址。
本发明实施例提供的方法、设备及系统中,汇聚层交换机通过将用户终端的HTTP数据包经由代理服务器转发给目的服务器,进而目的服务器返回的HTTP应答数据包将会先到达代理服务器,代理服务器可以作为虚拟的目的服务器将推送消息插入至该HTTP应答数据包中,这样汇聚层交换机仅需要对HTTP应答数据包中的源地址进行修改,即可实现基于浏览器的消息推送,降低了汇聚层交换机的压力,进而保证了通信质量。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种基于浏览器的消息推送系统的示意图;
图2示出了本发明实施例所提供的另一种基于浏览器的消息推送系统的示意图;
图3示出了本发明实施例所提供的从汇聚层交换机侧描述的基于浏览器的消息推送方法的流程图;
图4示出了本发明实施例所提供的从代理服务器侧描述的基于浏览器的消息推送方法的流程图;
图5示出了本发明实施例所提供的从系统整体描述的基于浏览器的消息推送方法的流程图;
图6示出了本发明实施例所提供的汇聚层交换机的结构框图;
图7示出了本发明实施例所提供的代理服务器的结构框图;
图8示出了本发明实施例所提供的基于浏览器的消息推送系统的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示的基于浏览器的消息推送系统的示意图,其中,用户终端可以是手机、笔记本电脑、掌上电脑等终端设备,用户终端通过AP(Access Point,无线访问节点)接入汇聚层交换机(AC,或MSG(多业务网关)),经由AC与互联网连接;互联网提供商通过消息推送服务器(AD服务器)将推送的广告或者新闻等消息的链接发送给AC,将该消息发送给AC,AC在截获互联网侧发向用户终端的应答报文后,向HTTP协议尾部插入带有指向AD服务器的java script链接。由于数据净荷长度发生改变,因此要求AC多次修改底层协议(如HTTP、TCP、IP等协议)中Seq及Ack字段以保证正常链接。为了实现有针对性的消息推送效果,往往需要根据不同用户类别向用户推送不同修改后的应答报文,且修改报文导致包长变化,由此涉及修改底层TCP等协议,进而AC的压力增大。基于此,本发明实施例提供了一种基于浏览器的消息推送方法、设备(如:汇聚层交换机、代理服务器)和系统。
本发明实施例在上述图1的基础上进行了改进,如图2所示的基于浏览器的消息推送系统的示意图,该系统中,设置了一个代理服务器(Http Proxy),该Http Proxy为虚拟的“服务器”(即假“Server”)。这样,用户终端与Web服务器间构建了两条链接,以TCP协议为例,这两条链接分别为用户终端到Http Proxy的链接TCP1,HTTP Proxy到Server的链接TCP2。该Http Proxy可以与AD服务器建立通信连接,将AD服务器的推送消息插入到Web服务器返给用户终端的HTTP应答数据包中,在AC端,可以将通过Http Proxy转发的HTTP应答数据包视为“原汁原味”的HTTP应答数据包,仅需要对数据包的地址进行修改即可完成数据包的转发。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
参见图3所示的基于浏览器的消息推送方法的流程图,该方法主要以从汇聚层交换机侧进行描述为例进行说明,具体包括以下步骤:
步骤S302,汇聚层交换机接收到用户终端发往目的服务器的HTTP数据包时,向HTTP数据包的HTTP协议中的指定字段插入预先获取的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;其中,该指定字段可以是协议预先规定的,也可以是汇聚层交换机与代理服务器预先协商约定的,例如:该指定字段为HTTP数据包中的GET字段。
步骤S304,汇聚层交换机经由代理服务器将HTTP数据包转发给目的服务器。
步骤S306,汇聚层交换机接收到代理服务器返回的HTTP应答数据包时,将HTTP应答数据包的源地址修改为目的服务器的IP地址;其中,HTTP应答数据包为代理服务器根据用户终端的MAC地址和用户终端对应AP的MAC地址在目的服务器返回的数据包中插入对应的推送消息生成的;该推送消息可以为指向广告或新闻服务的链接,例如:Java script。
步骤S308,汇聚层交换机将修改源地址后的HTTP应答数据包发送给用户终端。
本实施例提供的上述方法,汇聚层交换机通过将用户终端的HTTP数据包经由代理服务器转发给目的服务器,进而目的服务器返回的HTTP应答数据包将会先到达代理服务器,代理服务器可以作为虚拟的目的服务器将推送消息插入至该HTTP应答数据包中,这样汇聚层交换机仅需要对HTTP应答数据包中的源地址进行修改,即可实现基于浏览器的消息推送,降低了汇聚层交换机的压力,进而保证了通信质量。
具体实现时,汇聚层交换机经由代理服务器将HTTP数据包转发给目的服务器可以包括:(1)汇聚层交换机修改HTTP数据包中目的地址,将目的服务器的IP地址替换为预先获取的汇聚层交换机与代理服务器相连的IP地址,并将HTTP数据包发送给代理服务器;(2)代理服务器接收到HTTP数据包后,根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包。其中,指定字段中的地址信息即上述用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址。而根据指定字段中的地址信息修改HTTP数据包的源地址和目的地址具体指:代理服务器从HTTP数据包中的指定字段中确定了目的服务器之后,就会知道该HTTP数据包是发往该目的服务器的,因此会查找代理服务器与目的服务器相连的IP地址(代理服务器可以提前通过关联报文获取到这个IP地址),用这个IP地址替换HTTP数据包中的源地址,将目的服务器的IP地址作为HTTP数据包的目的地址。
考虑到用户终端发送的数据包有时不是HTTP数据包,即用户终端进行的业务不是HTTP业务,上述方法在执行之前,还可以包括:汇聚层交换机接收用户终端发送的数据包;汇聚层交换机判断该数据包是否携带HTTP字段,如果是,确定数据包为HTTP数据包;如果否,通过因特网将该数据包转发给对应的服务器。
上述图3所示的方法是从汇聚层交换机侧进行描述的,参见图4所示的从代理服务器侧描述的基于浏览器的消息推送方法流程图,该方法包括以下步骤:
步骤S402,代理服务器接收来自汇聚层交换机的HTTP数据包;其中,该HTTP数据包的HTTP协议中的指定字段中携带有HTTP数据包的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址。
步骤S404,代理服务器提取并保存指定字段中的地址信息,并根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包;
步骤S406,代理服务器接收目的服务器返回的HTTP应答数据包,根据用户终端的MAC地址和用户终端对应AP的MAC地址在HTTP应答数据包中插入对应的推送消息,这样就可以实现针对不同用户和用户环境提供不同的推送消息,该推送消息为指向广告或新闻服务的链接。
步骤S408,代理服务器将HTTP应答数据包的目的地址修改为用户终端的IP地址,将HTTP应答数据包的源地址修改为代理服务器与汇聚层交换机相连的IP地址。
步骤S410,代理服务器将HTTP应答数据包经由汇聚层交换机发送给用户终端。
本实施例提供的上述方法,代理服务器通过HTTP数据包中指定字段携带的地址信息转发该HTTP数据包,进而目的服务器返回的HTTP应答数据包将会先到达代理服务器,代理服务器可以作为虚拟的目的服务器将推送消息插入至该HTTP应答数据包中,这样汇聚层交换机不再HTTP应答数据包中的数据长度发生变化而修改底层协议的Seq及Ack字段,即可实现基于浏览器的消息推送,降低了汇聚层交换机的压力,进而保证了通信质量。
以图2所示的系统结构框图为例,上述方法的实现过程主要包括:(1)预先通过关联报文获取下述地址:
用户终端的MAC地址:MAC1;
用户终端请求服务的目的服务器(Web服务器)的IP地址:SIP;
用户终端对应AP的MAC地址:MAC2;
代理服务器(HTTP Proxy)与汇聚层交换机(AC)相连的IP地址:IP1;
HTTP Proxy与Web服务器相连的IP地址:IP2。
其中,用户终端的IP地址为CIP。
(2)当AC接收到来自用户终端(如用户的客户端)的数据包时,根据该数据包的内容,对于非HTTP数据包直接转发到因特网端。对于HTTP相关服务的HTTP数据包,修改原HTTP数据包,将上述MAC1、MAC2以及SIP插入HTTP数据包的GET字段。
(3)AC修改HTTP数据包的目的IP,将SIP替换为HTTP Proxy地址IP1。
(4)HTTP Proxy接收到HTTP数据包后,提取并保存HTTP协议中GET字段携带的MAC1、MAC2和SIP,确定该数据包的目的IP地址为SIP,则修改源地址中的CIP为与Web服务器相连地址IP2,转发该HTTP数据包。
(5)经由Web服务器发送的相应回复报文(相当于上述的HTTP应答数据包),先经由链接TCP2到达HTTP Proxy,HTTP Proxy根据用户终端的地址MAC1以及用户对应AP的地址MAC2所携带的地域身份信息,在回复报文的HTTP协议中插入指向消息推送的AD服务器(例如,广告服务器)的一段相应Java script。
基于浏览器的在线消息推送业务可以根据上述获得的地址MAC1及MAC2等多个参数确定的方位信息,进而自定义对应的广告或新闻等。
(6)经过修改后的数据包经由HTTP Proxy通过链接TCP1发回AC,AC则将源地址IP1修改为服务器Server地址SIP,目的IP为CIP保持不变。
对于该方法中的HTTP Proxy端,主要HTTP Proxy完成用户数据转发后,用户终端接收到已插入广告信息的数据包后,经解析获得AD服务器地址并向AD服务器发起连接。
在线广告消息插入功能由预先定义的脚本激活以及修饰。根据用户当前具体行为,在线广告能一次性或周期性的提示用户相应信息。浏览器在用户当前访问页面以浮窗等方式显示广告,因为不涉及HTTP重定向,所以不会降低用户体验。
从汇聚层交换机侧进行描述的,参见图4所示的从代理服务器侧描述的,参见图5所示的基于浏览器的消息推送方法流程图,该方法以从系统整体描述为例进行说明,该方法包括以下步骤:
步骤S502,获取用户终端的MAC地址MAC1以及请求目的服务器的IP地址SIP,用户终端对应AP的MAC地址MAC2。
步骤S504,获取代理服务器(Http Proxy)与汇聚层交换机AC相连的IP地址IP1、与目的服务器相连地址IP2。
其中,MAC1、MAC2、SIP、IP1的获取可以是AC通过关联报文预先执行,IP2可以是代理服务器预先获取。
步骤S506,AC接收到来自用户终端的数据包时,根据该数据包的内容判断是否是HTTP数据包,若不是,执行步骤S524,即将非HTTP数据包直接转发到因特网;若是,执行步骤S508.
步骤S508,AC修改原HTTP数据包,将用户终端地址MAC1、对应AP地址MAC2以及用户数据目的服务器地址SIP插入HTTP数据包的GET字段。
步骤S510,AC修改HTTP数据包的目的IP,将SIP替换为代理服务器地址IP1,源IP(例如为CIP)保持不变。
步骤S512,代理服务器接收到HTTP数据包后,修改源IP中的CIP为与目的服务器相连端口地址IP2,根据HTTP协议GET字段中获得的SIP为目的IP,转发该HTTP数据包。
步骤S514,经由目的服务器发送的HTTP应答数据包,经链接TCP2到达代理服务器。此时该HTTP应答数据包的目的地址为IP2,源地址为SIP。
步骤S516,当代理服务器接收到目的服务器发回的HTTP应答数据包后,根据用户终端的地址MAC1以及用户终端对应AP地址MAC2所携带的地域身份信息,在HTTP应答数据包的HTTP协议中插入指向AD服务器(广告服务器)的一段相应Java script。
步骤S518,经过修改后的HTTP应答数据包经由代理服务器通过链接TCP1发回汇聚层交换机AC(目的地址CIP,源地址IP1)。
步骤S520,HTTP应答数据包经过AC时,AC将源地址IP1修改为目的服务器的地址SIP,目的IP为CIP,再由AC发回给用户终端。
步骤S522,用户终端接收到已插入广告信息的HTTP应答数据包后,经解析获得AD服务器地址并向AD服务器发起连接。
步骤S524,AC将非HTTP数据包直接转发到因特网。
本实施例中提供的方法,根据不同用户、用户地域向用户浏览器插入不同广告;实现基于用户浏览器消息插入,由于在传输修改过后的HTTP应答数据包过程中,数据包长度没有改变,避免汇聚层交换机直接修改底层协议中涉及的字段,导致汇聚层交换机压力过大的情形。
对应于上述方法,本发明实施例还提供了一种汇聚层交换机,,参见图6所示的汇聚层交换机的结构框图,该汇聚层交换机包括以下模块:
地址信息插入模块62,用于接收到用户终端发往目的服务器的HTTP数据包时,向HTTP数据包的HTTP协议中的指定字段插入预先获取的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;
HTTP数据包转发模块64,用于经由代理服务器将HTTP数据包转发给目的服务器;
HTTP应答数据包地址修改模块66,用于接收到代理服务器返回的HTTP应答数据包时,将HTTP应答数据包的源地址修改为目的服务器的IP地址;其中,该HTTP应答数据包为代理服务器根据用户终端的MAC地址和用户终端对应AP的MAC地址在目的服务器返回的数据包中插入对应的推送消息生成的;
HTTP应答数据包转发模块68,用于将修改源地址后的HTTP应答数据包发送给用户终端。
本实施例的汇聚层交换机通过将用户终端的HTTP数据包经由代理服务器转发给目的服务器,进而目的服务器返回的HTTP应答数据包将会先到达代理服务器,代理服务器可以作为虚拟的目的服务器将推送消息插入至该HTTP应答数据包中,这样汇聚层交换机仅需要对HTTP应答数据包中的源地址进行修改,即可实现基于浏览器的消息推送,降低了汇聚层交换机的压力,进而保证了通信质量。
对应于上述方法,本发明实施例还提供了一种代理服务器,参见图7所示的代理服务器的结构框图,该代理服务器包括以下模块:
HTTP数据包接收模块72,用于接收来自汇聚层交换机的HTTP数据包;其中,HTTP数据包的HTTP协议中的指定字段中携带有HTTP数据包的用户终端的MAC地址、用户终端对应AP的MAC地址和目的服务器的IP地址;
HTTP数据包地址转发模块74,用于提取并保存指定字段中的地址信息,并根据指定字段中的地址信息修改HTTP数据包的源地址为代理服务器与目的服务器相连的IP地址,修改HTTP数据包的目的地址为目的服务器的IP地址,向目的服务器转发修改地址后的HTTP数据包;
推送消息插入模块76,用于接收目的服务器返回的HTTP应答数据包,根据用户终端的MAC地址和用户终端对应AP的MAC地址在HTTP应答数据包中插入对应的推送消息;
HTTP应答数据包地址修改模块78,用于将HTTP应答数据包的目的地址修改为用户终端的IP地址,将HTTP应答数据包的源地址修改为代理服务器与汇聚层交换机相连的IP地址;
HTTP应答数据包转发模块80,用于将HTTP应答数据包经由汇聚层交换机发送给用户终端。
对应于上述方法,本发明实施例还提供了一种基于浏览器的消息推送系统,参见图8所示的基于浏览器的消息推送系统的结构框图,该系统包括上述汇聚层交换机60和代理服务器70,其中,汇聚层交换机可以采用图6所示的结构实现,代理服务器可以采用图7所示的结构实现,该系统还包括目的服务器90;目的服务器90,用于接收代理服务器发送的HTTP数据包,生成HTTP应答数据包,其中,该HTTP应答数据包的源地址为目的服务器的IP地址,目的地址为代理服务器与目的服务器相连的IP地址。
上述实施例提供的技术,能够在用户浏览器页面上显示运营商提供的推送消息,其适用于诸多情况,如提示用户使用Wi-Fi连接以减少用户流量消耗,这样既提升用户满意度又普及了运营商品牌;区分用户类别并提供一次性或周期性的相应通知;友好的在不影响用户体验(UE)的前提下提示用户具体操作时可能产生的流量消耗情况,帮助用户更好的管理自己的流量套餐;提前通知用户账户即将到期而非用户账号到期时强行中断服务等等,同时,还可以提供广告、新闻等消息,该广告可以是游戏广告、服装广告等。
通过上述技术,可以根据不同用户、用户地域向用户浏览器插入不同的推送消息,实现基于用户浏览器在线消息的广告插入,新闻插入等,解决了当修改服务器发向客户端报文导致包长变化时,需汇聚层交换机修改底层TCP协议的Seq字段和Ack字段的问题,降低了汇聚层交换机的压力。
上述实施例中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的基于浏览器的消息推送方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元(或模块)可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于浏览器的消息推送方法,其特征在于,包括:
汇聚层交换机接收到用户终端发往目的服务器的HTTP数据包时,向所述HTTP数据包的HTTP协议中的指定字段插入预先获取的所述用户终端的MAC地址、所述用户终端对应AP的MAC地址和所述目的服务器的IP地址;
所述汇聚层交换机经由代理服务器将所述HTTP数据包转发给所述目的服务器;
所述汇聚层交换机接收到所述代理服务器返回的HTTP应答数据包时,将所述HTTP应答数据包的源地址修改为所述目的服务器的IP地址;其中,所述HTTP应答数据包为所述代理服务器根据所述用户终端的MAC地址和所述用户终端对应AP的MAC地址在所述目的服务器返回的数据包中插入对应的推送消息生成的;
所述汇聚层交换机将修改源地址后的所述HTTP应答数据包发送给所述用户终端。
2.根据权利要求1所述的方法,其特征在于,所述汇聚层交换机经由所述代理服务器将所述HTTP数据包转发给所述目的服务器包括:
所述汇聚层交换机修改所述HTTP数据包中目的地址,将所述目的服务器的IP地址替换为预先获取的所述汇聚层交换机与所述代理服务器相连的IP地址,并将所述HTTP数据包发送给所述代理服务器;
所述代理服务器接收到所述HTTP数据包后,根据所述指定字段中的地址信息修改所述HTTP数据包的源地址为所述代理服务器与所述目的服务器相连的IP地址,修改所述HTTP数据包的目的地址为所述目的服务器的IP地址,向所述目的服务器转发修改地址后的所述HTTP数据包。
3.根据权利要求1所述的方法,其特征在于,所述指定字段为GET字段。
4.根据权利要求1所述的方法,其特征在于,所述推送消息为指向广告或新闻服务的链接。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
汇聚层交换机接收用户终端发送的数据包;
所述汇聚层交换机判断所述数据包是否携带HTTP字段,如果是,确定所述数据包为HTTP数据包;如果否,通过因特网将所述数据包转发给对应的服务器。
6.一种基于浏览器的消息推送方法,其特征在于,包括:
代理服务器接收来自汇聚层交换机的HTTP数据包;其中,所述HTTP数据包的HTTP协议中的指定字段中携带有所述HTTP数据包的用户终端的MAC地址、所述用户终端对应AP的MAC地址和目的服务器的IP地址;
所述代理服务器提取并保存所述指定字段中的地址信息,并根据所述指定字段中的地址信息修改所述HTTP数据包的源地址为所述代理服务器与所述目的服务器相连的IP地址,修改所述HTTP数据包的目的地址为所述目的服务器的IP地址,向所述目的服务器转发修改地址后的所述HTTP数据包;
所述代理服务器接收所述目的服务器返回的HTTP应答数据包,根据所述用户终端的MAC地址和所述用户终端对应AP的MAC地址在所述HTTP应答数据包中插入对应的推送消息;
所述代理服务器将所述HTTP应答数据包的目的地址修改为所述用户终端的IP地址,将所述HTTP应答数据包的源地址修改为所述代理服务器与所述汇聚层交换机相连的IP地址;
所述代理服务器将所述HTTP应答数据包经由所述汇聚层交换机发送给所述用户终端。
7.根据权利要求6所述的方法,其特征在于,所述推送消息为指向广告或新闻服务的链接。
8.一种汇聚层交换机,其特征在于,包括:
地址信息插入模块,用于接收到用户终端发往目的服务器的HTTP数据包时,向所述HTTP数据包的HTTP协议中的指定字段插入预先获取的所述用户终端的MAC地址、所述用户终端对应AP的MAC地址和所述目的服务器的IP地址;
HTTP数据包转发模块,用于经由代理服务器将所述HTTP数据包转发给所述目的服务器;
HTTP应答数据包地址修改模块,用于接收到所述代理服务器返回的HTTP应答数据包时,将所述HTTP应答数据包的源地址修改为所述目的服务器的IP地址;其中,所述HTTP应答数据包为所述代理服务器根据所述用户终端的MAC地址和所述用户终端对应AP的MAC地址在所述目的服务器返回的数据包中插入对应的推送消息生成的;
HTTP应答数据包转发模块,用于将修改源地址后的所述HTTP应答数据包发送给所述用户终端。
9.一种代理服务器,其特征在于,包括:
HTTP数据包接收模块,用于接收来自汇聚层交换机的HTTP数据包;其中,所述HTTP数据包的HTTP协议中的指定字段中携带有所述HTTP数据包的用户终端的MAC地址、所述用户终端对应AP的MAC地址和目的服务器的IP地址;
HTTP数据包地址转发模块,用于提取并保存所述指定字段中的地址信息,并根据所述指定字段中的地址信息修改所述HTTP数据包的源地址为所述代理服务器与所述目的服务器相连的IP地址,修改所述HTTP数据包的目的地址为所述目的服务器的IP地址,向所述目的服务器转发修改地址后的所述HTTP数据包;
推送消息插入模块,用于接收所述目的服务器返回的HTTP应答数据包,根据所述用户终端的MAC地址和所述用户终端对应AP的MAC地址在所述HTTP应答数据包中插入对应的推送消息;
HTTP应答数据包地址修改模块,用于将所述HTTP应答数据包的目的地址修改为所述用户终端的IP地址,将所述HTTP应答数据包的源地址修改为所述代理服务器与所述汇聚层交换机相连的IP地址;
HTTP应答数据包转发模块,用于将所述HTTP应答数据包经由所述汇聚层交换机发送给所述用户终端。
10.一种基于浏览器的消息推送系统,其特征在于,包括权利要求8所述的汇聚层交换机和权利要求9所述的代理服务器,还包括目的服务器;
所述目的服务器,用于接收所述代理服务器发送的HTTP数据包,生成HTTP应答数据包,其中,所述HTTP应答数据包的源地址为所述目的服务器的IP地址,目的地址为所述代理服务器与所述目的服务器相连的IP地址。
CN201410586612.3A 2014-10-28 2014-10-28 基于浏览器的消息推送方法、设备和系统 Active CN104283972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410586612.3A CN104283972B (zh) 2014-10-28 2014-10-28 基于浏览器的消息推送方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410586612.3A CN104283972B (zh) 2014-10-28 2014-10-28 基于浏览器的消息推送方法、设备和系统

Publications (2)

Publication Number Publication Date
CN104283972A CN104283972A (zh) 2015-01-14
CN104283972B true CN104283972B (zh) 2018-06-08

Family

ID=52258444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410586612.3A Active CN104283972B (zh) 2014-10-28 2014-10-28 基于浏览器的消息推送方法、设备和系统

Country Status (1)

Country Link
CN (1) CN104283972B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187541A (zh) * 2015-09-21 2015-12-23 深圳前海华视移动互联有限公司 一种信息推送方法、装置及系统
CN105338528B (zh) * 2015-10-19 2017-11-10 华讯方舟科技有限公司 数据包重定向的方法、系统及无线访问节点
CN107682313B (zh) * 2017-08-28 2020-05-12 网宿科技股份有限公司 数据传输方法及服务器
CN109600422A (zh) * 2018-11-19 2019-04-09 斑马网络技术有限公司 数据包处理方法、网关设备、车载行动热点和代理服务器
CN112887162B (zh) * 2019-11-29 2022-03-29 北京百度网讯科技有限公司 用于检测异常的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902450A (zh) * 2009-11-13 2010-12-01 亿赞普(北京)科技有限公司 实现页面推送和控制的网络、页面推送方法、控制方法
CN103475660A (zh) * 2013-09-12 2013-12-25 神州数码网络(北京)有限公司 页面推送方法、装置和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280230A1 (en) * 2006-05-31 2007-12-06 Motorola, Inc Method and system for service discovery across a wide area network
WO2011029238A1 (zh) * 2009-09-11 2011-03-17 华为技术有限公司 广告投放方法、广告服务器和广告系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902450A (zh) * 2009-11-13 2010-12-01 亿赞普(北京)科技有限公司 实现页面推送和控制的网络、页面推送方法、控制方法
CN103475660A (zh) * 2013-09-12 2013-12-25 神州数码网络(北京)有限公司 页面推送方法、装置和系统

Also Published As

Publication number Publication date
CN104283972A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN103339901B (zh) 内容导向网络环境中的终端和中间节点以及终端和中间节点的通信方法
CN104283972B (zh) 基于浏览器的消息推送方法、设备和系统
JP6054484B2 (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法
US8738051B2 (en) Method and system for controlling message routing
KR100989656B1 (ko) 통신 시스템에서의 그룹 통신
CN102244845B (zh) 访问im业务系统存储服务器的方法和im业务系统
US20120088527A1 (en) Systems and Methods for Sharing Threaded Conversations on Mobile Communications Devices
KR20130135953A (ko) 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위해 웹 프록시-서버를 이용하는 시스템 및 방법
US20110080905A1 (en) Method and internet protocol short message gateway (ip-sm-gw) for providing an interworking service between converged ip messaging (cpm) and short message service (sms)
CN102845123A (zh) 虚拟私云的连接方法及隧道代理服务器
CN103368818B (zh) 一种即时消息发送的方法
US10812421B2 (en) Conveying instant messages via HTTP
CN102790798A (zh) 一种内容分发网络中透明代理实现方法、设备及系统
CN105119810A (zh) 一种基于xmpp协议的即时通讯方法及系统
CN102347916A (zh) 一种网关、跨社区群组信息处理系统及方法
CN102223293B (zh) 消息请求的路由方法及处理系统
CN102571575A (zh) 一种session 信息创建方法、装置和系统
US20170019484A1 (en) System and method for aggregating communication connections
CN108200158A (zh) 请求传输系统、方法、装置及存储介质
CN102035655A (zh) 端到端即时通讯的实现方法、端到端即时通讯终端及系统
CN103139758B (zh) 移动Socket类应用系统、服务器、方法和WAP网关
CN107086951A (zh) 行业短信的传输方法、短信网关及行业短信接入网关
CN103916489B (zh) 一种单域名多ip的域名解析方法及系统
CN103973541A (zh) 一种向群组成员发送多媒体消息的方法及设备
JP5710651B2 (ja) 代替eメール配信

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant