CN103473365A - 一种基于hdfs的文件存储方法、装置及分布式文件*** - Google Patents

一种基于hdfs的文件存储方法、装置及分布式文件*** Download PDF

Info

Publication number
CN103473365A
CN103473365A CN2013104503880A CN201310450388A CN103473365A CN 103473365 A CN103473365 A CN 103473365A CN 2013104503880 A CN2013104503880 A CN 2013104503880A CN 201310450388 A CN201310450388 A CN 201310450388A CN 103473365 A CN103473365 A CN 103473365A
Authority
CN
China
Prior art keywords
storer
data block
file
memory
memory space
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
Application number
CN2013104503880A
Other languages
English (en)
Other versions
CN103473365B (zh
Inventor
赵彦荣
郭东东
赵健博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310450388.0A priority Critical patent/CN103473365B/zh
Publication of CN103473365A publication Critical patent/CN103473365A/zh
Application granted granted Critical
Publication of CN103473365B publication Critical patent/CN103473365B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于HDFS的文件存储方法,响应于来自客户端的文件存储请求将文件分成多个数据块并存储到HDFS的数据节点的存储器中,所述方法包括:剩余空间获取步骤,获取存储器的剩余存储空间;数据节点选择步骤,为所述多个数据块选择数据节点;存储器选择步骤,从被选择的数据节点的多个存储器中为每个数据块选择存储器来存储所述数据块;其中所述存储器选择步骤包括按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器作为存储该数据块的目标存储器。本发明还提供了一种基于HDFS的文件存储控制装置和一种HDFS分布式文件***。

Description

一种基于HDFS的文件存储方法、装置及分布式文件***
技术领域
本发明涉及海量数据存储领域,特别是涉及一种基于分布式文件***的文件存储方法和装置。
背景技术
随着科学技术的不断发展,海量数据时代已经到来。谷歌、亚马逊、IBM和微软等国际大公司在此领域投入了大量的科研力量,提出了多种创新的海量数据管理技术。这些研究工作主要集中在存储层、计算层和接口层这3个层次,图1示出了海量数据处理技术涉及的相关层次。其中,以谷歌公司提出的分布式文件***GFS、并行编程框架MapReduce为代表的技术成为海量数据存储与分析处理的主流技术。基于GFS和MapReduce的设计思想,开源社区Apache的Hadoop项目实现了Hadoop分布式文件***(Hadoop DFS,简称HDFS)和并行编程框架Hadoop MapReduce。目前,Hadoop广泛地应用在雅虎、脸谱等互联网公司的海量数据存储与分析应用中。
存储层用于提供对数据的存储与访问服务,其为海量数据存储与处理方面的关键一环,其余各个层次均依赖于存储层。目前最常用的存储层软件是HDFS分布式文件***,其结构如图2所示。
HDFS包含三个重要角色:名称节点(NameNode)、数据节点(DataNode)以及客户端(Client)。名称节点是分布式文件***中的核心管理者,主要负责管理命名空间、节点的配置信息管理、缺失数据块的复制等多种功能。名称节点作为主控节点会将文件***的元数据(Meta-data)存储在其内存空间之中,这些元数据主要包括了文件信息、每一个文件都有哪些数据块等信息。数据节点是分布式文件***负责存储的基本单元,分布式集群中的数据节点通常是每个节点一个,并且一个文件被分成多个数据块,数据节点负责管理自己所在节点上的这些数据块的存储和处理客户端发来的读写请求,并在名称节点的控制之下进行数据块的创建、复制等操作。同时周期性地将所有管理的数据块信息发送给名称节点。客户端可以看作是获取分布式文件***文件的应用程序。另外,还存在一个次级名称节点(Secondary NameNode)用于备份(或者更新)文件***的元数据信息。
单个名称节点会管理多个数据节点,数据节点通常会使用多个磁盘用于数据块的存储。因此当数据需要被载入***中时,需要对数据的存放节点,以及使用哪个磁盘存储进行选择。因此目前HDFS的数据存储调度包含两层。首先是名称节点选择数据节点,其次是从选择出来的数据节点选择具体的磁盘用于数据块存储。HDFS的管理者可以通过在hdfs.xml中配置dfs.data.dir参数来进行设置:
Figure BDA0000387262830000021
第一层次是节点选择,目前HDFS主要采用的是一种称为机架感知的调度算法。该算法以节点在机架的位置作为选择的依据。第二个层次是磁盘级调度。目前HDFS采用的是轮转(Round-Robin)调度。该算法以轮转的方式将数据块调度在多个磁盘上。轮转调度的优点是其简洁性,它无需记录当前各磁盘状态。但该算法完全不考虑不同磁盘间的差异,因而在异构(磁盘容量不一)状态下,容易导致某些磁盘占用率相当高,而另一些大容量磁盘的空间大量闲置,使得磁盘利用不均。如同一个节点磁盘a的利用率已接近100%,磁盘b的利用率却可能仅为10%。即使在同构状态下,当负载很高且节点更换或加入新磁盘时,新磁盘的利用率也将远低于旧有磁盘,使得大量I/O操作仍集中于旧有磁盘。
因此,如何优化文件***的负载,提升负载的均衡性成为了目前重要的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文件存储方法、装置及分布式文件***。
根据本发明一方面,提供一种基于HDFS的文件存储方法,响应于来自客户端的文件存储请求将文件分成多个数据块并存储到HDFS的数据节点的存储器中,所述方法包括:
剩余空间获取步骤,获取存储器的剩余存储空间;
数据节点选择步骤,为所述多个数据块选择数据节点;
存储器选择步骤,从被选择的数据节点的多个存储器D1,D2,…Dn为每个数据块选择存储器来存储所述数据块;
其中所述存储器选择步骤包括:按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器作为存储该数据块的目标存储器。
可选地,所述基于存储器的剩余存储空间的预置规则包括,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
可选地,所述基于存储器的剩余存储空间的预置规则包括,在每个存储器的剩余存储空间大于特定阈值时,基于轮转调度法为每个数据块依次地选择目标存储器;在任一存储器的剩余存储空间等于或小于特定阈值时,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
可选地,所述概率调度法包括:根据存储器Di的剩余存储空间Ci为每个存储器分配管理区间,其中,当i=1时,Di的管理区间为[0,C1-1];且当i=2,…n时,Di的管理区间为
Figure BDA0000387262830000031
对要存储的一数据块,取随机数x并对总剩余存储空间取模以得到y,即
Figure BDA0000387262830000032
如y落入为存储器Di的管理区间,则为要存储的所述数据块选择存储器Di作为目标存储器。
可选地,其中x为随机的自然数。
可选地,其中所述轮转调度法包括:为要存储的数据块选择存储器Di作为目标存储器,其中i=(i+1)mod n。
可选地,其中所述特定阈值为该存储器存储空间的30%。
根据本发明的另一方面,提供一种用于HDFS的文件存储控制装置,响应于来自客户端装置的文件存储请求将文件分成多个数据块并存储到HDFS的数据节点装置的存储器中,其中所述文件存储控制装置包括
剩余空间获取元件,适于获取存储器的剩余存储空间;
数据节点选择元件,适于为所述多个数据块选择数据节点装置;
存储器选择元件,适于从被选择的数据节点装置的多个存储器D1,D2,…Dn中为每个数据块选择存储器来存储所述数据块;
其中所述存储器选择元件还适于按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器作为存储该数据块的目标存储器。
可选地,其中所述基于存储器的剩余存储空间的预置规则包括,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
可选地,其中所述基于存储器的剩余存储空间的预置规则包括,在每个存储器D1,D2,…,或Dn的剩余存储空间大于特定阈值时,基于轮转调度法为每个数据块依次地选择目标存储器;在任一存储器D1,D2,…,或Dn的剩余存储空间等于或小于特定阈值时,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
可选地,其中所述概率调度法包括:根据存储器Di的剩余存储空间Ci为每个存储器分配管理区间,其中,当i=1时,Di的管理区间为[0,C1-1];且当i=2,…n时,Di的管理区间为
Figure BDA0000387262830000041
对要存储的一数据块,取随机数x并对总剩余存储空间取模以得到y,即
Figure BDA0000387262830000042
如y落入为存储器Di的管理区间,则为要存储的所述数据块选择存储器Di作为目标存储器。
可选地,其中x为随机的自然数。
可选地,其中所述轮转调度法包括:为要存储的数据块选择存储器Di作为目标存储器,其中i=(i+1)mod n。
可选地,其中所述特定阈值为该存储器存储空间的30%。
根据本发明的又一方面,提供一种Hadoop分布式文件***,包括如前所述的文件存储控制装置、以及数据节点装置和客户端装置,所述文件存储控制装置响应于来自客户端装置的文件存储请求将文件分成多个数据块并存储到数据节点装置包含的存储器中。
通过本发明所述的文件存储方法和装置,基于存储器的剩余存储空间来为数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。由于考虑了存储器容量,尽量减小了各个存储器利用率的差异,优化了节点的负载,从而提升了存储与服务质量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且,在整个附图中,用相同的参考符号表示相同的部件;本领域技术人员应该理解,这些附图未必是按比例绘制的。在附图中:
图1是现有海量数据处理技术涉及的相关层次的示意图;
图2是现有的HDFS分布式文件***的结构示意图;
图3是根据本发明的文件存储方法的流程图;
图4是根据本发明的文件存储方法的概率调度法的示意图;
图5是根据本发明另一实施例的文件存储方法的存储器选择流程图;
图6是根据本发明的文件存储方法的轮转调度法的示意图;
图7是根据本发明的文件存储控制装置的示意图;
图8是根据本发明的分布式文件***的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
HDFS响应于来自客户端的文件存储请求,将请求存储的文件分成多个数据块,然后存储到HDFS的数据节点下的多个存储器中。HDFS的数据存储包含两个层次,第一层次是选择数据节点,第二层次是从选择出来的数据节点选择具体的存储器D1,D2,…Dn用于数据块存储。本发明致力于第二层次的改进和优化。
图3示出了根据本发明的文件存储方法的流程图。根据本实施例,获取HDFS的各个存储器的剩余存储空间(步骤101);各个存储器的剩余存储空间可由HDFS的名称节点进行管理。然后,为所述多个数据块选择数据节点(步骤102)。在本实施例中,步骤101,102的编号并不严格限制所述两步骤的先后顺序;进一步地,在先执行步骤102的情况下,步骤101的获取存储器的剩余存储空间也不限于获取HDFS中所有存储器的剩余存储空间,也可以根据需要仅获取被选择数据节点下的各个存储器的剩余存储空间。
接下来,按照基于存储器的剩余存储空间的预置规则,从被选择的数据节点下的多个存储器D1,D2,…Dn为每个数据块选择存储器来存储所述数据块(步骤103)。其中,所述预置规则包括,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
下面详细介绍本发明的概率调度法,其中待存储的数据块可能被分配到所述数据节点下的任一存储器。
首先,为各个存储器分配一管理区间。根据存储器Di的剩余存储空间Ci为每个存储器分配管理区间,其中,当i=1时,Di的管理区间为[0,C1-1];且当i=2,…n时,Di的管理区间为
Figure BDA0000387262830000061
然后,对待存储的数据块1,取随机数x并对总剩余存储空间取模以得到y,即其中,x为随机的自然数;
接下来,如y落入为存储器Di的管理区间,则为待存储的数据块1选择存储器Di作为目标存储器。
在本实施例中,被选择的数据节点下有3个(即,n=3)存储器(磁盘1,磁盘2和磁盘3),磁盘1的剩余存储空间C1=100G,磁盘2的剩余存储空间C2=20G,磁盘3的剩余存储空间C3=80G,则磁盘1的管理区间D1为[0,99],磁盘2的管理区间D2为[100,119],磁盘3的管理区间D3为[120,199];
待存储的数据块1对应的y为[0,199]范围内的一随机数;
如果y落入了区间[0,99]内,则待存储的数据块1将被存储到磁盘1;如果y落入了区间[100,119],则数据块1将被存储到磁盘2;如果y落入了区间[120,199],则数据块1将被存储到磁盘3。
由于y是一个随机数,由此数据块1被存入一磁盘的概率与该磁盘的剩余存储空间有关,即,存储器Di被选择来存入数据块的几率是
如图4所示,在本实施例中,磁盘1的剩余存储空间占总剩余存储空间的比例为50%,则数据块1被存入磁盘1的概率为50%;磁盘2的剩余存储空间占总剩余存储空间的比例为10%,则数据块1被存入磁盘2的概率为10%;磁盘3的剩余存储空间占总剩余存储空间的比例为40%,则数据块1被存入磁盘3的概率为40%。
同理,与数据块1一样,待存储的数据块2,3等被存入一磁盘的概率也与该磁盘的剩余存储空间有关;磁盘剩余存储空间大,被选择的几率越大,剩余存储空间小,则被选择的几率小。
本实施例以数据节点下有3个存储器进行了描述;显然,数据节点下存储器的数量并不限于3个,可以是更多。
本实施例列出了概率调度的具体算法,但本领域技术人员都应明了,还有其他算法能实现上述概率调度的目的,即存储器被选择来存入数据块的几率等于该存储器剩余存储空间占总剩余存储空间的比例。只要能够实现上述目的的具体算法,都在本发明所要保护的范围之内。
通过概率调度法,剩余存储空间较大的存储器会有较大的几率被选择来存储数据,反之剩余存储空间较小的存储器被选择来存储数据的几率也较小;由此优化了存储器的负载,实现了负载均衡。
图5示出了根据本发明另一实施例的文件存储方法的存储器选择流程图,在存储***处于不同负载状态时采取不同的调度算法来为数据块分配存储器。
首先,比较数据节点下的n个存储器D1,D2,…Dn剩余存储空间占原存储空间的比例是否超过特定阈值,例如30%(当然,也可以根据实际情况设定其他阈值,例如20%,40%等)。如果每个存储器的所述比例都大于特定阈值30%,说明每个存储器剩余存储空间较大,整个存储***处于低负载状态,此时直接采用轮转调度法,为每个数据块选择目标存储器。
轮转调度法包括:为待存储的数据块选择存储器Di作为目标存储器,其中i=(i+1)mod n。由此,待存储的数据块将被依次分配到所述数据节点下的存储器中。
如图6所示,被选择的数据节点下有3个(即,n=3)存储器(磁盘1,磁盘2和磁盘3),数据块被依次存入磁盘:数据块1被存入磁盘1中,数据块2被存入磁盘2中,数据块3被存入磁盘3中,数据块4被存入磁盘1中,数据块5被存入磁盘2中。
在整个存储***处于低负载状况时,采用轮转调度法为数据块分配存储器,无需考虑存储器容量,节约了***计算资源。
另一方面,如果任一存储器的剩余存储空间等于或小于特定阈值30%时,说明有的存储器剩余存储空间较小,整个存储***处于高负载状态,则基于概率调度法为每个数据块选择目标存储器。概率调度法在图3所述实施例中已有详细介绍,这里不再赘述。
根据本实施,通过比较剩余存储空间是否超过特定阈值,从而在存储***处于低负载和高负载的不同状况下,采用不同的调度法来为数据块分配存储器。在低负载状况下,采用轮转调度法,由于无需考虑存储器容量,以较少的***计算资源实现了各数据分配;在高负载状况下,采用概率调度法,尽量较少了各存储器的利用率差异,提高了存储器的负载均衡,由此提升了存储和服务质量。
图7示出了本发明的文件存储控制装置的示意图。根据本实施例,文件存储控制装置包括剩余空间获取元件701,获取存储器的剩余存储空间;数据节点选择元件702,为所述多个数据块选择数据节点装置;和存储器选择元件703,按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器D1,D2,…Dn作为存储该数据块的目标存储器。
存储器选择元件的预置规则在图3,5所述实施例中已经详细介绍,这里不再赘述。
图8示出了根据本发明的Hadoop分布式文件***的示意图,包括如图7实施例所述的文件存储控制装置801,数据节点装置802和客户端装置803;数据节点装置下包含有多个用于存储数据的存储器,客户端装置包含了向分布式文件***存储或获取文件的应用程序。根据本实施例,响应于来自客户端装置的文件存储请求,文件存储控制装置将文件分成多个数据块并存储到数据节点装置所包含的存储器中。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例文件存储控制装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种基于HDFS的文件存储方法,响应于来自客户端的文件存储请求将文件分成多个数据块并存储到HDFS的数据节点的存储器中,所述方法包括:
剩余空间获取步骤,获取存储器的剩余存储空间;
数据节点选择步骤,为所述多个数据块选择数据节点;
存储器选择步骤,从被选择的数据节点的多个存储器(D1,D2,…Dn)中为每个数据块选择存储器来存储所述数据块;
其中所述存储器选择步骤包括
按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器作为存储该数据块的目标存储器。
2.根据权利要求1所述的文件存储方法,其中所述基于存储器的剩余存储空间的预置规则包括
基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
3.根据权利要求1所述的文件存储方法,其中所述基于存储器的剩余存储空间的预置规则包括
在每个存储器(D1,D2,…,或Dn)的剩余存储空间大于特定阈值时,基于轮转调度法为每个数据块依次地选择目标存储器;
在任一存储器(D1,D2,…,或Dn)的剩余存储空间等于或小于特定阈值时,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
4.根据权利要求2或3所述的文件存储方法,其中所述概率调度法包括:
根据存储器Di的剩余存储空间Ci为每个存储器分配管理区间,其中,当i=1时,Di的管理区间为[0,C1-1];且当i=2,…n时,Di的管理区间为
Figure FDA0000387262820000011
对要存储的一数据块,取随机数x并对总剩余存储空间取模以得到y,即 y = x mod Σ i = 1 n Ci ;
如y落入为存储器Di的管理区间,则为要存储的所述数据块选择存储器Di作为目标存储器。
5.根据权利要求4所述的文件存储方法,其中x为随机的自然数。
6.一种用于HDFS的文件存储控制装置,响应于来自客户端装置的文件存储请求将文件分成多个数据块并存储到HDFS的数据节点装置的存储器中,其中所述文件存储控制装置包括
剩余空间获取元件,适于获取存储器的剩余存储空间;
数据节点选择元件,适于为所述多个数据块选择数据节点装置;
存储器选择元件,适于从被选择的数据节点装置的多个存储器(D1,D2,…Dn)中为每个数据块选择存储器来存储所述数据块;
其中所述存储器选择元件还适于
按照基于存储器的剩余存储空间的预置规则,为每个数据块选择存储器作为存储该数据块的目标存储器。
7.根据权利要求6所述的文件存储控制装置,其中所述基于存储器的剩余存储空间的预置规则包括
基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
8.根据权利要求6所述的文件存储控制装置,其中所述基于存储器的剩余存储空间的预置规则包括
在每个存储器(D1,D2,…,或Dn)的剩余存储空间大于特定阈值时,基于轮转调度法为每个数据块依次地选择目标存储器;
在任一存储器(D1,D2,…,或Dn)的剩余存储空间等于或小于特定阈值时,基于概率调度法为每个数据块选择目标存储器,其中每个存储器被选择为目标存储器的概率为每个存储器的剩余存储空间占所述多个存储器的总剩余存储空间的比例。
9.根据权利要求7或8所述的文件存储控制装置,其中所述概率调度法包括:
根据存储器Di的剩余存储空间Ci为每个存储器分配管理区间,其中,当i=1时,Di的管理区间为[0,C1-1];且当i=2,…n时,Di的管理区间为
Figure FDA0000387262820000022
Figure FDA0000387262820000031
对要存储的一数据块,取随机数x并对总剩余存储空间取模以得到y,即 y = x mod Σ i = 1 n Ci ;
如y落入为存储器Di的管理区间,则为要存储的所述数据块选择存储器Di作为目标存储器。
10.一种Hadoop分布式文件***,包括如权利要求6-9之任一所述的文件存储控制装置、以及数据节点装置和客户端装置,所述文件存储控制装置响应于来自客户端装置的文件存储请求将文件分成多个数据块并存储到数据节点装置包含的存储器中。
CN201310450388.0A 2013-09-25 2013-09-25 一种基于hdfs的文件存储方法、装置及分布式文件*** Expired - Fee Related CN103473365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310450388.0A CN103473365B (zh) 2013-09-25 2013-09-25 一种基于hdfs的文件存储方法、装置及分布式文件***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310450388.0A CN103473365B (zh) 2013-09-25 2013-09-25 一种基于hdfs的文件存储方法、装置及分布式文件***

Publications (2)

Publication Number Publication Date
CN103473365A true CN103473365A (zh) 2013-12-25
CN103473365B CN103473365B (zh) 2017-06-06

Family

ID=49798213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310450388.0A Expired - Fee Related CN103473365B (zh) 2013-09-25 2013-09-25 一种基于hdfs的文件存储方法、装置及分布式文件***

Country Status (1)

Country Link
CN (1) CN103473365B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927333A (zh) * 2014-03-24 2014-07-16 联想(北京)有限公司 一种信息处理方法、***及电子设备
CN104113597A (zh) * 2014-07-18 2014-10-22 西安交通大学 一种多数据中心的hdfs数据读写***及方法
CN104268087A (zh) * 2014-09-12 2015-01-07 清华大学 在建大坝混凝土实时测温海量数据的存储方法及装置
CN104636286A (zh) * 2015-02-06 2015-05-20 华为技术有限公司 用于数据访问的方法和设备
CN104881245A (zh) * 2014-12-30 2015-09-02 北京飞杰信息技术有限公司 存储***的配置方法及配置装置
CN104881483A (zh) * 2015-06-05 2015-09-02 南京大学 用于Hadoop平台数据泄露攻击的自动检测取证方法
CN106341478A (zh) * 2016-09-13 2017-01-18 广州中大数字家庭工程技术研究中心有限公司 一种基于Hadoop的教育资源共享***及实现方法
CN107315652A (zh) * 2016-04-27 2017-11-03 ***通信集团山西有限公司 一种数据备份方法及云hdfs***
CN109298836A (zh) * 2018-09-04 2019-02-01 航天信息股份有限公司 处理数据的方法、装置和存储介质
CN110851427A (zh) * 2019-11-19 2020-02-28 泰康保险集团股份有限公司 数据库容量变更方法和装置
CN111198649A (zh) * 2018-11-16 2020-05-26 浙江宇视科技有限公司 磁盘选择方法及装置
CN112291292A (zh) * 2019-07-26 2021-01-29 浙江宇视科技有限公司 数据存储方法、装置、设备和介质
CN112765099A (zh) * 2021-01-25 2021-05-07 中车大连机车研究所有限公司 一种数据文件的处理方法及处理装置
CN113760172A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种分片分配方法、装置及电子设备
CN116939228A (zh) * 2023-07-27 2023-10-24 北京和德宇航技术有限公司 遥感影像的分布式处理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958697A (zh) * 2010-09-30 2011-01-26 电子科技大学 一种多相滤波结构的实现方法及装置
CN102073741A (zh) * 2011-01-30 2011-05-25 宇龙计算机通信科技(深圳)有限公司 一种实现文件读取和/或写入的方法以及数据服务器
US20120182891A1 (en) * 2011-01-19 2012-07-19 Youngseok Lee Packet analysis system and method using hadoop based parallel computation
CN103152395A (zh) * 2013-02-05 2013-06-12 北京奇虎科技有限公司 一种分布式文件***的存储方法及装置
CN103246700A (zh) * 2013-04-01 2013-08-14 厦门市美亚柏科信息股份有限公司 基于HBase的海量小文件低延时存储方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958697A (zh) * 2010-09-30 2011-01-26 电子科技大学 一种多相滤波结构的实现方法及装置
US20120182891A1 (en) * 2011-01-19 2012-07-19 Youngseok Lee Packet analysis system and method using hadoop based parallel computation
CN102073741A (zh) * 2011-01-30 2011-05-25 宇龙计算机通信科技(深圳)有限公司 一种实现文件读取和/或写入的方法以及数据服务器
CN103152395A (zh) * 2013-02-05 2013-06-12 北京奇虎科技有限公司 一种分布式文件***的存储方法及装置
CN103246700A (zh) * 2013-04-01 2013-08-14 厦门市美亚柏科信息股份有限公司 基于HBase的海量小文件低延时存储方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927333A (zh) * 2014-03-24 2014-07-16 联想(北京)有限公司 一种信息处理方法、***及电子设备
CN104113597A (zh) * 2014-07-18 2014-10-22 西安交通大学 一种多数据中心的hdfs数据读写***及方法
CN104268087A (zh) * 2014-09-12 2015-01-07 清华大学 在建大坝混凝土实时测温海量数据的存储方法及装置
CN104881245A (zh) * 2014-12-30 2015-09-02 北京飞杰信息技术有限公司 存储***的配置方法及配置装置
CN104636286A (zh) * 2015-02-06 2015-05-20 华为技术有限公司 用于数据访问的方法和设备
CN104636286B (zh) * 2015-02-06 2018-07-03 华为技术有限公司 用于数据访问的方法和设备
CN104881483B (zh) * 2015-06-05 2018-01-09 南京大学 用于Hadoop平台数据泄露攻击的自动检测取证方法
CN104881483A (zh) * 2015-06-05 2015-09-02 南京大学 用于Hadoop平台数据泄露攻击的自动检测取证方法
CN107315652A (zh) * 2016-04-27 2017-11-03 ***通信集团山西有限公司 一种数据备份方法及云hdfs***
CN107315652B (zh) * 2016-04-27 2021-04-16 ***通信集团山西有限公司 一种数据备份方法及云hdfs***
CN106341478A (zh) * 2016-09-13 2017-01-18 广州中大数字家庭工程技术研究中心有限公司 一种基于Hadoop的教育资源共享***及实现方法
CN109298836A (zh) * 2018-09-04 2019-02-01 航天信息股份有限公司 处理数据的方法、装置和存储介质
CN111198649A (zh) * 2018-11-16 2020-05-26 浙江宇视科技有限公司 磁盘选择方法及装置
CN112291292A (zh) * 2019-07-26 2021-01-29 浙江宇视科技有限公司 数据存储方法、装置、设备和介质
CN112291292B (zh) * 2019-07-26 2023-04-07 浙江宇视科技有限公司 数据存储方法、装置、设备和介质
CN110851427A (zh) * 2019-11-19 2020-02-28 泰康保险集团股份有限公司 数据库容量变更方法和装置
CN113760172A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种分片分配方法、装置及电子设备
CN112765099A (zh) * 2021-01-25 2021-05-07 中车大连机车研究所有限公司 一种数据文件的处理方法及处理装置
CN116939228A (zh) * 2023-07-27 2023-10-24 北京和德宇航技术有限公司 遥感影像的分布式处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103473365B (zh) 2017-06-06

Similar Documents

Publication Publication Date Title
CN103473365A (zh) 一种基于hdfs的文件存储方法、装置及分布式文件***
US8782246B2 (en) Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
CN102831120B (zh) 一种数据处理方法及***
CN101556557B (zh) 一种基于对象存储设备的对象文件组织方法
US20180198855A1 (en) Method and apparatus for scheduling calculation tasks among clusters
AU2018202230A1 (en) Client-configurable security options for data streams
US20190266131A1 (en) Scalable Grid Deduplication
CN103425756B (zh) 一种hdfs中数据块的副本管理策略
US9659080B1 (en) Categorization for constraint-based placement of object replicas in a distributed storage system
US20140108681A1 (en) System and method for providing a flexible buffer management interface in a distributed data grid
JP4197303B2 (ja) 計算機リソース管理方法及び実施装置並びに処理プログラム
CN104040486A (zh) 解耦paas资源、作业和调度
CN113806066A (zh) 大数据资源调度方法、***和存储介质
CN105144161A (zh) 针对复制写入的基于令牌的准入控制
CN103744628B (zh) SSTable文件存储方法及装置
US10356150B1 (en) Automated repartitioning of streaming data
US10254993B2 (en) Selecting first data sets in a first storage group to swap with second data sets in a second storage group
US9207964B1 (en) Distributed batch matching of videos with dynamic resource allocation based on global score and prioritized scheduling score in a heterogeneous computing environment
CN110058940B (zh) 一种多线程环境下的数据处理方法及装置
CN103077197A (zh) 一种数据存储方法装置
CN106095589A (zh) 一种分配分区的方法、装置及***
US10606478B2 (en) High performance hadoop with new generation instances
CN104158902A (zh) 一种基于请求数的Hbase数据块分配方法及装置
US11080092B1 (en) Correlated volume placement in a distributed block storage service
Oonhawat et al. Hotspot management strategy for real-time log data in MongoDB

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220715

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170606