System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种智能卡文件存储结构与管理方法技术_技高网

一种智能卡文件存储结构与管理方法技术

技术编号:40016856 阅读:10 留言:0更新日期:2024-01-16 16:08
本申请提供一种智能卡文件存储结构,其可以在实现智能卡文件数据掉电保护功能的基础上,提高大尺寸文件的写入效率,进而提高智能卡片的生产效率,同时还能在整体存储区范围实现磨损均衡。其通过交替更新目录信息块的方式,实现文件数据更新;通过随机选取可用扇区写入文件,然后将写入文件的扇区号登记到目录信息块中,整体上仅需一到两次写操作即可实现文件的创建、更新;初始化创建长文件时,只需要在目录信息块中构建长文件的文件项FILE_ITM,无需在文件数据区中为长文件实际分配存储空间,后续在更新操作时,为长文件申请可用扇区。同时,本申请还公开了一种智能卡文件管理方法。

【技术实现步骤摘要】

本专利技术涉及智能卡应用,具体为一种智能卡文件存储结构与管理方法


技术介绍

1、智能卡(smart card)是内嵌有微芯片的卡片的通称。通常智能卡中包含一个微电子芯片,需要通过读写器进行数据交互。有些智能卡配备有cpu、存储器和i/o端口,具备数据处理能力,可自行处理数量较多的数据,用于端口数目较多且通信速度需求较快的场合。比如社保卡、身份证等等各种证件卡片。

2、通常这些证卡中会存储一些信息,如:证卡本身的卡号、验证数据,以及持卡人的个人信息、照片等数据。这些证卡中存储的数据的种类和大小都是已知的,现有的证卡制造过程,在证卡生产线上进行初始化的时候,基于数据的存储路径构建出目录,同时会为各种数据分配以及预留出相应尺寸的存储空间,比如:通过0占位的方式,为卡号、姓名、年龄等文本数据预留出较小的空间,而为照片等数据预留出较大的空间。然后在证卡分配给持有人之前,通过办理窗口的设备进行实际数据的写入。后期一旦个人信息有了变化,还需要到办理窗口对卡内的数据进行更新。

3、虽然随着芯片制造工艺和处理性能的提升,智能卡内嵌的微处理器速度和存储器容量都得到了极大的提高。但是,随着智能卡的用途越发广泛,其芯片中需要存储的数据也越来越多,数据的尺寸也随之变大。比如,为了保证基于证卡的身份认证更加准确,例如照片这种,由原来的低分辨率图像,变成了高分辨率图像,导致图像数据的尺寸发生了极大的变化,又或者需要在证件中增加指纹、虹膜、掌纹等人体生物信息的数据,这些信息数据也需要较大的空间才能保存。如果仍然基于现有的方法在生产线上为各种数据预留空间,会导致初始化时间变长,进而导致生产周期变长,生产效率变低。

4、同时,因为大容量智能卡芯片普遍采用flash存储数据,flash的物理特性是擦写次数有限,且需要先进行数据擦写才能进行写数据。而智能卡是由外部供电的,智能卡在擦写数据过程中随时有掉电的可能,如果智能卡文件系统没有自修复能力,文件数据写入不完整将导致智能卡原有数据丢失,甚至导致智能卡因数据错误而报废。为避免智能卡cos(操作系统)崩溃,智能卡文件系统必须具备掉电保护功能。现有技术中的掉电保护机制是在智能卡存储空间中开辟一段掉电备份区域对数据进行掉电保护,如申请号为201010156993.3的专利公开了智能卡文件系统及防掉电方法。同时由于每次在进行数据写入时,都会对掉电备份区进行写操作,为避免掉电备份区因频繁擦写出现过度磨损而损坏,会对掉电备份区进行磨损均衡,如专利201810979810 .4和202011057624.9中都公开了相关的技术。

5、现有方法虽然可以实现智能卡文件的可靠读写,但为了实现数据掉电保护,在进行数据写入时,需要先将待写入的数据写入掉电备份区,再将备份区数据写入实际位置,最后再清除备份区数据,涉及数据区的多次擦写,极大影响了数据写入速度,尤其对于大尺寸文件数据的更新,需要耗费更多的时间,严重影响了智能卡的生产效率。


技术实现思路

1、为了解决现有的智能卡文件存储管理中,在实现大尺寸文件写入时效率较低的问题,本专利技术提供一种智能卡文件存储结构,其可以在实现智能卡文件数据掉电保护功能的基础上,提高大尺寸文件的写入效率,进而提高智能卡片的生产效率,同时还能在整体存储区范围实现磨损均衡。本申请还公开了一种智能卡文件管理方法。

2、本专利技术的技术方案是这样的:一种智能卡文件存储结构,其特征在于,其包括:目录信息区dir_bank、文件数据区file_bank和密钥信息区key_bank;所述目录信息区存储文件系统的目录控制项,所述文件数据区用于存储智能卡文件,所述密钥信息区用于存储密钥文件数据;

3、所述目录信息区以扇区为单位存储文件系统的目录信息,一个扇区存储一个目录信息块dirinfo_block,所述目录信息块均成对出现,成对的目录信息块构成一个目录信息对dirinfo_pair,智能卡文件系统的根目录入口设置在所述目录信息区起始的2个扇区;

4、所述目录信息块dirinfo_block包括:信息块修改计数mod_cnt和信息控制项info_ctl_itm;

5、从数据类型上划分,所述信息控制项info_ctl_itm包括:属性项attr_itm、目录项dir_itm、文件项file_itm、密钥项key_itm、链接项lnk_itm、校验项chk_itm;同一个所述目录信息块中包括的所述信息控制项info_ctl_itm的类型大于等于1;

6、所述属性项存储当前目录的属性信息,一个所述目录信息块包含一个或多个属性项;

7、所述目录项存储当前目录下创建的子目录信息,一个目录项代表一个子目录,所述目录项的数据体包括所述子目录的名称、子目录的目录信息对所在扇区的编号;

8、所述文件项存储当前目录下创建的文件信息,一个文件项代表一个文件,所述文件项的数据体包括文件属性、文件长度和存储文件数据的扇区编号;

9、所述密钥项的数据体包括密钥类型、密钥索引号和存放密钥的扇区编号,所述扇区位于密钥信息区;

10、所述链接项包括:当前目录扩展链接项和父目录链接项;当一个扇区容纳不下当前目录的所有信息时,通过链接项扩展当前目录数据块,所述目录扩展链接项指向下一个扩展的所述目录信息对扇区;所述父目录链接项存储父目录信息控制标识号info_ctl_id;

11、所述校验项chk_itm用于验证所述目录信息块dirinfo_block数据的完整性,每个dirinfo_block必须包含chk_itm;

12、每一个类型的所述信息控制项info_ctl_itm的数据结构都包括:信息控制项类型info_ctl_type、信息控制项标识号info_ctl_id、信息控制项长度info_ctl_len和数据体info_ctl_bdy;其中,所述信息控制项类型info_ctl_type记录本条所述信息控制项对应的数据类型;

13、所述文件数据区file_bank以扇区为单位存储实际的文件数据,每个扇区存储一个文件数据块,需要占用多个扇区的文件通过扇区指针实现扇区之间的链接;

14、所述文件数据区file_bank中存储的文件数据包括:短文件和长文件;文件长度小于预设的文件阈值fl_thread的为所述短文件,否则为所述长文件;

15、一个所述文件数据块中包括的短文件的个数大于等于1;所述短文件的数据块的数据结构包括:短文件标识和存储在该扇区的每个短文件的短文件体数据项file_bdy_itm;

16、短文件体数据项file_bdy_itm包括:文件标识号、文件长度和文件数据;其中,所述文件标识号与短文件在目录信息块dirinfo_block中的信息控制项标识号info_ctl_id相对应;

17、每个所述长文件存储在大于等于1个扇区中;存储了所述长文件的所述文件数据块,从第2个文件数据块开始,每个所述文件数据块包括本文档来自技高网...

【技术保护点】

1.一种智能卡文件存储结构,其特征在于,其包括:目录信息区DIR_BANK、文件数据区FILE_BANK和密钥信息区KEY_BANK;所述目录信息区存储文件系统的目录控制项,所述文件数据区用于存储智能卡文件,所述密钥信息区用于存储密钥文件数据;

2.根据权利要求1所述一种智能卡文件存储结构,其特征在于:所述目录信息区DIR_BANK、所述文件数据区FILE_BANK和所述密钥信息区KEY_BANK的大小均为扇区大小的整数倍,三者的存储空间互不重叠;这些存储区均以扇区大小作为数据更新的最小单位,并从1开始对三个存储区的扇区统一进行编号。

3.根据权利要求1所述一种智能卡文件存储结构,其特征在于:所述信息块修改计数MOD_CNT初始值为0,扇区被写1次,对应的MOD_CNT值在其同一个目录信息对DIRINFO_PAIR中另一个信息块修改计数MOD_CNT的基础上加1;一个目录信息对DIRINFO_PAIR中,MOD_CNT值较大且校验项CHK_ITM校验正确的目录信息块为当前有效的信息块,MOD_CNT计数值较小或校验项CHK_ITM校验错误的目录信息块为更新前的信息。

4.根据权利要求1所述一种智能卡文件存储结构,其特征在于:所述目录信息块DIRINFO_BLOCK中还包括:磨损深度计数值DEEP_CNT,未分配过的空闲扇区的DEEP_CNT设置为0,目录信息块所在扇区进行一次操作,则磨损深度计数值DEEP_CNT的数值加1。

5.一种智能卡文件管理方法,其特征在于,其包括以下步骤:

6.根据权利要求5所述一种智能卡文件管理方法,其特征在于:在所述文件数据区FILE_BANK寻找空闲扇区时,具体方法为:

7.根据权利要求5所述一种智能卡文件管理方法,其特征在于:所述扇区分配表对应一个无符号数组,所述数组中的数据每一个bit位对应存储区的一个扇区,1表示扇区被占用,0表示扇区空闲;遍历文件系统时,从根目录开始,将目录数据块的信息控制项指向的目录信息对DIRINFO_PAIR的扇区号均设置成占用状态,最终形成扇区分配表SECT_TABLE。

8.根据权利要求5所述一种智能卡文件管理方法,其特征在于:所述新建目录操作步骤包括:

9.根据权利要求8所述一种智能卡文件管理方法,其特征在于:步骤b4,具体包括以下步骤:

10.根据权利要求5所述一种智能卡文件管理方法,其特征在于:其还包括以下步骤:

...

【技术特征摘要】

1.一种智能卡文件存储结构,其特征在于,其包括:目录信息区dir_bank、文件数据区file_bank和密钥信息区key_bank;所述目录信息区存储文件系统的目录控制项,所述文件数据区用于存储智能卡文件,所述密钥信息区用于存储密钥文件数据;

2.根据权利要求1所述一种智能卡文件存储结构,其特征在于:所述目录信息区dir_bank、所述文件数据区file_bank和所述密钥信息区key_bank的大小均为扇区大小的整数倍,三者的存储空间互不重叠;这些存储区均以扇区大小作为数据更新的最小单位,并从1开始对三个存储区的扇区统一进行编号。

3.根据权利要求1所述一种智能卡文件存储结构,其特征在于:所述信息块修改计数mod_cnt初始值为0,扇区被写1次,对应的mod_cnt值在其同一个目录信息对dirinfo_pair中另一个信息块修改计数mod_cnt的基础上加1;一个目录信息对dirinfo_pair中,mod_cnt值较大且校验项chk_itm校验正确的目录信息块为当前有效的信息块,mod_cnt计数值较小或校验项chk_itm校验错误的目录信息块为更新前的信息。

4.根据权利要求1所述一种智能卡文件存储结构,...

【专利技术属性】
技术研发人员:蒋虎方万胜许超朱剑欣金涛
申请(专利权)人:公安部交通管理科学研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1