一种RAID的读写超时处理方法、装置、设备及介质与流程

文档序号:26624927发布日期:2021-09-14 21:07阅读:92来源:国知局
一种RAID的读写超时处理方法、装置、设备及介质与流程
一种raid的读写超时处理方法、装置、设备及介质
技术领域
1.本发明涉及计算机技术领域,特别涉及一种raid的读写超时处理方法、装置、设备及介质。


背景技术:

2.因为raid(redundant arrays of independent disks,磁盘阵列)中的校验块能够为其提供冗余保护,所以,这样就保证了raid在使用过程中的可靠性以及稳定性。
3.具有校验功能的raid均会遇到磁盘的读写超时问题,如果raid中存在读写速度过慢的磁盘,就会影响整个raid对系统的响应速度。在现有技术中,为了避免上述情况的发生,一般会将读写速度过慢的磁盘从raid剔除。但是,此种操作方式会导致raid失去冗余功能,这样就会极大的降低raid在使用过程中的可靠性。目前,针对这一技术问题,还没有较为有效的解决办法。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种raid的读写超时处理方法、装置、设备及介质,以提高raid在使用过程中的可靠性。其具体方案如下:
5.一种raid的读写超时处理方法,包括:
6.若raid中存在读速度超过第一预设时长的第一磁盘,则利用所述raid的校验块读取所述第一磁盘的数据;
7.若所述raid中存在写速度超过第二预设时长的第二磁盘,且所述第二磁盘所在的分块类型为数据分块,则利用所述raid的校验块对所述raid进行更新;其中,所述第二预设时长为根据所述raid中是否存在所述第一磁盘的判定结果所设定的时长;
8.若所述raid中存在写速度超过第三预设时长的第三磁盘,且所述第三磁盘所在的分块类型为校验分块,则对所述raid进行检测;
9.若所述raid的冗余度完整,且具有热备空间,则将所述第三磁盘从所述raid中剔除,并利用所述raid的校验块对所述raid进行更新;
10.若所述raid的冗余度不完整和/或不具有热备空间,则保留所述第三磁盘,并控制所述raid进行离线。
11.优选的,所述第二预设时长的设定过程包括:
12.若所述raid中存在所述第一磁盘,则将所述第二预设时长设置为第一预设阈值;
13.若所述raid中不存在所述第一磁盘,则将所述第二预设时长设置为第二预设阈值;其中,所述第一预设阈值小于所述第二预设阈值。
14.优选的,还包括:
15.利用元数据对所述第一磁盘和/或所述第二磁盘和/或所述第三磁盘进行标记。
16.优选的,还包括:
17.当所述raid空闲时,则对所述第二磁盘的数据重新进行写入。
18.优选的,还包括:
19.检测所述raid中出现故障的目标校验分块;
20.若所述目标校验分块的数量大于预设数量,则控制所述raid离线,并利用元数据对所述目标校验分块进行标记,得到目标标记信息。
21.优选的,所述利用元数据对所述目标校验分块进行标记,得到目标标记信息的过程之后,还包括:
22.利用哈希表对所述目标标记信息进行存储。
23.相应的,本发明还公开了一种raid的读写超时处理装置,包括:
24.数据读取模块,用于若raid中存在读速度超过第一预设时长的第一磁盘,则利用所述raid的校验块读取所述第一磁盘的数据;
25.第一更新模块,用于若所述raid中存在写速度超过第二预设时长的第二磁盘,且所述第二磁盘所在的分块类型为数据分块,则利用所述raid的校验块对所述raid进行更新;其中,所述第二预设时长为根据所述raid中是否存在所述第一磁盘的判定结果所设定的时长;
26.磁盘检测模块,用于若所述raid中存在写速度超过第三预设时长的第三磁盘,且所述第三磁盘所在的分块类型为校验分块,则对所述raid进行检测;
27.第二更新模块,用于若所述raid的冗余度完整,且具有热备空间,则将所述第三磁盘从所述raid中剔除,并利用所述raid的校验块对所述raid进行更新;
28.磁盘保留模块,用于若所述raid的冗余度不完整和/或不具有热备空间,则保留所述第三磁盘,并控制所述raid进行离线。
29.相应的,本发明还公开了一种raid的读写超时处理设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序时实现如前述所公开的一种raid的读写超时处理方法的步骤。
32.相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种raid的读写超时处理方法的步骤。
33.可见,在本发明中,如果raid中存在读速度超过第一预设时长的第一磁盘,此时为了不影响raid对读请求的响应时间,可以直接利用raid的校验块来读取第一磁盘中的数据;如果raid中存在读速度超过第二预设时长的第二磁盘,并且第二磁盘所在的分块类型为数据分块,此时为了不影响raid对写请求的响应速度,可以直接利用raid的校验块对raid进行更新,从而保证第二磁盘的数据写入;如果raid中存在写速度超过第三时长的第三磁盘,并且第三磁盘的分块类型为校验分块,此时为了保证raid存储数据的可靠性,会对raid进行检测,如果raid的冗余度完整且具有热备空间,则说明利用raid的校验块就能够重构出raid中所存储的数据,在此情况下就可以将第三磁盘从raid中剔除,并通过raid的校验块对raid进行更新来保证第三磁盘的数据写入;如果raid的冗余度不完整或者不具备热备空间,则说明利用raid的校验块无法重构出raid中所存储的数据,在此情况下则需要保留第三磁盘,并控制raid离线,以避免raid存储数据的丢失。显然,通过该方法不仅可以在最大限度下保证raid的冗余度,而且,也不会影响raid对读写请求的响应速度,由此就可
以显著提高raid在使用过程中的整体可靠性。相应的,本发明所提供的一种raid的读写超时处理装置、设备及介质,同样具有上述有益效果。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
35.图1为本发明实施例所提供的一种raid的读写超时处理方法的流程图;
36.图2为本发明实施例所提供的一种raid的读写超时处理装置的结构图;
37.图3为本发明实施例所提供的一种raid的读写超时处理设备的结构图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参见图1,图1为本发明实施例所提供的一种raid的读写超时处理方法的流程图,该读写超时处理方法包括:
40.步骤s11:若raid中存在读速度超过第一预设时长的第一磁盘,则利用raid的校验块读取第一磁盘的数据;
41.步骤s12:若raid中存在写速度超过第二预设时长的第二磁盘,且第二磁盘所在的分块类型为数据分块,则利用raid的校验块对raid进行更新;
42.其中,第二预设时长为根据raid中是否存在第一磁盘的判定结果所设定的时长;
43.步骤s13:若raid中存在写速度超过第三预设时长的第三磁盘,且第三磁盘所在的分块类型为校验分块,则对raid进行检测;
44.步骤s14:若raid的冗余度完整,且具有热备空间,则将第三磁盘从raid中剔除,并利用raid的校验块对raid进行更新;
45.步骤s15:若raid的冗余度不完整和/或不具有热备空间,则保留第三磁盘,并控制raid进行离线。
46.在本实施例中,是提供了一种对raid读写超时的优化处理方法,通过该方法不仅可以在最大限度下保证raid的冗余度,而且,也不会影响raid对读写请求的响应速度,这样就可以进一步提高raid在使用过程中的整体可靠性。
47.具体的,在本实施例中,如果raid中存在读速度超过第一预设阈值的第一磁盘时,此时为了不影响整个raid的读取性能,raid会将第一磁盘标记为慢盘,并通过重构读的方式将第一磁盘中的数据反馈至向raid发送读请求的主机。也即,raid会利用自身所存储的校验块来重构第一磁盘中的数据,并将第一磁盘中的数据发送至向raid发送读请求的主机。
48.如果raid中存在多个读速度超过第一预设阈值的磁盘,此时则无法通过重构读的
方式将各个磁盘中所存储的数据反馈至主机,在此情况下只能容忍磁盘需要较长的响应时间。
49.如果raid中存在写速度超过第二预设时长的第二磁盘,并且第二磁盘所在的分块类型为数据分块,此时为了不影响raid对写请求的响应速度,将不会继续进行第二磁盘的数据写入,而是利用raid的校验块对raid进行更新来保证raid写入数据的完整性。
50.需要说明的是,在本实施例中,第二预设时长是根据raid中是否存在第一磁盘的判定结果所设定的时长,也即,如果raid中存在读速度超过第一预设时长的慢盘,则会将第二预设时长设置为相对较小的数值,如果raid中不存在读速度超过第一预设时长的慢盘,则会是将第二预设时长设置为相对较大的数值。此种设置方式的目的是为了对raid的写操作进行优化,从而加快数据的写入。
51.对于raid所接收到的写请求,如果是raid中校验分块所在的磁盘发生写入速度过慢的情况,此时不论raid中是否存在读速度过慢的慢盘,均需要将写操作所需要的时间进行延长,也即,需要将第二预设时长延长至第三预设时长。如果该写操作能够在第三预设时长内将数据写入到校验分块中,则结束流程。如果该写操作无法在第三预设时长内将数据写入到校验分块中,此时则需要根据raid的冗余情况以及是否具有热备空间来决定是否要将第三磁盘剔除。
52.也就是说,如果raid中存在写速度超过第三预设时长,并且第三磁盘所在的分块类型为校验分块,此时则需要根据raid的冗余情况以及是否具有热备空间来决定是否要将第三磁盘剔除。
53.具体的,如果raid的冗余度完整,并且raid具有热备空间,则可以将第三磁盘从raid中剔除,因为在此情况下即使将第三磁盘从raid中剔除,也可以保证raid存储数据的完整性与可靠性;如果raid的冗余度不完整或者是raid不具有热备空间,此时为了保证raid中存储数据的完整性,则不能将第三磁盘从raid中删除,因为在此情况下一旦将第三磁盘删除,raid中的存储数据就会不完整,并无法恢复,所以,此时为了避免raid中存储数据出现丢失的现象,需要将第三磁盘进行保留,并控制raid离线。
54.此外,在实际应用中,如果raid中存在第三磁盘,并且第三磁盘所在的分块类型为校验分块,此时还可以通过告警的形式通知用户。这样一旦raid中换入新的磁盘,就可以使得用户能够优先利用新磁盘来替换出现故障的校验磁盘。
55.可见,在本实施例中,如果raid中存在读速度超过第一预设时长的第一磁盘,此时为了不影响raid对读请求的响应时间,可以直接利用raid的校验块来读取第一磁盘中的数据;如果raid中存在读速度超过第二预设时长的第二磁盘,并且第二磁盘所在的分块类型为数据分块,此时为了不影响raid对写请求的响应速度,可以直接利用raid的校验块对raid进行更新,从而保证第二磁盘的数据写入;如果raid中存在写速度超过第三时长的第三磁盘,并且第三磁盘的分块类型为校验分块,此时为了保证raid存储数据的可靠性,会对raid进行检测,如果raid的冗余度完整且具有热备空间,则说明利用raid的校验块就能够重构出raid中所存储的数据,在此情况下就可以将第三磁盘从raid中剔除,并通过raid的校验块对raid进行更新来保证第三磁盘的数据写入;如果raid的冗余度不完整或者不具备热备空间,则说明利用raid的校验块无法重构出raid中所存储的数据,在此情况下则需要保留第三磁盘,并控制raid离线,以避免raid存储数据的丢失。显然,通过该方法不仅可以
在最大限度下保证raid的冗余度,而且,也不会影响raid对读写请求的响应速度,由此就可以显著提高raid在使用过程中的整体可靠性。
56.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,第二预设时长的设定过程包括:
57.若raid中存在第一磁盘,则将第二预设时长设置为第一预设阈值;
58.若raid中不存在第一磁盘,则将第二预设时长设置为第二预设阈值;
59.其中,第一预设阈值小于第二预设阈值。
60.在本实施例中,如果raid中不存在读速度过慢的第一磁盘,则将raid中写请求的超时时间第二预设时长设置为第一预设阈值;如果raid中存在读速度过慢的第一磁盘,则将raid中写请求的超时时间第二预设时长设置为第二预设阈值,其中,第一预设阈值小于第二预设阈值。
61.可以理解的是,通过这样的设置方式就相当于是在raid已经存在慢盘的情况下,进一步对磁盘的写速度进行了优化,由此就可以相对提高raid的整体性能。
62.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述读写超时处理方法还包括:
63.利用元数据对第一磁盘和/或第二磁盘和/或第三磁盘进行标记。
64.能够想到的是,当raid中存在第一磁盘和/或第二磁盘和/或第三磁盘时,则说明这些磁盘会影响整个raid对读请求或写请求的响应时间。因此,在本实施例中,为了使得工作人员能够快速查找到影响raid整体性能的磁盘,还利用元数据对第一磁盘和/或第二磁盘和/或第三磁盘进行了标记。
65.显然,通过本实施例所提供的技术方案,就可以使得工作人员能够根据相应的标识信息快速查找到raid中对于读写请求响应过慢的磁盘,并由此提高工作人员的查找效率。
66.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述读写超时处理方法还包括:
67.当raid空闲时,则对第二磁盘的数据重新进行写入。
68.在本技术所提供的技术方案中,当raid中出现写速度超过第二预设时长的第二磁盘时,第二磁盘并没有完成对写请求的写入操作。因此,在本实施例中,为了保证raid存储数据的完整性,以及提高raid的资源利用率,是在raid空闲时将待写入的数据重新写入到第二磁盘中。
69.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述读写超时处理方法还包括:
70.检测raid中出现故障的目标校验分块;
71.若目标校验分块的数量大于预设数量,则控制raid离线,并利用元数据对目标校验分块进行标记,得到目标标记信息。
72.可以理解的是,如果raid中出现故障的校验块超出了一定数量,此时即使利用raid中的校验块对raid进行更新,也无法使得raid中的存储数据恢复完整。因此,在本实施例中,为了避免上述情况的发生,还进一步检测了raid中出现故障的目标校验分块。
73.具体的,如果raid中出现故障目标校验分块的数量大于预设数量,此时如果raid
还需要利用校验块完成对raid的校验同步更新,此时就需要强制raid进行离线,并以此来保证raid存储数据的完整性与可靠性。
74.另外,在实际应用中,在检测出raid中存在故障的目标校验分块以后,还需要利用元数据来对raid中出现故障的目标校验分块进行标记,得到目标标记信息。这样就可以使得工作人员能够在后期根据目标标记信息对raid中出现故障的校验分块进行替换与处理。显然,通过这样的操作方式,就可以相对提高维修人员的维修效率。
75.作为一种优选的实施方式,上述步骤:利用元数据对目标校验分块进行标记,得到目标标记信息的过程之后,还包括:
76.利用哈希表对目标标记信息进行存储。
77.可以理解的是,因为利用哈希表能够将数据的存储时间和查找时间大大降低,所以,在本实施例中,是将raid中有关校验分块的目标标记信息存储到哈希表中,这样就可以相对提高目标标记信息的存储效率和查找速度。
78.请参见图2,图2为本发明实施例所提供的一种raid的读写超时处理装置的结构图,该装置包括:
79.数据读取模块21,用于若raid中存在读速度超过第一预设时长的第一磁盘,则利用raid的校验块读取第一磁盘的数据;
80.第一更新模块22,用于若raid中存在写速度超过第二预设时长的第二磁盘,且第二磁盘所在的分块类型为数据分块,则利用raid的校验块对raid进行更新;其中,第二预设时长为根据raid中是否存在第一磁盘的判定结果所设定的时长;
81.磁盘检测模块23,用于若raid中存在写速度超过第三预设时长的第三磁盘,且第三磁盘所在的分块类型为校验分块,则对raid进行检测;
82.第二更新模块24,用于若raid的冗余度完整,且具有热备空间,则将第三磁盘从raid中剔除,并利用raid的校验块对raid进行更新;
83.磁盘保留模块25,用于若raid的冗余度不完整和/或不具有热备空间,则保留第三磁盘,并控制raid进行离线。
84.本发明实施例所提供一种raid的读写超时处理装置,具有前述所公开的一种raid的读写超时处理方法所具有的有益效果。
85.请参见图3,图3为本发明实施例所提供的一种raid的读写超时处理设备的结构图,该处理设备包括:
86.存储器31,用于存储计算机程序;
87.处理器32,用于执行计算机程序时实现如前述所公开的一种raid的读写超时处理方法的步骤。
88.本发明实施例所提供一种raid的读写超时处理设备,具有前述所公开的一种raid的读写超时处理方法所具有的有益效果。
89.相应的,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述所公开的一种raid的读写超时处理方法的步骤。
90.本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种raid的读写超时处理方法所具有的有益效果。
91.本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种raid的读写超时处理方法所具有的有益效果。
92.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
93.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
94.以上对本发明所提供的一种raid的读写超时处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1