基于微信小程序的地震台站运维信息管理设计与实现
丁莉莎 1,2,3 ,
邵 叶 1,2,3 ,
朱杰伦 1,2,3 ,
邓远立 1,2,3 ,
黄 晖 1,2,3 ,
柯乃琛 1,2,3
1.广东省地震局,广州510070;2.中国地震局地震监测与减灾技术重点实验室,广州510070;3.广东省地震预警与重大工程安全诊断重点实验室,广州 510070
关键词: 台站运维 ;信息检索 ;信息填报 ;微信小程序
Design and Implementation of Operation and Maintenance Information Management of Seismic Station Based on WeChat Applet
DING Lisha1,2,3 ,SHAO Ye1,2,3 ,ZHU Jielun1,2,3 ,DENG Yuanli1,2,3 ,HUANG Hui1,2,3 ,KE Naichen1,2,3
1.Guangdong Earthquake Agency, Guangzhou 510070, China;2.Key Laboratory of Earthquake Monitoring and Disaster Mitigation Technology , Guangzhou 510070, China;3.Key Laboratory of Guangdong Province , Earthquake Early Warning and Safety Diagnosis of Major Projects , Guangzhou 510070, China
Keywords: Station operation and maintenance ;Information retrieval ;Information submitting ;WeChat applet
DOI : 10.13512/j.hndz.2023.02.09
备注
收稿日期:2023-02-10基金项目:广东省地震局青年地震科研基金(重点实验室开放基金)项目(GDDZY202303);广东省科技协同创新重点项目(2021B1111610008)联合资助。作者简介:丁莉莎(1989-),女,工程师,主要从事地震观测技术研究。E-mail:
dlisa2011@126.com
总结了广东省地震台站日常运维工作中的需求和建议,及现有专业设备运维管理系统的特点,结合微信小程序操作简洁和开发简单的特点,设计并研发一套供广东省地震运维专业人员使用的程序。经推广应用,该小程序能较好适应广东省地震运维工作个性化需求,能为运维人员和管理人员提供便捷信息服务。
This paper summarizes the requirements and suggestions in the daily operation and maintenance work of seismic stations in Guangdong Province, and the characteristics of the existing professional equipment operation and maintenance management system. Combined with the simple operation and simple development of the WeChat applet,a set of programs for the operation and maintenance professionals in Guangdong Province is designed and developed. After promotion and application,it is found that this small program can better adapt to the personalized needs of the operation and maintenance work in Guangdong Province, and can provide convenient information services for operation and maintenance personnel and management personnel.
引言
目前地震系统在运维管理方面形成了以国家级为主导,省级中心为技术支撑和中心站为技术主体的多级运维模式,并研发部署了系列运维平台,如全国地震监测专业设备全生命周期运维管理系统,依托该系统实现地震监测专业设备运行管理工作,包括设备运行监控与日常维护保养,规范化的维修维护流程等,该系统提供网页登录与移动端APP登录,但是APP仅适用于Android系统移动端[1] 。而广东省地震局依托“十二五”广东省防震减灾重点项目——“珠江三角洲地震预警台网”完成地震监测业务管理平台的前期开发,已实现对地震监测台站、专业设备进行“一张网”“一张表”的统一管理;实现地震台站基础信息、运维报告的信息化;实现远程实时监控地震台站供电系统、温湿度、气压、治安监控系统等;但该系统目前仅能通过网页使用[2-4] 。未来,广东省地震局也将依托广东省协同创新重点项目“综合地震监测业务智能化管理平台研发与应用”项目,开发一套支持地震行业多学科仪器设备自动化监控、智能化运维管理、生命周期管理;支持观测数据质量实时评估分析、监测业务综合决策管理和观测数据综合服务,集信息大融合、大处理、大管理、大服务为一体的综合地震监测业务智能管理平台。事实上,上述几款在运行或计划开发的运维管理系统均缺少普遍适用各种移动端操作系统的应用,而方便、简洁地移动端进行台站专业设备检索、运维信息填报是规范维修维护流程,发挥上述专业设备运维管理系统信息化、规范化的第一步,更是简化运维工作流程的关键一步。
本文在总结日常运维管理工作中的需求,及运维管理系统的功能后,结合轻量级嵌入式微信小程序功能丰富、操作简洁的优点,设计开发一套用于实现台站现场运维过程中信息检索及填报功能的微信小程序。该程序不受移动端操作系统影响,能更好地适应广东省地震台站运维个性化的需求;同时也可为专业设备管理系统、地震监测业务管理平台及运维监控管理人员提供物理隔离的运维日志数据库。
1 设计框架
广东地震运维资料检索及填报(GD运维信息管理)微信小程序实现对用户的分类管理,对用户分为授权用户与普通用户。台站信息检索内容,同时面向授权用户与普通用户,通过数据库关键词检索实现台站专业设备信息展示;运维信息填报只对授权的用户开放,授权的用户登录微信小程序进行专业设备更换等信息填报,填报信息表独立于台站信息检索表,并增设填报信息表触发台站信息检索表更新机制,实现台站信息实时更新(图1 )。这样既能保障数据安全又能实现信息展示。
2 功能实现
本微信小程序开发基于微信开发者工具,编程语言为JavaScript,程序通过wxml模板文件实现小程序用户端页面设计、简单逻辑处理、取值及展示;wxss样式文件描述wxml模板文件中的组件样式;json配置文件实现页面文件的路径、窗口等设置;js脚本逻辑文件实现与用户交互;程序后端采用数据库存储信息,并利用json数据格式实现前后端信息交互[5] 。本文据此逐步实现设计中的三个功能。
2.1 用户管理
用户管理的设计需求基于小程序用户验证上的特殊性,微信小程序不同于应用程序,无需用户名及密码即可进入小程序进行使用,为保证后端数据库的安全设置用户管理。
用户管理设置三个角色:管理员、授权用户及普通用户,三种角色拥有不同权限(图2 )。首先,普通用户无需经过用户信息授权即能进行台站信息检索。其次,专业运维人员需同时具备信息检索和运维信息上传权限,需要进行授权申请,待管理员通过申请后才成为授权用户,该申请长期有效。管理员为小程序特定用户,由软件开发团队人员担任,具有信息查询、信息填报和人员管理的权限(图3 )。
图1 设计框架Fig.1 Design framework
图2 GD运维信息管理小程序用户分类及其权限Fig.2 Classification and permissions of users of the GD operation and maintenance information management applet
用户管理功能涉及小程序两个页面;首先,用户通过名为“登录”的底部导航点击授权“微信授权登录”后进行身份验证,此时程序通过“登录”页面bindtap事件绑定wx. getUserProfile, wx.getWXContext获取用户信息,与后台授权用户数据库进行比对,当前用户不存在时,通过wx. navigateTo跳转到“申请授权”页面后通过点击“授权申请”向管理员发出申请要求并传递用户信息。“管理员”页面利用表单绑定Submit事件导入申请信息,通过bindtap事件实现允许授权和拒绝授权,其中“允许授权”将添加用户信息至后台授权用户数据库,然后删除用户缓存信息并提示;“拒绝授权”将直接删除用户缓存信息并提示[4] 。
图3 GD运维信息管理小程序“申请授权”示例Fig.3 Example of“apply for authorization”of the GD operation and maintenance information management applet
2.2 台站信息检索
台站信息检索功能用于实时展示台站专业设备信息,包括台站运维过程中经常更换的IP地址(数据卡流量传输)、设备型号及编号等,用以简化运维监控工作的同时降低信息错漏风险。
台站信息检索功能实现由前端“台站信息检索”底部导航进入页面,首先,通过picker控件滚动控制和选择中心站及台站名进行关键词选择,该设计将台站按所属中心站进行分类以方便查找;再利用“确定”按键绑定Submit事件将台站名向后端数据库发出关键词申请,后端数据库接收到申请后进行关键词匹配,检索到的相关信息通过json格式数据回传并按对应wxss样式文件在前端页面进行展示[4] (图4 ~5)。
图4 GD运维信息管理小程序“台站信息检索”流程Fig.4 The process of“station information retrieval”in the GD operation and maintenance information management applet
图5 GD运维信息管理小程序“台站信息检索”功能展示Fig.5 The function display of“station information retrieval”in the GD operation and maintenance information management applet
2.3 台站运维信息填报
台站运维信息填报功能首先侧重帮助运维人员实现运维过程中数据传输卡、地震专业设备更换等及时、便捷登记;并通过人员管理获取上传信息的授权用户唯一标示,跟踪每一条运维日志填报的真实日期和填报人员,实现信息溯源,保证运维信息的真实性和可靠性;也可为台站故障统计等阶段性总结或年度总结提供真实数据;还为仪器流转、仪器生命周期监控提供数据参考。除此外,设置台站运维信息填报数据库触发台站信息检索数据库更新机制,实现台站运维信息填报数据库与台站信息检索数据库同步更新,保证台站信息检索数据库内容实时有效(图6 ~7)。
图6 GD运维信息管理小程序“台站运维信息上传”流程Fig.6 The process of“station operation and maintenance information upload”in the GD operation and maintenance information management applet
图7 GD运维信息管理小程序“台站运维信息上传”功能展示Fig.7 The function display of“station operation and maintenance information upload”in the GD operation and maintenance information management applet
“台站运维信息填报”页面首先通过picker控件滚动选择需要填写运维信息的中心站及台站名,后通过后续空白表单form收集运维信息并绑定Submit事件将信息传入后端。后端接收到运维信息后第一步是验证用户信息,当未获取用户信息时通过wx.showToast弹窗提醒用户进行用户登录,而当用户为普通用户时wx.showToast弹窗提醒“未授权用户”,上述两种情况均不能进行运维信息上传。第二步进行数据库操作,包括台站运维信息填报数据库添加运维信息及更新台站信息检索数据库,填报过程中“台站名”、“运维日志”、“运维人员”及“运维时间”为必填项,如缺少信息时会通过弹窗提示;最后一步通过“上传”按钮绑定的Submit事件上传信息,上传成功后会出现弹窗“更新成功”,至此台站运维信息填报完成[4] 。
2.4 运维日志查询及下载
运维日志查询及下载功能主要实现特定时间段内各中心站运维日志的展示,及提供下载链接。可供查询的运维日志信息包含运维时间、运维人员及运维修复过程等未涉密信息,因此无需对该功能进行人员管理。实现运维日志查询及下载功能首先利用组件Picker完成时间段及中心站选择,并在时间选择设计中将查询时间限制到小程序上线时间以后,通过“bingtap”控件绑定响应事件将时间段及中心站信息传递到程序后台,在后台的js脚本逻辑文件中利用时间段和中心站作为检索信息查询运维信息数据库中相关的“运维时间”、“运维人员”及“运维日志”,通过再调用excel类库将检索信息由jason数据填入excel表内,最后调用“getFileUrl”将生成的excel表上传云端[4] ,并获取该文件有效期为1天的云存储URL下载地址。
图8 GD运维信息管理小程序“台站运维日志查询及下载”功能展示Fig.8 The function display of“retrieval and download of operation and maintenance logs“in the GD operation and maintenance information management applet
3 应用及总结
广东地震运维资料检索及填报(GD运维信息管理)小程序可为广东省地震观测网络运维过程中涉及的信息检索及填报工作提供可靠便捷的服务。该小程序自2022年5月起针对国家十五强震台网向广东省地震局广东地震台、广州地震观测站、汕头地震观测站及阳江地震观测站的专业运维团队进行应用推广,已收集包含佛山台、南沙台通讯设备及数据卡故障运维;龙华台及黄埔台恢复观测;东海岛电力故障;新会、台城、大鹏、濠江及蛇口等台更换数据采集器及传感器等数十条运维信息,上述运维日志信息登记完整,台站信息检索数据库实时更新,实际使用满足设计要求。未来我们将继续从故障信息定向推送、延时提醒等方面深入开发,为监控运维管理人员与运维人员提供更便捷实用的体验。
图1 设计框架Fig.1 Design framework 图2 GD运维信息管理小程序用户分类及其权限Fig.2 Classification and permissions of users of the GD operation and maintenance information management applet 图3 GD运维信息管理小程序“申请授权”示例Fig.3 Example of“apply for authorization”of the GD operation and maintenance information management applet 图4 GD运维信息管理小程序“台站信息检索”流程Fig.4 The process of“station information retrieval”in the GD operation and maintenance information management applet 图5 GD运维信息管理小程序“台站信息检索”功能展示Fig.5 The function display of“station information retrieval”in the GD operation and maintenance information management applet 图6 GD运维信息管理小程序“台站运维信息上传”流程Fig.6 The process of“station operation and maintenance information upload”in the GD operation and maintenance information management applet 图7 GD运维信息管理小程序“台站运维信息上传”功能展示Fig.7 The function display of“station operation and maintenance information upload”in the GD operation and maintenance information management applet 图8 GD运维信息管理小程序“台站运维日志查询及下载”功能展示Fig.8 The function display of“retrieval and download of operation and maintenance logs“in the GD operation and maintenance information management applet