劉 宸,洪丹丹,郭 倩,王 強
(西安交通大學(xué) 網(wǎng)信中心,陜西 西安 710049)
隨著我校信息化的建設(shè)和發(fā)展,聯(lián)網(wǎng)宿舍樓宇和上網(wǎng)學(xué)生的逐步增加。聯(lián)網(wǎng)學(xué)生已突破3萬人,聯(lián)網(wǎng)學(xué)生宿舍達到55棟,網(wǎng)絡(luò)故障總量呈現(xiàn)一個持續(xù)上升的趨勢,如圖1所示。
圖1 我校近3年的用戶報修趨勢圖
我?,F(xiàn)有的報修流程是:學(xué)生網(wǎng)絡(luò)故障后通過電話給網(wǎng)信中心報修,然后由網(wǎng)信中心老師人工指派工單給對應(yīng)學(xué)生網(wǎng)管,學(xué)生網(wǎng)管聯(lián)系報修同學(xué),攜帶紙質(zhì)工單上門維護,維修完畢后學(xué)生填寫維修評價,最后回收統(tǒng)計紙質(zhì)工單。
該種報修方式存在如下幾點問題:
(1)通過電話報修,即無法滿足網(wǎng)絡(luò)故障數(shù)量快速增長的需求,也無法滿足用戶快捷方便的網(wǎng)絡(luò)故障報修的要求;
(2)通過人工指派工單,工作效率低效,容易發(fā)生錯漏;
(3)紙質(zhì)工單的方式,增加了學(xué)生網(wǎng)管工作量,并且容易造成記錄誤差,紙質(zhì)工單丟失,工作量統(tǒng)計困難等問題;
(4)無法動態(tài)跟蹤維修狀態(tài),也無法實時掌控維修質(zhì)量,缺少有效反饋機制。
為了滿足學(xué)生網(wǎng)絡(luò)故障報修的需要,我校自主研發(fā)了一套基于CAS的網(wǎng)絡(luò)故障自助報修系統(tǒng)。系統(tǒng)對接本校的CAS系統(tǒng),實現(xiàn)自動從校園統(tǒng)一身份認證系統(tǒng)中讀取報修人個人信息,包括姓名,學(xué)號,宿舍,電話等需要的信息,簡化了報修步驟和流程。
網(wǎng)絡(luò)故障自助報修系統(tǒng)作為一個應(yīng)用程序,有很多成熟的產(chǎn)品可供選擇,但是其在軟件設(shè)計合理性上、功能上、個性化上均不能很好的滿足我校報修系統(tǒng)的需求。因此我校采用完全自主研發(fā)本系統(tǒng)來實現(xiàn)用戶的網(wǎng)絡(luò)故障自助報修需求。
CAS是Yale大學(xué)發(fā)起的一個開源項目,旨在為Web應(yīng)用系統(tǒng)提供一種可靠的單點登錄方法,CAS在2004年12月正式成為JA-SIG的一個項目。CAS具有以下特點:開源的企業(yè)級單點登錄解決方案。CAS Server為需要獨立部署的Web應(yīng)用。CAS Client支持非常多的客戶端(這里指單點登錄系統(tǒng)中的各個Web應(yīng)用),包括 Java、.Net、PHP、Perl、Apache、uPortal、Ruby 等。
CAS包含兩個部分:CAS Server和 CAS Client。CAS Server需要獨立部署,主要負責對用戶的認證工作;CAS Client負責處理對客戶端受保護資源的訪問請求,需要登錄時,重定向到 CAS Server。圖2是 CAS最基本的協(xié)議過程:
圖2 CAS基礎(chǔ)協(xié)議
本系統(tǒng)主要由5個功能模塊組成:故障申報、網(wǎng)管接單、上門服務(wù)、服務(wù)評價和流程審核,如圖3所示。
圖3 網(wǎng)絡(luò)故障自助報修系統(tǒng)功能結(jié)構(gòu)圖
該結(jié)構(gòu)的顯著特點是在報修、維修、評價之間建立溝通橋梁,從反饋評價中發(fā)現(xiàn)維護的及時性、服務(wù)質(zhì)量和服務(wù)態(tài)度問題,協(xié)調(diào)各運維部的部外運行機制和維修行為。
系統(tǒng)共有3種工作流過程:第一,申報人申報網(wǎng)絡(luò)故障,對應(yīng)樓宇學(xué)生網(wǎng)管接單,故障處理完成,申報人評價服務(wù),網(wǎng)信中心老師審核流程,流程完成;第二,學(xué)生網(wǎng)管如果不能獨立完成,請求網(wǎng)信中心老師協(xié)助處理。網(wǎng)信中心老師給予處理意見指導(dǎo)學(xué)生網(wǎng)管處理完成,申報人評價服務(wù),網(wǎng)信中心老師審核流程,流程完成;第三,網(wǎng)信中心老師認為故障超出學(xué)生網(wǎng)管處理能力,老師直接處理,申報人評價,網(wǎng)信中心老師審核流程,流程完成。具體workflow流程圖,如圖4所示。
圖4 網(wǎng)絡(luò)故障自助報修系統(tǒng)workflow流程圖
(1)用可視化的建模語言 UML(Unified Modeling Language)進行了圖形化的建模,并繪制了用例圖,如圖5所示。
圖5 網(wǎng)絡(luò)故障自助報修系統(tǒng)用例圖
通過該系統(tǒng)的用例圖,能夠從網(wǎng)絡(luò)用戶的角度,來觀察該系統(tǒng)需實現(xiàn)的功能。該系統(tǒng)所面向的用戶共三類:
第一類是普通用戶,是指學(xué)校所有的學(xué)生網(wǎng)絡(luò)用戶,他們所做的操作有三個:①申報網(wǎng)絡(luò)故障;②根據(jù)系統(tǒng)隨機生成的故障申報編號,可以登錄系統(tǒng)查看故障處理進度。③維修完畢后,可以評價服務(wù)。
第二類是學(xué)生網(wǎng)管,在收到故障短信提醒后,可以隨時登錄系統(tǒng)查看故障信息,并聯(lián)系用戶上門進行故障的解決與處理,并進行網(wǎng)絡(luò)故障的統(tǒng)計,為下一步網(wǎng)絡(luò)維護與改造提供依據(jù)。
第三類是系統(tǒng)管理員,是指網(wǎng)信中心老師,對學(xué)生網(wǎng)管信息和報修單進行管理與維護,并審核整個服務(wù)流程。
(2)數(shù)據(jù)庫設(shè)計
系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)前后一共經(jīng)過了2次優(yōu)化調(diào)整。一般學(xué)生區(qū)宿舍樓t_building表只會考慮設(shè)計3個字段就可以滿足需求,但本系統(tǒng)做了多級權(quán)限分配,通過學(xué)生區(qū)宿舍樓t_building表里的building_area字段來表示管理宿舍樓宇所屬區(qū)域,社長可以查看所有宿舍區(qū)域報修單,部長只能查看本部負責區(qū)域的報修單,而學(xué)生網(wǎng)管登錄后只能查看自己負責樓宇的報修單。在和統(tǒng)一身份認證系統(tǒng)對接時,因統(tǒng)一身份認證系統(tǒng)里面只有用戶個人信息,無法甄別登錄用戶的身份,所以在學(xué)生網(wǎng)管成員表t_staff數(shù)據(jù)里面增加了staff_duty字段來表示登錄用戶的身份信息。
在代碼編寫過程中,采用PHP+MySQL應(yīng)用程序典型的三層架構(gòu)模式:
(1)界面層(UI):前端界面符合 HTML5+CSS3,特別針對移動終端做了優(yōu)化處理。
(2)業(yè)務(wù)邏輯層(BLL):處在數(shù)據(jù)訪問層和表現(xiàn)層之間,與數(shù)據(jù)庫直接關(guān)聯(lián),同時又為Web展示層服務(wù),其封裝了對數(shù)據(jù)庫的所有操作。
(3)數(shù)據(jù)訪問層(DAL):系統(tǒng)的最低層,提供數(shù)據(jù)庫操作的接口和存儲本系統(tǒng)所有數(shù)據(jù)。系統(tǒng)后臺截圖,如圖6所示。系統(tǒng)報修單截圖,如圖7所示。
圖6 系統(tǒng)后臺報修截圖
圖7 系統(tǒng)報修單詳情截圖
在系統(tǒng)的安全和性能上,我們做了以下幾個方面的考慮:
(1)在訪問權(quán)限上,系統(tǒng)對接了本校統(tǒng)一身份認證系統(tǒng),通過統(tǒng)一身份認證系統(tǒng)對非本校合法學(xué)生用戶進行的拒絕登錄訪問限制。
(2)在服務(wù)器上,采用Linux上iptables防火墻功能只對管理員開放了21,22,443等常用管理端口,防止了非法用戶登錄服務(wù)器的可能性。
(3)考慮校園網(wǎng)大面積故障時,網(wǎng)絡(luò)報修故障會激增,可能造成服務(wù)器性能上的壓力,成為系統(tǒng)的瓶頸。我們采用Apache自帶性能測試工具ab (Apache Bench),專門用于HTTP Server的benchmark testing,同時模擬多個用戶并發(fā)請求,測試系統(tǒng)在高并發(fā)情況下的性能指標。通過多次ab測試,同時連接數(shù)為1000、請求數(shù)達10000,命令 ab-n 1000-c 1000 http://ana.xjtu.edu.cn的性能測試數(shù)據(jù),系統(tǒng)Requests per second、Time per reque 2個返回數(shù)據(jù)均達到了預(yù)期目標,滿足了系統(tǒng)在高并發(fā)下的可靠性。
本系統(tǒng)實現(xiàn)了用戶自助報修、智能派單、短信通知、服務(wù)評價,以及流程審核等功能。截止目前,該平臺已穩(wěn)定運行1年9個多月,能夠承受校園網(wǎng)大面積故障時產(chǎn)生的高并發(fā)訪問量,并對系統(tǒng)的安全性,易用性做了充分的考慮。該系統(tǒng)對我校學(xué)生區(qū)網(wǎng)絡(luò)的管理和維護,起到了不可替代的作用。
[1]張濤,王秉坤.使用CAS在Tomcat中實現(xiàn)單點登錄[EB/OL].https://www.ibm.com/developerworks/cn/opensource/os-cn-cas/.
[2]Julie C.Meloni[美].PHP、MySQL 和 Apache入門經(jīng)典[M].北京:人民郵電出版社,2013.
[3]Kevin Tatroe,PeterMacIntyre,RasmusLerdorf.PHP編程[M].北京:電子工業(yè)出版社,2015.
[4]威利[澳],湯姆森[澳].php和 mysql web開發(fā)[M].北京:機械工業(yè)出版社,2009.
[5]劉輝.基于Web的故障報修系統(tǒng)的開發(fā)與應(yīng)用[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2014(13).
[6]梁 昊.基于.NET框架的校園網(wǎng)絡(luò)報修系統(tǒng)的實現(xiàn)[J].長沙大學(xué)學(xué)報,2011,9(25).
[7]許愛軍.JBMP工作流管理系統(tǒng)的研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2013,12(23).