宇视超融合云存储底层硬件全部由高密度存储设备构成,计算能力和智能能力由额外的PCI-E扩展卡来实现。中间是核心处理层,负责将存储、智能、计算三大资源统一拉通虚拟化,给上层的业务服务提供资源上的支撑。最上层是对外业务层,除了可以提供各类安防必须的业务服务外,还能提供一些额外的定制化服务,使用户在使用时更加灵活。除此之外,整套超融合云存储还提供了统一的运维界面和安全管控准入机制,充分保障系统运行的安全性。
宇视超融合云存储底层硬件全部由高密度存储设备构成,计算能力和智能能力由额外的PCI-E扩展卡来实现。中间是核心处理层,负责将存储、智能、计算三大资源统一拉通虚拟化,给上层的业务服务提供资源上的支撑。最上层是对外业务层,除了可以提供各类安防必须的业务服务外,还能提供一些额外的定制化服务,使用户在使用时更加灵活。除此之外,整套超融合云存储还提供了统一的运维界面和安全管控准入机制,充分保障系统运行的安全性。
一、超融合云存储架构介绍
1.核心处理层
(1)存储资源池
存储资源池最核心的作用是拉通底层所有的存储资源(SSD、硬盘、磁带、光盘等),并且提供一定的冗余机制,保证部分存储介质或部分存储设备故障时,数据不丢失,业务不中断。为了实现该目的,市面上常见的做法是采用开源软件来部署分布式存储系统,例如HDFS、GlusterFS、Ceph等。在这些资源保护手段上,常见的有纠删码、多副本。
纠删码的保护方式一般采用N+M,也就是原数据+冗余数据的保护模式,例如在4+2的模式下,一个大数据块写入,会被分成4个相同大小的数据分片,并通过计算得出2个冗余分片,分别写入到4+2个存储节点(如图4所示)。在这种情况下,任意2个节点故障损坏,数据都不会丢失,都可以通过剩下的数据计算后恢复出来。多副本的保护方式相对来说更直接,即当数据写入到某个节点时,再按照之前配置的副本原则,再复制多份副本存入其他节点,保证多个节点上同时存在多份完整的数据(如图5所示)。
纠删码对于存储空间的利用率相对较高,但冗余度没有多副本的方式高,鉴于两种方式各有优缺点,因此在实际安防业务的存储过程中,一般会根据不同类型的业务产生的不同类型的数据来选择相应的保护策略。
(2)计算资源池
计算资源池最核心的命题是将所有存储设备(包括额外扩展的计算卡)上的CPU、内存等计算资源做统一集合,按需分配给不同的业务去使用,使得所有的计算资源可以得到最大限度的利用。为了防止某一应用占用大量计算资源却长期处于闲置状态,计算资源池应具备动态调节能力,将未充分使用的计算资源及时释放,使资源得到充分利用。并且在业务运行过程中,计算资源池还具备实时监控能力,若某个业务、某个虚拟机出现挂死等情况,可以自动将业务迁移到其他位置运行。此外,具备类似CDP数据持续保护、模板、快速备份等功能,以保障运行在上面的业务的可靠性。
(3)智能资源池
智能资源池与之前提到的计算、存储资源池类似,就是将智能卡上的GPU资源池化,提供给上层智能业务使用。上层智能业务可以按需来池中提取相应的资源,用于不同的智能业务。同一个物理GPU可以按时间来分配给不同的智能业务,而这个GPU故障时,上面的业务也可以动态的迁移到其他GPU上,保证业务不发生中断。
2.对外业务层
基于超融合的架构,已经具备了安防业务所必须的计算、存储、智能资源,那么安防的业务必然会全套部署在这之上。在对外业务层,会承载安防的各类相关业务,如视频流业务、视频存储业务、图片存储业务、数据索引业务以及数据清洗业务等等,这些业务都会通过虚拟机的方式部署在多块计算板卡上。由于承载了多种对外的重要业务,所以对外业务层的可靠性、高效性、易用性尤为重要。一般来说,会通过虚机HA、CDP持续数据保护技术、虚机快速备份、虚机自动重启等技术,来保障对外业务层的可靠性;通过动态资源调整、虚机热迁移来提升对外业务层的高效性;通过虚拟机模板,以及业务可视化部署的方式,来增加整套业务部署的易用性,提升客户使用的满意度。
(1)可靠性
当某个业务所在的虚拟机运行发生死机、蓝屏等故障时,重启是最简单的恢复办法,而超融合云存储系统需要具备及时感知的能力,在此类故障发生时及时发出指令,重启响应的虚机来快速恢复业务。但有时候重启虚机并无法解决问题,或者存储设备已经发生物理故障,无法再运行业务,就需要超融合云存储系统感知后做出相应的反应,来保证业务继续正常运行,不发生或者尽量少发生中断。虚机HA的技术可以在发生上述故障时,及时检测到故障,并将虚机业务整体迁移到其他的存储设备上运行。
通过这种方式,可以快速恢复关键业务,避免业务中断导致的损失,甚至可以做到无感知恢复。传统物理机下的HA方式存在一个弊端,那就是一个物理机(业务)需要1:1的准备一台备机来做接管业务。如果部署了多个物理机(业务),而这些物理机上的业务都比较关键,那就需要多台备机来做接管业务,造成了大量资源的浪费。而虚机HA的另一个优点就是,只需预留一份的计算资源,就具备接管多个业务的能力,极大地节约了计算资源。
这是解决业务运行可靠性(连续性)的问题,接下来还有数据可靠性的问题,即发生故障后,数据、配置如何不丢失?一方面,超融合云存储系统可以提供虚机快速备份功能,按周、按天、按小时的自动快速备份,并定期清理,如果出现不可逆转的数据损坏或丢失有备份就可以恢复。而有些更细致的业务,会精细到一小时内的数据丢失也无法容忍,这就需要依赖CDP持续保护技术,通过将秒级的IO操作进行备份,实现零丢失的数据恢复,实现业务保护,理论上可以将数据恢复到故障发生前的1秒。
(2)高效性
安防业务和普通IT业务很大的不同之处在于,高并发的业务和突发流量的业务并存(视频存储业务是7x24小时不间断,视频调阅业务是随着案事件的发生,存在突发性的)。所以为权衡这两者,提供最高效的资源分配和资源利用,超融合云存储系统设计了一套高效的资源调度系统。例如,正常情况下流媒体转发服务和点播服务不会占用太多资源,所以一开始出于节约资源的原则,就会给这些业务分配少量的CPU和内存资源。
当有案事件发生时,大量的用户开始调阅视频、调阅录像,那么流媒体转发服务和点播服务的业务就会增大资源消耗,这时系统就需要动态的给这些业务增加CPU和内存的数量。当单台设备上的剩余CPU和内存资源已不足时,系统还支持动态的将业务所在的虚机迁移到其他设备上,在整个过程中,业务并不会发生中断,客户也不会有任何感知,完全是系统在自动的情况下将业务迁移到了最合理的设备去运行,以最高效的方式实现业务的分配和调度。
(3)易用性
在有大量设备的情况下,运维一直是困扰维护人员的一个问题。超融合云存储系统需要具备基于业务的运维界面,一方面,需要提供业务快速上线功能,从虚机划分、资源分配、业务安装等都可以快速分配一键安装,使业务功能可以在最短的时间内使用;另一方面,需要提供可视化的运维以及故障管理,使运维人员能够快速发现问题、定位问题、解决问题。
二、超融合云存储功能
1.安防数据混合存储
随着前端设备所具备的智能分析能力越来越强,安防业务所需要存储的数据种类越来越多,由早期的纯视频存储形式,已经转变成视频+图片+结构化信息混存的形式。那么,如何解决在一个存储池中,既有大段的视频,又有小片的图片和结构化数据,同时要保证存储性能不降低,超融合云存储系统采用流量整形的方式,将各类数据先做一次汇聚,然后统一写入底层存储空间。对硬盘来说,每次读写,其实开销最大的就是寻道时间,通过流量整形的方式就可以将多次小段读写整合成一次大段的读写,将多次寻道改为一次寻道,从而节省了数据在写入时产生的寻道时延。
如小哥在搬家时,每件货物都单独搬上车,最后不是被货物累垮,而是被频繁的上下车累倒的。而如果小哥在搬货物前,先做一次打包工作,最终可能只需要花费两趟就可以将所有货物搬上车了。小哥的打包做法,节省的是上下车的次数,而超融合云存储系统提供的流量整形功能,减少的是磁盘频繁寻道的次数。最终都实现了效率的最大化,满足了多样化安防数据混合存储的要求(如图6所示)。
2.数据高速访问
存储了大量数据后,如何快速找出需要的数据,又是宇视超融合云存储系统面临的一大考验。传统的做法是,在一个大的索引系统里,通过查询的方式获取所需的文件所在的路径,然后再去访问相应的数据,费时费力。为什么不能直截了当的访问数据呢?超融合云存储系统考虑了这方面的问题,采用直接寻址技术,结合特有的数据存储格式,在文件名的尾端携带数据存储位置信息,使得客户端在访问数据的时候,可以直接获知数据所在的主机、阵列、硬盘的具体位置,从而快速打开所需的数据。
如图7所示,在左边的情况下,如果只是告诉小哥,我们找的是2号货架的2号手套,我们只能一行一行的去寻找货物,效率非常低,如果这个货架是100行100列的大货架,所需时间可想而知。那么,我们在告诉小哥取货的时候,直接告诉他去取2号货架第3排第1个货物就不会存在这个麻烦了,可以很快的找到所需的货物。直接寻址的做法和小哥的做法一样,都是直截了当的找到所需的数据,免去了中间查找的过程,缩短了访问的时延,提高了访问的速度。
3.数据智能分析
前端设备每天都在产生大量的数据,大部分是未经处理的视频数据,还有部分是相机抓拍的照片等。这些数据中存在着人、车、物等各类信息,等待被人工或者机器提取。超融合云存储系统,由于带有智能GPU资源池,可以在这些数据进入存储时就近进行智能分析。
例如,针对前端传回的实时人脸图片,进行实时的人脸信息提取、比对,如比对到可疑人员信息,做报警处理。针对前端传回的视频数据,对于视频中的机动车、非机动车、行人等活动目标进行分类检测,同时提取目标小图和场景大图写入存储池中,便于后续快速查询检索,还能提取活动目标的结构化和半结构化特征属性信息并写入存储池中,支持结构化属性信息进行语义化快速检索目标,或通过人体特征进行以图搜人等业务。支持智能播放,将机非人目标结构化分析结果通过OSD形式叠加至实况画面中实时播放。通过视频结构化业务快速分析并提取出视频中机非人目标的特征属性信息,客户能够快速高效的获取案件相关的有用线索,实现人力的释放,促进大安防时代视频数据从“看得清”跨入到“看得懂”的阶段。
视频结构化应用中除了结构化检索外,还有半结构化检索,如针对用户提供的目标图片,需要确认其是否在结构化视频中出现,可以进行以图搜图的操作。在搜索界面上导入需要查询的目标图片,选择结构化任务的结果集,检索并返回结果,按照相似度高低排序。支持检索结果查看目标场景大图和播放包含目标的录像。
此外,还有个应用是行为分析。行为分析业务功能是对于视频中人员、物品等活动目标进行深度学习分析,按照一定的配置规则检测报警,对一些异常行为或人群现象产生报警图片并保存于存储池中,同时告警记录存在数据表中,便于后续快速查询检索统计。主要应用于监狱、机场、广场等需要做行为预警的场景中,实现管理人员人力的释放,促进大安防时代行为分析业务的快速实战化落地。
4.数据安全保护
安防数据中每一段录像、每一张人脸图、每一个车牌号都是隐私信息,一旦泄露出去后果不堪设想,所以超融合云存储系统,在完成高效存储、高效提取数据的同时,还要考虑如何让数据存得更安全,让不法分子无法窃取存储的数据。这个问题需要从数据来源、数据存储和数据使用这三个角度来考虑。超融合云存储系统要完成的就是第二个方面的处理。当数据进来的时候,通过分片的方式将同一份数据分成多片后存到不同的节点,从物理上进行了数据的分割。另外原数据信息也分片存入不同的物理节点,这样即使有用户窃取数据,也是不完整的数据,想拼出完整信息的难度犹如大海捞针。其次,数据在落盘的时候还会经过一次加密,所以在最坏情况下数据如果都被窃取了,也拼出完整的数据了,还需要有秘钥才能将数据解密出来,否则打开的录像文件将是马赛克化的,无法获取到真正有用的信息。
通过分片以及加密的方式,超融合云存储系统能够保证存储下来的数据不泄露,为安防业务的安全性提供保障。
5.第三方应用服务
安防系统中,难免会有一些业务是客户定制化的,或者客户自己的一些业务软件。这时候通过超融合云存储系统,可以快速分配一定的资源,用于安装这些业务应用,跟整体的安防系统共用一套硬件平台,无需额外再购买或者添加物理服务器。且这些应用所使用的资源在不需要使用的时候,可以随时被回收并分配给安防系统使用,不会浪费资源。