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

文档序号:9547271阅读:289来源:国知局
数据存储结构的转换方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体而言,本发明涉及一种数据存储结构的转换方法及装置。
【背景技术】
[0002]随着信息时代的迅速发展,不仅在大企业,甚至一些小企业也积累了 TB量级的数据,各种规模的组织开始有了处理大规模及多重数据种类的数据的需求,而传统的关系型数据库(SQL数据库)在数据存储的可扩展方面几乎达到极限。为了解决大规模数据集合及多重数据种类带来的挑战和大数据应用的难题,非关系型数据库(NoSQL数据库)应运而生。
[0003]常用的非关系型数据库包括KV(Key-Value,键值)存储数据库,其数据按照键值对的形式进行组织、索引和存储。KV存储方式非常适合不涉及过多数据关系及业务关系的数据存储业务,其能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能,KV存储数据库的可实现方式包括Redis和LevelDB等,LevelDB能够支持bill1n级别的数据量,且在这个数量级别下还能够保持非常高的数据存储处理性能,同时,LevelDB可将数据存储至磁盘,有利于数据的永久保存;但是,目前LevelDB的接口仅支持无变形的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]提取所述链表包括的各个数据中的value数据单元,并将所述各个数据中的value数据单元确定为转换存储结构中的第四类值;
[0024]将所述第四类键及相应的所述第四类值分别组成的多个第四键值对存储至键值数据库中。
[0025]优选地,该方法还包括:
[0026]根据所述转换存储结构,对所述键值数据库进行更新操作。
[0027]本发明的实施例提出了一种数据存储结构的转换装置,包括:
[0028]第一键确定模块,用于提取基于原始存储结构的与多个数据对应的第一标识单元,并将所述第一标识单元确定为转换存储结构中的第一类键,其中,所述多个数据对应于同一第一标识单元;
[0029]第一值确定模块,用于将所述多个数据确定为转换存储结构中的第一类值;
[0030]第一键值对存储模块,用于将所述第一类键及所述第一类值组成的第一键值对存储至键值数据库中。
[0031 ] 优选地,该装置还包括:
[0032]第二键确定模块,用于基于预定划分规则将所述多个数据划分为多个数据分段,并将各个数据分段分别确定为转换存储结构中的第二类值;
[0033]第二值确定模块,用于确定与各个数据分段相应的分段标识,并将所述分段标识确定为与各个数据分段相应的第二类键;
[0034]第二键值对存储模块,用于将所述第二类键及相应的所述第二类值分别组成的多个第二键值对存储至键值数据库中。
[0035]其中,基于原始存储结构的多个数据具体包括基于链表存储结构的同一链表中多个数据,所述第一键确定模块具体用于提取基于链表存储结构的多个数据所在链表的链表标识,并将所述链表标识确定为转换存储结构中的第一类键;所述第一值确定模块具体用于将所述链表包括的多个数据确定为转换存储结构中的第一类值。
[0036]优选地,该装置还包括:
[0037]第三值确定模块,用于提取所述链表中多个数据的结构相关信息,并将所述结构相关信息确定为转换存储结构中的第三类值;
[0038]第三键值对确定模块,用于将所述第一类键及所述第三类值组成的第三键值对存储至键值数据库中。
[0039]优选地,该装置还包括:
[0040]第四键确定模块,用于提取所述链表包括的各个数据中的位置标识,并将所述各个数据中的位置标识确定为转换存储结构中的第四类键;
[0041]第四值确定模块,用于提取所述链表包括的各个数据中的value数据单元,并将所述各个数据中的value数据单元确定为转换存储结构中的第四类值;
[0042]第四键值对确定模块,用于将所述第四类键及相应的所述第四类值分别组成的多个第四键值对存储至键值数据库中。
[0043]优选地,该装置还包括:
[0044]更新模块,用于根据所述转换存储结构,对所述键值数据库进行更新操作。
[0045]本发明的实施例中,提出了一种数据存储结构的转换方案,通过将基于原始存储结构的数据转换存储为基于转换存储结构中的数据,实现对多种存储数据类型以统一的转换存储结构的方式进行数据存储。进一步的,将支持多种value类型的数据存储结构的Redis存储系统中的多种数据存储结构的数据,转存至仅支持无变形的键值对数据存储结构的LevelDB存储系统,实现了在保证较高的数据存储处理效率的前提下,将受物理内存限制的存储方式转换为以磁盘为数据存储目标的、不受物理内存限制的存储方式。通过本发明,最终可实现一种数据存储处理效率较高、既支持多种类型的数据存储结构、又不受物理内存限制的存储系统,由于该存储系统可对多种数据结构类型的海量数据进行高效存储,从而使得本方案的数据存储方式拥有较强的业务扩展性。
[0046]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0047]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0048]图1为本发明中一个实施例的数据存储结构的转换方法的流程图;
[0049]图2为本发明中一个优选实施例的数据存储结构的转换方法的流程图;
[0050]图3为本发明中另一实施例
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1