刘淑影 晁 妍 王 静 曾 涛
(阜阳师范学院, 安徽 阜阳 236037)
随着微信的发展,许多高校在微信基础上建立了信息门户、统一身份认证、一卡通等系统,传统的数字化校园正逐渐转型为智慧校园。学校的信息化中心是全校数据存储中心及核心网络设备的运行中心和存放场所,因此保障信息化中心机房的安全是智慧校园建设中非常重要的一个方面。学校信息化中心机房报警系统产生的报警信息,过去一般是采用短信发送。用短信发送报警信息的方式存在许多不足,因此研究开发了基于微信企业号的机房智能报警信息推送平台。
用短信发送报警信息,就是在信息化中心机房报警系统中增加短信模块,插入手机卡,然后设置几个管理员的手机号,通过短信将报警信息发送到管理员的手机上[1-2]。短信发送报警信息,存在的主要问题是信号易受干扰和运行费用较高。
遇到特殊天气如大风、暴雨等恶劣天气,手机信号受影响,可能出现信息接收延迟甚至接收不到的问题,同时机房也容易产生异常报警。这时如果确有重要报警信息,管理员就可能错过接收时机,而无法及时跟踪处理问题。
报警信息的短信发送会产生费用,移动公司、电信公司及联通公司的短信业务都是按信息推送的数目收费。学校信息化中心机房报警系统一般每月发送的报警信息为150条左右,每条信息至少发送到4个人的手机上,这样每个月就要发送600条以上的短信。机房中的手机卡一旦欠费,则无法发送告警信息。而机房中的手机卡欠费又很难及时被发现,因此这也成了一个安全隐患。
另外,单条短信字数一般要求限制在70字以内。超出字数的短信,会被切成几条后发送,这将导致信息展示不清晰,阅读不方便。
微信企业号是微信为企业客户提供的移动服务,提供了企业移动应用入口。利用微信企业号,企业或第三方服务商可以快速、低成本地实现高质量的移动轻应用,有效简化管理流程,提高信息沟通和协同效率。
现在几乎人人都有一个微信号,学校不必再部署微信消息发送服务器,只需注册一个校园企业号。在企业号中将报警信息对应的服务器域名加入,即可在关注此企业号的手机微信上显示报警消息界面。通过编程将机房的报警信息取出,调用微信企业号的消息推送接口,即可实现将自动化机房报警信息推送到微信企业号中的功能[3]。
在微信企业号中嵌入程序方便,发送信息条数不受限制,可同时发送给多个人,而且不产生费用。企业微信是腾讯官方首推合作伙伴——微信企业号应用第一品牌,永久免费,且无需安装App,在线即可接收消息。运用微信企业号推送机房报警信息,完全可以解决短信发送方式的信息发送不及时和成本较高的问题。
以我校信息化中心共济智能机房为例。智能机房的报警系统,首先通过传感器模块采集运行状态的数据及故障信息,然后将采集到的数据信息进行判断分类,将检测到的异常数据信息根据预先定义的规则,通过报警信息推送平台发送到管理人员和相应的异常模块维护人员微信号上。平台框架如图1所示。
图1 平台框架
报警信息推送平台包括4个层次:数据采集层、数据过滤层、数据发送层和用户层(见图2)。数据采集层与中心智能机房系统对接,读取各个传感器采集的机房的温度、湿度和UPS状态、市电输入状态、空调运行状态、火警报警信息、设备运行状态等信息数据。数据过滤层对采集到的数据进行过滤,转换成统一格式(不同传感器采集数据的格式不一样)。各个模块的实际情况不同,报警阀值也需要设置为不同的数值,对超过阀值的仪器进行报警。数据发送层接收来自过滤层的达到报警条件的信息,并负责信息的分发。用户层采用微信客户端的公众号,负责接收各个模块的报警信息。分层需要的信息如采集模块数据、过滤规则等,保存于SQL数据库中。
3.2.1 数据采集
以共济智能机房管理系统为例。数据采集层可以通过Web Services或中间库的方法,读取机房管理系统中各模块的数据状态。我们采用的是中间库的方式。采用中间库方式,无需另外搭建Web Services服务器,只需把共济智能机房管理系统数据库中读取各个模块的数据抽取到中间库中。通过数据采集程序,将共济机房智能管理系统中各模块的数据采集到中间库。
图2 平台层次
3.2.2 数据过滤
对数据采集层采集到的原始数据进行加工过滤。通过预先设置好的逻辑判断语句,去掉没有用的信息,留下需要进行报警的数据信息,并且对各个报警信息根据情况轻重缓急分成不同的级别。重新组合信息后,将不同级别的信息映射到不同的管理员和相关人员,然后准备发送。此处信息的不同发送人员,是通过配置写入到相应的配置文件中实现的。
3.2.3 数据发送
从微信企业号中获取企业号的accessToken、企业号ID、管理组密钥等信息,然后调用微信企业号的消息发送接口,发送方法SendQYMessage(sCorpID, corpsecret, responeJsonStr, Encoding.UTF8),将组织好的数据发送到配置好的应用平台。根据配置的相关权限,将不同的信息发送给不同人员。比如:空调问题,既要发送到管理员手机上,同时也要发送到空调维修人的手机上;供电情况,既要发送到机房管理员手机上,也要发送到电力维修人员的手机上。此功能代码实现简单,使用定时器的方式,每隔几分钟读取一次告警信息,然后发送。同样,定时器的时间也可以存储在配置文件中。消息发送之后,记录当前已发送的最大序号,确保已发送的数据不会重复发送。
3.2.4 用户层配置
系统的用户层主要是用来接收数据发送通道层发送的数据。用户层的配置也很简单:在学校企业号管理平台的应用与小程序中,增加接收信息的应用“告警信息”,并根据里面的要求填写好域名等相关信息,按要求在发送程序的服务器上做好设置(如图3所示)。
图3 报警信息模块配置
在企业号管理平台中配置好应用后,相关用户在手机微信上关注学校的企业号,其手机微信的企业号里面即可显示报警信息模块。发送程序发送告警消息后,手机微信上的企业号里面的告警信息模块就可以接收到对应的告警信息(如图4所示)。管理员在收到相关告警信息后,就可以及时对机房出现的问题进行处理。
图4 手机接收报警信息
研究开发的基于微信企业号的机房智能报警信息推送平台,在学校的应用实践表明,系统稳定,报警信息推送及时。微信方式推送的报警信息,既可以通过装有手机卡的手机进行接收,也可以通过连接wifi的手机、平板电脑、计算机以及接入有线网的电脑进行接收。相比基于手机卡的短信报警系统,基于微信企业号的报警信息推送平台更能够有效保障中心机房的安全运行。