G06F21/62
1.一种基于智能密钥的存储设备,其逻辑结构包括数据访问模块、数据关系模块和数 据存储模块,其物理空间由段单元组成,其特征在于:
所述段单元,是数据存储的最小物理空间单位,所述智能密钥设备的数据空间根据用 户指定的段单元规格,划分为至少三个段单元;
所述段单元中,
所述数据访问模块包括第1个段单元,存储文件系统信息和/或根容器表;
所述根容器表,是第1个段单元保存的容器表,存储容器内的目录信息;
所述文件系统信息,所述数据存储模块保存文件的版本信息、加密密钥信息;
所述数据关系模块包括第2个段单元,存储DSA表;
所述DSA表,用于记录段单元之间的链接关系;
所述数据存储模块为除第1个段单元和第2个段单元以外的其他段单元,用于存储文件 和/或容器;
其中通过数据访问模块能够提取文件系统信息和/或根容器表,通过所述数据关系模 块能够提取所述数据存储模块中存储的文件和/或容器。
2.如权利要求1所述基于智能密钥的存储设备,其特征在于,所述数据访问模块包括第 1个段单元并不限于第一个段单元。
3.如权利要求1或2所述基于智能密钥的存储设备,其特征在于,所述容器表存储容器 内的文件信息和/或子容器信息。
4.如权利要求3所述基于智能密钥的存储设备,其特征在于,所述文件信息包括文件名 称、文件大小、文件属性、文件创建时间、上次访问时间、最后修改时间、文件数据起始段单 元。
5.如权利要求3所述基于智能密钥的存储设备,其特征在于,所述子容器信息包括子容 器名称、子容器创建时间、子容器表的数据起始段。
6.如权利要求1所述基于智能密钥的数据存储方法,其步骤包括,
(1)设置数据存储物理空间,
用户初始化时设置数据存储物理空间大小;
(2)设置段规格,
根据用户初始化时设定的单个段单元大小,将智能密钥设备的数据存储物理空间划分 为多个段单元;
(3)数据存储,
将文件和/或容器存储到数据存储物理空间内,其中,
第1个段单元存储文件和/或容器的文件系统信息和/或根容器表;
第2个段单元存储文件和/或容器所在段单元间链接关系的DSA表;
其他段单元用于存储文件和/或容器。
7.如权利要求6所述基于智能密钥的数据存储方法,其特征在于,在步骤(3)之前,对文 件进行数据压缩处理。
8.如权利要求1所述基于智能密钥的数据读取方法,其步骤包括,
(1)系统初始化,读取所述数据访问模块,加载文件系统信息和根容器表;
(2)文件/容器的定位,读取所述数据关系模块,查询DSA表获得文件所在段单元的位置 信息;
(3)文件/容器读取,根据步骤(2)获得的位置信息读取所述数据存储模块,对应段单元 上的文件和/或容器表,获得文件的数据信息。
9.如权利要求8所述基于智能密钥的数据读取方法,其特征在于,在步骤(3)中,将获得 文件的数据信息缓存在系统内存,减少硬件的I/O操作。
本发明属于密钥设备数据存储技术领域,尤其涉及一种基于智能密钥设备的存储 设备及其数据存储和读取方法。
在安全领域,软件需要对重要数据进行保护,智能密钥设备支持数据存储、安全的 验证机制和可靠的安全加密算法,应用于各个安全系统中。软件开发商对智能密钥设备进 行二次开发时,目前主流的标准有:国际标准PKCS
本发明的目的在于提供一种基于智能密钥的存储设备,解决现有智能存储设备不 支持树型存储结构的技术问题,提供支持文件和容器的功能。本发明还涉及该存储设备的 数据存储方法和数据读取方法。为解决上述问题,本发明所采用的方案是,
一种基于智能密钥的存储设备,其逻辑结构包括数据访问模块、数据关系模块和数据 存储模块,其物理空间由段单元组成,其特征在于:
所述段单元,是数据存储的最小物理空间单位,所述智能密钥设备的数据空间根据用 户指定的段单元规格,划分为至少三个段单元;
所述段单元中,
所述数据访问模块包括第1个段单元,存储文件系统信息和/或根容器表;
所述根容器表,是第1个段单元保存的容器表,存储容器内的目录信息;
所述文件系统信息,所述数据存储模块保存文件的版本信息、加密密钥信息;
所述数据关系模块包括第2个段单元,存储DSA表;
所述DSA表,用于记录段单元之间的链接关系;
所述数据存储模块为除第1个段单元和第2个段单元以外的其他段单元,用于存储文件 和/或容器;
其中通过数据访问模块能够提取文件系统信息和/或根容器表,通过所述数据关系模 块能够提取所述数据存储模块中存储的文件和/或容器。
作为优化,所述数据访问模块包括第1个段单元并不限于第一个段单元;
作为优化,所述容器表存储容器内的文件信息和/或子容器信息;
作为优化,所述文件信息包括文件名称、文件大小、文件属性、文件创建时间、上次访问 时间、最后修改时间、文件数据起始段单元;
作为优化,所述子容器信息包括子容器名称、子容器创建时间、子容器表的数据起始 段。
一种基于智能密钥的存储设备的数据存储方法,其步骤包括,
(1)设置数据存储物理空间,
用户初始化时设置数据存储物理空间大小;
(2)设置段规格,
根据用户初始化时设定的单个段单元大小,将智能密钥设备的数据存储物理空间划分 为多个段单元;
(3)数据存储,
将文件和/或容器存储到数据存储物理空间内,其中,
第1个段单元存储文件和/或容器的文件系统信息和/或根容器表;
第2个段单元存储文件和/或容器所在段单元间链接关系的DSA表;
其他段单元用于存储文件和/或容器。
作为优化,在步骤(3)之前,对文件进行数据压缩处理。
一种基于智能密钥的存储设备的数据读取方法,其步骤包括,
(1)系统初始化,读取所述数据访问模块,加载文件系统信息和根容器表;
(2)文件/容器的定位,读取所述数据关系模块,查询DSA表获得文件所在段单元的位置 信息;
(3)文件/容器读取,根据步骤(2)获得的位置信息读取所述数据存储模块,对应段单元 上的文件和/或容器表,获得文件的数据信息。
作为优化,在步骤(3)中,将获得文件的数据信息缓存在系统内存,减少硬件的I/O 操作。
本发明结构简单,通过段单元设计在原本只能存储文件的数据块中实现文件和容 器的存储操作;同时通过段单元设计将多个独立的数据块相关联,实现多个数据的存储。同 时本发明避免了目前密钥设备的每个数据块只能存放一个数据的弊端,通过设置段单元和 DAS表,将原来互相独立的数据块关联起来,拓展了应用范围。
图1为本发明实施例结构示意图;
图2为本发明实施例树形存储结构示意图;
图3为本发明实施例集中式存储方式结构示意图;
图4为本发明实施例分布式存储方式结构示意图;
图5为本发明实施例段单元关系结构示意图;
图6为本发明实施例读取数据的流程图。
以下结合附图和实施例进一步详细阐述本发明的内容。以下叙述仅用于更加清楚 地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
一种基于智能密钥的存储设备,其逻辑结构包括数据存储模块、数据关系模块和数据 访问模块,其物理空间由段单元组成,
所述段单元,是数据存储的最小物理空间单位,所述智能密钥设备的数据空间根据用 户指定的段单元规格,划分为至少三个段单元;
所述段单元中,
所述数据访问模块包括第1个段单元,并不限于第一个段单元,存储文件系统信息和/ 或根容器表;
所述文件系统信息,所述数据存储模块保存文件的版本信息、加密秘钥信息;
所述根容器表,是第1个段单元保存的容器表,存储容器内的目录信息;
所述容器表存储文件信息和/或子容器信息;
所述文件信息包括文件名称、文件大小、文件属性、文件创建时间、上次访问时间、最后 修改时间、文件数据起始段单元;
所述子容器信息包括子容器名称、子容器创建时间、子容器表的数据起始段单元;
所述数据关系模块包括第2个段单元,存储DSA表;
所述DSA表,用于记录段单元之间的链接关系;
所述数据存储模块为除第1个段单元和第2个段单元以外的其他段单元,用于存储文件 和/或容器;
其中通过数据访问模块能够提取文件系统信息和/或根容器表,通过所述数据关系模 块能够提取所述数据存储模块中存储的文件和/或容器。
容器表记录了容器与子容器和/或文件的上下级关系,如图2所示,通过容器内嵌 容器的方式实现了容器与文件、容器与子容器之前的关系,形成了树型结构;通过文件信息 中的数据起始单元实现了数据与段之间的关系映射;通过查询DSA表可以得到文件数据的 所有段链;树型结构从根容器开始,根容器表位于第1个段单元,如果根容器表的内容超过 一个段的空间上限,可以通过DSA表增加新的存储空间,关联到根目录的结尾存储空间上, 实现动态扩展空间的功能,即动态扩展DSA表支持的存储空间上限,实现了DSA表对超大存 储空间的管理能力。DSA表文件从第2个段开始,通过查询DSA表可获得完整的DSA表段链,利 用DSA表和根容器的内容,可以遍历整个文件系统中的所有文件和容器。
由于智能密钥设备的存储都是以数据块形式实现,每个数据块只能存放一个数 据,而智能密钥盘的数据块大小是由生产厂商规定的,而本发明将数据存储方式分为集中 式存储和分布式存储两种,实现数据块的利用最大化。
所述集中式存储是指智能密钥设备只有一个数据块,我们将这个数据块划分多个 段,每个段存放数据块的一部分数据,段的空间大小总和,就是一个数据块的大小。
例如,当智能密钥设备中仅有一个数据块或其中一个数据块空闲时,如图3所示, 在数据块上设置至少三个段单元,其中,第1个段单元为数据访问模块,用来存储文件系统 信息和/或根容器表,第2个段单元为数据关系模块,用来存储DSA表,其他段单元为数据存 储模块,用于存储文件和/或容器,实现在一个数据块中放置多个证书文件和/或容器。
所述分布式存储是指智能密钥设备有多个数据块,我们将每个数据块对应一个 段,每个段存放一个数据,数据块的大小与段大小相等。
例如当智能密钥设备中有多个数据块空闲时,如图4所示,可以根据预设段单元的 大小,在多个数据块上设置至少三个段单元,其中,第1个段单元为数据访问模块,用来存储 文件系统信息和/或根容器表,第2个段单元为数据关系模块,用来存储DSA表,其他段单元 为数据存储模块,用于存储文件和/或容器,实现在多个数据块中放置多个证书文件和/或 容器。
实施例2
实施例1所述基于智能密钥的存储设备的数据存储方法,其步骤包括,
(1)设置数据存储物理空间:用户初始化时设置数据存储物理空间大小;
(2)设置段规格:根据用户初始化时设定的单个段单元大小,将智能密钥设备的数据存 储物理空间划分为多个段单元;
(3)对待存储文件进行数据压缩处理;
(4)数据存储:将文件和/或容器存储到数据存储物理空间内,其中,
第1个段单元存储文件和/或容器的文件系统信息和/或根容器表;
第2个段单元存储文件和/或容器所在段单元间链接关系的DSA表;
其他段单元用于存储文件和/或容器。
段单元关系如图5所示,DSA表将段单元有序的组织成独立的段链,每一个段单元 用4个字节的空间表示,其值表示当前段单元的下一个段单元编号,段单元编号从0开始,有 效的编号为0x00000001-0xFFFFFFE9,最大支持4294967272个段单元。0xFFFFFFF0- 0xFFFFFFFF保留为作特殊标识位,其中,0xFFFFFFF8为无效段单元,0xFFFFFFFF为结尾段单 元,0x00000000为空闲段单元,为了便于寻址的操作,段单元0被标识为0xFFFFFFF8,即无效 的段,实际段单元编号从1开始使用,在图5中,段单元3的下一个段单元为8,段单元8表示为 结尾段单元。如果文件A的段单元起始编号为3,那么该文件的段单元分别为:3和8,占用2个 段,如果一个段单元占1024字节,即文件A占用了2K的存储空间,文件A的数据实际使用空 间,由第1段单元中的文件信息表中单独记录;当文件的数据需求超出当前的空间大小时, 向DSA表申请空闲单元段分配给文件使用,加入到文件的单元段后面。
实施例3
实施例1所述基于智能密钥的存储设备的数据读取方法,其步骤包括,
(1)系统初始化:读取所述数据访问模块,加载文件系统信息和根容器表;
(2)文件/容器的定位:读取所述数据关系模块,查询DSA表获得文件所在段单元的位置 信息;
(3)文件/容器读取:根据步骤(2)获得的位置信息读取所述数据存储模块,对应段单元 上的文件和/或容器表,获得文件的数据信息;
(4)将获得文件的数据信息缓存在系统内存,减少硬件的I/O操作。
工作时,计算机通过通用的数据访问模块读取第1单元段的文件系统信息和根容 器表,进而在数据关系模块的第2单元中获得DSA表的起始编号,并加载文件/容器完整的 DSA表,定位文件所在父容器,获得文件起始单元段编号,并查询DSA表获得文件完整的单元 段,再在所述数据存储模块读取相应单元段,获得文件数据。
本文发布于:2024-09-26 03:19:05,感谢您对本站的认可!
本文链接:https://www.17tex.com/tex/2/84863.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |