基于微信公众号平台的干部教育培训报名系统数据集成应用研究

    钱哨 李挥剑 董乾坤

    

    

    

    摘 要:党的干部教育培训工作是党的事业的重要组成部分,有别于传统国民教育和市场化培训。其中干部培训的报名组织工作是最困难的环节,这是由于培训学员流动性大、人员众多、层次多样、频次较高的特点造成的。基于微信公众号的干部培训系统研发,从培训报名的业务和数据交换模型入手,详细分析了培训报名数据集成的关键技术,包括基于微信公众号报名系统的数据安全性、消息推送技术、数据交换技术和统一权限管理技术。最后通过系统运行实证了系统的安全、可信和稳定性,对全国干训行业的培训报名组织具有很好的推广应用价值。

    关键词:微信公众号;数据集成;培训报名;REDIS;数据安全;日志跟踪;消息推送;WEBAPI

    中图分类号:TP393? ?文献标志码:A? ? ? ? ? 文章编号:1673-8454(2020)16-0086-04

    一、引言

    《2010—2020年干部教育培训改革纲要》确定了“目前干部教育培训渠道将多元化,需要加快建设干部教育培训的网络平台,推进干部教育培训管理系统建设,将干部培训学习情况纳入干部人事档案[1]”等一系列干部教育的培训改革模式创新机制,基于此,“交通运输部管理干部学院培训学习管理系统建设工程”于2017年开始建设实施,其目标是利用信息化手段实现对干部教育培训的全流程再造。

    党校/干部培训教育领域,既有别于国民教育,也有别于完全市场化的培训机构[2],其主要行业特点为:①人员流动性大。党校/干部培训教育近几年来发展较快,人员规模逐年上升,市场规模也不断扩大。一般省级规模的党校/干部学员年均培训人员都在数万人次规模,同时办班频次较高,3—5天的短训班比例较高;②行政主导与市场主导并行。党校/干部培训教育一部分是完成行政主导的培训任务,另一方面需要完成自主办学的市场主导过程,二者并存在党校/干部培训教育的办学过程中比较突出;③要求服务质量较高。参训人员职务职级一般较高,对服务质量要求较高。[3-5]

    在培训业务生命周期中,干部培训报名业务是至关重要的一环,而传统培训报名一般是通过电子邮件、传真、电话方式搜集报名信息,整理汇总成Excel电子文件,宣传渠道窄,劳动强度大,招生成本高,工作效率低,信息准确性差。基于微信公众号平台的干部教育培训报名系统与培训系统的数据集成的实现为上述问题提供了一种行之有效的技术解决方案。

    二、干部教育培训报名业务和技术模型

    1.业务模型

    如图1所示,干部教育培训报名的业务流程共分为五个部分,其中S101—S104为培训系统中的业务模块,S105为微信公众号平台报名模块,可以理解为微信公众平台的报名模块是培训系统外接的数据抓手。

    按照图1模型,基于微信公众号的培训报名业务流程主要包括:①培训计划是培训工作起始点,培训系统中的计划模块需要在年初将各类培训计划录入至系统后,形成年度各类培训计划内容,并通过管理部门下发至各培训业务部门执行。②培训计划下达至业务部门后,业务部门根据培训计划类型填报项目基本数据,生成培训项目并同时生成培训报名二维码。③依据培训项目,可以建立多个培训班次,并具体填写培训班次地点、时间、内容、费用、课程等信息。④生成的培训二维码可随培训发文下达至各单位,待培学员通过扫描二维码直接进入微信公众号的培训项目报名界面,选择具体培训班次后填报个人信息。另一方面,培训学员也可以通过关注微信公众号并注册后,搜索具体的培训班次信息内容。

    微信公众号的报名系统以月为单位展示培训项目列表信息,学员进入具体培训项目可选择该月可报名班次列表信息,选择单人、多人、导入报名方式,填写报名信息并提交。系统支持取消或修改报名信息。

    2.技术模型

    网络构架层面,培训系统部署在培训单位私有云环境下,主要完成培训业务的全生命周期;而微信公众号是部署在公有云环境下的独立报名系统,与培训系统之间是数据集成与交换关系。

    数据层面,培训业务数据是典型的关系型数据库,培训计划、项目、班级、学员之间的ER关系已经确定并成库,因此对应的微信公众号平台下开发的报名系统,其项目、班级、学员之间的ER关系需要与前者相一致[6],关键技术结构如下:培训项目、班次信息需要在培训系统外网接口上发布WEBAPI接口[6-8],通过AES数据对称加密的格式进行发布,调用接口时验证调用方是否注冊生效来判断是否下发数据接口,其中API调用包括:数据加密要求,AES;数据格式形式,JSON;数据传输形式,在线服务接口;数据传输频率,使用消息的模式及时推送并获取[9]。

    通过WEBAPI接口的数据集成关系,可以实现班次同步接口,由培训管理系统推送,公众号程序接收,单向传输,支持增、删、改;可以实现学员同步接口,现有公众号报名的学员,公众号程序推送,培训管理系统接收,单向传输,支持增、删、改;可以实现学员报名程序集成多人报名,培训管理系统学员报名集成多人报名程序,通过传递班次编号、班次名称,链接的形式集成。具体逻辑关系参照图2所示。

    三、培训报名数据集成关键技术研究

    1.数据安全性关键技术

    鉴于学员报名数据安全性考虑,首先需要在系统数据交换前对数据进行加密工作,采用的是AES数据加密算法。本次AES数据加密专指库外的数据加密,可有效减轻数据库服务器加/解密钥负担,同时数据交换服务器可将密钥与临时性数据分开,数据的传输过程中数据可信度增强。通过JAVA开发类库调用“AES/ECB/PKCS7Padding”对称加解密[10-12],形成交换数据的I/O关系可实现数据交换前的加密过程。其中重点为:①对数据库中的索引数据项不要实施加密;②对数据库中的主键和外键不要实施加密;③对于需要进行计算的数据项不实施加密。[9][10][13]

    另一方面是在数据交换前需要在WEBAPI中设置应用的唯一标识AppID,其中包含了数据发送方的AppKey(数据加密前的公匙,相当于账号)和AppSecret(私匙,相当于密码),以及token:令牌(过期失效)。数据发送端服务器向数据接收端服务器请求授权时,需要带上AppKey和AppSecret(需存在服务器端),数据接收端服务器将验证AppKey和AppSecret在DB中有无记录,如果有则生成一串唯一的字符串(token令牌),数据发送端服务器再返回给数据接收端服务器,只有合法的token令牌才能进行交换,以确保数据的安全性。同时AppID与AppSecret换取的令牌超时时长为7200秒[9][10],超时后需要再次换取才允许通信。最后是需要在WEBAPI中指定接口仅针对固定IP开放,其他非法IP无法访问。

    2.消息推送的关键技术

    学员在微信端注册个人信息成功后,将向消息服务器发送一条新增学员的消息。收到当前消息后,消息服务器将立即推送给所有订阅了消息服务的系统。培训系统接口配置中因订阅当前消息,会及时收到此消息,根据新增消息类型判断当前自身是否有通讯令牌,如果有令牌并且没有超时的情况下,培训学习平台会直接带着令牌并携带消息中新增学员的ID去微信公众平台获取相关的学员信息;如果令牌已经超时,培训系统会重新获取令牌后,再次去获取当前新增的学员信息。[16][18]

    如果学员在微信公众平台取消了报名,当取消成功后,也会立即推送一条删除消息到消息中心,此时订阅消息中心的培训系统收到消息后,根据消息类型和学员的ID,执行培训学习平台的学员删除。

    上述的数据集成交互业务的技术是基于kafka的消息发布/订阅模式,kafka具有低耦合、可靠投递、高并发、容错性、异步处理等特点,可以将消息快速并及时地推送到第三方系统。

    3.数据日志跟踪关键技术

    微信公众号报名系统会将系统中所有相关的程序代码根据日志的级别(普通信息、警告信息、调试信息、错误信息)进行记录,日志内容包括操作时间、操作人、操作的内容、当前数据情形。

    数据日志的跟踪关键技术是通过Log4j开源项目日志管理项目,它提供了便捷的分类的日志记录(包括ERROR、WARN、INFO、DEBUG 四种常用级别),详细记录每种操作的日志以及级别,配合Linux运维可以快速定位每一步的操作,以及数据的流转与系统的当前运行情况,分析消息的内容来判断当前系统的情况,以及操作人和操作的当前数据情形,快速排查并分析问题。[19]

    4.数据交换REDIS缓存关键技术

    微信公众号报名系统面向全国用户使用,存在很高的并发量,因此为减少数据库的吞吐量需要把大量数据进行缓存操作。如读取某报名项目信息操作,当第一个学员读取时,系统将返回给该学员报名项目信息并同时放入缓存中。待其他学员访问时,直接将缓存报名项目数据快速传输其他学员。如有交换过来新增报名项目,系统发现后将立即更新缓存,使缓存为最新数据。[19][20]

    该功能实现的关键技术是REDIS,其本身具备速度快,支持丰富的数据类型,并且支持事务,同时REDIS具务数据的持久化,这样即使服务器出现异常宕机重启也会保证数据不丢失。

    5.统一权限管理关键技术

    微信公众平台的后台有新闻通知等各个模块,但是对于各个模块的操作人是不同的,因为系统本身定义了相关的角色,并将角色赋予相关的用户。当用户登录时,系统会自动获取当前用户人员的权限与角色,只有符合同样角色与权限的用户才可以操作相应的角色与权限的功能,保证系统使用上的安全。

    统一权限管理的关键技术是SHIRO,是一个强大且易用的JAVA安全框架,执行身份的验证、授权、密码和会话的管理,并具备了丰富的API接口。

    四、结语

    经报名系统后台数据查询,基于微信公众号平台的培训报名系统于2019年度7月份至12月份完成报名人员共计3394人,涉及72个培训项目、143个培训班。报名人员涉及全国所有省份,不少来自于西部欠发达地区,普遍反映高效便捷。微信公众号的培训报名很大程度上解决了交通运输行业人员点多线广和移动业务处理的需求,彻底解决了干部培训前期招生宣传繁琐、信息收集整理困难、学员与培训单位需求不畅和宣传渠道窄的问题,解决了传统人工招生宣传成本高、效率低、信息可信性差的问题。另一方面,微信公众号报名可以有效降低招生过程的成本支出,如人工费、材料费、通信费、差旅费等支出,对于提高培训单位的品牌效益,提高干部培训行业的整体形象和信息化水平具有深远的意义和影响。

    参考文献:

    [1]中共中央办公厅. 2010-2020年干部教育培训改革纲要[Z].2010.8.

    [2]李明,伍良启,罗秋兰.基于微信公众平台的国培项目培训管理信息系统的设计与实现研究[J].工业和信息化教育,2019(11):73-79.

    [3]刘刚,王当,孙沛等.浅谈微信公众平台在教育培训的实现[J].电脑知识与技术,2018(1):142-143.

    [4]钟劲锋.基于微信公众平台的招生信息系统设计与实现[D].广州:广东工业大学,2018.

    [5]夏从林.基于微信公众平台的新生报名系统的设计与实现[J].江苏科技信息,2017(28):51-52.

    [6]刘庆.基于微信招生服务平台的设计与实现[J].网络空间安全,2016,7(5):37-38+52.

    [7]苏雪林,夏凌云,董国卿,等.基于微信的英语等级考试报名系统的设计与实现[J].微型电脑应用,2017,33(6):53-56.

    [8]龚兰兰,凌兴宏.基于微信公众号的有书共读系统的设計与实现[J].工业控制计算机,2020,33(1):100-102+105.

    [9]李亚红.基于AES算法的敏感数据库智能加密方法研究[J].南阳理工学院学报,2019,11(2):31-35.

    [10]王劲东.基于高级数据加密标准AES的数据库加密技术研究与实现[D].西安:西安电子科技大学,2011.

    [11]陈作新,王玉香,刘大鹏.高校图书馆微信公众平台设计与实现——以辽宁科技大学图书馆为例[J].情报探索,2016(1):72-79.

    [12]赵斌.基于微信平台的餐饮综合管理系统的设计与实现[D].长沙:湖南大学,2016.

    [13]胡赛.微信公众平台在图书馆信息服务中的应用[J].信息与电脑(理论版),2017(20):87-89.

    [14]龚让声,李素桂,林敏.微信公众平台二次开发关键技术[J].电子技术与软件工程,2018(3):46-47.

    [15]陈甫.微信公众号服务网站在 BAE3.0 上的设计与实现[J].电脑编程技巧与维护,2014(14):88-90.

    [16]刘强.基于微信的校园信息服务系统设计研究[D].新乡:河南师范大学,2014.

    [17]戴晟晖.微信公众平台搭建、开发与实践指南[M].北京:中国铁道出版社,2014.

    [18]龚书,郑丰.B/S架构的职业院校招生报名管理系统设计[J].吉首大学学报(自然科学版),2015,36(3):25-28.

    [19]唐燕,刘仁权,白俊,等.Web Service技术在高校微信开发中的应用[J].信息技术,2015(4):44-47+50.

    [20]钱志勇.微信公众平台应用开发实践[M].北京:机械工业出版社,2013.(编辑:鲁利瑞)