奇偶校验数据确定方法、装置、计算机设备及存储介质与流程
- 国知局
- 2024-07-31 20:16:16
本发明涉及数据存储,具体涉及奇偶校验数据确定方法、装置、计算机设备及存储介质。
背景技术:
1、独立磁盘冗余阵列(redundant array of independent disks,简称:raid)通过对多个数据块的数据进行异或(exclusive or,简称:xor)计算获得奇偶校验数据,并将奇偶校验数据存储在奇偶校验数据块中。在任意一个数据块中的数据损坏的情况下,通过奇偶校验数据与除数据损坏的数据块之外的其他数据块的数据进行异或计算,确定并恢复损坏的原始数据。
2、奇偶校验数据的计算采用主控的硬件实现,计算过程中的临时计算结果被存储在异或数据缓冲存储器中。然而,由于异或数据缓冲存储器的存储空间较小,支持的奇偶校验数据计算并行数量较少,导致多数据流写入独立磁盘冗余阵列的速度较慢。
技术实现思路
1、有鉴于此,本发明提供了一种奇偶校验数据确定方法、装置、计算机设备及存储介质,以解决采用主控的硬件计算奇偶校验数据过程中产生的临时计算结果存储在异或数据缓冲存储器中,使得并行计算的奇偶校验数据数量较少,导致多数据流写入独立磁盘冗余阵列的速度较慢的问题。
2、第一方面,本发明提供了一种奇偶校验数据确定方法,所述方法包括:
3、每间隔预设时间段,获取每个数据流写入独立磁盘冗余阵列组的速度,其中,一个数据流对应一个独立磁盘冗余阵列组;
4、对于任一数据流,若该数据流写入独立磁盘冗余阵列组的速度不大于速度阈值,则利用软件异或计算单元确定所述数据流的奇偶校验数据,将所述奇偶校验数据写入所述数据流对应的独立磁盘冗余阵列组的奇偶校验数据物理页,所述软件异或计算单元确定所述数据流的奇偶校验数据的过程中产生的临时计算结果存储至静态随机存取存储器;
5、若所述数据流写入独立磁盘冗余阵列组的速度大于速度阈值,则利用硬件异或计算单元确定所述数据流的奇偶校验数据,将所述奇偶校验数据写入所述数据流对应的独立磁盘冗余阵列组的奇偶校验数据物理页,所述硬件异或计算单元确定所述数据流的奇偶校验数据的过程中产生的临时计算结果存储至异或数据缓冲存储器。
6、本实施例提供的奇偶校验数据确定方法,通过每间隔预设时间段获取到的每个数据流写入独立磁盘冗余阵列组的速度,确定利用哪个异或计算单元确定奇偶校验数据,其中,针对写入独立磁盘冗余阵列组的速度不大于速度阈值的数据流,利用软件异或计算单元确定奇偶校验数据;针对写入独立磁盘冗余阵列组的速度大于速度阈值的数据流,利用硬件异或计算单元确定奇偶校验数据。软件异或计算单元确定奇偶校验数据的过程中产生的临时计算结果存储至静态随机存取存储器中,硬件异或计算单元确定奇偶校验数据的过程中产生的临时计算结果存储至异或数据缓冲存储器中,通过将多个数据流根据其写入速度分配至不同的异或计算单元计算奇偶校验数据,提高了奇偶校验数据计算的并行数量,进而提高了多数据流写入独立磁盘冗余阵列的速度。
7、在一种可选的实施方式中,所述利用软件异或计算单元确定所述数据流的奇偶校验数据,将所述奇偶校验数据写入所述数据流对应的独立磁盘冗余阵列组的奇偶校验数据物理页,包括:
8、对于任一独立磁盘冗余阵列条带,获取第一待写入数据,所述第一待写入数据为待写入所述独立磁盘冗余阵列物理条带中的第一个用户数据物理页的数据,其中,所述独立磁盘冗余阵列组包括多个数据块,每个数据块包含多个物理页,所述物理页分为用户数据物理页和奇偶校验数据物理页,所述独立磁盘冗余阵列组中编号相同的物理页组成一个独立磁盘冗余阵列物理条带,每个所述独立磁盘冗余阵列物理条带所对应的独立磁盘冗余阵列条带包括与所述物理页所对应的多个用户数据页和一个奇偶校验数据页,对于任一独立磁盘冗余阵列物理条带,该独立磁盘冗余阵列物理条带中的奇偶校验数据物理页用于存储所述独立磁盘冗余阵列条带的奇偶校验数据,用户数据物理页用于存储用户写入的数据;
9、将所述第一待写入数据发送至软件异或计算单元,利用所述软件异或计算单元,根据所述第一待写入数据,计算临时计算结果;
10、将所述临时计算结果存储至所述静态随机存取存储器中所述独立磁盘冗余阵列条带对应的缓存区中,并将所述第一待写入数据写入所述第一个用户数据物理页中;
11、获取所述独立磁盘冗余阵列条带中已缓存的第二待写入数据,所述第二待写入数据为计算或更新所述临时计算结果的过程中,写入所述独立磁盘冗余阵列条带的用户数据页的数据;
12、将所述第二待写入数据发送至软件异或计算单元,利用所述软件异或计算单元,根据所述第二待写入数据和所述临时计算结果,更新所述静态随机存取存储器中所述独立磁盘冗余阵列条带对应的缓存区所存储的所述临时计算结果,并将所述第二待写入数据写入对应的用户数据物理页中;
13、返回执行所述获取独立磁盘冗余阵列条带中已缓存的第二待写入数据的步骤,直至完成所述独立磁盘冗余阵列物理条带中的全部用户数据物理页的数据写入;
14、将所述静态随机存取存储器中所述独立磁盘冗余阵列条带对应的缓存区中的临时计算结果作为奇偶校验数据写入所述独立磁盘冗余阵列物理条带的奇偶校验数据物理页,释放所述软件异或计算单元。
15、本实施例提供的奇偶校验数据确定方法,通过分批次对独立磁盘冗余阵列条带上的数据发送至软件异或计算单元进行异或计算,既不缓存过多的用户数据,又减少了软件异或计算单元的计算次数,有效的提高了奇偶校验数据的计算效率。且软件异或计算单元可根据需求大量扩充,提升多数据流写入时数据流的奇偶校验数据的并发计算数量。
16、在一种可选的实施方式中,所述方法还包括:
17、对于写入独立磁盘冗余阵列组的速度等于0的数据流,若该数据流占用软件异或计算单元或硬件异或计算单元,则获取所述数据流占用软件异或计算单元或硬件异或计算单元的时长;
18、若所述数据流占用软件异或计算单元或硬件异或计算单元的时长超过占用时长阈值,则对所述数据流进行填充虚拟数据处理,使得软件异或计算单元或硬件异或计算单元基于填充虚拟数据处理后的数据流确定所述数据流的奇偶校验数据;
19、若所述数据流占用软件异或计算单元或硬件异或计算单元的时长未超过占用时长阈值,则更新所述数据流占用软件异或计算单元或硬件异或计算单元的时长。
20、本实施例提供的奇偶校验数据确定方法,通过对长时间没有数据写入的流,使用虚拟数据进行填充,补全该数据流对应的独立磁盘冗余阵列组,以减少占用软件异或计算单元或硬件异或计算单元的时间,提前释放软件异或计算单元或硬件异或计算单元,有效提高了多数据流写入独立磁盘冗余阵列组时的整盘带宽。
21、在一种可选的实施方式中,所述方法还包括:
22、对于所述独立磁盘冗余阵列组中的任一数据块,获取该数据块的最新写入物理页和该数据块的待写入数据所对应的目标物理页,所述待写入数据包括第一待写入数据、第二待写入数据和奇偶校验数据;
23、若所述待写入数据所对应的目标物理页与所述最新写入物理页相匹配,则按照所述目标物理页,将所述待写入数据写入该数据块;
24、其中,针对任一所述数据块,每完成所述待写入数据的写入便更新所述最新写入物理页。
25、本实施例提供的奇偶校验数据确定方法,通过将数据块的待写入数据所对应的目标物理页与数据块的最新写入物理页进行匹配,在匹配的情况下,根据目标物理页,将待写入数据写入数据块。保证了写入数据块的待写入数据按照数据块要求的顺序写入对应的物理页。
26、在一种可选的实施方式中,所述方法还包括:
27、若所述待写入数据所对应的目标物理页与所述最新写入物理页不匹配,则根据所述待写入数据所对应的目标物理页,将所述待写入数据作为缓冲数据插入所述数据块对应的双链表中,以等待更新所述数据块的最新写入物理页;
28、当所述数据块对应的双链表中的任一所述缓冲数据的目标物理页与所述最新写入物理页相匹配时,按照所述目标物理页,将该缓冲数据作为待写入数据,写入该数据块。
29、本实施例提供的奇偶校验数据确定方法,通过将数据块的待写入数据所对应的目标物理页与数据块的最新写入物理页进行匹配,在不匹配的情况下,将该待写入数据插入数据块对应的双链表中,在双链表中任一缓冲数据的目标物理页与最新写入物理页相匹配时,按照目标物理页,将缓冲数据作为待写入数据写入该数据块。保证了写入数据块的待写入数据按照数据块要求的顺序写入对应的物理页。
30、在一种可选的实施方式中,所述根据所述待写入数据所对应的目标物理页,将所述待写入数据作为缓冲数据插入所述数据块对应的双链表中,包括:
31、若所述数据块对应的双链表为空,则将所述待写入数据作为缓冲数据插入所述双链表中的第一个位置;
32、若所述数据块对应的双链表不为空,则按照目标物理页编号大小递增的顺序将所述待写入数据作为缓冲数据插入所述双链表中。
33、本实施例提供的奇偶校验数据确定方法,保证了写入数据块的待写入数据按照数据块要求的顺序写入对应的物理页。
34、在一种可选的实施方式中,所述获取每个数据流写入独立磁盘冗余阵列组的速度,包括:
35、将预设时间段的时长、预设时间段内数据流写入物理页的页数、数据流的权重系数和数据流的速度偏移输入预设写入速度获取模型,获得每个数据流写入独立磁盘冗余阵列组的速度,其中,
36、所述预设写入速度获取模型包括:
37、vsi=ci×pi/t+v0i
38、其中,vsi为第i个数据流写入独立磁盘冗余阵列组的速度,ci为第i个数据流的权重系数,pi为预设时间段内第i个数据流写入物理页的页数,v0i为第i个数据流的速度偏移,t为预设时间段的时长。
39、本实施例提供的奇偶校验数据确定方法,通过将多个数据流根据其写入速度分配至不同的异或计算单元计算奇偶校验数据,提高了奇偶校验数据计算的并行数量,进而提高了多数据流写入独立磁盘冗余阵列的速度。
40、第二方面,本发明提供了一种奇偶校验数据确定装置,所述装置包括:
41、获取模块,用于每间隔预设时间段,获取每个数据流写入独立磁盘冗余阵列组的速度,其中,一个数据流对应一个独立磁盘冗余阵列组;
42、第一确定模块,用于对于任一数据流,若该数据流写入独立磁盘冗余阵列组的速度不大于速度阈值,则利用软件异或计算单元确定所述数据流的奇偶校验数据,将所述奇偶校验数据写入所述数据流对应的独立磁盘冗余阵列组的奇偶校验数据物理页,所述软件异或计算单元确定所述数据流的奇偶校验数据的过程中产生的临时计算结果存储至静态随机存取存储器;
43、第二确定模块,用于若所述数据流写入独立磁盘冗余阵列组的速度大于速度阈值,则利用硬件异或计算单元确定所述数据流的奇偶校验数据,将所述奇偶校验数据写入所述数据流对应的独立磁盘冗余阵列组的奇偶校验数据物理页,所述硬件异或计算单元确定所述数据流的奇偶校验数据的过程中产生的临时计算结果存储至异或数据缓冲存储器。
44、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的奇偶校验数据确定方法。
45、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的奇偶校验数据确定方法。
46、第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的奇偶校验数据确定方法。
本文地址:https://www.jishuxx.com/zhuanli/20240731/185647.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表