APP下载

基于Hadoop的视频监控系统开发和应用

2021-08-13张立志李学文

机械制造与自动化 2021年4期
关键词:视频文件服务器监控

张立志,李学文

(1. 西安外事学院,陕西 西安 710077; 2. 西安西科安全技术有限公司,陕西 西安 710054)

0 引言

随着计算机网络技术不断发展,以通信技术、网络技术等作为平台的网络视频监控成为研究重点,并且应用范围越来越广泛。社会经济的不断发展使我国城市面貌也出现了一定的变化,对城市治安管理提出了较高的要求,城市视频监控系统成为研究重点,视频监控范围也不断扩大[1]。所以,如何使监控系统海量视频数据安全存储与处理成为安防领域研究中的重点,而云计算为海量视频数据存储与处理奠定了基础。本文提出的基于Hadoop技术的城市视频监控系统,在现代智能化监控系统发展过程中具有重要意义。

1 视频监控系统的架构

基于Hadoop的模式与城市监控需求相结合,通过4个方面进行规划建设,包括应用服务层、展示层、平台接入层、技术支撑层[2],图1为系统总体架构。

图1 系统总体架构

平台接入层:前段感知层主要包括辖区内的航道、道路、重要场所、路口等。因为各个监控点大部分都是在室外并且光线环境改变比较大的地区,所以监控点使用匀速一体球结合日夜型一体摄像机,从而保证各不同光线都能够得到良好图像质量[3]。根据H.264实现收集视频信号的编码,利用多路MPEG-Ⅱ压缩,使用视频监控联网系统安防标准实现网络传输,各个视频监控设备使用RTSP接口互联。视频流压缩编码之后封装在网络传输IP数据包,利用Internet在云资源池中上传[4]。

网络层为视频监控系统和前段监控点控制信号传输通道,使用光缆传输方式实现前端监控点,以不同地点使用就近原则,多个点共用光缆。监控位视频资源在监控中心传输,并且存储到部门机房中,利用IP视频专网和市局、分局的视频系统,构成三级视频专网[5]。在分布式监控节点虚拟机中实现流媒体服务器的安装,虚拟机实现网络带宽和计算资源的共享。利用内存映射文件技术对临时视频数据进行存储,对实时监控视频实现分辨率转码与格式转码[6]。

应用服务层:能够提供云视频的分析服务,比如车辆数据、人脸数据、视频图像、联动报警等分析服务,统一化管理视频监控数据。

技术支撑层:对不同监控点传输视频信息进行汇聚,云存储使用MySQL对非关系型数据库进行存储。

展示层:监控中心为系统主要管理部门,实施24h监控记录,主要包括管理软件、矩阵主机、电视墙等。监控中心要管理所管辖的区域,实现前段图像调看、录像、控制等,并且对远程录像文件进行备份、调看和检索。

2 视频监控系统的设计

2.1 存储接口设计

为了能够存储不同设备,本文设计存储接口调用上层软件,利用Adapter适配器模式适配不同存储设备。Adapter模式使一个类接口转变成为另外一类接口,因为具体设备可通过不同访问来实现,所以要实现统一操作。图2为存储接口具体设计。

图2 存储接口具体设计

存储模块与VOD模块中的接口利用SeorageInterface实现访问,以不同存储设备得出不同派生类即可。假如要支持另外分布式文件系统,只需要派生得出另外存储类型,在派生类中对相应存储设备进行调用。

2.2 存储管理模块

系统视频流主要对普通PC创建分布式存储集群进行存储,系统通过应用层实现云存储。云存储管理模块通过单独进程在HDFS集群中运行,平台事物中心对相应业务存储,并且直接和云存储模块交互。云存储系统属于HDFS集群中间同心建,对存储方式屏蔽,平台服务器只需要和云存储接入系统进行通信。图3为云存储总体架构。

图3 云存储总体架构

云存储服务器包括存储层、基础管理层、访问层和应用接口层。存储层为基础,包括NAS网络存储设备、SATA等。云存储系统一般实现水平扩展,在不同地方分布,利用以太网连接。基础管理层利用HDFS分布式文件系统管理基本存储设备,实现设备协同工作,使数据访问性能得到提高。应用接口层为接口部分,对基础管理层API进行访问。访问层能够实现接口层封装,系统直接利用访问层在云系统中存储数据。图4为云存储服务器层次接口。

图4 云存储服务器层次接口

2.3 录像存储模块

通过多文件块构成分布式文件系统中的录像,通常在存储接口层包括一个文件。为了能够对不同视频流进行存储,就要实现文件封装,并且在每个视频文件开始的地方设置文件原信息,对视频信息进行记录,实现接收码流的切割分片。其中的文件原信息主要对摄像机中视频信息和录像开始、结束时间进行记录。因为分布式系统内部就能够处理文件,那么要求上层直接写入即可,不需要考虑文件是否过大。

每个录像段都包含如下信息,如,录像段开始的MagicNumber能够寻找正确录像段开头,CRC校验值能够校验录像段信息,序列号指的是录像段序列标志,对网络传输过程中出现丢包的问题进行处理,长度指的是录像段大小,数据段之后MagicNumber能够结束录像段。

2.4 实时监控和历史回放

客户端在实现前端实时视频监控过程中并不是利用视频监控软件直接交互,而是与HDFS分布式视频存储服务器交互,由流媒体服务器使视频数据流在处理模块实时监控模块中发送实现的。实时监控模块和HDFS分布式存储服务器master数据接收部分是利用TCP/IP协议实现通信,并且得到空闲slave,然后利用监控视频的存储部分和转发模块创建连接。实时监控模块得到空闲slave信息之后,利用TCP协议对此节点发送请求,实时监控某个路前端采集视频,接收并请求slave确认后,利用标准RTSP实时流传输协议使此路前端收集视频数据流对实时监控部分发送,监控软件监控端能够利用网页实时监控视频。历史视频回放部分利用TCP协议和存储服务器通信,得出历史视频信息,并且对此视频slave发送视频调用命令,然后此slave通过确认之后就能够使历史视频文件利用流媒体在历史视频录像查看模块中转发,监控端能够通过web客户端对此历史视频进行播放。图5为存储端和监控端通信。实时监控流程如图6所示,历史视频回放流程如图7所示。

图5 存储端和监控端通信

图6 实时监控流程

图7 历史视频回放流程

实时视频监控由RTSP流媒体实时流传输协议、视频处理软件、转码部分等实时模块构成。在某路视频采集前端视频到了一定容量的时候,存储管理系统会重新调度存储节点,选择全新的slave节点创建监控软件的通信,从而提供视频存储服务,保证负载均衡,避免某slave持续对某路视频监控,使系统出现异常,以此使系统稳定性得到提高。历史视频调用回放要求客户能够提交请求,以用户请求在HDFS存储服务器中得到用户指定视频文件存储信息,之后以视频文件存储节点IP地址、视频文件时间、在节点中路径等信息利用master寻找存储此slave节点并且发送、得到视频请求命令,从而找到用户指定的视频文件,利用流媒体使视频到监控软件监控端回放。

2.5 数据库设计

视频监控系统数据实体信息主要包括特殊用户、各级管理员、视频与一般用户。利用MySQL数据库对数据实体信息进行管理。

首先,对用户数据库进行设计。利用字段u_group对用户级别进行记录。用户数据库包括区管理员、系统管理员、公安、小区管理员等。不同用户的级别也各有不同,有级别高的,也有较高用户权限,表1为用户数据库。

表1 用户数据库

视频数据库的设计。利用字段限定视频地域范围,比如:v_firsub指的是一级地域,是指某学校或者城市;v_secsub指的是二级地域,是指学校或者城市附属地。表2为视频数据库。

表2 视频数据库

然后,对用户访问视频数据库进行设计。既方便今后统计视频访问情况和系统访问量,还能够对视频安全性进行保证,如果视频受到恶意破坏也能够对用户进行追踪,表3为用户访问视频数据库。

表3 用户访问视频数据库

最后,是进行视频分割数据库的设计。对无损分割之后的视频块信息进行记录。表4为视频分割数据库。

表4 视频分割数据库

3 系统测试

针对本次设计的人脸系统展开实时测试,分别对于系统10004与20004类人脸分别进行系统测试,设计了共计5幅不同图像下的人脸(表5)作为运用本文设计的系统实时监控的人脸识别平均用时。测试后发现,基于Katta分布式搜索耗费时间较少,基本达到了系统预期目标。

表5 人脸图像识别用时 单位:s

4 结语

在大数据时代中,信息爆炸对传统视频监控提出了挑战。在科技不断发展的过程中,使用基于Hadoop大数据技术视频监控能够解决传统视频监控的问题。数据分析和数据挖掘技术的应用,拓展了城市频视监控的应用范围,从而保证了各个领域安全性。

猜你喜欢

视频文件服务器监控
流媒体视频文件相似性识别的方法
The Great Barrier Reef shows coral comeback
随心定制视频文件的缩略图
通信控制服务器(CCS)维护终端的设计与实现
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
PDCA循环法在多重耐药菌感染监控中的应用