文/何斌斌 李西明 張波
校園網(wǎng)自助繳費(fèi)系統(tǒng)的研究與設(shè)計(jì)
文/何斌斌 李西明 張波
在現(xiàn)有的校園一卡通系統(tǒng)和校園網(wǎng)認(rèn)證系統(tǒng)基礎(chǔ)上,系統(tǒng)分析了一卡通系統(tǒng)和校園網(wǎng)認(rèn)證系統(tǒng)提供的第三方開發(fā)接口,設(shè)計(jì)并實(shí)現(xiàn)了服務(wù)于全校師生的校園網(wǎng)自助繳費(fèi)系統(tǒng)。系統(tǒng)上線后,用戶服務(wù)部門就不再直接收到現(xiàn)金了,用戶數(shù)據(jù)也直接從原一卡通系統(tǒng)提取,大大降低了勞動強(qiáng)度,減少了輸入差錯(cuò),提高了工作效率,提升了用戶服務(wù)質(zhì)量,對高校數(shù)字化校園建設(shè)具有重要的實(shí)踐意義。
隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)字化校園已經(jīng)在高校內(nèi)全面規(guī)劃和實(shí)施。校園網(wǎng)作為數(shù)字化校園的基礎(chǔ)和核心建設(shè)必然走在前面,華南農(nóng)業(yè)大學(xué)校園網(wǎng)建設(shè)較早,一直走在廣東各大高校前列,現(xiàn)基本上能做到萬兆骨干,千兆到樓宇,百兆到桌面。為了進(jìn)一步推動校園網(wǎng)建設(shè)的發(fā)展,擴(kuò)大校園網(wǎng)的覆蓋面的需要,以及承擔(dān)出口線路費(fèi)用,達(dá)到以網(wǎng)養(yǎng)網(wǎng)的目的,我校根據(jù)自身的實(shí)際情況,采取了校園網(wǎng)計(jì)費(fèi)系統(tǒng)來實(shí)現(xiàn)對校園網(wǎng)使用的計(jì)費(fèi)。
近年來,“校園一卡通”在許多高等學(xué)校日益普及?!靶@一卡通”依托于校園網(wǎng),以IC卡為載體,實(shí)現(xiàn)在校園內(nèi)的“身份識別”和“金融支付”兩大功能。校園卡的出現(xiàn),取代了原來的工作證、學(xué)生證、借閱證、就餐卡、上機(jī)卡、門禁卡和現(xiàn)金交易等功能,極大地提高了學(xué)校的管理水平。目前我校一卡通系統(tǒng)已經(jīng)覆蓋的業(yè)務(wù)包括飯?zhí)孟M(fèi)、校內(nèi)超市消費(fèi)、圖書借閱、門禁考勤等,實(shí)現(xiàn)了一卡取代多卡的“一卡通校園”。但隨著信息化的發(fā)展,各種新的需求不斷出現(xiàn),越來越多的業(yè)務(wù)希望借助一卡通系統(tǒng)來完成。如我校現(xiàn)代教育技術(shù)中心希望在校學(xué)生繳納網(wǎng)絡(luò)費(fèi)不再是通過傳統(tǒng)的人工加現(xiàn)金模式,而通過一卡通來完成繳費(fèi)功能。一卡通系統(tǒng)作為數(shù)字化校園的核心應(yīng)用,一方面減少了業(yè)務(wù)部門在重復(fù)錄入資料中帶來的錯(cuò)漏現(xiàn)象,保證了校內(nèi)用戶資料的統(tǒng)一性、真實(shí)性和可靠性;另一方面大大減少了學(xué)校內(nèi)的現(xiàn)金流通,原本涉及到資金往來的校園網(wǎng)繳費(fèi)業(yè)務(wù),現(xiàn)可通過繳費(fèi)系統(tǒng)直接對校園卡和校園網(wǎng)上網(wǎng)賬號進(jìn)行扣費(fèi)和充值,減少現(xiàn)金交易,同時(shí)提高工作效率。
在全球數(shù)字化浪潮的影響之下,高等學(xué)校數(shù)字化校園建設(shè)受到廣泛的重視,全國各地的高校借中國教育科研網(wǎng)(CERNET)建設(shè)的強(qiáng)力推動,正在從各個(gè)側(cè)面接觸數(shù)字化校園建設(shè)這個(gè)主題。近年來,隨著智能卡的推廣和使用,將多項(xiàng)管理職能和社區(qū)服務(wù)、認(rèn)證融為一體的校園一卡通正在各高校普及開來。一卡通不但提高了學(xué)校的管理效率,降低了成本,方便了教師和學(xué)生。
“一卡通”名稱來源于英文名詞“Smartcard”,又稱智能卡。它將射頻識別技術(shù)和IC 技術(shù)結(jié)合起來,解決了無源(卡中無電源)和免接觸這一難題,用一個(gè)集成電路芯片鑲嵌于塑料基片中,封裝成卡的形式。一卡通在校園管理中應(yīng)用的對象是校內(nèi)的教職員工和學(xué)生。對于學(xué)生,目前大多數(shù)校園一卡通已經(jīng)實(shí)現(xiàn)就餐收費(fèi)管理、圖書借閱管理、醫(yī)療收費(fèi)管理、上機(jī)計(jì)時(shí)收費(fèi)管理、校內(nèi)消費(fèi)管理、早操出勤管理等,對教職工,同樣也是實(shí)現(xiàn)了諸如圖書借閱,身份認(rèn)證、工資發(fā)放、校內(nèi)消費(fèi)、就餐等類似的管理。實(shí)際上,校園一卡通以智能卡為信息載體,結(jié)合了微電子技術(shù)、單片機(jī)技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及數(shù)據(jù)庫技術(shù)等諸多高新科技,使其具有電子身份識別和電子錢包的功能,替代校園傳統(tǒng)的日常生活所需的教師工作證、學(xué)生證、借書證,以及與現(xiàn)金相關(guān)交易的食堂飯卡(券)、醫(yī)療證、上機(jī)證、門票等,達(dá)到教、學(xué)、考、評、住、用的全面數(shù)字化和網(wǎng)絡(luò)化,真正實(shí)現(xiàn)“一卡在手,走遍校園”。
一卡通系統(tǒng)將“校園卡服務(wù)”、“網(wǎng)絡(luò)支付”、“銀行圈存轉(zhuǎn)賬”3部分有機(jī)結(jié)合,可用于代收費(fèi)、第三方業(yè)務(wù)系統(tǒng)自助繳費(fèi)及應(yīng)用接入等業(yè)務(wù),為全校師生提供便捷的網(wǎng)上支付服務(wù)。其優(yōu)勢表現(xiàn)為:
1. 一卡通系統(tǒng)能夠遵循數(shù)字化校園的整體規(guī)劃原則,系統(tǒng)推廣簡單,運(yùn)用范圍廣,節(jié)約人力財(cái)力,各業(yè)務(wù)部門不必再部署一卡通專網(wǎng),只要能連接上校園網(wǎng)即可進(jìn)行交易;
2. 提高管理效率,不用考慮工作人員的作息時(shí)間,24小時(shí)的任何時(shí)間均可完成交易,網(wǎng)絡(luò)交易采取自助服務(wù)方式,減少了工作人員的數(shù)量和服務(wù)時(shí)間;
3. 減少結(jié)算成本,計(jì)算機(jī)管理替代了手工勞作,自動化服務(wù)減少了人工差錯(cuò),后期賬務(wù)核對簡單明了,財(cái)務(wù)部門和業(yè)務(wù)部門都受益;
圖1 繳費(fèi)系統(tǒng)關(guān)系圖
華南農(nóng)業(yè)大學(xué)認(rèn)證系統(tǒng)是基于IEEE 802.1X協(xié)議,IEEE 802.1X認(rèn)證被稱為“在局域網(wǎng)和城域網(wǎng)中提供基于端口的網(wǎng)絡(luò)接入控制”。相比于Web和PPPOE等其他的認(rèn)證方式,IEEE802.1X協(xié)議對認(rèn)證方式和認(rèn)證體系結(jié)構(gòu)進(jìn)行了優(yōu)化,旨在為局域網(wǎng)或城域網(wǎng)提供一種靈活的接入控制方法。IEEE 802.1 X協(xié)議的體系結(jié)構(gòu)包括3個(gè)重要的部分,分別是客戶端(Supplicant)、認(rèn)證系統(tǒng)(Authenticator)和認(rèn)證服務(wù)器(AuthenticationServer)。
1. 客戶端系統(tǒng):
在用戶終端系統(tǒng)上安裝的一個(gè)客戶端軟件,用戶通過啟動這個(gè)客戶端軟件發(fā)起IEEE802.1X協(xié)議的認(rèn)證過程,為了支持基于端口的接入控制,客戶端系統(tǒng)需支持EAPOL協(xié)議,因?yàn)榭蛻舳撕驼J(rèn)證系統(tǒng)之間采用EAPOL協(xié)議進(jìn)行通信。
2. 認(rèn)證系統(tǒng):
通常為支持IEEE802.1X協(xié)議的網(wǎng)絡(luò)設(shè)備,該設(shè)備對應(yīng)于不同用戶的端口(可以是物理端口,也可以是用戶設(shè)備的MAC地址、VLAN、IP等),每一個(gè)端口都有兩個(gè)邏輯端口:受控端口和不受控端口。不受控端口始終處于雙向連通狀態(tài),主要用來傳遞EAPOL協(xié)議幀,可保證客戶端始終可以發(fā)出或接受認(rèn)證,受控端口只有在認(rèn)證通過的狀態(tài)下才打開,用于傳遞網(wǎng)絡(luò)資源和服務(wù)。
3. 認(rèn)證服務(wù)器:
通常為RADIUS服務(wù)器,該服務(wù)器存儲有關(guān)用戶的信息,比如用戶所屬的VLAN、用戶的訪問控制列表、用戶名、密碼等。當(dāng)用戶通過認(rèn)證后,認(rèn)證服務(wù)器會把用戶的相關(guān)信息傳遞給認(rèn)證系統(tǒng),由認(rèn)證系統(tǒng)構(gòu)建動態(tài)的訪問控制列表,用戶的驗(yàn)證后上網(wǎng)流量、上線時(shí)間下線時(shí)間等參數(shù)都要受到認(rèn)證服務(wù)器監(jiān)控。認(rèn)證系統(tǒng)和RADIUS服務(wù)器之間是通過EAP協(xié)議進(jìn)行通信的。
校園網(wǎng)認(rèn)證的步驟如下:
用戶啟動電腦時(shí),打開認(rèn)證客戶端程序(Supplicant),然后輸入認(rèn)證賬號和密碼,向所連接的交換機(jī)發(fā)出認(rèn)證請求報(bào)文,開始認(rèn)證過程。
交換機(jī)接收到認(rèn)證客戶端發(fā)出的認(rèn)證請求數(shù)據(jù)幀后,將發(fā)送一個(gè)請求幀給客戶端,要求客戶端把用戶名發(fā)過來。認(rèn)證客戶端響應(yīng)交換機(jī)發(fā)出的請求,將用戶名通過數(shù)據(jù)幀發(fā)送給交換機(jī),交換機(jī)將該數(shù)據(jù)幀經(jīng)過封包處理后發(fā)送給RADIUS認(rèn)證服務(wù)器進(jìn)行處理。
RADIUS認(rèn)證服務(wù)器收到交換機(jī)轉(zhuǎn)發(fā)過來的用戶名信息數(shù)據(jù)包后,經(jīng)過解包,將該信息與數(shù)據(jù)庫中的用戶名相比對,然后找到該用戶名相對應(yīng)的口令信息,用隨機(jī)生成的一個(gè)加密字對口令進(jìn)行加密處理,同時(shí)把這個(gè)加密字發(fā)送給交換機(jī),由交換機(jī)傳送給客戶端。
客戶端收到由交換機(jī)傳過來的加密字后,用該加密字對用戶所輸入的密碼進(jìn)行加密處理,然后將加密過的口令信息再上傳給交換機(jī)發(fā)給RADIUS認(rèn)證服務(wù)器。
RADIUS認(rèn)證服務(wù)器將收到的客戶端加密后的口令信息和自己經(jīng)過加密后的口令信息相比較,如果相同,說明用戶名密碼一致,該用戶為合法用戶,返回認(rèn)證成功消息,并向交換機(jī)發(fā)出打開端口的指令,允許用戶通過該端口訪問網(wǎng)絡(luò)。
圖2 開發(fā)框架設(shè)計(jì)圖
圖3 讀取一卡通和認(rèn)證系統(tǒng)信息
一卡通系統(tǒng)的第三方接口分第三方服務(wù)端和客戶端調(diào)用DLL兩部分組成,服務(wù)端和客戶端之間通過TCP/IP協(xié)議進(jìn)行通訊。一卡通系統(tǒng)提供了第三方調(diào)用的標(biāo)準(zhǔn)DLL供客戶端調(diào)用,開發(fā)人員可用標(biāo)準(zhǔn)的C++或者C#開發(fā)語言調(diào)用接口,一卡通系統(tǒng)提供的第三方接口,不僅支持最重要的一卡通扣費(fèi)功能, 還支持查詢用戶,獲取用戶詳細(xì)資料,檢查用戶白名單,查詢用戶消費(fèi)記錄等其他功能。
認(rèn)證系統(tǒng)的第三方接口分服務(wù)端和客戶端兩部分,服務(wù)端和客戶端之間通過TCP/IP協(xié)議進(jìn)行通訊。繳費(fèi)系統(tǒng)調(diào)用的是第三方開發(fā)接口的客戶端部分。認(rèn)證系統(tǒng)提供了第三方調(diào)用的標(biāo)準(zhǔn)DLL供客戶端調(diào)用,開發(fā)人員可用標(biāo)準(zhǔn)的C++或者C#開發(fā)語言調(diào)用接口,認(rèn)證系統(tǒng)提供的第三方接口,不僅能實(shí)現(xiàn)向認(rèn)證系統(tǒng)中的用戶充值,還能支持開戶、查詢用戶、修改用戶、暫停用戶、恢復(fù)用戶、查詢用戶上網(wǎng)記錄等其他功能。
圖4 扣費(fèi)界面
系統(tǒng)功能設(shè)計(jì)
由于校園網(wǎng)認(rèn)證系統(tǒng)和一卡通系統(tǒng)均支持第三方接口,繳費(fèi)系統(tǒng)通過與兩個(gè)系統(tǒng)的對接,實(shí)現(xiàn)扣費(fèi)充值一條龍服務(wù),如圖1所示。
校園網(wǎng)繳費(fèi)流程如下:
1. 繳費(fèi)系統(tǒng)與一卡通系統(tǒng)第三方接口服務(wù)器建立連接,如發(fā)現(xiàn)連接不暢,則提示網(wǎng)絡(luò)不通,禁止繳費(fèi);
2. 繳費(fèi)系統(tǒng)與校園網(wǎng)認(rèn)證系統(tǒng)建立連接,如發(fā)現(xiàn)連接不暢,則提示網(wǎng)絡(luò)不通,禁止繳費(fèi);
3. 繳費(fèi)用戶把校園卡放置在讀卡器上面;
4. 繳費(fèi)系統(tǒng)讀取校園卡的物理卡號,通過一卡通第三方接口,獲取繳費(fèi)用戶的資料,如卡號、學(xué)號、姓名、所在學(xué)院,卡上余額等;
5. 繳費(fèi)系統(tǒng)通過校園網(wǎng)認(rèn)證系統(tǒng)第三方接口,根據(jù)獲取到的學(xué)號,查詢跟學(xué)號對應(yīng)的認(rèn)證賬號,如果查詢不到,則提示用戶賬號不存在;
圖5 繳費(fèi)完成后的提示
6. 繳費(fèi)系統(tǒng)驗(yàn)證已存在的認(rèn)證賬號狀態(tài),包括是否被禁用、網(wǎng)絡(luò)費(fèi)是否到期等,并給出相應(yīng)提示;
7. 用戶輸入詳細(xì)的個(gè)人資料,并選擇繳納網(wǎng)費(fèi)套餐(一次性繳半年或者一次性繳一年);
8. 繳費(fèi)系統(tǒng)根據(jù)用戶選擇的繳費(fèi)套餐,計(jì)算用戶待扣的金額,并通過一卡通第三方接口,檢查用戶卡上余額是否足夠繳納網(wǎng)絡(luò)費(fèi);
9. 繳費(fèi)系統(tǒng)向一卡通系統(tǒng)發(fā)送扣費(fèi)指令,一卡通扣費(fèi)成功后,把成功扣除金額信息通過第三方接口服務(wù)器提交給繳費(fèi)系統(tǒng);
10. 繳費(fèi)系統(tǒng)收到扣款成功的消息后,再通過第三方接口發(fā)送指令給校園網(wǎng)認(rèn)證系統(tǒng),給校園網(wǎng)賬號充值;
11. 繳費(fèi)系統(tǒng)給校園網(wǎng)賬號充值成功后,并把充值后的信息以小票打印的形式給用戶;
開發(fā)框架設(shè)計(jì)
校園網(wǎng)繳費(fèi)系統(tǒng)使用Visual Studio.Net 2008作為開發(fā)工具,使用C#作為開發(fā)語言,Sql Server 2000作為開發(fā)數(shù)據(jù)庫,基于.Net Framework 2.0的C/S架構(gòu)應(yīng)用系統(tǒng)。
校園網(wǎng)繳費(fèi)系統(tǒng)使用的框架是由我們自主研發(fā)的.Net開發(fā)框架,具有一定的創(chuàng)新性,框架總體架構(gòu)如圖2所示。
Common:基礎(chǔ)框架工具庫(共用層),提供最基礎(chǔ)的功能接口給各層調(diào)用;
SqlServerHelper、OralcleHelper:調(diào)用Sql Server、Oracle數(shù)據(jù)庫工具庫,執(zhí)行Sql語句、存儲過程等;
DBHelper:抽象數(shù)據(jù)庫層,供BLL層調(diào)用,無需關(guān)心底層是如何調(diào)用何種類型的數(shù)據(jù)庫;
BLL:業(yè)務(wù)層,提供接口給頁面層調(diào)用;
NetworkApplyClient:繳費(fèi)客戶端,跟用戶交互的界面都在此層;
WinUtility:窗口輔助層,提供一些公用的接口給交互界面層調(diào)用,例如自定義控件等。
本系統(tǒng)設(shè)計(jì)完成運(yùn)行情況如下:
1. 校園網(wǎng)用戶把校園卡放到讀卡器上,點(diǎn)擊“讀取校園卡信息”按鈕,系統(tǒng)讀取到一卡通系統(tǒng)的信息以及校園網(wǎng)認(rèn)證系統(tǒng)的對應(yīng)信息,如圖3所示:
2. 用戶核對完信息后,在“續(xù)費(fèi)選擇”下拉菜單中選擇用戶需要續(xù)費(fèi)的套餐類型;
3. 用戶輸入校園卡的消費(fèi)密碼;
4. 點(diǎn)擊“續(xù)費(fèi)”按鈕,有彈出對話框提示,點(diǎn)擊“是”執(zhí)行扣費(fèi),如圖4所示:
5. 繳費(fèi)成功之后,會彈出對話框顯示續(xù)費(fèi)結(jié)果以及網(wǎng)絡(luò)使用期限,在“操作結(jié)果”欄顯示續(xù)費(fèi)操作的執(zhí)行結(jié)果,如圖5所示:
系統(tǒng)上線后,用戶服務(wù)部門就不再直接收到現(xiàn)金了,用戶數(shù)據(jù)也直接從原一卡通系統(tǒng)提取,大大降低了勞動強(qiáng)度,減少了輸入差錯(cuò),提高了工作效率,提升了用戶服務(wù)質(zhì)量。系統(tǒng)自2010年6月上線以來,總共處理了2萬筆左右的交易,高峰期時(shí)每天可完成400筆交易。在原手工加現(xiàn)金流模式下,處理每一筆繳費(fèi),需耗時(shí)半個(gè)小時(shí),繳費(fèi)系統(tǒng)上線后,每筆繳費(fèi)完成只需5分鐘,大大縮短用戶服務(wù)時(shí)間。
更重要的是,自助繳費(fèi)系統(tǒng)可以24小時(shí)提供繳費(fèi)服務(wù),且用戶交易的流水賬可在一卡通系統(tǒng)上查到,充值記錄可在認(rèn)證系統(tǒng)上查到,便于兩個(gè)系統(tǒng)的對賬工作。由此可見,校園網(wǎng)自助繳費(fèi)系統(tǒng)對高校數(shù)字化校園建設(shè)具有重要的實(shí)踐意義。
(作者單位為華南農(nóng)業(yè)大學(xué)現(xiàn)代教育技術(shù)中心)
[1]馮登國,裴定一.密碼學(xué)引導(dǎo)[M].北京:科學(xué)出版社.1999.
[2]葉順源.ASP.NET 網(wǎng)絡(luò)開發(fā)關(guān)鍵技術(shù)與實(shí)踐[M].北京:中國鐵道出版社,2006.
[3]王龍,黃峰.ASP 管理信息系統(tǒng)項(xiàng)目開發(fā)實(shí)踐[M].北京:科學(xué)出版社,2005.
[4]屈喜龍,朱杰.ASP+SQL Server 開發(fā)動態(tài)網(wǎng)站實(shí)例[M].北京:機(jī)械工業(yè)出版社,2006.
[5]楊宗志. ASP.NET 入門與實(shí)作[M].北京:科學(xué)出版社,2003.