一种数据项备份方法及智能卡技术

技术编号:7522377 阅读:154 留言:0更新日期:2012-07-12 03:36
本发明专利技术公开了一种数据项备份方法,用于实现用有效的空间存储更多的数据项,达到节省空间的目的。所述方法包括:在对智能卡进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log;当判断结果为是时,在已存在的所述记录log的值Value中按地址顺序连续写入需备份数据的各数据项的第一信息。本发明专利技术还公开了用于实现所述方法的智能卡。

【技术实现步骤摘要】

本专利技术涉及通信及计算机领域,特别涉及一种数据项备份方法及智能卡
技术介绍
在智能卡技术中,有一项重要的任务,就是断电后对NVM(Non volatile memory,非易失性存储器)中数据的保护,即出现断电后再次上电使用时,需要保证NVM中存储的数据不出现中间值,要么保持修改前的值,要么保持修改后的值。常用的办法是先将NVM中的数据先以一定的格式保存到指定的存储空间(备份区),如果出现断电,则在下次智能卡复位时从备份区取出保存的数据恢复到相应的NVM地址中,以保证数据的正确性。在备份区,数据通常以log(记录)方式保存,一条log对应一次写NVM操作。log格式通常为TLV (Tag-Length-Value,标签-长度-值)结构,参见图IA所示,Value中包含数据的地址(一般为3-4字节),数据长度,数据内容。其中,Value的结构如图IB所示,其中的校验值是对前面所有数据的校验,通常为M)R(异或)校验或CRC (循环冗余校验码)校验等。在断电恢复阶段,从备份区取出log,先通过校验值检验数据的正确性,然后将log中的数据恢复到相应地址。但在智能卡上,NVM的资源有限,备份区也不会很大。因此,如何用尽可能少的空间保护尽可能多的数据,是现有技术中亟待解决的问题。
技术实现思路
本专利技术实施例提供一种数据项备份方法及智能卡,用于实现用有效的空间存储更多的数据项,达到节省空间的目的。一种数据项备份方法,包括以下步骤在对智能卡进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log ;当判断结果为是时,在已存在的所述记录log的值Value中按地址顺序连续写入需备份数据的各数据项的第一信息。一种智能卡,包括判断模块,用于在进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log ;写模块,用于当判断结果为是时,在已存在的所述记录log的值Value中按地址顺序连续写入需备份数据的各数据项的第一信息。本专利技术实施例的数据项备份方法为在对智能卡进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log ;当判断结果为是时,在已存在的所述记录log的值Value中按地址顺序连续写入需备份数据的各数据项的第一信息。如果需备份的数据项的地址与已存在的所述记录log保护地址连续,则只需在已存在的所述记录log中记录一个起始地址,后续每个数据项的地址可以省略,这样能够较为高效地利用备份区的存储空间。附图说明图IA为现有技术中log格式的示意图;图IB为现有技术中Value格式的示意图;图2为本专利技术实施例中智能卡的详细结构图;图3为本专利技术实施例中表格数据项存储格式示意图;图4为本专利技术实施例中地址连续时数据项存储格式示意图;图5为本专利技术实施例中地址不连续时数据项存储格式示意图;图6为本专利技术实施例中数据项备份方法的主要流程图;图7为本专利技术实施例中数据项备份方法的详细流程图。具体实施例方式本专利技术实施例的数据项备份方法为在对智能卡进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log ;当判断结果为是时,在已存在的所述记录log的值Value中按地址顺序连续写入需备份数据的各数据项的第一信息。如果需备份的数据项的地址与已存在的所述记录log保护地址连续,则只需在已存在的所述记录log中记录一个起始地址,后续每个数据项的地址可以省略,这样能够较为高效地利用备份区的存储空间。参见图2,本专利技术实施例中数据项备份装置包括判断模块201及写模块202。本专利技术实施例中所述装置还可以包括操作模块203、确定模块204和恢复模块205。本专利技术实施例中所述装置可以是智能卡。判断模块201用于在进行写操作时,判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log。当需要在备份区写入数据项时,判断模块201可以首先判断备份区中是否存在一条记录log,其存储的数据项的地址与需写入的数据的第一个数据项的地址连续。其中,一条记录log中可能存储有多个数据项,该多个数据项可能不是连续存储,可能是分段存储,数据项之间还可以有存储空间,则判断模块201可以判断一条记录log中存储的最后一个数据项的地址与需备份数据的第一个数据项的地址是否连续,也可以首先判断一条记录log中是否有地址与需备份数据的第一个数据项的地址连续的数据项,如果有,则可以继续判断该数据项之后是否有存储空间。本专利技术实施例中,如果一个记录log中存储了 η个数据项,则在该记录log的Tag中可以有记录,表明本条记录log共存储了 η个数据项,及各数据项之间如果还有存储空间,则Tag中可以记录剩余存储空间的大小,判断模块201根据该记录可以获知其中存储的各数据项的地址,及还可以根据记录log的Length中记录的该条记录log—共可以存储的数据项长度及已存入的数据项长度判断该条记录log的存储空间是否已满。本专利技术实施例中,记录log的保护地址是指记录log的Value中已存储的地址,即记录log中存储的第一个数据项的地址。判断模块201可以通过查询的方式,遍历备份区中已存储的所有记录log,判断其中是否已有记录log中存储的最后一个数据项的地址与需备份数据的第一个数据项的地址相连续,如果有,则通知写模块202将需备份数据的各数据项的第一信息写入该记录log。如果没有,可以在备份区中任选一个未存满的记录log,将需备份数据的各数据项的第一信息写入其中,较佳的,所选择的记录log可以是,需备份数据的第一个数据项的地址与该记录log中存储的最后一个数据项的地址的地址偏移量在所有的地址偏移量中值最小,所有的地址偏移量是指备份区中所有未写满的记录log存储的最后一个数据项的地址与需备份的第一个数据项的地址的地址偏移量的集合;或也可以根据需备份数据的第一个数据项的地址新建一个记录log,将需备份数据的各数据项的第一信息写入其中。其中,需备份的数据项也可以称为保护数据项。判断模块201还可以在判断备份区中是否已存在一条存储的数据项的地址与需备份数据的第一个数据项的地址连续的记录log之后判断该已存在的所述记录log剩余的存储空间是否能够写入本次需备份数据的全部数据项的第一信息,如果可以,则通知写模块202在已存在的所述记录log的值Value中顺序写入需备份数据的各数据项的第一信息。如果已存在的所述记录log剩余的存储空间不够,不能写入本次需备份数据的全部数据项的第一信息时,可以在该已存在的所述记录log中写入能够写入的需备份数据的各数据项的第一信息,即将需备份数据的数据项按照地址从小到大排列顺序写入,将大小在已存在的所述记录log剩余存储空间范围内的需备份数据的各数据项的第一信息写入已存在的所述记录log,再通知操作模块203新建一记录log,从所述无法写入已存在的所述记录log的第一个数据项开始,按照数据项的地址增大的顺序在所述新建的记录log的Value中依次写入所述无法写入已存在的所述记录log的第一个数据项的地址、数据项长度、数据项内容、校验值,及剩余的其本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:袁巧
申请(专利权)人:北京握奇数据系统有限公司
类型:发明
国别省市:

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

1
相关领域技术