System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于磁盘读写,特别涉及一种raid 5/6磁盘i/o请求整理聚合方法和装置。
技术介绍
1、独立磁盘冗余阵列(raid)技术通过在多个磁盘间分散数据,提升了数据的可靠性和系统的读写性能。raid 5利用条带化和奇偶校验在单盘故障时能够保证数据的完整性,而raid 6通过增加额外的校验块,进一步提高了系统的容错能力。
2、在raid 5和raid 6中,如果一次磁盘写操作的数据正好映射满一个条带(stripe),则相应的校验值可根据新的数据块的值就直接计算出来,该过程可以在raid的缓存中直接完成,整条写不需要任何多余的读操作,是效率最高的一种写操作。而如果一次磁盘写操作的数据不满一个stripe,会导致写惩罚行为,会根据数据的多少选择重构写或读改写。
3、重构写比整条写多一个读旧数据操作,所以其效率比整条写低。读改写比整条写多一个读旧数据和旧校验的操作,所以其效率也比整条写低。写惩罚过程增加了写入操作的复杂度,特别是在频繁写入或高负载的场景下,写惩罚对性能的负面影响更加显著。
技术实现思路
1、本申请的目的在于提供一种raid 5/6磁盘i/o请求整理聚合方法和装置,旨在解决资源分配不均、写入效率低下、校验盘寿命损耗、i/o处理延迟以及资源利用率低等问题。
2、根据本申请的第一方面,提供了一种raid 5/6磁盘i/o请求整理聚合方法,包括:
3、从多个等待队列中选择其中一个获取磁盘i/o请求,并将单个i/o按照条带边界分解到临
4、如果不存在与所述临时窗口的访问空间相匹配的中继窗口,则对临时窗口所需的资源进行评估,如果所有临时窗口的评估结果为资源充足,则分别注册新的中继窗口并申请与条带相关联的资源,如果某个临时窗口的评估结果为资源不足并且当前i/o请求不是监视窗口下的首个i/o请求,则将所述磁盘i/o请求挂起到挂起队列中;
5、如果所有临时窗口的访问空间都存在相匹配的中继窗口,则由所述中继窗口聚合所述相匹配的临时窗口的访问信息,并建立中继窗口与所述i/o请求的关联关系;当监视窗口生命周期结束时,将所述挂起队列中的i/o请求回迁到所述等待队列,并将所述中继窗口与正式窗口进行匹配;
6、基于所述中继窗口与正式窗口的匹配结果,将与所述正式窗口相关联的i/o请求派发到磁盘中,并根据i/o请求执行结果返回应答消息。
7、在可选的实施方式中,所述如果不存在与所述临时窗口的访问空间相匹配的中继窗口,则对临时窗口所需的资源进行评估,如果所有临时窗口的评估结果为资源充足,则分别注册新的中继窗口并申请与条带相关联的资源,如果某个临时窗口的评估结果为资源不足并且当前i/o请求不是监视窗口下的首个i/o请求,则将所述磁盘i/o请求挂起到挂起队列中,进一步包括:
8、如果不存在与所述临时窗口的访问空间相匹配的中继窗口,根据所述i/o请求注册新的中继窗口并申请与条带相关联的资源,使新的中继窗口的资源满足所述临时窗口的处理需求;
9、如果资源申请成功,则在所述监视窗口的生命周期结束后,将所述中继窗口与正式窗口进行匹配;
10、如果资源不足,则将所述磁盘i/o请求挂起到挂起队列中;
11、在所述监视窗口的生命周期结束后,将所述中继窗口与正式窗口进行匹配。
12、在可选的实施方式中,所述将所述挂起队列中的i/o请求回迁到所述等待队列,进一步包括:
13、将所述挂起队列中的所有i/o请求按顺序回迁至所述等待队列首部,对所述中继窗口进行资源修正。
14、在可选的实施方式中,所述根据所述i/o请求注册新的中继窗口并申请与条带相关联的资源,进一步包括:
15、对于随机i/o请求,注册随机中继窗口,根据每个命中的i/o请求的需求来申请资源;
16、对于连续i/o请求,注册连续中继窗口,申请满窗口资源,并统计每个命中的i/o请求所需资源的总和,在中继窗口转换为正式窗口前修正资源,释放多余资源。
17、在可选的实施方式中,在所述将与所述正式窗口相关联的i/o请求派发到磁盘中之后,进一步包括:
18、当磁盘处理完所有的派发i/o时,释放所述正式窗口及其对应的资源。
19、根据本申请的第二方面,提供了一种raid 5/6磁盘i/o请求整理聚合装置,包括:
20、资源评估单元,用于从等待队列中获取磁盘i/o请求流,通过监视窗口从所述磁盘i/o请求流中分割出i/o请求,将单个i/o请求按照条带边界分解到临时窗口,判断是否存在与临时窗口的访问空间相匹配的中继窗口;
21、窗口管理单元,用于当不存在与所述临时窗口的访问空间相匹配的中继窗口,则对临时窗口的资源进行评估,如果所有的临时窗口评估结果都为资源充足,则分别注册新的中继窗口并申请与条带相关联的资源;
22、如果某个临时窗口的评估结果为资源不足并且当前i/o请求不是监视窗口下的首个i/o请求,则将所述磁盘i/o请求挂起到挂起队列中;如果所有临时窗口的访问空间都存在相匹配的中继窗口(包括新注册的),则由所述中继窗口聚合所述相匹配的临时窗口的访问信息,并建立中继窗口与所述i/o请求的关联关系;当监视窗口生命周期结束时,将所述挂起队列中的i/o请求回迁到所述等待队列,并将所述中继窗口与正式窗口进行匹配;
23、窗口执行单元,用于基于所述中继窗口与正式窗口的匹配结果,将与所述正式窗口相关联的i/o请求派发到磁盘中,并根据i/o请求执行结果返回应答消息。
24、相比于相关技术,本申请的技术方案具备以下优点:
25、通过优化调整i/o请求的顺序,提升了多个请求的高效聚合,增加了整条写概率,从而显著提升了raid 5/6系统在处理多vd多流并发i/o请求操作时的性能;通过在i/o请求处理前先进行i/o资源评估与现有rwin的匹配检测,优化调整i/o请求顺序,避免过多的数据占用资源,使有限的资源得到充分利用,显著提升了资源使用效率;减轻磁盘写入负担,延长磁盘寿命;通过继承i/o的随机/连续特性,区别处理随机rwin和连续rwin,同时随机rwin加入动态调整生命周期的策略,既满足了随机i/o场景和连续i/o场景的业务特征,也使随机i/o场景具备一定的聚合能力,能够适应复杂多变的业务场景。本申请的方案采用了分步处理的思路,能够应用流水线处理机制,便于转化为硬件电路实现。
26、本申请的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可以通过在说明书以及附图中所指出的结构和流程来实现和获取。
本文档来自技高网...【技术保护点】
1.一种RAID 5/6磁盘I/O请求整理聚合方法,其特征在于,包括:
2.根据权利要求1所述的RAID 5/6磁盘I/O请求整理聚合方法,其特征在于,所述如果不存在与所述临时窗口的访问空间相匹配的中继窗口,则对临时窗口的资源进行评估;如果评估结果为资源充足,则注册新的中继窗口并用于申请与条带相关联的资源;如果评估结果为资源不足并且当前I/O请求不是监视窗口下的首个I/O请求,则将所述磁盘I/O请求挂起到挂起队列中,进一步包括:
3.根据权利要求1所述的RAID 5/6磁盘I/O请求整理聚合方法,其特征在于,所述将所述挂起队列中的I/O请求回迁到所述等待队列,进一步包括:
4.根据权利要求2所述的RAID 5/6磁盘I/O请求整理聚合方法,其特征在于,所述根据所述I/O请求注册新的中继窗口并申请与条带相关联的资源,进一步包括:
5.根据权利要求1所述的RAID 5/6磁盘I/O请求整理聚合方法,其特征在于,在所述将与所述正式窗口相关联的I/O请求派发到磁盘中之后,进一步包括:
6.一种RAID 5/6磁盘I/O请求整理聚
7.根据权利要求6所述的RAID 5/6磁盘I/O请求整理聚合装置,其特征在于,所述窗口管理单元,进一步用于:
8.根据权利要求6所述的RAID 5/6磁盘I/O请求整理聚合装置,其特征在于,所述窗口管理单元,进一步用于:
9.根据权利要求7所述的RAID 5/6磁盘I/O请求整理聚合装置,其特征在于,所述窗口管理单元,进一步用于:
10.根据权利要求6所述的RAID 5/6磁盘I/O请求整理聚合装置,其特征在于,所述窗口执行单元,进一步用于:
...【技术特征摘要】
1.一种raid 5/6磁盘i/o请求整理聚合方法,其特征在于,包括:
2.根据权利要求1所述的raid 5/6磁盘i/o请求整理聚合方法,其特征在于,所述如果不存在与所述临时窗口的访问空间相匹配的中继窗口,则对临时窗口的资源进行评估;如果评估结果为资源充足,则注册新的中继窗口并用于申请与条带相关联的资源;如果评估结果为资源不足并且当前i/o请求不是监视窗口下的首个i/o请求,则将所述磁盘i/o请求挂起到挂起队列中,进一步包括:
3.根据权利要求1所述的raid 5/6磁盘i/o请求整理聚合方法,其特征在于,所述将所述挂起队列中的i/o请求回迁到所述等待队列,进一步包括:
4.根据权利要求2所述的raid 5/6磁盘i/o请求整理聚合方法,其特征在于,所述根据所述i/o请求注册新的中继窗口并申请与条带相关联的资源,...
【专利技术属性】
技术研发人员:罗玮,张辅云,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。