一种通过网络缓存下载文件的方法和系统技术方案

技术编号:8736173 阅读:162 留言:0更新日期:2013-05-26 12:06
本发明专利技术公开了一种通过网络(web)缓存下载文件的方法,生成内容文件,并设置所述内容文件的属性为追加写入(append?only),将所述内容文件保存到内容提供节点上;当web缓存收到用户端发送的内容文件请求后,检查本地保存的副本,如果副本中内容不全,且内容文件的属性为append?only,则向内容提供节点发起请求,获取副本中缺失的内容;web缓存更新本地保存的副本后,将用户端请求的内容文件返回给用户端。本发明专利技术还公开了一种系统,通过本发明专利技术的方法和系统能够实现更为高效的web缓存处理。同时,节省了网络带宽,缩短了响应延迟。

【技术实现步骤摘要】
一种通过网络缓存下载文件的方法和系统
本专利技术涉及互联网技术中网络缓存
,特别是指一种通过网络缓存下载文件的方法和系统。
技术介绍
超文本传输协议(HyperTextTransferProtocol,HTTP)标准是目前互联网上应用最广泛的网络传输协议之一。万维网(WorldWideWeb,WWW)就是基于HTTP的一种应用。它是客户端至服务器模式,基于HTTP标准的请求和响应消息实现信息交互。WWW应用的快速发展,导致了网络拥塞和服务器超载,造成客户端访问延迟增大等问题。为此,引入了网络(web)缓存系统。web缓存位于客户端和内容源服务器之间。当客户端请求内容时,所述web缓存用于保存源服务器输出内容的副本,以便在下一个同样内容的请求到来时,直接通过本地保存的副本,为客户端提供服务,从而达到缩短响应延迟,减少网络带宽消耗的目的,同时实现了媒体内容根据用户请求自动完成分发的功能。当源服务器上的原始内容被更新时,会导致web缓存的副本失效。为此,HTTP标准中定义了一套用于web缓存管理的规则和机制。如果web缓存检测到本地保存的副本已经超过有效期,则需要向源服务器确认该内容是否还有效。如果原始内容已经被更新,那么web缓存就需要重新下载原始内容并缓存。这种机制在WWW应用中的效果很好。但是对于某些特殊情况,例如:原始内容会被周期更新,但是每次更新都只是在原内容末尾追加一部分数据的时候,就会存在问题。此时由于检测到原始内容被更新,web缓存就会更新副本,将整个内容从源服务器重新传输一遍。但实际上,每次更新时,原来缓存的内容并没有被改变,都还是有效的,只需要下载最新被添加的数据即可。显然,为了新增加的一段内容,而重传整个文件,这会严重影响通信系统的性能,无谓的消耗网络带宽,增大响应延迟,有违web缓存部署的初衷。上述问题体现在实际应用中,例如:近两年逐渐开始流行的HTTP流(Streaming)业务中,将整个节目内容分成很多的小片段,例如10秒钟一个片段。然后通过一个播放列表描述文件,将这些片段组织在一起。播放列表文件中保存了这些片段的统一资源定位符(Uniform/UniversalResourceLocator,URL)、时长、属性(例如不同码率)、时间关系等。客户端点播节目内容时,首先通过HTTP方式从web服务器下载这个播放列表文件,然后根据列表文件中的描述,通过web服务器下载需要的媒体片段,最终实现在本地播放。如果是直播业务,在内容生成端需要持续生成新的媒体片段,同时更新相应的播放列表文件。客户端则需要周期性的获取更新后的播放列表文件,然后根据列表文件中的描述,通过web服务器下载最新的媒体片段。而在第三代合作伙伴计划(3rdgenerationpartnershipproject,3GPP)R9中关于HTTPStreaming业务的相关标准中,使用了ISO文件格式(ISO14496-12标准定义的文件格式)中的moviefragment结构(ISO14496-12标准中定义的结构,包含moofbox和相应的mdatbox)来实现虚拟分段的效果。即一个moviefragment就对应一个媒体片段,每个媒体片段按照时间顺序,依次添加在文件末尾,形成由一系列moviefragment结构组成的媒体文件。客户端通过指明字节范围的方式,下载各个moviefragment,然后在本地播放。对于直播业务,当web缓存采用这种文件格式存储直播媒体数据的时候,就会出现前面所说的问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种通过web缓存下载文件的方法和系统,解决了针对前述追加写入方式更新的内容,web缓存只能进行低效处理的问题。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供了一种通过网络(web)缓存下载文件的方法,所述方法包括:生成内容文件,并设置所述内容文件的属性为追加写入(appendonly),将所述内容文件保存到内容提供节点上;当web缓存收到用户端发送的内容文件请求后,检查本地保存的副本,如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容;web缓存更新本地保存的副本后,将用户端请求的内容文件返回给用户端。其中,所述内容文件,具体为:只能通过追加写入进行更新的分段文件;所述设置所述内容文件的属性为appendonly,包括:通过文件系统设置内容文件的属性;或者通过在数据库中添加appendonly标记;或者通过添加元数据文件实现appendonly标记。其中,所述内容提供节点包括:源web服务器,或者在多级web缓存系统中的上级web缓存。其中,所述将所述内容文件保存到内容提供节点上,包括:内容生成端将属性为appendonly的内容文件保存到源web服务器上;或者所述上级web缓存从源web服务器上获取所述属性为appendonly的内容文件并在本地保存为副本。其中,所述如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容,具体为:如果副本中没有用户端请求的内容文件、或者用户端请求的内容文件在副本中不完整、或者副本中的内容文件已经过期,web缓存则向内容提供节点发起请求,内容提供节点通过响应消息将副本中缺失的内容,以及表明所述内容文件属性为appendonly的信息,返回给web缓存。其中,所述web缓存更新本地保存的副本,还包括:设置所述内容文件的副本的属性为appendonly。本专利技术还提供了一种通过web缓存下载文件的系统,所述系统包括:内容生成端、内容提供节点、web缓存和用户端;其中,所述内容生成端,用于生成内容文件,并设置所述内容文件的属性为appendonly,将所述内容文件保存到内容提供节点上;所述web缓存,用于当收到用户端发送的内容文件请求后,检查本地保存的副本,如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容,更新本地保存的副本后,将用户端请求的内容文件返回给用户端。其中,所述内容文件,具体为:只能通过追加写入进行更新的分段文件;所述内容生成端设置所述内容文件的属性为appendonly,包括:通过文件系统设置内容文件的属性;或者通过在数据库中添加appendonly标记;或者通过添加元数据文件实现appendonly标记。其中,所述内容提供节点包括:源web服务器,或者在多级web缓存系统中的上级web缓存;所述将所述内容文件保存到内容提供节点上,包括:内容生成端将属性为appendonly的内容文件保存到源web服务器上,或者所述上级web缓存从源web服务器上获取所述属性为appendonly的内容文件并在本地保存为副本。其中,所述web缓存中如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容,具体为:如果副本中没有用户端请求的内容文件、或者用户端请求的内容文件在副本中不完整、或者副本中的内容文件已经过期,web缓存则向内容提供节点发起请求,内容提供节点通过响应消息将副本中缺失的内容,以及表明所述内容文件属性本文档来自技高网
...
一种通过网络缓存下载文件的方法和系统

【技术保护点】
一种通过网络(web)缓存下载文件的方法,其特征在于,所述方法包括:生成内容文件,并设置所述内容文件的属性为追加写入(append?only),将所述内容文件保存到内容提供节点上;当web缓存收到用户端发送的内容文件请求后,检查本地保存的副本,如果副本中内容不全,且内容文件的属性为append?only,则向内容提供节点发起请求,获取副本中缺失的内容;web缓存更新本地保存的副本后,将用户端请求的内容文件返回给用户端。

【技术特征摘要】
1.一种通过网络(web)缓存下载文件的方法,其特征在于,所述方法包括:生成内容文件,并设置所述内容文件的属性为追加写入(appendonly),将所述内容文件保存到内容提供节点上;所述内容文件,具体为:超文本传输协议流(HTTPStreaming)业务文件,只能通过追加写入进行更新的分段文件;当web缓存收到用户端发送的内容文件请求后,检查本地保存的副本,如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容;web缓存更新本地保存的副本后,将用户端请求的内容文件返回给用户端。2.根据权利要求1所述的方法,其特征在于,所述设置所述内容文件的属性为appendonly,包括:通过文件系统设置内容文件的属性;或者通过在数据库中添加appendonly标记;或者通过添加元数据文件实现appendonly标记。3.根据权利要求1或2所述的方法,其特征在于,所述内容提供节点包括:源web服务器,或者在多级web缓存系统中的上级web缓存。4.根据权利要求3所述的方法,其特征在于,所述将所述内容文件保存到内容提供节点上,包括:内容生成端将属性为appendonly的内容文件保存到源web服务器上;或者所述上级web缓存从源web服务器上获取所述属性为appendonly的内容文件并在本地保存为副本。5.根据权利要求1或2所述的方法,其特征在于,所述如果副本中内容不全,且内容文件的属性为appendonly,则向内容提供节点发起请求,获取副本中缺失的内容,具体为:如果副本中没有用户端请求的内容文件、或者用户端请求的内容文件在副本中不完整、或者副本中的内容文件已经过期,web缓存则向内容提供节点发起请求,内容提供节点通过响应消息将副本中缺失的内容,以及表明所述内容文件属性为appendonly的信息,返回给web缓存。6.根据权利要求1或2所述的方法,其特征在于,所述web缓存更新本地保存的副本,还包括:设置所述内容文件的副本的属性为appendonly。7.一种通过web缓存...

【专利技术属性】
技术研发人员:王芳刘继年
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1