本發(fā)明涉及智能卡應(yīng)用管理技術(shù)領(lǐng)域,具體涉及一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法和系統(tǒng)、及多應(yīng)用管理系統(tǒng)。
背景技術(shù):
Mifare卡是目前世界上使用量最大、技術(shù)最成熟、且性能穩(wěn)定的一種感應(yīng)式智能IC卡。Mifare S50卡芯片是目前應(yīng)用最廣泛的Mifare中卡芯片。
Mifare S50是存儲(chǔ)在SIM卡中的一塊特定區(qū)域,其包括16個(gè)扇區(qū),每個(gè)扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,是最小的讀寫單位,每個(gè)塊包含16個(gè)字節(jié),每個(gè)扇區(qū)有自己的一組密碼,可以控制本扇區(qū)的操作權(quán)限。數(shù)據(jù)均可存儲(chǔ)于塊中,和基于Mifare實(shí)現(xiàn)的RF機(jī)具設(shè)備進(jìn)行非接觸指令交互。對(duì)于校園,企業(yè)等應(yīng)用,可以通過(guò)發(fā)行Mifare個(gè)人化來(lái)實(shí)現(xiàn)對(duì)不同應(yīng)用的權(quán)限管理。但現(xiàn)實(shí)中如果兩個(gè)Mifare應(yīng)用均需要使用同一個(gè)扇區(qū)的塊就會(huì)產(chǎn)生沖突問(wèn)題,比如另個(gè)Mifare應(yīng)用都需要使用第二扇區(qū)和第三扇區(qū),則會(huì)產(chǎn)生應(yīng)用沖突,為了避免該種沖突,Mifare卡中通常只安裝會(huì)占用相同扇區(qū)的應(yīng)用中的一個(gè),但目前很多的Mifare應(yīng)用經(jīng)常會(huì)出現(xiàn)需要占用相同扇區(qū)的情況,這就需要配置多個(gè)Mifare卡,造成用戶體驗(yàn)較差,且成本較高。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法和系統(tǒng)、及多應(yīng)用管理系統(tǒng),實(shí)現(xiàn)了一卡中多個(gè)占用相同扇區(qū)的Mifare應(yīng)用的并存與管理。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法,包括以下步驟:
當(dāng)Mifare卡中存在與待安裝的第一M1應(yīng)用相沖突的第二M1應(yīng)用時(shí),創(chuàng)建第一M1應(yīng)用和第二M1應(yīng)用相沖突的第一扇區(qū)的第一虛擬映射扇區(qū),將第一M1應(yīng)用安裝到所述第一虛擬映射扇區(qū);
所述M1應(yīng)用即Mifare應(yīng)用,兩個(gè)M1應(yīng)用相沖突是指兩個(gè)M1應(yīng)用占用Mifare卡相同的扇區(qū);所述第一虛擬映射扇區(qū)與第一扇區(qū)結(jié)構(gòu)相同。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法,創(chuàng)建第一虛擬映射扇區(qū)前,還包括:
判斷Mifare卡中的可用存儲(chǔ)空間是否大于安裝第一M1應(yīng)用所占用的空間,若是,則創(chuàng)建第一虛擬映射扇區(qū),若否,則提示空間不足。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法,若所述第一M1應(yīng)用為首次在Mifare卡中安裝的與第二M1應(yīng)用相沖突的M1應(yīng)用時(shí),還包括:
創(chuàng)建所述第一扇區(qū)的第二虛擬映射扇區(qū),將第二M1應(yīng)用的數(shù)據(jù)拷貝到第二虛擬映射扇區(qū)中備份。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法,該方法還包括:
接收用戶的第三M1應(yīng)用操作請(qǐng)求,判斷第三M1應(yīng)用是否為當(dāng)前處于激活狀態(tài)的第四M1應(yīng)用,若是,則響應(yīng)所述第三M1應(yīng)用操作請(qǐng)求,若否,則去激活第四M1應(yīng)用,并激活第三M1應(yīng)用,響應(yīng)第三M1應(yīng)用操作請(qǐng)求;所述操作請(qǐng)求包括應(yīng)用激活操作或應(yīng)用刪除操作。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法,當(dāng)?shù)谌齅1應(yīng)用為安裝于第三虛擬映射扇區(qū)的應(yīng)用時(shí),所述激活第三M1應(yīng)用包括:
將第三虛擬映射扇區(qū)中的數(shù)據(jù)覆蓋寫入到與第三虛擬映射扇區(qū)相沖突的第二扇區(qū)中,激活第二扇區(qū)中的第三M1應(yīng)用;其中,第三虛擬映射扇區(qū)中的數(shù)據(jù)在第三虛擬映射扇區(qū)中保留有備份。
本發(fā)明還提供了一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),包括多應(yīng)用管理模塊;所述多應(yīng)用管理模塊包括:
虛擬映射扇區(qū)創(chuàng)建單元,用于當(dāng)Mifare卡中存在與待安裝的第一M1應(yīng)用相沖突的第二M1應(yīng)用時(shí),創(chuàng)建第一M1應(yīng)用和第二M1應(yīng)用相沖突的第一扇區(qū)的第一虛擬映射扇區(qū);所述M1應(yīng)用即Mifare應(yīng)用,兩個(gè)M1應(yīng)用相沖突是指兩個(gè)M1應(yīng)用占用Mifare卡相同的扇區(qū);所述第一虛擬映射扇區(qū)與第一扇區(qū)結(jié)構(gòu)相同;
應(yīng)用安裝單元,用于將第一M1應(yīng)用安裝到所述第一虛擬映射扇區(qū)。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),所述虛擬映射扇區(qū)創(chuàng)建單元包括:
可用空間判斷子單元,用于在創(chuàng)建第一虛擬映射扇區(qū)前,判斷Mifare卡中的可用存儲(chǔ)空間是否大于安裝第一M1應(yīng)用所占用的空間,若是,則創(chuàng)建第一虛擬映射扇區(qū),若否,則提示空間不足。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),若所述第一M1應(yīng)用為首次在Mifare卡中安裝的與第二M1應(yīng)用相沖突的M1應(yīng)用時(shí),所述虛擬映射扇區(qū)創(chuàng)建單元還用于創(chuàng)建所述第一扇區(qū)的第二虛擬映射扇區(qū),將第二M1應(yīng)用的數(shù)據(jù)拷貝到第二虛擬映射扇區(qū)中備份。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),所述多應(yīng)用管理模塊還包括:
應(yīng)用操作請(qǐng)求接收單元,用于接收用戶的第三M1應(yīng)用操作請(qǐng)求;
操作請(qǐng)求處理單元,用于判斷第三M1應(yīng)用是否為當(dāng)前處于激活狀態(tài)的第四M1應(yīng)用,若是,則響應(yīng)所述第三M1應(yīng)用操作請(qǐng)求,若否,則去激活第四M1應(yīng)用,并激活第三M1應(yīng)用,響應(yīng)第三M1應(yīng)用操作請(qǐng)求;所述操作請(qǐng)求包括應(yīng)用激活操作或應(yīng)用刪除操作。
進(jìn)一步,如上所述的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),當(dāng)?shù)谌齅1應(yīng)用為安裝于第三虛擬映射扇區(qū)的應(yīng)用時(shí),所述操作請(qǐng)求處理單元,還用于在激活第三M1應(yīng)用時(shí),將第三虛擬映射扇區(qū)中的數(shù)據(jù)覆蓋寫入到與第三虛擬映射扇區(qū)相沖突的第二扇區(qū)中,激活第三M1應(yīng)用;其中,第三虛擬映射扇區(qū)中的數(shù)據(jù)在第三虛擬映射扇區(qū)中保留有備份。
本發(fā)明還提供了一種Mifare卡的多應(yīng)用管理系統(tǒng),包括移動(dòng)終端和Mifare卡,所述Mifare卡包括權(quán)利要求6-10之一所述的Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng);所述Mifare卡還包括用于與移動(dòng)終端通信的多應(yīng)用管理接口,多應(yīng)用管理模塊通過(guò)所述多應(yīng)用管理接口接收用戶通過(guò)移動(dòng)終端發(fā)送的M1應(yīng)用操作請(qǐng)求。
本發(fā)明的有益效果在于:本發(fā)明提供的Mifare卡的多應(yīng)用實(shí)現(xiàn)方法和系統(tǒng)、及多應(yīng)用管理系統(tǒng),解決了現(xiàn)有技術(shù)中同一Mifare卡中安裝占用相同扇區(qū)的Mifare應(yīng)用時(shí),所產(chǎn)生的沖突問(wèn)題,實(shí)現(xiàn)了同一Mifare卡中多個(gè)相沖突的Mifare應(yīng)用的并存,提高了Mifare卡的利用率,且通過(guò)所述多應(yīng)用管理系統(tǒng),使發(fā)卡后用戶可以動(dòng)態(tài)管理自己Mifare應(yīng)用,提升了用戶的使用體驗(yàn)。
附圖說(shuō)明
圖1為本發(fā)明具體實(shí)施方式中提供的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法的流程圖;
圖2為本發(fā)明具體實(shí)施方式中提供的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明具體實(shí)施方式中提供的另一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為本發(fā)明本發(fā)明具體實(shí)施方式中提供的一種Mifare卡的多應(yīng)用管理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合說(shuō)明書附圖與具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
圖1示出了本發(fā)明具體實(shí)施方式中提供的一種Mifare卡的多應(yīng)用實(shí)現(xiàn)方法的流程圖,由圖中可以看出,該方法主要可以包括以下步驟:
步驟S1:判斷Mifare卡中是否存在與待安裝的第一M1應(yīng)用相沖突的第二M1應(yīng)用,若否,則將第一M1應(yīng)用安裝到相應(yīng)的扇區(qū)中,若是,則進(jìn)入步驟S2:
步驟S2:創(chuàng)建第一M1應(yīng)用和第二M1應(yīng)用相沖突的第一扇區(qū)的第一虛擬映射扇區(qū);
步驟S3:將第一M1應(yīng)用安裝到所述第一虛擬映射扇區(qū)中。
本實(shí)施方式中,為了方便,將Mifare應(yīng)用即Mifare應(yīng)用程序簡(jiǎn)稱為M1應(yīng)用。當(dāng)需要將第一M1應(yīng)用安裝到Mifare卡中時(shí),首先判斷Mifare卡中存在與待安裝的第一M1應(yīng)用相沖突的第二M1應(yīng)用,其中,兩個(gè)M1應(yīng)用相沖突是指兩個(gè)M1應(yīng)用需要至少占用Mifare卡相同的一個(gè)扇區(qū),例如,兩個(gè)應(yīng)用都需要占用Mifare卡的扇區(qū)A,或者一個(gè)應(yīng)用需要占用A和第三扇區(qū)B,另一個(gè)需要占用扇區(qū)B和扇區(qū)C,那么兩種情況下都存在相沖突,前者相沖突的扇區(qū)為第二扇區(qū),后者為第三扇區(qū)。
當(dāng)存在與第一M1應(yīng)用相沖突的第二M1應(yīng)用,首先創(chuàng)建第一M1應(yīng)用和第二M1應(yīng)用相沖突的第一扇區(qū)的第一虛擬映射扇區(qū),之后將第一M1應(yīng)用安裝到所述第一虛擬映射扇區(qū),其中,所述第一虛擬映射扇區(qū)與第一扇區(qū)結(jié)構(gòu)相同。即在Mifare卡的可用空間中創(chuàng)建一個(gè)結(jié)構(gòu)與實(shí)際的第一扇區(qū)完全相同的扇區(qū),作為實(shí)際扇區(qū)的映射扇區(qū),將需要安裝的第一M1應(yīng)用安裝到該映射扇區(qū)中。當(dāng)然,如果第一M1應(yīng)用與第二M1應(yīng)用需要同時(shí)占用兩個(gè)或多個(gè)扇區(qū)時(shí),則需要對(duì)應(yīng)創(chuàng)建兩個(gè)或多個(gè)扇區(qū)用于安裝第一M1應(yīng)用。
本發(fā)明的一個(gè)實(shí)施例中,所述多應(yīng)用實(shí)現(xiàn)方法還包括判斷所述第一M1應(yīng)用是否是首次在Mifare卡中安裝的與第二M1應(yīng)用相沖突的M1應(yīng)用,如果是,則該方法還包括創(chuàng)建所述第一扇區(qū)的第二虛擬映射扇區(qū)的步驟,將第二M1應(yīng)用的數(shù)據(jù)拷貝到第二虛擬映射扇區(qū)中備份。第二虛擬映射扇區(qū)同樣與第一扇區(qū)的結(jié)構(gòu)相同。
即當(dāng)存在與第一M1應(yīng)用相沖突的第二M1應(yīng)用時(shí),如果在安裝第一M1應(yīng)用之前,Mifare卡中沒有與第二M1相沖突的其它應(yīng)用時(shí),在采集用于安裝第一M1應(yīng)用的第一虛擬映射扇區(qū)時(shí),還需要?jiǎng)?chuàng)建該第一扇區(qū)的第二虛擬映射扇區(qū),用于將第二M1應(yīng)用的數(shù)據(jù)復(fù)制備份到第二虛擬映射扇區(qū)中。也就是說(shuō),一個(gè)真實(shí)扇區(qū)可以存在多個(gè)與其結(jié)構(gòu)相同的虛擬映射扇區(qū),如果Mifare卡中存在相沖突的M1應(yīng)用時(shí),那么相沖突的每個(gè)M1應(yīng)用都對(duì)應(yīng)存在一個(gè)虛擬映射扇區(qū),用于備份其應(yīng)用數(shù)據(jù)。
在實(shí)際應(yīng)用中,在創(chuàng)建所述第一虛擬映射扇區(qū)前,還包括:
判斷Mifare卡中的可用存儲(chǔ)空間是否大于安裝第一M1應(yīng)用所占用的空間,若是,則創(chuàng)建第一虛擬映射扇區(qū),若否,則提示空間不足。
本發(fā)明的一個(gè)實(shí)施例中,所述方法還包括:接收用戶的第三M1應(yīng)用操作請(qǐng)求,判斷第三M1應(yīng)用是否為當(dāng)前處于激活狀態(tài)的第四M1應(yīng)用,若是,則響應(yīng)所述第三M1應(yīng)用操作請(qǐng)求,若否,則去激活第四M1應(yīng)用,并激活第三M1應(yīng)用,響應(yīng)第三M1應(yīng)用操作請(qǐng)求;其中,所述操作請(qǐng)求包括但不限于應(yīng)用激活操作或應(yīng)用刪除操作。也就是說(shuō),在激活某一M1應(yīng)用時(shí),需要同時(shí)去激活當(dāng)前處于激活狀態(tài)的M1應(yīng)用,這兩個(gè)操作要進(jìn)行事務(wù)保護(hù),保證其原子性,即要么都執(zhí)行,要么都不執(zhí)行,保證當(dāng)前處于激活狀態(tài)的M1應(yīng)用只有一個(gè)。對(duì)M1應(yīng)用的激活或去激活的操作實(shí)現(xiàn)為現(xiàn)有技術(shù)。
本發(fā)明一個(gè)實(shí)施例中,當(dāng)所述第三M1應(yīng)用為安裝于第三虛擬映射扇區(qū)的應(yīng)用時(shí),即Mifare卡中存在與所述第三M1應(yīng)用相沖突的其它M1應(yīng)用時(shí),所述激活第三M1應(yīng)用包括:
將第三虛擬映射扇區(qū)中的數(shù)據(jù)覆蓋寫入到與第三虛擬映射扇區(qū)相沖突的第二扇區(qū)中,激活第三M1應(yīng)用;其中,第三虛擬映射扇區(qū)中的數(shù)據(jù)在第三虛擬映射扇區(qū)中保留有備份。
也就是說(shuō),當(dāng)卡中存在相沖突的M1應(yīng)用時(shí),需要激活這些相沖突的M1應(yīng)用中的某個(gè)應(yīng)用時(shí),就把該應(yīng)用的數(shù)據(jù)寫入到實(shí)際的真正扇區(qū)中,然后激活該應(yīng)用。第二扇區(qū)為第三M1應(yīng)用和與其沖突的其它M1應(yīng)用共同占用的Mifare卡的真正扇區(qū)。
與圖1中所示的方法相對(duì)應(yīng),本發(fā)明實(shí)施例中還提供了一種Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng),如圖2所示,該系統(tǒng)包括多應(yīng)用管理模塊100;所述多應(yīng)用管理模塊100包括虛擬映射扇區(qū)創(chuàng)建單元110和應(yīng)用安裝單元120。
虛擬映射扇區(qū)創(chuàng)建單元110,用于當(dāng)Mifare卡中存在與待安裝的第一M1應(yīng)用相沖突的第二M1應(yīng)用時(shí),創(chuàng)建第一M1應(yīng)用和第二M1應(yīng)用相沖突的第一扇區(qū)的第一虛擬映射扇區(qū);所述M1應(yīng)用即Mifare應(yīng)用,兩個(gè)M1應(yīng)用相沖突是指兩個(gè)M1應(yīng)用占用Mifare卡相同的扇區(qū);所述第一虛擬映射扇區(qū)與第一扇區(qū)結(jié)構(gòu)相同;
應(yīng)用安裝單元120,用于將第一M1應(yīng)用安裝到所述第一虛擬映射扇區(qū)。
本發(fā)明的一個(gè)實(shí)施例中,所述虛擬映射扇區(qū)創(chuàng)建單元110包括可用空間判斷子單元111。
可用空間判斷子單元111,用于在創(chuàng)建第一虛擬映射扇區(qū)前,判斷Mifare卡中的可用存儲(chǔ)空間是否大于安裝第一M1應(yīng)用所占用的空間,若是,則創(chuàng)建第一虛擬映射扇區(qū),若否,則提示空間不足。
本發(fā)明的一個(gè)實(shí)施例中,若所述第一M1應(yīng)用為首次在Mifare卡中安裝的與第二M1應(yīng)用相沖突的M1應(yīng)用時(shí),所述虛擬映射扇區(qū)創(chuàng)建單元110還用于創(chuàng)建所述第一扇區(qū)的第二虛擬映射扇區(qū),將第二M1應(yīng)用的數(shù)據(jù)拷貝到第二虛擬映射扇區(qū)中備份。
本發(fā)明的一個(gè)實(shí)施例中,所述多應(yīng)用管理模塊100還包括應(yīng)用操作請(qǐng)求接收單元130和操作請(qǐng)求處理單元140,如圖3所示。
所述應(yīng)用操作請(qǐng)求接收單元130,用于接收用戶的第三M1應(yīng)用操作請(qǐng)求;
所述操作請(qǐng)求處理單元140,用于判斷第三M1應(yīng)用是否為當(dāng)前處于激活狀態(tài)的第四M1應(yīng)用,若是,則響應(yīng)所述第三M1應(yīng)用操作請(qǐng)求,若否,則去激活第四M1應(yīng)用,并激活第三M1應(yīng)用,響應(yīng)第三M1應(yīng)用操作請(qǐng)求;所述應(yīng)用操作請(qǐng)求包括但不限于激活操作或應(yīng)用刪除操作。
本發(fā)明的一個(gè)實(shí)施例中,當(dāng)?shù)谌齅1應(yīng)用為安裝于第三虛擬映射扇區(qū)的應(yīng)用時(shí),所述操作請(qǐng)求處理單元140,還用于在激活第三M1應(yīng)用時(shí),將第三虛擬映射扇區(qū)中的數(shù)據(jù)覆蓋寫入到與第三虛擬映射扇區(qū)相沖突的第二扇區(qū)中,激活第三M1應(yīng)用;其中,第三虛擬映射扇區(qū)中的數(shù)據(jù)在第三虛擬映射扇區(qū)中保留有備份。
本發(fā)明實(shí)施例中還提供了一種Mifare卡的多應(yīng)用管理系統(tǒng),如圖4所示,包括移動(dòng)終端1和Mifare卡2,所述Mifare卡包括上述的任一Mifare卡的多應(yīng)用實(shí)現(xiàn)系統(tǒng);所述Mifare卡2還包括用于與移動(dòng)終端1通信的多應(yīng)用管理接口200,多應(yīng)用管理模塊100通過(guò)所述多應(yīng)用管理接口200接收用戶通過(guò)移動(dòng)終端1發(fā)送的M1應(yīng)用操作請(qǐng)求。
在實(shí)際應(yīng)用中,可以通過(guò)在移動(dòng)終端中安裝對(duì)應(yīng)的Mifare卡的多應(yīng)用APP,用戶可以通過(guò)APP的菜單實(shí)現(xiàn)對(duì)Mifare卡中應(yīng)用的管理,如安裝新的M1應(yīng)用、獲取當(dāng)前卡片的M1應(yīng)用信息、激活或者刪除M1應(yīng)用等,用戶對(duì)M1的管理操作都是通過(guò)Mifare卡底層COS提供的Mifare多應(yīng)用管理接口來(lái)實(shí)現(xiàn)。通過(guò)本發(fā)明提供的該管理系統(tǒng),使用戶即使在發(fā)卡后也可以動(dòng)態(tài)管理自己的M1應(yīng)用,方便用戶自己維護(hù)M1應(yīng)用。
需要說(shuō)明的是,在本文中,第一扇區(qū)、第二扇區(qū)指的Mifare卡中16個(gè)扇區(qū)中的真正的扇區(qū),第一虛擬映射扇區(qū)、第二虛擬映射扇區(qū)、第三虛擬映射扇區(qū)指的是在卡空間中創(chuàng)建的與各自相沖突的真正扇區(qū)結(jié)構(gòu)相同的區(qū)域,并非真正扇區(qū)。
本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。如上述第一扇區(qū)、第二扇區(qū)中的第一和第二指的并非是Mifare卡中的真正的第一扇區(qū)和第二扇區(qū),而只是用于表示兩個(gè)可能相同也可能不同的Mifare卡的真正扇區(qū)。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。