一种基于CPU和FPGA的数据传输处理方法及装置制造方法及图纸

技术编号:38252330 阅读:12 留言:0更新日期:2023-07-27 10:17
本发明专利技术提供一种基于CPU和FPGA的数据传输处理方法及装置,属于数据传输处理技术领域,所述方法包括:利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA;基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU。本发明专利技术提供的基于CPU和FPGA的数据传输处理方法及装置,基于CPU+FPGA的硬件架构设计,综合运用CPU创建多线程、FPGA调用多业务核、CPU与FPGA数据传输速率根据业务量大小自适应调整等技术手段,在确保设备并发处理性能的前提下,实现设备内部数据并行处理、数据传输高效可靠、低时延的需求。低时延的需求。低时延的需求。

【技术实现步骤摘要】
一种基于CPU和FPGA的数据传输处理方法及装置


[0001]本专利技术涉及数据传输处理
,尤其涉及一种基于CPU和FPGA的数据传输处理方法及装置。

技术介绍

[0002]针对资源管理/分发设备的实际应用需求,资源管理/分发设备通过有线的方式与数百甚至数千台终端设备连接,需要同时对多个终端设备发起在线业务,同样也需要能响应多个终端设备同时发起的请求,在技术上需要解决资源管理/分发设备并行处理大量业务数据的问题。
[0003]目前,对于中央处理器(Central Processing Unit,CPU)与现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)架构的资源管理/分发设备在并发应用时,一般采用以下方法:
[0004](1)CPU与FPGA之间使用阻塞方式收发数据,CPU接收到FPGA应答后,才发送下一包数据,该方法会降低各芯片的使用率,无法发挥FPGA高速并行运算的特点。
[0005](2)采用非阻塞方式,但是CPU发送数据间隔必需大于FPGA处理数据的最大时延,虽然可以保证数据处理的可靠性,但是当FPGA处理不同业务时延相差较大时,CPU发送数据间隔必需以最大时延为门限,无法充分发挥FPGA高速运算的能力。
[0006]因此,亟需一种新的基于CPU与FPGA的数据传输处理方案。

技术实现思路

[0007]本专利技术提供一种基于CPU和FPGA的数据传输处理方法及装置,用以解决现有技术中难以充分发挥FPGA高速运算的能力的缺陷,提高了数据传输处理能力。
[0008]第一方面,本专利技术提供一种基于CPU和FPGA的数据传输处理方法,包括:利用通信线程池动态调整通信线程的数量,以建立CPU与多台终端设备的通信连接;利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA;基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU。
[0009]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,还包括:根据CPU与FPGA之间的交互信息,动态调整CPU向FPGA的数据传输速率。
[0010]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA,包括:利用业务数据接收队列从通信线程接收业务数据,并将业务数据处理为待加密业务数据和待发送业务数据;将待加密业务数据存储至待加密数据接收队列,并对待加密业务数据进行合法性和完整性校验;基于私有协议将校验后的待加密业务数据存储至待加密数据发送队列,以将所述待加密业务数据发
送至FPGA。
[0011]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,在将业务数据处理为待加密业务数据和待发送业务数据之后,还包括:将待发送业务数据存储至业务数据发送队列;利用业务数据发送队列将待发送业务数据发送至终端设备。
[0012]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU,包括:基于CPU与FPGA之间的私有协议,获取CPU发送的待加密业务数据;将待加密业务数据存储至未满的FPGA接收队列中;在确定当前任务核处于空闲状态的情况下,利用当前任务核对对应的当前待加密业务数据进行加密处理,以完成对待加密业务数据的并行加密处理;将加密处理后的待加密业务数据存储至对应的FPGA接收队列,并进行封装处理后,反馈至CPU;其中,FPGA接收队列、任务核以及FPGA发送队列一一对应。
[0013]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,所述根据CPU与FPGA之间的交互信息,动态调整CPU向FPGA的数据传输速率,包括:在FPGA丢弃掉待加密业务数据的情况下,将业务丢弃应答包发送至CPU;不断降低CPU向FPGA的数据传输速率,直到FPGA不再发送业务丢弃应答包。
[0014]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,在不断降低CPU向FPGA的数据传输速率,直到FPGA不再发送业务丢弃应答包之后,还包括:若CPU在预设持续时长内未收到业务丢弃应答包,则不断增大CPU向FPGA的数据传输速率,直到恢复到默认的数据传输速率。
[0015]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,CPU与FPGA之间通过PCIE接口进行通信。
[0016]根据本专利技术提供的一种基于CPU和FPGA的数据传输处理方法,所述任务核包含SM4对称算法加密功能和基于公钥的签名验签功能。
[0017]第二方面,本专利技术还提供一种基于CPU和FPGA的数据传输处理装置,包括:
[0018]第一模块,用于利用通信线程池动态调整通信线程的数量,以建立CPU与多台终端设备的通信连接;
[0019]第二模块,用于利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA;
[0020]第三模块,用于基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU。
[0021]第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于CPU和FPGA的数据传输处理方法的步骤。
[0022]第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于CPU和FPGA的数据传输处理方法的步骤。
[0023]本专利技术提供的基于CPU和FPGA的数据传输处理方法及装置,基于CPU+FPGA的硬件
架构设计,综合运用CPU创建多线程、FPGA调用多业务核、CPU与FPGA数据传输速率根据业务量大小自适应调整等技术手段,在确保设备并发处理性能的前提下,实现设备内部数据并行处理、数据传输高效可靠、低时延的需求。
附图说明
[0024]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本专利技术提供的资源管理/分发设备的部署模型示意图;
[0026]图2是本专利技术提供的基于CPU和FPGA的数据传输处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CPU和FPGA的数据传输处理方法,其特征在于,包括:利用通信线程池动态调整通信线程的数量,以建立CPU与多台终端设备的通信连接;利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA;基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU。2.根据权利要求1所述的基于CPU和FPGA的数据传输处理方法,其特征在于,还包括:根据CPU与FPGA之间的交互信息,动态调整CPU向FPGA的数据传输速率。3.根据权利要求1所述的基于CPU和FPGA的数据传输处理方法,其特征在于,利用CPU接收终端设备的业务数据,并将业务数据处理为待加密业务数据和待发送业务数据,以利用CPU与FPGA之间的私有协议将待加密业务数据传输至FPGA,包括:利用业务数据接收队列从通信线程接收业务数据,并将业务数据处理为待加密业务数据和待发送业务数据;将待加密业务数据存储至待加密数据接收队列,并对待加密业务数据进行合法性和完整性校验;基于私有协议将校验后的待加密业务数据存储至待加密数据发送队列,以将所述待加密业务数据发送至FPGA。4.根据权利要求3所述的基于CPU和FPGA的数据传输处理方法,其特征在于,在将业务数据处理为待加密业务数据和待发送业务数据之后,还包括:将待发送业务数据存储至业务数据发送队列;利用业务数据发送队列将待发送业务数据发送至终端设备。5.根据权利要求1所述的基于CPU和FPGA的数据传输处理方法,其特征在于,基于FPGA的多任务核技术,利用FPGA调用对应的任务核对待加密业务数据进行并行加密处理,并将加密处理后的待加密数据反馈至CPU,包括:基于CPU与FPGA之间的私有协议,获取CPU发送的待加密业务数据;将待加密业务数据存储至未满的FPG...

【专利技术属性】
技术研发人员:刘路遥魏文流刘海峰徐林杰刘青霞费久江周勋宋威潘峰袁涛胡立琴吴涵刘正山张龙吴艳初
申请(专利权)人:武汉船舶通信研究所中国船舶集团有限公司第七二二研究所
类型:发明
国别省市:

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

1