一种分布式文件系统纠删码缓存装置及其缓存方法制造方法及图纸

技术编号:13980978 阅读:120 留言:0更新日期:2016-11-12 11:24
本发明专利技术涉及一种分布式文件系统的纠删码缓存装置,其特征在于:包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块。本发明专利技术还涉及前述装置的数据处理方法。本发明专利技术提供的分布式文件纠删码缓存装置和方法,其第一层级采用副本存储技术,并以较大切片大小存放现有数据,第二层级采用纠删码存储技术,并以较小切片大小存放现有数据中访问较少的数据,充分兼顾了副本存储和纠删码存储的处理较大数据块的效率差别,在节省存储开销的同时,提高数据存储效率。

【技术实现步骤摘要】

本专利技术涉及一种分布式文件系统的纠删码缓存装置,具体是一种合理处理热、冷数据,节省存储开销且提高存储层效率的分布式文件系统的纠删码缓存装置,本专利技术还涉及上述装置的文件处理方法。
技术介绍
随着计算机技术和网络技术的发展,数据正以爆炸式的速度增长,海量数据对存储系统的处理能力提出了巨大的挑战。为了提高数据处理效率,通常采用的策略是对数据进行分层处理。现有技术通过在集群文件系统中同时采用副本存储技术和纠删码存储技术进行存储分层,利用副本技术存放热点数据(访问较多),利用纠删码技术存放冷数据(访问较少)。但是,在现有技术中,往往采取统一较大数据切块大小来处理副本存储层和纠删码存储层的数据。其弊端在于纠删码存储层处理较大数据块的能力远远不及副本存储层,当访问较少的数据块从副本存储层转移到纠删码存储层时,造成纠删码存储层的处理效率低。
技术实现思路
本专利技术要解决的第一个技术问题,是提供一种合理处理热、冷数据,节省存储开销且提高存储层效率的分布式文件系统的纠删码缓存装置。本专利技术要解决的第一个技术问题,可以通过以下的技术方案来实现:一种分布式文件系统的纠删码缓存装置,其特征在于:包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,1)所述配置模块位于管理节点上,其包括第一配置模块和第二配置模块,其中,—第一配置模块,用于设置第一存储池的名称、副本个数和分组规则,并生成第一存储池配置文件,—第二配置模块,用于设置第二存储池的名称、原始数据块个数、校验数据块个数和分组规则,并生成第二存储池配置文件;2)所述创建模块位于管理节点上,其包括第一创建模块和第二创建模块,其中,—第一创建模块,用于读取所述第一存储池配置文件,并根据对应的参数创建第一存储池,—第二创建模块,用于读取所述第二存储池配置文件,并根据对应的参数创建第二存储池;3)所述记录模块位于元数据服务节点上,其用于根据第一存储池配置文件和第二存储池配置文件,将所述第一存储池和第二存储池的参数(或称属性)记录到元数据节点中,并分配唯一的第一存储池标识和第二存储池标识,所述记录模块还用于记录第一、第二存储池的层级关联到存储池元数据;4)所述层级关联模块位于管理节点上,其用于从元数据服务节点获取原数据中存储池类型,并根据所述存储池的类型做关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级;5)所述阀值设置模块位于管理节点上,其用于预设第一层级的第一存储池的数据向第二层级的第二存储池迁移的迁移阀值;6)所述对比模块位于元数据服务节点上,其用于实时获取第一存储池的空间使用量,并与所述阀值设置模块预设的数据迁移的阀值对比,当第一存储池的空间使用量达到所述阀值,则满足数据迁移条件;7)所述切片模块位于数据服务节点上,其用于读取元数据,并在文件进入第一层级的存储池之前,将文件的数据部分分割成若干较大数据切片,对于满足迁移条件的文件,在迁移到第二层级的存储池之前,将文件的数据部分分割成若干较小数据切片;8)所述迁移模块位于元数据服务节点上,其用于读取元数据,获得满足数据迁移条件文件所含数据块的分布,再把所述数据块从当前所在的存储单元中迁移到第二层级存储池所含的存储单元中。本专利技术还涉及上述装置的缓存方法,其特征在于:包括以下顺序的步骤:S1、第一、第二配置模块分别设置第一、第二存储池的参数,并生成第一、第二存储池配置文件,其中第一存储池的参数为第一存储池的名称、副本个数和分组规则,第二存储池的参数为第二存储池的名称、原始数据块个数、校验数据块个数和分组规则;S2、第一、第二创建模块依据S1配置的参数在集群中分别创建第一、第二存储池;S3、记录模块根据第一、第二存储池的配置文件,将记录第一、第二存储池的参数(或称属性)记录到元数据节点中,并分配唯一的第一、第二存储池标识;S4、层级关联模块从元数据服务节点获取元数据中存储池类型,并对第一、第二存储池进行关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级,记录模块将第一、第二存储池的层级关联记录到存储池元数据中;S5、阀值设置模块预设第一层级存储池中的数据向第二层级存储池迁移的迁移阀值;S6、切片模块读取元数据并将写入的文件的数据部分切割成若干较大数据切片,后存放至第一层级存储池;S7、对比模块实时获取第一层级存储池的空间使用量,并与S5中阀值设置模块预设的迁移阀值进行对比,如达到迁移阀值,切片模块将存放至第一层级存储池的较大数据切片进一步分割成若干较小数据切片;如未达到迁移阀值,返回至S6;S8、迁移模块将S7中切割的较小数据切片迁移至第二层级存储池。本专利技术提供的分布式文件纠删码缓存装置和方法,其第一层级采用副本存储技术,并以较大切片大小存放现有数据,第二层级采用纠删码存储技术,并以较小切片大小存放现有数据中访问较少的数据,充分兼顾了副本存储和纠删码存储的处理较大数据块的效率差别,在节省存储开销的同时,提高数据存储效率。在上述基础上,本专利技术所述第一创建模块,用于根据配置文件中包含有副本个数生成第一存储池的类型为第一类型的副本存储池;所述第二创建模块,用于根据配置文件中包含有原始数据切块个数和校验数据块个数生成第二存储池的类型为第二类型的纠删码存储池。本专利技术所述第一存储池名称用于定义第一存储池的名称,所述第二存储池名称用于定义第二存储池的名称;本实施例直接在存储池命名上体现出层次,一目了然。本专利技术所述第一存储池的副本个数用于定义向第一存储池写入文件时、所述第一存储池对其中的原始数据生成冗余数据的份数;本实施例利用副本容错技术原理,例如预设副本个数为2,即对于一个原始数据块a,生成一个冗余数据块a’,以防止较大的数据切片在写入第一存储池时丢失。本专利技术所述第二存储池的原始数据切块个数用于定义第二存储池对其中文件的数据部分的切块个数以及生成校验数据块的个数;本实施例利用纠删码容错技术原理,例如数据部分切块个数为3,生成校验数据块个数为1,那么对于文件(块)F,将分割成3个原始数据块f1,f2,f3和一个校验数据块c1,以防止较小数据切片数据在写入第二存储池时丢失。作为本专利技术的一个实施例,所述第一存储池和第二存储池的分组规则均为按存储单元分组;其中,所述第一存储池设置的存储单元个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储单元个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。本实施例的第一存储池的存储单元个数和副本个数的设置确保第一存储池具有足够的节点存储原始文件(块)和生成的冗余文件均,第二存储池的存储单元个数、原数据切片个数和校验数据块个数的设置确保第二存储池具有足够的节点存储原始数据块和校验数据块,实现分布式存储。上述实施例将原始文件A的文件块将存储在不同存储单元(可能是同一节点的),如果某个节点宕机,而该节点存储了原始文件A的所有数据块,则原始文件A将不能访问,给实际应用带来不便,因此,本专利技术提供一个更优选的实施例,所述第一存储池和第二存储池的分组规则均为按存储节点分组;其中,所述第一存储池设置的存储节点个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储节点个数不小于该第二存储池配置本文档来自技高网...

【技术保护点】
一种分布式文件系统纠删码缓存装置,其包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,1)配置模块位于管理节点上,其包括第一配置模块和第二配置模块,其中,—第一配置模块,用于设置第一存储池的名称、副本个数和分组规则,并生成第一存储池配置文件,—第二配置模块,用于设置第二存储池的名称、原始数据块个数、校验数据块个数和分组规则,并生成第二存储池配置文件;2)创建模块位于管理节点上,其包括第一创建模块和第二创建模块,其中,—第一创建模块,用于读取第一存储池配置文件,并根据对应的参数创建第一存储池,—第二创建模块,用于读取第二存储池配置文件,并根据对应的参数创建第二存储池;3)记录模块位于元数据服务节点上,其用于根据第一存储池配置文件和第二存储池配置文件,将第一存储池和第二存储池的参数记录到元数据节点中,并分配唯一的第一存储池标识和第二存储池标识,记录模块还用于记录第一、第二存储池的层级关联到存储池元数据;4)层级关联模块位于管理节点上,其用于从元数据服务节点获取原数据中存储池类型,并根据存储池的类型做关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级;5)阀值设置模块位于管理节点上,其用于预设第一层级的第一存储池的数据向第二层级的第二存储池迁移的迁移阀值;6)对比模块位于元数据服务节点上,其用于实时获取第一存储池的空间使用量,并与阀值设置模块预设的数据迁移的阀值对比,当第一存储池的空间使用量达到阀值,则满足数据迁移条件;7)切片模块位于数据服务节点上,其用于读取元数据,并在文件进入第一层级的存储池之前,将文件的数据部分分割成若干较大数据切片,对于满足迁移条件的文件,在迁移到第二层级的存储池之前,将文件的数据部分分割成若干较小数据切片;8)迁移模块位于元数据服务节点上,其用于读取元数据,获得满足数据迁移条件文件所含数据块的分布,再把数据块从当前所在的存储单元中迁移到第二层级存储池所含的存储单元中。...

【技术特征摘要】
1.一种分布式文件系统纠删码缓存装置,其包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,1)配置模块位于管理节点上,其包括第一配置模块和第二配置模块,其中,—第一配置模块,用于设置第一存储池的名称、副本个数和分组规则,并生成第一存储池配置文件,—第二配置模块,用于设置第二存储池的名称、原始数据块个数、校验数据块个数和分组规则,并生成第二存储池配置文件;2)创建模块位于管理节点上,其包括第一创建模块和第二创建模块,其中,—第一创建模块,用于读取第一存储池配置文件,并根据对应的参数创建第一存储池,—第二创建模块,用于读取第二存储池配置文件,并根据对应的参数创建第二存储池;3)记录模块位于元数据服务节点上,其用于根据第一存储池配置文件和第二存储池配置文件,将第一存储池和第二存储池的参数记录到元数据节点中,并分配唯一的第一存储池标识和第二存储池标识,记录模块还用于记录第一、第二存储池的层级关联到存储池元数据;4)层级关联模块位于管理节点上,其用于从元数据服务节点获取原数据中存储池类型,并根据存储池的类型做关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级;5)阀值设置模块位于管理节点上,其用于预设第一层级的第一存储池的数据向第二层级的第二存储池迁移的迁移阀值;6)对比模块位于元数据服务节点上,其用于实时获取第一存储池的空间使用量,并与阀值设置模块预设的数据迁移的阀值对比,当第一存储池的空间使用量达到阀值,则满足数据迁移条件;7)切片模块位于数据服务节点上,其用于读取元数据,并在文件进入第一层级的存储池之前,将文件的数据部分分割成若干较大数据切片,对于满足迁移条件的文件,在迁移到第二层级的存储池之前,将文件的数据部分分割成若干较小数据切片;8)迁移模块位于元数据服务节点上,其用于读取元数据,获得满足数据迁移条件文件所含数据块的分布,再把数据块从当前所在的存储单元中迁移到第二层级存储池所含的存储单元中。2.根据权利要求1所述的装置,其特征在于:所述第一创建模块,用于根据配置文件中包含有副本个数生成第一存储池的类型为第一类型的副本存储池;所述第二创建模块,用于根据配置文件中包含有原始数据切块个数和校验数据块个数生成第二存储池的类型为第二类型的纠删码存储池。3.根据权利要求1所述的装置,其特征在于:所述第一存储池的副本个数用于定义向第一存储池写入文件时、所述第一存储池对其中的原始数据生成冗余数据的份数;所述第二存储池的原始数据切块个数用于定义第二存储池对其中文件的数据部分的切块个数以及生成校验数据块的个数。4.根据权利要求1所述的装置,其特征在于:所述第一存储池和第二存储池的分组规则均为按存储单元分组;其中,所述第一存储池设置的存储单元个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储单元个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。5.根据权利要求1所述的装置,其特征在于:所述第一存储池和第二存储池的分组规则...

【专利技术属性】
技术研发人员:曹碧舟张勤李进
申请(专利权)人:中广天择传媒股份有限公司深圳市中博科创信息技术有限公司
类型:发明
国别省市:湖南;43

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

1