CN109814806A - Io调度方法、存储介质和装置 - Google Patents

Io调度方法、存储介质和装置 Download PDF

Info

Publication number
CN109814806A
CN109814806A CN201811609657.2A CN201811609657A CN109814806A CN 109814806 A CN109814806 A CN 109814806A CN 201811609657 A CN201811609657 A CN 201811609657A CN 109814806 A CN109814806 A CN 109814806A
Authority
CN
China
Prior art keywords
priority
request
new
module
process title
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
CN201811609657.2A
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.)
Henan Innovation Technology Co Ltd
Original Assignee
Henan Innovation Technology 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 Henan Innovation Technology Co Ltd filed Critical Henan Innovation Technology Co Ltd
Priority to CN201811609657.2A priority Critical patent/CN109814806A/zh
Publication of CN109814806A publication Critical patent/CN109814806A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

本发明提供一种IO调度方法、存储介质和装置,该方法包括:步骤11:创建新IO请求时,将新IO请求所属的进程名称写入新IO请求属性;步骤12:确定该进程名称的优先级,并将新IO请求加入该优先级对应的请求队列;步骤13:按预设调度策略处理不同请求队列中的IO请求。基于本发明的方法,通过设置应用软件对应的进程名称的优先级,使得不同应用软件的IO请求也能根据优先级进行处理,确保IO请求的执行速度与用户需求匹配,为用户提高了更好的体验。

Description

IO调度方法、存储介质和装置
技术领域
本发明涉及计算机领域,特别涉及一种IO调度方法、存储介质和装置。
背景技术
传统的IO(数据读写)调度算法,当系统中很多应用程序针对某块磁盘提交读写请求时,因为磁盘处理读写请求能力是有限的,就需要对这些读写请求通过请求链表管理,通过调度算法按照一定策略把IO请求从请求链表中取出来处理。
传统的调度算法存在以下问题:
1,基本都是根据IO请求的在磁盘中物理位置进行排序,如此可以根据磁盘的位置使数据相对连续,能更快的获取数据。而固态硬盘的特点不像磁盘通过机械定位获取数据,IO请求是否按照物理位置前后排序,对读写效率影响不大。
2,传统的调度算法,没有考虑IO请求跟应用软件的关联,当某个响应要求最高(优先级高)的IO请求出现在请求队列后面时,会得不到及时处理,响应要求比较低(优先级低)的某些应用IO请求,由于排在队列前面反而得到优先处理。
发明内容
有鉴于此,本发明提供一种IO调度方法、存储介质和装置,以解决传统IO调度算法不适用固态硬盘的问题,以及传统IO调度算法没有考虑应用软件的优先级问题。
本发明提供一种IO调度方法,该方法包括:
步骤11:创建新IO请求时,将新IO请求所属的进程名称写入新IO请求属性;
步骤12:确定该进程名称的优先级,并将新IO请求加入该优先级对应的请求队列;
步骤13:按预设调度策略处理不同请求队列中的IO请求。
本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行上述的IO调度方法中的步骤。
本发明还提供一种IO调度装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的IO调度方法中的步骤。
具体地,IO调度装置包括:
IO请求创建模块:创建新IO请求时,将新IO请求所属的进程名称写入新IO请求属性;
IO请求队列加入模块:确定该进程名称的优先级,并将新IO请求加入该优先级对应的请求队列;
IO请求队列处理模块:按预设调度策略处理不同请求队列中的IO请求。
基于本发明的IO调度方法,通过设置应用软件对应的进程名称的优先级,使得不同应用软件的IO请求也能根据优先级进行处理,确保IO请求的执行速度与用户需求匹配,为用户提高了更好的体验。
附图说明
图1为本发明IO调度方法的流程图;
图2为本发明IO调度装置的结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供一种IO调度方法,如图1所示,包括:
步骤11(S11):创建新IO请求时,将新IO请求所属的进程名称写入新IO请求属性;
例如新IO请求所属的进程名称为process_name1,其中name1为应用软件的名称或代号,根据name1可确定新IO请求来自哪个应用软件,通过该步骤将新IO请求与应用软件关联。
步骤12(S12):确定该进程名称的优先级,并将新IO请求加入该优先级对应的请求队列;
进程process_name1的优先级,等同name1应用软件的优先级,例如所有的应用软件分为N个优先级级别,对应N个请求队列,每个请求队列中缓存同一个优先级的IO请求。
固态硬盘无需对IO位置进行排序,因此任一请求队列中的IO请求也可以按不同的标准进行排序,例如以时间先后顺序进行排序,或以应用软件的差异对IO请求进行分类。
步骤13(S13):按预设调度策略处理不同请求队列中的IO请求。
基于上述N个优先级级别,步骤12包括:
步骤121:判断该进程名称是否位于IO配置文件,如果是,执行步骤122,否则执行步骤123,配置文件将不同进程名称细分为N个优先级,N≥2;
例如为IO配置文件io_priority.conf,在图1的方法之前,在io_priority.conf中设置不同进程名称的优先级。
表1给出了一种io_priority.conf的实现方式。
表1
N可以设置为10或其他数,本发明对此不做限定。
步骤122:确定该进程名称在配置文件中的优先级;
步骤123:该进程名称为默认优先级。
默认优先级为N个优先级的最低优先级,假设表1中的第1优先级为最高优先级,则默认优先级为第N优先级。
图1中的预设调度策略包括:连续处理A个第一优先级的IO请求后,触发处理B个第二优先级的IO请求,第一优先级高于第二优先级,A≥B。
例如,连续处理5个第1优先级的IO请求,触发处理1个第二优先级的IO请求。
当一个的请求队列包含多个同等级的IO请求时,同等级的IO请求可执行先到先处理的算法,也可以根据应用软件的差别对同等级的IO请求执行轮询算法。
基于本发明的IO调度方法,通过设置应用软件对应的进程名称的优先级,使得不同应用软件的IO请求也能根据优先级进行处理,确保IO请求的执行速度与用户需求匹配,为用户提高了更好的体验。
本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行上述的IO调度方法中的步骤。
本发明还提供一种IO调度装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的IO调度方法中的步骤。
如图2所示,该IO调度装置包括:
IO请求创建模块:创建新IO请求时,将新IO请求所属的进程名称写入新IO请求属性;
IO请求队列加入模块:确定该进程名称的优先级,并将新IO请求加入该优先级对应的请求队列;
IO请求队列处理模块:按预设调度策略处理不同请求队列中的IO请求。
其中,IO请求队列加入模块可以包括:
判断模块:判断该进程名称是否位于IO配置文件,如果是,执行优先级确定模块1,否则执行优先级确定模块2,配置文件将不同进程名称细分为N个优先级级,N≥2;
优先级确定模块1:确定该进程名称在配置文件中的优先级;
优先级确定模块2:该进程名称为默认优先级。
默认优先级为N个优先级的最低优先级。
预设调度策略包括:连续处理A个第一优先级的IO请求后,触发处理B个第二优先级的IO请求,第一优先级高于第二优先级,A≥B。
需要说明的是,本发明的IO调度装置的实施例,与IO调度方法的实施例原理相同,相关之处可以互相参照。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种IO调度方法,其特征在于,所述方法包括:
步骤11:创建新IO请求时,将所述新IO请求所属的进程名称写入所述新IO请求属性;
步骤12:确定所述进程名称的优先级,并将所述新IO请求加入所述优先级对应的请求队列;
步骤13:按预设调度策略处理不同请求队列中的IO请求。
2.根据权利要求1所述的方法,其特征在于,所述步骤12包括:
步骤121:判断所述进程名称是否位于IO配置文件,如果是,执行步骤122,否则执行步骤123,所述配置文件将不同进程名称细分为N个优先级,N≥2;
步骤122:确定所述进程名称在所述配置文件中的优先级;
步骤123:所述进程名称为默认优先级。
3.根据权利要求2所述的方法,其特征在于,所述默认优先级为所述N个优先级的最低优先级。
4.根据权利要求1所述的方法,其特征在于,所述预设调度策略包括:连续处理A个第一优先级的IO请求后,触发处理B个第二优先级的IO请求,所述第一优先级高于所述第二优先级,A≥B。
5.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至4中任一所述的IO调度方法中的步骤。
6.一种IO调度装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一所述的IO调度方法中的步骤。
7.一种IO调度装置,其特征在于,所述装置包括:
IO请求创建模块:创建新IO请求时,将所述新IO请求所属的进程名称写入所述新IO请求属性;
IO请求队列加入模块:确定所述进程名称的优先级,并将所述新IO请求加入所述优先级对应的请求队列;
IO请求队列处理模块:按预设调度策略处理不同请求队列中的IO请求。
8.根据权利要求7所述的装置,其特征在于,所述IO请求队列加入模块包括:
判断模块:判断所述进程名称是否位于IO配置文件,如果是,执行优先级确定模块1,否则执行优先级确定模块2,所述配置文件将不同进程名称细分为N个优先级,N≥2;
优先级确定模块1:确定所述进程名称在所述配置文件中的优先级;
优先级确定模块2:所述进程名称为默认优先级。
9.根据权利要求8所述的装置,其特征在于,所述默认优先级为所述N个优先级的最低优先级。
10.根据权利要求7所述的装置,其特征在于,所述预设调度策略包括:连续处理A个第一优先级的IO请求后,触发处理B个第二优先级的IO请求,所述第一优先级高于所述第二优先级,A≥B。
CN201811609657.2A 2018-12-27 2018-12-27 Io调度方法、存储介质和装置 Pending CN109814806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811609657.2A CN109814806A (zh) 2018-12-27 2018-12-27 Io调度方法、存储介质和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811609657.2A CN109814806A (zh) 2018-12-27 2018-12-27 Io调度方法、存储介质和装置

Publications (1)

Publication Number Publication Date
CN109814806A true CN109814806A (zh) 2019-05-28

Family

ID=66602663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811609657.2A Pending CN109814806A (zh) 2018-12-27 2018-12-27 Io调度方法、存储介质和装置

Country Status (1)

Country Link
CN (1) CN109814806A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517867A (zh) * 2003-01-07 2004-08-04 松下电器产业株式会社 进程调度装置、进程调度方法、程序以及记录媒体
CN102402401A (zh) * 2011-12-13 2012-04-04 云海创想信息技术(无锡)有限公司 一种磁盘io请求队列调度的方法
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
US20160162425A1 (en) * 2008-09-29 2016-06-09 International Business Machines Corporation Associating process priority with i/o queuing
US20170052979A1 (en) * 2014-11-21 2017-02-23 Huawei Technologies Co., Ltd. Input/Output (IO) Request Processing Method and File Server
CN108009006A (zh) * 2016-11-02 2018-05-08 华为技术有限公司 I/o请求的调度方法及装置
CN108563495A (zh) * 2018-04-08 2018-09-21 郑州云海信息技术有限公司 数据中心综合管理系统的云资源队列分级调度系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517867A (zh) * 2003-01-07 2004-08-04 松下电器产业株式会社 进程调度装置、进程调度方法、程序以及记录媒体
US20160162425A1 (en) * 2008-09-29 2016-06-09 International Business Machines Corporation Associating process priority with i/o queuing
CN103049213A (zh) * 2011-10-17 2013-04-17 中国移动通信集团公司 一种磁盘调度方法及装置
CN102402401A (zh) * 2011-12-13 2012-04-04 云海创想信息技术(无锡)有限公司 一种磁盘io请求队列调度的方法
US20170052979A1 (en) * 2014-11-21 2017-02-23 Huawei Technologies Co., Ltd. Input/Output (IO) Request Processing Method and File Server
CN108009006A (zh) * 2016-11-02 2018-05-08 华为技术有限公司 I/o请求的调度方法及装置
CN108563495A (zh) * 2018-04-08 2018-09-21 郑州云海信息技术有限公司 数据中心综合管理系统的云资源队列分级调度系统和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘勇: "《MCSE学习指南Windows 2000 Professional Exam 70-210》", 31 May 2001 *
吉姆斯·里贝克,等.: "《SCO OpenSever 5.1网络参考大全》", 30 September 2000 *
吴巍,等.: "《现代电信网络服务技术》", 31 October 2015 *
陈明华,等.: "《.NET程序设计》", 31 July 2012 *

Similar Documents

Publication Publication Date Title
US10908954B2 (en) Quality of service classes
US8424007B1 (en) Prioritizing tasks from virtual machines
CN110837410A (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
US9128615B2 (en) Storage systems that create snapshot queues
US7681196B2 (en) Providing optimal number of threads to applications performing multi-tasking using threads
JP4961931B2 (ja) ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
CN102402401A (zh) 一种磁盘io请求队列调度的方法
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
CN106202307A (zh) 一种批量日志保存方法及装置
US10296390B2 (en) Feedback mechanism for controlling dispatching work tasks in a multi-tier storage environment
GB2507294A (en) Server work-load management using request prioritization
US7689991B2 (en) Bus management techniques
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
WO2024103927A1 (zh) 混合部署场景下的作业调度方法、装置及电子设备
US20200301732A1 (en) Information processing system and non-transitory computer readable medium storing program
CN109814806A (zh) Io调度方法、存储介质和装置
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
US20120124518A1 (en) Managing Operations via a User Interface
US9659041B2 (en) Model for capturing audit trail data with reduced probability of loss of critical data
US9626371B2 (en) Attribute selectable file operation
KR100651722B1 (ko) 실시간 성능 지원을 위한 리눅스 커널의 구성 방법 및실시간 성능 테스트 방법
CN114358577A (zh) 订单信息处理方法和装置
CN114356516A (zh) 资源调度方法及相关装置、设备和存储介质
CN112817522A (zh) 一种数据存储方法、装置、电子设备及存储介质
CN109144911B (zh) 排程方法、PCIe控制器及其相关电子系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190528