报文组播方法、组播网关、电子设备及存储介质技术

技术编号:35344527 阅读:20 留言:0更新日期:2022-10-26 12:09
本公开提供了一种报文组播方法、组播网关、电子设备及存储介质,涉及云计算和云网络技术,可应用在智能云场景下。具体应用在包括有预设数量端口的可编程交换机实现的组播网关中,包括:接收报文;所述报文中携带虚拟网络标识和组播组IP地址;基于预先建立的组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组的信息;基于所述组播组的信息和预先建立的组播组成员信息表,通过所述组播网关的所述预设数量的端口,向所述组播组中的所有组播组成员组播所述报文。本公开的技术,能够有效地提高组播网关的吞吐能力,降低组播时延,提高报文组播效率。提高报文组播效率。提高报文组播效率。

【技术实现步骤摘要】
报文组播方法、组播网关、电子设备及存储介质


[0001]本公开涉及人工智能领域,具体涉及云计算和云网络技术,可应用在智能云场景下;尤其涉及一种报文组播方法、组播网关、电子设备及存储介质。

技术介绍

[0002]在云计算场景下,为了实现低成本的虚拟网络下的组播,且不对宿主机的中央处理器(central processing unit,简称CPU)产生过多的开销,通常采用独立部署的组播网关集群对云上租户提供组播能力。考虑到虚拟网络下对多租户的支持,以及不同租户对组播组规模的定制化等需求,云厂商通常采用x86服务器实现组播网关。
[0003]当客户端发出的组播报文到达x86服务器实现的组播网关后,组播网关会通过软件复制的方式,将原始报文依次复制给该组播组中的每一个成员。

技术实现思路

[0004]本公开提供了一种报文组播方法、组播网关、电子设备及存储介质。
[0005]根据本公开的一方面,提供了一种报文组播方法,应用在包括有预设数量端口的可编程交换机实现的组播网关中,包括:
[0006]接收报文;所述报文中携带虚拟网络标识和组播组IP地址;
[0007]基于预先建立的组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组的信息;
[0008]基于所述组播组的信息和预先建立的组播组成员信息表,通过所述组播网关的所述预设数量的端口,向所述组播组中的所有组播组成员组播所述报文。
[0009]根据本公开的另一方面,提供了一种组播网关,采用包括有预设数量端口的可编程交换机实现,包括:
[0010]接收模块,用于接收报文;所述报文中携带虚拟网络标识和组播组IP地址;
[0011]获取模块,用于基于预先建立的组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组的信息;
[0012]组播模块,用于基于所述组播组的信息和预先建立的组播组成员信息表,通过所述组播网关的所述预设数量的端口,向所述组播组中的所有组播组成员组播所述报文。
[0013]根据本公开的再一方面,提供了一种电子设备,包括:
[0014]至少一个处理器;以及
[0015]与所述至少一个处理器通信连接的存储器;其中,
[0016]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
[0017]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方
法。
[0018]根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
[0019]根据本公开的技术,能够有效地提高组播网关的吞吐能力,降低组播时延,提高报文组播效率。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1是根据本公开第一实施例的示意图;
[0023]图2是根据本公开第二实施例的示意图;
[0024]图3是本实施例提供的一种可编程交换机实现的组播网关的工作原理图;
[0025]图4是根据本公开第三实施例的示意图;
[0026]图5是根据本公开第四实施例的示意图;
[0027]图6是用来实现本公开实施例的方法的电子设备的框图。
具体实施方式
[0028]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0030]需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
[0031]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0032]通过通用的x86服务器实现的组播网关,对组播报文的复制和转发,受限于程序、CPU、网卡等的能力,其性能和吞吐能力通常较低,且时延较高,无法满足多租户、大规模组播组的低时延组播需求。
[0033]图1是根据本公开第一实施例的示意图;如图1所示,本实施例提供一种报文组播方法,应用在可编程交换机实现的组播网关中,其中该可编程交换机具有预设数量的端口。本实施例的报文组播方法,具体可以包括如下步骤:
[0034]S101、接收报文;该报文中携带虚拟网络标识(VxLAN Network Identifier;VNI)
和组播组IP地址;
[0035]其中,虚拟可扩展局域网(Virtual eXtensible Local Area Network),简称VxLAN。
[0036]该报文为对应的设备发出的,携带有VNI和组播组的IP地址,以请求网关向对应组播组内的所有组播成员发送该报文。其中VNI可以用于表示组播组所在的虚拟私有云(Virtual Private Cloud;VPC)。由于不同的VNI可能对应有相同的组播组IP地址。所以,本实施例中,需要在报文中携带VNI和组播组IP地址,以准确地定位到唯一的组播组。
[0037]具体地,组播源成员对应的设备先将报文发出至交换机。交换机根据报文中的外层封装中的组播网关的地址,即VXLAN隧道端点(VXLAN Tunnel End Point;VTEP)地址,将该报文发送给本实施例的组播网关。该组播网关的地址即为组播网关的IP地址,携带在报文的外层封装中。
[0038]S102、基于预先建立的组播组实例表、VNI和组播组IP地址,获取组播组的信息;
[0039]本实施例的组播组实例表中,可以维护有多租户不同VPC下的所有组播组实例信息,其中可以包括:VNI、组播组IP地址、组播组ID、以及组播组成员数量等等。该组播组实例表可以预先建本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文组播方法,应用在包括有预设数量端口的可编程交换机实现的组播网关中,包括:接收报文;所述报文中携带虚拟网络标识和组播组IP地址;基于预先建立的组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组的信息;基于所述组播组的信息和预先建立的组播组成员信息表,通过所述组播网关的所述预设数量的端口,向所述组播组中的所有组播组成员组播所述报文。2.根据权利要求1所述的方法,其中,基于预先建立的组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组的信息,包括:基于所述组播组实例表、所述虚拟网络标识和所述组播组IP地址,获取所述组播组标识和所述组播组成员的总数量。3.根据权利要求2所述的方法,其中,基于所述组播组的信息和预先建立的组播组成员信息表,通过所述组播网关的所述预设数量的端口,向所述组播组中的所有组播组成员组播所述报文,包括:基于所述组播网关的所述端口的所述预设数量以及当前待组播的所述组播组成员的剩余数量,确定本轮组播的所述组播组成员的本轮组播数量;将所述报文镜像所述本轮组播数量份;基于所述组播组标识和所述组播组成员信息表,通过所述组播网关的各所述端口,向所述本轮组播数量的组播组成员组播所述报文。4.根据权利要求3所述的方法,其中,基于所述组播网关的所述端口的所述预设数量以及当前待组播的所述组播组成员的剩余数量,确定本轮组播的所述组播组成员的本轮组播数量,包括:若所述组播组成员的剩余数量大于或者等于所述预设数量,确定本轮组播的所述组播组成员的本轮组播数量等于所述预设数量;若所述组播组成员的剩余数量小于所述预设数量,确定本轮组播的所述组播组成员的本轮组播数量等于所述组播组成员的剩余数量。5.根据权利要求3所述的方法,其中,所述报文中携带有基准偏移量;基于所述组播网关的所述端口的所述预设数量以及当前待组播的所述组播组成员的剩余数量,确定本轮组播的所述组播组成员的本轮组播数量之前,还包括:基于所述组播组成员的总数量和所述报文中携带的基准偏移量,确定当前待组播的所述组播组成员的剩余数量,所述基准偏移量的初始值为0。6.根据权利要求5所述的方法,其中,基于所述组播组标识和所述组播组成员信息表,通过所述组播网关的各所述端口,向所述本轮组播数量的组播组成员组播所述报文,包括:获取本轮组播时,各所述端口对应的组播组成员的序号;基于所述组播组标识、各所述端口对应的所述组播组成员的序号以及所述组播组成员信息表,获取各所述端口对应的组播组成员的信息;基于各所述端口对应的组播组成员的信息,向对应的所述组播组成员发送所述报文。7.根据权利要求6所述的方法,其中,获取本轮组播时,各所述端口对应的组播组成员的序号,包括:
基于所述报文中携带的所述基准偏移量与所述组播网关的各端口的序号,确定各所述端口对应的组播组成员的序号。8.根据权利要求3所述的方法,其中,基于所述组播组标识和所述组播组成员信息表,通过所述组播网关的各所述端口,向所述本轮组播数量的组播组成员组播所述报文,还包括:若确定本轮组播后未完成所述组播组所有成员的组播时,更新所述报文中的所述基准偏移量;向交换机发送携带所述基准偏移量、所述虚拟网络标识和所述组播组IP地址的报文。9.根据权利要求8所述的方法,其中,更新所述报文中的所述基准偏移量,包括:将所述报文中的所述基准偏移量累加所述预设数量。10.根据权利要求8所述的方法,其中,向交换机发送携带所述基准偏移量、所述虚拟网络标识和所述组播组IP地址的报文,包括:通过复用所述组播网关的任一端口,向所述交换机发送携带所述基准偏移量、所述虚拟网络标识和所述组播组IP地址的报文。11.根据权利要求6

10任一所述的方法,其中,基于所述组播组标识、各所述端口对应的所述组播组成员的序号以及所述组播组成员信息表,获取各所述端口对应的组播组成员的信息,包括:基于所述组播组标识、各所述端口对应的所述组播组成员的序号以及所述组播组成员信息表,获取各所述端口对应的组播组成...

【专利技术属性】
技术研发人员:黄冰邵勇周清志王佩龙
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1