鄭 歡 陳汝龍
(1.安丘市官莊鎮(zhèn)官莊小學(xué),山東 濰坊 261000;2.山東信息職業(yè)技術(shù)學(xué)院,山東 濰坊 261000)
校園一卡通系統(tǒng)[1-3]是智慧校園[4]的重要組成部分,是落實教育現(xiàn)代化的重要舉措。其雛形為校園食堂收費系統(tǒng),最早于2001年出現(xiàn),華東理工大學(xué)與中山大學(xué)兩所學(xué)校第一次將收費系統(tǒng)應(yīng)用到食堂消費管理中。隨后,各個公司開始研發(fā)此類系統(tǒng),眾多高校陸續(xù)引入,并逐漸普及到中小學(xué)中,成為目前智慧校園不可或缺的重要組成部分。在校園一卡通的普及過程中,隨著技術(shù)的不斷提升,一卡通不再局限于食堂消費,校園門禁系統(tǒng)、校園水控系統(tǒng)、校園考勤系統(tǒng)、校園點餐系統(tǒng)、校園綜合繳費系統(tǒng)、圖書管理系統(tǒng)、機房管理系統(tǒng)等以一卡通消費為基礎(chǔ),輻射校園需求的多功能、多場景一卡通系統(tǒng)應(yīng)運而生。近年來,隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算的不斷發(fā)展,以數(shù)據(jù)治理校園[5]的理念逐漸形成,利用應(yīng)用數(shù)據(jù)、業(yè)務(wù)流程建立校園大數(shù)據(jù)分析系統(tǒng)[6-8],真正實現(xiàn)校園的全方位智慧管理。同時,隨著移動支付的不斷普及,整合阿里支付、微信支付的一卡通消費系統(tǒng)也在迅速發(fā)展起來??傊?,以一卡通消費系統(tǒng)為基礎(chǔ),全方位覆蓋校園各個場景的綜合校園管理系統(tǒng)正在發(fā)展壯大。但是,這些系統(tǒng)往往功能龐大、價格昂貴,適合各類高校,并不適應(yīng)師生數(shù)量較少、學(xué)生年齡偏低的中小學(xué),特別是鄉(xiāng)鎮(zhèn)小學(xué),吸引不到企業(yè)的足夠重視,成為校園一卡通建設(shè)的盲區(qū)。本文結(jié)合中小學(xué)一卡通建設(shè)及實際使用情況,分析中小學(xué)校園一卡通使用過程中暴露出的一系列問題,并提出行之有效的解決方案,最后,對一卡通系統(tǒng)進行了設(shè)計與實現(xiàn)。
目前,一卡通系統(tǒng)在中小學(xué)中已得到大量普及,成為中小學(xué)師生校園生活不可或缺的一部分。在研究初期,對兄弟院校的一卡通系統(tǒng)進行了調(diào)研,整理了當(dāng)前存在的主要問題:
(1)目前大部分中小學(xué)的消費系統(tǒng)支付方式單一,對一卡通存在極大的依賴,沒有移動支付功能。少部分學(xué)校提供移動支付功能,僅支持支付寶與微信兩種支付方式。但是,中小學(xué)生年齡偏低,手機持有率低,所謂的移動支付無法真正滿足便捷支付的實際需求。急需一種支持手機、學(xué)習(xí)機、智能手表、智能手環(huán)等各類移動終端的支付方式。
(2)大部分的中小學(xué)一卡通消費系統(tǒng)已運行多年,系統(tǒng)框架簡易,技術(shù)較為落后,極易遭到黑客攻擊,缺乏一種安全性較高、服務(wù)獨立的系統(tǒng)架構(gòu)。
(3)中小學(xué)的組織機構(gòu)相對高校而言有其特殊性,學(xué)校之間不是完全獨立的個體。以地級市為例,市內(nèi)所有中小學(xué)統(tǒng)一由教體局管理,教體局下轄市直中小學(xué)、鄉(xiāng)鎮(zhèn)(街道)教育管理辦公室[9-10],每個辦公室管理附近所有中小學(xué),突破現(xiàn)有鄉(xiāng)鎮(zhèn)行政區(qū)域劃分的界限,其組織機構(gòu)示意圖如圖1所示。因此,在中小學(xué)的消費管理中,其消費數(shù)據(jù)已不再獨立存在,上級機構(gòu)往往需要對所轄學(xué)校的消費數(shù)據(jù)進行有效管控,急需一種多機構(gòu)管理的校園一卡通系統(tǒng)。
圖1 中小學(xué)組織機構(gòu)示意圖
在分析了一卡通實際需求以后,系統(tǒng)設(shè)計采用B/S結(jié)構(gòu)。同時,放棄過時的Struts2、Spring等Java Web框架,采用最新的Spring Cloud微服務(wù)框架[11],根據(jù)業(yè)務(wù)需求拆分各個小型服務(wù),并使每一個小型服務(wù)都圍繞著系統(tǒng)中的耦合度較高的業(yè)務(wù)功能進行構(gòu)建,并且每個服務(wù)都維護著自身的數(shù)據(jù)存儲、業(yè)務(wù)開發(fā)、自動化測試案例以及獨立部署機制,也為日后的業(yè)務(wù)拓展做好了底層框架準(zhǔn)備。同時,為了發(fā)現(xiàn)、配置和管理微服務(wù),采用Nacos服務(wù)注冊中心,實現(xiàn)動態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。
前端展示方面,采用成熟的Vue框架,提高前端的運行效率。前后端分離,后端負(fù)責(zé)業(yè)務(wù)/數(shù)據(jù)接口,前端負(fù)責(zé)展現(xiàn)/交互邏輯,前后端各盡其責(zé)可以最大程度減少開發(fā)難度。
硬件通信方面,采用netty框架,保障硬件的端口監(jiān)聽,實現(xiàn)硬件通信。
一卡通系統(tǒng)的設(shè)計遵循穩(wěn)定、實用、安全等基本原則,PC管理端的相關(guān)功能模塊設(shè)計如下:
(1)系統(tǒng)管理,該模塊包含密碼修改、機構(gòu)管理、角色管理、人員信息管理及系統(tǒng)日志五個子模塊。其中,密碼修改主要負(fù)責(zé)對管理人員的密碼進行更改,機構(gòu)管理負(fù)責(zé)對多機構(gòu)的管理與維護,角色管理為各機構(gòu)管理員分配角色、設(shè)置權(quán)限等。人員信息則主要負(fù)責(zé)管理各機構(gòu)的管理員,每位機構(gòu)管理員只能管理及查看自己所屬機構(gòu)以及下屬機構(gòu)的數(shù)據(jù)。系統(tǒng)日志負(fù)責(zé)記錄每位登錄者的操作日志。
(2)用戶管理,該模塊分為用戶分類、用戶標(biāo)簽、用戶信息三個子模塊,主要用于對一卡通用戶進行管理。用戶標(biāo)簽的主要目的是對一卡通用戶進行分類,分為教職工、學(xué)生、臨時、外來人員等類別。而用戶標(biāo)簽主要針對學(xué)生用戶,通過用戶標(biāo)簽,可以有效區(qū)分學(xué)生的重要屬性,例如貧困生、留守兒童等標(biāo)簽,通過用戶標(biāo)簽,學(xué)校可以對重點學(xué)生進行有效監(jiān)控,保障學(xué)生的合法權(quán)益。用戶信息管理支持用戶的批量導(dǎo)入與賬號凍結(jié)等操作,也支持學(xué)生的線下充值。
(3)設(shè)備管理,包含設(shè)備類型、設(shè)備信息兩個子模塊,主要負(fù)責(zé)對設(shè)備的劃分及信息管理。其中,設(shè)備類型包含電控設(shè)備、水控設(shè)備、消費機、門禁設(shè)備、考勤設(shè)備等,設(shè)備信息主要負(fù)責(zé)對設(shè)備編號、設(shè)備型號、設(shè)備位置、設(shè)備狀態(tài)等信息的維護。
(4)一卡通管理,該模塊包含一卡通類型管理、一卡通管理兩個子模塊。一卡通類型管理主要負(fù)責(zé)對一卡通的類型進行統(tǒng)一管理,包括學(xué)生卡、教工卡、臨時卡等。一卡通管理主要負(fù)責(zé)每張卡的維護工作,包括卡的凍結(jié)、余額查詢、卡分配等功能。
(5)場景設(shè)置,場景設(shè)置主要是對消費機的消費時段、消費金額等信息進行維護,滿足不同的消費場景需求,達到靈活控制消費時間與消費金額的目的,避免錯誤刷卡、錯誤消費現(xiàn)象出現(xiàn)。
(6)數(shù)據(jù)報告,該模塊主要包含數(shù)據(jù)明細(xì)表與數(shù)據(jù)匯總表,數(shù)據(jù)明細(xì)表主要展示各類消費數(shù)據(jù),提供多維度查詢功能。數(shù)據(jù)匯總表主要負(fù)責(zé)數(shù)據(jù)的統(tǒng)計展示,以圖表等形式對數(shù)據(jù)進行可視化,方便管理人員對數(shù)據(jù)進行把控決策。
(7)消費統(tǒng)計模塊,該模塊主要負(fù)責(zé)展示消費記錄、充值記錄、退款記錄等詳細(xì)信息。管理員可以在此模塊查看到更詳細(xì)的消費、充值、退款數(shù)據(jù),同時支持?jǐn)?shù)據(jù)的導(dǎo)出功能,方便管理員下載數(shù)據(jù),生成紙質(zhì)報表以及后期的追蹤工作。
(8)支付管理,一卡通系統(tǒng)支持線下充值與線上充值兩種充值方式。其中,線上充值提供了支付寶充值與微信充值,支付管理模塊負(fù)責(zé)對每個機構(gòu)的AppID、商戶ID、Key等關(guān)鍵支付信息進行管理。
為了方便用戶,系統(tǒng)提供移動端充值、刷卡以及消費查詢等功能。其中,移動端的充值主要是支付寶、微信、銀行卡三種充值方式。刷卡消費主要是二維碼支付,用戶通過展示二維碼,設(shè)備識別二維碼進行扣款。為了不受制于移動支付對支付寶以及微信的依賴,該二維碼由一卡通系統(tǒng)生成。同時,為了支持更多的移動終端,一卡通移動端通過HTML5進行訪問,用戶只需通過HTTP登錄即可進行刷卡消費。
以上為一卡通系統(tǒng)的關(guān)鍵功能模塊,每個模塊對機構(gòu)有高度依賴,通過機構(gòu)過濾查詢數(shù)據(jù),每位管理員只能查看及操作本機構(gòu)以及下屬機構(gòu)的信息。其功能需求如圖2所示。
圖2 基于多機構(gòu)管理的一卡通消費系統(tǒng)功能需求
基于多機構(gòu)管理的一卡通消費系統(tǒng)在硬件方面主要集成了兩種類型的設(shè)備,分別實現(xiàn)了UDP與TCP兩種通信。為了提高系統(tǒng)可擴展性,采用工廠策略對設(shè)備接口進行統(tǒng)一管理。設(shè)備部分接口示意圖如圖3所示。
圖3 硬件設(shè)備終端接口示意圖
為了保障硬件設(shè)備通信可靠性,設(shè)備對通信包格式進行了規(guī)范。通信包的最大長度為1024字節(jié),由識別碼、設(shè)備碼、地址碼、數(shù)據(jù)包長度、數(shù)據(jù)包及校驗碼組成,除數(shù)據(jù)包以外,其他部分均對其長度進行了限制,通信包最后的CRC16校驗碼[12]計算采用MODBUS標(biāo)準(zhǔn)[13],初始值0xFFFF。詳細(xì)的通信包格式及說明如圖4所示。
圖4 通信包格式
在移動支付方面,移動終端登錄系統(tǒng)以后即可通過點擊二維碼支付,獲取支付二維碼。二維碼由卡號+開始時間+結(jié)束時間+校驗碼構(gòu)成。其中,校驗碼同樣采用CRC16校驗,保證數(shù)據(jù)的完整性。支付二維碼示例如圖5所示。為支持更多移動終端,移動平臺無需安裝App,也不依賴于公眾號、微信小程序等第三方平臺。利用HTML5構(gòu)建移動終端,可以利用http進行登錄,支持手機、平板、智能手環(huán)等移動終端。
圖5 支付二維碼示例
基于多機構(gòu)管理的校園一卡通系統(tǒng)主要核心功能是解決多機構(gòu)消費信息管理問題。其主要思想為通過機構(gòu)過濾模塊,限定登錄賬號只能查看及操作本機構(gòu)以及下屬機構(gòu)的數(shù)據(jù)。每個機構(gòu)管理員可以為其子機構(gòu)設(shè)置管理賬號,為子機構(gòu)管理賬號授予相應(yīng)權(quán)限,實現(xiàn)子機構(gòu)的獨立管理運作。同時,上級機構(gòu)對下屬機構(gòu)擁有管理權(quán)限,可以實現(xiàn)對所有子機構(gòu)的權(quán)限授予以及數(shù)據(jù)操作。
基于多機構(gòu)管理的校園一卡通系統(tǒng)在業(yè)務(wù)處理方面嚴(yán)格控制機構(gòu)過濾,只允許登錄賬號的所在機構(gòu)及其下屬機構(gòu)數(shù)據(jù)通過,屏蔽兄弟機構(gòu)及其上層機構(gòu)數(shù)據(jù),嚴(yán)禁訪問未經(jīng)授權(quán)的機構(gòu)數(shù)據(jù)。滿足多機構(gòu)場景需求,特別是對經(jīng)費有限的鄉(xiāng)鎮(zhèn)學(xué)校具有極大的幫助?;诙鄼C構(gòu)管理的校園一卡通系統(tǒng)示意圖如圖6所示。
圖6 基于多機構(gòu)管理的校園一卡通系統(tǒng)
近幾年,隨著信息技術(shù)的不斷發(fā)展,校園一卡通系統(tǒng)不斷完善,特別是隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算等新興技術(shù)的出現(xiàn),一卡通系統(tǒng)逐漸發(fā)展為一個集數(shù)據(jù)分析、數(shù)據(jù)挖掘、數(shù)據(jù)治理等功能完善的龐大體系。但是,這些功能并不適應(yīng)于資金有限、師生有限、學(xué)生年齡偏低的中小學(xué),特別是在鄉(xiāng)鎮(zhèn)教育辦公室管轄下的中小學(xué)校。本文結(jié)合中小學(xué)一卡通建設(shè)及實際使用情況,分析中小學(xué)校園一卡通使用過程中暴露出的一系列問題,并提出行之有效的解決方案。利用Spring cloud微服務(wù)架構(gòu)保證系統(tǒng)的安全穩(wěn)定運行,同時提升了系統(tǒng)的可擴展性;利用支付二維碼改變支付方式單一的問題,擺脫對支付寶和微信支付的依賴;最后,利用多機構(gòu)管理,實現(xiàn)上級機構(gòu)對管轄學(xué)校的管控,滿足當(dāng)前鄉(xiāng)鎮(zhèn)(街道)教育管理辦公室對所轄學(xué)校的消費數(shù)據(jù)管控需求。未來,以地級市教體局為頂層單位,滿足全市中小學(xué)用餐時段的并發(fā)操作將會是下一步研究的重點。