CN111008181A - 一种分布式文件***存储策略切换方法、***、终端及存储介质 - Google Patents
一种分布式文件***存储策略切换方法、***、终端及存储介质 Download PDFInfo
- Publication number
- CN111008181A CN111008181A CN201911048544.4A CN201911048544A CN111008181A CN 111008181 A CN111008181 A CN 111008181A CN 201911048544 A CN201911048544 A CN 201911048544A CN 111008181 A CN111008181 A CN 111008181A
- Authority
- CN
- China
- Prior art keywords
- data
- switching
- storage
- storage strategy
- file system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012795 verification Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式文件***存储策略切换方法、***、终端及存储介质,包括:设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;设置存储策略切换条件;若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。本发明能够实现两种存储策略的自动切换,从而适应冷热数据变化的动态场景,进而提高集群存储效率。
Description
技术领域
本发明涉及分布式文件***存储管理技术领域,具体涉及一种分布式文件***存储策略切换方法、***、终端及存储介质。
背景技术
Hadoop分布式文件***(HDFS)是一种分布式文件***,设计用于在商用硬件上运行。HDFS对外开放文件命名空间并允许用户数据以文件形式存储,内部机制是将一个文件分割成一个或多个块,基于HDFS默认副本存储策略,每一个块都有几(默认三副本即有2份)份备份块,这些块被存储在一组数据节点中。当前HDFS中的存储方式为:Hot、Clod、Warm、All_SSD、One_SSD、Lazy_Persist、Provided来存储不同访问热度类型的数据,存储策略为默认三副本存储,即存储1T数据需3T空间,此方案在存储空间和其他资源(例如,网络带宽)中具有200%的开销,对于I/O活动相对较低的暖、冷数据集,在正常操作期间很少访问其他块副本,但仍会消耗与第一个副本相同的资源量。
Erasure coding纠删码技术,简称EC,是一种数据保护技术,最早用于通信行业中的数据传输中数据恢复,它是一种编码容错技术,它通过在原始数据中加入新的校验数据,使各个部分的数据产生关联性,在一定范围的数据出错情况下,通过纠删码技术都可以进行恢复。纠删码功能在HDFS-7285中已得到实现并发布于Hadoop3.0.0版本,默认关闭状态。
在实时监控***的场景下,通常只会关注最新时间段的业务数据,根据业务需求可以是最近30分钟、最近1小时、甚至于最近几个小时的数据,这部分被关注的数据可以称之为热数据,当热数据失去时效性后,称之为冷数据。随着时间的推移,热数据会变为冷数据,最新接收到的数据变为热数据。根据热、冷数据特点,冷数据最佳存储策略为纠删码存储,热数据最佳存储策略为三副本存储。
现有技术方案中,并未提及数据从热数据与冷数据互相变化过程中传统副本存储策略与纠删码存储策略转化来提高集群存储效率的技术方案,因此本发明提出一种基于HDFS副本存储策略与纠删码存储策略转化算法***技术方案,以适应冷热数据变化自适应最佳的存储策略。
发明内容
针对现有技术的上述不足,本发明提供一种分布式文件***存储策略切换方法、***、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种分布式文件***存储策略切换方法,包括:
设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
设置存储策略切换条件;
若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
进一步的,所述设置存储策略切换条件,包括:
设置切换时间阈值;
若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
进一步的,所述若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换,包括:
获取待切换存储策略的数据块信息;
从数据块所在节点列表中选取数据节点位置;
读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
将副本存储多余的块删除。
第二方面,本发明提供一种分布式文件***存储策略切换***,包括:
策略设置单元,配置用于设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
条件设置单元,配置用于设置存储策略切换条件;
切换执行单元,配置用于若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
进一步的,所述条件设置单元包括:
阈值设置模块,配置用于设置切换时间阈值;
规则设置模块,配置用于若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
进一步的,所述切换执行单元包括:
信息获取模块,配置用于获取待切换存储策略的数据块信息;
位置选取模块,配置用于从数据块所在节点列表中选取数据节点位置;
数据读取模块,配置用于读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
数据写入模块,配置用于对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
存储删除模块,配置用于将副本存储多余的块删除。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的分布式文件***存储策略切换方法、***、终端及存储介质,通过在分布式文件***中设置两种存储策略,即副本存储策略和纠删码存储策略,并根据需要从中选择一种存储策略作为初始存储策略,即存储数据块时使用的存储策略。然后设置存储策略切换条件,对符合切换条件的数据块进行存储策略切换。本发明能够实现两种存储策略的自动切换,从而适应冷热数据变化的动态场景,进而提高集群存储效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的***的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种分布式文件***存储策略切换***。
如图1所示,该方法100包括:
步骤110,设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
步骤120,设置存储策略切换条件;
步骤130,若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
可选地,作为本发明一个实施例,所述设置存储策略切换条件,包括:
设置切换时间阈值;
若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
可选地,作为本发明一个实施例,所述若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换,包括:
获取待切换存储策略的数据块信息;
从数据块所在节点列表中选取数据节点位置;
读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
将副本存储多余的块删除。
为了便于对本发明的理解,下面以本发明分布式文件***存储策略切换方法的原理,结合实施例中对分布式文件***存储策略进行切换管理的过程,对本发明提供的分布式文件***存储策略切换方法做进一步的描述。
具体的,所述分布式文件***存储策略切换方法包括:
S1、设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略。
调用setStoragePolicyChangeAction()方法,用于设置存储策略算法***的开启与关闭。将副本存储策略和纠删码存储策略均设置为开启状态。本实施例中将副本存储策略设置为初始存储策略。
S2、设置存储策略切换条件。
本实施例中将数据块存在时间作为切换参考标准,即预先设置一个时间阈值,设置为2h,将数据块的存在时间作为参考标准,存在时间达到2h即符合切换条件。
在本发明的其他实施方式中也可以将数据块的访问次数作为参考标准,如某数据块在一段时间内的访问次数低于预设次数阈值,则符合切换条件。
S3、若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
本实施例中是将符合切换条件的数据块从副本存储策略切换为纠删码存储策略,具体步骤如下:
(1)调用getBlockInfo()方法遍历需转化存储策略的数据块信息:包括:blockpool ID(块池ID)、blockId(块ID)、numBytes(块大小)、generationStamp(块的生成时间戳)、Availability(块位置:数据节点名称),以数组形式返回数据块信息;
(2)已知EC所需数据节点m个,首先调用selectBestNodesFromSourceBlockNodes()方法从数据块所在节点列表中选取最佳数据节点位置n个,若m-n>0,则调用selectBestNodesFromOtherNode()方法在集群其他数据节点中选取剩余(m-n)个节点;如果节点中有坏的或是慢节点,则调用readBadDataNodesFromSelected()方法读取坏、慢节点个数,再次调用selectBestNodesFromOtherNode()方法重新进行选择一次;
(3)调用addStripedReaderForSelectedNodes()方法,对每个步骤(2)返回的数据块位置(数据节点)新建相应的striperReader进行远程读,放入buffer缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;读完则调用IsStripedReaderForSelectedNodesAll()判断是否完成读取决定是否开启新的一次读取;
(4)调用reconstructTargets()方法对缓冲区数据进行编码;
(5)调用transferData2Targets()方法将1.4已编码的数据写入选取的Nodes(节点)中;
(6)调用deleteRedundantDataBlock()方法,将副本存储多余的块删除。
在本发明的其他实施方式中,若初始存储策略为纠删码存储策略,需要将符合条件的数据块从纠删码存储策略切换为副本存储策略,则切换步骤如下:
(a)调用getBlockInfo()方法遍历需转化存储策略的数据块信息:包括:blockpool ID(块池ID)、blockId(块ID)、numBytes(块大小)、generationStamp(块的生成时间戳)、Availability(块位置:数据节点名称),以数组形式返回数据块信息;
(b)已知副本存储所需数据节点a个,首先调用selectBestNodesFromSourceBlockNodes()方法从数据块所在节点列表中选取最佳数据节点位置b个,若a-b>0,则调用selectBestNodesFromOtherNode()方法在集群其他数据节点中选取剩余(a-b)个节点;如果节点中有坏的或是慢节点,则调用readBadDataNodesFromSelected()方法读取坏、慢节点个数,再次调用selectBestNodesFromOtherNode()方法重新进行选择一次;
(c)调用readStripedBlockData()启动多线程从步骤(b)获取到的数据节点同时读取数据,放入buffer缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;读完则调用IsStripedReaderForSelectedNodesAll()判断是否完成读取决定是否开启新的一次读取;
(d)调用reconstructTargets()方法对缓冲区数据进行解码;
(e)调用transferData2Targets()方法将2.4已解码的数据写入选取的Nodes中;
(f)调用deleteRedundantDataBlock()方法,将副本存储多余的块删除。
如图2示,该***200包括:
策略设置单元210,配置用于设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
条件设置单元220,配置用于设置存储策略切换条件;
切换执行单元230,配置用于若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
可选地,作为本发明一个实施例,所述条件设置单元包括:
阈值设置模块,配置用于设置切换时间阈值;
规则设置模块,配置用于若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
可选地,作为本发明一个实施例,所述切换执行单元包括:
信息获取模块,配置用于获取待切换存储策略的数据块信息;
位置选取模块,配置用于从数据块所在节点列表中选取数据节点位置;
数据读取模块,配置用于读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
数据写入模块,配置用于对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
存储删除模块,配置用于将副本存储多余的块删除。
图3为本发明实施例提供的一种终端***300的结构示意图,该终端***300可以用于执行本发明实施例提供的分布式文件***存储策略切换方法。
其中,该终端***300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过在分布式文件***中设置两种存储策略,即副本存储策略和纠删码存储策略,并根据需要从中选择一种存储策略作为初始存储策略,即存储数据块时使用的存储策略。然后设置存储策略切换条件,对符合切换条件的数据块进行存储策略切换。本发明能够实现两种存储策略的自动切换,从而适应冷热数据变化的动态场景,进而提高集群存储效率,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,***或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种分布式文件***存储策略切换方法,其特征在于,包括:
设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
设置存储策略切换条件;
若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
2.根据权利要求1所述的分布式文件***存储策略切换方法,其特征在于,所述设置存储策略切换条件,包括:
设置切换时间阈值;
若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
3.根据权利要求1所述的分布式文件***存储策略切换方法,其特征在于,所述若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换,包括:
获取待切换存储策略的数据块信息;
从数据块所在节点列表中选取数据节点位置;
读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
将副本存储多余的块删除。
4.一种分布式文件***存储策略切换***,其特征在于,包括:
策略设置单元,配置用于设置分布式文件***存储策略为副本存储策略和纠删码存储策略并将其中的一种存储策略设定为初始存储策略;
条件设置单元,配置用于设置存储策略切换条件;
切换执行单元,配置用于若分布式文件***中的数据块符合所述切换条件则对所述数据块执行存储策略切换。
5.根据权利要求4所述的分布式文件***存储策略切换***,其特征在于,所述条件设置单元包括:
阈值设置模块,配置用于设置切换时间阈值;
规则设置模块,配置用于若数据块存在时间达到所述切换时间阈值则达到存储策略切换条件。
6.根据权利要求4所述的分布式文件***存储策略切换***,其特征在于,所述切换执行单元包括:
信息获取模块,配置用于获取待切换存储策略的数据块信息;
位置选取模块,配置用于从数据块所在节点列表中选取数据节点位置;
数据读取模块,配置用于读取数据节点位置对应的数据块的数据,并将读取的数据放入缓冲区,为HDFS集群校验程序DataBlockScanner开接口,生成校验ack;
数据写入模块,配置用于对缓冲区数据进行编码,并将编码的数据写入选取的数据节点;
存储删除模块,配置用于将副本存储多余的块删除。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911048544.4A CN111008181A (zh) | 2019-10-31 | 2019-10-31 | 一种分布式文件***存储策略切换方法、***、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911048544.4A CN111008181A (zh) | 2019-10-31 | 2019-10-31 | 一种分布式文件***存储策略切换方法、***、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008181A true CN111008181A (zh) | 2020-04-14 |
Family
ID=70111783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911048544.4A Pending CN111008181A (zh) | 2019-10-31 | 2019-10-31 | 一种分布式文件***存储策略切换方法、***、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008181A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930555A (zh) * | 2020-09-02 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 基于纠删码的文件处理方法、装置及计算机设备 |
CN113568580A (zh) * | 2021-07-29 | 2021-10-29 | 广州市品高软件股份有限公司 | 分布式存储***的实现方法、装置、介质及存储*** |
CN113886115A (zh) * | 2021-09-09 | 2022-01-04 | 上海智能网联汽车技术中心有限公司 | 一种基于车路协同的区块链拜占庭容错方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN105635252A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮集团有限公司 | 一种Hadoop分布式文件***HDFS纠删码冗余备份策略 |
CN105677742A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市瑞驰信息技术有限公司 | 一种存储文件的方法及装置 |
CN105791353A (zh) * | 2014-12-23 | 2016-07-20 | 深圳市腾讯计算机***有限公司 | 基于纠删码的分布式数据存储方法及*** |
CN106708653A (zh) * | 2016-12-29 | 2017-05-24 | 广州中国科学院软件应用技术研究所 | 一种基于纠删码与多副本的混合税务大数据安全保护方法 |
-
2019
- 2019-10-31 CN CN201911048544.4A patent/CN111008181A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN105791353A (zh) * | 2014-12-23 | 2016-07-20 | 深圳市腾讯计算机***有限公司 | 基于纠删码的分布式数据存储方法及*** |
CN105635252A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮集团有限公司 | 一种Hadoop分布式文件***HDFS纠删码冗余备份策略 |
CN105677742A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市瑞驰信息技术有限公司 | 一种存储文件的方法及装置 |
CN106708653A (zh) * | 2016-12-29 | 2017-05-24 | 广州中国科学院软件应用技术研究所 | 一种基于纠删码与多副本的混合税务大数据安全保护方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930555A (zh) * | 2020-09-02 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 基于纠删码的文件处理方法、装置及计算机设备 |
CN113568580A (zh) * | 2021-07-29 | 2021-10-29 | 广州市品高软件股份有限公司 | 分布式存储***的实现方法、装置、介质及存储*** |
CN113886115A (zh) * | 2021-09-09 | 2022-01-04 | 上海智能网联汽车技术中心有限公司 | 一种基于车路协同的区块链拜占庭容错方法及*** |
CN113886115B (zh) * | 2021-09-09 | 2024-02-20 | 上海智能网联汽车技术中心有限公司 | 一种基于车路协同的区块链拜占庭容错方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943421B (zh) | 一种基于分布式存储***的分区划分方法及装置 | |
CN111008181A (zh) | 一种分布式文件***存储策略切换方法、***、终端及存储介质 | |
CN109783016A (zh) | 一种分布式存储***中的弹性多维度冗余方法 | |
CN106708653B (zh) | 一种基于纠删码与多副本的混合税务大数据安全保护方法 | |
CN108512908A (zh) | 一种基于Ceph的云存储容错机制和基于Ceph的web管理平台 | |
US11620087B2 (en) | Implicit leader election in a distributed storage network | |
CN106776795B (zh) | 基于Hbase数据库的数据写入方法及装置 | |
CN111857574A (zh) | 一种写请求数据压缩方法、***、终端及存储介质 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN114237971A (zh) | 一种基于分布式存储***的纠删码编码布局方法及*** | |
CN116737451B (zh) | 闪存的数据恢复方法及装置、固态硬盘、存储介质 | |
CN109344012B (zh) | 数据重构控制方法、装置和设备 | |
CN116700606A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN105488047B (zh) | 元数据读写方法和装置 | |
CN112181563A (zh) | 基于云平台的浏览器视图加载方法、装置、***及服务器 | |
CN109960474A (zh) | 基于自动精简配置的数据更新方法、装置、设备及介质 | |
GB2565932B (en) | Storing data in dispersed storage network with consistency | |
US10091298B2 (en) | Enhancing performance of data storage in a dispersed storage network | |
CN117666926A (zh) | 数据存储方法、装置和电子设备 | |
CN106293530B (zh) | 一种数据写入方法和装置 | |
WO2020238653A1 (zh) | 一种分布式***环境下的编码方法、解码方法和对应装置 | |
CN115033551A (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN114328032A (zh) | 基于大数据双活的容灾切换处理方法、装置和计算机设备 | |
CN116820323A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN112445653A (zh) | 一种多时间窗口的混合容错云存储方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |