專利名稱:一種針對非接觸式智能卡的終端及其處理異常的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及射頻識別應(yīng)用技術(shù)領(lǐng)域,尤其涉及針對非接觸式智能卡的終端及其處理異常的方法。
背景技術(shù):
目前消費(fèi)智能卡有很多種,有射頻SIM卡(RFSIM),是可實(shí)現(xiàn)中近距離無線通信的 手機(jī)智能卡;有非接觸式的CPU卡,是一種非接觸式的IC卡,可實(shí)現(xiàn)近距離通信,等等。此 夕卜,還有一種非接觸式邏輯加密卡,它與智能卡的區(qū)別在于在智能卡中,由于存在一個(gè)帶 有微處理器(MPU,Micro-Processor Unit)的集成電路,故除了具有較大的存儲容量外,還 具備一定的數(shù)據(jù)處理能力,使用起來數(shù)據(jù)的安全性更高;而非接觸式的邏輯加密卡只具有 數(shù)據(jù)存儲功能,不具備數(shù)據(jù)處理能力,其安全性易被破解,只是由于其成本較低,故目前尚 沒有完全被智能卡所替代。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,射頻識別技術(shù)的應(yīng)用場景越來越復(fù)雜,譬如將智能卡應(yīng) 用于各類消費(fèi),各種智能卡片將會逐步替代原有的非接觸式邏輯加密卡。同時(shí),為了滿足各 種消費(fèi)需求,出現(xiàn)了在一張智能卡片中組合錢包的情況,譬如在企業(yè)中,員工的智能卡中用 于食堂消費(fèi)的錢包有兩個(gè),一個(gè)是用于存放企業(yè)每月發(fā)放的補(bǔ)貼,一個(gè)是用于存放個(gè)人充 值金額等。另外,還有一張智能卡中有多種錢包的情況,譬如用于公交乘車消費(fèi)的公交卡, 同時(shí)可在一些超市中購物消費(fèi)等。在專利200910092488. 4中曾提到智能卡建立多錢包的 應(yīng)用問題,但該專利是僅從智能卡的角度講述如何擴(kuò)展多錢包。在現(xiàn)實(shí)應(yīng)用中,人們常見的運(yùn)用智能卡進(jìn)行消費(fèi)的方式有兩種,一種是聯(lián)機(jī)交易, 另一種則是脫機(jī)交易。其中,聯(lián)機(jī)交易的賬戶信息是存儲在后臺服務(wù)器,用戶在進(jìn)行交易時(shí) 通過智能卡的唯一標(biāo)識(即智能卡的卡號),來確定其后臺服務(wù)器上的賬戶信息,因此終端 無需配備消費(fèi)安全存取模塊(PSAM,Purchase Secure Access Module);脫機(jī)交易的賬戶信 息是存儲在智能卡中,這樣就需要在終端上配備PSAM,用于對交易中的數(shù)據(jù)進(jìn)行安全認(rèn)證, 如圖1所示。由于在進(jìn)行交易過程中終端無需像聯(lián)機(jī)交易那樣與后臺服務(wù)器頻繁進(jìn)行交 互,故脫機(jī)交易消費(fèi)的應(yīng)用范圍比聯(lián)機(jī)交易更為廣闊。從圖1中可以看出,智能卡與終端通過空口進(jìn)行通信,因?yàn)榻灰咨婕暗劫M(fèi)用支付 問題,所以,在交易過程中終端需要通過PSAM對數(shù)據(jù)進(jìn)行安全認(rèn)證,交易的所有數(shù)據(jù)最后 會通過網(wǎng)絡(luò)傳輸?shù)胶笈_服務(wù)器上。非接觸式智能卡在進(jìn)行一次交易通信過程中,可能會遇到以下問題第一,在消費(fèi)過程中,終端工作正常,但智能卡可能會異常離開終端的感應(yīng)區(qū);此時(shí),終端通知用戶將智能卡重新放回終端的感應(yīng)區(qū)上,待終端重新搜尋到該智 能卡,并確認(rèn)為是剛剛所使用的智能卡后,通過PSAM的智能卡驗(yàn)證命令從智能卡獲取驗(yàn)證 數(shù)據(jù)所需的第二報(bào)文鑒別碼(MAC2,MessageAuthentication Code 2)信息,以驗(yàn)證交易的 合法性,如果MAC2信息驗(yàn)證成功,說明交易已發(fā)生,即在智能卡的賬戶信息中相應(yīng)的款項(xiàng) 已扣,此時(shí)終端將該記錄存儲到終端上的數(shù)據(jù)庫中,PSAM將生成新的交易流水號,完成交易.第二,在消費(fèi)過程中,終端可能會突然斷電;此時(shí),如果按照上述智能卡異常離開終端的感應(yīng)區(qū)的方式進(jìn)行防拔處理,則無法 通過PSAM的驗(yàn)證,原因是原PSAM的初始化信息已在終端斷電時(shí)丟失。并且,不但當(dāng)前的交 易無法確定,同時(shí)組合錢包交易到哪一步也無法確定。在此,終端防拔處理是指在交易過程中出現(xiàn)交易異常結(jié)束時(shí),保證交易的一致性 的做法。交易的一致性是指通過終端的處理使得智能卡上的交易信息和后臺服務(wù)器上的交
易信息一致。在專利CN01130114. 7和專利CN200510025030. 9中,描述了非接觸式邏輯加密卡
的防拔處理方法,但由于其存在以下問題仍無法解決上述在交易過程出現(xiàn)異常而導(dǎo)致交易 無法繼續(xù)進(jìn)行的根本問題(1)這兩項(xiàng)專利描述的都是非接觸式的邏輯加密卡的防拔處理方法或者數(shù)據(jù)恢復(fù) 方法,而不是智能卡或射頻SIM卡的防拔處理方法,由于兩類卡的結(jié)構(gòu)的不同,故前者的處 理方式不能移植到后者。(2)這兩項(xiàng)專利僅講述的是對非接觸式邏輯加密卡因晃動移出終端的感應(yīng)區(qū)域后 所導(dǎo)致的交易異常進(jìn)行的處理,而并不包括對于終端在上電情況下的異常以及在終端突然 斷電時(shí)的異常的防拔處理。(3)這兩項(xiàng)專利均未提到一張智能卡具有多錢包消費(fèi)的終端的防拔處理方法。由此可見,現(xiàn)有的非接觸式智能卡的終端及其處理異常的方法需要加以改進(jìn),使 其能夠針對智能卡、終端的異常進(jìn)行相應(yīng)的防拔處理,且能夠方便地適應(yīng)于一卡多錢包交 易的終端中。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種針對非接觸式智能卡的終端及其處理異 常的方法,能夠針對智能卡、終端的異常進(jìn)行防拔處理。為了解決上述技術(shù)問題,本發(fā)明提供了一種針對非接觸式智能卡的終端處理異常 的方法,包括終端在進(jìn)行消費(fèi)的初始化處理時(shí),設(shè)置和/或備份所述智能卡的錢包信息,并至 少將錢包的交易狀態(tài)設(shè)置為交易初始;終端在進(jìn)行交易過程中逐步更新錢包的交易狀態(tài),并進(jìn)行錢包的交易記錄;若在 交易過程中出現(xiàn)終端或智能卡異常,則根據(jù)交易狀態(tài)恢復(fù)正常的交易或終止異常的交易。進(jìn)一步地,通過一樹形數(shù)據(jù)結(jié)構(gòu)設(shè)置和/或備份智能卡內(nèi)的錢包信息,該樹形結(jié) 構(gòu)的根節(jié)點(diǎn)為錢包類型,下面的節(jié)點(diǎn)依次為一個(gè)或多個(gè)錢包類型,每一個(gè)錢包類型所屬的 一個(gè)或η個(gè)錢包,其中η為大于1的整數(shù);所述智能卡內(nèi)的錢包信息除所述錢包的交易狀態(tài) 夕卜,還包括所述錢包類型、錢包流水號、智能卡所需的錢包個(gè)數(shù)、總交易金額以及智能卡標(biāo) 識信息中的一種或多種。進(jìn)一步地,終端進(jìn)行交易過程包括在將交易狀態(tài)設(shè)置為交易開始后,向智能卡發(fā)送交易請求,并在對該智能卡安全 驗(yàn)證通過后,接收該智能卡返回的交易響應(yīng);
終端將交易響應(yīng)的結(jié)果中的第二報(bào)文鑒別碼(MAC2)信息傳輸給消費(fèi)安全存取模 塊(PSAM),根據(jù)該P(yáng)SAM返回的交易合法的驗(yàn)證結(jié)果,將錢包的交易狀態(tài)更新為交易完成。
進(jìn)一步地,終端在交易過程中出現(xiàn)智能卡異常離開終端的感應(yīng)區(qū)的情況下,重新 搜尋到該智能卡后,通過PSAM讀取并驗(yàn)證其中的MAC 2信息的合法性,合法則認(rèn)為交易完 成,生成新的交易記錄;否則認(rèn)為交易未發(fā)生,若進(jìn)一步判斷智能卡內(nèi)有組合錢包中的其它 錢包,則針對其它錢包進(jìn)行重新交易。進(jìn)一步地,終端在所述交易過程中出現(xiàn)斷電的異常并在上電后,讀取備份的錢包 的交易狀態(tài),若判斷交易已完成,則根據(jù)交易記錄若判斷該錢包處于交易進(jìn)行中,則提示將 該智能卡重新放入所述感應(yīng)區(qū)域內(nèi),若繼續(xù)判斷該錢包當(dāng)前的交易已完成,則存儲交易異 常的記錄,同時(shí)終止后續(xù)錢包的交易;若判斷智能卡存在組合錢包交易,則存儲智能卡其它 錢包已完成的交易記錄,對于未完成交易的其它錢包則進(jìn)行重新交易初始化的處理。為了解決上述技術(shù)問題,本發(fā)明提供了一種針對非接觸式智能卡的終端,包括交 易初始化模塊、數(shù)據(jù)庫模塊、交易進(jìn)行模塊以及異常處理模塊,其中交易初始化模塊,用于在進(jìn)行消費(fèi)的初始化處理時(shí),將智能卡的錢包信息設(shè)置和/ 或備份到數(shù)據(jù)庫模塊中,其中至少將錢包的交易狀態(tài)設(shè)置為交易初始,向交易進(jìn)行模塊輸 出交易命令;數(shù)據(jù)庫模塊,用于存儲設(shè)置和/或備份的智能卡的錢包信息;交易進(jìn)行模塊,用于根據(jù)交易初始化模塊輸出的交易命令進(jìn)行交易,并在進(jìn)行交 易過程中逐步更新錢包的交易狀態(tài),以及進(jìn)行錢包的交易記錄;異常處理模塊,用于在交易過程中出現(xiàn)終端或所述智能卡異常,則根據(jù)交易狀態(tài) 恢復(fù)正常的交易或終止異常的交易。進(jìn)一步地,交易初始化模塊通過一樹形數(shù)據(jù)結(jié)構(gòu)設(shè)置和/或備份智能卡內(nèi)的錢包信息,在樹 形結(jié)構(gòu)的根節(jié)點(diǎn)為錢包類型,下面的節(jié)點(diǎn)依次為一個(gè)或多個(gè)錢包類型,每一個(gè)錢包類型所 屬的一個(gè)或η個(gè)錢包,其中η為大于1的整數(shù);智能卡內(nèi)的錢包信息除錢包的交易狀態(tài)外, 還包括錢包類型、錢包流水號、智能卡所需的錢包個(gè)數(shù)、總交易金額以及智能卡標(biāo)識信息中 的一種或多種。進(jìn)一步地,交易進(jìn)行模塊內(nèi)含有消費(fèi)安全存取模塊(PSAM),其中交易進(jìn)行模塊將交易狀態(tài)設(shè)置為交易開始后,向智能卡發(fā)送交易請求,并對該智 能卡進(jìn)行安全驗(yàn)證通過后,將智能卡返回的交易響應(yīng)的結(jié)果中的第二報(bào)文鑒別碼(MAC2) 信息通過該P(yáng)SAM進(jìn)行交易合法性的驗(yàn)證,根據(jù)該P(yáng)SAM的交易合法的驗(yàn)證結(jié)果,更改數(shù)據(jù)庫 模塊中存儲的錢包的消費(fèi)狀態(tài)為消費(fèi)完成,并生成新的交易記錄。進(jìn)一步地,異常處理模塊包括第一異常處理單元,其中第一異常處理單元,用于處理所述智能卡離開終端感應(yīng)區(qū)的異常,指示所述交易 進(jìn)行模塊進(jìn)行非斷電異常處理;交易進(jìn)行模塊根據(jù)第一異常處理單元的非斷電異常處理的指示,當(dāng)重新搜尋到該 智能卡后,通過PSAM讀取并驗(yàn)證其中的MAC2信息的合法性,合法則認(rèn)為交易完成,生成新 的交易記錄;不合法則認(rèn)為交易未發(fā)生,若進(jìn)一步判斷智能卡內(nèi)有組合錢包中的其它錢包, 則針對該錢包進(jìn)行重新交易。
進(jìn)一步地,異常處理模塊還包括第二異常處理單元,其中第二異常處理單元,用于在所述交易進(jìn)行模塊發(fā)生斷電異常并又上電后讀取數(shù)據(jù) 庫模塊中備份的錢包的交易狀態(tài)信息,若判斷交易已完成,則根據(jù)交易記錄判斷當(dāng)前的錢 包是否處于交易進(jìn)行中,是則指示交易進(jìn)行模塊進(jìn)行第一斷電異常處理;若判斷智能卡存 在組合錢包交易,則指示交易進(jìn)行模塊進(jìn)行第二斷電異常處理;交易進(jìn)行模塊根據(jù)第一斷電異常處理的指示,提示將智能卡重新放入感應(yīng)區(qū)域 內(nèi),繼續(xù)判斷該錢包當(dāng)前交易是否完成,是則存儲交易異常的記錄,同時(shí)終止后續(xù)錢包的交 易;和/或根據(jù)第二斷電異常處理的指示,存儲智能卡其它錢包已完成的交易記錄,對于未 完成交易其它錢包則進(jìn)行重新交易初始化的處理。本發(fā)明的針對非接觸式智能卡的終端及其處理異常的方法,通過消費(fèi)終端對智能 卡初始化時(shí)進(jìn)行必要的數(shù)據(jù)備份,包括交易狀態(tài)、錢包類型、需要的錢包個(gè)數(shù)、當(dāng)前錢包流 水號、每次交易的總金額、智能卡標(biāo)識(譬如智能卡序列號)等信息,并在交易過程中逐步 地修改交易狀態(tài)及其相應(yīng)的數(shù)據(jù);由此,使得終端能夠在出現(xiàn)終端或智能卡異常異常之后 可以從交易狀態(tài)所示的步驟開始處理,并恢復(fù)相應(yīng)的數(shù)據(jù),從而使得交易能夠在異常去除 后繼續(xù)進(jìn)行下去。
圖1是現(xiàn)有的智能卡應(yīng)用于消費(fèi)的脫機(jī)交易的系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明用于一卡多錢包的智能卡信息存儲的數(shù)據(jù)結(jié)構(gòu)實(shí)施例示意圖;圖3是本發(fā)明的交易方法的實(shí)施例流程圖;圖4是本發(fā)明的沒斷電的防拔處理方法實(shí)施例流程;圖5是本發(fā)明的斷電重新上電后的防拔處理方法實(shí)施例流程;圖6是本發(fā)明針對非接觸式智能卡的終端實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和優(yōu)選實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)地闡述。以下例舉的實(shí) 施例僅僅用于說明和解釋本發(fā)明,而不構(gòu)成對本發(fā)明技術(shù)方案的限制。如圖2所示,是本發(fā)明提供的用于一卡多錢包的智能卡中錢包信息存儲的數(shù)據(jù)結(jié) 構(gòu)的一實(shí)施例,它是一個(gè)樹形結(jié)構(gòu)。其中,在錢包類型節(jié)點(diǎn)下可以有一個(gè)或多個(gè)具體的錢包 類型,譬如以消費(fèi)金額為特點(diǎn)的錢包類型1、以消費(fèi)次數(shù)為特點(diǎn)的錢包類型2 ;在錢包類型1 的節(jié)點(diǎn)下又可以包括1個(gè)或多個(gè)錢包,譬如以企業(yè)消費(fèi)為主體的1號錢包、以企業(yè)消費(fèi)補(bǔ)助 的2號錢包,等等。當(dāng)然,除了采用樹狀結(jié)構(gòu)外,本發(fā)明對錢包信息存儲的數(shù)據(jù)結(jié)構(gòu)還可以 采用圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)等。如圖3所示,為本發(fā)明提供的應(yīng)用于一卡多錢包的智能卡進(jìn)行交易的方法的實(shí)施 例流程,包括如下步驟201、202:終端機(jī)針對智能卡上一個(gè)錢包向智能卡發(fā)送交易的初始化請求,并等待智能卡返回的初始化響應(yīng);203、204:如果智能卡返回的初始化響應(yīng)結(jié)果為該錢包余額不足或是余額過期,且 該卡可處于多錢包消費(fèi)的情況(即圖2所示的樹形結(jié)構(gòu)中一個(gè)錢包類型節(jié)點(diǎn)下有多個(gè)分支),則對該卡的其它錢包也向智能卡發(fā)送交易的初始化請求,并根據(jù)對智能卡返回的初始 化響應(yīng)結(jié)果進(jìn)行驗(yàn)證,確定該智能卡是否可以進(jìn)行多錢包組合消費(fèi)。本發(fā)明為了使終端在智能卡或終端出現(xiàn)異常后及時(shí)進(jìn)行防拔處理,提出進(jìn)行數(shù)據(jù) 備份,它是保證數(shù)據(jù)的一致性必不可少的環(huán)節(jié)。而備份哪些數(shù)據(jù),在何時(shí)備份,則直接影響 著終端的處理時(shí)間。本發(fā)明在對智能卡內(nèi)的錢包的管理上,采用如圖2所示的樹形結(jié)構(gòu),該結(jié)構(gòu)在可 以節(jié)省存儲數(shù)據(jù)的空間的前提下提高終端處理的時(shí)間。需要在該樹形數(shù)據(jù)結(jié)構(gòu)中備份的數(shù) 據(jù)如下表1所示。表1智能卡的備份數(shù)據(jù)
交易狀態(tài)I錢包類型I錢包個(gè)數(shù)I當(dāng)前錢包流水號 交易總金額智能卡標(biāo)識^
1字節(jié) ψ^ ψ^IW^6個(gè)字節(jié)首先終端在進(jìn)行消費(fèi)初始化的時(shí)侯,可設(shè)置智能卡內(nèi)錢包的交易狀態(tài)、錢包類型、 需要的錢包個(gè)數(shù)、每次交易總金額、智能卡標(biāo)識(譬如通過智能卡的應(yīng)用序列號實(shí)現(xiàn))等信 息,其中,將交易狀態(tài)設(shè)置為交易初始。終端在交易過程中可逐步修改交易狀態(tài),以便終端 在出現(xiàn)異常之后從交易狀態(tài)所示的步驟開始進(jìn)行處理,并根據(jù)備份數(shù)據(jù)恢復(fù)錢包流水號、 錢包個(gè)數(shù)以及交易總金額等信息。205,206 消費(fèi)過程開始,首先終端機(jī)向PSAM發(fā)送初始化請求,由PSAM在返回的初 始化響應(yīng)中攜帶交易所需要的驗(yàn)證信息MACl ;207 209 終端機(jī)向智能卡發(fā)送交易請求,并對智能卡安全驗(yàn)證通過后,智能卡 返回交易響應(yīng);終端機(jī)在前面的步驟中已對智能卡的錢包類型、錢包流水號,需要的錢包個(gè)數(shù)、總 交易金額以及智能卡標(biāo)識等信息進(jìn)行了初始化設(shè)置;在向智能卡發(fā)送交易請求之前,需先 將交易狀態(tài)設(shè)置為交易開始,然后發(fā)送交易請求。210,211 終端機(jī)將智能卡交易響應(yīng)結(jié)果中的MAC2傳輸給PSAM,隨后接收PSAM的 交易合法性的驗(yàn)證結(jié)果,終端機(jī)則將交易狀態(tài)更新為交易完成。交易可以首先從所確定的錢包類型分支下序列號最小的那個(gè)錢包開始,或者相 反,或者從任意一個(gè)序列號的錢包開始。如果在上述步驟209智能卡返回交易響應(yīng)之前發(fā)生異常,本發(fā)明按照智能卡離開 終端機(jī)的感應(yīng)區(qū)或者終端機(jī)發(fā)生斷電這兩類異常,分別進(jìn)行如下防拔處理(1)終端未發(fā)生斷電,其防拔處理的方法實(shí)施例流程如圖4所示,包括如下步驟301 終端機(jī)一直搜尋智能卡,直到尋到原卡為止,或者操作員強(qiáng)行停止交易;302、303 讀取原智能卡MAC2信息,并驗(yàn)證MAC2信息的合法性,合法則執(zhí)行步驟 304,否則執(zhí)行步驟305 ;304 交易完成,生成新的交易記錄,結(jié)束流程;305 307 交易未發(fā)生,此時(shí)進(jìn)一步判斷智能卡內(nèi)是否為組合錢包中的2號錢包, 是則針對該錢包進(jìn)行重新交易,否則結(jié)束流程。
(2)終端發(fā)生斷電,其防拔處理的方法實(shí)施例流程如圖5所示,包括如下步驟401 終端機(jī)斷電后重新上電,首先讀取備份文件;從備份文件中獲取備份信息,其內(nèi)容如表1所示。402:根據(jù)讀取的備份文件中的交易狀態(tài),判斷交易是否完成,是則執(zhí)行步驟403,否則結(jié)束流程;403 根據(jù)交易已完成判斷需進(jìn)行斷電防拔處理;404 406 根據(jù)交易記錄判斷出一號錢包是否處于交易進(jìn)行中;如果該錢包是處 于交易進(jìn)行中,則提示將智能卡重新放入感應(yīng)區(qū)域內(nèi),進(jìn)一步判斷智能卡中該錢包當(dāng)前的 交易是否完成,是則存儲交易異常的記錄,同時(shí)終止后續(xù)錢包的交易,否則結(jié)束流程。終端機(jī)判斷智能卡中該錢包當(dāng)前的交易是否完成,是根據(jù)當(dāng)前的錢包類型確定當(dāng) 前使用的錢包,并通過流水號讀取智能卡中該記錄的驗(yàn)證信息MAC2。如果驗(yàn)證信息讀取成 功,則說明智能卡已扣費(fèi),而該卡中的記錄與終端機(jī)的交易記錄不一致,此時(shí)由于終端機(jī)的 斷電未保留原PSAM中的初始化信息,故無法對該筆交易進(jìn)行驗(yàn)證,因而無法生成新的交易 流水號,則終端機(jī)提示交易異常。如果該錢包未處于交易進(jìn)行中(即沒有交易記錄),提示 交易未發(fā)生,并結(jié)束流程。407 410 如果存在組合錢包交易,則存儲智能卡其它錢包(n_l個(gè),η為大于1 的整數(shù))已完成的交易記錄,對于未完成交易其它錢包則進(jìn)行重新交易初始化的處理,具 體地407 在判斷存在組合錢包交易的情況下,如果繼續(xù)判斷下一個(gè)錢包(譬如二號錢 包)處于交易進(jìn)行中;408 繼續(xù)判斷該交易是否完成,是則執(zhí)行步驟409,否則執(zhí)行步驟410 ;409 存儲異常交易記錄,結(jié)束流程;410 對該錢包進(jìn)行重新交易初始化操作,結(jié)束流程。其它三號錢包.......(η-1)個(gè)錢包的處理可重復(fù)步驟407 410。本發(fā)明針對上述方法實(shí)施例,相應(yīng)地還提出一種非接觸式智能卡的終端實(shí)施例, 其結(jié)構(gòu)如圖6所示,該終端500包括交易初始化模塊510、數(shù)據(jù)庫模塊520、含有PSAM的交 易進(jìn)行模塊530以及異常處理模塊550,其中交易初始化模塊510,用于在進(jìn)行消費(fèi)的初始化處理時(shí),將智能卡的錢包信息設(shè)置 和/或備份到數(shù)據(jù)庫模塊520中,其中至少將錢包的交易狀態(tài)設(shè)置為交易初始,向交易進(jìn)行 模塊530輸出交易命令;交易初始化模塊510可根據(jù)智能卡的錢包信息的一樹形數(shù)據(jù)結(jié)構(gòu)(或其它數(shù)據(jù)結(jié) 構(gòu))確定該智能卡的錢包交易狀態(tài)、錢包類型、錢包流水號、智能卡所需的錢包個(gè)數(shù)、總交 易金額以及智能卡標(biāo)識等信息,如表1所示。數(shù)據(jù)庫模塊520,用于存儲智能卡的上述備份信息;交易進(jìn)行模塊530,用于根據(jù)交易初始化模塊510輸出的交易命令進(jìn)行交易,并在 進(jìn)行交易過程中逐步更新所述錢包的交易狀態(tài),以及進(jìn)行錢包的交易記錄;交易進(jìn)行模塊530將交易狀態(tài)設(shè)置為交易開始后,向智能卡發(fā)送交易請求,并對 智能卡進(jìn)行安全驗(yàn)證通過后,將智能卡返回的交易響應(yīng)中的MAC2通過PSAM進(jìn)行交易合法 性的驗(yàn)證,根據(jù)PSAM返回的交易合法的驗(yàn)證結(jié)果,更改數(shù)據(jù)庫模塊520中的存儲的錢包的消費(fèi)狀態(tài)為消費(fèi)完成,并生成新的交易記錄。異常處理模塊540,用于在監(jiān)測交易進(jìn)行模塊530進(jìn)行交易過程中出現(xiàn)智能卡或 終端斷電異常時(shí),根據(jù)從數(shù)據(jù)庫模塊520讀取的智能卡當(dāng)前錢包的交易狀態(tài)進(jìn)行相應(yīng)的防 拔處理。
異常處理模塊540包括第一異常處理單元5401和/或第二異常處理單元5402,其 中第一異常處理單元5401,用于處理智能卡離開終端感應(yīng)區(qū)的異常,即指示交易進(jìn) 行模塊530進(jìn)行非斷電異常處理;第二異常處理單元5402,用于處理交易進(jìn)行模塊530在發(fā)生斷電異常的防拔處 理,即上電后讀取數(shù)據(jù)庫模塊520中智能卡備份數(shù)據(jù)的交易狀態(tài),若判斷交易已完成,則根 據(jù)交易記錄判斷當(dāng)前的錢包是否處于交易進(jìn)行中,是則指示交易進(jìn)行模塊530進(jìn)行第一斷 電異常處理;若判斷智能卡存在組合錢包交易,則指示交易進(jìn)行模塊530進(jìn)行第二斷電異 常處理;交易進(jìn)行模塊530根據(jù)第一異常處理單元5401的非斷電異常處理的指示,當(dāng)重新 搜尋到原智能卡后,通過PSAM讀取并驗(yàn)證其中的MAC2信息的合法性,合法則認(rèn)為交易完 成,生成新的交易記錄;不合法則認(rèn)為交易未發(fā)生,若進(jìn)一步判斷智能卡內(nèi)有組合錢包中的 其它錢包,則針對該錢包進(jìn)行重新交易。交易進(jìn)行模塊530根據(jù)第二異常處理單元5402的第一斷電異常處理的指示,提 示將智能卡重新放入感應(yīng)區(qū)域內(nèi),繼續(xù)判斷該錢包當(dāng)前交易是否完成,是則存儲交易異常 的記錄,同時(shí)終止后續(xù)錢包的交易;根據(jù)第二異常處理單元5402的第二斷電異常處理的指 示,存儲智能卡其它錢包已完成的交易記錄,對于未完成交易其它錢包則進(jìn)行重新交易初 始化的處理。本發(fā)明通過消費(fèi)終端對智能卡初始化時(shí)進(jìn)行必要的數(shù)據(jù)備份,包括交易狀態(tài)、錢 包類型、需要的錢包個(gè)數(shù)、當(dāng)前錢包流水號、每次交易的總金額、智能卡標(biāo)識(譬如智能卡 序列號)等信息,并在交易過程中逐步地修改交易狀態(tài)及其相應(yīng)的數(shù)據(jù);由此使得終端能 夠在出現(xiàn)異常之后可以從交易狀態(tài)所示的步驟開始處理,并恢復(fù)相應(yīng)的數(shù)據(jù),從而使得交 易能夠在異常去除后繼續(xù)進(jìn)行下去。本說明書所附實(shí)施例是體現(xiàn)本發(fā)明構(gòu)思的一些典型例子,并不排除使用體現(xiàn)本發(fā) 明設(shè)計(jì)方案的其他實(shí)施例。在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人 員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明 所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
一種針對非接觸式智能卡的終端處理異常的方法,包括所述終端在進(jìn)行消費(fèi)的初始化處理時(shí),設(shè)置和/或備份所述智能卡的錢包信息,并至少將錢包的交易狀態(tài)設(shè)置為交易初始;所述終端在進(jìn)行交易過程中逐步更新所述錢包的交易狀態(tài),并進(jìn)行錢包的交易記錄;若在所述交易過程中出現(xiàn)所述終端或所述智能卡異常,則根據(jù)所述交易狀態(tài)恢復(fù)正常的交易或終止異常的交易。
2.按照權(quán)利要求1所述的方法,其特征在于,通過一樹形數(shù)據(jù)結(jié)構(gòu)設(shè)置和/或備份所述 智能卡內(nèi)的錢包信息,所述樹形結(jié)構(gòu)的根節(jié)點(diǎn)為錢包類型,下面的節(jié)點(diǎn)依次為一個(gè)或多個(gè) 錢包類型,每一個(gè)錢包類型所屬的一個(gè)或η個(gè)錢包,其中η為大于1的整數(shù);所述智能卡內(nèi) 的錢包信息除所述錢包的交易狀態(tài)外,還包括所述錢包類型、錢包流水號、智能卡所需的錢 包個(gè)數(shù)、總交易金額以及智能卡標(biāo)識信息中的一種或多種。
3.按照權(quán)利要求1或2所述的方法,其特征在于,所述終端進(jìn)行交易過程包括在將所述交易狀態(tài)設(shè)置為交易開始后,向所述智能卡發(fā)送交易請求,并在對該智能卡 安全驗(yàn)證通過后,接收該智能卡返回的交易響應(yīng);所述終端將所述交易響應(yīng)的結(jié)果中的第二報(bào)文鑒別碼(MAC2)信息傳輸給消費(fèi)安全存 取模塊(PSAM),根據(jù)所述PSAM返回的交易合法的驗(yàn)證結(jié)果,將錢包的交易狀態(tài)更新為交易 完成。
4.按照權(quán)利要求3所述的方法,其特征在于,所述終端在所述交易過程中出現(xiàn)所述智 能卡異常離開所述終端的感應(yīng)區(qū)的情況下,重新搜尋到該智能卡后,通過所述PSAM讀取并 驗(yàn)證其中的所述MAC 2信息的合法性,合法則認(rèn)為交易完成,生成新的交易記錄;否則認(rèn)為 交易未發(fā)生,若進(jìn)一步判斷智能卡內(nèi)有組合錢包中的其它錢包,則針對所述其它錢包進(jìn)行 重新交易。
5.按照權(quán)利要求3所述的方法,其特征在于,所述終端在所述交易過程中出現(xiàn)斷電的 異常并在上電后,讀取備份的所述錢包的交易狀態(tài),若判斷交易已完成,則根據(jù)交易記錄若 判斷該錢包處于交易進(jìn)行中,則提示將該智能卡重新放入所述感應(yīng)區(qū)域內(nèi),然后若繼續(xù)判 斷該錢包當(dāng)前的交易已完成,則存儲交易異常的記錄,同時(shí)終止后續(xù)其它錢包的交易;若判 斷智能卡存在組合錢包交易,則存儲所述智能卡其它錢包已完成的交易記錄,對于未完成 交易的其它錢包則進(jìn)行重新交易初始化的處理。
6.一種針對非接觸式智能卡的終端,包括交易初始化模塊、數(shù)據(jù)庫模塊、交易進(jìn)行模塊 以及異常處理模塊,其中所述交易初始化模塊,用于在進(jìn)行消費(fèi)的初始化處理時(shí),將所述智能卡的錢包信息設(shè) 置和/或備份到數(shù)據(jù)庫模塊中,其中至少將錢包的交易狀態(tài)設(shè)置為交易初始,向所述交易 進(jìn)行模塊輸出交易命令;所述數(shù)據(jù)庫模塊,用于存儲設(shè)置和/或備份的所述智能卡的錢包信息;所述交易進(jìn)行模塊,用于根據(jù)所述交易初始化模塊輸出的所述交易命令進(jìn)行交易,并 在進(jìn)行交易過程中逐步更新所述錢包的交易狀態(tài),以及進(jìn)行錢包的交易記錄;所述異常處理模塊,用于在所述交易過程中出現(xiàn)所述終端或所述智能卡異常,則根據(jù) 所述交易狀態(tài)恢復(fù)正常的交易或終止異常的交易。
7.按照權(quán)利要求6所述的終端,其特征在于,所述交易初始化模塊通過一樹形數(shù)據(jù)結(jié)構(gòu)設(shè)置和/或備份所述智能卡內(nèi)的錢包信息, 在所述樹形結(jié)構(gòu)的根節(jié)點(diǎn)為錢包類型,下面的節(jié)點(diǎn)依次為一個(gè)或多個(gè)錢包類型,每一個(gè)錢 包類型所屬的一個(gè)或η個(gè)錢包,其中η為大于1的整數(shù);所述智能卡內(nèi)的錢包信息除所述錢 包的交易狀態(tài)外,還包括所述錢包類型、錢包流水號、智能卡所需的錢包個(gè)數(shù)、總交易金額 以及智能卡標(biāo)識信息中的一種或多種。
8.按照權(quán)利要求6或7所述的終端,其特征在于,所述交易進(jìn)行模塊內(nèi)含有消費(fèi)安全存 取模塊(PSAM),其中所述交易進(jìn)行模塊將交易狀態(tài)設(shè)置為交易開始后,向所述智能卡發(fā)送交易請求,并 對該智能卡進(jìn)行安全驗(yàn)證通過后,將智能卡返回的交易響應(yīng)的結(jié)果中的第二報(bào)文鑒別碼 (MAC2)信息通過所述PSAM進(jìn)行交易合法性的驗(yàn)證,根據(jù)所述PSAM的交易合法的驗(yàn)證結(jié)果, 更改所述數(shù)據(jù)庫模塊中存儲的錢包的消費(fèi)狀態(tài)為消費(fèi)完成,并生成新的交易記錄。
9.按照權(quán)利要求8所述的終端,其特征在于,所述異常處理模塊包括第一異常處理單 元,其中所述第一異常處理單元,用于處理所述智能卡離開終端感應(yīng)區(qū)的異常,指示所述交易 進(jìn)行模塊進(jìn)行非斷電異常處理;所述交易進(jìn)行模塊根據(jù)所述第一異常處理單元的非斷電異常處理的指示,當(dāng)重新搜尋 到該智能卡后,通過所述PSAM讀取并驗(yàn)證其中的所述MAC2信息的合法性,合法則認(rèn)為交易 完成,生成新的交易記錄;不合法則認(rèn)為交易未發(fā)生,若進(jìn)一步判斷智能卡內(nèi)有組合錢包中 的其它錢包,則針對該錢包進(jìn)行重新交易。
10.按照權(quán)利要求9所述的終端,其特征在于,所述異常處理模塊還包括第二異常處理 單元,其中所述第二異常處理單元,用于在所述交易進(jìn)行模塊發(fā)生斷電異常并又上電后讀取所述 數(shù)據(jù)庫模塊中備份的所述錢包的交易狀態(tài)信息,若判斷交易已完成,則根據(jù)交易記錄判斷 當(dāng)前的錢包是否處于交易進(jìn)行中,是則所述指示交易進(jìn)行模塊進(jìn)行第一斷電異常處理;若 判斷智能卡存在組合錢包交易,則指示所述交易進(jìn)行模塊進(jìn)行第二斷電異常處理;所述交易進(jìn)行模塊根據(jù)所述第一斷電異常處理的指示,提示將智能卡重新放入感應(yīng)區(qū) 域內(nèi),繼續(xù)判斷該錢包當(dāng)前交易是否完成,是則存儲交易異常的記錄,同時(shí)終止后續(xù)錢包的 交易;和/或根據(jù)所述第二斷電異常處理的指示,存儲智能卡其它錢包已完成的交易記錄, 對于未完成交易其它錢包則進(jìn)行重新交易初始化的處理。
全文摘要
本發(fā)明披露了一種針對非接觸式智能卡的終端及其處理異常的方法,其中方法包括終端在進(jìn)行消費(fèi)的初始化處理時(shí),設(shè)置和/或備份所述智能卡的錢包信息,并至少將錢包的交易狀態(tài)設(shè)置為交易初始;終端在進(jìn)行交易過程中逐步更新錢包的交易狀態(tài),并進(jìn)行錢包的交易記錄;若在交易過程中出現(xiàn)終端或智能卡異常,則根據(jù)交易狀態(tài)恢復(fù)正常的交易或終止異常的交易。本發(fā)明使得終端能夠在出現(xiàn)終端或智能卡異常之后可以從交易狀態(tài)所示的步驟開始處理,并恢復(fù)相應(yīng)的數(shù)據(jù),從而使得交易能夠在異常去除后繼續(xù)進(jìn)行。
文檔編號G07F7/08GK101807320SQ20101014645
公開日2010年8月18日 申請日期2010年4月12日 優(yōu)先權(quán)日2010年4月12日
發(fā)明者余海峰, 侯曉凡, 吳中平, 張迪, 雷波 申請人:中興通訊股份有限公司