数据传输方法、装置、设备及存储介质制造方法及图纸

技术编号:23512639 阅读:35 留言:0更新日期:2020-03-18 00:00
本申请提供了一种数据传输方法、装置、设备及存储介质,属于存储技术领域。本申请通过将数据传输指令处理完成时的中断消息从计算机设备的处理器重定向至网络接口适配器,直接根据网络接口适配器的工作队列中的消息发送指令,向第二计算机设备发送数据传输完成消息,可以达到将存储器触发的中断消息直接转换为数据传输完成消息的效果,避免目的设备的处理器进行一系列中断处理的事务,从而避免处理器的深度参与,极大的减少了目的端的处理器的资源开销,提高了目的设备对数据传输指令处理的效率和速度。另外,通过改进软件流程,即可达到卸载目的设备的处理器的处理逻辑的效果,避免使用专用的网卡或其他芯片时造成的硬件成本,实用性强。

Data transmission method, device, equipment and storage medium

【技术实现步骤摘要】
数据传输方法、装置、设备及存储介质
本申请涉及存储
,特别涉及一种数据传输方法、装置、设备及存储介质。
技术介绍
随着存储技术以及网络技术的发展,不同计算机设备可以通过网络互连,任一计算机设备可以向其他计算机设备的存储器传输数据,从而将需要存储的数据远程地存储在其他计算机设备的存储器中。以两台计算机设备中用于发送待传输的数据的设备称为源设备,用于存储数据的设备称为目的设备为例,数据传输的流程可以包括以下步骤:源设备生成数据传输指令,向目的设备发送数据传输指令。当目的设备接收到源设备的数据传输指令时,目的设备通过该目的设备的存储器对数据传输指令进行处理。当目的设备对数据传输指令处理完成时,目的设备的存储器会生成中断消息,根据目的设备的处理器的消息接收地址,向该处理器发送中断消息。当处理器接收到中断消息时,处理器会生成消息发送指令,将消息发送指令入列至网络接口适配器的工作队列。处理器会对该网络接口适配器的门铃单元触发写入操作。当网络接口适配器检测到写入操作时,会从网络接口适配器的工作队列中获取指令,得到消息发送指令。网络接口适配器会根据消息发送指令,向源设备发送数据传输完成消息。当源设备接收到数据传输完成消息后,可以确定目的设备的存储器已经对数据传输指令处理完成。在传输数据的过程中,针对源设备向目的设备发送的每个数据传输指令,每当目的设备对该数据传输指令处理完成时,目的设备的存储器都会向处理器发送一次中断消息,则目的设备的处理器需要中断当前的业务,临时执行生成消息发送指令、将消息发送指令入列至网络接口适配器的工作队列,对网络接口适配器的门铃单元触发写入操作等一系列中断处理的步骤,极大的消耗了目的设备的处理器的处理资源,增加了传输数据的时延。
技术实现思路
本申请实施例提供了一种数据传输方法、装置、设备及存储介质,能够解决相关技术中数据传输完成时处理器需要处理存储器触发的中断请求,而导致处理器的处理资源消耗过大的技术问题。所述技术方案如下:第一方面,提供了一种数据传输方法,应用于第一计算机设备,所述方法包括:当对第二计算机设备的数据传输指令处理完成时,生成中断消息;根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息;当所述网络接口适配器接收到所述中断消息时,从所述网络接口适配器的工作队列中获取指令,得到消息发送指令;根据所述消息发送指令,向所述第二计算机设备发送数据传输完成消息。本实施例提供的方法,通过将数据传输指令处理完成时的中断消息从计算机设备的处理器重定向至网络接口适配器,直接根据网络接口适配器的工作队列中的消息发送指令,向第二计算机设备发送数据传输完成消息,可以达到将存储器触发的中断消息直接转换为数据传输完成消息的效果,避免目的设备的处理器进行一系列中断处理的事务,从而避免处理器的深度参与,极大的减少了目的端的处理器的资源开销,提高了目的设备对数据传输指令处理的效率和速度。另外,通过改进软件流程,即可达到卸载目的设备的处理器的处理逻辑的效果,避免使用专用的网卡或其他芯片时造成的硬件成本,实用性强。可选地,所述根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息,包括:根据网络接口适配器的目标门铃单元的地址,向所述网络接口适配器的目标门铃单元发送所述中断消息;所述从所述网络接口适配器的工作队列中获取指令,包括:根据门铃单元与工作队列之间的对应关系,从所述目标门铃单元对应的工作队列中获取指令。可选地,所述从所述网络接口适配器的工作队列中获取指令,得到消息发送指令,包括:根据所述中断消息携带的指针信息,获取所述消息发送指令在所述工作队列中的位置;从所述工作队列的所述位置,获取所述消息发送指令。可选地,所述消息发送指令为远程直接数据读取RDMA指令,所述数据传输完成消息为RDMA消息。可选地,所述根据所述消息发送指令,向所述第二计算机设备发送数据传输完成消息,包括下述至少一个步骤:根据RDMA写指令,执行RDMA写操作,向所述第二计算机设备发送RDMA写消息;根据RDMA发送指令,执行RDMA发送操作,向所述第二计算机设备发送RDMA发送消息。可选地,所述向所述第二计算机设备发送RDMA写消息,包括:向所述第二计算机设备的中断触发区域发送所述RDMA写消息。可选地,所述向所述第二计算机设备的中断触发区域发送所述RDMA写消息,包括:向所述第二计算机设备的本地中断控制器APIC区域发送所述RDMA写消息。可选地,所述根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息之前,所述方法还包括下述至少一个步骤:查询中断消息的目的地址信息,从所述目的地址信息得到所述网络接口适配器的消息接收地址,作为所述中断消息的目的地址;查询中断消息的消息内容信息,从所述消息内容信息得到指针信息,作为所述中断消息的消息内容。可选地,所述生成中断消息之前,所述方法还包括下述至少一个步骤:向所述中断消息的目的地址信息写入所述网络接口适配器的消息接收地址;向所述中断消息的消息内容信息写入所述指针信息。可选地,所述生成中断消息之前,所述方法还包括:生成所述网络接口适配器的工作队列;将所述消息发送指令入列至所述网络接口适配器的工作队列。可选地,所述网络接口适配器的工作队列为深度为1的循环队列。可选地,所述成中断消息之前,所述方法还包括:根据存储器的资源的物理地址,对所述资源进行内存注册,得到所述资源的内存注册信息,所述内存注册信息用于访问所述资源的物理地址;向所述第二计算机设备发送所述内存注册信息。可选地,所述资源包括门铃单元、工作队列、数据缓存区中的至少一项。可选地,所述生成中断消息之前,所述方法还包括下述至少一个步骤:当接收到第一RDMA消息时,根据所述第一RDMA消息携带的存储器的门铃单元的内存注册信息,向所述存储器的门铃单元写入所述第一RDMA消息携带的指针信息;当接收到第二RDMA消息时,根据所述第二RDMA消息携带的存储器的工作队列的内存注册信息,向所述存储器的工作队列写入所述第二RDMA消息携带的所述数据传输指令;当接收到第三RDMA消息时,根据所述第三RDMA消息携带的存储器的数据缓存区的内存注册信息,向所述存储器的数据缓存区写入所述第三RDMA消息携带的待传输的数据。第二方面,提供了一种数据传输方法,应用于第二计算机设备,所述方法包括:接收第一计算机设备的存储器的资源的内存注册信息,所述内存注册信息用于访问所述资源的物理地址;对所述存储器进行本地映射,得到所述存储器在所述第二计算机设备中映射的虚拟非易失性高速传输总线NVMe设备;根据所述虚拟NVMe设备的资源的内存注册信息,对NVMe驱动进行初始化;通过所述NVMe驱动,根据所述资源的内存注册信本文档来自技高网
...

【技术保护点】
1.一种数据传输方法,其特征在于,应用于第一计算机设备,所述方法包括:/n当对第二计算机设备的数据传输指令处理完成时,生成中断消息;/n根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息;/n当所述网络接口适配器接收到所述中断消息时,从所述网络接口适配器的工作队列中获取指令,得到消息发送指令;/n根据所述消息发送指令,向所述第二计算机设备发送数据传输完成消息。/n

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于第一计算机设备,所述方法包括:
当对第二计算机设备的数据传输指令处理完成时,生成中断消息;
根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息;
当所述网络接口适配器接收到所述中断消息时,从所述网络接口适配器的工作队列中获取指令,得到消息发送指令;
根据所述消息发送指令,向所述第二计算机设备发送数据传输完成消息。


2.根据权利要求1所述的方法,其特征在于,所述根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息,包括:
根据网络接口适配器的目标门铃单元的地址,向所述网络接口适配器的目标门铃单元发送所述中断消息;
所述从所述网络接口适配器的工作队列中获取指令,包括:
根据门铃单元与工作队列之间的对应关系,从所述目标门铃单元对应的工作队列中获取指令。


3.根据权利要求1所述的方法,其特征在于,所述从所述网络接口适配器的工作队列中获取指令,得到消息发送指令,包括:
根据所述中断消息携带的指针信息,获取所述消息发送指令在所述工作队列中的位置;
从所述工作队列的所述位置,获取所述消息发送指令。


4.根据权利要求1所述的方法,其特征在于,所述消息发送指令为远程直接数据读取RDMA指令,所述数据传输完成消息为RDMA消息。


5.根据权利要求4所述的方法,其特征在于,所述根据所述消息发送指令,向所述第二计算机设备发送数据传输完成消息,包括下述至少一个步骤:
根据RDMA写指令,执行RDMA写操作,向所述第二计算机设备发送RDMA写消息;
根据RDMA发送指令,执行RDMA发送操作,向所述第二计算机设备发送RDMA发送消息。


6.根据权利要求5所述的方法,其特征在于,所述向所述第二计算机设备发送RDMA写消息,包括:
向所述第二计算机设备的中断触发区域发送所述RDMA写消息。


7.根据权利要求6所述的方法,其特征在于,所述向所述第二计算机设备的中断触发区域发送所述RDMA写消息,包括:
向所述第二计算机设备的本地中断控制器APIC区域发送所述RDMA写消息。


8.根据权利要求1所述的方法,其特征在于,所述根据网络接口适配器的消息接收地址,向所述网络接口适配器发送所述中断消息之前,所述方法还包括下述至少一个步骤:
查询中断消息的目的地址信息,从所述目的地址信息得到所述网络接口适配器的消息接收地址,作为所述中断消息的目的地址;
查询中断消息的消息内容信息,从所述消息内容信息得到指针信息,作为所述中断消息的消息内容。


9.根据权利要求8所述的方法,其特征在于,所述生成中断消息之前,所述方法还包括下述至少一个步骤:
向所述中断消息的目的地址信息写入所述网络接口适配器的消息接收地址;
向所述中断消息的消息内容信息写入所述指针信息。


10.根据权利要求1所述的方法,其特征在于,所述生成中断消息之前,所述方法还包括:
生成所述网络接口适配器的工作队列;
将所述消息发送指令入列至所述网络接口适配器的工作队列。


11.根据权利要求10所述的方法,其特征在于,所述网络接口适配器的工作队列为深度为1的循环队列。


12.根据权利要求1所述的方法,其特征在于,所述生成中断消息之前,所述方法还包括:
根据存储器的资源的物理地址,对所述资源进行内存注册,得到所述资源的内存注册信息,所述内存注册信息用于访问所述资源的物理地址;
向所述第二计算机设备发送所述内存注册信息。


13.根据权利要求12所述的方法,其特征在于,所述资源包括门铃单元、工作队列、数据缓存区中的至少一项。


14.根据权利要求1所述的方法,其特征在于,所述生成中断消息之前,所述方法还包括下述至少一个步骤:
当接收到第一RDMA消息时,根据所述第一RDMA消息携带的存储器的门铃单元的内存注册信息,向所述存储器的门铃单元写入所述第一RDMA消息携带...

【专利技术属性】
技术研发人员:陈俊杰周超龚陈继
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1