一种信息推送方法、系统及设备的制作方法

文档序号:7919896阅读:109来源:国知局
专利名称:一种信息推送方法、系统及设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种信息推送方法、系统及设备。
背景技术
Internet (互联网)已经成为全球最大的传播媒体,互联网给人们提供了 几乎取之不竭、用之不尽的资源,因此互联网用户也呈几何级数的增长,越 来越多的人认识到在互联网上进行信息发布可以带来越来越多的有益效果, 如发布通知公告、对用户非法行为发送警示信息、提示用户上网信息等。 对于运营商来说,利用互联网中的WEB信息推送技术可以为用户提供更多的 服务,也为企业提供了提升企业形象、推销最新产品、创立企业风格的舞台。
在Intemet网络上,用户记住的是容易记忆的域名,但是网络中的计算机 互相进行访问是通过IP地址,DNS (Domain Name System,域名系统)给用 户提供解析服务,将用户的域名解析成网络上能够访问的IP地址,也就是标准 查询。当在浏览器(IE, firefox)的地址栏中l命入一个网站的网址时,其实输 入的是这个网站的域名。访问网页(比如要访问百度的主页)的一个基本的 交互流程如图l所示,包括
步骤IOI,客户端在地址栏中输入www.baidu.com (百度域名)后回车, 此时,客户端需要百度服务器(第一服务器)的IP地址才能发送HTTP( Hypertext Transfer Protocol,超文本传输协议)请求,以获得百度网页,所以先要向DNS 服务器发送DNS请求;
步骤102, DNS服务器向客户端返回DNS响应,该DNS响应中携带第一服 务器的IP地址202.108.22.43;
步骤103,客户端得到第一服务器的IP,向第一服务器发送HTTP请求来 获取百度主页;
步骤104,第一服务器收到HTTP请求后,把网页信息放在HTTP响应中返
回给客户端,使客户端得到百度的主页。
应用WEB信息推送技术将需要展示给客户端的信息(例如某企业的相关 信息)推送给客户端的方法需要针对发送给HTTP请求作出处理,即对HTTP 请求重定向,具体包括首先捕获客户端发送的HTTP请求,然后根据该HTTP 请求构造一个重定向数据包发给该客户端,该数据包中的新地址为放有某企 业的相关信息的服务器(第二服务器)地址;该客户端按照重定向数据包中 的地址,向第二服务器发送HTTP请求,从而使第二服务器将该企业的相关信 息推送给客户端。
在实现本发明的过程中,发明人发现现有技术存在以下缺点 现有技术中,业务提供商根据截获的客户端向第 一服务器发送的请求包, 向客户端推送信息时,只是伪造了一个重定向包给客户端,使客户端根据该
重定向包中的地址从能够提供该推送信息的第二服务器获取推送信息,此时, 第一服务器和第二服务器都会做出响应。这样,不仅浪费了多余的网络资源, 而且如果客户端所请求第一服务器的HTTP响应包先于第二服务器的重定向 包到达客户端,则推送操作失效;如果同时到达则可能造成客户端显示乱码 或出错。另外,因为使用HTTP重定向,当信息推送成功后,客户端的地址 栏中会变成推送信息所在的服务器网址,这样,用户输入了第一服务器的网 址,却到了另一个服务器(第二服务器)的网址,影响了用户体验。

发明内容
本发明实施例提供了一种信息推送方法、系统及设备,更加高效得实现 向客户端进行信息推送。
本发明实施例提供了一种信息推送方法,包括
接收域名系统DNS请求包,所述DNS请求包用于请求获得第一服务器的IP 地址;
根据所述DNS请求包构造DNS响应包,所述DNS响应包中携带信息推送 服务器的IP地址,所述信息推送服务器的IP地址与所述第一服务器的IP地址不 同;
向客户端返回所述DNS响应包,使所述客户端从所述信息推送服务器获 取推送信息。
本发明实施例提供了一种信息推送方法,包括
向DNS服务器发送DNS请求包,请求获得第一服务器的IP地址;
接收DNS响应包,所述DNS响应包中携带信息推送服务器的IP地址, 所述信息推送服务器的IP地址与第一服务器的IP地址不同;
向所述信息推送服务器发送超文本传输协议HTTP请求;
接收所述信息推送服务器发送的推送页面。
本发明实施例提供了一种信息推送系统,包括
客户端,用于向DNS服务器发送DNS请求包,请求获得第一服务器的 IP地址,并接收DNS数据处理器返回的DNS响应包,所述DNS响应包中携 带信息推送服务器的IP地址,所述信息推送服务器的IP地址与第一服务器的 IP地址不同,并请求所述信息推送服务器发送推送页面;
DNS数据处理器,用于接收DNS请求包,所述DNS请求包用于请求获 得第一服务器的IP地址,并根据接收的DNS请求包构造DNS响应包,所述 响应中携带信息推送服务器的IP地址,所述信息推送服务器的IP地址与所述 第一服务器的IP地址不同,并向所述客户端返回所述DNS响应包;
信息推送服务器,用于接收所述客户端发送的请求后,向所述客户端发 送4,送页面。
本发明实施例提供了一种DNS数据处理器,包括
接收单元,用于接收客户端发送的DNS请求包,所述DNS请求包用于请 求获得第 一服务器的IP地址;
响应包构造单元,用于根据所述接收单元接收的DNS请求包构造DNS响 应包,所述DNS响应包中携带信息推送服务器的IP地址,所述信息推送服务器 的IP地址与所述第 一服务器的IP地址不同;
响应单元,用于向所述客户端返回所述响应包构造单元生成的DNS响应 包,使所述客户端从信息推送服务器获取推送信息。
本发明实施例提供了一种客户端,包括
DNS请求发送单元,用于向DNS服务器发送DNS请求包,请求获得第 一服务器的IP地址;
DNS响应接收单元,用于接收DNS响应包,所述DNS响应包中携带信 息推送服务器的IP地址,所述信息推送服务器的IP地址与第一服务器的IP 地址不同;
推送请求发送单元,用于根据所述DNS响应接收单元获取的信息推送服 务器的IP地址,向所述信息推送服务器发送HTTP请求;
推送页面接收单元,用于接收所述信息推送服务器发送的推送页面。 本发明的实施例中,通过捕获DNS请求包,并在向客户端返回的DNS 响应包中携带需要推送信息的服务器的IP地址,使客户端只向需要推送信息 的服务器发送HTTP请求,获取推送信息,不再向原服务器发送HTTP请求; 节约了网络资源,并且避免了两个服务器都向客户端返回响应造成的推送失 效或者显示出错等情况。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中访问网页进行DNS查询流程图2是本发明实施例一中一种信息推送方法流程图3是本发明实施例二中一种信息推送方法流程图4是本发明实施例三中一种信息推送方法流程图5是本发明实施例三中一种信息推送方法的DNS数据包的结构图6是本发明实施例四中一种信息推送系统结构图7是本发明实施例五中 一种DNS数据处理器结构8
图8是本发明实施例六中一种客户端结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及 实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实 施方式仅仅用以解释本发明,并不用于限定本发明。
为实现上述目的,本发明实施例一提供了一种信息推送方法,如图2所 示,包括以下步骤
步骤201, DNS数据处理器接收DNS请求包,所述DNS请求包用于请求获 得第一服务器的IP地址;
步骤202, DNS数据处理器根据接收到的域名系统DNS请求包,构造DNS 响应包,所述DNS响应包中携带有信息推送服务器的IP地址,所述信息推送服 务器的IP地址与第一服务器的IP地址不同;其中,构造DNS响应包之前,需要 对DNS请求包进行分析,根据所述客户端要访问的服务器地址、已访问过的 服务器地址、客户端地址等信息确定是否需要构造携带所述信息推送服务器 的IP地址的DNS响应包。
步骤203, DNS数据处理器向所述客户端返回DNS响应包,使所述客户端 从所述信息推送服务器获取推送信息。
其中,在步骤201之前,还可以包括在城域网出入口等网络流量集中的地 方采集客户端发送的DNS请求包,并发送给DNS数据处理器。
本发明的实施例中,通过捕获DNS请求包,并在向客户端返回的DNS 响应包中携带需要推送信息的服务器的IP地址,使客户端只向需要推送信息 的服务器发送HTTP请求,获取推送信息,不再向原服务器发送HTTP请求; 节约了网络资源,并且避免了两个服务器都向客户端返回响应造成的推送失 效或者显示出错等情况。
本发明实施例二提供了一种信息推送方法,如图3所示,包括以下步骤
步骤301,客户端发送DNS请求包,请求获得第一^1良务器的IP地址;
步骤302,客户端接收DNS响应包,所述DNS响应包中携带有信息推送服
务器的IP地址,所述信息推送服务器的IP地址与第一服务器的IP地址不同;
步骤303,客户端根据信息推送服务器的IP地址向该信息推送服务器发送 HTTP请求;
步骤304,客户端接收所述信息推送服务器发送的推送页面。
其中,在步骤304之后,还可以包括在浏览器中显示所述推送页面。
本发明实施例中,由于只发送一个HTTP请求,避免了现有技术中HTTP
请求的重定向,并且由于HTTP请求的重定向会改变客户端显示地址,因此,
没有HTTP请求的重定向将会避免改变客户端显示地址,即信息推送后客户
端的地址栏中显示的网址不会改变。
本发明实施例三提供了一种信息推送方法,如图4所示,包括以下步骤 步骤401,在接收到客户端发送的DNS请求包后,从该DNS请求包中解析
出客户端要访问页面的域名。其中,采集DNS请求包可以选择在城域网出入
口等网络流量集中的地方进行。
其中,DNS数据包的结构如图5所示,包括
ID: DNS数据包的最前2个字节(16bit),是标识本次交互的序号,请求 包与响应包对应。
FLAGS:标志位,DNS的数据包的第3、 4个字节(标准查询为0x0100,
标准响应为0x8180)。
Queries: 16位字段,用于定义问题部分的记录号,记录问题的个数。 Answers: 16位字段,用于定义回答部分的资源记录号,记录响应的个数。 Authority RRs: 16位字段,用于定义命令部分DNS服务器的资源记录号,
记录授权服务器的个数。
AdditionalRRs: 16位字^:,用于定义附加记录部分的资源记录号。 上述DNS数据包的结构中,第一行是数据所占bit的参考行,从ID开始的
三行长度固定,总共位12个字节,QUERIES——(查询)必须有但是长度不定(跟
查询的域名有关);Answers, AuthorityRRs, AdditionalRRs为可选。
DNS数据包中的请求包与响应包的源目的MAC地址相对应,源目的IP地
址相对应,源目的端口相对应。
步骤402,向客户端返回DNS响应,该DNS响应中携带信息推送服务器的 IP地址;所述信息推送服务器的IP地址与第一服务器的IP地址不同。
其中,发送响应之前,需要构造DNS响应包,主要分以下几步
1,根据DNS请求包设置要构造的数据包底层字段源目的MAC地址互 换,源目的IP地址互换,源目的端口互换;
2, DNS的ID等于请求包的ID;
3 ,进4亍i口下"i殳置Questions = 1 , Answers = 1 , Authority RRs = 0, Additional RRs = 0;
4,将请求包的Queries拷贝到新构造的数据包;
5,构造Answers域Name = 0xc00c, Type和class与Queries中的 一致, TTL = 30, Data length = 4, addr = WEB信息推送服务器的IP (这里为了演示 效杲填入了百度的IP 202.108.22.43 );
6,计算IP, UDP校验和,完成响应包构造。
步骤403,客户端接收到该DNS响应后,只向信息推送服务器发送HTTP 请求,而不是对其原本要请求的服务器发送HTTP请求,并且仅会发送一个 HTTP请求,从而避免了信息推送服务器和原请求服务器都返回响应。
客户端收到DNS响应后,客户端认为DNS包中的IP地址就是要访问的 主页IP地址,会以DNS包中的IP地址发送请求。所以,只会对这个IP发送 一个请求,并且,地址栏中仍然为用户输入的网址。
步骤404,信息推送服务器接收到该HTTP请求后,向客户端发送推送页 面,客户端收到信息推送服务器的HTTP响应后在浏览器中显示推送页面。
比如, 一个客户端为了访问Google发送了 DNS请求,如果抢在DNS服 务器之前返回给客户端一个DNS响应,并把查询返回的IP地址设置为百度服 务器的IP,客户端最终显示出来的将是百度页面。其中,百度服务器相当于 信息推送服务器,显示出的页面相当于推送页面,地址栏中仍然是 www.google.com 。
本发明实施例四提供了一种信息推送系统,如图6所示,包括客户端
610,用于向DNS服务器发送DNS请求包,请求获得第一服务器的IP地址, 并接收DNS数据处理器620返回的DNS响应包,DNS响应包中携带信息推 送服务器630的IP地址,所述信息推送服务器的IP地址与第一服务器的IP 地址不同,并请求信息推送服务器630发送推送页面;DNS数据处理器620, 用于接收DNS请求包,所述DNS请求包用于请求获得第一服务器的IP地址, 并根据接收DNS请求包构造DNS响应包,所述响应中携带信息推送服务器 630的IP地址,所述信息推送服务器的IP地址与所述第一服务器的IP地址 不同,并向客户端610返回DNS响应包;信息推送服务器630,用于接收客 户端610发送的请求后,向客户端610发送推送页面。
其中,信息推送系统还可以包括数据转发装置640,用于采集客户端610 与接入网络传输的所有网络数据,将网络数据传送到DNS数据处理器620。
本发明实施例五提供了一种DNS数据处理器,如图7所示,包括接收 单元623,用于接收客户端610发送的DNS请求包,并将DNS请求包发送给 响应包构造单元621;响应包构造单元621,用于根据接收的DNS请求包构 造DNS响应包,DNS响应包中携带有信息推送服务器630的IP地址;响应 单元622,用于向客户端610返回DNS响应包,使客户端610从信息推送服 务器630获取推送信息。
其中,上述DNS数据处理器620还可以包括判断单元624,用于根据所述 客户端要访问的服务器地址、已访问过的服务器地址、客户端地址确定是否 需要构造携带所述信息推送服务器的IP地址的DNS响应包。
本发明实施例六提供了一种客户端610,如图8所示,包括DNS请求 发送单元614,用于向DNS服务器发送DNS请求包,请求获得第一服务器的 IP地址;DNS响应接收单元611,用于接收DNS响应包,DNS响应包中携带 信息推送服务器630的IP地址;推送请求发送单元612,用于根据DNS响应 接收单元611获得的信息推送服务器630的IP地址向信息推送服务器630发 送HTTP请求;推送页面接收单元613,用于接收信息推送服务器630发送的 推送页面。
客户端610还可以包括推送页面显示单元615,用于显示推送页面接收
单元613接收的推送页面。
本发明的实施例中,通过捕获DNS请求,并在向客户端返回的DNS响 应中携带需要推送信息的服务器的IP地址,使客户端只向需要推送信息的服 务器发送HTTP请求,获取推送信息,不再向原服务器发送HTTP请求;减 少HTTP响应包数量,节约了网络资源,并且避免了两个服务器都向客户端 返回响应造成的推送失效或者显示出错等情况,且信息推送后客户端的地址 栏中显示的网址不会改变。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来 实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来, 该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘, 移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应#见为本发明的保护范围。
权利要求
1、一种信息推送方法,其特征在于,包括:接收域名系统DNS请求包,所述DNS请求包用于请求获得第一服务器的IP地址;根据所述DNS请求包构造DNS响应包,所述DNS响应包中携带信息推送服务器的IP地址,所述信息推送服务器的IP地址与所述第一服务器的IP地址不同;向客户端返回所述DNS响应包,使所述客户端从所述信息推送服务器获取推送信息。
2、 如权利要求l所述信息推送方法,其特征在于,所述根据DNS请求包 构造DNS响应包之前还包括根据所述客户端要访问的服务器地址、已访问过的服务器地址、客户端 地址确定是否需要构造携带所述信息推送服务器的IP地址的DNS响应包。
3、 如权利要求2所述信息推送方法,其特征在于,所述接收域名系统DNS 请求包具体包括在城域网出入口采集DNS请求包。
4、 一种信息推送方法,其特征在于,包括向DNS服务器发送DNS请求包,请求获得第一服务器的IP地址; 接收DNS响应包,所述DNS响应包中携带信息推送服务器的IP地址, 所述信息推送服务器的IP地址与第一服务器的IP地址不同; 向所述信息推送服务器发送超文本传输协议HTTP请求; 接收所述信息推送服务器发送的推送页面。
5、 如权利要求4所述信息推送方法,其特征在于,所述接收信息推送服 务器发送的推送页面之后还包括在浏览器中显示所述推送页面。
6、 一种信息推送系统,其特征在于,包括客户端,用于向DNS服务器发送DNS请求包,请求获得第一服务器的 IP地址,并接收DNS数据处理器返回的DNS响应包,所述DNS响应包中携 带信息推送服务器的IP地址,所述信息推送服务器的IP地址与第一服务器的IP地址不同,并请求所述信息推送服务器发送推送页面;DNS数据处理器,用于接收DNS请求包,所述DNS请求包用于请求获 得第 一服务器的IP地址,并根据接收的DNS请求包构造DNS响应包,所述 响应中携带信息推送服务器的IP地址,所述信息推送服务器的IP地址与所述 第一服务器的IP地址不同,并向所述客户端返回所述DNS响应包;信息推送服务器,用于接收所述客户端发送的请求后,向所述客户端发 送推送页面。
7、 如权利要求6所述信息推送系统,其特征在于,还包括 数据转发装置,用于采集客户端到接入网络的所有网络数据,将所述网络数据传送到所述DNS数据处理器。
8、 一种DNS数据处理器,其特征在于,包括接收单元,用于接收客户端发送的DNS请求包,所述DNS请求包用于请 求获得第一服务器的IP地址;响应包构造单元,用于根据所述接收单元接收的DNS请求包构造DNS响 应包,所述DNS响应包中携带信息推送服务器的IP地址,所述信息推送服务器 的IP地址与所述第 一服务器的IP地址不同;包,使所述客户端从信息推送服务器获取推送信息。
9、 如权利要求8所述DNS数据处理器,其特征在于,还包括 判断单元,用于根据所述客户端要访问的服务器地址、已访问过的服务器地址、客户端地址确定是否需要构造携带所述信息推送服务器的IP地址的 DNS响应包。
10、 一种客户端,其特征在于,包括DNS请求发送单元,用于向DNS服务器发送DNS请求包,请求获得第 一服务器的IP地址;DNS响应接收单元,用于接收DNS响应包,所述DNS响应包中携带信 息推送服务器的IP地址,所述信息推送服务器的IP地址与第一服务器的IP地址不同;推送请求发送单元,用于根据所述DNS响应接收单元获取的信息推送服 务器的IP地址,向所述信息推送服务器发送HTTP请求;推送页面接收单元,用于接收所述信息推送服务器发送的推送页面。
11、如权利要求IO所述客户端,其特征在于,还包括推送页面显示单元,用于显示所述推送页面接收单元接收的推送页面。
全文摘要
本发明实施例公开了一种信息推送方法、系统及设备,该方法包括接收DNS请求包,DNS请求包用于请求获得第一服务器的IP地址;根据DNS请求包构造DNS响应包,DNS响应包中携带信息推送服务器的IP地址,信息推送服务器的IP地址与第一服务器的IP地址不同;向客户端返回DNS响应包,使客户端从信息推送服务器获取推送信息。本发明的实施例中,通过捕获DNS请求包,并在向客户端返回的DNS响应包中携带需要推送信息的服务器的IP地址,使客户端只向需要推送信息的服务器发送HTTP请求,获取推送信息,不再向原服务器发送HTTP请求;避免了两个服务器都向客户端返回响应包造成的推送失效或者显示出错等情况。
文档编号H04L29/08GK101378407SQ20081016682
公开日2009年3月4日 申请日期2008年9月26日 优先权日2008年9月26日
发明者强 刘, 锐 李, 王文婷, 高立平, 敏 黄 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1