计算机系统应用  2021, Vol. 30 Issue (4): 46-53   PDF    
基于微信公众平台的智慧气象移动办公系统
谢丰1,2, 任兆鹏1,2, 刘延瑞1,2, 杨蕾1,2     
1. 青岛市气象灾害防御工程技术研究中心, 青岛 266003;
2. 青岛市气象局, 青岛 266003
摘要:为契合“智慧气象”科学管理、持续创新内涵, 加强气象业务系统运维管理, 提高气象业务响应能力, 进一步提升气象台业务效能, 我们利用“青岛气象”微信公众平台, 使用其API进行二次开发, 设计了符合气象台业务的智慧移动办公系统. 本办公系统在逻辑层面分为4层架构进行设计, 由存储层、技术层、应用层和用户层组; 系统整体采用B/S架构, 依托ASP.NET MVC框架, 后台使用C#语言, 前台页面使用HTML、Javascript和CSS语言进行开发. 系统主要功能包括故障工单、实时办公、电子排班、活动报名4个模块, 初步实现了气象业务及办公管理智能化. 该系统方便快捷实用, 同时具有较好的可扩展性, 有较高的应用推广价值.
关键词: 智慧气象    移动办公    API    系统设计    二次开发    
Intelligent Meteorological Mobile Office System Based on WeChat Public Platform
XIE Feng1,2, REN Zhao-Peng1,2, LIU Yan-Rui1,2, YANG Lei1,2     
1. Qingdao Engineering Technology Research Center for Meteorological Disaster Prevention, Qingdao 266003, China;
2. Qingdao Meteorological Bureau, Qingdao 266003, China
Foundation item: Scientific Research Project of Qingdao Meteorological Bureau (2018qdqxm02); Youth Special Project of Qingdao Meteorological Bureau (2021qdqxq09)
Abstract: In light of scientific management and continuous innovation in “intelligent weather projects”, we design an intelligent mobile office system in line with meteorological observatories through the WeChat public platform of “Qingdao Meteorology” (青岛气象 in Chinese) and its background API for secondary development. It aims to strengthen the management and accelerate the response of the meteorological service system, improving the operational efficiency of the meteorological observatory. The system is designed with a logic architecture consisting of layers of storage, technology, applications and users. It is built in a B/S structure and relies on the ASP.NET MVC framework. Besides, it depends on C# language in the background and HTML, Javascript, and CSS languages in the foreground. The main functions include “fault repair order”, “real-time work”, “electronic scheduling”, and “event registration”, initially enabling intelligent meteorological service and office management. Therefore, the system, with sound scalability, is convenient, fast, and practical, deserving popularization.
Key words: intelligent meteorological service     mobile office system     API     system design     secondary development    

在信息技术不断发展的今天, 新媒体平台已逐渐成为各行业用户提供信息化服务的主流平台. 微信公众平台借助微信近年来在社交软件即时通讯领域的高渗透率, 其普及率在同类型新媒体平台中占绝对优势. 气象事业作为公共服务事业, 需随时随地为公众提供气象预报预警业务, 随着气象信息现代化的发展与“智慧气象”观念的提出[1, 2], 近年来气象微信公众平台也逐渐成为气象信息对外发布的主流媒体介质之一[3]. 气象台作为气象信息处理发布的业务单位, 内部业务办公及时高效地沟通响应, 可为气象信息对外发布提供有力支撑和保障. 随着微信公众平台API开放, 结合其开发符合自身业务逻辑的智慧办公系统, 已成为企事业单位智慧办公的新趋势. 一些大型企事业单位在基于微信公众平台的业务办公、行政管理以及档案管理和业务开拓方面都已经有了较为成熟的应用[4-8]. 结合气象台实际业务办公流程, 依托气象微信公众平台, 研发实现业务系统故障及时响应、业务部署、工作安排、工作进度即时高效沟通反馈, 自动形成系统档案记录等功能的气象台智慧办公系统, 能够充分体现出“智慧气象”的特征. 将内部业务办公流程内嵌进已有的气象微信公众平台, 也是一种提高气象业务响应能力及气象业务管理效能的有效办法.

1 系统需求分析

与常规第三方办公APP相比, 为满足大部分企事业需求, 其功能涵盖过多, 页面设计繁复, 用户体验与信息数据安全性差. 结合气象台实际业务需求, 针对气象业务时效性、业务工作流程对移动智慧办公系统进行设计, 满足以下功能需求[911]:

(1)气象预报服务对时效性要求高. 作为气象预报产品制作核心业务部门, 气象台业务数据资料获取、预报分析制作依赖于气象数据传输网络、数据存储处理服务器、气象业务平台等业务系统. 结合业务逻辑, 开发系统平台故障响应功能模块, 可在系统故障时及时高效联系运维人员进行解决, 对保障预报分析制作及预报产品发布时效有着至关重要的作用.

(2)业务部署和工作安排高效沟通. 在日常办公业务中, 以传统电话信息沟通方式降低业务沟通效能, 人员工作进度及个人工作无量化记录及反馈. 开发实时办公功能模块可保障办公业务信息切实有效地传达、个人工作进度明确记录反馈, 从气象业务管理的角度提升整体气象业务效能.

(3)排班工作易出现错误. 各科室因夜班值守采取轮班制, 每月需手动排班并轮流统计绩效. 排班为重复性工作, 人工计算绩效易出现误差及延误. 开发电子排班功能模块, 根据排班规则设计排班算法, 自动化生成排班表格. 并根据岗位班次后台进行绩效计算, 实现一键排班及绩效统计, 提升业务办公效率.

(4)台务工作繁琐. 台务工作涉及台务及党员活动报名, 微信群接龙不能并发实现, 易产生遗漏误差, 且需手动统计无档案留存, 不利于台账形成. 开发活动报名功能模块, 可实现活动并发报名, 后台统计结果并形成档案留存, 提升台务工作效能.

2 系统界面功能设计 2.1 系统界面设计

主界面显示直观地分为3个部分: 第1部分为涵盖功能模块下端菜单栏, 同时设置“我的”HOME键, 可从任一级界面回到主界面; 第2部分界面中端“我的XXXX”为用户个人工作相关快捷入口; 第3部分为界面上端九宫格, 作为第1部分模块中常用功能快捷入口.

2.2 系统功能设计

以青岛市气象台为例, 经功能需求调研, 对智慧办公系统进行如下设计: 包括故障工单、实时办公、电子排班和活动报名4个功能模块[10, 12], 如图1所示.

2.3 故障工单功能

故障报修, 针对气象台市县一体化预报业务平台、国突预警平台、办公系统、会商系统、服务器、网络通信等重要业务, 在系统故障时, 由业务人员通过文字描述或拍照两种方式, 选择相应业务系统填报上传; 后台自动推送故障消息至运维人员, 直观体现实时故障信息, 提高业务系统故障响应效率, 同时形成维修系统档案. 咨询建议, 针对各气象业务平台在使用过程中遇到的问题, 或调整改进的建议意见进行归纳整合, 形成业务平台建设整改系统档案. 维修维护, 针对平台及系统开发维护人员, 将日常开发及维护工作进行记录留底, 形成开发维护系统档案.

2.4 实时办公功能

会议、事务通知, 根据人员级别设置权限, 分别放开发起、更改、查看权限, 结合时间节点、人员范围发起会议及事务通知, 设置消息已阅反馈机制. 将会议事务分别单独列出主要考虑后期会议和事务分类查找. 工作安排, 设置台长到科长, 科长到科员以及台长到科员3种工作安排方式, 可手动勾选工作任务起止日期, 添加工作进度反馈机制. 工作日志, 为个人业务工作记录, 实时编辑实时查看, 并设置关键词搜索, 可选择日期范围导出; 科长及台长可查看个人工作相关日志, 量化考核工作情况.

图 1 系统功能结构图

2.5 电子排班功能

排班设置、编辑排班, 针对科长放开权限, 排班设置根据人员岗位具体设定, 编辑排班根据排班设置的人员岗位具体排班安排, 包含一键排班和手动排班两种方式. 一键排班根据轮班情况写入排班算法, 手动排班可在其基础上根据实际情况进行具体调整, 并实时推送消息至被调整人员. 排班显示, 根据编辑排班生成月值班表分科室显示, 全台人员可见, 对当日值班人员进行高亮标示. 调班换班, 针对值班人员, 遇突发状况需要调整值班日期, 可直接点选换班人员, 实时推送调换班消息至科长, 经审批同意即可换班成功, 实时反馈至调换班人员, 同时排班表自动更新. 值班统计, 关联排班表统计每月每人值班天数, 结合科室绩效算法, 自动计算绩效.

2.6 活动报名功能

常规活动, 后台限定活动发起人(台长、科长、特殊权限用户), 放开活动发起权限, 手动设定活动起止时间及通知人员范围, 被通知人自主选择是否报名参加活动, 发起人可随时查看报名人员并进行截图或导出Excel表格. 固定活动, 后台初始化时间节点及活动内容, 发起人根据实际活动时间勾选时间节点发送通知, 设置已阅反馈机制, 被通知人同样自主选择是否报名, 发起人可随时查看报名人员进行截图或导出Excel表格.

3 系统架构及技术路线 3.1 系统总体架构

根据系统功能需求, 考虑将模块结构化技术与面向对象技术相结合. 结构化技术从功能上对系统进行模块划分, 通过程序间结构和层次的耦合完善系统架构, 使软件具有高可靠性; 面向对象OO (Object Oriented)技术将系统中数据和操作抽象成类并进行封装, 在系统实现过程中实例化为对象, 通过对象属性和行为及对象间的关系不断细化问题、完善系统功能, 使系统具有高重用性. 综合来看, 二者结合更加符合本系统开发设计的需求.

系统整体由存储层、技术层、应用层和用户层4层逻辑架构组成[11-13], 如图2所示. 存储层包括服务器部署、数据库安装、数据存储备份; 技术层, 结合微信API接口进行权限认证, 根据实际业务应用进行工作流设计, 数据库设计权限设计, 以及排班算法设计; 应用层设计符合实际业务需求的故障响应、实时办公、活动报名及电子排班功能模块; 用户层面向台长、科长、特殊权限用户以及业务工作人员.

3.2 系统技术路线

系统总体采用B/S架构[13, 14], 如图2, 通过微信公众平台二次开发接口进行业务对接. 为确保故障报修、业务工作安排部署消息及时、准确、稳定, 信息通知功能结合微信模板消息接口, 采用后台异步多线程技术进行开发. 同时使用Entity Framework (EF)技术对系统数据提供变更跟踪、唯一性约束、惰性加载、查询事务等功能, 节省开发人员在数据库访问部分的代码实现时间, 将更多的时间放到业务逻辑层代码上.

为提升用户体验, 页面显示采用HTML5技术进行开发, H5能够在移动端让应用程序回归网页, 并对网页功能进行扩展, 用户无需下载客户端或插件即可查看复杂富媒体程序, 操作更加简单, 用户体验可得到良好提升. 同时H5拥有显著跨平台优势, 其搭建站点及应用可完美兼容安卓与IOS、PC端与移动端、Windows与Linux系统. 其可移植至不同开放平台及应用平台的强大兼容性, 也能够显著降低开发与运维成本.

图 2 智慧办公系统总体架构图

系统中部分页面为了保证数据及时显示, 采用H5中新增WebSocket技术, 对比传统页面采用HTTP轮询显示的被动处理方式, WebSocket技术可在Web浏览器和服务器之间进行任意双向数据传输, 在应用和服务器进行频繁双向通信时, WebSocket可以使服务器避免打开多个HTTP连接, 节约网络带宽和服务器资源, 提升资源利用率.

4 关键技术 4.1 用户身份认证及系统安全

系统通过互联网进行访问, 保障数据信息安全至关重要[7], 系统利用微信网页授权机制对气象台用户进行安全限定, 如图3所示. 入口链接结合微信后台提供的用户接口权限进行认证, 用户进入时授权, 授权成功后台获取用户基本信息, 与内网服务器中初始化的气象台用户实际信息进行匹配, 匹配成功进入系统, 否则提示授权失败. 在此基础上, 系统利用微信公众号个性化菜单功能设置气象台内部用户办公菜单列表, 可见“智能办公”入口, 与公众所见普通预报预警页面菜单不同. 系统各类信息数据均部署于气象台内网服务器, 内网服务器与互联网之间部署各类网络安全设备, 进一步增加了系统的安全性.

4.2 消息推送流程设计

系统故障响应及实时办公模块均设置发布、反馈机制, 用户故障报修及工作部署安排, 系统自动根据所选人员, 借助模板消息功能进行信息推送. 推送信息包含具体内容提示及链接地址, 每个链接地址都采用微信网页授权技术进行用户身份识别, 点击链接地址, 系统自动记录用户查阅情况. 同时系统支持用户信息反馈, 反馈后再次利用模板消息将反馈信息推送至信息发起人, 进而实现对故障维修情况及工作部署安排进度的跟踪. 消息推送设计流程图如图4[10, 14].

图 3 身份认证流程图

图 4 消息推送设计流程图

4.3 数据库设计

数据库采用SQL Server 2008 R2关系型数据库, 根据气象台实际业务逻辑及智慧办公系统结构, 按照数据库设计第三范式进行设计. 根据系统需求分析及数据流向, 遵循系统功能逻辑层次, 系统数据模型如图5的E-R关系图所示[10, 11]. 数据表包含用户表、工单表、工单类型表、工单类型成员表、工单状态表、工单处理反馈表、实时办公通知表、通知推送成员表、通知类型表、通知反馈表、活动报名表、活动推送成员表、排班表、排班职责表、排班职责成员对应表、排班说明表、工作日志表等近20个数据表, 各数据表通过主、外键进行关联.

图 5 数据库E-R关系图

4.4 一键排班算法实现

由于业务排班规则较为复杂, 为实现一键排班功能, 逻辑实现难度较大. 参加值班人员因请假、出差、调休等各种原因无法固定, 因此排班前需先确定具体参加值班人员及具体岗位, 故系统增设排班设置功能, 对可值班人员及值班类型进行逐项设置. 以网络科为例, 具体岗位包括主班(24小时)、副班、监控班、白班, 酌情增加应急班次, 主班由参与主班业务人员按顺序进行逐日排列, 由于主班为24小时值守制, 需在考虑保证休息时间的基础上进行副班的自动编排, 同时考虑副班只需工作日排班, 副班完成后再进行白班自动编排, 需保证与主班及主班休息时间、副班均不冲突的原则, 还需考虑每人每周至少40小时工作时长这一原则, 监控班由参与监控班次业务人员按照每人连续2天的规则进行自动编排. 一键排班逻辑流[15]图6所示.

5 系统测试及功能展示 5.1 系统测试

本系统各模块设计完成后, 基于软件研发过程V模型及系统测试方法流程, 结合各部门实际应用, 对各功能模块进行了逐一测试, 以故障响应和实时办公模块为例, 设计了如表1所示测试用例.

表1可见, 测试结果与对应测试用例中的预期效果保持一致, 表明智慧办公系统个各功能模块的实现与系统建设初期设计一致, 符合设计预期和用户需求.

5.2 功能展示

系统正式开发完成后, 结合安卓与IOS、PC端与移动端等不同用户终端, 先后进行了各功能模块的分调、联调测试和单位验收测试, 测试结果表明: 基于青岛气象微信公众平台的移动智慧办公系统功能结构完善、响应速度及时、运行状态平稳、信息数据存储安全可靠. 系统各功能模块在对保障预报结论分析制作及预报产品发布服务时效, 业务部署、工作安排、工作进度即时高效地沟通反馈, 形成系统记录等方面都达到预期功能指标, 实现了从气象业务管理角度提升整体气象业务效能这一目标. 系统功能展示如图7图10所示[10, 12,15].

图 6 排班逻辑流程图

表 1 故障响应和实时办公模块功能测试用例

图 7 部分待办事项消息推送样例展示

图 8 授权界面及授权用户登录界面

图 9 故障工单、实时办公、活动报名模块部分功能界面

图 10 排班模块部分功能界面

6 结论与展望

随着气象信息现代化建设的推进, 在对外气象服务的同时, 气象台内部业务办公也需要不断进行创新改进, 贴合实际业务应用的气象台智慧办公系统的研发建设, 在业务系统故障响应、系统运维、业务工作安排部署及业务工作系统化开展方面, 对整体气象业务响应能力及气象业务管理效能都进行了有效提升.

系统于2019年底建设完成, 自正式投入业务应用至今, 根据实际应用效果反馈可以表明, 系统对气象台业务工作高效开展提供了有力支撑.

系统建设主要考虑针对气象台业务进行功能模块设计, 但其基本设计思路及主要框架, 同样适用于本单位其他业务部门及其他兄弟业务单位. 系统验收经专家论证, 建议可进行业务应用推广, 证明系统设计思路和最终业务应用效果, 达到了创新建设气象业务及办公管理智能化的目标. 下一步考虑针对业务流程细节对系统进行优化, 持续提高系统扩展能力, 以期进一步提升业务响应能力及管理效能.

参考文献
[1]
周勇, 胡爱军, 杨诗芳, 等. 智慧气象的内涵与特征研究. 中国信息化, 2016(3): 83-88.
[2]
刘莎. 智慧气象内涵及发展思路. 陕西气象, 2018(5): 37-39.
[3]
姚巍, 宫志宏, 李仁禹, 等. 气象信息微信公众服务平台设计与应用开发. 气象科技, 2016, 44(4): 571-575.
[4]
黄焕标, 陈浩. 基于微信公众号的协同办公管理系统分析与研究. 电脑知识与技术, 2015, 11(22): 59-60.
[5]
曹瑞琴. 基于微信公众平台的高校图书馆学科服务创新. 国际公关, 2020(4): 126, 128.
[6]
马盛原, 戚中良. 基于学校微信公众平台的校史档案资源开发与利用. 中国信息技术教育, 2020(Z2): 119-120.
[7]
郑炯. 某单位协同办公系统设计与实现分析. 计算机产品与流通, 2019(2): 123.
[8]
盛开霞. 事业单位办公系统与智能档案管理的融合研究. 办公室业务, 2020(5): 187, 189.
[9]
詹利群, 霍庆, 张志强, 等. 地面气象资料一体化统计加工系统设计与实现. 气象科技, 2018, 46(3): 503-508, 523.
[10]
李正仁, 周凯虎, 王全贵, 等. 基于Node. js与微信小程序的活动管理平台. 计算机系统应用, 2019, 28(12): 86-92. DOI:10.15888/j.cnki.csa.007186
[11]
张朝晖, 陈恩桃, 王罡, 等. 基于可视化工作流的高校勤工助学管理系统. 计算机系统应用, 2019, 28(11): 115-120. DOI:10.15888/j.cnki.csa.007177
[12]
陈乾国. 基于微信企业号的干部学习平台. 计算机系统应用, 2018, 27(3): 57-63. DOI:10.15888/j.cnki.csa.006221
[13]
王力, 曹锦飞. 面向气象领域的应用支撑系统. 计算机系统应用, 2020, 29(1): 99-104. DOI:10.15888/j.cnki.csa.007216
[14]
石磊, 王英明, 程子清, 等. 基于B/S架构的建筑能耗系统. 计算机系统应用, 2019, 28(10): 68-73. DOI:15888/j.cnki.csa.007092
[15]
李凌, 刘子豪. 基于微信的数据安全自毁服务平台. 计算机系统应用, 2019, 28(10): 61-67. DOI:10.15888/j.cnki.csa.007131