提高纠删码随机读取平均效率的方法、装置和计算机设备制造方法及图纸

技术编号:33465465 阅读:14 留言:0更新日期:2022-05-19 00:44
本申请涉及一种提高纠删码随机读取平均效率的方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。采用本方法能够提高读取平均效率,减少读取平均时间。减少读取平均时间。减少读取平均时间。

【技术实现步骤摘要】
提高纠删码随机读取平均效率的方法、装置和计算机设备


[0001]本申请涉及分布式存储
,特别是涉及一种提高纠删码随机读取平均效率的方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]快速增长的海量数据对于可靠存储系统有了更多更高的要求,传统的基于RAID的单点存储系统已无法满足大数据在性能、经济成本和可扩展性方面的要求。因此,需要构造一个具有海量存储、高可靠、高可用并且经济成本要低的分布式存储系统。这些系统不仅可以通过并行访问提高读写能力,而且可以通过增加时间成本较低的设备扩大规模。各大分布式存储系统已经开始支持纠删码机制,极大降低了存储成本,但是受限于纠删码本身的性质,相比于传统三副本机制来说,纠删码读写效率特别实在随机读上需要更多时间和资源,同时读到坏块还需要进行故障恢复。
[0003]分布式存储存储系统中读取数据是通过客户端向集群发送读取请求,存储系统会为每个客户端请求建立一个请求队列。再从请求队列根据每个请求信息进行提取确定优先级形成内部的读取队列进行读取。但面对每个客户端都存在大量的随机读请求,就会为每个请求进行队列排序进行单独读取。对是同一编码扇区,不能连续读取。造成多次反复进行连接读取调用,造成I/O资源浪费,增加读取时间,调度难度增加。
[0004]因此,现有的分布式存储系统中纠删码集群随机读取存在着读取效率低的技术问题亟需解决。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提升效率的提高纠删码随机读取平均效率的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种提高纠删码随机读取平均效率的方法。所述方法包括:
[0007]对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;
[0008]在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0009]在其中一个实施例中,所述对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表包括:
[0010]初始化客户随机读取请求队列,遍历所述随机读取请求队列,判断所述随机读取请求队列中是否存属于不同编码扇区的随机读取请求;
[0011]若存在,基于编码扇区对所述随机读取请求队列中的读取请求进行分类,将相同编码扇区的读取请求存放在一起,生成以编码扇区为单位的读取请求列表。
[0012]在其中一个实施例中,所述将相同编码扇区的读取请求存放在一起,生成以编码
扇区为单位的读取请求列表包括:
[0013]获取随机读取请求队列中各读取请求的编码扇区,将相同编码扇区的读取请求存放在一起;
[0014]重复上述获取各读取请求的编码扇区以及将相同编码扇区的读取请求存放在一起的步骤,直至随机读取请求队列中所有的读取请求均按照编码扇区进行分类。
[0015]在其中一个实施例中,所述在以编码扇区为单位的读取请求列表中将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列包括:
[0016]初始化以编码扇区为单位的读取请求列表,遍历以编码扇区为单位的读取请求列表,判断是否存在同一编码扇区内重复或者连续的读取请求;
[0017]若存在,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0018]在其中一个实施例中,所述将同一编码扇区内重复或者连续的读取请求进行合并处理包括:
[0019]若同一编码扇区内存在重复的读取请求,将所述重复的读取请求进行合并处理,生成一个读取请求;
[0020]若同一编码扇区内存在连续的读取请求,将所述连续的读取请求进行合并处理,生成一个读取请求;
[0021]重复上述对重复的读取请求的合并处理以及对连续的读取请求合并处理的步骤,直至相同编码扇区内不存在重复的读取请求且不存在连续的读取请求。
[0022]在其中一个实施例中,所述方法还包括:基于Piggybacking编码框架对RS编码进行优化,使用更细颗粒度的条带替换原恢复时条带。
[0023]第二方面,本申请还提供了一种提高纠删码随机读取平均效率的装置。所述装置包括:
[0024]分类模块,用于对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;
[0025]合并模块,用于在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0026]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0027]对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;
[0028]在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0029]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0030]对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;
[0031]在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0032]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0033]对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;
[0034]在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。
[0035]上述提高纠删码随机读取平均效率的方法、装置、计算机设备、存储介质和计算机程序产品,对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表,在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列,减少了计算时间和读取时间,提高了读取平均效率,减少了读取平均时间。
附图说明
[0036]图1为一个实施例中提高纠删码随机读取平均效率的方法的应用环境图;
[0037]图2为一个实施例中提高纠删码随机读取平均效率的方法的流程示意图;
[0038]图3为一个实施例中根据编码扇区进行分类步骤的流程示意图;
[0039]图4为一个实施例中对同一编码扇区内重复或连续的读取请求进行合并处理步骤的流程示意图;
[0040]图5本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高纠删码随机读取平均效率的方法,其特征在于,所述方法包括:对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表;在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列。2.根据权利要求1所述的方法,其特征在于,所述对预设时间范围内的随机读取请求根据编码扇区进行分类,生成以编码扇区为单位的读取请求列表包括:初始化客户随机读取请求队列,遍历所述随机读取请求队列,判断所述随机读取请求队列中是否存属于不同编码扇区的随机读取请求;若存在,基于编码扇区对所述随机读取请求队列中的读取请求进行分类,将相同编码扇区的读取请求存放在一起,生成以编码扇区为单位的读取请求列表。3.根据权利要求2所述的方法,其特征在于,所述将相同编码扇区的读取请求存放在一起,生成以编码扇区为单位的读取请求列表包括:获取随机读取请求队列中各读取请求的编码扇区,将相同编码扇区的读取请求存放在一起;重复上述获取各读取请求的编码扇区以及将相同编码扇区的读取请求存放在一起的步骤,直至随机读取请求队列中所有的读取请求均按照编码扇区进行分类。4.根据权利要求1所述的方法,其特征在于,所述在以编码扇区为单位的读取请求列表中,将同一编码扇区内重复或者连续的读取请求进行合并处理,生成合并处理后的请求队列包括:初始化以编码扇区为单位的读取请求列表,遍历以编码扇区为单位的读取请求列表,判断是否存在同一编码扇区内重复或者连续的读取请求;若存在,将同一编码扇区内重复或者连续的读取请求进...

【专利技术属性】
技术研发人员:龚羿夫
申请(专利权)人:深圳市名竹科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1