一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、TOE硬件及计算机可读存储介质与流程

2022-12-09 19:31:23 来源:中国专利 TAG:

数据处理方法、toe硬件及计算机可读存储介质
技术领域
1.本发明涉及但不限于网络传输技术领域,尤其涉及一种数据处理方法、toe硬件及计算机可读存储介质。


背景技术:

2.随着网络技术的快速发展,百万兆以太网越来越普及,中央处理器(central processing unit,cpu)实现的传输控制协议(transmission control protocol,tcp)协议栈的开销越来越大,需要耗费大量的cpu资源和内存总线带宽,已经成为高性能网络服务的技术瓶颈,为了减轻cpu的压力,出现了传输控制协议卸载引擎((tcp offload engine,toe,其中,传输控制协议(transmission control protocol,tcp))技术,能够将协议栈的处理转移到toe硬件实现,从而有效加速tcp协议的处理速度,释放cpu资源,降低处理时延。
3.在常见的toe实现方案中,虽然实现了套接字socket接口与应用层的完全兼容,能够使得toe硬件与cpu之间通过socket接口实现数据交互,但是,tcp链接处理的运行空间由toe硬件挂载的双倍数据速率(double data rate,ddr)存储器和toe硬件内部的随机存取存储器(random access memory,ram)提供,当并发的tcp链接的数量较大,toe硬件所需要的存储空间也随之增大,toe硬件挂载的ddr存储器以及内部ram无法满足巨大的存储需求,从而导致无法做到将tcp协议涉及的数据处理功能全部卸载到toe硬件中实现。


技术实现要素:

4.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本发明实施例提供了一种数据处理方法、toe硬件及计算机可读存储介质,能够有效增大处理tcp链接的运行空间,从而实现将tcp协议涉及的数据处理功能全部卸载到toe硬件。
6.第一方面,本发明实施例提供了一种数据处理方法,应用于toe硬件,所述toe硬件与中央处理器cpu通信连接,所述数据处理方法包括:
7.获取所述cpu发送的内存地址信息和待发送传输控制协议tcp链接的配置信息,其中,所述内存地址信息表征待发送数据在共享内存的存储位置,所述待发送数据由所述cpu从所述待发送tcp链接中获取并写入至所述共享内存,所述共享内存为所述toe硬件和所述cpu共享的内存;
8.根据所述内存地址信息获取所述待发送数据,根据所述配置信息和所述待发送数据进行toe卸载;
9.将通过toe卸载得到的tcp报文发送至传输网络。
10.第二方面,本发明实施例提供了一种数据处理方法,应用于toe硬件,所述toe硬件与cpu通信连接,所述数据处理方法包括:
11.获取来自于传输网络的tcp报文,通过对所述tcp报文进行toe卸载得到待接收tcp
链接;
12.获取所述待接收tcp链接的配置信息和待接收数据,将所述待接收数据写入共享内存,其中,所述共享内存为所述toe硬件与所述cpu共享的内存;
13.获取内存地址信息,将所述内存地址信息和所述配置信息发送至所述cpu,以使所述cpu根据所述内存地址信息获取所述待接收数据,并根据所述配置信息接收所述待接收数据,其中,所述内存地址信息表征所述待接收数据在所述共享内存的存储位置。
14.第三方面,本发明实施例提供了一种toe硬件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任意一项实施例所述的数据处理方法,或实现第二方面任意一项实施例所述的数据处理方法。
15.第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面任意一项实施例所述的数据处理方法,或执行如第二方面实施例所述的数据处理方法。
16.本发明实施例包括一种数据处理方法、toe硬件及计算机可读存储介质,其中,数据处理方法应用于toe硬件,所述toe硬件与中央处理器cpu通信连接,所述数据处理方法包括:获取所述cpu发送的内存地址信息和待发送传输控制协议tcp链接的配置信息,其中,所述内存地址信息表征待发送数据在共享内存的存储位置,所述待发送数据由所述cpu从所述待发送tcp链接中获取并写入至所述共享内存,所述共享内存为所述toe硬件和所述cpu共享的内存;根据所述内存地址信息获取所述待发送数据,根据所述配置信息和所述待发送数据进行toe卸载;将通过toe卸载得到的tcp报文发送至传输网络。根据本发明实施例提供的方案,能够有效增大处理tcp链接的运行空间,从而实现将tcp协议涉及的数据处理功能全部卸载到toe硬件。
17.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
18.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
19.图1是本发明一个实施例提供的数据处理方法的步骤流程图;
20.图2是本发明另一个实施例提供的得到索引信息的步骤流程图;
21.图3是本发明另一个实施例提供的生成第二索引信息的步骤流程图;
22.图4是本发明另一个实施例提供的生成第二索引信息的步骤流程图;
23.图5是本发明另一个实施例提供的toe卸载的步骤流程图;
24.图6是本发明另一个实施例提供的数据处理方法的步骤流程图;
25.图7是本发明另一个实施例提供的得到索引信息的步骤流程图;
26.图8是本发明另一个实施例提供的得到第二索引信息的步骤流程图;
27.图9是本发明另一个实施例提供的得到第二索引信息的步骤流程图;
28.图10是本发明另一个实施例提供的发送内存地址信息和配置信息的步骤流程图;
29.图11是本发明另一个实施例提供的toe硬件的示意图。
具体实施方式
30.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
31.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
32.本发明提供了一种数据处理方法、toe硬件及计算机可读存储介质,其中,数据处理方法应用于toe硬件,toe硬件与cpu通信连接,数据处理方法包括:获取cpu发送的内存地址信息和待发送传输控制协议tcp链接的配置信息,其中,内存地址信息表征待发送数据在共享内存的存储位置,待发送数据由cpu从待发送tcp链接中获取并写入至共享内存,共享内存为toe硬件和cpu共享的内存;根据内存地址信息获取待发送数据,根据配置信息和待发送数据进行toe卸载;将通过toe卸载得到的tcp报文发送至传输网络。根据本发明实施例提供的方案,能够有效增大处理tcp链接的运行空间,从而实现将tcp协议涉及的数据处理功能全部卸载到toe硬件。
33.下面结合附图,对本发明实施例作进一步阐述。
34.参照图1,图1是本发明一个实施例提供的数据处理方法的步骤流程图,该数据处理方法应用于toe硬件,toe硬件与cpu通信连接,该数据处理方法包括但不限于有以下步骤:
35.步骤s110,获取cpu发送的内存地址信息和待发送传输控制协议tcp链接的配置信息,其中,内存地址信息表征待发送数据在共享内存的存储位置,待发送数据由cpu从待发送tcp链接中获取并写入至共享内存,共享内存为toe硬件和cpu共享的内存。
36.需要说明的是,cpu和toe硬件之间能够通过套接字socket接口或硬件描述符队列实现通信;例如通过网络接口卡(net interface card,nic)队列中的消息(message,msg)进行通信,或者是根据预设的通信标准实现cpu和toe硬件之间实现socket接口兼容,以实现信息的交互。
37.需要说明的是,cpu从待发送tcp链接中获取的待发送数据可以写入至共享内存的发送缓冲区,发送缓冲区可以采用缓冲队列的形式,因此内存地址信息可以是共享内存中缓冲有待发送数据的缓冲队列的指针信息,由于内存地址信息表征待发送数据在共享内存的存储位置,获取内存地址信息能够为toe硬件获取待发送tcp链接的待发送数据做数据支撑,本实施例并不涉及具体的数据获取方式改进,在此不多作赘述。
38.可以理解的是,获取待发送传输控制协议tcp链接的配置信息能够为实现tcp协议功能提供数据支撑,需要说明的是,待发送传输控制协议tcp链接的配置信息的具体内容为本领域技术人员所熟知,本实施例不多作限定。
39.可以理解的是,对于主机服务器而言,存储空间分为内存和外存,外存包括ddr存储器等,其不足之处在于存储空间小、成本高和性能低,因此在应对高并发数据的情况下很
容易出现存储空间不足的情况,影响网络性能。而主机服务器的内存通常具有较大的存储空间,例如随机存取存储器(random access memory,ram),能够存储的缓冲数据量远超于ddr存储器,因此,利用主机内存作为数据缓冲区,能够在物理上提供大容量缓冲空间,为高并发场景提供存储空间基础。
40.本领域技术人员可以理解的是,内存通常包括易失性内存和非易失性内存,非易失性内存的存储容量通常大于易失性内存,常见的易失性内存包括动态随机存取存储器(dynamic random access memory,dram),常见的非易失性内存包括非易失性双列直插式内存模块(non-volatile dual in-line memory module,nvdimm),对于toe硬件而言,即使是tcp链接的高并发场景,也是cpu发送数据和toe硬件获取数据同步执行的过程,因此缓冲的数据并不需要永久性保存,基于此,在本实施例中既可以采用易失性内存,也可以采用非易失性内存,根据实际需求选取即可。
41.步骤s120,根据内存地址信息获取待发送数据,根据配置信息和待发送数据进行toe卸载。
42.可以理解的是,toe硬件根据内存地址信息从共享内存中获取待发送数据,根据配置信息和待发送数据进行toe卸载,实现将处理tcp协议的功能从cpu转移至toe硬件,从而有效减轻cpu的负荷。
43.需要说明的是,待发送数据可以是tcp协议的净荷数据,待发送数据的具体内容为本领域技术人员所熟知,本实施例不多作限定。
44.步骤s130,将通过toe卸载得到的tcp报文发送至传输网络。
45.可以理解的是,通过toe卸载得到tcp报文并发送至传输网络,实现将tcp协议的处理功能转移至toe硬件。
46.需要说明的是,由于tcp报文是通过toe硬件从共享内存中读取待发送数据,并根据待发送数据和配置信息执行toe卸载得到,在完成toe卸载之后,共享内存可以释放出可用的存储空间,实现共享内存中的存储空间的重复利用,提高空间的利用率。
47.需要说明的是,本发明实施例并不限制toe硬件的具体架构,可以是现场可编程逻辑门阵列(field programmable gate array,fpga)硬件,还可以是特殊应用集成电路(application specificintegrated circuit,asic)。
48.另外,参照图2,在一实施例中,在图1所示实施例中的步骤s110之后,还包括但不限于有以下步骤:
49.步骤s210,确定待发送tcp链接的链接标识;
50.步骤s220,生成第一索引信息,第一索引信息表征链接标识与内存地址信息的映射关系;
51.步骤s230,生成第二索引信息,第二索引信息表征链接标识与配置信息的映射关系;
52.步骤s240,通过关联第一索引信息和第二索引信息得到待发送tcp链接的索引信息。
53.需要说明的是,链接标识可以是待发送tcp链接的唯一标识参数,本领域技术人员有动机根据从cpu以及共享内存中获取的数据中确定链接标识,本实施例对此不多作限定。
54.可以理解的是,针对tcp链接执行toe卸载会生成对应的tcp报文,而tcp报文的内
容组成为tcp链接的净荷数据以及tcp链接的配置信息,因此在获取来自cpu的内存地址信息以及待发送tcp链接的配置信息之后,需要确定待发送tcp链接的链接标识以及得到待发送tcp链接的链接标识、内存地址信息和配置信息之间的关联关系,即得到待发送tcp链接的索引信息,为实现toe卸载提供数据基础。
55.另外,参照图3,在一实施例中,图2所示实施例中的步骤s230还包括但不限于有以下步骤:
56.步骤s310,在配置信息记录表中生成配置信息记录,配置信息记录包括配置信息、配置信息记录标识和链接标识,配置信息记录表预先设定并保存于本地;
57.步骤s320,通过关联配置信息记录和链接标识得到第二索引信息。
58.可以理解的是,在本地预先设定的配置信息表中生成配置信息记录,并通过关联配置信息记录和链接标识得到的第二索引信息能够为实现针对链接标识所对应的tcp链接进行toe卸载提供数据基础。
59.需要说明的是,本技术实施例并不限制配置信息记录表在toe硬件本地的存储位置,可以是存储在toe硬件挂载的双倍数据速率(double data rate,ddr)存储器中,本实施例不多作限定。
60.另外,在一实施例中,配置信息包括至少两种不同类型的数据结构信息,参照图4,图2所示实施例中的步骤s230还包括但不限于有以下步骤:
61.步骤s410,确定与数据结构信息相对应的数据结构信息记录表,数据结构信息记录表针对每种数据结构信息预先设定并保存于本地;
62.步骤s420,在数据结构信息记录表中生成数据结构信息记录,数据结构信息记录包括数据结构信息、数据结构信息记录标识和链接标识;
63.步骤s430,将链接标识与全部的数据结构信息记录相关联,得到第二索引信息。
64.需要说明的是,数据结构信息包括待发送tcp链接对应的收发相关的序号、状态机、时间戳、定时器等,数据结构信息的具体内容为本领域技术人员所熟知,在此不多做限制。
65.可以理解的是,在本实施例中,根据不同类型的数据结构信息,在本地预先设定有分别对应的数据结构信息记录表,在确定与数据结构信息的类型相对应的数据结构信息记录表之后,将对应的数据结构信息存储至对应的数据结构信息记录表中,为实现针对链接标识所对应的tcp链接进行toe卸载提供数据基础。
66.另外,参照图5,在一实施例中,图1所示实施例中的步骤s120还包括但不限于有以下步骤:
67.步骤s510,当接收到携带有目标链接标识的卸载指令,确定目标链接标识所对应的目标索引信息;
68.步骤s520,根据目标索引信息中的内存地址信息从共享内存中获取目标待发送数据;
69.步骤s530,根据目标索引信息中的配置信息确定目标配置;
70.步骤s540,根据目标配置和目标待发送数据进行toe卸载。
71.可以理解的是,当接收到携带有目标链接标识的卸载指令,确定目标链接标识所对应的目标索引信息,即得到目标待发送tcp链接的链接标识、内存地址信息和配置信息之
间的关联关系,根据目标索引信息中的内存地址信息从共享内存中获取目标待发送数据,根据目标索引信息中的配置信息确定目标配置,根据目标配置和目标待发送数据进行toe卸载,从而实现将处理tcp协议的功能从cpu转移至toe硬件,从而有效减轻cpu的负荷。
72.另外,参照图6,图6是本发明另一个实施例提供的数据处理方法的步骤流程图,该数据处理方法应用于toe硬件,toe硬件与cpu通信连接,该数据处理方法包括但不限于有以下步骤:
73.步骤s610,获取来自于传输网络的tcp报文,通过对tcp报文进行toe卸载得到待接收tcp链接。
74.步骤s620,获取待接收tcp链接的配置信息和待接收数据,将待接收数据写入共享内存,其中,共享内存为toe硬件与cpu共享的内存。
75.步骤s630,获取内存地址信息,将内存地址信息和配置信息发送至cpu,以使cpu根据内存地址信息获取待接收数据,并根据配置信息接收待接收数据,其中,内存地址信息表征待接收数据在共享内存的存储位置。
76.可以理解的是,获取来自于传输网络的tcp报文,通过对tcp报文进行toe卸载得到待接收tcp链接,从待接收tcp链接中获取待接收tcp链接的配置信息和待接收数据,并将待接收数据写入共享内存,获取待接收数据在共享内存的存储位置信息,即内存地址信息,并将内存地址信息和配置信息发送至cpu,以使cpu根据内存地址信息获取待接收数据,并根据配置信息接收待接收数据,从而实现将处理tcp协议的功能从cpu转移至toe硬件,从而有效减轻cpu的负荷。
77.另外,参照图7,在一实施例中,在图6所示实施例中的步骤s630之后,还包括但不限于有以下步骤:
78.步骤s710,获取待接收tcp链接的链接标识;
79.步骤s720,生成第一索引信息,第一索引信息表征链接标识与内存地址信息的映射关系;
80.步骤s730,生成第二索引信息,第二索引信息表征链接标识与配置信息的映射关系;
81.步骤s740,通过关联第一索引信息和第二索引信息得到待接收tcp链接的索引信息。
82.需要说明的是,本实施例的技术方案和原理可以参考图2所示的实施例,主要区别在于本实施例实现toe卸载的执行方向与图2所示的实施例的toe卸载的执行方向不同,本实施例作为tcp报文的获取端,将待接收tcp链接的配置信息和toe硬件将待接收数据存入共享内存的内存地址信息发送至cpu,以使cpu根据内存地址信息和配置信息进行待接收tcp链接的数据接收,除此以外与图2所示的实施例相近似,为了叙述简便,在此不多作赘述。
83.另外,参照图8,在一实施例中,图7所示实施例中的步骤s730还包括但不限于有以下步骤:
84.步骤s810,在配置信息记录表中生成配置信息记录,配置信息记录包括配置信息、配置信息记录标识和链接标识,配置信息记录表预先设定并保存于本地;
85.步骤s820,通过关联配置信息记录和链接标识得到第二索引信息。
86.需要说明的是,本实施例的技术方案和原理可以参考图3所示的实施例,主要区别在于本实施例实现toe卸载的执行方向与图3所示的实施例的toe卸载的执行方向不同,本实施例作为tcp报文的获取端,将待接收tcp链接的配置信息和toe硬件将待接收数据存入共享内存的内存地址信息发送至cpu,以使cpu根据内存地址信息和配置信息进行待接收tcp链接的数据接收,除此以外与图3所示的实施例相近似,为了叙述简便,在此不多作赘述。
87.另外,在一实施例中,配置信息包括至少两种不同类型的数据结构信息,参照图9,图7所示实施例中的步骤s730还包括但不限于有以下步骤:
88.步骤s910,确定与数据结构信息相对应的数据结构信息记录表,数据结构信息记录表针对每种数据结构信息预先设定并保存于本地;
89.步骤s920,在数据结构信息记录表中生成数据结构信息记录,数据结构信息记录包括数据结构信息、数据结构信息记录标识和链接标识;
90.步骤s930,将链接标识与全部的数据结构信息记录相关联,得到第二索引信息。
91.需要说明的是,本实施例的技术方案和原理可以参考图4所示的实施例,主要区别在于本实施例实现toe卸载的执行方向与图4所示的实施例的toe卸载的执行方向不同,本实施例作为tcp报文的获取端,将待接收tcp链接的配置信息和toe硬件将待接收数据存入共享内存的内存地址信息发送至cpu,以使cpu根据内存地址信息和配置信息进行待接收tcp链接的数据接收,除此以外与图4所示的实施例相近似,为了叙述简便,在此不多作赘述。
92.另外,参照图10,在一实施例中,图6所示实施例中的步骤s630还包括但不限于有以下步骤:
93.步骤s1010,将内存地址信息发送至cpu,以使cpu根据内存地址信息从共享内存中获取目标待接收数据;
94.步骤s1020,将配置信息发送至cpu,以使cpu根据配置信息确定目标配置,并根据目标配置和待接收数据进行数据接收。
95.可以理解的是,toe硬件将内存地址信息发送至cpu,使得cpu根据内存地址信息从共享内存中获取目标待接收数据,将配置信息发送至cpu,以使cpu根据配置信息确定目标配置,并根据目标配置和待接收数据进行数据接收,使得tcp握手建链的过程在toe硬件实现,不需要cpu的参与,从而有效减轻cpu的负荷。
96.另外,参照图11,图11是本发明另一个实施例提供的toe硬件的示意图,本发明的一个实施例还提供了一种toe硬件1100,该toe硬件1100包括:存储器1110、处理器1120及存储在存储器1110上并可在处理器1120上运行的计算机程序。
97.处理器1120和存储器1110可以通过总线或者其他方式连接。
98.实现上述实施例的数据处理方法所需的非暂态软件程序以及指令存储在存储器1110中,当被处理器1120执行时,执行上述实施例中的应用于toe硬件1100的数据处理方法,例如,执行以上描述的图1中的方法步骤s110至方法步骤s130、图2中的方法步骤s210至方法步骤s240、图3中的方法步骤s310至方法步骤s320、图4中的方法步骤s410至方法步骤s430、图5中的方法步骤s510至方法步骤s540。
99.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是
或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
100.此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器1120或控制器执行,例如,被上述toe硬件1100实施例中的一个处理器1120执行,可使得上述处理器1120执行上述实施例中的应用于toe硬件1100的数据处理方法,例如,执行以上描述的图1中的方法步骤s110至方法步骤s130、图2中的方法步骤s210至方法步骤s240、图3中的方法步骤s310至方法步骤s320、图4中的方法步骤s410至方法步骤s430、图5中的方法步骤s510至方法步骤s540。本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
101.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献