一卡通小錢包在對(duì)接技術(shù)中的應(yīng)用與實(shí)現(xiàn)
文章出處:http://botanicstilllife.com 作者:周 鵬,魏宗壽,郭榮昌 人氣: 發(fā)表時(shí)間:2011年11月12日
數(shù)字化校園的發(fā)展促使越來(lái)越多的高校引入了校園一卡通。為了繼續(xù)利用現(xiàn)有的卡務(wù)系統(tǒng)如圖書管理、水控POS系統(tǒng)等,須進(jìn)行不同卡務(wù)系統(tǒng)的對(duì)接。
引言
在高校校園一卡通系統(tǒng)中,學(xué)校很多部門已經(jīng)應(yīng)用了一些較為成熟的應(yīng)用管理系統(tǒng),如:水控電控系統(tǒng)、圖書借閱系統(tǒng)、網(wǎng)上查詢系統(tǒng)、OA系統(tǒng)等,但采用的開發(fā)平臺(tái)各不相同,各種類型的數(shù)據(jù)庫(kù)系統(tǒng)同時(shí)并存,有Foxpro、Access等桌面型數(shù)據(jù)庫(kù)管理系統(tǒng),也有SQL Server、Oracle、Sybase等大中型數(shù)據(jù)庫(kù)系統(tǒng)[1]。
為了實(shí)現(xiàn)不同卡務(wù)系統(tǒng)的對(duì)接,本文提出了基于校園一卡通系統(tǒng)對(duì)接技術(shù)的解決方案,解決了校園一卡通與水控系統(tǒng)的對(duì)接。
1 一卡通系統(tǒng)平臺(tái)介紹
1.1 一卡通系統(tǒng)結(jié)構(gòu)
系統(tǒng)采用標(biāo)準(zhǔn)的三層架構(gòu):數(shù)據(jù)層、應(yīng)用層、訪問(wèn)層,實(shí)現(xiàn)數(shù)據(jù)與業(yè)務(wù)徹底分離。針對(duì)不同的業(yè)務(wù)流,采用不同的結(jié)構(gòu):針對(duì)賬務(wù)上傳、黑名單下載、POS機(jī)輪詢等業(yè)務(wù),一般采用C/S的結(jié)構(gòu)能充分發(fā)揮客戶端PC的處理能力;針對(duì)學(xué)生Web查詢余額、網(wǎng)上自助掛失等業(yè)務(wù),采用B/S模式,以方便學(xué)生查詢和維護(hù)管理[2]。
1.2 一卡通系統(tǒng)主要構(gòu)成部分
⑴ 中心核心服務(wù)器:提供基礎(chǔ)數(shù)據(jù)庫(kù),負(fù)責(zé)賬務(wù)信息處理、圈存業(yè)務(wù)、掛失業(yè)務(wù)、查詢業(yè)務(wù)、系統(tǒng)管理、設(shè)備管理等。這些功能構(gòu)成了一卡通系統(tǒng)的核心功能。
⑵ 備份服務(wù)器:負(fù)責(zé)同步備份中心核心數(shù)據(jù)庫(kù),保障數(shù)據(jù)的安全。
⑶ 查詢服務(wù)器:提供各個(gè)客戶端的查詢業(yè)務(wù)。
⑷ 前臺(tái)工作站:采集前臺(tái)POS消費(fèi)機(jī)的消費(fèi)流水、上傳流水、同步黑名單。
⑸ 刷卡機(jī)(POS消費(fèi)機(jī)):提供刷卡消費(fèi)功能。
⑹ 依托網(wǎng)絡(luò):在校園網(wǎng)上劃分出一卡通Vlan,使工作站、服務(wù)器、圈存機(jī)等互聯(lián)。
⑺ 應(yīng)用系統(tǒng):與校園一卡通相結(jié)合的其他系統(tǒng),如圖書管理系統(tǒng),水控消費(fèi)系統(tǒng),機(jī)房管理系統(tǒng)等。
1.3 流水上傳及圈存
1.3.1 一卡通系統(tǒng)的流水上傳工作模式:由前臺(tái)刷卡機(jī)自動(dòng)扣除卡片消費(fèi)金額,保留消費(fèi)記錄到本機(jī),待網(wǎng)絡(luò)空閑時(shí)上傳至前臺(tái)工作站,工作站將采集的流水批量上傳至中心服務(wù)器,由中心服務(wù)器負(fù)責(zé)賬務(wù)結(jié)算,按月匯總結(jié)算報(bào)表。
1.3.2 圈存采用學(xué)生自助圈存:學(xué)生到圈存機(jī)上插入校園一卡通與銀行卡,待驗(yàn)證有效之后,從銀行卡上劃撥相應(yīng)金額至校園一卡通,中心服務(wù)器做記賬記錄。銀行按月將劃入的一卡通轉(zhuǎn)賬金額轉(zhuǎn)入校園一卡通集體賬戶,由校財(cái)務(wù)處統(tǒng)一進(jìn)行商戶結(jié)算。
1.4 數(shù)據(jù)存儲(chǔ)管理方法
采用分布式數(shù)據(jù)存儲(chǔ)的方法,包括前臺(tái)消費(fèi)POS、前臺(tái)工作站、中心核心服務(wù)器、備份服務(wù)器,從而保證了數(shù)據(jù)的一致性與可靠性。
2 對(duì)接方案的分析
2.1 系統(tǒng)對(duì)接背景
某高校的在用系統(tǒng)包括校園一卡通系統(tǒng)與水控系統(tǒng),這兩個(gè)系統(tǒng)處于不同的開發(fā)平臺(tái)且相互獨(dú)立。為了將水控系統(tǒng)納入校園一卡通的統(tǒng)一管理,提出了系統(tǒng)對(duì)接的解決方案。
2.2 系統(tǒng)對(duì)接技術(shù)的實(shí)現(xiàn)方案
兩個(gè)系統(tǒng)維持現(xiàn)有功能不變,只在系統(tǒng)間通過(guò)一個(gè)物理的水控應(yīng)用小錢包實(shí)現(xiàn)與校園卡主電子錢包余額的共享。小錢包密鑰、校驗(yàn)算法與一卡通系統(tǒng)共同協(xié)商開發(fā)。
為了使小錢包在使用時(shí)對(duì)持卡人及業(yè)務(wù)管理人員透明,一方面,需要轉(zhuǎn)移部分小錢包賬號(hào)管理業(yè)務(wù)功能,轉(zhuǎn)移包括小錢包開戶、賬號(hào)掛失、賬號(hào)解掛等功能并集成到一卡通系統(tǒng)的現(xiàn)有功能中去,在系統(tǒng)間實(shí)現(xiàn)交易數(shù)據(jù)的自動(dòng)同步,實(shí)現(xiàn)賬號(hào)管理業(yè)務(wù)數(shù)據(jù)的共享;另一方面,通過(guò)小錢包實(shí)現(xiàn)主錢包資金在水控應(yīng)用中的共享使用。
2.3 小錢包格式,扇區(qū)格式及總體框架
為水控系統(tǒng)設(shè)計(jì)的錢包存儲(chǔ)于2個(gè)扇區(qū):
⑴ 主扇區(qū):存儲(chǔ)卡片基本信息。
⑵ 備份扇區(qū):存儲(chǔ)卡片消費(fèi),及校驗(yàn)等設(shè)置信息。
扇區(qū)劃分為塊0與塊1,兩者的格式一樣,參照表1。
塊0:電子錢包區(qū)(公用部分、備份區(qū))
塊1:電子錢包區(qū)(公用部分,原數(shù)據(jù)區(qū))
3 對(duì)接方案的實(shí)現(xiàn)
3.1 一卡通系統(tǒng)業(yè)務(wù)流程圖
3.2 開戶充值功能實(shí)現(xiàn)
一卡通系統(tǒng)根據(jù)水控系統(tǒng)提供的寫卡方式、規(guī)則等,將金額寫入指定扇區(qū)。依據(jù)圖1的設(shè)計(jì),詳細(xì)實(shí)現(xiàn)功能如下。
3.2.1 小錢包賬號(hào)開戶:由一卡通系統(tǒng)為水控系統(tǒng)開設(shè)一個(gè)小錢包賬號(hào),該賬號(hào)在初次刷卡后自動(dòng)隱含地生成。開戶后,系統(tǒng)會(huì)在一卡通的某一空閑扇區(qū)上開辟一個(gè)物理小錢包,同時(shí)在一卡通后臺(tái)賬戶表中開設(shè)小錢包賬號(hào)。賬號(hào)創(chuàng)建的同時(shí)在一卡通系統(tǒng)中產(chǎn)生一條小錢包開戶交易流水記錄,并立即自動(dòng)同步到一卡通系統(tǒng)的“通用業(yè)務(wù)前置系統(tǒng)”數(shù)據(jù)庫(kù)中,水控系統(tǒng)即可從此中間庫(kù)同步到水控小錢包賬號(hào)開戶的交易記錄。
3.2.2 水控簽到(小錢包賬號(hào)充值):小錢包的充值操作隱含在水控簽到業(yè)務(wù)操作中,從而實(shí)現(xiàn)對(duì)用戶的透明化。用戶簽到時(shí),系統(tǒng)首先會(huì)檢查此校園卡的合法性,然后檢查主錢包和小錢包的余額,計(jì)算出本次應(yīng)向小錢包充入金額(為默認(rèn)的消費(fèi)額度減小錢包余額),并完成主錢包向小錢包的轉(zhuǎn)賬充值。同時(shí),在數(shù)據(jù)庫(kù)中記錄下此卡的簽到信息。正常完成水控簽到后,小錢包內(nèi)即已充入可供本次用水所需的費(fèi)用,接下來(lái)可在水控系統(tǒng)中進(jìn)行用水消費(fèi)支付。
3.3 消費(fèi)功能的實(shí)現(xiàn)
水控系統(tǒng)業(yè)務(wù)流程如圖2所示。
⑴ 控水終端讀取此小錢包扇區(qū)的金額。
⑵ 根據(jù)水控系統(tǒng)預(yù)先設(shè)置的費(fèi)率扣除小錢包的余額。并產(chǎn)生消費(fèi)流水,備份到水控系統(tǒng)數(shù)據(jù)庫(kù)里。
⑶ 控水終端只取小錢包里面的余額,根據(jù)小錢包里面的金額消費(fèi)。
⑷ 對(duì)于小錢包的扣款不產(chǎn)生負(fù)數(shù),扣款到小錢包金額為零為止,控水寫卡不存在透支。如果小錢包的金額為零,控水不能再次使用。
3.4 水控簽退(小錢包賬號(hào)退款)
水控簽退,一方面是為了給一卡通系統(tǒng)的結(jié)算提供基礎(chǔ)的消費(fèi)交易流水記錄,以統(tǒng)計(jì)出水控系統(tǒng)交易的結(jié)算報(bào)表;另一方面是為了實(shí)現(xiàn)主錢包余額與小錢包余額的共享。
3.4.1 正常簽退情況:讀取校園卡信息,查詢簽到表以確認(rèn)此次刷卡完成簽退。然后,將小錢包中的全部余額轉(zhuǎn)賬到主錢包,并根據(jù)簽到時(shí)小錢包的轉(zhuǎn)入金額與此時(shí)的轉(zhuǎn)出金額之差,生成小錢包消費(fèi)交易流水記錄,存入數(shù)據(jù)庫(kù)中,同時(shí)清除簽到記錄的標(biāo)志。即完成了一次完整的水控消費(fèi)功能。
3.4.2 異常處理:若持卡人在水控系統(tǒng)使用過(guò)程中丟失了其校園卡,或者出門時(shí)忘記進(jìn)行簽退時(shí),為保證系統(tǒng)賬目的完整性,需要進(jìn)行異常處理。有兩種方案:
⑴ 引入“手工簽退”功能來(lái)結(jié)束簽退操作。調(diào)用水控提供的賬號(hào)消費(fèi)查詢API接口,查詢統(tǒng)計(jì)出每個(gè)未簽退小錢包賬號(hào)的實(shí)際消費(fèi)金額,并按正常簽退一樣的方式在系統(tǒng)中產(chǎn)生和存儲(chǔ)小錢包消費(fèi)交易流水記錄,并進(jìn)行手工簽退。此時(shí),其小錢包中可能還存在未消費(fèi)完的余額,此余額尚未轉(zhuǎn)入主錢包。
⑵ 為解決“手工簽退”存在無(wú)法將小錢包余額轉(zhuǎn)入主錢包的問(wèn)題,采用“下次簽退”,當(dāng)下次刷卡時(shí),若上次沒(méi)有正常簽退,則先進(jìn)行正常簽退再進(jìn)行簽到。
3.5 賬號(hào)掛失與解掛
賬號(hào)掛失、解掛時(shí),一卡通系統(tǒng)中產(chǎn)生交易流水記錄并立即自動(dòng)同步到一卡通系統(tǒng)的“通用業(yè)務(wù)前置系統(tǒng)”數(shù)據(jù)庫(kù)中,水控系統(tǒng)即可從此數(shù)據(jù)庫(kù)動(dòng)態(tài)同步到掛失或解掛記錄。
3.6 消費(fèi)結(jié)算
水控系統(tǒng)以動(dòng)態(tài)庫(kù)的形式提供小錢包的消費(fèi)數(shù)據(jù),一卡通系統(tǒng)調(diào)用獲取。一卡通根據(jù)水控系統(tǒng)在簽退時(shí)產(chǎn)生的消費(fèi)交易流水記錄來(lái)統(tǒng)計(jì)生成水控消費(fèi)的結(jié)算報(bào)表。
3.7 數(shù)據(jù)同步接口
3.7.1 一卡通提供的交易數(shù)據(jù)同步接口:通過(guò)通用業(yè)務(wù)前置系統(tǒng),使一卡通系統(tǒng)中產(chǎn)生的交易數(shù)據(jù)能夠及時(shí)、準(zhǔn)確、安全地同步到水控系統(tǒng)中。為實(shí)現(xiàn)交易數(shù)據(jù)及時(shí)增量同步,系統(tǒng)中采用版本號(hào)進(jìn)行管理。新流水記錄的版本號(hào)最大。水控系統(tǒng)需要定時(shí)查詢中間庫(kù)中的小錢包交易表,將最新產(chǎn)生的交易記錄取出存放到水控系統(tǒng)自身的交易記錄表中,同時(shí)修改相應(yīng)賬號(hào)的數(shù)據(jù)。
3.7.2 水控系統(tǒng)提供的接口:為了使現(xiàn)有水控系統(tǒng)的設(shè)計(jì)不變,小錢包的格式以水控系統(tǒng)的格式為依據(jù)。水控系統(tǒng)需要提供Win32平臺(tái)的動(dòng)態(tài)鏈接庫(kù)(DLL)接口給一卡通系統(tǒng)。為實(shí)現(xiàn)無(wú)卡簽退功能,需要水控提供小錢包某時(shí)段消費(fèi)總額統(tǒng)計(jì)查詢接口,此接口可傳入一個(gè)小錢包賬號(hào)、起始時(shí)間參數(shù),傳出從起始時(shí)間至當(dāng)前時(shí)間的消費(fèi)總金額,并可通過(guò)返回值確定接口調(diào)用是否成功。
4 結(jié)束語(yǔ)
利用一卡通提供的空閑扇區(qū),開辟一個(gè)“小錢包”作為水控系統(tǒng)和一卡通系統(tǒng)的信息共享區(qū),從而實(shí)現(xiàn)了校園一卡通系統(tǒng)與水控管理系統(tǒng)的成功對(duì)接。這是一個(gè)成功對(duì)接的案例。本方案也適用于機(jī)房管理系統(tǒng)與圖書借閱系統(tǒng)等。目前我校的機(jī)房管理與圖書借閱系統(tǒng)均已成功納入一卡通系統(tǒng)的統(tǒng)一管理且運(yùn)行良好。本方案可操作性強(qiáng),對(duì)原系統(tǒng)沒(méi)有任何影響,具有通用性。本文的成功案例為學(xué)校信息化的全面發(fā)展和應(yīng)用系統(tǒng)的整合提供了解決方案。