数据处理方法、可编程网卡设备、物理服务器及存储介质技术

技术编号:31512930 阅读:32 留言:0更新日期:2021-12-22 23:54
本申请实施例提供一种数据处理方法、可编程网卡设备、物理服务器及存储介质。在本申请实施例中,针对虚拟机的虚拟网卡,一方面在可编程网卡设备上基于可编程硬件实现该虚拟网卡对应的网卡加速模块,另一方面在虚拟机上面向其上层应用提供用于实现虚拟网卡硬件卸载的服务接口组件,使得可以基于可编程网卡设备对虚拟机的虚拟网卡的功能进行硬件卸载。具体地,虚拟机上的上层应用通过该服务接口组件将用于虚拟网卡的转发流表配置到网卡加速模块中,后续数据传输的过程可由网卡加速模块基于该转发流表完成,无需或减少虚拟网卡的参与,可以节省虚拟机的CPU资源,而且相比于基于软件的数据传输方式,基于硬件的数据传输还可以提高数据传输性能。提高数据传输性能。提高数据传输性能。

【技术实现步骤摘要】
数据处理方法、可编程网卡设备、物理服务器及存储介质


[0001]本申请涉及云计算
,尤其涉及一种数据处理方法、可编程网卡设备、物理服务器及存储介质。

技术介绍

[0002]云计算是一种基于互联网的分布式计算,通过这种计算方式允许使用者随时获取“云”上的资源,按需使用。在云计算领域中,虚拟机是最常用的一种虚拟化技术,可以为使用者提供具有完整硬件系统功能的、完全隔离的计算机运行环境。
[0003]对于云上虚拟机来说,可通过软件或硬件模拟出一张虚拟网卡,虚拟机的网络转发功能通过该虚拟网卡来实现,即虚拟机上的应用需要通过虚拟机的虚拟网卡进行数据收发。其中,虚拟网卡的运行需要占用虚拟机的CPU和内存,这会影响虚拟机的性能,另外,基于软件实现的网络转发性能较差。

技术实现思路

[0004]本申请的多个方面提供一种数据处理方法、可编程网卡设备、物理服务器及存储介质,用以提高虚拟机的网络转发性能。
[0005]本申请实施例提供一种物理服务器,包括:物理机,物理机上部署有虚拟机,虚拟机具有虚拟网卡,用于为虚拟机上的上层应用提本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种物理服务器,其特征在于,包括:物理机,所述物理机上部署有虚拟机,所述虚拟机具有虚拟网卡,用于为所述虚拟机上的上层应用提供数据传输服务;所述物理服务器还包括可编程网卡设备,在所述可编程网卡设备上实现有用于在不同虚拟机之间进行数据转发的虚拟交换机;其中,所述可编程网卡设备还包括基于可编程硬件实现的网卡加速模块,所述虚拟机还用于面向其上层应用提供用于实现所述虚拟网卡硬件卸载的第一服务接口组件,以供所述上层应用通过所述第一服务接口组件和所述虚拟交换机将用于所述虚拟网卡的第一转发流表配置到所述网卡加速模块中;所述网卡加速模块,用于基于所述第一转发流表为所述虚拟网卡提供数据传输加速服务。2.根据权利要求1所述的物理服务器,其特征在于,所述第一服务接口组件用于:响应所述上层应用的调用请求,将所述上层应用提供的第一转发流表封装为目标报文,并通过所述虚拟网卡将所述目标报文提供给所述虚拟交换机;所述虚拟交换机,用于在所述目标报文未匹配中第二转发流表的情况下,从所述目标报文中解析出所述第一转发流表,并将所述第一转发流表配置到所述网卡加速模块中,以供所述网卡加速模块基于所述第一转发流表为所述虚拟网卡提供数据传输加速服务,所述第二转发流表是所述虚拟交换机使用的转发流表。3.根据权利要求2所述的物理服务器,其特征在于,所述可编程网卡设备还包括:基于可编程硬件实现的交换机加速模块,用于基于所述虚拟交换机配置的第二转发流表,为所述虚拟交换机提供数据转发加速服务;所述第一服务接口组件在通过所述虚拟网卡将所述目标报文提供给所述虚拟交换机时,具体用于:通过所述虚拟网卡将所述目标报文发送给所述交换机加速模块,以使所述交换机加速模块在所述目标报文未匹配中第二转发流表的情况下将所述目标报文上报给所述虚拟交换机。4.根据权利要求2所述的物理服务器,其特征在于,所述虚拟交换机在将所述第一转发流表配置到所述网卡加速模块中时,具体用于:调用第二服务接口组件,将所述第一转发流表配置到所述网卡加速模块中,所述第二服务接口组件是所述虚拟交换机访问所述网卡加速模块所需的服务接口。5.根据权利要求4所述的物理服务器,其特征在于,所述虚拟交换机还用于:在将所述第一转发流表配置到所述网卡加速模块中之前,针对所述第一转发流表进行安全性校验、用户信息添加、持久化存储中的至少一种操作。6.根据权利要求4所述的物理服务器,其特征在于,所述虚拟交换机是基于数据平面开发套件DPDK开发的,所述第二服务接口组件是基于DPDK提供的用于实现流表配置的用户态API。7.根据权利要求3所述的物理服务器,其特征在于,所述网卡加速模块在基于所述第一转发流表为所述虚拟网卡提供数据传输加速服务时,具体用于:接收所述交换机加速模块发送的需要所述上层应用进行转发处理的第一报文,基于所述第一转发流表对所述第一报文进行处理,得到处理后的第一报文,并将处理后的第一报文发送给所述交换机加速模块,以供所述交换机加速模块基于所述第二转发流表将处理后
的第一报文转发出去;或者,接收所述上层应用通过所述虚拟网卡发送的第二报文,基于所述第一转发流表对所述第二报文进行处理后,得到处理后的第二报文,并将处理后的第二报文发送给所述交换机加速模块,以供所述交换机加速模块基于所述第二转发流表将处理后的第二报文转发出去;或者,接收所述交换机加速模块发送的需要所述上层应用进行接收处理的第三报文,基于所述第一转发流表对所述第三报文进行处理,得到处理后的第三报文,将处理后的第三报文经所述虚拟网卡上报给所述上层应用进行接收处理。8.根据权利要求3所述的物理服务器,其特征在于,所述可编程网卡设备上还包括基于可编程硬件实现的所述物理机的物理网卡,所述交换机加速模块还用于:接收所述物理网卡发送的来自其它物理机的报文并对所述报文进行转发处理,或者向所述物理网卡提供需要发送给其它物理机的报文,以供所述物理网卡将所述报文转发出去。9.根据权利要求1

8任一项所述的物理服务器,其特征在于,所述上层应用是基于所述虚拟机的操作系统开发的,所述第一服务接口组件是所述操作系统提供的用于实现所述虚拟网卡硬件卸载的内核态API;或者,所述上层应用是基于数据平面开发套件DPDK开发的,所述第一服务接口组件是基于DPDK提供的用于实现所述虚拟网卡硬件卸载的用户态API。10.一种可编程网卡设备,其特征在于,所述可编程网卡设备包括:基于可编程硬件实现的网卡加速模块,所述网卡加速模块与一虚拟网卡对应;所述网卡加速模块中配置有所述虚拟网卡使用的第一转发流表,用于基于所述第一转发流表为所述虚...

【专利技术属性】
技术研发人员:吕怡龙徐超谢尚威陈子康祝顺民
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1