分布式架构下的硬件组播方法和硬件组播装置的制作方法

文档序号:7918705阅读:271来源:国知局
专利名称:分布式架构下的硬件组播方法和硬件组播装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及分布式架构下的硬件组播方法和硬
件组播装置。
背景技术
随着网络的发展和对设备功能性要求的提高,集中式的设备往往难以满 足实际的需求,因此分布式处理架构应运而生。比如,多个通信设备(如路 由器、交换机)堆叠起来,每一个通信设备可以称为一个节点;或者,通信 设备本身采用分布式架构,由多个业务板共同提供数据处理功能,每一个业 务板可以称为一个节点;或者,通信设备的每一个业务板上采用多处理器进 行业务处理,那么每一个处理器也可以成为一个节点。
在分布式架构下,各节点之间需要进行控制层面的通信, 一般基于 扩展的IPC (Inter-Process Communication,进禾呈间通信)实现;图1显 示了分布式架构节点间通信的模型示意图。
最初的IPC技术是基于单播方式实现的,因此对于需要向多个节点 同时发送报文的情况,IPC是通过内存拷贝为每个目标节点复制一份报文 并分别进行单播发送;换句话说,是采用循环单播实现节点间的组播通 信。
为了避免循环单播所需要的内存拷贝,以及每份单播报文都占用一 份带宽资源所导致的资源浪费等问题,IPC硬件组播技术应运而生。IPC 硬件组播技术通过为每一个组播会话下发一个硬件组播资源,能够简单 高效的实现节点间的组播通信,如图2所示。
但是在实际应用中,IPC硬件组播技术却受到诸多局限
首先,硬件组播资源是有限的,比如硬件VLAN (Virtual Local Area Network,虚拟局域网)资源只有几千个,这个数量显然难以满足节点间 通信各种业务的要求;
同时,由于硬件组播资源的分配是通过将组播会话的组播组成员下 发到硬件芯片中实现的,这一过程需要相当长的时间,因此硬件组播资
源分配过程的存在无疑降低了其组播会话的效率;特别是同时进行多个 硬件组播资源分配的情况下,由于节点处理能力有限,分配过程将消耗 更多的时间,因此将导致相应组播会话效率更为明显的降低。由于节点 间通信是分布式架构的一项关键技术,其效率直接影响到分布式架构的 整体性能,因此对每一组播会话分配一次硬件组播资源也必然导致分布 式架构整体性能的下降。

发明内容
本发明的实施例旨在提供一种分布式架构下的硬件组播方案,以实现硬 件组播资源的有效节约和组播效率的提高。
为实现上述目的,本发明的实施例提供了一种分布式架构下的硬件组播 方法,适用于分布式架构的节点, 一节点启动一组播会话的组播报文下发时, 执行以下步骤
步骤S1:识别是否存在为相同目的节点提供硬件组播支持的硬件组 播资源,是则执行步骤S2,否则执行步骤S3;
步骤S2:直接将组播报文下发到该硬件组播资源上进行组播发送;
歩骤S3:分配新的硬件组播资源,并将组播报文下发到该新的硬件 组播资源上进行组播发送。
本发明的实施例还提供了一种分布式架构下的硬件组播装置,适用 于分布式架构的节点,包括组播会话单元,用于启动一组播会话的组播 报文下发;组播比较单元,与组播会话单元连接,用于接受组播会话单元启 动组播会话的触发,识别是否存在为相同目的节点提供硬件组播支持的硬 件组播资源;组播分配单元,与组播比较单元连接,用于接受组播比较 单元在不存在相同目的节点的情况下的触发,分配新的硬件组播资源; 组播下发单元,与组播会话单元、组播比较单元和组播分配单元连接, 用于接受组播比较单元在存在相同目的节点的情况下的触发,直接将组 播报文下发到该硬件组播资源上进行组播发送;或者,接受组播分配单
元的触发,将组播报文下发到新的硬件组播资源上进行组播发送。
由上述技术方案可知,本发明的实施例通过共享硬件组播资源,具有以 下有益效果
1、 节约了有限的硬件组播资源,从而能够为更多的组播会话提供支持;
2、 减少了对硬件组播资源的分配,从而提高了硬件组播效率。 通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、
特征和优点将更加明显。


图1为现有技术分布式架构进行节点间通信的模型示意图2为现有技术实现节点间硬件组播通信的模型示意图3为本发明提供的分布式架构下的硬件组播方法一实施例的流程图4为本发明提供的分布式架构下的硬件组播方法一改进实施例的流程
图5A、 5B为本发明提供的方法中,目的节点改变时实施例的流程图; 图6为本发明提供的方法中,组播会话结束时一实施例的流程图; 图7为本发明提供的分布式架构下的硬件组播装置一实施例的框图; 图8为本发明提供的分布式架构下的硬件组播装置较佳实施例的框图; 图9A、 9B分别为本发明提供的分布式架构下的硬件组播装置更佳实施 例的框图。
具体实施例方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。
本发明的主要构思在于通过共享硬件组播资源,来解决硬件组播资 源紧张和频繁分配硬件组播资源所存在的组播效率降低的问题。
本发明所提供的技术方案适用于分布式架构的一节点,每一个节点都 包括软件层面和硬件层面,软件层面通过IPC对组播会话进行管理,分配硬
件组播资源,以及将组播报文下发到相应的硬件组播资源上;硬件层面为提
供硬件组播资源的硬件芯片,根据IPC下发的会话组播组成员,将相应的组 播报文以硬件组播的方式发送给各组播组成员。其中,节点IPC根据目的节
点进行组播管理的特点,保证了本发明硬件组播资源的共享的可行性。 下面将详细介绍本发明所提供的分布式架构下的硬件组播方法。
如图3所示,显示了本发明所提供的分布式架构下的硬件组播方法 -实施例,节点启动一组播会话的组播报文下发时,执行以下步骤;
歩骤Sl:识别是否存在为相同目的节点提供硬件组播支持的硬件组 播资源;
举例来说,如果节点a与节点b、 c进行组播会话l,与节点b、 c、 d进行组播会话2,那么,为了实现上述会话,节点a需要分配硬件组播 资源1支持组播会话1,分配硬件组播资源2支持组播会话2。需要指出 的是,这里硬件组播资源和组播会话的序号是为了区分描述而设定,在 实际应用中,硬件组播资源的序号和组播会话的序号是随机分配的,当 节点为一组播会话分配了相应的硬件组播资源后,就会在软件层面记录 该组播会话与该硬件组播资源的对应关系,以保证后续的组播报文下发。
这样,当节点a需要与节点b、 c进行另外一个组播会话3时,节点 a对已记录的硬件组播资源进行查询,识别是否存在同样为节点b、 c提 供硬件组播支持的硬件组播资源;类似的,当节点a需要与节点b、 c、 e 进行再一个组播会话4时,节点a同样对已记录的硬件组播资源进行查 询,识别是否存在同样为节点b、 c、 e提供硬件组播支持的硬件组播资 源。
步骤S2:是则,直接将组播报文下发到所述硬件组播资源上进行组 播发送;
按照上面提供的例子,节点a能够找到己存在硬件组播资源1,该硬 件组播资源已经为节点b、 c提供硬件组播支持;则不再为组播会话3重 新分配硬件组播资源,而是将组播会话3的组播报文直接下发到硬件组 播资源1上,向节点b、 C进行组播发送;
可以看出,当存在为相同目的节点提供硬件组播支持的硬件组播资
源时,通过对该硬件组播资源的共享,可以节约一硬件组播资源,同时 由于避免了一次硬件组播资源的分配过程,因此该硬件组播的效率也会
相应提高。
步骤S3:否则,分配新的硬件组播资源,并将组播报文下发到所述新的 硬件组播资源上进行组播发送;
按照上面的例子,节点a找不到为节点b、 c、 e提供硬件组播支持的硬 件组播资源,因此需要分配新的硬件组播资源实现报文的组播发送;
具体的硬件组播资源分配方案可以依照现有技术进行,在此不再赘述。
通过上述步骤S1 S3可以看出,通过硬件组播资源的共享,对于组 播组成员相同,即具有相同的目的节点的情况,只需进行一次硬件组播 资源的分配,有效的节约了硬件组播资源,同时显著的提高了硬件组播
较佳的,为了进一步节约硬件组播资源,当组播组成员仅包括一个目的 节点(往往是在组播组成员中,仅有一个目的节点被激活的情况下)时,直 接进行单播发送;即步骤Sl之前还包括步骤S0:识别组播会话目的节点的 数目,如果目的节点只有一个,则单播发送该组播报文;如果目的节点大于 一个,则执行步骤S1,如图4所示。
在此实施例中,由于目的节点的变化导致一个组播报文改为单播发 送,因此如果其硬件组播资源同时为其他的组播报文提供服务,则保持 该硬件组播资源;相应的,如果其硬件组播资源没有为其他的组播报文 提供服务,则该硬件组播资源就空置下来,这种情况下,为了有效利用 硬件组播资源,应当随即对其进行释放。
根据上述提供的实施例(参见图3和图4),如果节点启动一组播会话 的组播报文下发后,其组播组成员一直未发生改变,那么后续的组播报文就 可以通过共享的或者新分配的硬件组播资源进行组播发送,无需进一步的介 入处理。
但是,在实际应用中,组播组成员往往存在增加、减少等情况,即
在组播通信过程中,目的节点可能处于变化的状态,比如节点a开始需 要与节点b、 c进行组播会话5时,而组播进行过程中,将节点d增加为 组播会话5的组播组成员。
按照现有技术,由于每一个组播会话对应一个硬件组播资源,因此 可以通过直接对组播会话5的组播组成员进行更新实现对会话组播组成 员变更的支持;由于需要进行硬件改写,因此虽然不会占用新的硬件组 播资源,但效率同样较低。
而基于本发明提供的技术方案,则可以通过述组播会话监控,当组 播会话的目的节点发生改变时,重新执行上述步骤S1 S3,或者重新执 行上述步骤S0 S3实现。
以重新执行步骤S0 S3为例
当目的节点发生改变时,识别变更后的目的节点数目; 如果目的节点只有一个,则单播发送所述组播报文,释放原有的硬件 组播资源;
如果目的节点大于1个,则重新识别是否存在组播组成员与变更后目 的节点相同的组播会话;
存在则直接将变更组播组成员后的组播报文下发到具有相同目的节 点的组播会话的硬件组播资源上进行组播发送;
不存在则重新分配新的硬件组播资源,并将组播报文下发到该新的 硬件组播资源上进行组播发送。
当然,为了有效利用硬件组播资源,当重新分配了新的硬件组播资 源后,如果原有的硬件组播资源(即目的节点改变之前为该组播会话提 供支持的硬件组播资源)没有为其他组播会话提供支持,则随即释放组播 会话原有的硬件组播资源是一个较佳的实施例,如图5A所示。
进一步的,在上述图5A所示实施例中,如果不存在组播组成员与变 更后目的节点相同的组播会话,就需要进行硬件组播资源的重新建立和 组播组成员的重新下发,以及原有硬件组播资源的释放,这一过程同样 会对组播效率产生一定的影响。因此,在上述实施例重新分配新的硬件组播资源之前,可以执行以 下步骤识别其硬件组播资源是否为其他组播会话提供硬件组播支持, 是则重新分配新的硬件组播资源,否则更新其硬件组播资源的组播组成 员,并将后续的组播报文下发到更新后的硬件组播资源上进行组播发送,
如图5B所示。
可以看出,如果硬件组播资源仅被进行更新的组播会话单独使用, 那么可以避免新硬件组播资源分配和原有硬件组播资源释放的过程,从 而有效利用当前的硬件组播资源,进一步的提高组播效率。
另外,无论在组播会话发送过程中是否发生过目的节点的改变,任 何一个组播会话都有其生命周期,则为了及时释放硬件组播资源,实现 硬件组播资源的有效利用,本发明提供的分布式架构下的硬件组播方法还
包括当一组播会话结束时,识别其硬件组播资源是否为其他组播会话 提供硬件组播支持,是则仅释放该组播会话,否则同时释放该组播会话 和该硬件组播资源,如图6所示。
下面,通过一个具体的实施例对本发明提供的分布式架构下的硬件组 播方法加以进一步的描述。假设分布式架构下有节点a:
(1) 节点a与节点b进行组播会话l,与节点b进行组播会话2: 由于组播会话1和2的组播组成员都仅为节点b,因而组播会话1和
2发包时,IPC采用单播的形式发送组播报文;
(2) 当节点c激活时,作为新的组播组成员加入了组播会话1和2: 由于组播会话1和2的组播组成员都为〈b, O集合,因而节点a为
这两个组播会话分配一个硬件组播资源;组播会话1和2发包时,IPC采
用该硬件组播资源进行组播发送;
(3 )当节点d作为新的组播组成员加入了组播会话2: 由于组播会话1的组播组成员为〈b, O集合,组播会话1的组播组 成员为〈b, c, (1>的集合,IPC进行组播会话2发包时,发现目的节点改 变,因而为组播会话2分配新的硬件组播资源;由于原来〈b, O的硬件组播资源还在使用中,因而不能删除。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计 算机可读取存储介质中,该程序在一节点启动一组播会话的组播报文下发 时,包括如下步骤
步骤Sl:识别是否存在为相同目的节点提供硬件组播支持的硬件组 播资源,是则执行步骤S2,否则执行步骤S3;
步骤S2:直接将组播报文下发到所述硬件组播资源上进行组播发送;
歩骤S3:分配新的硬件组播资源,并将组播报文下发到所述新的硬 件组播资源上进行组播发送;
所述的存储介质包括ROM/RAM ( Read Only Memory/ Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。
下面将详细介绍本发明所提供的分布式架构下的硬件组播装置。 如图7所示,显示了本发明所提供的分布式架构下的硬件组播装置
100—实施例,包括
组播会话单元110,用于启动一组播会话的组播报文下发; 本领域普通技术人员可以了解,组播会话单元110作为组播会话的软件
控制模块,其记录了为组播会话分配的硬件组播资源信息、组播会话的组播
组成员信息以及组播会话的进程等内容。
组播比较单元120,与组播会话单元110连接,用于接受组播会话单元
110启动组播会话的触发,识别是否存在为相同目的节点提供硬件组播支
持的硬件组播资源;
组播分配单元130,与组播比较单元120连接,用于接受组播比较
单元120在不存在相同目的节点的情况下的触发,分配新的硬件组播资
源;
组播下发单元140,与组播会话单元110、组播比较单元120和组播
分配单元130连接,用于接受组播比较单元120在存在相同目的节点的 情况下的触发,直接将组播会话单元110的组播报文下发到该硬件组播 资源上进行组播发送;或者,接受组播分配单元130的触发,将组播会 话单元110的组播报文下发到新的硬件组播资源上进行组播发送。
可以看出,本发明分布式架构下的硬件组播装置100提供了硬件组 播资源的共享机制,对于组播组成员相同,即具有相同的目的节点的情 况,只需进行一次硬件组播资源的分配,有效的节约了硬件组播资源, 同时显著的提高了硬件组播效率。
较佳的,为了进一步节约硬件组播资源,当组播组成员仅包括一个 目的节点(往往是在组播组成员中,仅有一个目的节点被激活的情况下) 时,可以直接进行单播发送。
如图8所示,本发明提供的分布式架构下的硬件组播装置100还可 以包括单播下发单元150,设置在组播会话单元110和组播比较单元120 之间,用于识别组播会话目的节点的数目,如果目的节点只有一个,则单播 发送该组播报文;如果目的节点大于一个,则触发组播比较单元120。
另外,由于任何一个组播会话都有其生命周期,为了及时释放硬件组 播资源,实现硬件组播资源的有效利用,本发明提供的分布式架构下的 硬件组播装置100还可以包括组播释放单元160,与组播会话单元110连 接,用于当组播会话结束时,识别其硬件组播资源是否为其他组播会话 提供硬件组播支持,是则仅释放该组播会话,否则同时释放该组播会话 和该硬件组播资源。
更佳的,如果节点启动一组播会话的组播报文下发后,其组播组成员 一直未发生改变,那么后续的组播报文就可以通过共享的或者新分配的 硬件组播资源进行组播发送,无需进一步的介入处理,上述实施例提供 的装置足以胜任。
但为了支持组播组成员所存在的增加、减少等情况,如图9A所示的 实施例,本发明提供的分布式架构下的硬件组播装置100还可以包括组播
监控单元170,设置在组播会话单元110与组播比较单元120之间,用于监
控组播会话的目的节点,当组播会话的目的节点发生改变时,重新触发
组播比较单元120;
当然,如果分布式架构下的硬件组播装置100中设置有单播下发单元 150,则组播监控单元170应该设置在组播会话单元110与单播下发单元150
之间,用于监控组播会话的目的节点,当组播会话的目的节点发生改变 时,重新触发单播下发单元150,如图9B所示。
在以上两个实施例中,触发组播比较单元120或单播下发单元150后, 如果发生了硬件组播资源的重新分配或者转移的情况,那么在原有的硬件组 播资源未对其他组播会话提供硬件组播支持的情况下,应当释放该组播会 话原有的硬件组播资源,以实现硬件组播资源的有效利用。
进一歩的,在以上两个实施例中,如果不存在组播组成员与变更后目 的节点相同的组播会话,就需要进行硬件组播资源的重新建立和组播组 成员的重新下发,以及原有硬件组播资源的释放,这一过程同样会对组 播效率产生一定的影响;为了最大程度的提高效率,本发明提供的分布 式架构下的硬件组播装置100还可以包括组播更新单元180。
该组播更新单元180分别与组播监控单元170、组播比较单元120、组 播分配单元130和组播下发单元140连接,用于接受组播比较单元120在 不存在相同目的节点的情况下的触发,识别其硬件组播资源是否为其他 组播会话提供硬件组播支持,是则触发组播分配单元130,否则更新其硬 件组播资源的组播组成员,并触发组播下发单元140将后续的组播报文 下发到更新后的硬件组播资源上进行组播发送。
这样,如果硬件组播资源仅被进行更新的组播会话单独使用,那么 可以避免新硬件组播资源分配和原有硬件组播资源释放的过程,从而有 效利用当前的硬件组播资源,进一步的提高组播效率。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而 不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细
节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
1.一种分布式架构下的硬件组播方法,适用于分布式架构的节点,其特征在于,一节点启动一组播会话的组播报文下发时,执行以下步骤步骤S1识别是否存在为相同目的节点提供硬件组播支持的硬件组播资源,是则执行步骤S2,否则执行步骤S3;步骤S2直接将组播报文下发到所述硬件组播资源上进行组播发送;步骤S3分配新的硬件组播资源,并将组播报文下发到所述新的硬件组播资源上进行组播发送。
2. 根据权利要求1所述的分布式架构下的硬件组播方法,其特征在 于,所述步骤S1之前还包括步骤S0:识别所述组播会话目的节点的数目, 如果目的节点只有一个,则单播发送所述组播报文;如果目的节点大于一个, 则执行步骤S1。
3. 根据权利要求1或2所述的分布式架构下的硬件组播方法,其特征在 于,监控所述组播会话,当所述组播会话的目的节点发生改变时,重新执 行上述步骤S1 S3或步骤S0 S3。
4. 根据权利要求3所述的分布式架构下的硬件组播方法,其特征在于, 所述步骤S3还包括如果所述原有的硬件组播资源未对其他组播会话提供 硬件组播支持,则释放所述组播会话原有的硬件组播资源。
5. 根据权利要求3所述的分布式架构下的硬件组播方法,其特征在于, 所述步骤S3之前还包括识别其硬件组播资源是否为其他组播会话提供 硬件组播支持,是则执行步骤S3,否则更新其硬件组播资源的组播组成 员,并将后续的组播报文下发到所述更新后的硬件组播资源上进行组播 发送。
6. 根据权利要求1或2所述的分布式架构下的硬件组播方法,其特征 在于,当所述组播会话结束时,识别其硬件组播资源是否为其他组播会 话提供硬件组播支持,是则仅释放所述组播会话,否则同时释放所述组 播会话和所述硬件组播资源。
7. —种分布式架构下的硬件组播装置,适用于分布式架构的节点, 其特征在于,包括组播会话单元,用于启动一组播会话的组播报文下发; 组播比较单元,与所述组播会话单元连接,用于接受所述组播会话单元启动组播会话的触发,识别是否存在为相同目的节点提供硬件组播支持的硬件组播资源;组播分配单元,与所述组播比较单元连接,用于接受所述组播比较 单元在不存在相同目的节点的情况下的触发,分配新的硬件组播资源;组播下发单元,与所述组播会话单元、所述组播比较单元和所述组 播分配单元连接,用于接受所述组播比较单元在存在相同目的节点的情 况下的触发,直接将组播报文下发到所述硬件组播资源上进行组播发送; 或者,接受所述组播分配单元的触发,将组播报文下发到所述新的硬件 组播资源上进行组播发送。
8. 根据权利要求7所述的分布式架构下的硬件组播装置,其特征在 于,还包括单播下发单元,设置在所述组播会话单元和组播比较单元之 间,用于识别所述组播会话目的节点的数目,如果目的节点只有一个,则单 播发送所述组播报文;如果目的节点大于一个,则触发所述组播比较单元。
9. 根据权利要求7或8所述的分布式架构下的硬件组播装置,其特征在 于,还包括组播监控单元,设置在所述组播会话单元与组播比较单元或单播 下发单元之间,用于监控所述组播会话的目的节点,当所述组播会话的目 的节点发生改变时,重新触发所述组播比较单元或单播下发单元。
10. 根据权利要求9所述的分布式架构下的硬件组播装置,其特征在于, 还包括组播更新单元,分别与所述组播监控单元、所述组播比较单元、组播 分配单元和组播下发单元连接,用于接受所述组播比较单元在不存在相同 目的节点的情况下的触发,识别其硬件组播资源是否为其他组播会话提 供硬件组播支持,是则触发所述组播分配单元,否则更新其硬件组播资源 的组播组成员,并触发所述组播下发单元将后续的组播报文下发到所述 更新后的硬件组播资源上进行组播发送。
11. 根据权利要求7或8所述的分布式架构下的硬件组播装置,其特征 在于,还包括组播释放单元,与所述组播会话单元连接,用于当所述组播 会话结束时,识别其硬件组播资源是否为其他组播会话提供硬件组播支 持,是则仅释放所述组播会话,否则同时释放所述组播会话和所述硬件组播资源。
全文摘要
本发明公开了一种分布式架构下的硬件组播方法和硬件组播装置,适用于分布式架构的一节点。该节点启动一组播会话的组播报文下发时,执行以下步骤识别是否存在为相同目的节点提供硬件组播支持的硬件组播资源;是则,直接将组播报文下发到该硬件组播资源上进行组播发送;否则,分配新的硬件组播资源,并将组播报文下发到该新的硬件组播资源上进行组播发送。通过本发明,节约了有限的硬件组播资源,从而能够为更多的组播会话提供支持;以及,减少了对硬件组播资源的分配,从而提高了硬件组播效率。
文档编号H04L29/08GK101340306SQ200810146810
公开日2009年1月7日 申请日期2008年8月25日 优先权日2008年8月25日
发明者乔会来, 盖建华 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1