CN102299969B - 一种Web访问方法、七层交换设备和服务网络 - Google Patents
一种Web访问方法、七层交换设备和服务网络 Download PDFInfo
- Publication number
- CN102299969B CN102299969B CN201110276132.3A CN201110276132A CN102299969B CN 102299969 B CN102299969 B CN 102299969B CN 201110276132 A CN201110276132 A CN 201110276132A CN 102299969 B CN102299969 B CN 102299969B
- Authority
- CN
- China
- Prior art keywords
- client
- address
- isp
- server
- web
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种Web访问方法、七层交换设备和服务网络。所述方法包括:服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的互联网服务提供商ISP;所述服务网络能够提供多个ISP线路接入;服务网络在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;服务网络根据所匹配的Web服务器地址对客户端Web访问请求进行导航。本发明的技术方案,能实现跨ISP Web访问加速。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种Web访问方法、七层交换设备和服务网络。
背景技术
在实际应用中,多互联网服务提供商(ISP,Internet ServiceProvider)并存,且ISP之间接口网络带宽有限,造成了客户端跨域网络访问Web服务器时访问速度较慢。例如一个使用电信ADSL的用户访问部署在北方网通互联网数据中心(IDC,Internet DataCenter)中的Web服务器时受到两个ISP网络之间总体接口容量的限制,访问速度较慢。随着智能移动终端设备的大量使用,移动网络与固定网络(WIFI)之间的切换频率增高,互联网服务需要兼顾移动互联网与固定互联网之间的跨域访问,进一步提高了对于跨ISP访问的加速方案的需求。
因此,当前迫切需要解决跨ISP的Web访问加速问题。
发明内容
本发明提供了一种跨ISP的Web访问加速方法,该方法能实现跨ISP Web访问加速。
本发明还提供了一种七层交换设备,该七层交换能实现跨ISPWeb访问加速。
本发明还提供了一种服务网络,该服务网络能实现跨ISP Web访问加速。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种Web访问方法,该方法包括:
服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的互联网服务提供商ISP;所述服务网络能够提供多个ISP线路接入;
服务网络在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;
服务网络根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
本发明还公开了一种七层交换设备,所述七层交换设备设置于服务网络中,所述服务网络能够提供多个ISP线路接入;
所述七层交换该设备包括:智能路由模块;
所述智能路由模块包括,
确定单元,用于接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP;
匹配单元,用于在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;
导航单元,用于根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
本发明还公开了一种服务网络,所述服务网络能够提供多个ISP线路的接入;该服务网络包括:四层交换设备,和上述七层交换设备;
其中四层交换设备采用Linux虚拟服务器LVS软交换的直接转发DR模式,根据轮询算法将所接收的客户端Web访问请求转发到七层交换设备。
由上述可见,本发明中,服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP,在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址,根据所匹配的Web服务器地址对客户端Web访问请求进行导航的技术方案,能实现跨ISP Web访问加速。
附图说明
图1-1是本发明实施例中的服务网络的框架图;
图1-2是本发明实施例中的Web访问方法的流程图;
图2是本发明实施例中的七层交换设备的工作过程流程图;
图3是本发明实施例中的七层交换设备的结构示意图;
图4是本发明实施例中的服务网络的组成结构示意图。
具体实施方式
在实施本发明过程中,发明人针对跨ISP的Web访问加速问题的解决方案进行了***研究,在跨ISP Web访问加速方面,可以采用内容分发网络(CDN,Content Delivery Network)技术和智能域名***(DNS,Domain Name System)等技术。
智能DNS是CDN技术的一个组成部分,CDN技术主要通过在各运营商网络关键节点上部署服务器,对Web内容进行缓存,根据客户端所在网络的本地DNS服务,指向所在网络临近的资源服务器获取资源,从而减少跨ISP网络访问,提升速度。CDN比较适合静态资源的访问加速,对于动态内容,必须访问Web服务的源站点方可实现正常的服务逻辑,因此加速不易实现。
动态内容加速主要通过智能DNS进行。目前的智能DNS技术对此场景的加速技术通常如下,以访问网络域名www.abc.com为例:
1)网通用户向本地DNS请求解析www.abc.com。
2)本地DNS向abc.com的权威DNS(这里的权威DNS一定是智能DNS)发送请求。
3)智能DNS根据请求者(这里是上述本地DNS)的IP地址在自己的访问控制列表(ACL,Access Control List)里面进行匹配,然后把匹配的Web服务器地址返回给本地DNS。
4)本地DNS把结果告诉用户,并把结果缓存起来。
5)用户访问网通线路上的网站服务器。
但是使用智能DNS服务可能遇到如下的限制:权威DNS必须支持智能DNS技术,或者可将网站的DNS记录向上委托给智能DNS服务。对于一些社会公众权威服务网站来说,为了防止出现DNS劫持造成的信息安全事件,不能将DNS服务托管给第三方智能DNS服务商。即在有些场景下,Web服务网站DNS记录不能委托于智能DNS,提供ISP服务的运营商也无法提供智能DNS服务,此时需要一种新的跨ISP的Web访问加速方案。
在本发明中给出了一种私有网络结构,这里称之为服务网络,该服务网络能够实现跨ISP的Web访问加速。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明中的服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP;所述服务网络能够提供多个ISP线路接入;服务网络在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;服务网络根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
优选的,服务网络设置在能够提供多个ISP线路接入的互联网数据中心IDC上。例如,在能够同时提供网通、电信和***线路接入的IDC上,申请3个运营商线路的3个不同IP地址。服务器部署结构上,在Web服务的网络布局上采用四层交换设备+7层交换设备+Web服务器的部署结构。
4层交换设备采用Linux下Linux虚拟服务器(LVS,Linux VirtualServer)软交换的直接转发(DR)模式,7层交换设备采用本发明中给出的“智能导航方式”。采用LVS DR模式是可以解决网络流量大的时候,所有请求都需要经过4层7层两层交换设备转发,降低性能损失的问题。
图1-1是本发明实施例中的服务网络的框架图。参见图1-1,该服务网络能够提供多个ISP线路的接入,该服务网络包括:防火墙、四层交换设备、七层交换设备和Web服务器。在本发明的一个实施例中,服务网络的配置可以如下:
1)移动、网通、电信三条线路分别对应三个运营商接入的专线,在3条线路上分别申请IP地址,同时3个IP地址对应3个域名。例如,应用***具有三个域名:
cnc.app.com(对应网通网络的服务IP地址)
ctc.app.com(对应电信网络的服务IP地址)
cmc.app.com(对应移动网络的服务IP地址)
2)当客户端Web访问请求从互联网发送到网络服务端时,首先经过防火墙,防火墙对客户端Web访问请求进行网络地址转换,将其中的三层网络地址转换为内网的虚拟IP地址(VIP),七层请求头中的域名保持不变,然后发送的四层交换设备。
3)这里使用LVS作为四层交换设备,两台安装LVS服务器采用AP模式,其中一台作为主调度器,另一台作为备用调度器,在主调度器宕机时自动切换。主调度器根据轮询算法,将请求转发到两台7层交换设备上。由于采用DR(直接转发)模式,两台LVS四层交换设备和2台七层交换设备在同一局域网段内,且绑定了同1个VIP地址(禁用ARP服务)。
4)当客户端Web访问请求被发送到七层交换设备时,七层交换设备根据客户端的IP地址判定用户来源的ISP是否与请求的域名对应的服务IP地址在同一ISP,根据判定的策略进行跳转指令下发,或者向后转发到Web服务器。Web服务器上的地址不对外,通过七层交换设备作为反向代理,将访问响应流直接向客户端返回。
图1-2是本发明实施例中的Web访问方法的流程图。如在图1-2中所示,该方法包括:
101,接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP。
102,在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址。
103,根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
所述在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址包括:判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,如果一致则将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,如果不一致,则根据预置的各ISP网络侧web服务器地址间的对应关系(这里,可以根据资源的变动以及IP地址的变更等对该对应关系进行更新),查询客户端请求访问的服务器IP地址对应的所述客户端所在ISP网络侧的web服务器地址,将查询到的地址作为匹配的Web服务器地址。
优选的,上述各ISP网络侧web服务器地址间的对应关系可以设置在能够提供多个ISP线路接入的IDC上,具体的可以设置在该服务网络上。
所述根据所匹配的Web服务器地址对客户端Web访问请求进行导航包括:根据所述匹配得到的Web服务器地址,引导客户端将客户端Web访问请求转发到对应的Web服务器,并将Web服务器反馈的响应数据返回给客户端。
如果客户端Web访问请求所要访问的服务器IP地址与客户端所在的ISP一致,则七层交换设备进一步:根据预置概率判断当前客户端是否需要修正检测,是则根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定地址库中的当前客户端IP地址所在的ISP是否需要修正;所述统计库为对属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间汇总得到;是则,对所述客户端Web访问请求所要访问的服务器IP地址进行修正,修正后的服务器IP地址所在ISP与所述客户端所在ISP不一致,将修正后的地址作为匹配的Web服务器地址;否则,执行所述将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址。
其中,对属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间统计得到统计库的方法包括:获取属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间;保存上述加载时间得到统计库。
需要说明的是,每次访问都需要获取加载时间,并添加到统计库中;统计库不断更新。
具体的,所述获取属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间包括:在向客户端返回Web服务器反馈的响应数据时,在响应数据中加入开始响应时间戳;在客户端脚本加载时,比较所述开始响应时间戳和本地的时间,获取加载时间。
也就是说,七层交换设备将属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间汇总到统计库中包括:七层交换设备在向客户端返回Web服务器反馈的响应数据时,在响应数据中加入开始响应时间戳;在客户端脚本加载时,比较所述开始响应时间戳和本地的时间,获取加载时间,并将加载时间发送到七层交换设备;七层交换设备将客户端发送的加载时间记录的统计库中。
所述根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定当前客户端IP地址所属的ISP是否需要修正包括:
根据统计库中的数据计算所述特定服务器IP地址被与当前客户端同属于同一地域的各客户端访问时的平均加载时间μ,以及加载时间的平均标准方差σ,以及计算所述特定服务器IP地址之前被当前客户端访问时的平均加载时间x;
根据如下的正太分布概率公式计算出x所处的分布概率f(x):
如果f(x)小于第一预设门限值则不需要修正,反之如果f(x)大于等于第一预设门限值,则根据f(x)的大小进行随机抽取修正。
具体的,所述根据f(x)的大小进行随机抽取修正包括:利用f(x)计算抽取概率F(x):F(x)=(f(x)-第一预设门限值)/第二预设门限值;
以概率F(x)确定是否对当前客户端IP地址所属的ISP进行修正。
需要说明的是,当f(x)大于等于第一预设门限值时,并非都需要对其进行修正,这里需要再根据f(x)计算一个新的概率F(x),对f(x)大于等于第一预设门限值的访问请求按照该新的概率F(x)进行修正。也就是说,由于ISP错误等导致地址库有误,需要进行修正的其实并非非常常见,为了进一步提高地址库的访问效率(进而提高web访问效率),此处,采取抽取部分进行修正的方式,即对f(x)大于等于第一预设门限值的访问请求中,以F(x)为概率,抽取部分访问请求进行地址修正,在本步骤中,当判断f(x)大于等于第一预设门限值时,对当前客户端IP地址所属的ISP以F(x)为概率确定是否需要对其进行地址修正。
进一步的,针对所述客户端根据修正后的地址进行web访问,计算预定访问次数的加载时间平均值,若该加载时间平均值小于所述客户端访问原地址库中记录的所在ISP地址的加载时间,则用所述修正后的地址所属的ISP替换地址库中的当前客户端所在的ISP。
在所述判断当前客户端是否需要修正检测之前该方法进一步包括:获取客户端IP地址,根据客户端IP地址和地址库判定客户端所在的ISP;判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,是则执行所述判断当前客户端是否需要修正检测的步骤,否则向客户端返回引导其跳转到对应的ISP服务器地址上的指令。
在所述判断当前客户端是否需要修正检测之后该方法进一步包括:如果判断出当前客户端不需要修正检测,将客户端Web访问请求转发到对应的Web服务器,并将Web服务器反馈的响应数据返回给客户端。
将Web服务器反馈的响应数据返回给客户端进一步包括:将判定结果作为cookie写入客户端;其中,判定结果包括:客户端IP地址、客户端所在ISP对应的服务器IP地址、判定结果类型;其中,判定结果类型为永久或临时;
在所述七层交换设备获取客户端IP地址,根据客户端IP地址和地址库判定客户端所在的ISP之前,该方法进一步包括:检测该客户端是否存在以cookie形式保存的判定结果,是则执行如下的步骤a至步骤d,否则执行所述七层交换设备获取客户端IP地址,根据客户端IP地址判定客户端所在的ISP的步骤;
a、对所述存在的cookie进行解码,获得判定结果信息;
b、判断判定结果信息中的客户端IP地址是否与当前的客户端IP地址一致,是则执行步骤c,否则执行所述获取客户端IP地址,根据客户端IP地址和地址库判定客户端所在的ISP的步骤;
c、判断判定结果信息中的客户端所在ISP对应的服务器IP地址是否与当前客户端Web访问请求所要访问的服务器IP地址一致,是则执行步骤d,否则执行所述获取客户端IP地址,根据客户端IP地址和地址库判定客户端所在的ISP的步骤;
d、判断判定结果信息中的判定结果类型是否为永久,是则将客户端Web访问请求转发到对应的Web服务器,并将Web服务器反馈的响应数据返回给客户端,否则执行所述根据预置概率判断当前客户端是否需要修正检测的步骤。
如果确定地址库中的该客户端IP地址所对应的ISP不需要修正,则在将判定结果作为cookie写入客户端时,将判定结果类型记录为永久。
判断地址库中的结果,如果没有经过修正,则将判定结果类型记录为临时,如果经过了修正,则将判定结果类型记录为永久。
下面给出七层交换设备的工作流程。
图2是本发明实施例中的七层交换设备的工作过程流程图。如图2所示,包括:
201,当客户端Web访问请求转发到七层交换设备时,首先检查该客户端是否存在已cookie形式保存的判定结果,在用户首次登录时,没有保存的判定结果,执行步骤202,如果存在保存的判定结果,则执行步骤209。
202,根据客户端Web访问请求获取客户端IP地址,根据客户端IP地址判定客户端所在的ISP。
本步骤中,从地址库中加载地址信息表到内存中,并形成二叉搜索树BST结构,根据客户端IP地址在BST上查找该客户端IP地址所对应的ISP以及地区信息。
203,判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,是则执行步骤205,否则执行步骤204。
这里,客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,例如是指网通的用户访问的地址是否是网络的服务地址,如果是则一致,如果是电信的服务地址,则为不一致。
204,向客户端返回HTTP 302跳转指令,引导客户端跳转到用户IP地址所对应的ISP服务器地址上,进入步骤208。
205,采用抽取一定比例的随机数算法判断该客户端是否需要检测,是则执行步骤206,否则执行步骤207。
在本发明的一个实施例中,该比例取10%,即随机抽取10%的客户端进行检测。
206,根据预设策略判断地址库中的该客户端IP地址所对应的ISP是否需要修正,是则给出一个随机的ISP修正地址,并向跳转到步骤204,否则进入步骤207。
如果不需要修正,则在将判定结果作为cookie写入客户端时,将判定结果类型记录为永久。
本步骤中,可以依据客户端访问的平均首字节加载时间与访问服务地址的全部平均加载时间的偏离度确定是否需要修正。
207,将客户端Web访问请求转发到对应的Web服务器,作为反向代理获取到Web服务器返回的真实响应数据,并返回给客户端。
本步骤中可以在获取到Web服务器返回的真实响应数据时,在其头上加入响应发送的时间戳,对于观测的页面,页面中会在头部加入加载检测的Javascript脚本,向服务器上报。
步骤208,拦截响应,在响应数据的头部,将判定结果作为cookie写入客户端,以避免客户端被重复的频繁判定。
记录到客户端的cookie是为了能够减少不必要的重复判定,减轻服务器端的计算负荷,Cookie是一段采用DES算法加密的信息,经过解密后可以还原出一个判定结果对象,包含以下信息:
客户端IP地址:发生判定时的访问的客户端的来源IP;
客户端所在ISP对应的服务器IP地址:判断客户端所在ISP对应的服务器IP地址;
判定结果类型:永久或临时;对于地址库中的结果,如果没有经过修正模块的修正,均为临时结果,如果已经被修正过则提升为永久结果。
209,对存在的cookie进行解码,获得判定结果信息。
210,判断判定结果信息中的客户端IP地址是否与当前的客户端IP地址一致,是则执行步骤211,否则执行步骤202。
211,判断判定结果信息中的客户端所在ISP对应的服务器IP地址是否与当前客户端Web访问请求所要访问的服务器IP地址一致,是则执行步骤212,否则执行步骤202。
212,判断判定结果信息中的判定结果类型是否为永久,是则执行步骤207,否则执行步骤205。
由图2所示的流程可见,七层交换设备进一步将判定结果作为cookie写入客户端;在根据客户端IP地址判定客户端所在的ISP之前,检测该客户端是否存在以cookie形式保存的判定结果,是则根据cookie中的判定结果信息判断此次是否需要根据客户端IP地址判定客户端所在的ISP,否则执行根据客户端IP地址判定客户端所在的ISP的步骤。
图3是本发明实施例中的七层交换设备的结构示意图。如图3所示,该七层交换设备包括:地址库收集模块301、地址库管理模块302、智能路由模块303和反向代理模块304。其中:
地址库收集模块301,用于维护地址库;具体来说保持与APNIC的数据同步,通过抓取APNIC公布的地址库来维护本地的所述地址库。APNIC是负责亚太地区IP地址端和AS号码分配的官方机构。
地址库管理模块302,用于管理地址库,向智能路由模块303提供查询服务;具体来说用于在接收到智能路由模块303的查询请求时,从地址库中加载地址信息表到内存中,并形成二叉搜索树BST结构,根据客户端IP地址在BST上查找该客户端IP地址所对应的ISP以及地区信息。
智能路由模块303包括,确定单元,用于接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP;匹配单元,用于在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;导航单元,用于根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
具体来说,在接收到客户端Web访问请求时,获取客户端IP地址,根据客户端IP地址向地址库管理模块302查询客户端所在的互联网服务提供商ISP,匹配单元具体用于判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,如果一致则将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,将客户端Web访问请求转发给反向代理模块304,并将反向代理模块304反馈的响应数据返回给客户端,如果不一致则根据预置的各ISP网络侧web服务器地址间的对应关系,查询客户端请求访问的服务器IP地址对应的所述客户端所在ISP网络侧的web服务器地址,将查询到的地址作为匹配的Web服务器地址,向客户端返回HTTP 302跳转指令;
反向代理模块304,用于在接收到智能路由模块303发送的客户端Web访问请求后,根据负预设的载策略转发到相应的Web服务器,并将Web服务器返回的响应数据反馈给智能路由模块303。
如图3所示的七层交换设备进一步包括:路由修正模块305;
路由修正模块305,用于当所述匹配单元判断客户端Web访问请求所要访问的服务器IP地址与客户端所在的ISP一致时,根据预置概率判断是否需要对客户端进行修正检测,是则根据预置概率判断当前客户端是否需要修正检测,是则根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定地址库中的当前客户端IP地址所在的ISP是否需要修正;所述统计库为对属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间汇总得到;
是则对所述客户端Web访问请求所要访问的服务器IP地址进行修正,修正后的服务器IP地址所在ISP与所述客户端所在ISP不一致,将修正后的地址作为匹配的Web服务器地址;否则,将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址。
具体的,所述智能路由模块303,在判断出客户端Web访问请求所要访问的服务器IP地址与客户端所在的ISP一致时,并在将客户端Web访问请求转发给反向代理模块之前,进一步用于根据预置概率判断是否需要对客户端进行修正检测(例如,采用抽取一定比例的随机数算法确定该客户端是否需要检测),是则将客户端Web访问请求转发给路由修正模块305,否则将客户端Web访问请求转发给反向代理模块304;进一步用于在接收到路由修正模块305发送的需要修正的通知时,对所述客户端Web访问请求所要访问的服务器IP地址进行修正,修正后的服务器IP地址所在ISP与所述客户端所在ISP不一致,将修正后的地址作为匹配的Web服务器地址,向客户端返回HTTP 302跳转指令,在接收到路由修正模块305发送的不需要修正的通知时,将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,将客户端Web访问请求转发给反向代理模块304;
路由修正模块305,用于在接收到客户端Web访问请求时,根据预设策略判断地址库中的该客户端IP地址所对应的I SP是否需要修正,是则向智能路由模块303发送需要修正的通知,并给出一个随机的ISP修正地址同步给地址库管理模块,否则向智能路由模块303发送不需要修正的通知。
在本发明的一个实施例中,所述路由修正模块305,用于根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定地址库中的当前客户端IP地址所在的ISP是否需要修正;是则向智能路由模块发送需要修正的通知,否则向智能路由模块发送不需要修正的通知。
在图3所示的设备中,所述智能路由模块303,用于在将反向代理模块304反馈的响应数据返回给客户端的同时,进一步将判定结果作为cookie写入客户端;其中,判定结果包括:客户端IP地址、客户端所在ISP对应的服务器IP地址、判定结果类型;其中,判定结果类型为永久或临时;
所述智能路由模块303,在根据客户端IP地址判定客户端所在的ISP之前,进一步检测该客户端是否存在已cookie形式保存的判定结果,是则执行如下的步骤a至步骤d,否则执行根据客户端IP地址判定客户端所在的ISP的步骤;
a、对所述存在的cookie进行解码,获得判定结果信息;
b、判断判定结果信息中的客户端IP地址是否与当前的客户端IP地址一致,是则执行步骤c,否则执行根据客户端IP地址判定客户端所在的ISP的步骤;
c、判断判定结果信息中的客户端所在ISP对应的服务器IP地址是否与当前客户端Web访问请求所要访问的服务器IP地址一致,是则执行步骤d,否则执行根据客户端IP地址判定客户端所在的ISP的步骤;
d、判断判定结果信息中的判定结果类型是否为永久,是则将客户端Web访问请求转发到反向代理模块,否则采用抽取一定比例的随机数算法确定该客户端是否需要检测;
所述智能路由模块303,用于在接收到路由修正模块发送的不需要修成的通知后,在将判定结果作为cookie写入客户端时,将判定结果类型记录为永久。
图4是本发明实施例中的服务网络的组成结构示意图。如图4所示,本发明实施例还提供了一种服务网络,所述服务网络能够提供多个ISP线路的接入;该服务网络包括:四层交换设备401,和如上述实施例所述的七层交换设备402;
其中四层交换设备采用Linux虚拟服务器LVS软交换的直接转发DR模式,根据轮询算法将所接收的客户端Web访问请求转发到七层交换设备。
进一步的,本发明实施例提供的服务网络还包括各ISP网络侧web服务器地址间的对应关系,用于记录相同资源在各ISP网络侧web服务器地址见对应关系。
优选的,上述各ISP网络侧web服务器地址间的对应关系可以根据资源的变动以及IP地址的变更等对该对应关系进行更新。
七层交换设备判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,如果一致则将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,如果不一致,则根据预置的各ISP网络侧web服务器地址间的对应关系,查询客户端请求访问的服务器IP地址对应的所述客户端所在ISP网络侧的web服务器地址,将查询到的地址作为匹配的Web服务器地址。
继而,七层交换设备根据所匹配的Web服务器地址对客户端Web访问请求进行导航。
本发明实施例提供的服务网络各功能模块的技术特征请参见上述方法实施例及设备实施例中相关描述,此处不再赘述。
综上所述,本发明实施例中,服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP,在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址,根据所匹配的Web服务器地址对客户端Web访问请求进行导航的技术方案,能实现跨ISP Web访问加速,并且能解决Web服务网站DNS记录不能委托于智能DNS,提供ISP服务的运营商也无法提供智能DNS服务时的跨ISPWeb访问加速的问题。
设计了基于七层交换智能导航技术来提供跨ISP的Web访问加速,同时采用了基于客户端IP数据的查找与智能修正技术来解决数据不准确的问题。
通过七层交换手段解决了多线路接入时Web客户端访问加速的问题。这种采取基于七层交换技术解决多线路接入加速的方案,与智能DNS技术相比,克服了由于运营商DNS服务器部署结构造成判定结果不可控的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种Web访问方法,其特征在于,该方法包括:
服务网络接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的互联网服务提供商ISP;所述服务网络能够提供多个ISP线路接入;
服务网络在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;
服务网络根据所匹配的Web服务器地址对客户端Web访问请求进行导航;
所述在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址包括:判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,如果一致则将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,如果不一致,则根据预置的各ISP网络侧web服务器地址间的对应关系,查询客户端请求访问的服务器IP地址对应的所述客户端所在ISP网络侧的web服务器地址,将查询到的地址作为匹配的Web服务器地址;
如果客户端Web访问请求所要访问的服务器IP地址与客户端所在的ISP一致,则该方法进一步包括:
根据预置概率判断当前客户端是否需要修正检测,是则根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定地址库中的当前客户端IP地址所在的ISP是否需要修正;所述统计库为对属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间汇总得到;
是则,对所述客户端Web访问请求所要访问的服务器IP地址进行修正,修正后的服务器IP地址所在ISP与所述客户端所在ISP不一致,将修正后的地址作为匹配的Web服务器地址;
否则,执行所述将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所匹配的Web服务器地址对客户端Web访问请求进行导航包括:
根据所述匹配得到的Web服务器地址,引导客户端将客户端Web访问请求转发到对应的Web服务器,并将Web服务器反馈的响应数据返回给客户端。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述服务网络包括七层交换设备;
所述七层交换设备执行所述的如下步骤:接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的互联网服务提供商ISP;在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;根据所匹配的Web服务器地址对客户端Web访问请求进行导航;
所述服务网络还包括四层交换设备;
所述四层交换设备采用Linux虚拟服务器LVS软交换的直接转发DR模式,根据轮询算法将所述客户端Web访问请求转发到七层交换设备。
4.根据权利要求3所述的方法,其特征在于,所述将Web服务器反馈的响应数据返回给客户端进一步包括:将判定结果作为cookie写入客户端;其中,判定结果包括:客户端IP地址、客户端所在ISP对应的服务器IP地址、判定结果类型;
在根据客户端IP地址判定客户端所在的ISP之前,该方法进一步包括:检测该客户端是否存在以cookie形式保存的判定结果,是则根据cookie中的判定结果信息判断此次是否需要根据客户端IP地址判定客户端所在的ISP,否则执行根据客户端IP地址判定客户端所在的ISP的步骤。
5.一种七层交换设备,其特征在于,所述七层交换设备设置于服务网络中,所述服务网络能够提供多个ISP线路接入;
所述七层交换该设备包括:智能路由模块;
所述智能路由模块包括,
确定单元,用于接收客户端Web访问请求,根据所述客户端Web访问请求中的客户端IP地址判定客户端所在的ISP;
匹配单元,用于在所述判定的ISP网络中匹配所述客户端Web访问请求所要访问的Web服务器地址;
导航单元,用于根据所匹配的Web服务器地址对客户端Web访问请求进行导航;
所述匹配单元,具体用于判断客户端Web访问请求所要访问的服务器IP地址是否与客户端所在的ISP一致,如果一致则将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址,如果不一致,则根据预置的各ISP网络侧web服务器地址间的对应关系,查询客户端请求访问的服务器IP地址对应的所述客户端所在ISP网络侧的web服务器地址,将查询到的地址作为匹配的Web服务器地址;
该七层交换设备进一步包括,路由修正模块:用于当所述匹配单元判断客户端Web访问请求所要访问的服务器IP地址与客户端所在的ISP一致时,根据预置概率判断是否需要对客户端进行修正检测,是则根据统计库中的数据比较当前客户端以及与当前客户端属于同一地域的各客户端访问所述特定服务器IP地址时的加载时间之间的差异,根据该差异确定地址库中的当前客户端IP地址所在的ISP是否需要修正;所述统计库为对属于同一地域的客户端访问指定ISP内的服务器IP地址的加载时间汇总得到;
是则对所述客户端Web访问请求所要访问的服务器IP地址进行修正,修正后的服务器IP地址所在ISP与所述客户端所在ISP不一致,将修正后的地址作为匹配的Web服务器地址;否则,将客户端Web访问请求所要访问的服务器IP地址作为匹配的Web服务器地址。
6.一种服务网络,其特征在于,所述服务网络能够提供多个ISP线路的接入;该服务网络包括:四层交换设备,和如权利要求5所述的七层交换设备;
其中四层交换设备采用Linux虚拟服务器LVS软交换的直接转发DR模式,根据轮询算法将所接收的客户端Web访问请求转发到七层交换设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110276132.3A CN102299969B (zh) | 2011-09-16 | 2011-09-16 | 一种Web访问方法、七层交换设备和服务网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110276132.3A CN102299969B (zh) | 2011-09-16 | 2011-09-16 | 一种Web访问方法、七层交换设备和服务网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102299969A CN102299969A (zh) | 2011-12-28 |
CN102299969B true CN102299969B (zh) | 2014-04-16 |
Family
ID=45360139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110276132.3A Active CN102299969B (zh) | 2011-09-16 | 2011-09-16 | 一种Web访问方法、七层交换设备和服务网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102299969B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188243A (zh) * | 2011-12-30 | 2013-07-03 | 北京神州泰岳软件股份有限公司 | 一种互联网中为用户提供服务的方法和*** |
CN102611756B (zh) * | 2012-03-28 | 2015-06-10 | 北京蓝汛通信技术有限责任公司 | 一种发送访问请求的方法及*** |
CN103379184B (zh) | 2012-04-23 | 2016-03-16 | 深圳市腾讯计算机***有限公司 | 网络业务访问的方法及*** |
CN102780791A (zh) * | 2012-07-18 | 2012-11-14 | 广东睿江科技有限公司 | 一种自适应ip的方法、装置以及*** |
CN102932473B (zh) * | 2012-11-13 | 2016-05-11 | 北京奇虎科技有限公司 | 跨运营商网络访问网络内容的方法 |
CN102970384B (zh) * | 2012-11-13 | 2016-06-01 | 北京奇虎科技有限公司 | 代理服务器和通信*** |
WO2014075505A1 (zh) * | 2012-11-13 | 2014-05-22 | 北京奇虎科技有限公司 | 跨运营商网络访问网络内容的方法、代理服务器和通信*** |
CN103841159B (zh) * | 2012-11-26 | 2017-04-19 | 北京新媒传信科技有限公司 | 一种离线文件传输***和方法 |
CN103873515B (zh) * | 2012-12-13 | 2018-04-27 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
CN103581040A (zh) * | 2013-11-26 | 2014-02-12 | 深圳中兴网信科技有限公司 | 服务器分配装置和服务器分配方法 |
CN103701948A (zh) * | 2013-12-25 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 域名解析***配置信息的采集方法及装置 |
CN103916489B (zh) * | 2014-03-31 | 2017-08-15 | 浙江宇视科技有限公司 | 一种单域名多ip的域名解析方法及*** |
CN104753926B (zh) * | 2015-03-11 | 2019-04-12 | 华中科技大学 | 一种网关准入控制方法 |
CN106899548B (zh) * | 2015-12-17 | 2020-11-13 | 北京奇虎科技有限公司 | 一种ip地址修正方法和装置 |
CN106899703B (zh) * | 2015-12-17 | 2021-08-20 | 北京奇虎科技有限公司 | 一种ip地址修正方法和装置 |
CN112751950B (zh) * | 2015-12-30 | 2023-03-21 | 创新先进技术有限公司 | 地址更新方法和装置 |
CN105847397A (zh) * | 2016-04-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 为终端设备提供网络服务的方法及装置 |
CN107733950B (zh) * | 2016-08-11 | 2020-12-08 | 百度在线网络技术(北京)有限公司 | 用于访问网站的方法和装置 |
CN106657105B (zh) * | 2016-12-29 | 2019-10-11 | 网宿科技股份有限公司 | 目标资源的发送方法和装置 |
CN107094175B (zh) * | 2017-04-21 | 2020-12-29 | 深圳创维数字技术有限公司 | 一种实现网间互通的服务器部署***及互通方法 |
CN107508760B (zh) * | 2017-09-20 | 2020-01-03 | 杭州安恒信息技术股份有限公司 | 一种基于线路源ip进行负载分发的方法 |
CN109286520A (zh) * | 2018-09-03 | 2019-01-29 | 中新网络信息安全股份有限公司 | 通过智能解析与Nginx反向代理来构造CDN加速节点的方法 |
CN111464449B (zh) * | 2019-01-18 | 2022-07-12 | 广西民族大学 | 一种域间流量本地化交换方法 |
CN110430289B (zh) * | 2019-07-01 | 2022-07-12 | 北京云端智度科技有限公司 | 一种区分相同域名请求来源的方法 |
CN112866116B (zh) * | 2020-12-31 | 2023-06-20 | 平安科技(深圳)有限公司 | 网络访问探测方法、装置、设备及存储介质 |
CN112887410B (zh) * | 2021-01-28 | 2022-12-20 | 郑州市景安网络科技股份有限公司 | 一种web服务程序的运行方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578066B1 (en) * | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
CN101610222A (zh) * | 2009-07-20 | 2009-12-23 | 中兴通讯股份有限公司 | 基于客户端的服务器选择方法及装置 |
CN102025793A (zh) * | 2010-01-22 | 2011-04-20 | ***通信集团北京有限公司 | 一种ip网络中的域名解析方法、***及dns服务器 |
-
2011
- 2011-09-16 CN CN201110276132.3A patent/CN102299969B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578066B1 (en) * | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
CN101610222A (zh) * | 2009-07-20 | 2009-12-23 | 中兴通讯股份有限公司 | 基于客户端的服务器选择方法及装置 |
CN102025793A (zh) * | 2010-01-22 | 2011-04-20 | ***通信集团北京有限公司 | 一种ip网络中的域名解析方法、***及dns服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102299969A (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102299969B (zh) | 一种Web访问方法、七层交换设备和服务网络 | |
CN102394944B (zh) | 一种Web访问中的IP地址库修正方法和设备 | |
US8892725B2 (en) | Method for network anomaly detection in a network architecture based on locator/identifier split | |
CN102238226B (zh) | 在以内容为中心的网络上的会话迁移 | |
US9712422B2 (en) | Selection of service nodes for provision of services | |
CN101656765B (zh) | 身份位置分离网络的名址映射***及数据传输方法 | |
US11671363B2 (en) | Method and apparatus for cross-service-zone communication, and data center network | |
CN103685590B (zh) | 获取ip地址的方法及*** | |
CN101425969B (zh) | 调度方法、调度装置和调度*** | |
CN100346324C (zh) | 一种对用户请求的解析方法 | |
CN103428302A (zh) | 一种域名解析方法、域名解析服务器及域名解析*** | |
CN102158406B (zh) | 面向计算机网络链路的智能选路方法 | |
CN103825919A (zh) | 一种缓存数据资源的方法、装置及*** | |
CN102664811B (zh) | 报文转发方法和装置 | |
CN102594839B (zh) | 一种识别伪dhcp服务器的方法和交换机 | |
CN105656978B (zh) | 一种资源共享方法及装置 | |
US10225358B2 (en) | Page push method, device, server and system | |
CN101599857A (zh) | 检测共享接入主机数目的方法、装置及网络检测*** | |
CN112866113B (zh) | 路由分组转发中arp代理的方法、***、计算机设备及存储介质 | |
CN106411819A (zh) | 一种识别代理互联网协议地址的方法及装置 | |
CN103546375A (zh) | 内容路由方法及装置 | |
CN102437965A (zh) | 目标站点的访问方法及装置 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN102497402B (zh) | 一种内容注入方法及***、内容分发方法及*** | |
CN103188323B (zh) | 基于用户主机缓存设备提供Web服务的***和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |