发明内容
本发明实施例的目的是提供一种多路E1组网的负载均衡***,通过对核心网IPOE接口的桥接模块进行负载均衡设计,采用基于快速跳转的无阻塞状态机,避免了在业务并发的场景下核心网汇接处出现IPOE数据包拥塞的问题。
为实现上述目的,本发明一实施例提供了一种多路E1组网的负载均衡***,包括下层以太网组网、FPGA芯片、以太网芯片和上层以太网组网,其中,所述FPGA芯片的下行端口与所述下层以太网组网连接,所述FPGA芯片的上行端口通过所述以太网芯片与所述上层以太网组网连接;所述FPGA芯片被配置有总线桥接模块;其中,
所述总线桥接模块,用于采用预设的处理策略处理多路E1链路的数据请求;所述处理策略为在处理完一路E1链路的数据接收请求后,继续跳转至处理下一路E1链路的数据接收请求,直至遍历每一路E1链路的数据接收请求。
优选地,所述FPGA芯片还被配置有编解码模块、解析转换模块和缓冲模块;其中,
所述编解码模块,用于接收所述下层以太网组网发送的差分信号,并解码为二进制码流和发送至所述解析转换模块;
所述解析转换模块,用于对接收到的二进制码流进行串并转换和解析为Avalon-ST总线协议的数据,并发送至所述缓冲模块;
所述缓冲模块,用于读取所述Avalon-ST总线协议的数据,并以数据包的格式进行汇集桥接。
优选地,还包括:
所述缓冲模块,还用于接收所述上层以太网组网发送的Avalon-ST总线协议的数据,并发送至所述解析转换模块;
所述解析转换模块,还用于根据HDLC协议对接收到的所述Avalon-ST总线协议的数据进行重组,并通过串行转换为串行二进制码流,发送至所述编解码模块;
所述编解码模块,还用于对接收到的串行二进制码流进行编码,并发送至所述下层以太网组网。
优选地,还包括Buffer芯片,所述下层以太网组网中的每一路E1链路均通过一个所述Buffer芯片与所述FPGA芯片连接。
优选地,所述编解码模块采用的编解码规则为HDB3编解码规则。
优选地,所述解析转换模块采用的解析协议为HDLC协议。
优选地,所述缓冲模块的缓存方式为整包缓存,在确认下行的E1链路发送的数据已缓存为一个完整的数据包时,以预设的读取速率对所述数据包进行读取。
优选地,所述缓冲模块的缓存速率为2Mbps。
优选地,所述预设的读取速率为50Mbps。
优选地,所述总线桥接模块处理每一路E1链路的数据请求的等待时间为1个时钟周期。
与现有技术相比,本发明实施例所提供的一种多路E1组网的负载均衡***,通过将快速跳转策略应用在E1组网中的Avalon-ST总线桥的设计上,对请求处理状态机进行快速跳转设计,达到多路业务并发时进行负载均衡处理的目的,解决多路业务并发阻塞问题,而且重新设计的状态机仅需要额外增加极小的处理时间资源、FPGA逻辑资源消耗。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明实施例1提供的一种多路E1组网的负载均衡***的结构示意图,所述***包括下层以太网组网、FPGA芯片、以太网芯片和上层以太网组网,其中,所述FPGA芯片的下行端口与所述下层以太网组网连接,所述FPGA芯片的上行端口通过所述以太网芯片与所述上层以太网组网连接;所述FPGA芯片被配置有总线桥接模块;其中,
所述总线桥接模块,用于采用预设的处理策略处理多路E1链路的数据请求;所述处理策略为在处理完一路E1链路的数据接收请求后,继续跳转至处理下一路E1链路的数据接收请求,直至遍历每一路E1链路的数据接收请求。
具体地,多路E1组网的负载均衡***包括下层以太网组网、FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)芯片、以太网芯片和上层以太网组网,其中,FPGA芯片的下行端口与下层以太网组网连接,FPGA芯片的上行端口通过以太网芯片与上层以太网组网连接。一般地,下层以太网组网和上层以太网组网均由多路E1链路组成。以上为一套完整的2M***,在上电后即可实现本发明的方案。
其中,FPGA芯片被配置有所述总线桥接模块。所述总线桥接模块主要是为了实现负载均衡功能。实现过程如下:
所述总线桥接模块,用于采用预设的处理策略处理多路E1链路的数据请求;处理策略为在处理完一路E1链路的数据接收请求后,继续跳转至处理下一路E1链路的数据接收请求,直至遍历每一路E1链路的数据接收请求。当所述总线桥接模块工作在50Mhz的时钟速率下,可以处理最多25路2M链路的数据而保证不会出现阻塞。所以当在该模块处理完某一路E1链路的数据接收请求后,直接利用50Mhz时钟跳转至下一路判断E1接收请求的状态,即使下一路E1链路没有请求接收数据,利用这种策略能够在一次数据接收过程中遍历判断每一路的接收请求,避免了某一路E1负载较高而导致后续的其他路E1被阻塞,该策略可以称为基于快速跳转的无阻塞状态机。参加图2,是本发明该实施例提供的一种基于快速跳转的无阻塞状态机的数据处理示意图。为了更加突出本发明的优势,本发明该实施例还对现有技术中的多路并发数据的处理进行说明,现有技术中对多路并发数据处理一般采用基于优先级的桥接策略,即当桥接处一直在处理负载占用高的请求时,容易造成其他请求被搁置无法处理。参加图3,是本发明该实施例提供的一种基于优先级的桥接策略的数据处理示意图。
虽然本发明重新设计的状态机需要额外增加处理时间资源,但时间成本很低,可以忽略不计。参见图4,是本发明该实施例提供的基于快速跳转设计的状态机在处理各路E1链路的数据请求时花费时间的示意图。由图4可知,即使只有一路E1链路在满负荷接收,其额外增加的状态机跳转时间为n-1路个50Mhz时钟周期。以2M***为例,一片FPGA芯片处理16路E1链路的接收请求,状态机中间跳转时间为20ns*15=300ns,相当于在一路满负荷的E1链路下仅增加了120bps的带宽消耗,相对于2Mbps的E1链路带宽几乎可以忽略不计。所以,所述总线桥接模块能够在增加很少的处理时间成本下进行每一路E1链路的接收请求判断。
本发明实施例1通过提供一种多路E1组网的负载均衡***,通过对核心网IPOE接口的桥接模块进行负载均衡设计,采用基于快速跳转的无阻赛状态机,避免了在业务并发的场景下核心网汇接处出现IPOE数据包拥塞的问题。
作为上述方案的改进,所述FPGA芯片还被配置有编解码模块、解析转换模块和缓冲模块;其中,
所述编解码模块,用于接收所述下层以太网组网发送的差分信号,并解码为二进制码流和发送至所述解析转换模块;
所述解析转换模块,用于对接收到的二进制码流进行串并转换和解析为Avalon-ST总线协议的数据,并发送至所述缓冲模块;
所述缓冲模块,用于读取所述Avalon-ST总线协议的数据,并以数据包的格式进行汇集桥接。
具体地,参见图5,是本发明该实施例提供的一种FPGA芯片的结构示意图。由图5可知,FPGA芯片还被配置有所述编解码模块、所述解析转换模块和所述缓冲模块;其中,
所述编解码模块,用于接收下层以太网组网发送的差分信号,并解码为二进制码流和发送至所述解析转换模块。该差分信号指的是HDB3差分信号,E1链路的HDB3原始差分信号在外部经过正负判决整形后,通过所述Buffer芯片连接至FPGA管脚。所述编解码模块在对差分信号进行解码后,还得到对端设备的时钟。
所述解析转换模块,用于对接收到的二进制码流进行串并转换和解析为Avalon-ST总线协议的数据,并发送至所述缓冲模块。也就是说,当所述解析转换模块接收到所述编解码模块发送的二进制码流时,先对二进制码流进行串并转换,再解析为Avalon-ST总线协议的数据。
所述缓冲模块,用于读取Avalon-ST总线协议的数据,并以数据包的格式进行汇集桥接。一般地,E1链路工作在2M的速率下,在进入FPGA片内数据处理前需要将2Mbps速率下的数据包转化为50Mbps的速率来进行处理。所述缓冲模块将E1链路接收到的数据包进行整包缓存,在2Mbps的速率下确认缓存一个完整包后再从50Mbps的速率下读出该数据包进行汇集桥接。
上述过程为FPGA芯片对接收到下层以太网组网的数据请求进行处理的过程。参见图6,是本发明该实施例提供的一种FPGA芯片对接收到上层以太网组网和下层以太网组网的数据请求时对应的处理流程示意图。其中,上半部分为接收到下层以太网组网的数据请求时对应的处理流程,下半部分为接收到上层以太网组网的数据请求时对应的处理流程。
本发明该实施例先通过利用编解码模块对E1链路的HDB3原始差分信号进行解码,得到二进制码流,再通过解析转换模块对二进制码流进行串并转换,再解析为Avalon-ST总线协议的数据,然后利用缓冲模块读取Avalon-ST总线协议的数据,并以数据包的格式进行汇集桥接,实现对下层以太网组网的数据请求进行处理。
作为上述方案的改进,还包括:
所述缓冲模块,还用于接收所述上层以太网组网发送的Avalon-ST总线协议的数据,并发送至所述解析转换模块;
所述解析转换模块,还用于根据HDLC协议对接收到的所述Avalon-ST总线协议的数据进行重组,并通过串行转换为串行二进制码流,发送至所述编解码模块;
所述编解码模块,还用于对接收到的串行二进制码流进行编码,并发送至所述下层以太网组网。
具体地,参见图6的下半部分流程,当FPGA芯片对接收到上层以太网组网的数据请求时,需要进行反向传输,对应的处理流程如下:
所述缓冲模块,还用于接收上层以太网组网发送的Avalon-ST总线协议的数据,并发送至所述解析转换模块。同样地,接收过程也需要整包缓存,当一个完整的数据包完成缓存后,所述缓冲模块就将该数据包通过Avalon-ST总线发送至所述解析转换模块。
所述解析转换模块,还用于根据HDLC协议对接收到的Avalon-ST总线协议的数据进行重组,重组又称封装,封装完成后,通过串行转换为串行二进制码流,发送至所述编解码模块。
所述编解码模块,还用于对接收到的串行二进制码流进行编码,并发送至下层以太网组网。在到达每一路E1链路前,先将编码后的信号发送至所述Buffer芯片转换为正负电平。
本发明该实施例先利用缓冲模块接收上层以太网组网发送的Avalon-ST总线协议的数据,再通过解析转换模块根据HDLC协议对接收到的Avalon-ST总线协议的数据进行重组,通过串行转换为串行二进制码流,然后通过编解码模块串行二进制码流进行编码,并发送至下层以太网组网,以实现上层以太网组网的数据请求的处理。
作为上述方案的改进,还包括Buffer芯片,所述下层以太网组网中的每一路E1链路均通过一个所述Buffer芯片与所述FPGA芯片连接。
具体地,多路E1组网的负载均衡***还包括所述Buffer芯片,下层以太网组网中的每一路E1链路均通过一个所述Buffer芯片与所述FPGA芯片连接。也就是说,下层以太网组网中的每一路E1链路通过所述Buffer芯片连接至FPGA芯片的管脚。
本发明该实施例通过在每一路E1链路与FPGA芯片之间加设Buffer芯片,以减少每一路E1链路的正负电平失真。
作为上述方案的改进,所述编解码模块采用的编解码规则为HDB3编解码规则。
具体地,所述编解码模块采用的编解码规则为HDB3编解码规则。即所述编解码模块根据HDB3解码规则对接收到的差分信号解码为二进制码流,根据HDB3编码规则对接收到的二进制码流编码为差分信号。
作为上述方案的改进,所述解析转换模块采用的解析协议为HDLC协议。
具体地,所述解析转换模块采用的解析协议为HDLC协议。优选地,HDLC协议采用并行HDLC协议,相对于标准HDLC协议对空闲码进行了转译,保证原始数据中出现和空闲码相同的数据时不会解错数据包。
作为上述方案的改进,所述缓冲模块的缓存方式为整包缓存,在确认下行的E1链路发送的数据已缓存为一个完整的数据包时,以预设的读取速率对所述数据包进行读取。
具体地,所述缓冲模块的缓存方式为整包缓存,在确认下行的E1链路发送的数据已缓存为一个完整的数据包时,以预设的读取速率对所述数据包进行读取。例如,在2Mbps的速率下确认缓存一个完整包后再从50Mbps的速率下读出该数据包进行汇集桥接。
作为上述方案的改进,所述缓冲模块的缓存速率为2Mbps。
具体地,所述缓冲模块的缓存速率为2Mbps。所述缓冲模块将E1链路接收到的数据包进行整包缓存,在2Mbps的速率下确认缓存一个完整包后,再进行读取,避免数据包的数据不全或出现错漏。
作为上述方案的改进,所述预设的读取速率为50Mbps。
具体地,所述预设的读取速率为50Mbps。在数据包缓存完整后,再进行读取,且读取速率大于缓存速率,有利于快速获取数据包的内容,并对数据请求进行处理,减少链路阻塞。
作为上述方案的改进,所述总线桥接模块处理每一路E1链路的数据请求的等待时间为1个时钟周期。
具体地,所述总线桥接模块处理每一路E1链路的数据请求的等待时间为1个时钟周期。也就是说,所述总线桥接模块能够在增加很少的处理时间成本下进行每一路E1的接收请求判断。即使只有一路E1在满负荷接收,其额外增加的状态机跳转时间为n-1路个50Mhz时钟周期。以2M***为例一片FPGA处理16路E1链路的接收请求,状态机中间跳转时间为20ns*15=300ns,相当于在一路满负荷的E1链路下仅增加了120bps的带宽消耗,相对于2Mbps的E1链路带宽几乎可以忽略不记。
综上,本发明实施例所提供的一种多路E1组网的负载均衡***,通过将快速跳转策略应用在E1组网中的Avalon-ST总线桥的设计上,对请求处理状态机进行快速跳转设计,达到多路业务并发时进行负载均衡处理的目的,解决多路业务并发阻塞问题,而且重新设计的状态机仅需要额外增加极小的处理时间资源、FPGA逻辑资源消耗,处理接收请求的等待时间仅为1个时钟周期,带宽消耗几乎可以忽略,总线桥的资源消耗没有增加。本发明能够兼容多种多路E1组网方式,且都能保证组网环境下不会出现单路局向导致阻塞的问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。