[发明专利]内容分发网络节点实现web应用加速的方法和系统有效
申请号: | 201310349444.1 | 申请日: | 2013-08-12 |
公开(公告)号: | CN103401942A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 洪珂;郭文强;董曙佳 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 施浩 |
地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内容 分发 网络 节点 实现 web 应用 加速 方法 系统 | ||
技术领域
本发明涉及实时Web应用加速的技术,尤其涉及基于WebSocket的高效实时Web应用加速的技术。
背景技术
当前存在很多实时Web应用,如:在线游戏、在线证券和邮件提示等,由于现行网络等各种因素导致用户体验变差,因此,内容分发网络(CDN)对实时Web应用的加速成为必然。
目前的实时Web应用加速方案仍然采用的是基于HTTP协议的传统技术方案,有以下三种方案:
(1)定时轮询:工作原理是客户端定时对服务端进行轮询请求,从而保证数据的实时性。这是一种低效的实现方案,将带来很多无谓的网络带宽消耗。
(2)长轮询:工作原理是当服务端没有数据更新时,连接会保持一段时间直到数据发生变化或时间过期。对比定时轮询,该种方法减少了无效的网络传输。但当服务端的数据变更频繁时,这种机制同定时轮询没有本质上的性能优势。
(3)流技术:工作原理是在客户端的页面里面使用一个隐藏窗口,该窗口负责向服务端发起长连接请求。相比长轮询技术,优势是可以一直维持连接发送任意数据,除非连接出现异常错误。由于该机制一直维持连接,这样在并发比较大的情况下,对服务端的资源是一个极大的考验。
因此,现有技术方案存在以下弊端:
针对定时轮询,消耗很多无谓的网络带宽。
针对长轮询,对于数据变更频繁的服务端,该技术性能相比定时轮询并没有得到提升。
针对流技术,在大并发的情况下,可能导致服务端无法承受。
CDN节点加速没有区分CDN加速客户的实时和非实时内容,因此,也就无法对实时内容的加速进行特殊优化。
发明内容
本发明的目的在于解决上述问题,提供了一种内容分发网络节点实现web应用加速的方法和系统,保证了数据传输的稳定性和及时性,并降低了网络负载,可较大幅度地提高实时服务的性能,降低了对源和CDN节点处理资源的浪费,减轻了处理压力。
本发明的技术方案为:本发明揭示了一种内容分发网络节点实现web应用加速的方法,包括:
步骤1:客户端向内容分发网络节点发送http请求;
步骤2:内容分发网络节点接收http请求数据,解析http请求头数据,并根据http请求头数据判断是WebSocket协议的握手请求或普通的http请求;
步骤3:若http请求是WebSocket协议的握手请求,则初始化WebSocket上下文,并检验握手请求的合法性,若请求不合法则直接发送400响应给客户端,同时关闭链路;
步骤4:处理并转发http请求数据给源或其他内容分发网络节点;
步骤5:接收来自源或其他内容分发网络节点的http响应数据,解析该http响应数据头,并根据http响应数据头判断响应是WebSocket握手响应或普通的http响应,若是普通的http响应则根据http协议处理,若是WebSocket握手响应且响应状态码是101,则WebSocket握手成功;
步骤6:在WebSocket握手成功之后,验证WebSocket握手响应的合法性,若不合法则直接关闭链路,若合法则转发响应数据给客户端,维持链路并进行WebSocket协议的实时双向通讯。
根据本发明的内容分发网络节点实现web应用加速的方法的一实施例,在步骤2中,若请求头中同时包含Connection和Upgrade头,且Connection头的值中包含“Upgrade”,Upgrade头的值是“WebSocket”,则判断该http请求是WebSocket协议的握手请求,否则判断该http请求是普通的http请求。
根据本发明的内容分发网络节点实现web应用加速的方法的一实施例,在步骤3中根据WebSocket协议的版本号进行握手请求的合法性检查,在步骤6中根据WebSocket协议的版本号进行握手响应的合法性检查。
根据本发明的内容分发网络节点实现web应用加速的方法的一实施例,在步骤5中,根据http协议处理普通的http响应包括处理并转发响应数据给客户端,根据Connection头的配置方式决定是否关闭链路,若是不关闭链路则返回步骤1处理。
根据本发明的内容分发网络节点实现web应用加速的方法的一实施例,在步骤6中,在WebSocket协议的实时双向通讯过程中若一方接收到WebSocket关闭帧则关闭链路。
本发明还揭示了一种内容分发网络节点实现web应用加速的系统,包括:
请求发送装置,客户端向内容分发网络节点发送http请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310349444.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种服务组合动态重构系统
- 下一篇:液体收容单元
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法