本發(fā)明涉及通信技術(shù),尤其涉及一種卡應(yīng)用處理方法及裝置。
背景技術(shù):
隨著智能用戶(hù)身份識(shí)別卡業(yè)務(wù)應(yīng)用的發(fā)展,用戶(hù)終端上可以使用的卡應(yīng)用的數(shù)量不斷增多,目前,可以通過(guò)短消息或網(wǎng)絡(luò)(WIFI或移動(dòng)數(shù)據(jù))等方式對(duì)卡應(yīng)用進(jìn)行遠(yuǎn)程操作。
現(xiàn)有技術(shù)中,移動(dòng)終端可以向卡應(yīng)用平臺(tái)發(fā)起針對(duì)各待下載應(yīng)用的服務(wù)安裝請(qǐng)求和個(gè)人化請(qǐng)求,并接收管理平臺(tái)發(fā)送的各待下載應(yīng)用的安裝/個(gè)人化APDU(Application Protocol Data Unit,應(yīng)用協(xié)議數(shù)據(jù)單元)APDU指令,用戶(hù)身份識(shí)別卡可以逐條寫(xiě)入所述APDU指令,從而實(shí)現(xiàn)對(duì)卡應(yīng)用的下載或安裝。
現(xiàn)有技術(shù)中方案的不足之處在于,一旦卡應(yīng)用安裝過(guò)程出現(xiàn)異常,則該方案無(wú)法完成卡應(yīng)用的處理。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種卡應(yīng)用處理方法及裝置,用以解決現(xiàn)有技術(shù)中一旦卡應(yīng)用安裝過(guò)程中出現(xiàn)異常,則無(wú)法完成卡應(yīng)用的處理的技術(shù)問(wèn)題。
本發(fā)明提供一種卡應(yīng)用處理方法,包括:
將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息;
接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息;
若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理。
進(jìn)一步地,所述用戶(hù)身份識(shí)別卡在執(zhí)行APDU指令時(shí)出現(xiàn)的異常包括普通異常和嚴(yán)重異常;
相應(yīng)的,若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理,包括:
根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常;
若為嚴(yán)重異常,則根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文;
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理。
進(jìn)一步地,所述嚴(yán)重異常為存儲(chǔ)空間不足導(dǎo)致的異常;
相應(yīng)的,所述將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,包括:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),并接收所述卡應(yīng)用平臺(tái)根據(jù)所述回執(zhí)報(bào)文發(fā)送的不常用文件獲取請(qǐng)求;
根據(jù)所述不常用文件獲取請(qǐng)求,獲取所述用戶(hù)身份識(shí)別卡中存儲(chǔ)的不常用文件;
將所述不常用文件發(fā)送給所述卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)將所述不常用文件與所述用戶(hù)身份識(shí)別卡的標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ);
向所述用戶(hù)身份識(shí)別卡發(fā)送刪除操作,以使所述用戶(hù)身份識(shí)別卡刪除所述不常用文件;
向所述用戶(hù)身份識(shí)別卡發(fā)送所述APDU指令,以使所述用戶(hù)身份識(shí)別卡重新執(zhí)行所述APDU指令。
進(jìn)一步地,所述嚴(yán)重異常為APDU指令參數(shù)不正確導(dǎo)致的異常;
相應(yīng)的,所述將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,包括:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),所述回執(zhí)報(bào)文中包括所述APDU指令的標(biāo)識(shí)信息,以使所述卡應(yīng)用平臺(tái)根據(jù)所述APDU指令的標(biāo)識(shí)信息,在A(yíng)PDU指令參數(shù)庫(kù)中查找所述APDU指令對(duì)應(yīng)的參數(shù);
接收所述卡應(yīng)用平臺(tái)返回的所述APDU指令對(duì)應(yīng)的參數(shù);
將所述APDU指令對(duì)應(yīng)的參數(shù)發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡根據(jù)所述APDU指令對(duì)應(yīng)的參數(shù)重新執(zhí)行所述APDU指令。
進(jìn)一步地,所述方法還包括:
若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)沒(méi)有出現(xiàn)異常,則判斷所述APDU指令是否為所屬階段的最后一條APDU指令,若是,則記錄所述APDU指令所屬階段已完成的標(biāo)識(shí);
相應(yīng)的,所述方法還包括:
接收用戶(hù)輸入的卡應(yīng)用的操作指令;
根據(jù)所述操作指令,判斷所述卡應(yīng)用已完成的階段;
將已完成階段的下一階段的第一條APDU指令發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述下一階段的第一條APDU指令。
本發(fā)明還提供一種卡應(yīng)用處理裝置,包括:
發(fā)送模塊,用于將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息;
接收模塊,用于接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息;
處理模塊,用于在所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令出現(xiàn)異常時(shí),進(jìn)行異常操作處理。
進(jìn)一步地,所述用戶(hù)身份識(shí)別卡執(zhí)行APDU指令時(shí)出現(xiàn)的異常包括普通異常和嚴(yán)重異常;
相應(yīng)的,所述處理模塊,包括:
判斷單元,用于根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常;
生成單元,用于在嚴(yán)重異常時(shí)根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文;
發(fā)送單元,用于將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理。
進(jìn)一步地,所述嚴(yán)重異常為存儲(chǔ)空間不足導(dǎo)致的異常;
相應(yīng)的,所述發(fā)送單元,具體用于:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),并接收所述卡應(yīng)用平臺(tái)根據(jù)所述回執(zhí)報(bào)文發(fā)送的不常用文件獲取請(qǐng)求;
根據(jù)所述不常用文件獲取請(qǐng)求,獲取所述用戶(hù)身份識(shí)別卡中存儲(chǔ)的不常用文件;
將所述不常用文件發(fā)送給所述卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)將所述不常用文件與所述用戶(hù)身份識(shí)別卡的標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ);
向所述用戶(hù)身份識(shí)別卡發(fā)送刪除操作,以使所述用戶(hù)身份識(shí)別卡刪除所述不常用文件;
向所述用戶(hù)身份識(shí)別卡發(fā)送所述APDU指令,以使所述用戶(hù)身份識(shí)別卡重新執(zhí)行所述APDU指令。
進(jìn)一步地,所述嚴(yán)重異常為APDU指令參數(shù)不正確導(dǎo)致的異常;
相應(yīng)的,所述發(fā)送單元,具體用于:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),所述回執(zhí)報(bào)文中包括所述APDU指令的標(biāo)識(shí)信息,以使所述卡應(yīng)用平臺(tái)根據(jù)所述APDU指令的標(biāo)識(shí)信息,在A(yíng)PDU指令參數(shù)庫(kù)中查找所述APDU指令對(duì)應(yīng)的參數(shù);
接收所述卡應(yīng)用平臺(tái)返回的所述APDU指令對(duì)應(yīng)的參數(shù);
將所述APDU指令對(duì)應(yīng)的參數(shù)發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡根據(jù)所述APDU指令對(duì)應(yīng)的參數(shù)重新執(zhí)行所述APDU指令。
進(jìn)一步地,所述接收模塊,還用于:
若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)沒(méi)有出現(xiàn)異常,則判斷所述APDU指令是否為所屬階段的最后一條APDU指令,若是,則記錄所述APDU指令所屬階段已完成的標(biāo)識(shí);
相應(yīng)的,所述處理模塊還用于:
接收用戶(hù)輸入的卡應(yīng)用的操作指令;
根據(jù)所述操作指令,判斷所述卡應(yīng)用已完成的階段;
將已完成階段的下一階段的第一條APDU指令發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述下一階段的第一條APDU指令。
本發(fā)明提供的卡應(yīng)用處理方法及裝置,通過(guò)將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息,并接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,若所述響應(yīng)報(bào)文中的狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理,能夠及時(shí)判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行APDU指令過(guò)程中是否出現(xiàn)異常,并對(duì)異常進(jìn)行處理,從而完成卡應(yīng)用的處理。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一提供的卡應(yīng)用處理方法的流程圖;
圖2為本發(fā)明實(shí)施例二提供的卡應(yīng)用處理方法的流程圖;
圖3為本發(fā)明實(shí)施例三提供的卡應(yīng)用處理裝置的結(jié)構(gòu)框圖;
圖4為本發(fā)明實(shí)施例四提供的卡應(yīng)用處理裝置中處理模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本申請(qǐng)實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本申請(qǐng)實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”、“若”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類(lèi)似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
實(shí)施例一
本發(fā)明實(shí)施例一提供一種卡應(yīng)用處理方法。圖1為本發(fā)明實(shí)施例一提供的卡應(yīng)用處理方法的流程圖。如圖1所示,本實(shí)施例中的方法,可以包括:
步驟101、將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息。
本實(shí)施例中的方法的執(zhí)行主體可以為用戶(hù)設(shè)備中的卡應(yīng)用客戶(hù)端,所述卡應(yīng)用客戶(hù)端可以與卡應(yīng)用平臺(tái)、用戶(hù)身份識(shí)別(Subscriber Identity Module,SIM)卡通信,從而完成卡應(yīng)用的操作。
所述卡應(yīng)用平臺(tái)可以進(jìn)行卡應(yīng)用信息管理、卡應(yīng)用操作異常處理等。所述卡應(yīng)用客戶(hù)端可以從卡應(yīng)用平臺(tái)獲取卡應(yīng)用對(duì)應(yīng)的APDU指令,并發(fā)送給用戶(hù)身份識(shí)別卡。所述用戶(hù)身份識(shí)別卡可以安裝在用戶(hù)設(shè)備中,用于接收卡應(yīng)用客戶(hù)端發(fā)送的APDU指令并執(zhí)行。
本實(shí)施例中所述的卡應(yīng)用,可以是用戶(hù)身份識(shí)別卡能夠下載安裝的任意應(yīng)用,如提供話(huà)費(fèi)查詢(xún)的卡應(yīng)用等。
在本步驟中,卡應(yīng)用客戶(hù)端可以將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給卡。具體地,要完成一個(gè)卡應(yīng)用可能需要多條APDU指令,則卡應(yīng)用客戶(hù)端可以首先從所述卡應(yīng)用平臺(tái)中下載所述多條APDU指令,下載完成后,再逐條發(fā)送給用戶(hù)身份識(shí)別卡;或者,所述卡應(yīng)用客戶(hù)端可以從所述卡應(yīng)用平臺(tái)下載完一條APDU指令后,即將該APDU指令發(fā)送給所述用戶(hù)身份識(shí)別卡,用戶(hù)身份識(shí)別卡完成該條APDU指令的執(zhí)行后,所述卡應(yīng)用客戶(hù)端再?gòu)乃隹☉?yīng)用平臺(tái)下載下一條APDU指令。
所述用戶(hù)身份識(shí)別卡接收到所述卡應(yīng)用客戶(hù)端發(fā)送的一條APDU指令后,可以執(zhí)行所述APDU指令,并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息。具體地,所述執(zhí)行結(jié)果可能是正常的,也可能是異常的,相應(yīng)的,所述狀態(tài)信息可以根據(jù)執(zhí)行結(jié)果來(lái)確定,例如,若執(zhí)行結(jié)果是正常的,則所述狀態(tài)信息為0,若執(zhí)行結(jié)果是異常的,則所述狀態(tài)信息為1。
步驟102、接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息。
所述用戶(hù)身份識(shí)別卡在根據(jù)執(zhí)行結(jié)果確定狀態(tài)信息后,可以向所述卡應(yīng)用客戶(hù)端返回響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中可以包括所述狀態(tài)信息,還可以包括數(shù)據(jù)信息,例如,所述APDU指令是用于獲取所述用戶(hù)身份識(shí)別卡中的某些數(shù)據(jù),則所述響應(yīng)報(bào)文中可以包括所述用戶(hù)身份識(shí)別卡根據(jù)所述APDU指令獲取到的數(shù)據(jù)。
步驟103、若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理。
所述卡應(yīng)用客戶(hù)端可以根據(jù)所述響應(yīng)信息中包括的狀態(tài)信息,確定所述卡在執(zhí)行所述APDU指令時(shí)是否出現(xiàn)異常。
例如,按照前述假設(shè),若所述狀態(tài)信息為0,則說(shuō)明所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令的執(zhí)行結(jié)果為正常,即所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令時(shí)沒(méi)有出現(xiàn)異常,此時(shí)可以繼續(xù)下一條APDU指令的發(fā)送。若所述狀態(tài)信息為1,則說(shuō)明所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令的執(zhí)行結(jié)果為異常,即所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令時(shí)出現(xiàn)了異常,此時(shí)卡應(yīng)用客戶(hù)端可以進(jìn)行異常操作處理。
所述異常操作處理可以有多種實(shí)現(xiàn)方式,例如,可以嘗試回滾用戶(hù)身份識(shí)別卡的執(zhí)行結(jié)果,重試操作;或者,可以將異常信息上報(bào)卡應(yīng)用平臺(tái),由卡應(yīng)用平臺(tái)進(jìn)行處理;或者,可以將異常信息推送給用戶(hù),由用戶(hù)進(jìn)行處理,等等。
在實(shí)際應(yīng)用中,當(dāng)用戶(hù)需要在用戶(hù)身份識(shí)別卡中安裝卡應(yīng)用時(shí),卡應(yīng)用客戶(hù)端可以從卡應(yīng)用平臺(tái)獲取相應(yīng)的APDU指令,并將APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,使得用戶(hù)身份識(shí)別卡可以執(zhí)行該APDU指令,并返回響應(yīng)報(bào)文,卡應(yīng)用客戶(hù)端可以根據(jù)響應(yīng)報(bào)文中的狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)是否出現(xiàn)異常,若未出現(xiàn)異常,則可以繼續(xù)下一條APDU指令的發(fā)送,直到所述卡應(yīng)用對(duì)應(yīng)的APDU指令全部發(fā)送完畢,若出現(xiàn)異常,則可以進(jìn)行針對(duì)異常進(jìn)行相應(yīng)的處理操作。
本實(shí)施例提供的卡應(yīng)用處理方法,通過(guò)將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息,并接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,若所述響應(yīng)報(bào)文中的狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理,能夠及時(shí)判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行APDU指令過(guò)程中是否出現(xiàn)異常,并對(duì)異常進(jìn)行處理,從而完成卡應(yīng)用的處理。
實(shí)施例二
本發(fā)明實(shí)施例二提供一種卡應(yīng)用處理方法。本實(shí)施例是在實(shí)施例一提供的技術(shù)方案的基礎(chǔ)上,將異常分為普通異常和嚴(yán)重異常,并在嚴(yán)重異常時(shí)上報(bào)卡應(yīng)用平臺(tái),請(qǐng)求卡應(yīng)用平臺(tái)對(duì)異常進(jìn)行處理。
圖2為本發(fā)明實(shí)施例二提供的卡應(yīng)用處理方法的流程圖。如圖2所示,本實(shí)施例中的方法,可以包括:
步驟201、將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息。
步驟202、接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息。
本實(shí)施例中,步驟201至步驟202與實(shí)施例一中的步驟101至步驟102的具體實(shí)現(xiàn)原理類(lèi)似,此處不再贅述。
步驟203、根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常。
步驟204、若為嚴(yán)重異常,則根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文。
步驟205、將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理。
所述用戶(hù)身份識(shí)別卡在執(zhí)行APDU指令時(shí)出現(xiàn)的異常包括普通異常和嚴(yán)重異常,所述普通異??梢允撬隹☉?yīng)用客戶(hù)端自身可以處理的異常,所述嚴(yán)重異??梢允撬隹☉?yīng)用客戶(hù)端自身難以處理的異常。本實(shí)施例中,可以通過(guò)步驟203至步驟205完成在出現(xiàn)異常時(shí)的異常操作處理。
在卡應(yīng)用客戶(hù)端中可以存儲(chǔ)有狀態(tài)表,狀態(tài)表中包括各狀態(tài)信息對(duì)應(yīng)的具體異常類(lèi)型,例如,狀態(tài)信息為1對(duì)應(yīng)的是APDU指令要求有返回?cái)?shù)據(jù)但是執(zhí)行后未獲取到數(shù)據(jù)而導(dǎo)致的異常,狀態(tài)信息為2對(duì)應(yīng)的是存儲(chǔ)空間不足導(dǎo)致的異常,狀態(tài)信息為3對(duì)應(yīng)的是APDU指令參數(shù)不正確導(dǎo)致的異常。此外,還可能有其它異常情況,比如存儲(chǔ)器故障、APDU指令要操作的文件未被找到、APDU指令不被允許等。
可以根據(jù)實(shí)際需要,將各狀態(tài)信息對(duì)應(yīng)的異常劃分為普通異?;驀?yán)重異常。例如,狀態(tài)信息為1對(duì)應(yīng)的異常為普通異常,狀態(tài)信息為2和狀態(tài)信息為3對(duì)應(yīng)的異常為嚴(yán)重異常。
卡應(yīng)用客戶(hù)端接收到響應(yīng)報(bào)文后,可以根據(jù)狀態(tài)信息與狀態(tài)表的比對(duì),確定異常類(lèi)型,進(jìn)而判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常。
若為普通異常,則可以嘗試回滾用戶(hù)身份識(shí)別卡的執(zhí)行結(jié)果,并重新發(fā)送所述APDU指令,使得所述用戶(hù)身份識(shí)別卡重新執(zhí)行;若為嚴(yán)重異常,則可以根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文,并將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理。
若所述嚴(yán)重異常為存儲(chǔ)空間不足導(dǎo)致的異常,則所述將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,可以包括:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),并接收所述卡應(yīng)用平臺(tái)根據(jù)所述回執(zhí)報(bào)文發(fā)送的不常用文件獲取請(qǐng)求;根據(jù)所述不常用文件獲取請(qǐng)求,獲取所述用戶(hù)身份識(shí)別卡中存儲(chǔ)的不常用文件;將所述不常用文件發(fā)送給所述卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)將所述不常用文件與所述用戶(hù)身份識(shí)別卡的標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ);向所述用戶(hù)身份識(shí)別卡發(fā)送刪除操作,以使所述用戶(hù)身份識(shí)別卡刪除所述不常用文件;向所述用戶(hù)身份識(shí)別卡發(fā)送所述APDU指令,以使所述用戶(hù)身份識(shí)別卡重新執(zhí)行所述APDU指令。
具體地,若所述用戶(hù)身份識(shí)別卡因?yàn)榇鎯?chǔ)空間不足導(dǎo)致執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則所述卡應(yīng)用平臺(tái)可以獲取所述用戶(hù)身份識(shí)別卡中的不常用文件,所述不常用文件可以為所述用戶(hù)身份識(shí)別卡中使用頻率較低的文件。所述卡應(yīng)用平臺(tái)可以將所述不常用文件備份,方便所述用戶(hù)身份識(shí)別卡以后重新獲取,然后,可以通過(guò)卡應(yīng)用客戶(hù)端指導(dǎo)所述用戶(hù)身份識(shí)別卡將所述不常用文件刪除,并重新執(zhí)行所述APDU指令,從而完成所述操作。在實(shí)際應(yīng)用中,可以在刪除不常用文件后,控制所述用戶(hù)身份識(shí)別卡直接重新執(zhí)行所述APDU指令,也可以控制所述用戶(hù)身份識(shí)別卡從所述APDU指令之前的某條指令開(kāi)始執(zhí)行,例如從所述APDU指令所屬階段的第一條APDU指令開(kāi)始重新執(zhí)行,以避免卡應(yīng)用操作出現(xiàn)異常。
進(jìn)一步地,所述卡應(yīng)用平臺(tái)可以根據(jù)所述回執(zhí)報(bào)文中的APDU指令標(biāo)識(shí),確定完成本次卡應(yīng)用安裝還需要的存儲(chǔ)空間,并發(fā)送所述不常用文件獲取請(qǐng)求,所述不常用文件獲取請(qǐng)求中可以包括所述還需要的存儲(chǔ)空間的信息,使得所述卡應(yīng)用客戶(hù)端根據(jù)所述不常用文件獲取請(qǐng)求獲取所述用戶(hù)身份識(shí)別卡中與所述存儲(chǔ)空間對(duì)應(yīng)的不常用文件。
若所述嚴(yán)重異常為APDU指令參數(shù)不正確導(dǎo)致的異常,則所述將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,可以包括:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),所述回執(zhí)報(bào)文中包括所述APDU指令的標(biāo)識(shí)信息,所述APDU指令的標(biāo)識(shí)信息可以用于表示所述APDU指令為所述卡應(yīng)用的第幾條APDU指令,以使所述卡應(yīng)用平臺(tái)根據(jù)所述APDU指令的標(biāo)識(shí)信息,在A(yíng)PDU指令參數(shù)庫(kù)中查找所述APDU指令對(duì)應(yīng)的參數(shù);接收所述卡應(yīng)用平臺(tái)返回的所述APDU指令對(duì)應(yīng)的參數(shù);將所述APDU指令對(duì)應(yīng)的參數(shù)發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡根據(jù)所述APDU指令對(duì)應(yīng)的參數(shù)重新執(zhí)行所述APDU指令。
本實(shí)施例提供的卡應(yīng)用處理操作,通過(guò)根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常,若為嚴(yán)重異常,則根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文,并將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,能夠在發(fā)生卡應(yīng)用客戶(hù)端自身無(wú)法解決的嚴(yán)重異常時(shí)及時(shí)請(qǐng)求卡應(yīng)用平臺(tái)對(duì)異常進(jìn)行處理,提高了異常處理效率,保障了卡應(yīng)用的正常安裝和處理。
進(jìn)一步地,若所述嚴(yán)重異常為APDU指令不被允許,則卡應(yīng)用客戶(hù)端可以重新向所述用戶(hù)身份識(shí)別卡發(fā)送所述APDU指令,使得所述用戶(hù)身份識(shí)別卡重新執(zhí)行所述APDU指令,如果重新執(zhí)行還是出現(xiàn)異常,則可以向卡應(yīng)用平臺(tái)發(fā)送所述回執(zhí)報(bào)文,使得所述卡應(yīng)用平臺(tái)通過(guò)卡應(yīng)用客戶(hù)端指導(dǎo)所述用戶(hù)身份識(shí)別卡重新安裝卡應(yīng)用。
進(jìn)一步地,在上述各實(shí)施例提供的技術(shù)方案的基礎(chǔ)上,優(yōu)選的是,所述方法還可以包括:
若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)沒(méi)有出現(xiàn)異常,則判斷所述APDU指令是否為所屬階段的最后一條APDU指令,若是,則記錄所述APDU指令所屬階段已完成的標(biāo)識(shí)。
相應(yīng)的,所述方法還可以包括:接收用戶(hù)輸入的卡應(yīng)用的操作指令;該操作指令可以是用戶(hù)通過(guò)點(diǎn)擊屏幕或者通過(guò)鍵盤(pán)等方式輸入的;
根據(jù)所述操作指令,判斷所述卡應(yīng)用已完成的階段;將已完成階段的下一階段的第一條APDU指令發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述下一階段的第一條APDU指令。
具體地,卡應(yīng)用可能包括多個(gè)階段,如下載安裝階段、個(gè)人化階段等,每一階段包括多條APDU指令。針對(duì)每一條APDU指令,若用戶(hù)身份識(shí)別卡執(zhí)行該APDU指令后返回的狀態(tài)信息表明未出現(xiàn)異常,則可以判斷該APDU指令是否為其所屬階段的最后一條,如果是的話(huà),記錄該所屬階段已經(jīng)完成的標(biāo)識(shí)。
當(dāng)因?yàn)槟承┰蛑袛嗷蛲顺隹☉?yīng)用操作后,在用戶(hù)下一次登錄卡應(yīng)用客戶(hù)端,或者輸入卡應(yīng)用的操作指令時(shí),可以從已完成階段的下一階段的第一條APDU指令開(kāi)始執(zhí)行。例如,已完成安裝階段,正在執(zhí)行個(gè)人化階段的APDU指令,則異常中斷恢復(fù)后,卡應(yīng)用客戶(hù)端可以指導(dǎo)用戶(hù)身份識(shí)別卡重新從個(gè)人化階段的第1條APDU指令開(kāi)始執(zhí)行,能夠維持卡應(yīng)用APDU指令的連續(xù)性,無(wú)需從第一階段的第一條APDU指令開(kāi)始執(zhí)行,提高了卡應(yīng)用操作的效率。
實(shí)施例三
本發(fā)明實(shí)施例三提供一種卡應(yīng)用處理裝置。圖3為本發(fā)明實(shí)施例三提供的卡應(yīng)用處理裝置的結(jié)構(gòu)框圖。如圖3所示,本實(shí)施例中的卡應(yīng)用處理裝置,可以包括:
發(fā)送模塊301,用于將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息;
接收模塊302,用于接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息;
處理模塊303,用于在所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令出現(xiàn)異常時(shí),進(jìn)行異常操作處理。
本實(shí)施例可以用于執(zhí)行實(shí)施例一所述的卡應(yīng)用操作方法,其具體實(shí)現(xiàn)原理與實(shí)施例一類(lèi)似,此處不再贅述。
本實(shí)施例提供的卡應(yīng)用處理裝置,通過(guò)將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息,并接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,若所述響應(yīng)報(bào)文中的狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)異常,則進(jìn)行異常操作處理,能夠及時(shí)判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行APDU指令過(guò)程中是否出現(xiàn)異常,并對(duì)異常進(jìn)行處理,從而完成卡應(yīng)用的處理。
實(shí)施例四
本發(fā)明實(shí)施例四提供一種卡應(yīng)用處理裝置。本實(shí)施例是在實(shí)施例三提供的技術(shù)方案的基礎(chǔ)上,所述用戶(hù)身份識(shí)別卡執(zhí)行APDU指令時(shí)出現(xiàn)的異常可以具體分為普通異常和嚴(yán)重異常。
本實(shí)施例中的卡應(yīng)用處理裝置,可以包括:
發(fā)送模塊,用于將從卡應(yīng)用平臺(tái)接收到的APDU指令發(fā)送給用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令并根據(jù)執(zhí)行結(jié)果生成狀態(tài)信息;
接收模塊,用于接收所述用戶(hù)身份識(shí)別卡返回的響應(yīng)報(bào)文,所述響應(yīng)報(bào)文中包括所述狀態(tài)信息;
處理模塊,用于在所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡執(zhí)行所述APDU指令出現(xiàn)異常時(shí),進(jìn)行異常操作處理。
上述各模塊的具體實(shí)現(xiàn)原理可以參照實(shí)施例三。
圖4為本發(fā)明實(shí)施例四提供的卡應(yīng)用處理裝置中處理模塊的結(jié)構(gòu)框圖。如圖4所示,所述處理模塊可以包括:
判斷單元401,用于根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常;
生成單元402,用于在嚴(yán)重異常時(shí)根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文;
發(fā)送單元403,用于將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理。
具體地,所述嚴(yán)重異??梢詾榇鎯?chǔ)空間不足導(dǎo)致的異常;相應(yīng)的,所述發(fā)送單元403,可以用于:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),并接收所述卡應(yīng)用平臺(tái)根據(jù)所述回執(zhí)報(bào)文發(fā)送的不常用文件獲取請(qǐng)求;
根據(jù)所述不常用文件獲取請(qǐng)求,獲取所述用戶(hù)身份識(shí)別卡中存儲(chǔ)的不常用文件;
將所述不常用文件發(fā)送給所述卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)將所述不常用文件與所述用戶(hù)身份識(shí)別卡的標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ);
向所述用戶(hù)身份識(shí)別卡發(fā)送刪除操作,以使所述用戶(hù)身份識(shí)別卡刪除所述不常用文件;
向所述用戶(hù)身份識(shí)別卡發(fā)送所述APDU指令,以使所述用戶(hù)身份識(shí)別卡重新執(zhí)行所述APDU指令。
或者,所述嚴(yán)重異??梢詾锳PDU指令參數(shù)不正確導(dǎo)致的異常;相應(yīng)的,所述發(fā)送單元403,可以用于:
將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),所述回執(zhí)報(bào)文中包括所述APDU指令的標(biāo)識(shí)信息,以使所述卡應(yīng)用平臺(tái)根據(jù)所述APDU指令的標(biāo)識(shí)信息,在A(yíng)PDU指令參數(shù)庫(kù)中查找所述APDU指令對(duì)應(yīng)的參數(shù);
接收所述卡應(yīng)用平臺(tái)返回的所述APDU指令對(duì)應(yīng)的參數(shù);
將所述APDU指令對(duì)應(yīng)的參數(shù)發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡根據(jù)所述APDU指令對(duì)應(yīng)的參數(shù)重新執(zhí)行所述APDU指令。
本實(shí)施例可以用于執(zhí)行實(shí)施例二所述的卡應(yīng)用操作方法,其具體實(shí)現(xiàn)原理與實(shí)施例二類(lèi)似,此處不再贅述。
本實(shí)施例提供的卡應(yīng)用處理裝置,通過(guò)根據(jù)所述狀態(tài)信息判斷所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)出現(xiàn)的異常是否為嚴(yán)重異常,若為嚴(yán)重異常,則根據(jù)所述狀態(tài)信息生成回執(zhí)報(bào)文,并將所述回執(zhí)報(bào)文發(fā)送給卡應(yīng)用平臺(tái),以使所述卡應(yīng)用平臺(tái)對(duì)所述異常進(jìn)行處理,能夠在發(fā)生卡應(yīng)用客戶(hù)端自身無(wú)法解決的嚴(yán)重異常時(shí)及時(shí)請(qǐng)求卡應(yīng)用平臺(tái)對(duì)異常進(jìn)行處理,提高了異常處理效率,保障了卡應(yīng)用的正常安裝和處理。
在上述實(shí)施例提供的技術(shù)方案的基礎(chǔ)上,優(yōu)選的是,所述接收模塊,還可以用于:
若所述狀態(tài)信息表示所述用戶(hù)身份識(shí)別卡在執(zhí)行所述APDU指令時(shí)沒(méi)有出現(xiàn)異常,則判斷所述APDU指令是否為所屬階段的最后一條APDU指令,若是,則記錄所述APDU指令所屬階段已完成的標(biāo)識(shí);
相應(yīng)的,所述處理模塊還可以用于:
接收用戶(hù)輸入的卡應(yīng)用的操作指令;
根據(jù)所述操作指令,判斷所述卡應(yīng)用已完成的階段;
將已完成階段的下一階段的第一條APDU指令發(fā)送給所述用戶(hù)身份識(shí)別卡,以使所述用戶(hù)身份識(shí)別卡執(zhí)行所述下一階段的第一條APDU指令。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。