APP下载

基于JavaWeb的安防监控系统服务端的设计与实现

2018-09-10李永亮

计算机与网络 2018年9期
关键词:服务端

李永亮

摘要:针对交通工具监控、儿童守护和可移动公共财产保护等安防领域的需求,提出了具备位置监控和视音频监控功能的安防监控系统服务端的一种设计与实现方法。基于J2EE技术架构和Red5流媒体架构,遵循分层架构和面向对象的设计方法,详细介绍了系统的总体框架、功能划分及系统各部分功能的实现。系统具备用户注册与登录、设备注册与登录、实时位置监控、历史轨迹查询和视音频监控等功能,为开发安防领域相关产品和服务提供了基础。

关键词:安防监控系统;服务端;位置监控;视音频监控;J2EE;Red5

中图分类号:TP311.52文献标志码:A文章编号:1008-1739(2018)09-68-3

Design and Implementation of Server-side of Security Monitoring and Control System Based on JavaWeb

LI Yong-liang(Zhongshan Polytechnic, Zhongshan Guangdong 528403, China)

0引言

由于定位技术、移动互联网技术、便携式智能设备技术的不断成熟和普及[1],具备硬件定位功能、可随时接入高速互联网的便携式智能设备,如智能手机、智能手环和智能手表等已经成为人们的日常用品,基于这种现状,面向交通工具监控、儿童(老人、宠物)守护、可移动公共财产保护等领域的安防产品和服务具有很大的市场需求。在这种安防系统中,安装了相关APP的便携式智能设备可获得其所处位置、采集到视音频信号并上传到服务端,而服务端除了存储位置信息、管理媒体流,还具备用户身份验证、设备管理与身份验证功能,此外向用户提供位置监控和视音频监控Web页面。

本文所阐述的工作包含上述安防监控系统服务端的用户及设备管理、定位数据的存储和管理、位置监控功能、视音频监控功能。

1系统功能划分和总体架构

本系统的用户可以通过APP注册账号,当用户通过APP登录成功后,如果设备未注册则自动注册并绑定到当前登录的用户账号,然后在每次定位数据更新的时候向本系统发送位置信息。此时用户再通过Web页面登录本系统,则可以查看到账号下绑定的所有设备的实时位置,还可以查询历史运动轨迹,以及查看监控画面。

从功能上划分,本系统可分为用户管理和设备管理、位置监控和视音频监控3部分。其中用户管理和设备管理包括:用户注册、用户登录、设备注册和设备登录;位置监控功能包括:接收并管理设备的位置信息、轨迹信息查询、位置信息和轨迹信息的可视化;音视频监控功能包括:設备推流时的身份验证、用户获取媒体流时的身份验证和媒体流的播放。

本系统采用分层架构的设计,使前后端数据交换、业务逻辑、数据存取操作充分解耦。具体层次从上到下为:数据交互接口层、业务逻辑层和数据访问层。其中,数据交互接口除了服务于表现层,还同时服务于与本系统配套的便携式智能监控设备APP。以Java的Web框架为开发的主要技术手段,Web页面为嵌入JavaScript的静态网页,其中位置监控页面使用了高德地图的JavaScript API,而视音频监控页面则使用Flash开发从而具备使用RTMP协议从流媒体服务器获取并播放视音频流的能力[3];数据交互接口则采用Servlet实现。

2用户管理和设备管理功能的设计与实现

用户管理和设备管理的核心是实现位置数据资源和流媒体资源的用户隔离和设备隔离。用户间通过注册时提交的用户名和密码实现隔离,而设备则根据硬件ID和SN号实现隔离。

用户通过APP提交用户名和密码,如果用户名合法并未被占用则注册成功。当用户通过Web页面登录成功后,其身份信息会存储在session中[4],当用户试图访问位置监控页面和视音频监控页面时,系统都会检查session中的身份信息,以确保只有合法的用户能访问上述2个页面,并确保该用户只能访问当前登录账号下绑定的设备的监控视音频流。

设备的注册和登录则须基于用户在APP端的成功登录,且需要提供硬件ID和SN号进行身份验证,其中硬件ID通过 APP从设备端取得,而SN号则在设备注册过程中由本系统生成并下载到设备中持久化。当用户在APP端登录成功后,设备首先向本系统的设备数据交互接口提交硬件ID号和SN号尝试登录,系统的设备数据管理业务逻辑通过查询ID和识别SN确认设备是否已经注册,如果设备未注册则根据SN号生成算法获取设备SN号,并将设备硬件ID和SN号以及所属用户ID通过数据访问层存储到数据库中,同时将SN号反馈给设备,设备根据反馈再次发起登录请求,从而完成设备的注册和登录过程。

3位置监控功能的设计与实现

位置监控功能包括位置监控数据的存储、查询及转换。

3.1位置监控数据的存储

在位置监控数据的存储和查询方面,为了尽量减少数据库的访问量,设备数据存储管理逻辑在Application中维护一张用户和设备信息表,用于存储正在通过Web页面登录的用户账号及其下挂设备的最新位置信息,从而使位置实时监控所需数据不必从数据库获取,此过程的泳道图如图2所示,其中账号下挂设备的硬件ID号以ArrayList的形式存储在用户通过Web登录的session中,而设备位置信息则以HashMap的形式存储在Application中。

3.2位置监控数据的查询和转换

本系统的用户可以通过Web页面查看设备在地图上的实时位置,也可以查询指定设备在指定时间段内的运动轨迹[5]。其中,页面显示所需的位置数据由服务端提供。服务端通过设备数据交互接口接收和响应Web页面提交的位置数据请求。由于服务端存储的是设备提交的原始定位数据,在提供给前端使用前必须进行转换使之与地图API适配。本系统采用的是从服务端的位置数据查询管理逻辑单元直接向地图API发起转换请求,并由设备数据交互接口将转换后的数据反馈给前端的策略,具体过程如图3所示。

4视音频监控功能的设计与实现

视音频监控功能主要依靠流媒体服务器对视音频资源进行管理,设备端通过视音频采集工具获取监控画面和声音后,经过压缩编码,以直播流的形式上推到流媒体服务器,而用户则通过视音频监控Web页面从服务器获取直播流,从而实现实时视音频监控。本系统的流媒体服务器采用开源的Red5服务器框架,以RTMP协议作为流媒体的传输协议,视音频监控页面基于Flash平台开发,利用AS脚本语言实现流媒体的请求和播放功能[6]。为了保证本功能的用户隔离和设备隔离,在向流媒体服务器发起请求之前,AS脚本还须先访问用户数据交互接口,在確认用户已登录后再获取该用户账号下绑定的设备名称列表供用户选择,然后根据用户选择向流媒体服务器发起请求并在获取直播流后播放,具体过程如图4所示。

5系统实现效果及技术要点总结

5.1系统实现效果

本系统现已投入使用,用户登录后可以通过主页面监控当前账号绑定的所有设备的实时位置,此外还可以跟踪指定设备的实时位置、查询指定设备的历史轨迹,并通过视音频监控页面查看车内实况,如图5和图6所示。

5.2技术要点总结

(1)本系统采用多层架构设计,其中数据交互接口层中分别实现了针对Web和APP的接口,从而使业务逻辑层与前端解耦,增强了系统的可移植性和可扩展性。

(2)利用session对象和Application对象,在内存中维护正在通过Web页面登录用户的设备信息表以及一张动态的设备实时位置信息表,大大减少了数据库的访问。

(3)在引入Red5流媒体服务的基础上,设计了视音频数据请求响应逻辑,保证了流媒体资源的设备隔离和用户隔离。

6结束语

基于JavaWeb的安防监控系统服务端是可移动安防监控系统的重要组成部分,为有安防需求的用户提供了记录设备端实时位置、管理视音频流的功能,用户可以使用浏览器访问本系统的Web页面,从而能够随时监控设备的实时位置、历史轨迹和视音频信息。采用J2EE技术框架和多层架构的设计思路,使前后端之间、服务端的各层之间充分解耦,保证了系统具备较高的可移植性和可扩展性;引入开源的Red5流媒体服务框架,使视音频信息的管理更便捷和可靠。在本系统基础上适当扩充,增加用户和设备后台管理模块、收费模块等,结合设备端,可开发出符合市场需求的安防监控产品。

参考文献

[1]杨晓哲.可穿戴设备的未来[J].中国信息技术教育,2017(Z3): 102-103.

[2]谭玉新.基于工业互联网的煤矿井下机器人导航与无线视频监控技术研究[D].北京:北京交通大学,2017.

[3]程承.基于RTMP协议的网络播出平台建设[J].科技创新与应用,2016(17):102.

[4]宋金华.Struts2框架中Session对象分析及应用研究[J].现代计算机(专业版),2014(30):41-44.

[5]张得天,王佳傲,陈飞.国内网络地图服务比较分析研究(英文)[J].华东师范大学学报(自然科学版),2017(06):85-95.

[6]刘峰.基于RED5的HLS虚拟流媒体服务器部署方法研究与应用[D].西安:西安电子科技大学,2015.

猜你喜欢

服务端
多人联机对战游戏的设计与实现
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
基于虚拟化技术的云实验平台的研究与设计