APP下载

基于CAS的网络故障自助报修系统 设计和实现

2018-03-14刘宸洪丹丹郭倩王强

中国教育信息化·高教职教 2018年2期

刘宸+洪丹丹+郭倩+王强

摘 要:随着我校信息化的发展,联网用户的逐年增多,使得网络维护的难度、故障维护的工作量也越来越大。通过自主开发一套基于本校CAS的網络故障自助报修系统,以简化报修流程,提高维修工作效率。文章结合本校实际情况,提出了开发该系统的重点与思路,以及技术实现方法。

关键词:CAS;网络报修;学生网管

中图分类号:TP311 文献标志码:A 文章编号:1673-8454(2018)03-0094-03

引言

随着我校信息化的建设和发展,联网宿舍楼宇和上网学生的逐步增加。联网学生已突破3万人,联网学生宿舍达到55栋,网络故障总量呈现一个持续上升的趋势,如图1所示。

我校现有的报修流程是:学生网络故障后通过电话给网信中心报修,然后由网信中心老师人工指派工单给对应学生网管,学生网管联系报修同学,携带纸质工单上门维护,维修完毕后学生填写维修评价,最后回收统计纸质工单。

该种报修方式存在如下几点问题:

(1)通过电话报修,即无法满足网络故障数量快速增长的需求,也无法满足用户快捷方便的网络故障报修的要求;

(2)通过人工指派工单,工作效率低效,容易发生错漏;

(3)纸质工单的方式,增加了学生网管工作量,并且容易造成记录误差,纸质工单丢失,工作量统计困难等问题;

(4)无法动态跟踪维修状态,也无法实时掌控维修质量,缺少有效反馈机制。

为了满足学生网络故障报修的需要,我校自主研发了一套基于CAS的网络故障自助报修系统。系统对接本校的CAS系统,实现自动从校园统一身份认证系统中读取报修人个人信息,包括姓名,学号,宿舍,电话等需要的信息,简化了报修步骤和流程。

一、CAS技术原理

网络故障自助报修系统作为一个应用程序,有很多成熟的产品可供选择,但是其在软件设计合理性上、功能上、个性化上均不能很好的满足我校报修系统的需求。因此我校采用完全自主研发本系统来实现用户的网络故障自助报修需求。

CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:开源的企业级单点登录解决方案。CAS Server为需要独立部署的Web 应用。CAS Client 支持非常多的客户端(这里指单点登录系统中的各个Web 应用),包括 Java、.Net、PHP、Perl、Apache、uPortal、Ruby 等。

CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图2是 CAS 最基本的协议过程:

二、系统分析与设计

1.系统总体结构

本系统主要由 5 个功能模块组成:故障申报、网管接单、上门服务、服务评价和流程审核,如图3所示。

该结构的显著特点是在报修、维修、评价之间建立沟通桥梁,从反馈评价中发现维护的及时性、服务质量和服务态度问题,协调各运维部的部外运行机制和维修行为。

2.系统业务流程分析和设计

系统共有3种工作流过程:第一,申报人申报网络故障,对应楼宇学生网管接单,故障处理完成,申报人评价服务,网信中心老师审核流程,流程完成;第二,学生网管如果不能独立完成,请求网信中心老师协助处理。网信中心老师给予处理意见指导学生网管处理完成,申报人评价服务,网信中心老师审核流程,流程完成;第三,网信中心老师认为故障超出学生网管处理能力,老师直接处理,申报人评价,网信中心老师审核流程,流程完成。具体workflow流程图,如图4所示。

3.系统用例图设计和数据库结构

(1)用可视化的建模语言UML(Unified Modeling Language)进行了图形化的建模,并绘制了用例图,如图5所示。

通过该系统的用例图,能够从网络用户的角度,来观察该系统需实现的功能。该系统所面向的用户共三类:

第一类是普通用户,是指学校所有的学生网络用户,他们所做的操作有三个:①申报网络故障;②根据系统随机生成的故障申报编号,可以登录系统查看故障处理进度。③维修完毕后,可以评价服务。

第二类是学生网管,在收到故障短信提醒后,可以随时登录系统查看故障信息,并联系用户上门进行故障的解决与处理,并进行网络故障的统计,为下一步网络维护与改造提供依据。

第三类是系统管理员,是指网信中心老师,对学生网管信息和报修单进行管理与维护,并审核整个服务流程。

(2)数据库设计

系统数据库结构前后一共经过了2次优化调整。一般学生区宿舍楼t_building表只会考虑设计3个字段就可以满足需求,但本系统做了多级权限分配,通过学生区宿舍楼t_building表里的building_area字段来表示管理宿舍楼宇所属区域,社长可以查看所有宿舍区域报修单,部长只能查看本部负责区域的报修单,而学生网管登录后只能查看自己负责楼宇的报修单。在和统一身份认证系统对接时,因统一身份认证系统里面只有用户个人信息,无法甄别登录用户的身份,所以在学生网管成员表t_staff数据里面增加了staff_duty字段来表示登录用户的身份信息。

三、系统实现

在代码编写过程中,采用PHP+MySQL 应用程序典型的三层架构模式:

(1)界面层(UI):前端界面符合HTML5+CSS3,特别针对移动终端做了优化处理。

(2)业务逻辑层(BLL):处在数据访问层和表现层之间,与数据库直接关联,同时又为Web展示层服务,其封装了对数据库的所有操作。

(3)数据访问层(DAL):系统的最低层,提供数据库操作的接口和存储本系统所有数据。系统后台截图,如图6所示。系统报修单截图,如图7所示。

在系统的安全和性能上,我们做了以下几个方面的考虑:

(1)在访问权限上,系统对接了本校统一身份认证系统,通过统一身份认证系统对非本校合法学生用户进行的拒绝登录访问限制。

(2)在服务器上,采用Linux上iptables防火墙功能只对管理员开放了21,22,443等常用管理端口,防止了非法用户登录服务器的可能性。

(3)考虑校园网大面积故障时,网络报修故障会激增,可能造成服务器性能上的压力,成为系统的瓶颈。我们采用Apache 自带性能测试工具ab (Apache Bench),专门用于HTTP Server 的 benchmark testing , 同时模拟多个用户并发请求,测试系统在高并发情况下的性能指标。通过多次ab测试,同时连接数为1000、请求数达10000,命令 ab -n 1000 -c 1000 http://ana.xjtu.edu.cn 的性能测试数据,系统Requests per second、Time per reque 2个返回数据均达到了预期目标,满足了系统在高并发下的可靠性。

四、结束语

本系统实现了用户自助报修、智能派单、短信通知、服务评价,以及流程审核等功能。截止目前,该平台已稳定运行1年9个多月,能够承受校园网大面积故障时产生的高并发访问量,并对系统的安全性,易用性做了充分的考虑。该系统对我校学生区网络的管理和维护,起到了不可替代的作用。

参考文献:

[1]张涛,王秉坤.使用CAS在Tomcat中实现单点登录[EB/OL].https://www.ibm.com/developerworks/cn/opensource/os-cn-cas/.

[2]Julie C.Meloni[美].PHP、MySQL和Apache入门经典[M].北京:人民邮电出版社,2013.

[3]Kevin Tatroe,Peter MacIntyre,Rasmus Lerdorf.PHP编程[M].北京:电子工业出版社,2015.

[4]威利[澳],汤姆森[澳].php和mysql web开发[M].北京:机械工业出版社,2009.

[5]刘辉.基于Web的故障報修系统的开发与应用[J].安徽电子信息职业技术学院学报,2014(13).

[6]梁 昊.基于.NET 框架的校园网络报修系统的实现[J].长沙大学学报,2011,9(25).

[7]许爱军.JBMP工作流管理系统的研究与实现[J].计算机技术与发展,2013,12(23).

(编辑:王晓明)