一种面向海量视频图像的分布式系统及实现方法与流程

文档序号:14779320发布日期:2018-06-26 10:37阅读:227来源:国知局

本发明涉及安防监控和云存储领域,尤其涉及一种面向海量视频图像的分布式系统及实现方法。



背景技术:

随着智慧城市产业的快速发展,移动互联设备的快速激增,安防视频监控领域面临着海量的非结构化视音频数据的存储需求,这对监控存储产品提出了更高的要求。而传统监控产品在海量数据存储上的乏力,也加速了云存储产品进入和占领安防市场的步伐。云存储在安防监控领域得到了广泛的应用,并且逐渐成为了视频监控行业面对海量数据存储时的首选解决方案。

然而,通用性的常规云存储系统却将云存储作为存储端独立出来,割裂与具体行业、具体应用的联系,在整个安防系统中仅充当数据读写、存储、安全保障等基本角色。通用云存储系统通过提供IT化的数据读写方式,要求应用端适应存储的工作模式,从而增加了应用端的开发任务,拉长视频存储的业务流程,抑制了对云存储合理的优化可能。因此云存储若要在安防行业中壮大、发展,除要继承其本质的特点优势外,更应深入了解安防行业特点和需要,并积极参与到从前端到存储整个端到端的数据路径优化工作中来。

在视频监控行业尤其是智慧城市的安防级监控市场,一方面设备厂商仍在使用基于IPSAN等传统的网络存储方式而非云存储方案,在扩展性、动态迁移、共享访问等方面存在明显不足;另一方面云平台更多的提供的还是通用的云存储解决方案来为安防云存储服务。也许可以短期内为智能家居环境提供基本的存储服务支持,但从长远来看尤其是面向智慧城市的需求来说,这远远不够。

因此,本领域的技术人员致力于开发一种满足城市级安防监控系统对统一存储、动态扩容、智能运维的需求而优化设计的海量监控视频/图片数据存储、检索的分布式弹性云存储系统,具有以下优点:

1.至少承载PB级别的数据存储的大规模分布式存储系统;

2.能够自动实现数据恢复、数据重平衡、错误数据自动检测及恢复,最大限度减少运维人员的工作;

3.对传统监控设备的存储需求能力的兼容,同时提供多种开放接口及SDK,供第三方应用及服务接入,为数据分析及数据共享提供强有力保障;

4.高可靠性支持;

5.对存储系统涉及的所有物理设备状态提供完成的性能及状态监控,实现远程运维及预警控制。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种解决现有安防系统和云存储不足的面向海量视频图像的分布式系统及实现方法。

为实现上述目的,本发明提供了一种面向海量视频图像的分布式系统,包括输入模块、输出模块和分布式子系统,所述分布式子系统包括负载均衡器、第一模块和第二模块,所述第一模块包括多个子模块,其用于将接收到的视频和/或图像信息处理成对象形式及相关联的元数据信息并发送给所述第二模块中,所述负载均衡器用于根据所述输入模块和输出模块请求并发量动态分配第一模块中子模块的数量。

进一步地,所述第二模块包括第一存储器和第二存储器,所述第一存储器用于存储对象形式的数据信息包括视频片段对象、视频图像对象和流式存储清单,其中所述视频图像对象是基于事件的视频关键帧所对应的图像,所述流式存储清单是定位视频片段的映射关系对象集;所述第二存储器用于存储事件和与其关联的视频和/图像的元数据信息。

进一步地,所述分布式子系统还包括外设接口,其与所述输入模块和输出模块分别连接以进行信息传输。

进一步地,所述输入模块是监控设备和/或监控系统。

进一步地,所述分布式子系统还包括第三模块,当所述负载均衡器接收到接入请求时通过所述第三模块进行请求的鉴权和认证。

进一步地,所述分布式子系统还包括第四模块,用于根据所述输出模块发送的请求获取相应的流式存储清单并根据获取的流式存储清单以流式方式传递视频片段对象至所述输出模块播放。

进一步地,根据所述输出模块发送的请求获取相应的流式存储清单包括以下步骤:

步骤1:所述输出模块发出请求传送到所述负载均衡器;

步骤2:所述负载均衡器将接收请求适配到第一模块中的一个子模块中进行解析

步骤3:将解析出的检索指令发送给所述第二存储器,所述第二存储器根据接收的检索指令通过关联的视频和/图像的元数据信息获取所述第一存储器中相应的流式存储清单;

步骤4:将检索出的流式存储清单通过第一模块传送至所述第四模块中。

同时,本发明还提供了一种面向海量视频图像的分布式系统实现方法,包括分布式子系统中的负载均衡器根据输入模块和输出模块发出的请求并发量动态分配所述分布式子系统中的对象网关数量;各个对象网关将接收到的视频和/或图像信息处理成对象形式及相关联的元数据信息并发送给存储模块。

进一步地,所述存储模块包括第一存储器和第二存储器,所述第一存储器存储对象形式的数据信息包括视频片段对象、视频图像对象和流式存储清单,其中所述视频图像对象是基于事件的视频关键帧所对应的图像,所述流式存储清单是定位视频片段的映射关系对象集;所述第二存储器存储事件和与其关联的视频和/图像的元数据信息。

进一步地,所述分布式子系统还包括外设接口,其与所述输入模块和输出模块分别连接以进行信息传输。

进一步地,所述输入模块是监控设备和/或监控系统。

进一步地,所述分布式子系统还包括检测模块,当所述负载均衡器接收到接入请求时通过所述检测模块进行请求的鉴权和认证。

进一步地,所述分布式子系统还包括流媒体执行模块,其根据所述输出模块发送的请求获取相应的流式存储清单并根据获取的流式存储清单以流式方式传递视频片段对象至所述输出模块播放。

进一步地,根据所述输出模块发送的请求获取相应的流式存储清单包括以下步骤:

步骤1:所述输出模块发出请求传送到所述负载均衡器;

步骤2:所述负载均衡器将接收请求适配到相应的对象网关中进行解析

步骤3:将解析出的检索指令发送给所述第二存储器,所述第二存储器根据接收的检索指令通过关联的视频和/图像的元数据信息获取所述第一存储器中相应的流式存储清单;

步骤4:将检索出的流式存储清单通过对应的对象网关传送至所述流媒体执行模块中。

本发明提供一种面向海量视频图像的分布式系统及实现方法,其系统具有高扩展性,不仅支持监控视频设备的直接视频数据存储,还兼容现有的IPSAN、FCSAN、集中存储等安防监控系统;并且可以根据视频监控系统的规模动态增加物理资源设备,安全高效的保证视频数据的有效传输。同时,借助云平台的丰富接口,实现大数据联动分析,基于时空信息的快速检索及时高效的定位视频事件

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的优选实例的分布式子系统层次结构图;

图2是本发明的优选实例的面向海量视频图像的分布式系统示意图。

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体实施方式

如图1所示的本发明优选实例的分布式子系统层次结构图,其包括设备虚拟化层、存储层、存储管理层、业务服务支撑层、业务和大数据分析模块。

设备虚拟化层用于将不同的物理存储设备抽象为统一的存储资源以供上层存储层统一分配管理,包括用于计算存储的x86服务器、使用iSCSI协议的IP-SAN存储设备、SAN架构下使用FC光纤通道的FC-SAN存储设备和NAS存储设备。

存储层通过传输协议及标准存储设备之间的逻辑卷或磁盘阵列的映射,实现视频、图像数据和设备虚拟化层之间的通信连接,完成数据的高效写入、读取和调用等服务。存储层包括视频片段存储、图片存储、视频流式映射清单存储和时空元数据存储。

视频片段存储是以对象方式进行视频片段的存储和管理,使用对象的形式可解决分布式文件存储在操作上不够精确以及分布式存储无法保证均衡的弊端,同时使用基于纠删码技术实现的高鲁棒性复制集策略;

图片存储以对象存储的方式分布在整个云存储集群中,通过图像ID快速关联视频关键帧,实现基于关键帧的事件快速检索及比对;

视频流式映射清单是用于视频片段检索和定位参数的映射清单,可根据视频流式映射的映射列表快速获取相应的视频片段对象和图片对象,以解决视频片段对象扁平化存储无法快速定位的缺陷。当视频检索及分析时能够通过该映射快速定位相应的视频片段,以提高性能;

时空元数据存储其用于基于事件和时空信息的快速对视频和图片进行检索,其包括时空事件信息和关联信息,其中时空事件信息用于存储基于事件的时间地点等信息数据,事件与之对应的视频图片的映射关联集存储在关联信息中,可通过关联信息获取相应的视频流式映射列表,从而根据视频流式映射列表获取相应的视频片段对象和图片对象。

存储管理层具有对象分发、存储策略、实时监控、数据加密、多副本策略、SSD缓存、动态扩展、自动修复等核心功能,以实现云存储系统的高可靠性、高可用性及高可扩展性。

业务服务支撑层面包括负载均衡模块、共享接口、视频直存模块和设备管理模块;

负载均衡模块,其用于根据资源请求动态分配资源以实现弹性的分布式系统;

共享接口提供了灵活开放的视频数据共享接口,例如使用基于restful l的应用程序编程接口,可支持部署SDK的摄像头设备,也可以支持现有的监控系统;

视频直存模块实现视频数据从设备端直接存储至云存储系统中例如直接将摄像头采集的信息直接在系统中存储;

设备管理模块用于对接入设备进行统一管理、认证和鉴权等。

业务层针对存储的视频资源提供多种应用,如实时视频回放、智能视频分析、人脸比对、GIS系统和图像侦查功能;

大数据分析利用云平台的计算能力为业务层的多种应用提供技术能力支撑,所涉及的技术包括特征比对、数据挖掘、系统联动、智能运维和数据源采集。

如图2所示的本发明优选实例的面向海量视频图像的分布式系统示意图,其包括输入模块、输出模块和分布式弹性云存储系统。

本发明支持侵入式和非侵入式两种方式实现监控视频的存储。

输入模块是监控设备和/或监控系统。具体如:现有监控系统通过接入监控模块(如:接入监控模块包括设备管理服务器、流媒体服务器、中心管理服务器、web服务器和存储服务器。)接入分布式弹性云存储系统,同时也支持直接将SDK部署在摄像头上接入分布式弹性云存储系统。

输出模块用于对存储的视频资源提供多种应用,如通过监控客户端、浏览器客户端和移动客户端实现视频回放、智能视频分析、人脸对比、GIS系统和图像侦查等功能。

分布式弹性云存储系统包括外设接口,其与所述输入模块和输出模块分别连接以进行信息传输。具体如:分布式弹性云存储系统的restfull api连接接入监控模块和SDK部署的外部设备(如:摄像头)。

分布式弹性云存储系统包括负载均衡器、认证模块和设备管理服务器,所有接入请求通过认证模块和设备管理服务器进行请求的鉴权及认证后,负载均衡器根据请求并发量配置对象网关数量。

其中对象网关是视频片段和图像关键帧处理的关键单元,同时也是实现跨数据中心存储的核心部件,将视频片段/图像以对象形式存储在对象存储池中,同时将视频片段/图像的元数据信息存储在时空高效存储资源池中。其中对象存储池包括流式存储清单、视频片段对象和视频图像。时空高效存储资源池包括时空事件信息和关联信息。

视频片段对象是以对象方式对视频片段的存储和管理,使用对象的形式可解决分布式文件存储在操作上不够精确以及分布式存储无法保证均衡的弊端,同时使用基于纠删码技术实现的高鲁棒性复制集策略;

视频图像是以对象存储的方式分布在整个云存储集群中,通过图像ID快速关联视频关键帧,实现基于关键帧的事件快速检索及比对;

流式存储清单是用于视频片段检索和定位参数的映射清单,可根据视频流式映射的映射列表快速获取相应的视频片段对象和视频图像,以解决视频片段对象扁平化存储无法快速定位的缺陷。当视频检索及分析时能够通过该映射快速定位相应的视频片段,以提高性能;

时空事件信息用于存储基于事件的时间地点等信息数据,事件与之对应的视频和/或图像的映射关联集存储在关联信息中,可通过关联信息获取相应的视频流式映射列表,从而根据视频流式映射列表获取相应的视频片段对象和视频图片。

本发明针对视频片段存储的特点,提供一种监控视频片段对象的管理和存储方法(合理设置用户存储容器名称、所存储文件对象名称即可以完成一定周期的视频录像数据滚动存储及快速检索),可以通过该方法实现基于时空信息视频数据的快速检索。具体实现下:

1.参数设置

a用户注册登陆账户,账户信息包括用户名和密钥信息,其中用户名是用户唯一标识,密钥用于用户的身份认证及权限管理。

b在输入模块(例如视频监控系统)设置视频录像的保存时间(例如使用Record_Days标识来表示,其值可设置30天、60天或其它值)。

c视频文件通过切片方式分片上传,每个切片代表的视频持续时间也作为一个变量通过视频监控平台的配置文件注入(例如:使用Split_Time来描述每个视频片段所代表的持续时间,具体Split_Time的取值由存储及获取的效率决定,从视频云存储角度考虑,建议每个视频片段的大小在4MB。)。

2.容器名的设置

由于容器名在整个云存储空间中全局唯一,所以分布式弹性云存储系统对其命名采取一定的规范约束,包括限制了每个用户可以创建的容器个数。

通常输入模块(例如;视频监控系统)在使用过程中,以天为单位来创建容器,每个容器中管理的为某天中所有的视频片段对象文件。

其容器名的格式:分布式弹性云存储系统的用户名_容器编号,其中容器编号表示在整个滚动存储中的第几天,通过记录当前日期与开始录像时间差值并对Record_Days取余即为该值。起始时间根据输入模块(例如;视频监控系统)的配置设定。例如56bf868e356243768861dff662365cb4:swfit_15代表具体用户第15天的录像信息。

3.对象名的设置

对象包含了信息数据以及相关的属性信息,通过对象名唯一标识,具体是存储时长为Split_Time视频片段文件,其对象名的格式:监控设备在该用户下的唯一标识_视频文件编号,其中监控设备在该用户下的唯一标识可采用监控设备IP地址、MAC地址或监控平台编号来标识;视频文件编号是从00:00:00开始当天属于该视频的第几个片段,可采用视频录制时间除以Split_Time的方式计算,或者通过持久化数据库存储。

4.表征文件(Manifest文件)的设置

Manifest文件用于表征视频片段之间的关系,通过Manifest文件维护视频内容和各个视频片段之间的映射。同时Manifest文件能更好提供流式下载效果,通过Range操作,可以从整个Manifest文件的中间任意部分读取内容,并提供边下载边查看的能力。为保证有序性,各个视频片段对象在Manifest文件中有序排列。

具体如Manifest文件以小时或天为单位,为了提升录像数据读取的效率,可将Manifest文件放在统一的容器(例如容器名为分布式弹性云存储系统的用户名)中,在分布式弹性云存储系统初始化过程即创建。当Manifest文件以天为单位是,其Manifest文件名称为监控设备在该用户下的唯一标识_N,文件内容为关联到第N天的容器中相关的视频片段。

分布式弹性云存储系统包括流媒体服务器,用于根据所述输出模块发送的请求获取相应的流式存储清单并根据获取的流式存储清单以流式方式传递视频片段对象至所述输出模块播放。

根据所述输出模块发送的请求获取相应的流式存储清单包括以下步骤:

步骤1:所述输出模块(客户端)发送监控视频调阅请求传送到所述负载均衡器;

步骤2:所述负载均衡器将接收请求适配到相应对象网关中进行解析

步骤3:将解析出的检索指令发送给时空高效存储资源池,时空高效存储资源池根据接收的检索指令通过关联信息获取对象存储资源池中相应的流式存储清单;

步骤4:将检索出的流式存储清单通过相应对象网关传送至流媒体服务器。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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