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

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

Info

Publication number
CN115987702A
CN115987702A CN202210509164.1A CN202210509164A CN115987702A CN 115987702 A CN115987702 A CN 115987702A CN 202210509164 A CN202210509164 A CN 202210509164A CN 115987702 A CN115987702 A CN 115987702A
Authority
CN
China
Prior art keywords
router
group
routers
broadcast
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210509164.1A
Other languages
English (en)
Inventor
向东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202210509164.1A priority Critical patent/CN115987702A/zh
Publication of CN115987702A publication Critical patent/CN115987702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

广播方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,特别地涉及一种广播方法、装置、电子设备及存储介质。
背景技术
多播和广播路由算法在设计过程中有一个重要的问题需要避免吸收通道(consumption channel)的死锁问题。图1为相关技术中提出的一种多播或者广播消息的示意图,如图1所示,其中R0,R1,…,Rm-1是同一个路由器组内的路由器,现在存在多播或者广播消息M0,M1,M2和M3。并且这四个路由消息目的结点均为该组内的所有路由器R0,R1,…,Rm-1,这四个路由消息的源结点均不属于该组。假设该网络中的吸收通道均有两个虚拟通道,某个时刻路由消息M0预定了R0和R1的吸收通道,等待申请R2,R3,…Rm-1的吸收通道,路由消息M1预定了Ri,Ri+1,…,Rm-1的吸收通道,等待申请R0,R1,…,Ri-1的吸收通道;路由消息M2预定了R0,R1,…,Ri的吸收通道,等待申请Ri+1,...,Rm-1的吸收通道;路由消息M3预定了R0和Rm-1的吸收通道,等待R1,R2,…,Rm-2的吸收通道。这四个路由消息形成了循环等待关系,严重消耗网络的资源。这样的死锁配置在低阶的拓扑结构中相对容易解决。假设网络中路由算法需要的虚拟通道的数量是v并且路由器的输入端口是k。一个简单的避免该死锁的方法就是把物理通道的虚拟通道数量增加至v﹒k即可避免死锁配置。该方法在低阶网络中需要增加的虚拟通道数量有限,所以属于流行的解决方案。考虑2D-mesh网络,如果选取x-y作为基准路由算法,物理通道只需要增加至四条虚拟通道即可避免这样的死锁配置;如果采用Duato协议作为基准路由算法,物理通道需要增加至八条虚拟通道;考虑二维torus网络,如果采用x-y作为基准路由算法,吸收通道的虚拟通道数只需要增加至八条虚拟通道;如果采用Duato协议作为基准路由算法,吸收通道的虚拟通道数目需要增加至12条。高阶网络中如果采用此种方法去避免吸收通道的死锁,需要的虚拟通道数目会非常大,增加了构造高阶网络拓扑结构的成本。
发明内容
针对上述问题,本申请提供一种广播方法、装置、电子设备及存储介质。
本申请提供了一种广播方法,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,所述方法包括:
基于获取的数据包确定广播指令;
基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;
基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。
在一些实施例中,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,其中,vi收到从r发送来的数据包。
在一些实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:
确定G中的所有路由器组的数量;
在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;
若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c1;在r调用deliver(r,G’),且在c1调用deliver(c1,G”);
若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c1;在c1调用deliver(c1,G’),且在r调用deliver(r,G”)。
在一些实施例中,所述调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2
若vi在低标号子集D1中,将vi的消息传输至高标号子集D2中标号最低的路由器v2;在v2调用forward(v2,D2),且在vi调用forward(vi,D1);
若vi在在D2中,这将vi的消息传输至D1中标号最高的路由器v1;在v1处调用forward(v1,D1),并在vi处调用forward(vi,D2)。
在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,路由器组Gs∈G,Gs的路由器集合为Di,调用forward(r,Gs)将路由器r的消息传输至Gs中的所有路由器;
对网络中任一路由器Rv,调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,路由器组Gj∈G调用forward(Rv’,Gj)将每一组Rv’接收到的g·m个消息组播至路由器组内所有其他路由器。
在一些实施例中,所述调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2,其中,D1含标号小的g/2个路由器,D2含标号大得g/2个路由器;
在Rv调用urouter(Rv,D1)和在c2调用urouter(c2,D2-{c2}),其中,c2是D2中标号最小的路由器。
在一些实施例中,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对于每一个路由器r∈Gi,Gi∈G,调用collect(r,Gi)传输r的消息至路由器组Gi中的每一个路由器;
对每一个路由器组Gi,Gi路由器组包括路由器Di,调用scatter(r,Di)收集在选定的路由器r中的消息分发到Gi中的每一个路由器;
对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;
对于高阶网络拓扑结构中任何路由器r,r∈Gj,Gj∈G,将r收到的m个消息传输至Gj中的所有其他路由器。
在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合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个同组的路由器;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)将消息从vi将数据包组播到Di中的所有路由器,其中vi收到从r发送来m个数据包。
在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,Gs∈G,调用forward(r,Gs)将路由器r的(m·g+1)·(m-1)个消息沿着路由器r的组播树分发至路由器r所在的路由器组Gs中的所有路由器:
其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至Rm/2,(m-1)·m·g/2+m/2个数据包由r传输至Rm/2-1;在第一个路由步骤收到数据包的路由器将数据包递归地传输至后m/2个路由器,每个路由器收到m·g/2+1个数据包;
在第二个路由步骤中,路由器r及Rm/2同时发送m·m·g/4+m/4个数据包至Rm/4及R3m/4;重复上述路由步骤直到每个路由器均收到m·g+1个数据包为止;
对所述高阶网络拓扑结构中任一路由器Rv,调用urouter(Rv,D)将Rv中的m·m·g个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,调用forward(Rv’,Gj)将每一个路由器Rv’接收到的m·m个消息分发至路由器组内所有其他路由器。
在一些实施例中,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法包括:
对网络中每个路由器组Gi,r∈Gi,r为选定的,调用collect(r,Gi)在r收集m3·g+(m-1)·m个消息;
调用scatter(r,Di)将路由器r的消息发布到路由器组Gi内每个路由器中,其中每个路由器接收m2·g+(m-1)个消息,m2·g个消息由Gi外的路由器传输而来,m-1个消息为Gi内其他m-1个路由器所传递到该路由器r的消息;
调用urouter(r,G)将r中的m2·g个数据包通过g个全局通道传输至Gi外g个路由器;
对所述高阶网络拓扑结构中每个路由器r,r∈Gi,将r收到的每一路由器组的m2个消息分发至m个路由器,每个路由器接收m个消息。
本申请实施例提供一种广播装置,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,包括:
第一确定模块,用于基于获取的数据包确定广播指令;
第二确定模块,用于基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;
广播模块,用于基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。
本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行上述所述广播方法。
本申请实施例提供一种存储介质,该存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现上述所述广播方法。
本申请提供的一种广播方法、装置、电子设备及存储介质,通过预先存储广播指令与广播算法的对应关系,在接收到广播指令后,执行对应的广播算法,实现在高阶网络拓扑结构中进行广播。
附图说明
在下文中将基于实施例并参考附图来对本申请进行更详细的描述。
图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个路由器,分别标号为R0,R1,…,Rm-1,网络一共被划分为n个组G0,G1,…,Gn-1。为了缩小网络拓扑的直径,组内路由器采取全连接的策略,组内任意两个路由器之间均存在一个连接。
任意两个路由器组之间存在一个连接,但是连接最终需要通过路由器的端口实现连接,所以路由器组之间的连接相对较复杂,所以这里具有一定的优化空间。所以本申请实施例提出一种路由器组之间的连接策略,该连接策略使得路由路径中不符合负向优先路由规则的连接数量尽可能的少,使得负向优先路由在该定制网络中能够非常的高效。详细的连接规则描述如下:
规则一:对于标号i从0到n-2,将Gi组内的路由器Rm-1,与Gi+1组内的路由器R0通过全局通道进行连接,及路由器组之间收尾相连接;
规则二:对于标号i从0到n-3,j从i+2到n-1,将Gi组内的的Rv连接到Gj组内的Rv’,其中v是Gi组内最高的可用端口所在的路由器标号,v’是Gj组内最低的可用端口
规则二中v,v’的规则可以更加的细化,可以通过计算得到路由器的标号,计算方法可以通过式(1)和式(2)得到。其中公式中的g表示网络拓扑路由器中用来进行全局连接的全局端口数量。公式(1)中的i标明Gi已经从低可用端口连接了路由器组G0,G1,…,Gi-1通过i个全局端口。在与Gj连接之前,同样Gi已经从最高可用端口连接了路由器组Gi+1,Gi+2,…,Gj-1通过j-i-1个全局端口。公式(2)中表示Gj路由器组已经从最低可用端口连接了路由器组G0,G1,…,Gi-1通过i个全局端口。根据上述规则就可以决定一个网络拓扑结构的连接,为了更加直观的展示网络拓扑结构的概念,这里举一个具体的拓扑结构实例。这里假设一个比较小的网络规模,包含9组路由器组,每组路由器组包含4个路由器,并且每个路由器的全局端口由2个,及n=9,m=4,g=2,图3为本申请实施例提供的一种网络拓扑示例图,网络拓扑连接如图3所示。
该拓扑结构给出的组内连接方式和组间连接方式均采用非常简单的思路,组内和组间均采用全连接的方式,组间保证任意两组之间仅存在一条全局通道的连接,这种连接方式使得该拓扑结构的网络直径非常小,任意两点之间的最短距离最长需要两个局部连接和一个全局连接,三个跳步,及时全局通道相对于低阶的拓扑中局部通道的延时较高,但是跳步数量的大大减少同时也提高的网络的性能。低阶网络中无论网格网络还是环绕网络,其拓扑结构的直径均与结点数量相关,网络直径表明平均路由消息的网络跳步数量增加,在网络结点规模非常大的情况下,本文提出的网络拓扑结构与结点无关的网络跳步数能够发挥优秀的性能。
本申请实施例提供一种广播方法,应用于电子设备,例如计算机、移动终端交换机、路由器等。本申请实施例提供的广播方法所实现的功能可以通过电子设备的处理器调用程序代码来实现,其中,程序代码可以保存在计算机存储介质中。
本申请实施例提供一种广播方法,图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中的所有路由器组;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,其中,vi收到从r发送来的数据包。
本申请实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:
确定G中的所有路由器组的数量;
在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;
若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c1;在r调用deliver(r,G’),且在c1调用deliver(c1,G”);
若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c1;在c1调用deliver(c1,G’),且在r调用deliver(r,G”)。
本申请实施例中,如果|G|=2,将消息传输至另一路由器组;然后退出。
在一些实施例中,所述调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2
若vi在低标号子集D1中,将vi的消息传输至高标号子集D2中标号最低的路由器v2;在v2调用forward(v2,D2),且在vi调用forward(vi,D1);
若vi在在D2中,这将vi的消息传输至D1中标号最高的路由器v1;在v1处调用forward(v1,D1),并在vi处调用forward(vi,D2);
在在Di中路由器的数量等于2的情况下,则将消息从v1传输至另一个路由器。
本申请实施例中,组优先广播路由中组内广播算法同样采用递归的形式将组内某个接收到路由消息的路由器广播消息至组内其他路由器,耗时需要log(m)的局部通道延时,其中m为组内路由器的数量。
图5为本申请实施例提供的一种组优先一对全部的全对全广播的示意图,如图5所示,图5中(a)给出了原路由器为R1(G5)路由器组优先的一对全广播。图5中(b)给出了组间消息的组播树,需要顺序执行4个全局通道单播操作就能将源节点的消息传输至所有的路由器组。图5中(c)所示为每个路由器组接收到数据包后再组内组播的情形。
在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法(RFA2A)考虑成三个步骤:(1)首先是以源结点路由器组内组播,将数据包组播到组内所有路由器;(2)原路由器组内所有路由器分别组播数据包至其连接的所有路由器组;(3)接收到广播消息的路由器在组内进行组内的组播,这样最终完成了广播的操作。路由器优先一对全广播指令对应的广播算法考虑了消息经过全通通道的延时较大,路由器组优先广播路由算法中第一阶段组间的广播,需要log(n)次的全局通道的延时时间,其中n是拓扑结构中路由器组的数量,路由器优先广播算法减少了使用全局通道的延时时间,使全局通道使用的更加均衡。路由器优先广播需要2log(m)+log(g)=log(m3/2)个单播步骤,而路由器组优先广播算法需要
log(n)+log(m)=log(m·g/2+1)·m=log(m3/2)
个路由步骤,两者完全一样。但是后者需要log(n)个全局通道的路由步骤,明显不如路由器优先广播。
路由器优先一对全广播指令对应的广播算法,具体包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,路由器组Gs∈G,Gs的路由器集合为Di,调用forward(r,Gs)将路由器r的消息传输至Gs中的所有路由器;
对网络中任一路由器Rv,调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,路由器组Gj∈G调用forward(Rv’,Gj)将每一组Rv’接收到的g·m个消息组播至路由器组内所有其他路由器。
本申请实施例中,urouter(Rv,D)为源路由器组内各个路由器向所有路由器组广播,所述调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2,其中,D1含标号小的g/2个路由器,D2含标号大得g/2个路由器;
在Rv调用urouter(Rv,D1)和在c2调用urouter(c2,D2-{c2}),其中,c2是D2中标号最小的路由器;
如果|D|=1,将Rv的消息经过MFR路径传输至唯一的目标节点。
本申请实施例中,图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∈Gi,Gi∈G,调用collect(r,Gi)传输r的消息至路由器组Gi中的每一个路由器;
对每一个路由器组Gi,Gi路由器组包括路由器Di,调用scatter(r,Di)收集在选定的路由器r中的消息分发到Gi中的每一个路由器;
对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;
对于高阶网络拓扑结构中任何路由器r,r∈Gj,Gj∈G,将r收到的m个消息传输至Gj中的所有其他路由器。
本申请实施例中,基于数据包合并的全对全广播算法A2A由四个独立的阶段:(1)原路由器组内收集数据包,将路由器组内所有路由器的数据包全部传输至以一个选定的组播树根,(2)从树根对第一阶段收集到的数据包分发到组内所有的路由器,(3)每个路由器将m个数据包组播至g个直接连接的其他路由器组的路由器,(4)每个路由器共收到g·m个数据包,将每m个一组的数据包打包组播至相同组内的m个路由器。
假设一个路由器组含m个路由器,全组路由器含R0,R1,R2,R3,…,Rm-2,Rm-1。数据包收集阶段将全组所有的数据包传输至选定的根节点,假设选定R0为根节点。在第一个单播步骤,R1,R3,…,Rm-1(假设m为偶数)分别传送数据包到R0,R2,…,Rm-2。在第二个单播步骤,R2,R6,…,(假设m为偶数)分别传送二个数据包到R0,R4,…,。重复上述操直至第log(m)个单播步骤,路由器Rm/2传输m/2个数据包至R0
图7为本申请实施例提供的一种A2A的广播示意图,如图7所示,在图7中(a)给出了含有8个路由器的路由器组数据包收集的处理。每个带箭头的弧线标注了两个数字a(b),其中a和b分别表示路由步骤及数据包个数。如图7(a)所示,在第一个单播步骤,路由器R1,R3,R5,及R7分别传输一个数据包至R0,R2,R4,及R6。在第二个路由步骤,R2及R6分别传输两个数据包至R0及R4。第三个路由步骤,路由器R4传输4个数据包至R0。在全路由器组的数据包收集到R0以后,启动数据包分发的过程(scattering):在第一个单播周期,路由器R0传输m/2个数据包至Rm/2;在第二个单播周期,R0,Rm/2分别传输3m/4个数据包至Rm/4及R3m/4;重复上述操作直至第log(m)个单播步骤,R0,R2,…,Rm-2分别传输m-1个数据包至R1,R3,…,Rm-1
在图7中(b)所示为含8个路由器的路由器组消息分发的过程。在第一个单播步骤,R0将4个数据包传输至R4;在单播步骤2,R0及R4分别传输6个数据包至R2和R6;在单播步骤3,路由器R0,R2,R4及R6分别传输7个数据包至R1,R3,R5及R7。对于每个路由器总共会接收外部路由器组传输过来的g·m个数据包,每组接收m个数据包。每次接收完m个数据包就原封不动地组播至路由器组内所有其他路由器。该过程需要log(m)个有步骤,每个步骤均传输该m个数据包。在图7中(c)所示,假定路由器R0接收到8个从其他路由器组传输过来的数据包。在第一个单播步骤,路由器R0传输8个数据包至R4;在第二个单播步骤,路由器R0及R4分别传输8个数据包至R2及R6。在第三个单播步骤,路由器R0,R2,R4,R6分别传输8个数据包至R1,R3,R5及R7
图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个同组的路由器;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)将消息从vi将数据包组播到Di中的所有路由器,其中vi收到从r发送来m个数据包。
本申请实施例中,私密全对全广播中每个路由器传输一个不同的数据包到所有网络中的其他路由器。在GPA2A私密全对全广播中,每一个路由器传输g·m·m+(m-1)个数据包到所有其他路由器。每个路由器独立执行一个私密一对全广播。原路由器在第一个单播步骤传输m·g·m/2个数据包到第一个路由器组,这些数据包递归地传输至所有一半的路由器中。在第二个单播步骤,原路由器传输m·g·m/4个数据包至第二个路由器组,这些数据包被递归地传分发至剩余一半路由器组中25%的路由器组。重复上述操作直到每一个路由器组都分发到m个数据包。每一路由器组的m个数据包分发到组内每一个路由器,每个路由器一个数据包。原路由器将m-1个数据包分发至元路由器组中每个路由器。
在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法(RPA2A)包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,Gs∈G,调用forward(r,Gs)将路由器r的(m·g+1)·(m-1)个消息沿着路由器r的组播树分发至路由器r所在的路由器组Gs中的所有路由器:
其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至Rm/2,(m-1)·m·g/2+m/2个数据包由r传输至Rm/2-1;在第一个路由步骤收到数据包的路由器将数据包递归地传输至后m/2个路由器,每个路由器收到m·g/2+1个数据包;
在第二个路由步骤中,路由器r及Rm/2同时发送m·m·g/4+m/4个数据包至Rm/4及R3m/4;重复上述路由步骤直到每个路由器均收到m·g+1个数据包为止;
对所述高阶网络拓扑结构中任一路由器Rv,调用urouter(Rv,D)将Rv中的m·m·g个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,调用forward(Rv’,Gj)将每一个路由器Rv’接收到的m·m个消息分发至路由器组内所有其他路由器。
本申请实施例中,私密全对全广播中每个路由器传输一个不同的数据包到所有网络中的其他路由器。在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个数据包。所述数据包合并的私密全对全广播算法指令对应的广播算法包括:
对网络中每个路由器组Gi,r∈Gi,r为选定的,调用collect(r,Gi)在r收集m3·g+(m-1)·m个消息;
调用scatter(r,Di)将路由器r的消息发布到路由器组Gi内每个路由器中,其中每个路由器接收m2·g+(m-1)个消息,m2·g个消息由Gi外的路由器传输而来,m-1个消息为Gi内其他m-1个路由器所传递到该路由器r的消息;
调用urouter(r,G)将r中的m2·g个数据包通过g个全局通道传输至Gi外g个路由器;
对所述高阶网络拓扑结构中每个路由器r,r∈Gi,将r收到的每一路由器组的m2个消息分发至m个路由器,每个路由器接收m个消息。
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选定为数据包收集树的根节点。在第一个单播周期,R1,R3,R5,…,分别向R0,R2,R4,…传输g·m·(m-1)+(m-1)个数据包。在第二个单播步骤,数据包收集树中每个叶节点向前驱节点传输2·(m-2)·m·g+(m-2)·2个数据包,其中2·(m-2)·m·g为两个路由器经过其他m-2个路由器传输至其他路由器组的数据包数目,(m-2)·2为两个路由器传输至(m-2)个;重复上述操作,在第log(m)个单播周期,Rm/2传输m·m/2·(m/2·g)+m/2·m/2个数据包至R0
如图9中(a)所示,每个路由器组有8个路由器。在第一个单播周期,R1,R3,R5,及R7分别向R0,R2,R4,及R6传输8·28+7个数据包。在第二个单播步骤,数据包收集树中每个叶节点的前驱节点向其自身的前驱传输48·8+12个数据包,其中48x8为两个路由器经过其他6个路由器传输至其他路由器组的数据包数目,12为两个路由器传输至通组内其他6个路由器传输数据;在第三个单播周期,R4传输8x64+16个数据包至R0
在第一个数据分发阶段:在第一个单播步骤,R0传输m/2·m/2·m·g+m/2·m/2个数据包至Rm/2,其中m/2·m/2·m·g表示从R0-Rm/2-1通过Rm/2-Rm-1传输至其他路由器组的数据包,m/2·m/2为从R0-Rm/2-1传输至Rm/2-Rm-1的数据包。
在第二个单播步骤,R0及Rm/2传输3m/4·m/4·m·g+3m/4·m/4个数据包分别传输至Rm/4及R3m/4,其中3m/4·m/4·m·g表示从R0-Rm/4-1通过Rm/4-Rm/2-1,和Rm/2-R3m/4-1通过R3m/4-Rm-1传输至其他路由器组的数据包,3m/4·m/4为从R0-Rm/2-1传输至Rm/2-Rm-1及Rm/2-R3m/4-1传输至R3m/4-Rm-1的数据包。
重复上述处理,直到第log(m/2)个单播步骤所有m/2偶数标号的路由器传输[(m-1)·m·g+(m-1)]个数据包,考虑从R0到R1的带箭头曲线,(m-1)·m·g表示从通组内其他m-1个路由器经过R1传输至其他路由器组的数据包,m-1为从同组内其他m-1个路由器传输至R1的所有m-1个数据包。
在图9中(b)所示,在第一个单播周期,R0传输64x8+16个数据包至R4,其中64x8为R0-R3通过R4-R7传输至其他路由器组的数据包,16为R0-R3传输至R4-R7的数据包。在第二个单播周期,路由器R0及R4分别传输48x8+12个数据包至R2及R6。考虑R0至R2的数据包,48x8表示有R0,R1,R4-R7路由器经过R2及R3传输至其他路由器组的数据包。
在第一个分发阶段完成后,每个路由器保留了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算法的实现流程示意图,假设Gi,Gi+1,…,Gi+g-1为g个直接跟路由器r相连的路由器组,在第一个单播周期,如图10中(a)所示,m·m·g/2个数据包从r传输至Gi+g/2。在第二个单播周期,m·m·g/4个数据包从r直接传输至Gi+g/4,同时Gi+g/2将m·m·g/4个数据包传输至Gi+3g/4。重复上述操作直到第log(g)个单播周期,将m·m个数据包从r传输至Gi。至此,所有g个与r直接相连的路由器组全部收到m·m个数据包。
图10中(b)所示,以每组8个路由器为实例,在第一个单播步骤,路由器r传输8x8x2个数据包至Gi+2。在第二个单播步骤,路由器r及Gi+2分别传输8x8个数据包至Gi+1及Gi+3。在第三个路由步骤,路由器r传输8x8个数据包至Gi
当某一路由器r收到m·m个其他路由器组发送过来的数据包时,立刻将这些数据包分发至同组内m个路由器。我们以R0为例来介绍该分发算法。在第一个单播步骤,r将m·m/2个数据包转发至Rm/2。在第二个单播步骤,路由器R0及Rm/2分别将m·m/4个数据包转发至Rm/4及R3m/4。继续上述分发操作,直到所有所有路由器均收到m个数据包。
如图9中(c)所示,以R2作为分发操作的原路由器。在第一个单播步骤,路由器R2分发4x8个数据包至R4;在第二个单播步骤,路由器R2及R4分别分发2x8个数据包至R1和R6;在路由步骤3,R1,R2,R4及R6分别传输8个数据包至R0,R3,R5,及R7
基于前述的实施例,本申请实施例提供一种广播装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
本申请实施例提供一种广播装置,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,包括:
第一确定模块,用于基于获取的数据包确定广播指令;
第二确定模块,用于基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;
广播模块,用于基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。
在一些实施例中,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,其中,vi收到从r发送来的数据包。
在一些实施例中,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:
确定G中的所有路由器组的数量;
在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;
若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c1;在r调用deliver(r,G’),且在c1调用deliver(c1,G”);
若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c1;在c1调用deliver(c1,G’),且在r调用deliver(r,G”)。
在一些实施例中,所述调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2
若vi在低标号子集D1中,将vi的消息传输至高标号子集D2中标号最低的路由器v2;在v2调用forward(v2,D2),且在vi调用forward(vi,D1);
若vi在在D2中,这将vi的消息传输至D1中标号最高的路由器v1;在v1处调用forward(v1,D1),并在vi处调用forward(vi,D2)。
在一些实施例中,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,路由器组Gs∈G,Gs的路由器集合为Di,调用forward(r,Gs)将路由器r的消息传输至Gs中的所有路由器;
对网络中任一路由器Rv,调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,路由器组Gj∈G调用forward(Rv’,Gj)将每一组Rv’接收到的g·m个消息组播至路由器组内所有其他路由器。
在一些实施例中,所述调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2,其中,D1含标号小的g/2个路由器,D2含标号大得g/2个路由器;
在Rv调用urouter(Rv,D1)和在c2调用urouter(c2,D2-{c2}),其中,c2是D2中标号最小的路由器。
在一些实施例中,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对于每一个路由器r∈Gi,Gi∈G,调用collect(r,Gi)传输r的消息至路由器组Gi中的每一个路由器;
对每一个路由器组Gi,Gi路由器组包括路由器Di,调用scatter(r,Di)收集在选定的路由器r中的消息分发到Gi中的每一个路由器;
对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;
对于高阶网络拓扑结构中任何路由器r,r∈Gj,Gj∈G,将r收到的m个消息传输至Gj中的所有其他路由器。
在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合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个同组的路由器;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)将消息从vi将数据包组播到Di中的所有路由器,其中vi收到从r发送来m个数据包。
在一些实施例中,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,Gs∈G,调用forward(r,Gs)将路由器r的(m·g+1)·(m-1)个消息沿着路由器r的组播树分发至路由器r所在的路由器组Gs中的所有路由器:
其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至Rm/2
(m-1)·m·g/2+m/2个数据包由r传输至Rm/2-1;在第一个路由步骤收到数据包的路由器将数据包递归地传输至后m/2个路由器,每个路由器收到m·g/2+1个数据包;
在第二个路由步骤中,路由器r及Rm/2同时发送m·m·g/4+m/4个数据包至Rm/4及R3m/4;重复上述路由步骤直到每个路由器均收到m·g+1个数据包为止;
对所述高阶网络拓扑结构中任一路由器Rv,调用urouter(Rv,D)将Rv中的m·m·g个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,调用forward(Rv’,Gj)将每一个路由器Rv’接收到的m·m个消息分发至路由器组内所有其他路由器。
在一些实施例中,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法包括:
对网络中每个路由器组Gi,r∈Gi,r为选定的,调用collect(r,Gi)在r收集m3·g+(m-1)·m个消息;
调用scatter(r,Di)将路由器r的消息发布到路由器组Gi内每个路由器中,其中每个路由器接收m2·g+(m-1)个消息,m2·g个消息由Gi外的路由器传输而来,m-1个消息为Gi内其他m-1个路由器所传递到该路由器r的消息;
调用urouter(r,G)将r中的m2·g个数据包通过g个全局通道传输至Gi外g个路由器;
对所述高阶网络拓扑结构中每个路由器r,r∈Gi,将r收到的每一路由器组的m2个消息分发至m个路由器,每个路由器接收m个消息。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的广播方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例中提供的广播方法中的步骤。
本申请实施例提供一种电子设备;图11为本申请实施例提供的电子设备的组成结构示意图,如图11所示,所述电子设备600包括:一个处理器601、至少一个通信总线602、用户接口603、至少一个外部通信接口604、存储器605。其中,通信总线602配置为实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏,外部通信接口604可以包括标准的有线接口和无线接口。所述处理器601配置为执行存储器中存储的广播方法的程序,以实现以上述实施例提供的广播方法中的步骤。
以上显示设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请计算机设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种广播方法,其特征在于,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,所述方法包括:
基于获取的数据包确定广播指令;
基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;
基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。
2.根据权利要求1所述的方法,其特征在于,所述广播指令包括:组优先一对全部的全对全广播指令,所述组优先一对全部的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对每一个路由器r∈G,调用deliver(r,G)将数据包从r传输至G中的所有路由器组;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,其中,vi收到从r发送来的数据包。
3.根据权利要求2所述的方法,其特征在于,所述调用deliver(r,G)将数据包从r传输至G中的所有路由器组,包括:
确定G中的所有路由器组的数量;
在G中的所有路由器组数量大于2个的情况下,将G划分成两个大小相同的子集G’及G”;
若r在标号低的路由器组子集G’,将消息由r传输至G”中标号最低的路由器组c1;在r调用deliver(r,G’),且在c1调用deliver(c1,G”);
若r在标号高的路由器组子集G”,将消息由r传输至G’中标号最高的路由器组c1;在c1调用deliver(c1,G’),且在r调用deliver(r,G”)。
4.根据权利要求3所述的方法,其特征在于,所述调用forward(vi,Di)由vi将消息组播到Di中的所有路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2
若vi在低标号子集D1中,将vi的消息传输至高标号子集D2中标号最低的路由器v2;在v2调用forward(v2,D2),且在vi调用forward(vi,D1);
若vi在在D2中,这将vi的消息传输至D1中标号最高的路由器v1;在v1处调用forward(v1,D1),并在vi处调用forward(vi,D2)。
5.根据权利要求1所述的方法,其特征在于,所述广播指令包括:路由器优先一对全广播指令,所述路由器优先一对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,路由器组Gs∈G,Gs的路由器集合为Di,调用forward(r,Gs)将路由器r的消息传输至Gs中的所有路由器;
对网络中任一路由器Rv,调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,路由器组Gj∈G调用forward(Rv’,Gj)将每一组Rv’接收到的g·m个消息组播至路由器组内所有其他路由器。
6.根据权利要求5所述的方法,其特征在于,所述调用urouter(Rv,D)将Rv中的m个消息组播至与其直接相连的其他路由器组中的g个路由器,包括:
确定Di中路由器的数量;
在Di中路由器的数量大于2的情况下,将Di划分成两个相等的子集D1及D2,其中,D1含标号小的g/2个路由器,D2含标号大得g/2个路由器;
在Rv调用urouter(Rv,D1)和在c2调用urouter(c2,D2-{c2}),其中,c2是D2中标号最小的路由器。
7.根据权利要求1所述的方法,其特征在于,所述广播指令包括:消息合并的全对全广播指令,所述消息合并的全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对于每一个路由器r∈Gi,Gi∈G,调用collect(r,Gi)传输r的消息至路由器组Gi中的每一个路由器;
对每一个路由器组Gi,Gi路由器组包括路由器Di,调用scatter(r,Di)收集在选定的路由器r中的消息分发到Gi中的每一个路由器;
对所述高阶网络拓扑结构中的任一路由器r,调用urouter(r,G)将路由器r的m个消息传输至G中与r直接相连的g=m/2个路由器组;
对于高阶网络拓扑结构中任何路由器r,r∈Gj,Gj∈G,将r收到的m个消息传输至Gj中的所有其他路由器。
8.根据权利要求1所述的方法,其特征在于,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合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个同组的路由器;
对每一个路由器组Gi∈G,Gi的路由器集合为Di,调用forward(vi,Di)将消息从vi将数据包组播到Di中的所有路由器,其中vi收到从r发送来m个数据包。
9.根据权利要求1所述的方法,其特征在于,所述广播指令包括:组优先一对全广播的私密全对全广播指令,所述组优先一对全广播的私密全对全广播指令对应的广播算法包括:
基于路由器组的标号将所有路由器组按负向优先的原则进行排序,得到路由器集合G;
对任一路由器r∈Gs,Gs∈G,调用forward(r,Gs)将路由器r的(m·g+1)·(m-1)个消息沿着路由器r的组播树分发至路由器r所在的路由器组Gs中的所有路由器:
其中,在第一个路由步骤中,m·m·g/2+m/2个数据包由r传输至Rm/2,(m-1)·m·g/2+m/2个数据包由r传输至Rm/2-1;在第一个路由步骤收到数据包的路由器将数据包递归地传输至后m/2个路由器,每个路由器收到m·g/2+1个数据包;
在第二个路由步骤中,路由器r及Rm/2同时发送m·m·g/4+m/4个数据包至Rm/4及R3m/4;重复上述路由步骤直到每个路由器均收到m·g+1个数据包为止;
对所述高阶网络拓扑结构中任一路由器Rv,调用urouter(Rv,D)将Rv中的m·m·g个消息组播至与其直接相连的其他路由器组中的g个路由器;
对于任何路由器Rv’∈Gj,调用forward(Rv’,Gj)将每一个路由器Rv’接收到的m·m个消息分发至路由器组内所有其他路由器。
10.根据权利要求1所述的方法,其特征在于,所述广播指令包括:数据包合并的私密全对全广播算法指令,所述数据包合并的私密全对全广播算法指令对应的广播算法包括:
对网络中每个路由器组Gi,r∈Gi,r为选定的,调用collect(r,Gi)在r收集m3·g+(m-1)·m个消息;
调用scatter(r,Di)将路由器r的消息发布到路由器组Gi内每个路由器中,其中每个路由器接收m2·g+(m-1)个消息,m2·g个消息由Gi外的路由器传输而来,m-1个消息为Gi内其他m-1个路由器所传递到该路由器r的消息;
调用urouter(r,G)将r中的m2·g个数据包通过g个全局通道传输至Gi外g个路由器;
对所述高阶网络拓扑结构中每个路由器r,r∈Gi,将r收到的每一路由器组的m2个消息分发至m个路由器,每个路由器接收m个消息。
11.一种广播装置,其特征在于,应用于高阶网络拓扑结构,所述高阶网络拓扑结构包括:多个路由器组,任意两个路由器组之间存在至少一个连接,任意路由器组中的任意两个路由器之间存在至少一个连接,包括:
第一确定模块,用于基于获取的数据包确定广播指令;
第二确定模块,用于基于所述广播指令与预先存储的广播指令与广播算法之间的对应关系,确定目标广播算法;
广播模块,用于基于所述目标广播算法对所述数据包在所述高阶网络拓扑结构中进行广播。
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行如权利要求1至10任意一项所述的广播方法。
13.一种存储介质,其特征在于,该存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现如权利要求1至10中任一项所述的广播方法。
CN202210509164.1A 2022-05-10 2022-05-10 广播方法、装置、电子设备及存储介质 Pending CN115987702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210509164.1A CN115987702A (zh) 2022-05-10 2022-05-10 广播方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210509164.1A CN115987702A (zh) 2022-05-10 2022-05-10 广播方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115987702A true CN115987702A (zh) 2023-04-18

Family

ID=85961729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210509164.1A Pending CN115987702A (zh) 2022-05-10 2022-05-10 广播方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115987702A (zh)

Similar Documents

Publication Publication Date Title
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
US7864792B2 (en) Load balancing for communications within a multiprocessor computer system
EP2613479B1 (en) Relay device
JPH09153892A (ja) ワームホール・ネットワークにおけるメッセージ送達方法およびシステム
US20090046727A1 (en) Routing with virtual channels
US7773616B2 (en) System and method for communicating on a richly connected multi-processor computer system using a pool of buffers for dynamic association with a virtual channel
CN104335537A (zh) 用于层2多播多路径传送的系统和方法
Peng et al. A novel approach to optical switching for intradatacenter networking
CN108234310B (zh) 多层次互连网络、自适应路由方法及路由设备
CN112084027B (zh) 片上网络数据传输方法、装置、片上网络、设备及介质
Chen et al. NFV middlebox placement with balanced set-up cost and bandwidth consumption
CN103873367B (zh) 路由数据分组以及确定路由的方法和装置、胖树网络
MiSiC et al. Communication aspects of the star graph interconnection network
CN113162963A (zh) 支持灵活的数据缩减操作的网络元件
CN104508651A (zh) 镜像非对称集群多处理器系统中的连接网
CN109861925A (zh) 数据传输方法、相关装置及网络
US9185026B2 (en) Tagging and synchronization for fairness in NOC interconnects
CN109672621A (zh) 一种为vpn业务选择传输路径的方法和设备
Samadi et al. Accelerating cast traffic delivery in data centers leveraging physical layer optics and SDN
CN117135059B (zh) 一种网络拓扑结构、构造方法、路由算法、设备及介质
CN110324249B (zh) 一种蜻蜓网络架构及其组播路由方法
CN115987702A (zh) 广播方法、装置、电子设备及存储介质
US20120023260A1 (en) Diagonally enhanced concentrated hypercube topology
CN111201756A (zh) 直接互连网关
Cohen et al. Optimized broadcasting and multicasting protocols in cut-through routed networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination