一种IO调度方法、装置和设备制造方法及图纸

技术编号:14766010 阅读:122 留言:0更新日期:2017-03-08 10:22
本发明专利技术的实施方式提供了一种IO调度方法。该方法包括:针对高优先级业务:接收高优先级IO执行请求;响应于当前满足第一低优先级IO唤醒条件,触发为低优先级IO发放一个执行通行证;并发送低优先级IO唤醒信号;以及调度所述高优先级IO执行;针对低优先级业务:对低优先级IO唤醒信号进行监听;响应于接收到低优先级IO唤醒信号,触发对低优先级IO调度条件的判断;响应于低优先级IO调度条件成立,调度低优先级IO执行。在保证高优先级IO及时调度并且不受低优先级IO的阻塞的同时,低优先级IO也不会被饿死。此外,本发明专利技术的实施方式提供了一种IO调度装置和设备。

【技术实现步骤摘要】

本专利技术的实施方式涉及文件系统
,更具体地,本专利技术的实施方式涉及一种IO调度方法、装置和设备
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。分布式文件系统(DistributedFileSystem)顾名思义就是“分布式”加“文件系统”,对于用户来说分布式文件系统依然是一个标准的文件系统,为用户提供各种标准API,而对于文件系统来说分布式文件系统不仅负责管理本地磁盘,它的文件内容和目录结构都不是仅存储于本地磁盘上,而是可以存储在通过网络与本地相连的远端节点上。下面以Hadoop为例进行介绍。Hadoop是一个分布式系统基础架构。它实现了分布式文件系统,即Hadoop分布式文件系统(HDFS,HadoopDistributedFileSystem)。HDFS具有高容错的特性,可以运行在通用低廉的机器上。HDFS会在后台定期进行数据校验,例如:循环冗余校验(CRC,CyclicRedundancyCheck)。如果发现校验出错,则发起数据恢复,将数据恢复到指定的副本数。可见,在HDFS中,存储节点上会有多种类型业务的输入输出(IO,InputandOutput),主要包括:正常业务:读文件、写文件、删除文件等;数据校验业务:读取磁盘上的文件数据进行CRC校验,并根据校验结果确定文件数据是否损坏;数据恢复业务:可以采用多副本的方式,即当一个磁盘发生损坏,可以通过从发生损坏文件的副本文件拷贝原始文件来进行数据恢复。在上述各种类型业务的IO中,正常业务IO的通常要比数据校验业务和数据恢复业务的IO更重要。那么,为了保证正常业务的正常执行,HDFS采用限制数据校验业务和数据恢复业务IO操作速度的方式来降低它们对正常业务的影响。也就是说,假设系统每一秒钟能够执行1000个IO操作,HDFS将各种类型业务的IO操作限制为:每一秒钟执行200个数据校验业务或者数据恢复业务的IO操作,以及800个正常业务的IO操作,但是由于正常业务并不知道数据校验业务或者数据恢复业务的存在,仍然按照每一秒钟执行1000个IO操作的速度占用系统资源,而并不知道每一秒钟的1000个IO操作中会分配200个IO操作给数据校验业务或者数据恢复业务。可见,HDFS虽然限制了数据校验业务和数据恢复业务的IO操作速度,但是并不能消除它们对正常业务的影响,它们仍然会对正常业务的IO操作产生阻塞。
技术实现思路
出于现有文件系统中正常业务IO和其他业务IO重要程度不同的原因,现有技术采用限制其他业务IO操作速度的方式来降低它们对正常业务的影响。因此在现有技术中,现有文件系统虽然限制了其他业务的IO操作速度,但是它们仍然会对正常业务的IO操作产生阻塞,这是非常令人烦恼的过程。为此,非常需要一种改进的IO调度方法,以使正常业务IO能够正常执行,不会受到其他类型业务IO的阻塞。在本上下文中,本专利技术的实施方式期望提供一种IO调度方法、装置和设备。在本专利技术实施方式的第一方面中,提供了一种IO调度方法之一,包括:接收高优先级IO执行请求;响应于当前满足第一低优先级IO唤醒条件,触发为低优先级IO发放一个执行通行证;并发送低优先级IO唤醒信号;以及调度所述高优先级IO执行;其中,所述第一低优先级IO唤醒条件包括:当前已调度的高优先级IO数量满足预设数量条件,以及当前存在正在等待执行的低优先级IO。在一种可能的实施方式中,本专利技术实施例提供的上述方法中,在调度所述高优先级IO执行之后,还包括:响应于当前满足第二低优先级IO唤醒条件,触发发送低优先级IO唤醒信号;其中,所述第二低优先级IO唤醒条件包括:当前不存在等待执行的高优先级IO,以及当前存在正在等待执行的低优先级IO。在本专利技术实施方式的第二方面中,提供了一种IO调度方法之二,包括:对低优先级IO唤醒信号进行监听;响应于接收到低优先级IO唤醒信号,触发对低优先级IO调度条件的判断;响应于所述低优先级IO调度条件成立,调度低优先级IO执行;其中,所述低优先级IO调度条件包括:当前不存在正在等待执行的高优先级IO,或当前执行通行证的数量非零;以及当前正在执行的低优先级IO数量未达到预设并行数量。在一种可能的实施方式中,本专利技术实施例提供的上述方法中,还包括:响应于接收到低优先级IO执行请求,触发对所述低优先级IO调度条件的判断。在一种可能的实施方式中,本专利技术实施例提供的上述方法中,在调度所述低优先级IO执行之后,还包括:响应于当前存在正在等待执行的低优先级IO,触发发送低优先级IO唤醒信号。在一种可能的实施方式中,本专利技术实施例提供的上述方法中,还包括:响应于所述低优先级IO调度条件成立,若当前执行通行证的数量大于零,将当前执行通行证数量减一。在一种可能的实施方式中,本专利技术实施例提供的上述方法中,还包括:响应于所述低优先级IO调度条件不成立,继续对低优先级IO唤醒信号进行监听。在本专利技术实施方式的第三方面中,提供了一种IO调度装置之一,包括:接收模块,用于接收高优先级IO执行请求;唤醒模块,用于响应于当前满足第一低优先级IO唤醒条件,触发为低优先级IO发放一个执行通行证;并发送低优先级IO唤醒信号;调度模块,用于调度所述高优先级IO执行;其中,所述第一低优先级IO唤醒条件包括:当前已调度的高优先级IO数量满足预设数量条件,以及当前存在正在等待执行的低优先级IO。在一种可能的实施方式中,本专利技术实施例提供的上述装置中,所述唤醒模块,还用于在所述调度模块调度所述高优先级IO执行之后,响应于当前满足第二低优先级IO唤醒条件,触发发送低优先级IO唤醒信号;其中,所述第二低优先级IO唤醒条件包括:当前不存在等待执行的高优先级IO,以及当前存在正在等待执行的低优先级IO。在本专利技术实施方式的第四方面中,提供了一种IO调度装置之二,包括:监听模块,用于对低优先级IO唤醒信号进行监听;判断模块,用于响应于接收到低优先级IO唤醒信号,触发对低优先级IO调度条件的判断;调度模块,用于响应于所述低优先级IO调度条件成立,调度低优先级IO执行;其中,所述低优先级IO调度条件包括:当前不存在正在等待执行的高优先级IO,或当前执行通行证的数量非零;以及当前正在执行的低优先级IO数量未达到预设并行数量。在一种可能的实施方式中,本专利技术实施例提供的上述装置中,所述判断模块,还用于响应于接收到低优先级IO执行请求,触发对所述低优先级IO调度条件的判断。在一种可能的实施方式中,本专利技术实施例提供的上述装置中,还包括:唤醒模块;所述唤醒模块,用于在所述调度模块调度所述低优先级IO执行之后,响应于当前存在正在等待执行的低优先级IO,触发发送低优先级IO唤醒信号。在一种可能的实施方式中,本专利技术实施例提供的上述装置中,还包括:统计模块;所述统计模块,用于响应于所述低优先级IO调度条件成立,若当前执行通行证的数量大于零,将当前执行通行证数量减一。在一种可能的实施方式中,本专利技术实施例提供的上述装置中,所述监听模块,还用于响应于所述低优先级IO调度条件不成立,继续对低优先级IO唤醒信号进行监听。在本专利技术实施方式的第五方面中,提供了一种IO调度设备,包括:上述任一种可能的实施方式提供的高优先级I本文档来自技高网
...
一种IO调度方法、装置和设备

【技术保护点】
一种输入输出IO调度方法,包括:接收高优先级IO执行请求;响应于当前满足第一低优先级IO唤醒条件,触发为低优先级IO发放一个执行通行证;并发送低优先级IO唤醒信号;以及调度所述高优先级IO执行;其中,所述第一低优先级IO唤醒条件包括:当前已调度的高优先级IO数量满足预设数量条件,以及当前存在正在等待执行的低优先级IO。

【技术特征摘要】
1.一种输入输出IO调度方法,包括:接收高优先级IO执行请求;响应于当前满足第一低优先级IO唤醒条件,触发为低优先级IO发放一个执行通行证;并发送低优先级IO唤醒信号;以及调度所述高优先级IO执行;其中,所述第一低优先级IO唤醒条件包括:当前已调度的高优先级IO数量满足预设数量条件,以及当前存在正在等待执行的低优先级IO。2.根据权利要求1所述的方法,在调度所述高优先级IO执行之后,还包括:响应于当前满足第二低优先级IO唤醒条件,触发发送低优先级IO唤醒信号;其中,所述第二低优先级IO唤醒条件包括:当前不存在等待执行的高优先级IO,以及当前存在正在等待执行的低优先级IO。3.一种输入输出IO调度方法,包括:对低优先级IO唤醒信号进行监听;响应于接收到低优先级IO唤醒信号,触发对低优先级IO调度条件的判断;响应于所述低优先级IO调度条件成立,调度低优先级IO执行;其中,所述低优先级IO调度条件包括:当前不存在正在等待执行的高优先级IO,或当前执行通行证的数量非零;以及当前正在执行的低优先级IO数量未达到预设并行数量。4.根据权利要求3所述的方法,还包括:响应于接收到低优先级IO执行请求,触发对所述低优先级IO调度条件的判断。5.根据权利要求3所述的方法,在调度所述低优先级IO执行之后,还包括:响应于当前存在正在等待执行的低优先级IO,触发发送...

【专利技术属性】
技术研发人员:李明邱似峰余利华
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1