System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据存储方法、数据存储装置、存储介质和电子设备制造方法及图纸_技高网

数据存储方法、数据存储装置、存储介质和电子设备制造方法及图纸

技术编号:40940075 阅读:10 留言:0更新日期:2024-04-18 14:57
本申请提供了一种数据存储方法、数据存储装置、存储介质和电子设备,该方法包括:将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储数据块(即原子数据块);在目标数据库中存在与待存储数据块相同的原子数据块的情况下,确定不重复存储待存储数据块;在目标数据库中不存在与待存储数据块相同的原子数据块的情况下,将待存储数据块存储至目标数据库中,并将待存储大数据表与待存储数据块之间的映射关系和基础信息维护到关系型数据库中。该方法把大数据表拆分为多个原子数据块。在数据存储过程中,发现相同的原子数据块,直接进行关联引用,不用再存储一遍相同的数据内容,这样就在最大程度上减少了数据冗余重复占用的存储空间。

【技术实现步骤摘要】

本申请涉及数据存储领域,具体而言,涉及一种数据存储方法、数据存储装置、计算机可读存储介质和电子设备。


技术介绍

1、大数据表或者大数据文件在备份存储或者冷备存储过程中,通常会被存储多份;表复制或者文件复制的过程中,相同数据被复制后会占用一倍的存储空间;略微有些差异的数据或者文件在备份存储的过程中也存在着大量相同的数据,这样就会导致实际有效数据的冗余存储。


技术实现思路

1、本申请的主要目的在于提供一种数据存储方法、数据存储装置、计算机可读存储介质和电子设备,以至少解决现有的存储技术中,数据或文件在全量或者增量备份存储之后,导致数据大量冗余存储的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种数据存储方法,所述方法用于对原子数据块进行复用,所述方法包括:将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块,所述待存储的原子数据块为待存储的原子数据块;获取各所述待存储的原子数据块的标识值,并根据所述待存储的原子数据块的标识值,确定目标数据库中是否存在与所述待存储的原子数据块相同的原子数据块,所述待存储的原子数据块的标识值用于唯一标识所述待存储的原子数据块,所述目标数据库中的原子数据块为压缩后的数据;在所述目标数据库中存在与所述待存储的原子数据块相同的所述原子数据块的情况下,确定不重复存储所述待存储的原子数据块,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述目标数据库中;在所述目标数据库中不存在与所述待存储的原子数据块相同的所述原子数据块的情况下,将所述待存储的原子数据块以及所述待存储大数据表与所述待存储的原子数据块之间的映射关系均存储至所述目标数据库中。

3、可选地,将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块,包括:指定第一预设顺序和第二预设顺序;将所述待存储大数据表中的数据按照所述第一预设顺序进行排序,得到第一顺序数据表;将所述第一顺序数据表中的数据记录按照所述第二预设顺序进行排序,得到第二顺序数据表,一个所述数据记录中包括多个所述数据;根据所述第二顺序数据表的总数据量的大小,按照所述第二顺序数据表中各数据记录的起始时间和结束时间,将所述第二顺序数据表中的多条所述数据记录划分为多个数据记录集合,一个所述数据记录集合中所有的所述数据记录的起始时间和结束数据均相同;将各所述数据记录集合中所有的所述数据记录划分为至少一个基本数据单元,并将所述基本数据单元确定为所述待存储的原子数据块,一个所述基本数据单元包括n行所述数据记录。

4、可选地,所述目标数据库包括隐藏表、虚拟表和映射表,所述隐藏表用于存储各所述原子数据块中的具体的数据,所述虚拟表用于存储所述原子数据块的基础信息,所述映射表用于存储所述原子数据块与各数据表之间的映射关系,所述原子数据块的基础信息至少包括以下之一:所述原子数据块中数据记录的行数,所述原子数据块中数据量的大小,所述原子数据块的被引用次数,所述原子数据块中数据的状态,所述原子数据块被修改的次数,所述原子数据块的存入时间和所述原子数据块的最近一次的修改时间。

5、可选地,在所述目标数据库中存在与所述待存储的原子数据块相同的所述原子数据块的情况下,确定不重复存储所述待存储的原子数据块,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述目标数据库中,包括:在所述目标数据库中存在相同的所述原子数据块的情况下,不将所述待存储的原子数据块存储在所述隐藏表中,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述映射表中,并将所述虚拟表中所述待存储的原子数据块的被引用次数加一。

6、可选地,在所述目标数据库中不存在与所述待存储的原子数据块相同的所述原子数据块的情况下,将所述待存储的原子数据块以及所述待存储大数据表与所述待存储的原子数据块之间的映射关系均存储至所述目标数据库中,包括:在所述目标数据库中不存在与所述待存储的原子数据块相同的所述原子数据块的情况下,将所述待存储的原子数据块中的具体数据存储至所述隐藏表中,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述映射表中,并将所述待存储的原子数据块的基础信息存储至所述虚拟表中。

7、可选地,所述方法还包括:在将所述目标数据库中的其中一个数据表删除的情况下,将所述虚拟表中存储的所述数据表对应的所述原子数据块的被引用次数减一;在所述虚拟表中存储的所述原子数据块的被引用次数为零的情况下,将对应的所述隐藏表中所述原子数据块的具体数据删除。

8、可选地,所述待存储的原子数据块的标识值为所述待存储的原子数据块的sha256摘要值,所述方法还包括:在从所述目标数据库中下载目标数据表的情况下,将所述目标数据库中与所述目标数据表对应的各所述原子数据块按照预设顺序依次下载到本地服务器;在所述本地服务器上将所有的所述原子数据块合并,得到所述目标数据表。

9、根据本申请的另一方面,提供了一种数据存储装置,包括:拆分单元,用于将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块,所述待存储的原子数据块为待存储的原子数据块;获取单元,用于获取各所述待存储的原子数据块的标识值,并根据所述待存储的原子数据块的标识值,确定目标数据库中是否存在与所述待存储的原子数据块相同的原子数据块,所述待存储的原子数据块的标识值用于唯一标识所述待存储的原子数据块,所述目标数据库中的原子数据块为压缩后的数据;第一存储单元,用于在所述目标数据库中存在与所述待存储的原子数据块相同的所述原子数据块的情况下,确定不重复存储所述待存储的原子数据块,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述目标数据库中;第二存储单元,用于在所述目标数据库中不存在与所述待存储的原子数据块相同的所述原子数据块的情况下,将所述待存储的原子数据块以及所述待存储大数据表与所述待存储的原子数据块之间的映射关系均存储至所述目标数据库中。

10、根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的数据存储方法。

11、根据本申请的另一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的数据存储方法。

12、应用本申请的技术方案,上述数据存储方法,首先将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块;其次获取各待存储的原子数据块的标识值,并根据待存储的原子数据块的标识值,确定目标数据库中是否存在与待存储的原子数据块相同的原子数据块,待存储的原子数据块的标识值用于唯一标识待存储的原子数据块;然后在目标数据库中存在与待存储的原子数据块相同的原子数据块的情况下,确定不重复本文档来自技高网...

【技术保护点】

1.一种数据存储方法,其特征在于,所述方法用于对原子数据块进行复用,所述方法包括:

2.根据权利要求1所述的数据存储方法,其特征在于,将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块,包括:

3.根据权利要求1所述的数据存储方法,其特征在于,所述目标数据库包括隐藏表、虚拟表和映射表,所述隐藏表用于存储各所述原子数据块中的具体的数据,所述虚拟表用于存储所述原子数据块的基础信息,所述映射表用于存储所述原子数据块与各数据表之间的映射关系,所述原子数据块的基础信息至少包括以下之一:所述原子数据块中数据记录的行数,所述原子数据块中数据量的大小,所述原子数据块的被引用次数,所述原子数据块中数据的状态,所述原子数据块被修改的次数,所述原子数据块的存入时间和所述原子数据块的最近一次的修改时间。

4.根据权利要求3所述的数据存储方法,其特征在于,在所述目标数据库中存在与所述待存储的原子数据块相同的所述原子数据块的情况下,确定不重复存储所述待存储的原子数据块,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述目标数据库中,包括:

5.根据权利要求3所述的数据存储方法,其特征在于,在所述目标数据库中不存在与所述待存储的原子数据块相同的所述原子数据块的情况下,将所述待存储的原子数据块以及所述待存储大数据表与所述待存储的原子数据块之间的映射关系均存储至所述目标数据库中,包括:

6.根据权利要求3所述的数据存储方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的数据存储方法,其特征在于,所述待存储的原子数据块的标识值为所述待存储的原子数据块的SHA256摘要值,所述方法还包括:

8.一种数据存储装置,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的数据存储方法。

10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的数据存储方法。

...

【技术特征摘要】

1.一种数据存储方法,其特征在于,所述方法用于对原子数据块进行复用,所述方法包括:

2.根据权利要求1所述的数据存储方法,其特征在于,将待存储大数据表中的多条数据记录按组有序拆分,得到多个待存储的原子数据块,包括:

3.根据权利要求1所述的数据存储方法,其特征在于,所述目标数据库包括隐藏表、虚拟表和映射表,所述隐藏表用于存储各所述原子数据块中的具体的数据,所述虚拟表用于存储所述原子数据块的基础信息,所述映射表用于存储所述原子数据块与各数据表之间的映射关系,所述原子数据块的基础信息至少包括以下之一:所述原子数据块中数据记录的行数,所述原子数据块中数据量的大小,所述原子数据块的被引用次数,所述原子数据块中数据的状态,所述原子数据块被修改的次数,所述原子数据块的存入时间和所述原子数据块的最近一次的修改时间。

4.根据权利要求3所述的数据存储方法,其特征在于,在所述目标数据库中存在与所述待存储的原子数据块相同的所述原子数据块的情况下,确定不重复存储所述待存储的原子数据块,将所述待存储大数据表与所述待存储的原子数据块之间的映射关系存储至所述目标数据库中,包括:<...

【专利技术属性】
技术研发人员:刘智鑫丰瑾
申请(专利权)人:中国邮政储蓄银行股份有限公司
类型:发明
国别省市:

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

1