System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储,尤其涉及一种数据处理方法、数据处理装置、计算设备集群、计算机可读存储介质、计算机程序产品。
技术介绍
1、随着信息化技术的不断发展,越来越多的产业应用采用信息化部署方式,由此产生了大量的数据。为了降低数据的存储成本并保障数据的可靠性,业界提出了纠删码(erasure code,ec)技术。ec具体是将数据分成多组数据块,然后根据每组数据块计算得到校验块,将该组数据块和校验块分散存储在分布式存储系统的不同的节点。
2、一组数据块和基于这组数据块通过校验生成的校验块的集合称作ec条带(stripe)。为保证数据一致性,数据的读取和更新操作通常由ec条带中的一个数据块(例如是第一个数据块)所在的节点完成。其中,ec条带中的第一个数据块所在的节点也可以称作主节点,ec条带中的其他数据块所在的节点以及校验块所在的节点称作从节点。
3、然而,在对ec条带进行更新,例如是更新ec条带中的一个数据块时,通常需要主节点进行较多次读操作、写操作,多次读操作、写操作可以占用大量的网络资源,降低分布式存储系统的系统性能。
技术实现思路
1、本申请提供了一种数据处理方法,该方法将主节点更新数据块的操作卸载至从节点,减少了更新ec条带过程中读操作的次数,避免占用大量的网络资源,保障了分布式存系统的系统性能。本申请还提供了上述方法对应的数据处理装置、计算设备集群、计算机可读存储介质、计算机程序产品。
2、第一方面,本申请提供一种数据处理方法。该方法可以由分布式
3、在一些可能的实现方式中,主节点可以向第一从节点发送包括第二数据块的第二请求,然后接收第一从节点将第一数据块更新为第二数据块所返回的第一数据块,接着根据第一数据块和第二数据块确定校验块更新信息,再向第二从节点发送包括校验块更新信息的第三请求,其中,校验块更新信息用于更新校验块。
4、该方法通过将计算新的校验块的算子部分下推至从节点,避免主节点从校验块所在的第二从节点读取校验块,减少读操作的次数,降低网络传输开销,保障系统性能。
5、在一些可能的实现方式中,主节点可以向第一从节点发送包括第二数据块的第二请求,第二请求用于指示第一从节点将第一数据块更新为第二数据块,以及根据第一数据块和所述第二数据块确定校验块更新信息。然后,主节点通过第一从节点向第二从节点发送包括校验块更新信息的第三请求,该校验块更新信息用于更新校验块。
6、该方法通过将计算新的校验块的算子全部下推至从节点,具体是下推至第一数据块所在的第一从节点(也可以称为更新节点)以及校验块所在的第二从节点,避免第一从节点从第二从节点读取校验块,减少读操作的次数,降低网络传输开销,保障系统性能。
7、在一些可能的实现方式中,主节点向第一从节点发送的第二请求为更新请求,该更新请求的返回值为第一数据块,用于指示第一从节点将第一数据块更新为第二数据块,并返回第一数据块。如此,主节点仅需一次更新操作即可替代相关技术中一次读操作和一次写操作,减少操作次数,降低网络传输开销,保障了系统性能。
8、在一些可能的实现方式中,第一数据块可以存储在第一从节点,主节点可以与第一从节点为同一节点。类似地,在另一些实施例中,校验块可以存储在第二主节点,主节点可以与第二从节点为同一节点。
9、如此,主节点可以从本地读取第一数据块或校验块,减少了远程读操作的次数,进而减少占用的网络资源,保障系统性能。
10、在一些可能的实现方式中,主节点获取第一请求之前,还可以获取包括数据流的第四请求,然后主节点将数据流中的数据分块得到多个数据块,将多个数据块按列写入分布式存储系统中的数据块存储节点,该数据块存储节点包括主节点和第一从节点,接着主节点根据多个数据块中每组数据块计算校验块,将校验块写入分布式存储系统中的校验块存储节点,该校验块存储节点包括第二从节点。
11、其中,将数据块按列存储至分布式存储系统,可以减少后续读数据过程中跨磁盘的次数,减少读开销。
12、在一些可能的实现方式中,数据流分块所得的多个数据块无法写满至少一个ec条带时,主节点还可以对至少一个ec条带中无数据的分片执行空操作,而不必执行填充操作,如此可以减少写放大。
13、在一些可能的实现方式中,主节点还可以获取包括起始地址的第五请求,然后根据起始地址确定目标节点,从目标节点按列读取目标数据块。如此,在读数据时,只用在一个节点读取一次硬盘即可读取所需的数据,减少了读放大。
14、第二方面,本申请提供一种数据处理方法。所述方法应用于分布式存储系统,包括:
15、主节点获取第一请求,所述第一请求用于更新纠删码ec条带中的第一数据块,根据所述第一请求确定所述第一数据块,所述第一数据块为所述第一请求关联的数据块,向从节点集合发送处理请求,所述从节点集合包括所述分布式存储系统中至少一个从节点,所述处理请求用于指示将所述主节点更新数据块的操作卸载至所述从节点集合中的一个或多个从节点;
16、所述从节点集合根据所述处理请求更新所述第一数据块和校验块。
17、该方法将主节点更新数据块的操作卸载至从节点集合,减少更新ec条带的数据块的过程中读操作的次数,降低网络传输开销,保障系统性能。
18、在一些可能的实现方式中,所述主节点向从节点集合发送处理请求,包括:
19、所述主节点向第一从节点发送包括所述第二数据块的第二请求;
20、所述第一从节点根据所述处理请求更新所述第一数据块,包括:
21、所述第一从节点将所述第一数据块更新为第二数据块,并返回所述第一数据块;
22、所述方法还包括:
23、所述主节点根据所述第一数据块和所述第二数据块确定校验块更新信息;
24、所述主节点向从节点集合发送处理请求,包括:
25、向第二从节点发送包括校验块更新信息的第三请求;
26、所述第二从节点根据所述处理请求更新校验块,包括:
27、所述第二从节点根据所述校验块更新信息更新校验块。
28、该方法将主节点更新数据块的过程中计算新的校验块的算子部分下推至从节点,减少从校验块所在的从节点读校验块的操作,降低网络传输开销,保障系统性能。
29、在一些可能的实现方式中,所述主节点向从节点集合发送处理请求,包括:
30、所述主节点向第一从节点发送包括所述第二数据块的第二请求;
31本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法由分布式存储系统中主节点执行,包括:
2.根据权利要求1所述的方法,其特征在于,所述向从节点集合发送处理请求,包括:
3.根据权利要求1所述的方法,其特征在于,所述向从节点集合发送处理请求,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取第一请求之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种数据处理装置,其特征在于,所述装置部署于分布式存储系统中主节点,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述通信单元具体用于:
9.根据权利要求7所述的装置,其特征在于,所述通信单元具体用于:
10.根据权利要求7至9中任一项所述的装置,其特征在于,
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述获取单元还用于:
12.根据权利要求11所述的装置,其特征在于,所述获取
13.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至6中任一项所述的方法。
15.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至6中任一项所述的方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法由分布式存储系统中主节点执行,包括:
2.根据权利要求1所述的方法,其特征在于,所述向从节点集合发送处理请求,包括:
3.根据权利要求1所述的方法,其特征在于,所述向从节点集合发送处理请求,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取第一请求之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种数据处理装置,其特征在于,所述装置部署于分布式存储系统中主节点,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述通信单元具体用于:
9.根据权利要求7所述的装置,其特征在于,所述通信单元具体用于:
10...
【专利技术属性】
技术研发人员:李航,惠卫锋,陈续强,韩峰哲,罗日新,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。