1.一种数据处理的方法,其特征在于,所述方法包括:
服务器中的设备获取虚拟机发送的第一输入输出i/o请求,所述设备通过高速串行计算机扩展标准pcie总线连接所述服务器,所述虚拟机运行在所述服务器上,所述设备向所述服务器提供多个虚拟功能vf,所述第一i/o请求为所述虚拟机针对所述多个vf中的任意一个vf发起的,所述第一i/o请求包括读操作或写操作,所述读操作用于对所述服务器的i/o设备执行读取数据操作,所述写操作用于对所述服务器的i/o设备执行写入数据操作,所述vf用于管理所述虚拟机的存储空间;
所述设备根据所述第一i/o请求,从所述服务器的i/o设备中读取或写入数据。
2.根据权利要求1所述方法,其特征在于,所述设备获取所述虚拟机发送的第一i/o请求,包括:
所述设备从第一队列获取第一描述符,所述第一描述符为所述虚拟机中的前端驱动对所述第一i/o请求处理后生成的,所述第一描述符用于指示所述第一i/o请求在所述服务器的内存中的存储位置,所述第一队列存储至所述服务器的内存,所述第一队列用于存储包括所述第一i/o请求在内的多个i/o请求的描述符;
所述设备根据所述第一描述符,从所述服务器的内存中获取所述第一i/o请求。
3.根据权利要求2所述的方法,其特征在于,所述设备包括描述符预取引擎与直接内存访问dma引擎与存储器,所述设备从所述服务器为第一队列分配的存储空间中获取第一描述符,包括:
所述描述符预取引擎生成第二描述符,并将所述第二描述符发送至所述dma引擎,所述第二描述符用于指示所述第一描述符在所述服务器为所述第一队列分配的存储空间中的存储位置;
所述dma引擎根据所述第二描述符,通过dma的方式从所述第一队获取所述第一描述符,并将所述第一描述符存储至所述设备的存储器中。
4.根据权利要求3所述的方法,其特征在于,所述设备包括中断产生模块与后端驱动,所述设备根据所述第一描述符,从所述服务器的内存中获取所述第一i/o请求,包括:
所述后端驱动通过处理所述中断产生模块发起的中断请求,从所述存储器中获取所述第一描述符,并将所述第一描述符发送至所述dma引擎;
所述dma引擎根据所述第一描述符,通过dma的方式从所述服务器的内存中获取所述第一i/o请求。
5.根据权利要求3或4所述的方法,其特征在于,所述设备还包括i/o设备引擎,所述设备根据所述第一i/o请求从所述服务器的i/o设备中读取或写入数据,包括:
当所述第一i/o请求为所述读操作时,所述后端驱动根据所述第一i/o请求,生成读数据报文,所述读数据报文用于指示待读取的目标数据在所述i/o设备中的存储位置,所述读数据报文还用于指示读取到的所述目标数据在所述设备的存储器中的存储位置;
所述后端驱动通过所述i/o设备引擎向所述i/o设备发送所述读数据报文;
所述后端驱动通知所述dma引擎将存储在所述设备的存储器中的所述目标数据存储至所述服务器的内存中。
6.权利要求3或4所述的方法,其特征在于,所述设备根据所述第一i/o请求从所述服务器的i/o设备中读取或写入数据,包括:
当所述第一i/o请求为所述写操作时,所述dma引擎从所述服务器的内存中获取待写入i/o设备的目标数据,并将所述目标数据写入所述设备的存储器中;
所述后端驱动根据所述第一i/o请求,生成写数据报文,所述写数据报文用于指示所述目标数据在所述存储器中的存储位置,所述写数据报文还用于指示将所述目标数据存储至所述i/o设备的存储位置;
所述后端驱动向所述i/o设备发送所述写数据报文。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一i/o请求处理完成之后,所述后端驱动通过所述dma引擎向所述服务器发送中断请求,所述中断请求用于所述服务器确定所述设备对所述第一i/o请求的处理结果。
8.一种数据处理的设备,其特征在于,所述设备通过高速串行计算机扩展标准pcie总线连接服务器,所述服务器上运行有虚拟机,所述设备向所述服务器提供多个虚拟功能vf,所述设备包括:
获取模块,用于获取虚拟机发送的第一输入输出i/o请求,所述第一i/o请求为所述虚拟机针对所述多个vf中的任意一个vf发起的,所述第一i/o请求包括读操作或写操作,所述读操作用于对所述服务器的i/o设备执行读取数据操作,所述写操作用于对所述服务器的i/o设备执行写入数据操作,所述vf用于管理所述虚拟机的存储空间;
处理模块,用于根据所述第一i/o请求,从所述服务器的i/o设备中读取或写入数据。
9.根据权利要求8所述设备,其特征在于,所述获取模块,还用于从第一队列获取第一描述符,所述第一描述符为所述虚拟机中的前端驱动对所述第一i/o请求处理后生成的,所述第一描述符用于指示所述第一i/o请求在所述服务器的内存中的存储位置,所述第一队列存储至为所述服务器的内存,所述第一队列用于存储包括所述第一i/o请求在内的多个i/o请求的描述符;
所述获取模块,还用于根据所述第一描述符,从所述服务器的内存中获取所述第一i/o请求。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括存储模块,所述处理模块,还用于生成第二描述符,并将所述第二描述符发送至所述获取模块,所述第二描述符用于指示所述第一描述符在所述服务器为所述第一队列分配的存储空间中的存储位置;
所述获取模块,还用于根据所述第二描述符,通过dma的方式从所述第一队列获取所述第一描述符,并将所述第一描述符存储至所述存储模块中。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括:中断产生模块,所述处理模块,用于通过处理所述中断产生模块发起的中断请求,从所述存储模块中获取所述第一描述符,并将所述第一描述符发送至所述获取模块;
所述获取模块,还用于根据所述第一描述符,通过dma的方式从所述服务器的内存中获取所述第一i/o请求。
12.根据权利要求10或11所述的设备,其特征在于,所述设备还包括i/o设备引擎模块,
所述处理模块,还用于当所述第一i/o请求为所述读操作时,根据所述第一i/o请求,生成读数据报文,所述读数据报文用于指示待读取的目标数据在所述i/o设备中的存储位置,所述读数据报文还用于指示读取到的所述目标数据在所述存储模块中的存储位置;
所述处理模块,还用于通过所述i/o设备引擎模块向所述i/o设备发送所述读数据报文;
所述处理模块,还用于通知所述获取模块将存储在所述存储模块中的所述目标数据存储至所述服务器的内存中。
13.权利要求10或11所述的设备,其特征在于,所述获取模块,还用于当所述第一i/o请求为所述写操作时,从所述服务器的内存中获取待写入i/o设备的目标数据,并将所述目标数据写入所述存储模块中;
所述处理模块,还用于根据所述第一i/o请求,生成写数据报文,所述写数据报文用于指示所述目标数据在所述存储模块中的存储位置,所述写数据报文还用于指示将所述目标数据存储至所述i/o设备的存储位置;
所述处理模块,还用于向所述i/o设备发送所述写数据报文。
14.根据权利要求8至13中任一项所述的设备,其特征在于,所述处理模块,还用于在所述第一i/o请求处理完成之后,通过所述dma引擎向所述服务器发送中断请求,所述中断请求用于所述服务器确定所述设备对所述第一i/o请求的处理结果。
15.一种服务器,其特征在于,所述服务器中包括设备,所述设备通过高速串行计算机扩展标准pcie总线连接所述服务器,所述设备用于执行所述权利要求8至14中任一项所述方法的操作步骤。