一种可靠制造技术

技术编号:39832323 阅读:3 留言:0更新日期:2023-12-29 16:15
一种可靠

【技术实现步骤摘要】
一种可靠UDP组播的FPGA硬件加速系统及方法


[0001]本专利技术属于
UDP
组播处理
,特别涉及一种可靠
UDP
组播的
FPGA
硬件加速系统及方法


技术介绍

[0002]近年来,各银行在外汇交易市场迅速发展,交易系统报价数量和成交数量不断攀升,市场成员对交易系统的直连接口需求日益增加,交易系统与会员接口连接通过接入节点
(
网关
)。
[0003]目前接入节点存在问题有:
[0004]1、
接入服务器需求量大

中心会员数量较多,会员节点

接入节点和后台节点拓扑呈倒三角状,导致后台数据堵塞等待,处理速度较慢

[0005]2、
出口容量有限,协议转换延时较长

会员与中心系统间互联采用金融行业标准
IMIX
协议,具有较高的可读性,但文本转换效率较低

[0006]3、
目前
TCP/UDP/IP
协议依赖操作系统协议栈,可靠
UDP
组播处理采用软件实现,延时较大,在高吞吐场景时对
CPU
有较多占用,吞吐率提升有限


技术实现思路

[0007]本专利技术的目的在于提供一种可靠
UDP
组播的
FPGA
硬件加速系统及方法,以解决处理速度较慢

口容量有限,协议转换延时较长

吞吐率提升有限的问题

[0008]为实现上述目的,本专利技术采用以下技术方案:
[0009]一种可靠
UDP
组播的
FPGA
硬件加速系统,包括消息处理模块

数据包发送模块

数据包接收模块

数据包处理模块

发送历史缓存模块

接收缓存模块和消息恢复模块;消息处理模块连接数据包发送模块,数据包发送模块连接发送历史缓存模块,发送历史缓存模块连接数据包处理模块和消息恢复模块;数据包处理模块通过接收缓存模块连接数据包接收模块,数据包接收模块和消息恢复模块连接;
[0010]消息处理模块用于接收用户消息,并对消息拆包及处理数据包;
[0011]数据包发送模块用于数据包的发生和心跳生成;
[0012]数据包接收模块用于接收正常或恢复的组播和点播数据包

心跳消息

消息重传请求数据包及消息重传请求失败数据包;
[0013]数据包处理模块用于接收缓存,收到发来的数据包将其读入自己的缓存,传递给数据包序列号检测模块,进行数据验证;
[0014]消息恢复模块用于比较重传数据包和发送历史缓存模块的范围,判断是否将数据包通过数据包发送模块发送到网络

[0015]进一步的,数据包接收模块包括数据包序列检测单元

乱序缓存单元

错误数据包处理单元

乱序数据包处理单元

心跳数据包处理单元

新数据流产生单元

接收重传请求单元和接收通道队列单元;新数据流产生单元

心跳数据包处理单元

乱序缓存单元

乱序
数据包处理单元

错误数据包处理单元

接收通道队列单元和接收重传请求单元均连接到数据包序列检测单元

[0016]进一步的,消息处理模块包括消息发送单元

消息拆包单元

消息组包单元和长消息缓存单元;新数据流产生单元和接收重传请求单元均连接消息处理模块;接收通道队列单元连接到消息组包单元,消息组包单元连接长消息缓存单元

[0017]进一步的,数据包发送模块包括数据包发送单元和心跳生成器;消息拆包单元连接数据包发送单元

[0018]进一步的,数据包处理模块包括数据包接收单元

数据包发送单元和心跳超时处理单元;数据包发送单元连接发送历史缓存模块

数据包发送模块的数据包发送单元和消息恢复模块;数据包接收单元连接心跳超时处理单元

接收缓存模块和消息恢复模块

[0019]进一步的,数据包接收单元

数据包发送单元连接到网络

[0020]进一步的,消息恢复模块包括重传请求发送单元

重传请求超时单元

重传请求接收单元

重传队列单元和发送重传请求单元;重传队列单元

发送重传请求单元

发送历史缓存模块

数据包处理模块的数据包接收单元及数据包发送单元均连接到重传请求接收单元;重传请求发送单元连接数据包接收模块的新数据流产生单元和心跳数据包处理单元

[0021]进一步的,一种可靠
UDP
组播的
FPGA
硬件加速方法,包括:
[0022]消息发送:
[0023]消息处理模块接收到应用程序发送过来的一则消息,如果消息的长度大于设置的数据包的大小,将消息拆解成多组数据,分别对多组数据添加一个消息头,按顺序依次发给数据包发送模块;如果消息的长度不大于设置的数据包的大小,将消息数据添加一个消息头,直接发给数据包发送模块;
[0024]数据包发送模块接收到消息处理模块发来的数据,对每一组数据都添加数据包头,并在数据包头的序列号字段填写上最新的序列号,然后将打包好的数据包发送给数据包处理模块,同时也发送给发送历史缓存模块备份,待重传使用;数据包发送模块按照设置的时间,定时产生心跳数据包,定时发送给数据包处理模块;
[0025]数据包处理模块接收到数据包发送模块发来的数据包,添加数据包校验位以后,通过网卡发送到网络;
[0026]消息接收:
[0027]数据包处理模块接收到网络上的数据包,如果接收到重传请求,将数据包发送给消息恢复模块,否则按顺序依次将数据包存入接收缓存模块;
[0028]数据包接收模块将数据包从接收缓存模块中读出,对数据包进行如下检查:
[0029]数据包长度检查:如果长度不正常,发送坏包事件给消息处理模块,消息处理模块将坏包事件发送给应用程序;
[0030]数据包类型检查:如果是
NACK
数据包,发送数据丢失事件给消息处理模块;
[0031]对数据包的序列号进行检查:如果序列号正确,再判断是心跳包直接丢弃,是数据包的话去掉数据包头,发送给消息处理模块,消息处理模块判断如果是完整消息,去掉消息头发送给应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,包括消息处理模块

数据包发送模块

数据包接收模块

数据包处理模块

发送历史缓存模块

接收缓存模块和消息恢复模块;消息处理模块连接数据包发送模块,数据包发送模块连接发送历史缓存模块,发送历史缓存模块连接数据包处理模块和消息恢复模块;数据包处理模块通过接收缓存模块连接数据包接收模块,数据包接收模块和消息恢复模块连接;消息处理模块用于接收用户消息,并对消息拆包及处理数据包;数据包发送模块用于数据包的发生和心跳生成;数据包接收模块用于接收正常或恢复的组播和点播数据包

心跳消息

消息重传请求数据包及消息重传请求失败数据包;数据包处理模块用于接收缓存,收到发来的数据包将其读入自己的缓存,传递给数据包序列号检测模块,进行数据验证;消息恢复模块用于比较重传数据包和发送历史缓存模块的范围,判断是否将数据包通过数据包发送模块发送到网络
。2.
根据权利要求1所述的一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,数据包接收模块包括数据包序列检测单元

乱序缓存单元

错误数据包处理单元

乱序数据包处理单元

心跳数据包处理单元

新数据流产生单元

接收重传请求单元和接收通道队列单元;新数据流产生单元

心跳数据包处理单元

乱序缓存单元

乱序数据包处理单元

错误数据包处理单元

接收通道队列单元和接收重传请求单元均连接到数据包序列检测单元
。3.
根据权利要求2所述的一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,消息处理模块包括消息发送单元

消息拆包单元

消息组包单元和长消息缓存单元;新数据流产生单元和接收重传请求单元均连接消息处理模块;接收通道队列单元连接到消息组包单元,消息组包单元连接长消息缓存单元
。4.
根据权利要求3所述的一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,数据包发送模块包括数据包发送单元和心跳生成器;消息拆包单元连接数据包发送单元
。5.
根据权利要求4所述的一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,数据包处理模块包括数据包接收单元

数据包发送单元和心跳超时处理单元;数据包发送单元连接发送历史缓存模块

数据包发送模块的数据包发送单元和消息恢复模块;数据包接收单元连接心跳超时处理单元

接收缓存模块和消息恢复模块
。6.
根据权利要求5所述的一种可靠
UDP
组播的
FPGA
硬件加速系统,其特征在于,数据包接收单元

数据包发送单元连接到网络
。7.
根据权利要求5所述的一种可靠
UDP
组播的
FPGA
...

【专利技术属性】
技术研发人员:王银阎如斌
申请(专利权)人:叩持西安电子信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1