CN104394182A - 一种实现内容分发网络加速的方法及源服务器 - Google Patents
一种实现内容分发网络加速的方法及源服务器 Download PDFInfo
- Publication number
- CN104394182A CN104394182A CN201410106855.2A CN201410106855A CN104394182A CN 104394182 A CN104394182 A CN 104394182A CN 201410106855 A CN201410106855 A CN 201410106855A CN 104394182 A CN104394182 A CN 104394182A
- Authority
- CN
- China
- Prior art keywords
- content
- request
- download request
- module
- distributing network
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种实现内容分发网络加速的方法及源服务器,所述方法包括:源服务器接收内容分发网络发送的第一格式的下载请求,对所述下载请求进行参数解析,得到所述下载请求中包含的输入参数,将所述输入参数转换为第二格式;所述源服务器根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。本申请中使用CDN能够识别的下载请求,并在源服务器中解析下载请求中包含的参数并转换为第二格式,不仅能够避免由于CDN无法理解下载请求导致缓存失效的问题,而且能够避免将参数对CDN公开导致的CDN带宽浪费以及CDN加速失效的问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种实现内容分发网络加速的方法及源服务器。
背景技术
内容分发网络(Content Delivery Network,CDN)的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。CDN通过在网络各处放置服务节点构成在现有互联网基础之上的一层智能虚拟网络,能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点上。目的是使用户可以就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术和内容管理技术等。
如图1所示,CDN加速包括加速静态内容和加速动态内容。DNS在用户请求动态内容时将用户请求路由至WEB动态内容服务器;用户请求文件数据时将用户请求路由至CDN的服务节点处理。
静态页面加速服务是指CDN和WEB文件交互服务器形成良好的互动,即将WEB文件交互服务器的网页内容:超文本标记语言(html)文件、flash动画及各种文件类型的图片缓存于CDN中心网络中,这些文件的特点在于更新的频率较低,用缓存技术将文件缓存在CDN的边缘节点上,即可以满足终端用户就近访问的需求。文件可以通过定期和不定期的方式在CDN的服务节点上进行更新。定期更新时CDN中心网络主动更新WEB文件交互服务器的数据,再通过智能解析系统将内容进行优化分配到各服务节点;不定期更新可以通过CDN提供商后台管理系统进行主动推送完成。
静态页面加速服务是CDN的基本应用,也是使用最为广泛的服务,对各种静态内容,采用CDN静态加速可以达到很好的加速效果。
CDN加速动态内容实际上是通过将内容路由到CDN的服务节点,再由服务节点反向请求WEB动态内容服务器,再由WEB动态内容服务器将数据返回CDN的服务节点,通过CDN的服务节点返回给用户终端。CDN的服务节点仅仅实现数据透传,本身不做缓存。因此加速的效果并不明显,反而因为多了一层转发拖慢了内容响应的速度,因此使用CDN加速动态内容并未被广泛使用,图1中并未采用CDN加速动态内容。
目前在CDN加速中,涉及文件访问的所有接口为了满足后期统计及数据挖掘的需求扩展了手机类型、请求用户、客户端版本和任务标识等参数。在客户端发送的请求中,这些参数都是在地址之后通过POST或者GET方式附带到CDN。
基于以上描述,目前在部署CDN加速时存在如下问题:
(1)采用CDN加速之前的所有接口,包括文件上传和下载,都是使用动态脚本处理,客户端的调用方式完全一样(地址相同)仅通过参数区别不同的请求到服务器下载数据。在使用CDN加速时,CDN的服务节点会无法理解目前采用的交互请求,导致无法从服务器拉取内容,如果将参数对CDN公开,那么CDN的服务节点将会针对所有用户的请求均从服务器拉取数据缓存,导致CDN缓存的带宽造成无谓的浪费,并且难以实现相同群体的用户共享最近的文件资源,导致CDN加速失效。
(2)文件的下载方式使用了自定义的协议通信,如通过POST方式附带参数,CDN无法识别POST,难以应用CDN加速。
发明内容
本发明要解决的技术问题是提供一种实现内容分发网络加速的方法及源服务器,既能够避免发生CDN加速失效,又提高了网站的安全性。
为解决上述技术问题,本申请的一种实现内容分发网络加速的方法,包括:
源服务器接收内容分发网络发送的第一格式的下载请求,对所述下载请求进行参数解析,得到所述下载请求中包含的输入参数,将所述输入参数转换为第二格式;
所述源服务器根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。
进一步地,所述第一格式的下载请求是内容分发网络转发的由客户端发起的统一资源定位符格式的下载请求;
所述将所述输入参数转换为第二格式,包括:将所述输入参数转换为JSON格式。
进一步地,所述源服务器接收内容分发网络发送的第一格式的下载请求,包括:所述源服务器接收第一格式的下载请求,根据预先配置的统一资源定位符重写规则以及所述下载请求中包含的操作类型参数判断所述下载请求是否来自内容分发网络,如果是,则执行所述对所述下载请求进行参数解析。
进一步地,所述方法还包括:
所述源服务器在接收第一格式的下载请求后,判断所述下载请求是否是来自内容分发网络之前,判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容,则所述源服务器直接返回请求下载的内容;如果请求下载的内容是动态内容,则执行所述判断所述下载请求是否是来自内容分发网络。
进一步地,一种内容分发网络更新内容的方法,包括:
内容分发网络接收客户端发送的下载请求,所述下载请求中包含请求下载的内容对应的更新标识,所述更新标识由所述客户端在发送所述下载请求之前从更新标识服务器获取;
所述内容分发网络判断所述下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果不相同,则将所述下载请求转发给源服务器,从所述源服务器拉取更新后的请求下载的内容;如果相同,则将本地缓存的请求下载的内容返回给客户端。
进一步地,所述更新标识是更新内容的主体为更新后的内容所创建,并发送到更新标识服务器。
进一步地,一种源服务器,包括:重写模块、路由模块和主入口模块,其中:
所述重写模块,用于接收内容分发网络发送的第一格式的下载请求;
所述路由模块,用于对所述下载请求进行参数解析,得到所述下载请求中包含的输入参数,将所述输入参数转换为第二格式并发送给主入口模块;
所述主入口模块,用于根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。
进一步地,所述第一格式的下载请求是内容分发网络转发的由客户端发起的统一资源定位符格式的下载请求;
所述路由模块将所述输入参数转换为第二格式,包括:将所述输入参数转换为JSON格式。
进一步地,所述重写模块接收内容分发网络发送的第一格式的下载请求,包括:接收第一格式的下载请求,根据预先配置的统一资源定位符重写规则以及所述下载请求中携带操作类型参数判断所述下载请求是否来自内容分发网络,如果是,则通知所述路由模块对所述下载请求进行参数解析;
所述重写模块,还用于在接收第一格式的下载请求后,判断所述下载请求是否是来自内容分发网络之前,判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容,则请求所述主入口模块直接返回请求下载的内容;如果请求下载的内容是动态内容,则执行所述判断所述下载请求是否是来自内容分发网络。
进一步地,一种内容分发网络的服务节点,包括:接收模块、判断模块、更新模块和缓存模块,其中:
所述接收模块,用于接收客户端发送的下载请求,所述下载请求中包含请求下载的内容对应的更新标识,所述更新标识由所述客户端在发送所述下载请求之前从更新标识服务器获取;
所述判断模块,用于判断所述下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果不相同,则通知所述更新模块;如果相同,则通知所述缓存模块;
所述更新模块,用于将所述下载请求转发给源服务器,从所述源服务器拉取更新后的请求下载的内容;
所述缓存模块,用于将本地缓存的请求下载的内容返回给客户端;
所述更新标识是更新内容的主体为更新后的内容所创建,并发送到更新标识服务器。
综上所述,本申请中使用CDN能够识别的下载请求,并在源服务器中解析下载请求中包含的参数并转换为第二格式,不仅能够避免由于CDN无法理解下载请求导致缓存失效的问题,而且能够避免将参数对CDN公开导致的CDN带宽浪费以及CDN加速失效的问题,并且,重组参数后,既很好的利用了CDN的优势实现了访问加速,将网站静态内容分布到用户能够最快访问的区域,大大提高了用户体验,同时在没有牺牲加速性能的前提下,隐藏了下载文件流内容的格式、文件名、编码规则、存放路径等文件自身的属性,提高了网站自身的安全性,并且利用重组规则能够简化文件读取的请求,使得请求更加简洁易懂,而网站的文件存储系统则完全与用户的请求解耦合,更加强了网站自身的独立性和灵活性。
附图说明
图1为现有技术中实现内容分发网络加速的网路架构图;
图2为本申请的实现内容分发网络加速的网络架构图;
图3为本申请的实现内容分发网络加速的方法的流程图;
图4为本申请的内容分发网络更新内容的方法的流程图;
图5为本申请的源服务器的架构图;
图6为本申请的内容分发网络的服务节点的架构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图2所示,本申请中针对WEB架构及网站通讯方式进行了改造,将WEB文件交互服务器和WEB动态内容服务器合设为源服务器,在源服务器中使用URL-Rewrite(地址重写),URL-Rewrite将客户端的请求规范为标准的方式,如将下载请求规范为统一资源定位符(Uniform Resource Locator,URL)格式的下载请求,源服务器对下载请求进行参数解析,将输入参数转换为第二格式,如转换为JSON(JavaScript Object Notation)格式,根据第二格式的输入参数查询请求下载的内容,这样保证了可以有效使用CDN加速。
如图3所示,本申请的实现内容分发网络加速的方法,包括:
步骤301:客户端发送第一格式的下载请求,请求下载内容,下载请求经域名系统(Domain Name System,DNS)解析到CDN的服务节点;
目前在CDN加速中通过地址+POST附带参数的方式请求下载内容,这种方式会造成CDN加速失效的问题。本申请中将客户端的下载请求规范为标准的方式,如第一格式的下载请求可以是URL格式的下载请求,源服务器中配置的URL-Rewrite规范了下载请求的格式。URL格式的下载请求的规则可以为:http://域名/输入参数。
以下列举了在几个常用业务中使用本申请的实现CDN加速的方法时的URL格式的下载请求和其中包含的输入参数。
(1)分享帖子附件下载
(2)分享缩略图下载
(3)分享背景图下载
输入参数 | /op_type/author_id/bg_name |
url样例 | http://10.254.33.104/pbsfs/2003/54/1372404952771568.jpg |
(4)视频截图下载
(5)普通头像下载
输入参数 | /op_type/user_id/token注:token为更新标识(见下文)对服务器无意义 |
url样例 | http://10.254.33.104/avatar/2007/54 |
(6)高清头像下载
输入参数 | /op_type/user_id/token注:token对服务器无意义 |
url样例 | http://10.254.33.104/avatar/2008/54 |
(7)启动页面下载
输入参数 | /op_type/path/token/lang/os/type/token |
url样例 | http://10.254.33.104/dls/2009//0/1/1/1/1/14 |
(8)群聊头像下载
输入参数 | /op_type/group_id |
url样例 | http://10.254.33.104/pgfs/2010/1018 |
(9)群聊附件下载
(10)广告下载
输入参数 | /op_type/attach_name |
url样例 | http://10.254.33.104/pbsfs/2012/1366710051.jpg |
(11)公共账号普通头像下载
输入参数 | /op_type/account_id/token注:token对服务器无意义,可以取公共账号 |
列表里面的avatar_state字段值 | |
url样例 | http://10.254.33.104/pasfs/2013/1018/0 |
(12)公共账号高清头像下载
(13)公共账号消息文件下载
输入参数 | /op_type/account_id/attach_type/attach_name/commit_dt/offset |
url样例 | http://10.254.33.104/pbsfs/2012/1366710051.jpg |
本申请中DNS解析域名时根据类型将下载请求路由到正确的服务器上,本申请中DNS将下载请求路由到CDN的服务节点上。
步骤302:CDN的服务节点在接收到第一格式的下载请求后,查询本地是否缓存有请求下载的内容,如果CDN的服务节点本地没有缓存请求下载的内容,则向源服务器转发下载请求;
如果CDN的服务节点中存在请求下载的内容,则直接将缓存的内容发送给客户端,结束。
步骤303:源服务器的重写模块(Rewrite)接收内容分发网络发送的第一格式的下载请求,转发给路由模块(router.php);
源服务器接收内容分发网络发送的第一格式的下载请求,包括:接收第一格式的下载请求,判断下载请求是否是来自CDN,如果是,则将下载请求转发到路由模块。
本申请中重写模块在接收到下载请求后,判断下载请求是否来自CDN之前,还可以判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容(如jpg文件或静态html文件),则源服务器的主入口模块(index.php)直接返回请求的静态内容;如果请求的是动态内容,则重写模块执行上述判断下载请求是否是来自CDN。源服务器可以根据下载请求中包含的操作类型(op_type)判断请求下载的内容是静态内容还是动态内容。
源服务器根据预先配置的URL-Rewrite规则以及下载请求中携带操作类型参数判断下载请求是否来自CDN。下面对如何判断下载请求是否来自CDN进行详细说明。
(一)URL-Rewrite实现及配置。
在Apache下URL-Rewrite规则分为服务器级(httpd.conf)和目录级(.htaccess)两个级别。
(1)开启Rewrite模块,找到Apache的配置文件目录/conf/,在httpd.conf文件中添加下列语句:
LoadModule rewrite_module modules/mod_rewrite.so;
(2)配置完成后重启Apache服务:
Service httpd restart;
(3)查看Rewrite模块是否成功加载,可通过phpinfo命令,在apache2handler列表项中查看Loaded modules,如果存在mod_rewrite则表示加载已成功;
(4)配置目录访问规则:
将httpd.conf配置中所有visualhost节点中的目录访问权限中加入下面语句:
AllowOverride All;//表示允许访问站点下的所有目录
(5)编写rewrite规则:
Rewrite规则使用的是perl语法的正则表达式,语法为:
rewriterule[规则正则][转换地址];
规则可存入.htaccess文件,规则完整内容如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/pasfs/
RewriteRule(1005|1007)/web/router.php[L]//表示将1005接口或1007接口跳转到router.php中处理。
</IfModule>
本申请中源服务器根据预先配置的URL-Rewrite规则以及下载请求中携带操作类型参数判断下载请求是否来自内容分发网络,包括:判断下载请求中包含的操作类型参数是否属于URL-Rewrite规则中指定的操作类型,如果属于,则判断下载请求来自CDN。
如果下载请求不是来自CDN则忽略,忽略后的请求由源服务器底层服务接管,进行相应的处理。
步骤304:router.php接收下载请求,对下载请求进行参数解析,得到下载请求中包含的输入参数,将输入参数转换为第二格式,将转换格式的输入参数传输给主入口模块(index.php);
本申请中在进行参数解析后,router.php还可以先筛选出输入参数op_type(操作类型),判断op_type是否属于CDN来源的范围,如果op_type属于CDN来源的范围,则进一步将输入参数转换为第二格式(如json格式),并交由index.php处理。
以下为router.php进行参数解析以及将输入参数转换为json格式所采用的部分代码:
步骤305:index.php收到第二格式的输入参数后进行必要的逻辑处理并查询请求下载的内容的存放位置,如果存在请求下载的内容则将请求下载的内容返回给CDN。
index.php为接口网站入口程序,所有动态内容的请求都将汇集到index.php处理,包含来自CDN的请求和其他请求。
本申请中index.php以流数据形式将请求下载的内容返回给CDN。CDN接收到请求下载的内容后进行缓存并发送给客户端。
本申请中可以在index.php控制输出的内容,或者增加统计监控,比如跟踪内容的下载次数或者非正常访问拒绝服务等功能。
本申请还提供了一种CDN更新内容的方法,CDN主要是通过在本地存储来达到加速访问的目的,在内容被大量的分布于CDN的服务节点之后,如何确保内容被删除或更新后能够及时更新各个CDN的服务节点,确保用户拉取到的内容为最新版本便成为一个需要解决的问题。传统的CDN能够实现定时或不定时更新内容。
定时更新主要是通过设置一个缓存过期时间,一旦内容达到缓存过期时间,缓存的内容将会被释放,用户访问CDN的服务节点时将会直接从服务器拉取最新内容。
不定时更新方式主要是通过CDN管理后台维护更新。
上述两种更新方式都存在缺陷,定时更新由于存在时间间隔,导致在缓存过期时间没有达到的时间段内,用户仍然只能访问到旧内容,影响用户体验,不定时更新则需要不间断的人工监控和管理,难以维护。
为了解决上述问题,为了能够在不进行人工干预的情况下,确保文件在更新之后能够立即同步到CDN,本申请设计了一种机制,能够很好的解决文件更新的问题。
如图4所示,本申请的CDN更新内容的方法,包括:
步骤401:更新内容的主体为更新后的内容创建更新标识(token),将token发送到更新标识服务器缓存,并将更新后的内容更新到源服务器;
步骤402:当有客户端请求下载内容时从更新标识服务器获取请求下载的内容对应的token;
客户端从更新标识服务器获取请求下载的内容对应的token时,可以根据请求下载的内容的不同采用不同的方式,例如,当请求下载的内容为头像时,可以将请求下载的头像对应的用户标识发送到更新标识服务器,获取头像对应的token。
步骤403:客户端将token包含在下载请求中向CDN的服务节点发送下载请求;
步骤404:CDN的服务节点接收客户端发送的下载请求,判断下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果相同,则执行步骤405;如果不同,则执行步骤406;
步骤405:CDN的服务节点将请求下载的内容返回给客户端;
步骤406:CDN向源服务器转发下载请求,从源服务器将最新的内容拉回CDN的服务节点缓存。
本申请中通过上述更新方式可以确保内容能够及时更新并且推送给用户。
如图5所示,本申请还提供了一种源服务器,包括:重写模块、路由模块和主入口模块,其中:
重写模块,用于接收内容分发网络发送的第一格式的下载请求;
路由模块,用于对下载请求进行参数解析,得到下载请求中包含的输入参数,将输入参数转换为第二格式并发送给主入口模块;
主入口模块,用于根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。
第一格式的下载请求是内容分发网络转发的由客户端发起的统一资源定位符格式的下载请求;
路由模块将输入参数转换为第二格式,包括:将输入参数转换为JSON格式。
重写模块接收内容分发网络发送的第一格式的下载请求,包括:接收第一格式的下载请求,根据预先配置的统一资源定位符重写规则以及下载请求中携带操作类型参数判断下载请求是否来自内容分发网络,如果是,则通知路由模块对下载请求进行参数解析;
重写模块,还用于在接收第一格式的下载请求后,判断下载请求是否是来自内容分发网络之前,判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容,则请求主入口模块直接返回请求下载的内容;如果请求下载的内容是动态内容,则执行判断下载请求是否是来自内容分发网络。
如图6所示,本申请还提供了一种内容分发网络的服务节点,包括:接收模块、判断模块、更新模块和缓存模块,其中:
接收模块,用于接收客户端发送的下载请求,下载请求中包含请求下载的内容对应的更新标识,更新标识由客户端在发送下载请求之前从更新标识服务器获取;
判断模块,用于判断下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果不相同,则通知更新模块;如果相同,则通知缓存模块;
更新模块,用于将下载请求转发给源服务器,从源服务器拉取更新后的请求下载的内容;
缓存模块,用于将本地缓存的请求下载的内容返回给客户端;
更新标识是更新内容的主体为更新后的内容所创建,并发送到更新标识服务器。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种实现内容分发网络加速的方法,其特征在于,包括:
源服务器接收内容分发网络发送的第一格式的下载请求,对所述下载请求进行参数解析,得到所述下载请求中包含的输入参数,将所述输入参数转换为第二格式;
所述源服务器根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。
2.如权利要求1所述的方法,其特征在于:
所述第一格式的下载请求是内容分发网络转发的由客户端发起的统一资源定位符格式的下载请求;
所述将所述输入参数转换为第二格式,包括:将所述输入参数转换为JSON格式。
3.如权利要求1或2所述的方法,其特征在于:
所述源服务器接收内容分发网络发送的第一格式的下载请求,包括:所述源服务器接收第一格式的下载请求,根据预先配置的统一资源定位符重写规则以及所述下载请求中包含的操作类型参数判断所述下载请求是否来自内容分发网络,如果是,则执行所述对所述下载请求进行参数解析。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述源服务器在接收第一格式的下载请求后,判断所述下载请求是否是来自内容分发网络之前,判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容,则所述源服务器直接返回请求下载的内容;如果请求下载的内容是动态内容,则执行所述判断所述下载请求是否是来自内容分发网络。
5.一种内容分发网络更新内容的方法,其特征在于,包括:
内容分发网络接收客户端发送的下载请求,所述下载请求中包含请求下载的内容对应的更新标识,所述更新标识由所述客户端在发送所述下载请求之前从更新标识服务器获取;
所述内容分发网络判断所述下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果不相同,则将所述下载请求转发给源服务器,从所述源服务器拉取更新后的请求下载的内容;如果相同,则将本地缓存的请求下载的内容返回给客户端。
6.如权利要求5所述的方法,其特征在于:
所述更新标识是更新内容的主体为更新后的内容所创建,并发送到更新标识服务器。
7.一种源服务器,其特征在于,包括:重写模块、路由模块和主入口模块,其中:
所述重写模块,用于接收内容分发网络发送的第一格式的下载请求;
所述路由模块,用于对所述下载请求进行参数解析,得到所述下载请求中包含的输入参数,将所述输入参数转换为第二格式并发送给主入口模块;
所述主入口模块,用于根据第二格式的输入参数查询请求下载的内容,将请求下载的内容返回给内容分发网络。
8.如权利要求7所述的源服务器,其特征在于:
所述第一格式的下载请求是内容分发网络转发的由客户端发起的统一资源定位符格式的下载请求;
所述路由模块将所述输入参数转换为第二格式,包括:将所述输入参数转换为JSON格式。
9.如权利要求7或8所述的源服务器,其特征在于:
所述重写模块接收内容分发网络发送的第一格式的下载请求,包括:接收第一格式的下载请求,根据预先配置的统一资源定位符重写规则以及所述下载请求中携带操作类型参数判断所述下载请求是否来自内容分发网络,如果是,则通知所述路由模块对所述下载请求进行参数解析;
所述重写模块,还用于在接收第一格式的下载请求后,判断所述下载请求是否是来自内容分发网络之前,判断请求下载的内容是静态内容还是动态内容,如果请求下载的内容是静态内容,则请求所述主入口模块直接返回请求下载的内容;如果请求下载的内容是动态内容,则执行所述判断所述下载请求是否是来自内容分发网络。
10.一种内容分发网络的服务节点,其特征在于,包括:接收模块、判断模块、更新模块和缓存模块,其中:
所述接收模块,用于接收客户端发送的下载请求,所述下载请求中包含请求下载的内容对应的更新标识,所述更新标识由所述客户端在发送所述下载请求之前从更新标识服务器获取;
所述判断模块,用于判断所述下载请求中携带的更新标识与前次接收到的下载请求中携带的更新标识是否相同,如果不相同,则通知所述更新模块;如果相同,则通知所述缓存模块;
所述更新模块,用于将所述下载请求转发给源服务器,从所述源服务器拉取更新后的请求下载的内容;
所述缓存模块,用于将本地缓存的请求下载的内容返回给客户端;
所述更新标识是更新内容的主体为更新后的内容所创建,并发送到更新标识服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410106855.2A CN104394182A (zh) | 2014-03-21 | 2014-03-21 | 一种实现内容分发网络加速的方法及源服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410106855.2A CN104394182A (zh) | 2014-03-21 | 2014-03-21 | 一种实现内容分发网络加速的方法及源服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104394182A true CN104394182A (zh) | 2015-03-04 |
Family
ID=52612017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410106855.2A Pending CN104394182A (zh) | 2014-03-21 | 2014-03-21 | 一种实现内容分发网络加速的方法及源服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104394182A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811740A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种视频文件的分发方法、系统及装置 |
CN104994058A (zh) * | 2015-05-15 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 一种路由器实现加速访问的方法、装置及系统 |
CN105872587A (zh) * | 2015-11-25 | 2016-08-17 | 乐视云计算有限公司 | 视频请求的处理方法及装置 |
CN105897852A (zh) * | 2015-12-29 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 广告下载方法、客户端和服务器 |
CN106131113A (zh) * | 2016-06-14 | 2016-11-16 | 武汉深之度科技有限公司 | 一种资源下载方法、装置、系统以及资源服务器 |
CN108769166A (zh) * | 2018-05-17 | 2018-11-06 | 北京云端智度科技有限公司 | 一种基于元数据的cdn缓存内容管理装置 |
CN109067920A (zh) * | 2018-09-27 | 2018-12-21 | 电子科技大学 | 一种用于服务器内容更新的负载均衡及路由方法 |
CN109286691A (zh) * | 2018-09-30 | 2019-01-29 | 网宿科技股份有限公司 | 信息引流、请求发送、通信加速方法、引流及节点服务器 |
CN109348257A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 拉流控制方法、装置及直播系统 |
CN109450990A (zh) * | 2018-10-19 | 2019-03-08 | 深圳点猫科技有限公司 | 一种基于教育系统的云存储实现方法及电子设备 |
CN110213381A (zh) * | 2019-06-12 | 2019-09-06 | 中卓信(北京)科技有限公司 | 动态的内容分发网络构建系统及方法 |
WO2019201072A1 (zh) * | 2018-04-17 | 2019-10-24 | 华为技术有限公司 | Cdn业务调度处理方法及cdn服务器 |
CN111464627A (zh) * | 2020-03-31 | 2020-07-28 | 中国科学院自动化研究所 | 数据处理方法、边缘服务器、中心服务器及处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480397A (zh) * | 2010-11-26 | 2012-05-30 | 金蝶软件(中国)有限公司 | 访问互联网页面的方法及设备 |
CN102594921A (zh) * | 2012-03-22 | 2012-07-18 | 网宿科技股份有限公司 | 基于内容分发网络的同步文件的访问方法和系统 |
CN102902785A (zh) * | 2012-09-29 | 2013-01-30 | 合一网络技术(北京)有限公司 | 一种网页信息获取系统及方法 |
US20130246169A1 (en) * | 2012-03-19 | 2013-09-19 | Eric Z. Berry | Systems and methods for dynamic image amplification |
CN103577180A (zh) * | 2012-08-03 | 2014-02-12 | 新华瑞德(北京)网络科技有限公司 | 数据处理方法及装置 |
-
2014
- 2014-03-21 CN CN201410106855.2A patent/CN104394182A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480397A (zh) * | 2010-11-26 | 2012-05-30 | 金蝶软件(中国)有限公司 | 访问互联网页面的方法及设备 |
US20130246169A1 (en) * | 2012-03-19 | 2013-09-19 | Eric Z. Berry | Systems and methods for dynamic image amplification |
CN102594921A (zh) * | 2012-03-22 | 2012-07-18 | 网宿科技股份有限公司 | 基于内容分发网络的同步文件的访问方法和系统 |
CN103577180A (zh) * | 2012-08-03 | 2014-02-12 | 新华瑞德(北京)网络科技有限公司 | 数据处理方法及装置 |
CN102902785A (zh) * | 2012-09-29 | 2013-01-30 | 合一网络技术(北京)有限公司 | 一种网页信息获取系统及方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811740B (zh) * | 2015-04-29 | 2019-01-08 | 北京奇艺世纪科技有限公司 | 一种视频文件的分发方法、系统及装置 |
CN104811740A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种视频文件的分发方法、系统及装置 |
CN104994058A (zh) * | 2015-05-15 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 一种路由器实现加速访问的方法、装置及系统 |
CN105872587A (zh) * | 2015-11-25 | 2016-08-17 | 乐视云计算有限公司 | 视频请求的处理方法及装置 |
CN105897852A (zh) * | 2015-12-29 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 广告下载方法、客户端和服务器 |
CN106131113B (zh) * | 2016-06-14 | 2019-08-02 | 武汉深之度科技有限公司 | 一种资源下载方法、装置、系统以及资源服务器 |
CN106131113A (zh) * | 2016-06-14 | 2016-11-16 | 武汉深之度科技有限公司 | 一种资源下载方法、装置、系统以及资源服务器 |
CN110392069A (zh) * | 2018-04-17 | 2019-10-29 | 华为技术有限公司 | Cdn业务调度处理方法及cdn服务器 |
WO2019201072A1 (zh) * | 2018-04-17 | 2019-10-24 | 华为技术有限公司 | Cdn业务调度处理方法及cdn服务器 |
CN110392069B (zh) * | 2018-04-17 | 2021-12-14 | 华为技术有限公司 | Cdn业务调度处理方法及cdn服务器 |
CN108769166A (zh) * | 2018-05-17 | 2018-11-06 | 北京云端智度科技有限公司 | 一种基于元数据的cdn缓存内容管理装置 |
CN109067920A (zh) * | 2018-09-27 | 2018-12-21 | 电子科技大学 | 一种用于服务器内容更新的负载均衡及路由方法 |
US11218437B2 (en) | 2018-09-30 | 2022-01-04 | Wangsu Science & Technology Co., Ltd. | Method for network traffic forwarding, request sending, and communication acceleration, forwarding server and node server |
CN109286691A (zh) * | 2018-09-30 | 2019-01-29 | 网宿科技股份有限公司 | 信息引流、请求发送、通信加速方法、引流及节点服务器 |
CN109286691B (zh) * | 2018-09-30 | 2021-11-05 | 网宿科技股份有限公司 | 信息引流、请求发送、通信加速方法、引流及节点服务器 |
CN109450990A (zh) * | 2018-10-19 | 2019-03-08 | 深圳点猫科技有限公司 | 一种基于教育系统的云存储实现方法及电子设备 |
CN109348257A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 拉流控制方法、装置及直播系统 |
CN110213381A (zh) * | 2019-06-12 | 2019-09-06 | 中卓信(北京)科技有限公司 | 动态的内容分发网络构建系统及方法 |
CN110213381B (zh) * | 2019-06-12 | 2022-01-11 | 中卓信(北京)科技有限公司 | 动态的内容分发网络构建系统及方法 |
CN111464627A (zh) * | 2020-03-31 | 2020-07-28 | 中国科学院自动化研究所 | 数据处理方法、边缘服务器、中心服务器及处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104394182A (zh) | 一种实现内容分发网络加速的方法及源服务器 | |
US10791201B2 (en) | Server initiated multipath content delivery | |
US8856279B2 (en) | Method and system for object prediction | |
CN104836821B (zh) | 一种基于路由器设备的网络加速方法、装置和设备 | |
CN105450780B (zh) | 一种cdn系统及其回源方法 | |
US20210400107A1 (en) | Method, device and system for downloading data block of resource file | |
WO2017092351A1 (zh) | 缓存数据的更新方法及装置 | |
CN104320410A (zh) | 基于http的全业务cdn系统及其工作方法 | |
CN102833293A (zh) | P2sp网络中资源下载的方法及客户端 | |
CN101184105A (zh) | 一种用于更新数据的客户端装置和方法 | |
CN103379115B (zh) | 一种本地存储与网络存储的数据同步方法和设备 | |
CN102045270A (zh) | 聊天服务器系统、构建聊天服务器系统的方法以及聊天系统 | |
CN106603713A (zh) | 会话管理方法和系统 | |
US20130268831A1 (en) | Method, device, and system for acquiring start page | |
CN102238137A (zh) | 一种下载方法、系统和装置 | |
CN103685511B (zh) | 一种数据分发方法、装置及系统 | |
CN109729183A (zh) | 请求处理方法、装置、设备及存储介质 | |
CN104717314A (zh) | 一种ip管理方法及系统、客户端、服务器 | |
CN103905574A (zh) | 一种dns业务访问方法、dns数据同步方法及设备 | |
CN105450703A (zh) | 一种数据缓存方法和装置 | |
KR101086393B1 (ko) | 웹 하드 혹은 웹 디스크에서의 토렌트 프로토콜 기반의 피투피-그리드 파일 공유 방법 및 장치와 그 시스템 | |
CN102257792B (zh) | 用于包括策略数据库的内容传递的方法 | |
CN103888539A (zh) | P2p缓存的引导方法、装置及p2p缓存系统 | |
CN115794139B (zh) | 镜像数据处理方法、装置、设备以及介质 | |
US9055113B2 (en) | Method and system for monitoring flows in network traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150304 |