版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(72)发明人黄成王彦伟樊嘉恒李霞公司11227专利代理师任洁芳存储介质本申请公开了一种数据处理方法、电子设用于电子设备,电子设备包含处理器和网卡设备均基于高速互联协议访问网卡内存,方法包卡设备均可以在网卡内存中处理同一批网络业处理器将网络业务数据和网络业务程序均设置于网卡内存处理器将网络业务数据和网络业务程序均设置于网卡内存处理器访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理21.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备包含处理器和网卡设备,所述网卡设备中具有网卡内存,所述处理器和所述网卡设备均基于高速互联协议访处理器将网络业务数据和网络业务程序均设置于网卡内存;所述处理器访问所述网卡内存中的所述网络业务数据和网络业务程序,并基于所述网络业务程序对所述网络业务数据进行业务处理;所述网卡设备访问所述网卡内存中的所述网络业务数据,并对所述网络业务数据进行网卡业务处理和网络传输处理。2.根据权利要求1所述的数据处理方法,其特征在于,所述网络业务程序包括应用程序、网络协议栈和网卡驱动程序。3.根据权利要求2所述的数据处理方法,其特征在于,处理器将网络业务数据和网络业所述处理器在执行操作系统初始化时,对主机内存进行物理地址注册,同时执行设备扫描以初始化所述网卡设备,并对所述网卡内存进行物理地址注册,以将所述主机内存和所述网卡内存均纳入操作系统内存;所述处理器向所述网卡内存加载所述网卡驱动程序,并在所述网卡内存中初始化所述网络协议栈。4.根据权利要求3所述的数据处理方法,其特征在于,处理器将网络业务数据和网络业所述处理器在执行应用程序初始化时,调用基于所述高速互联协议的接口将所述应用程序及应用程序数据加载至所述网卡内存。5.根据权利要求2所述的数据处理方法,其特征在于,所述网卡内存分为用户态内存区域和内核态内存区域,所述应用程序设置于所述用户态内存区域,所述网络协议栈、所述网卡驱动程序设置于所述内核态内存区域。6.根据权利要求5所述的数据处理方法,其特征在于,还包所述处理器在运行所述应用程序时,通过基于所述高速互联协议的操作系统接口调用所述内核态内存区域中的网络协议栈;所述处理器在运行所述网络协议栈时,通过基于所述高速互联协议的操作系统接口响应所述用户态内存区域中的应用程序。7.根据权利要求2所述的数据处理方法,其特征在于,所述网卡业务处理包括应用处8.根据权利要求1所述的数据处理方法,其特征在于,处理器访问所述网卡内存中的所述网络业务数据和网络业务程序,并基于所述网络业务程序对所述网络业务数据进行业务所述处理器基于所述高速互联协议从所述网卡内存中加载所述网络业务数据和所述网络业务程序至处理器缓存;所述处理器基于所述处理器缓存中的网络业务程序对所述处理器缓存中的网络业务数据进行业务处理,并在所述网络业务数据更新后基于所述高速互联协议对所述网卡设备的网卡处理器缓存进行更新;3网卡设备访问所述网卡内存中的所述网络业务数据,并对所述网络业务数据进行网卡所述网卡设备基于所述高速互联协议从所述网卡内存中加载所述网络业务数据至网所述处理器对所述网卡处理器缓存中的网络业务数据进行网卡业务处理,并在所述网络业务数据更新后基于所述高速互联协议对所述处理器的处理器缓存进行更新。9.根据权利要求1至8任一项所述的数据处理方法,其特征在于,处理器访问所述网卡内存中的所述网络业务数据和网络业务程序,并基于所述网络业务程序对所述网络业务数所述处理器基于高速互联协议访问所述网卡内存中的原始业务数据和所述网络业务程序,并基于所述网络业务程序对所述原始业务数据进行业务处理得到待发送数据;网卡设备访问所述网卡内存中的所述网络业务数据,并对所述网络业务数据进行网卡所述网卡设备基于所述高速互联协议访问所述网卡内存中的所述待发送数据,并对所述待发送数据进行网卡业务处理得到第一数据报文;所述网卡设备将所述第一数据报文通过网络发送至外部设备。10.根据权利要求9所述的数据处理方法,其特征在于,在所述处理器基于高速互联协议访问所述网卡内存中的原始业务数据和所述网络业务程序,并基于所述网络业务程序对所述原始业务数据进行业务处理得到待发送数据之前,还包括:所述处理器基于所述高速互联协议将主机内存中的原始业务数据迁移至网卡内存。11.根据权利要求9所述的数据处理方法,其特征在于,网卡设备访问所述网卡内存中的所述网络业务数据,并对所述网络业务数据进行网卡业务处理和网络传输处理,包括:所述网卡设备接收外部设备发送的第二数据报文;所述网卡设备对所述第二数据报文进行网卡业务处理得到待接收数据,并基于所述高速互联协议将所述待接收数据写入所述网卡内存;所述处理器访问所述网卡内存中的所述网络业务数据和网络业务程序,并基于所述网络业务程序对所述网络业务数据进行业务处理,包括:所述处理器基于高速互联协议访问所述网卡内存中的待接收数据和所述网络业务程序,并基于所述网络业务程序对所述待接收数据进行业务处理。12.根据权利要求11所述的数据处理方法,其特征在于,在所述处理器基于高速互联协议访问所述网卡内存中的待接收数据和所述网络业务程序,并基于所述网络业务程序对所述待接收数据进行业务处理之后,还包括:所述处理器基于所述高速互联协议将所述网卡内存中的待接收数据对应的业务处理结果迁移至主机内存,以便所述主机内存中的应用程序处理所述业务处理结果。13.一种电子设备,其特征在于,包含处理器和网卡设备,所述网卡设备中具有网卡内存,所述处理器和所述网卡设备均基于高速互联协议访问所述网卡内存;所述处理器和网卡设备,用于执行如权利要求1至12任一项所述的数据处理方法。14.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现如权利要求1至12任一项所述的数据处理方法。415.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至12任一项所述的数据处理方法。5一种数据处理方法、电子设备、程序产品和存储介质技术领域[0001]本申请涉及网络技术领域,尤其涉及一种数据处理方法、电子设备、程序产品和存储介质。背景技术[0002]为满足高速计算、高速传输需求,智能网卡设备应运而生,其可以将网络计算的部分功能从处理器卸载到网卡,以降低处理器负载。然而,处理器与智能网卡设备相互不能访问对方的内存,这导致处理器与智能网卡设备间需频繁进行内存数据搬运,降低了处理器与智能网卡的工作效率。发明内容[0003]本申请提供了一种数据处理方法、电子设备、程序产品和存储介质,以解决相关技术中处理器与网卡设备间需频繁进行内存数据搬运的问题。[0004]本申请提供了一种数据处理方法,应用于电子设备,电子设备包含处理器和网卡设备,网卡设备中具有网卡内存,处理器和网卡设备均基于高速互联协议访问网卡内存,方法包括:处理器将网络业务数据和网络业务程序均设置于网卡内存;处理器访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理;网卡设备访问网卡内存中的网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理。[0005]本申请还提供了一种电子设备,包含处理器和网卡设备,网卡设备中具有网卡内存,处理器和网卡设备均基于高速互联协议访问网卡内存;处理器和网卡设备,用于执行上述数据处理方法。[0006]本申请还提供了一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现上述数据处理方法。[0007]本申请还提供了一种非易失性计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现上述数据处理方法。[0008]在本申请中,电子设备可以包含处理器和网卡设备,网卡设备中具有网卡内存,并且处理器和网卡设备均基于高速互联协议访问网卡内存,即处理器能够直接访问网卡设备的网卡内存。随后,处理器可将网络业务数据和网络业务程序均设置于网卡内存,并且可以访问网卡内存中的网络业务数据和网络业务程序,以及基于网络业务程序对网络业务数据进行业务处理。而网卡设备访问网卡内存中的同一批网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理。可见,由于处理器和网卡设备均可以在网卡内存中处理同一批网络业务数据,因此能够避免处理器和网卡设备间频繁的内存数据搬运,从而能够有效提升处理器与网卡设备间的工作效率。6[0009]本申请还提供一种电子设备、计算机程序产品和非易失性计算机可读存储介质,具有上述有益效果。附图说明[0010]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0011]图1为本申请实施例所提供的一种电子设备的结构框图;图2为本申请实施例所提供的一种数据处理方法的流程图;图3为本申请实施例提供的一种操作系统内存空间划分的示意图;图4为本申请实施例提供的一种内存交互方式的示意图;图5为本申请实施例提供的一种软硬件架构示意图;图6为本申请实施例提供的一种内存分布示意图;图7为本申请实施例所提供的一种下行传输流程的示意图;图8为本申请实施例所提供的一种上行传输流程的示意图;图9为本申请实施例提供的一种操作系统初始化流程的示意图。具体实施方式[0012]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设特定的顺序或先后次序。[0014]相关技术中,为满足高速计算、高速传输需求,智能网卡设备应运而生,其可以将网络计算的部分功能从处理器卸载到网卡,以降低处理器负载。然而,处理器与智能网卡设备相互不能访问对方的内存,这导致处理器与智能网卡设备间需频繁进行内存数据搬运,降低了处理器与智能网卡的工作效率。[0015]有鉴于此,针对于如何解决处理器与网卡设备间需频繁进行内存数据搬运的技术问题,本申请可以提供一种数据处理方法,可确保处理器和网卡设备均可以在网卡内存中处理同一批网络业务数据,因此能够避免处理器和网卡设备间频繁的内存数据搬运,从而能够有效提升处理器与网卡设备间的工作效率。[0016]为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。[0017]首先对本申请所适用的电子设备结构进行介绍。请参考图1,图1为本申请实施例所提供的一种电子设备的结构框图。在本实施例中,该电子设备可以包含处理器和网卡设7备,网卡设备中包括网卡内存。处理器与网卡设备连接,例如可以通过总线(如PCIe总线,PeripheralComponentInterconnectExpress,高速串行计算机扩展总线标准)连接。与相关技术不同的是,本实施例中的处理器和网卡设备均可通过高速互联协议访问网卡内存,其中高速互联协议是一种支持内存共享、缓存一致性处理,并可改善处理器与加速器、内存扩展设备间通信的协议,例如可以为CXL协议(ComputeExpressLink,计算快速链路)、CCIX协议(CacheCoherent致性互联)、UCIe协议(UniversalChipletInterconnectExpress,通用芯粒互连技术)等。在这种协议下,处理器可以采取与访问主机内存相同的方式访问网卡内存,无需将主机内存中的内存数据移动至网卡内存。此时,只要处理器将运行数据通过高速互联协议设置于网卡内存,并在网卡内存中处理运行数据,便可有效避免处理器与网卡设备进行内存数据搬运,从而可提升处理器与网卡设备间的工作效率。[0018]进一步的,处理器、网卡设备中的网卡处理器(图1中未画出)均可具有对应的缓存(图1未画出),即处理器拥有处理器缓存,网卡处理器拥有网卡处理器缓存。相关技术中,处理器与网卡设备需要频繁进行内存数据搬运的原因除了处理器无法直接访问网卡设备的网卡内存、网卡设备无法直接访问处理器的主机内存以外,还在于无法保证处理器与网卡设备的缓存一致性,即无法确保相同数据在处理器缓存和网卡处理器缓存中保持数值一致。而本申请在引入高速互联协议后,能够基于高速互联协议确保处理器与网卡设备的缓存一致性。例如,处理器在将网卡内存中的数据加载至处理器缓存并对其进行处理后,能够基于高速互联协议对网卡处理器缓存中的相同数据进行更新(如数值更新、状态更新等)。同样的,网卡处理器在将网卡内存中的数据加载至网卡处理器缓存并对其进行处理后,能够基于高速互联协议对处理器缓存中的相同数据进行更新。这样,能够保持处理器缓存的数据与网卡处理器缓存的数据一致,从而保障数据处理的可靠性。此外,由于处理器、网卡处理器能够直接从缓存中命中正确的运行数据,因此也可以有效保障处理器、网卡处理器的读写性能。[0019]需要说明的是,本申请并不限定处理器的数量,既可以为一个也可以为多个,可根据实际应用需求进行设定。此外,本申请并不限定电子设备中的其他结构,如该电子设备还[0020]基于上述电子设备结构描述,下面对本申请提供的数据处理方法进行详细介绍。为方便理解,请参考图2,图2为本申请实施例所提供的一种数据处理方法的流程图。该方法S101、处理器将网络业务数据和网络业务程序均设置于网卡内存。[0021]在本步骤中,处理器需向网卡内存设置的运行数据包括网络业务数据和网络业务网络数据包等。随着网络业务处理的进行,网络业务数据的形态也可发生变化,如从字符、业务程序为执行网络业务处理的程序,例如可以包括应用程序、网络协议栈和网卡驱动程序。其中,应用程序为用户启动的、可以与用户进行交互的计算机程序。网络协议栈为基于网络协议对网络业务数据进行网络封装/解封装的计算机程序。网卡驱动程序为控制网卡8因此处理器可以直接基于网卡内存运行应用程序、网络协议栈、网卡驱动程序,且能够直接基于网卡内存进行网络业务数据处理。此时,主机侧中的主机内存可不负责网络业务数据和网络业务程序的存储。主机侧可仅保留处理器的计算功能。[0022]需要说明的是,不同的网络业务程序可以在电子设备的不同运行阶段设置于网卡内存。例如,网络协议栈、网卡驱动程序可以在操作系统初始化阶段设置于网卡内存;应用程序则可在操作系统启动后设置于网卡内存。[0023]进一步的,为实现应用程序与网络协议栈、网卡驱动程序在网卡内存中的内存隔离,从而保障操作系统的正常运行,本实施例还可以对网卡内存进行划分和规划。具体的,网卡内存可被操作系统分为用户态内存区域和内核态内存区域,应用程序设置于用户态内存区域,网络协议栈、网卡驱动程序设置于内核态内存区域,用户态内存区域与内核态内存区域相隔离。为方便理解在处理器可直接访问网卡内存的情况下操作系统对内存空间划分情况的变化情况,请参考图3,图3为本申请实施例提供的一种操作系统内存空间划分的示意图。其中,图3左侧展示相关技术中操作系统对内存空间的划分情况,其中主机内存和网卡内存为两个独立隔离的内存区域。相关技术中,处理器仅能访问主机内存,因此仅能在主机内存中设置用户态内存空间和内核态内存空间。网卡内存仅能由网卡处理器访问,无法由处理器访问,进而网卡内存中无法设置用户态内存空间、内核态内存空间,其完全为网卡内存空间。图3右侧展示本申请中操作系统对内存空间的划分情况。由于本实施例的处理器能够基于高速互联协议直接访问网卡内存,因此可以在网卡内存中设置用户态内存空间和内核态内存空间。此时,网卡内存由处理器和网卡设备共享,且操作系统能够依照常规方式管控网卡内存空间。[0024]进一步的,由于处理器的访存方式、操作系统内存空间均已发生改变,因此用户态内存空间中的应用程序与内核态内存空间中的网络协议栈之间的交互方式也发生了改变。为方便理解具体改变情况,请参考图4,图4为本申请实施例提供的一种内存交互方式的示意图。图4左侧展示了相关技术中应用程序与网卡内存的交互方式,即应用软件通过系统调用访问到主机内存内核态里的操作系统协议栈软件(如网络协议栈),操作系统协议栈软件通过DMA/MMIO(DirectMemoryAccess,直接内存访问,Memory-MappedI/0,内存映射输入输出)实现了内核态主机内存与网卡内存的交互。图4右侧为本申请中网卡内存与用户交互方式,应用软件可直接通过基于高速互联协议的系统调用与网卡内存中的操作系统协议栈软件(如网络协议栈)进行交互。步骤11:处理器在运行应用程序时,通过基于高速互联协议的操作系统接口调用内核态内存区域中的网络协议栈。[0026]步骤12:处理器在运行网络协议栈时,通过基于高速互联协议的操作系统接口响应用户态内存区域中的应用程序。[0027]S102、处理器访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理。[0028]在本步骤中,处理器在将网络业务数据和网络业务程序设置于网卡内存后,便可访问网卡内存中基于网络业务程序对网络业务数据进行业务处理。[0029]需要说明的是,本实施例并不限定具体的业务处理,可参考应用程序、网络协议9[0030]进一步的,处理器可以设置处理器缓存,网卡处理器可以设置网卡处理器缓存,进而可以基于高速互联协议对处理器缓存和网卡处理器缓存进行缓存一致性处理。具体的,处理器基于高速互联协议从网卡内存中加载网络业务数据和网络业务程序至处理器缓存,并在处理器缓存中进行业务处理。随后,处理器在网络业务数据更新后,可以基于高速互联协议对网卡设备的网卡处理器缓存进行更新。[0031]基于此,处理器基于高速互联协议访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理,可以包括:步骤21:处理器基于高速互联协议从网卡内存中加载网络业务数据和网络业务程序至处理器缓存。[0032]步骤22:处理器基于处理器缓存中的网络业务程序对处理器缓存中的网络业务数据进行业务处理,并在网络业务数据更新后基于高速互联协议对网卡设备的网卡处理器缓存进行更新。[0033]需要说明的是,本实施例并不限定如何对网卡处理器缓存进行更新。例如,当缓存数据具有数据状态时,可以将网卡处理器缓存中的网络业务数据标记为过期,以使网卡处理器在下次处理该网络业务数据时重新从网卡内存中进行提取。当然,也可以直接根据网络业务数据在处理器缓存中的数值更新其在网卡处理器缓存中的数值,可根据实际应用需求进行设定。[0034]S103、网卡设备访问网卡内存中的网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理。[0035]在本步骤中,网卡设备也可直接访问网卡内存中的同一批网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理。其中,网卡业务处理指卸载到网卡设备的处理操作,可以包括应用处理、通信计算处理。应用处理为与应用程序相关的处理操作,例如可以为分布式存储领域中的存储协议处理、机器学习领域中的集合通信处理、视频领域中的视频编解码处理等。通信计算为与网络通信相关的处理操作,例如TCP巨帧功能、IP/UDP校验和计算等。由于处理器与网卡设备共享网卡内存,且与网络业务相关的数据均存储于网卡内存,因此网卡设备能够直接从网卡内存中获得已由处理器的网络业务数据,并可直接进行处理,或是网卡设备能够直接将自身已处理的网络业务数据传递给处理器,无需进行主机内存与网卡内存间的内存数据搬运。[0036]进一步的,可以基于高速互联协议对网卡处理器缓存和处理器缓存进行缓存一致性处理。具体的,网卡处理器基于高速互联协议从网卡内存中加载网络业务数据和网络业务程序至网卡处理器缓存,并在网卡处理器缓存中进行网卡业务处理。随后,网卡处理器在网络业务数据更新后,可以基于高速互联协议对处理器缓存进行更新。[0037]基于此,网卡设备基于高速互联协议访问网卡内存中的网络业务数据,并对网络业务数据进行网卡业务处理,可以包括:步骤31:网卡设备基于高速互联协议从网卡内存中加载网络业务数据至网卡处理[0038]步骤32:处理器对网卡处理器缓存中的网络业务数据进行网卡业务处理,并在网络业务数据更新后基于高速互联协议对处理器的处理器缓存进行更新。[0039]需要说明的是,本实施例并不限定如何对处理器缓存进行更新。例如,当缓存数据具有数据状态时,可以将处理器缓存中的网络业务数据标记为过期,以使处理器在下次处理该网络业务数据时重新从网卡内存中进行提取。当然,也可以直接根据网络业务数据在网卡处理器缓存中的数值更新其在处理器缓存中的数值,可根据实际应用需求进行设定。[0040]还需说明的是,尽管本申请按照顺序先后介绍步骤S102和S103,但这并不代表这两个步骤需按照先后顺序进行执行,既可以先执行S102再执行S103,也可以先执行S103再执行S102,也可以并行执行S102和S103。[0041]进一步的,为方便理解,请参考图5和图6,图5为本申请实施例提供的一种软硬件架构示意图,图6为本申请实施例提供的一种内存分布示意图。本申请可基于高速互联技术,将现有的网络计算加速系统进行了重构。在图5中,主机内存软件、网络协议栈、网卡驱动等数据已经不再存在主机内存上了,而是通过高速互联协议移动至网卡内存。不过,这些主机侧的计算部分还是由处理器完成,只是不存在主机内存上了而已。主机虚线右侧的计算功能没有发变化,但是仅保留了计算功能。网卡虚线右侧增加应用软件存储、协议栈存储、网卡驱动存储功能。对应的网络计算卸载功能也会直接在网卡内存上进行,加快了处理器和网卡计算的协同效率。这样做可以减少主机内存和网卡内存的拷贝,因为所有的数据都存在网卡内存上了。同时,通过引入高速互联协议,可实现缓存一致性功能,对于常用热数据来说,会极大提升性能。当大部分访问命中缓存时,无论缓存了主机还是网卡的内存,读取缓存的性能是一样的,也就是处理器访问网卡内存的性能约等于访问主机内存。[0042]在图6中,本申请可抛开硬件上主机和网卡的界线,本来放在主机内存的所有的运行数据都放到了网卡内存上,各个处理其的缓存都可以缓存网卡内存数据。由于所有的应用软件、协议栈都运行在网卡内存上,因此无需进行大量的拷贝。同时,由于所有的数据都在网卡上,原本分开的在网卡和主机上的步骤可以合并优化,可将应用软件和应用软件卸载,以及操作系统协议栈和协议栈卸载等功能合并,实现更高效的软硬件协同。[0043]基于上述实施例,在本申请中,电子设备可以包含处理器和网卡设备,网卡设备中具有网卡内存,并且处理器和网卡设备均基于高速互联协议访问网卡内存,即处理器能够直接访问网卡设备的网卡内存。随后,处理器可将网络业务数据和网络业务程序均设置于网卡内存,并且可以访问网卡内存中的网络业务数据和网络业务程序,以及基于网络业务程序对网络业务数据进行业务处理。而网卡设备访问网卡内存中的同一批网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理。可见,由于处理器和网卡设备均可以在网卡内存中处理同一批网络业务数据,因此能够避免处理器和网卡设备间频繁的内存数据搬运,从而能够有效提升处理器与网卡设备间的工作效率。[0044]基于上述实施例,下面对将应用软件和应用软件卸载、操作系统协议栈和协议栈卸载等功能合并的一种情况进行介绍。在一种实施例中,基于网络业务程序对网络业务数S201、处理器从网卡内存获取第一应用程序数据,并基于应用程序对第一应用程序进行处理,得到第二应用程序数据。[0045]S202、处理器从网卡内存获取第一待传输数据,并基于网络协议栈对第一待传输数据进行处理,得到第二待传输数据。11[0046]对网络业务数据进行网卡业务处理和网络传输处理,可以包括:S301、网卡设备从网卡内存获取第二应用程序数据,对第二应用程序数据进行应[0047]S302、网卡设备从网卡内存获取第二待传输数据,对第二待传输数据进行通信计[0048]S303、网卡设备对网络数据包进行网络传输处理。[0049]需要说明的是,第一应用程序数据需要经过处理器的应用程序处理,第二应用程序数据需要经过网卡设备的应用处理,第二应用程序数据为第一应用程序数据的中间处理结果。第一待传输数据需要经过处理器的网络协议栈处理,第二待传输数据需要经过网卡设备的通信计算处理,第二待传输数据为第一待传输数据的中间处理结果。[0050]在本实施例中,由于处理器和网卡设备均可以在网卡内存中进行数据处理,因此其二者交换数据的效率可以得到显著提升。例如,处理器在对第一应用程序数据进行处理得到第二应用程序数据时,网卡设备可以直接得到该第二应用程序数据,并继续进行应用处理,期间并不需要进行内存数据的迁移。同样的,网卡设备在处理得到第一待传输数据之后,处理器可直接从网卡内存获取第一待传输数据,并基于网络协议栈对第一待传输数据进行处理,得到第二待传输数据。而网卡设备可从网卡内存直接获取第二待传输数据,对第二待传输数据进行通信计算处理,得到网络数据包,进而对网络数据包进行网络传输处理。可见,处理器与网卡设备可采取接力的形式进行高效数据处理,从而能够有效提升处理器与网卡设备间的工作效率。[0051]基于上述实施例,下面对从处理器经网卡设备向外部设备发送数据报文的下行流S401、处理器基于高速互联协议访问网卡内存中的原始业务数据和网络业务程序,并基于网络业务程序对原始业务数据进行业务处理得到待发送数据。[0052]在本实施例中,处理器访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理的过程可以包含步骤S401。[0053]另外,原始业务数据需要依次经过应用程序处理、网络协议栈处理后,才可得到待发送数据。[0054]需要说明的是,原始业务数据可以保存于网卡内存,也可以从主机内存迁移至网卡内存。考虑到主机侧中的部分应用程序可能设置于主机内存中,进而这些应用程序产生的原始业务数据可能存放于主机内存中。因此,为方便网络业务处理,处理器可以将其从主机内存迁移至网卡内存中。[0055]基于此,在处理器基于高速互联协议访问网卡内存中的原始业务数据和网络业务程序,并基于网络业务程序对原始业务数据进行业务处理得到待发送数据之前,还包括:步骤41:处理器基于高速互联协议将主机内存中的原始业务数据迁移至网卡内[0056]当然,处理器也可基于内存直接访问协议将主机内存中的原始业务数据迁移至网卡内存。[0057]S402、网卡设备基于高速互联协议访问网卡内存中的待发送数据,并对待发送数据进行网卡业务处理得到第一数据报文。[0058]S403、网卡设备将第一数据报文通过网络发送至外部设备。[0059]在本实施例中,网卡设备访问网卡内存中的网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理的过程可以包括步骤S402、S403。可见,由于处理器和网卡设备均可直接访问网卡内存,因此,处理器与网卡设备可采取接力的形式进行高效数据处理,从而能够有效提升下行传输的效率。[0060]进一步的,为方便理解下行传输流程,请参考图7,图7为本申请实施例所提供的一种下行传输流程的示意图。[0061]基于上述实施例,下面对从外部设备经网卡设备向处理器发送数据的上行流程进S501、网卡设备接收外部设备发送的第二数据报文。[0062]S502、网卡设备对第二数据报文进行网卡业务处理得到待接收数据,并基于高速互联协议将待接收数据写入网卡内存。[0063]在本实施例中,网卡设备访问网卡内存中的网络业务数据,并对网络业务数据进行网卡业务处理和网络传输处理的步骤,可以包括步骤S501、S502。[0064]S503、处理器基于高速互联协议访问网卡内存中的待接收数据和网络业务程序,并基于网络业务程序对待接收数据进行业务处理。[0065]在本实施例中,处理器访问网卡内存中的网络业务数据和网络业务程序,并基于网络业务程序对网络业务数据进行业务处理的过程,可以包括S503。可见,由于处理器和网卡设备均可直接访问网卡内存,因此,处理器与网卡设备可采取接力的形式进行高效数据处理,从而能够有效提升上行传输的效率。[0066]进一步的,考虑到主机侧中的部分应用程序可能设置于主机内存中,而这些应用程序需对待接收数据的业务处理结果进行继续处理,因此,处理器可以将其从网卡内存迁移至主机内存中。[0067]基于此,在处理器基于高速互联协议访问网卡内存中的待接收数据和网络业务程序,并基于网络业务程序对待接收数据进行业务处理之后,还可以包括:步骤51:处理器基于高速互联协议将网卡内存中的待接收数据对应的业务处理结果迁移至主机内存,以便主机内存中的应用程序处理业务处理结果。[0068]进一步的,为方便理解下行传输流程,请参考图8,图8为本申请实施例所提供的一种上行传输流程的示意图。[0069]基于上述实施例,下面对将网络业务程序设置于网卡内存的方式进行介绍。处理器将网络业务数据和网络业务程序均设置于网卡内存,可以包括:S601、处理器在执行操作系统初始化时,对主机内存进行物理地址注册,同时执行设备扫描以初始化网卡设备,并对网卡内存进行物理地址注册,以将主机内存和网卡内存均纳入操作系统内存。[0070]S602、处理器向网卡内存加载网卡驱动程序,并在网卡内存中初始化网络协议栈。[0071]在本实施例中,为实现将网络协议栈和网卡驱动设置于网卡内存,本申请特别对操作系统的初始化流程进行了调整。请参考图9,图9为本申请实施例提供的一种操作系统初始化流程的示意图。图9左侧为相关技术中的操作系统启动流程,首先主机内存物理地址注册,操作系统管理主机内存,然后并行两个流程,初始化网络协议栈和扫描网卡设备并管理网卡。相关技术的操作系统是不管理网卡内存的,所以初始化网络协议栈是在主机内存上进行的。而图9右侧为本申请的操作系统启动流程,首先操作系统管理主机/网卡内存,主机/网卡内存物理地址注册是并行进行的,网卡内存空间也在操作系统的管理范围内,且网卡设备本身也可以直接访问,操作系统通过高速互联协议直接访问网卡内存空间,网络协议栈在网卡内存上初始化,也就是网络协议栈直接在网卡内存上运行,加速了网卡操作网络数据的性能。[0072]进一步的,在完成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网医疗政策对医疗创新产品研发的影响及可行性分析报告
- (新)【医院感染检查整改报告三篇】医院感染整改报告范文(2篇)
- 工厂太阳能光伏电站
- 人防专业知识讲座
- 2025届陕西省咸阳市数学四年级第二学期期中联考模拟试题含解析
- 城中村消防安全宣传视频
- 2025届长治市长子县数学三年级下学期期末达标检测模拟试题含答案解析
- 2026年首都航空招聘面试题库及答案
- 2026年审计校招面试题及答案
- 2026年上海投资咨询集团招聘试题及答案
- 人行天桥钢结构安装施工方案
- 2026年北师大版数学新教材五年级上册教学计划(含进度表)
- 2026部编人教版一年级道德与法治一年级上道德与法治教案
- 某钢铁厂质量制度
- 2026秋小学湘艺版音乐一年级上册(新教材)教学计划含教学进度表
- 路灯照明系统故障排查维修手册
- 重症监护病房感染防控指南
- 前列腺癌快速康复
- 2025-2026学年广东省中山市七年级(下)期末数学试卷(含答案)
- 地铁票务系统运维员岗位招聘考试试卷及答案
- 2026年秋季学期苏教版新版六年级上册科学教学计划含教学进度表
评论
0/150
提交评论