基于微服务架构的校车安全管理系统设计与应用

2018-08-15 08:02雷晓玲章民融
计算机应用与软件 2018年8期
关键词:随车校车车辆

周 丹 雷晓玲 章民融

1(上海市教育委员会信息中心 上海 200003)2(上海辛诺信息技术有限公司 上海 200235)3(上海市计算技术研究所 上海 200040)

0 引 言

近年来,校车安全相关事件不断出现在公众视野,2012年3月28日国务院第197次常务会议通过并予公布《校车安全管理条例》。根据条例的要求,学校要制定完善校车管理的制度、措施,建立校车安全事件处置预案,明确相关岗位教职工预防和处理校车安全事件的职责;要加强校车管理方方面面的建设;各校要及时发现、调查处置校车管理存在的隐患,避免和防止上下学和外出活动的校车事故。

上海市目前仍然缺少对于校车相关信息进行管理的信息化工具。希望通过项目的实施,以信息化为基础,实现对分散在全市的近1 500辆校车的严格管理、动态管理和长效管理,可以减少和避免意外事故的发生。通过校车安全管理系统建设,能使学校的校车管理数据实现集中的采集、共享和管理。

1 系统需求分析

使用安全可靠的信息采集方式来监控、追踪、识别车辆并记录乘车学生信息,获取车辆行车路线的追踪和车内影像信息,实现安全信息预警和报警,深化校车运行安全考核,建立黑白名单等措施。对校车的保养状况、合同等进行管理。在市级的GIS平台上开发校车定位与跟踪功能。具体功能如下:

司机和车辆信息管理:随车老师可以记录出车的车辆牌照、司机姓名、性别、驾驶证号、车辆的维护记录、租赁的运输公司、合同、服务水准等信息。司机和车辆信息可以通过二维码进行维护,随车老师打开APP扫描二维码即可快速获取司机和车辆信息,随车老师进行确认。

行车信息管理:系统设置发车、学生上车、学生下车、达到、紧急事故等按键,随车老师可以一键点击记录行车过程中的动态信息。其中学生上下车时,可以由随车老师维护上下车的学生信息,也可以通过扫描学生的二维码获取信息。按钮点击之后,系统后台会自动获取当前的时间和GPS信息,并保存到系统中。

乘客核对与通知:由于系统中维护了学生的上下车信息,随车老师也可以随时核对应该坐车的名单。如果有学生迟到,随车老师也可以通过APP中维护的家长联系信息直接联系家长。

行车路线管理:系统中维护校车行进的标准行程,在实际行驶时,通过GPS功能系统会随时记录车辆当前所在的方位,在地图上标识出动态的行进路线。并可以实时查看预设路线和实际路线的偏离状况。

车内视频监控:校车内的视频监控系统可以实时记录下校车内的影像资料,如果发生校车安全事件,可以对影像资料进行备份和存储。

事故上报和处理:校车相关事故上报,包括学生的伤害情况进行上报。支持图片、视频、语音等,事故上报后按既定流程流转到各个环节批示处置。并对事故发生类型、处置过程、处置结果、损失、学生伤害情况等进行总结。对有典型意义的事故编辑成案例,对图片、视频、语音文档等进行归档管理。

随车老师APP:开发安卓和IOS版本的手机APP,功能包含发车登记、上下车登记、联系人查询、事故上报和处置、视频会议、查询和汇总等。

2 微服务架构介绍

微服务架构是近年来流行的一种架构,核心思想是将一个大型的、复杂的应用,按照业务需求的独立性和重复使用的频率分解为多个小的应用,每一个小应用都只关注与完成自身的功能要求,都可以独立地部署,应用和应用之间是松耦合的,小应用可以通过RPC或者API等方式进行通信或者被调用。而且分解出的每一个微服务,都可以单独交给不同的开发团队来开发,开发团队可以自己选择开发技术,只需要保证每一个微服务都提供API服务,实现服务之间的通信。在本次项目当中,为了避免混乱和降低后续维护成本,只采用Java技术。

采用微服务架构,从业务功能上来讲,将复杂的大型应用分解为多个微服务,保持了功能的完整性,又解决了原系统的复杂性;从技术开发角度,可以分解给到多个团队并行开发,每个团队可以选择自己熟悉的开发技术,而且由于小模块化了,后续有新的技术时,可以按照模块逐个替换和升级;从部署的角度,每个微服务都是独立部署。这样就不再需要协调服务部署的时候对于其他服务的影响。

3 系统总体架构设计

整个系统总体设计思路是采用微服务架构,在我们这个项目中,会涉及到五大应用,这五大应用初看似乎完全不同,但细细分析,其中有很多组件是可以复用的,甚至可以在未来的应用中重用。

微服务架构分为两层,底下一层是根据五大应用综合分析、抽象出来的各种不同的服务。每一种服务都完成了对某一种特定资源的操作,对于这些服务,我们又称之为元服务,即提供服务的最小单位。比如基础信息管理服务完成了跟基础信息有关的服务,包括校车的基本信息、设备的基本信息等。它所提供的服务有基本信息录入、基本信息查询、基本信息修改、基本信息删除等。同理,视频监控服务操作的资源是监控摄像头和监控录像;乘车信息服务操作的资源是乘客,包括学生和随车教师。这些元服务足够精细,因此重用性得到保证。安全管理微服务总线是所有元服务接入的统一平台,同时微服务总线也需要将接入的元服务进行进一步的装配,实现某一特定的业务功能。这种装配工作是通过图形化开发工具进行。经过装配的服务,还可以再次组合,从而逐层构造出复杂的业务服务接口供上层使用。

复合应用层是针对某一特定应用实施的,包含了特定的前端页面,以及这些页面对后端服务的调用。由于复杂的业务逻辑都已经由服务层实现,因此复合应用层就无需考虑这些业务。其在实施时的关注重点是用户体验。

在复合应用层开发好的前台页面将按照市教委统一门户的要求,嵌入到门户平台中。其系统架构图如图1所示。

图1 系统架构图

4 功能模块设计

校车安全管理系统具备对学校的校车基础信息、运行信息、乘客信息、相关事件信息集中收集、管理、整合功能,从而帮助建立信息完整、内容丰富的校车管理资料。校车安全管理系统应以统一标准、统一流程、统一管理为原则,建立统一的信息标准化处理方式、建立统一的信息发布流程、建立统一的信息流转机制,以满足上下级之间、同级之间信息流转的需求。其功能结构图如图2所示。

图2 详细功能结构图

针对其中的部分核心模块说明如下:

司机信息管理:含司机清单、司机资质、司机资历、司机体检记录,司机所属租赁公司、司机所属的学校等信息的采集。

车辆信息管理:含车辆清单,车辆保险信息、车辆保养记录、车辆大修记录、车辆二维码、车辆性质(租赁、学校自购等)。

租赁公司管理:租赁公司清单、租赁公司资质、租赁合同文本,往期合同执行情况与评价。

乘客基础数据:对每个随车老师、乘车学生记录二维码、IC卡等方式的身份识别数据,数据来源部分通过接口获取,部分人工维护。

日常路线管理:校车的上放学标准行驶路线、主要停靠站点记录,车载LED显示器上也会显示器相应的地点,车载拾音器会及时播报到达的站点及下一站点名称。

学生信息:车辆乘坐的学生、随车老师及各站点上下车信息记录,并通过无线传输技术传到系统平台,让家长和管理员及时知道学生是否安全上下车。

图9表明:产品为纯七钼酸铵,无杂质物相。图10表明:七钼酸铵中值粒径为12.36μm,粒径分布较均匀,分布范围较窄。

计划路径与GIS地图:根据学校提供的计划路线主要停靠点信息,将校车行驶的标准路径GPS信息在四维地图上标识出来,并开发维护界面给学校进行地图路线拖拽调整。

偏离路线报警功能:管理者可以对车辆的运输行驶路径设定规定的行驶路径范围,一旦超出设定的路径,则系统会自动提示报警。电子围栏分为驶入设定区域报警和驶出设定区域报警,偏离营运线路报警设定的限值为半径0.1 km。车辆违章越界行驶记录都会在系统中自动记录。

事故上报:当发生安全事故时,使用安全管理平台,校车事故上报,上报现场学生的伤害情况。支持上传图片、视频、语音等。

5 系统实现

5.1 校车GIS信息采集

目前学校的校车都已经安装GPS信息收集仪器,该系统采用ARM926 400M处理器AT91SAM9X35+H.264媒体处理器GM8180的双核结构,内嵌自主裁剪的LINUX操作系统。

目前GPS可以精确定位,但也存在定位盲区。可视卫星数量少于4颗或进入大楼时, GPS不再有定位功能。特别是车载环境下, 多径效应较严重, 即使不进入隧道, 遮挡物及车速都是造成定位失效的原因。

为此,引入了惯性导航技术(Dead Reckoning),该技术采用加速度惯性陀螺及增强卡尔曼滤波算法EKF(ExtendedKalmanFilter),盲区问题已经得到很好的解决,即使在大楼或隧道深处等区域,GPS依然能准确定位。

加速度惯性陀螺或车轮转速脉冲传感器采集实时及历史加速度信息,惯性导航基于一个简单的准则,即加速度在时间上的积分确定位移,纵横位移确定方向。对GPS定位信息并不是简单的修正,而是采用扩展卡尔曼滤波方法EKF对环境和速度位置等动态变化引起的各种误差进行实时修正。

通过对EKF建立动态观测方程对误差进行实时修正的联合卡尔曼滤波;EKF观测方程可简单表达为:Z=H·X+V。其中,X为状态变量、H为观测函数、V为观测噪声,Z为定位输出,只要设计合适的状态更新策略,可以实现精确估计。动态的含义是,在GPS信号质量好和差时,或根本就没有信号时,滤波系数会根据状态方程动态调整。该方法常应用在舰船和飞机导航、目标跟踪等领域。EKF具有其递推算法简单、数据存储量小和实时性好等特点。

同时,校车随车老师会随身携带装有校车管理APP的手机,由于校车与手机的GIS信息一致,通过采集手机GIS定位信息,也可以定位到校车当前的位置。系统同时收集这2类数据,以校车GPS信息为主,当校车GPS信息无法获取时,同样也会参考APP收集的GPS信息。

车载GPS信息收集仪器一般每10 s上传一次位置给所属单位的后台服务器。校车GIS信息采集子模块分别连接各校车所属单位的后台服务器,获取GPS信息。接口以Web Service为主,若对方无法提供Web Service接口的,则定制对接方式。本子模块最终提供给上层服务的接口统一为Web Service类型。

校车管理APP同样也是10 s上传一次数据,该数据将直接传输到本子模块所在服务器。上传接口将使用Web Service接口实现。

数据获取后,统一保存在本服务所属数据库中。在线数据库保存90天内的GPS数据,超过90天的数据将移至历史数据库中。

5.2 校车视频监控数据采集

校车视频监控数据通过车辆上安装的无线车载终端经过4G网络可以上传到视频文件系统服务器上,学校安全管理中心系统通过接口可从视频监控系统获取监控录像。针对可能存在部分的校车无法通过4G网络进行实时视频传输的情况,我们会首先完成与视频监控系统的接口开发工作,后续校车设备升级后可以将实时数据传输到视频服务器上,我们即可以通过该接口获取实时的视频数据。

5.3 PC端应用技术实现

PC端应用将采用HTML5+Javascript开发,整体页面设计将采用响应式设计,采用Bootstrap兼容框架,通过页面栅格兼容各种分辨率的桌面和移动设备的显示器。

5.4 移动端应用技术实现

移动端应用采用Ionic开发框架,并且采用同样的发布方式同时生成下载移动应用的二维码。用户使用移动设备扫码二维码后,将安装或更新设备上已经安装的应用。

为了支持离线浏览和使用,本系统将采用移动端SQL Lite作为本地数据的临时存储。在网络连通时,移动应用将下载必要数据到本地设备,以便网络不通时使用。用户提交数据时将检测网络是否畅通,如果网络不通则将数据保存到本地临时存储,网络连通时再上传服务期。本地临时存储的敏感数据将进行3DES加密,保证敏感数据的安全性。

根据系统需要,移动应用将需要获取移动设备的部分权限,包括摄像头权限、GPS权限等。用户在使用移动设备记录学生上下车信息以及其他相关信息时,移动应用将自动获取当前GIS位置信息,并同时记录到服务器数据库中。

6 结 语

基于微服务架构的校车安全管理系统在上海市学校安全管理中心建成运行以来,在上海市第四聋哑学校等单位进行了广泛应用。在实践中,校车行驶经过长江西路隧道、龙耀路隧道等长度在4~5 km左右的黄浦江江底隧道时,也能够根据GPS定位修正算法计算出位置,并且在能够获取GPS信号后,几乎无缝进行信号的切换,提高了校车数据采集和处理的效率。

管理部门或责任方通过访问基于微服务架构的校车安全管理系统,查看车辆的实时位置、车内的实时监控以及学生的上下车信息,可以对校车的运行安全情况予以判断,及时对校车运行管理工作进行指导。系统为校车运行管理人员提供了一种方便有效掌握校车实时状况的途径,对校车的安全管理提供了有效保障。

随车老师可以通过基于微服务架构的校车安全管理系统,可以实时上传各个站点的上下车学生信息,与校车乘坐计划进行比对,及时发现异常状况并于家长进行联系确认。

同时,为教育主管部门、学校总务、随车老师提供了一种方便的途径,查看校车的实时位置、车内的实时监控和每一站乘坐的学生信息,改变了以往在事件发生后进行追责的工作方式,使得校车安全管理工作更加及时、有针对性。而且采用了微服务架构,待以后新功能不断增加时,可以实现近乎线性的扩展,大大提升了系统的健壮性。

猜你喜欢
随车校车车辆
校车
坐校车
1~7月,国内随车起重运输车市场分析
乘坐校车十注意
车辆
冬天路滑 远离车辆
随车起重机的优化分析
2015年1~11月,随车起重运输车两极化发展日趋明显
提高车辆响应的转向辅助控制系统
2014年一季度我国随车吊市场分析及全年展望