本发明属于数据传输与交换,具体涉及一种基于汇聚分发模式的多端口udp帧交换方法及装置。
背景技术:
1、随着光频技术的快速发展,光电信号处理机系统具有数据传输速率、数据传输能力高等特点,这就对光电信号处理机系统的实时性、继承性与可扩展性提出了更高的要求。
2、光电信号处理机系统中,一般由多块fpga板卡来完成各类数据的交互和处理。各个板卡之间数据交互速率和种类要求也越来越高,各种板卡之间数据总线交互是整个光电信号处理机的核心。在当今高速实时信号处理系统中,涉及处理的数据趋于多样化,这些不同类型的数据常常需要在光电信号处理机中不同的板卡之间进行数据交换与传输,这些数据常常来自不同的板卡及接口,因此存在不一致的传输速率,数据传输的方向多样化。fpga常使用光纤高速收发器、pci-express 等高速接口与外部设备进行通信,其 fpga 内部数据均符合axi4 stream 总线接口协议。因此使用 fpga为光电信号处理机系统设计一款通用的高速数据交换显得尤为重要,不仅能够在很大程度上减少光电系统设计的复杂度,还可以提高光电系统整体设计的继承性和灵活性。
技术实现思路
1、为提高光电信号处理的交换效率的问题,在本发明的第一方面提供了一种基于汇聚分发模式的多端口udp帧交换方法,包括:基于osi分层模型,将光信号数据传输网络划分为物理层、数据链路层和传输层;其中,所述数据链路层和传输层分别通过aurora协议和udp协议实现;通过多个端口获取基于光信号数据的第一位宽接口数据,并将所述第一位宽接口数据转换为第二位宽接口数据;所述光信号数据被预先打包为多个udp帧;根据预设端口的优先级依次对每个端口中的第二位宽接口数据进行轮询,将多个udp帧汇聚到一个先入先出的堆栈中;从所述先入先出的堆栈中的每个udp帧中提取宿端口号;根据所述每个宿端口号对所述每个udp帧进行交换。
2、在本发明的一些实施例中,所述根据预设端口的优先级依次对每个端口中的第二位宽数据进行轮询包括:将第一端口完成一次传输之后,将第二端口的优先级设置为最高,并将第一端口的优先级设置为最低。
3、进一步的,所述轮询的带宽效率表示为:
4、
5、其中,l表示帧长度,σ表示带宽效率,d表示udp帧格式的最小字节数。
6、在本发明的一些实施例中,所述根据所述每个宿端口号对所述每个udp帧进行交换包括:根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由对所述每个udp帧进行交换。
7、进一步的,所述根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由并对所述每个udp帧进行交换包括:若宿端口号为单播模式,则:根据宿端口中的槽位号使能目的端口,对所述每个udp帧进行交换。
8、进一步的,所述根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由并对所述每个udp帧进行交换包括:若宿端口号为组播模式,则:根据宿端口中的组播域标识查询组播域路由表,映射sw_bits使能目的端口中的一个或多个,对所述每个udp帧进行交换。
9、本发明的第二方面,提供了一种基于汇聚分发模式的多端口udp帧交换装置,包括:划分模块,用于基于osi分层模型,将光信号数据传输网络划分为物理层、数据链路层和传输层;其中,所述数据链路层和传输层分别通过aurora协议和udp协议实现;转换模块,用于通过多个端口获取基于光信号数据的第一位宽接口数据,并将所述第一位宽接口数据转换为第二位宽接口数据;所述光信号数据被预先打包为多个udp帧;汇聚模块,用于根据预设端口的优先级依次对每个端口中的第二位宽接口数据进行轮询,将多个udp帧汇聚到一个先入先出的堆栈中;交换模块,用于从所述先入先出的堆栈中的每个udp帧中提取宿端口号;根据所述每个宿端口号对所述每个udp帧进行交换。
10、进一步的,所述交换模块包括:提取单元,用于根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由对所述每个udp帧进行交换;第一交换单元,用于根据宿端口号的预设定义,通过单播模式确定第一路由;根据第一路由对所述每个udp帧进行交换;第二交换单元,用于根据宿端口号的预设定义,通过组播模式确定第二路由;根据第二路由对所述每个udp帧进行交换。
11、本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面提供的基于汇聚分发模式的多端口udp帧交换方法。
12、本发明的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本发明在第一方面提供的基于汇聚分发模式的多端口udp帧交换方法。
13、本发明的有益效果是:
14、本发明涉及一种基于汇聚分发模式的多端口udp帧交换方法及装置,其方法包括:基于osi分层模型,将光信号数据传输网络划分为物理层、数据链路层和传输层;所述数据链路层和传输层分别通过aurora协议和udp协议实现;通过多个端口获取基于光信号数据的第一位宽数据,并将所述第一位宽数据转换为第二位宽数据;根据预设端口的优先级依次对每个端口中的第二位宽数据进行轮询,将多个udp帧汇聚到一个fifo中;从所述fifo中提取宿端口号;根据所述每个宿端口号对所述每个udp帧进行交换。可见,本发明存在如下优点:
15、(1)采用标准udp帧为交换单元,支持“点对点”和“点对多点”的端口交换模式,该交换工作在传输层,大大减少了各类板卡接入到数据交换系统的协议栈的层数,降低了时延,同时减少了硬件资源使用量。
16、(2)提出一种基于汇聚转发技术的帧交换技术方案,同时接收8个端口数据,采用轮询模式将8路数据汇聚到一个fifo中,有效避免某个发送端口因带宽大而持续占用某个接收端口。再根据udp目的端口号分发到各个发端口中完成发送操作。
1.一种基于汇聚分发模式的多端口udp帧交换方法,其特征在于,包括:
2.根据权利要求1所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述根据预设端口的优先级依次对每个端口中的第二位宽数据进行轮询包括:
3.根据权利要求2所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述轮询的带宽效率表示为:
4.根据权利要求1所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述根据所述每个宿端口号对所述每个udp帧进行交换包括:
5.根据权利要求4所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由并对所述每个udp帧进行交换包括:
6.根据权利要求4所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述根据宿端口号的预设定义,通过单播模式或组播模式确定不同的路由并对所述每个udp帧进行交换包括:
7.一种基于汇聚分发模式的多端口udp帧交换装置,其特征在于,包括:
8.根据权利要求7所述的基于汇聚分发模式的多端口udp帧交换方法,其特征在于,所述交换模块包括:
9.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6任一项所述的基于汇聚分发模式的多端口udp帧交换方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于汇聚分发模式的多端口udp帧交换方法。