基于CDN的缓存方法、装置及系统制造方法及图纸

技术编号:19703300 阅读:23 留言:0更新日期:2018-12-08 14:29
本申请涉及一种基于CDN的缓存方法、装置及系统。其中,基于CDN的缓存方法包括:获取客户端的下载第k片数据的数据请求;确保缓存第k片数据;向客户端发送第k片数据,并确保缓存第k+1片数据。如此设置,当客户端请求下载第k+1片数据时,由于已经缓存了第K+1片数据,所以响应客户端请求的速度更快。

【技术实现步骤摘要】
基于CDN的缓存方法、装置及系统
本申请涉及数据通信相关
,尤其基于CDN的缓存方法、装置及系统。
技术介绍
随着科技的发展,互联网的普及,人们常常需要再互联网上下载一些文件。为了提高人们浏览和下载文件的速度相关人员提出了CDN(ContentDeliveryNetwork,内容分发网络)技术。CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的环节,使内容传输的更快、更稳定。通过在网络各处放置的节点所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到客户端的距离和响应时间等综合信息将客户端的请求重新导向离客户端最近的服务节点,即CDN边缘节点上。目前通过CDN技术进行文件下载的方式有两种,一种方式是:当客户端请求某个文件的一部分数据信息时,CDN边缘节点便对整个文件进行缓存。这种方式下,CDN边缘节点缓存了大量的无用数据信息,浪费了CDN边缘节点的缓存空间降低了有效数据信息缓存速度。另一种方式是当客户端请求某个文件的一部分数据信息时,CDN边缘节点便缓存客户端请求数据信息。例如,将一个文件的数据分为N片数据,当客户端请求第k片数据时,缓存第k片数据,当客户端请求第k+1片数据时,缓存第k+1片数据。如此设置,虽然节省了CDN边缘节点的缓存空间,但是只有当客户端请求之后才会缓存对应的文件的数据信息,之后客户端从CDN边缘节点获取数据。从客户端发出请求到客户端获取数据的时间,为CDN边缘节点缓存对应的数据的时间与客户端从CDN边缘节点获取数据的时间之和。这种方式从客户端发出请求到客户端获取数据的时间较长。
技术实现思路
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于CDN的缓存方法、装置及系统。根据本申请实施例的第一方面,提供一种基于CDN的缓存方法,包括:获取客户端的下载第k片数据的数据请求;确保缓存所述第k片数据;向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。可选的,所述确保缓存所述第k片数据包括:判断是否已缓存所述第k片数据;如果不是,则缓存第k片数据。可选的,所述确保缓存第k+1片数据,还包括:判断是否已缓存所述第k+1片数据;如果不是,则缓存所述第k+1片数据。可选的,所述缓存所述第k片数据,之后还包括:标记第k+1片数据为需要缓存;所述判断是否已缓存所述第k+1片数据,包括:判断是否标记第k+1片数据为需要缓存;如果是,则判定第k+1片数据需要缓存。可选的,所述缓存的方式包括:使用超文本传输HTTP协议中的Range请求进行缓存。根据本申请实施例的第二方面,提供一种基于CDN的缓存装置,其特征在于,包括:获取模块,获取客户端的下载第k片数据的数据请求;确保模块,用于确保缓存所述第k片数据;发送模块,用于向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。可选的,所述确保模块,具体用于判断是否已缓存所述第k片数据;如果不是,则缓存第k片数据。可选的,所述发送模块用于确保缓存第k+1片数据时,具体用于:判断是否已缓存所述第k+1片数据;如果不是,则缓存所述第k+1片数据。可选的,所述发送模块还用于,在所述缓存所述第k+1片数据,之后,标记第k+2片数据为需要缓存;所述发送模块用于判断是否已缓存所述第k+1片数据时,具体用于:判断是否标记第k+1片数据为需要缓存;如果是,则判定第k+1片数据需要缓存,否则通过检查自身数据库判断是否已缓存所述第k+1片数据。可选的,所述缓存的方式包括:使用超文本传输HTTP协议中的Range请求进行缓存。根据本申请实施例的第三方面,提供一种基于CDN的缓存系统,其特征在于,包括:CDN服务器、CDN节点、客户端;所述CDN节点分别与所述CDN服务器和所述客户端相连接。所述CDN服务器,用于接收客户端通过通过CDN节点向所述CDN服务器发送数据请求,其中,所述数据请求包括:下载第k片数据;所述CDN服务器,还用于确保所述CDN节点缓存所述第k片数据;所述CDN服务器,还用于控制所述CDN节点向所述客户端发送所述第k片数据,并确保所述CDN节点缓存第k+1片数据。可选的,所述CDN服务器用于确保所述CDN节点缓存所述第k片数据时,具体用于:判断所述CDN节点是否已缓存所述第k片数据;如果不是,则控制所述CDN节点缓存所述第k片数据。根据本申请实施例的第四方面,提供另一种基于CDN的缓存装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为获取客户端的下载第k片数据的数据请求;确保缓存所述第k片数据;向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。可选的,所述确保缓存所述第k片数据时具体被配置为:判断是否已缓存所述第k片数据;如果不是,则缓存第k片数据。可选的,所述确保缓存第k+1片数据时,具体被配置为:判断是否已缓存所述第k+1片数据;如果不是,则缓存所述第k+1片数据。可选的,所述缓存所述第k+1片数据,之后还被配置为:标记第k+2片数据为需要缓存;所述判断是否已缓存所述第k+1片数据,包括:判断是否标记第k+1片数据为需要缓存;如果是,则判定第k+1片数据需要缓存,否则,检索自身数据库以判断是否已缓存所述第k+1片数据。根据本申请实施例的第五方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种缓存方法,所述方法包括:获取客户端的下载第k片数据的数据请求;确保缓存所述第k片数据;向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。可选的,所述确保缓存所述第k片数据包括:判断是否已缓存所述第k片数据;如果不是,则缓存第k片数据。可选的,所述确保缓存第k+1片数据,还包括:判断是否已缓存所述第k+1片数据;如果不是,则缓存所述第k+1片数据。可选的,所述缓存所述第k+1片数据,之后还包括:标记第k+1片数据为需要缓存;所述判断是否已缓存所述第k+1片数据,包括:判断是否标记第k+1片数据为需要缓存;如果是,则判定第k+1片数据需要缓存。可选的,所述缓存的方式包括:使用超文本传输HTTP协议中的Range请求进行缓存。本申请提供的技术方案可以包括以下有益效果:基于访问局部性原理,当获取客户端请求下载第k片数据后,有很大的可能会获取客户端请求下载第k+1片数据的情况,本实施例提供的方法中,向客户端发送所述第k片数据时,缓存第k+1片数据。如此,当获取客户端下载第k+1片数据的请求时,可以直接向客户端发送CDN边缘节点已缓存的所述第k+1片数据。与
技术介绍
中的方案相比较,从获取客户端发出的请求到向客户端发送数据的时间更短。同时,本方案中,只有向所述客户端发送所述第k片数据时,所述CDN边缘节点才缓存第k+1片数据,而不是直接缓存整个文件,节约CDN边缘节点的缓存空间。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1a是本申请一个实施例提供的一种基于CDN的缓存方法的流程示意图。图1b是本申请一个实施例提供的一种本文档来自技高网
...

【技术保护点】
1.一种基于CDN的缓存方法,其特征在于,包括:获取客户端的下载第k片数据的数据请求;确保缓存所述第k片数据;向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。

【技术特征摘要】
1.一种基于CDN的缓存方法,其特征在于,包括:获取客户端的下载第k片数据的数据请求;确保缓存所述第k片数据;向所述客户端发送所述第k片数据,并确保缓存第k+1片数据。2.根据权利要求1所述的方法,其特征在于,所述确保缓存所述第k片数据包括:判断是否已缓存所述第k片数据;如果不是,则缓存第k片数据。3.根据权利要求2所述的方法,其特征在于,所述确保缓存第k+1片数据包括:判断是否已缓存所述第k+1片数据;如果不是,则缓存所述第k+1片数据。4.根据权利要求3所述的方法,其特征在于,所述缓存所述第k片数据之后,还包括:标记第k+1片数据为需要缓存;所述判断是否已缓存所述第k+1片数据,包括:判断是否标记第k+1片数据为需要缓存;如果是,则判定第k+1片数据需要缓存,否则,检索自身数据库以判断是否已缓存所述第k+1片数据。5.根据权利要求1所述的方法,其特征在于,所述缓存的方式包括:使用超文本传输HTTP协议中的Range请求进行缓存。6.一种基于CDN的缓存装置,其特征在于,包括:获取模块,获取客户端的下载第k片数据的数据请求;确保模块,用于确保缓存所述第k片数据;发送模块,用于向所述客户端发送所述第k片...

【专利技术属性】
技术研发人员:刘岩黄福鑫李根李怡然党水利王江
申请(专利权)人:杭州领智云画科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1