欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種java卡上原子性測試方法及裝置的制造方法

文檔序號:10654446閱讀:276來源:國知局
一種java卡上原子性測試方法及裝置的制造方法
【專利摘要】本發(fā)明提出一種JAVA卡上原子性測試方法及裝置,該方法為:應(yīng)用斷電讀卡器,在測試命令的執(zhí)行過程中進行斷電,根據(jù)斷電后卡片所處的狀態(tài),判斷測試命令是否具有原子性。首先量取測試命令的完整執(zhí)行時間,并列出測試命令允許的斷電后的卡狀態(tài);然后按照讀卡器所能提供的步長,對該測試命令進行時間遞增的斷電;斷電后對卡狀態(tài)進行檢查,與所列狀態(tài)不符則測試結(jié)束,相符則增加一個步長繼續(xù)斷電。該方法能夠?qū)y試命令的全部執(zhí)行過程進行斷電,解決了測試命令寫內(nèi)存時間范圍不能準確定位,并且次數(shù)較多,傳統(tǒng)的斷電測試方法不適用于JAVA卡的問題,提高了測試效率和測試覆蓋率。
【專利說明】
一種JAVA卡上原子性測試方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及智能卡領(lǐng)域,尤其涉及一種JAVA卡原子性測試方法及裝置。
【背景技術(shù)】
[0002]JAVA卡是可以運行JAVA卡應(yīng)用的智能卡。它遵循統(tǒng)一的國際規(guī)范,可以向自己和應(yīng)用提供功能和存儲原子性保護。JAVA卡的原子性定義了卡片在中斷錯誤或致命異常的情況下,在更新單個對象域、或數(shù)組內(nèi)容的時候,怎樣處理內(nèi)容的持久性存儲。原子性保護對象包括單個內(nèi)容,如對象、域、數(shù)組元素,也包括塊,如多個數(shù)組的集合。JAVA卡對外提供接口,包括應(yīng)用編程接口(API),供JAVA卡應(yīng)用調(diào)用。也提供命令,與JAVA卡外進行交互。其中一些API和命令應(yīng)遵循原子性特性??梢岳脭嚯姕y試的方式對JAVA卡標準API和命令進行原子性測試。
[0003]斷電測試,即應(yīng)用一種斷電讀卡器,設(shè)定一個時長,向卡片發(fā)送測試指令之后,開始計時,達到該時長后,自動切斷卡片電源,強制其停止處理。然后對卡片上電,檢查待寫的數(shù)據(jù)是寫入前值或?qū)懭胫怠H绻麅烧呓圆皇?,則判斷原子性保護失效。如果屬于兩者之一,就開始下一次斷電測試,時長增加一個步長(通常為寫一次存儲器時間的百分之一級別)。
[0004]在對存儲器擦寫的斷電測試技術(shù)中,為了縮短測試時間,首先利用波形工具來量取測試命令的寫存儲器時間范圍,僅對測試命令的該時間范圍進行斷電測試。但是在JAVA卡上,首先,一個JAVA卡標準API和命令實現(xiàn)的不僅是對一處數(shù)據(jù)進行擦寫,可能包括多個寫存儲器的時間范圍。其次,JAVA卡對同一命令和API的處理所需時間,并不是每次都是一樣的,可能受全體執(zhí)行步驟的影響,其寫存儲器的時間范圍不能固定。這兩點,使得傳統(tǒng)的先量取命令中的一段寫存儲器時間范圍再測試的方法不適用于JAVA卡的原子性測試。
[0005]綜上所述,需要尋求一種新的斷電測試的方法,能夠?qū)AVA卡上的標準命令和API進行原子性測試,并提高測試效率。

【發(fā)明內(nèi)容】

[0006]本發(fā)明提供一種JAVA卡上原子性測試方法及裝置,以對JAVA卡的標準命令和API的原子性進行測試,并提高測試效率。
[0007]本發(fā)明實施例提供的具體技術(shù)方案如下:
[0008]—種JAVA卡上原子性測試方法,包括:
[0009]確定斷電時間范圍,確定卡片原子性狀態(tài)。
[0010]在斷電時間范圍內(nèi),對卡片進行斷電測試。
[0011 ] —種JAVA卡上原子性測試裝置,包括:
[0012]第一處理單元,確定斷電時間范圍,確定卡片原子性狀態(tài);
[0013]第二處理單元,在斷電時間范圍內(nèi),對卡片進行斷電測試。
[0014]基于上述技術(shù)方案,本發(fā)明實施例中,首先利用斷電讀卡器,量取測試命令的總體執(zhí)行時間,作為斷電作用的時間范圍,對命令全程進行斷電,解決了使用提前量取的寫EEPROM時間范圍不固定,從而不可測的問題,同時提高了斷電測試的覆蓋率。同時,確定合法卡狀態(tài)列表,從設(shè)計上保證了測試的可靠性。
【附圖說明】
[0015]圖1為本發(fā)明實施例中在JAVA卡上原子性測試方法的系統(tǒng)架構(gòu)圖;
[0016]圖2為本發(fā)明實施例JAVA卡上原子性測試方法的裝置結(jié)構(gòu)圖;
[0017]圖3為本發(fā)明實施例中在JAVA卡上運行測試的方法流程圖;
【具體實施方式】
[0018]為了解決JAVA卡上標準命令和API的原子性測試問題,本發(fā)明實施例提供了一種JAVA卡上原子性測試的方法及裝置,能夠解決JAVA卡上標準命令和API的原子性測試問題,并提高測試效率。該方法為:確定斷電時間范圍,確定卡片原子性狀態(tài)。在斷電時間范圍內(nèi),對卡片進行斷電測試。
[0019]下面結(jié)合附圖對本發(fā)明優(yōu)選的實施方式進行詳細說明。
[0020]參閱附圖1所示,本發(fā)明實施例中,在JAVA卡上原子性測試的系統(tǒng)主要包括驅(qū)動設(shè)備10,斷電讀卡器IUPJAVA Card設(shè)備12,其中,
[0021]驅(qū)動設(shè)備10,驅(qū)動整個斷電測試的運行,通過斷電讀卡器11向JAVA卡12下發(fā)相應(yīng)的測試命令和斷電時長,接收斷電讀卡器11發(fā)送的JAVA卡執(zhí)行狀態(tài);具體的,向斷電讀卡器11發(fā)送測試命令和時間范圍,斷電讀卡器11將所述收到的測試命令發(fā)送給JAVA Card設(shè)備
12ο
[0022]斷電讀卡器11,用于從驅(qū)動設(shè)備10接收測試命令和斷電時長,將測試命令下發(fā)給JAVA卡12后開始計時,在斷電時間范圍內(nèi)對JAVA卡12進行斷電測試;
[0023]JAVA卡12,用于執(zhí)行測試命令,根據(jù)執(zhí)行結(jié)果修改自身的執(zhí)行狀態(tài)并反饋給斷電讀卡器11。具體的,根據(jù)執(zhí)行結(jié)果,修改測試命令對應(yīng)的狀態(tài)參數(shù)的值,不同的參數(shù)值對應(yīng)不同的狀態(tài),不同的測試命令對應(yīng)的狀態(tài)參數(shù)不同,測試命令及其對應(yīng)的狀態(tài)參數(shù)及參數(shù)值由JAVA卡自身特性決定,例如,可以通過剩余嘗試次數(shù)(try counter)的值來設(shè)置執(zhí)行狀態(tài),所述try counter的值保存在JAVA卡上,由JAVA卡根據(jù)測試命令執(zhí)行結(jié)果進行設(shè)置,例如設(shè)置try counter的初始值,假設(shè)為10,若try counter為初始值,為未執(zhí)行狀態(tài),設(shè)置trycounter的最大值,假設(shè)為20,若try counter為最大值,為執(zhí)行過的狀態(tài),執(zhí)行成功。
[0024]
[0025]參閱附圖2所示,本發(fā)明實施例中,驅(qū)動設(shè)備10,即JAVA卡上原子性測試的裝置主要包括以下處理單元:
[0026]第一處理單元111,用于確定斷電時間范圍,確定卡片原子性狀態(tài);
[0027]第二處理單元112,用于接收斷電讀卡器11發(fā)送的執(zhí)行狀態(tài)。
[0028]進一步的,第一處理單元111,用于將測試命令和斷電時間發(fā)送給斷電讀卡器11,并通知第二處理單元112,所述斷電時間為0;
[0029]第二處理單元112,用于記錄測試命令發(fā)送時間,接收斷電讀卡器11發(fā)送的狀態(tài)字,并記錄接收時間,獲取記錄的接收時間與測試命令發(fā)送時間的時間間隔,為測試命令的完整執(zhí)行時間;
[0030]相應(yīng)的,JAVA卡12,用于接收測試命令并執(zhí)行,將執(zhí)行完后的狀態(tài)字通過斷電讀卡器11發(fā)送給第二處理單元112。
[0031]進一步的,第二處理單元112,用于將O加上本地預(yù)置的發(fā)送測試命令的時間,作為斷電時間范圍的起點,加上測試命令的完整執(zhí)行時間,作為斷電時間范圍的終點。
[0032]進一步的,第一處理單元111,用于向斷電讀卡器11發(fā)送復(fù)位命令;
[0033]斷電讀卡器11,用于將所述復(fù)位命令發(fā)送給JAVA卡12;
[0034]JAVA卡12,用于接收復(fù)位命令,將執(zhí)行狀態(tài)修改為未執(zhí)行。
[0035]基于上述系統(tǒng)架構(gòu),參閱附圖3所示,本發(fā)明實施例中,在JAVA卡上原子性測試的詳細方法流程如下:
[0036]步驟301:確定斷電時間范圍,確定卡片原子性狀態(tài);
[0037]其中確定斷電時間范圍,包括:確定時間范圍的起點和終點。所述時間范圍的起點應(yīng)為O加上驅(qū)動設(shè)備發(fā)送測試命令的時間,此段時間值為預(yù)置在驅(qū)動設(shè)備內(nèi)部。然后量取測試命令的完整執(zhí)行所需時間,這段時間加上時間范圍的起點作為時間范圍終點。
[0038]所述量取測試命令的完整執(zhí)行所需時間,方法是:驅(qū)動設(shè)備通過斷電讀卡器向JAVA卡發(fā)送測試命令及斷電時間,將斷電時間設(shè)置為0,使讀卡器在命令執(zhí)行期間,不做斷電,JAVA卡執(zhí)行測試命令后,返回狀態(tài)字,驅(qū)動設(shè)備接收通過斷電讀卡器發(fā)送的狀態(tài)字,驅(qū)動設(shè)備記錄發(fā)送測試命令及接收狀態(tài)字的時間,中間的時間間隔即為測試命令完整執(zhí)行所需時間。在量取測試命令的完整執(zhí)行所需時間之前及之后,需要對JAVA卡進行復(fù)位操作,具體為:驅(qū)動設(shè)備通過斷電讀卡器向JAVA卡發(fā)送復(fù)位命令,JAVA卡接收復(fù)位命令后,將自身的執(zhí)行狀態(tài)設(shè)置為未執(zhí)行狀態(tài)。
[0039]其中,確定卡片原子性狀態(tài),是指:依據(jù)JAVA卡平臺設(shè)計及標準規(guī)范要求,列出正常情況下,原子性狀態(tài),包括,未執(zhí)行的狀態(tài),即測試命令未執(zhí)行前的狀態(tài);執(zhí)行過的狀態(tài),即測試命令全部執(zhí)行完畢的狀態(tài);部分執(zhí)行狀態(tài),即測試命令部分執(zhí)行完畢的狀態(tài),所述原子性狀態(tài),可根據(jù)狀態(tài)參數(shù)的值來設(shè)定。
[0040]步驟302:在斷電時間范圍內(nèi),對JAVA卡進行斷電測試。
[0041]其中,對JAVA卡進行斷電測試,包括:驅(qū)動設(shè)備將測試命令及斷電時間范圍發(fā)送給斷電讀卡器,斷電讀卡器將測試命令發(fā)送給JAVA卡并開始計時,JAVA卡執(zhí)行測試命令,斷電讀卡器確定當(dāng)前時間達到時間范圍的起點,執(zhí)行斷電操作,讀取JAVA CARD狀態(tài),若JAVA卡狀態(tài)不是原子性狀態(tài),則向驅(qū)動設(shè)備發(fā)送出錯報告,若在上述三種狀態(tài)范圍內(nèi),則根據(jù)具體狀態(tài)執(zhí)行相應(yīng)的操作。具體的,若為執(zhí)行成功或第三種狀態(tài),驅(qū)動設(shè)備重新開始JAVA卡復(fù)位操作,執(zhí)行步驟301,若為未執(zhí)行狀況,斷電讀卡器將該狀態(tài)發(fā)送給驅(qū)動設(shè)備,同時在時間范圍的起點上增加一個步長,在當(dāng)前時間到達增加后的時間,再次執(zhí)行斷電操作,并重復(fù)前述工作。這里步長指的是,一段時間間隔,通常根據(jù)經(jīng)驗設(shè)置為1-100微秒。同時斷電讀卡器執(zhí)行斷電操作之前,將當(dāng)前時間,即要執(zhí)行斷電操作的時間與時間范圍的終點比較,若沒有超過時間范圍的終點,則執(zhí)行斷電操作;若超過時間范圍的終點,則停止斷電測試,并將停止測試的信息反饋給驅(qū)動設(shè)備。
[0042]本發(fā)明的實施例中,確定斷電時間范圍可以稱之為準備部分,后續(xù)包括斷電部分及斷電后根據(jù)執(zhí)行狀態(tài)確定后續(xù)操作步驟的檢查部分,這三部分是相互獨立的,各自的修改不影響全局的實現(xiàn),即可實現(xiàn)斷電測試程序的功能,實現(xiàn)簡單,并且,由于各部分的獨立性,斷電測試的各部分修改,并不影響原測試用例;預(yù)先量取測試命令的完整實行時間,實現(xiàn)了對測試命令的全程斷電,一方面,避免了測試對象JAVA卡平臺每次改版都需要逐一量取測試命令中的寫EEPROM時間范圍的工作,提高了測試效率。一方面,對測試命令全程斷電,也提高了測試覆蓋率。
[0043]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變形而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變形屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1.一種JAVA卡上原子性測試方法,其特征在于,該方法包括: 確定斷電時間范圍,確定卡片原子性狀態(tài); 在斷電時間范圍內(nèi),對JAVA卡進行斷電測試。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定斷電時間范圍,包括: 確定時間范圍的起點和終點,其中,O加上驅(qū)動設(shè)備發(fā)送測試命令的時間為時間范圍的起點,預(yù)置在驅(qū)動設(shè)備內(nèi)容,,量取測試命令的完整執(zhí)行所需時間,這段時間加上時間范圍的起點作為時間范圍終點。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述量取測試命令的完整執(zhí)行所需時間,包括: 驅(qū)動設(shè)備通過斷電讀卡器向JAVA卡發(fā)送測試命令及斷電時間,將斷電時間設(shè)置為O,使讀卡器在命令執(zhí)行期間,不做斷電,JAVA卡執(zhí)行測試命令后,返回狀態(tài)字,驅(qū)動設(shè)備接收通過斷電讀卡器發(fā)送的狀態(tài)字,驅(qū)動設(shè)備記錄發(fā)送測試命令及接收狀態(tài)字的時間,中間的時間間隔即為測試命令完整執(zhí)行所需時間。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定卡片原子性狀態(tài),包括:依據(jù)卡片設(shè)計,列出卡片在測試命令未能完整執(zhí)行后,正常情況下,應(yīng)處的狀態(tài)。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,對卡片進行斷電測試,包括: 在斷電測試時間范圍內(nèi),從起點開始,每次增加一個步長,作為本次測試測試命令的執(zhí)行時間,先判斷當(dāng)前對測試命令的斷電時間是否超過斷電時間范圍的終點; 若超過測試命令的完整時間,則停止斷電測試。 若未超過測試命令的完整時間,則執(zhí)行測試命令至此時間,然后切斷卡片工作電源,上電復(fù)位后,判斷卡狀態(tài)是否合法。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,確定卡片原子性狀態(tài),包括:依據(jù)卡平臺設(shè)計及標準規(guī)范要求,列出卡片在測試命令未能完整執(zhí)行后,正常情況下,所處的幾種狀態(tài)。7.一種JAVA卡上原子性測試裝置,其特征在于,該裝置包括: 驅(qū)動設(shè)備,用于驅(qū)動整個斷電測試的運行,通過斷電讀卡器向JAVA卡下發(fā)相應(yīng)的測試命令和斷電時長,接收斷電讀卡器發(fā)送的JAVA卡執(zhí)行狀態(tài); 斷電讀卡器,用于從驅(qū)動設(shè)備接收測試命令和斷電時長,將測試命令下發(fā)給JAVA卡后開始計時,在斷電時間范圍內(nèi)對JAVA卡進行斷電測試; JAVA卡,用于執(zhí)行測試命令,根據(jù)執(zhí)行結(jié)果修改自身的執(zhí)行狀態(tài)并反饋給斷電讀卡器。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述驅(qū)動設(shè)備包括第一處理單元和第二處理單元;其中, 第一處理單元,用于確定斷電時間范圍,確定卡片原子性狀態(tài); 第二處理單元,用于接收斷電讀卡器發(fā)送的執(zhí)行狀態(tài)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述第一處理單元,用于將測試命令和斷電時間發(fā)送給斷電讀卡器,并通知第二處理單元,所述斷電時間為O; 第二處理單元,用于記錄測試命令發(fā)送時間,接收斷電讀卡器發(fā)送的狀態(tài)字,并記錄接收時間,獲取記錄的接收時間與測試命令發(fā)送時間的時間間隔,為測試命令的完整執(zhí)行時間;將O加上本地預(yù)置的發(fā)送測試命令的時間,作為斷電時間范圍的起點,加上測試命令的完整執(zhí)行時間,作為斷電時間范圍的終點; 相應(yīng)的,JAVA卡,用于接收測試命令并執(zhí)行,將執(zhí)行完后的狀態(tài)字通過斷電讀卡器發(fā)送給第二處理單元。10.根據(jù)權(quán)利要8所述的裝置,其特征在于, 所述第一處理單元,用于向斷電讀卡器發(fā)送復(fù)位命令; 斷電讀卡器,用于將所述復(fù)位命令發(fā)送給JAVA卡; JAVA卡,用于接收復(fù)位命令,將執(zhí)行狀態(tài)修改為未執(zhí)行。
【文檔編號】G06F11/36GK106021088SQ201510404187
【公開日】2016年10月12日
【申請日】2015年7月10日
【發(fā)明人】仲倩黎
【申請人】北京中電華大電子設(shè)計有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巩义市| 新河县| 南和县| 武安市| 平顶山市| 余江县| 百色市| 牙克石市| 通河县| 藁城市| 章丘市| 东安县| 永顺县| 肥城市| 延寿县| 沙湾县| 玛多县| 澄迈县| 襄垣县| 尼木县| 浠水县| 连山| 宜城市| 育儿| 漠河县| 资源县| 宜兰市| 竹北市| 城市| 普格县| 陆川县| 南通市| 北安市| 兴仁县| 运城市| 淳安县| 丹阳市| 崇礼县| 都安| 江达县| 电白县|