一种通信方法以及相关设备与流程

未命名 08-26 阅读:140 评论:0


1.本技术实施例涉及通信领域,尤其涉及一种通信方法以及相关设备。


背景技术:

2.在分布式存储系统中,通常由多台计算服务器以及多台存储服务器组成。计算服务器上部署了应用以及协议层进程,协议层进程用于基于应用的需求对存储服务器发起请求。当应用需要访问数据时,协议层进程将任务报文发送至存储服务器上的网卡。网卡上维护了连接表,接收到任务报文后,网卡根据任务报文中携带的源进程标识以及目的进程标识等信息匹配连接表中对应的连接信息。之后网卡向存储服务器的处理器上报任务报文中的负载以及该连接信息的标识,处理器根据该连接标识对负载进行处理。
3.然而,不同任务报文中的源进程标识以及目的进程标识往往都各不相同,因此网卡维护的连接表中需要记录大量的连接信息,对网卡造成了较大内存负担。


技术实现要素:

4.本技术实施例提供了一种通信方法以及相关设备,用于降低网卡的内存负担。
5.本技术实施例第一方面提供了一种通信方法:
6.第一网卡获取第一任务报文,第一任务报文中包括第一进程的进程类型标识以及第二进程的进程类型标识。其中,第一任务报文用于执行第一进程创建的任务,第二进程用于处理第一任务报文。第一网卡上维护了连接表,第一网卡匹配连接表中的目标连接标识,第一进程的进程类型标识以及第二进程的进程类型标识的组合与目标连接标识相同。第一网卡根据目标连接标识,在多个任务表中的目标任务表中新增任务信息,任务信息来源于第一任务报文,该任务信息用于处理该任务,其中多个任务表分别与连接表中的多个连接标识具有一一映射关系。
7.本技术实施例中,第一网卡获取到任务报文之后,根据进程类型的标识匹配连接表中的目标连接标识,并根据目标连接标识在对应的目标任务表中新增任务信息,从而在保证任务能正常处理的情况下,减少了连接表中所需要保存的连接标识,减轻了网卡的内存负担。
8.在一种可能的实现方式中,任务信息包括第一进程的进程序号、第一进程的进程类型标识以及任务的任务序号,第一进程的进程序号与第一进程的进程类型标识用于共同构成第一进程的标识,第一进程的进程标识以及任务序号用于共同指示该任务,第一进程的标识用于第二进程与第一进程通信,第一网卡与第二进程位于相同的设备。
9.本技术实施例中,由于目标任务表中保存了第一进程的标识,因此第二进程可以直接与创建该任务的第一进程通信。
10.在一种可能的实现方式中,第一任务报文由第三进程指示第二网卡向第一网卡发送,任务信息还包括第三进程的标识,第三进程的标识用于第二进程与第三进程通信。
11.在一种可能的实现方式中,第一任务报文中还包括第一负载。第一网卡还会向第
二进程发送第一负载、第一进程的标识以及任务序号。之后,第一网卡获取来自第二进程的第四进程的标识、第一进程的标识、任务序号。之后,第一网卡根据第一进程的标识以及任务序号将第四进程的标识保存到目标任务表中,第四进程的标识用于第二进程与第四进程通信。
12.在一种可能的实现方式中,第一网卡还会获取来自第二进程的第二负载,第一网卡还会获取第二任务报文,第二任务报文中包括第一进程的标识、任务序号、第四进程的标识以及第二负载。第一网卡向第三网卡发送第二任务报文,第二任务报文中的第四进程的标识用于第三网卡向第四进程发送第二负载,第二任务报文用于完成任务。
13.在一种可能的实现方式中,第一网卡还会获取来自第三网卡的应答报文,应答报文用于指示第四进程收到第二负载。第一网卡基于应答报文,将任务信息以及第四进程的标识删除。
14.本技术实施例中,当确定第四进程收到第二负载之后,第一网卡删除相应的信息,进一步降低了网卡的内存负担。
15.在一种可能的实现方式中,第四进程与第一进程相同。
16.本技术实施例中,第二进程在处理该任务之后,可以直接向创建该任务的进程返回结果,提高了任务处理的效率。
17.本技术实施例第二方面提供了一种网卡,该网卡为第一网卡,包括多个功能模块,多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且多个功能模块可以基于具体实现进行任意组合或分割。
18.本技术实施例第三方面提供了一种网卡,该网卡为第一网卡,包括处理器,所述处理器与存储器耦合,所述存储器用于存储指令,当所述指令被所述处理器执行时,使得所述网卡执行如前述第一方面的方法。
19.本技术实施例第四方面提供了一种计算机可读存储介质:
20.其上存储有计算机程序或指令,其特征在于,计算机程序或指令被执行时,其上存储有计算机程序或指令,计算机程序或指令被执行时,使得计算机执行如前述第一方面中的方法。
21.本技术实施例第五方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当计算机程序或指令被执行时,使得计算机执行前述第一方面的方法。
附图说明
22.图1为本技术实施例中分布式存储系统的一个示意图;
23.图2为本技术实施例中网卡在在任务表中处理信息的示意图;
24.图3为本技术实施例中网卡在在任务表中处理信息的示意图;
25.图4为本技术实施例中网卡在在任务表中处理信息的示意图;
26.图5为本技术实施例中网卡在在任务表中处理信息的示意图;
27.图6为本技术实施例中网卡在在任务表中处理信息的示意图;
28.图7为本技术实施例中网卡在在任务表中处理信息的示意图;
29.图8为本技术实施例中网卡在在任务表中处理信息的示意图;
30.图9为本技术实施例中网卡在在任务表中处理信息的示意图;
31.图10为本技术实施例中网卡在在任务表中处理信息的示意图;
32.图11为本技术实施例中网卡在在任务表中处理信息的示意图;
33.图12为本技术实施例中网卡在在任务表中处理信息的示意图;
34.图13a为本技术实施例中网卡在在任务表中处理信息的示意图;
35.图13b为本技术实施例中网卡在在任务表中处理信息的示意图;
36.图13c为本技术实施例中第一网卡处理第一任务报文的流程示意图;
37.图14为本技术实施例中网卡在在任务表中处理信息的示意图;
38.图15a为本技术实施例中网卡在任务表中新增信息的示意图;
39.图15b为本技术实施例中任务报文的示意图;
40.图16至图21为本技术实施例中网卡在任务表中新增信息的示意图;
41.图22为本技术实施例中第一网卡的一个结构示意图;
42.图23为本技术实施例中第一网卡的另一结构示意图。
具体实施方式
43.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
44.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
45.本技术实施例提供了一种通信方法以及相关设备,用于降低网卡的内存负担。
46.本技术实施例中的通信方法可以应用于如图1所示的分布式存储系统中,在分布式存储系统中包括多台计算服务器以及多台存储服务器,多台计算服务器以及多台存储服务器通过交换机连接。在每台计算服务器上运行至少一个协议层进程,在每台存储服务器上运行至少一个索引层进程以及至少一个持久层进程,图1中示出了各个进程以及各个进程的标识,例如“1-1”则为一个协议层进程的标识。对于一台计算服务器,其远程硬盘(lun)会被分割为多个部分,每个部分映射到一个plog上,上述映射关系由一个特定的索引层进程管理,该索引层进程也称为归属控制器。当计算服务器上的应用软件需要对该远程硬盘进行数据的读取时,应用软件通过本机上的协议层进程向存储服务器发送该远程硬盘的标识以及逻辑区块地址(logical block address,lba),用以请求数据。上述远程硬盘的标识以及lba最终会被发送至归属控制器,归属控制器根据远程硬盘的标识以及lba,确定对应的plog以及offset。并将plog以及offset发送至对应的持久层进程,由持久层进程完成对数据的读取,并最终将数据返回至前述协议层进程。在一个示例中,协议层1-1将远程硬盘的标识以及lba发送至索引层进程2-2,由于索引层进程2-2并非对应的归属控制器,索引层进程2-2将远程硬盘的标识以及lba发送至索引层进程2-3,索引层进程2-3为对应的归属控制器。索引层进程2-3根据远程硬盘的标识以及lba,确定对应的plog以及offset,并将对应的plog以及offset发送至持久层进程3-1,持久层进程3-1根据plog以及offset从存储池中读取对应的数据,并最终将数据返回至协议层进程1-1。
47.在现有的技术当中,以索引层进程2-3为例,索引层进程2-3所处的存储服务器2上的网卡维护了一张连接表,该连接表也被称为socket表,其中记录了多个连接信息,每个连接信息包括源设备标识、目的设备标识、源进程标识以及目的进程标识。前述远程硬盘的标识以及lba一般作为负载携带于任务报文中,任务报文中还携带源设备标识、目的设备标识、源进程标识以及目的进程标识,示例性的,源设备标识为存储服务器1的标识,目的设备标识为存储服务器2的标识,源进程标识为索引层进程2-2的标识,目的进程标识为索引层进程2-3的标识。上述网卡接收到任务报文之后,根据任务报文中携带的源设备标识、目的设备标识、源进程标识以及目的进程标识匹配连接表中的连接信息,若连接表中存在一个连接信息与上述任务报文中携带的信息一致,则该连接信息则为匹配成功的连接信息。网卡将该连接信息的标识以及负载上送索引层进程2-3,索引层2-3根据该连接信息的标识在连接表中查找上述连接信息,并对负载进行处理。之后,向网卡返回plog以及offset,并指定连接表中的另一条连接信息,网卡基于该连接信息将携带plog以及offset的任务报文发送至持久层进程3-1所处的存储服务器1的网卡,以完成后续操作。
48.不难看出,在现有的方式中,网卡维护的连接表必须记录大量的连接信息才能满足通信的需求,增加了网卡的内存负担,不利于提高通信效率。
49.下面对本技术实施例中的通信方法的一个流程进行介绍:
50.在之前的示例中,协议层进程1-1请求数据可以被理解为一个任务,协议层进程1-1可以被理解为创建该任务的任务源。完成该任务需要多个进程进行通信,在该过程中所使用的任务报文可以被理解为用于执行该任务。
51.请参阅流程a01至流程a03,本实施例中继续以协议层进程1-1请求数据的过程为例进行说明。
52.a01、协议层创建任务;
53.首先,协议层进程1-1指示应用服务器上的网卡获取任务报文1,该任务报文1用于执行协议层进程1-1请求数据的任务,上述网卡记为网卡1。需要说明的是,在本技术实施例的任务报文中会包括如下信息:源进程标识、任务源进程标识、任务序号、目的进程标识以及负载。其中,源进程标识用于指示请求发送该任务报文的进程,该进程称为源进程,源进程标识则为该进程的标识;任务源进程标识用于指示创建该任务报文所执行的任务的进程,该进程称为任务源进程,任务源标识则为该进程的标识;任务序号用于指示该任务报文所执行的任务的序号;目的进程标识用于指示需要处理该任务报文的进程,该进程称为目的进程,目的进程标识则为该进程的标识;任务序号加上任务源标识可以共同指示一个任务。本技术实施例中进程的标识由进程类型标识加上进程序号共同组成,在一种实现方式中,进程的标识可以是“a-b”的形式,其中前缀“a”为进程类型标识,后缀“b”为进程序号。在本实施中协议层进程的进程类型标识为“1”,索引层进程的进程类型标识为“2”,持久层进程的进程类型标识为“3”。相同的进程类型标识加上不同的进程序号指示了相同类型的不同进程,例如“1-1”与“1-2”分别指示了不同的两个协议层进程。
54.在任务报文1中,源进程标识为“1-1”,任务源进程标识也为“1-1”,任务序号为“1”,目的进程标识为“2”,负载为负载1,负载1包括远程硬盘的标识以及lba。需要说明的是,上述目的进程标识“2”为进程类型标识,其指示处理该任务报文1的进程可以是任意一个索引层进程。
1”。在将任务信息1新增至任务表4后,由于目的进程的进程类型标识为“2”,因此网卡2可以与任意一个索引层进程通信。示例性的,网卡2向索引层进程2-2发送任务报文1中的负载以及任务标识,索引层进程2-2接收到上述信息之后,根据任务标识“1-1/1”在任务表1中找到对应的任务信息1,并根据任务信息1对负载1处理,之后向网卡2返回处理结果。该处理结果包括此次任务当前的后处理进程标识“2-3”、负载2以及任务标识“1-1/1”,由于索引层进程2-2并非本次任务的归属控制器,因此负载2与负载1一致。网卡2根据返回的任务标识中的任务源进程的类型标识“1”以及索引层进程2-2的进程类型标识“2”,匹配连接表中的连接标识“12”,并在对应的任务表4中找到此次任务对应的信息。之后,网卡2在任务表4中新增此次任务当前的后处理进程标识“2-3”。请参阅图4,图4为网卡2在任务表4新增后处理进程标识“2-3”的示意:
62.之后,网卡2获取任务报文2,在任务报文2中包括源进程标识为“2-2”、目的进程标识为前述在任务表1中记录的后处理进程标识“2-3”、任务序号“1”、任务源进程标识“1-1/1”以及负载2。并将其发送至存储服务器2上的网卡,该网卡记为网卡3。
63.网卡3接收到任务报文2之后,获取任务报文2中任务源进程的进程类型标识“1”以及目的进程的进程类型标识“2”。网卡2上同样会维护一张连接表,网卡2根据任务源进程的进程类型标识以及目的进程的进程类型标识匹配连接表中的连接标识,匹配方式与前述类似,此处不再赘述。网卡2上同样维护多张任务表,并且多张任务表与连接表中的多个连接标识具有一一映射关系。在任务报文2中的任务源进程的进程类型标识为“1”,目的进程的进程类型标识为“2”,因此匹配的连接标识为“12”。网卡3维护的任务表5与连接标识“12”具有映射关系,因此网卡2在任务表5中新增任务信息2,任务信息2包括此次任务当前的任务标识以及前处理进程标识。请参阅图5,图5为网卡3在任务表5新增任务信息2的的示意。如图5所示,任务信息2包括任务报文2中的任务标识“1-1/1”,以及前处理进程标识为任务报文2中的源进程标识“2-2”。
64.之后,网卡3根据任务报文2中的目的进程标识“2-3”,向索引层进程2-3发送负载2以及任务标识“1-1/1”。索引层进程2-3接收到上述信息后,通过网卡3向网卡2回复应答报文1,该应答报文1用于指示索引层进程2-3已经接收到任务报文2中的负载2。请参阅图6,网卡2收到应答报文1后,基于应答报文1在任务表4中将相关信息删除。之后,索引层进程2-3在经过类似前述索引层进程2-2的处理,向网卡3返回处理结果,处理结果包括任务标识“1-1/1”、此次任务当前的后处理进程标识“3-1”以及负载3,负载3为plog以及offset。网卡3基于任务标识“1-1/1”中的任务源进程的进程类型标识“1”,以及索引层进程2-3的进程类型标识“2”,找到任务表5。之后,网卡3在任务表5中新增此次任务当前的后处理进程标识“3-1”,请参阅图7,图7为网卡3在任务表5新增后处理进程标识“3-1”的示意。
65.之后网卡3获取任务报文3,任务报文3中包括源进程标识为“2-2”,目的进程标识为上述后处理进程标识“3-1”,任务源进程标识、任务序号以及负载3。网卡3向网卡2发送任务报文3,并且索引层进程2-3向协议层进程1-1发送通知消息,该通知消息用于告知协议层进程1-1该任务在索引层中已经结束,并且通知消息中还会包括后处理进程标识“3-1”,用于告知协议层进程1-1该任务后续由持久层进程3-1处理。请参阅图8,协议层进程1-1收到通知消息后,指示网卡1将任务表1中关于此次任务的信息删除,。请参阅图9,协议层进程1-1还会指示网卡1在任务表6中新增任务标识为“1-1/1”,前处理进程标识为“1-1”,以及此次
任务当前的后处理进程标识为“3-1”,上述任务表6与连接标识“13”存在映射关系。
66.网卡2接收到任务报文3之后,根据任务报文3中的任务源进程的进程类型标识“1”以及目的进程的进程类型标识“3”,匹配连接表中的连接标识“13”。请参阅图10,网卡2还会在任务表7中新增任务信息3,任务表7与连接标识“13”存在映射关系,任务信息3具体包括任务标识“1-1/1”,此次任务当前的前处理进程标识“2-3”。之后网卡2将任务标识以及负载3发送至持久层进程3-1,持久层进程3-1收到负载3后,向网卡3发送应答报文2,该应答报文2用于指示持久层进程3-1收到负载3。请参阅图11,网卡3收到应答报文2后,基于应答报文2,将任务表5中与此次任务相关的信息删除。持久层进程3-1还会根据任务表7中的相关信息对负载3进行处理,并向网卡2返回处理结果,处理结果包括任务标识、此次任务当前的后处理进程标识“1-1”以及负载4,其中负载4包括协议层进程1-1所请求的数据。请参阅图12,网卡2在任务表7中新增此次任务当前的后处理进程标识“1-1”,并获取任务报文4任务报文4包括任务源标识为“1-1”,任务序号为“1”,源进程标识为“3-1”,目的进程标识为“1-1”,在任务报文4中携带负载4。之后,网卡2向网卡1发送任务报文4。网卡2还会向网卡1发送完成指示报文,完成指示报文用于指示本次任务已经完成。
67.网卡1接收到任务报文4以及完成指示报文之后,将负载4以及完成指示报文发送至协议层进程1-1。之后,请参阅图13a,在协议层进程1-1的指示下,网卡1将任务表6中与此次任务相关的信息删除。请参阅图13b,网卡2将任务表7中与此次任务相关的信息删除。
68.上面介绍了协议层进程1-1请求数据的一个完整流程,在本技术实施例中,第一网卡可以是网卡1,第一进程为协议层进程1-1,第二进程为索引层进程2-2,目标任务表为任务表1,目标连接标识为“12”,任务信息包括任务源标识“1-1/1”,前处理进程标识“1-1”,以及后处理进程标识“2”。
69.或者,第一网卡可以是网卡3,第二网卡可以是网卡2,第一进程为协议层进程1-1,第二进程为索引层进程2-3,第三进程为索引层进程2-2,第一任务报文为任务报文2。第三网卡同样为网卡2,第四进程则为持久层进程3-1。目标连接标识为“12”,目标任务表为任务表5,第二任务报文为任务报文3,任务信息为任务信息2,第一负载为负载2,第二负载为负载3,应答报文为应答报文2。
70.或者,第一网卡可以是网卡2,第二网卡可以是网卡1,第一进程与第三进程都为协议层进程1-1,第二进程为索引层进程2-2,第一任务报文为任务报文1。第三网卡为网卡3,第四进程则为索引层进程2-3。目标连接标识为“12”,目标任务表为任务表4,第二任务报文为任务报文2,任务信息为任务信息1,第一负载为负载1,第二负载为负载2,应答报文为应答报文3。
71.或者,第一网卡可以是网卡2,第二网卡可以是网卡3,第一进程为协议层进程1-1,第二进程为持久层进程3-1,第三进程为索引层进程2-3,第一任务报文为任务报文3。第三网卡为网卡1,第四进程与第一进程相同,为索引层进程协议层进程1-1。目标连接标识为“13”,目标任务表为任务表7,第二任务报文为任务报文4,任务信息为任务信息3,第一负载为负载3,第二负载为负载4。
72.请参阅图13c,图13c为第一网卡处理第一任务报文的逻辑示意图。如图13c所示,在步骤s1中,第一网卡获取第一任务报文。在步骤s2中,第一网卡匹配连接表中的目标连接标识,其中,第一进程的进程类型标识与第二进程的进程类型标识的组合与目标连接标识
相同。在步骤s3中,第一网卡根据目标连接标识,在多个任务表中的目标任务表中新增任务信息。
73.本技术实施例中,基于任务报文中的进程类型标识匹配连接表中的目标连接标识,从而能够大幅降低连接表中需要保存的连接标识,降低了网卡的内存负担。同时,对应目标连接标识,网卡还维护了对应的任务表,任务表中记录了任务源进程标识、前处理进程标识以及后处理进程标识,使得参与该任务的进程在需要时能够直接与任务源进程、前处理进程以及后处理进程通信,提高通信的效率。
74.在一种可能的实现方式中,本技术实施例中的任务报文还可以包括总分片数、分片序号以及标志位几种类型的信息。当需要传输的负载过大时,单个任务报文无法完成传输,这时需要将任务报文分片后进行传输。分片后的任务报文中总分片数、分片序号以及标志位,其中总分片数指示了所有分片的数量,分片序号指示了该任务报文在所有分片中的序号。标志位包括进行中、失败或完成等信息,用于指示报文的意图。
75.本技术实施例中网卡所维护的任务表中也可以包括分片表指针的信息。例如在上述实施例中的任务报文4需要进行分片,请参阅图14,任务表7中还包括对应于此次任务的分片表指针1,该分片表指针1指示了一段存储地址,该段存储地址中包括发送上述任务报文4的分片表。对应的,请参阅图15a,在任务表6中也包括此次任务的分片表指针2,分片表指针2所指示的存储地址中包括接收任务报文4的分片表。
76.请参阅图15b,图15b为本技术实施例中的任务报文的一个具体的实现示意图。任务报文可以是互联网协议第六版(internet protocol version6,ipv6)报文,任务报文中包括前述的源进程标识、目的进程标识、任务源标识、任务序号、总分片数、分片序号以及标志位。版本号、流量等级、流标签、数据长度、下一报头、跳限制以及报文扩展长度等与标准类似,此处不再赘述。
77.下面介绍协议层进程1-1写数据的过程:
78.协议层进程1-1写数据的过程可以理解为另一个任务,由于与协议层进程1-1请求数据的过程部分较为类似,因此下面的部分描述将采用较为简便的语言。需要说明的是,本实施例中各个任务表只记录与写数据任务相关的信息。首先,协议层进程1-1指示网卡1向网卡2发送任务报文a,该任务报文a与前述的任务报文1类似,区别在于,任务报文a用于写数据,并且任务报文a中的任务序号为“2”。网卡1在任务表1新增相应的信息,具体与图2所示的类似,此处不再赘述,区别在于任务标识为“1-1/2”。网卡2接收到任务报文a之后,在任务表4新增相应的信息,具体与图3所示的类似,区别在于任务标识为“1-1/2”,此处不再赘述。之后网卡2将负载1以及任务标识“1-1/2”发送至索引层进程2-2,索引层进程2-2在经过类似前述实施例的处理后,向网卡2返回后处理进程标识“2-3”、任务标识“1-1/2”以及负载2。之后,网卡2在任务表4中新增索引层进程2-2返回的后处理进程标识“2-3”,具体与图4所示的类似,此处不再赘述。之后网卡2获取任务报文b,任务报文b与前述实施例中的任务报文2类似,区别在于任务报文b用于写数据,并且任务序号为“2”。网卡2将任务报文b发送至网卡3,网卡3根据任务报文b中的信息在任务表5中新增对应的信息,具体与图5所示的类似,区别在于任务标识为“1-1/2”,此处不再赘述。之后网卡3将任务报文b中的负载2发送至索引层进程2-3,索引层进程2-3指示网卡3向网卡2回复应答报文a,应答报文a用于指示索引层进程2-3收到负载2。之后,网卡2基于应答报文a将任务表4中的相关信息删除,具体与
图6所示的类似。
79.索引层进程2-3对负载2进行处理,返回对应的后处理进程标识“1-1”、任务标识“1-1/2”以及数据存储地址1。请参阅图16,网卡3在任务表5中新增后处理进程标识“1-1”。之后,网卡3获取任务报文c,任务报文c包括任务源标识“1-1”,任务序号“2”,源进程标识“2-3”,目的进程标识“1-1”以及上述数据存储地址1。之后,网卡3向网卡1发送任务报文c,网卡1将任务报文c中的数据存储地址1发送至协议层进程1-1,之后协议层进程1-1通过网卡1向索引层进程2-3发送所需写入的目标数据。请参阅图17,索引层进程2-3接收到目标数据之后,通知协议层进程1-1数据已经接收完成,并指示网卡2将任务表5中的后处理进程标识“1-1”修改为“2-1”。之后,索引层进程2-3向索引层进程2-1发送任务报文d,该任务报文d用于指示索引层进程2-1需要接收协议层进程1-1所需写入的目标数据。请参阅图18,网卡2还会在任务表4新增任务标识为“1-1/2”,前处理进程标识为“2-3”,后处理进程标识为“1-1”。索引层进程2-1还会向网卡3发送应答报文b,应答报文b用于指示索引层进程2-2已经接收到任务报文d。请参阅图19,网卡3基于应答报文b将任务表5中的任务标识“1-1/2”,前处理进程标识为“2-2”,后处理进程标识为“2-1”删除。
80.之后,索引层进程2-1向协议层进程1-1发送数据存储地址2,协议层进程1-1再向索引层进程2-1发送目标数据。请参阅图20,索引层进程2-1接收所有数据之后,指示网卡2将与此次任务相关的任务标识“1-1/2”,前处理进程“2-3”,后处理进程标识“1-1”删除。并通知协议层进程1-1任务已经完成,请参阅图21,协议层进程1-1指示网卡1将任务表1中的任务标识“1-1/2”,前处理进程“1-1”,后处理进程标识“2”删除,整个任务完成。
81.上面介绍了本技术实施例中的通信方法,下面介绍本技术实施例中的设备。
82.请参阅图22,本技术实施中的第一网卡2200包括处理单元2201。
83.处理单元2201,用于获取第一任务报文,第一任务报文中包括第一进程的进程类型标识以及第二进程的进程类型标识,第一任务报文用于执行第一进程创建的任务,第二进程用于处理第一任务报文。
84.处理单元2201,还用于匹配连接表中的目标连接标识,第一进程的进程类型标识以及第二进程的进程类型标识的组合与目标连接标识相同,连接表由第一网卡维护。
85.处理单元2201,还用于根据目标连接标识,在多个任务表中的目标任务表中新增任务信息,任务信息来源于第一任务报文,任务信息用于处理任务,多个任务表分别与连接表中的多个连接标识具有一一映射关系。
86.在一种可能的实现中,任务信息包括第一进程的进程序号、第一进程的进程类型标识以及任务的任务序号,第一进程的进程序号与第一进程的进程类型标识用于共同构成第一进程的标识,第一进程的进程序号、第一进程的进程类型标识以及任务序号用于共同指示任务,第一进程的标识用于第二进程与第一进程通信,第一网卡与第二进程位于相同的设备。
87.在一种可能的实现中,第一任务报文由第三进程指示第二网卡向第一网卡发送,任务信息还包括第三进程的标识,第三进程的标识用于第二进程与第三进程通信。
88.在一种可能的实现中,第一任务报文中还包括第一负载。
89.处理单元2201,还用于向第二进程发送第一负载、第一进程的标识以及任务序号。
90.处理单元2201,还用于获取来自第二进程的第四进程的标识、第一进程的标识以
及任务序号。
91.处理单元2201,还用于根据第一进程的标识以及任务序号将第四进程的标识保存到目标任务表中,第四进程的标识用于第二进程与第四进程通信。
92.在一种可能的实现中,
93.处理单元2201,还用于获取来自第二进程的第二负载。
94.处理单元2201,还用于获取第二任务报文,第二任务报文中包括第一进程的标识、任务序号、第四进程的标识以及第二负载。
95.处理单元2201,还用于向第三网卡发送第二任务报文,第二任务报文中的第四进程的标识用于第三网卡向第四进程发送第二负载,第二任务报文用于完成任务。
96.在一种可能的实现中,
97.处理单元2201,还用于获取来自第三网卡的应答报文,应答报文用于指示第四进程收到第二负载。
98.处理单元,还用于基于应答报文,将任务信息以及第四进程的标识删除。
99.在一种可能的实现中,
100.第四进程与第一进程相同。
101.图23是本技术实施例提供的一种网卡的结构示意图,该网卡2300为第一网卡,该网卡2300可以包括一个或一个以上中央处理器(central processing units,cpu)2301和存储器2305,该存储器2305中存储有一个或一个以上的应用程序或数据。
102.其中,存储器2305可以是易失性存储或持久存储。存储在存储器2305的程序可以包括一个或一个以上模块,每个模块可以包括一系列指令操作。更进一步地,中央处理器2301可以设置为与存储器2305通信,在网卡2300上执行存储器2305中的一系列指令操作。
103.网卡2300还可以包括一个或一个以上电源2302,一个或一个以上有线或无线网络接口2303,一个或一个以上输入输出接口2304,和/或,一个或一个以上操作系统。
104.该中央处理器2301可以实现前述各个实施例中第一网卡所执行的步骤,具体此处不再赘述。
105.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
106.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
107.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
108.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
109.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

技术特征:
1.一种通信方法,其特征在于,包括:第一网卡获取第一任务报文,所述第一任务报文中包括第一进程的进程类型标识以及第二进程的进程类型标识,所述第一任务报文用于执行所述第一进程创建的任务,所述第二进程用于处理所述第一任务报文;所述第一网卡匹配连接表中的目标连接标识,所述第一进程的进程类型标识以及所述第二进程的进程类型标识的组合与所述目标连接标识相同,所述连接表由所述第一网卡维护;所述第一网卡根据所述目标连接标识,在多个任务表中的目标任务表中新增任务信息,所述任务信息来源于所述第一任务报文,所述任务信息用于处理所述任务,所述多个任务表分别与所述连接表中的多个连接标识具有一一映射关系。2.根据权利要求1所述的方法,其特征在于,所述任务信息包括所述第一进程的进程序号、所述第一进程的进程类型标识以及所述任务的任务序号,所述第一进程的进程序号与所述第一进程的进程类型标识用于共同构成所述第一进程的标识,所述第一进程的进程标识以及所述任务序号用于共同指示所述任务,所述第一进程的标识用于所述第二进程与所述第一进程通信,所述第一网卡与所述第二进程位于相同的设备。3.根据权利要求2所述的方法,其特征在于,所述第一任务报文由第三进程指示第二网卡向所述第一网卡发送,所述任务信息还包括所述第三进程的标识,所述第三进程的标识用于所述第二进程与所述第三进程通信。4.根据权利要求3所述的方法,其特征在于,所述第一任务报文中还包括第一负载;所述方法还包括:所述第一网卡向所述第二进程发送所述第一负载、所述第一进程的标识以及所述任务序号;所述第一网卡获取来自所述第二进程的第四进程的标识、所述第一进程的标识以及所述任务序号;所述第一网卡根据所述第一进程的标识以及所述任务序号将所述第四进程的标识保存到所述目标任务表中,所述第四进程的标识用于所述第二进程与所述第四进程通信。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述第一网卡获取来自所述第二进程的第二负载;所述第一网卡获取第二任务报文,所述第二任务报文中包括所述第一进程的标识、所述任务序号、所述第四进程的标识以及所述第二负载;所述第一网卡向第三网卡发送所述第二任务报文,所述第二任务报文中的所述第四进程的标识用于所述第三网卡向所述第四进程发送所述第二负载,所述第二任务报文用于完成所述任务。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:所述第一网卡获取来自所述第三网卡的应答报文,所述应答报文用于指示所述第四进程收到所述第二负载;所述第一网卡基于所述应答报文,将所述任务信息以及所述第四进程的标识删除。7.根据权利要求4或5中所述的方法,其特征在于,所述第四进程与所述第一进程相同。8.一种网卡,其特征在于,所述网卡为第一网卡,包括:
处理单元,用于获取第一任务报文,所述第一任务报文中包括第一进程的进程类型标识以及第二进程的进程类型标识,所述第一任务报文用于执行所述第一进程创建的任务,所述第二进程用于处理所述第一任务报文;所述处理单元,还用于匹配连接表中的目标连接标识,所述第一进程的进程类型标识以及所述第二进程的进程类型标识的组合与所述目标连接标识相同,所述连接表由所述第一网卡维护;所述处理单元,还用于根据所述目标连接标识,在多个任务表中的目标任务表中新增任务信息,所述任务信息来源于所述第一任务报文,所述任务信息用于处理所述任务,所述多个任务表分别与所述连接表中的多个连接标识具有一一映射关系。9.根据权利要求8所述的网卡,其特征在于,所述任务信息包括所述第一进程的进程序号、所述第一进程的进程类型标识以及所述任务的任务序号,所述第一进程的进程序号与所述第一进程的进程类型标识用于共同构成所述第一进程的标识,所述第一进程的进程序号、所述第一进程的进程类型标识以及所述任务序号用于共同指示所述任务,所述第一进程的标识用于所述第二进程与所述第一进程通信,所述第一网卡与所述第二进程位于相同的设备。10.根据权利要求9所述的网卡,其特征在于,所述第一任务报文由第三进程指示第二网卡向所述第一网卡发送,所述任务信息还包括所述第三进程的标识,所述第三进程的标识用于所述第二进程与所述第三进程通信。11.根据权利要求10所述的网卡,其特征在于,所述第一任务报文中还包括第一负载;所述处理单元,还用于向所述第二进程发送所述第一负载、所述第一进程的标识以及所述任务序号;所述处理单元,还用于获取来自所述第二进程的第四进程的标识、所述第一进程的标识以及所述任务序号;所述处理单元,还用于根据所述第一进程的标识以及所述任务序号将所述第四进程的标识保存到所述目标任务表中,所述第四进程的标识用于所述第二进程与所述第四进程通信。12.根据权利要求11所述的网卡,其特征在于,所述处理单元,还用于获取来自所述第二进程的第二负载;所述处理单元,还用于获取第二任务报文,所述第二任务报文中包括所述第一进程的标识、所述任务序号、所述第四进程的标识以及所述第二负载;所述处理单元,还用于向第三网卡发送所述第二任务报文,所述第二任务报文中的所述第四进程的标识用于所述第三网卡向所述第四进程发送所述第二负载,所述第二任务报文用于完成所述任务。13.根据权利要求12所述的网卡,其特征在于:所述处理单元,还用于获取来自所述第三网卡的应答报文,所述应答报文用于指示所述第四进程收到所述第二负载;所述处理单元,还用于基于所述应答报文,将所述任务信息以及所述第四进程的标识删除。14.根据权利要求11或12所述的网卡,其特征在于,所述第四进程与所述第一进程相
同。15.一种网卡,其特征在于,所述网卡为第一网卡,包括处理器,所述处理器与存储器耦合,所述存储器用于存储指令,当所述指令被所述处理器执行时,使得所述网卡执行如权利要求1至7中任一项所述的方法。16.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,当所述计算机程序或指令被执行时,使得计算机执行如权利要求1至7中任一项所述的方法。

技术总结
本申请实施例公开了一种通信方法以及设备,用于减低网卡的内存负担。本申请实施例方法包括:第一网卡获取第一任务报文,所述第一任务报文中包括第一进程的进程类型标识以及第二进程的进程类型标识。第一网卡匹配连接表中的目标连接标识,第一进程的进程类型标识以及第二进程的进程类型标识的组合与目标连接标识相同,第一网卡根据目标连接标识,在多个任务表中的目标任务表中新增任务信息。任务表中的目标任务表中新增任务信息。任务表中的目标任务表中新增任务信息。


技术研发人员:杨晋泽 陈哲 王闯 德克
受保护的技术使用者:华为技术有限公司
技术研发日:2022.02.14
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐