一种对用户请求的解析方法

文档序号:7759119阅读:912来源:国知局
专利名称:一种对用户请求的解析方法
技术领域
本发明涉及数据解析技术,尤指一种对用户请求的解析方法。
背景技术
内容传送网络(CDN)是为了改善因特网(Internet)的服务质量(QoS)而发展起来的技术,它通过实现用户对网站的就近访问及网络流量的智能分流,从技术上全面解决由于网络带宽小,用户访问量大,网点分布不均等对用户访问效果的影响,大大提高了网络的响应速度。如图1所示,CDN中一般包括三类设备分布在网络边缘的边缘服务器(ES),将内容传送到边缘服务器的中心内容分发设备,以及用户请求调度系统。CDN技术的原理是在现有互联网络中,将网站的内容从网络的骨干部分推送到最接近用户的网络“边缘”,也就是说,CDN能够将内容提供端(ICP)站点的信息预先发布到网络的边缘设备上,比如预先发布到ES上,使得用户在访问站点时可以在就近的边缘设备上得到快速的响应,从而减少传输延迟、网络抖动等影响效果的因素,为用户提供有序且高质量的服务,使用户能以最快的速度、从最接近用户的地方获得所需的信息。该CDN技术极大地缓解了互联网的拥塞情况,使网站有能力提供更多类似视频节目、歌曲点播等数据流量巨大的内容服务,同时,在线交易、网上银行等多种业务的可靠性也可得到有效保障。
在CDN涉及的三类设备中,用户请求调度系统的功能是当收到用户对内容的请求时,用户请求调度系统在分布在网络边缘的边缘服务器之中选择一个最合适的,然后让该服务器向用户提供内容。一般地,以常见的Internet为例,用户传送过来的信息包括用户的网络信息和用户对内容的请求信息,其中,网络信息包括源IP地址、目的IP地址、用户请求的业务使用的端口等等,对内容的请求信息则以统一资源定位(URL)字符串形式出现。
现有用户请求调度系统对用户请求的分解粒度不同,通常采用两种方法一种方法是将用户请求解析到网络协议的第三层,即只识别用户的网络信息,利用域名解析系统(DNS)解析得到用户的IP地址,根据用户的IP地址,依照一定的规则,比如以轮询方式,找到一个合适的边缘服务器。但是,这种方法仅能获得用户的网络信息,获得的信息比较有限,会为后续的边缘服务器的分配带来一些问题,比如分配的边缘服务器上没有用户请求的内容。
另一种方案是将用户请求分解到内容,即解析URL字符串。这样,不仅能够知道用户的IP地址,而且知道用户要访问哪个文件,也就是说,进行七层识别。但是,这种分解粒度一般视开展的业务而定,比如当用户要开展的是点播业务时,用户请求被处理后,用户会处于观看节目的状态,访问请求少,用户请求调度系统处理能力就有可能处理到七层,从而对用户请求在各个服务器之间进行更有效地调度;而当用户要访问Web内容时,由于访问请求多,如果分解到七层,势必加重用户请求调度系统的负担。
可见,当一个网络要求精确定位到内容,同时用户请求又很多,使得用户请求调度系统的设备负荷很大时,上述两种方式都存在很大的问题只将用户请求解析到网络层,对用户请求的分解不够全面,影响了后续边缘服务器分配的准确性;而将用户请求全部解析到内容,又使用户请求调用系统的负担过重。因此,对用户请求单一结构的解析方法不能很好地满足用户需求。

发明内容
有鉴于此,本发明的主要目的在于提供一种对用户请求的解析方法,既可以精确定位到内容,又能够应付较大的访问量。
本发明采用一种复合方式来解析用户请求,先由DNS对用户请求进行IP层的解析,然后再由一个请求重定向系统进行内容的解析,该解析方法由以下步骤组成A、DNS收到来自用户终端的需要解析的用户请求后,先将该用户请求解析到网络层,获得该用户终端的IP地址;同时,DNS将该用户请求分配到选定的请求重定向系统上;B、所述选定的请求重定向系统对收到的用户请求进行内容解析,获得用户终端所请求的内容;C、所述选定的请求重定向系统根据步骤B解析出的请求内容,将用户请求定位到能提供用户所需内容的服务器上。
DNS将用户请求分配到请求重定向系统后,该方法进一步包括所述DNS向用户终端返回所选定的请求重定向系统的IP地址;用户终端根据该返回的IP地址,向选定的请求重定向系统发送需要解析的用户请求。
步骤C之后该方法进一步包括所述选定的请求重定向系统向用户终端返回所定位的服务器的IP地址,用户终端根据请求重定向系统返回的IP地址访问所定位的服务器,该服务器向用户终端提供请求内容。
上述方案中,该方法进一步包括DNS采用轮询方式选定当前用户请求所要分配的请求重定向系统。那么,所述请求重定向系统的选定进一步包括a1、给数据库中的每条IP地址记录设置一个表示该记录解析状态的标识变量X,并将所有记录对应的标识变量X初始化为复位,所述IP地址记录包括域名及该域名对应的请求重定向系统的IP地址;a2、根据解析结果在数据库中找出所有与当前用户请求域名相同的记录,顺序取出一条IP地址记录;a3、判断该取出记录对应的标识变量X是否为复位,如果是,则将该记录中请求重定向系统的IP地址返回给用户终端,并将该记录对应的标识变量X置位,结束本选定流程;否则,执行步骤a4;a4、判断是否还有记录,如果有,则顺序选取下一条记录,返回步骤a3;否则,将步骤a2中找到的所有IP地址记录对应的标识变量X复位,再返回步骤a3。
其中,DNS和请求重定向系统的数目不是确定的,可以是一个或多个。另外,当DNS判断出用户访问的是Web内容时,DNS还可以直接将用户请求定位到能够提供Web内容的服务器上,从而减轻了请求重定向系统的压力。
采用本发明的方法对用户请求进行解析,DNS只是进行域名的解析,可以进行一些大颗粒的请求分解,将用户请求按照一定的方式,如采用轮询方式分配到各个请求重定向系统上,再由每个请求重定向系统将用户请求解析到内容。这样,通过DNS将客户流量进行了一定程度的均衡,各个请求重定向系统上的客户访问量并不是很大,它们进行内容级的识别是可行的。因此,这种复合方式的对用户请求的解析方法,保护了已有的设备投资,还能适合分层分级组网。由于针对业务不同进行了分别处理,Web内容请求提前得到了分流,保证了系统的稳定以及定位的准确度。


图1为CDN网络结构示意图;图2为本发明技术方案的简单原理示意图;图3为本发明实施例的操作流程示意图;图4为本发明的实施例中DNS将用户请求分配到请求重定向系统的操作流程示意图。
具体实施例方式
本发明的核心思想就是将三层解析与七层解析相结合,先通过三层解析将用户请求分配到不同的请求重定向系统,再由相应的请求重定向系统进一步将收到的用户请求解析到内容,即由请求重定向系统完成七层解析,最后根据解析结果将用户请求定位到一个能够给其提供内容服务的设备上。
下面以本发明在CDN网络中的应用为例,结合附图对本发明再作进一步详细的说明。
参见图2所示,在CDN网络中,本发明方法中所述的DNS又叫重定向DNS,以区别与本地DNS(LDNS),请求重定向系统(Redirector)在CDN网络中就相当于一个可以识别到内容的用户请求调用系统。从图2可以看出,DNS同时连接多个请求重定向系统,每个用户请求由DNS分配到不同的请求重定向系统中,进行内容解析。
在CDN网络中,一个典型的采用本发明方法对用户请求进行解析的工作流程,如图3所示,包括以下步骤组成步骤1用户向用户终端发送访问某一内容的用户请求。
步骤2用户终端请求本地DNS(LDNS)对所收到的用户请求进行域名解析。
步骤3本地DNS收到用户终端的用户请求后,将该用户请求发给重定向DNS,向重定向DNS请求域名解析。
步骤4重定向DNS将该用户请求解析到网络层,获得用户的IP地址、目的IP地址等信息,然后,根据轮询规则确定当前用户请求所要分配的一个Redirector。这里,也可以采用IP绑定方式,将某些范围内的IP地址和一个Redirector绑定,重定向DNS解析出用户IP地址后,只需要判断一下该IP地址的所属范围,即可进一步确定当前用户请求所要分配的Redirector。
步骤5重定向DNS将所分配的Redirector的IP地址返回给用户终端。
步骤6用户终端根据步骤5返回的Redirector的IP地址访问所分配的Redirector,即向该分配的Redirector发送含有访问内容的用户请求。
步骤7该Redirector对用户请求进行内容解析,并根据解析结果,即用户要访问的内容,对临近的边缘服务器进行探测。这里,对边缘服务器的探测通常是指对ES相对用户的临近程度、ES上有无用户所需内容或ES的忙闲状况进行探测,探测的目的就是要根据解析出的用户要访问内容,找出有哪些边缘服务器符合要求,即能提供相应的内容,并同时获取这些边缘服务器与用户的距离及其自身的忙闲情况等信息。其中,探测是利用现有的操作手段完成的。
步骤8Redirector根据探测结果和一定的调度策略,把用户的访问重定向到适合的边缘服务器,即选择一个最佳的边缘服务器,并将所选定的边缘服务器的IP地址返回给用户终端。这里,所述一定调度策略是指根据边缘服务器的负载状况、最佳路由等原则选择最佳边缘服务器。比如有三台边缘服务器A、B、C都能为当前用户提供所需信息,目前边缘服务器A最空闲,则选择边缘服务器A。再比如有三台边缘服务器A、B、C都能为当前用户提供所需信息,其中边缘服务器B距离当前用户最近,则可选择边缘服务器B。
步骤9用户终端根据所获得边缘服务器的IP地址访问选定的边缘服务器。
步骤10边缘服务器通过集中的认证转发机制向用户管理系统,如认证授权服务器,发起对当前用户授权验证,用户管理系统通过认证转发机制向边缘服务器返回验证结果。
步骤11如果验证通过,则该边缘服务器向当前用户提供内容服务;否则,拒绝当前用户的访问。
在上述过程中,为减轻请求重定向系统的压力,可对不同的业务也可以采用不同的处理方式,比如提前分流对Web内容的访问请求,具体做法是DNS将当前用户请求解析到网络层后,判断该用户需要访问的内容是否为Web内容,如果是,可直接将该用户请求定位到能提供Web内容的服务器上,如果不是,则将当前用户请求分配到请求重定向系统上。
在步骤4中,重定向DNS按照轮询方式将用户请求分配到Redirector上,具体可采用图4所示的过程,包括以下步骤步骤401在重定向DNS的数据库中存在多条IP地址记录,每条记录由一个域名和与该域名对应的Redirector的IP地址组成。给数据库中的每条IP地址记录设置一个标识变量X,来表示该记录的解析状态,并在初始化时,将数据库中所有记录的标识变量X复位,比如将标识变量X的值置0。本实施例中,标识变量复位表示其所对应的Redirector当前未被分配,标识变量置位表示其所对应的Redirector当前已被分配。
步骤402重定向DNS从本地DNS获得一个需解析的用户请求后,先将该用户请求解析到网络层,获得该用户请求对应的用户的IP地址和目的IP地址等网络信息。
步骤403根据解析结果中用户IP地址进一步得到该用户的域名,重定向DNS在自身数据库中查找是否存在与该用户域名相同的IP地址记录,并找到与该用户域名相同的所有记录,每条记录中的IP地址就是一个Redirector的IP地址,也就是说,可同时获得一个或多个可选的Redirector,然后再进入步骤404以轮询方式从所获得的Redirector中选出一个。
步骤404~405重定向DNS按顺序取一个记录,判断该记录对应的标识变量X是否复位,如果是,则将该记录中的IP地址返回给用户,并将该记录中表示解析状态的标识变量X置位,返回步骤402,等待下一个用户请求;如果该记录对应的标识变量X为置位,则再顺序取下一条记录,直到找到一条标识变量X为复位的记录为止。这里所述的置位,可以是将标识变量X的值置1。
如果步骤403中找到的所有IP地址记录对应的标识变量X都被置位,即找不到一条IP地址记录中的Redirector可以分配,则将步骤403找到的所有'地址记录对应的标识变量X全部重新复位,再返回步骤404。
步骤401~405所示为以轮询方式选择一个请求重定向系统,本发明中DNS也可采用其它的方式均衡选择请求重定向系统。
可见,在CDN网络中,本发明的方法使ICP网站不用重定向用户访问流媒体内容的请求消息,对后续的调度过程,由于本发明方法实现了根据内容来调度用户请求,提高用户直接访问到具体内容的命中率。由于基于内容调度,如果将所有边缘服务器划分为逻辑群组,则逻辑群组中的多台边缘服务器不用都缓存某一内容,从而提高了边缘服务器缓存内容的总容量,优化了内存特性。而且一个内容只需发送(PUSH)一次到一台边缘服务器上,PUSH的总次数减少,减轻了网络的负担。
以上仅以本发明方法在CDN网中的应用为本发明的较佳实施方式,本发明的方法同样可以适用于各种需要进行地址或数据解析的环境中,上述实例并非用于限定本发明的保护范围。
权利要求
1.一种对用户请求的解析方法,适用于至少包括域名解析系统(DNS)和请求重定向系统(Redirector)的网络中,其特征在于,该方法包括以下步骤A、DNS收到来自用户终端的需要解析的用户请求后,先将该用户请求解析到网络层,获得该用户终端的IP地址;同时,DNS将该用户请求分配到选定的请求重定向系统上;B、所述选定的请求重定向系统对收到的用户请求进行内容解析,获得用户终端所请求的内容;C、所述选定的请求重定向系统根据步骤B解析出的请求内容,将用户请求定位到能向用户提供所需内容的服务器上。
2.根据权利要求1所述的方法,其特征在于,DNS将用户请求分配到请求重定向系统后,该方法进一步包括所述DNS向用户终端返回所选定的请求重定向系统的IP地址;用户终端根据该返回的IP地址,向选定的请求重定向系统发送需要解析的用户请求。
3.根据权利要求1所述的方法,其特征在于,步骤C之后该方法进一步包括所述选定的请求重定向系统向用户终端返回所定位的服务器的IP地址,用户终端根据请求重定向系统返回的IP地址访问所定位的服务器,该服务器向用户终端提供请求内容。
4.根据权利要求1所述的方法,其特征在于,步骤A进一步包括,DNS将当前用户请求解析到网络层后,判断该用户终端要访问的内容是否为Web内容,如果是,则直接将当前用户请求定位到能提供Web内容的服务器上,否则,再将当前用户请求分配到选定的请求重定向系统上。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括DNS采用轮询方式选定当前用户请求所要分配的请求重定向系统。
6.根据权利要求5所述的方法,其特征在于,所述请求重定向系统的选定进一步包括a1、给数据库中的每条IP地址记录设置一个表示该记录解析状态的标识变量X,并将所有记录对应的标识变量X初始化为复位,所述IP地址记录包括域名及该域名对应的请求重定向系统的IP地址;a2、根据解析结果在数据库中找出所有与当前用户请求域名相同的记录,顺序取出一条IP地址记录;a3、判断该取出记录对应的标识变量X是否为复位,如果是,则将该记录中请求重定向系统的IP地址返回给用户终端,并将该记录对应的标识变量X置位,结束本选定流程;否则,执行步骤a4;a4、判断是否还有记录,如果有,则顺序选取下一条记录,返回步骤a3;否则,将步骤a2中找到的所有IP地址记录对应的标识变量X复位,再返回步骤a3。
全文摘要
本发明公开了一种对用户请求的解析方法,该方法采用一种复合的方式来解析用户请求,先由域名解析系统将用户请求解析到网络层,并根据解析结果将用户请求分配给一个请求重定向系统;再由所分配的请求重定向系统将用户请求解析到内容,并根据解析结果及一定的调度原则,将用户请求重定向到一个能够提供内容服务器上。本发明的解析方法,既可以精确定位到内容,又可应付较大的访问量。
文档编号H04L29/08GK1581114SQ03153289
公开日2005年2月16日 申请日期2003年8月14日 优先权日2003年8月14日
发明者杨锦春, 熊安元 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1