• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 15
    • 下载费用:30 金币  

    重庆时时彩专家稳赚: 用于模拟慢速存储盘的方法和装置.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201510847327.7

    申请日:

    2015.11.26

    公开号:

    CN106802847A

    公开日:

    2017.06.06

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06F 11/26申请日:20151126|||公开
    IPC分类号: G06F11/26 主分类号: G06F11/26
    申请人: 伊姆西公司
    发明人: 吕满; 刘冰; 邹勇; 梅朝军
    地址: 美国马萨诸塞州
    优先权:
    专利代理机构: 北京市金杜律师事务所 11256 代理人: 王茂华;程延霞
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510847327.7

    授权公告号:

    |||

    法律状态公告日:

    2017.06.30|||2017.06.06

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明的实施方式提供了一种用于模拟慢速存储盘的方法和装置。该方法包括:截获将要分派至存储盘的输入/输出I/O命令;以及基于预定的延迟注入策略来向所截获的I/O命令的分派注入延迟,以利用所述存储盘来模拟慢速存储盘。根据本发明的各个实施方式,降低了对慢盘进行测试的成本,并且具有灵活性和可扩展性。

    权利要求书

    1.一种用于模拟慢速存储盘的方法,包括:
    截获将要分派至存储盘的输入/输出I/O命令;以及
    基于预定的延迟注入策略来向所截获的I/O命令的分派注入延
    迟,以利用所述存储盘来模拟慢速存储盘。
    2.根据权利要求1所述的方法,其中所述延迟注入策略至少指
    示:所述延迟注入策略所针对的存储盘和/或所针对的I/O命令的类
    型。
    3.根据权利要求2所述的方法,其中在所述延迟注入策略指示所
    针对的存储盘的情况下,基于预定的延迟注入策略来向所截获的I/O
    命令的分派注入延迟包括:
    识别所截获的I/O命令所针对的存储盘;
    确定所截获的I/O命令所针对的存储盘是否与所述延迟注入策略
    所指示的磁盘相匹配;以及
    响应于所截获的I/O命令所针对的存储盘与所述延迟注入策略所
    指示的存储盘相匹配,向所截获的I/O命令的分派注入延迟。
    4.根据权利要求2或3所述的方法,其中在所述延迟注入策略指
    示所针对的I/O命令的类型的情况下,基于预定的延迟注入策略来向
    所截获的I/O命令的分派注入延迟包括:
    识别所截获的I/O命令的类型;
    确定所识别的I/O命令的类型是否与所述延迟注入策略所指示的
    I/O命令的类型相匹配;以及
    响应于所识别的I/O命令的类型与所述延迟注入策略所指示的
    I/O命令的类型相匹配,向所截获的I/O命令的分派注入延迟。
    5.根据权利要求2所述的方法,其中所述延迟注入策略进一步指
    示:
    向预定数目的I/O命令的分派注入延迟;以及
    向所述预定数目的I/O命令的分派注入延迟的频率。
    6.根据权利要求5所述的方法,其中向所截获的I/O命令的分派
    注入延迟包括:
    应用随机算法以确定是否向所截获的I/O命令的分派注入延迟。
    7.一种用于模拟慢速存储盘的装置,包括:
    截获单元,被配置为截获将要分派至存储盘的输入/输出I/O命
    令;以及
    延迟注入单元,被配置为基于预定的延迟注入策略来向所截获的
    I/O命令的分派注入延迟,以利用所述存储盘来模拟慢速存储盘。
    8.根据权利要求7所述的装置,其中所述延迟注入策略至少指
    示:所述延迟注入策略所针对的存储盘和/或所针对的I/O命令的类
    型。
    9.根据权利要求8所述的装置,其中在所述延迟注入策略指示所
    针对的存储盘的情况下,所述延迟注入单元被进一步配置为:
    识别所截获的I/O命令所针对的存储盘;
    确定所截获的I/O命令所针对的存储盘是否与所述延迟注入策略
    所指示的磁盘相匹配;以及
    响应于所截获的I/O命令所针对的存储盘与所述延迟注入策略所
    指示的存储盘相匹配,向所截获的I/O命令的分派注入延迟。
    10.根据权利要求8或9所述的装置,其中在所述延迟注入策略
    指示所针对的I/O命令的类型的情况下,所述延迟注入单元被进一步
    配置为:
    识别所截获的I/O命令的类型;
    确定所识别的I/O命令的类型是否与所述延迟注入策略所指示的
    I/O命令的类型相匹配;以及
    响应于所识别的I/O命令的类型与所述延迟注入策略所指示的
    I/O命令的类型相匹配,向所截获的I/O命令的分派注入延迟。
    11.根据权利要求8所述的装置,其中所述延迟注入策略进一步
    指示:
    向预定数目的I/O命令的分派注入延迟;以及
    向所述预定数目的I/O命令的分派注入延迟的频率。
    12.根据权利要求11所述的装置,其中所述延迟注入单元被进一
    步配置为:
    应用随机算法以确定是否向所截获的I/O命令的分派注入延迟。
    13.一种服务器,包括根据权利要求7-12中任一权利要求所述的装
    置。
    14.一种服务器,包括:
    一个或多个处理器;
    存储有计算机程序指令的存储器,当由所述一个或多个处理器执行
    所述计算机程序指令时使得所述应用服务器执行根据权利要求1-6中任
    一权利要求所述的方法。
    15.一种计算机程序产品,包括计算机程序指令,当由计算设备执
    行所述计算机程序指令时使得所述计算设备执行根据权利要求1-6中任
    一权利要求所述的方法。

    说明书

    用于模拟慢速存储盘的方法和装置

    技术领域

    本发明的各实施方式涉及存储系统领域,并且更具体地,涉及用
    于模拟慢速存储盘的方法和装置。

    背景技术

    存储系统的硬件部分通常包括一个或多个存储盘。存储盘的性能
    会严重影响整个存储系统的性能,尤其是当存储盘被用作根文件系统
    盘时。与存储盘性能相关的因素之一为I/O响应时间。I/O响应时间
    指代从用户发出I/O请求到接收到存储盘对该I/O请求的响应所需的
    时间。存储盘可以因机械问题(例如磁头退化)或环境问题(例如湿
    度过大)而导致I/O响应时间变长,从而成为“慢速存储盘”(在下
    文中简称为“慢盘”)。慢盘会对存储系统的性能造成不利影响。因而,
    存储系统供应商所面临的一项挑战是,如何对慢盘的事件进行模拟,
    以便在发布存储系统之前,充分测试慢盘对存储系统的影响以消除未
    来可能带来的不利影响。

    目前,一般采用基于硬件的方式来对慢盘进行测试。例如,在一
    种方案中,采用从客户现场或存储盘制造商返回的真实的慢盘来进行
    测试。在另一种方案中,采用特殊的存储盘模拟器来进行测试,例如
    可从SANBlaze公司获得的存储盘模拟器。

    然而,上述两种方案具有各自的缺点。例如,对于上述第一种方
    案,真实的慢盘经常是特别难以获得的;而且,即使可以获得这种慢
    盘,其慢速模式也是固定的,因而难以充分测试这种慢盘对存储系统
    的影响。此外,对于上述第二种方案,由于需要购买特殊的存储盘模
    拟器,因而增加了测试成本;并且这种特殊的存储盘模拟器被并入存
    储系统后有时无法像常规存储盘那样操作。

    因此,需要提供一种便于模拟慢盘的技术方案。

    发明内容

    为了解决一个或多个现有技术中存在的问题,根据本发明的实施
    方式提出一种利用软件来模拟慢盘的技术方案。

    根据本发明实施方式的第一方面,提供一种用于模拟慢速存储盘
    的方法。该方法包括:截获将要分派至存储盘的输入/输出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命令的分派注入延迟。

    根据本发明实施方式的第二方面,提供了一种用于模拟慢速存储
    盘的装置。该装置包括:截获单元,被配置为截获将要分派至存储盘
    的输入/输出I/O命令;以及延迟注入单元,被配置为基于预定的延迟
    注入策略来向所截获的I/O命令的分派注入延迟,以利用存储盘来模
    拟慢速存储盘。

    根据本发明实施方式的第三方面,提供了一种服务器。该服务器
    包括根据本发明实施方式的用于模拟慢速存储盘的装置。

    根据本发明实施方式的第四方面,提供了一种服务器。该服务器
    包括:一个或多个处理器;存储有计算机程序指令的存储器,当由所
    述一个或多个处理器执行所述计算机程序指令时使得所述应用服务
    器执行根据本发明实施方式的用于模拟慢速存储盘的方法。

    根据本发明实施方式的第五方面,提供了一种计算机程序产品。
    该计算机程序产品包括计算机程序指令,当由计算设备执行所述计算
    机程序指令时使得所述计算设备执行根据本发明实施方式的用于模
    拟慢速存储盘的方法。

    根据本发明的各个实施方式,由于利用软件对慢盘进行模拟,因
    而无需额外的硬件,从而降低了对慢盘进行测试的成本。此外,借助
    于操作系统的内核所提供的接口,用户可以灵活地、动态地配置延迟
    注入策略。另外,根据用户配置的延迟注入策略,可以模拟慢盘的任
    何慢速模式。

    再者,现有方案的实施取决于可获得的真实的慢盘或存储盘模拟
    器的数目,因而无法针对大量存储盘同时实施。然而,根据本发明的
    各个实施方式,可以针对大量存储盘同时实施对慢盘的模拟,因而具
    有可扩展性。此外,采用根据本发明的各个实施方式,无需对操作系
    统的其他组件进行改动,从而实现了透明性。

    附图说明

    结合附图并参考以下详细说明,本发明的各实施方式的特征、优
    点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出
    了本发明的若干实施方式。在附图中:

    图1示出能够用于支持本发明的实施方式的示例性存储系统实现
    架构的示意图;

    图2示出根据本发明的一个实施方式的用于模拟慢盘的方法的流
    程图;

    图3示出了根据本发明的一个实施方式的延迟注入过程;

    图4示出根据本发明的一个实施方式的用于模拟慢盘的装置的框
    图;以及

    图5示出了能够用于实现根据本发明实施方式的计算机系统的示
    意性框图。

    具体实施方式

    下面将参考附图中示出的若干示例实施方式来描述本发明的原
    理。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够
    更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。

    图1示出能够用于支持本发明的实施方式的示例性存储系统实现
    架构100的示意图。支持本发明实施方式的示例性存储系统实现架构
    例如可以采用Linux操作系统。这里对于Linux操作系统的描述仅旨
    在给出一种示例性的存储系统实现架构,而并非以该示例中的任何细
    节对本发明的范围进行任何限制。本领域的技术人员可以理解,还可
    以采用任何其它适合的操作系统来支持根据本发明的各个实施方式。

    如图1所示,存储系统实现架构100包括软件堆栈和硬件部分。
    软件堆栈包括应用程序110、文件系统120、SCSI(Small Computer
    System Interface,小型计算机系统接口)协议层130、以及HBA(Host
    Bus Adapter,主机总线适配器)驱动程序层140。硬件部分包括存储
    盘1501、…、150n(统称为存储盘150)。

    具体地,SCSI协议层130包括SCSI上层131、SCSI中间层132
    和SCSI下层133。

    SCSI上层131为SCSI设备驱动层,其可以由SCSI设备开发商
    提供。SCSI上层131被配置为接收来自上层(例如文件系统)的请
    求并将其转换成SCSI请求,同时将SCSI中间层132执行的SCSI命
    令及状态信息返回上层。

    SCSI中间层132为SCSI总线驱动层,其可以由操作系统开发者
    提供。SCSI中间层132为SCSI上层131和SCSI下层133的公共服
    务层,其提供了可供上层和下层驱动器使用的多个函数。SCSI中间
    层132是SCSI协议层130的核心,可以包括与SCSI协议??榛喙?br />的多种功能,例如总线扫描、错误处理、SCSI命令排序等。这意味
    着可以以相同的方式使用具有不同类型接口的HBA。此外,SCSI中
    间层132能够将来自SCSI上层131的SCSI请求转换成SCSI命令。
    在SCSI命令执行完成后,SCSI中间层132能够接收来自SCSI下层
    133的SCSI响应,并通知SCSI上层131响应的SCSI请求已经完成。

    SCSI下层133为适配器驱动层,其可以由适配器的制造商提供。
    SCSI下层133可以包括适于处理各种不同的适配器类型的大量代码。

    HBA是在服务器和存储设备(例如存储盘150)之间提供I/O处
    理和物理连接的电路板和/或集成电路适配器。HBA驱动程序层140
    被配置为用于实现服务器和存储设备之间的通信。

    在图1所示的存储系统实现架构100中,来自于用户的I/O请求
    经由应用程序110、文件系统120和SCSI上层131被转发至SCSI中
    间层132。SCSI中间层132将该I/O请求转换成I/O命令,并将该I/O
    命令经由SCSI下层133分发至HBA驱动程序层140。HBA驱动程序
    层140将该I/O命令封装成包,并将其通过存储网络(图1中未示出)
    转发至存储盘150的控制器(图1中未示出)。存储盘150的控制器
    对所接收的包进行解析并且将其转换为存储盘150可识别的I/O命
    令。

    图2示出根据本发明的一个实施方式的用于模拟慢盘的方法200
    的流程图。在下文中,将参照图2并借助于图1所示的存储系统实现
    架构100的示例,来详细描述根据本发明的一个实施方式的用于模拟
    慢盘的方法。

    需要注意的是,本文中所使用的术语“存储盘”可以包括固态盘
    (SSD)、机械存储盘(HDD)、混合存储盘(SSHD)、或者其他
    类似的存储设备。本发明的范围在此方面不受限制。此外,存储盘可
    以是计算机、服务器或者其他计算设备的存储系统的一部分。

    此外,在本公开的上下文中,如果在统计时间段内,针对一个存
    储盘的I/O请求中,存在数量超过预定数量阈值的I/O请求的响应时
    间超过预定时间阈值,则可以认为该存储盘为“慢速存储盘”或“慢
    盘”。该预定时间阈值例如可以根据存储盘的类型来确定。例如,对
    于存储系统或个人计算机的存储盘,该预定时间阈值可以被确定为
    10ms;而对于SSD盘,该预定时间阈值可以被确定为1ms。

    如图2所示,在步骤S210,截获将要分派至存储盘的I/O命令。
    由于本发明旨在通过截获将要分派至存储盘的I/O命令并且向所截获
    的I/O命令中注入延迟来模拟慢盘,因此期望在尽可能靠近存储盘的
    软件层截获I/O命令并且向其注入延迟。如前所述,存储盘150通过
    HBA(例如如HBA驱动程序层140所示)与服务器进行物理连接。
    换言之,HBA驱动程序层140是软件堆栈中最靠近存储盘150的软
    件层。因而,在一些实施方式中,可以在与存储盘150通信的HBA
    驱动程序层140截获将要分派至存储盘150的I/O命令,由此可以最
    小化软件层对延迟注入的影响。

    然而,由于可以采用多种不同类型的HBA(即,具有不同类型接
    口的HBA)将存储盘150与服务器进行物理连接,因而如果在HBA
    驱动程序层140截获I/O命令并且向其注入延迟,则意味着需要对每
    种类型的HBA的驱动程序进行改动,由此降低了根据本发明的方法
    的普遍适用性。此外,考虑到SCSI中间层132是大多数块设备都会
    使用的公共层并且是较为靠近存储盘150的软件层,因此,在另一些
    实施方式中,可以在与存储盘150通信的SCSI中间层132截获将要
    分派至存储盘150的I/O命令。

    继续参照图2,在步骤S220,基于预定的延迟注入策略来向所截
    获的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命令的类型。又例如,
    预定的延迟注入策略可以指示针对存储系统中的所有存储盘?;谎?br />之,预定的延迟注入策略可以指示针对存储系统中的所有存储盘的所
    有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操作是在操作系统的内核态下执行的。
    操作系统的内核通?;崽峁┮幌盗薪涌谝苑奖阌胗没Ы换?。因此,在
    一些实施方式中,可以经由操作系统所提供的接口将用户确定的延迟
    注入策略导入操作系统的内核。作为一个示例,在采用Linux操作系
    统的情况下,每个块设备均具有sysfs(sys文件系统)接口,用户可
    以对sysfs接口下的某些属性文件进行读取或修改。例如,用户可以
    通过向sysfs接口下的配置文件写入相应的字符串来将延迟注入策略
    导入操作系统的内核。此外,用户也可以读取该配置文件以了解当前
    的延迟注入状态,例如是否启动了延迟注入、将要向何种类型的I/O
    注入延迟、延迟的长度等。

    然而,应当理解,除了借助于sysfs接口之外,用户也可以借助
    于其他任何适当的方式来将延迟注入策略导入操作系统的内核,包括
    但是不限于:IOCTL(IO控制)接口、PROC接口、系统调用、RPC
    (远程过程调用)。

    根据本发明的实施方式,实现了利用软件(例如在图1所示的软
    件堆栈中)对慢盘的模拟。模拟开销可以忽略不计,因为模拟过程仅
    需占用非常少的存储器/CPU资源。

    此外,借助于操作系统的内核所提供的接口,用户可以动态地配
    置延迟注入策略。另外,根据用户配置的延迟注入策略,可以模拟慢
    盘的任何慢速模式。该慢速模式例如包括但是不限于:特定存储盘针
    对特定类型的I/O命令(例如读取或写入I/O命令)的反应较慢,特
    定存储盘针对所有类型的I/O命令的反应较慢,存储系统中的所有存
    储盘针对特定类型的I/O命令的反应较慢,存储系统中的所有存储盘
    针对所有类型的I/O命令的反应较慢。

    以下将结合图3来描述根据本发明的一个实施方式的延迟注入过
    程。如前所述,预定的延迟注入策略可以指示:向存储系统中的特定
    存储盘上的特定类型的I/O命令的分派注入延迟。图3示出了向存储
    系统中的特定存储盘上的特定类型的I/O命令的分派注入延迟的过程
    300的示例性流程图。在一个实施方式中,过程300可以在图1所示
    的SCSI中间层132执行。

    具体地,如图3所示,过程300以所截获的I/O命令开始??梢?br />理解,I/O命令本身可以指示I/O操作所针对的存储盘以及I/O命令的
    类型。例如,I/O命令可以指示I/O操作所针对的存储盘的标识符,I/O
    命令的类型是读取还是写入。在步骤S310,确定是否启动了针对该
    I/O命令所指示的存储盘的慢盘模拟过程?;谎灾?,在步骤S310,识
    别所截获的I/O命令所针对的存储盘、以及确定所截获的I/O命令所
    针对的存储盘是否与延迟注入策略所指示的磁盘相匹配。如果所截获
    的I/O命令所针对的存储盘与延迟注入策略所指示的存储盘相匹配,
    则过程300前进至步骤S320;否则前进至步骤S380。

    在步骤S320,识别所截获的I/O命令的类型,并且确定所识别的
    I/O命令的类型是否与延迟注入策略所指示的I/O命令的类型相匹配。
    如果所识别的I/O命令的类型与延迟注入策略所指示的I/O命令的类
    型相匹配,则前进至步骤S330,否则前进至步骤S380。

    如前所述,预定的延迟注入策略可以指示:向特定存储盘上的特
    定类型的、预定数目的I/O命令的分派注入延迟。例如,预定的延迟
    注入策略可以指示:向特定存储盘上的1000个读取I/O命令的分派
    注入延迟。就此而言,在步骤S330,确定剩余的待注入延迟的I/O(也
    简称为“剩余的慢速I/O))命令的数目是否大于零,即确定是否对
    预定数目(例如1000个)的I/O命令的分派注入了延迟。如果是,
    则过程300前进至步骤S340,否则前进至步骤S380。

    仍然如前所述,预定的延迟注入策略可以指示:向该预定数目的
    I/O命令的分派注入延迟的频率。该频率可以指明预定时间段内期望
    向其分派注入延迟的I/O命令的数目与该预定时间段内的I/O命令的
    总数之间的比率。例如,该频率可以为0到100之间的任意整数。该
    任意整数表示预定时间段内期望向其分派注入延迟的I/O命令的数目
    与该预定时间段内的I/O命令的总数之间的比率为0%到100%,其中
    0%表示从不注入延迟,而100%表示总是注入延迟。就此而言,在步
    骤S340确定用户是否指定了注入延迟的频率,即确定延迟注入策略
    是否指示向预定数目的I/O命令的分派注入延迟的频率。如果是,则
    过程300前进至步骤S350,否则返回至步骤S330。

    在步骤S350,应用随机算法,以便在随后的步骤S360中确定是
    否向所截获的I/O命令的分派注入延迟。具体地,在步骤S350中应
    用随机算法来生成在0到100之间均匀分布的一个随机数。接下来,
    在步骤S360中将所生成的随机数与延迟注入策略所指示的注入延迟
    的频率进行比较,如果所生成的随机数大于注入延迟的频率,则前进
    至步骤S370,否则前进至步骤S380。

    在步骤S370,向所截获的I/O的分派注入延迟。具体地,在步骤
    S370中,向所截获的I/O的分派注入延迟可以包括:针对所截获的I/O
    应用定时器,并且将定时器的超时值设定为期望注入的延迟的时间长
    度。该时间长度例如可以根据存储盘的类型来确定。例如,对于个人
    计算机中所使用的存储盘,该时间长度例如可以被确定为10ms;而
    对于SSD盘,该时间长度例如可以被确定为1ms。当定时器期满时,
    减少剩余的慢速I/O的数目并且前进至步骤S380。

    可替换地,在步骤S370中,可以通过以下方式来向所截获的I/O
    的分派注入延迟。具体地,可以将所截获的I/O添加到一个待处理列
    表中并且记录向该列表中添加该I/O的时间,例如T0。进一步,可以
    采用特定的线程以预定是时间间隔来周期性地检查该列表??梢愿?br />期望注入的延迟的长度(例如D0)来设定该时间间隔。例如,如果
    对于个人计算机中所使用的存储盘,将期望注入的延迟的长度确定为
    10ms,则例如可以将该时间间隔设定为1ms。假定在时间T1检查该
    列表,针对每个截获的I/O,如果满足:T1–T0>=D0,则减少剩余
    的慢速I/O的数目并且前进至步骤S380。

    在步骤S380,通过公用的SCSI I/O分派接口将I/O命令发送至下
    层,例如图1所示的HBA驱动程序层140。

    应当理解,以上仅出于说明的目的描述了向所截获的I/O的分派
    注入延迟的过程,但是本发明的实施方式并不局限于此。根据本发明
    的实施方式的教导,本领域技术人员可以采用任何适当的方式来向所
    截获的I/O的分派注入延迟。

    此外,应当理解,以上仅出于说明的目的而结合图3描述了向存
    储系统中的特定存储盘上的特定类型的I/O命令的分派注入延迟的过
    程。然而,基于延迟注入策略的指示并且根据本发明的实施方式的教
    导,本领域技术人员可以采用与过程300类似的过程、利用比过程300
    中所包含的步骤更多或更少的步骤来向存储系统中的特定存储盘上
    的所有类型的I/O命令的分派注入延迟、或者向存储系统中的所有存
    储盘上的特定类型的I/O命令的分派注入延迟、或者向存储系统中的
    所有存储盘上的所有类型的I/O命令的分派注入延迟。

    本发明的实施方式还提供了一种用于模拟慢速存储盘的装置。图
    4示出根据本发明的一个实施方式的用于模拟慢盘的装置400的框
    图。装置400可以在任何适当的服务器上实现。

    如图4所示,装置400包括:截获单元410,被配置为截获将要
    分派至存储盘的输入/输出I/O命令;以及延迟注入单元420,被配置
    为基于预定的延迟注入策略来向所截获的I/O命令的分派注入延迟,
    以利用所述存储盘来模拟慢速存储盘。

    在一些实施方式中,该延迟注入策略至少指示:该延迟注入策略
    所针对的存储盘和/或所针对的I/O命令的类型。

    在一些实施方式中,在该延迟注入策略指示所针对的存储盘的情
    况下,延迟注入单元420被进一步配置为:识别所截获的I/O命令所
    针对的存储盘;确定所截获的I/O命令所针对的存储盘是否与该延迟
    注入策略所指示的磁盘相匹配;以及响应于所截获的I/O命令所针对
    的存储盘与该延迟注入策略所指示的存储盘相匹配,向所截获的I/O
    命令的分派注入延迟。

    在一些实施方式中,在该延迟注入策略指示所针对的I/O命令的
    类型的情况下,延迟注入单元420被进一步配置为:识别所截获的I/O
    命令的类型;确定所识别的I/O命令的类型是否与该延迟注入策略所
    指示的I/O命令的类型相匹配;以及响应于所识别的I/O命令的类型
    与该延迟注入策略所指示的I/O命令的类型相匹配,向所截获的I/O
    命令的分派注入延迟。

    在一些实施方式中,该延迟注入策略进一步指示:向预定数目的
    I/O命令的分派注入延迟;以及向该预定数目的I/O命令的分派注入
    延迟的频率。

    图5是示出能够用于实现根据本发明实施方式的计算机系统的示
    意性框图。

    下面参考图5,其示出了适于用来实现本发明实施方式的计算机
    系统500的示意性框图。如图5所示,计算机系统500包括中央处理
    单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的
    程序或者从存储部分508加载到随机访问存储器(RAM)503中的程
    序而执行各种适当的动作和处理。在RAM 503中,还存储有计算机
    系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM
    503通过总线404彼此相连。输入/输出(I/O)接口505也连接至总
    线504。

    以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;
    包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等
    的输出部分507;包括存储盘等的存储部分508;以及包括诸如LAN
    卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由
    诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O
    接口505??刹鹦督橹?11,诸如存储盘、光盘、磁光盘、半导体存
    储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算
    机程序根据需要被安装入存储部分508。

    特别地,根据本发明的实施方式,上文参考图2和3描述的过程
    可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计
    算机程序产品,其包括有形地包含在计算机可读介质上的计算机程
    序,所述计算机程序包含用于执行方法200和300的程序代码。

    一般而言,本发明的各种示例实施方式可以在硬件或专用电路、
    软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而
    其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件
    或软件中实施。当本发明的实施方式的各方面被图示或描述为框图、
    流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、
    系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专
    用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中
    实施。

    而且,流程图中的各框可以被看作是方法步骤,和/或计算机程序
    代码的操作生成的操作,和/或理解为执行相关功能的多个耦合的逻辑
    电路元件。例如,本发明的实施方式包括计算机程序产品,该计算机
    程序产品包括有形地实现在计算机可读介质上的计算机程序,该计算
    机程序包含被配置为实现上文描述方法的程序代码。

    在公开的上下文内,计算机可读介质可以是包含或存储用于或有
    关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读
    介质可以是机器可读信号介质或机器可读存储介质。计算机可读介质
    可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体
    系统、装置或设备,或其任意合适的组合?;骺啥链娲⒔橹实母?br />细示例包括带有一根或多根导线的电气连接、便携式计算机存储盘、
    存储盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除
    可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,
    或其任意合适的组合。

    用于实现本发明的方法的计算机程序代码可以用一种或多种编
    程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算
    机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机
    或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中
    规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算
    机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或
    完全在远程计算机或服务器上执行。

    另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此
    类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操
    作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。
    同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释
    为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明
    的特定实施方式的描述。本说明书中在分开的实施方式的上下文中描
    述的某些特征也可以整合实施在单个实施方式中。相反地,在单个实
    施方式的上下文中描述的各种特征也可以分离地在多个实施方式或
    在任意合适的子组合中实施。

    针对前述本发明的示例实施方式的各种修改、改变将在连同附图
    查看前述描述时对相关技术领域的技术人员变得明显。任何及所有修
    改将仍落入非限制的和本发明的示例实施方式范围。此外,前述说明
    书和附图存在启发的益处,涉及本发明的这些实施方式的技术领域的
    技术人员将会想到此处阐明的本发明的其他实施方式。

    将会理解,本发明的实施方式不限于公开的特定实施方式,并且
    修改和其他实施方式都应包含于所附的权利要求范围内。尽管此处使
    用了特定的术语,但是它们仅在通用和描述的意义上使用,而并不用
    于限制目的。

    关 键 词:
    用于 模拟 慢速 存储 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:用于模拟慢速存储盘的方法和装置.pdf
    链接地址://www.4mum.com.cn/p-6000881.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03