CN102082832B - 一种分布式文件系统中的数据存储方法和装置 - Google Patents
一种分布式文件系统中的数据存储方法和装置 Download PDFInfo
- Publication number
- CN102082832B CN102082832B CN201110025383.4A CN201110025383A CN102082832B CN 102082832 B CN102082832 B CN 102082832B CN 201110025383 A CN201110025383 A CN 201110025383A CN 102082832 B CN102082832 B CN 102082832B
- Authority
- CN
- China
- Prior art keywords
- node
- data output
- memory data
- server
- next stage
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种分布式文件系统中的数据存储方法和装置。其中,所述方法包括:在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。根据本申请实施例,可以避免服务器宕机的同时,节约系统资源。
Description
技术领域
本申请涉及分布式文件系统技术领域,特别是涉及一种分布式文件系统中的数据存储方法和装置。
背景技术
随着Internet的不断发展,互联网上的数据成爆发性增长,形成海量数据。为了适应海量数据的存储需求,分布式文件系统由此应运而生。所谓分布式文件系统,就是文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与本地节点相连。分布式文件系统通常采用带外模式,即,文件元数据信息和文件内容数据没有存放在一起,而文件内容数据被分割成块后存储在多台服务器上。例如,待存储的文件A有10MB,如果数据块的分割标准为2MB,则文件A被分割成5个2MB的数据块,将5个数据块存放在不同的服务器上。另外,为了提升分布式文件系统的可靠性,在存储文件的同时,还存储该文件的多个副本,以便当该文件损坏时,还可以使用其对应的副本。如,针对上述文件A,如果该文件A有两个副本,同样将两个副本按照文件A的分割方式各分割成5个副本数据块,并将总共的10个副本数据块存放在不同的服务器上。
针对于文件以及文件副本的存储,现有技术提供了多种分布式文件系统,在每一种分布式文件系统中,其数据的存储方法也各不相同。例如,HDFS(Hadoop Distributed File System)分布式文件系统中采用本地优先策略的数据存储方法。
但是,发明人在研究中发现,虽然目前已出现了多种分布式文件系统,并且,每一种分布式文件系统下的数据存储方法也各不相同。但是,这些数据存储方法都无法保证数据被均衡地分布在分布式文件系统中的每一个服务器上。尤其当分布式文件系统由同构服务器集群组成时,所谓同构服务器即为具有相同物理配置的服务器,由于所有的同构服务器的性能和处理能力都是相同的,此时,如果海量的文件及文件副本被不均衡地分布在同构服务器集群上,会造成一部分服务器负载过大,甚至导致服务器宕机;同时也会造成另一部分服务器没有得到充分利用,进而造成资源浪费。
发明内容
为了解决上述技术问题,本申请实施例提供了一种分布式文件系统中的数据存储方法和装置,以避免服务器宕机的同时,节约系统资源。
本申请实施例公开了如下技术方案:
一种分布式文件系统中的数据存储方法,包括:在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
优选的,所述当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点包括:如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;将当前待存储的数据分配给选择的服务器节点。
优选的,所述当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点包括:如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
优选的,所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
优选的,所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
一种分布式文件系统中的数据存储装置,包括:查找单元,用于在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;第一存储单元,用于当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;第二存储单元,用于当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
优选的,所述第一存储单元包括:第一选择子单元,用于如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;第一分配子单元,用于将当前待存储的数据分配给选择的服务器节点。
优选的,所述第二存储单元包括:第二选择子单元,用于如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;第二分配子单元,用于在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
优选的,所述查找单元包括:第一获取子单元,用于如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;第一比较子单元,用于比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
优选的,所述查找单元包括:第二获取子单元,用于如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;累加子单元,用于对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;第二比较子单元,用于比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
在本申请中,每一次将当前待存储的数据分配给服务器之前,在分布式文件系统的所有服务器中,查找到数据存储量最小的服务器,将当前待存储的数据存储在当前数据量最小的服务器上,进而保证了数据被均衡地分布在每个服务器上,充分利用了所有服务器资源,可以避免服务器宕机的同时,节约系统资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种构成分布式文件系统的网络拓扑结构示意图;
图2为本申请一种分布式文件系统中的数据存储方法的一个实施例的流程图;
图3为本申请一种分布式文件系统中的数据存储的具体实施流程图;
图4为本申请一种计算路由设备节点的数据存储量的具体实施流程图;
图5为本申请一种分布式文件系统中的数据存储装置的一个实施例的结构图;
图6为本申请第一存储单元的一个结构示意图;
图7为本申请第二存储单元的一个结构示意图;
图8为本申请查找单元的一个结构示意图;
图9为本申请查找单元的另一个结构示意图。
具体实施方式
下面结合附图及实施例,对本申请实施例进行详细描述。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
实施例一
本申请实施例对构成分布式文件系统的网络拓扑结构不进行限定,即,在任意一种拓扑结构的网络中,如,环型结构、星型结构、总线型结构和数型中的任意一个结构或者任意多个结构的组合,都可以按照本申请实施例的中的数据存储方法进行存储。在本实施例中,为了更加方便地描述分布式文件系统中的数据存储方法,结合一个简单的网络拓扑结构来进一步说明在由该网络所构成的分布式文件系统中,实现数据存储的方法。请参阅图1,其为一种构成分布式文件系统的网络拓扑结构示意图。如图1所示,该网络是由总线型和星型组合而成的混合网络拓扑结构,其中,主干网为总线型结构,其它子网为星型结构。
下面结合图1中的网络拓扑结构,逐一地对图2所示的数据存储方法的各个步骤进行详细说明。请参阅图2,其为本申请一种分布式文件系统中的数据存储方法的一个实施例的流程图,包括以下步骤:
步骤201:在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;
例如,在图2所示的网络拓扑结构中,根节点为主干网,其下一级子节点包括:服务器节点A、路由设备节点B、路由设备节点C和服务器节点D,从这四个子节点中查找数据存储量最小的子节点。
其中,所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
如,在图2中,在根节点的四个下一级子节点中包括路由设备节点B和C,对于路由设备节点B而言,其下属的服务器节点包括所有级别在路由设备节点B之下的节点,具体包括:服务器节点B1、服务器节点B2、服务器节点B4、服务器节点B31、服务器节点B32、服务器节点B331和服务器节点B332共7个服务器节点,获取上述7个服务器节点的数据存储量,将获取的数据存储量累加求和,得到路由设备节点B的数据存储量。
同样,对于路由设备C而言,其下属的服务器节点包括:服务器节点C1和服务器节点C2共2个服务器节点,获取这2个服务器节点的数据存储量,将获取的数据存储量累加求和,得到路由设备C的数据存储量。
在获得了服务器节点A、路由设备节点B、路由设备节点C和服务器节点D的数据存储量后,通过比较得到数据存储量最小的节点。
如果根节点的所有下一级子节点都为服务器节点,则所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
步骤202:当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;
假设通过比较服务器节点A、路由设备节点B、路由设备节点C和服务器节点D的数据存储量发现,路由设备节点A的数据存储量最小,则将当前待存储的数据存储到服务器节点A。
其中,所述当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点包括:如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;将当前待存储的数据分配给选择的服务器节点。
例如,假设发现服务器节点A和服务器节点D的数据存储量相同且都为最小,则从中任意选择一个服务器节点,如选择服务器节点A,并将待存储的数据分配给服务器节点A。
步骤203:当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
假设通过比较服务器节点A、路由设备节点B、路由设备节点C和服务器节点D的数据存储量发现,路由设备节点B的数据存储量最小,在路由设备节点B的下一级子节点中,即,在服务器节点B1、服务器节点B2、路由设备节点B3和服务器节点B4中,继续查找数据存储量最小的节点。其中,获取路由设备节点B3的数据存储量的方法与获取路由设备节点B的数据存储量的方法相同,具体执行过程可以参见路由设备节点B。如果通过比较发现,路由设备B3的数据存储量最小,则进一步在路由设备B3的下一级子节点中,即,在服务器节点B31、服务器节点B32和路由设备节点B33中,继续查找数据存储量最小的节点。同样,获取路由设备节点B33的数据存储量的方法与获取路由设备节点B的数据存储量的方法相同,具体执行过程可以参见路由设备节点B。如果通过比较发现,服务器节点B31的数据存储量最小,最终,将待存储的数据存储在服务器节点B31。
其中,所述当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点包括:如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
例如,假设上述服务器节点B31和服务器节点B32的数据存储量相同且都为最小,则从中任意选择一个服务器节点,如选择服务器节点B31,并将待存储的数据分配给服务器节点B31。
需要说明的是,本申请实施例中的路由设备节点包括但不限于交换机、路由器和集线器。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
每一次将当前待存储的数据分配给服务器之前,在分布式文件系统的所有服务器中,查找到数据存储量最小的服务器,将当前待存储的数据存储在当前数据量最小的服务器上,进而保证了数据被均衡地分布在每个服务器上,充分利用了所有服务器资源,可以避免服务器宕机的同时,节约系统资源。
实施例二
下面说明一种能够实现分布式文件系统中数据存储的具体实施流程。请参阅图3,其为本申请一种分布式文件系统中的数据存储的具体实施流程图。包括以下步骤:
步骤301:将当前节点指向分布式文件系统的根节点;
步骤302:判断当前节点的所有下一级子节点中是否包含路由设备节点,如果是,进入步骤303,否则,进入步骤304;
步骤303:计算当前节点的下一级路由设备节点的数据存储量,进入步骤304;
步骤304:判断当前节点的所有下一级子节点中是否包含服务器节点,如果是,进入步骤305,否则,进入步骤306;
步骤305:获取当前节点的下一级服务器节点的数据存储量;
步骤306:比较当前节点的下一级服务器节点和/或路由设备节点的数据存储量,选择数据存储量最小的节点;
其中,如果步骤302的判断为是,步骤304的判断结果也为是,即,当前节点的所有下一级子节点中既包含路由设备节点又包含服务器节点,则在步骤306中比较当前节点的下一级的服务器节点和路由设备节点的数据存储量。
如果步骤302的判断结果为是,步骤304的判断结果为否,即,当前节点的所有下一级子节点中只包含路由设备节点而不包含服务器节点,则在步骤306中只比较当前节点的下一级的路由设备节点的数据存储量。
如果步骤302的判断结果为否,步骤304的判断结果为是,即,当前节点的所有下一级子节点中只包含服务器节点而不包含路由设备节点,则在步骤306中只比较当前节点的下一级的服务器节点的数据存储量。
需要说明的是,步骤302和304的判断结果否为否,即,当前节点的所有下一级子节点中既不包含服务器节点也不包含服务器节点的情况是不存在,因此,本实施不考虑此种情况。
步骤307:判断是否存在存储多个数据存储量最小的节点,如果是,进入步骤308,否则,进入步骤309;
步骤308:随机选择一个节点,进入步骤309;
步骤309:判断数据存储量最小的节点是否为路由设备节点,如果是,进入步骤310,否则,进入步骤311;
步骤310:将当前节点指向该节点,返回步骤301;
步骤311:将待存储数据分配给数据存储量最小的服务器节点,结束流程。
其中,在上述步骤303中,即,当计算当前节点的下一级路由设备节点的数据存储量时,需要获取下一级路由设备节点下属的服务器节点的数据存储量,然后对获取的服务器节点的数据存储量累加求和,得到路由设备节点的数据存储量。
请参阅图4,其为本申请一种计算路由设备节点的数据存储量的具体实施流程图。包括以下步骤:
步骤401:将当前节点指向需要计算数据存储量的路由设备节点,将其数据存储量初始化为0;
步骤402:判断当前节点是否包含下一级的路由设备节点,如果是,进入步骤403,否则,进入步骤405;
步骤403:计算下一级的路由设备节点的数据存储量;
步骤404:将下一级的路由设备节点的数据存储量累加到当前节点的数据存储量中;
步骤405:判断当前节点是否包含下一级的服务器节点,如果是,进入步骤406,否则,进入步骤408;
步骤406:计算下一级的服务器节点的数据存储量;
步骤407:将下一级的服务器节点的数据存储量累加到当前节点的数据存储量中;
步骤408:返回当前节点的数据存储量,结束流程。
其中,步骤403中的计算下一级的路由设备节点的数据存储量,可以进一步将下一级的路由设备节点设为当前节点,按照本流程中的方式进行迭代运算。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
每一次将当前待存储的数据分配给服务器之前,在分布式文件系统的所有服务器中,查找到数据存储量最小的服务器,将当前待存储的数据存储在当前数据量最小的服务器上,进而保证了数据被均衡地分布在每个服务器上,充分利用了所有服务器资源,可以避免服务器宕机的同时,节约系统资源。
实施例三
与上述分布式文件系统的数据存储方法相对应,本申请实施例还提供了一种分布式文件系统中的数据存储装置。请参阅图5,其为本申请一种分布式文件系统中的数据存储装置的一个实施例的结构图。该装置包括:查找单元501、第一存储单元502和第二存储单元503。
查找单元501,用于在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;
第一存储单元502,用于当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;
第二存储单元503,用于当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
其中,请参阅图6,其为本申请第一存储单元的一个结构示意图。如图6所示,第一存储单元502包括:第一选择子单元5021和第一分配子单元5022,
第一选择子单元5021,用于如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;
第一分配子单元5022,用于将当前待存储的数据分配给选择的服务器节点。
其中,请参阅图7,其为本申请第二存储单元的一个结构示意图。如图7所示,第二存储单元503包括:第二选择子单元5031和第二分配子单元5032,
第二选择子单元5031,用于如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;
第二分配子单元5032,用于在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
其中,请参阅图8,其为本申请查找单元的一个结构示意图。如图8所示,查找单元501包括:第一获取子单元5011和第一比较子单元5012,
第一获取子单元5011,用于如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;
第一比较子单元5012,用于比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
可替换的,请参阅图9,其为本申请查找单元的另一个结构示意图。如图9所示,查找单元501包括:第二获取子单元5013、累加子单元5014和第二比较子单元5015,
第二获取子单元5013,用于如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;
累加子单元5014,用于对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;
第二比较子单元5015,用于比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
每一次将当前待存储的数据分配给服务器之前,在分布式文件系统的所有服务器中,查找到数据存储量最小的服务器,将当前待存储的数据存储在当前数据量最小的服务器上,进而保证了数据被均衡地分布在每个服务器上,充分利用了所有服务器资源,可以避免服务器宕机的同时,节约系统资源。
以上对本申请所提供的一种分布式文件系统中的数据存储方法和装置进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,在不脱离本发明描述的原理前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种分布式文件系统中的数据存储方法,其特征在于,包括:
在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;
当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;
当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
2.根据权利要求1所述的方法,其特征在于,所述当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点包括:
如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;
将当前待存储的数据分配给选择的服务器节点。
3.根据权利要求1所述的方法,其特征在于,所述当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由设备节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点包括:
如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;
在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
4.根据权利要求1所述的方法,其特征在于,所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:
如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;
比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
5.根据权利要求1所述的方法,其特征在于,所述在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点包括:
如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;
对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;
比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
6.一种分布式文件系统中的数据存储装置,其特征在于,包括:
查找单元,用于在分布式文件系统的根节点的所有下一级子节点中,查找数据存储量最小的子节点,其中,所述下一级子节点包括路由设备节点和/或服务器节点;
第一存储单元,用于当数据存储量最小的下一级子节点为服务器节点时,将当前待存储的数据存储到查找到的服务器节点;
第二存储单元,用于当数据存储量最小的下一级子节点为路由设备节点时,在查找到的路由节点的所有下一级子节点中,继续查找数据存储量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据存储到查找到的服务器节点。
7.根据权利要求6所述的装置,其特征在于,所述第一存储单元包括:
第一选择子单元,用于如果数据存储量最小的下一级子节点为至少两个服务器节点,从所述至少两个服务器节点中任意选择一个;
第一分配子单元,用于将当前待存储的数据分配给选择的服务器节点。
8.根据权利要求6所述的装置,其特征在于,所述第二存储单元包括:
第二选择子单元,用于如果数据存储量最小的下一级子节点为至少两个路由设备节点,从所述至少两个路由设备节点中任意选择一个;
第二分配子单元,用于在选择的路由设备节点的所有下一级子节点中,继续查找数据量最小的子节点,直到查找到的数据量最小的子节点为服务器节点为止,将当前待存储的数据分配给查找到的服务器节点。
9.根据权利要求6所述的装置,其特征在于,所述查找单元包括:
第一获取子单元,用于如果分布式文件系统的根节点的所有下一级子节点为服务器节点,获取所有服务器节点的数据存储量;
第一比较子单元,用于比较所有服务器节点的数据存储量大小,获得数据存储量最小的子节点。
10.根据权利要求6所述的装置,其特征在于,所述查找单元包括:
第二获取子单元,用于如果分布式文件系统的根节点中的下一级子节点包括路由设备节点,获取所述路由设备节点下属的服务器节点的数据存储量;
累加子单元,用于对获取的服务器节点的数据存储量累加求和,得到所述路由设备节点的数据存储量;
第二比较子单元,用于比较根节点的所有下一级子节点的数据存储量大小,获得数据存储量最小的子节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110025383.4A CN102082832B (zh) | 2011-01-24 | 2011-01-24 | 一种分布式文件系统中的数据存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110025383.4A CN102082832B (zh) | 2011-01-24 | 2011-01-24 | 一种分布式文件系统中的数据存储方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102082832A CN102082832A (zh) | 2011-06-01 |
CN102082832B true CN102082832B (zh) | 2014-08-13 |
Family
ID=44088581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110025383.4A Active CN102082832B (zh) | 2011-01-24 | 2011-01-24 | 一种分布式文件系统中的数据存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102082832B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637200B (zh) * | 2012-03-07 | 2014-05-14 | 江苏引跑网络科技有限公司 | 一种使多级关联数据分配到集群相同节点的方法 |
CN103546522B (zh) * | 2012-07-17 | 2018-01-23 | 联想(北京)有限公司 | 确定存储服务器的方法及分布式存储系统 |
CN103631894A (zh) * | 2013-11-19 | 2014-03-12 | 浪潮电子信息产业股份有限公司 | 一种基于hdfs的动态副本管理方法 |
CN108270851B (zh) * | 2017-12-29 | 2021-06-18 | 广东南华工商职业学院 | 一种数据存储方法及装置 |
CN108737571B (zh) * | 2018-06-25 | 2021-07-06 | 郑州云海信息技术有限公司 | 一种解决大数据量文件转发导致网闸卡死的方法及系统 |
CN110602244B (zh) * | 2019-09-26 | 2020-11-03 | 重庆紫光华山智安科技有限公司 | 分布式存储系统消息交互方法、节点及分布式存储系统 |
CN112565325B (zh) * | 2019-09-26 | 2022-09-23 | 华为云计算技术有限公司 | 镜像文件管理方法、装置及系统、计算机设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101449559A (zh) * | 2006-05-23 | 2009-06-03 | 诺燕控股公司 | 分布式存储器 |
US7590747B2 (en) * | 2000-03-03 | 2009-09-15 | Intel Corporation | Distributed storage cluster architecture |
-
2011
- 2011-01-24 CN CN201110025383.4A patent/CN102082832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590747B2 (en) * | 2000-03-03 | 2009-09-15 | Intel Corporation | Distributed storage cluster architecture |
CN101449559A (zh) * | 2006-05-23 | 2009-06-03 | 诺燕控股公司 | 分布式存储器 |
Also Published As
Publication number | Publication date |
---|---|
CN102082832A (zh) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102082832B (zh) | 一种分布式文件系统中的数据存储方法和装置 | |
US10496627B2 (en) | Consistent ring namespaces facilitating data storage and organization in network infrastructures | |
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN110399535B (zh) | 一种数据查询方法、装置及设备 | |
CN103929454B (zh) | 一种云计算平台中负载均衡存储的方法和系统 | |
US9888065B2 (en) | Defragmenting clusters with reserved resources | |
CN104077423A (zh) | 一种基于一致性散列的结构化数据存储、查询和迁移方法 | |
CN104283906A (zh) | 分布式存储系统、集群节点及其区间管理方法 | |
CN104298541A (zh) | 云存储系统的数据分布算法及其装置 | |
CN103455631A (zh) | 一种数据处理方法、装置及系统 | |
CN108319596A (zh) | 一种数据库的扩容方法和装置 | |
CN103714013A (zh) | 一种文件系统的存储空间的配置方法及装置 | |
CN106599091A (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN103856462B (zh) | 一种会话的管理方法及系统 | |
CN104932986A (zh) | 一种数据重分布方法及装置 | |
CN104283966A (zh) | 云存储系统的数据分布算法及其装置 | |
CN104753992A (zh) | 一种数据存储、虚拟平台故障恢复的方法、设备和系统 | |
CN107818113B (zh) | 文件访问位置的确定方法及装置 | |
CN106681795B (zh) | 节点局部拓扑和可利用资源容量的虚拟网络映射方法 | |
CN110765073B (zh) | 分布式存储系统的文件管理方法、介质、设备及装置 | |
CN106709045B (zh) | 分布式文件系统中节点选择方法及装置 | |
CN112506813B (zh) | 一种内存管理方法和系统 | |
CN105025042A (zh) | 一种确定数据信息的方法及系统、代理服务器 | |
CN114115911A (zh) | 一种基于有向无环图的系统构建策略生成方法 | |
CN106331039A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |