【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种数据传输方法及装置。
技术介绍
TOE(Transmission Control Protocol Offload Engine,传输控制协议卸载引擎,简称TCP卸载引擎)用于将CPU上关于TCP/IP的部分处理任务转移到专门的单元上进行。以集成有TOE的网卡为例,参考图1,通过采用配有TOE的TOE网卡,包括TCP层和IP层在内的四层处理任务都可以从主机CPU转移到该TOE网卡,大大减轻了主机CPU的处理负担。在包含多个CPU的多核系统中,例如Soc(system on chip,片上系统)或设有多个CPU的服务器中,如图2所示,通常TOE挂载在发送端或接收端的系统总线上,分别与存储器和多个CPU进行通信。在这种应用场景下,需要发送端与接收端之间建立TCP连接进行数据传输,此时,发送端与接收端内的TOE单元通过中断的方式触发CPU进行相关应用的数据处理,而这个中断通常是绑定在某一个CPU上进行的,当传输的数据非常多时,中断所绑定的CPU的资源占用率就非常高,导致整个多核应用场景的数据性能都受制于单个CPU。为解决上述问题,以发送端请求建立一条TCP连接为例,在发送端的TOE与接收端经过三次握手建立TCP连接后,发送端的TOE上报中断给绑定的CPU1,以使得CPU1在该TCP连接上发送数据,由于执行各种数据传输的TCP连接的中断均绑定在CPU1上,当CPU1的占用率达到阈值后,CPU1通过预置的任务调度算法,将CPU1内的部分数据传输进程迁移到其他CPU上,完成CPU1的负载均衡,然而,CPU1使用任务调度算法仍然 ...
【技术保护点】
一种数据传输方法,其特征在于,包括:传输控制协议卸载引擎TOE接收在第一传输控制协议TCP连接上传输的第一TCP报文;所述TOE在本地存储的连接信息表中查找与所述第一TCP连接对应的第一CPU的标识和第一地址信息,所述连接信息表中包括所述第一TCP连接和第一CPU的标识的对应关系,以及所述第一TCP连接和所述第一地址信息的对应关系,其中,所述第一CPU的标识用于指示处理所述第一TCP连接上传输的报文数据的CPU,所述第一地址信息为第一CPU预先确定的用于指示通过所述第一TCP连接传输的报文数据在内存中的存储位置;所述TOE将所述第一TCP报文中的数据存储在所述第一地址信息指示的存储位置中;所述TOE根据所述第一CPU的标识向所述第一CPU发起第一中断请求,触发所述第一CPU根据所述第一地址信息从所述内存中获取所述第一TCP报文中的数据。
【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:传输控制协议卸载引擎TOE接收在第一传输控制协议TCP连接上传输的第一TCP报文;所述TOE在本地存储的连接信息表中查找与所述第一TCP连接对应的第一CPU的标识和第一地址信息,所述连接信息表中包括所述第一TCP连接和第一CPU的标识的对应关系,以及所述第一TCP连接和所述第一地址信息的对应关系,其中,所述第一CPU的标识用于指示处理所述第一TCP连接上传输的报文数据的CPU,所述第一地址信息为第一CPU预先确定的用于指示通过所述第一TCP连接传输的报文数据在内存中的存储位置;所述TOE将所述第一TCP报文中的数据存储在所述第一地址信息指示的存储位置中;所述TOE根据所述第一CPU的标识向所述第一CPU发起第一中断请求,触发所述第一CPU根据所述第一地址信息从所述内存中获取所述第一TCP报文中的数据。2.根据权利要求1所述的方法,其特征在于,在所述TOE获取第一TCP连接上的第一TCP报文之前,还包括:所述TOE向控制设备发送第二中断请求,触发所述控制设备确定与所述第一TCP连接对应的所述第一CPU的标识;所述TOE获取所述第一CPU的标识,并将所述第一CPU的标识与所述第一TCP的连接关系存储至所述连接信息表中,以建立所述第一TCP连接与所述第一CPU的对应关系。3.根据权利要求2所述的方法,其特征在于,在所述TOE向控制设备发送第二中断请求之后,还包括:所述TOE将建立所述第一TCP连接所需的配置信息发送至所述控制设备,所述配置信息用于指示所述第一TCP连接的优先等级;其中,触发所述控制设备确定与所述第一TCP连接对应的所述第一CPU的标识,包括:触发所述控制设备根据所述配置信息确定所述第一TCP连接的优先等级,以便于所述控制设备根据所述第一TCP连接的优先等级确定与所述第一TCP连接对应的所述第一CPU的标识。4.根据权利要求2所述的方法,其特征在于,在所述TOE向控制设备发送第二中断请求,触发所述控制设备确定与所述第一TCP连接所绑定的所述第一CPU的标识之后,还包括:所述TOE接收所述第一CPU发送的所述第一地址信息;所述TOE将所述第一地址信息和所述第一TCP连接的对应关系存储至所述连接信息表中,以建立所述第一地址信息与所述第一TCP连接的对应关系。5.根据权利要求1至4中任一种所述的方法,其特征在于,当所述TOE需要在所述第一TCP连接上发送第二TCP报文时,所述方法还包括:所述TOE接收所述第一CPU发送的第二地址信息,所述第二地址信息用于指示待发送数据在所述内存中的存储位置;所述TOE根据所述第二地址信息从所述内存中获取所述待发送数据;所述TOE将所述待发送数据封装成所述第二TCP报文;所述TOE在所述第一TCP连接上发送所述第二TCP报文。6.一种数据传输方法,其特征在于,包括:在控制设备接收到传输控制协议卸载引擎TOE发送的第二中断请求之后,所述控制设备则从N个CPU中确定一个CPU为第一CPU,所述第一CPU用于处理第一传输控制协议TCP连接上传输的数据,N≥1;所述控制设备向所述第一CPU发送指示信息,所述指示信息用于指示所述第一CPU处理在所述第一TCP连接上传输的数据。7.根据权利要求6所述的方法,其特征在于,所述控制设备则从N个CPU中确定一个CPU为第一CPU,包括:所述控制设备获取所述N个CPU的负载值;所述控制设备根据所述N个CPU的负载值,将负载值最小的CPU作为所述第一CPU。8.根据权利要求6所述的方法,其特征在于,在所述控制设备则从N个CPU中确定一个CPU为第一CPU之前,还包括:所述控制设备接收所述TOE发送的配置信息,所述配置信息用于指示所述第一TCP连接的优先等级;其中,所述控制设备则从N个CPU中确定一个CPU为第一CPU,包括:所述控制设备根据所述配置信息确定所述第一TCP连接的优先等级;所述控制设备获取所述N个CPU的负载值;若第一T...
【专利技术属性】
技术研发人员:祝磊,张振兴,李东皤,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。