当前位置: 首页 > 专利查询>周国花专利>正文

基于数据折叠的数据存储系统及方法技术方案

技术编号:35305263 阅读:15 留言:0更新日期:2022-10-22 12:55
本发明专利技术属于数据存储技术领域,具体涉及基于数据折叠的数据存储系统及方法。所述系统包括:数据获取单元,配置用于获取当前存储的每一组数据,以及每一组数据对应的存储位置;数据转换单元,配置用于基于每一组数据和其对应的存储位置,转换为对应的矩阵片,所述矩阵片由若干矩阵单元组成,每个矩阵单元内的数值对应存储的每一组数据中一个单元数据,每个矩阵单元在矩阵片中的位置对应其存储的单元数据在每一组数据中的存储位置;关键数据判别单元,配置用于首先将矩阵片划分为左片、中片和右片三部分子片,针对每一部分,分别进行关键数据判断,找到关键数据在矩阵片中的位置。其通过将存储的数据进行数据折叠,在不进行数据迁移的情况下,减少了数据存储的冗余,提升了数据存储空间的利用效率。数据存储空间的利用效率。数据存储空间的利用效率。

【技术实现步骤摘要】
基于数据折叠的数据存储系统及方法


[0001]本专利技术属于数据存储
,具体涉及基于数据折叠的数据存储系统及方法。

技术介绍

[0002]随着信息数字化的递增,针对个人的数据存储服务也蓬勃发展。目前,针对个人数据的存储,一般是使用企业的服务,在购买相对应的服务后,个人获得一定的数据存储空间。
[0003]而由于个人数据随着信息技术的发展,也出现指数级增长,原有的数据存储系统难以支撑起海量的用户数据。而此时对这些数据一般使用数据库升级或者数据搬移的方式,而这些操作都代价极高。因此,找到一种能够在现有的数据存储的基础上,进行优化,以使得存储的数据在自身进行正常运行时,对数据的存储进行优化,不仅能够最大化利用存储资源,还能在存储容量提升的同时,以最小的代价保持数据存储的正常运行。
[0004]现有技术中,有使用分布式存储的方法来解决上述问题。但现阶段的分布式存储系统越来越多的采用纠删码(EC,Erasure Code)技术对数据进行存储。纠删码技术原理是将数据进行分割成m个数据块,并且采用冗余算法对m个数据块进行校验编码,生成k个校验块,该m个数据块与k个校验块称为一个EC条带。其中,数据块或校验块也称为EC block,每个EC条带能容忍k个EC block的丢失。
[0005]为了保证存储的可靠性,分布式存储系统会将每个EC条带的m+k个EC block交给m+k个存储节点进行存储。这样,即使某个节点出现了故障,也能够根据其他节点中存储的数据将故障节点中存储的EC block恢复出来。可以理解的,采用EC技术的分布式存储系统能够容忍k个存储节点同时出现故障。
[0006]但是,将EC block写入存储节点需要一定的时间。若用于存储某个EC条带的m+k个存储节点中,有存储节点在写入EC block时发生了故障,则会出现部分存储节点上有该EC条带的EC block,而另一部分存储节点没有该EC条带的EC block的情况,导致该EC条带的存储不一致,分布式存储系统的存储一致性较差。

技术实现思路

[0007]有鉴于此,本专利技术的主要目的在于提供基于数据折叠的数据存储系统及方法,其通过将存储的数据进行数据折叠,在不进行数据迁移的情况下,减少了数据存储的冗余,提升了数据存储空间的利用效率。
[0008]为达到上述目的,本专利技术的技术方案是这样实现的:基于数据折叠的数据存储系统,所述系统包括:数据获取单元,配置用于获取当前存储的每一组数据,以及每一组数据对应的存储位置;数据转换单元,配置用于基于每一组数据和其对应的存储位置,转换为对应的矩阵片,所述矩阵片由若干矩阵单元组成,每个矩阵单元内的数值对应存储的每一组数据中一个单元数据,每个矩阵单元在矩阵片中的位置对应其存储的单元数据在每一组数据中的存储位置;关键数据判别单元,配置用于首先将
矩阵片划分为左片、中片和右片三部分子片,针对每一部分,分别进行关键数据判断,找到关键数据在矩阵片中的位置;矩阵片折叠单元,配置用于对每一个矩阵片,基于关键数据在矩阵片中的位置,对矩阵片进行折叠,得到折叠结果;重存储单元,配置用于对每个折叠的矩阵片,重新进行存储。
[0009]进一步的,所述矩阵片折叠单元,包括:左折叠单元、中折叠单元和右折叠单元;所述左折叠单元,配置用于当关键数据在矩阵片中的左片上时,对当前的矩阵片进行左折叠;所述中折叠单元,配置用于当关键数据在矩阵片中的中片上时,对当前的矩阵片进行中折叠;所述右折叠单元,配置用于当关键数据在矩阵片中的右片上时,对当前的矩阵片进行右折叠。
[0010]进一步的,所述将矩阵片划分为左片、中片和右片三部分时,划分得到的中片、右片和左片的面积大小相等。
[0011]进一步的,所述左折叠单元、右折叠单元和中折叠单元在最矩阵片进行折叠时,均执行以下步骤:将矩阵片中的数据使用预设的折叠映射模型转换为折叠数据,以使得存储折叠后的数据彼此之间的相对位置保持固定不变,同时,基于关键数据在矩阵片中的位置,对矩阵片中的数据进行加密。
[0012]进一步的,当关键数据在矩阵片中的左片上时,对当前的矩阵片进行左折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置;为矩阵片的宽度。
[0013]进一步的,当关键数据在矩阵片中的中片上时,对当前的矩阵片进行中折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置。
[0014]进一步的,当关键数据在矩阵片中的右片上时,对当前的矩阵片进行右折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置;为矩阵片的宽度。
[0015]进一步的,所述左折叠单元、右折叠单元和中折叠单元在最矩阵片进行折叠时,基于关键数据在矩阵片中的位置,对矩阵片中的数据进行加密的方法包括:使用如下公式,将矩阵片中的关键数据进行加密:;其中,为加密后的数据,为关键数据,为判别值,当关键数据在矩阵片中的左片时,取值为1,当关键数据在矩阵片中的中片时,取值为0,当关键数据在矩阵片中的左片时,取值为

1。
[0016]进一步的,所述关键数据判别单元,针对每一部分,分别进行关键数据判断,找到关键数据在矩阵片中的位置的方法包括:对矩阵片中的三个子片,左片、右片和中片的数据分别执行以下过程,以进行关键数据判断:对左片、右片或中片的数据分别进行数据提取,作为待处理数据,针对每行待处理数据中的每列待处理数据,获取所述待处理数据中元字符串中的每个元的子元串及每两个元之间的分隔符所组成的第一字符串;将所述第一字符串与树状结构中根节点到叶子节点的路径上所对应的第二字符串,以及该路径上的叶子节点所对应的一组关键字进行匹配;根据匹配结果判断所述待处理数据中是否包括该路径上
的叶子节点在关键字词典中所对应的关键字;所述关键字字典为树状结构,除根节点以外的每个节点对应一个子元或一个分隔符,每个叶子节点对应一组关键字,一个叶子节点所对应的每个关键字中的每个元的子元串以及每两个元之间的分隔符所构成的字符串,与根节点到该叶子节点的路径上对应节点的子元及分隔符所构成的字符串相同;若是,则根据待处理数据中所包括的关键字所在的列,将所述数据表中相应的列的所有数据确定为子关键数据;最后计算左片、中片或右片中子关键数据量,关键数据量最多的子片中的数据作为关键数据。
[0017]一种基于数据折叠的数据存储方法,所述方法执行以下步骤:获取当前存储的每一组数据,以及每一组数据对应的存储位置;基于每一组数据和其对应的存储位置,转换为对应的矩阵片,所述矩阵片由若干矩阵单元组成,每个矩阵单元内的数值对应存储的每一组数据中一个单元数据,每个矩阵单元在矩阵片中的位置对应其存储的单元数据在每一组数据中的存储位置;首先将矩阵片划分为左片、中片和右片三部分子片,针对每一部分,分别进行关键数据判断,找到关键数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于数据折叠的数据存储系统,其特征在于,所述系统包括:数据获取单元,配置用于获取当前存储的每一组数据,以及每一组数据对应的存储位置;数据转换单元,配置用于基于每一组数据和其对应的存储位置,转换为对应的矩阵片,所述矩阵片由若干矩阵单元组成,每个矩阵单元内的数值对应存储的每一组数据中一个单元数据,每个矩阵单元在矩阵片中的位置对应其存储的单元数据在每一组数据中的存储位置;关键数据判别单元,配置用于首先将矩阵片划分为左片、中片和右片三部分子片,针对每一部分,分别进行关键数据判断,找到关键数据在矩阵片中的位置;矩阵片折叠单元,配置用于对每一个矩阵片,基于关键数据在矩阵片中的位置,对矩阵片进行折叠,得到折叠结果;重存储单元,配置用于对每个折叠的矩阵片,重新进行存储。2.如权利要求1所述的系统,其特征在于,所述矩阵片折叠单元,包括:左折叠单元、中折叠单元和右折叠单元;所述左折叠单元,配置用于当关键数据在矩阵片中的左片上时,对当前的矩阵片进行左折叠;所述中折叠单元,配置用于当关键数据在矩阵片中的中片上时,对当前的矩阵片进行中折叠;所述右折叠单元,配置用于当关键数据在矩阵片中的右片上时,对当前的矩阵片进行右折叠。3.如权利要求1所述的系统,其特征在于,所述将矩阵片划分为左片、中片和右片三部分时,划分得到的中片、右片和左片的面积大小相等。4.如权利要求2所述的系统,其特征在于,所述左折叠单元、右折叠单元和中折叠单元在最矩阵片进行折叠时,均执行以下步骤:将矩阵片中的数据使用预设的折叠映射模型转换为折叠数据,以使得存储折叠后的数据彼此之间的相对位置保持固定不变,同时,基于关键数据在矩阵片中的位置,对矩阵片中的数据进行加密。5.如权利要求4所述的系统,其特征在于,当关键数据在矩阵片中的左片上时,对当前的矩阵片进行左折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置;为矩阵片的宽度。6.如权利要求4所述的系统,其特征在于,当关键数据在矩阵片中的中片上时,对当前的矩阵片进行中折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置。7.如权利要求4所述的系统,其特征在于,当关键数据在矩阵片中的右片上时,对当前的矩阵片进行右折叠时,所述折叠映射模型使用如下公式进行表示:;其中,为矩阵片中的数据在折叠后的新的位置,为矩阵片中的数据在折叠前的位置;为矩阵片的宽...

【专利技术属性】
技术研发人员:周国花
申请(专利权)人:周国花
类型:发明
国别省市:

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

1