CN106873902A - 一种文件存储系统、数据调度方法及数据节点 - Google Patents

一种文件存储系统、数据调度方法及数据节点 Download PDF

Info

Publication number
CN106873902A
CN106873902A CN201510922155.5A CN201510922155A CN106873902A CN 106873902 A CN106873902 A CN 106873902A CN 201510922155 A CN201510922155 A CN 201510922155A CN 106873902 A CN106873902 A CN 106873902A
Authority
CN
China
Prior art keywords
data
written
storage subsystem
distributed storage
back end
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
CN201510922155.5A
Other languages
English (en)
Other versions
CN106873902B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201510922155.5A priority Critical patent/CN106873902B/zh
Priority to PCT/CN2016/095532 priority patent/WO2017096942A1/zh
Publication of CN106873902A publication Critical patent/CN106873902A/zh
Application granted granted Critical
Publication of CN106873902B publication Critical patent/CN106873902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput

Abstract

本发明公开了一种文件存储系统、数据调度方法及数据节点,涉及文件系统领域。其中,该数据调度的方法包括:主数据节点接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;主数据节点将待写入数据写入第一分布式存储子系统中,向名字节点发送通知消息,向客户端发送应答消息;主数据节点向第一备份数据节点发送更新请求,更新请求包括待写入数据在所述第一分布式存储子系统中的存储位置和待写入数据的属性信息。本发明应用在存储文件的过程中。

Description

一种文件存储系统、数据调度方法及数据节点
技术领域
本发明涉及文件系统领域,尤其涉及一种文件存储系统、数据调度方法及数据节点。
背景技术
Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是一种适合运行在通用硬件(commodity hardware)上的分布式文件系统,具备高可扩展性,无需停机便能够实现动态扩容;高可靠性,能够实现数据自动检测和复制以及高吞吐量访问,消除访问瓶颈等特性。
现有技术中,HDFS的系统架构如图1所示,包括:客户端11和服务器群12。其中,客户端11包括分布式文件系统(Distributed FileSystem)模块111和文件系统数据输出流(FSData OutputStream)模块112。服务器群采用主从结构,由一个名字节点(Name Node,NN)121和多个数据节点(Data Node,DN)122组成。其中,名字节点121是一个管理文件命名空间和调节客户端访问文件的主服务器;数据节点122,用于存储数据,一般一个数据节点对应一个服务器,每个数据节点对应一个分布式存储子系统,采用分布式存储的存储方式。
在利用上述HDFS系统进行写数据之前,客户端首先通过DistributedFileSystem模块向远程的NN节点发起RPC请求;NN节点在文件系统的命名空间中创建一个新的文件;DistributedFileSystem模块向HDFS客户端返回DFSOutputStream,然后客户端开始写数据。客户端开始写入数据,DFSOutputStream将数据分成块,写入数据队列(dataqueue)中。Data queue由数据流(Data Streamer)读取,并通知名字节点分配用于存储数据块的数据节点(每个数据块默认对应3个数据节点)。Data Streamer采用流水线的形式将数据依次写入分配的数据节点中实现数据块在多个数据节点之间的互相备份。例如:将数据块写入第一个数据节点;第一个数据节点将数据块发送给第二个数据节点;第二个数据节点将数据块发送给第三个数据节点。此外,每个数据节点对应有分布式存储设备,所指的分布式存储设备实际上由多个物理磁盘组成。数据节点将已写入的块数据通过IO转发到分布式存储设备内,触发分布式存储设备的写流程,分布式存储设备将数据写到主物理磁盘,同时发送复制请求给备物理磁盘,实现分布式存储设备上多备份数据(默认复制3份)写入。当客户端完成数据写入后,Data Streamer关闭写入流并通知名字节点数据写入完毕。
现有的这种文件读写方法,只有在全部数据节点均完成数据的写入才会进行下一个数据块的写操作过程,数据写入速度较慢。
发明内容
本发明提供一种文件存储系统、数据调度方法及数据节点,能够加快数据写入速度。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明实施例提供一种文件存储系统,所述文件存储系统的服务器侧包括:
名字节点、主数据节点和至少一个备份数据节点;
所述主数据节点和至少一个备份数据节点共享第一分布式存储子系统,所述第一分布式存储子系统包括一个主存储设备和至少一个备份存储设备;
其中,所述主数据节点,用于接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;将所述待写入数据写入第一分布式存储子系统中;并且向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
所述备份数据节点,用于接收更新请求;根据所述更新请求中的待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;当查找到所述待写入数据时,保存所述待写入数据的属性信息。
结合第一方面,在第一方面的第一种实现方式中,所述主数据节点对所述第一分布式存储子系统的操作权限为允许进行读写操作;所述备份数据节点对所述第一分布式存储子系统的操作权限为仅允许进行读操作。
第二方面,本发明实施例还提供了一种数据调度方法,该方法应用于如第一方面所述的文件存储系统中,所述方法包括:
主数据节点接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;
所述主数据节点将所述待写入数据写入第一分布式存储子系统中;
所述主数据节点向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
结合第二方面,在第二方面的第一种实现方式中,所述待写入数据的属性信息包括所述待写入数据的名称以及大小。
结合第二方面或者第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述方法还包括:
当第一数据节点发生故障时,恢复发生故障的数据节点的系统文件,得到恢复后的数据节点,所述第一数据节点为所有数据节点中的任意一个;
将所述第一分布式子系统挂载至所述恢复后的数据节点。
第三方面,本发明实施例还提供了一种数据调度方法,包括:
备份数据节点接收更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
所述备份数据节点根据所述待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;
当查找到所述待写入数据时,所述备份数据节点保存所述待写入数据的属性信息。
第四方面,本发明实施例提供了一种数据节点,包括:
接收模块,用于接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;
写电路,用于将所述待写入数据写入第一分布式存储子系统中;
发送模块,用于向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
结合第四方面,在第四方面的第一种实现方式中,所述待写入数据的属性信息包括所述待写入数据的名称以及大小。
第五方面,本发明实施例还提供了一种数据节点,包括:
接收模块,用于接收更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
处理模块,用于根据所述待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;
存储模块,用于当查找到所述待写入数据时,所述备份数据节点保存所述待写入数据的属性信息。
本发明提供的文件存储系统,多个数据节点共享一个分布式存储子系统,且该分布式存储子系统包括一个主存储设备和至少一个备份存储设备,能够实现数据在各个存储设备之间的互相备份。在利用该文件存储系统进行写数据时,主数据节点将待写入数据写入第一分布式存储子系统,然后向第一备份数据节点发送更新请求以通知第一备份数据节点待写入数据的属性信息以及待写入数据的存储位置,第一备份数据节点根据该更新请求仅需要查看第一分布式存储子系统,确定第一分布式存储子系统中已经写入了待写入数据后,保存更新请求中的待写入数据的属性信息,便完成了对待写入数据的写过程。与现有技术中,所有数据节点都需要将待写入数据分别写入其对应的分布式存储系统相比,本发明提供的数据调度的方法,虽然存在多个数据节点,但实际只有一个数据节点进行了数据写入第一分布式操作系统的过程,其余数据节点则利用数据本地化特性,查看共享的分布式存储子系统,能够减少数据在各个数据节点之间的网络传输和存储时间,进而加快数据写入速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的HDFS的架构示意图;
图2为本发明实施例提供的HDFS的架构示意图;
图3为本发明实施例提供的一种数据调度方法的流程示意图;
图4为本发明实施例提供的另一种数据调度方法的流程示意图;
图5为本发明实施例提供的一种数据节点的示意图;
图6为本发明实施例提供的另一种数据节点的示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种文件存储系统,如图2所示,包括:客户端21和服务器群22。其中,客户端包括分布式文件系统(Distributed FileSystem)模块211和文件系统数据输出流(FSData OutputStream)模块212。服务器群采用主从结构,包括名字节点221、主数据节点222和至少一个备份数据节点223;其中,主数据节点和至少一个备份数据节点共享第一分布式存储子系统224,所述第一分布式存储子系统224包括一个主存储设备2241和至少一个备份存储设备2242。
其中,服务器群中的各个节点(包括名字节点、主数据节点和备份数据节点)在物理实现上可相当于一个服务器。分布式存储子系统以虚拟设备的方式提供给各个数据节点,在各个数据节点上体现为虚拟磁盘,对分布式子系统的读写类似于对本地物理磁盘的读写。而在物理实现上,分布式子系统包括多个物理存储设备,例如:多个硬盘;多个物理存储设备之间的数据能够实现互相备份。
第一分布式存储子系统能够在各个数据节点之间实现共享。各个数据节点对第一分布式存储子系统的操作权限可以不加限定,也可以进行特殊的规定。可选的,主数据节点222对第一分布式存储子系统224的操作权限为允许进行读写操作;备份数据节点223对所述第一分布式存储子系统224的操作权限为仅允许进行读操作。
由于多个数据节点共享第一分布式存储子系统,因而当某个数据节点发生故障时,仅需要恢复发生故障的数据节点的系统文件,得到恢复后的数据节点,然后将第一分布式子系统挂载至恢复后的数据节点,即可实现该数据节点下第一分布式存储子系统中的数据的恢复,而不需要采用复制数据的方式进行数据恢复,提高数据恢复的效率。
需要说明的是,本发明实施例提供的文件存储系统,各个数据节点除了共享该第一分布式存储子系统外,每个数据节点还可能分别独立对应分布式存储子系统,相对于第一分布式存储子系统可以被所有数据节点共享,某个数据节点对应的分布式存储子系统只有该数据节点本身具有读写权限。
基于上述文件存储系统,本发明实施例提供了一种数据调度方法,如图3所述,该方法包括:
301:主数据节点接收客户端发送的写操作指令。
其中,所述写操作指令中包括待写入数据。
302:主数据节点将所述待写入数据写入第一分布式存储子系统中。
在本步骤的具体实现过程中,主数据节点接收到待写入数据后,将待写入数据转发到分布式存储子系统内部,触发分布式存储子系统的写操作流程,分布式存储子系统将待写入数据写到主物理磁盘,同时发送复制请求给备份磁盘,备份磁盘再复制主物理磁盘的数据并保存,实现备份磁盘与主物理磁盘之间的数据的备份。
303:主数据节点向名字节点发送通知消息,向客户端发送应答消息。
当主数据节点成功将数据写入分布式存储子系统后,表明写完数据,则该主数据节点向名字节点发送通知消息以告知名字节点已经写完待写入数据,并向客户端发送应答消息以告知客户端已经根据客户端发送的命令完成数据的写入。
304:主数据节点向第一备份数据节点发送更新请求。
这是本发明实施例提供的数据调度方法与现有技术的一个不同之处。现有技术中,主数据节点将数据写入分布式存储系统中后,会向第一备份数据节点发送写请求,该写请求中携带有待写入数据,第一备份数据节点收到该写请求后需要将该请求中携带的待写入数据写入到其自身对应的一个独立的分布式存储子系统中,这样才算完成了第一备份数据节点的写数据过程。
而在本发明中,该更新请求仅包括待写入数据在第一分布式存储子系统中的存储位置和待写入数据的属性信息,例如:待写入数据的名称以及大小等。更新请求中包含的信息相当于待写入数据的索引信息,并不包括待写入数据本身。这样,第一备份数据节点根据该更新请求可以从相应的位置查找到待写入数据即可,省去了主数据节点与第一备份数据节点之间的数据传输的过程,以及第一备份数据节点将待写入数据进行写的整个过程。
305:备份数据节点接收更新请求。
其中,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
本步骤中所指的备份数据节点包括前述步骤中所指的第一备份数据节点。
如果需要将待写入数据在2个数据节点之间实现备份,则文件存储系统中仅包括主数据节点和第一备份数据节点。
如果需要将待写入数据在2个以上的数据节点之间实现备份(一般为在3个数据节点之间实现备份),则文件存储系统中除了主数据节点和第一备份数据节点外,可能还包括第二备份数据节点、第三备份数据节点等。这种情况下,采用流水处理的过程,前一数据节点写完后,向后一数据节点发送更新请求。例如:主数据节点将待写入数据写入分布式存储系统中后,向第一备份数据节点发送更新请求;第一备份数据节点完成数据写入后,向第二备份数据节点发送更新请求,依此类推。
306:备份数据节点根据待写入数据在第一分布式存储子系统中的存储位置以及待写入数据的属性信息,在第一分布式存储子系统中查找所述待写入数据。
307:当查找到待写入数据时,备份数据节点保存所述待写入数据的属性信息。
308:备份数据节点向名字节点发送通知消息,向客户端发送应答消息。
备份数据节点仅需要保存待写入数据的属性信息,便完成了对待写入数据的写入过程。当备份数据节点完成数据写入后,向名字节点发送通知消息,向客户端发送应答消息。
需要说明的是,图3中仅示出了文件存储系统中包括主数据节点和第一备份数据节点的时候,数据调度的具体实现过程;当文件存储系统中还包括其他备份数据节点时,其余备份数据节点的操作过程同第一备份数据节点,图3中并未示出。
本发明实施例提供的文件存储系统,多个数据节点共享一个分布式存储子系统,且该分布式存储子系统包括一个主存储设备和至少一个备份存储设备,能够实现数据在各个存储设备之间的互相备份。在利用该文件存储系统进行写数据时,主数据节点将待写入数据写入第一分布式存储子系统,然后向第一备份数据节点发送更新请求以通知第一备份数据节点待写入数据的属性信息以及待写入数据的存储位置,第一备份数据节点根据该更新请求仅需要查看第一分布式存储子系统,确定第一分布式存储子系统中已经写入了待写入数据后,保存更新请求中的待写入数据的属性信息,便完成了对待写入数据的写过程。与现有技术中,所有数据节点都需要将待写入数据分别写入其对应的分布式存储系统相比,这样本发明提供的数据调度的方法,虽然存在多个数据节点,但实际只有一个数据节点进行了数据写入第一分布式操作系统的过程,其余数据节点则利用数据本地化特性,查看共享的分布式存储子系统,能够减少数据在各个数据节点之间的网络传输和存储时间,进而加快数据写入速度。
此外,现有技术中,当需要通过多个数据节点实现数据备份时,待写入数据除了需要在多个数据节点之间进行传输;分布式存储子系统内部也要实现数据备份,因而数据还要在分布式存储子系统内部的多个存储设备之间进行传输,因而容易带来网络热点问题,造成网络瓶颈。且每个数据节点都要读取全部待写入数据并保存,占用的存储空间较大,进而带来较大的存储开销。
而本发明实施例中,尽管存在多个互相备份的数据节点,但实际上只有一个数据节点进行了真正的写数据的过程,其余数据节点仅仅是利用数据本地化特性,通过共享的分布式存储系统实现本地请求数据,能够减少各个数据节点之间传输的数据量,减少传输开销;此外,由于仅由第一个数据节点进行了待写入数据的读写并将待写入数据保存在第一分布式存储系统中,其余数据节点无需再保存待写入数据,因此还能够减少占用的存储空间,进而节省服务器群的存储开销。
结合实际应用,本发明实施例还提供了一个数据调度的具体实现过程,如图4所示,包括:
401:客户端的DistributedFileSystem模块向名字节点发起RPC请求。
所述远程过程调用协议(Remote Procedure Call Protocol,RPC)请求,用于在文件系统的命名空间中创建一个新的文件。
402:名字节点接收到RPC请求后,创建新文件。
需要说明的是,在执行本步骤之前,名字节点首先检查要创建的文件是否已经存在,创建者是否有权限进行操作,如果不存在要创建的文件且创建者有权限进行操作,才会执行本步骤以及后续步骤;否则会让客户端抛出异常,结束文件读写的过程。
下述步骤403至步骤407为数据写入过程。
403:客户端的DFSOutputStream模块将数据分成块,写入数据队列(data queue)中,并通知名字节点分配数据节点。
其中,Data queue由DFSOutputStream模块中的Data Streamer子模块读取。数据节点用来存储数据块,分配的数据节点放在一个管道(pipeline)里。
404:客户端的Data Streamer子模块将数据块写入pipeline中的主数据节点。
其中,该主数据节点为pipeline中的第一个数据节点。
与此同时,客户端的DFSOutputStream模块为发出去的数据块保存了ack queue,等待pipeline中的每个数据节点告知数据已经写入成功。
405:主数据节点触发分布式存储子系统的写流程。
在该步骤的具体实现过程中,首先将数据写到主物理磁盘,同时发送复制请求给备磁盘,实现分布式存储设备上多备份数据(默认复制3份)写入。
406:主数据节点将数据写入分布式存储子系统中后,向名字节点发送通知消息,向客户端发送应答消息,向备份数据节点发送更新请求。
在本步骤的具体实现过程中,主数据节点不再需要向备份数据节点发送数据块,而只是发送更新请求,由此进入“更新层”的处理过程。
需要说明的是,本步骤中所指的备份数据节点为第一备份数据节点,图4中还示出了第二备份数据节点,则第一备份数据节点在完成数据的写入操作后,还要向第二备份数据节点发送更新请求。
还需要说明的是,除了下述步骤的处理过程以外,更新层还可以包括其他处理过程。
407:备份数据节点收到更新请求后,根据更新请求中的消息内容刷新共享的分布式存储子系统,当读取到数据块的信息时,保存数据块的属性信息等,即完成数据块的写入过程,当完成数据块的写入后,向名字节点发送通知消息,向客户端返回响应消息。
当pipeline中的所有数据节点都完成数据的写入,akc quene把对应的数据包移除掉。
重复上述过程,Data Streamer把剩余的数据包都刷到pipeline里然后等待ack信息,收到最后一个ack后,通知元数据节点写入完毕。
当客户端完成所有数据块的写入操作后,调用stream的close方法关闭写入流。
作为数据调度方法的具体应用,如图5所示,本发明实施例提供了一种数据节点,包括:
接收模块501,用于接收客户端发送的写操作指令,所述写操作指令中包括待写入数据。
写电路502,用于将所述待写入数据写入第一分布式存储子系统中;
发送模块503,用于向名字节点发送通知消息,向客户端发送应答消息;
向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
其中,所述待写入数据的属性信息包括所述待写入数据的名称以及大小。
本发明实施例还提供了一种数据节点,如图6所示,包括:
接收模块601,用于接收更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
处理模块602,用于根据所述待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据。
存储模块603,用于当查找到所述待写入数据时,所述备份数据节点保存所述待写入数据的属性信息。
发送模块604,用于向名字节点发送通知消息,向客户端发送应答消息。
本发明实施例提供的文件存储系统,多个数据节点共享一个分布式存储子系统,且该分布式存储子系统包括一个主存储设备和至少一个备份存储设备,能够实现数据在各个存储设备之间的互相备份。在利用该文件存储系统进行写数据时,主数据节点将待写入数据写入第一分布式存储子系统,然后向第一备份数据节点发送更新请求以通知第一备份数据节点待写入数据的属性信息以及待写入数据的存储位置,第一备份数据节点根据该更新请求仅需要查看第一分布式存储子系统,确定第一分布式存储子系统中已经写入了待写入数据后,保存更新请求中的待写入数据的属性信息,便完成了对待写入数据的写过程。与现有技术中,所有数据节点都需要将待写入数据分别写入其对应的分布式存储系统相比,这样本发明提供的数据调度的方法,虽然存在多个数据节点,但实际只有一个数据节点进行了数据写入第一分布式操作系统的过程,其余数据节点则利用数据本地化特性,查看共享的分布式存储子系统,能够减少数据在各个数据节点之间的网络传输和存储时间,进而加快数据写入速度。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种文件存储系统,其特征在于,所述文件存储系统的服务器侧包括:
名字节点、主数据节点和至少一个备份数据节点;
所述主数据节点和至少一个备份数据节点共享第一分布式存储子系统,所述第一分布式存储子系统包括一个主存储设备和至少一个备份存储设备;
其中,所述主数据节点,用于接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;将所述待写入数据写入第一分布式存储子系统中;并且向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
所述备份数据节点,用于接收更新请求;根据所述更新请求中的待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;当查找到所述待写入数据时,保存所述待写入数据的属性信息。
2.根据权利要求1所述的文件存储系统,其特征在于,所述主数据节点对所述第一分布式存储子系统的操作权限为允许进行读写操作;所述备份数据节点对所述第一分布式存储子系统的操作权限为仅允许进行读操作。
3.一种数据调度方法,其特征在于,应用于如权利要求1或2所述的文件存储系统中,所述方法包括:
主数据节点接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;
所述主数据节点将所述待写入数据写入第一分布式存储子系统中;
所述主数据节点向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
4.根据权利要求3所述的方法,其特征在于,所述待写入数据的属性信息包括所述待写入数据的名称以及大小。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
当第一数据节点发生故障时,恢复发生故障的数据节点的系统文件,得到恢复后的数据节点,所述第一数据节点为所有数据节点中的任意一个;
将所述第一分布式子系统挂载至所述恢复后的数据节点。
6.一种数据调度方法,其特征在于,应用于如权利要求1或2所述的文件存储系统中,包括:
备份数据节点接收更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
所述备份数据节点根据所述待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;
当查找到所述待写入数据时,所述备份数据节点保存所述待写入数据的属性信息。
7.一种数据节点,其特征在于,包括:
接收模块,用于接收客户端发送的写操作指令,所述写操作指令中包括待写入数据;
写电路,用于将所述待写入数据写入第一分布式存储子系统中;
发送模块,用于向第一备份数据节点发送更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息。
8.根据权利要求7所述的数据节点,其特征在于,所述待写入数据的属性信息包括所述待写入数据的名称以及大小。
9.一种数据节点,其特征在于,包括:
接收模块,用于接收更新请求,所述更新请求包括所述待写入数据在所述第一分布式存储子系统中的存储位置和所述待写入数据的属性信息;
处理模块,用于根据所述待写入数据在所述第一分布式存储子系统中的存储位置以及所述待写入数据的属性信息,在所述第一分布式存储子系统中查找所述待写入数据;
存储模块,用于当查找到所述待写入数据时,所述备份数据节点保存所述待写入数据的属性信息。
CN201510922155.5A 2015-12-11 2015-12-11 一种文件存储系统、数据调度方法及数据节点 Active CN106873902B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510922155.5A CN106873902B (zh) 2015-12-11 2015-12-11 一种文件存储系统、数据调度方法及数据节点
PCT/CN2016/095532 WO2017096942A1 (zh) 2015-12-11 2016-08-16 一种文件存储系统、数据调度方法及数据节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510922155.5A CN106873902B (zh) 2015-12-11 2015-12-11 一种文件存储系统、数据调度方法及数据节点

Publications (2)

Publication Number Publication Date
CN106873902A true CN106873902A (zh) 2017-06-20
CN106873902B CN106873902B (zh) 2020-04-28

Family

ID=59012648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510922155.5A Active CN106873902B (zh) 2015-12-11 2015-12-11 一种文件存储系统、数据调度方法及数据节点

Country Status (2)

Country Link
CN (1) CN106873902B (zh)
WO (1) WO2017096942A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019000423A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种数据存储方法及设备
CN109358813A (zh) * 2018-10-10 2019-02-19 郑州云海信息技术有限公司 一种分布式存储系统的扩容方法及装置
CN111881107A (zh) * 2020-08-05 2020-11-03 北京计算机技术及应用研究所 支持多文件系统挂载的分布式存储方法
CN114024979A (zh) * 2021-10-25 2022-02-08 深圳市高德信通信股份有限公司 一种分布式边缘计算数据存储系统
CN115826879A (zh) * 2023-02-14 2023-03-21 北京派网软件有限公司 分布式存储系统中存储节点的数据更新方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741911A (zh) * 2009-12-18 2010-06-16 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
US20140089259A1 (en) * 2011-06-01 2014-03-27 Huawei Technologies Co., Ltd. Operation method and apparatus for data storage system
CN103714014A (zh) * 2013-11-18 2014-04-09 华为技术有限公司 处理缓存数据的方法
CN103853612A (zh) * 2012-12-04 2014-06-11 中山大学深圳研究院 一种基于分布式存储下的数字家庭内容读数据的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502889B2 (en) * 2005-12-30 2009-03-10 Intel Corporation Home node aware replacement policy for caches in a multiprocessor system
CN104917788A (zh) * 2014-03-11 2015-09-16 中国移动通信集团公司 一种数据存储方法及装置
CN104598568A (zh) * 2015-01-12 2015-05-06 浪潮电子信息产业股份有限公司 一种高效、低功耗的离线存储系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741911A (zh) * 2009-12-18 2010-06-16 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
US20140089259A1 (en) * 2011-06-01 2014-03-27 Huawei Technologies Co., Ltd. Operation method and apparatus for data storage system
CN103853612A (zh) * 2012-12-04 2014-06-11 中山大学深圳研究院 一种基于分布式存储下的数字家庭内容读数据的方法
CN103714014A (zh) * 2013-11-18 2014-04-09 华为技术有限公司 处理缓存数据的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019000423A1 (zh) * 2017-06-30 2019-01-03 华为技术有限公司 一种数据存储方法及设备
CN110337633A (zh) * 2017-06-30 2019-10-15 华为技术有限公司 一种数据存储方法及设备
CN109358813A (zh) * 2018-10-10 2019-02-19 郑州云海信息技术有限公司 一种分布式存储系统的扩容方法及装置
CN111881107A (zh) * 2020-08-05 2020-11-03 北京计算机技术及应用研究所 支持多文件系统挂载的分布式存储方法
CN111881107B (zh) * 2020-08-05 2022-09-06 北京计算机技术及应用研究所 支持多文件系统挂载的分布式存储方法
CN114024979A (zh) * 2021-10-25 2022-02-08 深圳市高德信通信股份有限公司 一种分布式边缘计算数据存储系统
CN115826879A (zh) * 2023-02-14 2023-03-21 北京派网软件有限公司 分布式存储系统中存储节点的数据更新方法
CN115826879B (zh) * 2023-02-14 2023-05-23 北京派网软件有限公司 分布式存储系统中存储节点的数据更新方法

Also Published As

Publication number Publication date
WO2017096942A1 (zh) 2017-06-15
CN106873902B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN106873902A (zh) 一种文件存储系统、数据调度方法及数据节点
CN103067433B (zh) 一种分布式存储系统的数据迁移方法、设备和系统
CN103780638B (zh) 数据同步方法及系统
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
CN108287835A (zh) 一种数据清理方法及装置
CN102411639B (zh) 元数据的多副本存储管理方法和系统
US5854895A (en) Network distribution information management system
US20110153606A1 (en) Apparatus and method of managing metadata in asymmetric distributed file system
CN102317923A (zh) 存储系统
CN102308273A (zh) 存储系统
CN102117287A (zh) 分布式文件系统访问方法、元数据服务器及客户端
CN105278882A (zh) 一种分布式文件系统的磁盘管理方法
CN106326239A (zh) 分布式文件系统及其文件元信息管理方法
KR101527634B1 (ko) 샤딩 서비스를 제공하는 방법 및 장치
CN109639773A (zh) 一种动态构建的分布式数据集群控制系统及其方法
CN109407975B (zh) 写数据方法与计算节点以及分布式存储系统
JP2019021284A (ja) IoT装置がデータセンタでバックアップするための分散型重複データ削除記憶システム及びその分散型重複データ削除を実現する方法
CN106210123A (zh) 一个多节点的软件定义网络控制器系统
CN113010496A (zh) 一种数据迁移方法、装置、设备和存储介质
EP2318914B1 (en) Method and apparatus for audit logging and role based security using one-way proxy architecture
CN105760391A (zh) 数据动态重分布的方法、数据节点、名字节点及系统
CN102541693A (zh) 数据的多副本存储管理方法和系统
KR101511098B1 (ko) 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
CN106855869A (zh) 一种实现数据库高可用的方法、装置和系统
CN105760398A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200422

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220214

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.