CN105574008A - 应用于分布式文件系统的任务调度方法和设备 - Google Patents

应用于分布式文件系统的任务调度方法和设备 Download PDF

Info

Publication number
CN105574008A
CN105574008A CN201410535260.9A CN201410535260A CN105574008A CN 105574008 A CN105574008 A CN 105574008A CN 201410535260 A CN201410535260 A CN 201410535260A CN 105574008 A CN105574008 A CN 105574008A
Authority
CN
China
Prior art keywords
data block
copy
back end
read
metadata node
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
CN201410535260.9A
Other languages
English (en)
Other versions
CN105574008B (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.)
Institute of Computing Technology of CAS
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410535260.9A priority Critical patent/CN105574008B/zh
Publication of CN105574008A publication Critical patent/CN105574008A/zh
Application granted granted Critical
Publication of CN105574008B publication Critical patent/CN105574008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种应用于分布式文件系统的任务调度方法和设备,包括:元数据节点获取待处理的任务对应的数据块的标识,并根据该数据块的标识获取该数据块的待读取副本的存储信息,然后,向待读取副本所在的数据节点发送预取指令,以将该数据块从该数据节点的HDD中预取到SSD中,在预取成功后,元数据节点将所该数据块的元数据添加到预取数据成功表,后续在调度该任务时,元数据节点根据该数据块的元数据直接从SSD中读取该数据块。本发明中,由于在Map?Reduce中元数据节点预先知道有哪些待处理的任务,以及这些任务对应的数据块的标识,因此,元数据节点能够准确的将将要处理的数据块预先从HDD中读取到SSD中,提高了缓存的命中率。

Description

应用于分布式文件系统的任务调度方法和设备
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种应用于分布式文件系统的任务调度方法和设备。
背景技术
Hadoop分布式文件系统(HadoopDistributedFileSystem,简称HDFS)具有高容错性的特点,可以部署在低廉的硬件上,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS包括多个元数据节点和大量的数据节点(Datanode),元数据节点也称为名字节点(Namenode),元数据节点用来存储HDFS的元数据,元数据包括文件的命名、文件包括的数据块的信息和以及数据块的副本的信息等数据,数据节点是HDFS中真正存储数据的地方,数据节点还会周期性地向元数据节点汇报其存储的数据块信息。
MapReduce是一个开源的计算框架,主要用于大规模数据集中进行并行运算,从而提高大规模数据集的性能,因此,非常适合运行在HDFS中。为了进一步提高HDFS的性能,引入了缓存机制,缓存是一种根据局部性原理,利用小容量的高速存储设备保存近期频繁使用的数据,从而提高整个存储系统性能的机制。DongfangZhao等人提出了应用于HDFS等分布式文件系统的缓存机制,分布式文件系统的每个数据节点上混合部署固态硬盘(SolidStateDisk简称SSD)和硬盘驱动器(HardDiskDrive,简称HDD),SSD作为HDD的缓存,通过记录、分析以往的数据请求模式来预测将来可能被请求到的数据,从而将将来可能被请求的数据从HDD预取到SSD,由于SSD的读取速率比HDD快的多,直接从SSD中读取数据速率更快,从而提高了分布式文件系统的性能。
现有的缓存策略都是虽然能够在一定程度上提高系统性能,但是,由于基于对过去的访问情况估计将来,有一定的粗略性,无法精确地将即将访问的数据提前读入SSD。
发明内容
本发明实施例提供一种应用于分布式文件系统的任务调度方法和设备,能够准确的将将要处理的数据块预先从HDD中读取到SSD中,提高了缓存的命中率。
本发明第一方面提供一种应用于分布式文件系统的MapReduce任务调度方法,包括:
元数据节点获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
所述元数据节点根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
所述元数据节点将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,所述元数据节点根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
结合本发明第一方面,在本发明第一方面的第一种可能的实现方式中,所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本的存储信息,包括:
所述元数据节点根据所述任务对应的数据块的标识,获取所述数据块的副本信息;
所述元数据节点根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点;
若所述资源使用率最低的数据节点只有一个,则所述元数据节点将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;
若所述资源使用率最低的数据节点为多个,则所述元数据节点获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
结合本发明第一方面的第一种可能的实现方式,在本发明第一方面的第二种可能的实现方式中,所述元数据节点在将所述数据块的元数据添加到预取数据成功表之后,所述方法还包括:
所述元数据节点将所述数据节点的预取计数值加1。
结合本发明第一方面以及第一方面的第一种和第二种可能的实现方式,在本发明第一方面的第三种可能的实现方式中,所述元数据节点获取待处理的任务对应的数据块的标识之前,所述方法还包括:
所述元数据节点接收客户端提交的MapReduce作业;
所述元数据节点将所述MapReduce作业划分为多个待处理的任务。
结合本发明第一方面,在本发明第一方面的第四种可能的实现方式中,所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本之前,所述方法还包括:
所述元数据节点判断所述预取数据成功表中是否包含所述数据块的元数据;
若不包含,则所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本。
本发明第二方面提供一种元数据节点,包括:
获取模块,用于获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
发送模块,用于根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
处理模块,用于将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,所述处理模块还用于根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
结合本发明第二方面,在本发明第二方面的第一种可能的实现方式中,所述获取模块具体用于:
根据所述任务对应的数据块的标识,获取所述数据块的副本信息;
根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点;
若所述资源使用率最低的数据节点只有一个,则将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;
若所述资源使用率最低的数据节点为多个,则获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
结合本发明第二方面的第一种可能的实现方式,在本发明第二方面的第二种可能的实现方式中,所述处理模块还用于:
将所述数据节点的预取计数值加1。
结合本发明第二方面以及第二方面的第一种和第二种可能的实现方式,在本发明第二方面的第三种可能的实现方式中,所述获取模块还用于:
接收客户端提交的MapReduce作业;
将所述MapReduce作业划分为多个待处理的任务。
结合本发明第二方面,在本发明第二方面的第四种可能的实现方式中,所述获取模块还用于:
判断所述预取数据成功表中是否包含所述数据块的元数据;
若不包含,则根据所述数据块的标识获取所述数据块的待读取副本。
本发明实施例的应用于分布式文件系统的MapReduce任务调度方法和设备,元数据节点通过获取待处理的任务对应的数据块的标识,并根据该数据块的标识获取该数据块的待读取副本的存储信息,然后,元数据节点根据该待读取副本的存储信息,向待读取副本所在的数据节点发送预取指令,以将该数据块从该数据节点的HDD中预取到SSD中,在预取成功后,元数据节点将所该数据块的元数据添加到预取数据成功表,后续在调度该待处理的任务时,元数据节点根据该数据块的元数据直接从该数据节点的SSD中读取该数据块。由于从SSD中读取数据的速率比从HDD中读取快的多,从而提到了数据块的读取速率,提高任务的处理效率,从而能够提高整个分布式文件系统的性能。现有技术中,在预取数据时是基于对过去的访问情况估计将来,有一定的粗略性,而本实施例中,由于MapReduce中元数据节点预先知道有哪些待处理的任务,以及这些任务对应的数据块的标识,因此,元数据节点能够准确的将将要处理的数据块预先从HDD中读取到SSD中,提高了缓存的命中率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种分布式文件系统的架构示意图;
图2为本发明实施例一提供的应用于分布式文件系统的任务调度方法的流程图;
图3为本发明实施例二提供的元数据节点的结构示意图;
图4为本发明实施例三提供的元数据节点的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的任务调度方法主要应用于分布式文件系统中,图1为一种分布式文件系统的架构示意图,如图1所示,该分布式文件系统包括:元数据节点11和多个数据节点12,元数据管理节点11中存储有元数据,元数据是描述存储在分布式网络系统中的数据及其环境的数据,具体描述了分布式网络系统都存储了哪些数据,这些数据的存储位置、大小、名字空间等信息。元数据管理节点还用于监控数据节点的心跳和维护数据块的副本信息,数据节点用于管理自己节点上存储的数据。通常一个文件会被划分成一个或多个数据块,这些数据块存储在一组数据节点上。为了保证分布式网络存储系统的高可靠性,分布式网络存储系统为每个数据块具有多个副本,多个副本存储在不同的数据节点上。
MapReduce是一个开源的计算框架,主要用于大规模数据集中进行并行运算,非常适合运行在分布式文件系统中。MapReduce框架包括:客户端、作业跟踪器(Jobtracker)和任务跟踪器(TaskTracker),JobTracker对应于分布式文件系统中的元数据节点,TaskTracker对应于分布式文件系统中的数据节点。MapReduce采用主/从结构(Master/Slaver),Master是一个全局管理者,功能包括:作业管理、状态监控和任务调度等,即MapReduce中的JobTracker。Slave:负责任务的执行和任务状态的回报,即MapReduce中的TaskTracker。客户端向JobTracker提交作业(Job),Jobtracker会将作业划分为多个任务(Task)。TaskTracker一直通过远程过程调用协议(RemoteProcedureCallProtocol,简称RPC)向JobTracker发送心跳(heartbeat)询问有没有任务可做,如果有,Jobtracker会派发任务给TaskTracker执行,TaskTracker是实际任务的执行者。
图2为本发明实施例一提供的应用于分布式文件系统的任务调度方法的流程图,如图1所示,本实施例的方法可以包括以下步骤:
步骤101、元数据节点获取待处理的任务对应的数据块的标识,并根据该数据块的标识获取该数据块的待读取副本的存储信息。
在本步骤之前,元数据节点接收客户端提交的MapReduce作业,并将该MapReduce作业划分为多个待处理的任务。具体的,一个MapRedcue作业是通过客户端向元数据节点的JobTracker提交的,JobTracker接到客户端的作业请求后把其加入作业队列中,并将该MapReduce作业划分为多个任务。元数据节点还用于监听数据节点发送的心跳信息,具体地,该心跳信息由数据节点上的TaskJobtracker发送,该心跳信息中包括数据节点的资源使用情况和任务运行情况等信息,TaskTracker与JobTracker和Task之间采用了RPC协议进行通信。
在将作业划分为多个任务后,元数据节点获取每个任务对应的数据块的标识(blockID),并根据各数据块的标识获取各数据块的待读取副本的存储信息。为了保证分布式文件系统的可靠性,分布式文件系统中每个数据块都具有多个副本,这些副本分别存储在不同的数据节点上,这些副本的内容完全相同,只是存储位置不同。元数据节点需要从数据块的多个副本中选择一个待读取副本,从待读取副本所在的数据节点中读取该数据块。元数据节点根据该数据块的标识获取该数据块的待读取副本的存储信息,具体为:
首先,元数据节点根据待处理的任务对应的数据块的标识,获取该数据块的副本信息。
元数据节点中存储有各数据块的信息,数据块的信息具体为数据块的标识、大小、数据块的副本信息等。元数据节点根据该任务对应的数据块的标识,查询获取到该数据块的副本信息,数据块的副本信息包括数据块的副本个数、数据块副本的存储信息等,数据块副本的存储信息具体为数据块副本存储的数据节点以及数据节点的地址信息。
然后,元数据节点根据该数据块的副本信息,获取该数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点。
元数据节点根据数据块的副本信息,能够获知数据块的各副本所在的数据节点,然后,元数据节点获取该数据块的各个副本所在的数据节点的资源使用率。数据节点会定期通过心跳信息等方式向元数据节点上报自己的资源使用率,因此,元数据节点上存储有该数据块的各个副本所在的数据节点的资源使用率,元数据节点从该数据块的多个副本所在的数据节点中选择资源使用率最低的数据节点。若资源使用率最低的数据节点只有一个,则元数据节点将资源使用率最低的数据节点上的副本作为该数据块的待读取副本。若资源使用率最低的数据节点为多个,则元数据节点进一步获取各资源使用率最低的数据节点的预取数据块个数,从各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为数据块的待读取副本。这里只是列举了一种确定待读取副本的方法,当然,元数据节点还可以根据其他方法确定待读取副本。
元数据节点会为每个数据节点维护一个预取数据块个数,该预取数据块个数表示从数据节点的HDD中预取数据成功的数据块的个数,预取成功的数据块被存储到SSD中。数据节点的预取数据块个数越大,说明SSD中存储的预取数据越多,SSD剩余的存储空间越小,数据节点的预取数据块个数越小,说明SSD中存储的预取数据越少,SSD剩余的存储空间越大,因此,元数据节点在选取待读取副本时,优先选取预取数据块个数最少的数据节点上的副本作为数据块的待读取副本。
步骤102、元数据节点根据该待读取副本的存储信息,向该待读取副本所在的数据节点发送预取指令,该预取指令用于指示该数据节点从该数据节点的硬盘驱动器中读取该数据块,并将该数据块写入该数据节点的固态硬盘。
本实施例中,数据节点采用SSD和HDD混合存储方法,SSD的读取速率比HDD的速率快的多,因此,将SSD作为缓存,元数据节点会预先将要处理的数据块从HDD中读取到SDD中。具体地,元数据节点在获取待处理的任务对应的数据块的待读取副本的存储信息后,根据该待读取副本的存储信息,向该待读取副本所在的数据节点发送预取指令,该预取指令用于指示该待读取副本所在的数据节点从自己的硬盘驱动器中读取该数据块,并将该数据块写入自己的固态硬盘。该预取指令中包括该数据块的标识,该待读取副本所在的数据节点在接收到该预取指令后,根据该预取指令中包括的该数据块的标识,将该数据块的标识对应的数据从HDD中读出并写入SSD中。
该待读取副本所在的数据节点在将该数据块从HDD预取到SSD之后,若SSD的存储空间已满,该待读取副本所在的数据节点可以采用现有的任意一种页面替换策略淘汰掉一个数据块。常用的页面替换算法有最近最少使用页面置换算法(LeastRecentlyUsed,简称LRU)和最近最不常用页面置换算法(LeastFrequentlyUsed,简称LFU),LRU优先淘汰最长时间未被使用的页面,LFU优先淘汰一定时期内被访问次数最少的页面。在某个数据节点淘汰掉一个数据块之后,元数据节点会将该数据节点的预取数据块个数减1。
步骤103、元数据节点将该数据块的元数据添加到预取数据成功表,该预取数据成功表中的任务优先被元数据节点调度,在元数据节点调度该待处理的任务时,元数据节点根据该预取数据成功表中保存的该数据块的元数据从该数据节点的固态硬盘中读取该数据块。
在该待读取副本所在的数据节点成功将该数据块从HDD中读出并写入SSD后,该待读取副本所在的数据节点会向元数据节点上报数据预取成功消息,元数据节点在接收到该数据预取成功消息后,将该数据块的元数据信息添加到预取数据成功表中,同时元数据节点会将该待读取副本所在的数据节点的预取数据块个数加1。预取数据成功表中保存有所有预取成功的数据块的标识和元数据,元数据节点在后续调度任务时,优先调度预取数据成功的任务,以保证在读取数据块时,尽量从SSD中读取,由于从SSD中读取数据的速率比从HDD中读取快的多,从而提到了数据块的读取速率,提高任务的处理效率,从而能够提高整个分布式文件系统的性能。
后续在元数据节点调度该待处理的任务时,元数据节点根据该预取数据成功表中保存的该数据块的元数据从该数据节点的SSD中读取该数据块。该数据块的元信息中记录有该数据块的存储位置,具体为该数据块的待读取副本所在的数据节点,预取数据成功表中的数据块默认都存储在数据块所在数据节点的SSD中,因此,元数据节点根据该数据块的待读取副本所在的数据节点的地址,从该数据块的待读取副本所在的数据节点的SSD中读取该数据块。
本实施例,元数据节点通过获取待处理的任务对应的数据块的标识,并根据该数据块的标识获取该数据块的待读取副本的存储信息,然后,元数据节点根据该待读取副本的存储信息,向待读取副本所在的数据节点发送预取指令,以将该数据块从该数据节点的HDD中预取到SSD中,在预取成功后,元数据节点将所该数据块的元数据添加到预取数据成功表,后续在调度该待处理的任务时,元数据节点根据该数据块的元数据直接从该数据节点的SSD中读取该数据块。由于从SSD中读取数据的速率比从HDD中读取快的多,从而提到了数据块的读取速率,提高任务的处理效率,从而能够提高整个分布式文件系统的性能。现有技术中,在预取数据时是基于对过去的访问情况估计将来,有一定的粗略性,而本实施例中,由于MapReduce中元数据节点预先知道有哪些待处理的任务,以及这些任务对应的数据块的标识,因此,元数据节点能够准确的将将要处理的数据块预先从HDD中读取到SSD中,提高了缓存的命中率。
在上述实施例一的基础上,可选地,元数据节点根据该数据块的标识获取该数据块的待读取副本之前,所述方法还包括:元数据节点判断预取数据成功表中是否包含该数据块的元数据,若不包含,则元数据节点根据该数据块的标识获取数据块的待读取副本,进一步执行上述实施例一的方法,将该数据块从HDD中预取到SSD中。若包含,说明该数据块已经预取成功,元数据节点不需要执行实施例一的方法。
图3为本发明实施例二提供的元数据节点的结构示意图,如图3所示,本实施例的元数据节点可以包括:获取模块21、发送模块22和处理模块23。
其中,获取模块21,用于获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
发送模块22,用于根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
处理模块23,用于将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,所述处理模块23还用于根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
所述获取模块21具体用于:根据所述任务对应的数据块的标识,获取所述数据块的副本信息。然后,根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点。若所述资源使用率最低的数据节点只有一个,则将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;若所述资源使用率最低的数据节点为多个,则获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
可选地,所述处理模块23还用于:在将所述数据块的元数据添加到预取数据成功表之后,将所述数据节点的预取计数值加1。
进一步地,所述获取模块21还用于:在获取待处理的任务对应的数据块的标识之前,接收客户端提交的MapReduce作业,将所述MapReduce作业划分为多个待处理的任务。
可选地,所述获取模块21还用于:在根据所述数据块的标识获取所述数据块的待读取副本之前,判断所述预取数据成功表中是否包含所述数据块的元数据;若不包含,则根据所述数据块的标识获取所述数据块的待读取副本。
本实施例的装置,可以用于执行实施例一提供的技术方案,其实现原理类似,此处不再赘述。
图4为本发明实施例三提供的元数据节点的结构示意图,如图4所示,本实施例的元数据就节点300包括:处理器31、存储器32、通信接口33和系统总线34,所述存储器32和所述通信接口33通过所述系统总线34与所述处理器31连接并完成相互间的通信;所述通信接口33用于与其他设备进行通信,所述存储器32,用于存储计算机执行指令321;所述处理器31,用于运行所述计算机执行指令321执行如下所述的方法:
获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
所述处理器31在根据所述数据块的标识获取所述数据块的待读取副本的存储信息时,具体用于:
根据所述任务对应的数据块的标识,获取所述数据块的副本信息;
根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点;
若所述资源使用率最低的数据节点只有一个,则将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;
若所述资源使用率最低的数据节点为多个,则获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
在将所述数据块的元数据添加到预取数据成功表之后,所述处理器31还用于:将所述数据节点的预取计数值加1。
所述处理器31在获取待处理的任务对应的数据块的标识之前,还用于:接收客户端提交的MapReduce作业;将所述MapReduce作业划分为多个待处理的任务。
所述处理器31在根据所述数据块的标识获取所述数据块的待读取副本之前,还用于:判断所述预取数据成功表中是否包含所述数据块的元数据;若不包含,则根据所述数据块的标识获取所述数据块的待读取副本。
本实施例的元数据节点,可以用于执行实施例一提供的技术方案,其实现原理类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种应用于分布式文件系统的任务调度方法,其特征在于,包括:
元数据节点获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
所述元数据节点根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
所述元数据节点将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,所述元数据节点根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
2.根据权利要求1所述的方法,其特征在于,所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本的存储信息,包括:
所述元数据节点根据所述任务对应的数据块的标识,获取所述数据块的副本信息;
所述元数据节点根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点;
若所述资源使用率最低的数据节点只有一个,则所述元数据节点将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;
若所述资源使用率最低的数据节点为多个,则所述元数据节点获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
3.根据权利要求2所述的方法,其特征在于,所述元数据节点在将所述数据块的元数据添加到预取数据成功表之后,所述方法还包括:
所述元数据节点将所述数据节点的预取计数值加1。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述元数据节点获取待处理的任务对应的数据块的标识之前,所述方法还包括:
所述元数据节点接收客户端提交的MapReduce作业;
所述元数据节点将所述MapReduce作业划分为多个待处理的任务。
5.根据权利要求1所述的方法,其特征在于,所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本之前,所述方法还包括:
所述元数据节点判断所述预取数据成功表中是否包含所述数据块的元数据;
若不包含,则所述元数据节点根据所述数据块的标识获取所述数据块的待读取副本。
6.一种元数据节点,其特征在于,包括:
获取模块,用于获取待处理的任务对应的数据块的标识,并根据所述数据块的标识获取所述数据块的待读取副本的存储信息;
发送模块,用于根据所述待读取副本的存储信息,向所述待读取副本所在的数据节点发送预取指令,所述预取指令用于指示所述数据节点从所述数据节点的硬盘驱动器中读取所述数据块,并将所述数据块写入所述数据节点的固态硬盘;
处理模块,用于将所述数据块的元数据添加到预取数据成功表,所述预取数据成功表中的任务优先被所述元数据节点调度,在所述元数据节点调度所述待处理的任务时,所述处理模块还用于根据所述预取数据成功表中保存的所述数据块的元数据从所述数据节点的固态硬盘中读取所述数据块。
7.根据权利要求6所述的元数据节点,其特征在于,所述获取模块具体用于:
根据所述任务对应的数据块的标识,获取所述数据块的副本信息;
根据所述数据块的副本信息,获取所述数据块的各个副本所在的数据节点的资源使用率,确定资源使用率最低的数据节点;
若所述资源使用率最低的数据节点只有一个,则将所述资源使用率最低的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息;
若所述资源使用率最低的数据节点为多个,则获取所述各资源使用率最低的数据节点的预取数据块个数,从所述各资源使用率最低的数据节点中选取预取数据块个数最少的数据节点上的副本作为所述数据块的待读取副本,并获取所述待读取副本的存储信息。
8.根据权利要求7所述的元数据节点,其特征在于,所述处理模块还用于:
将所述数据节点的预取计数值加1。
9.根据权利要求6-8中任一项所述的元数据节点,其特征在于,所述获取模块还用于:
接收客户端提交的MapReduce作业;
将所述MapReduce作业划分为多个待处理的任务。
10.根据权利要求6所述的元数据节点,其特征在于,所述获取模块还用于:
判断所述预取数据成功表中是否包含所述数据块的元数据;
若不包含,则根据所述数据块的标识获取所述数据块的待读取副本。
CN201410535260.9A 2014-10-11 2014-10-11 应用于分布式文件系统的任务调度方法和设备 Active CN105574008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410535260.9A CN105574008B (zh) 2014-10-11 2014-10-11 应用于分布式文件系统的任务调度方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410535260.9A CN105574008B (zh) 2014-10-11 2014-10-11 应用于分布式文件系统的任务调度方法和设备

Publications (2)

Publication Number Publication Date
CN105574008A true CN105574008A (zh) 2016-05-11
CN105574008B CN105574008B (zh) 2020-01-31

Family

ID=55884155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410535260.9A Active CN105574008B (zh) 2014-10-11 2014-10-11 应用于分布式文件系统的任务调度方法和设备

Country Status (1)

Country Link
CN (1) CN105574008B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657411A (zh) * 2017-02-28 2017-05-10 北京华云网际科技有限公司 分布式系统中卷的访问方法和装置
CN107277125A (zh) * 2017-06-13 2017-10-20 网宿科技股份有限公司 文件预取指令推送方法、装置及文件预取系统
CN109408546A (zh) * 2018-10-17 2019-03-01 深圳中顺易金融服务有限公司 一种流式数据处理方法及装置
WO2023236479A1 (zh) * 2022-06-07 2023-12-14 寒武纪(西安)集成电路有限公司 用于执行任务调度的方法及其相关产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076264A1 (en) * 2003-09-23 2005-04-07 Michael Rowan Methods and devices for restoring a portion of a data store
CN101309226A (zh) * 2008-06-30 2008-11-19 中兴通讯股份有限公司 一种应用服务器负荷分担系统及其实现方法
CN102111448A (zh) * 2011-01-13 2011-06-29 华为技术有限公司 分布式哈希表dht存储系统的数据预取方法、节点和系统
CN103635887A (zh) * 2013-09-23 2014-03-12 华为技术有限公司 缓存数据的方法和存储系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076264A1 (en) * 2003-09-23 2005-04-07 Michael Rowan Methods and devices for restoring a portion of a data store
CN101309226A (zh) * 2008-06-30 2008-11-19 中兴通讯股份有限公司 一种应用服务器负荷分担系统及其实现方法
CN102111448A (zh) * 2011-01-13 2011-06-29 华为技术有限公司 分布式哈希表dht存储系统的数据预取方法、节点和系统
CN103635887A (zh) * 2013-09-23 2014-03-12 华为技术有限公司 缓存数据的方法和存储系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657411A (zh) * 2017-02-28 2017-05-10 北京华云网际科技有限公司 分布式系统中卷的访问方法和装置
CN107277125A (zh) * 2017-06-13 2017-10-20 网宿科技股份有限公司 文件预取指令推送方法、装置及文件预取系统
CN109408546A (zh) * 2018-10-17 2019-03-01 深圳中顺易金融服务有限公司 一种流式数据处理方法及装置
WO2023236479A1 (zh) * 2022-06-07 2023-12-14 寒武纪(西安)集成电路有限公司 用于执行任务调度的方法及其相关产品

Also Published As

Publication number Publication date
CN105574008B (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
US10277525B2 (en) Method and apparatus for disaggregated overlays via application services profiles
US10459657B2 (en) Storage system with read cache-on-write buffer
US8521986B2 (en) Allocating storage memory based on future file size or use estimates
US8799409B2 (en) Server side data cache system
US9639459B2 (en) I/O latency and IOPs performance in thin provisioned volumes
US9444905B2 (en) Allocating network bandwidth to prefetch requests to prefetch data from a remote storage to cache in a local storage
CN103095686B (zh) 热点元数据访问控制方法和服务器
JP2009529183A (ja) 応答出力キャッシュに対するマルチキャッシュ協調
CN102523290B (zh) 数据的处理方法、设备和系统
EP2879040A1 (en) Data storage method, data storage apparatus, and storage device
US10534714B2 (en) Allocating cache memory on a per data object basis
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
US20150052179A1 (en) Shared Data Storage Leveraging Dispersed Storage Devices
US10359945B2 (en) System and method for managing a non-volatile storage resource as a shared resource in a distributed system
CN105574008A (zh) 应用于分布式文件系统的任务调度方法和设备
US20210397374A1 (en) Function processing using storage controllers for load sharing
CN107528871B (zh) 存储系统中的数据分析
CN111061690A (zh) 一种基于rac的数据库日志文件读取方法和装置
CN109254958B (zh) 分布式数据读写方法、设备及系统
KR101686346B1 (ko) 하이브리드 ssd 기반 하둡 분산파일 시스템의 콜드 데이터 축출방법
CN111177032A (zh) 缓存空间申请方法、系统、装置及计算机可读存储介质
CN106339279B (zh) 一种业务恢复方法及装置
CN107273188B (zh) 一种虚拟机中央处理单元cpu绑定方法及装置
WO2016060700A1 (en) File system journaling
CN109739434A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220901

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.

Patentee after: Institute of Computing Technology, Chinese Academy of Sciences

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences