河南警察學院 王市委
近年來,高校信息化發展迅猛,高校師生在享受信息化帶來的便利的同時,各種信息化運維問題也隨之出現。運維系統能夠通過記錄師生反映的問題,通過線上派單,提高了派單效率,更重要的是派單記錄保存在后臺,可以方便做出更加精細化的統計。
現在雖然有了很多報修系統,師生可以通過報修系統將問題反饋給運維人員。但是不同于其他業務系統,報修系統其實并不高效。(1)因為師生的信息化素養參差不齊,很多師生并不知道如何使用報修系統,而且高校對于這種業務系統的推廣力度有限;(2)很多問題并不能通過報修系統反饋,比如說網絡無法訪問的情況,這種情況是無法通過報修系統及時報修的。以上兩種情況,說明傳統的通過電話直接反饋運維問題在當下仍然是最直接、最高效的方式。但是這種情況仍然存在一個問題,記錄人員通過記錄臺賬的方式記錄問題,只能反應工作記錄,無法進一步做出精確統計,也很難為決策層提供更為精準、科學的決策依據。綜合以上,運維系統不必做到全體師生通用,而是僅需要派單人員在接受到運維任務的時候使用;決策層通過后臺存儲的派單信息,通過各種精細化查詢,做到科學決策。
出于上述研究背景,確定該項目項目需求。(1)接單人員在接到師生電話的時候,通過運維系統記錄師生反應的問題。運維人員要求師生提供地點、故障類型,然后根據運維人員的空閑情況決定派遣哪個維護人員。系統提交派單系統交由后臺數據庫保存。這就是該系統最基本的流程。(2)派單查詢需求,該系統需要為決策人員提供精細化的決策依據,所以需要提供功能豐富的派單查詢功能。具體如下,需提供單位時間內總的派單量、單位時間某運維人員的任務量、單位時間某種故障類型的派單量等。
本運維系統沒有使用框架開發,而是使用了基礎的面向過程的方式。(1)因為該系統使用人群少,僅限于信息化部門人員使用;(2)因為該系統功能模塊少,并不復雜。基于上述研究背景和項目需求,本運維系統共有賬號注冊、新增派單、派單查詢、派單人員管理、注銷登錄五個模塊。采用PHP+MYSQL+APACHE的方式開發。
PHP是當今最流行的后端編程語言之一,易于學習。PHP有著優秀的性能,并且支持所有主流的數據庫,初級程序員很容易上手。PHP支持面向對象和面向過程兩種模式,目前大多數Web程序、即時通訊、游戲等軟件都使用PHP開發。
MySQL是當今最流行的開源數據庫。與PHP相同,MySQL性能優異,并且可移植性高,穩定性強,易于學習。在Web開發過程中,大多數軟件都使用MySQL作為數據庫軟件。
Apache是當今最為流行的Web服務器之一,由于它可以幾乎完美運行在各個平臺之上,使得目前幾乎所有大型網站都使用Apache作為Web服務器。最重要的是,同PHP和MySQL一樣,Apache也是開源免費的。
WampServer是一款集成式開發環境。以往在使用PHP和MySQL開發Web軟件,必須要分別安裝上述軟件,而且要單獨配置,使用起來不是很方便。WampServer使得用戶可以一鍵部署開發環境,使用方便快捷。
本系統使用MySQL數據庫,共需建立三張表。(1)賬號密碼表;(2)派單信息表;(3)派單人員表。其中,賬號密碼表記錄系統登錄賬號的信息,共有賬號、賬號ID(主鍵)、密碼三個字段;派單信息表記錄派單具體信息,共有派單ID(主鍵)、地點、任務類型、派單人員、時間五個字段;派單人員表記錄派單人員信息,共有派單人員姓名、人員ID(主鍵)、聯系方式三個字段。如圖1所示簡要說明了各個數據表的字段類型。

圖1 系統數據表字段信息Fig.1 Information for system data table field
分模塊分別實現賬號注冊、新增派單、派單查詢、派單人員管理、注銷登錄功能。
該功能要求用戶登錄注冊頁面,通過輸入指定信息(賬號、密碼、確定密碼、驗證碼)自助注冊賬號。此功能編程實現需要注意以下幾點:規定賬號的長度范圍,確定賬號的字符類型,規定密碼的長度,兩次密碼輸入要保持一致。待用戶輸入信息符合上述要求以后,用戶注冊賬號成功。以下是部分代碼實現:



賬號注冊頁面如圖2所示。

圖2 系統注冊頁面效果Fig.2 Effect of system registration page
新增派單功能是本系統的核心模塊之一。該功能要求接單人員在收到師生電話的時候提供地點和故障描述,接單人員通過填寫系統表單,提交表單到后臺數據庫保存,最后通知運維人員接單完成整個派單任務。表單設計有地點、人員、故障類型三個內容。其中地點通過HTML文本框內容實現,人員用單選框實現,故障類型用復選框實現。
派單人員和故障類型的HTML語言實現上有兩種模式。一種是靜態實現,既將派單人員和故障類型全部寫到前端HTML頁面當中。這種方式的優點是簡單,缺點是一旦派單人員或者故障類型發生變化,只能通過修改前臺HTML代碼的方式更改;另一種是通過連接數據庫,將數據庫種派單人員表的內容傳遞到前臺,通過循環的方式寫入表單。如果采用這種方式,在數據庫設計時,需增加一張用于描述故障類型的數據表。這種方式更加靈活,且適用于人員變更頻繁,故障類型更新較快的運維系統。
本次系統實現采用了靜態實現的方式:(1)因為運維人員幾乎不會變更;(2)考慮到該系統全部自主開發,代碼易更改。
新增派單功能頁面如圖3所示。

圖3 系統新增訂單頁面Fig.3 New order page of system
派單查詢功能是本系統的核心組件,承擔著精細化派單查詢功能。考慮到要為決策層提供精細化、科學的決策依據,所以本模塊要盡可能滿足各種類型的查詢。派單查詢在設計時共提供了單位時間內總的派單量、單位時間某運維人員的派單量、單位時間某種故障類型的派單量等查詢方法。單位時間在設計上有兩種方式:一種是僅提供固定時間,比如過去一周、一個月、三個月、一年等時間,這種方式的好處是代碼相對簡單,在前臺頁面設計上可以用下拉列表的方式提供上述時間點;另一種是提供任意時間的派單查詢,這種方法的好處是可以查詢任何時間內的派單量,查詢更加靈活、精準。該系統承擔著為決策層提供科學決策依據的任務,所以在設計的時候采用了第二種方式進行派單量的查詢。下面以查詢總派單量為例,代碼如下:


派單查詢功能截圖如圖4所示。

圖4 派單查詢效果Fig.4 Effect of query for dispatch order
在該功能模塊中,為了讓統計結果分頁顯示,添加了分頁顯示功能。本功能設計每頁顯示7條統計數據。
由于運維人員多屬于勞務派遣人員,容易出現工作變動,該系統在設計的時候考慮實現派單人員管理功能,用于應對勞務派遣人員工作變動情況的發生。前文已經介紹過,考慮到使用部門所在單位運維人員相對固定,這里直接用前臺頁面靜態實現的方式給出了各運維人員;但是為了以后考慮,仍然給出了派單人員管理的模塊實現功能。以下是代碼實現:

按照規定,每次派單只能選派一名人員,所以代碼中用了單選框的實現方式。
該功能通過引入會話功能實現。用戶成功登錄后,后臺會成功建立以用戶名命名的會話,當用戶退出系統后,會刪除會話實現賬號注銷功能。由于引入了會話功能,所以該系統的新增派單、派單查詢、運維人員管理功能都會加入相應的判斷,當用戶進入這些頁面時,系統會首先判斷有沒有建立會話,如果沒有建立的話,會重新定向到登錄頁面。該功能的部分代碼實現如下所示:

該系統由于是自主開發,所以可以完全按照使用部門的實際情況開發。目前該系統已經投入使用,從實際使用的情況來看,確實比之前的報修系統效率要高很多。比起之前人工記錄派單,在精細化查詢統計方面,要方便很多。未來考慮將本系統設計成響應式布局,增加派單后推送功能,省去目前派單成功需要電話通知的環節,從而實現自動化派單功能。