在存储系统中执行请求的方法

文档序号:6380488阅读:147来源:国知局
专利名称:在存储系统中执行请求的方法
技术领域
本发明基本上涉及服务器领域,更具体地来说,涉及一种在存储系统中执行请求的方法。
背景技术
本法是在基于对象的存储系统中,提供应用级别的服务质量。本方法能够根据应用的需求,合理分配I/o资源,使得不同应用的数据可以存储于同一存储系统中。传统的存储系统包括本地文件系统(如ext2、ext3)与网络文件系统(如NFS,LSTRE)的存储模型都是“尽力提供服务”类型,即文件系统保证磁盘I/O达到最高,但不保证是具体哪一类应用占据了最多I/O资源,导致了低优先级应用将I/O资源消耗光,高优先级应用饿死的情况。造成这样的原因是在传统的设计理念中的分层设计的原则,不同层次的存取接口隐藏了应用的细节,下层无法获取应用的细节加以利用。不同应用得到的I/o资源的机会是均等的,无法提供应用级别的存储服务质量。

发明内容
为了克服上述缺陷,本发明提出了一种在存储系统中执行请求的方法,解决了如何根据不同任务的不同优先级进行执行的技术问题。本发明公开了一种在存储系统中执行请求的方法,包括步骤SI :根据所要执行的多个请求的类型,将所述多个请求分为多个优先级组,其中,同一优先级组中的请求的优先级相同;以及步骤S2 :根据所述多个优先级组各自对应的优先级和磁盘I/O资源参数来执行所述多个请求。优选地,所述多个优先级组包括第一优先级组和第二优先级组,其中,所述第一优先级组与第一优先级和第一磁盘I/o资源参数相对应,所述第二优先级组与第二优先级和第二磁盘I/o资源参数相对应,并且其中,所述第一优先级高于所述第二优先级。优选地,所述第一磁盘I/O资源参数为第一磁盘I/O资源量,所述第二磁盘I/O资源参数为第二磁盘I/o资源量。优选地,所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源量执行所述第一优先级组中的请求,其中,分配给所述第一优先级组的磁盘I/o资源量不小于所述第一磁盘I/o资源量,并且其中,如果剩余的磁盘I/O资源量不小于所述第二磁盘I/O资源量,则执行所述第二优先级组中的请求。优选地,所述第一磁盘I/O资源参数为第一磁盘I/O资源绝对比率,所述第二磁盘I/O资源参数为第二磁盘I/O资源绝对比率。优选地,所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源绝对比率执行所述第一优先级组中的请求,其中,分配给所述第一优先级组的磁盘I/o资源量与磁盘I/o资源总量的比值不小于所述第一磁盘I/O资源绝对比率,并且其中,如果执行所述第一优先级组所剩余的磁盘I/o资源量与所述磁盘I/O资源总量的比值不小于所述第二磁盘 I/o资源绝对比率,则执行所述第二优先级组中的请求。
优选地,所述第一磁盘I/O资源参数为第一磁盘I/O资源相对比率,所述第二磁盘 I/O资源参数为第二磁盘I/O资源相对比率。
优选地,所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源相对比率执行所述第一优先级组中的请求,并且以所述第二优先级和所述第二磁盘I/o资源相对比率执行所述第二优先级组中的请求,其中,分配给所述第一优先级组的磁盘I/o资源量与未执行所述第一优先级的请求时的磁盘I/o资源量的比值不小于所述第一磁盘I/O资源相对比率,并且其中,分配给所述第二优先级组的第一磁盘I/O资源量与执行所述第一优先级组中的请求所剩余的磁盘I/o资源量的比值不小于所述第二磁盘I/O资源相对比率。
优选地,所述步骤S2包括通过先进先出队列,根据所述多个优先级组各自对应的优先级和磁盘I/o资源参数来执行所述多个请求。
优选地,所述多个请求的类型包括音频流播放、视频流播放、数据上传、数据下载和即时信息通讯。
根据本发明所描述的在存储系统中执行请求的方法,能够为不同的任务提供不同的优先级,提高了系统的可用性。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图I是根据本发明的在存储系统中执行请求的方法的总体流程图2A和图2B是根据本发明的在存储系统中执行请求的方法的实例的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图I是根据本发明的在存储系统中执行请求的方法的总体流程图。在图I中
步骤SlOO :根据所要执行的多个请求的类型,将多个请求分为多个优先级组。其中,同一优先级组中的请求的优先级相同。优先级高的优先级组中的请求先被执行,优先级低的优先级组中的请求后被执行。
步骤S102 :根据多个优先级组各自对应的优先级和磁盘I/O资源参数来执行多个请求。
其中,步骤S102可以进一步包括通过先进先出队列,根据多个优先级组各自对应的优先级和磁盘I/o资源参数来执行多个请求。
并且其中,多个请求的类型包括音频流播放、视频流播放、数据上传、数据下载和即时信息通讯。
根据本发明所描述的在存储系统中执行请求的方法,能够为不同的任务提供不同的优先级,提高了系统的可用性。
以下将列举三个具体实施例来具体描述上述方法。在以下三个实施例中,多个优先级组可以包括第一优先级组和第二优先级组。其中,第一优先级组与第一优先级和第一磁盘I/o资源参数相对应,第二优先级组与第二优先级和第二磁盘I/O资源参数相对应,并且其中,第一优先级高于第二优先级。尽管该多个优先级组包括有第一优先级组和第二优先级组,但是并不限于此,也就是说,多个优先级组还可以包括例如第三优先级组等等其他优先级组,而这里只通过描述第一优先级组和第二优先级组来详述本发明。实施例一在一个优选实施例中,第一磁盘I/O资源参数为第一磁盘I/O资源量,第二磁盘I/0资源参数为第二磁盘I/O资源量。也就是说,在本实施例中,磁盘I/O资源参数为磁盘为请求所占的磁盘I/O资源量。换言之,本实施例通过具体的磁盘I/O资源量的多少来调整每个请求所占用的资源。在本优选实施例中,步骤S102进一步包括以第一优先级和第一磁盘I/O资源量执行第一优先级组中的请求。其中,分配给第一优先级组的磁盘I/o资源量不小于第一磁盘I/o资源量。并且其中,如果剩余的磁盘I/O资源量不小于第二磁盘I/O资源量,则执行第二优先级组中的请求,而如果剩余的磁盘I/o资源小于第二优先级组中的请求所需要的第二磁盘I/o资源量,则不再执行第二优先级组中的请求。通过本实施例,可以通过设置第一磁盘I/O资源量和第二磁盘I/O资源量,从而为不同的请求设置具体的磁盘I/o资源量,进而能够直接地控制各类请求所占用的资源大小,可以更直接地对请求所占资源进行管理。实施例二在另一个优选实施例中,第一磁盘I/O资源参数为第一磁盘I/O资源绝对比率,第二磁盘I/o资源参数为第二磁盘I/O资源绝对比率。所谓磁盘I/O资源绝对比率指的是请求所占用的磁盘I/o资源所占磁盘I/O资源总量的比率。在本优选实施例中,步骤S102进一步包括以第一优先级和第一磁盘I/O资源绝对比率执行第一优先级组中的请求。其中,分配给第一优先级组的磁盘I/o资源量与磁盘I/o资源总量的比值不小于第一磁盘I/O资源绝对比率,并且其中,如果执行第一优先级组所剩余的磁盘I/o资源量与磁盘I/O资源总量的比值不小于第二磁盘I/O资源绝对比率,则执行第二优先级组中的请求。通过本实施例,可以通过设置第一磁盘I/O资源量和第二磁盘I/O资源量,从而为不同的请求设置具体的磁盘I/o资源量,进而能够直接地控制各类请求所占用的资源大小,可以更直接地对请求所占资源进行管理。此外,通过本优选实施例,通过对比率进行设定,可以保证第一优先级组中的请求肯定能够被执行。实施例三在又一个优选实施例中,第一磁盘I/O资源参数为第一磁盘I/O资源相对比率,第二磁盘I/o资源参数为第二磁盘I/O资源相对比率。其中,所谓磁盘I/O资源相对比率指的是请求所占用的磁盘I/o资源占整个系统中还剩余的磁盘I/O资源的比率。例如,当执行优先级最高的优先级组的请求时,该磁盘I/o资源相对比率指的是该优先级组的请求所占用的磁盘I/o资源占系统中所有磁盘I/O资源的比率。在本优选实施例中,步骤S102进一步包括以第一优先级和第一磁盘I/O资源相对比率执行第一优先级组中的请求,并且以第二优先级和第二磁盘I/o资源相对比率执行第二优先级组中的请求。其中,分配给第一优先级组的磁盘I/O资源量与未执行第一优先级的请求时的磁盘I/o资源量的比值不小于第一磁盘I/O资源相对比率。并且其中,分配给第二优先级组的第一磁盘I/o资源量与执行第一优先级组中的请求所剩余的磁盘I/O资源量的比值不小于第二磁盘I/o资源相对比率。
在上述两个实施例中,由于设定了优先级组中的请求所占用的绝对资源大小和绝对资源比率,因此可能有某些优先级组中的请求无法执行。而在本优选实施例中,由于设定了相对比率,因此所有优先级组中的请求均会被执行。
通过本实施例,可以通过设置第一磁盘I/O资源量和第二磁盘I/O资源量,从而为不同的请求设置具体的磁盘I/o资源量,进而能够直接地控制各类请求所占用的资源大小,可以更直接地对请求所占资源进行管理。此外,通过本优选实施例,通过对相对比率进行设定,可以保证所有优先级组中的请求肯定能够被执行。
图2A和图2B是根据本发明的在存储系统中执行请求的方法的实例的示意图。如图2A和图2B所示
基于对象的存储系统结构由三部分组成,客户端,封装访问元数据与数据的接口, 给提供应用程序使用,接口可以是POSIX标准,也可以自定义;元数据服务器集群,维护元数据的操作,如名字分配、目录管理、权限认证等;基于对象的存储设备,也就是数据服务器,提供基于对象的I/o服务,负责磁盘级别的存储调度管理。这个结构中,客户端仅在打开关闭文件或者改变文件元数据内容时,才与元数据交互,对于数据的访问,直接访问数据服务器。
本方法将应用的服务质量需求映射为数据服务器上的I/O资源的使用级别。以视频流服务与FTP服务来讲,前者要求稳定的高速带宽,能够满足高码率下流畅的播放需求, 后者需要连续的带宽但是对速度要求不高。因此,前者对I/O资源的使用级别较高且不能低于阈值,后者尽力提供服务但是不能响应不能超时。
在数据服务中,根据应用的I/O使用级别调度底层的磁盘请求。每一个到达数据服务器的请求都拥有一个被映射的级别ID,没有级别ID的被归为尽力提供服务的类别。在数据服务器中,建立优先级请求队列组,每一个级别的ID对应一个请求队列,此外还有尽力提供服务的队列。到达服务器的请求,被分类放置在不同队列中,由磁盘调度模块进行进行集中调度,加入磁盘的FIF0(first in first out,先进先出)队列,完成磁盘操作。
磁盘调度根据当前磁盘的空闲情况,结合不同队列对磁盘I/O的需求,预测当前 FIFO队列中未完成的请求,摘取请求队列中的元素加入磁盘的FIFO队列,以保证对于特定应用的带宽需求。其中,会针对高优先级别的请求,预留一部分磁盘带宽,已达到高速响应的目的。
其中,图2A给出了对象的访问过程
I.客户端访问元数据服务器,获取对象所在的数据服务器等信息
2.客户端访问数据服务器,进行对象的操作。
图2B给出了应用服务质量的保证方法
I.将应用分级别加入各自的优先级队列中,例如视频请求加入优先级队列1,ftp 请求加入尽力服务队列
2.磁盘调度线程根据磁盘I/O负载调度请求,摘取请求加入磁盘的FIFO队列,保7证高优先级的请求能够被先执行3.磁盘驱动模块从FIFO队列摘取请求,完成磁盘操作请求。通过本实例所描述的在存储系统中执行请求的方法,能够稳定提供应用所需要的I/O带宽,满足不同应用服务的需要,是的存储系统可以保存异构数据,提高系统的可用性。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在存储系统中执行请求的方法,包括 步骤Si:根据所要执行的多个请求的类型,将所述多个请求分为多个优先级组,其中,同一优先级组中的请求的优先级相同;以及 步骤S2 :根据所述多个优先级组各自对应的优先级和磁盘I/O资源参数来执行所述多个请求。
2.根据权利要求I所述的在存储系统中执行请求的方法,其特征在于,所述多个优先级组包括第一优先级组和第二优先级组, 其中,所述第一优先级组与第一优先级和第一磁盘I/O资源参数相对应,所述第二优先级组与第二优先级和第二磁盘I/O资源参数相对应, 并且其中,所述第一优先级高于所述第二优先级。
3.根据权利要求2所述的在存储系统中执行请求的方法,其特征在于,所述第一磁盘I/O资源参数为第一磁盘I/O资源量,所述第二磁盘I/O资源参数为第二磁盘I/O资源量。
4.根据权利要求3所述的在存储系统中执行请求的方法,其特征在于, 所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源量执行所述第一优先级组中的请求, 其中,分配给所述第一优先级组的磁盘I/O资源量不小于所述第一磁盘I/O资源量, 并且其中,如果剩余的磁盘I/o资源量不小于所述第二磁盘I/O资源量,则执行所述第二优先级组中的请求。
5.根据权利要求2所述的在存储系统中执行请求的方法,其特征在于,所述第一磁盘I/O资源参数为第一磁盘I/O资源绝对比率,所述第二磁盘I/O资源参数为第二磁盘I/O资源绝对比率。
6.根据权利要求5所述的在存储系统中执行请求的方法,其特征在于, 所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源绝对比率执行所述第一优先级组中的请求, 其中,分配给所述第一优先级组的磁盘I/O资源量与磁盘I/O资源总量的比值不小于所述第一磁盘I/o资源绝对比率, 并且其中,如果执行所述第一优先级组所剩余的磁盘I/o资源量与所述磁盘I/O资源总量的比值不小于所述第二磁盘I/o资源绝对比率,则执行所述第二优先级组中的请求。
7.根据权利要求2所述的在存储系统中执行请求的方法,其特征在于,所述第一磁盘I/O资源参数为第一磁盘I/O资源相对比率,所述第二磁盘I/O资源参数为第二磁盘I/O资源相对比率。
8.根据权利要求7所述的在存储系统中执行请求的方法,其特征在于,所述步骤S2包括以所述第一优先级和所述第一磁盘I/O资源相对比率执行所述第一优先级组中的请求,并且以所述第二优先级和所述第二磁盘I/O资源相对比率执行所述第二优先级组中的请求, 其中,分配给所述第一优先级组的磁盘I/O资源量与未执行所述第一优先级的请求时的磁盘I/o资源量的比值不小于所述第一磁盘I/O资源相对比率, 并且其中,分配给所述第二优先级组的第一磁盘I/o资源量与执行所述第一优先级组中的请求所剩余的磁盘I/o资源量的比值不小于所述第二磁盘I/O资源相对比率。
9.根据权利要求I所述的在存储系统中执行请求的方法,其特征在于,所述步骤S2包括通过先进先出队列,根据所述多个优先级组各自对应的优先级和磁盘I/o资源参数来执行所述多个请求。
10.根据权利要求I所述的在存储系统中执行请求的方法,其特征在于,所述多个请求的类型包括音频流播放、视频流播放、数据上传、数据下载和即时信息通讯。
全文摘要
本发明公开了一种在存储系统中执行请求的方法,包括根据所要执行的多个请求的类型,将多个请求分为多个优先级组,其中,同一优先级组中的请求的优先级相同;以及根据多个优先级组各自对应的优先级和磁盘I/O资源参数来执行多个请求。根据本发明所描述的在存储系统中执行请求的方法,能够为不同的任务提供不同的优先级,提高了系统的可用性。
文档编号G06F12/06GK102981973SQ20121043608
公开日2013年3月20日 申请日期2012年11月5日 优先权日2012年11月5日
发明者姜国梁, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1