CN106095807A - 一种分布式文件系统纠删码缓存装置及其缓存方法 - Google Patents
一种分布式文件系统纠删码缓存装置及其缓存方法 Download PDFInfo
- Publication number
- CN106095807A CN106095807A CN201610375233.9A CN201610375233A CN106095807A CN 106095807 A CN106095807 A CN 106095807A CN 201610375233 A CN201610375233 A CN 201610375233A CN 106095807 A CN106095807 A CN 106095807A
- Authority
- CN
- China
- Prior art keywords
- storage pool
- module
- data
- threshold values
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种分布式文件系统的纠删码缓存装置,其特征在于:包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块。本发明还涉及前述装置的数据处理方法。本发明提供的分布式文件纠删码缓存装置和方法,其第一层级采用副本存储技术,并以较大切片大小存放现有数据,第二层级采用纠删码存储技术,并以较小切片大小存放现有数据中访问较少的数据,充分兼顾了副本存储和纠删码存储的处理较大数据块的效率差别,在节省存储开销的同时,提高数据存储效率。
Description
技术领域
本发明涉及一种分布式文件系统的纠删码缓存装置,具体是一种合理处理热、冷数据,节省存储开销且提高存储层效率的分布式文件系统的纠删码缓存装置,本发明还涉及上述装置的文件处理方法。
背景技术
随着计算机技术和网络技术的发展,数据正以爆炸式的速度增长,海量数据对存储系统的处理能力提出了巨大的挑战。为了提高数据处理效率,通常采用的策略是对数据进行分层处理。
现有技术通过在集群文件系统中同时采用副本存储技术和纠删码存储技术进行存储分层,利用副本技术存放热点数据(访问较多),利用纠删码技术存放冷数据(访问较少)。但是,在现有技术中,往往采取统一较大数据切块大小来处理副本存储层和纠删码存储层的数据。其弊端在于纠删码存储层处理较大数据块的能力远远不及副本存储层,当访问较少的数据块从副本存储层转移到纠删码存储层时,造成纠删码存储层的处理效率低。
发明内容
本发明要解决的第一个技术问题,是提供一种合理处理热、冷数据,节省存储开销且提高存储层效率的分布式文件系统的纠删码缓存装置。
本发明要解决的第一个技术问题,可以通过以下的技术方案来实现:一种分布式文件系统的纠删码缓存装置,其特征在于:包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,
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将不能访问,给实际应用带来不便,因此,本发明提供一个更优选的实施例,所述第一存储池和第二存储池的分组规则均为按存储节点分组;其中,所述第一存储池设置的存储节点个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储节点个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。本实施例将文件A的文件块将存储在不同存储节点,如果某个节点宕机,则文件A仍然可以访问。而且第一存储池的存储节点个数和副本个数的设置确保第一存储池具有足够的节点存储原始文件(块)和生成的冗余文件均,第二存储池的存储节点个数、原数据切片个数和校验数据块个数的设置确保第二存储池具有足够的节点存储原始数据块和校验数据块,实现分布式存储。
本发明所述第一创建模块读取所述第一存储池配置文件后,根据对应的参数在集群中创建第一存储池;所述第二创建模块读取所述第二存储池配置文件后,根据对应的参数在集群中创建第二存储池。
在上述基础上,本发明一个优选实施方式:所述阀值设置模块设置的数据迁移的阀值包括第一层级存储池最大字节阀值、最近访问时间阀值和最近修改时间阀值;所述第一层级存储池最大字节阀值用于定义第一层级存储池的数据量达到该阀值时启动数据迁移;所述最近访问时间阀值用于定义第一层级存储池中的只读文件的最后访问时间早于该阀值时启动数据迁移;所述最近修改时间阀值用于定义第一层级存储池中的可写文件的最近修改时间阀值早于该阀值时启动数据迁移。本实施例存放于第一存储池的较大数据切片首先与第一存储池最大字节阀值比较,以确保集群在没有存储空间之前即能开始迁移,然后通过可写文件最后访问的时间与最近修改时间阀值或者只读文件最近访问时间与最近访问时间阀值进行对比以确定将进行迁移的可写文件可只读文件都是较少访问的数据。
本发明所述切片模块分割的较大数据切片缺省大小为4MB和/或所述切片模块分割的较小数据切片缺省大小为4KB;以易于实现内存中的数据对齐,提高访问效率。
附图说明
图1是本发明的分布式文件系统删码缓存装置的文件处理方法的流程图;
图2是本发明的分布式文件系统删码缓存装置按存储节点分组层级示意图;
图3为文件A在图1所述层级中迁移前的数据块分布示意图;
图4为文件A在图1所述层级中迁移后的数据块分布示意图。
具体实施方式
实施例一
本发明的实施例一提供一种分布式文件系统纠删码缓存装置,其包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,
1)配置模块位于管理节点上,其包括第一配置模块和第二配置模块,其中,
—第一配置模块,用于设置第一存储池的名称、副本个数和分组规则,并生成第一存储池配置文件,
—第二配置模块,用于设置第二存储池的名称、原始数据块个数、校验数据块个数和分组规则,并生成第二存储池配置文件;
2)创建模块位于管理节点上,其包括第一创建模块和第二创建模块,其中,
—第一创建模块,用于读取第一存储池配置文件,并根据对应的参数创建第一存储池,
—第二创建模块,用于读取第二存储池配置文件,并根据对应的参数创建第二存储池;
3)记录模块位于元数据服务节点上,其用于根据第一存储池配置文件和第二存储池配置文件,将第一存储池和第二存储池的参数(或称属性)记录到元数据节点中,并分配唯一的第一存储池标识和第二存储池标识,记录模块还用于记录第一、第二存储池的层级关联到存储池元数据;
4)层级关联模块位于管理节点上,其用于从元数据服务节点获取原数据中存储池类型,并根据存储池的类型做关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级;
5)阀值设置模块位于管理节点上,其用于预设第一层级的第一存储池的数据向第二层级的第二存储池迁移的迁移阀值;
6)对比模块位于元数据服务节点上,其用于实时获取第一存储池的空间使用量,并与阀值设置模块预设的数据迁移的阀值对比,当第一存储池的空间使用量达到阀值,则满足数据迁移条件;
7)切片模块位于数据服务节点上,其用于读取元数据,并在文件进入第一层级的存储池之前,将文件的数据部分分割成若干较大数据切片,对于满足迁移条件的文件,在迁移到第二层级的存储池之前,将文件的数据部分分割成若干较小数据切片;
8)迁移模块位于元数据服务节点上,其用于读取元数据,获得满足数据迁移条件文件所含数据块的分布,再把数据块从当前所在的存储单元中迁移到第二层级存储池所含的存储单元中。
第一创建模块,用于根据配置文件中包含有副本个数生成第一存储池的类型为第一类型的副本存储池;第二创建模块,用于根据配置文件中包含有原始数据切块个数和校验数据块个数生成第二存储池的类型为第二类型的纠删码存储池。
本发明第一存储池名称用于定义第一存储池的名称,第二存储池名称用于定义第二存储池的名称。
本发明第一存储池的副本个数用于定义向第一存储池写入文件时、第一存储池对其中的原始数据生成冗余数据的份数。
本发明第二存储池的原始数据切块个数用于定义第二存储池对其中文件的数据部分的切块个数以及生成校验数据块的个数。
第一存储池和第二存储池的分组规则均为按存储节点分组;其中,第一存储池设置的存储节点个数不小于该第一存储池配置的副本个数;第二存储池设置的存储节点个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。
本发明第一创建模块读取第一存储池配置文件后,根据对应的参数在集群中创建第一存储池;第二创建模块读取第二存储池配置文件后,根据对应的参数在集群中创建第二存储池。
阀值设置模块设置的数据迁移的阀值包括第一层级存储池最大字节阀值、最近访问时间阀值和最近修改时间阀值;第一层级存储池最大字节阀值用于定义第一层级存储池的数据量达到该阀值时启动数据迁移;最近访问时间阀值用于定义第一层级存储池中的只读文件的最后访问时间早于该阀值时启动数据迁移;最近修改时间阀值用于定义第一层级存储池中的可写文件的最近修改时间阀值早于该阀值时启动数据迁移。
本发明切片模块分割的较大数据切片缺省大小为4MB;切片模块分割的较小数据切片缺省大小为4KB。
实施例二
本发明的实施例二是一种分布式文件系统纠删码文件处理方法,其包括以下顺序的步骤(如图1所示):
S1、第一、第二配置模块分别设置第一、第二存储池的参数,并生成第一、第二存储池配置文件,其中第一存储池的参数为第一存储池的名称、副本个数和分组规则,第二存储池的参数为第二存储池的名称、原始数据块个数、校验数据块个数和分组规则;
S2、第一、第二创建模块依据S1配置的参数在集群中分别创建第一、第二存储池;
S3、记录模块根据第一、第二存储池的配置文件,将记录第一、第二存储池的参数(或称属性)记录到元数据节点中,并分配唯一的第一、第二存储池标识;
S4、层级关联模块从元数据服务节点获取元数据中存储池类型,并对第一、第二存储池进行关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级,记录模块将第一、第二存储池的层级关联记录到存储池元数据中;
S5、阀值设置模块预设第一层级存储池中的数据向第二层级存储池迁移的迁移阀值;
S6、切片模块读取元数据并将写入的文件的数据部分切割成若干较大数据切片,后存放至第一层级存储池;
S7、对比模块实时获取第一层级存储池的空间使用量,并与S5中阀值设置模块预设的迁移阀值进行对比,如达到迁移阀值,切片模块将存放至第一层级存储池的较大数据切片进一步分割成若干较小数据切片;如未达到迁移阀值,返回至S6;
S8、迁移模块将S7中切割的较小数据切片迁移至第二层级存储池。
其中S5的阀值设置模块设置的数据迁移的阀值包括第一层级存储池最大字节阀值、最近访问时间阀值和最近修改时间阀值;第一层级存储池的数据量达到第一层级存储池最大字节阀值时启动数据迁移;第一层级存储池中的只读文件的最后访问时间早于最近访问时间阀值时启动数据迁移;第一层级存储池中的可写文件的最近修改时间阀值早于最近修改时间阀值时启动数据迁移。
本发明的实施例一提供的装置和实施例二提供的处理方法,针对现有技术非热点数据占用过多存储空间的弊端,本发明在集群文件系统中同时采用副本存储技术和纠删码存储技术,实现用纠删码存储技术存放现有数据中访问较少的数据,以节省存储开销。
本发明实施例1的分布式文件纠删码缓存装置运行实例2的缓存方法的一个具体处理流程如图2~4所示:
通过第一配置模块设置第一存储池名称:P1,
通过第一配置模块设置第一存储池的副本个数:2,
通过第一配置模块设置第一存储池的分组规则:按存储节点分组,
通过第一配置模块设置第一存储池的存储节点:Y1,Y2,
第一配置模块根据第一存储池名称、副本个数、按存储节点的分组规则和第一存储池的两个存储节点生成第一存储池配置文件:C1。
第一创建模块读取C1,划分P1:Y1,Y2上所有的存储单元,记录模块记录存储单元标识到元数据,
第一创建模块读取C1,生成第一类型,记录单元记录第一类型到元数据,
第一创建模块生成P1的标识:1,记录单元记录标识到元数据。
通过第二配置模块设置第二存储池的名称:P2,
通过第二配置模块设置第二存储池的原始数据块切片个数:2,
通过第二配置模块设置第二存储池的校验数据块个数:1,
通过第二配置模块设置第二存储池的分组规则:按存储节点分组,
通过第二配置模块设置第二存储池的存储节点:Y3,Y4,Y5,
第二配置模块根据第二存储池的名称、原始数据块切片个数、第二存储池的校验数据块个数、按存储节点的分组规则和第二存迟迟的三个存储节点生成第二存储池配置文件:C2。
第二创建模块读取C2,划分P2:Y3,Y4,Y5上所有的存储单元,记录模块记录存储单元标识到元数据,
第二创建模块读取C2,生成第二类型,记录单元记录第二类型到元数据,
第二创建模块生成P2的标识:2,记录单元记录标识到元数据。
层级关联模块访问元数据,匹配第一存储池标识:1,获取第一存储池类型,
层级关联模块访问元数据,匹配第二存储池标识:2,获取第二存储池类型,
层级关联模块设置第一存储池P1为第一层级存储池,
层级关联模块设置第二存储池P2为第二层级存储池,
关联后,集群文件系统所有数据交换,将先通过第一层级,当条件满足时,再转移到第二层级,记录模块将层级关联也记录到存储池元数据中。
通过阀值设置模块设置第一层级存储池最大字节阀值:1,000,000Bytes,
通过阀值设置模块设置最近访问时间阀值(只读文件):20150601,
通过阀值设置模块设置最近修改时间阀值(可写文件):20150701,
装置运行,对比模块获取P1的数据量并与[0026]最大字节阀值对比。
客户机写入只读文件A,A={a1,a2,a3,a4},副本A’={a1’,a2’,a3’,a4’},且原始数据块和副本数据块大小都等于4MB分布如下:
对比模块发现P1的数据量超过1,000,000Bytes,
对比模块读取元数据,获取文件A类型为只读,
获取文件最后访问时间,假设为20150301,并与[0027]20150601对比,
20150301早于20150601,将文件A从P1迁移到P2,步骤如下:
迁移模块读取元数据,并通过文件A的标识获取文件A所含所有数据块的分布信息,此时,数据块存储在P1所含若干存储单元中,
迁移模块根据[0036]文件A的数据块的分布信息,通过元数据中的数据块标识删除文件A的副本数据块:A’={a1’,a2’,a3’,a4’},
迁移模块读取元数据,并通过P2的标识2获取P2中所包含的数据单元标识。
切片模块将文件A的原始数据块{a1,a2,a3,a4}分割成4KB的数据块,如,a1={a11,a12,a13,…,a1n},
以a1为例,迁移模块将文件A的原始数据块{a11,a12,a13,…,a1n}迁移到任一不同的[0038]中P2所包含的数据单元中,
对于{a11,a12,a13,…,a1n}中的每个数据块,以a11为例,将a11切割成2个2KB的数据块aa11和aa11’,
根据aa11和aa11’计算出一个2MB的校验数据块cc1。
以下是文件A迁移前和迁移后存储开销对比:
数据冗余方式 | 副本技术(副本数为2) | 纠删码(k=2,m=1) |
冗余能力 | 1个数据块损坏 | 1个数据块损坏 |
存储空间开销 | 8KB | 6KB |
Claims (10)
1.一种分布式文件系统纠删码缓存装置,其包括配置模块、创建模块、记录模块、层级关联模块、阀值设置模块、对比模块、切片模块和迁移模块;其中,
1)配置模块位于管理节点上,其包括第一配置模块和第二配置模块,其中,
—第一配置模块,用于设置第一存储池的名称、副本个数和分组规则,并生成第一存储池配置文件,
—第二配置模块,用于设置第二存储池的名称、原始数据块个数、校验数据块个数和分组规则,并生成第二存储池配置文件;
2)创建模块位于管理节点上,其包括第一创建模块和第二创建模块,其中,
—第一创建模块,用于读取第一存储池配置文件,并根据对应的参数创建第一存储池,
—第二创建模块,用于读取第二存储池配置文件,并根据对应的参数创建第二存储池;
3)记录模块位于元数据服务节点上,其用于根据第一存储池配置文件和第二存储池配置文件,将第一存储池和第二存储池的参数记录到元数据节点中,并分配唯一的第一存储池标识和第二存储池标识,记录模块还用于记录第一、第二存储池的层级关联到存储池元数据;
4)层级关联模块位于管理节点上,其用于从元数据服务节点获取原数据中存储池类型,并根据存储池的类型做关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级;
5)阀值设置模块位于管理节点上,其用于预设第一层级的第一存储池的数据向第二层级的第二存储池迁移的迁移阀值;
6)对比模块位于元数据服务节点上,其用于实时获取第一存储池的空间使用量,并与阀值设置模块预设的数据迁移的阀值对比,当第一存储池的空间使用量达到阀值,则满足数据迁移条件;
7)切片模块位于数据服务节点上,其用于读取元数据,并在文件进入第一层级的存储池之前,将文件的数据部分分割成若干较大数据切片,对于满足迁移条件的文件,在迁移到第二层级的存储池之前,将文件的数据部分分割成若干较小数据切片;
8)迁移模块位于元数据服务节点上,其用于读取元数据,获得满足数据迁移条件文件所含数据块的分布,再把数据块从当前所在的存储单元中迁移到第二层级存储池所含的存储单元中。
2.根据权利要求1所述的装置,其特征在于:所述第一创建模块,用于根据配置文件中包含有副本个数生成第一存储池的类型为第一类型的副本存储池;所述第二创建模块,用于根据配置文件中包含有原始数据切块个数和校验数据块个数生成第二存储池的类型为第二类型的纠删码存储池。
3.根据权利要求1所述的装置,其特征在于:所述第一存储池的副本个数用于定义向第一存储池写入文件时、所述第一存储池对其中的原始数据生成冗余数据的份数;所述第二存储池的原始数据切块个数用于定义第二存储池对其中文件的数据部分的切块个数以及生成校验数据块的个数。
4.根据权利要求1所述的装置,其特征在于:所述第一存储池和第二存储池的分组规则均为按存储单元分组;其中,所述第一存储池设置的存储单元个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储单元个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。
5.根据权利要求1所述的装置,其特征在于:所述第一存储池和第二存储池的分组规则均为按存储节点分组;其中,所述第一存储池设置的存储节点个数不小于该第一存储池配置的副本个数;所述第二存储池设置的存储节点个数不小于该第二存储池配置的原始数据块切片个数和校验数据块个数之和。
6.根据权利要求1所述的装置,其特征在于:所述第一创建模块读取所述第一存储池配置文件后,根据对应的参数在集群中创建第一存储池;所述第二创建模块读取所述第二存储池配置文件后,根据对应的参数在集群中创建第二存储池。
7.根据权利要求1所述的装置,其特征在于:所述阀值设置模块设置的数据迁移的阀值包括第一层级存储池最大字节阀值、最近访问时间阀值和最近修改时间阀值;所述第一层级存储池最大字节阀值用于定义第一层级存储池的数据量达到该阀值时启动数据迁移;所述最近访问时间阀值用于定义第一层级存储池中的只读文件的最后访问时间早于该阀值时启动数据迁移;所述最近修改时间阀值用于定义第一层级存储池中的可写文件的最近修改时间阀值早于该阀值时启动数据迁移。
8.根据权利要求1所述的装置,其特征在于:所述切片模块分割的较大数据切片缺省大小为4MB和/或所述切片模块分割的较小数据切片缺省大小为4KB。
9.一种分布式文件系统的纠删码缓存装置的缓存方法,其特征在于:包括以下顺序的步骤:
S1、第一、第二配置模块分别设置第一、第二存储池的参数,并生成第一、第二存储池配置文件,其中第一存储池的参数为第一存储池的名称、副本个数和分组规则,第二存储池的参数为第二存储池的名称、原始数据块个数、校验数据块个数和分组规则;
S2、第一、第二创建模块依据S1配置的参数在集群中分别创建第一、第二存储池;
S3、记录模块根据第一、第二存储池的配置文件,将记录第一、第二存储池的参数(或称属性)记录到元数据节点中,并分配唯一的第一、第二存储池标识;
S4、层级关联模块从元数据服务节点获取元数据中存储池类型,并对第一、第二存储池进行关联:定义第一类型的副本存储池为第一层级,定义第二类型的纠删码存储池为第二层级,记录模块将第一、第二存储池的层级关联记录到存储池元数据中;
S5、阀值设置模块预设第一层级存储池中的数据向第二层级存储池迁移的迁移阀值;
S6、切片模块读取元数据并将写入的文件的数据部分切割成若干较大数据切片,后存放至第一层级存储池;
S7、对比模块实时获取第一层级存储池的空间使用量,并与S5中阀值设置模块预设的迁移阀值进行对比,如达到迁移阀值,切片模块将存放至第一层级存储池的较大数据切片进一步分割成若干较小数据切片;如未达到迁移阀值,返回至S6;
S8、迁移模块将S7中切割的较小数据切片迁移至第二层级存储池。
10.根据权利要求9所述的缓存方法,其特征在于:所述S5阀值设置模块设置的数据迁移的阀值包括第一层级存储池最大字节阀值、最近访问时间阀值和最近修改时间阀值;所述第一层级存储池的数据量达到第一层级存储池最大字节阀值时启动数据迁移;所述第一层级存储池中的只读文件的最后访问时间早于最近访问时间阀值时启动数据迁移;所述第一层级存储池中的可写文件的最近修改时间阀值早于最近修改时间阀值时启动数据迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610375233.9A CN106095807B (zh) | 2016-05-31 | 2016-05-31 | 一种分布式文件系统纠删码缓存装置及其缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610375233.9A CN106095807B (zh) | 2016-05-31 | 2016-05-31 | 一种分布式文件系统纠删码缓存装置及其缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095807A true CN106095807A (zh) | 2016-11-09 |
CN106095807B CN106095807B (zh) | 2019-08-16 |
Family
ID=57229584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610375233.9A Active CN106095807B (zh) | 2016-05-31 | 2016-05-31 | 一种分布式文件系统纠删码缓存装置及其缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095807B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598489A (zh) * | 2016-11-28 | 2017-04-26 | 深圳市中博睿存科技有限公司 | 一种基于纠删码存储的文件修改算法优化方法 |
CN107589916A (zh) * | 2017-09-29 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种基于纠删码的纠删池的创建方法及相关装置 |
CN108196978A (zh) * | 2017-12-22 | 2018-06-22 | 新华三技术有限公司 | 数据存储方法、装置、数据存储系统及可读存储介质 |
CN109144766A (zh) * | 2017-06-28 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、重构方法和装置、及电子设备 |
CN109992204A (zh) * | 2019-03-19 | 2019-07-09 | 新华三技术有限公司成都分公司 | 数据存储方法及装置 |
CN111381767A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN111414271A (zh) * | 2020-03-17 | 2020-07-14 | 上海爱数信息技术股份有限公司 | 一种基于自适应存储冗余策略的存储方法 |
CN112905118A (zh) * | 2021-02-19 | 2021-06-04 | 山东英信计算机技术有限公司 | 一种集群的存储池创建方法 |
CN115391093A (zh) * | 2022-08-18 | 2022-11-25 | 江苏安超云软件有限公司 | 一种数据处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054583A1 (en) * | 2010-08-27 | 2012-03-01 | Raytheon Company | Method and system of sub-packet error correction |
CN103248713A (zh) * | 2013-05-29 | 2013-08-14 | 中国人民解放军理工大学 | 一种同步盘数据安全保护方法 |
CN104281533A (zh) * | 2014-09-18 | 2015-01-14 | 深圳市中博科创信息技术有限公司 | 一种存储数据的方法及装置 |
-
2016
- 2016-05-31 CN CN201610375233.9A patent/CN106095807B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054583A1 (en) * | 2010-08-27 | 2012-03-01 | Raytheon Company | Method and system of sub-packet error correction |
CN103248713A (zh) * | 2013-05-29 | 2013-08-14 | 中国人民解放军理工大学 | 一种同步盘数据安全保护方法 |
CN104281533A (zh) * | 2014-09-18 | 2015-01-14 | 深圳市中博科创信息技术有限公司 | 一种存储数据的方法及装置 |
Non-Patent Citations (1)
Title |
---|
李玲 等: ""云存储系统中数据冗余策略优化问题"", 《吉林大学学报(信息科学版)》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598489A (zh) * | 2016-11-28 | 2017-04-26 | 深圳市中博睿存科技有限公司 | 一种基于纠删码存储的文件修改算法优化方法 |
CN109144766A (zh) * | 2017-06-28 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、重构方法和装置、及电子设备 |
CN107589916A (zh) * | 2017-09-29 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种基于纠删码的纠删池的创建方法及相关装置 |
CN108196978A (zh) * | 2017-12-22 | 2018-06-22 | 新华三技术有限公司 | 数据存储方法、装置、数据存储系统及可读存储介质 |
CN108196978B (zh) * | 2017-12-22 | 2021-03-09 | 新华三技术有限公司 | 数据存储方法、装置、数据存储系统及可读存储介质 |
CN111381767B (zh) * | 2018-12-28 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN111381767A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN109992204A (zh) * | 2019-03-19 | 2019-07-09 | 新华三技术有限公司成都分公司 | 数据存储方法及装置 |
CN111414271A (zh) * | 2020-03-17 | 2020-07-14 | 上海爱数信息技术股份有限公司 | 一种基于自适应存储冗余策略的存储方法 |
CN111414271B (zh) * | 2020-03-17 | 2023-10-13 | 上海爱数信息技术股份有限公司 | 一种基于自适应存储冗余策略的存储方法 |
CN112905118B (zh) * | 2021-02-19 | 2023-01-20 | 山东英信计算机技术有限公司 | 一种集群的存储池创建方法 |
CN112905118A (zh) * | 2021-02-19 | 2021-06-04 | 山东英信计算机技术有限公司 | 一种集群的存储池创建方法 |
CN115391093A (zh) * | 2022-08-18 | 2022-11-25 | 江苏安超云软件有限公司 | 一种数据处理方法及系统 |
CN115391093B (zh) * | 2022-08-18 | 2024-01-02 | 江苏安超云软件有限公司 | 一种数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106095807B (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095807A (zh) | 一种分布式文件系统纠删码缓存装置及其缓存方法 | |
CN105159915B (zh) | 可动态适应的lsm树合并方法及系统 | |
CN104731864B (zh) | 一种海量非结构化数据的数据存储方法 | |
CN103605726B (zh) | 一种小文件的存取方法、系统及控制节点和存储节点 | |
CN100399327C (zh) | 管理文件系统的逻辑版本的方法和数据存储系统 | |
CN104965850B (zh) | 一种基于开源技术的数据库高可用实现方法 | |
CN102255962B (zh) | 一种分布式存储方法、装置和系统 | |
CN104618482B (zh) | 访问云数据的方法、服务器、传统存储设备、系统 | |
CN104301360A (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
CN105574217B (zh) | 分布式关系型数据库的数据同步方法和装置 | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
JP2012098934A (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
CN103106047A (zh) | 一种基于对象的存储系统及其存储方法 | |
CN107870970B (zh) | 一种数据存储查询方法及系统 | |
CN1983265A (zh) | 具有倒置层次结构的文件系统 | |
WO2015007155A1 (zh) | 一种数据存储方法及装置 | |
CN109947363A (zh) | 一种分布式存储系统的数据缓存方法 | |
CN109164975A (zh) | 一种将数据写入固态硬盘的方法以及固态硬盘 | |
CN104182898A (zh) | 银行系统对夜模式期间发生的联机交易进行补录的方法 | |
CN103914522A (zh) | 一种应用于云存储重复数据删除的数据块合并方法 | |
CN110058822A (zh) | 一种磁盘阵列横向拓展方法 | |
CN103793475B (zh) | 一种分布式文件系统数据迁移的方法 | |
CN103544156A (zh) | 文件存储方法及装置 | |
CN109299115A (zh) | 一种数据存储方法、装置、服务器及存储介质 | |
CN103605617B (zh) | 一种记录存储数据发生变化的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |