数据存储结构的转换方法及装置的制造方法

文档序号:9839619阅读:559来源:国知局
数据存储结构的转换方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,具体而言,本发明涉及一种数据存储结构的转换方 法及装置。
【背景技术】
[0002] 随着信息时代的迅速发展,不仅在大企业,甚至一些小企业也积累了 TB量级的数 据,各种规模的组织开始有了处理大规模及多重数据种类的数据的需求,而传统的关系型 数据库(SQL数据库)在数据存储的可扩展方面几乎达到极限。为了解决大规模数据集合及 多重数据种类带来的挑战和大数据应用的难题,非关系型数据库(NoSQL数据库)应运而生。
[0003] 常用的非关系型数据库包括KV(Key-Value,键值)存储数据库,其数据按照键值对 的形式进行组织、索引和存储。KV存储方式非常适合不涉及过多数据关系及业务关系的数 据存储业务,其能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能,KV存 储数据库的可实现方式包括Redis和LevelDB等,LevelDB能够支持billion级别的数据量, 且在这个数量级别下还能够保持非常高的数据存储处理性能,同时,LevelDB可将数据存储 至磁盘,有利于数据的永久保存;但是,目前Leve 1DB的接口仅支持无变形的key-value (键 值对)型数据,接口较为单一,对业务的可扩展性较差。Redis是一种高性能的key-value存 储系统,其可支持多种value类型的数据存储结构,包括string (字符串)类型、list (链表) 类型、set(集合)类型、zset(有序集合)类型和hash(哈希)类型,但是,为了保证较高的数据 存储处理效率,其数据都是缓存在内存中,即Redis为一种内存型数据库,因此该存储方式 受物理内存限制,无法实现大数据存储。
[0004] 由此可见,如何实现一种数据存储处理效率较高、既支持多种类型的数据存储结 构、又不受物理内存限制的存储系统是目前急需解决的问题。

【发明内容】

[0005] 为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
[0006] 本发明的实施例提出了一种数据存储结构的转换方法,包括:
[0007] 提取基于原始存储结构的待转换数据中的第一数据单元、第二数据单元及第三数 据单元,并将所述第一数据单元、所述第二数据单元及所述第三数据单元进行合并以确定 为转换存储结构中的第一类键;
[0008] 将所述转换存储结构中的第一类值设为空值;
[0009] 将所述第一类键及所述第一类值组成的第一类数据键值对存储至键值数据库中。 [0010]优选地,该方法还包括:
[0011] 提取所述待转换数据中的第一数据单元及第三数据单元,并将所述第一数据单元 及所述第三数据单元进行合并以确定为转换存储结构中的第二类键;
[0012] 将提取到的所述待转换数据中的第二数据单元确定为转换存储结构中的第二类 值;
[0013] 将所述第二类键及所述第二类值组成的第二类数据键值对存储至键值数据库中。
[0014] 优选地,该方法还包括:
[0015] 判断所述第二数据单元是否为整数类型;
[0016] 当所述第二数据单元不为整数类型时,将所述第二数据单元通过预设转换算法转 换为整数类型。
[0017] 优选地,该方法还包括:
[0018] 确定具有相同第一数据单元的待转换数据的数量;
[0019] 将以预定的数量标识为键、以所述具有相同第一数据单元的待转换数据的数量为 值组成的数量键值对与所述第一类数据键值对及所述第二数据键值相关联地存储至所述 键值数据库中。
[0020] 其中,所述预定的数量标识至少包括:
[0021 ]第一数据单元;可变量标识。
[0022]优选地,该方法还包括:
[0023]当对任一待更新的第一类数据键值对进行更新操作时,对与该待更新的第一类数 据键值对相关联的第二类数据键值及数量键值对进行相应更新;或
[0024] 当对任一待更新的第二类数据键值对进行更新操作时,对与该待更新的第二类数 据键值对相关联的第一类数据键值及数量键值对进行相应更新。
[0025] 本发明的实施例提出了一种数据存储结构的转换装置,包括:
[0026] 第一键确定模块,用于提取基于原始存储结构的待转换数据中的第一数据单元、 第二数据单元及第三数据单元,并将所述第一数据单元、所述第二数据单元及所述第三数 据单元进行合并以确定为转换存储结构中的第一类键;
[0027] 第一值确定模块,用于将所述转换存储结构中的第一类值设为空值;
[0028] 第一键值对存储模块,用于将所述第一类键及所述第一类值组成的第一类数据键 值对存储至键值数据库中。
[0029] 优选地,该装置还包括:
[0030] 第二键确定模块,用于提取所述待转换数据中的第一数据单元及第三数据单元, 并将所述第一数据单元及所述第三数据单元进行合并以确定为转换存储结构中的第二类 键;
[0031] 第二值确定模块,用于将提取到的所述待转换数据中的第二数据单元确定为转换 存储结构中的第二类值;
[0032] 第二键值对存储模块,用于将所述第二类键及所述第二类值组成的第二类数据键 值对存储至键值数据库中。
[0033] 优选地,该装置还包括:
[0034] 判断模块,用于判断所述第二数据单元是否为整数类型;
[0035] 转换模块,用于当所述第二数据单元不为整数类型时,将所述第二数据单元通过 预设转换算法转换为整数类型。
[0036] 优选地,该装置还包括:
[0037] 确定具有相同第一数据单元的待转换数据的数量;
[0038]将以预定的数量标识为键、以所述具有相同第一数据单元的待转换数据的数量为 值组成的数量键值对与所述第一类数据键值对及所述第二类数据键值相关联地存储至所 述键值数据库中。
[0039] 其中,所述预定的数量标识至少包括:
[0040] 第一数据单元;可变量标识。
[0041 ] 优选地,该装置还包括:
[0042] 更新模块,用于
[0043] 当对任一待更新的第一类数据键值对进行更新操作时,对与该待更新的第一类数 据键值对相关联的第二类数据键值及数量键值对进行相应更新;或
[0044] 当对任一待更新的第二类数据键值对进行更新操作时,对与该待更新的第二类数 据键值对相关联的第一类数据键值及数量键值对进行相应更新。
[0045] 本发明的实施例中,提出了一种数据存储结构的转换方案,通过将基于原始存储 结构的数据转换存储为基于转换存储结构中的数据,实现对多种存储数据类型以统一的转 换存储结构的方式进行数据存储。进一步的,将支持多种value类型的数据存储结构的 Redis存储系统中的多种数据存储结构的数据,转存至仅支持无变形的键值对数据存储结 构的LevelDB存储系统,实现了在保证较高的数据存储处理效率的前提下,将受物理内存限 制的存储方式转换为以磁盘为数据存储目标的、不受物理内存限制的存储方式。通过本发 明,最终可实现一种数据存储处理效率较高、既支持多种类型的数据存储结构、又不受物理 内存限制的存储系统,由于该存储系统可对多种数据结构类型的海量数据进行高效存储, 从而使得本方案的数据存储方式拥有较强的业务扩展性。
[0046] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0047] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得 明显和容易理解,其中:
[0048] 图1为本发明中一个实施例的数据存储结构的转换方法的流程图;
[0049] 图2为本发明中一个优选实施例的数据存储结构的转换方法的流程图;
[0050] 图3为本发明中另一实施例的数据存储结构的转换装置的结构示意图;
[0051] 图4为本发明中另一优选实施例的数据存储结构的转换装置的结构示意图。
【具体实施方式】
[0052] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0053]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式"一"、"一 个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措 辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元 件被"连接"或"耦接"到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在 中间元件。此外,这里使用的"连接"或"親接"可以包括无线连接或无线耦接。这里使用的措 辞"和/或"包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0054] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术 语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该 理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的 意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义 来解释。
[0055] 图1为本发明中一个实施例的数据存储结构的转换方法的流程图。
[0056] 步骤S110:提取基于原始存储结构的待转换数据中的第一数据单元、第二数据单 元及第三数据单元,并将第一数据单元、第二数据单元及第三数据单元进行合并以确定为 转换存储结构中的第一类键;步骤S120:将转换存储结构中的第一类值设为空值;步骤 S130:将第一类键及第一类值组成的第一类数据键值对存储至键值数据库中。
[0057] 本发明的实施例中,提出了一种数据存储结构的转换方案,通过将基于原始存储 结构的数据转换存储为基于转换存储结构中的数据,实现对多种存储数据类型以统一的转 换存储结构的方式进行数据存储。进一步的,将支持多种value类型的数据存储结构的 Redis存储系统中的多种数据存储结构的数据,转存至仅支持
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1