视频数据获取方法及装置与流程

文档序号:16466957发布日期:2019-01-02 22:50阅读:303来源:国知局
视频数据获取方法及装置与流程

本发明实施例涉及云存储领域,特别涉及一种视频数据获取方法及装置。



背景技术:

监控系统包括摄像机和存储系统,管理节点将摄像机所拍摄的视频数据存储在存储系统中。

在视频数据的存储过程中,按照不同的时间段将视频数据划分为多个视频数据块,为每个视频数据块生成一个索引文件,将视频数据块对应的索引文件存储至同一存储节点中。当终端从云存储系统获取目标时间段内的视频数据进行视频回放时,需要遍历该存储节点中的每个视频数据块的索引文件,以查找到属于目标时间段的视频数据,并将视频数据进行回放。

但随着摄像机数量和监控时长的增加,云存储系统中的视频数据的数据量会越来越大,使得视频数据对应的索引文件的数据量也越来越大。当索引文件的数据量达到一定数量级后,由于每次回放时都需要遍历所有索引文件,导致遍历查找所有索引文件的效率较低。



技术实现要素:

为了解决回放时遍历查找所有索引文件的效率较低的问题,本发明实施例提供了一种视频数据获取方法及装置。所述技术方案如下:

根据本发明的第一方面,提供了一种视频数据获取方法,应用于云存储系统中,所述方法包括:

接收终端发送的第一获取请求,所述第一获取请求包括目标时间段;

从分布式存储的至少两个索引数据块中,查询出所述目标时间段对应的视频数据的索引数据;

向所述终端发送所述索引数据;

接收所述终端发送的第二获取请求,所述第二获取请求包括所述索引数据;

从分布式存储的至少两个视频数据块中,获取与所述索引数据对应的视频数据;

向所述终端发送所述视频数据。

在一个可选的实施例中,所述云存储系统还包括:

至少两个存储节点和至少一个转发节点,所述至少两个存储节点用于分布式存储所述索引数据块;

所述从分布式存储的至少两个索引数据块中,查询出所述目标时间段对应的视频数据的索引数据,包括:

目标转发节点从所述至少两个存储节点获取与所述目标时间段对应的所述索引数据,所述目标转发节点是所述至少一个转发节点中的一个。

在一个可选的实施例中,所述云存储系统还包括:管理节点;

所述至少两个存储节点还用于存储所述索引数据块的第一元数据,所述第一元数据包括所述索引数据块的时间段信息以及所述索引数据块所在的存储节点和存储位置;

所述目标转发节点向所述至少两个存储节点获取与所述目标时间段对应的所述索引数据,包括:

所述目标转发节点向所述管理节点发送第一元数据获取请求,所述第一元数据获取请求包括所述目标时间段;

所述目标转发节点接收所述管理节点发送的所述属于所述目标时间段的第一元数据,所述属于所述目标时间段的第一元数据是所述管理节点向所述至少两个存储节点查询得到的;

所述目标转发节点根据所述第一元数据确定出第一目标存储节点,向所述至第一目标存储节点查询与所述目标时间段对应的索引数据。

在一个可选的实施例中,所述云存储系统还包括:至少两个存储节点和至少一个转发节点,所述至少两个存储节点用于分布式存储所述视频数据块;

所述从分布式存储的至少两个视频数据块中,查询出与所述索引数据对应的视频数据,包括:

目标转发节点从所述至少两个存储节点获取与所述索引数据对应的视频数据,所述目标转发节点是所述至少一个转发节点中的一个。

在一个可选的实施例中,所述索引数据包括属于所述目标时间段的视频数据中的至少一个视频帧的帧存储位置;

所述至少两个存储节点还用于存储所述视频数据块的第二元数据,所述第二元数据包括所述视频数据块的时间段信息以及所述视频数据块所在的存储节点和存储位置;

所述目标转发节点从所述至少两个存储节点获取与所述索引数据对应的视频数据,包括:

所述目标转发节点向所述管理节点发送第二元数据获取请求,所述第二元数据获取请求包括所述目标时间段;

所述目标转发节点接收所述管理节点发送的所述属于所述目标时间段的第二元数据,所述属于所述目标时间段的第二元数据所述管理节点向所述至少两个存储节点查询得到的;

所述目标转发节点根据所述第二元数据确定出第二目标存储节点,根据所述帧存储位置向所述第二目标存储节点获取所述视频数据。

在一个可选的实施例中,所述云存储系统还包括:管理节点;

所述接收终端发送的第一获取请求之前,还包括:

所述管理节点接收终端发送的节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点;

所述管理节点从所述至少一个转发节点中分配所述目标转发节点,向所述终端发送所述目标转发节点的服务地址;

所述接收终端发送的第一获取请求,包括:

所述目标转发节点通过所述服务地址接收所述终端发送的所述第一获取请求。

在一个可选的实施例中,所述云存储系统还包括:接入节点;

所述从分布式存储的至少两个索引数据块中,查询出与所述目标时间段对应的视频数据的索引数据之前,还包括:

接入节点获取所述视频数据;

所述接入节点对所述视频数据进行帧分析,得到所述索引数据;

所述接入节点将所述索引数据划分为至少两个所述索引数据块,将所述索引数据块以分布式存储方式存储至至少两个所述存储节点中;

所述接入节点将所述视频数据划分为至少两个所述视频数据块,将所述视频数据块以分布式存储方式存储至至少两个所述存储节点中。

在一个可选的实施例中,所述接入节点将所述索引数据划分为至少一个所述索引数据块,将所述索引数据块以分布式存储方式存储至至少两个所述存储节点中,包括:

所述接入节点向管理节点发送第一分配请求,所述第一分配请求用于请求所述管理节点分配第i次存储时的存储节点,其中i≥1;

所述接入节点接收所述第i次存储时的存储节点的标识信息,所述第i次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第i次存储时的存储节点;

所述接入节点将所述索引数据中长度不大于预定数据值的第i个索引数据块写入所述第i次存储时的存储节点;

令i=i+1,并重新执行所述管理节点接收所述接入节点发送的第一分配请求的步骤。

在一个可选的实施例中,所述接入节点将所述视频数据划分为至少一个所述视频数据块,将所述视频数据块以分布式存储方式存储至至少两个所述存储节点中,包括:

所述接入节点向管理节点发送第二分配请求,所述第二分配请求用于请求所述管理节点分配第k次存储时的存储节点,其中k≥1;

所述接入节点接收所述第k次存储时的存储节点的标识信息,所述第k次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第k次存储时的存储节点;

所述接入节点将所述视频数据中长度不大于预定数据值的第k个视频数据块写入所述第k次存储时的存储节点;

令k=k+1,并重新执行所述管理节点接收所述接入节点发送的第二分配请求的步骤。

在本发明的第二方面,提供了一种视频数据获取方法,所述方法包括:

向云存储系统发送第一获取请求,所述第一获取请求包括目标时间段;

接收所述云存储系统发送的索引数据,所述索引数据存储有所述目标时间段对应的视频数据中的至少一个视频帧的索引,所述索引数据是所述云存储系统从分布式存储的至少两个索引数据块中查询出的;

向所述云存储系统发送第二获取请求,所述第二获取请求包括所述索引数据;

接收所述云存储系统发送的视频数据;所述视频数据是所述云存储系统从分布式存储的至少两个视频数据块中查询得到的与所述索引数据对应的视频数据;

将所述视频数据封装为视频流,并对所述视频流进行回放。

在一个可选的实施例中,所述云存储系统还包括:管理节点、至少两个存储节点和至少一个转发节点;

所述向云存储系统发送第一获取请求之前,还包括:

向所述管理节点发送节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点,所述目标转发节点是所述至少一个转发节点中的一个;

接收所述管理节点发送的所述目标转发节点的服务地址,所述目标转发节点是所述管理节点从所述至少一个转发节点中进行选择后分配给所述终端的;

所述向云存储系统发送第一获取请求,包括:

向所述目标转发节点的所述服务地址发送所述第一获取请求。

在一个可选的实施例中,所述方法由安装有云应用和云存储工具的终端来执行;

所述向云存储系统发送第一获取请求,包括:

通过所述云应用调用所述云存储工具对所述索引数据进行查询;

通过所述云存储工具向所述云存储系统发送所述第一获取请求,所述第一获取请求包括目标时间段。

在本发明的第三方面,提供了一种云存储系统,所述系统包括:至少一个转发节点和至少两个存储节点;

目标转发节点,用于接收终端发送的第一获取请求,所述第一获取请求包括目标时间段,所述目标转发节点是所述至少一个转发节点中一个;

所述目标转发节点,还用于从所述至少两个存储节点分布式存储的至少两个索引数据块中,查询出所述目标时间段对应的视频数据的索引数据;

所述目标转发节点,还用于向所述终端发送所述索引数据;

所述目标转发节点,还用于接收所述终端发送的第二获取请求,所述第二获取请求包括所述索引数据;

所述目标转发节点,还用于从所述至少两个存储节点分布式存储的至少两个视频数据块中,获取与所述索引数据对应的视频数据;

所述目标转发节点,还用于向所述终端发送所述视频数据。

在一个可选的实施例中,所述系统还包括:管理节点;

所述至少两个存储节点,还用于分布式存储所述索引数据块的第一元数据,所述第一元数据包括所述索引数据块的时间段信息以及所述索引数据块所在的存储节点和存储位置;

所述目标转发节点,还用于向所述管理节点发送第一元数据获取请求,所述第一元数据获取请求包括所述目标时间段;

所述目标转发节点,还用于接收所述管理节点发送的所述属于所述目标时间段的第一元数据;

所述目标转发节点,还用于根据所述属于所述目标时间段的第一元数据,向所述至少两个存储节点查询与所述目标时间段对应的索引数据。

在一个可选的实施例中,所述目标转发节点,还用于向所述管理节点发送第二元数据获取请求,所述第二元数据获取请求包括所述目标时间段;

所述目标转发节点,还用于接收所述管理节点发送的所述属于所述目标时间段的第二元数据;

所述目标转发节点,还用于根据所述第二元数据确定出目标存储节点,所述目标存储节点是所述视频数据所在的存储节点;

所述目标转发节点,还用于根据所述帧存储位置获取所述视频数据。

在一个可选的实施例中,所述系统还包括:管理节点;

所述管理节点,用于接收终端发送的节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点;

所述管理节点,还用于从所述至少一个转发节点中分配所述目标转发节点;向所述终端发送所述目标转发节点的服务地址;

所述目标转发节点,还用于通过所述服务地址接收所述终端发送的所述第一获取请求。

在一个可选的实施例中,所述系统还包括:接入节点;

接入节点,用于获取所述视频数据;

所述接入节点,还用于对所述视频数据进行帧分析,得到所述索引数据;

所述接入节点,还用于将所述索引数据划分为至少两个所述索引数据块;

所述接入节点,还用于将所述索引数据块以分布式存储方式存储至至少两个所述存储节点中;

所述接入节点,还用于将所述视频数据划分为至少两个个所述视频数据块;

所述接入节点,还用于将所述视频数据块以分布式存储方式存储至至少两个所述存储节点中。

在一个可选的实施例中,所述接入节点,还用于向管理节点发送第一分配请求,所述第一分配请求用于请求所述管理节点分配第i次存储时的存储节点,其中i≥1;

所述接入节点,还用于接收所述第i次存储时的存储节点的标识信息,所述第i次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第i次存储时的存储节点;

所述接入节点,还用于将所述索引数据中长度不大于预定数据值的第i个索引数据块写入所述第i次存储时的存储节点;

所述接入节点,还用于令i=i+1,并重新向所述管理节点发送所述第一分配请求。

在一个可选的实施例中,所述接入节点,还用于向管理节点发送第二分配请求,所述第二分配请求用于请求所述管理节点分配第k次存储时的存储节点,其中k≥1;

所述接入节点,还用于接收所述第k次存储时的存储节点的标识信息,所述第k次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第k次存储时的存储节点;

所述接入节点,还用于将所述视频数据中长度不大于预定数据值的第k个视频数据块写入所述第k次存储时的存储节点;

所述接入节点,还用于令k=k+1,并重新向所述管理节点发送所述第二分配请求的步骤。

在本发明的第四方面,还提供了

一种视频数据获取终端,所述终端包括:

发送模块,用于向云存储系统发送第一获取请求,所述第一获取请求包括目标时间段;

接收模块,用于接收所述云存储系统发送的索引数据,所述索引数据存储有所述目标时间段对应的视频数据中的至少一个视频帧的索引,所述索引数据是所述云存储系统从分布式存储的至少两个索引数据块中查询出的;

所述发送模块,用于向所述云存储系统发送第二获取请求,所述第二获取请求包括所述索引数据;

所述接收模块,用于接收所述云存储系统发送的视频数据;所述视频数据是所述云存储系统从分布式存储的至少两个视频数据块中查询得到的与所述索引数据对应的视频数据;

封装模块,用于将所述视频数据封装为视频流;

回放模块,用于对所述视频流进行回放。

在一个可选的实施例中,所述云存储系统还包括:管理节点、至少两个存储节点和至少一个转发节点;

所述终端,包括:

所诉发送模块,用于向所述管理节点发送节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点,所述目标转发节点是所述至少一个转发节点中的一个;

所述接收模块,用于接收所述管理节点发送的所述目标转发节点的服务地址,所述目标转发节点是所述管理节点从所述至少一个转发节点中进行选择后分配给所述终端的;

所述发送模块,包括:

发送子模块,用于向所述目标转发节点的所述服务地址发送所述第一获取请求。

在一个可选的实施例中,所述终端上安装有云应用和云存储工具;

所述终端,还包括:

调用模块,用于通过所述云应用调用所述云存储工具对所述索引数据进行查询;

所述发送模块,还用于通过所述云存储工具向所述云存储系统发送所述第一获取请求,所述第一获取请求包括目标时间段。

本发明实施例提供的技术方案带来的有益效果是:

通过将索引数据和视频数据分离存储,并将索引数据以分布式存储方式分散存储在多个存储设备中,得到至少两个索引数据块,使得能够在视频回放的过程中从至少两个索引数据块中以并发提取的方式获取与目标时间段对应的索引数据,进而根据索引数据提取与目标时间段对应的视频数据,提高了视频回放时对索引数据的提取效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a至图1b是本发明一个示例性实施例提供的视频数据获取系统的结构示意图;

图2是本发明一个示例性实施例提供的云存储系统的结构示意图;

图3是本发明一个示例性实施例提供的视频数据获取方法的流程图;

图4是本发明另一个示例性实施例提供的视频数据获取方法的流程图;

图5是本发明另一个示例性实施例提供的视频数据获取方法的流程图;

图6a至6b是本发明另一个示例性实施例提供的存储节点的结构示意图;

图7是本发明另一个示例性实施例提供的视频数据获取方法的流程图;

图8是本发明另一个示例性实施例提供的视频数据获取方法的流程图;

图9是本发明一个示例性的实施例提供的终端的框图;

图10是本发明一个示例性的实施例提供的云存储系统的结构的框图;

图11是本发明另一个示例性的实施例提供的终端的结构的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1a是本发明一个示例性实施例提供的视频数据获取系统的结构示意图。该系统包括:至少一个摄像机120、云存储系统140和至少一个终端160。

摄像机120是用于拍摄视频数据的设备,比如:道路监控摄像机、小区安防摄像机、工地摄像机、工业摄像机等摄像机中的任意一种。可选地,每个摄像机120具有各自的编码器id(identification,身份标识号)。每个编码器id用于唯一标识一个摄像机。

摄像机120与云存储系统140通过通信网络130进行连接。可选地,该通信网络130可以是局域网、广域网、城域网中的至少一种。

云存储系统140包括:接入节点141、至少两个存储节点142、管理节点143以及至少一个转发节点144。

接入节点142是用于摄像机120将拍摄的视频数据存储至存储节点142中。当存储节点142为多个时,接入节点141将视频数据划分为多个视频数据块,每个视频数据块发送至各自对应的目标存储节点中,该目标存储节点为至少两个存储节点中的一个;接入节点141还用于将索引数据划分为多个索引数据块,每个索引数据块发送至各自对应的目标存储节点中,该目标存储节点为至少两个存储节点中的一个。

至少两个存储节点142用于存储视频数据以及与视频数据相关的索引数据,至少两个存储节点142用于分布式存储视频数据以及与视频数据相关的索引数据。对于视频数据来讲,分布式存储是指将视频数据划分为多个视频数据块分散存储于至少两个存储节点中;对于索引数据来讲,分布式存储是指将索引数据划分为多个索引数据块分散存储于至少两个存储节点142中。

如图1b所示,示意性的,一个存储节点142中存储的数据包括:至少一个索引数据块145、至少一个索引数据块的元数据146、至少一个视频数据块147以及至少一个视频数据块的元数据148、。

索引数据块145是由索引数据在至少两个存储节点上通过分布式存储方式进行存储得到的数据块,索引数据块中包括至少一个视频帧的时间戳信息、该视频帧的偏移量以及该视频帧的偏移长度。如:索引数据块上包括视频帧1的时间戳为2015/8/308:00,视频帧1的偏移量为20,视频帧1的偏移长度为20;视频帧2的时间戳为2015/8/308:01,视频帧2的偏移量为40,视频帧2的偏移长度为20;视频帧3的时间戳为2015/8/308:02,视频帧3的偏移量为60,视频帧3的偏移长度为20。可选地,当摄像机的数量大于1时,该索引数据块中还包括摄像机的编码器id,本发明对此不加以限定。

索引数据块的元数据146中包括:索引数据块的时间段以及索引数据块的存储位置。如:索引数据块1的时间段为2015/8/308:00-9:00,索引数据块1的存储位置为存储节点1。可选地,当摄像机的数量大于1时,该索引数据块的元数据中还包括摄像机的编码器id,本发明实施例对此不加以限定。

该视频数据块147是由视频数据在至少两个存储节点上通过分布式存储方式进行存储得到的数据块,视频数据块中包括一台摄像机在某一段时间内所拍摄的视频的数据,如:视频数据块1的视频数据为2015/8/308:00-9:00由摄像机1001所拍摄的视频数据。可选地,当摄像机的数量大于1时,该视频数据块中还包括摄像机的编码器id,本发明实施例对此不加以限定。

视频数据的元数据148中包括:视频数据块的时间段信息以及视频数据块的存储位置。如:视频数据块1的时间段为2015/8/308:00-9:00,视频数据块1的存储位置为存储节点1的物理地址l。可选地,当摄像机的数量大于1时,该视频数据块的元数据中还包括摄像机的编码器id,本发明实施例对此不加以限定。

管理节点146用于在视频数据的存储阶段,从多个存储节点中向接入节点分配目标存储节点;还用于在视频数据的回放阶段,从多个转发节点中向终端分配目标转发节点。

至少一个转发节点142用于在存储节点144和终端160之间互相转发数据或信息,被转发的数据或信息包括:索引数据、第一元数据获取请求、第一元数据、第二元数据获取请求、第二元数据中的至少一个。

可选地,上述接入节点142、至少两个存储节点144、管理节点146以及至少一个转发节点148为云存储系统的组成部分,各节点之间通过局域网相连,该局域网包括无线局域网或有线局域网中的至少一个。

云存储系统140与终端160通过通信网络130进行连接。可选地,该通信网络130可以是局域网、广域网、城域网中的至少一种。

终端160是用于对摄像机拍摄的视频数据进行回放的设备,该终端可以是手机、平板电脑、膝上型便携式电脑、台式电脑中的至少一种,可选地,终端160是支持动态码率自适应技术(httplivestreaming,hls)协议的终端。本发明对此不加以限定。

需要说明的是,上述各个节点是逻辑实体,可以通过软件、硬件或两者的结合来实现,不同的节点可以实现在同一硬件设备上。图2是本发明一个示例性实施例提供的云存储系统的结构示意图。该云存储系统包括:管理设备210、存储设备220和存储设备230。

其中,管理设备210中包括管理节点211,该管理节点211即图1所示的视频数据获取系统的结构中的管理节点146。

存储设备220中,包括转发节点221、存储节点222以及接入节点223,存储设备230中,包括转发节点231、存储节点232以及接入节点233。本发明实施例中以每个存储设备中有一个转发节点、一个存储节点以及一个接入节点为例进行说明。可选的,存在一个存储设备中可以仅包括存储节点与接入节点,也可以仅包括存储节点与转发节点,本发明对此不加以限定。

上述云存储系统的结构示意图中,以存储设备有两个为例进行说明,在实际操作中,云存储系统中的存储设备可以有更少或者更多,本发明对此不加以限定。

图3是本发明一个示例性实施例提供的视频数据获取方法的流程图。该方法以应用在图1所示的视频数据获取系统中来举例说明,如图3所示,该视频数据获取方法包括:

在步骤301中,终端向云存储系统发送第一获取请求。

该第一获取请求中包括目标时间段,可选地,该第一获取请求中还包括该终端的通信地址,云存储系统可通过该通信地址向终端发送数据或信息。该目标时间段是用户选择的被指定回放的视频流的时间段。

可选地,若摄像机是多个,该第一获取请求中还包括摄像机的编码器id。

在步骤302中,云存储系统接收终端发送的第一获取请求。

在步骤303中,云存储系统从分布式存储的至少两个索引数据块中,查询出目标时间段对应的视频数据的索引数据。

分布式存储是指将索引数据分散存储在至少两个存储节点中。

该索引数据中包括至少一个视频帧在视频数据中的偏移量以及该视频帧的偏移长度。偏移量用于在整个视频数据中确定出视频帧的起始位置,偏移长度即该视频帧的帧数据长度,比如2134比特。

索引数据块是将索引数据通过分布式存储方式在至少两个存储设备中分散存储得到的至少两个数据块。可选地,当摄像设备的数量大于1时,该索引数据中还包括摄像设备的编码器id。

云存储系统通过将目标时间段和每个索引数据块的时间段信息进行匹配,从至少两个索引数据块中并发提取出与目标时间段对应的视频数据的索引数据。

在步骤304中,云存储系统向终端发送索引数据。

云存储系统根据终端通信地址,向终端发送索引数据。

在步骤305中,终端接收云存储系统发送的索引数据。

在步骤306中,终端向云存储系统发送第二获取请求。

该第二获取请求中包括终端接收到的索引数据的全部或一部分。该索引数据中包括至少一个视频帧的偏移量以及该视频帧的偏移长度,通过该视频帧的偏移量和偏移长度可获取该视频帧在视频数据中的存储位置,并根据该存储位置获取索引数据对应的视频数据。可选地,云存储系统可通过该索引数据对索引数据对应的视频数据进行查询。

在步骤307中,云存储系统接收终端发送的第二获取请求。

在步骤308中,云存储系统从分布式存储的至少两个视频数据块中,获取索引数据对应的视频数据。通过索引数据中的时间段信息以及视频数据的帧信息获取视频数据,可选地,在云存储系统根据索引数据获取对应的视频数据时,根据时间段信息获取该时间段信息所对应的视频数据的i帧数据并获取该i帧对应的p帧数据。其中,i帧为视频数据中某一段视频数据的第一帧,p帧为该段视频数据中基于该i帧数据以及相对于该i帧数据的变化差异所得到编码得到的视频帧,p帧可以是多个视频帧。

在步骤309中,云存储系统向终端发送视频数据。

在步骤310中,终端接收云存储系统发送的视频数据。

在步骤311中,终端将接收到的视频数据封装为视频流。

终端通过协议栈将视频数据封装为视频流,可选地,在本实施例中,终端可将视频数据封装为hls视频流。

在步骤312中,终端对视频流进行回放。

综上所述,本发明实施例提供的视频数据获取方法,通过将视频数据以及与视频数据对应的索引数据通过分布式存储方式分散存储在多个存储设备中,得到至少两个视频数据块和至少两个索引数据块,在视频回放的过程中,从至少两个索引数据块中获取与视频数据对应的索引数据,提高了索引数据的提取效率。

在一个示例性的实施场景中,该云存储系统中存在至少一个转发节点和至少两个存储节点用于完成图3方法实施例中云存储系统侧的步骤。图4是本发明一个示例性实施例提供的视频数据获取方法的流程图,该方法包括:

在步骤401中,终端向目标转发节点发送第一获取请求。

其中,该目标转发节点为至少一个转发节点中的一个。该第一获取请求中包括目标时间段,可选地,该第一获取请求中还包括该终端的通信地址,目标转发节点可通过该通信地址向终端反馈索引数据及视频数据。该目标时间段是用户选择的被指定回放的视频流的时间段。

若摄像机是多个,可选地,该第一获取请求中还包括摄像机的编码器id。

在步骤402中,目标转发节点接收终端发送的第一获取请求。

在步骤403中,目标转发节点从至少两个存储节点获取与目标时间段对应的索引数据。

示意性的,目标转发节点从至少两个存储节点获取与目标时间段对应的索引数据的方式可以包括:目标转发节点向云存储系统中的所有存储节点发送索引数据获取请求,该索引数据获取请求中包括该目标时间段;每个存储节点将目标时间段与自身存储的索引数据进行匹配,若存在与该目标时间段对应的索引数据,则将索引数据发送至目标转发节点。

在步骤404中,目标转发节点向终端发送索引数据。

目标转发节点接收各个存储节点反馈的索引数据,当存在两个以上的存储节点反馈与目标时间段对应的索引数据时,目标转发节点将至少两个索引数据进行汇总,得到与目标时间段对应的全部索引数据。

可选地,该索引数据中包括:属于目标时间段的视频数据中的多个视频帧的偏移量与偏移长度,通过每个视频帧的偏移量和偏移长度可确定每个视频帧的在视频数据中的存储位置,并根据该存储位置读取每个视频帧的帧数据。

在步骤405中,终端接收目标转发节点发送的索引数据。

可选地,索引数据是与目标时间段对应的索引数据。

在步骤406中,终端向目标转发节点发送第二获取请求。

该第二获取请求中包括该索引数据,目标转发节点可通过该索引数据中的至少一个视频帧的偏移量和偏移长度,从至少两个存储节点中获取视频数据。

在步骤407中,目标转发节点接收终端发送的第二获取请求。

在步骤408中,目标转发节点从至少两个存储节点获取与索引数据对应的视频数据。

示意性的,目标转发节点从至少两个存储节点获取与索引数据对应的视频数据的方式可以是:目标转发节点向云存储系统中的所有存储节点发送视频数据块获取请求,根据索引数据中包括的视频帧的偏移量与偏移长度,获取与该索引数据对应的视频帧在视频数据中的存储位置,根据获取到的视频数据块以及该存储位置获取该索引数据对应的视频数据。

在步骤409中,目标转发节点向终端发送视频数据。

在步骤410中,终端接收目标转发节点发送的视频数据。

在步骤411中,终端将视频数据封装为视频流。

终端通过协议栈将视频数据封装为视频流,可选地,在本实施例中,终端可将视频数据封装为hls视频流。

在步骤412中,终端对视频流进行回放。

在一个示例性的实施场景中,该云存储中存在至少一个转发节点、至少两个存储节点以及管理节点用于完成图3方法实施例中云存储系统侧的步骤。具体实现方式如下:

图5是本发明另一个示例性实施例提供的视频数据获取方法的流程图。

在步骤501中,云应用调用云存储sdk查询索引数据。

在步骤502中,云存储sdk向管理节点发送节点获取请求,该节点获取请求用于请求管理节点分配目标转发节点。

可选地,云存储sdk中保存有该云存储系统的管理节点的地址,云存储sdk通过该地址向该管理节点发送节点获取请求。可选地,云存储sdk发送的节点获取求还包括云存储sdk的通信地址。管理节点可通过该通信地址向该云存储sdk分配目标转发节点。

在步骤503中,管理节点接收云存储sdk发送的节点获取请求。

在步骤504中,管理节点从至少一个转发节点中分配目标转发节点。

可选地,该云存储系统中存在多个转发节点,管理节点可通过比较各转发节点的负载量选择负载量最小的转发节点为目标转发节点。

可选地,管理节点选择其中一个转发节点为目标转发节点的方式包括:随机抽取方式、轮询方式或负载均衡方式中的至少一个。

随机抽取方式可以是管理节点从所有转发节点中随机抽取一个转发节点,将该转发节点选定为目标转发节点;

轮询方式可以是获取按照预设次序选择第i个转发节点,确定为目标转发节点;

负载均衡方式可以是,管理节点获取所有转发节点的负载量信息并选择负载量最小的转发节点为目标转发节点。示意性的,负载均衡方式为:该云存储系统中有5个转发节点,管理节点获取5个转发节点的负载量,选择其中负载量最小的第2个转发节点为目标转发节点。

在步骤505中,管理节点向云存储sdk发送目标转发节点的服务地址。

可选地,管理节点中存有该云存储系统中所有转发节点的服务地址,管理节点选择负载最小的转发节点为目标转发节点后,将该目标转发节点的服务地址发送至终端中的云存储sdk。

在步骤506中,云存储sdk接收管理节点发送的目标转发节点的服务地址。

在步骤507中,云存储sdk向目标转发节点的服务地址发送第一获取请求,该第一获取请求包括目标时间段,可选地,该第一元数据中还包括该云存储sdk的通信地址。可选地,当摄像机的数量大于1时,该第一获取请求还包括目标时间段对应的摄像机的编码器id。

在步骤508中,目标转发节点通过服务地址接收云存储sdk发送的第一获取请求。

在步骤509中,目标转发节点向管理节点发送第一元数据获取请求。

该第一元数据获取请求包括目标时间段,目标转发节点通过发送该第一元数据获取请求向管理节点获取第一元数据。可选地,该第一元数据获取请求中还包括该目标转发节点的服务地址,管理节点可通过该服务地址将第一元数据发送给该目标转发节点。

在步骤510中,管理节点接收目标转发节点发送的第一元数据获取请求。

在步骤511中,管理节点向目标转发节点发送属于目标时间段的第一元数据。

该第一元数据中包括索引数据块的时间段信息以及索引数据块所在的存储节点和存储位置。可选地,当摄像设备的数量大于1时,该第一元数据中还包括摄像设备的编码器id。该第一元数据是管理节点向至少两个存储节点查询得到的。

在步骤512中,目标转发节点接收管理节点发送的属于目标时间段的第一元数据。

在步骤513中,目标转发节点根据第一元数据确定出第一目标存储节点,向第一目标存储节点查询与目标时间段对应的索引数据。

根据该第一元数据中确定出第一目标存储节点,该第一目标存储节点是存储有与该目标时间段对应的索引数据的存储节点,向第一目标存储节点查询与目标时间段对应的索引数据。

在步骤514中,目标转发节点接收存储节点发送的索引数据。

可选地,存储节点通过该目标转发节点的服务地址向该目标转发节点发送索引数据。

在步骤515中,目标转发节点向云存储sdk发送索引数据。

可选地,该目标转发节点通过该云存储sdk的通信地址向该云存储sdk发送索引数据。

在步骤516中,云存储sdk接收目标转发节点发送的索引数据。

在步骤517中,云存储sdk向目标转发节点的服务地址发送第二获取请求。

该第二获取请求中包括索引数据,该索引数据包括属于目标时间段的视频数据中的至少一个视频帧的帧存储位置。可选地,该第二获取请求中还包括该云存储sdk的通信地址。可选地,当摄像机的数量大于1时,该第二获取请求还包括目标时间段对应的摄像机的编码器id。

在步骤518中,目标转发节点通过服务地址接收云存储sdk发送的第二获取请求。

在步骤519中,目标转发节点向管理节点发送第二元数据获取请求。

该第二元数据包括视频数据块的时间段信息以及视频数据块所在的存储节点和存储位置。可选地,当摄像设备的数量大于1时,该第二元数据中还包括摄像设备的编码器id。该第二元数据是管理节点向至少两个存储节点进行查询得到的。

在步骤520中,管理节点接收目标转发节点发送的第二元数据获取请求。

在步骤521中,管理节点向目标转发节点发送属于目标时间段的第二元数据。

该第二元数据中包括视频数据块的时间段信息以及视频数据块所在的存储节点和存储位置。可选地,当摄像设备的数量大于1时,该第二元数据中还包括摄像设备的编码器id。该第二元数据是管理节点向至少两个存储节点查询得到的。

在步骤522中,目标转发节点接收管理节点发送的属于目标时间段的第二元数据。

可选地,管理节点通过该目标节点的服务地址向该目标地址发送属于目标时间段的第二元数据。

在步骤523中,目标转发节点根据第二元数据确定第二目标存储节点。

目标转发节点根据第二元数据中的视频数据的时间段信息以及视频数据块所在的存储节点确定目标节点。

在步骤524中,目标转发节点根据帧存储位置向第二目标存储节点获取视频数据。

该帧存储位置是指视频帧的偏移量和偏移长度,目标转发节点根据帧存储位置向第二目标存储节点发送帧数据获取请求,该帧数据获取请求携带有帧存储位置,第二目标存储节点根据帧存储位置读取视频数据并反馈给目标转发节点。

在步骤525中,目标转发节点向云存储sdk发送视频数据。

在步骤526中,云存储sdk接收目标转发节点发送的视频数据。

在步骤527中,云存储sdk将视频数据发送给云应用。

在步骤528中,云应用将视频数据封装为视频流。

目标转发节点通过协议栈将视频数据封装为视频流,可选地,在本实施例中,目标转发节点可通过协议栈将视频数据封装为hls视频流。

在步骤529中,云应用对视频流进行回放。

示意性的,如图6a所示,存储节点1中存储有视频数据块1、附属数据块1、视频数据元数据1以及附属数据元数据1。可选地,当摄像设备的数量大于1时,在视频数据块1、附属数据块1、视频数据元数据1以及附属数据元数据1都标有摄像设备的编码器id。如图6a所示,视频数据块1中保存有某一时间段的视频数据,附属数据块1中包括了视频数据中某一视频帧的时间、该视频帧的偏移量以及偏移长度,如:2017/5/308:10,20,20,视频数据的元数据1包括视频数据块1的时间段信息,以及视频数据块1的存储节点位置信息,由视频数据的元数据可得,视频数据块1中存储的视频数据为2017/5/308:10-8:20时间段的视频数据。

示意性的,如图6b所示,存储节点2中存储有视频数据块2、附属数据块2、视频数据元数据2以及附属数据元数据2。可选地,当摄像设备的数量大于2时,在视频数据块2、附属数据块2、视频数据元数据2以及附属数据元数据2都标有摄像设备的编码器id。如图6b所示,视频数据块2中保存有某一时间段的视频数据,附属数据块2中包括了视频数据中某一视频帧的时间戳、该视频帧的偏移量以及偏移长度,如:2017/5/309:31,20,20,视频数据的元数据2包括视频数据块2的时间段信息,以及视频数据块2的存储节点位置信息,由视频数据的元数据可得,视频数据块2中存储的视频数据为2017/5/308:20-8:30时间段的视频数据。

当用户想要对2017/5/308:10-8:30之间的视频流进行回放,选择2017/5/308:10-8:30的时间段后,首先云存储系统通过查询与时间段2017/5/308:10-8:30对应的索引数据块的元数据获取索引数据,由图6a及图6b可知,与时间段2017/5/308:10-8:30对应的索引数据块为索引数据块1与索引数据块2,且索引数据块1存储于存储节点1中,索引数据块2存储于存储节点2中。然后云存储系统根据索引数据块1及索引数据块2的时间段信息查询与该时间段对应的视频数据的元数据,与该时间段对应的视频数据的元数据为视频数据块的元数据1和视频数据块的元数据2,根据视频数据块的元数据1和视频数据块的元数据2可知,视频数据1存储于存储节点1,视频数据2存储于存储节点2。云存储系统获取视频数据块1和视频数据块2,并将视频数据块1和视频数据块2中的视频数据发送至终端。

综上所述,本发明实施例提供的视频数据获取方法,通过将视频数据以及与视频数据对应的索引数据通过分布式存储方式分散存储在多个存储设备中,得到至少两个视频数据块和至少两个索引数据块,在视频回放的过程中,通过获取第一元数据从至少两个索引数据块中并发获取与视频数据对应的索引数据,提高了索引数据的提取效率。

在一个示例性的实施场景中,该云存储系统中存在至少两个存储节点和一个接入节点用于完成存储摄像设备发送的视频数据的步骤。具体实现如图7所示:

图7是本发明另一个示例性实施例提供的视频数据获取方法的流程图。

在步骤701中,摄像机向接入节点发送视频数据。

可选地,摄像机中保存有该云存储系统的接入节点的地址,摄像机通过该地址向接入节点发送视频数据。可选地,当摄像机的数量大于1时,视频数据中还包括摄像机的编码器id用于识别不同的摄像机。

在步骤702中,接入节点获取视频数据。

在步骤703中,接入节点对视频数据进行帧分析得到索引数据。

可选地,帧分析是指接入节点分析该视频数据的每一帧,将视频数据划分为多个视频片段,每个视频片段的第一帧为i帧,基于i帧的改变量得到p帧,其中,p帧可以有多个,如:第二帧为p1帧,第三帧为p2帧等。

该索引数据中包括视频数据的中的至少一个视频帧的帧存储位置,该帧存储位置是指视频帧的偏移量及偏移长度。

在步骤704中,接入节点将索引数据划分为至少两个索引数据块。

可选地,接入节点将索引数据划分为至少两个索引数据块的方式包括:随机划分、固定值划分中的至少一个,本发明对此不加以限定。

随机划分的方式包括将索引数据划分为多个索引数据块,其中每个索引数据块的数据量小于预先设置好的数据值,且不同的索引数据块的数据量可以不同;

固定值划分方式包括将索引数据根据某个固定数据值划分为多个索引数据块,其中除了最后一个索引数据块的数据量可以不等于该固定数据值,每个索引数据块的数据量都等于该固定数据值。

在步骤705中,接入节点将视频数据划分为至少两个视频数据块。

可选地,接入节点将视频数据划分为至少两个视频数据块的方式包括:随机划分、固定值划分中的至少一个,本发明对此不加以限定。

随机划分的方式包括将视频数据划分为多个视频数据块,其中每个视频数据块的数据量小于预先设置好的数据值,且不同的视频数据块的数据量可以不同;

固定值划分方式包括将视频数据根据某个固定数据值划分为多个视频数据块,其中除了最后一个视频数据块的数据量可以不等于该固定数据值,每个视频数据块的数据量都等于该固定数据值。

在步骤706中,接入节点将索引数据块以分布式存储方式存储至至少两个存储节点中。

分布式存储是指将至少两个索引数据块分散存储于至少两个不同的存储节点中。可选地,分布式存储方式可以是,将索引数据块顺序写入第i个存储节点、第i+1个存储节点;分布式存储方式还可以是管理节点将至少两个存储节点随机分配各接入节点用于存储索引数据块,本发明对此不加以限定。

在步骤707中,接入节点将视频数据块以分布式存储方式存储至至少两个存储节点中。

分布式存储是指将至少两个视频数据块分散存储于至少两个不同的存储节点中。可选地,分布式存储方式可以是,将视频数据块顺序写入第i个存储节点、第i+1个存储节点;分布式存储方式还可以是管理节点将至少两个存储节点随机分配各接入节点用于存储视频数据块,本发明对此不加以限定。

可选地,上述步骤701至步骤707为视频数据和索引数据的存储步骤,该步骤701至步骤707在实际操作中,执行于图3所示的方法实施例的步骤301或步骤303之前;上述步骤706和步骤707的执行顺序以先执行步骤706再执行步骤707为例,在实际操作中,步骤706和步骤707的执行顺序还可以是先执行步骤707再执行步骤706,本发明对此不加以限定。

综上所述,发明实施例提供的视频数据获取方法,通过将索引数据分块和将视频数据分块,将分块后的索引数据以及分块后的视频数据分布式存储于至少两个存储节点中,在视频回放过程中,通过向至少两个存储节点并发获取索引数据,提高了索引数据的提取效率。

在一个示例性的实施场景中,该云存储系统中存在至少两个存储节点、管理节点和接入节点用于完成图7所示的存储摄像机发送的视频数据的步骤。具体实现如图8所示:

图8是本发明另一个示例性实施例提供的视频数据获取方法的流程图。

在步骤801中,摄像机向接入节点发送视频数据。

可选地,摄像机中保存有该云存储系统的接入节点的地址,摄像机通过该地址向接入节点发送视频数据。可选地,当摄像机的数量大于1时,视频数据中还包括摄像机的编码器id用于识别不同的摄像机。

在步骤802中,接入节点获取视频数据。

在步骤803中,接入节点对视频数据进行帧分析得到索引数据。

可选地,帧分析是指接入节点分析该视频数据的每一帧,将视频数据划分为多个视频片段,每个视频片段的第一帧为i帧,基于i帧的改变量得到p帧,其中,p帧可以有多个,如:第二帧为p1帧,第三帧为p2帧等。

该索引数据中包括视频数据的中的至少一个视频帧的帧存储位置,该帧存储位置是指视频帧的偏移量及偏移长度。

在步骤804中,接入节点向管理节点发送第一分配请求。

该第一分配请求用于请求管理节点分配第i次存储时的存储节点。可选地,接入节点中存有管理节点的地址,接入节点可通过该地址向管理节点发送第一分配请求。可选地,接入节点向管理节点发送的第一分配请求中还包括该接入节点的接收地址,管理节点可通过该接收地址向该接入节点返回消息。

在步骤805中,管理节点接收第一分配请求。

在步骤806中,管理节点从至少两个存储节点中选择出第i次存储时的存储节点。

可选地,管理节点选择第i次存储时的存储节点的方式包括:根据第i-1次存储时的存储节点将第i-1次存储时的存储节点的后一个存储节点选择为第i次存储时的存储节点、随机将某一个存储节点选择为第i次存储时的存储节点,本发明对此不加以限定。

在步骤807中,管理节点向接入节点发送第i次存储时的存储节点的标识信息。

可选地,管理节点中保存有接入节点的接收地址,管理节点可通过该接收地址向接入节点发送第i次存储时的存储节点的标识信息。该标识信息用于标识第i次存储时用于存储索引数据块的存储节点。

在步骤808中,接入节点接收第i次存储时的存储节点的标识信息。

在步骤809中,接入节点将索引数据中长度不大于预定数据值的第i个索引数据块写入第i次存储时的存储节点。

可选地,接入节点中保存有所有存储节点的地址,通过标识信息接入节点可获取该标志信息对应的存储节点的地址,接入节点可通过改地址将第i个索引数据块写入该存储节点。

该预定数据值是预先设置好的数据值,根据该预定数据值将索引数据划分为索引数据块,且每个索引数据块的数据长度不大于该预定数据值。

在步骤810中,令i=i+1。

在步骤811中,接入节点重新向管理节点发送第一分配请求。

在步骤812中,接入节点向管理节点发送第二分配请求。

该第二分配请求用于请求管理节点分配第k次存储时的存储节点。可选地,接入节点中存有管理节点的地址,接入节点可通过该地址向管理节点发送第二分配请求。可选地,接入节点向管理节点发送的第二分配请求中还包括该接入节点的接收地址,管理节点可通过该接收地址向该接入节点返回消息。

在步骤813中,管理节点接收第二分配请求。

在步骤814中,管理节点从至少两个存储节点中选择出第k次存储时的存储节点。

可选地,管理节点选择第k次存储时的存储节点的方式包括:根据第k-1次存储时的存储节点将第k-1次存储时的存储节点的后一个存储节点选择为第k次存储时的存储节点、随机将某一个存储节点选择为第k次存储时的存储节点,本发明对此不加以限定。

在步骤815中,管理节点向接入节点发送第k次存储时的存储节点的标识信息。

可选地,管理节点中保存有接入节点的接收地址,管理节点可通过该接收地址向接入节点发送第k次存储时的存储节点的标识信息。该标识信息用于标识第i次存储时用于存储视频数据块的存储节点。

在步骤816中,接入节点接收第k次存储时的存储节点的标识信息。

在步骤817中,接入节点将视频数据中长度不大于预定数据值的第k个视频数据块写入第k次存储时的存储节点。

可选地,接入节点中保存有所有存储节点的地址,通过标识信息接入节点可获取该标志信息对应的存储节点的地址,接入节点可通过改地址将第k个视频数据块写入该存储节点。

该预定数据值是预先设置好的数据值,根据该预定数据值将视频数据划分为视频数据块,且每个视频数据块的数据长度不大于该预定数据值。

在步骤818中,令k=k+1。

在步骤819中,接入节点重新向管理节点发送第二分配请求。

其中,上述步骤804至步骤811为索引数据的存储过程,步骤812至步骤819为视频数据的存储过程,在本实施例中,以先执行索引数据的存储过程为例进行说明,在实际操作中,也可以先执行视频数据的存储过程,还可以将索引数据的各存储过程与视频数据的存储过程交替执行,本发明对此不加以限定。

综上所述,发明实施例提供的视频数据获取方法,通过将索引数据分块和将视频数据分块,将分块后的索引数据以及分块后的视频数据分布式存储于至少两个存储节点中,在视频回放过程中,通过向至少两个存储节点并发获取索引数据,提高了索引数据的提取效率。

图9是本发明一个示例性的实施例提供的终端的框图。该终端包括:处理器920、存储器940、通信接口960以及显示屏980。

处理器920可以是单核处理器、多核处理器、嵌入式芯片以及具有计算能力的图像处理器中的至少一种。

存储器940存储有处理器的可执行指令。示意性的,存储器940存储有云存储系统中的管理节点的地址,通过该地址终端可向该管理节点发送请求信息。

通信接口960是用于终端可云存储系统之间进行通信的接口。可选地,终端和云存储系统之间通过广域网进行连接。

图10是本发明一个示例性的实施例提供的云存储系统的结构的框图。

所述系统包括:至少一个转发节点1010和至少两个存储节点1011;

目标转发节点1010,用于接收终端发送的第一获取请求,所述第一获取请求包括目标时间段,所述目标转发节点是所述至少一个转发节点中一个;

所述目标转发节点1010,还用于从所述至少两个存储节点分布式存储的至少两个索引数据块中,查询出所述目标时间段对应的视频数据的索引数据;

所述目标转发节点1010,还用于向所述终端发送所述索引数据;

所述目标转发节点1010,还用于接收所述终端发送的第二获取请求,所述第二获取请求包括所述索引数据;

所述目标转发节点1010,还用于从所述至少两个存储节点分布式存储的至少两个视频数据块中,获取与所述索引数据对应的视频数据;

所述目标转发节点1010,还用于向所述终端发送所述视频数据。

在一个可选的实施例中,所述系统还包括:管理节点1012;

所述至少两个存储节点1011,还用于分布式存储所述索引数据块的第一元数据,所述第一元数据包括所述索引数据块的时间段信息以及所述索引数据块所在的存储节点和存储位置;

所述目标转发节点1010,还用于向所述管理节点1012发送第一元数据获取请求,所述第一元数据获取请求包括所述目标时间段;

所述目标转发节点1010,还用于接收所述管理节点1012发送的所述属于所述目标时间段的第一元数据;

所述目标转发节点,还用于根据所述属于所述目标时间段的第一元数据,向所述至少两个存储节点查询与所述目标时间段对应的索引数据。

在一个可选的实施例中,所述目标转发节点,还用于向所述管理节点发送第二元数据获取请求,所述第二元数据获取请求包括所述目标时间段;

所述目标转发节点,还用于接收所述管理节点发送的所述属于所述目标时间段的第二元数据;

所述目标转发节点,还用于根据所述第二元数据确定出目标存储节点,所述目标存储节点是所述视频数据所在的存储节点;

所述目标转发节点,还用于根据所述帧存储位置获取所述视频数据。

在一个可选的实施例中,所述系统还包括:管理节点;

所述管理节点,用于接收终端发送的节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点;

所述管理节点,还用于从所述至少一个转发节点中分配所述目标转发节点;向所述终端发送所述目标转发节点的服务地址;

所述目标转发节点,还用于通过所述服务地址接收所述终端发送的所述第一获取请求。

在一个可选的实施例中,所述系统还包括:接入节点1013;

接入节点1013,用于获取所述视频数据;

所述接入节点,还用于对所述视频数据进行帧分析,得到所述索引数据;

所述接入节点,还用于将所述索引数据划分为至少两个所述索引数据块;

所述接入节点,还用于将所述索引数据块以分布式存储方式存储至至少两个所述存储节点中;

所述接入节点,还用于将所述视频数据划分为至少两个个所述视频数据块;

所述接入节点,还用于将所述视频数据块以分布式存储方式存储至至少两个所述存储节点中。

在一个可选的实施例中,所述接入节点,还用于向管理节点发送第一分配请求,所述第一分配请求用于请求所述管理节点分配第i次存储时的存储节点,其中i≥1;

所述接入节点,还用于接收所述第i次存储时的存储节点的标识信息,所述第i次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第i次存储时的存储节点;

所述接入节点,还用于将所述索引数据中长度不大于预定数据值的第i个索引数据块写入所述第i次存储时的存储节点;

所述接入节点,还用于令i=i+1,并重新向所述管理节点发送所述第一分配请求。

在一个可选的实施例中,所述接入节点,还用于向管理节点发送第二分配请求,所述第二分配请求用于请求所述管理节点分配第k次存储时的存储节点,其中k≥1;

所述接入节点,还用于接收所述第k次存储时的存储节点的标识信息,所述第k次存储时的存储节点是所述管理节点从所述至少两个存储节点中选择出的所述第k次存储时的存储节点;

所述接入节点,还用于将所述视频数据中长度不大于预定数据值的第k个视频数据块写入所述第k次存储时的存储节点;

所述接入节点,还用于令k=k+1,并重新向所述管理节点发送所述第二分配请求的步骤。

图11是本发明另一个示例性的实施例提供的终端的结构的框图。所述终端包括:

发送模块1101,用于向云存储系统发送第一获取请求,所述第一获取请求包括目标时间段;

接收模块1102,用于接收所述云存储系统发送的索引数据,所述索引数据存储有所述目标时间段对应的视频数据中的至少一个视频帧的索引,所述索引数据是所述云存储系统从分布式存储的至少两个索引数据块中查询出的;

所述发送模块1101,用于向所述云存储系统发送第二获取请求,所述第二获取请求包括所述索引数据;

所述接收模块1102,用于接收所述云存储系统发送的视频数据;所述视频数据是所述云存储系统从分布式存储的至少两个视频数据块中查询得到的与所述索引数据对应的视频数据;

封装模块1103,用于将所述视频数据封装为视频流;

回放模块1104,用于对所述视频流进行回放。

在一个可选的实施例中,所述云存储系统还包括:管理节点、至少两个存储节点和至少一个转发节点;

所述装置,包括:

所诉发送模块,用于向所述管理节点发送节点获取请求,所述节点获取请求用于请求所述管理节点分配所述目标转发节点,所述目标转发节点是所述至少一个转发节点中的一个;

所述接收模块,用于接收所述管理节点发送的所述目标转发节点的服务地址,所述目标转发节点是所述管理节点从所述至少一个转发节点中进行选择后分配给所述终端的;

所述发送模块,包括:

发送子模块,用于向所述目标转发节点的所述服务地址发送所述第一获取请求。

在一个可选的实施例中,所述终端上安装有云应用和云存储工具;

所述装置,还包括:

调用模块,用于通过所述云应用调用所述云存储工具对所述索引数据进行查询;

所述发送模块,还用于通过所述云存储工具向所述云存储系统发送所述第一获取请求,所述第一获取请求包括目标时间段。

需要说明的是:上述实施例提供的视频数据获取装置在视频数据获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频数据获取方法及装置实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1