Web加速方法和系统的制作方法_3

文档序号:8433853阅读:来源:国知局
站点。如果用户的请求线路和Web站点的线路不同,则需要在回源层进行NAT转换。
[0079]本发明选择NAT而没有选择BGP (Border Gateway Protocol,边界网关协议)的原因基于如下两点考虑:
[0080]I) BGP主要适用于公网,对于内部网络而言,NAT比BGP速度更快。
[0081]2) BGP价格昂贵,成本高。
[0082]虽然NAT相对于BGP的配置相对更加复杂,但是为了提供更好的成本效益比,NAT是本方案更好的选择。
[0083]基于本发明上述实施例提供的Web加速方法,通过为用户终端分配可访问的最优CDN节点,代理服务器采用Nginx技术,缓存服务器采用Varnish技术,回源策略采用NAT机制,从而为Web的网络链路层服务质量提供保证,有效解决了 Web加速问题。
[0084]本领域技术人员可以了解的是,系统可将抓取的页面按常规方式提供给用户,因此这里不展开描述。
[0085]在一个实施例中,回源服务器在抓取到页面后,还包括:
[0086]回源服务器判断抓取到的页面是否为静态页面。若抓取到的页面为静态页面,则回源服务器将静态页面存储到Varnish服务器中。
[0087]由此,可便于实现对后续Web请求的加速。
[0088]图2为本发明Web加速方法另一实施例的示意图。如图2所示,本实施例的方法步骤如下:
[0089]步骤201,当DNS解析服务器将选择出的⑶N节点作为当前⑶N节点后,⑶N控制服务器按预定的时间间隔对当前CDN节点进行性能检测。
[0090]本领域技术人员可以了解的是,也可实时对当前CDN节点进行检测。
[0091]步骤202,若检测到当前CDN节点的服务质量低于预定的门限值时,在CDN节点集合中重新选择距离用户终端最近的CDN节点。
[0092]步骤203,在重新选择的⑶N节点与用户终端之间、以及重新选择的⑶N节点与当前LVS服务器之间建立链接。
[0093]步骤204,切断当前⑶N节点与用户终端之间、以及当前⑶N节点与当前LVS服务器之间的链接。
[0094]步骤205,将重新选择的⑶N节点作为当前⑶N节点。
[0095]由此,若当前CDN节点出现拥塞或者故障时,能够及时将请求交给重新选择的CDN节点进行处理,从而提高了用户体验。
[0096]在一个实施例中,还可定期对CDN节点集合中的全部节点进行检测,以判断是否存在比当前CDN节点的服务质量更优的节点。例如,当出现故障的节点经过维修后重新进行CDN节点集合,它能提供更优的服务质量,则系统可自动进行相应的链路切换。
[0097]这里需要说明的是,⑶N控制服务器的核心是控制⑶N节点,由⑶N控制服务器发起整个链路的网络测速功能。所有需要被测速的节点都提前放置固定大小的页面文件以保证测速的准确性。这是因为过大的文件过小的文件释放链接的速度相差较大,进而对测速的结果的准确性影响较大。
[0098]完成测速之后,可以对各个地区的CDN节点的访问速度进行名次的排列,按照其排名动态的调整DNS服务器的优先级以实现DNS智能解析的自动控制。通过各个节点返回的HTTP状态码进行判断,保证对异常状态的及时发现和排查。
[0099]图3为本发明Web加速系统一个实施例的示意图。如图3所示,该系统包括DNS解析服务器301、LVS服务器集群302、Nginx服务器303、Varnish服务器304和回源服务器305。其中:
[0100]DNS解析服务器301,用于当接收到用户终端发送的Web请求时,对Web请求进行解析,以便从CDN节点集合中选择出距离用户终端最近的CDN节点,将选择出的CDN节点作为当前CDN节点;在LVS服务器集群302中选择与当前CDN节点相关联的一个LVS服务器,将选择出的LVS服务器作为当前LVS服务器312 ;将Web请求通过当前CDN节点发送给当前LVS服务器312。
[0101]当前LVS服务器312,用于将Web请求发送给Nginx服务器303。
[0102]Nginx服务器303,用于根据Web请求判断目标页面是否为静态页面;若目标页面为静态页面,则从Varnish服务器304中进行相应页面的抓取;若目标页面为动态页面,则将Web请求发送给回源服务器305。
[0103]Varnish服务器304,用于存储静态页面。
[0104]回源服务器305,用于在接收到Nginx服务器303发送的Web请求后,判断用户终端使用的线路是否与Web请求对应的Web服务器所属运营商的线路相同;若用户终端使用的线路与Web请求对应的Web服务器所属运营商的线路相同,则直接将Web请求发送给所述Web服务器,以便从所述Web服务器进行页面抓取;若用户终端使用的线路与Web请求对应的Web服务器所属运营商的线路不同,则对Web请求进行NAT转换,以便利用与所述Web服务器所属运营商的线路将Web请求发送给所述Web服务器,从所述Web服务器进行页面抓取。
[0105]基于本发明上述实施例提供的Web加速系统,通过为用户终端分配可访问的最优CDN节点,代理服务器采用Nginx技术,缓存服务器采用Varnish技术,回源策略采用NAT机制,从而为Web的网络链路层服务质量提供保证,有效解决了 Web加速问题。
[0106]优选的,回源服务器305还用于在抓取到页面后,判断抓取到的页面是否为静态页面;若抓取到的页面为静态页面,则回源服务器将静态页面存储到Varnish服务器304中。
[0107]优选的,Nginx服务器303具体在判断目标页面为静态页面时,进一步判断Varnish服务器中是否具有相应的Web页面;若Varnish服务器中具有相应的目标页面,则从Varnish服务器中进行相应页面的抓取;若Varnish服务器中没有相应的目标页面,则执行将Web请求发送给回源服务器的操作。
[0108]优选的,当前LVS服务器312还用于在接收到Web请求时,判断与Web请求对应的Web服务器是否处于正常工作状态;若与Web请求对应的Web服务器处于正常工作状态,则执行将Web请求发送给Nginx服务器的操作;若与Web请求对应的Web服务器处于异常工作状态,则拒绝Web请求。
[0109]图4为本发明Web加速系统另一实施例的示意图。与图3所示实施例相比,在图4所不实施例中,系统还包括⑶N控制服务器401。其中:
[0110]⑶N控制服务器401,用于当DNS解析服务器301将选择出的⑶N节点作为当前CDN节点后,按预定的时间间隔对当前CDN节点进行性能检测;若检测到当前CDN节点的服务质量低于预定的门限值时,在CDN节点集合中重新选择距离用户终端最近的CDN节点;在重新选择的CDN节点与用户终端之间、以及重新选择的CDN节点与当前LVS服务器之间建立链接;切断当前CDN节点与用户终端之间、以及当前CDN节点与当前LVS服务器之间的链接;将重新选择的CDN节点作为当前CDN节点。
[0111]通过实施本发明,可以得到以下有益效果:
[0112](I)对⑶N节点进行动态分配,保证了在链路发送阻塞和故障时能够进行链路的智能切换。
[0113](2)利用⑶N节点和DNS负载均衡、Nginx服务器快速处理请求,对Web主站请求进行分流,降低了请求对主站服务器的冲击效应。
[0114](3)利用Varnish做请求缓冲层,快速响应静态页面和动态页面,提高请求响应速度。
[0115](4)设置⑶N回源策略,自动识别运营商,进行内部线路高效转换。
[0116]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1