掌桥专利:专业的专利平台
掌桥专利
首页

DPU的数据面转发规则的配置方法及系统

文献发布时间:2024-04-18 19:58:53


DPU的数据面转发规则的配置方法及系统

技术领域

本申请涉及DPU数据转发领域,尤其涉及一种DPU的数据面转发规则的配置方法及系统。

背景技术

在当前的服务网格分布式代理下沉到DPU为集中式代理的方案中,服务网格数据面由Host侧下沉到DPU Soc侧,分布式代理模式转换为集中式代理模式。在原本分布式代理模型中,一个业务容器对应一个代理的形式无需对流量进行引导,所有流量皆可无感知的进行代理加速;而在集中式代理一对多的情况下就需要对业务加速的流量进行引导才可进行加速,这部分在DPU Soc侧需要引导加速的业务流量需要根据相应的转发规则进行区分是否需要进行代理加速。

现有的转发规则需要手动配置,复杂度高,灵活性差。

发明内容

鉴于此,本申请实施例提供了一种DPU的数据面转发规则的配置方法及系统,以消除或改善现有技术中存在的一个或更多个缺陷。

本申请的第一个方面提供了一种基于DPU的数据面转发规则的配置方法,该方法包括:

实时调用同在主机侧的服务发现组件获取该主机侧的目标业务中的目标事件,并基于该目标事件生成相应的目的地址和目的端口;

将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,以使该执行器基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面以将该目标业务数据转发至对应的容器。

在本申请的一些实施例中,所述基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务增加事件,则调用所述服务发现组件获取该业务增加事件对应的目标业务的目的地址和目的端口。

在本申请的一些实施例中,所述基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务删除事件,则调用所述服务发现组件获取该业务删除事件对应的目标业务的目的地址和目的端口。

在本申请的一些实施例中,所述基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务更新事件且该业务更新事件对应的目标业务的目的地址和目的端口存在修改,则调用所述服务发现组件获取修改后的目的地址和目的端口。

在本申请的一些实施例中,在所述将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器之前,还包括:

与所述执行器建立心跳机制;

相对应的,所述将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,包括:

基于所述心跳机制判断与所述执行器是否保持连接,若保持连接,则将所述目的地址和目的端口下发至所述执行器。

本申请的第二个方面还提供了一种基于DPU的数据面转发规则的配置方法,该方法包括:

实时接收由预设在主机侧的控制器发送的目的地址和目的端口,基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改;其中,所述目的地址和目的端口预先由所述控制器实时调用所述主机侧上的服务发现组件,获取主机侧的目标业务中目标事件,并基于该目标事件生成的;

判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面将该目标业务数据转发至对应的容器。

在本申请的一些实施例中,所述基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务增加事件,则在所述转发规则表中添加该业务增加事件对应的目标业务的目的地址和目的端口。

在本申请的一些实施例中,所述基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务删除事件,则在所述转发规则表中删除该业务删除事件对应的目标业务的目的地址和目的端口。

在本申请的一些实施例中,所述基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务更新事件且该业务更新事件对应的目标业务的目的地址和目的端口存在修改,则在所述转发规则表中采用修改后的目的地址和目的端口替换修改前的目的地址和目的端口。

本申请的第三个方面一种基于DPU的数据面转发规则的配置系统,该系统包括:分别设置在DPU的片上系统中的执行器和主机侧的控制器;

所述控制器用于执行前述的第一方面所述的基于DPU的数据面转发规则的配置方法;所述控制器和所述执行器之间通信连接;

所述执行器用于执行前述的第二方面所述的基于DPU的数据面转发规则的配置方法;所述执行器分别与所述控制器、所述DPU的片上系统中的数据平面和转发规则表之间通信连接。

本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面所述的基于DPU的数据面转发规则的配置方法,或者,实现前述的第二方面所述的基于DPU的数据面转发规则的配置方法。

本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述的第一方面所述的基于DPU的数据面转发规则的配置方法,或者,实现前述的第二方面所述的基于DPU的数据面转发规则的配置方法。

本申请提供一种DPU的数据面转发规则的配置方法及系统,所述方法包括:实时调用同在主机侧的服务发现组件获取该主机侧的目标业务中的目标事件,并基于该目标事件生成相应的目的地址和目的端口;将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,以使该执行器基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面以将该目标业务数据转发至对应的容器。本申请能够有效降低DPU数据面数据转发规则的配置复杂度,同时有效提高了规则配置的灵活性。

本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。

本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:

图1为本申请一实施例中的由控制器执行的基于DPU的数据面转发规则的配置方法的流程示意图。

图2为本申请另一实施例中的由执行器执行的基于DPU的数据面转发规则的配置方法的流程示意图。

图3为本申请另一实施例中的基于转发规则表进行业务数据转发的架构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。

应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。

在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。

在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。

具体通过下述实施例进行详细说明。

本申请实施例提供一种可以由控制器执行的基于DPU的数据面转发规则的第一配置方法,参见图1,所述的基于DPU的数据面转发规则的第一配置方法具体包含有如下内容:

步骤110:实时调用同在主机侧的服务发现组件获取该主机侧的目标业务中的目标事件,并基于该目标事件生成相应的目的地址和目的端口;

步骤120:将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,以使该执行器基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面以将该目标业务数据转发至对应的容器。

具体来说,参见图3,控制器(即图3中的控制器实例)实时调用同在主机侧(即图3中的云服务器节点Host)的服务发现组件(K8S容器集群中Service资源或Pod资源对应的informer组件)获取该主机侧的目标业务(如图中的Service-a、Service-b、Service-c)中的目标事件,并基于该目标事件生成相应的目的地址和目的端口;然后将目的地址和目的端口下发至预设在DPU的片上系统中的执行器(即图3中的执行器实例),以使该执行器基于该目的地址和目的端口对预设在片上系统中的转发规则表(即图3中的规则表)进行修改,判断片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面(即图3中的集中式代理)以将该目标业务数据转发至对应的容器,从而能够有效降低DPU数据面数据转发规则的配置复杂度,同时有效提高了规则配置的灵活性。

其中,图3中的Istio表示控制平面,PodA表示容器A。

为了进一步提高规则配置的灵活性,步骤110中基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务增加事件,则调用所述服务发现组件获取该业务增加事件对应的目标业务的目的地址和目的端口。

具体来说,控制器调用informer组件获取到业务增加事件,获取该业务增加事件对应的目标业务的目的地址和目的端口,从而能够进一步提高规则配置的灵活性。

其中,业务增加事件包括Service资源和Pod资源对应的add事件,目标业务包括Service资源和Pod资源。

为了进一步提高规则配置的灵活性,步骤110中基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务删除事件,则调用所述服务发现组件获取该业务删除事件对应的目标业务的目的地址和目的端口。

具体来说,控制器调用informer组件获取到业务删除事件,删除业务删除事件对应的目标业务,同时获取该业务增加事件对应的目标业务的目的地址和目的端口,以进一步在片上系统中的转发规则表进行删除,从而能够进一步提高规则配置的灵活性。

其中,业务删除事件包括Service资源和Pod资源对应的delete事件。

为了进一步提高规则配置的灵活性,步骤110中基于该目标事件生成相应的目的地址和目的端口,包括:

若所述目标事件为业务更新事件且该业务更新事件对应的目标业务的目的地址和目的端口存在修改,则调用所述服务发现组件获取修改后的目的地址和目的端口。

具体来说,控制器调用informer组件获取到业务更新事件,更新业务更新事件对应的目标业务,同时获取该业务增加事件对应的目标业务的更新后的目的地址和目的端口,以进一步在片上系统中的转发规则表进行更新,从而能够进一步提高规则配置的灵活性。

其中,业务更新事件包括Service资源和Pod资源对应的update事件。

为了确保规则下发的准确性,在所述将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器之前,还包括:

与所述执行器建立心跳机制;

相对应的,所述将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,包括:

基于所述心跳机制判断与所述执行器是否保持连接,若保持连接,则将所述目的地址和目的端口下发至所述执行器。

具体来说,控制器首先与执行器建立心跳机制,然后基于心跳机制判断与执行器是否保持连接,若保持连接,则将目的地址和目的端口下发至所述执行器,从而能够有效确保规则下发的准确性。

本申请实施例还提供一种可以由执行器执行的基于DPU的数据面转发规则的第二配置方法,参见图2,所述的基于DPU的数据面转发规则的第二配置方法具体包含有如下内容:

步骤210:实时接收由预设在主机侧的控制器发送的目的地址和目的端口,基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改;其中,所述目的地址和目的端口预先由所述控制器实时调用所述主机侧上的服务发现组件,获取主机侧的目标业务中目标事件,并基于该目标事件生成的。

步骤220:判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面将该目标业务数据转发至对应的容器。

具体来说,执行器实时接收由预设在主机侧的控制器发送的目的地址和目的端口,基于该目的地址和目的端口对预设在片上系统中的转发规则表进行修改;接着判断片上系统中当前的目标业务数据是否与修改后的转发规则表匹配,若是,则启动所述片上系统中的数据平面将该目标业务数据转发至对应的容器,从而能够有效降低DPU数据面数据转发规则的配置复杂度,同时有效提高了规则配置的灵活性。

其中,目的地址和目的端口预先由控制器实时调用主机侧上的服务发现组件,获取主机侧的目标业务中目标事件,并基于该目标事件生成的。

为了进一步提高规则配置的灵活性,步骤210中基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务增加事件,则在所述转发规则表中添加该业务增加事件对应的目标业务的目的地址和目的端口。

具体来说,若目标事件为业务增加事件,执行器则在转发规则表中添加该业务增加事件对应的目标业务的目的地址和目的端口,从而能够进一步提高规则配置的灵活性。

其中,业务增加事件包括Service资源和Pod资源对应的add事件,目标业务包括Service资源和Pod资源。

为了进一步提高规则配置的灵活性,步骤210中基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务删除事件,则在所述转发规则表中删除该业务删除事件对应的目标业务的目的地址和目的端口。

具体来说,若目标事件为业务删除事件,执行器则在转发规则表中删除该业务删除事件对应的目标业务的目的地址和目的端口,从而能够进一步提高规则配置的灵活性。

其中,业务删除事件包括Service资源和Pod资源对应的delete事件。

为了进一步提高规则配置的灵活性,步骤210中基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,包括:

若所述目标事件为业务更新事件且该业务更新事件对应的目标业务的目的地址和目的端口存在修改,则在所述转发规则表中采用修改后的目的地址和目的端口替换修改前的目的地址和目的端口。

具体来说,若目标事件为业务更新事件且该业务更新事件对应的目标业务的目的地址和目的端口存在修改,执行器则在转发规则表中采用修改后的目的地址和目的端口替换修改前的目的地址和目的端口,从而能够进一步提高规则配置的灵活性。

其中,业务更新事件包括Service资源和Pod资源对应的update事件。

本申请的一些实施例还提供了一种基于DPU的数据面转发规则的配置系统,该系统包括:分别设置在DPU的片上系统中的执行器和主机侧的控制器;

所述控制器用于执行前述的基于DPU的数据面转发规则的第一配置方法;所述控制器和所述执行器之间通信连接;

所述执行器用于执行前述的基于DPU的数据面转发规则的第二配置方法;所述执行器分别与所述控制器、所述DPU的片上系统中的数据平面和转发规则表之间通信连接。

本申请提供一种DPU的数据面转发规则的配置方法及系统,所述方法包括:实时调用同在主机侧的服务发现组件获取该主机侧的目标业务中的目标事件,并基于该目标事件生成相应的目的地址和目的端口;将所述目的地址和目的端口下发至预设在DPU的片上系统中的执行器,以使该执行器基于该目的地址和目的端口对预设在所述片上系统中的转发规则表进行修改,判断所述片上系统中当前的目标业务数据是否与修改后的所述转发规则表匹配,若是,则启动所述片上系统中的数据平面以将该目标业务数据转发至对应的容器。本申请能够有效降低DPU数据面数据转发规则的配置复杂度,同时有效提高了规则配置的灵活性。

本申请实施例还提供了一种电子设备,例如中心服务器,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的基于DPU的数据面转发规则的配置方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。

处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的基于DPU的数据面转发规则的配置方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于DPU的数据面转发规则的配置方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的基于DPU的数据面转发规则的配置方法。

在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。

作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。

作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述的基于DPU的数据面转发规则的配置方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种可配置多数据源适配规则引擎解决方法
  • 列车网关转发策略配置方法、装置及系统
  • 基于DPU的跨网卡转发方法、系统、介质、CPU处理器及智能网卡
  • 用于SDN网络的数据转发规则同步方法、控制器及系统
技术分类

06120116512885