其他账号登录: 注册 登录
客服热线:4008-500-576

视频监控数据云存储


1
项目概述

本方案的目标是建设一套级公安海量视频数据云存储系统,能把全各地县的公安系统以及相关联业务部门的图像和视频数据集中存储,统一管理,统一处理,长期保存

高清视频监控系统大量采用高清数字摄像机,为保存珍贵的视频录像资料,支持公安回查、取证、侦缉等业务工作,本项目必须提供充足的数据存储空间,确保视频录像的24小时不间断保存。

2
方案设计

3.
方案设计原则

为满足海量视频数据云存储的技术需求,本次方案将依据如下原则:

(一)可靠性

整个图像监控系统的可靠性是第一位的。本次项目中提供的云存储设备在系统设计、设备选型、调试、安装等环节都严格执行国家、行业的有关标准,贯彻质量条例,采用稳定、可靠的技术设备,确保系统级别的高稳定性和可靠性,满足7×24小时、全年365天的全天候长期稳定运行。

并且支持多种数据保护方式,即使任意一个或者多个部件损坏,甚至云存储节点损坏,系统仍然完全可用,业务不中断。掉电恢复后节点及软件自动恢复正常连接,启动过程无需过多人工干预,提高系统长期运行的可靠性与稳定性。

(二)大容量

本项目需存储50000路视频数据,所采用的云存储系统需支持 PB 级别的存储数据总量,支持至少 256 个存储节点,来满足本次云存储业务的需求。

搭建的云存储环境,无论节点和硬盘总容量多大,都可以对用户提供统一的命名空间,用户能够访问一个容量接近无限(数 PB)的卷。对于应用程序来说,只需要正常读写该卷即可。从逻辑上,用户可以认为自己使用的是一套超大容量和超高性能的专业存储,而无需考虑物理上的部署细节。

(三)可扩展性

为应对视频数据容量的高速增长,必须保证云存储系统的可扩展性。扩展容量只需要增加存储节点,该节点是一个完整的存储主机,直接接入网络,与其他节点之间有很大的独立性。整个扩容过程在线进行,原有的存储系统可以继续运行,不会中断当前业务。

(四)高性能

为了满足前端视频服务器的不间断写入及回放,不出现丢帧的情况,整个云存储必须提供高读写性能。随着节点数的增多,存储的性能线性上升。且内置负载平衡模块,多个客户端访问云存储系统,其读写负载会动态地均匀分布到各个节点,避免单个节点出现性能瓶颈。

(五)可管理性

    整个云存储系统规模非常庞大,为了减少维护成本,需要有一个操作简单、功能强大的 UI 界面。用户可以通过任意一个节点对云存储进行管理,修改相关配置,查看运行状态,系统告警,以及实时的性能数据(包括 CPU、网络带宽、读写带宽等)。


3.
总体方案概述

III.I.
容量

本项目规划部署50000路高清视频,500台前端视频服务器,每路视频4Mbps码流,保存30天。

单个摄像头1天生成的数据量为:

4M/8*3600秒*24小时≈42GB


50000路摄像头30天生成的数据量为:

42GB*50000路*30天≈60PB


III.I.
拓扑图


为实现视频数据的集中存储、集中调用及检索,各地市的高清摄像头通过公安专网接入中心机房,通过前端视频服务器写入云存储中,录像保存周期不低于30天。

3.
方案说明

III.I.
方案一:高性价比

本方案云存储系统采用节点内raid的数据容错方式,节点间采用分布式。

使用36盘位存储节点,每个节点配置36块10TB企业级硬盘。节点内做3个raid5(11块盘一个raid,每个raid配置1块热备盘),单节点可用容量约为270TB,共配置228个存储节点。

特点:

提供节点内硬盘raid5保护,当硬盘出现故障时,raid重建自动修复数据,维护人员只需将坏盘更换即可;

节点间采用分布式(相当于网络raid0),当节点出现故障时(主板故障、电源故障),该节点内的数据暂时无法读取,新数据会写入其他正常节点内。待故障节点恢复后(更换主板、更换电源),旧的数据可被读取,同时,故障过程中写入的新数据也将再平衡到该节点。确保所有数据不丢失。


采用方案一的硬件配置

设备

部件

型号

数量

存储节点

机箱

4U 36盘位机箱,1+1冗余电源

1

CPU

Intel Xeon E3-1230 V3

1

主板

支持E3 V3/V4 CPU的单路主板

1

内存

16GB 单条 ECC服务器内存

1

网卡

千兆网卡

4

系统硬盘

64GB 2.5寸 SSD

1

数据硬盘

10TB企业级SATA硬盘

36


III.I.
方案二:高可靠性

本方案云存储系统采用双副本模式,节点内不做raid。

使用36盘位存储节点,每个节点配置36块10TB企业级硬盘。单节点可用容量约为324TB,双副本模式下所有数据写2份,共需要120PB存储容量,因此共配置380个存储节点。

特点:

双副本模式,数据写2份,当有硬盘故障时,可通过对应节点内硬盘进行数据同步恢复;当节点出现故障时,因为有副本,数据仍可正常读写,只需将故障节点恢复即可。


采用方案二的硬件配置

设备

部件

型号

数量

存储节点

机箱

4U 36盘位机箱,1+1冗余电源

1

CPU

Intel Xeon E5-2620 V3

1

主板

支持E5 V3/V4 CPU的双路主板

1

内存

16GB 单条 ECC服务器内存

2

网卡

千兆网卡

4

系统硬盘

64GB 2.5寸 SSD

1

数据硬盘

10TB企业级SATA硬盘

36


III.I.
方案对比

两种方案对比如下:

特性

方案一:高性价比

方案二:高可靠性

节点数

228个

380个

单节点同时最大坏盘数

3块

36块

单节点所需带宽

878Mb/s

527Mb/s

节点故障

支持(故障节点内数据暂时不可读取)

支持

所需机柜数(5台/机柜)

46个

76个

存储端所需网口数

912个

1520


3.
方案优势

III.I.
业务连续性保证

方案一:

●硬盘故障

每个节点内配置3个raid组,每个raid组分别配置1块热备盘。当硬盘故障时,raid会自动重建,不影响视频业务的写入与读取。

●节点故障

由于节点间使用了分布式,当某个节点故障(电源故障、主板故障、风扇故障)导致该节点宕机,虽然该节点的数据暂时无法读取,但新的数据还能继续写入其他节点。当故障排除(更换电源、主板或风扇),老的数据又能继续读取。

故障排查过程中,视频或图片是持续写入的,所以可以在提高性价比的同时,最高程度保障业务连续性。


方案二:

●硬盘故障

副本模式下,一份数据会写入2个不同的节点内,当某块硬盘故障时,数据通过与他镜像的硬盘继续读写,当更换硬盘后,数据将同步回该硬盘。

●节点故障

    副本模式下,任意节点损坏,都不会影响现有业务运行,所有数据都能正常读写。当节点恢复后,数据将同步回该节点。

III.I.
PB级数据管理

本项目中云存储系统支持单一系统扩展至100PB以上的规模,以满足未来数据爆发式的增长。

III.I.
多种数据类型与协议支持

公安数据形式多样,包含文档、图片、视频、栅格、矢量等,本系统能够支持多种数据类型,提供NFS/CIFS/FTP等多种接口,以便业务对多种数据进行访问和操作。本系统可以和分布式对象存储系统进行深度整合,构建数据湖方案,满足更多应用的需求,同时也能和大数据分析系统进行高效对接。

III.I.
提供大数据分析接口

本项目解决了公安及相关业务部门海量数据能力薄弱、数据资源分散、共享能力不强、应用效率不足等问题;同时,保存下来的数据未来还能和大数据分析系统相结合,挖掘出更有价值的数据信息。

凭借海量的数据信息和专门的数据挖掘技术,公安机关可以进行数据驱动的警务预测。技术人员从海量的视频信息中提取有效数据,结合人脸识别、车辆识别等要素进行加工分析,找出暴力犯罪、恐怖袭击、恶性群体性事件等各自的发生要件,总结出各类案件发生的要素特征,根据这些要素特征建立相应的预警模型。公安机关可根据预警及时调整和部署警力,将恶性事件及时地消除、化解在萌芽状态。有效提升公安工作的情报洞察能力、分析决策能力、指挥管理能力、侦查破案能力和服务社会能力。

3
JS-Cloud介绍

针对大规模的非结构化数据存储设计,JS-Cloud具有领先的架构优势,不仅仅能够给用户提供统一的数据访问路径,还具有超大容量、容量和性能横向扩展、多节点容错、高性能、易部署、易管理等诸多特点,能全面满足用户复杂的业务需要。

JS-Cloud具有如下主要特性:

Ø灵活性:架构灵活,针对企业的业务环境提供最优的配置

Ø高扩展:去中心化架构,横向扩展,最大支持256个节点

Ø大容量:统一命名空间,超过100PB的总容量支持

Ø高性能:卓越性能,为多路大数据块读写优化,支持SSD加速和分级存储

Ø高可用:支持副本和纠删码,允许多个节点故障

Ø多接口:支持CIFS/NFS/FTP/对象存储接口等多种通用协议

Ø多权限:无限级权限设置,完全满足企业内部复杂的权限设置需求

Ø部署:开箱即用,基于Web的配置和部署,无需专业培训

Ø易维护:基于EasyUI,实时监控系统状态,简洁易懂

Ø性价比:副本策略之外,支持节点内RAID和N+M纠删码,大幅度降低硬盘总数和节点数

4.
整体架构

下图详细描述了JS-Cloud集群的构成。客户端通过标准的CIFS/NFS/FTP等协议,访问JS-Cloud的存储空间。整个系统中不仅存储节点会通过副本或者纠删码等方式设置冗余,同时支持交换机的冗余配置,系统中任意一个硬件部件(包括网口或者交换机)损坏,系统仍可以正常运转,最大程度上保证了数据的高可用性。


JS-Cloud拓扑示意图

不同于市面上的一些分布式存储,JS-Cloud无metadata(元数据)服务器,所有的节点都是对等的节点,兼顾数据存储和管理功能,完全避免了元数据服务器带来的单点瓶颈和单点故障。进行扩展时,只需要加入数据节点即可,无需考虑元数据服务器的规划,这种结构上的简单性带来了管理的方便性。

每个节点除了用作数据存储之外,也同样作为管理节点使用。用户可以通过任意一个节点的IP,利用Web或者专用客户端管理整个分布式存储系统。无需专门的管理服务器,节省用户的整体投资,简化网络部署。

4.
JS-Cloud特点

IV.I.
灵活性

JS-Cloud基于软件定义存储的架构,可以运行在通用的x86服务器上面,通过复杂的软件机制来保证整套系统的可靠性。相对于专用硬件服务器来说,不仅可以降低用户的整体投资,同时还带来了极大的灵活性。用户可根据预算选择合适档次的硬件,既可以直接利用现有的旧设备,也可以采用经过大规模测试和认证的专用硬件系统(包括具有更高可用性的双控制器存储设备)组建。

JS-Cloud基于开放服务的软件架构,在软件功能上也能给用户带来最大的灵活性。不仅通过软件模块化来提供不同的用户服务,还通过API、CLI、Web高级选项配置等方式开放相关功能接口,在保证安全性的前提下,针对不同用户的应用场景进行定制化地开发,调优性能,满足用户的复杂业务需求。

对用户来说,JS-Cloud与其说是一套分布式存储系统,不如说是针对其特定应用场合的一整套定制化存储应用解决方案和个性化服务。

IV.I.
高扩展

传统存储如果要扩展容量,一般采用纵向扩展(Scale-up)的方式。如下图左图所示,通过添加扩展柜(JBOD)的方式,来扩展存储的总容量。但纵向扩展性能无法随容量同步扩展,因为所有的IO都会经过主柜(连接外部网络的设备),且对外的网络接口不易扩展,所以非常容易导致性能瓶颈。而且可靠性很差,无法承受单点故障,最严重的情况如主柜损坏,则会导致所有的硬盘无法访问。因此,采用纵向扩展方式,不能支持较大的存储总容量。

JS-Cloud采用了横向扩展(Scale-out)的方式来支持容量扩展,如下图右图所示。扩展容量只需要增加存储节点,该节点是一个完整的存储主机,直接接入网络,与其他节点之间有很大的独立性。任何节点损坏,不影响其他节点的访问。而且整个扩容过程在线进行,原有的存储系统可以继续运行,不会中断当前业务。


      

纵向扩展                                    横向扩展

纵向和横向扩展示意图


IV.I.
大容量

JS-Cloud可以轻松支持PB级别的存储数据总量。JS-Cloud支持多达256个存储节点,支持的单卷最大容量为100PB,足以满足大中小各种类型企业的分布式存储业务需求。

JS-Cloud搭建的云存储环境,无论节点和硬盘总容量是多大,都可以对用户提供统一的命名空间,意即用户能够访问一个容量接近无限(数PB)的卷。对于应用程序来说,只需要正常读写该卷即可。从逻辑上,用户可以认为自己使用的是一套超大容量和超高性能的专业存储,而无需考虑物理上的部署细节,比如,数据到底存放在哪个节点的哪个硬盘上。JS-Cloud的运行机制确保了整套系统的可用性,让用户能够随时随地读写所需的数据。

IV.I.
高性能

得益于强大的横向扩展能力,随着节点数的增多,JS-Cloud存储的性能也会线性上升。基于万兆以太网络,JS-Cloud可以轻松处理带宽要求苛刻的应用,比如非线性视频编辑、VOD点播、大规模数据备份等。

JS-Cloud内置负载平衡模块,多个客户端访问分布式存储,其读写负载会动态地均匀分布到各个节点,避免单个节点出现性能瓶颈。

JS-Cloud还可利用SSD磁盘用做缓存,系统动态地把频繁读写的数据缓存在SSD上面,进一步提供IO性能。

IV.I.
高可用

高可用性意味着任意一个或者多个部件损坏,系统仍然完全可用,业务不会中断掉。JS-Cloud采用多种技术支持系统的高可用性。

副本

副本方式是首推的数据保护方式。JS-Cloud支持用户自定义的副本数,用户可根据需要达到的保障级别和预算投入,选择合适的副本数,其取值范围为2~节点总数。当副本数设置为N(N>=2)时,分布式存储集群支持至少N个节点故障而不影响系统可用性。考虑到存储利用率,对于分布式存储环境,一般建议设置为2~3。对于普通的企业数据环境,副本一般设置为2,意即每份数据保存2份。对于重要的归档数据,副本数建议设置为3。

节点内RAID

部分客户对于系统的性价比有较高要求,在预算有限的情况下,可以采用节点内RAID的冗余方式,提供更大的可用容量。该方式不支持节点损坏下的数据可用性,但如果节点内部出现坏盘,可以通过RAID5等方式来提供数据完整性,保障业务的持续进行。

纠删码

纠删码(Erasure Coding)是一种编码传输技术,它把数据分成多个部分,然后通过一定的数学方法计算出数据的冗余编码,然后把原始数据和冗余编码都保存下来。例如,一个数据片段可以把它拆分为N份,然后计算出M个校验码片段,N+M份数据分别存放在不同的地方,可支持M个数据片段损坏,然后通过数学方法计算出原始数据。但其存储利用率为N/(N+M),高于副本方式。

数据自动恢复

当存储系统出现坏盘等常见问题时,即使仍可以正常运行,但因为冗余度降低,其后续的容错程度也会降低。为提高系统的可靠性,JS-Cloud支持数据自动恢复机制,当出现坏盘等故障时,更换新盘后,能够自动地恢复损坏的数据,使系统迅速恢复到原始的健康状态。

IV.I.
多接口

JS-Cloud支持通过多种协议访问内部的存储数据,最大程度兼容客户的已有业务环境。JS-Cloud无需安装客户端,使用标准协议即可访问数据。

对于普通的企业用户,建议使用CIFS(Samba),以文件方式来访问存储。客户端的OS可以是Windows、Linux或者MAC OS X。

除此以外,用户还可通过NFS、AFP、FTP等常用的协议来访问文件数据。使用这些传统网络文件协议,能够兼容用户现有的应用环境,无需修改应用架构,便可以把基于有限存储容量的传统应用程序迁移到基于近似无限容量的分布式存储上来。

虽然使用标准协议访问数据给用户带来了极大的便利性,但JS-Cloud也针对Linux和Windows等环境提供专有客户端软件,满足用户对于高性能数据传输的需求。

IV.I.
多权限

JS-Cloud支持完整的无限制的权限控制,全面满足用户的实际业务需求。它支持创建足够多的用户或者组,在不同的目录针对不同的用户赋予不同的权限(可读可写、只读、禁止访问等)。同时还支持复杂的分级目录权限,给每一层目录设置独立的权限,严格控制内部数据的安全性和隐私性。

JS-Cloud支持Windows Active Directory,最大程度地兼容用户已有的Windows域控环境,能直接接驳到已有的Windows集群中,使用已有的用户账号对它进行管理。

IV.I.
易部署

传统的分布式存储部署涉及到复杂的配置,管理员需要非常专业的操作技能,熟悉Linux/UNIX系统以及复杂的网络配置,相关的配置步骤需利用配置文件和脚本来完成。

JS-Cloud针对以上弊端,推出了非常简单的基于图形化界面的快速部署方案。用户仅需要通过Web访问每个节点,进行包括IP设置等的简单网络配置,便可以把分布式存储搭建好。通过内置的图形化向导,也可以快速对整个环境初始化,建立数据卷,对外提供服务。

IV.I.
易维护

JS-Cloud采用了基于Web的EasyUI技术,提供操作简单、功能强大的UI界面。用户可以通过任意一个节点对分布式存储进行管理,修改相关配置,查看运行状态,系统告警,以及实时的性能数据(包括CPU、网络带宽、读写带宽等)。对于最终用户来说,一般情况下仅需关注系统的告警,便能实时监测整套系统的健康状况。得益于采用了数据自我恢复技术,许多告警能够在一段时间之后自动消除。如果遇到了性能瓶颈,通过对性能数据的简单分析,也能快速定位问题所在。


EasyUI界面



文章分类: 方案
分享到:
会员登录
登录
其他账号登录:
我的资料
我的收藏
留言
回到顶部