本申请实施例涉及计算机,尤其涉及一种数据处理方法、装置、计算机设备、计算机可读存储介质。
背景技术:
1、随着计算机技术的发展,针对各类数据的海量存储、读写成为了当前的热点问题。为提高存储的容错性和安全性,业界提供了纠删码技术。纠删码是一种前向错误纠正技术,可以应用在分布式存储系统等场景中,实现数据的冗余以提高存储可靠性。
2、纠删码技术将数据分散存储到多个节点中,并在发生数据读取故障时进行数据修复。在数据修复时,都是通过纠删码解码读进行数据的恢复和响应,非常消耗计算资源。
3、需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
技术实现思路
1、本申请实施例的目的是提供一种数据处理方法、装置、计算机设备及计算机可读存储介质,用于解决或缓解上述问题。
2、本申请实施例的一个方面提供了一种数据处理方法,用于包括多个计算节点的纠删码存储系统中,其中,所述多个计算节点包括第一计算节点和第二计算节点;所述方法包括:
3、在第一计算节点接收到读取请求的情形下,根据所述读取请求确定目标数据所在的目标条带;
4、根据所述目标条带,确定所述目标数据的第一存储节点;及
5、从所述第一存储节点读取所述目标数据;其中,在所述第一存储节点数据读取出现故障且第二计算节点缓存有所述目标数据对应的备份数据的情形下,转发所述读取请求给所述第二计算节点,以通过所述第二计算节点读取所述备份数据并响应。
6、可选地,所述方法还包括:
7、在所述第一存储节点数据读取出现故障,且所述目标数据未配置所述备份数据的情形下,通过纠删码解码读恢复所述目标数据,以得到与所述目标数据相同的解码数据;
8、将所述解码数据作为响应数据返回;及
9、将所述解码数据缓存到所述第一计算节点的缓存层中,以作为目标备份数据使用。
10、可选地:所述目标备份数据存储在所述第一计算节点的缓存层中直到所述故障修复完成。
11、可选地,所述方法还包括:
12、为所述目标数据绑定第一标记和第二标记;其中:
13、所述第一标记,用于表示存储有所述目标备份数据;
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、与所述至少一个处理器通信连接的存储器;
43、其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
44、本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
45、本申请实施例提供的上述技术方案优点如下:在数据读取故障后,首先确定是否在其他某个计算节点暂存有相应的备份数据。在某个计算节点(如第二计算节点)有相应的备份数据的情况下,则可以将读取请求转发给第二计算节点。第二计算节点根据该读取请求直接读取相应的备份数据并返回给请求方,从而避免了第一计算节点的解码读操作。也就是说,从发现数据故障到故障完成修复之间,可以借助第二计算节点中的相应备份数据提供读取和相应操作,降低了不必要的资源消耗。
1.一种数据处理方法,其特征在于,用于包括多个计算节点的纠删码存储系统中,其中,所述多个计算节点包括第一计算节点和第二计算节点;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述通过所述第三计算节点进行数据修复,包括:
7.根据权利要求6所述的方法,其特征在于,所述通过所述第三计算节点进行数据修复,包括:
8.根据权利要求5所述的方法,其特征在于,所述通过所述第三计算节点进行数据修复,包括:
9.根据权利要求5所述的方法,其特征在于,所述通过所述第三计算节点进行数据修复,包括:
10.一种数据处理装置,其特征在于,用于包括多个计算节点的纠删码存储系统中,其中,所述多个计算节点包括第一计算节点和第二计算节点;所述装置包括:
11.一种计算机设备,其特征在于,包括:
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-9中任一项所述的方法。