CN101739215A - 一种确定输入输出调度算法的方法及装置 - Google Patents

一种确定输入输出调度算法的方法及装置 Download PDF

Info

Publication number
CN101739215A
CN101739215A CN200810177044A CN200810177044A CN101739215A CN 101739215 A CN101739215 A CN 101739215A CN 200810177044 A CN200810177044 A CN 200810177044A CN 200810177044 A CN200810177044 A CN 200810177044A CN 101739215 A CN101739215 A CN 101739215A
Authority
CN
China
Prior art keywords
request
characteristic model
characteristic
hard disk
dispatching algorithm
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.)
Pending
Application number
CN200810177044A
Other languages
English (en)
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 Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN200810177044A priority Critical patent/CN101739215A/zh
Publication of CN101739215A publication Critical patent/CN101739215A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种确定输入输出调度算法的方法及装置,所述方法包括:首先确定输入输出(IO)请求的特性模型,然后根据所述特性模型选择IO调度算法,并依据预先获取的硬盘参数为所述选择的IO调度算法配置相关参数,再将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。根据本发明实施例,所述IO调度算法可以跟具体的IO请求的特性关联起来,当实际应用中在硬盘的多种应用场景下IO请求具有多样性时,可以根据不同的IO请求选择相应的调度算法,从而在多种应用场景下执行IO调度算法以达到提升IO性能的目的。

Description

一种确定输入输出调度算法的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种确定输入输出(IO)调度算法的方法及装置。
背景技术
在计算机中,硬盘是一种较为常见的外存储器,也可以称为固定盘,由金属材料涂上磁性物质的盘片与盘片读写装置组成。计算机中的硬盘有多种应用场景,例如,数据库应用、流媒体应用以及备用等,应用场景不相同的情况下,硬盘的IO特点也是各不相同的,例如,在数据库应用中,IO特点为离散且请求的块大小较小,一般在几KB左右;而在流媒体应用中,IO则具有局部连续且请求的块大小较大的特点,一般都在数十KB左右。因为各个IO请求的块大小并不相同,以及离散或连续信息不同,所以,当这些IO请求依次发送至硬盘时,会大大增加硬盘的读写次数和磁头寻道次数,因此,需要IO调度模块在接收到IO请求时,应用相应的IO调度算法对IO请求进行合并处理。
现有技术中,为了对IO请求进行预先的合并处理以提高IO性能,有一种IO调度模块确定IO调度算法的方法,以输入请求为例,其实现过程如下所示:应用程序向IO调度模块下发输入请求,IO调度模块按照预置的IO调度算法,对所述输入请求进行排队,即是将接收到的输入请求挂入一个等待队列中,在一段时间内进行输入请求的重组或合并,如果在给定时间内,例如10ms,合并的请求大小超过阈值,例如1MB,则将合并后的请求经由硬盘驱动下发给硬盘固件(FW);或者在给定时间内,即便无法达到合并请求的大小上限,也将已经合并的输入请求经由硬盘驱动下发给硬盘FW。
从上述过程可以看出,IO调度模块可以根据硬盘的特性进行IO请求调度,可以通过超时等待时间和合并请求的大小上限的设定,减少发送到硬盘的IO请求个数,但是由于应用程序具有多样性,就造成应用程序下发给IO调度模块的IO请求具有多样性,而且即便相同的应用程序类型,在不同的应用程序开发商之间,其输入请求的特性也有一些差异,例如,微软的MS SQL和Oracle的数据库;再者,IO调度模块和硬盘FW是两个独立的系统,两者之间并没有进行有效沟通,因此,IO调度模块仅仅根据合并请求的大小上限,或者仅仅基于预置的时间选择IO调度算法,就会使得采取该IO调度算法合并后发送至硬盘的输入请求很可能存在类型上的差异,这就会增加硬盘的磁头寻道的次数,因此,当采用IO调度算法在处理IO请求的过程中,如果IO调度算法不能基于IO请求的多样性,就无法满足在硬盘的多种应用场景下都能提升IO性能的需求。
发明内容
本发明实施例提供一种确定输入输出调度算法的方法及装置,以解决在硬盘的多种应用场景下执行现有技术的IO调度算法无法提升IO性能的问题。
为解决上述技术问题,本发明实施例提供了一种确定输入输出调度算法的方法,包括:
确定输入输出IO请求的特性模型;
根据所述特性模型选择IO调度算法,并依据预先获取的硬盘参数为所述选择的IO调度算法配置相关参数;
将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
本发明实施例还提供了一种确定输入输出调度算法的装置,包括:
确定模块,用于确定输入输出IO请求的特性模型;
选择模块,用于根据IO特性模型,选择IO调度算法;
配置模块,用于依据预先获取的硬盘参数,为所述选择模块选择的IO调度算法配置相关参数;
同步模块,用于将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘固件FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
本发明实施例具有以下优点:
在本发明实施例中,首先确定输入输出IO请求的特性模型;并根据IO特性模型选择IO调度算法,并依据预先获取的硬盘参数为所述IO调度算法配置相关参数,然后将所述参数信息和IO特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述IO特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。可以看出,通过确定的IO请求的特性模型可以选择出IO调度算法,并依据预先获取的硬盘参数,可以对IO调度算法配置相关参数,然后将所述参数信息和特性模型信息同步到硬盘固件FW,使得所述硬盘FW也可以根据所述特性模型信息选择相应的IO调度算法,并根据参数信息配置所述相应的IO调度算法,因为本发明实施例中IO调度算法可以跟具体的IO请求的特性关联起来,所以即便在实际中,所述IO请求具有多样性,也可以根据不同的IO请求选择相应的调度算法,就实现了在多种应用场景下也能提升IO性能的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的确定输入输出调度算法的方法实施例一的流程图;
图2是本发明的确定输入输出调度算法的方法实施例二的流程图;
图3是本发明的确定输入输出调度算法的方法实施例三的流程图;
图4是本发明的确定输入输出调度算法的装置实施例一的结构示意图;
图5是本发明的确定输入输出调度算法的装置实施例二的结构示意图;
图6是本发明的确定输入输出调度算法的装置实施例三的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
参考图1,在本发明实施例一中,实现本发明实施例一所提供的方法可以包括以下步骤:
步骤101:确定输入输出IO请求的特性模型;
在实际中,所述步骤101可以由IO调度模块来执行;
步骤102:根据所述IO特性模型选择相应的IO调度算法;
步骤103:依据预先获取的硬盘参数,为所述IO调度算法配置相关参数;
其中,所述相关参数在实际应用中可以为超时等待时间,或合并请求的大小上限等;所述硬盘参数在实际中可以包括硬盘类型,例如,传统硬盘,Flash介质的固态硬盘,RAM介质的固态硬盘等,以及硬盘运行参数,例如,容量,传统硬盘的转速,硬盘缓存的大小,固态硬盘flash颗粒的页面大小等,IO调度模块可以根据所述IO特性模型以及硬盘参数,为已经选择的IO调度算法配置所述相关参数,以使得在运用该IO调度算法时可以达到最佳;
步骤104:将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
在本步骤中,所述IO调度模块将参数信息和特性模型信息同步到硬盘FW,以使得所述硬盘FW根据特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。需要说明的是,IO调度模块根据所述特性模型选择的IO调度算法和硬盘固件选择的算法,可以是相同的也可以是不同的,IO调度模块可以选择的IO调度算法在实际中可以比硬盘固件可选择的算法多,因此,硬盘固件在根据IO特性模块选择算法的时候,只需选择最接近的一种IO调度算法即可,并根据所述参数信息对其进行配置。
在本发明实施例一中,需要说明的是,所述步骤101的具体实现也可以为:根据用户选择的应用程序的类型,确定相应的IO请求的特性模型;即是根据用户的选择输入内容,所述输入内容可以为应用程序的类型,例如,数据库、流媒体、备份等,然后由系统再根据所述应用程序的内容,确定相应的IO特性模型,以使在后续过程中可以利用所述IO特性模型选择最佳IO调度算法。在这种实现方案中,用户事先已经知晓应用程序的类型,可以根据不同的类型确定不同的IO特性模型,需要说明的是,当计算机中运行的应用程序的类型较多时,用户可以自主选择通用程序,此时,对应的IO特性模型也是通用模型。
可以看出,本发明通过确定的IO请求的特性模型可以选择出IO调度算法,并依据预先获取的硬盘参数,可以对IO调度算法配置相关参数,然后将所述参数信息和特性模型信息同步到硬盘固件FW,使得所述硬盘FW也可以根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法,因为本发明实施例中IO调度算法可以和具体的IO请求的特性关联起来,所以即便在实际中,所述IO请求具有多样性,也可以根据不同的IO请求选择相应的调度算法,在后续处理IO请求的过程中,就可以根据选择的调度算法进行优化处理,就实现了在多种应用场景下也能确定输入输出调度算法的目的。
参考图2,在本发明实施例二中,实现本发明实施例二所提供的方法可以包括以下步骤:
步骤201:统计当前第一阈值时间内IO请求的特性规律;
所述第一阈值时间在实际中可以是5分钟,在实际中由用户自主配置,时间越长精度就会越高,统计出的特性规律可以表示IO请求是连续还是离散,或块大小的特征是多少等;
步骤202:依据所述IO请求的特性规律,从预置的IO特征库中匹配得到相应的IO特性模型;
所述IO特征库中保存有历史时间内IO统计的IO特性模型,并在库中将IO特性模型和相应的IO特性关联起来,当所述第一阈值时间内IO请求的特性规律已经知晓时,就根据所述IO请求的特性规律匹配出IO特性模型;
步骤203:根据所述IO特性模型选择IO调度算法;
其中,所述IO调度算法在实际应用中可以是CFQ(complete fairnessqueueing)、Deadline I/O scheduler,以及NOOP等;例如,当IO特性模型为通用时,可以选择NOOP算法;
步骤204:依据预先获取的硬盘参数为所述IO调度算法配置相关参数;
在实际应用中,当操作系统扫描到一个硬盘时,将和硬盘交互以获取其硬盘参数,所述硬盘参数可以是硬盘类型(传统硬盘、Flash介质的SSD硬盘、RAM介质的SSD硬盘......),或者硬盘运行参数(比如容量、传统硬盘的转速、硬盘Cache大小、SSD硬盘flash颗粒的Page大小......)等;所述配置相关参数即是依据先获取的硬盘参数设置所述IO调度算法的合并请求的大小上限,以及超时等待时间等;
步骤205:将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法;
步骤206:根据所述配置后的IO调度算法,对应用程序下发的IO请求进行处理。
在本实施例中,根据选择并已经配置的IO调度算法,可以对应用程序下发的IO请求,在超时等待时间内合并请求,或者当超时等待时间到时,即便合并的请求并没有达到上限,也将已经合并的IO请求下发到IO调度模块上,并通过硬盘驱动发送至硬盘固件,以使得根据所述IO调度算法对IO请求的处理过程进行优化,从而可以提升IO性能,并使系统的性能也得到提升。
参考图3,在本发明实施例三中,实现本发明实施例三所提供的方法可以包括以下步骤:
步骤301:统计当前第二阈值时间内所述IO请求的特性产生变化的次数;
在实际中,可以统计第二阈值时间内,当所述IO请求的特性产生变化的次数,例如,IO请求在10分钟内的变化为5次;所述第二阈值时间由用户根据实际情况或者需求自主设置;
步骤302:当所述统计的次数大于第三阈值次数时,则将所述特性模型设置为IO请求通用模型;
其中,所述第三阈值次数可以是3次,根据步骤301的统计结果,则将所述IO特性模型设置为通用模型;所述第三阈值次数由用户根据实际情况或者需求自主设置;
步骤303:根据所述IO特征通用模型选择IO调度算法;
在实际中,当所述IO特性模型为通用类型时,所述IO调度算法可以选择CFQ算法;
步骤304:依据预先获取的硬盘参数为所述IO调度算法配置相关参数;
步骤305:将所述参数信息和特性模型信息同步到硬盘固件FW;
步骤306:所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法;
步骤307:分析第四阈值时间内,IO请求的特性规律;
其中,在本步骤中,即是在按照已经选择的IO调度算法进行IO请求处理之后,在用户自主设置的第四阈值时间内,再次分析应用程序下发的IO请求的特性规律,本步骤的目的,即是检测IO特征通用模型是不是一直与后续的IO请求的特性匹配,当后续IO请求具备不同的特性时,本步骤可以为重新选择IO特性模型做准备;需要说明的是,所述第四时间阈值在实际应用中可以为30分钟,优选情况下,所述第四时间阈值可以大于所述第一阈值时间;
步骤308:判断所述IO请求的特性规律与所述IO特性模型是否匹配,当结果为是时,进入步骤3010;当结果为否时,进入步骤309;
步骤309:重新确定IO特性模型;
步骤3010:系统不做处理。
在本实施例中,通用的IO特性模型在后续的第四阈值时间内并不一定严格与IO请求的特性相匹配,因此可以根据所述第四阈值时间内分析的IO特性规律,重新选择IO特性模型,当然,如果步骤301和302确定的IO特性模型并不是通用IO特性模型,那么本领域技术人员可以知晓,不管最初确定的IO特性模型是什么,在后续的第四阈值时间内都可以进行重新确定,例如,在第一阈值时间内选择的IO特性模型,在后续的第四阈值时间内无法与接收到的IO请求的特性相匹配,也可以根据所述第四阈值时间内分析的IO特性规律,重新选择IO特性模型,以根据重新选择的特性模型选择并配置IO调度算法,从而达到在执行IO调度算法的过程中可以提升IO性能的目的,并可以提升硬盘和系统的整体性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
与上述本发明实施例所提供的方法相对应,参见图4,本发明实施例还提供了一种确定输入输出调度算法的装置,所述装置包括:
确定模块401,用于确定输入输出IO请求的特性模型;
选择模块402,用于根据IO特性模型,选择IO调度算法;
配置模块403,用于依据预先获取的硬盘参数,为所述IO调度算法配置目关参数;
其中,所述相关参数在实际应用中可以为超时等待时间,或合并请求的大小上限等;所述硬盘参数在实际中可以包括硬盘类型,例如,传统硬盘,Flash介质的固态硬盘,RAM介质的固态硬盘等,以及硬盘运行参数,例如,容量,传统硬盘的转速,硬盘缓存的大小,固态硬盘flash颗粒的页面大小等,IO调度模块可以根据所述IO特性模型以及硬盘参数,为已经选择的IO调度算法配置所述相关参数,以使得该IO调度算法的性能达到最佳;
同步模块404,用于将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
在本实施例中,所述装置可以细分为四个模块,所述确定模块可以确定的IO请求的特性模型,并由选择模块根据所述特性模型选择IO调度算法,所述配置模块可以根据预先获取的硬盘参数,对所述IO调度算法配置相关参数,然后由同步模块将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法,因为本发明实施例中IO调度算法可以和具体的IO请求的特性关联起来,所以即便在实际中,所述IO请求具有多样性,也可以根据不同的IO请求选择相应的调度算法,在后续处理IO请求的过程中,就可以根据选择的调度算法进行优化处理,就实现了在多种应用场景下也能根据确定的IO调度算法提升IO性能的目的。
在用户事先知晓应用程序类型的情况下,所述确定模块具体可以包括:
获取子模块,用于获取用户选择的应用程序的类型;
确定子模块,用于根据所述应用程序的类型,确定相应的IO请求的特性模型。
在这种实现方案中,用户事先已经知晓应用程序的类型,可以根据不同的类型确定不同的IO特性模型,需要说明的是,当计算机中运行的应用程序的类型较多时,用户可以自主选择通用程序,此时,对应的IO特性模型可以设置为通用模型。由用户来设置相应的通用程序时,可以自主根据应用程序类型的不同设置相应的IO特性模型,以便于根据所述IO特性模型选择最佳的IO调度算法,并在执行所述IO调度算法时达到提高IO性能以及系统性能的目的。
与本发明方法实施例二相对应,参考图5所示,示出了本发明装置实施例二的结构示意图,在本实施例中,所述确定模块具体可以包括两个子模块,即是由第一统计子模块和匹配子模块组成,如图5所示,则该装置可以包括:
第一统计子模块501,用于统计当前第一阈值时间内IO请求的特性规律;
匹配子模块502,用于依据所述IO请求的特性规律,从预置的IO特征库中匹配得到相应的IO特性模型;
选择模块503,用于根据IO特性模型,选择IO调度算法;
配置模块504,用于依据预先获取的硬盘参数,为所述IO调度算法配置相关参数;
同步模块505,用于将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法;
处理请求模块506,用于根据所述选择的IO调度算法,对应用程序下发的IO请求进行处理。
在本实施例中,所述第一统计子模块用于统计当前第一阈值时间内IO请求的特性规律,所述匹配子模块根据所述特性规律从预置的IO特征库中匹配得到IO特性模型,可以看出,由于所述IO特性模型根据统计出的特性规律所匹配得到,因此,不同应用场景下的那个IO请求具有不同特性的时候,所述IO特性模型也相应的不同,这样就可以使得在硬盘的多种应用场景下,也能根据应用场景的不同对IO请求进行最优处理,从而在执行IO调度算法的过程中可以提升IO性能,以及硬盘、系统的整体性能。
与本发明方法实施例三相对应,参考图6所示,示出了本发明装置实施例三的结构示意图,如图所示,该装置可以包括:
第二统计子模块601,用于统计第二阈值时间内,所述IO请求的特性产生变化的次数;
设置子模块602,用于当所述次数大于第三阈值次数时,则将所述特性模型设置为IO请求通用模型;
选择模块603,用于根据IO特性模型,选择IO调度算法;
配置模块604,用于依据预先获取的硬盘参数,为所述IO调度算法配置相关参数;
同步模块605,用于将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法;
分析模块606,用于分析第四时间阈值内,IO请求的特性规律;
判断模块607,用于判断所述IO请求的特性规律与所述IO特性模型是否匹配;
重新确定模块608,用于当所述第一判断子模块的结果为否时,重新确定IO特性模型。
在本实施例中,所述分析子模块可以分析在第二阈值时间内,IO请求产生变化的次数,当所述次数大于第三阈值次数时,所述设置子模块则将所述特性模型设置为IO请求通用模型;所述选择模块可以根据IO请求通用特性模型,选择IO调度算法,并在配置模块为所述IO调度算法配置相关参数之后,由同步模块将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。需要说明的是,在实际应用中,还可以由所述判断子模块用于判断匹配子模块所得到的IO特性模型是不是和后续的IO请求的特性相一致,当所述判断子模块的结果为否时,所述重新选择子模块就根据第四阈值时间内的IO请求特性重新选择IO特性模型,即是在根据通用特性模型对IO请求进行处理之后,在第四阈值时间内,如果所述通用特性模型与后续接收到的IO请求并不匹配时,可以重新根据实际情况确定IO特性模型。可以看出,由于选择并进行配置的IO调度算法与具体的IO请求特性相关联,因此,在不同的应用场景下,所述IO调度算法都能根据实际情况达到提升IO性能的效果,从而进一步提升硬盘和系统的性能。
需要说明的是,因为前述确定输入输出调度算法的方法介绍的十分详尽,所以所述确定输入输出调度算法的装置实施例未详尽之处,可以参见前述对确定输入输出调度算法的方法实施例的描述,在此不再对装置作详细描述。
通过以上实施例的描述,本领域的技术人员可以清楚地了解到需要说明的是,本发明实施例不需要引入独立的功能部件,可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以执行本发明各个实施例所述的方法。这里所称的存储介质,如:ROM/RAM、磁盘、光盘等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种确定输入输出调度算法的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法及其思想;同时,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种确定输入输出调度算法的方法,其特征在于,包括:
确定输入输出IO请求的特性模型;
根据所述特性模型选择IO调度算法,并依据预先获取的硬盘参数为所述选择的IO调度算法配置相关参数;
将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
2.根据权利要求1所述的方法,其特征在于,所述确定输入输出IO请求的特性模型,包括:
统计当前第一阈值时间内IO请求的特性规律;
依据所述IO请求的特性规律,从预置的IO特征库中匹配得到相应的IO特性模型。
3.根据权利要求1所述的方法,其特征在于,所述确定输入输出IO请求的特性模型,包括:
统计第二阈值时间内,所述IO请求的特性产生变化的次数;
当所述次数大于第三阈值次数时,则将所述特性模型设置为IO请求通用模型。
4.根据权利要求1所述的方法,其特征在于,所述将所述参数信息和特性模型信息同步到硬盘固件FW之后,还包括:
分析第四阈值时间内,IO请求的特性规律,并判断所述IO请求的特性规律与所述IO特性模型是否一致,如果否,则重新确定IO特性模型。
5.根据权利要求1所述的方法,其特征在于,所述将所述参数信息和特性模型信息同步到硬盘固件FW之后,还包括:
根据所述配置的IO调度算法,对应用程序下发的IO请求进行处理。
6.根据权利要求1所述的方法,其特征在于,所述确定输入输出IO请求的特性模型,包括:
根据用户选择的应用程序的类型,确定相应的IO请求的特性模型。
7.一种确定输入输出调度算法的装置,其特征在于,包括:
确定模块,用于确定输入输出IO请求的特性模型;
选择模块,用于根据IO特性模型,选择IO调度算法;
配置模块,用于依据预先获取的硬盘参数,为所述选择模块选择的IO调度算法配置相关参数;
同步模块,用于将所述参数信息和特性模型信息同步到硬盘固件FW,以便于所述硬盘固件FW根据所述特性模型信息选择相应的IO调度算法,并根据所述参数信息配置所述相应的IO调度算法。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
第一统计子模块,用于统计当前第一阈值时间内IO请求的特性规律;
匹配子模块,用于依据所述IO请求的特性规律,从预置的IO特征库中匹配得到相应的IO特性模型。
9.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
第二统计子模块,用于统计第二阈值时间内,所述IO请求的特性产生变化的次数;
设置子模块,用于当所述次数大于第三阈值次数时,则将所述特性模型设置为IO请求通用模型。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
分析模块,用于分析第四阈值时间内,IO请求的特性规律;
判断模块,用于判断后续IO请求的特性规律与所述确定模块确定的IO特性模型是否一致;
重新确定模块,用于当所述判断模块的结果为否时,重新确定IO特性模型。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
处理请求模块,用于根据所述配置的IO调度算法,对应用程序下发的IO请求进行处理。
12.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
获取子模块,用于获取用户选择的应用程序的类型;
确定子模块,用于根据所述应用程序的类型,确定相应的IO请求的特性模型。
CN200810177044A 2008-11-19 2008-11-19 一种确定输入输出调度算法的方法及装置 Pending CN101739215A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810177044A CN101739215A (zh) 2008-11-19 2008-11-19 一种确定输入输出调度算法的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810177044A CN101739215A (zh) 2008-11-19 2008-11-19 一种确定输入输出调度算法的方法及装置

Publications (1)

Publication Number Publication Date
CN101739215A true CN101739215A (zh) 2010-06-16

Family

ID=42462748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810177044A Pending CN101739215A (zh) 2008-11-19 2008-11-19 一种确定输入输出调度算法的方法及装置

Country Status (1)

Country Link
CN (1) CN101739215A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664030A (zh) * 2012-02-29 2012-09-12 浪潮(北京)电子信息产业有限公司 硬盘监控方法和系统
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
CN103268204A (zh) * 2013-06-08 2013-08-28 北京百度网讯科技有限公司 固态硬盘的调优方法及装置
CN104243395A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 一种高频次写操作方法、接口机及系统
CN107169129A (zh) * 2017-06-06 2017-09-15 山东浪潮通软信息科技有限公司 一种调度方法和装置
CN107562383A (zh) * 2017-09-05 2018-01-09 联想(北京)有限公司 信息处理方法、存储设备及存储介质
WO2018082616A1 (zh) * 2016-11-02 2018-05-11 华为技术有限公司 一种基于dram的存储缓存方法和智能终端
CN108984121A (zh) * 2018-07-03 2018-12-11 深圳忆联信息系统有限公司 保障请求优先级的方法、装置及计算机设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
CN103049213B (zh) * 2011-10-17 2016-01-20 中国移动通信集团公司 一种磁盘调度方法及装置
CN102664030A (zh) * 2012-02-29 2012-09-12 浪潮(北京)电子信息产业有限公司 硬盘监控方法和系统
CN102664030B (zh) * 2012-02-29 2015-02-04 浪潮(北京)电子信息产业有限公司 硬盘监控方法和系统
CN104243395B (zh) * 2013-06-06 2019-02-01 腾讯科技(深圳)有限公司 一种高频次写操作方法、接口机及系统
CN104243395A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 一种高频次写操作方法、接口机及系统
CN103268204B (zh) * 2013-06-08 2016-12-28 北京百度网讯科技有限公司 固态硬盘的调优方法及装置
CN103268204A (zh) * 2013-06-08 2013-08-28 北京百度网讯科技有限公司 固态硬盘的调优方法及装置
WO2018082616A1 (zh) * 2016-11-02 2018-05-11 华为技术有限公司 一种基于dram的存储缓存方法和智能终端
CN107169129A (zh) * 2017-06-06 2017-09-15 山东浪潮通软信息科技有限公司 一种调度方法和装置
CN107169129B (zh) * 2017-06-06 2020-07-14 浪潮通用软件有限公司 一种调度方法和装置
CN107562383A (zh) * 2017-09-05 2018-01-09 联想(北京)有限公司 信息处理方法、存储设备及存储介质
CN108984121A (zh) * 2018-07-03 2018-12-11 深圳忆联信息系统有限公司 保障请求优先级的方法、装置及计算机设备
CN108984121B (zh) * 2018-07-03 2021-04-20 深圳忆联信息系统有限公司 保障请求优先级的方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
CN101739215A (zh) 一种确定输入输出调度算法的方法及装置
CN112001618B (zh) 一种工期指派、订单接受与生产调度集成优化方法
CN102129442B (zh) 一种分布式数据库系统和数据访问方法
CN101382949B (zh) 一种数据库表的管理方法及装置
CN107357825A (zh) 一种基于数据库的项目文档管理系统
CN102411766A (zh) 电力系统数据分析平台及方法
KR102229859B1 (ko) 기계 학습 및 전이 학습을 이용한 공정 관리 방법, 장치 및 시스템
CN104503840A (zh) 对终端资源进行优化的方法及装置
CN112148779B (zh) 确定业务指标的方法、装置及存储介质
CN110134646B (zh) 知识平台服务数据存储与集成方法及系统
CN108829802A (zh) 关联日志回放方法及装置
CN107423109B (zh) 基于匿名随机变量的虚拟机节能调度方法
CN103745303A (zh) 一种基于云端的工程项目管理方法
CN107958024A (zh) 会话合并方法、装置和计算机设备
CN107147947A (zh) 关键帧识别方法及装置
CN103617298A (zh) 一种数据连接方法和数据连接器
CN104063374A (zh) 一种对数据进行去重的方法和设备
CN108897776A (zh) 一种数据信息的运算处理方法、装置及计算机存储介质
CN112785214A (zh) 一种优化库存的方法、装置和存储介质
CN105117403A (zh) 日志数据分片与查询方法及装置
CN105573999A (zh) 识别智能设备用户的方法和装置
CN101763223A (zh) 优化存储阵列的存储性能的方法及装置、存储装置
US20200364360A1 (en) System and method for determining permission profiles for computer executable functions
CN103812873A (zh) 业务服务请求处理方法和装置
CN113627148A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20100616