一种视频文件的定位方法、装置及系统的制作方法

文档序号:6521344阅读:172来源:国知局
一种视频文件的定位方法、装置及系统的制作方法
【专利摘要】本发明适用于云存储【技术领域】,提供了一种视频文件的定位方法、装置及系统,所述方法包括:接收客户端发送的需要定位的视频文件的标识和格林尼治时间;根据视频文件的标识获取视频文件的元数据;根据视频文件的元数据查找与视频文件对应的索引文件的标识;根据索引文件的标识获取索引文件的元数据;根据索引文件的元数据以及格林尼治时间计算视频文件的时间戳;遍历索引文件的元数据,得到每个索引块的存储节点列表;向列表中的每个存储节点对应的存储服务器发送包括视频文件的时间戳的索引记录查询请求,由存储服务器根据该视频文件的时间戳从索引文件中查找到视频文件的偏移值。本发明,简单易行,是一种高效的定位方法。
【专利说明】一种视频文件的定位方法、装置及系统
【技术领域】
[0001] 本发明属于云存储【技术领域】,尤其涉及一种视频文件的定位方法、装置及系统。【背景技术】
[0002]随着计算机和网络技术的不断发展以及高清视频的普及,存储多媒体所需的空间不断增长,传统的存储架构已经很难满足需求。
[0003]Z?存储以其海量的存储空间、闻可?性、闻并发、闻可扩展性及闻性价比等特性逐渐展露头角。
[0004]然而,一般的云存储比较适用于普通大文件,对视频文件的支持并非很好。因为视频文件较普通文件,需要对应的索引文件,结合索引文件,视频文件的数据定位会更为复杂。

【发明内容】

[0005]本发明实施例提供了一种视频文件的定位方法、装置及系统,g在解决现有技术提供的云存储对视频文件的支持并非很好,导致视频文件的数据定位比较复杂的问题。
[0006]一方面,提供一种视频文件的定位方法,所述方法包括:
[0007]接收客户端发送的定位请求,所述定位请求中包括需要定位的视频文件的标识和格林尼治时间;
[0008]根据所述视频文件的标识获取所述视频文件的元数据;
[0009]根据所述视频文件的元数据查找与所述视频文件对应的索引文件的标识;
[0010]根据所述索引文件的标识获取所述索引文件的元数据;
[0011]根据所述索引文件的元数据以及所述格林尼治时间计算得到所述视频文件的时间戳;
[0012]遍历所述索引文件的元数据,得到每个索引块的存储节点列表;
[0013]向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,所述索引记录查询请求中包括所述视频文件的时间戳,由存储服务器根据所述视频文件的时间戳从所述索引文件中查找到所述视频文件的偏移值;
[0014]接收所述存储服务器发送的所述视频文件的偏移值并转发所述偏移值至客户端。
[0015]进ー步地,在所述接收客户端发送的定位请求之前或者在所述根据所述视频文件的标识获取所述视频文件的元数据之前,还包括:
[0016]将所述视频文件和所述索引文件均分割成大小相同的块;
[0017]存储所述视频文件的元数据、所述索引文件的元数据和对所述视频文件和所述索引文件进行分割得到的块。
[0018]进ー步地,所述存储所述视频文件的元数据、所述索引文件的元数据和对所述视频文件和所述索引文件分割得到的块包括:
[0019]将所述视频文件的元数据和所述索引文件的元数据均存储在控制服务器中;[0020]根据所述视频文件的元数据和所述索引文件的元数据将分割得到的块存储至相应的存储服务器中。
[0021]进ー步地,所述视频文件的元数据的结构与所述索引文件的元数据的结构相同,均包括文件的标识、块的列表、视频文件的开始时间、视频文件对应的索引文件的标识;
[0022]其中,块的列表中包括至少两个块的元数据,每个块的元数据中包括每个块的存储节点列表。
[0023]进ー步地,所述块包括文件块和索引块,所述索引文件被分割成大小相同的索引块,所述索引块中包括至少一条索引记录,在所述将所述视频文件和所述索引文件均分割成大小相同的块之后,还包括:
[0024]从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存。
[0025]进ー步地,所述从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存的步骤具体包括:
[0026]从所述索引块的索引记录中提取出视频文件的时间戳和视频文件的偏移值;
[0027]将所述视频文件的时间戳和所述视频文件的偏移值绑定在一起,组成一条新的索引记录;
[0028]根据所述新的索引记录构建新的索引块;
[0029]将所述新的索引块的所有索引记录保存在一个文件中;
[0030]每次启动存储服务器吋,将所述文件加载到内存。
[0031]另ー方面,提供一种视频文件的定位装置,所述定位装置包括:
[0032]定位请求接收单元,用于接收客户端发送的定位请求,所述定位请求中包括需要定位的视频文件的标识和格林尼治时间;
[0033]视频元数据获取単元,用于根据所述视频文件的标识获取所述视频文件的元数据;
[0034]索引文件标识获取単元,用于根据所述视频文件的元数据查找与所述视频文件对应的索引文件的标识;
[0035]索引文件元数据获取単元,用于根据所述索引文件的标识获取所述索引文件的元数据;
[0036]视频文件时间戳获取单元,用于根据所述索引文件的元数据以及所述格林尼治时间计算得到所述视频文件的时间戳;
[0037]存储节点列表获取单元,用于遍历所述索引文件的元数据,得到每个索引块的存储节点列表;
[0038]查询请求发送单元,用于向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,所述索引记录查询请求中包括所述视频文件的时间戳,由存储服务器根据所述视频文件的时间戳从所述索弓I文件中查找到所述视频文件的偏移值;
[0039]偏移值接收単元,用于接收所述存储服务器发送的所述视频文件的偏移值并转发所述偏移值至客户端。
[0040]进ー步地,所述定位装置还包括:
[0041]文件分块单元,用于将所述视频文件和所述索引文件均分割成大小相同的块;[0042]块存储単元,用于存储所述视频文件的元数据、所述索引文件的元数据和对所述视频文件和所述索引文件进行分割得到的块。
[0043]进ー步地,所述块存储单元包括:
[0044]元数据存储模块,将所述视频文件的元数据和所述索引文件的元数据均存储在控制服务器中;
[0045]块存储模块,用于根据所述视频文件的元数据和所述索引文件的元数据将分割得到的块存储至相应的存储服务器中。
[0046]进ー步地,所述视频文件的元数据的结构与所述索引文件的元数据的结构相同,均包括文件的标识、块的列表、视频文件的开始时间、视频文件对应的索引文件的标识;
[0047]其中,块的列表中包括至少两个块的元数据,每个块的元数据中包括每个块的存储节点列表。
[0048]进ー步地,所述块包括文件块和索引块,所述索引文件被分割成大小相同的索引块,所述索引块中包括至少一条索引记录;
[0049]所述定位装置还包括:
[0050]索引块缓存単元,用于从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存。
[0051]进ー步地,所述索引块缓存単元包括:
[0052]字段值提取模块,用于从所述索引块的索引记录中提取出视频文件的时间戳和视频文件的偏移值;
[0053]新索引记录生成模块,用于将所述视频文件的时间戳和所述视频文件的偏移值绑定在一起,组成一条新的索引记录;
[0054]新索引块生成模块,用于根据所述新的索引记录构建新的索引块;
[0055]新索引块存储模块,用于将所述新的索引块的所有索引记录保存在一个文件中;
[0056]索引加载模块,用于每次启动存储服务器吋,将所述文件加载到内存。
[0057]又一方面,提供一种视频文件的定位系统,其特征在于,所述系统包括客户端、与所述客户端连接的控制服务器、与所述控制服务器连接的至少ー个存储服务器,所述控制服务器包括如上所述的视频文件的定位装置。
[0058]在本发明实施例,客户端先向控制服务器发送定位请求信息,控制服务器根据该定位请求信息获取视频文件的元数据,从该视频文件的元数据中得到索引文件的标识,再根据该索引文件的标识获取索引文件的元数据,进而得到每个索引块的存储节点列表,然后向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,由存储服务器根据该查询请求获取视频文件的偏移值,发送给控制服务器,再由控制服务器将该偏移值转发至客户端。整个视频文件的定位过程中是根据视频文件的元数据、索引文件的元数据以及索引文件来实现视频文件的定位,简单易行,是ー种高效的定位方法。
【专利附图】

【附图说明】
[0059]图1是本发明实施例一提供的视频文件的定位方法的实现流程图;
[0060]图2是本发明实施例一提供的视频文件与索引文件,两者之间的关系示意图;
[0061]图3是本发明实施例一提供的视频文件和索引文件的元数据的结构示意图;[0062]图4是本发明实施例二提供的视频文件的定位装置的结构框图;
[0063]图5是本发明实施例三提供的视频文件的定位系统的结构框图。
【具体实施方式】
[0064]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0065]在本发明实施例中,客户端先向控制服务器发送定位请求信息,控制服务器根据该定位请求信息获取视频文件的元数据,从该视频文件的元数据中得到索引文件的标识,再根据该索引文件的标识获取索引文件的元数据,进而得到每个索引块的存储节点列表,然后向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,由存储服务器根据该查询请求获取视频文件的偏移值,发送给控制服务器,再由控制服务器将该偏移值转发至客户端。
[0066]以下结合具体实施例对本发明的实现进行详细描述:
[0067]实施例一
[0068]图1示出了本发明实施例一提供的视频文件的定位方法的实现流程,以控制服务器侧为例来进行说明,详述如下:
[0069]在步骤SlOl中, 接收客户端发送的定位请求,该定位请求中包括需要定位的视频文件的标识和格林尼治时间。
[0070]在本实施例中,控制服务器接收客户端发送的定位请求,该定位请求中包括需要定位的视频文件的标识ID和格林尼治时间。
[0071]在步骤S102中,根据视频文件的标识获取视频文件的元数据。
[0072]在本实施例中,控制服务器接收到客户端发送的定位请求后,根据该请求中包括的视频文件的标识获取该视频文件的元数据。
[0073]需要说明的是:在执行步骤SlOl或者步骤S102之前,还需要执行下述步骤:
[0074]步骤1、将视频文件和索引文件均分割成大小相同的块。
[0075]其中,一个视频文件对应ー个索引文件,两者之间是--对应的关系。两者之间的
关系如图2所示,索引文件中的一条索引记录唯一对应视频文件中的一条视频帧。
[0076]设定块的大小后,一个视频文件可以被分割成至少两个块,每个块都有ー个唯一标识id,每个块是一段视频,都是由帧组成,帧类别分别为:1帧,P帧和B帧。
[0077]相应地,与视频文件对应的索引文件也被分割成至少两个块,可以将该至少两个块称为索引块,索引文件中的每个索引块由N条索引记录组成。
[0078]视频文件的每ー帧对应索引文件的一条索引记录。一条索引记录由4个字段组成:Time、I_Seqno、P,B_Seqno和Offset。姆个字段所代表的含义如表1所示:
【权利要求】
1.一种视频文件的定位方法,其特征在于,所述方法包括: 接收客户端发送的定位请求,所述定位请求中包括需要定位的视频文件的标识和格林尼治时间; 根据所述视频文件的标识获取所述视频文件的元数据; 根据所述视频文件的元数据查找与所述视频文件对应的索引文件的标识; 根据所述索引文件的标识获取所述索引文件的元数据; 根据所述索引文件的元数据以及所述格林尼治时间计算得到所述视频文件的时间戳; 遍历所述索引文件的元数据,得到每个索引块的存储节点列表; 向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,所述索引记录查询请求中包括所述视频文件的时间戳,由存储服务器根据所述视频文件的时间戳从所述索引文件中查找到所述视频文件的偏移值; 接收所述存储服务器发送的所述视频文件的偏移值并转发所述偏移值至客户端。
2.如权利要求1所述的方法,其特征在于,在所述接收客户端发送的定位请求之前或者在所述根据所述视频文件的标识获取所述视频文件的元数据之前,还包括: 将所述视频文件和所述索引文件均分割成大小相同的块; 存储所述视频文件的元数据、所述索引文件的元数据和对所述视频文件和所述索引文件进行分割得到的块。
3.如权利要求2所述的方法,其特征在于,所述存储所述视频文件的元数据、所述索引文件的元数据和对所述视频 文件和所述索引文件分割得到的块包括: 将所述视频文件的元数据和所述索引文件的元数据均存储在控制服务器中; 根据所述视频文件的元数据和所述索引文件的元数据将分割得到的块存储至相应的存储服务器中。
4.如权利要求2所述的方法,其特征在于,所述视频文件的元数据的结构与所述索引文件的元数据的结构相同,均包括文件的标识、块的列表、视频文件的开始时间、视频文件对应的索引文件的标识; 其中,块的列表中包括至少两个块的元数据,每个块的元数据中包括每个块的存储节点列表。
5.如权利要求2或3或4所述的方法,其特征在于,所述块包括文件块和索引块,所述索引文件被分割成大小相同的索引块,所述索引块中包括至少一条索引记录,在所述将所述视频文件和所述索引文件均分割成大小相同的块之后,还包括: 从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存。
6.如权利要求5所述的方法,其特征在于,所述从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存的步骤具体包括: 从所述索引块的索引记录中提取出视频文件的时间戳和视频文件的偏移值; 将所述视频文件的时间戳和所述视频文件的偏移值绑定在一起,组成一条新的索引记录; 根据所述新的索引记录构建新的索引块;将所述新的索引块的所有索引记录保存在一个文件中; 每次启动存储服务器吋,将所述文件加载到内存。
7.一种视频文件的定位装置,其特征在于,所述定位装置包括: 定位请求接收单元,用于接收客户端发送的定位请求,所述定位请求中包括需要定位的视频文件 的标识和格林尼治时间; 视频元数据获取単元,用于根据所述视频文件的标识获取所述视频文件的元数据; 索引文件标识获取単元,用于根据所述视频文件的元数据查找与所述视频文件对应的索引文件的标识; 索引文件元数据获取単元,用于根据所述索引文件的标识获取所述索引文件的元数据; 视频文件时间戳获取单元,用于根据所述索引文件的元数据以及所述格林尼治时间计算得到所述视频文件的时间戳; 存储节点列表获取单元,用于遍历所述索引文件的元数据,得到每个索引块的存储节点列表; 查询请求发送单元,用于向列表中的每个存储节点对应的存储服务器发送索引记录查询请求,所述索引记录查询请求中包括所述视频文件的时间戳,由存储服务器根据所述视频文件的时间戳从所述索引文件中查找到所述视频文件的偏移值; 偏移值接收単元,用于接收所述存储服务器发送的所述视频文件的偏移值并转发所述偏移值至客户端。
8.如权利要求7所述的定位装置,其特征在于,所述定位装置还包括: 文件分块单元,用于将所述视频文件和所述索引文件均分割成大小相同的块; 块存储単元,用于存储所述视频文件的元数据、所述索引文件的元数据和对所述视频文件和所述索引文件进行分割得到的块。
9.如权利要求8所述的定位装置,其特征在于,所述块存储单元包括: 元数据存储模块,将所述视频文件的元数据和所述索引文件的元数据均存储在控制服务器中; 块存储模块,用于根据所述视频文件的元数据和所述索引文件的元数据将分割得到的块存储至相应的存储服务器中。
10.如权利要求8所述的定位装置,其特征在于,所述视频文件的元数据的结构与所述索引文件的元数据的结构相同,均包括文件的标识、块的列表、视频文件的开始时间、视频文件对应的索引文件的标识; 其中,块的列表中包括至少两个块的元数据,每个块的元数据中包括每个块的存储节点列表。
11.如权利要求8或9或10所述的定位装置,其特征在于,所述块包括文件块和索引块,所述索引文件被分割成大小相同的索引块,所述索引块中包括至少一条索引记录; 所述定位装置还包括: 索引块缓存単元,用于从所述索引块的索引记录中提取预选的字段构建新的索引块并加载所述新的索引块至内存。
12.如权利要求11所述的定位装置,其特征在于,所述索引块缓存単元包括:字段值提取模块,用于从所述索引块的索引记录中提取出视频文件的时间戳和视频文件的偏移值; 新索引记录生成模块,用于将所述视频文件的时间戳和所述视频文件的偏移值绑定在一起,组成一条新的索引记录; 新索引块生成模块,用于根据所述新的索引记录构建新的索引块; 新索引块存储模块,用于将所述新的索引块的所有索引记录保存在一个文件中; 索引加载模块,用于每次启动存储服务器吋,将所述文件加载到内存。
13.—种视频文件的定位系统,其特征在于,所述系统包括客户端、与所述客户端连接的控制服务器、与所述控制服务器连接的至少ー个存储服务器,所述控制服务器包括如权利要求7至12任一项所述的视频`文件的定位装置。
【文档编号】G06F17/30GK103605778SQ201310627421
【公开日】2014年2月26日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】蔡万俊, 倪涛, 郭家栋 申请人:中安消技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1