java卡及其應(yīng)用更新方法、應(yīng)用于java卡的終端、智能卡系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及一種java卡及其應(yīng)用更新方法、應(yīng)用于java卡的終端、智能卡系統(tǒng)。
【背景技術(shù)】
[0002]java卡是可以運(yùn)行java程序代碼的智能卡。java卡不同于傳統(tǒng)的智能卡(Native卡),分為平臺(tái)和Applet應(yīng)用兩部分。
[0003]智能卡的存儲(chǔ)體系主要是由讀寫存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)以及可擦寫編程存儲(chǔ)器(EEPROM)組成??刹翆懢幊檀鎯?chǔ)器(EEPROM)容量小,成本高,相對(duì)而言,只讀存儲(chǔ)器(ROM)容量大,成本低。同時(shí),Java卡的運(yùn)行時(shí)數(shù)據(jù)都在EEPROM存儲(chǔ),對(duì)EEPROM需求量大。所以,現(xiàn)在好多Java卡開(kāi)發(fā)廠商都把平臺(tái)和Applet應(yīng)用掩膜到ROM中,以騰出更多空間下載其他應(yīng)用或存儲(chǔ)數(shù)據(jù)。
[0004]但由于只能對(duì)只讀存儲(chǔ)器進(jìn)行讀,而不能對(duì)其進(jìn)行擦寫,因此當(dāng)掩膜于只讀存儲(chǔ)器的Applet應(yīng)用有bug (缺陷)時(shí),就不能有效地對(duì)其進(jìn)行更新,從而影響用戶體驗(yàn),開(kāi)發(fā)廠商只能更換只讀存儲(chǔ)器,這樣亦使得開(kāi)發(fā)廠商的更新成本提高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明主要解決的技術(shù)問(wèn)題是提供一種java卡及其應(yīng)用更新方法、應(yīng)用于java卡的終端、智能卡系統(tǒng),能夠?qū)ava卡中掩膜于只讀存儲(chǔ)器的應(yīng)用進(jìn)行更新,從而有效修補(bǔ)java卡的應(yīng)用中存在的bug,可提高用戶體驗(yàn),并降低更新成本。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種java卡的應(yīng)用更新方法,java卡包括:只讀存儲(chǔ)器,java卡的java卡平臺(tái)實(shí)現(xiàn)代碼掩膜于只讀存儲(chǔ)器,其中java卡平臺(tái)實(shí)現(xiàn)代碼用于實(shí)現(xiàn)標(biāo)準(zhǔn)應(yīng)用編程接口和運(yùn)行環(huán)境,并封裝了 java卡所在的智能卡系統(tǒng)的硬件信息;java卡的Applet應(yīng)用實(shí)現(xiàn)代碼中的功能類庫(kù)實(shí)現(xiàn)代碼掩膜于只讀存儲(chǔ)器,其中功能類庫(kù)實(shí)現(xiàn)代碼包括多個(gè)類;可擦寫存儲(chǔ)器,java卡的Applet應(yīng)用實(shí)現(xiàn)代碼中的應(yīng)用框架實(shí)現(xiàn)代碼以可擦寫方式存儲(chǔ)于可擦寫存儲(chǔ)器,其中應(yīng)用框架實(shí)現(xiàn)代碼用于調(diào)用類;總線,只讀存儲(chǔ)器與可擦寫存儲(chǔ)器分別與總線電連接;該方法包括:在檢測(cè)到功能類庫(kù)實(shí)現(xiàn)代碼的類需要進(jìn)行更新時(shí),擦除java卡中存儲(chǔ)于可擦寫存儲(chǔ)器的應(yīng)用框架實(shí)現(xiàn)代碼;與java卡進(jìn)行相互認(rèn)證;將新應(yīng)用框架實(shí)現(xiàn)代碼以及對(duì)應(yīng)于功能類庫(kù)實(shí)現(xiàn)代碼中需要更新的類的子類寫入可擦寫存儲(chǔ)器;
[0007]其中,在功能類庫(kù)實(shí)現(xiàn)代碼的需要更新的類的子類中對(duì)需要更新的類中的方法以覆蓋方式進(jìn)行重寫。
[0008]其中,新應(yīng)用框架實(shí)現(xiàn)代碼設(shè)置為用于停止調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中需要更新的類,且用于調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中除需要更新的類外的其它類以及子類。
[0009]其中,可擦寫存儲(chǔ)器為FLASH存儲(chǔ)器或EEPROM存儲(chǔ)器。
[0010]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種java卡,包括:只讀存儲(chǔ)器,java卡的java卡平臺(tái)實(shí)現(xiàn)代碼掩膜于只讀存儲(chǔ)器,其中java卡平臺(tái)實(shí)現(xiàn)代碼用于實(shí)現(xiàn)標(biāo)準(zhǔn)應(yīng)用編程接口和運(yùn)行環(huán)境,并封裝了 java卡所在的智能卡系統(tǒng)的硬件信息;java卡的Applet應(yīng)用實(shí)現(xiàn)代碼中的功能類庫(kù)實(shí)現(xiàn)代碼掩膜于只讀存儲(chǔ)器,其中功能類庫(kù)實(shí)現(xiàn)代碼包括多個(gè)類;可擦寫存儲(chǔ)器,java卡的Applet應(yīng)用實(shí)現(xiàn)代碼中的應(yīng)用框架實(shí)現(xiàn)代碼以可擦寫方式存儲(chǔ)于可擦寫存儲(chǔ)器,其中應(yīng)用框架實(shí)現(xiàn)代碼用于調(diào)用類;總線,只讀存儲(chǔ)器與可擦寫存儲(chǔ)器分別與總線電連接。
[0011]其中,可擦寫存儲(chǔ)器為FLASH存儲(chǔ)器或EEPROM存儲(chǔ)器。
[0012]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種應(yīng)用于上述的java卡的終端,包括:類存儲(chǔ)模塊,用于存儲(chǔ)對(duì)應(yīng)于功能類庫(kù)實(shí)現(xiàn)代碼中需要更新的類的子類,且在子類中對(duì)需要更新的類中的方法以覆蓋方式進(jìn)行重寫;應(yīng)用框架實(shí)現(xiàn)代碼存儲(chǔ)模塊,用于存儲(chǔ)新應(yīng)用框架實(shí)現(xiàn)代碼,其中新應(yīng)用框架實(shí)現(xiàn)代碼設(shè)置為用于停止調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中需要更新的類,且用于調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中除需要更新的類外的其它類以及子類;更新模塊,用于擦除java卡中存儲(chǔ)于可擦寫存儲(chǔ)器的應(yīng)用框架實(shí)現(xiàn)代碼,并將子類、新應(yīng)用框架實(shí)現(xiàn)代碼寫入Java卡的可擦寫存儲(chǔ)器中。
[0013]其中,終端為POS機(jī)或讀卡器。
[0014]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種智能卡系統(tǒng),包括上述的java卡以及上述的終端。
[0015]本發(fā)明的有益效果是:與現(xiàn)有技術(shù)相比,本發(fā)明的java卡及其應(yīng)用更新方法、應(yīng)用于java卡的終端、智能卡系統(tǒng)通過(guò)將將子類、新應(yīng)用框架實(shí)現(xiàn)代碼寫入于Java卡的可擦寫存儲(chǔ)器中,并且使得新應(yīng)用框架實(shí)現(xiàn)代碼設(shè)置為停止調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中需要更新的類,且調(diào)用功能類庫(kù)實(shí)現(xiàn)代碼中除需要更新的類外的其它類,以及子類,因此能夠?qū)ava卡中掩膜于只讀存儲(chǔ)器的應(yīng)用進(jìn)行更新,從而有效修補(bǔ)java卡的應(yīng)用中存在的bug,可提高用戶體驗(yàn),并降低更新成本。
【附圖說(shuō)明】
[0016]圖1是本發(fā)明java卡第一實(shí)施例的結(jié)構(gòu)示意圖;
[0017]圖2是本發(fā)明java卡第一實(shí)施例中的Applet應(yīng)用的結(jié)構(gòu)示意圖;
[0018]圖3是本發(fā)明java卡第一實(shí)施例的的硬件結(jié)構(gòu)示意圖;
[0019]圖4是本發(fā)明java卡在應(yīng)用更新后的結(jié)構(gòu)示意圖;
[0020]圖5是本發(fā)明應(yīng)用于java卡的終端第一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0022]首先請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明java卡第一實(shí)施例的結(jié)構(gòu)示意圖,如圖1所示,本發(fā)明的java卡30包括java平臺(tái)40和多個(gè)Applet應(yīng)用50、60、70。
[0023]java平臺(tái)40用于實(shí)現(xiàn)標(biāo)準(zhǔn)的應(yīng)用編程接口和運(yùn)行環(huán)境,并封裝java卡30所在的智能卡系統(tǒng)的硬件信息。Applet應(yīng)用50、60、70套用統(tǒng)一的應(yīng)用框架,使用java平臺(tái)40提供的接口,用java語(yǔ)言進(jìn)行開(kāi)發(fā),調(diào)用系統(tǒng)服務(wù)和資源。
[0024]為了更清楚地進(jìn)行說(shuō)明,在以下實(shí)施例中僅對(duì)Applet應(yīng)用50進(jìn)行說(shuō)明,以下請(qǐng)參見(jiàn)圖2,圖2是本發(fā)明java卡第一實(shí)施例中的Applet應(yīng)用的結(jié)構(gòu)示意圖,如圖2所示,本發(fā)明的Applet應(yīng)用50包括應(yīng)用框架501和功能類庫(kù)502,功能類庫(kù)502包括多個(gè)不同的類5021,5022,5023ο
[0025]應(yīng)用框架501可調(diào)用功能類庫(kù)502各個(gè)類的成員和方法。
[0026]以下請(qǐng)參見(jiàn)圖3,圖3是本發(fā)明java卡第一實(shí)施例的硬件結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明的java卡30包括只讀存儲(chǔ)器10、可擦寫存儲(chǔ)器20以及總線80,只讀存儲(chǔ)器10與可擦寫存儲(chǔ)器20分別與總線80電連接。
[0027]值得注意的是,圖1所示的java卡平臺(tái)40以java卡平臺(tái)實(shí)現(xiàn)代碼101來(lái)實(shí)現(xiàn),java卡中的處理器(未繪示)通過(guò)運(yùn)行java卡平臺(tái)實(shí)現(xiàn)代碼101來(lái)實(shí)現(xiàn)java卡平臺(tái)40的對(duì)應(yīng)功能。
[0028]并且,圖2所示的Applet應(yīng)用50以Applet應(yīng)用實(shí)現(xiàn)代碼來(lái)實(shí)現(xiàn),java卡中的處理器通過(guò)運(yùn)行Applet應(yīng)用實(shí)現(xiàn)代碼來(lái)實(shí)現(xiàn)Applet應(yīng)用的對(duì)應(yīng)功能。其中Applet應(yīng)用實(shí)現(xiàn)代碼具體包括功能類庫(kù)實(shí)現(xiàn)代碼1022和應(yīng)用框架實(shí)現(xiàn)代碼1021。
[0029]在本發(fā)明中,java卡30的java卡平臺(tái)實(shí)現(xiàn)代碼101掩膜于只讀存儲(chǔ)器10,其中java卡平臺(tái)實(shí)現(xiàn)代碼101用于實(shí)現(xiàn)標(biāo)準(zhǔn)應(yīng)用編程接口和運(yùn)行環(huán)境,并封裝了 java卡30所在的智能卡系統(tǒng)的硬件信息;java卡30的Applet應(yīng)用實(shí)現(xiàn)代碼中的功能類庫(kù)實(shí)現(xiàn)代碼1022掩膜于只讀存儲(chǔ)器10,其中功能類庫(kù)實(shí)現(xiàn)代碼1022包括多個(gè)類。
[0030]并且,java卡30的Applet應(yīng)用實(shí)現(xiàn)代碼中的應(yīng)用框架實(shí)現(xiàn)代碼1021以可擦寫方式存儲(chǔ)于可擦寫存儲(chǔ)器20,其中應(yīng)用框架實(shí)現(xiàn)代碼1021用于調(diào)用只讀存儲(chǔ)器10中的類。
[0031]因此,本發(fā)明的java卡30通過(guò)處理器運(yùn)行掩膜于只讀存儲(chǔ)器10的java卡平臺(tái)實(shí)現(xiàn)代碼101來(lái)實(shí)現(xiàn)java卡平臺(tái)40的對(duì)應(yīng)功能,通過(guò)處理器運(yùn)行掩膜于只讀存儲(chǔ)器10的功能類庫(kù)實(shí)現(xiàn)代碼1022來(lái)實(shí)現(xiàn)功能類庫(kù)502的對(duì)應(yīng)功能,通過(guò)處理器運(yùn)行以可擦寫方式存儲(chǔ)于可擦寫存儲(chǔ)器20的應(yīng)用框架實(shí)現(xiàn)代碼1021來(lái)實(shí)現(xiàn)應(yīng)用框架501的對(duì)應(yīng)功能。
[0032]基于以上設(shè)定,當(dāng)