基于物联网技术的移动警务终端资源调度系统
2022-08-17徐乐姜西斌刘光耀公安部第一研究所
徐乐 姜西斌 刘光耀 公安部第一研究所
引言
近年来,移动警务终端形态变得丰富多样,传统的移动警务终端逐步扩展,执法记录仪、无人机、机器人、可佩戴类设备、车载类设备层出不穷,数据资源也扩展为语音、视频、图像、数据等,民警对于移动执法办公的需求越来越迫切,视频回传、图像回传、让数据多跑路,民警少跑腿的需求越加显著。传统的监控系统、指挥调度系统等,其管控端均依赖于Web平台,指挥调度人员需在监控室查看前方民警的实际情况,限制了指挥作战能力。
各设备间相互孤立、调度困难、资源浪费成为移动警务工作的一大瓶颈,因此,在多形态移动警务终端迅猛发展、5G通信网络普及的双重驱动下,实现移动警务的资源调度成为了必然结果[1]。
一、系统架构
(一)系统概述
该系统是基于物联网技术的移动警务终端资源调度系统,实现了资源回传和远程调度功能。一方面,系统可将多形态移动警务终端采集的数据,实时高效的回传至民警的移动警务终端,使民警真正具有“千里眼”“顺风耳”,可实时查看图像、文本等信息;另一方面,民警可通过移动警务终端,随时随地远程调度有采集功能的多形态移动警务终端,使民警办公更灵活、更便捷,实现协同作战。
系统架构如图1所示,系统主要包括采集侧、用户侧、资源调度系统三个部分。
1.采集侧
采集侧即为多形态移动警务终端,运行于联网服务子平台或移动互联网服务子平台,用于接收由资源调度系统转发的用户侧控制信令,采集并推送视频流、图像信息、文本消息、音频流等,终端类型如AR智能眼镜、警务机器人、摄像头、智能手环、执法记录仪、可穿戴设备、无人机、移动警务终端等。
2.用户侧
用户侧即为移动警务终端,运行于联网服务子平台,一方面用于民警查看采集侧推送的各种数据消息及预警信息,另一方面可远程发送控制信令,实现远程调度的功能,主要包括统一认证、应用保活、密码保护等,终端类型如移动警务手机。
3.资源调度系统
资源调度系统即为系统的核心部分,基于Jetlinks物联网基础平台,为采集侧和用户侧提供消息路由转发功能,实现数据交互。主要包括设备接入网关、系统管理、事件总线三个功能模块。
(1)设备接入网关:负责系统侧统一的设备接入,包含网络组件、协议解析等。设备接入时,由网络组件接收请求报文,由协议解析将报文映射为系统统一的消息类型,然后推送到事件总线。
其中协议解析支持自定义协议和系统默认协议,规定了消息解析规则,可将设备发送至系统的消息解析为系统统一Topic,也可将系统下发给设备的消息解析为设备支持的格式类型。
(2)系统管理:从用户管理、终端管理、安全管理、授权管理等多维度实现系统的安全管控,确保双向业务数据的安全摆渡、可追溯、可审计,特别是将关键业务数据发送至民警终端时,确保民警、终端均安全可靠,均在后台授权管理,同时数据需经过脱敏处理,采用加水印、加解密、签名验签、分级显示、黑白名单等方法,避免数据被恶意篡改或泄露。
(3)事件总线:基于Topic和事件驱动,负责进程内的数据转发。事件总线是一个基于发布/订阅模式的事件传递组件,通过解耦发布者和订阅者之间的调用,降低设备接入网关与后续业务逻辑之间的耦合,发布者将数据经设备接入网关发送至事件总线,由事件总线转发/广播至已订阅该Topic的订阅者[2]。
(二)关键技术
系统基于Jetlinks物联网基础平台,采用Java8、Springboot、Webflux、Netty、Vert.x等开发,是一个全响应式的资源调度系统,通过响应式编程、事件总线、多协议适配等技术解决了关键难题。
1.响应式编程
系统中会有很多耗时任务,比如网络请求(甚至是跨网请求)、复杂计算、接口异常引起的超时等,导致接口响应延迟,如果采用传统函数编程模式,等待任务执行完再继续执行,则会造成系统阻塞,严重影响系统性能,采用传统的异步编程模式,则只能解决单一的事务异步处理,对于复杂的多事务异步组合型回调问题无法处理,因此系统采用响应式编程框架,可以协调多个异步任务,解决耗时任务造成的系统阻塞问题[3]。
系统从网络层到持久层全部封装为非阻塞、响应式调用,先构造一个流以及处理流中数据的逻辑,当流中产生了数据(发布、订阅),才会执行构造好的逻辑,具有如下四个特性。
系统选用主流的Reactor作为响应式编程框架,Reactor提供了强大的API,简化了对数据各种处理方式的复杂度,通过订阅和发布数据流中的数据对数据进行处理,提高了系统的计算速度和响应速度。但开发过程中,响应式编程也有缺点,调试不易,异常栈难跟踪,对开发人员有更高的要求,因此可以在有网络请求、计算量大、耗时较长的方法上使用该编程模式。
2.事件总线
对于错综复杂的资源调度系统,挂载几十个甚至上百个移动警务终端(采集侧和用户侧),设备产生的事件种类繁杂、格式多样、交互任务繁重,需要能准确的将数据路由到接收端。因此,该系统采用事件总线作为数据交互媒介,有效降低了代码的耦合度,准确将采集侧的数据摆渡到用户侧,将用户侧指令下发到采集端。
事件总线是基于观察者模式构建的,观察者模式是指当一个对象(被观察者)的状态发生改变时,所有依赖于它的对象(观察者)都将得到通知并自动更新。事件总线包含主题、发布者、订阅者三部分,发布者将消息发送到事件总线后,无需关注由谁消费该事件,事件总线会发送广播,将消息发送给已订阅该消息的订阅者,订阅者也无需关心由谁发布的该事件,发布者和订阅者均只需关注消息本身,避免发布者和订阅者直接通信,从而使代码更加简洁。
该系统中,发布者(采集侧或用户侧)推送消息到事件总线,并自动根据终端类型指定编码器进行序列化,系统接收到发布者发送的消息后,根据协议解析消息,并将消息转换为对应的Topic 发送到事件总线,订阅者从事件总线中订阅该Topic,并按照指定的解码器进行数据的转换和接收,发布者也可通过系统确定有多少订阅者多订阅了此Topic。
3.多协议适配
多形态移动警务终端设备协议多样化,单一的公有协议接入无法满足多形态需求,私有协议无法接入或者接入困难,严重限制了多形态移动警务终端在警务工作中的扩展和使用。因此,系统实现了多协议适配,以满足采集侧不同警用装备、不同格式数据的接入[4]。
该系统支持多协议、多形态移动警务终端的接入,在基础通信协议TCP、UDP、HTTP、WEBSOCKET、MQTT等基础上,能够根据消息头的不同,识别建立连接的多形态移动警务终端的协议类别,进行正确的编解码,满足低延时、高可靠、长连接、大吞吐、有序性、结构化、非结构化、可广播等多种不同通信场景的需求。
协议转换流程分五步进行:
(1)创建并发布产品。对于同一类型的移动警务终端,均归属于同一产品,同一产品则采用相同的通信协议。
(2)定义设备。在已发布的产品下,录入/创建待接入的设备,并根据设备以及设备接入文档(报文说明),定义设备的三种资源描述模型,并激活设备。
如表2所示,系统将设备从属性、功能、事件三方面抽象为资源描述模型,分别对应三种消息类型。采用这三种资源描述模型来对资源进行归类,可屏蔽设备的异构性,对应用提供统一的服务接口。
(3)接收报文,协议映射。设备向系统发送报文信息,系统收到终端上报的报文,使用创建产品时约定的协议包,将报文解析为系统统一的消息。
(4)发送至事件总线。将已解析的消息转换为对应的Topic,发送到事件总线。
需注意,针对不同的协议包、不同的消息类型,系统分别定义了不同URI接口和参数类供第三方调用和扩展,终端需依据标准URI和扩展参数类发送报文,从而便于消息向Topic映射。
(5)消费已订阅事件。消息订阅者可通过从事件总线订阅消息来处理这些消息。
二、应用示例
(一)通用应用架构
鉴于民警工作场景的复杂多样、地域网络建设的限制、业务场景的限制等,多形态移动警务终端多以联网服务子平台和移动互联网服务子平台两种网络形式接入,两种网络的通用应用架构如图3所示。
在业务流程上,资源调度系统由资源调度服务器、流媒体播放平台两部分组成,依托前端数据采集单元、前端数据汇聚单元、及后方的移动警务终端实现协同作战。
数据采集单元,即多形态移动警务终端,用于采集音视频流、图像、文本消息等。
数据汇聚单元,多形态移动警务终端对应的后台数据处理系统,如视频网关、数据汇聚服务器、数据处理服务器、代理转发服务器等。
网络接入控制单元,即网络接入控制器,部署在联网服务子平台,是移动警务边界安全的重要实现机制,支持扩展直连终端接入到移动警务信息网的接入控制器设备,支持桥接中继设备接入到移动警务信息网的接入控制器设备,部署于桥接中继设备中的接入控制模块,实现多形态设备安全地接入到移动警务平台。
资源调度服务器,部署在联网服务子平台,实现图像、文本、信令等短消息的数据摆渡、远程调度等主要功能。
流媒体播放平台,部署在联网服务子平台,实现音视频等流媒体信息的数据摆渡,当收到客户端发起的视频播放请求后,将流媒体信息根据客户端需要的分辨率,推送到移动警务终端,实现视频转发播放功能。
移动警务终端,即民警使用的移动警务手机,用于远程控制多形态移动警务终端,并接收其发布的数据流,实时展现在客户端,便于民警协同作战。
(二)多形态移动警务终端从联网服务子平台接入
终端从联网服务子平台接入,系统面向应用提供服务接入能力。下面通过AR智能眼镜资源调度系统进行举例说明,系统架构如图4所示。
AR智能眼镜运行在联网服务子平台,已符合安全接入规范,无需通过网络接入控制器接入。
AR智能眼镜是常见的警用穿戴设备,AR眼镜端集成了高清摄像头(单目或双目)、麦克风、耳机、微型显示屏等,通过OTG与移动警务终端连接,眼镜后台有管理服务器和流媒体服务器,指挥调度人员可登录WEB网页端,对AR智能眼镜端发起呼叫请求,建立连接后,民警眼镜端的视频可实时回传至后台网页端,并可与后台指挥人员实时通话,发送文字、图片等。
AR智能眼镜作为数据采集单元,仅有采集功能,民警实际应用中,后台指挥人员或者协作人员,不能局限于WEB端管理,还需要在移动警务终端实时获取前方民警眼镜端的视频内容,便于协作开展工作,因此需要本系统作为调度系统,将AR眼镜端的数据实时回传至后方民警的移动警务终端。
民警可通过AR智能眼镜,远距离无感采集需识别的相关信息,经过眼镜端简单的数据处理后,再将采集信息通过流媒体服务器传送至资源调度系统,通过约定的推送策略,推送至已上线并订阅该主题的移动警务终端。同时,AR智能眼镜端采集的音视频流,也可依次通过流媒体服务器、流媒体播放平台发送至移动警务终端。民警也可通过移动警务终端远程操控AR眼镜。
(三)多形态移动警务终端从移动互联网服务子平台接入
终端从移动互联网服务子平台接入,系统面向应用提供服务接入能力。下面通过门禁系统进行举例说明。监控摄像头、边缘计算终端、数据汇聚服务器等均位于移动互联网服务子平台,系统架构如图5所示。
不同于从联网服务子平台接入的移动警务终端,移动互联网服务子平台的系统终端不具备身份管理、认证、接入、管控、数据访问等安全管控机制,均需通过网络接入控制器接入联网服务子平台[5]。
门禁系统部署在受控区域的大门位置,能有效核查受控区域状况,及时发现在门口出现的情况并立即通知工作人员,确保受控区域安全,提升受控区域的安全防范系数。
监控摄像头持续采集受控区域附近的相关信息,实时将采集数据发送至数据汇聚服务器,再通过网络接入控制器转发至资源调度系统,一旦出现预警信息,立即向客户端APP推送告警。同时,摄像头端采集的视频流可依次通过数据汇聚服务器、网络接入控制器、流媒体播放平台发送至移动警务终端。民警也可通过移动警务终端远程操控监控摄像头。
三、结语
本系统作为一项基础慧警系统,基于物联网平台实现了移动警务终端采集侧和用户侧的数据转发、远程调度,优化作战方式,提升作战效率,实现勤务模式的便捷和高效。针对不同警种的业务场景和业务需求,第三方开发者可在该系统的基础上扩展丰富的应用模式,将资源调度能力应用到更广泛的业务场景中,如门禁系统、车载系统、无人机、会议安保系统等,为公安移动信息化建设提供有力支撑。