CN102843615A - 在线视频文件的缓存索引方法和缓存服务器 - Google Patents
在线视频文件的缓存索引方法和缓存服务器 Download PDFInfo
- Publication number
- CN102843615A CN102843615A CN2012103262191A CN201210326219A CN102843615A CN 102843615 A CN102843615 A CN 102843615A CN 2012103262191 A CN2012103262191 A CN 2012103262191A CN 201210326219 A CN201210326219 A CN 201210326219A CN 102843615 A CN102843615 A CN 102843615A
- Authority
- CN
- China
- Prior art keywords
- video file
- online video
- data
- index
- online
- 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.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种在线视频文件的缓存索引方法和缓存服务器。方法包括:将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;根据所述预定长度的数据生成所述在线视频文件的索引;根据所述生成的索引在本地数据库中查询所述在线视频文件。缓存服务器包括:发送模块、获得模块、生成模块和查询模块。本发明提供的方案,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。
Description
技术领域
本发明涉及通信技术,尤其涉及一种在线视频文件的缓存索引方法和缓存服务器。
背景技术
在几年前,用户观赏视频文件的方式往往是先将视频文件下载到本地,在进行离线播放,这种方式不仅浪费时间,而且耗费大量的磁盘资源。随着网络的不断提速,以及在线视频服务提供商如雨后春笋般地涌现,在线视频文件的播放已经成为了视频文件观赏的主流应用。在线视频文件的播放,是指用户无需将视频文件下载到本地,而是直接在浏览器或者客户端中选择并观赏视频的一种互联网应用。目前按照服务提供商提供服务的类型不同,将在线视频文件分为两大类,一类是超文本传送协议(HyperText Transport Protocol,简称为:HTTP)在线视频文件,一类是点到点(Point to Point,简称为:P2P)在线视频文件。对于HTTP在线视频文件的播放请求是基于统一资源定位符(Universal Resource Locator,简称为:URL)来实现的。URL可以通俗地理解为HTTP资源所对应的地址。HTTP在线视频文件的URL会随着用户的不同、甚至是同一用户的多次请求而发生改变,换言之,HTTP在线视频文件的URL是动态变化着的。
HTTP缓存是一种目前流行的HTTP应用加速技术,通过将客户端访问的可以缓存的内容存储下来,这样其他用户再次访问相同站点的时候就可以享受到加速的效果,直接由HTTP缓存来回复客户端请求的资源,不需要跨远程网(Wide Area Network,简称为:WAN)到视频服务器去获取,大大缩短了页面访问的时间。
HTTP缓存一般是采用URL作为索引来确定一个资源是否已在自身存储下来。但由于HTTP在线视频文件的URL是动态变化的,所以现有技术中通过如下两种索引方式来确定一个HTTP在线视频文件的资源是否存在。第一种是直接采用URL中的文件名部分作为索引,第二种是提取与HTTP在线视频文件相关联的播放页面中的视频信息作为索引。但上述两种索引方式都存在一定的局限性。第一种索引方式下,如果出现相同视频文件对应不同文件名或者不同视频文件对应相同文件名的情况,就会有很高的误命中概率;第二种索引方式下,解析视频播放页面需要针对不同的视频服务提供商建立不同的特征库,配置解析规则,开发周期长,而且实现方式较为复杂。
发明内容
本发明提供一种有效解决现有技术中存在的误命中率高、实现复杂等问题的在线视频文件的缓存索引方法和缓存服务器。
本发明的第一个方面是提供一种在线视频文件的缓存索引方法,包括:
将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;
接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;
根据所述预定长度的数据生成所述在线视频文件的索引;
根据所述生成的索引在本地数据库中查询所述在线视频文件。
本发明的另一个方面是提供一种缓存服务器,包括:
发送模块,用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;
获得模块,用于接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;
生成模块,用于根据所述预定长度的数据生成所述在线视频文件的索引;
查询模块,用于根据所述生成的索引在本地数据库中查询所述在线视频文件。
本发明提供的方案,通过从视频服务器返回的视频数据的起始部分开始获得预定长度的数据,并根据预定长度的数据生成在线视频文件的索引,并根据索引获得本地数据库中的在线视频文件。对于每一个在线视频文件,其视频数据的起始部分是不会发生变化的,因此,从起始部分开始获得预定长度的数据后生成在线视频文件的索引可以很好地唯一标识一个在线视频文件,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。
附图说明
图1为本发明实施例一提供的在线视频文件的缓存索引方法流程图;
图2为本发明实施例一提供的HTTP应答头部的部分内容示意图;
图3为本发明实施例二提供的在线视频文件的缓存索引方法流程图;
图4为本发明实施例三提供的在线视频文件的缓存索引方法流程图;
图5为本发明实施例四提供的缓存服务器的结构示意图;
图6为本发明实施例五提供的缓存服务器的结构示意图。
具体实施方式
图1为本发明实施例一提供的在线视频文件的缓存索引方法流程图,如图1所示,该方法可以包括:
S101、HTTP缓存服务器将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器。
HTTP缓存服务器可以是一个独立存在的实体设备,也可以与其他设备共享一个实体,例如,HTTP缓存服务器可以与客户端的出口网关共用同一实体结构。在线视频文件的播放请求中一般会携带请求播放的在线视频文件的URL,视频服务器可以根据该URL来获得相应的视频数据。例如土豆网某视频的URL为:
http://119.167.142.71/f4v/63/145651463.h264_2.f4v?10000&key=172058bf3a0971afcc394d4fecda0900403384eb61&playtype=1&tk=142762920728495948890380594&brt=3&bc=0&nt=0&du=128600&ispid=85&rc=200&inf=1&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=CXH9UesRrTvuztvvC1Ig170qj7qn7
S103、接收视频服务器返回的视频数据,并从该视频数据的起始部分开始获得预定长度的数据。
一般情况下,缓存服务器先接收到HTTP应答头部,如图2所示的HTTP应答头部的部分内容示意图,根据HTTP应答头部的内容可以知道是否为成功的应答(应答码为200)。如果是成功的应答,从该视频数据的起始部分开始采集预定长度的数据,预定长度可以根据不同的网络情况设定,本实施例中优选2k。
S105、根据预定长度的数据生成在线视频文件的索引。
其中,在线视频文件的索引可以理解为能够唯一标识该预定长度的数据段信息。通常情况下,可以计算预定长度的数据的信息-摘要算法(MessageDigest,简称为:MD)5值,或者,计算预定长度的数据的哈希值等方式生成在线视频文件的索引。
S107、根据生成的索引在本地数据库中查询该在线视频文件。
本发明提供的方案通过从视频服务器返回的视频数据的起始部分开始获得预定长度的数据,并根据预定长度的数据生成在线视频文件的索引,并根据索引获得本地数据库中的在线视频文件。对于每一个在线视频文件,其视频数据的起始部分是不会发生变化的,因此,从起始部分开始获得预定长度的数据后生成在线视频文件的索引可以很好地唯一标识一个在线视频文件,有效减少甚至是基本克服了误命中率高的问题,并且实现简单。
图3为本发明实施例二提供的在线视频文件的缓存索引方法流程图,在图1所示的实施方式的基础上,S101之前,该方法还可以包括:
S100、缓存服务器判断接收到的HTTP请求是否为在线视频文件的播放请求;
如果是,执行S101。
其中,可以通过提取HTTP请求中URL的文件扩展名来判断接收到的HTTP请求是否为在线视频文件的播放请求。通常情况下,在线视频文件的文件扩展名可以但不限于包括:.flv、.hlv、.mp4、.f4v、.letv等。
进一步的,S103中提到了缓存服务器先接收到HTTP应答头部,从图2中可以看到,HTTP应答头部中还包括了在线视频文件的长度,那么在上述图1或者图3所示的方法实施例的基础上,如图4所示的本发明实施例三提供的在线视频文件的缓存索引方法流程图,S105之后,该方法还可以包括:
S106、根据在线视频文件的长度和在线视频文件的索引生成在线视频文件的增强索引值。
则S107可以变换为:
S107’、根据增强索引值在本地数据库中查询在线视频文件。
增强索引值可以进一步增强在线视频文件的缓存索引的命中正确率。
在上述图1、图3或者图4所示的方法实施例基础上,S107之后还可以包括:
如果查询到在线视频文件,断开与视频服务器的连接,将查询到的在线视频文件返回给客户端;
如果查询不到在线视频文件,保持与视频服务器的连接,继续接收视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
通常情况下,客户端在接收到100k大小的数据之后才可以开始进行视频的播放。
进一步的,如果查询不到在线视频文件,且视频数据已完成接收,组成完整的视频文件,则该方法还可以包括:将完整的视频文件、以及完整的视频文件与生成的索引(也可以是生成的增强索引值)之间的对应关系进行保存。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明实施例四提供的缓存服务器的结构示意图,该缓存服务器为上述方法实施例的执行主体,因此,关于本实施例提供的缓存服务器的具体执行步骤可以参加上述方法实施例的描述,此处不做赘述。如图5所示,该缓存服务器可以包括:发送模块501、获得模块502、生成模块503和查询模块504。其中,发送模块501用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;获得模块502用于接收视频服务器返回的视频数据,并从视频数据的起始部分开始获得预定长度的数据;生成模块503用于根据预定长度的数据生成在线视频文件的索引;查询模块504用于根据生成的索引在本地数据库中查询在线视频文件。
一种实施方式下,获得模块502接收到的视频服务器返回的视频数据中包括HTTP应答头部,HTTP应答头部中包括在线视频文件的长度;生成模块503还用于:根据预定长度的数据生成在线视频文件的索引之后,根据在线视频文件的长度和在线视频文件的索引生成在线视频文件的增强索引值;查询模块504还用于:根据增强索引值在本地数据库中查询在线视频文件。
在上述实施方式的基础上,生成模块503具体可以用于:计算预定长度的数据的信息-摘要算法MD5值作为在线视频文件的索引;或者,计算预定长度的数据的哈希值作为在线视频文件的索引。
图6为本发明实施例五提供的缓存服务器的结构示意图,在上述实施方式的基础上,图6所示的缓存服务器还可以包括:处理模块505,用于如果查询模块查询到在线视频文件,断开与视频服务器的连接,将查询到的在线视频文件返回给客户端;如果查询模块查询不到在线视频文件,保持与视频服务器的连接,继续接收视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
如果查询模块504查询不到在线视频文件,且处理模块505中的视频数据已完成接收,组成完整的视频文件,则处理模块505还可以用于:将完整的视频文件、以及完整的视频文件与生成的索引(也可以是增强索引值)之间的对应关系进行保存。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种在线视频文件的缓存索引方法,其特征在于,包括:
将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;
接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;
根据所述预定长度的数据生成所述在线视频文件的索引;
根据所述生成的索引在本地数据库中查询所述在线视频文件。
2.根据权利要求1所述的方法,其特征在于,所述视频服务器返回的视频数据中包括HTTP应答头部,所述HTTP应答头部中包括所述在线视频文件的长度;
则所述根据所述预定长度的数据生成所述在线视频文件的索引之后,所述方法还包括:
根据所述在线视频文件的长度和所述在线视频文件的索引生成所述在线视频文件的增强索引值;
所述根据所述生成的索引在本地数据库中查询所述在线视频文件包括:
根据所述增强索引值在本地数据库中查询所述在线视频文件。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述预定长度的数据生成所述在线视频文件的索引,包括:
计算所述预定长度的数据的信息-摘要算法MD5值作为所述在线视频的索引;或者,
计算所述预定长度的数据的哈希值作为所述在线视频的索引。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述生成的索引在本地数据库中查询所述在线视频文件之后,所述方法还包括:
如果查询到所述在线视频文件,断开与所述视频服务器的连接,将所述查询到的在线视频文件返回给所述客户端;
如果查询不到所述在线视频文件,保持与所述视频服务器的连接,继续接收所述视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
5.根据权利要求4所述的方法,其特征在于,如果查询不到所述在线视频文件,且所述视频数据已完成接收,组成完整的视频文件,则所述方法还包括:将所述完整的视频文件、以及所述完整的视频文件与所述生成的索引之间的对应关系进行保存。
6.一种缓存服务器,其特征在于,包括:
发送模块,用于将接收到的客户端发送的在线视频文件的播放请求发送给视频服务器;
获得模块,用于接收视频服务器返回的视频数据,并从所述视频数据的起始部分开始获得预定长度的数据;
生成模块,用于根据所述预定长度的数据生成所述在线视频文件的索引;
查询模块,用于根据所述生成的索引在本地数据库中查询所述在线视频文件。
7.根据权利要求6所述的缓存服务器,其特征在于,所述获得模块接收到的视频服务器返回的视频数据中包括HTTP应答头部,所述HTTP应答头部中包括所述在线视频文件的长度;所述生成模块还用于:
根据所述预定长度的数据生成所述在线视频文件的索引之后,根据所述在线视频文件的长度和所述在线视频文件的索引生成所述在线视频文件的增强索引值;
所述查询模块还用于:根据所述增强索引值在本地数据库中查询所述在线视频文件。
8.根据权利要求6或7所述的缓存服务器,其特征在于,所述生成模块具体用于:
计算所述预定长度的数据的信息-摘要算法MD5值作为所述在线视频文件的索引;或者,计算所述预定长度的数据的哈希值作为所述在线视频文件的索引。
9.根据权利要求6或7所述的缓存服务器,其特征在于,所述服务器还包括:
处理模块,用于如果所述查询模块查询到所述在线视频文件,断开与所述视频服务器的连接,将所述查询到的在线视频文件返回给所述客户端;如果所述查询模块查询不到所述在线视频文件,保持与所述视频服务器的连接,继续接收所述视频服务器返回的视频数据,并将已接收到的视频数据返回给客户端。
10.根据权利要求9所述的缓存服务器,其特征在于,如果所述查询模块查询不到所述在线视频文件,且所述处理模块中的所述视频数据已完成接收,组成完整的视频文件,则所述处理模块还用于:将所述完整的视频文件、以及所述完整的视频文件与所述生成的索引之间的对应关系进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210326219.1A CN102843615B (zh) | 2012-09-05 | 2012-09-05 | 在线视频文件的缓存索引方法和缓存服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210326219.1A CN102843615B (zh) | 2012-09-05 | 2012-09-05 | 在线视频文件的缓存索引方法和缓存服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843615A true CN102843615A (zh) | 2012-12-26 |
CN102843615B CN102843615B (zh) | 2016-08-03 |
Family
ID=47370626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210326219.1A Active CN102843615B (zh) | 2012-09-05 | 2012-09-05 | 在线视频文件的缓存索引方法和缓存服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843615B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546829A (zh) * | 2013-10-23 | 2014-01-29 | 华为技术有限公司 | 一种视频业务处理方法及设备 |
WO2015043239A1 (en) * | 2013-09-25 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing media data on a terminal |
CN104978398A (zh) * | 2015-06-02 | 2015-10-14 | 广东欧珀移动通信有限公司 | 一种音乐播放方法及终端设备 |
CN106888228A (zh) * | 2015-12-15 | 2017-06-23 | 中国电信股份有限公司 | 用于内容加速的方法、会话控制器和系统 |
CN108063914A (zh) * | 2017-11-22 | 2018-05-22 | 国政通科技股份有限公司 | 监控视频文件生成、播放方法、装置及终端设备 |
CN114218469A (zh) * | 2021-12-15 | 2022-03-22 | 掌阅科技股份有限公司 | 资源策略处理方法、计算设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237561A (zh) * | 2008-01-09 | 2008-08-06 | 北京捷报互动科技有限公司 | 网络视频加速系统及控制方法 |
CN101917328A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种本地收录、搜索流媒体的方法及一种网络播放器 |
CN102111685A (zh) * | 2011-02-24 | 2011-06-29 | 深信服网络科技(深圳)有限公司 | 一种网络视频加载的加速方法、设备及系统 |
CN102355504A (zh) * | 2011-10-17 | 2012-02-15 | 苏州迈科网络安全技术股份有限公司 | Flv在线视频缓存方法及装置 |
-
2012
- 2012-09-05 CN CN201210326219.1A patent/CN102843615B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237561A (zh) * | 2008-01-09 | 2008-08-06 | 北京捷报互动科技有限公司 | 网络视频加速系统及控制方法 |
CN101917328A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种本地收录、搜索流媒体的方法及一种网络播放器 |
CN102111685A (zh) * | 2011-02-24 | 2011-06-29 | 深信服网络科技(深圳)有限公司 | 一种网络视频加载的加速方法、设备及系统 |
CN102355504A (zh) * | 2011-10-17 | 2012-02-15 | 苏州迈科网络安全技术股份有限公司 | Flv在线视频缓存方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015043239A1 (en) * | 2013-09-25 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing media data on a terminal |
CN103546829A (zh) * | 2013-10-23 | 2014-01-29 | 华为技术有限公司 | 一种视频业务处理方法及设备 |
CN104978398A (zh) * | 2015-06-02 | 2015-10-14 | 广东欧珀移动通信有限公司 | 一种音乐播放方法及终端设备 |
CN106888228A (zh) * | 2015-12-15 | 2017-06-23 | 中国电信股份有限公司 | 用于内容加速的方法、会话控制器和系统 |
CN108063914A (zh) * | 2017-11-22 | 2018-05-22 | 国政通科技股份有限公司 | 监控视频文件生成、播放方法、装置及终端设备 |
CN108063914B (zh) * | 2017-11-22 | 2020-10-16 | 国政通科技股份有限公司 | 监控视频文件生成、播放方法、装置及终端设备 |
CN114218469A (zh) * | 2021-12-15 | 2022-03-22 | 掌阅科技股份有限公司 | 资源策略处理方法、计算设备及存储介质 |
CN114218469B (zh) * | 2021-12-15 | 2022-09-02 | 掌阅科技股份有限公司 | 资源策略处理方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102843615B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100667819B1 (ko) | 블로그를 통해 컨텐츠를 배포하기 위한 방법 및 장치 | |
CN102843615A (zh) | 在线视频文件的缓存索引方法和缓存服务器 | |
KR101669312B1 (ko) | 서술파일을 기반으로 한 개별화된 데이터 통신 | |
JP5192798B2 (ja) | サービス提供システム、ゲートウェイ、およびサーバ | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN101677325B (zh) | 发布媒体描述信息和获取媒体的方法、装置、系统 | |
CN102737065B (zh) | 数据的获取方法和装置 | |
CN102833293A (zh) | P2sp网络中资源下载的方法及客户端 | |
CN103944994A (zh) | 分布式资源获取方法及装置 | |
US20130179542A1 (en) | Intelligent Data Delivery and Storage Based on Data Characteristics | |
CN102694831B (zh) | 移动终端流媒体数据补偿方法与系统、内容分发网络 | |
CN102771080A (zh) | 使用缓存的高效媒体传送的系统和方法 | |
US20140359066A1 (en) | System, method and device for offline downloading resource and computer storage medium | |
WO2009149063A1 (en) | Media mashup system | |
CN103457993A (zh) | 本地缓存装置和提供内容缓存服务的方法 | |
CN101046806B (zh) | 搜索引擎系统和方法 | |
CN105808546A (zh) | 一种视频文件索引管理平台、系统及其方法 | |
CN105228001A (zh) | 一种flv格式视频在线播放的方法及系统 | |
JP2009541877A (ja) | ウェブ・オブジェクトを制御する方法、システム、装置、及びコンピュータ・プログラム(放送情報をキャッシュする方法及び装置) | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
CN104320679A (zh) | 一种基于hls协议的用户信息获取方法和服务器 | |
CN102438004A (zh) | 获取媒体文件的元数据信息的方法、系统及多媒体播放器 | |
CN104967642B (zh) | 内容分发方法及装置 | |
CN109525622A (zh) | 分片资源id的生成方法、资源分享方法,装置及电子设备 | |
CN101296201B (zh) | 网络信息共享方法、系统及即时通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |