分布式架构下实现硬件组播的方法、装置、分布式系统和路由设备的制作方法

文档序号:7692208阅读:199来源:国知局
专利名称:分布式架构下实现硬件组播的方法、装置、分布式系统和路由设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式架构下实现硬件组播的 方法和装置,还涉及一种分布式系统和一种路由设备。
背景技术
随着网络的发展和对设备功能性要求的提高,集中式的设备往往难以满 足实际的需求,因此分布式处理架构应运而生。比如,多个通信设备(如路 由器、交换机)堆叠起来,每一个通信设备可以称为一个节点;或者,通信 设备本身采用分布式架构,由多个业务板共同提供数据处理功能,每一个业 务板可以称为一个节点;或者,通信设备的每一个业务板上采用多处理器进 行业务处理,那么每一个处理器也可以成为一个节点。在分布式架构下,各节点之间需要进行控制层面的通信。比如,提 供通信设备业务板间通信的技术被称为板间通信,图1显示了分布式架 构进行板间通信的模型示意图。作为一个具体示例,分布式架构下各节点可以通过板间通信交换芯 片桥接,形成一个全连接拓扑结构,基于扩展的IPC (Inter-Process Communication,进程间通信)实现单播、组播、广播等方式的板间通信 节点的应用模块基于IPC机制将组播报文写入板间通信交换芯片实现其 在节点间的传送,如图2所示。其中,组播可以包括循环单播或者硬件组播等不同的实现方式。对 于硬件组播来说,是板间通信交换芯片根据应用模块配置的组播节点列 表,将组播报文发送给组播组中的各节点。由于链路故障或者节点本身的处理溢出等问题,节点状态可能会在 UP和DOWN之间切换;这种情况下,为了保证硬件组播的可靠进行, 节点的应用模块必须对组播组成员的状态进行感知,并相应进行干预, 指令底层硬件对配置节点列表中的哪些组播组成员实际进行报文的发送,从而保证底层硬件能够将组播报文发送给有效的组播组成员。显然,由于在组播组下一次的配置之前,其成员不会发生变化,那 么在发生成员节点状态变化时,应用模块必须就发生状态变化的节点持 续对底层硬件进行干预,其实现机制复杂,同时其处理资源被大量占用, 影响对其他业务的处理。发明内容本发明的实施例旨在提供一种分布式架构下实现硬件组播的方案,能够 简便、灵活的根据节点状态进行组播组成员的适应性调整,以实现可靠的硬 件组播和节约处理资源。为实现上述目的,本发明的实施例提供了一种分布式架构下实现硬件组 播的方法,适用于各节点通过底层硬件进行通信的分布式架构;该方法包括 以下步骤51、 维护配置节点列表,所述配置节点列表用于记录本节点配置的 组播组成员;52、 维护会话节点列表,该会话节点列表用于根据配置节点列表和 实时检测的节点状态记录有效的组播组成员;53、 根据会话节点列表指令底层硬件进行组播报文发送。 本发明的实施例还提供了一种分布式架构下实现硬件组播的装置,应用于通过底层硬件进行通信的分布式架构节点;该装置分别连接各节 点的应用模块和底层硬件,包括配置节点列表,与该应用模块连接, 用于记录应用模块所配置的组播组成员;会话节点列表,用于记录有效 的组播组成员;链路检测单元,与该配置节点列表和底层硬件连接,用 于根据底层硬件的反馈实时检测节点状态;节点更新单元,与该配置节 点列表、链路检测单元和会话节点列表连接,用于根据配置节点列表和 实时检测的节点状态确定有效的组播组成员并更新会话节点列表;硬件 组播单元,与该应用模块、会话节点列表和底层硬件连接,用于接收应 用模块下发的组播报文,指令所述底层硬件向相应的会话节点列表成员 发送该组播报文。本发明的实施例还提供了一种分布式系统,包括进行通信的分布式 节点;其各节点设有如上所述的分布式架构下实现硬件组播的装置。本发明的实施例还提供了一种路由设备,其采用如上所述的分布式 系统。由上述技术方案可知,本发明的实施例通过分级管理组播组成员,采用 实时更新的会话节点列表,具有以下有益效果无需应用模块的持续干预, 保证了可靠的硬件组播,节省了资源开销。通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、 特征和优点将更加明显。


图1为现有技术分布式架构进行板间通信的模型示意图; 图2为基于IPC实现板间通信的模型示意图;图3为本发明提供的分布式架构下实现硬件组播的方法一实施例的流程图;图4为进行板间通信链路建立的一实施例示意图;图5为图3所示方法中根据节点状态调整会话节点列表的一实施例流程图;图6为图5所示方法中根据硬件广播进行节点状态检测的一实施例示意图;图7为图5所示方法中会话节点列表具体调整的一实施例流程图; 图8本发明提供的方法一具体应用示意图;图9为本发明提供的分布式架构下实现硬件组播的装置一实施例的框图;图10为本发明提供的分布式架构下实现硬件组播的装置另一实施例的 框图;图11为本发明提供的分布式系统一实施例的框图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。首先,本发明提供了一种分布式架构下实现硬件组播的方法,该方法是 用于各节点分布式实现高层应用的全连接拓扑架构,且各节点通过底层硬件 进行通信,如图l或图2所示。需要指出,本发明所提供的实现硬件组播的方法具有通用性,既适合于 各节点分别设置底层硬件,再通过硬件端口进行板间通信的情况,也适合于 底层硬件为桥接分布式架构各节点的板间通信交换芯片,各节点基于IPC机 制通过板间通信交换芯片实现单播、组播以及广播报文的发送。请结合图3,显示了本发明所提供的分布式架构下实现硬件组播的方法 一实施例的流程图,包括以下步骤51、 维护配置节点列表,该配置节点列表用于记录本节点配置的组 播组成员;一般情况下,配置节点列表都由本节点的应用模块根据高层应用的 需要进行配置和更新。需要指出,由于现有技术中底层硬件是根据配置节点列表进行组播 报文发送的,因此一旦发生节点状态变化,就必须通知给节点应用模块进行干预,以保证底层硬件不会向配置节点列表中状态Down的节点进 行报文发送,其实现复杂,极易导致组播失败;以及,应用模块需要保 持这种干预以保证可靠的硬件组播,其处理资源被大量占用。52、 维护会话节点列表,该会话节点列表用于根据配置节点列表和 实时检测的节点状态记录有效的组播组成员;可以看出,会话节点列表是在配置节点列表之下设置的一级列表, 其记录能够随着节点实际状态的变化,由于其仅需要在发生节点变化时 进行列表调整,因此其变化无需应用模块进行持续的干预;特别是,如 果会话节点列表由应用模块特别设置的功能区或者应用模块之外的芯片 进行控制,就能够完全避免对应用模块资源的占用。53、 根据会话节点列表指令底层硬件进行组播报文的发送; 具体的,组播报文通过节点之间的通信链路进行发送。其中,通信链路的建立可以采用ACT报文,通过握手机制实现。如图4所示,采用ACT报文的广播,通过三次握手,实现节点间通 信链路的建立。广播ACT报文的目的在于避免点到多点的ACT报文的 多份内存申请,从而充分利用硬件组播功能,实行点到多点的同时建链。从上述步骤S1 S3可以看出,分布式架构下的组播组成员被分层管 理,配置节点列表维护应用模块配置的节点,是随着高层应用的需要更 新的,无需关注实际的节点状态;而会话节点列表则是真正参与发送的 节点列表。这样,当节点状态发送变化时,无需应用模块进行持续性干预调整, 而是根据硬件检测结果进行下级的会话节点列表的即时调整,就能够保 证底层硬件准确的识别真正参与发送的节点,从而实现可靠的硬件组播, 避免了应用模块的资源占用。具体的,进行会话节点列表维护的一实施例如图5所示,包括以下 步骤521、 对配置节点列表中的节点进行实时状态检测;具体的,可以通过底层硬件接收分布式架构下其它节点的硬件广播, 从而实现节点状态检测。如图6所示,节点间通信链路建立后采用ACT报文作为保活报文保 持连接,以节点1为例正常工作的节点1定时向其他节点2、 3广播 ACT报文来通告自己的存在,接收到ACT报文的节点2、 3就可以确定 相应的ACT报文发送节点1处于UP状态;当由于链路故障或者节点自 身的故障,当节点1的ACT报文无法被其它节点2、 3接收到,该节点1 的状态就会被其它节点2、 3识别为Down。522、 如果检测到配置节点列表中任一节点正常,则将其添加到会话 节点列表中;523、 如果检测到配置节点列表中任一节点故障,则将其从会话节点 列表中删除;显然, 一旦节点或链路发生故障,该节点将直接退出与其建立有通 信链路的其它节点的会话节点列表,因此这些节点无需等待其应答报文;而该节点状态恢复后,重新加入会话节点列表,新的报文将发送给恢复 后的该节点。作为一个实施例,可以在检测到节点状态变化的同时进行会话节点 列表的成员删除或者恢复。较佳的,由于进行硬件组播时,在前面的报文还没有等到ACK时, 为了满足可能的报文重传需求,组播成员不能随便进行更新。当然,如果是节点状态Down,那么无需等待ACK,即时从会话节点列表中删除 即可;但对于节点状态Up,在不同的情况下可能存在不同的处理方式。比如,节点初始化时,会话节点列表中并没有记录,所执行的操作 为节点的直接添加;在节点工作过程中,如果该节点已记录在会话节点列表中,则保持 原记录不变;如果该节点未记录在会话节点列表中,说明该节点是故障 恢复节点,则为了保证更新的范围,其节点更新时间可以推迟到下一次 组播报文发送的时间,即对相应组播组执行新的组播报文发送时,识别 是否接收到原组播组成员对于前一已发送组播报文的反馈,是则在所述 会话节点列表中添加所述节点,否则返回错误码或者缓存该恢复操作, 从而保证硬件组播的可靠性。如图7所示,S22包括以下步骤当对包括故障恢复节点在内的组播组执行新的组播报文发送时,识 别是否接收到原组播组成员对于前一已发送组播报文的反馈,是则在该 会话节点列表中添加该节点,从而后续操作将按照更新后的会话节点列 表执行新的组播报文发送;否则返回错误码或者缓存该恢复操作。进一步的,如果是返回错误码,那么在延时一定时间后,节点的应 用层面将重新进行该新的组播报文的发送;如果是缓存,则是等到接收到原组播组成员对于前一已发送组播报 文的反馈,再向下执行硬件的报文发送。作为一个具体实施例,以节点1的应用模块配置了由节点2、 3、 4、 5组成的组播组为例,其二级节点列表的变化如图8所示。首先,初始态节点2和3处于Up状态,节点4和5处于Down的状 态,因此配置节点列表中组播组成员包括(2, 3, 4, 5),而会话节点列表中组播组成员包括(2, 3);然后,节点3也进入了 Down状态,则配置节点列表中组播组成员 保持(2, 3, 4, 5),而会话节点列表中组播组成员变化为(2);再然后,节点5恢复Up状态,配置节点列表中组播组成员仍保持(2, 3, 4, 5),会话节点列表中组播组成员变化为(2, 5);再然后,应用模块重新进行组播组更新,更新后的配置节点列表中 组播组成员变化为(2, 3, 5),由于节点3处于Down状态,因此会话 节点列表中组播组成员为(2, 5);再然后,节点4恢复,但由于其不在配置节点列表中,因此配置节 点列表中组播组成员仍为(2, 3, 5),会话节点列表中组播组成员仍为 (2, 5)不变。从上述具体实施例可以看出,底层硬件可以根据实时变化的组播组 成员,实现可靠的硬件组播。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤51、 维护配置节点列表,所述配置节点列表用于记录本节点配置的 组播组成员;52、 维护会话节点列表,所述会话节点列表用于根据配置节点列表 和实时检测的节点状态记录有效的组播组成员;53、 根据会话节点列表指令底层硬件进行组播报文的发送。所述的存储介质包括ROM/RAM ( Read Only Memory/ Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。相应的,本发明还提供了一种分布式架构下实现硬件组播的装置 100,应用于通过底层硬件21进行通信的分布式架构节点20,各节点包 括依次连接的应用模块22。其中,该底层硬件21可以是分别设置在各个节点20上,通过硬件 端口进行节点间通信,也可以由板间通信交换芯片统一为各个节点20提供底层硬件21,各节点20通过板间通信交换芯片桥接,基于IPC机制通 过板间通信交换芯片实现单播、组播和广播报文的发送。由于从功能角度而言,每一个节点20都需要通过底层硬件21实现 板间通信,因此在本发明的实施例中以底层硬件21分别设置来加以说明, 但本领域普通技术人员可以理解,板间通信交换芯片就是将各个节点20 的底层硬件21集合在一起。本发明所提供的分布式架构下实现硬件组播的装置100分别连接各 节点的应用模块22和底层硬件21;需要指出,该装置100也可以设置在 应用模块22中。请参见图9,显示了分布式架构下实现硬件组播的装置 IOO—实施例的框图,该装置100包括配置节点列表101,与应用模块22连接,用于记录应用模块22为本 节点20所配置的组播组成员;会话节点列表102,用于记录有效的组播组成员;链路检测单元103,与配置节点列表101和底层硬件21连接,用于 根据底层硬件21的反馈实时检测节点状态;具体的,可由各节点底层硬 件21接收分布式架构下其它节点的硬件广播,并反馈给链路检测单元 103,比如链路检测单元103可以根据各节点广播的ACT报文进行节点 状态的检测;节点更新单元104,与配置节点列表101、链路检测单元103和会话 节点列表102连接,用于根据配置节点列表101和实时检测的节点状态 确定有效的组播组成员并更新该会话节点列表102;硬件组播单元105,与应用模块22、会话节点列表102和底层硬件 21连接,用于接收应用模块22下发的组播报文,指令底层硬件21向相 应的会话节点列表成员发送该组播报文。可以看出,本发明提供的分布式架构下实现硬件组播的装置100提 供了两级节点列表,配置会话节点列表101仅维护应用模块22配置的组 播组成员;而会话节点列表102则基于配置节点列表101,实时更新真正 参与组播的节点,从而实现可靠硬件组播,且避免了应用模块的持续干 预。作为一个具体实施例,本发明分布式架构下实现硬件组播的装置100 的另一个实施例请参见图10,其中,节点更新单元104包括节点添加 子单元1041,用于将配置节点列表101中任一正常的节点添加到会话节点列表102中;以及节点删除子单元1042,用于将配置节点列表101中 任一故障的节点从会话节点列表102中删除。为了保证可靠的硬件组播,对于节点Up的情况,较佳的处理方案是 接收到前一组播报文的ACK之后再进行更新,因此可以采用节点添加子 单元1041与硬件组播单元105连接,用于识别待添加的节点是否记录在 会话节点列表102中,是则保持原记录不变,否则在硬件组播单元105 接收到对该节点相应组播组执行新的组播报文发送指令时,识别是否接 收到原组播组成员对于前一已发送组播报文的反馈ACK,是则在会话节 点列表102中添加该节点,使硬件组播单元105按照新的会话节点列表 102发送组播报文;否则指令硬件组播单元105向应用模块22返回错误 码,使其延时一定时间后重新发送新的组播报文,或者,缓存该恢复操 作,直到接收到全部ACK后,再在会话节点列表102中恢复该故障节点。本发明的实施例还提供了一种分布式系统10,如图11所示,包括进 行通信的分布式节点20;其各节点设有如上所述的分布式架构下实现硬 件组播的装置100。基于分布式架构下实现硬件组播的装置100中节点列表的二级设置, 该分布式系统10能够实现可靠的硬件组播,且减少各节点应用模块的干 预。本发明的实施例还提供了一种路由设备,其采用如上所述的分布式 系统10。虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细 节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
1. 一种分布式架构下实现硬件组播的方法,适用于各节点通过底层硬件进行通信的分布式架构;其特征在于,该方法包括以下步骤S1、维护配置节点列表,所述配置节点列表用于记录本节点配置的组播组成员;S2、维护会话节点列表,所述会话节点列表用于根据配置节点列表和实时检测的节点状态记录有效的组播组成员;S3、根据会话节点列表指令底层硬件进行组播报文的发送。
2. 根据权利要求1所述的分布式架构下实现硬件组播的方法,其特 征在于,所述底层硬件为桥接分布式架构各业务板的板间通信交换芯片, 则所述步骤S3包括根据会话节点列表,基于IPC机制指令所述板间通 信交换芯片进行组播报文发送。
3. 根据权利要求1或2所述的分布式架构下实现硬件组播的方法, 其特征在于,所述步骤S2包括521、 对所述配置节点列表中的节点进行实时状态检测;522、 如果检测到所述配置节点列表中任一节点正常,则将其添加到 所述会话节点列表中;523、 如果检测到所述配置节点列表中任一节点故障,则将其从所述 会话节点列表中删除。
4. 根据权利要求3所述的分布式架构下实现硬件组播的方法,其特 征在于,所述步骤S21包括通过接收分布式架构下其它节点的硬件广 播进行节点状态检测。
5. 根据权利要求3所述的分布式架构下实现硬件组播的方法,其特 征在于,所述步骤S22包括如果所述节点已记录在所述会话节点列表中,则保持原记录不变; 如果所述节点未记录在所述会话节点列表中,则对相应组播组执行 新的组播报文发送时,识别是否接收到原组播组成员对于前一已发送组 播报文的反馈,是则在所述会话节点列表中添加所述节点,否则返回错误码或者缓存该恢复操作。
6. —种分布式架构下实现硬件组播的装置,应用于通过底层硬件进行 通信的分布式架构节点,其特征在于,该装置分别连接各节点的应用模 块和底层硬件,包括配置节点列表,与所述应用模块连接,用于记录应用模块所配置的 组播组成员;会话节点列表,用于记录有效的组播组成员;链路检测单元,与所述配置节点列表和底层硬件连接,用于根据底 层硬件的反馈实时检测节点状态;节点更新单元,与所述配置节点列表、链路检测单元和会话节点列 表连接,用于根据配置节点列表和实时检测的节点状态确定有效的组播 组成员并更新所述会话节点列表;硬件组播单元,与所述应用模块、会话节点列表和底层硬件连接, 用于接收应用模块下发的组播报文,指令所述底层硬件向相应的会话节 点列表成员发送所述组播报文。
7. 根据权利要求6所述的分布式架构下实现硬件组播的装置,其特 征在于,所述各节点底层硬件接收分布式架构下其它节点的硬件广播, 并反馈给所述链路检测单元。
8. 根据权利要求6或7所述的分布式架构下实现硬件组播的装置, 其特征在于,所述节点更新单元包括节点添加子单元,用于将配置节点列表中任一正常的节点添加到所 述会话节点列表中;以及节点删除子单元,用于将配置节点列表中任一故障的节点从所述会 话节点列表中删除。
9. 根据权利要求8所述的分布式架构下实现硬件组播的装置,其特 征在于,所述节点添加子单元与所述硬件组播单元连接,用于识别待添 加的节点是否记录在所述会话节点列表中,是则保持原记录不变,否则 在硬件组播单元接收到对该节点相应组播组执行新的组播报文发送指令 时,识别是否接收到原组播组成员对于前一已发送组播报文的反馈,是则在所述会话节点列表中添加所述节点,否则指令硬件组播单元向应用 模块返回错误码或者缓存该恢复操作。
10. —种分布式系统,包括进行通信的分布式节点;其特征在于,其各节点设有如权利要求6-9任一所述的分布式架构下实现硬件组播的装置。
11. 根据权利要求10所述的分布式系统,其特征在于,所述各节点底层硬件采用统一的板间通信交换芯片,所述各节点通过所述板间通信交换芯片桥接,所述各节点的分布式架构下实现硬件组播的装置基于IPC机制,通过所述板间通信交换芯片实现组播报文发送。
12. —种路由设备,其特征在于,其采用如权利要求10或11所述的分布式系统。
全文摘要
本发明公开了一种分布式架构下实现硬件组播的方法和装置,还公开了一种分布式系统和一种路由设备。该方法包括维护配置节点列表,该配置节点列表用于记录本节点配置的组播组成员;维护会话节点列表,该会话节点列表用于根据配置节点列表和实时检测的节点状态记录有效的组播组成员;根据会话节点列表指令底层硬件进行组播报文发送。通过本发明,保证了可靠的硬件组播,节约了资源开销。
文档编号H04L12/24GK101272341SQ20081009746
公开日2008年9月24日 申请日期2008年5月27日 优先权日2008年5月27日
发明者乔会来, 周晓东, 舜 唐, 钢 张, 盖建华 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1