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

广播方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:30:30


广播方法、装置、电子设备及存储介质

技术领域

本申请涉及通信技术领域,特别地涉及一种广播方法、装置、电子设备及存储介质。

背景技术

多播和广播路由算法在设计过程中有一个重要的问题需要避免吸收通道(consumption channel)的死锁问题。图1为相关技术中提出的一种多播或者广播消息的示意图,如图1所示,其中R

发明内容

针对上述问题,本申请提供一种广播方法、装置、电子设备及存储介质。

本申请提供了一种广播方法,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,所述方法包括:

基于获取的数据包确定广播指令;

基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;

基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。

在一些实施例中,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;

对每一个路由器组G

在一些实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:

确定G中的所有路由器组的数量;

在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;

若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c

若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c

在一些实施例中,所述调用forward(v

确定D

在D

若vi在低标号子集D

若vi在在D

在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

对网络中任一路由器R

对于任何路由器R

在一些实施例中,所述调用urouter(R

确定D

在D

在R

在一些实施例中,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对于每一个路由器r∈G

对每一个路由器组G

对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;

对于高阶网络拓扑结构中任何路由器r,r∈G

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将(g·m+1)·(m-1)个数据包从r传输至G中的所有路由器组,其中m·g·m个数据包传给高阶网络拓扑结构中其他组的路由器,m个数据包传给相同组包括r在内的m个路由器;路由器r在第一个单播步骤传输m·g·m/2个数据包至第一个路由器组,该第一个路由器组中的路由器递归地将数据包分发到|G|/2个路由器组;第二个路由步骤,路由器r将m·g·m/4个数据包传输至第二个路由器组,该第二个路由器组中的路由器递归地将数据包分发到|G|/4个路由器组;重复上述步骤直到每个路由器组接收到m个数据包,每个路由器组中的m个数据包被分发到该路由器组的m个路由器,路由器r将m-1个数据包递归地分发至其他m-1个同组的路由器;

对每一个路由器组G

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至R

在第二个路由步骤中,路由器r及R

对所述高阶网络拓扑结构中任一路由器R

对于任何路由器R

在一些实施例中,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法包括:

对网络中每个路由器组G

调用scatter(r,D

调用urouter(r,G)将r中的m

对所述高阶网络拓扑结构中每个路由器r,r∈G

本申请实施例提供一种广播装置,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,包括:

第一确定模块,用于基于获取的数据包确定广播指令;

第二确定模块,用于基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;

广播模块,用于基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。

本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行上述所述广播方法。

本申请实施例提供一种存储介质,该存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现上述所述广播方法。

本申请提供的一种广播方法、装置、电子设备及存储介质,通过预先存储广播指令与广播算法的对应关系,在接收到广播指令后,执行对应的广播算法,实现在高阶网络拓扑结构中进行广播。

附图说明

在下文中将基于实施例并参考附图来对本申请进行更详细的描述。

图1为相关技术中提出的一种多播或者广播消息的示意图;

图2为本申请实施例提供的一种蜻蜓网络的总体架构示意图;

图3为本申请实施例提供的一种网络拓扑示例图;

图4为本申请实施例提供的一种广播方法的实现流程示意图;

图5为本申请实施例提供的一种组优先一对全部的全对全广播的示意图;

图6为本申请实施例提供的一种RFA2A的广播示意图;

图7为本申请实施例提供的一种A2A的广播示意图;

图8给出了A2A全对全广播算法示意图;

图9为本申请实施例提供的一种PA2A算法的实现流程示意图;

图10为本申请实施例提供的一种种PA2A算法的实现流程示意图;

图11为本申请实施例提供的电子设备的组成结构示意图。

在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一第二第三”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一第二第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

基于相关技术中存在的问题,本申请实施例提供一种广播方法,所述方法应用于高阶网络拓扑结构,高阶网络拓扑结构可以是蜻蜓网络(dragonfly),蜻蜓网络包括路由器、路由器组和互连网络。图2为本申请实施例提供的一种蜻蜓网络的总体架构示意图,如图2所示,最低的一层,每个路由器有三种不同类型的连接:(1)连接p个终端,(2)连接同组路由器的m-1个局部通道,(3)连接其他组路由器的g个全局通道。因此,每个路由器度数为k=p+g+m-1。一个路由器组包含m个路由器,路由器之间通过局部通道两两间互连。每个组有m﹒p个终端端口和m﹒g个全局端口,所以每个路由器组可以看做一个维度为k’=m﹒(p+g)的虚拟路由器。例如,n=m﹒g+1组能够以长度为1的全局路径连接,为路由器组的数目。

在一个最大的蜻蜓网络中,及N=m﹒p﹒(m﹒g+1)为处理机总数,每两组路由器间仅仅只有一个全局链接。蜻蜓网络中的参数m,p和g可以取任意的值。然而,为了均衡通道负载,网络参数应该m=2p=2g的配置。因为每个分组沿着它的路由路径经过两个局部通道的时候必定通过一个全局通道和终端通道,这样一个比例能够保持均衡负载。因为全局通道的成本较高,所以为了保持全局通道保持全负载,均衡的蜻蜓网络应该保持m≥2g,p≥g。

通过增加有效的维度,蜻蜓网络具有高度的可扩展性,例如,利用64端口的交换芯片,网络拓扑可扩展为包含256K节点数并且网络直径只有3跳步。相比而言,一个2D的平坦的蝴蝶网络利用64维路由器能够扩展近似10K节点,一个3D的平坦的蝴蝶网络仅仅能够扩展到64K节点。蜻蜓网络中组内和组间的网络可以使用任意的互连网络结构。一个简单的蜻蜓网络的实例如图3所示,p=g=2,m=4,利用k=7维路由器扩展至72个节点。组内网络采用1D全连接网络。

本申请实施例中,为了方便拓扑结构的描述,对拓扑结构的一些基本变量进行说明,拓扑结构的基本组成单元是路由器,针对路由器进行分组,假设每个路由器组内有m个路由器,分别标号为R

任意两个路由器组之间存在一个连接,但是连接最终需要通过路由器的端口实现连接,所以路由器组之间的连接相对较复杂,所以这里具有一定的优化空间。所以本申请实施例提出一种路由器组之间的连接策略,该连接策略使得路由路径中不符合负向优先路由规则的连接数量尽可能的少,使得负向优先路由在该定制网络中能够非常的高效。详细的连接规则描述如下:

规则一:对于标号i从0到n-2,将G

规则二:对于标号i从0到n-3,j从i+2到n-1,将G

规则二中v,v’的规则可以更加的细化,可以通过计算得到路由器的标号,计算方法可以通过式(1)和式(2)得到。其中公式中的g表示网络拓扑路由器中用来进行全局连接的全局端口数量。公式(1)中的i标明G

该拓扑结构给出的组内连接方式和组间连接方式均采用非常简单的思路,组内和组间均采用全连接的方式,组间保证任意两组之间仅存在一条全局通道的连接,这种连接方式使得该拓扑结构的网络直径非常小,任意两点之间的最短距离最长需要两个局部连接和一个全局连接,三个跳步,及时全局通道相对于低阶的拓扑中局部通道的延时较高,但是跳步数量的大大减少同时也提高的网络的性能。低阶网络中无论网格网络还是环绕网络,其拓扑结构的直径均与结点数量相关,网络直径表明平均路由消息的网络跳步数量增加,在网络结点规模非常大的情况下,本文提出的网络拓扑结构与结点无关的网络跳步数能够发挥优秀的性能。

本申请实施例提供一种广播方法,应用于电子设备,例如计算机、移动终端交换机、路由器等。本申请实施例提供的广播方法所实现的功能可以通过电子设备的处理器调用程序代码来实现,其中,程序代码可以保存在计算机存储介质中。

本申请实施例提供一种广播方法,图4为本申请实施例提供的一种广播方法的实现流程示意图,如图4所示,包括:

步骤S101,基于获取的数据包确定广播指令。

本申请实施例中,可以对数据包进行解析,确定数据包的包头信息,基于报头信息确定广播指令。

步骤S102,基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;

本申请实施例中,广播算法可以包括:组优先一对全广播group-first,路由器优先一对全广播router-first,基于组优先一对全广播的全对全广播GFA2A,基于路由器优先一对全广播的全对全广播RFA2A,基于数据包合并的全对全广播A2A,(6)基于组优先一对全广播的私密全对全广播GPA2A,基于路由器优先一对全部的私密全对全广播RPA2A,基于数据包合并的私密全对全广播(PA2A)。

步骤S103,基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。

本申请实施例中,在确定了目标广播算法后,即可以基于于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。

本申请提供的一种广播方法,通过预先存储广播指令与广播算法的对应关系,在接收到广播指令后,执行对应的广播算法,实现在高阶网络拓扑结构中进行广播。

在一些实施例中,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法(GPA2A)考虑成两个分开的步骤,首先是以组为级别的步骤,其次是以路由器为级别的步骤。以组为级别的步骤源结点路由按照一定的规则通过全局通道将源路由器消息发送至所有的路由器组,同时以路由器为级别的步骤就是路由器组内部将已经接受到路由消息的路由器发送至组内所有的路由器。GPA2A该广播策略优先执行以组为级别的路由策略,所以源结点路由首先通过全局通道将路由消息按照一定的规则发送至所有的路由器组,接下来每个路由器组内进行组内的广播路由。

组优先一对全部的全对全广播指令对应的广播算法,包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;

对每一个路由器组G

本申请实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:

确定G中的所有路由器组的数量;

在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;

若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c

若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c

本申请实施例中,如果|G|=2,将消息传输至另一路由器组;然后退出。

在一些实施例中,所述调用forward(v

确定D

在D

若vi在低标号子集D

若vi在在D

在在D

本申请实施例中,组优先广播路由中组内广播算法同样采用递归的形式将组内某个接收到路由消息的路由器广播消息至组内其他路由器,耗时需要log(m)的局部通道延时,其中m为组内路由器的数量。

图5为本申请实施例提供的一种组优先一对全部的全对全广播的示意图,如图5所示,图5中(a)给出了原路由器为R

在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法(RFA2A)考虑成三个步骤:(1)首先是以源结点路由器组内组播,将数据包组播到组内所有路由器;(2)原路由器组内所有路由器分别组播数据包至其连接的所有路由器组;(3)接收到广播消息的路由器在组内进行组内的组播,这样最终完成了广播的操作。路由器优先一对全广播指令对应的广播算法考虑了消息经过全通通道的延时较大,路由器组优先广播路由算法中第一阶段组间的广播,需要log(n)次的全局通道的延时时间,其中n是拓扑结构中路由器组的数量,路由器优先广播算法减少了使用全局通道的延时时间,使全局通道使用的更加均衡。路由器优先广播需要2log(m)+log(g)=log(m

log(n)+log(m)=log(m·g/2+1)·m=log(m

个路由步骤,两者完全一样。但是后者需要log(n)个全局通道的路由步骤,明显不如路由器优先广播。

路由器优先一对全广播指令对应的广播算法,具体包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

对网络中任一路由器R

对于任何路由器R

本申请实施例中,urouter(R

确定D

在D

在R

如果|D|=1,将R

本申请实施例中,图6为本申请实施例提供的一种RFA2A的广播示意图,如图6所示,在实际情况中分为三种情况,如图6中(a)所示,目标路由器集合D均处于源路由器的左边,标号均小于源路由器;如图6中(b)所示,目标路由器集合D均处于源路由器的右边,标号均大于源路由器;如图6中(c)所示,目标路由器集合D分别处于源路由器的两边。如图6展示了实际网络拓扑中组广播阶段的实际单播步骤,网络拓扑结构g=4。图5中(a),(b),和(c)分别代表集合D标号均小于源路由器,集合D标号均大于源路由器,集合D分布在源路由器两侧;所需要延时为log(g)+1的全局通道延时,这里为3个路由步骤,相对于组优先广播路由,组间广播阶段的延时大大减小。

在一些实施例中,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法(A2A)包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对于每一个路由器r∈G

对每一个路由器组G

对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;

对于高阶网络拓扑结构中任何路由器r,r∈G

本申请实施例中,基于数据包合并的全对全广播算法A2A由四个独立的阶段:(1)原路由器组内收集数据包,将路由器组内所有路由器的数据包全部传输至以一个选定的组播树根,(2)从树根对第一阶段收集到的数据包分发到组内所有的路由器,(3)每个路由器将m个数据包组播至g个直接连接的其他路由器组的路由器,(4)每个路由器共收到g·m个数据包,将每m个一组的数据包打包组播至相同组内的m个路由器。

假设一个路由器组含m个路由器,全组路由器含R

图7为本申请实施例提供的一种A2A的广播示意图,如图7所示,在图7中(a)给出了含有8个路由器的路由器组数据包收集的处理。每个带箭头的弧线标注了两个数字a(b),其中a和b分别表示路由步骤及数据包个数。如图7(a)所示,在第一个单播步骤,路由器R

在图7中(b)所示为含8个路由器的路由器组消息分发的过程。在第一个单播步骤,R

图8给出了A2A全对全广播算法任一路由器向其他路由器组传输数据包的示意图。在图8中(a)、(b)、8(c)分别表示从一个路由器传输数据包至其他路由器组,目标路由器组标号全部低于源路由器组的标号,目标路由器组的标号均高于元路由器组的标号,分别有一半路由器组的标号低于元路由器组和一般的路由器组的标号高于源路由器组。

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法(GPA2A)包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将(g·m+1)·(m-1)个数据包从r传输至G中的所有路由器组,其中m·g·m个数据包传给高阶网络拓扑结构中其他组的路由器,m个数据包传给相同组包括r在内的m个路由器;路由器r在第一个单播步骤传输m·g·m/2个数据包至第一个路由器组,该第一个路由器组中的路由器递归地将数据包分发到|G|/2个路由器组;第二个路由步骤,路由器r将m·g·m/4个数据包传输至第二个路由器组,该第二个路由器组中的路由器递归地将数据包分发到|G|/4个路由器组;重复上述步骤直到每个路由器组接收到m个数据包,每个路由器组中的m个数据包被分发到该路由器组的m个路由器,路由器r将m-1个数据包递归地分发至其他m-1个同组的路由器;

对每一个路由器组G

本申请实施例中,私密全对全广播中每个路由器传输一个不同的数据包到所有网络中的其他路由器。在GPA2A私密全对全广播中,每一个路由器传输g·m·m+(m-1)个数据包到所有其他路由器。每个路由器独立执行一个私密一对全广播。原路由器在第一个单播步骤传输m·g·m/2个数据包到第一个路由器组,这些数据包递归地传输至所有一半的路由器中。在第二个单播步骤,原路由器传输m·g·m/4个数据包至第二个路由器组,这些数据包被递归地传分发至剩余一半路由器组中25%的路由器组。重复上述操作直到每一个路由器组都分发到m个数据包。每一路由器组的m个数据包分发到组内每一个路由器,每个路由器一个数据包。原路由器将m-1个数据包分发至元路由器组中每个路由器。

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法(RPA2A)包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至R

在第二个路由步骤中,路由器r及R

对所述高阶网络拓扑结构中任一路由器R

对于任何路由器R

本申请实施例中,私密全对全广播中每个路由器传输一个不同的数据包到所有网络中的其他路由器。在GPA2A私密全对全广播中,每一个路由器传输g·m·m+(m-1)个数据包到所有其他路由器。每个路由器独立执行一个私密一对全广播。原路由器在第一个单播步骤传输m·g·m/2个数据包到第一个路由器组,这些数据包递归地传输至所有一半的路由器中。在第二个单播步骤,原路由器传输m·g·m/4个数据包至第二个路由器组,这些数据包被递归地传分发至剩余一半路由器组中25%的路由器组。重复上述操作直到每一个路由器组都分发到m个数据包。每一路由器组的m个数据包分发到组内每一个路由器,每个路由器一个数据包。原路由器将m-1个数据包分发至元路由器组中每个路由器。

在一些实施例中,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法(数据包合并的私密全对全广播算法PA2A),可有四个不同的阶段构成:(1)路由器组内部数据包收集,该阶段每个路由器将所有需要广播的数据包收集到组内唯一选定的根节点;(2)收集在根节点处的数据包全部发散到组内m个路由器;(3)每一个路由器接收到数据包后通过全局通道分发至组外g个直接相连的路由器,及(4)每个路由器一旦接收到m·m个从任何其他路由器组传输来的数据包,立刻将其分发至组内m个路由器,每个路由器m个数据包。所述数据包合并的私密全对全广播算法指令对应的广播算法包括:

对网络中每个路由器组G

调用scatter(r,D

调用urouter(r,G)将r中的m

对所述高阶网络拓扑结构中每个路由器r,r∈G

PA2A算法在第一阶段数据包收集阶段,每个路由器r通过相同选定的组播树根节点将(m-1)·m·g+(m-1)个数据包分发至m-1个同组路由器,(m-1)·m·g+(m-1)个数据包保留在根节点路由器r,(m-1)·m·g个数据包由r分发至m-1个同组的路由器。

图9为本申请实施例提供的一种PA2A算法的实现流程示意图,如图9所示,在图9中(a)给出了第一阶段数据包收集的过程,假定路由器R0选定为数据包收集树的根节点。在第一个单播周期,R

如图9中(a)所示,每个路由器组有8个路由器。在第一个单播周期,R

在第一个数据分发阶段:在第一个单播步骤,R

在第二个单播步骤,R

重复上述处理,直到第log(m/2)个单播步骤所有m/2偶数标号的路由器传输[(m-1)·m·g+(m-1)]个数据包,考虑从R

在图9中(b)所示,在第一个单播周期,R

在第一个分发阶段完成后,每个路由器保留了m·m·g个数据包需要传输给g个其他组的路由器。对每个路由器r,调用urouter(r,G)通过全局通道传输m·m·g个数据包至g个其他路由器组的路由器。分三种不同的情况:(1)所有与r相连的路由器组标号都比源路由器组标号低,(2)所有与r相连的路由器组标号都比源路由器组标号高,(3)g/2的路由器组比源路由器组标号高,g/2源路由器组标号低。

所有m·m·g个数据包打包成log(g)个大的数据包,因而可以大幅节省启动(start-up)及接收(receipt)延迟。图10为本申请实施例提供的一种种PA2A算法的实现流程示意图,假设G

图10中(b)所示,以每组8个路由器为实例,在第一个单播步骤,路由器r传输8x8x2个数据包至G

当某一路由器r收到m·m个其他路由器组发送过来的数据包时,立刻将这些数据包分发至同组内m个路由器。我们以R

如图9中(c)所示,以R

基于前述的实施例,本申请实施例提供一种广播装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。

本申请实施例提供一种广播装置,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,包括:

第一确定模块,用于基于获取的数据包确定广播指令;

第二确定模块,用于基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;

广播模块,用于基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。

在一些实施例中,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;

对每一个路由器组G

在一些实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:

确定G中的所有路由器组的数量;

在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;

若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c

若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c

在一些实施例中,所述调用forward(v

确定D

在D

若vi在低标号子集D

若vi在在D

在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

对网络中任一路由器R

对于任何路由器R

在一些实施例中,所述调用urouter(R

确定D

在D

在R

在一些实施例中,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对于每一个路由器r∈G

对每一个路由器组G

对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;

对于高阶网络拓扑结构中任何路由器r,r∈G

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对每一个路由器r∈G,调用deliver(r,G)将(g·m+1)·(m-1)个数据包从r传输至G中的所有路由器组,其中m·g·m个数据包传给高阶网络拓扑结构中其他组的路由器,m个数据包传给相同组包括r在内的m个路由器;路由器r在第一个单播步骤传输m·g·m/2个数据包至第一个路由器组,该第一个路由器组中的路由器递归地将数据包分发到|G|/2个路由器组;第二个路由步骤,路由器r将m·g·m/4个数据包传输至第二个路由器组,该第二个路由器组中的路由器递归地将数据包分发到|G|/4个路由器组;重复上述步骤直到每个路由器组接收到m个数据包,每个路由器组中的m个数据包被分发到该路由器组的m个路由器,路由器r将m-1个数据包递归地分发至其他m-1个同组的路由器;

对每一个路由器组G

在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:

基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;

对任一路由器r∈G

其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至R

(m-1)·m·g/2+m/2个数据包由r传输至R

在第二个路由步骤中,路由器r及R

对所述高阶网络拓扑结构中任一路由器R

对于任何路由器R

在一些实施例中,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法包括:

对网络中每个路由器组G

调用scatter(r,D

调用urouter(r,G)将r中的m

对所述高阶网络拓扑结构中每个路由器r,r∈G

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的广播方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

相应地,本申请实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例中提供的广播方法中的步骤。

本申请实施例提供一种电子设备;图11为本申请实施例提供的电子设备的组成结构示意图,如图11所示,所述电子设备600包括:一个处理器601、至少一个通信总线602、用户接口603、至少一个外部通信接口604、存储器605。其中,通信总线602配置为实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏,外部通信接口604可以包括标准的有线接口和无线接口。所述处理器601配置为执行存储器中存储的广播方法的程序,以实现以上述实施例提供的广播方法中的步骤。

以上显示设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请计算机设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 存储清理方法、装置、电子设备及存储介质
  • 多版本数据存储管理方法及装置、电子设备、存储介质
  • 设备显示方法、广播方法、装置、电子设备及存储介质
  • 广播消息的发送方法、装置、实体、电子设备和存储介质
技术分类

06120115929371