The embodiment of the invention discloses a scheduling method and device for IO request, relating to the computer field, which can avoid the timeout of the IO request while ensuring the performance of the hard disk, and ensure the success rate of the corresponding service of the IO request. The specific scheme is: receiving the IO request, record the time of receiving the IO request; according to the request queue IO to access the data in the hard disk physical address and IO address of each IO request to access the data in the hard disk physical address in order, will be inserted into the IO IO request address queue; according to the IO request IO address queue sorting, sequentially submit the IO address in the queue request to IO disk devices, and in accordance with any delay IO IO address in the queue request, any IO request access to the size of the data and receive any IO request time calculated by the required time within a preset time, submit priority any request to IO hard disk device.
【技术实现步骤摘要】
一种IO请求的调度方法及装置
本专利技术涉及计算机领域,尤其涉及一种输入输出IO请求的调度方法及装置。
技术介绍
硬盘由一个或多个圆形的“盘片”组成,该盘片表层分为由同心圆组成的若干个磁道,这些磁道又依次分为若干个扇区。其中,盘片可以围绕着一个普通的轴旋转,并且磁头可以沿盘片半径移动,如此磁头便可以随着盘片的旋转对磁盘的任一磁道上的数据进行读写操作。但是,在对硬盘上存储的一个数据进行读写操作时,需要控制磁头移动到该数据所在的磁道上,该过程需要花费较长的时间。由此,若连续读写的多个数据分布在不同的磁道,那么则需要控制磁头在硬盘的不同磁道来回移动,磁头移动的总距离越大所需时间则越长,硬盘的性能则越差。现有技术中,为了减少磁头在硬盘上的来回移动对硬盘性能的影响,可以为每一个输入输出(input/output,IO)请求设置一个固定的等待时间,并识别出该等待时间内接收的多个IO请求要求访问的数据在硬盘中的物理地址;将要求访问的数据在硬盘中的物理地址相近的IO请求合并后下发给硬盘设备。如此,对合并后要求访问的数据在硬盘中的物理地址相近的IO请求,进行集中处理,便可以减少磁头 ...
【技术保护点】
一种输入输出IO请求的调度方法,其特征在于,包括:接收IO请求,并记录接收所述IO请求的时间;所述IO请求中携带有所述IO请求要求访问的数据在硬盘中的物理地址、所述IO请求的时延要求和所述IO请求要求访问的数据的大小;按照所述IO请求要求访问的数据在硬盘中的物理地址与IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,将所述IO请求插入到所述IO地址队列;按照所述IO地址队列中IO请求的排序,依次向所述硬盘设备提交所述IO地址队列中的IO请求,并在根据所述IO地址队列中的任一IO请求的时延要求、所述任一IO请求要求访问的数据的大小和接收所述任一IO请求的时 ...
【技术特征摘要】
1.一种输入输出IO请求的调度方法,其特征在于,包括:接收IO请求,并记录接收所述IO请求的时间;所述IO请求中携带有所述IO请求要求访问的数据在硬盘中的物理地址、所述IO请求的时延要求和所述IO请求要求访问的数据的大小;按照所述IO请求要求访问的数据在硬盘中的物理地址与IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,将所述IO请求插入到所述IO地址队列;按照所述IO地址队列中IO请求的排序,依次向所述硬盘设备提交所述IO地址队列中的IO请求,并在根据所述IO地址队列中的任一IO请求的时延要求、所述任一IO请求要求访问的数据的大小和接收所述任一IO请求的时间计算得到的要求提交时间在预设时间内时,优先向所述硬盘设备提交所述任一IO请求,其中,所述任一IO请求的要求提交时间为向所述硬盘设备提交所述任一IO请求的最晚时间。2.根据权利要求1所述的方法,所述按照所述IO请求要求访问的数据在硬盘中的物理地址与IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,将所述IO请求插入到所述IO地址队列,包括:将所述IO请求添加至请求缓存池,并按照所述IO请求要求访问的数据在硬盘中的物理地址与所述IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,从所述请求缓存池中,将所述IO请求插入到所述IO地址队列。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述IO地址队列中的任一IO请求的时延要求、所述任一IO请求要求访问的数据的大小和接收所述任一IO请求的时间,计算所述任一IO请求的要求提交时间的方法包括:根据所述任一IO请求要求访问的数据的大小,确定所述硬盘设备处理所述任一IO请求的处理用时;根据接收所述任一IO请求的时间、所述任一IO请求的时延要求,以及所述硬盘设备处理所述任一IO请求的处理用时,计算所述任一IO请求的要求提交时间。4.根据权利要求1或2所述的方法,其特征在于,在所述按照所述IO地址队列中IO请求的排序,依次向所述硬盘设备提交所述IO地址队列中的IO请求之前,所述方法还包括:根据所述IO请求要求访问的数据的大小,确定所述硬盘设备处理所述IO请求的处理用时;根据接收所述IO请求的时间、所述IO请求的时延要求,以及所述硬盘设备处理所述IO请求的处理用时,计算所述IO请求的要求提交时间,所述IO请求的要求提交时间为向所述硬盘设备提交所述IO请求的最晚时间;按照所述IO请求的要求提交时间与IO时延队列中各个IO请求的要求提交时间的先后排序,将所述IO请求插入到所述IO时延队列;其中,位于所述IO时延队列的队首的IO请求的要求提交时间早于所述IO时延队列中其他IO请求的要求提交时间。5.根据权利要求4所述的方法,其特征在于,所述按照所述IO地址队列中IO请求的排序,依次向所述硬盘设备提交所述IO地址队列中的IO请求,并在根据所述IO地址队列中的任一IO请求的时延要求、所述任一IO请求要求访问的数据的大小和接收所述任一IO请求的时间,计算得到的要求提交时间在预设时间内时,优先向所述硬盘设备提交所述任一IO请求,包括:按照所述IO地址队列中IO请求的排序,依次向所述硬盘设备提交所述IO地址队列中的IO请求,并在向所述硬盘设备提交所述IO地址队列中的任一IO请求之前,判断所述IO时延队列的队首的IO请求的要求提交时间是否在预设时间内;若所述IO时延队列的队首的IO请求的要求提交时间在预设时间内,则优先向所述硬盘设备提交所述IO时延队列的队首的IO请求;若所述IO时延队列的队首的IO请求的要求提交时间不在预设时间内,则向所述硬盘设备提交所述任一IO请求。6.根据权利要求4所述的方法,其特征在于,所述按照所述IO请求的要求提交时间与IO时延队列中各个IO请求的要求提交时间的先后排序,将所述IO请求插入到所述IO时延队列,包括:按照所述IO请求的要求提交时间与所述IO时延队列中各个IO请求的要求提交时间的先后排序,从所述请求缓存池中,将所述IO请求插入到所述IO时延队列。7.根据权利要求1或2所述的方法,其特征在于,所述硬盘设备中配置有至少两个硬盘;所述至少两个硬盘中的每个硬盘对应一个IO地址队列;所述IO请求中还携带有所述IO请求要求访问的数据所在硬盘的标识。8.根据权利要求7所述的方法,其特征在于,所述至少两个硬盘中的每个硬盘分别对应一个请求缓存池;所述按照所述IO请求要求访问的数据在硬盘中的物理地址与IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,将所述IO请求插入到所述IO地址队列,包括:根据所述IO请求要求访问的数据所在硬盘的标识,将所述IO请求添加至所述IO请求要求访问的数据所在硬盘对应的请求缓存池;按照所述IO请求要求访问的数据在硬盘中的物理地址与所述IO请求要求访问的数据在硬盘对应的IO地址队列中各个IO请求要求访问的数据在硬盘中的物理地址的先后排序,从所述...
【专利技术属性】
技术研发人员:林灿榕,沈剑刚,李耀辉,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。