[发明专利]一种对象数据服务器读写请求的调度方法有效
申请号: | 201110399426.5 | 申请日: | 2011-12-06 |
公开(公告)号: | CN102541467A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 王芳;冯丹;施展;谭支鹏;陈奇;李楚 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种对象数据服务器读写请求的的调度方法,属于计算机存储领域,解决现有Linux系统自带软件不能保证存储设备负载均衡的问题,从而进一步提高对象数据服务器的可用性和性能。本发明包括:初始化步骤、负载检测步骤、负载统计步骤、判断迁移条件步骤、对象数据块迁移步骤和读写请求调度步骤。本发明通过在多设备间的请求调度,多设备的并行性,同时通过数据迁移实现设备间的负载均衡,提高存储系统可用性和性能;本发明在软件层实现磁盘阵列成本很低,面对异构存储设备优势明显,同时可以使用附网存储系统(NAS)架构的存储设备,提高了可扩展性。 | ||
搜索关键词: | 一种 对象 数据 服务器 读写 请求 调度 方法 | ||
【主权项】:
1.一种对象数据服务器读写请求的的调度方法,包括下述步骤:A.初始化步骤,包括以下过程:(A1)设置设备列表、设备负载表、小磁盘组表、中磁盘组表、大磁盘组表、容量利用率升序表、源设备队列、目标设备队列、元数据信息表;设备列表表项包括设备标示符及其对应的设备挂载路径,设备负载表表项包括设备标示符及其对应的读写速率、容量、可用容量和设备利用率因子;大、中、小磁盘组表表项均包括磁盘组标示符及其对应的设备标示符、读写速率、容量、可用容量和设备利用率因子;容量利用率升序表表项包括设备标示符及其对应的可用容量和设备利用率因子;源设备队列表项和目标设备队列表项包括设备标示符;元数据信息表表项包括对象标示符及其对应的设备标示符;按照各存储设备的可用容量大小,将存储设备分别归入大、中、小磁盘组;磁盘组标示符用于标示大、中、小磁盘组的类别;(A2)除设备列表外,将上述其他各表的全部表项清空;用所有设备标示符及其对应的设备挂载路径初始化设备列表;B.负载检测步骤,包括以下过程:(B1).以文件系统标准测试程序iozone测试各存储设备的最大读写带宽,然后求N次测试的平均值,作为存储设备的最大读写带宽Wi;N≥3;(B2).使用Linux系统调用应用程序接口(API)获取各存储设备负载信息,包括读写速率、容量和可用容量;(B3).计算各存储设备利用率因子:设备利用率因子=设备读写速率/该存储设备的最大读写带宽Wi;(B4).对各存储设备的设备利用率因子进行判断:设备利用率因子≤δ1,延时t1秒后,进行过程(B5);δ1<设备利用率因子<δ2,延时t2秒后,进行过程(B5);设备利用率因子≥δ2,延时t3秒后,进行过程(B5);0<δ1<δ2<1,利用率因子下阈值δ1=30%~50%,利用率因子上阈值δ2=60%~80%,0<t1<t2<t3,t1=3~5秒,t2=6~10秒,t3=10~15秒;(B5).再次使用Linux系统调用应用程序接口(API),获取本存储设备的负载信息,并将存储设备负载信息及相应的设备利用率因子保存在设备负载表中,转过程(B2);C.负载统计步骤,包括以下过程:(C1).从设备负载表中获取各存储设备的负载信息和设备利用率因子;(C2).按照各存储设备的可用容量,对存储设备进行分组:可用容量≤a,分到小磁盘组表;a<可用容量≤b,分到中磁盘组表;可用容量>b,分到大磁盘组表;其中,容量下阈值容量上阈值Ni为存储设备可用容量,m为存储设备个数,符号表示对符号内的数值向下取整;(C3).对大、中、小磁盘组表中各存储设备,按照设备利用率因子从小到大排序,转过程(C1);D.判断迁移条件步骤,包括以下过程:(D1).判断系统繁忙状态:使用linux系统调用,获取对象数据服务器的CPU利用率U,判断是否U>T,是则认为对象数据服务器处于繁忙状态,延时t4秒后,转过程(D1),否则转过程(D2);其中,40%≤利用率阈值T≤80%,t4=30~60秒;(D2).从设备负载表中获取各存储设备的负载信息,计算各存储设备容量利用率θi:其中,Zi为存储设备容量;(D3).按照存储设备容量利用率从小到大对存储设备排序,保存在容量利用率升序表中,置循环变量n=1,进行过程(D4);(D4).计算存储设备容量利用率差θ:θ=Tm-n+1-Tn;Ti为容量利用率升序表中的第i个元素的设备容量利用率;判断是否θ<W,是则转过程(D6);否则将容量利用率升序表中的第m-n+1个存储设备的设备标示符放到目标设备队列中,将第n个存储设备的设备标示符放到源设备队列中,转过程(D5);20%≤迁移阈值W≤80%;(D5)置n=n+1,转过程(D4);(D6).判断源设备队列和目标设备队列是否均不为空,是则转步骤E;否则转过程(D1);E.对象数据块迁移步骤,包括以下过程:(E1).从源设备队列中取出队首设备标示符e,从目标设备队列中取出队首设备标示符f,源设备队列和目标设备队列中剩余设备标示符依序递升为各自所在队列的队首设备标示符;(E2).将设备标示符e对应存储设备上大小为y的任一对象数据块d迁移到设备标示符f对应的存储设备上;其中,y=(Ze-Ne-Zf+Nf)/2,Ze、Zf分别为设备标示符e、f对应的存储设备容量、Ne、Nf分别为设备标示符e、f对应的存储设备可用容量;(E3).将元数据信息表中标识对象数据块d的对象标示符所对应的存储设备的设备标示符e,修改为设备标示符f,然后判断源设备队列和目标设备队列是否均不为空,是则转过程(E1);否则转步骤D;F.读写请求调度步骤,包括以下过程:(F1).当用户请求到达时,判断用户请求类型:读请求进行过程(F2)写请求进行过程(F4);读请求包括对象标示符oid、偏移量offset和读数据长度,写请求包括对象标示符oid、数据、数据长度和副本数L;1≤L≤8;(F2).根据对象标示符在元数据信息表中找到需要读的数据所在存储设备的设备标示符,判断是否设备标示符个数大于1,是则转过程(F3);否则从设备标示符对应的存储设备上进行读取,并将该存储设备的利用率因子加上Ω,转过程(F1);负载预估值Ω=2%~5%;(F3).选择其中一个设备标示符,其设备利用率因子最小,对其对应的存储设备进行读取,并将该存储设备的利用率因子加上Ω,转过程(F1);(F4).根据设备负载表计算所有存储设备的设备利用率因子之和λ,并判断λ:当λ≥m×α,则将大、中、小磁盘组表合并,按照设备利用率因子的大小对存储设备排序,取出L个设备利用率因子最小的存储设备为写操作设备;当m×β<λ<m×α,则将大、中磁盘组表合并,按照设备利用率因子的大小对存储设备排序,取出L个设备利用率因子最小的存储设备为写操作设备;当λ≤m×β,则对大磁盘组按照设备利用率因子的大小对存储设备排序,取出L个设备利用率因子最小的存储设备为写操作设备;其中,50%<利用率上阈值α<70%;0<利用率下阈值β<35%;(F5).按照副本数L,分别将数据写到L个写操作设备上,然后将标识数据的对象标示符及其对应的L个设备标示符写到元数据信息表中,转过程(F1)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110399426.5/,转载请声明来源钻瓜专利网。
- 上一篇:CPU死机监控的处理方法和装置
- 下一篇:射频前端电路
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置