份验证、用户获取媒体流时的身份验证和媒体流的播放。
本系统采用分层架构的设计,使前后端数据交换、业务逻辑、数据存取操作充分解耦。具体层次从上到下为:数据交互接口层、业务逻辑层和数据访问层。其中,数据交互接口除了服务于表现层,还同时服务于与本系统配套的便携式智能监控设备APP。以Java的Web框架为开发的主要技术手段,Web页面为嵌入JavaScript的静态网页,其中位置监控页面使用了高德地图的JavaScriptAPI,而视音频监控页面则使用Flash开发从而具备使用RTMP协议从流媒体服务器获取并播放视音频流的能力3;数据交互接口则采用Servlet实现。
f龙源期刊网httpwwwqika
comc
2用户管理和设备管理功能的设计与实现用户管理和设备管理的核心是实现位置数据资源和流媒体资源的用户隔离和设备隔离。用户间通过注册时提交的用户名和密码实现隔离,而设备则根据硬件ID和SN号实现隔离。用户通过APP提交用户名和密码,如果用户名合法并未被占用则注册成功。当用户通过Web页面登录成功后,其身份信息会存储在sessio
中4,当用户试图访问位置监控页面和视音频监控页面时,系统都会检查sessio
中的身份信息,以确保只有合法的用户能访问上述2个页面,并确保该用户只能访问当前登录账号下绑定的设备的监控视音频流。设备的注册和登录则须基于用户在APP端的成功登录,且需要提供硬件ID和SN号进行身份验证,其中硬件ID通过APP从设备端取得,而SN号则在设备注册过程中由本系统生成并下载到设备中持久化。当用户在APP端登录成功后,设备首先向本系统的设备数据交互接
f龙源期刊网httpwwwqika
comc
口提交硬件ID号和SN号尝试登录,系统的设备数据管理业务逻辑通过查询ID和识别SN确认设备是否已经注册,如果设备未注册则根据SN号生成算法获取设备SN号,并将设备硬件ID和SN号以及所属用户ID通过数据访问层存储到数据库中,同时将SN号反馈给设备,设备根据反馈再次发起登录请求,从而完成设备的注册和登录过程。
3位置监控功能的设计与实现
位置监控功能包括位置监控数据的存储、查询及转换。
31位置监控数据的存储
在位置监控数据的存储和查询方面,为了尽量减少数据库的访问量,设备数据存储管理逻辑在Applicatio
中维护一张用户和设备信息表,用于存储正在通过Web页面登录的用户账号及其下挂设备的最新位置信息,从而使位置实时监控所需数据不必从数据库获取,此过程的泳道图如图2所示,其中账号下挂设备的硬件ID号以ArrayList的形式存储在用户r