视频数据存储检索-V3.0.docx

上传人:cn****1 文档编号:543433830 上传时间:2022-11-14 格式:DOCX 页数:15 大小:214.22KB
返回 下载 相关 举报
视频数据存储检索-V3.0.docx_第1页
第1页 / 共15页
视频数据存储检索-V3.0.docx_第2页
第2页 / 共15页
视频数据存储检索-V3.0.docx_第3页
第3页 / 共15页
视频数据存储检索-V3.0.docx_第4页
第4页 / 共15页
视频数据存储检索-V3.0.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《视频数据存储检索-V3.0.docx》由会员分享,可在线阅读,更多相关《视频数据存储检索-V3.0.docx(15页珍藏版)》请在金锄头文库上搜索。

1、海量视频数据存储、检索、提取目录1.海量视频存储背景:32.海量视频存储DFS:32.1DFS工作机理32.2DFS技术特点43.开源Hadoop分布式存储系统63.1Hadoop简介63.2HDFS的实现73.3Mapreduce的实现84.分布式系统Hadoop平台的密文存储检索方案94.1方案简介94.2系统架构104.3实现细节111.海量视频存储背景:安防技术的进步之快是有目共睹的,图像高清化,传输网络化、存储云化,应用智能平台化等,行业专用视频监控网络和快速发展的家庭安全防范服务领域将很快成为下一个市场重点,随着市场重心的转移,为适应新的市场特点和需求,技术和方案也在悄然的发生变化

2、。随着安防视频监控系统技术的进步和规模的增长对存储的要求也在发生深刻的变化,对存储系统的容量、扩展性、性价比、性能、管理性、稳定性等都提出了新的要求,传统的存储方式已经不能满足要求。为满足安防视频监控的新要求,解决城市级海量视频数据存储、检索难题,以视频、图片文件存储和管理为核心的面向大规模数据密集型应用的、可伸缩的分布式文件系统DFS(Distributed File System)被提出。2.海量视频存储DFS:2.1DFS工作机理DFS它通过分布式集群架构将网络中普通PC、通用服务器及各种存储设备集合起来协同工作,并通过专用数据接口,向用户提供海量数据存储、管理和访问服务。部署方式上支持

3、全网分散部署,或在数据中心集中部署。存储介质支持普通硬盘及通用存储设备。在普通PC或通用服务器集群上部署的DFS可以达到NAS/SAN的冗余及可靠性,同时又能提供NAS/SAN无法达到的高吞吐量及强大的水平扩展能力。DFS通过元数据和存储数据分离,控制流和数据流分离,通过负载均衡和数据并发访问策略,在普通硬件条件下获得高效的传输速率以及PB级的存储容量, DFS针对音视频文件进行特别优化,支持分布式集群架构下的音视频文件帧级别的查询及定位。为安防视频监控实现智能分析、智能检索奠定基础。2.2DFS技术特点2.2.1多服务器同时对外服务DFS性能优异,支持高并发、带宽饱和利用。云存储系统将控制流

4、和数据流分离,数据访问时多个存储服务器同时对外提供服务,实现高并发访问。自动均衡负载,将不同客户端的访问负载均衡到不同的存储服务器上。系统性能随节点规模的增加呈线性增长。系统的规模越大,云存储系统的优势越明显, 没有性能瓶颈。有利于超大规模城市级监控网络的形成。2.2.2多数据块副本实现冗余高度可靠,采用多个数据块副本的方式实现冗余可靠,数据在不同的存储节点上具有多个块副本,任意节点发生故障,系统将自动复制数据块副本到新的存储节点上,数据不丢失,实现数据完整可靠;并支持通过编解码算法的方式实现高度可靠,任意同时损坏多个存储节点,数据可通过算法解码自动恢复。该特性可适用于对数据安全级别极高的场合

5、,同时相对于副本冗余的可靠性实现方式大大提高了磁盘空间利用率,不到40%的磁盘冗余即可实现任意同时损坏三个存储节点而不丢失数据。元数据管理节点采用多机同步热备份的高可用方式容错,其中任一台服务器故障,可无缝自动切换到另一台服务器,服务不间断。整个系统无单点故障,硬件故障自动屏蔽。2.2.3动态增减存储节点动态加入新的存储节点,只需简单操作,即可实现系统容量从TB级向PB级平滑扩展;也可以摘下任意节点,系统自动缩小规模而不丢失数据,并自动将摘下的节点上的数据备份到其他节点上,保证整个系统数据的冗余数不变。并同步提升读写及网络性能。2.2.4降低建设和运营成本降低建设和运营成本,作为整个平台的基础

6、层,文件系统和数据仓库以廉价的高存储PC或者单板机代替以往的小型机,联合提供极高的运算能力和极低的存储成本!采用分布式计算和存储,结合优化的硬件,通过集群化运维管理系统,实现计算,存储,网络等资源的动态分配及部署,大大提高资源使用率。3.开源Hadoop分布式存储系统3.1Hadoop简介由Apache基金会支持开发的Hadoop是一个开源的分布式基础结构,充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供

7、高传输率(high throughput)来访问数据,适合那些有着超大数据集(large data set)的项目。Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的

8、任务重新分配。3.2HDFS的实现HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。 HDFS支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenode来控制。下面是HDFS的结构:从上面的图中可以看出,Namenode,Datanode,Client之间的通信都是建立在TCP/IP的基础之上的

9、。当Client要执行一个写入的操作的时候,命令不是马上就发送到Namenode,Client首先在本机上临时文件夹中缓存这些数据,当临时文件夹中的数据块达到了设定的Block的值(默认是64M)时,Client便会通知Namenode,Namenode便响应Client的RPC请求,将文件名插入文件系统层次中并且在Datanode中找到一块存放该数据的block,同时将该Datanode及对应的数据块信息告诉Client,Client便这些本地临时文件夹中的数据块写入指定的数据节点。HDFS采取了副本策略,其目的是为了提高系统的可靠性,可用性。HDFS的副本放置策略是三个副本,一个放在本节点

10、上,一个放在同一机架中的另一个节点上,还有一个副本放在另一个不同的机架中的一个节点上。3.3Mapreduce的实现 (忽略这部分)MapReduce是Google 的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。至少现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。4.分布式系统Hadoop平台的密文存储检索方案4.1方案简介系统采用 HDFS(Hadoop Distributed File System)进行

11、视频存储,视频分布式存储时采用分段策略,视频文件按IP地址(即视频源)和日期存储在文件,即每个摄像头的视频数据按天存储在HDFS中,每64M数据在HDFS中存成一个block。针对每个视频文件会存储其对应的索引文件,索引文件包括两列,第一列是时间戳,第二列是对应时间的视频帧在视频文件中的偏移量,采取分天存储的方案的好处是后期视频数据量过大,需要删除N(可控)天前的数据,因按天存储直接删除最早期的视频及其索引文件即可完成任务,其中索引文件中的时间间隔是分钟,即每分钟取一次索引,支持分钟级的视频检索。索引文件的存储初步确定有Mysql和Hive联合完成,Hive的元数据存储在Mysql中,Hive

12、中分区的概念很好的应用在我们的按天存储,每路摄像头每天的索引文件单独存储,合并检索,Hive建立在Hadoop的基础上,将检索任务转换成MapReduce作业,检索速度比较快,后期会对Mysql和Hive的检索速度测试,选取检索速度比较快的。4.2系统架构(注:前期将WebServer和NameNode放在同一个机器上)如图所示,整个系统由一个WebServer 和一个Hadoop 集群组成。WebServer 负责处理用户请求,包括视频的存和取。NVR上来的数据流通过WebServer接入存储集群,Hadoop 集群中的NameNode 负责接收WebServer 转发的用户请求,调度集群中

13、的DataNodes 进行视频存储或检索。4.3实现细节启动SocketServer4.3.1存储视频文件步骤 客户端视频数据接入(多线程)启动Socket线程接收摄像头数据第二天0点将前一天索引文件导入数据库,供后期检索按日期存储视频流启动计时线程,每天0点关闭之前的文件存储,新建新的文件存储当天视频启动存储索引线程,每分钟获取一次偏移量1. 启动SocketServer在指定端口监听视频客户端的连接。2. 收到客户端的请求后启动一个socket线程接收客户端的视频数据,多线程并发与客户端交互。3. 存储视频流到指定文件,文件以客户端的套接字地址以及时间戳命名。箭头左边为套接字地址(目前只有

14、一个高清摄像头)。箭头右边为时间戳。视频格式为H.264。(试验阶段每两分钟存储一个文件,方便调试)4. 启动索引线程,每隔一分钟获取一次当前视频文件偏移量。例子如下: 时间戳 偏移量1364461860000 01364461920000 587647241364461980000 982079931364462040000 1538543851364462100000 2036053951364462160000 2603127851364462220000 3138940401364462280000 3698870671364462340000 42579638613644624000

15、00 4821621891364462460000 5384208451364462520000 5950990701364462580000 6521635951364462640000 708409186细节:根据客户端发送的检索请求中的参数5.启动计时线程,每天0点将前一天视频文件和对应的索引文件存储,索引文件导入数据库,供后期检索。4.3.2基于时间戳的视频文件检索(待定,还未实现)1.用户从远端发送视频检索的请求,其中参数包括摄像头编号,日期和时间(具体到分钟)。2.根据参数找到相应的视频文件,然后查找数据库获取相应视频文件的索引文件,获取指定时间戳的文件偏移量,定位到偏移量位置。3.从偏移位置开始截取视频流发送给客户端。4.3.3视频分布式解密的实现(暂时忽略这部分)MapReduce 是一种软件编程框架,分为Map 和Reduce 两个过程。分布式解密分为Map解密和Reduce合并,在Map端做解密需要对一个视频文件的多个段进行解密,应该尽量保证视频文件的多个段分布在不同的Datanode 上,从而达到数据本地化和并行化;Reduce端采用单一Reduc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号