CN105653464A - 一种java智能卡的结构及其对象管理方法 - Google Patents

一种java智能卡的结构及其对象管理方法 Download PDF

Info

Publication number
CN105653464A
CN105653464A CN201410635965.8A CN201410635965A CN105653464A CN 105653464 A CN105653464 A CN 105653464A CN 201410635965 A CN201410635965 A CN 201410635965A CN 105653464 A CN105653464 A CN 105653464A
Authority
CN
China
Prior art keywords
district
read
handle
dynamic
manages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410635965.8A
Other languages
English (en)
Other versions
CN105653464B (zh
Inventor
吴杰
丁义民
王庆林
路倩
张福玺
刘静亚
王兴川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongfang Microelectronics Co Ltd
Original Assignee
Beijing Tongfang Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tongfang Microelectronics Co Ltd filed Critical Beijing Tongfang Microelectronics Co Ltd
Priority to CN201410635965.8A priority Critical patent/CN105653464B/zh
Publication of CN105653464A publication Critical patent/CN105653464A/zh
Application granted granted Critical
Publication of CN105653464B publication Critical patent/CN105653464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种JAVA智能卡的结构及其对象管理方法,涉及智能卡技术领域。本发明结构包括对象管理区和对象数据区。所述对象管理区由只读对象管理区和动态对象管理区组成,只读对象管理区用于管理初始化完成以后不会发生改变的只读对象,动态对象管理区用于管理初始化完成以后会有修改操作的动态对象。对象的数据通过对象句柄进行访问,所述对象句柄由对象ID和对象属性组成。同现有技术相比,本发明不需要对非易失性存储器进行多次访问,能有效提高JAVA智能卡执行效率。

Description

一种JAVA智能卡的结构及其对象管理方法
技术领域
本发明涉及智能卡技术领域,特别是JAVA智能卡的结构及其对象管理方法。
背景技术
随着智能卡的普及,它已经被广泛应用于移动通信、电子商务、交通运输、社保和金融等生活中的各个领域。
JAVA智能卡以其安全的多应用支持、主流的面向对象编程环境、应用程序动态下载等众多优点在产业界得到了广泛应用。随着智能卡应用领域的扩展,智能卡的执行速度越来越重要,其中对象管理是JAVA智能卡执行效率的瓶颈。
现有技术中,JAVA智能卡在对象管理上普遍采用两级表的形式。其表结构包括:1)对象主表,存储每个对象子表的地址、对象子表中已有对象个数OBJNUM、最大对象个数OBJMAXNUM;2)对象子表,存储每个对象的地址及该对象所属的包。但是,基于上述表结构的对象管理很复杂:1)对象创建:在对象主表中查找空闲对象子表,若不存在空闲对象子表,则创建对象子表,得到对象子表ID表示为SUBTABID;在对象子表中查找空闲对象位置,得到对象ID表示为OBJID,得到对象的句柄为SUBTABID*OBJMAXNUM+OBJID;2)对象访问:通过对象句柄计算出对象子表信息在主表中的地址,查询对象子表,获得到对象的地址,通过对象地址进行对象的访问;3)对象删除:通过对象句柄计算出对象子表信息在主表中的地址,查询对象子表,获得到对象的地址和大小,将对象信息从对象表中清除,释放空间。从上述可知在对象创建、删除及访问的过程中都要多次对非易失性存储器进行访问,严重影响了平台卡的执行效率。
发明内容
针对上述现有技术中存在的问题,本发明的目的是提供一种JAVA智能卡的结构及其对象管理方法。它不需要对非易失性存储器进行多次访问,能有效提高JAVA智能卡执行效率。
为了达到上述发明目的,本发明的技术方案以如下方式实现:
一种JAVA智能卡的结构,它包括对象管理区和对象数据区。所述对象管理区由只读对象管理区和动态对象管理区组成,只读对象管理区用于管理初始化完成以后不会发生改变的只读对象,动态对象管理区用于管理初始化完成以后会有修改操作的动态对象。对象的数据通过对象句柄进行访问,所述对象句柄由对象ID和对象属性组成。
如上所述JAVA智能卡结构的对象管理方法,它包括对象创建方法、对象访问方法和对象删除方法,
其中的对象创建方法步骤为:
1)首先调用对象创建接口,根据创建对象接口传送的参数判断创建对象的属性;
2)如果创建的是只读对象就从只读对象管理区中查找一块空闲区域分配给该对象;如果创建的是动态对象就从动态对象管理区中查找一块空闲区域分配给该对象;
3)根据对象属性和分配空间的起始块号计算对象的句柄;
4)返回对象句柄,对象创建操作结束。
其中的对象访问方法步骤为:
1)首先调用对象访问接口,根据对象的句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区中查找对象的位置;
3)根据要读数据的偏移及长度从对象管理区中返回要读的数据,对象的访问操作结束。
其中的对象删除方法步骤为:
1)首先调用对象删除接口,根据对象句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区中查找对象的位置;
3)找到对象后根据对象的结构读出该对象的大小。
4)根据起始块号及对象的大小从对象管理区中释放对象空间并清除该对象区域中的数据,对象删除操作结束。
本发明由于采用了上述结构及管理方法,以使智能卡的管理步骤简单明确,不需要对非易失性存储器进行多次访问,从而大大提高了JAVA智能卡的执行效率。
下面结合附图和具体实施方式对本发明作进一步说明。
附图说明
图1为本发明实施例中对象管理区的结构示意程图;
图2为本发明实施例中对象句柄的结构示意图;
图3为本发明对象管理方法中对象创建的流程示意图;
图4为本发明对象管理方法中对象访问的流程示意图;
图5为本发明对象管理方法中对象删除的流程示意图。
具体实施方式
参见图1和图2,本发明包括对象管理区1和对象数据区。对象管理区1由只读对象管理区1.1和动态对象管理区1.2组成。只读对象管理区1.1用于管理初始化完成以后不会发生改变的多个只读对象,动态对象管理区1.2用于管理初始化完成以后会有修改操作的多个动态对象。对象的数据通过对象句柄进行访问,所述对象句柄由对象ID和对象属性组成。对象包括只读对象和动态对象,对象句柄为两个字节,最高位B15表示该对象在只读对象管理区1.1还是在动态对象管理区1.2,B14~B0表示块号,块的大小根据对象管理区大小及平台的要求可以任意配置。
本发明结构中的只读对象数据按照连续空间进行管理,只读对象管理区1.1仅存储对象的起始物理地址和占据空间信息。动态对象管理区1.2存储动态数据空间的空闲信息和映射信息。其中的空闲信息包括对象ID占用和物理页占用,其中的映射信息按照对象ID存储对象数据的物理地址。对象数据区包括实际数据区和冗余数据区。动态对象更新操作时,通过在实际数据区和冗余数据区中查找空闲页写入新数据,更新动态对象管理区1的映射信息,实现掉电保护和磨损平衡。
本发明实施时,对象管理区1按照对象ID存储对象的物理信息。对象物理信息包括对象数据的物理地址和对象的大小。通过对象句柄存储的对象属性和对象ID,从对象管理区1指定偏移处直接获取到对象数据的物理地址进行对象数据的读访问。通过查询对象管理区1,得到空闲对象ID、对象的数据存储物理地址,将对象物理信息存储到对象管理区1实现对象的创建。通过对象句柄中存储的对象属性和对象ID,在对应的对象管理区1对应ID偏移存储的对象物理信息清除为无效实现对象删除和空间回收。通过查询对象管理区1,得到空闲物理页,将对象数据写入,再更新所述对象物理信息中的物理地址,实现对象数据的更新。
参见图3,本发明在对象创建过程中的方法步骤为:
1)首先调用对象创建接口,根据创建对象接口传送的参数判断创建对象的属性;
2)如果创建的是只读对象就从只读对象管理区1.1中查找一块空闲区域分配给该对象;如果创建的是动态对象就从动态对象管理区1.2中查找一块空闲区域分配给该对象;
3)根据对象属性和分配空间的起始块号计算对象的句柄;
4)返回对象句柄,对象创建操作结束。
参见图4,本发明在对象访问过程中的方法步骤为:
1)首先调用对象访问接口,根据对象的句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区1.1中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区1.2中查找对象的位置;
3)根据要读数据的偏移及长度从对象管理区1中返回要读的数据,对象的访问操作结束。
参见图4,本发明在对象删除过程中的方法步骤为:
1)首先调用对象删除接口,根据对象句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区1.1中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区1.2中查找对象的位置;
3)找到对象后根据对象的结构读出该对象的大小;
4)根据起始块号及对象的大小从对象管理区1中释放对象空间并清除该对象区域中的数据,对象删除操作结束。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉此技术领域的技术人员在本发明公开的技术范围内,显而易见得到的变换或者替换,都应该属于本发明的保护范围。

Claims (2)

1.一种JAVA智能卡的结构,其特征在于,它包括对象管理区(1)和对象数据区,所述对象管理区(1)由只读对象管理区(1.1)和动态对象管理区(1.2)组成,只读对象管理区(1.1)用于管理初始化完成以后不会发生改变的只读对象,动态对象管理区(1.2)用于管理初始化完成以后会有修改操作的动态对象,对象的数据通过对象句柄进行访问,所述对象句柄由对象ID和对象属性组成。
2.如权利要求1所述JAVA智能卡结构的对象管理方法,它包括对象创建方法、对象访问方法和对象删除方法,
其中的对象创建方法步骤为:
1)首先调用对象创建接口,根据创建对象接口传送的参数判断创建对象的属性;
2)如果创建的是只读对象就从只读对象管理区(1.1)中查找一块空闲区域分配给该对象;如果创建的是动态对象就从动态对象管理区(1.2)中查找一块空闲区域分配给该对象;
3)根据对象属性和分配空间的起始块号计算对象的句柄;
4)返回对象句柄,对象创建操作结束;
其中的对象访问方法步骤为:
1)首先调用对象访问接口,根据对象的句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区(1.1)中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区(1.2)中查找对象的位置;
3)根据要读数据的偏移及长度从对象管理区(1)中返回要读的数据,对象的访问操作结束;
其中的对象删除方法步骤为:
1)首先调用对象删除接口,根据对象句柄判断其属性;
2)如果是只读对象就根据对象句柄中起始块号在只读对象管理区(1.1)中查找对象的位置;如果是动态对象就根据对象句柄中起始块号从动态对象管理区(1.2)中查找对象的位置;
3)找到对象后根据对象的结构读出该对象的大小;
4)根据起始块号及对象的大小从对象管理区(1)中释放对象空间并清除该对象区域中的数据,对象删除操作结束。
CN201410635965.8A 2014-11-13 2014-11-13 一种java智能卡的结构及其对象管理方法 Active CN105653464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410635965.8A CN105653464B (zh) 2014-11-13 2014-11-13 一种java智能卡的结构及其对象管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410635965.8A CN105653464B (zh) 2014-11-13 2014-11-13 一种java智能卡的结构及其对象管理方法

Publications (2)

Publication Number Publication Date
CN105653464A true CN105653464A (zh) 2016-06-08
CN105653464B CN105653464B (zh) 2024-05-07

Family

ID=56483129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410635965.8A Active CN105653464B (zh) 2014-11-13 2014-11-13 一种java智能卡的结构及其对象管理方法

Country Status (1)

Country Link
CN (1) CN105653464B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562572A (zh) * 2022-08-30 2023-01-03 北京握奇数据股份有限公司 一种提高安全芯片运行效率的方法、存储介质及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202611A (ja) * 1995-01-24 1996-08-09 Brother Ind Ltd メモリ管理方法及び装置
US20020065811A1 (en) * 2000-08-18 2002-05-30 International Business Machines Corporation Ensured access to static objects inside a dynamic token memory
JP2004062504A (ja) * 2002-07-29 2004-02-26 Matsushita Electric Ind Co Ltd Icカード及びその情報処理方法
CN101271428A (zh) * 2008-02-25 2008-09-24 北京理工大学 一种对象数据存储管理的装置和方法
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102713941A (zh) * 2010-02-10 2012-10-03 华为终端有限公司 Sd卡的分区处理方法及装置、sd卡、终端设备
CN103778067A (zh) * 2014-02-11 2014-05-07 珠海市金邦达保密卡有限公司 Java卡的对象处理方法、装置和Java卡

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202611A (ja) * 1995-01-24 1996-08-09 Brother Ind Ltd メモリ管理方法及び装置
US20020065811A1 (en) * 2000-08-18 2002-05-30 International Business Machines Corporation Ensured access to static objects inside a dynamic token memory
JP2004062504A (ja) * 2002-07-29 2004-02-26 Matsushita Electric Ind Co Ltd Icカード及びその情報処理方法
CN101271428A (zh) * 2008-02-25 2008-09-24 北京理工大学 一种对象数据存储管理的装置和方法
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102713941A (zh) * 2010-02-10 2012-10-03 华为终端有限公司 Sd卡的分区处理方法及装置、sd卡、终端设备
CN103778067A (zh) * 2014-02-11 2014-05-07 珠海市金邦达保密卡有限公司 Java卡的对象处理方法、装置和Java卡

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘景宁;吕满;童薇;冯丹;: "对象存储系统中对象查找及标识符分配管理策略", no. 09 *
张鲁国\N\N\N,马自堂: "智能卡操作系统中存储管理设计", no. 14 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562572A (zh) * 2022-08-30 2023-01-03 北京握奇数据股份有限公司 一种提高安全芯片运行效率的方法、存储介质及系统

Also Published As

Publication number Publication date
CN105653464B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US10831734B2 (en) Update-insert for key-value storage interface
CN102541968B (zh) 一种索引方法
CN102902628B (zh) 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
US20180089074A1 (en) Techniques to Manage Key-Value Storage at a Memory or Storage Device
KR101994021B1 (ko) 파일 조작 방법 및 장치
CN103064797B (zh) 数据处理方法和虚拟机管理平台
CN102567415B (zh) 一种数据库的控制方法和装置
CN102915278A (zh) 重复数据删除方法
CN109086141B (zh) 内存管理方法和装置以及计算机可读存储介质
CN102567434A (zh) 一种数据块处理方法
CN103996412A (zh) 一种用于智能卡非易失性存储器的掉电保护方法
CN106776375A (zh) 一种磁盘内部的数据缓存方法及装置
CN103605728A (zh) 一种数据分级存储方法及系统
CN103049224A (zh) 将数据导入物理磁带的方法、装置和系统
CN104423982A (zh) 请求的处理方法和处理设备
CN103778067A (zh) Java卡的对象处理方法、装置和Java卡
CN103942301A (zh) 一种面向多数据类型访问应用的分布式文件系统
CN103399915A (zh) 一种搜索引擎索引文件的优化读取方法
CN110020272A (zh) 缓存方法、装置以及计算机存储介质
CN104391947B (zh) 海量gis数据实时处理方法及系统
CN105279166B (zh) 文件管理方法和系统
CN105653464A (zh) 一种java智能卡的结构及其对象管理方法
CN104375949A (zh) 一种智能卡存储空间整理方法及系统
CN105303208B (zh) 一种ic卡管理方法及系统
CN104408097A (zh) 一种基于字符段热更新的混合索引方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100000 Beijing Haidian District Wudaokou Wangzhuang Road 1 Tongfang Science and Technology Plaza D West Building 18 Floors

Applicant after: ZIGUANG TONGXIN MICROELECTRONICS CO.,LTD.

Address before: 100000 Beijing Haidian District Wudaokou Wangzhuang Road 1 Tongfang Science and Technology Plaza D West Building 18 Floors

Applicant before: BEIJING TONGFANG MICROELECTRONICS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant