具体实施方式
本发明实施例提供一种访问互联网信息的方法及系统,用以提高用户访问网页的自动配置和自我适应能力,提高用户访问网页的访问速度。
本发明技术方案是针对某些用户访问某些网页时,访问速度较慢的问题提出的;或者针对用户所在的地理位置多变或环境多变,用户无法找到一条响应时间最短且服务质量最佳的访问路径获取目标网页内容,导致访问网页的速度较差的问题而提出的。
本发明的主要发明思路为:客户端根据自身的本地配置策略、根据历史访问质量确定的访问策略,以及网络侧反馈的访问策略,确定出客户端访问各网页的访问路径。所述网络侧的访问策略包括后台代理服务器反馈的访问策略和中央控制器反馈的访问策略。本发明获取网页内容的访问路径可以动态调整,通过该访问路径获取网页内容,可以保证访问网页的质量和速度。
所述客户端可以是终端上的应用,具体地,可以是互联网终端上运行的访问互联网内容的应用程序;也可以是终端上的互联网代理,终端上的应用程序将客户端设成应用程序的代理,应用程序通过客户端以代理形式访问互联网内容。
以下结合附图对本发明实施例提供的技术方案进行说明。
首先从客户端侧说明本发明实施例提供的网页访问方法。
参见图1,本发明实施例提供的网页访问方法,总体包括以下步骤:
S101、当客户端向网络侧发起访问某一域名的请求消息时,客户端根据预先存储的来自中央控制器的访问策略、客户端的本地配置策略,以及来自后台代理服务器的访问策略和预先生成的访问策略,确定访问所述域名的访问路径;
S102、客户端根据所述访问路径获取目标网站的内容。
本发明实施例所述的目标网站为提供网页内容的目标服务器,也称为源站。
以下具体说明图1所示的网页访问的方法。
客户端向网络侧发起访问某一域名的请求消息,即客户端向网络侧的源站或后台代理服务器发起所述访问某一域名的请求消息。
步骤S101中,针对访问某一域名,中央控制器的访问策略包括两大类:第一类,要求客户端必须执行的访问策略;第二类:建议客户端可选的访问策略;
所述第一类访问策略包括:
1、指示客户端禁止访问所述域名;
2、指示客户端必须通过源站访问所述域名;
3、指示客户端必须通过后台代理服务器访问所述域名。
所述第二类访问策略包括:中央控制器指示客户端可以通过后台代理服务器访问所述域名。
中央控制器可以通过在访问策略中携带策略为可选或必选的标识,以指示客户端来自中央控制器的访问策略为可选择地执行或必须无条件地执行。例如,必选访问策略可以携带“Must”标识,可选访问策略可以携带“May”标识。
当中央控制器的访问策略指示客户端必须通过后台代理服务器访问所述域名时,所述中央控制器的访问策略还包括:必选的后台代理服务器列表和必须不能选择的后台代理服务器的列表,具体可以使用必选黑名单(Black ListMust)和必选白名单(White List Must)的方式指示客户端使用该访问策略;黑名单中的后台代理服务器用于指示客户端不能选择的该服务器获取所述域名对应的目标网页内容;白名单(White List)中的后台代理服务器用于指示客户端必须通过该白名单中后台代理服务器中与所述域名相匹配的后台代理服务器获取所述域名对应的目标网页内容。
当中央控制器的访问策略指示客户端可以通过后台代理服务器访问所述域名时,所述中央控制器的访问策略还包括:建议客户端可选的后台代理服务器列表(White List May)和不可选的后台代理服务器列表(Black List May)。
步骤S101中,针对访问某一域名,后台代理服务器返回给客户端的访问策略形式是:建议采用或建议不采用本服务器访问此域名。
较佳的,后台服务器返回给客户端的访问策略可以放在对客户端请求的访问结果(访问结果中包括与所述域名对应的网页内容)中的头信息部分返回给客户端。
步骤S101中,针对访问某一域名,客户端的本地配置策略包括两大类:第一类,要求客户端必须执行的策略;第二类:建议客户端可选的策略;本发明必选策略优先级高于可选策略的优先级。即所述客户端的本地配置策略中第一类策略的优先级高于第二类策略的优先级。
第一类策略包括以下类型,享有同等优先级,并根据实际配置策略的顺序确定优先级:
1、指示客户端禁止访问所述域名;
2、指示客户端必须通过源站访问所述域名;
3、指示客户端必须通过后台代理服务器访问所述域名。
第二类策略包括以下类型,享有同等优先级,并根据实际配置策略的顺序确定优先级:
1、指示客户端可以直接访问源站;
2、指示客户端可以通过后台代理服务器访问所述域名。
同理,客户端的必选或可选的配置策略也是通过在策略中加入可选标识(May)或必选标识(Must)。
以下结合中央控制器反馈的不同类型的访问策略说明客户端访问网页的方法。
当中央控制器的访问策略指示客户端禁止访问所述域名,客户端停止访问所述域名;
当中央控制器的访问策略指示客户端必须通过源站访问所述域名,客户端直接访问与该域名对应的源站,获取目标网页内容。
当中央控制器的访问策略指示客户端必须通过后台代理服务器访问所述域名时,客户端从预先存储的来自中央控制器的必选后台代理服务器列表中选择一台与该域名相匹配的后台代理服务器获取所述目标网页内容。
当中央控制器的访问策略指示客户端可以通过后台代理服务器获取目标网页内容时,客户端根据所述本地配置策略、来自后台代理服务器的访问策略,以及预先生成的访问策略,确定访问所述域名的访问路径,以获取目标网页内容。
以下具体介绍中央控制器的访问策略指示客户端可以通过后台代理服务器获取目标网页内容时,客户端通过后台代理服务器获取目标网页内容的过程。
当客户端的本地配置策略指示禁止获取所述目标网页内容时,客户端停止访问所述域名;
当客户端的本地配置策略指示必须直接通过源站获取目标网页内容时,客户端直接访问源站以获取目标网页内容;
当客户端的本地配置策略指示必须通过后台代理服务器获取目标网页内容时,客户端从预先存储的来自中央控制器的可选后台代理服务器列表中选择一台中央控制器建议客户端使用的后台代理服务器获取所述目标网页内容;
当客户端的本地策略指示可以通过后台代理访问时,客户端判断是否存在有效的预先生成的访问策略,如果有的话将采用此预先生成的访问策略确定访问路径;如果没有的话,客户端将判断源站的服务质量是否优于服务质量门限值,如果源站的服务质量优于服务质量门限值,客户端直接访问源站;如果源站服务质量低于服务质量门限值时,客户端根据预先存储的来自中央控制器的可选后台代理服务器列表中以及预先存储的来自后台代理服务器的可选后台代理服务器列表中,选择一台后台代理服务器获取所述目标网页内容。这是因为,当所述目标网站的服务质量小于所述门限值时,说明目标网站的服务质量较差,这时采用后台代理服务器作为中继去访问目标网站,访问的服务效果会比较好。因此客户端将确定通过后台代理服务器访问目标网站以获取目标网站内容或直接从后台代理服务器获取目标网站内容。具体地,获取网页内容的路径可以但不限于为:客户端-后台代理服务器-目标网站、客户端-第一后台代理服务器-第二后台代理服务器-目标网站、或者为客户端-第一后台代理服务器-第二后台代理服务器-.....-第N后台代理服务器(N为大于2的正整数)-目标网站。上述获取网页内容的路径仅为举例说明本发明,并不用于限制本发明。客户端具体通过几个后台代理服务器获取目标网站的内容由后台代理服务器决定,该后台代理服务器根据来自中央控制器的访问策略以及自身的健康情况,决定直接访问目标网站,或直接返回目标网站内容,或委托其他合适的后台代理服务器获取目标网站内容。客户端经过决策后的路径访问获得访问结果(即目标网站内容)后,将对此路径加以加权评估判断此访问路径是否有效(对于新决定的路径)或继续有效(对于既有路径),并对策略的生效时间进行标记。
从上述介绍可知,客户端执行策略过程中,客户端、后台代理服务器、中央控制器的访问策略优先级从高到低依次为:中央控制器的Must策略、客户端的Must策略、中央控制器的May策略、后台代理服务器的May策略,客户端的May策略,客户端自身生成的访问策略。
需要说明的是,上述当中央控制器的访问策略用以指示客户端必须直接访问源站时,客户端直接访问源站以获取目标网页内容。该访问策略适用于访问某些安全性要求较高的网站。例如政府对某些敏感内容进行检测和干预的网站需要禁止通过后台代理服务器访问;对安全性要求比较高的网站,当有大量的用户通过后台代理服务器访问网站时,网站会把来自于后台代理服务器的访问请求当作是网络攻击进行处理。
当客户端的本地策略指示客户端必须直接访问源站的访问策略适用于客户端所处的当前网络环境较好,源站的服务质量较高的情况。相比较其他访问策略,客户端直接访问源站会提高网页访问的速度。
需要说明的是,后台代理服务器在返回给客户端目标网站内容时,会缓存适合缓存的所述目标网站内容,当客户端或者其他后台代理服务器需要获取目标网站内容时,后台代理服务器会先查找自身是否缓存了所述目标网站内容,如果是则直接向所述客户端或者所述其他后台代理服务器返回在有效缓存期内的目标网站内容。
所述客户端自身预先生成的访问策略,具体为:客户端根据访问所述域名的实际访问质量生成所述访问策略,并定时检测该访问策略的有效性。
客户端预先生成的访问策略的有效性是指:该访问策略生成或刷新之后符合访问策略的有效期,并且相关的中央控制器的Must策略、客户端的Must策略、中央控制器的May策略、后台代理服务器的May策略,客户端的May策略均没有发生变化。
客户端访问所述域名的实际访问质量,可以通过实时访问和定时检测的方式访问所述域名的实际访问质量。
客户端通过实时访问和定时检测的方式访问所述域名的实际访问质量,具体为:客户端根据在同网络环境下的访问网页的日志信息,确定所述域名的历史访问质量。访问网页的日志信息可以包括访问时间、链路情况,和计费数据等。具体地,客户端在每次接收到来自网络侧的网页内容时,记录该次访问网页的日志信息,根据该日志信息确定历史访问质量,根据该历史访问质量调整自身预先生成的访问策略。例如:将服务质量、链路质量符合标准或负荷较小的后台代理服务器设置在与该网页对应的访问路径中;或者,当在一定的时间内未接收到来自网络侧的相应网页内容时,将相应的网页访问路径中出问题的后台代理服务器设置在与该网页对应的访问路径之外。
较佳的,由于网络路径的波动性比较大,在计算路径质量时采用累计加权方式评估既有路径的服务质量,并针对策略的有效期加以调整。
当客户端决定通过后台代理服务器获取目标网页内容时,客户端根据自身预先生成的访问策略决定选择一台服务质量较好的后台代理服务器。后台代理服务器会将预先存储在本地的属于有效缓存期内的目标网页内容返回给客户端,或者当本地不存在目标网页内容时,该后台代理服务器根据自身访问策略决定回源站还是选择下一台合适的后台代理服务器获取目标网页内容。
需要说明的是,所述访问某一域名的请求消息可以是所述客户端自身发起的,也可以是其他客户端发送来委托该客户端发起的。也就是说,本发明公开的访问网页的加速系统可以适用于加速本系统的客户端(当然不限于一个客户端)发起的访问网页的请求消息,也可以作为一个独立的网页加速系统加速其他客户端委托的访问网页的请求消息。即步骤S101中,所述客户端直接向网络侧发起访问某一域名的请求消息,或者接收到的来自其他客户端的访问某一域名的请求消息,将该请求消息发送给网络侧。
另外,由于来自中央控制器的访问策略预先存储在客户端,且网络情况是动态变化的,网络侧的服务质量(即后台代理服务器和源站的服务质量)也是随时变化的,中央控制器将针对网络的变化动态调整向客户端发出的访问策略,以使得客户端接收到的来自中央控制器的访问策略更加准确,使得访问网页的速度更加快速。
较佳地,当客户端在启动服务时,或者客户端接入网络的类型有变动时,客户端获取来自中央控制器的访问策略,根据该新获取的访问策略更新所述预先存储的来自中央控制器的访问策略;或者
客户端定时访问中央控制器,从中央控制器获取与每一域名对应的更新后的访问策略以更新预先存储的来自中央控制器的访问策略。
需要说明的是,本发明通过后台代理服务器访问目标网站,具体可以通过网状结构的内容分发网络CDN系统中的后台代理服务器获取网页内容,并向客户端返回网页内容。此时,CDN网络后台代理服务器起到加速网页访问的作用。本发明有效利用后台代理服务器组成的网状结构完成网页访问的加速。
较佳地,通过后台代理服务器访问目标网站,客户端可以通过将网页访问任务交给响应速度、成本和自身健康程度的加权值较高的后台代理服务器,委托其完成网页的访问。
较佳地,步骤S102客户端根据确定出的访问路径访问目标网站之后,还包括:接收来自目标网站的与访问当前网页对应的网页内容;当在预设时间内未接收到所述网页内容时,重新确定访问当前网页的访问路径,根据重新确定出的访问路径访问目标网站。
该重新确定访问路径的方式和上述确定访问路径的方式类似,这里不再赘述。
上述客户端在预设时间内未接收到本次访问网页对应的网页内容时,自动切换访问路径,将访问网页的任务转交给其他后台代理服务器,以完成对网页的访问。这种方法确保了在访问网页出现故障或访问速度较慢等情况下,客户端自动切换网页的访问路径,使得该次访问网页的过程顺利进行,加快网页的访问速度。并且,客户端根据中央控制器返回的访问策略和自身的配置策略以及访问策略综合决定出网页的访问路径,无需客户端使用者费力地分析和配置访问策略,减轻了对使用者的技术和能力要求,方便了使用。
为了避免客户端DNS配置错误影响对源站的访问质量,中央控制器可以根据客户端的IP地址提供给客户端一个正确可用的DNS服务器地址;客户端采用中央控制器提供的DNS服务器查询源站域名对应的IP地址。
以下从网络侧说明本发明实施例提供的网页访问方法。
参见图2,通过后台代理服务器实现网页访问的方法包括以下步骤:
S201、当后台代理服务器接收到来自客户端的访问某一域名的请求消息时,根据预先存储的来自中央控制器的访问策略,以及预先存储的访问所述域名的服务质量和自身当前的状态信息,确定后续访问路径。
S202、后台代理服务器根据所述访问路径访问与该域名对应的目标网站。
较佳地,该方法还包括:所述后台代理服务器定时探测自身对各域名的服务质量和自身健康状况,如可以设置每隔两分钟或者三分钟探测一次,根据所述服务质量和自身健康状况生成本地访问策略,并上报给中央控制器,以使得中央控制器根据所述各后台代理服务器的访问策略更新访问所述域名的访问策略。后台代理服务器还可以向中央控制器上报配置信息或自身的一些要求。
较佳地,所述方法还包括:所述后台代理服务器定时访问中央控制器确定自身的访问策略。
较佳地,所述方法还包括:所述后台代理服务器定时检测并统计所述域名的链路质量,根据网络运行情况和链路质量生成建议可选的访问策略,动态地将所述可选的访问策略返回给客户端。
后台代理服务器可以以Http头的方式动态返回客户端针对每一域名的可选的访问策略;
后台代理服务器检测到不满足服务质量要求的目标网站,采用定时或累进的递延方式进行路径探测,以发现新的符合服务质量要求的路径。
即:根据后台代理服务器的链路质量和网络运行情况,将某些不可用的后台代理服务器列入黑名单。不可用的后台代理服务器的链路质量较差,对应的访问路径较差;将可用的后台代理服务器列入白名单,可用的后台代理服务器为链路质量较好,对应的访问路径较优。
步骤S202后台代理服务器根据所述访问路径访问与该域名对应的目标网站。具体地,后台代理服务器还可以根据来自中央控制器的访问策略继续确定后续的访问路径,或者直接访问源站,或者通过其他的后台代理服务器访问网页,这里不再赘述。
较佳地,当后台代理服务器确定通过其他的后台代理服务器访问网页,且其他可选的后台代理服务器不止一台时,还可以根据访问路径对应的网页内容的响应速度或访问路径的服务质量,为服务同一域名目标网站的访问路径配置访问路径优先级。网页内容的响应速度越快,访问路径优先级越高,反之,网页内容的响应速度越慢,访问路径优先级越低。或者还可以根据其他的指标结合网页内容的响应速度等的综合评估结果,为访问路径配置优先级。
具体地,后台代理服务器根据记录的网页访问日志确定出的历史访问质量和探测到的各后台代理服务器的链路质量,快速统计和加权计算出每一个域名对应目标网站的访问路径。例如,可以根据本服务器访问目标网站的某一网页的实际使用时间,或根据叠加计算访问路径中的后台代理服务器之间路径(即网络路径)质量和成本,或者根据商用成本,或者根据上述多因素的加权,自动选择到目标网站的路径。
本发明通过后台代理服务器实时统计计算本服务器与目标网站之间的访问路径,对计算出的访问路径做优化选择,实时上报对每一域名的访问路径,并为各访问路径配置优先级。中央控制器根据这些信息结合整体的配置策略,动态更新发给客户端和后台代理服务器的策略;客户端根据中央控制器给出的更新的策略、客户端自身的本地配置策略、客户端在服务过程中统计计算形成的访问路径优先级,选择一条网页内容响应速度快的访问路径,加快网页的访问速度。
以下将具体介绍中央控制器实现网页访问的方法。
参见图3,本发明实施例提供的网页访问控制方法,包括以下步骤:
S301、接收客户端发送的策略访问更新请求消息;
S302、中央控制器将当前已经更新的访问策略返回客户端,该策略访问请求消息用于指示中央控制器提供更新后的访问策略。
上面已经介绍过中央控制器的访问策略,这里不再赘述。
需要说明的是,中央控制器不是针对每个页面给出访问策略,而是基于域名或者域名通配组给出对应的可用的后台代理服务器组;例如:
Must*.facebook.com直接访问;
May www.enterprise.com经过S1(40%),S2(30%),S3(30%)访问;
Must*.enterprise.com经过S1访问;
Must*.fake.com禁止访问;
中央控制器根据网络侧的变化以及系统中各个后台代理服务器上报的数据,实时更新访问策略,客户端定时访问中央控制器获取刷新后的访问策略。同时,针对不同的客户端,中央控制器给出的访问策略是定制的,不同的。
本发明所述配置策略或访问策略在访问完一个网页之后是动态变化的,可以保证客户端在后续每次做出的访问网站的路径信息是可靠的。
一般情况下,为了考虑访问策略更新的及时性和系统统计信息等带来的开销,后台代理服务器会做出整体的评估,然后决定更新访问策略的频率,无需人为干预,系统自适应,自动调节,后台代理服务器智能上报的访问网页的策略。
在后台代理服务器向中央控制器发送信息之前,后台代理服务器自动探测其他后台代理服务器的链路质量。这种探测可以是实际服务中将其他后台代理服务器作为访问路径时的链路质量测量,也可以定期采用探测的方式主动探测。
上述本发明提供的网页访问方法,通过后台代理服务器及时动态地向中央控制器上报与当前域名对应的访问策略,中央控制器根据系统管理配置以及收集的后台代理服务器的数据,动态更新待返回客户端的访问策略;客户端通过定期请求和网络环境变化时请求以获取来自中央控制器的最新的访问策略,客户端根据自身的配置策略和中央控制器反馈的访问策略,综合考虑确定一条最佳的网页访问路径信息。采用所述网页访问方法首先不会因为在配置了错误的DNS的情况下采取较差的访问路径。最重要的是,根据客户端自身的配置情况和网络侧后台代理服务器的运行情况等信息,选择一条路径、出错率、响应速度、成本和自身健康程度等指标加权值较高的访问路径,以提高网页的访问速度,即使是在某些路径走不通的情况下,可以切换到其他的路径实现网页的访问。采用所述网页访问方法还可以保证DNS配置的精准性,客户端通过对中央控制器的查询获得适用于客户端的DNS服务器地址,用于对直接访问目标网站的域名查询;客户端采用后台代理服务器作为访问路径时,客户端将不会依靠自身的DNS来解析其要访问的域名,而是简单的把请求交给后台代理服务器,后台代理服务器可以采用服务器本身的DNS地址来解析域名。这样,不管是客户端还是后台服务器都能使用正确的DNS地址获得域名的解析。
以下介绍本发明实施例提供的与所述方法对应的系统。
参见图4,本发明实施例提供的一种网页访问系统,包括:客户端1、后台代理服务器2,以及中央控制器3;
客户端1,用于在向网络侧发起访问某一域名的请求消息时,根据预先存储的来自中央控制器的访问策略,以及客户端的本地配置策略、来自后台代理服务器的访问策略,以及自身预先生成的访问策略,确定访问所述域名的访问路径;以及根据所述访问路径访问与该域名对应的目标网站;
后台代理服务器2,用于当接收到来自客户端的访问某一域名的请求消息时,根据预先存储的来自中央控制器的访问所述域名的访问策略,以及预先存储的访问所述域名的服务质量和自身当前的状态信息,确定后续访问路径;以及根据所述访问路径访问与该域名对应的目标网站;
中央控制器3,用于定时向所述客户端和后台代理服务器发送访问某一域名的访问策略,以及接收每一后台代理服务器发送的该后台代理服务器的服务质量,根据该后台代理服务器的服务质量更新访问策略。
较佳地,所述后台代理服务器还用于定时探测自身的服务质量和自身的健康状况,根据探测到的所述自身的服务质量和自身的健康状况生成本地策略,将该本地策略上报给中央控制器,以使得中央控制器根据所述本地策略更新待返回给客户端的访问策略。
所述后台代理服务器可以是网络侧的一个或多个后台代理服务器,例如CDN系统中的节点服务器。
综上,本发明实施例提供的网页访问方法及系统,用户端(客户端)通过自身的配置策略以及网络侧的网页访问的访问策略,选择一条最优的访问路径从目标网站获取网页内容。该合适的路径为出错率、响应速度、成本和自身健康程度等指标加权值较高的访问路径,通过该访问路径访问网页,提高了网页的访问速度。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。