基于UDP协议的网内聚合纠删码恢复系统及方法

文档序号:34310243发布日期:2023-05-31 20:50阅读:32来源:国知局
基于UDP协议的网内聚合纠删码恢复系统及方法

本发明涉及的是一种分布式文件处理领域的技术,具体是一种基于udp协议的网内聚合纠删码恢复系统及方法。


背景技术:

1、现代数据中心使用纠删码对存储的数据进行编码,以提供更低的存储开销的方式来保证数据可靠性。现阶段所使用的最主流的纠删码是reed-solomon码(rs码)。大部分的纠删码会将数据分割成块独立的数据块。它的优点是在数据发生丢失的情况下,可以通过将多个剩余数据块传输到单个目标节点来聚合后的数据。但是,数据的恢复速度很大程度上受限于接收机的网络带宽,并且在恢复过程需要接收节点执行大量的计算和需要内存缓冲来存储计算的中间数据。特别是对于一些cpu性能及核数量有限的存储节点来说,以上的缺点尤为明显。于是我们可以将纠删码计算移动到交换机里执行,其可以不在受到网络传输瓶颈的影响,并能减轻存储节点cpu的负载。近年来,提出网内聚合(in-networkaggregation)数据恢复方案,但已有的方案在性能和网络适应性方面存在不足,主要是已有的方案都基于tcp协议,而tcp流量控制和确认功能在网络稳定的环境中没有用处,反而增加数据包的处理时延。


技术实现思路

1、本发明针对现有技术存在的上述不足,提出一种基于udp协议的网内聚合纠删码恢复系统及方法,相比现有rs纠删码需要向单个目标节点传输n个数据块将导致网络拥塞,本发明使用可编程交换系统替代由存储节点来进行的数据聚合处理以连接所有存储节点,从而可以在传输过程中聚合所有块数据。通过可编程交换机有效地将n个网络流聚合为一个网络流,实现纠删码的恢复过程,减少网络传输瓶颈的影响并减轻目标节点cpu的负载。此外,本发明使用基于udp的自定义协议,与基于tcp的解决方案相比,增加有效吞吐量。并且可以适应当前大数据中心的各种数据分布模型。

2、本发明是通过以下技术方案实现的:

3、本发明涉及一种基于udp协议的网内聚合纠删码恢复系统,包括:可编程交换系统(p4ec)、设置于目标节点的辅助进程模块和设置于发送方节点的发送方进程模块,其中:辅助进程模块将本地的分布式文件系统的恢复请求以恢复请求的形式转发至若干发送节点并等待来自可编程交换系统的聚合后的数据;发送方进程模块根据辅助进程的恢复请求,从本地操作系统中读取数据块并发送至可编程交换系统;可编程交换系统对来自发送方节点的取数据块中的数据字节进行聚合后,以数据包形式根据基于udp的自定义协议发送至目标节点。

4、优选地,所述的辅助进程模块通过监听模式检测当发生丢包时,将向所有的发送方进程模块发送数据包重传请求。

5、所述的可编程交换系统,包括:控制模块、解析器、路由表模块、校验和模块、元数据管理模块和字节处理器,其中:控制模块通过字节处理器进行聚合处理,当参与计算的数据块满足数量时将聚合后的数据直接转发至目标节点,否则将得到的临时结果先存储于寄存器;解析器根据网络协议信息解析协议头上的每个字段检测自定义协议的数据包;路由表模块根据网络地址和交换机端口之间的映射,将数据包转发到正确的目的地;校验和模块根据数据包更新udp校验和字段;元数据管理模块根据数据包索引和块号字段,通过位图来记录每个索引已经接收到的数据块的计数,判断当前数据包是否为给定索引的最后一个数据包;字节处理器根据索引和块号信息,对单个数据字节执行聚合处理,并将临时结果存储在对应的寄存器中。

6、所述的临时结果是指:数量不满足n个的数据块进行系数乘法和求和得到的结果,其中n为rs参数,当少于n个块的数据输出至可编程交换系统时,计算结果被暂时存储在交换机上直到接收到其他块的数据。

7、所述的聚合后的数据是指:数量满足rs参数的n个数据块进行系数乘法和求和得到的结果。

8、所述的自定义协议包括:基于udp协议头的额外设置的3字节协议头以及64字节的数据。在传输过程中,数据块由发送方进程使用自定义协议逐步发送。对于每个后续数据包,其索引加1,块号固定不变。

9、所述的协议头包括:一个2字节的数据索引字段和一个1字节的id字段。

10、所述的聚合处理对接收到的每个数据字节的结果存储在交换机内部寄存器中,该计算具体包括:系数乘法计算和求和计算,其中:系数乘法计算将每个接收到的字节与发送方相关的系数相乘,其结果的获取方法是通过查询已经存在于交换机内存中的2珐6×2珐6字节乘法表来得到。因此,该运算只需要一次内存查找;求和计算将乘法的结果与存储在交换机寄存器中的值相加,当求和结果是临时结果则存储回寄存器,否则转发到目标节点。

11、所述的监听模式是指:在恢复过程启动后,辅助进程模块通过向所有发送方节点发送恢复请求。在发起恢复请求后,辅助进程模块将进入监听模式并等待接收恢复的数据。即使数据包是无序的,原始数据块也可以通过引用自定义协议的索引字段从接收到的数据中重新聚合。在数据块完全重新聚合之后通知分布式文件系统。

12、优选地,所述的辅助进程模块为期望接收的索引值最低的5个数据包各自设置倒计时,当在限定时间内未收到数据包,则辅助进程模块向所有发送方节点发送数据包重传请求。

13、所述的目标节点和发送方节点中均设有所述分布式文件系统,用于协同控制数据的编码和数据块在节点之间的分布。当检测到数据丢失时,分布式文件系统将向辅助进程传递恢复请求,启动恢复过程。

14、所述的恢复请求包括:参与恢复的所有发送方节点的ip地址和待发送的数据块的名称,辅助进程模块根据恢复请求向所有发送方节点发送恢复请求,发送方进程模块通过读取待发送的数据块并将其发送到可编程交换系统以响应恢复请求。

15、所述的数据包重传请求包括:待发送的数据块的名称和数据包丢失的索引的udp包。

16、技术效果

17、本发明利用udp协议在可编程交换机内进行数据块恢复,恢复过程中的所有数据传输都基于udp协议。与现有技术相比,本发明可以与现有的分布式文件系统集成,适应数据中心的各种数据分布模型。交换机不需要数据块分布信息来进行数据包聚合。与基于tcp协议的方法相比,本发明能够显著增加吞吐量并减少延迟和可编程交换系统的计算开销。



技术特征:

1.一种基于udp协议的网内聚合纠删码恢复系统,其特征在于,包括:可编程交换系统、设置于目标节点的辅助进程模块和设置于发送方节点的发送方进程模块,其中:辅助进程模块将本地的分布式文件系统的恢复请求以恢复请求的形式转发至若干发送节点并等待来自可编程交换系统的聚合后的数据;发送方进程模块根据辅助进程的恢复请求,从本地操作系统中读取数据块并发送至可编程交换系统;可编程交换系统对来自发送方节点的取数据块中的数据字节进行聚合后,以数据包形式根据基于udp的自定义协议发送至目标节点;

2.根据权利要求1所述的基于udp协议的网内聚合纠删码恢复系统,其特征是,所述的辅助进程模块通过监听模式检测当发生丢包时,将向所有的发送方进程模块发送数据包重传请求;

3.根据权利要求1所述的基于udp协议的网内聚合纠删码恢复系统,其特征是,所述的临时结果是指:数量不满足n个的数据块进行系数乘法和求和得到的结果,其中n为rs参数,当少于n个块的数据输出至可编程交换系统时,计算结果被暂时存储在交换机上直到接收到其他块的数据;

4.根据权利要求1所述的基于udp协议的网内聚合纠删码恢复系统,其特征是,所述的监听模式是指:在恢复过程启动后,辅助进程模块通过向所有发送方节点发送恢复请求,在发起恢复请求后,辅助进程模块将进入监听模式并等待接收恢复的数据,即使数据包是无序的,原始数据块也可以通过引用自定义协议的索引字段从接收到的数据中重新聚合,在数据块完全重新聚合之后通知分布式文件系统。

5.根据权利要求1所述的基于udp协议的网内聚合纠删码恢复系统,其特征是,所述的目标节点和发送方节点中均设有所述分布式文件系统,用于协同控制数据的编码和数据块在节点之间的分布,当检测到数据丢失时,分布式文件系统将向辅助进程传递恢复请求,启动恢复过程。

6.根据权利要求4所述的基于udp协议的网内聚合纠删码恢复系统,其特征是,所述的恢复请求包括:参与恢复的所有发送方节点的ip地址和待发送的数据块的名称,辅助进程模块根据恢复请求向所有发送方节点发送恢复请求,发送方进程模块通过读取待发送的数据块并将其发送到可编程交换系统以响应恢复请求。

7.一种基于权利要求1-6中任一所述系统的基于udp协议的网内聚合纠删码恢复方法,其特征在于,包括:

8.根据权利要求7所述的基于udp协议的网内聚合纠删码恢复方法,其特征是,所述的聚合处理是指:不同数据块的数据包根据其索引进行聚合,每个索引都与交换机上的一个寄存器和位图相关联;当可编程交换系统收到的是给定索引的所有块的数据,则将结果发送到目标节点,否则,将计算的结果存储在其寄存器的索引字段所标识的位置,并在发送前通过校验和模块更新数据包的udp校验和,然后数据包通过路由表被转发到正确的网络地址。

9.根据权利要求8所述的基于udp协议的网内聚合纠删码恢复方法,其特征是,所述的聚合处理中的系数乘法,即与rs码相关的伽罗瓦域上的乘法;优选地,所有2珐6×2珐6乘法结果都是预先计算的,并在可编程交换系统启动时写入内存。

10.根据权利要求8所述的基于udp协议的网内聚合纠删码恢复方法,其特征是,所述的聚合处理中的求和运算,即两个值之间的二进制异或运算,其中:第一个值是系数相乘的结果,第二个值是从给定索引处的交换机寄存器中读取。


技术总结
一种基于UDP协议的网内聚合纠删码恢复系统,包括:可编程交换系统(P4EC)、设置于目标节点的辅助进程模块和设置于发送方节点的发送方进程模块,本发明使用可编程交换系统替代由存储节点来进行的数据聚合处理以连接所有存储节点,从而可以在传输过程中聚合所有块数据。通过可编程交换机有效地将N个网络流聚合为一个网络流,实现纠删码的恢复过程,减少网络传输瓶颈的影响并减轻目标节点CPU的负载。此外,本发明使用基于UDP的自定义协议,与基于TCP的解决方案相比,增加有效吞吐量。并且可以适应当前大数据中心的各种数据分布模型。

技术研发人员:沈耀,劭阳,王克
受保护的技术使用者:上海交通大学
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1