APP下载

基于B/S的高校PaaS平台统一消息协作系统设计与实现

2019-08-02郭倩刘宏磊张亚娟谭薇杜丰

中国教育信息化·高教职教 2019年6期
关键词:角色

郭倩 刘宏磊 张亚娟 谭薇 杜丰

摘   要:针对目前高校中存在的消息收发和管理不统一,各部门间、各业务系统间的互联互通冗余复杂且效率低下的问题,本文提出了集成短信、邮件和即时通信等多种消息交互模式的基于B/S的统一消息协作系统。文章重点阐述了系统的主要功能和消息队列(MQ)的消息推送机制,为高校数字校园中的信息统一发布和统一监管提供了解决方案。

关键词:统一消息协作;权限;角色;消息队列

中图分类号:TP302.1;TP311.5 文献标志码:A 文章编号:1673-8454(2019)11-0082-04

数字校园的快速发展使高校信息化建设硕果累累,各个部门基于自身需求建立了各自的业务系统,如科研、教务、研究生信息管理等系统。随着信息化建设的不断推进,越来越多的业务系统和部门需要向校内用户(教职工、学生等)发布各类消息(通知、提醒、代办、催办等),冗余繁多的邮件、网页、站内信、即时通信消息使得各个业务系统之间、业务系统与人之间、人与人之间的信息互联互通的变得冗余复杂且效率低下。各种各样的消息发布渠道如果没有统一的消息发布出口,就会出现各业务系统重复建设的情况,造成数字校园资源的极大浪费,也不利于統一监管。

一、数字校园消息推送、协作的现状和存在的问题

目前大多数高校使用以下几种方式进行消息的收发和管理:

1.网页通知列表

以广播[1]的方式在浏览器中呈现消息,对象指向不明确,没有时效性也无法保证信息肯定被接收,效率极其低下。

2.校内邮箱

虽然可以向指定人群大容量推送消息[2],但是时效性很差。

3.即时通信工具

利用第三方公司开发的如微信、QQ和飞信[3]等工具进行消息的下发和上行,虽然时效性高,对象指向明确,但是无法保证消息来源的权威性,也不能与校内各个业务系统进行对接和集成,具有一定的局限性。

4.发送短信

目前一些高校使用三大运营商或者第三方公司提供的短信平台群发短信,这种方法虽然能保证消息的及时性和准确性,但是管理上存在着几个问题。一是用户手机号码和通讯录的维护有一定难度;二是使用的第三方平台没有完备且适用于高校的角色设置和权限分配机制;三是用户范围单一,只能针对部分指定人员开发,无法面向全校教职工和业务系统开放。

二、高校对于消息协作系统的总体需求

1.解决消息发送混乱与发送多通道的问题

所有消息通过统一控制台收发,同时接入手机短信、电子邮件以及微信公众号等发送渠道。

各业务系统[4]仅需调用一个消息发送接口,即可完成消息的多终端推送(邮件、微信、短信),减去了单独开发消息推送模块的工作。

2.实现用户统一授权和权限有效管理

基于已有的统一身份认证系统做用户认证,同时支持数据库统一导入教职工和学生的用户信息,支持按照部门层级规范管理用户的通讯录和群组,支持个人通讯录。考虑权限角色的管控、不同权限级别的不同角色。

3.保证消息发送的安全性

所有业务系统接入端和个人用户只有通过系统的认证,才能获取授权推送消息,规范不同权限用户通过指定的渠道发送消息。

定义非法消息的安全策略,比如暴力、色情、非法组织等相关敏感词汇。终止非法消息的发送,并追溯发送来源。

4.消息发送实现易用性和个性化定制

直观、便捷地确定消息接收者(人)、消息发送渠道(方式)、消息内容(内容)以及历史消息(记录),可快速地指定向某分组下所有用户、某些用户或某个用户发送消息。

可个性化设置常用联系人,消息接收用户可以根据个人需要,退订某些类别的消息,以免消息骚扰。

5.对消息发送的数据进行统计

所有消息以报表的形式进行统计和分析,方便相关人员具体、清晰、准确地监控消息发送的数据。直观地展示在不同时间段内,各个渠道、各个部门、消息发送的总数量和趋势,从而确定更合理的发送方式和数量,提高管理的透明度。

三、基于PaaS平台的统一消息协作系统实现

在智慧校园的背景下,基于PaaS平台的统一消息协作系统能覆盖校园主要系统应用及服务,让各业务部门高效、方便、迅速、安全地下发消息和通知并获取上行回复,实现校园消息的统一发送、统一监控、统一管理。

1.系统架构

统一消息协作系统的主要用户对象为“个人”与“业务系统[4]”,系统提供Web控制台实现消息收发、数据统计以及权限管理等功能模块,满足个人用户的功能需求,同时提供接口服务满足业务系统的集成接入。系统的核心模块基于消息队列机制,提供负载均衡机制。各个模块相对独立,逻辑清晰,保障了稳定性、可扩展性和可用性[5]。统一消息协作系统总体架构如图1所示。

2.权限与角色设计

根据高校中“个人”与“业务系统”两种用户的特征对权限与角色进行设计,如表1所示。

(1)把用户角色分为个人用户、应用系统用户。统一消息协作系统中应用系统用户和个人用户拥有平行权限。

(2)把用户类型分为超级管理员、系统管理员、部门管理员、辅导员、普通账号,权限分配如表1所示。

(3)普通账号是相对于具有管理员权限的账号提出的。应用系统用户、个人用户都可以是普通账号,只具备普通账号的权限。超级管理员是整个系统的总管理员账号,可以分配系统管理员账号,系统管理员账号可分配部门管理员账号,部门管理员可设置辅导员,辅导员可维护家长通讯录以及向家长发送消息。

3.消息队列

消息队列(MQ)是一种服务与服务之间经常见到的数据通信中间件,具有缓冲、解耦和扩展性等特点。本系统的消息流转流程如图2所示。

RocketMQ是Kafka的改进版,把消息的事务性及可靠传输进行了优化,目前被Ali集团广泛应用于交易、充值、日志流式处理、消息推送等,支撑了Ali多次“双十一”活动。相比现在比较常见的MQ产品,如ZeroMQ、RabbitMQ、ActiveMQ等,RocketMQ具有消息轻巧灵活易用、传输可靠性高、支持海量堆积和性能强劲等特点。

因此,本系统选择RocketMQ处理大数据量发送时消息的流转与加工[6]。利用Springboot特性将消息协作系统分化为EMC3.0后台业务处理系统、队列切割程序包、数据库存储程序包、消息推送程序包。将消息处理与业务处理解耦,有效并准确地记录发送的消息,并提供了程序异常或操作系统异常时的恢复机制。

4.上行回复

目前多数短信平台只针对短信发送渠道开通上行回复功能,所有上行回复打包放到数据池中,用户抓取时无法甄别每条短信具体的下行发送者,还存在接收时效性差、短信丢失量多等问题[7]。

本系统每日下行短信发送量约30000条,为了实现下行发送内容与上行回复内容的一一对应,同时保证用户能收到三天以内的上行回复,为每条下行短信附加了五位扩展码(从0到99999),按照发送和接收两个模块进行了设计开发,如图3所示。

发送模块:每条短信下发时,首先记录扩展码N,并判断N是否为0-99999中的任意数字,如果是,调用发送接口发送短信,同时扩展码+1;如果不是,说明扩展码已到达上限99999,归零重新开始记录。

接收模块:收到上行回复消息后,根据扩展码、回复手机号、回复时间去查找数据库里面的消息记录,然后把短信内容记录到对应短信的回复内容中。

5.接口设计

接口设计为“应用系统”用户封装了可直接调用的接口,包括 “渠道获取接口、消息发送接口、消息查询接口[8]”等。接口调用路径说明如表2所示。

接口设计思路:

(1)获取用户的请求参数;

(2)对参数进行相关的认证、过滤等处理;

(3)将消息分配到不同的渠道接收器;

(4)不同的渠道接收器接收到消息后将消息放入发送队列;

(5)多线程读取发送队列的消息进行发送;

(6)将发送的结果及消息存储到数据库。

四、应用效果

西安交通大学统一消协作系统已于2017年6月正式上线使用,作为校内消息即时、高效上传下达的核心,实现了短信和邮件的统一发送、统一监管和安全审计,短信还支持上行回复到每位发送者。目前系统已经有150余名教职工用户、40多个应用系统账号,累计发送短信达76.7万条、邮件6.6万封。

五、结束语

基于B/S构建的统一消息协作系统集成了多种消息组件,通过标准化的消息接口对各类消息进行统一处理,提供短信、邮件、即时通信等多种消息交换功能;研究了高校用户体系,将消息接收者扩充为部门通讯录、家长通讯录、个人通讯录、常用联系人、群组联系人,为发送对象提供多元化选择。采用先进的Web应用开发技术,支持并发多进程、多用户。

随着数字校园的不断发展,以及统一身份认证和数据中心的不断建设,校内用户的信息采集和数据的动态维护会更加完善,统一消息协作系统也将逐步优化。未来考虑利用跨域认证和多租户架构,实现面向联盟用户(兄弟院校)开放基于PaaS平台的统一消息协作系统,让不同认证用户之间实现资源共享。

参考文献:

[1]刘波,杨娟.基于微服务的智慧校园消息中心构建研究[J].河北软件职业技术学院学报,2018,20(3):1-4,16.

[2]金哲凡,金锋,石教英.统一消息和统一消息邮件的研究与实现[J].计算机工程,2003(13):37-38,45.

[3]李穎,朱曼玲,王海涛,杨树春.基于移动终端的高校统一消息推送平台[J].华东师范大学学报(自然科学版),2015(S1):46-50.

[4]李涛,叶昭.校园统一消息推送平台的用户跨业务关系研究[J].华中科技大学学报(自然科学版),2016,44(S1):172-175.

[5]牛晋川.基于UMS的校园信息平台的构想[J].太原师范学院学报(自然科学版),2004(2):32-33.

[6]卢良进,郑民,吴海洪.数字化校园统一消息交换平台的构建[J].才智,2014(8):125.

[7]郑柏林,郑斌,高雪峰,张炜,楼灿辉.统一消息服务平台解决方案[J].计算机时代,2008(6):64-66.

[8]贾宏宇,赵俊峰.统一消息平台的原理与设计[J].小型微型计算机系统,2003(2):211-215.

(编辑:王晓明)

猜你喜欢

角色
小学语文教师在实施新课程中的角色定位
教师和学生角色的转变是实现有效教学的关键
生态系统理论视角下医院志愿者角色和功能的研究
办公室行政管理工作的“角色”与效率分析
普通高等学校思想政治教育辅导员角色问题研究