System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种数据读请求处理方法、装置、电子设备及存储介质。
技术介绍
1、目前,具有冗余能力的磁盘阵列(redundant arrays of independent disks,简称:raid)具有完备的数据校验和纠正措施。在raid芯片中,riad引擎负责数据读取及校验计算,当有新数据写入请求时,riad引擎从raid芯片的raid存储器中读取待写入的新数据、旧数据和旧校验数据,根据读取到的数据确定新校验数据,进而将新数据和新校验数据写入磁盘,以覆盖旧数据和旧校验数据。
2、在相关技术中,raid引擎通常向raid存储器的请求队列连续发起多笔读请求,将读回的数据存储在数据缓存中用来计算校验。
3、但是,由于riad引擎的数据缓存区同一时刻只能接收一个raid存储器的数据传输,其他raid存储器处于等待状态,这个过程中riad引擎的其他功能模块也无法访问这些raid存储器。当raid引擎发起的读请求较多时,riad引擎的数据缓存区可能出现数据堆积,也就无法接收raid存储器当前传输的数据,造成raid存储器带宽资源的严重浪费,降低了raid芯片的整体性能。
技术实现思路
1、本申请提供一种数据读请求处理方法、装置、电子设备及存储介质,以解决相关技术造成raid存储器带宽资源的严重浪费,降低了raid芯片的整体性能等缺陷。
2、本申请第一个方面提供一种数据读请求处理方法,包括:
3、获取待发送至任一存储器的数据读请求
4、根据各所述存储器的请求响应记录,生成存储器信息表;
5、根据所述存储器信息表和所述数据缓存区的数据缓存情况,判断所述数据读请求是否具备仲裁资格;
6、在确定所述数据读请求具备仲裁资格的情况下,按照预设仲裁标准,为所述数据读请求分配仲裁权,以将所述数据读请求发送至待访问存储器。
7、在一种可选的实施方式中,所述获取待发送至任一存储器的数据读请求,包括:
8、获取待发送至任一存储器的原始读请求;
9、根据所述原始读请求的请求量和预设数据总线位宽,将所述原始读请求拆分为多个数据读请求。
10、在一种可选的实施方式中,所述根据各所述存储器的请求响应记录,生成存储器信息表,包括:
11、针对任一所述存储器,根据该存储器的请求响应记录表征的请求计数,确定该存储器的信息特征值;
12、根据各所述存储器的信息特征值,生成存储器信息表;
13、其中,所述存储器每收到一个请求所述请求计数加1,每完成一个请求的应答所述请求计数减1。
14、在一种可选的实施方式中,所述根据所述存储器信息表和所述数据缓存区的数据缓存情况,判断所述数据读请求是否具备仲裁资格,包括:
15、根据所述存储器信息表,判断所述数据读请求所对应的待访问存储器的信息特征值是否表征所述待访问存储器正在被访问;
16、根据所述存储器信息表,判断当前正在被访问的存储器数量是否达到预设访问数量阈值;
17、在确定所述待访问存储器的信息特征值表征所述待访问存储器正在被访问的情况下,或在当前正在被访问的存储器数量未达到预设访问数量阈值的情况下,确定所述数据读请求所对应的待访问存储器满足预设访问约束条件;
18、针对任一所述数据读请求,在确定所述数据读请求所对应的待访问存储器满足预设访问约束条件的情况下,根据该数据读请求所对应的读数据类型,确定所述数据读请求对应的目标请求类别;
19、根据所述数据读请求所对应的目标请求类别,在所述数据缓存区中定位对应的目标子缓存区;
20、根据所述目标子缓存区的即满标识,判断数据缓存区的剩余缓存量是否满足所述数据读请求的数据写入量;
21、其中,所述数据缓存区包括多个子缓存区,所述子缓存区与数据读请求的请求类别一一对应,所述数据读请求的请求类别分为新数据读请求、旧数据读请求和旧验证读请求三种。
22、在一种可选的实施方式中,所述方法还包括:
23、在得到存储器响应于任一所述数据读请求返回的应答数据时,根据所述应答数据所对应的目标请求类别,将所述应答数据缓存至对应的目标子缓存区。
24、在一种可选的实施方式中,所述根据所述应答数据所对应的目标请求类别,将所述应答数据缓存至对应的目标子缓存区,包括:
25、将所述数据读请求的仲裁权分配结果缓存至仲裁结果缓存队列,以基于所述仲裁结果缓存队列表示连续发起的多个数据读请求的响应顺序和请求类别;
26、当接收到所述应答数据时,根据所述仲裁结果缓存队列的头指针所指向的首个仲裁权分配结果所对应的请求类别,作为所述应答数据所对应的目标请求类别;
27、将所述应答数据缓存至对应的目标子缓存区。
28、在一种可选的实施方式中,所述方法还包括:
29、根据所述存储器的数量,确定请求发起限制值;
30、在连续发起的数据读请求达到所述请求发起限制值的情况下,等待所述存储器响应于任一所述数据读请求返回的应答数据;
31、在得到所述应答数据后,继续发起下一数据读请求。
32、本申请第二个方面提供一种数据读请求处理装置,包括:
33、获取模块,用于获取待发送至任一存储器的数据读请求、各所述存储器的请求响应记录及数据缓存区的数据缓存情况;
34、生成模块,用于根据各所述存储器的请求响应记录,生成存储器信息表;
35、判断模块,用于根据所述存储器信息表和所述数据缓存区的数据缓存情况,判断所述数据读请求是否具备仲裁资格;
36、处理模块,用于在确定所述数据读请求具备仲裁资格的情况下,按照预设仲裁标准,为所述数据读请求分配仲裁权,以将所述数据读请求发送至待访问存储器。
37、本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
38、所述存储器存储计算机执行指令;
39、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
40、本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
41、本申请技术方案,具有如下优点:
42、本申请提供一种数据读请求处理方法、装置、电子设备及存储介质,该方法包括:获取待发送至任一存储器的数据读请求、各存储器的请求响应记录及数据缓存区的数据缓存情况;根据各存储器的请求响应记录,生成存储器信息表;根据存储器信息表和数据缓存区的数据缓存情况,判断数据读请求是否具备仲裁资格;在确定数据读请求具备本文档来自技高网...
【技术保护点】
1.一种数据读请求处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待发送至任一存储器的数据读请求,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据各所述存储器的请求响应记录,生成存储器信息表,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述存储器信息表和所述数据缓存区的数据缓存情况,判断所述数据读请求是否具备仲裁资格,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述应答数据所对应的目标请求类别,将所述应答数据缓存至对应的目标子缓存区,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种数据读请求处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至
...【技术特征摘要】
1.一种数据读请求处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待发送至任一存储器的数据读请求,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据各所述存储器的请求响应记录,生成存储器信息表,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述存储器信息表和所述数据缓存区的数据缓存情况,判断所述数据读请求是否具备仲裁资格,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6....
【专利技术属性】
技术研发人员:丰大勇,袁涛,荆晓龙,韩钊,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。