基于IOS的灾害监测系统移动终端的研究与设计
2018-06-01张德强
马 祯,王 彤,张德强
(1.中国铁道科学研究院集团有限公司,北京 100081;2.中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081)
截止2016年底,我国高速铁路营业里程已超过2.2万km,为保障列车运行安全,已建设的高速铁路均按线建设了灾害监测系统,并且已有两个铁路局建设了灾害监测系统铁路局中心系统(简称:铁路局中心系统)[1]。随着系统运行发现,现有系统存在协调组织难,信息量大,缺少便携等问题。通过调研得知,韩国高速铁路灾害监测系统已有手机APP应用,可实时掌握灾害监测及报警,当发生灾害报警或设备故障报警时相关部门可在5 min内采取行动。台湾高铁灾害监测系统也于2013年引入手机APP应用,以替代传统的无线电等通信手段,将紧急状况发生时的联系、协调时间由50 min缩短至5 min内。综上所述,亟需开展对灾害监测系统移动手持终端的技术研究以及APP的开发,以解决现有灾害监测系统存在的问题、丰富其终端、提供技术储备。
灾害监测系统移动终端设计的主要目的是缩短协调时间、简化信息量、提供可移动的应急终端和及时掌握灾害报警信息等。主要实现的功能分为灾害报警模块、设备故障报警模块和查询统计模块。灾害报警模块包括风、雨、雪、异物侵限的报警,设备故障报警包括现场监控单元设备故障报警和铁路局中心系统设备故障报警,查询统计包括风、雨、雪的监测历史数据,各类型报警的报表。
1 系统结构
1.1 整体架构
灾害监测移动终端系统结构如图1所示[2]。铁路局中心系统和手机应用通信服务器作为服务层,手机APP作为客户端。手机应用通信服务器与铁路局中心系统通过外网接口链接,达到服务层之间相互通信的目的[3]。
图1 整体架构图
1.2 移动终端系统架构
移动终端系统采用3层架构设计,如图2所示。数据层主要工作是在业务层向其发送数据请求时,判断是否需要访问缓存服务,若需要则通过访问缓存获取数据并将数据打包发送给业务层,否则将通过网络API获取数据并将其打包发送给业务层。业务层主要作用是从数据层获取数据;从展示层获取需求。展示层的主要工作是如何将数据更好的展示。
图2 软件架构设计
2 系统组成
2.1 硬件
硬件相关配置如表1所示。
表1 硬件配置
2.2 软件
软件相关配置如表2所示。
表2 软件配置
2.3 开发环境
采用React Native开发平台与X-Code开发平台相结合的方式进行开发。React Native(RN)是2015年推出的一款开源的、可跨平台的移动应用开发框架,其理念是:Learnonce,write anywhere.RN使用Javascript语言,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域[4]。其工作原理(以IOS平台为例),RN底层调用的代码还是Objective-C代码,不同的是其上层结构是JavaScript的形式告诉底层的,即RN的运行是通过JavaScript与Objective-C的交互完成的。在JavaScript与Objective-C两端都保存了一份配置表,配置表中的内容包括了对方的所有模块和方法。JavaScript向Objective-C传递ModuleId、MethodId和Arguments(即表示类、方法和方法参数)这3个元素,Objective-C在接收到这些参数后进行相应的处理,将处理结果通过回调函数传回JavaScript[5]。JavaScript与Objective-C的交互流程如图3所示。
3 系统功能
系统功能如图4所示。
图3 JavaScript与Objective-C的交互流程
图4 系统功能图
3.1 灾害报警模块
灾害报警模块为用户提供了风速、雨量、雪深和异物侵限4种灾害类型的报警推送、显示、处置、存储等功能。当用户进入该模块后,根据需要显示某一灾害类型当前报警信息以及历史报警信息(默认展示风速报警),其展示界面会为用户提供从当前时间算起近30 d的报警信息。展示顺序以先近后远的时间排序。当本软件未被运行或者在后台运行时,此时发生灾害报警,需将该报警信息以推送的方式推送到手机界面上,以便用户能够及时做出相应处理。若用户未确认该条报警信息,终端软件会在界面上提醒用户确认报警信息,此外用户还可对本条报警信息进行备注、本地删除等操作。所有的灾害报警信息都将存储于本地,以方便用户查看,存储周期为从当前时间算起的30 d内的所有灾害报警信息。
3.2 设备故障报警模块
设备故障报警模块为用户提供了现场监测设备故障和铁路局中心系统设备故障的报警推送、显示、处置、存储等功能[6],其作用与灾害报警模块大致相同。不同点在于,本模块默认展示现场监测设备故障的信息。铁路局中心系统设备故障的报警信息只展示100条数据(时间由近及远)。报警推送功能是经过系统后台评定后,有选择的进行推送。铁路局中心系统设备故障报警信息在本地只存储100条。
3.3 查询统计模块
查询统计模块为用户提供了各监测类型的监测数据和报警数据的查询功能,提供了风速、雨量、雪深、异物侵限以及现场监测设备在某一时间段的报警信息汇总,时间提供了周、月、季度和年4种选择模式,提供了关键词搜索功能以方便用户能够快速找到需要的信息。
4 数据流程
4.1 灾害报警流程
灾害报警数据流程如图5所示。当有灾害报警或灾害报警解除发生时,灾害监测系统铁路局中心系统会将该信息发送至手机应用通信服务器,手机应用通信服务器则根据数据类型,向不同的业务终端发送该信息。终端在接收该条信息后,先向灾害监测系统铁路局中心系统发送自动确认接收回执,然后根据终端软件的使用状态进行推送和显示,并将该条信息存储到本地。用户在确认本条报警信息后,终端会向灾害监测系统铁路局中心系统发送用户收到确认信息。当铁路局中心系统未接收到终端自动确认回执时,会再次发送本条信息。
4.2 设备故障报警流程
设备故障报警数据流程如图6所示。当有设备故障报警或报警解除发生时,灾害监测系统铁路局中心系统会将该信息发送至手机应用通信服务器,手机应用通信服务器首先根据数据类型筛选出需要向哪几类业务终端发送该条信息,如果本条信息为报警信息则会对其所携带的故障信息进行故障等级、类别评定。终端在接收该条信息后,向灾害监测系统铁路局中心系统发送自动确认接收回执,根据终端软件的使用状态以及故障等级、类别选择是否推送,或显示并将该条信息存储到本地。用户在确认本条报警信息后,终端会向灾害监测系统铁路局中心系统发送用户收到确认信息。当铁路局中心系统未接收到终端自动确认接收回执时,会再次发送本条信息。
图5 灾害报警数据流程
图6 设备故障报警数据流程
4.3 查询统计流程
查询统计数据流程如图7所示。当用户发送查询请求时,终端软件先判断数据类型是否为报警类型,如果是则调用本地数据服务,否则向铁路局中心系统发送请求,铁路局中心系统接收到请求后发送相关数据。终端接收到数据后自动确认接收,当铁路局中心系统未接收到终端自动确认接收回执时,会再次发送本条信息。
图7 查询统计数据流程
5 结束语
基于IOS的高速铁路自然灾害监测系统移动终端现已通过高速铁路自然灾害及异物侵限系统实验室测试,在该实验室已正常稳定运行45 d,并进一步优化与改进了移动终端的界面运行速度。基于IOS的高速铁路自然灾害监测系统移动终端的实现,不仅为高速铁路自然灾害监测系统提供了相关的技术储配,而且在很大程度上提高了响应速度,缩短了协调时间,为保障高速铁路的安全运营增添了一份保障。
[1]中国铁道科学研究院. 高速铁路防灾系统调研报告[R].北京:中国铁道科学研究院,2017.
[2]王 瑞,喻麒睿,王 彤. 高速铁路灾害监测系统优化升级[J].中国铁路,2013(10):17-20.
[3]武明生,王 彤,王 瑞. 高速铁路灾害监测系统接口方案研究[J].铁道运输与经济,2015,37(12):72-76.
[4]王利华,魏晓军,冯诚祺. React Native入门与实战[M].北京:人民邮电出版社,2016.
[5]阙喜涛. React Native跨平台移动应用开发[M].北京:电子工业出版社,2016.
[6]王 彤. 高速铁路防灾安全监控系统研究与开发[J].中国铁路,2009(8):25-28.
[7]姚洪磊,刘江川,王 彤. 高速铁路自然灾害及异物侵限监测系统信息安全架构设计和研究[J].铁路计算机应用,2015,24(2):52-55.