在线视频文件的缓存索引方法和缓存服务器的制作方法

文档序号:7859700阅读:136来源:国知局
专利名称:在线视频文件的缓存索引方法和缓存服务器的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种在线视频文件的缓存索引方法和缓存服务
器。
背景技术
在几年前,用户观赏视频文件的方式往往是先将视频文件下载到本地,在进行离线播放,这种方式不仅浪费时间,而且耗费大量的磁盘资源。随着网络的不断提速,以及在线视频服务提供商如雨后春笋般地涌现,在线视频文件的播放已经成为了视频文件观赏的主流应用。在线视频文件的播放,是指用户无需将视频文件下载到本地,而是直接在浏览器或者客户端中选择并观赏视频的一种互联网应用。目前按照服务提供商提供服务的类型不同,将在线视频文件分为两大类,一类是超文本传送协议(Hyper Text TransportProtocol,简称为:HTTP)在线视频文件,一类是点到点(Point to Point,简称为P2P)在线视频文件。对于HTTP在线视频文件的播放请求是基于统一资源定位符(UniversalResource Locator,简称为URL)来实现的。URL可以通俗地理解为HTTP资源所对应的地址。HTTP在线视频文件的URL会随着用户的不同、甚至是同一用户的多次请求而发生改变,换言之,HTTP在线视频文件的URL是动态变化着的。HTTP缓存是一种目前流行的HTTP应用加速技术,通过将客户端访问的可以缓存的内容存储下来,这样其他用户再次访问相同站点的时候就可以享受到加速的效果,直接由HTTP缓存来回复客户端请求的资源,不需要跨远程网(Wide Area Network,简称为WAN)到视频服务器去获取,大大缩短了页面访问的时间。HTTP缓存一般是采用URL作为索引来确定一个资源是否已在自身存储下来。但由于HTTP在线视频文件的URL是动态变化的,所以现有技术中通过如下两种索引方式来确定一个HTTP在线视频文件的资源是否存在。第一种是直接采用URL中的文件名部分作为索弓丨,第二种是提取与HTTP在线视频文件相关联的播放页面中的视频信息作为索引。但上述两种索引方式都存在一定的局限性。第一种索引方式下,如果出现相同视频文件对应不同文件名或者不同视频文件对应相同文件名的情况,就会有很高的误命中概率;第二种索引方式下,解析视频播放页面需要针对不同的视频服务提供商建立不同的特征库,配置解析规则,开发周期长,而且实现方式较为复杂。

发明内容
本发明提供一种有效解决现有技术中存在的误命中率高、实现复杂等问题的在线视频文件的缓存索引方法和缓存服务器。本发明的第一个方面是提供一种在线视频文件的缓存索引方法,包括将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;
根据所述预定长度的数据生成所述在线视频文件的索引;根据所述生成的索引在本地数据库中查询所述在线视频文件。本发明的另一个方面是提供一种缓存服务器,包括发送模块,用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;获得模块,用于接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;生成模块,用于根据所述预定长度的数据生成所述在线视频文件的索引;
·
查询模块,用于根据所述生成的索引在本地数据库中查询所述在线视频文件。本发明提供的方案,通过从视频服务器返回的视频数据的起始部分开始获得预定长度的数据,并根据预定长度的数据生成在线视频文件的索引,并根据索引获得本地数据库中的在线视频文件。对于每一个在线视频文件,其视频数据的起始部分是不会发生变化的,因此,从起始部分开始获得预定长度的数据后生成在线视频文件的索引可以很好地唯一标识一个在线视频文件,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。


图I为本发明实施例一提供的在线视频文件的缓存索引方法流程图;图2为本发明实施例一提供的HTTP应答头部的部分内容示意图;图3为本发明实施例二提供的在线视频文件的缓存索引方法流程图;图4为本发明实施例三提供的在线视频文件的缓存索引方法流程图;图5为本发明实施例四提供的缓存服务器的结构示意图;图6为本发明实施例五提供的缓存服务器的结构示意图。
具体实施例方式图I为本发明实施例一提供的在线视频文件的缓存索引方法流程图,如图I所示,该方法可以包括S10UHTTP缓存服务器将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器。HTTP缓存服务器可以是一个独立存在的实体设备,也可以与其他设备共享一个实体,例如,HTTP缓存服务器可以与客户端的出口网关共用同一实体结构。在线视频文件的播放请求中一般会携带请求播放的在线视频文件的URL,视频服务器可以根据该URL来获得相应的视频数据。例如土豆网某视频的URL为http ://119.167.142. 71/f4v/63/145651463. h264_2. f4v 10000&key=172058bf3a0971afcc394d4fecda0900403384eb61&playtype=l&tk=142762920728495948890380594&brt=3&bc=0&nt=0&du=128600&ispid=85&rc=200&inf=l&si=10000&npc=3687&pp=2&ul=2&mt=0&sid=10000&rid=0&rst=0&id=tudou&itemid=103073032&fi=145651463&sz=8197133&tflvbegin=487534&posky=CXH9UesRr TvuztvvClIgl70qj7qn7S103、接收视频服务器返回的视频数据,并从该视频数据的起始部分开始获得预定长度的数据。
一般情况下,缓存服务器先接收到HTTP应答头部,如图2所示的HTTP应答头部的部分内容示意图,根据HTTP应答头部的内容可以知道是否为成功的应答(应答码为200)。如果是成功的应答,从该视频数据的起始部分开始采集预定长度的数据,预定长度可以根据不同的网络情况设定,本实施例中优选2k。S105、根据预定长度的数据生成在线视频文件的索引。其中,在线视频文件的索引可以理解为能够唯一标识该预定长度的数据段信息。通常情况下,可以计算预定长度的数据的信息-摘要算法(Message Digest,简称为MD) 5值,或者,计算预定长度的数据的哈希值等方式生成在线视频文件的索引。S107、根据生成的索引在本地数据库中查询该在线视频文件。
本发明提供的方案通过从视频服务器返回的视频数据的起始部分开始获得预定长度的数据,并根据预定长度的数据生成在线视频文件的索引,并根据索引获得本地数据库中的在线视频文件。对于每一个在线视频文件,其视频数据的起始部分是不会发生变化的,因此,从起始部分开始获得预定长度的数据后生成在线视频文件的索引可以很好地唯一标识一个在线视频文件,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。图3为本发明实施例二提供的在线视频文件的缓存索引方法流程图,在图I所示的实施方式的基础上,SlOl之前,该方法还可以包括S100、缓存服务器判断接收到的HTTP请求是否为在线视频文件的播放请求;如果是,执行SlOl。其中,可以通过提取HTTP请求中URL的文件扩展名来判断接收到的HTTP请求是否为在线视频文件的播放请求。通常情况下,在线视频文件的文件扩展名可以但不限于包括.flv>. hlv、. mp4、. f4v>. Ietv 等。进一步的,S103中提到了缓存服务器先接收到HTTP应答头部,从图2中可以看到,HTTP应答头部中还包括了在线视频文件的长度,那么在上述图I或者图3所示的方法实施例的基础上,如图4所示的本发明实施例三提供的在线视频文件的缓存索引方法流程图,S105之后,该方法还可以包括S106、根据在线视频文件的长度和在线视频文件的索引生成在线视频文件的增强索引值。则S107可以变换为S107’、根据增强索引值在本地数据库中查询在线视频文件。增强索引值可以进一步增强在线视频文件的缓存索引的命中正确率。在上述图I、图3或者图4所示的方法实施例基础上,S107之后还可以包括如果查询到在线视频文件,断开与视频服务器的连接,将查询到的在线视频文件返回给客户端;如果查询不到在线视频文件,保持与视频服务器的连接,继续接收视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。通常情况下,客户端在接收到IOOk大小的数据之后才可以开始进行视频的播放。进一步的,如果查询不到在线视频文件,且视频数据已完成接收,组成完整的视频文件,则该方法还可以包括将完整的视频文件、以及完整的视频文件与生成的索引(也可以是生成的增强索引值)之间的对应关系进行保存。
本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图5为本发明实施例四提供的缓存服务器的结构示意图,该缓存服务器为上述方法实施例的执行主体,因此,关于本实施例提供的缓存服务器的具体执行步骤可以参加上述方法实施例的描述,此处不做赘述。如图5所示,该缓存服务器可以包括发送模块501、获得模块502、生成模块503和查询模块504。其中,发送模块501用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;获得模块502用于接收视频服务器返回的视频数据,并从视频数据的起始部分开始获得预定长度的数据;生成模块503用于根据预定长度的数据生成在线视频文件的索引;查询模块504用于根据生成的索引在本地数据库中查询在线视频文件。一种实施方式下,获得模块502接收到的视频服务器返回的视频数据中包括HTTP 应答头部,HTTP应答头部中包括在线视频文件的长度;生成模块503还用于根据预定长度的数据生成在线视频文件的索引之后,根据在线视频文件的长度和在线视频文件的索引生成在线视频文件的增强索引值;查询模块504还用于根据增强索引值在本地数据库中查询在线视频文件。在上述实施方式的基础上,生成模块503具体可以用于计算预定长度的数据的信息-摘要算法MD5值作为在线视频文件的索引;或者,计算预定长度的数据的哈希值作为在线视频文件的索引。图6为本发明实施例五提供的缓存服务器的结构示意图,在上述实施方式的基础上,图6所示的缓存服务器还可以包括处理模块505,用于如果查询模块查询到在线视频文件,断开与视频服务器的连接,将查询到的在线视频文件返回给客户端;如果查询模块查询不到在线视频文件,保持与视频服务器的连接,继续接收视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。如果查询模块504查询不到在线视频文件,且处理模块505中的视频数据已完成接收,组成完整的视频文件,则处理模块505还可以用于将完整的视频文件、以及完整的视频文件与生成的索引(也可以是增强索引值)之间的对应关系进行保存。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种在线视频文件的缓存索引方法,其特征在于,包括 将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器; 接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据; 根据所述预定长度的数据生成所述在线视频文件的索引; 根据所述生成的索引在本地数据库中查询所述在线视频文件。
2.根据权利要求I所述的方法,其特征在于,所述视频服务器返回的视频数据中包括HTTP应答头部,所述HTTP应答头部中包括所述在线视频文件的长度; 则所述根据所述预定长度的数据生成所述在线视频文件的索引之后,所述方法还包括 根据所述在线视频文件的长度和所述在线视频文件的索引生成所述在线视频文件的增强索引值; 所述根据所述生成的索引在本地数据库中查询所述在线视频文件包括 根据所述增强索引值在本地数据库中查询所述在线视频文件。
3.根据权利要求I或2所述的方法,其特征在于,所述根据所述预定长度的数据生成所述在线视频文件的索引,包括 计算所述预定长度的数据的信息-摘要算法MD5值作为所述在线视频的索引;或者, 计算所述预定长度的数据的哈希值作为所述在线视频的索引。
4.根据权利要求I或2所述的方法,其特征在于,所述根据所述生成的索引在本地数据库中查询所述在线视频文件之后,所述方法还包括 如果查询到所述在线视频文件,断开与所述视频服务器的连接,将所述查询到的在线视频文件返回给所述客户端; 如果查询不到所述在线视频文件,保持与所述视频服务器的连接,继续接收所述视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
5.根据权利要求4所述的方法,其特征在于,如果查询不到所述在线视频文件,且所述视频数据已完成接收,组成完整的视频文件,则所述方法还包括将所述完整的视频文件、以及所述完整的视频文件与所述生成的索引之间的对应关系进行保存。
6.一种缓存服务器,其特征在于,包括 发送模块,用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器; 获得模块,用于接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据; 生成模块,用于根据所述预定长度的数据生成所述在线视频文件的索引; 查询模块,用于根据所述生成的索引在本地数据库中查询所述在线视频文件。
7.根据权利要求6所述的缓存服务器,其特征在于,所述获得模块接收到的视频服务器返回的视频数据中包括HTTP应答头部,所述HTTP应答头部中包括所述在线视频文件的长度;所述生成模块还用于 根据所述预定长度的数据生成所述在线视频文件的索引之后,根据所述在线视频文件的长度和所述在线视频文件的索引生成所述在线视频文件的增强索引值;所述查询模块还用于根据所述增强索引值在本地数据库中查询所述在线视频文件。
8.根据权利要求6或7所述的缓存服务器,其特征在于,所述生成模块具体用于 计算所述预定长度的数据的信息-摘要算法MD5值作为所述在线视频文件的索引;或者,计算所述预定长度的数据的哈希值作为所述在线视频文件的索引。
9.根据权利要求6或7所述的缓存服务器,其特征在于,所述服务器还包括 处理模块,用于如果所述查询模块查询到所述在线视频文件,断开与所述视频服务器的连接,将所述查询到的在线视频文件返回给所述客户端;如果所述查询模块查询不到所述在线视频文件,保持与所述视频服务器的连接,继续接收所述视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
10.根据权利要求9所述的缓存服务器,其特征在于,如果所述查询模块查询不到所述在线视频文件,且所述处理模块中的所述视频数据已完成接收,组成完整的视频文件,则所述处理模块还用于将所述完整的视频文件、以及所述完整的视频文件与所述生成的索引之间的对应关系进行保存。
全文摘要
本发明提供一种在线视频文件的缓存索引方法和缓存服务器。方法包括将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;根据所述预定长度的数据生成所述在线视频文件的索引;根据所述生成的索引在本地数据库中查询所述在线视频文件。缓存服务器包括发送模块、获得模块、生成模块和查询模块。本发明提供的方案,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。
文档编号H04N21/218GK102843615SQ201210326219
公开日2012年12月26日 申请日期2012年9月5日 优先权日2012年9月5日
发明者陈晨星 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1