CN105279097B - 一种调用瞬态对象的管理方法、设备及智能卡 - Google Patents

一种调用瞬态对象的管理方法、设备及智能卡 Download PDF

Info

Publication number
CN105279097B
CN105279097B CN201410320778.0A CN201410320778A CN105279097B CN 105279097 B CN105279097 B CN 105279097B CN 201410320778 A CN201410320778 A CN 201410320778A CN 105279097 B CN105279097 B CN 105279097B
Authority
CN
China
Prior art keywords
ito
cio
itr
occupied
dofinal
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.)
Active
Application number
CN201410320778.0A
Other languages
English (en)
Other versions
CN105279097A (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.)
Sumavision Technologies Co Ltd
Original Assignee
Sumavision Technologies 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 Sumavision Technologies Co Ltd filed Critical Sumavision Technologies Co Ltd
Priority to CN201410320778.0A priority Critical patent/CN105279097B/zh
Publication of CN105279097A publication Critical patent/CN105279097A/zh
Application granted granted Critical
Publication of CN105279097B publication Critical patent/CN105279097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明公开了一种调用瞬态对象ITO的管理方法、设备及智能卡,将组合调用对象CIO中的用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员作为ITO,并在CIO调用Init方法的过程中,从预先分配的调用瞬态空间ITR共享区域中为各ITO分配相应的ITR,以及,在CIO调用Dofinal方法的过程中,释放各ITO占据的ITR,从而相比于目前存在的在CIO实例化时即为ITO分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。

Description

一种调用瞬态对象的管理方法、设备及智能卡
技术领域
本发明涉及智能卡技术领域,尤其涉及一种可基于智能卡的调用瞬态对象的管理方法、设备及相应的智能卡。
背景技术
智能卡上存在一类具有Init(初始化)、Dofinal(结束)两个方法成员的特殊对象,在该类特殊对象中,Init方法和Dofinal方法成对使用,组合起来完成某一个具体的功能目标,其中,Init方法可用于完成初始化,Dofinal方法可用于完成功能目标并结束此次组合调用。具体地,可将此类对象称为CIO(Couple Invoke Object,组合调用对象)。比如,在Java Card V2.2.1的javacardx.crypto包中定义了API(Application ProgramInterface,应用程序接口)性质的Cipher虚类,该Cipher虚类中即具有Init方法和Dofinal方法,Init方法用于对算法进行初始化,Dofinal用于得到计算结果并结束算法运算。所有的加解密算法功能的实现都必须继承Cipher虚类实现其定义的接口函数,比如实现DES(Data Encryption Algorithm,数据加密算法)算法的DesCipher类就继承了Cipher虚类。相应地,由DesCipher类实例出来的对象则具有Init方法和Dofinal方法两个方法成员,即属于CIO。另外,各CIO中一般还具有一个或多个用于存储上下文等中间结果的数据成员。比如DesCipher类中还定义了用于缓存DES块运算中间结果的Byte型数组等,这些数据成员只有在其所属CIO调用Init方法之后和调用Dofinal方法返回之前具有使用价值,具有瞬态性。
但是,目前,在现有技术中,并未对CIO中的上述具备相应瞬态性的数据成员进行特殊的处理,而是将其作为一般的TO(Transient Object,瞬态对象)进行处理,如,在CIO实例化时即为上述数据成员分配相应的TR(Transient Ram,瞬态空间),并在CIO被回收时才释放上述数据成员所占据的瞬态空间,从而使得在上述数据成员并不具备相应的使用价值的期间仍占据智能卡中的相应瞬态空间,导致智能卡中的瞬态空间的利用率并不高。
发明内容
本发明实施例提供了一种ITO(Invoke Transient Object,调用瞬态对象)的管理方法、设备及相应的智能卡,用以解决目前存在的将具备瞬态性的数据成员作为普通的瞬态对象进行处理时所导致的智能卡中的瞬态空间的利用率较低的问题。
本发明实施例提供了一种ITO的管理方法,包括:
针对智能卡中的任一具有Init方法成员以及Dofinal方法成员的CIO,在所述CIO调用所述CIO中的Init方法的过程中,从ITR(Invoke Transient Ram,调用瞬态空间)共享区域中为所述CIO中的各ITO分配相应的ITR,并在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR;
其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员。
进一步地,在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,所述方法还包括:
在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式创建所述CIO中的各ITO;其中,针对所述CIO中的任一ITO,所述ITO的对象头中具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段。
进一步地,在所述CIO调用所述CIO中的Init方法的过程中,从ITR共享区域中为所述CIO中的各ITO分配相应的ITR,包括:
在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
进一步地,在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,所述方法还包括:
通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
进一步地,在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR,包括:
在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
进一步地,在释放所述CIO中的各ITO占据的ITR之后,所述方法还包括:
在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。
相应地,本发明实施例还提供了一种ITO的管理设备,包括:
分配模块,用于针对智能卡中的任一具有初始化Init方法成员以及结束Dofinal方法成员的组合调用对象CIO,在所述CIO调用所述CIO中的Init方法的过程中,从ITR共享区域中为所述CIO中的各ITO分配相应的ITR;其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员;
释放模块,用于在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR。
进一步地,所述管理设备还包括创建模块:
所述创建模块,用于在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式创建所述CIO中的各ITO;其中,针对所述CIO中的任一ITO,所述ITO的对象头中具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段。
进一步地,所述分配模块,具体用于在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
进一步地,所述管理设备还包括访问模块:
所述访问模块,用于在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
进一步地,所述释放模块,具体用于在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
进一步地,所述管理设备还包括删除模块:
所述删除模块,用于在释放所述CIO中的各ITO占据的ITR之后,在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。
进一步地,本发明实施例还提供了一种智能卡,所述智能卡包括本发明实施例中所述的任一ITO的管理设备。
本发明有益效果如下:
本发明实施例提供了一种ITO的管理方法、设备及智能卡,将CIO中的用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员作为ITO,并根据ITO的生命周期,在CIO调用Init方法的过程中,从预先分配的ITR共享区域中为各ITO分配相应的ITR,以及,在CIO调用Dofinal方法的过程中,释放各ITO占据的ITR,从而相比于目前存在的在CIO实例化时即为具备瞬态性的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员(即ITO)分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述ITO的管理方法的流程示意图;
图2所示为本发明实施例二中所述ITO的管理设备的结构示意图;
图3所示为本发明实施例三中所述智能卡的结构示意图。
具体实施方式
针对智能卡中的各CIO,由于其所具备的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员具有明显的生命周期,在CIO调用Init方法之后至调用Dofinal方法返回之间的状态为生存状态,其它时间为灭亡状态,因此,在本发明实施例所述技术方案中,可将CIO中的上述数据成员称为ITO、以区别于智能卡中的普通的瞬态对象,并将各ITO占用的数据空间称为ITR、以区别于智能卡中的普通瞬态对象所占用的瞬态空间。进而,针对任一CIO中的各ITO,可在所述CIO调用所述CIO中的Init方法的过程中,从预先分配的ITR共享区域中为所述CIO中的各ITO分配相应的ITR,并在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR,其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,从而相比于目前存在的在CIO实例化时即为具备瞬态性的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员(即ITO)分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种ITO的管理方法,所述ITO的管理方法可应用于智能卡等具备CIO的设备当中,本发明实施例对此不作任何限定。具体地,如图1所示,其为本发明实施例一中所述ITO的管理方法的流程示意图,所述ITO的管理方法可包括以下步骤:
步骤101:针对智能卡中的任一具有Init方法成员以及Dofinal方法成员的CIO,在所述CIO调用所述CIO中的Init方法的过程中,从ITR共享区域中为所述CIO中的各ITO分配相应的ITR,其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员。
具体地,在执行本步骤101之前,可首先识别智能卡中的各CIO。具体地,以JavaCard(基于Java语言的智能卡)为例,所述Java Card中的继承了javacardx.crypto包中Cipher虚类的子类所实例化的对象即属于相应的CIO,本发明实施例对此不作赘述。
进一步地,在识别各CIO的同时或之后,且在从ITR共享区域中为各CIO中的各ITO分配相应的ITR之前,可针对任一CIO,识别所述CIO中的各ITO。需要说明的是,在本发明所述实施例中,同智能卡中的普通瞬态对象一样,所述ITO也可用包括对象头和数据体的数据结构进行描述;其中,针对任一ITO,所述ITO的对象头中可具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段,本发明实施例对此不作赘述。
具体地,针对任一CIO,所述CIO中可具备一个或多个ITO,本发明实施例对此也不作赘述。进一步地,需要说明的是,所述ITO通常可为原生类型(即基本数据类型或内置类型)的数组,比如,可为bool、byte、short、int类型的数组,本发明实施例对此不作任何限定。
进一步地,需要说明的是,针对任一CIO,所述CIO中的各ITO通常可是在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式所创建的。其中,需要说明的是,所述ITR共享区域通常可是从智能卡的瞬态空间中预先分配的、专用于为智能卡中的各ITO所共享的部分空间;当然需要说明的是,所述ITR共享区域也可占用所述瞬态空间的全部空间,即可也等同于所述瞬态空间,本发明实施例对此不作任何限定。
进一步地,在本发明所述实施例中,创建ITO的功能接口可定义为shortmakeInvokeTransientArray(byte ArrayType,int Size),其中入参ArrayType表示ITO的变量类型,比如,可为bool、byte、short、int等原生类型,Size表示ITO所占用的数组的大小。例如,以某一CIO具有ITO成员byte[]tmpResult为例,所述tmpResult的创建方法可如下所示:tmpResult=makeInvokeTransientArray(TYPE_BYTE,SIZE_TMP_RESULT),本发明实施例对此不作赘述。
进一步地,需要说明的是,在通过上述ITO创建功能接口创建任一ITO(即创建ITO的对象头)时,可返回相应的与所述任一ITO相对应的OID(Object Identifier,对象索引),以标识所述任一ITO,本发明实施例对此也不作赘述。
进一步地,在本发明所述实施例中,针对任一CIO,在所述CIO调用所述CIO中的Init方法的过程中,从ITR共享区域中为所述CIO中的各ITO分配相应的ITR,可以包括:
在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
进一步地,针对所述CIO中的任一ITO,在根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小之前,可首先根据所述ITO的OID,确定所述ITO的对象头,本发明实施例对此不作赘述。
进一步地,在本发明所述实施例中,分配ITR的功能接口可定义为:boolItrAlloc(object ObjId),其中ObjId为待分配ITR的ITO的OID;并且,在通过上述ITR分配功能接口为任一ITO分配ITR时,若分配成功则可返回真,分配失败则可返回假,本发明实施例对此也不作赘述。
步骤102:在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR。
具体地,在本发明所述实施例中,在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR,可以包括:
在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
进一步地,针对所述CIO中的任一ITO,在根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小之前,可首先根据所述ITO的OID,确定所述ITO的对象头,本发明实施例对此不作赘述。进一步地,针对所述CIO中的任一ITO,在将所述ITR共享区域中的以所述ITO的ITR的首地址为起始地址且占用所述ITO所占用的ITR字节大小的连续空间进行清零操作之后,还可将上述以所述ITO的ITR的首地址为起始地址且占用所述ITO所占用的ITR字节大小的连续空间置为空闲态,以便让位给其他ITO所使用,本发明实施例对此也不作赘述。
进一步地,需要说明的是,在本发明所述实施例中,在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,所述方法还可包括:
通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
进一步地,在本发明所述实施例中,在释放所述CIO中的各ITO占据的ITR之后,所述方法还可包括:
在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。也就是说,此时,无需回收各ITO的数据体,因为各ITO的数据体在CIO调用dofinal方法的过程中已被释放。
本发明实施例一提供了一种ITO的管理方法,将CIO中的用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员作为ITO,并根据ITO的生命周期,在CIO调用Init方法的过程中,从预先分配的ITR共享区域中为各ITO分配相应的ITR,以及,在CIO调用Dofinal方法的过程中,释放各ITO占据的ITR,从而相比于目前存在的在CIO实例化时即为具备瞬态性的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员(即ITO)分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。
实施例二:
本发明实施例二提供了一种可用以实现本发明实施例一中所述ITO的管理方法的ITO管理设备。如图2所示,其为本发明实施例二中所述ITO的管理设备的结构示意图,所述ITO的管理设备可包括分配模块21以及释放模块22,其中:
所述分配模块21可用于针对智能卡中的任一具有Init方法成员以及Dofinal方法成员的CIO,在所述CIO调用所述CIO中的Init方法的过程中,从ITR共享区域中为所述CIO中的各ITO分配相应的ITR;其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员;
所述释放模块22可用于在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR。
进一步地,所述管理设备还可包括创建模块23,其中:
所述创建模块23可用于在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式创建所述CIO中的各ITO;其中,针对所述CIO中的任一ITO,所述ITO的对象头中具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段,本发明实施例对此不作赘述。
进一步地,所述分配模块21具体可用于在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
进一步地,所述释放模块22具体可用于在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
进一步地,所述管理设备还可包括访问模块24,其中:
所述访问模块24可用于在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
进一步地,所述管理设备还可包括删除模块25,其中:
所述删除模块25可用于在释放所述CIO中的各ITO占据的ITR之后,在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。
再有需要说明的是,在本发明所述实施例中,所述管理设备还可包括用于识别各CIO以及各CIO中的各ITO的识别模块,本发明实施例对此不作赘述。
本发明实施例二提供了一种ITO的管理设备,所述ITO的管理设备可将CIO中的用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员作为ITO,并根据ITO的生命周期,在CIO调用Init方法的过程中,从预先分配的ITR共享区域中为各ITO分配相应的ITR,以及,在CIO调用Dofinal方法的过程中,释放各ITO占据的ITR,从而相比于目前存在的在CIO实例化时即为具备瞬态性的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员(即ITO)分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。
实施例三:
本发明实施例三提供了一种可用以实现本发明实施例一中所述ITO的管理方法的实体设备。具体地,所述实体设备可为智能卡等具备CIO的设备,本发明实施例对此不作任何限定。进一步地,如图3所示,以所述实体设备为智能卡为例,所述智能卡可包括本发明实施例二中所述的ITO的管理设备31,其中,所述管理设备31的具体结构和功能可如图2所示,本发明实施例对此不作赘述。
进一步地,需要说明的是,在本发明所述实施例中,所述智能卡还可包括应用程序存储模块32,以存储所述管理设备31所需的各种应用程序代码;相应地,所述管理设备31可通过调用所述应用程序存储模块32中存储的各种所需的应用程序代码的方式,实现对智能卡中的各CIO以及各CIO中的各ITO的识别,以及对各ITO所进行的创建、分配、释放、删除、访问等操作,本发明实施例对此不作赘述。
另外,需要说明的是,所述智能卡还可包括现有的其他各种功能模块,本发明实施例对此不作任何限定。
本发明实施例三提供了一种可用以实现本发明实施例一中所述ITO的管理方法的智能卡,所述智能卡可将CIO中的用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员作为ITO,并根据ITO的生命周期,在CIO调用Init方法的过程中,从预先分配的ITR共享区域中为各ITO分配相应的ITR,以及,在CIO调用Dofinal方法的过程中,释放各ITO占据的ITR,从而相比于目前存在的在CIO实例化时即为具备瞬态性的、用于在Init方法以及Dofinal方法组合调用期间缓存中间结果的数据成员(即ITO)分配相应的瞬态空间以及在CIO回收时才释放ITO占据的瞬态空间来说,可极大地降低各ITO占用瞬态空间的时长以及提高各ITO占用瞬态空间的灵活性,进而可达到大大提高智能卡中的瞬态空间的利用率的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种调用瞬态对象ITO的管理方法,其特征在于,包括:
针对智能卡中的任一具有初始化Init方法成员以及结束Dofinal方法成员的组合调用对象CIO,在所述CIO调用所述CIO中的Init方法的过程中,从调用瞬态空间ITR共享区域中为所述CIO中的各ITO分配相应的ITR,并在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR;
其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员;
所述CIO为具有Init、Dofinal两个方法成员的特殊对象;
所述ITR为各ITO占用的数据空间。
2.如权利要求1所述的管理方法,其特征在于,在从调用瞬态空间ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,所述方法还包括:
在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式创建所述CIO中的各ITO;其中,针对所述CIO中的任一ITO,所述ITO的对象头中具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段。
3.如权利要求2所述的管理方法,其特征在于,在所述CIO调用所述CIO中的Init方法的过程中,从调用瞬态空间ITR共享区域中为所述CIO中的各ITO分配相应的ITR,包括:
在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
4.如权利要求1~3任一所述的管理方法,其特征在于,在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,所述方法还包括:
通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
5.如权利要求2所述的管理方法,其特征在于,在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR,包括:
在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
6.如权利要求2或3所述的管理方法,其特征在于,在释放所述CIO中的各ITO占据的ITR之后,所述方法还包括:
在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。
7.一种调用瞬态对象ITO的管理设备,其特征在于,包括:
分配模块,用于针对智能卡中的任一具有初始化Init方法成员以及结束Dofinal方法成员的组合调用对象CIO,在所述CIO调用所述CIO中的Init方法的过程中,从调用瞬态空间ITR共享区域中为所述CIO中的各ITO分配相应的ITR;其中,所述ITR共享区域为预先分配的、能够被所述智能卡中的所有ITO所共享的瞬态空间,所述CIO中的各ITO为用于在所述CIO中的Init方法成员以及Dofinal方法成员组合调用期间缓存中间结果的数据成员;所述CIO为具有Init、Dofinal两个方法成员的特殊对象;所述ITR为各ITO占用的数据空间;
释放模块,用于在所述CIO调用所述CIO中的Dofinal方法的过程中,释放所述CIO中的各ITO占据的ITR。
8.如权利要求7所述的管理设备,其特征在于,所述管理设备还包括创建模块:
所述创建模块,用于在从调用瞬态空间ITR共享区域中为所述CIO中的各ITO分配相应的ITR之前,在实例化所述CIO时,通过创建所述CIO中的各ITO的对象头的方式创建所述CIO中的各ITO;其中,针对所述CIO中的任一ITO,所述ITO的对象头中具备用于记录所述ITO的变量类型以及所占用的数组大小的变量类型和数组大小位段,以及,用于指向所述ITO的数据体的首地址的数据体指针位段。
9.如权利要求8所述的管理设备,其特征在于,
所述分配模块,具体用于在所述CIO调用所述CIO中的Init方法之后、且在所述CIO中的Init方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值计算得到所述ITO所需占用的ITR字节大小,并根据计算得到的ITR字节大小,从所述ITR共享区域的闲置空间中分配与所述ITR字节大小相匹配的空间作为所述ITO的ITR,以及,将分配的所述空间的首地址作为所述ITO的ITR的首地址写入所述ITO的对象头中的数据体指针位段。
10.如权利要求7所述的管理设备,其特征在于,所述管理设备还包括访问模块:
所述访问模块,用于在从ITR共享区域中为所述CIO中的各ITO分配相应的ITR之后,且在释放所述CIO中的各ITO占据的ITR之前,通过访问为所述CIO中的各ITO分配的ITR的方式,实现对所述CIO中的各ITO的访问。
11.如权利要求8所述的管理设备,其特征在于,
所述释放模块,具体用于在所述CIO调用所述CIO中的Dofinal方法之后、且在所述CIO中的Dofinal方法返回之前,针对所述CIO中的任一ITO,根据所述ITO的对象头中的变量类型和数组大小位段的取值,计算得到所述ITO所占用的ITR字节大小,并从所述ITO的对象头中的数据体指针位段获取所述ITO的ITR的首地址;根据所述ITO所占用的ITR字节大小以及所述ITO的ITR的首地址,将所述ITR共享区域中的以所述首地址为起始地址且占用所述ITR字节大小的连续空间进行清零操作。
12.如权利要求8所述的管理设备,其特征在于,所述管理设备还包括删除模块:
所述删除模块,用于在释放所述CIO中的各ITO占据的ITR之后,在回收所述CIO时,通过删除所述CIO中的各ITO的对象头的方式删除所述CIO中的各ITO。
13.一种智能卡,其特征在于,所述智能卡包括权利要求7~12任一所述的调用瞬态对象ITO的管理设备。
CN201410320778.0A 2014-07-07 2014-07-07 一种调用瞬态对象的管理方法、设备及智能卡 Active CN105279097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410320778.0A CN105279097B (zh) 2014-07-07 2014-07-07 一种调用瞬态对象的管理方法、设备及智能卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410320778.0A CN105279097B (zh) 2014-07-07 2014-07-07 一种调用瞬态对象的管理方法、设备及智能卡

Publications (2)

Publication Number Publication Date
CN105279097A CN105279097A (zh) 2016-01-27
CN105279097B true CN105279097B (zh) 2019-06-18

Family

ID=55148140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410320778.0A Active CN105279097B (zh) 2014-07-07 2014-07-07 一种调用瞬态对象的管理方法、设备及智能卡

Country Status (1)

Country Link
CN (1) CN105279097B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1728162A1 (de) * 2004-03-17 2006-12-06 Giesecke & Devrient GmbH Speicherbereinigung (garbage collection) für smart cards
CN101169739A (zh) * 2006-10-27 2008-04-30 三星电子株式会社 管理内存的方法和设备
CN101593193A (zh) * 2008-05-28 2009-12-02 北京中电华大电子设计有限责任公司 一种智能卡文件系统管理方法
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102414673A (zh) * 2009-04-24 2012-04-11 微软公司 智能的备份数据分层
CN102521145A (zh) * 2011-12-23 2012-06-27 东信和平智能卡股份有限公司 Java卡系统及其空间分配处理方法
CN102799660A (zh) * 2012-07-04 2012-11-28 北京中电华大电子设计有限责任公司 一种java卡对象管理方法
CN103309812A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种智能卡内存空间的分配方法及装置
CN103678180A (zh) * 2013-11-29 2014-03-26 武汉天喻信息产业股份有限公司 智能卡非易失性存储器的管理方法
CN103699493A (zh) * 2013-12-26 2014-04-02 上海柯斯软件有限公司 智能卡dtr内存空间的控制系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931638B2 (en) * 2001-03-15 2005-08-16 Sun Microsystems, Inc Method and apparatus to facilitate sharing optimized instruction code in a multitasking virtual machine
US7552303B2 (en) * 2004-12-14 2009-06-23 International Business Machines Corporation Memory pacing

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1728162A1 (de) * 2004-03-17 2006-12-06 Giesecke & Devrient GmbH Speicherbereinigung (garbage collection) für smart cards
CN101169739A (zh) * 2006-10-27 2008-04-30 三星电子株式会社 管理内存的方法和设备
CN101593193A (zh) * 2008-05-28 2009-12-02 北京中电华大电子设计有限责任公司 一种智能卡文件系统管理方法
CN102414673A (zh) * 2009-04-24 2012-04-11 微软公司 智能的备份数据分层
CN101777061A (zh) * 2009-12-31 2010-07-14 北京握奇数据系统有限公司 一种java卡对象管理方法及java卡
CN102521145A (zh) * 2011-12-23 2012-06-27 东信和平智能卡股份有限公司 Java卡系统及其空间分配处理方法
CN103309812A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种智能卡内存空间的分配方法及装置
CN102799660A (zh) * 2012-07-04 2012-11-28 北京中电华大电子设计有限责任公司 一种java卡对象管理方法
CN103678180A (zh) * 2013-11-29 2014-03-26 武汉天喻信息产业股份有限公司 智能卡非易失性存储器的管理方法
CN103699493A (zh) * 2013-12-26 2014-04-02 上海柯斯软件有限公司 智能卡dtr内存空间的控制系统及方法

Also Published As

Publication number Publication date
CN105279097A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
DE112012003716B4 (de) Erzeugen von kompiliertem Code, der Registeraktivität angibt
CN105487987B (zh) 一种处理并发顺序读io的方法及装置
CN105808219B (zh) 一种内存空间分配方法及装置
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
US10628066B2 (en) Ensuring in-storage data atomicity and consistency at low cost
DE102012200613A1 (de) System und Verfahren zur Unterstützung von JIT in einem sicheren System und zufällig zugewiesenen Speicherbereichen
EP2842041A1 (en) Data processing system and method for operating a data processing system
CN106528065B (zh) 一种线程获取方法及设备
CN106385377B (zh) 一种信息处理方法和系统
CN109960597A (zh) 一种应用层接口的动态注册方法及相关装置
US9946461B2 (en) In-flash immutable object processing
US20200012636A1 (en) System and method for identifying maximal independent sets in parallel
CN107087002B (zh) 一种数据的加解密方法、装置及电子设备
CN105469173A (zh) 一种静态内存进行优化管理的方法
CN104050189B (zh) 页面共享处理方法及装置
CN105279097B (zh) 一种调用瞬态对象的管理方法、设备及智能卡
CN105512091B (zh) 一种内存分配方法及装置
CN108427584A (zh) 快速启动的具有并行计算核的芯片及该芯片的配置方法
CN106844605B (zh) 批量数据逻辑处理方法及装置
CN110879748A (zh) 一种共享资源分配方法、装置和设备
CN110231983B (zh) 数据并发处理方法、装置及系统、计算机设备及可读介质
CN103678151A (zh) 虚拟机的块存储设备的配置方法及配置装置
CN107273188B (zh) 一种虚拟机中央处理单元cpu绑定方法及装置
CN113778688A (zh) 内存管理系统、内存管理方法、内存管理装置
CN113641476A (zh) 一种任务调度方法、游戏引擎、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant