视频云存储系统设计1.1.1.1系统概述结合目前视频存储系统技术发展的主要方向,本次视频存储系统的建设需要达成以下目标:•采用目前技术领先的视频云存储方式,新建视频云存储系统,有效解决海量高清视频图像数据的存储和管理需求,实现分布式存储,虚拟化集中管理。
•为充分利旧,将原有的视频存储系统改造融入视频云存储系统,实现全县范围内可利用视频资源的统一存储、统一管理、统一调阅,避免重复投资。
•视频云存储系统提供高速数据接口,为应用平台提供视频数据高效检索、快速调取等服务功能,为公安业务应用提供有力支撑。
•视频云存储系统提供标准的运维接口,维护便捷,实现高效实用的管理及使用机制。
1.1.1.2存储技术选择视频监控数据的存储系统历经了多个阶段的发展,传统的视频存储技术主要有DVR存储、IPSAN存储等存储模式。
而新兴的视频云存储模式基于云架构开发,采用面向用户业务应用的设计思路,融合了集群应用、负载均衡、虚拟化、云结构化、离散存储等技术,可将网络中大量各种不同类型的存储设备,通过专业应用软件集合起来协同工作,共同对外提供高性能、高可靠、不间断的视频、图片数据存储和业务访问服务。
总的来说,相比于传统的存储模式,云存储模式具有以下优势:视频监控云存储与传统存储对比表因此,根据项目实际情况,基于视频监控应用对存储系统的要求,着眼于技术的先进性和用户使用的便捷性,视频存储系统的建设推荐采用新型监控云存储技术来实现。
1.1.1.3存储系统架构1.1.1.3.1视频云存储技术架构视频云存储系统采用分层结构,整个系统从逻辑上分为五层,分别为设备层、存储层、管理层、接口层、应用层。
系统技术架构如下:视频云存储技术架构图1)设备层设备层是云存储最基础、最底层的部分,该层由标准的物理设备组成,支持标准的IP-SAN、FC-SAN存储设备。
在系统组成中,存储设备可以是SAN架构下的FC光纤通道存储设备或iSCSI协议下的IP存储设备。
2)存储层将存储设备透明化管理,统一资源虚拟化管理,并设计视频流式文件系统,实现存储传输协议和标准存储设备之间的逻辑卷或磁盘阵列的映射,实现数据(视频、图片、附属流)和设备层存储设备之间的通信连接,完成数据高效的写入、读取和调用等服务。
同时存储层实现视频流数据的块级离散存储,支持数据的高效存储和快速提取(回放、下载、查询);实现图片流数据的存储,支持按车道时间段和http协议提取;实现附属流数据的存储,支持视频流分析的结构化数据存储。
3)管理层在管理层,融合了索引管理、计划管理、调度管理、资源管理、集群管理、设备管理等多种核心的管理功能。
可以实现存储设备的逻辑虚拟化管理、多链路冗余管理、录像计划的主动下发、以及硬件设备的状态监控和故障维护等。
可实现整个存储系统的虚拟化的统一管理,实现上层服务(视频录像、回放、查询、智能分析数据请求等)的响应。
4)接口层应用接口层是云存储最灵活多变的部分,面向用户应用提供完善以及统一的访问接口。
接口类型可分为Web Service接口、API接口、Mibs接口,可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。
实现和应用平台、融合平台、运维平台的对接、实现和智能分析处理系统之间的对接,可实现视频数据的存储、检索、回放、浏览转发等操作,实现关键视频数据的远程容灾、实现设备以及服务的监控和运维等。
5)应用层从逻辑上划分,除了应用层外,剩下的四层都属于通常云存储的范畴,但是在云存储系统中,为了将云存储系统与视频监控系统的建设和应用更加紧密的结合,更加符合用户的业务需求,我们将应用层纳入了整个系统架构中,从根本上提高云存储系统的针对性。
可将共享平台通过相应的接口与云存储系统对接,实现与云存储系统之间的数据以及信令的交互。
共享平台可对云存储系统进行配置录像计划、配置存储策略、检索视频资源、重要录像的备份存储等指令的交互,辅助流数据、视频数据、图片数据的存取。
1.1.1.3.2视频云存储逻辑架构视频云存储系统采用前端摄像机直写存储设备的方式,使用集群方案解决单节点失效问题,并利用负载均衡技术充分利用各存储节点的性能;采用统一接口与平台对接,降低平台维护和用户管理的复杂度。
平台管理中心仅和云存储系统中的云存储管理集群完成各种具体业务的信令交互工作,其他数据存储和读取工作直接由存储节点完成。
采用信令和视频数据的完全分离,降低整个系统的网络压力,提高整体性能。
视频云存储逻辑架构图1.1.1.3.3视频云存储部署架构当项目中的前端摄像机通道数量超过1024路时可采用管理服务器集群模式。
集群部署可以保持规模与性能的线性增长,三台管理服务器集群可以支撑4000路以内的摄像机通道规模。
如果摄像机通道规模更大可以通过增加管理服务器台数来提高集群的性能,如5台管理服务器可支撑6000路、7台管理服务器可支撑8000路。
管理服务器的数量必须为奇数。
无论集群内有多少台服务器,对外呈现为唯一的IP地址。
管理节点集群部署是一种高可靠性、高稳定性的部署方式,此种方式是采用三台或三台以上奇数台服务器组成,安装视频云存储管理软件并运行集群工作模式,形成视频云存储管理集群。
此种集群工作模式,可实现单台或多台服务器应用的故障切换和负载均衡,提高了视频云存储管理节点的可靠性和稳定性,系统性能也得到了很大的提高,是大型视频监控项目首选的部署方式。
集群部署物理拓扑如下图所示:管理节点集群部署方式双机热备管理,保证系统的安全性和可靠性,实现全县所有监控点的视频云存储管理。
前端各类监控点根据实际情况接入到就近的汇聚设备,由各汇聚设备将前端监控点通过全千兆光纤网络上连到县局,统一到视频云存储管理软件注册。
1.1.1.4存储系统设计为解决传统视频存储系统遇到的问题,本次将在县中心机房建设基于视频云技术的视频存储系统,由中心平台统一管理,实现接入视频全天24小时存储、采用25帧率录像保存30天;同时将原有存储系统改造为视频云存储子系统,并进行系统和数据的迁移,组建完整的视频监控云存储系统。
1.1.1.4.1软件设计海康威视视频云存储系统主要由四大部件组成:云存储管理软件(CVM),云存储软件(CVS),云存储接入软件(CVA)以及云存储异构软件(ASS)。
下面分别介绍四大软件内部结构及功能。
1)视频云存储管理软件CVM视频云存储管理软件:CVM(Cloud Video Manage)整套软件,主要功能包括视频云存储系统内资源管理、存储节点管理、集群管理、策略调度、运维监控等。
软件包含六大功能模块,分别为:索引管理模块、调度管理模块、集群管理模块、计划管理模块、资源管理模块、辅助管理模块,整体软件架构如下图所示:CVM软件架构索引管理模块索引管理模块集群化管理集群中的全部管理节点,能并发响应用户的检索、插入、修改和删除操作情况,提供一体化、高并发、快响应的索引服务。
同时,索引管理模块提供视频索引、标注索引服务,支持以通道号、时间段、录像类型和锁定状态为条件的视频信息检索服务,支持以通道号和时间段为条件插入、修改、删除和检索标注的功能,以及根据标注关键字检索视频的特色功能。
•调度管理模块调度管理模块根据集群中设备的负载状况,灵活的调度集群资源为应用业务提供支撑。
作为集群系统中的逻辑引擎根据不同的逻辑策略执行不同的调度算法,提供资源分配调度、分散策略调度、循环覆盖调度、录像计划调度等服务。
•集群管理模块集群管理模块统一管理集群中分布式设备节点,包括管理节点和存储节点。
它负责管理节点之间关键信息的实时同步,保证集群中不同管理节点信息的一致性,无差异化的对外提供服务。
同时也负责管理存储节点,将存储节点加入到集群中作为存储资源的一部分,集群管理模块维护集群中设备节点的实时状态信息,对外提供设备状态查询接口便于管理和了解集群的整体运行状态信息。
•计划管理模块计划管理模块负责录像计划的管理、下发、切换,保存监控平台下发的录像计划,调度系统中的录像计划并执行录像计划,当接入服务器异常时负责动态切换录像计划到其它接入服务器。
•资源管理模块资源管理模块负责对集群中所有存储设备的存储空间进行统一管理,根据入网存储设备上报的资源信息计算出集群存储总容量和空闲容量,负责创建、删除录像池,为存储业务分配合适的存储资源。
同时能动态的调整录像池的大小,弹性的对录像池进行扩容或者缩减,将集群存储空间切分成细小独立的存储单元,再根据用户需要,将很多个存储单元有机组合后虚拟化成录像池对外提供存储服务。
•辅助管理模块辅助管理模块包含日志管理、运维管理、数据迁移等功能,日志管理为其他模块提供日志打印服务,对外具备日志查询和日志文件下载功能,包含调试日志、事件提示日志、错误日志、告警日志和重要日志。
运维管理云视频管理节点的运行参数获取接口,供运维平台获取管理节点的实时运行信息。
数据迁移功能对外提供将第三方数据迁移到本视频云存储系统中保存的功能。
2)视频云存储软件CVS视频云存储软件:CVS(Cloud Video Storage)是视频云存储系统中的重要模块,主要负责执行具体的视频数据读写操作。
CVS集成在视频云存储节点(CVSN)上,每一台存储设备上都必须装载该软件模块。
视频云存储软件(CVS)接受视频云存储管理软件(CVM)的管理,从视频云接入软件(CVA)接收海量视频数据,高效无误的存放在本机指定的数据块中。
在一套视频云存储系统中,视频云存储存储管理软件(CVM)会均衡分配多台视频云存储软件(CVS)的业务负载量,使整个系统的读写性能达到最佳。
视频云存储软件按照功能模块化设计,整体软件架构如下图所示:CVS软件架构•通信模块本模块主要是负责和CVA及CVM进行数据信息的交互,采用多线程并发接收和发送数据的方式,高效完成跨机器的数据交互。
•运维管理本模块主要是负责和视频云运维软件进行交互,采集系统数据及程序运行数据,并按照特定协议格式发送给视频云运维部件,方便平台对整个云存储系统运行状态进行实时监控,如有故障出现,及时报警提醒相关人员进行处理。
•视频接入本模块主要是负责处理从CVA传输进来的视频数据,并按分类进行一定的逻辑处理。
采用多线程的处理方式,可同时支持数百路的视频数据接入。
•日志管理本模块主要是负责对CVS的日志进行统一管理,记录一些重要事件,方便事件回溯,对外提供日志查询和日志下载功能。
•视频文件系统本模块根据视频的特性,定义流式存储结构,主要是负责视频数据的高效读、写。
•数据库管理本模块主要是负责对CVS系统运行时需要临时存放的一些重要数据进行保存,可以方便的以SQL接口提供插入和查询,简化数据存放和获取的机制。
3)视频云存储接入软件CVA视频云接入软件CVA(Cloud Video Access)也是整个云存储系统的重要组成部分,主要包括录像任务管理、录像服务、设备状态管理和部分流媒体转发服务等功能。