楊平平
(南京通聯(lián)信息科技有限公司 江蘇省南京市 210032)
城市公共交通IC 卡的廣泛應(yīng)用,為方便百姓出行提供了安全、高效的支付方式,并以此作為城市公共服務(wù)的技術(shù)支持平臺(tái),提供多種信息和資源的共享,為加強(qiáng)政府公共服務(wù)職能起到了積極的推動(dòng)作用。
城市公共交通的特點(diǎn)是交易頻次高、單筆金額小,由于終端與卡片交易時(shí)雙離線的特點(diǎn),卡片消費(fèi)扣款后,由于卡片、終端以及網(wǎng)絡(luò)等多種因素,交易數(shù)據(jù)可能會(huì)滯后上傳或交易丟失,從而導(dǎo)致系統(tǒng)交易清分清算差異,造成電子錢包實(shí)際金額與電子錢包賬戶余額不一致,并導(dǎo)致結(jié)算不準(zhǔn)。所以在城市通卡領(lǐng)域,如何保證離線電子錢包交易的準(zhǔn)確性和一致性,具有重要的現(xiàn)實(shí)意義。
基于電子錢包交易時(shí)雙離線的特點(diǎn),通過芯片技術(shù)、智能終端技術(shù)、網(wǎng)絡(luò)技術(shù)、系統(tǒng)技術(shù)的應(yīng)用,提供了一種離線電子錢包交易的雙向容錯(cuò)控制方法,提高了電子錢包離線交易的可靠性和準(zhǔn)確性。
本方法的目的是基于離線電子錢包交易造成的電子錢包與系統(tǒng)賬戶之間的差異,設(shè)計(jì)一種對離線電子錢包的異常進(jìn)行雙向容錯(cuò)控制的方法,基于該方法可以識(shí)別判斷當(dāng)前電子錢包交易是否跳變,從而解決因交易數(shù)據(jù)滯后上傳或丟失引起的結(jié)算差異等一系列問題,為實(shí)現(xiàn)離線電子錢包的交易準(zhǔn)確性打下堅(jiān)實(shí)基礎(chǔ)。
本方法的具體技術(shù)方案包括以下幾個(gè)步驟:
步驟一:如果卡片交易序列號(hào)跳變,說明電子錢包交易丟失,需要進(jìn)行交易恢復(fù)控制。
步驟二:針對離線電子錢包交易,使用終端交易序列號(hào)跳變分析方法,判斷離線電子錢包交易是否滯后上傳或丟失。
本方法,是基于離線電子錢包交易進(jìn)行設(shè)計(jì),交易字段里面設(shè)計(jì)了卡交易序列號(hào)、終端交易序列號(hào)兩個(gè)字段,通過卡片交易序列號(hào)與終端交易序列號(hào)進(jìn)行雙向容錯(cuò)控制,卡片交易序列號(hào)監(jiān)測到卡片交易序列號(hào)跳變后,基于交易恢復(fù)金額進(jìn)行電子錢包賬戶平賬與電子錢包交易進(jìn)行恢復(fù)處理;終端交易序列號(hào)跳變處理模塊主動(dòng)監(jiān)測終端交易序列號(hào)的連續(xù)性,如發(fā)現(xiàn)終端交易序列號(hào)序號(hào)不連續(xù),形成交易補(bǔ)采文件下發(fā)到指定的終端,終端根據(jù)補(bǔ)采文件生成交易補(bǔ)采文件上傳,離線電子錢包交易系統(tǒng)獲取到交易補(bǔ)采文件后,進(jìn)行清分清算。
總體設(shè)計(jì)流程圖,如圖1所示。
圖1:總體設(shè)計(jì)流程圖
圖2:卡片交易序列號(hào)跳變監(jiān)測算法流程圖
圖3:卡片交易序列號(hào)容錯(cuò)控制算法流程圖
針對離線電子錢包交易,提供了一種容錯(cuò)控制方法,根據(jù)卡片交易序列號(hào)跳變監(jiān)測,來判斷電子錢包交易是未上傳或交易數(shù)據(jù)丟失。卡片交易序列號(hào)跳變監(jiān)測算法流程如圖2所示。
其過程可用算法1 描述。
輸入:電子錢包交易數(shù)據(jù)記錄
輸出:卡片交易序列號(hào)是否跳變
(1)輸入離線電子錢包交易記錄;
(2)提取當(dāng)前離線電子錢包記錄中的卡片交易序列號(hào),將記錄中的卡片交易序列號(hào)與卡片交易序列號(hào)監(jiān)測模塊中記錄的最近一筆卡片交易序列號(hào)進(jìn)行比較;
圖4:終端交易序列號(hào)跳變監(jiān)測算法流程圖
圖5:終端交易序列號(hào)容錯(cuò)控制算法流程圖
(3)如當(dāng)前電子錢包交易中的卡片交易序列號(hào)-1 ≠卡片交易序列號(hào)監(jiān)測模塊記錄的最近一筆卡片交易序列號(hào),說明卡片交易序列號(hào)跳變,輸出卡片跳變
(4)將最近一筆終端交易序列號(hào)更新為當(dāng)前記錄中終端交易序列號(hào);
(5)卡片交易序列號(hào)跳變監(jiān)測結(jié)束。
根據(jù)卡片交易序列號(hào)跳變監(jiān)測結(jié)果,來判斷電子錢包交易是否丟失,如卡片交易序列號(hào)跳變,需對電子錢包交易進(jìn)行容錯(cuò)控制。卡片交易序列號(hào)容錯(cuò)控制算法流程如圖3所示。
其過程可用算法2 描述:
輸入:當(dāng)前離線電子錢包交易記錄,卡片交易序列號(hào)跳變
輸出:電子錢包交易恢復(fù)
(1)輸入當(dāng)前離線電子錢包交易記錄、卡片交易序列號(hào)跳變;
(2)檢索電子錢包賬戶表(電子錢包賬戶表信息:卡面號(hào)、卡內(nèi)號(hào)、卡種、卡余額、卡內(nèi)余額、最近一次消費(fèi)金額、最近一次消費(fèi)日期、最近一次消費(fèi)交易序列號(hào)、最近一次充值金額、最近一次充值日期、最近一次充值交易序列號(hào)、上一次充值認(rèn)證號(hào)、最近一次充值認(rèn)證號(hào)、總消費(fèi)次數(shù)、總消費(fèi)金額、總充值次數(shù)、總充值金額、創(chuàng)建時(shí)間、更新時(shí)間);
(3)將電子錢包賬戶表中的賬戶余額-離線電子錢包記錄中的交易前余額=相差余額,再將相差余額-電子錢包消費(fèi)記錄中的交易金額=交易恢復(fù)金額;
(4)根據(jù)交易恢復(fù)金額,進(jìn)行電子錢包賬戶平賬,并將交易恢復(fù)金額對電子錢包賬戶記錄表進(jìn)行記扣(電子錢包賬戶余額-交易恢復(fù)金額、卡內(nèi)余額用交易前金額-交易金額替換);
(5)基于卡號(hào)、交易恢復(fù)金額、交易恢復(fù)時(shí)間,形成交易明細(xì)表,并進(jìn)行清分清算;
(6)卡片交易序列號(hào)容錯(cuò)控制結(jié)束。
針對離線電子錢包交易,本方法根據(jù)終端交易序列號(hào)跳變監(jiān)測,來判斷電子錢包交易是未上傳或交易數(shù)據(jù)丟失。終端交易序列號(hào)跳變監(jiān)測算法流程如圖4所示。
其過程可用算法3 描述:
輸入:電子錢包交易數(shù)據(jù)記錄
輸出:終端交易序列號(hào)是否跳變
(1)輸入離線電子錢包交易記錄;
(2)提取當(dāng)前離線電子錢包記錄中的終端交易序列號(hào),將記錄中的終端交易序列號(hào)與終端交易序列號(hào)監(jiān)測模塊中記錄的最近一筆終端交易序列號(hào)進(jìn)行比較;
(3)如當(dāng)前電子錢包交易中的終端交易序列號(hào)-1 ≠終端交易序列號(hào)監(jiān)測模塊終端記錄的最近一筆終端交易序列號(hào),說明終端交易序列號(hào)跳變,輸出終端交易序列號(hào)跳變;
(4)將最近一筆終端交易序列號(hào)更新為當(dāng)前記錄中終端交易序列號(hào);
(5)終端交易序列號(hào)跳變監(jiān)測結(jié)束。
根據(jù)終端交易序列號(hào)跳變監(jiān)測結(jié)果,來判斷電子錢包交易未上傳或交易數(shù)據(jù)丟失,如終端交易序列號(hào)跳變,需對電子錢包交易進(jìn)行容錯(cuò)控制。終端交易序列號(hào)容錯(cuò)控制算法流程如圖5所示。
其過程可用算法4 描述:
輸入:電子錢包交易數(shù)據(jù)記錄,終端交易序列號(hào)跳變
輸出:電子錢包交易恢復(fù)
(1)輸入離線電子錢包交易記錄(電子錢包交易記錄信息:卡內(nèi)號(hào)、卡面號(hào)、消費(fèi)卡型、卡種、交易類型、上/下車時(shí)間日期、終端交易序列號(hào)、卡交易序列號(hào)、PSAM 卡交易序列號(hào)、交易金額、交易前余額、錯(cuò)誤代碼、清算日期、發(fā)卡機(jī)構(gòu)號(hào)、城市代碼、公司代碼、采集點(diǎn)代碼、POS 機(jī)號(hào)、PSAM 終端機(jī)編號(hào)、文件類型、POS 機(jī)載體編號(hào)、采集日期、交易日期、終端機(jī)發(fā)送序號(hào)、補(bǔ)采時(shí)間、交易類型標(biāo)識(shí)、手續(xù)費(fèi)、換乘優(yōu)惠類型、換乘優(yōu)惠金額、保留數(shù)據(jù)、保留字段、充值認(rèn)證號(hào)、SAM卡號(hào)、機(jī)具程序版本號(hào)、版本更新時(shí)間、入庫時(shí)間);
(2)提取當(dāng)前離線電子錢包記錄中的終端交易序列號(hào);
(3)根據(jù)終端交易序列號(hào)跳變結(jié)果,計(jì)算記錄中的終端交易序列號(hào)與最近一筆終端記錄的交易序列號(hào)間隔的序列號(hào);
(4)終端交易序列號(hào)監(jiān)控模塊記錄終端號(hào)、間隔的終端交易序列號(hào)數(shù)據(jù)集并形成終端交易補(bǔ)采數(shù)據(jù)記錄,同時(shí)將最近一筆終端交易序列號(hào)更新為當(dāng)前上來的終端交易序列號(hào);
(5)批處理模塊基于終端交易補(bǔ)采數(shù)據(jù)記錄,形成終端交易補(bǔ)采文件,并將終端補(bǔ)采文件下發(fā)到對應(yīng)的終端;
(6)終端收到補(bǔ)采文件后,根據(jù)補(bǔ)采的終端序列號(hào),檢索出終端中對應(yīng)的電子錢包交易,并將檢索的交易記錄進(jìn)行打包上傳;
(7)離線電子錢包交易系統(tǒng)收到補(bǔ)采的電子錢包交易,進(jìn)行清分清算(電子錢包賬戶記扣,形成交易明細(xì)記錄);
(8)終端交易序列號(hào)容錯(cuò)控制結(jié)束。
通過電子錢包離線交易形成卡片電子錢包金額與系統(tǒng)電子錢包賬戶金額數(shù)據(jù)的差異性分析,建立了一種離線電子錢包交易容錯(cuò)控制的模型,通過卡片交易序列號(hào)、終端交易序列號(hào)監(jiān)測分析與控制,提高了離線電子錢包交易的準(zhǔn)確性。