分布式架构下实现混发保序的节点间通信方法和系统的制作方法

文档序号:7692450阅读:151来源:国知局
专利名称:分布式架构下实现混发保序的节点间通信方法和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式架构下实现混发保序的 节点间通信方法和系统,还涉及一种路由设备。
背景技术
随着网络的发展和对设备功能性要求的提高,集中式的设备往往难以磁 足实际的需求,因此分布式处理架构应运而生。比如,多个通信设备(如路 由器、交换机)堆叠起来,每一个通信设备可以称为一个节点;或者,通信 设备本身采用分布式架构,由多个业务板共同提供数据处理功能,每一个业 务板可以称为一个节点;或者,通信设备的每一个业务板上采用多处理器进 行业务处理,那么每一个处理器也可以称为一个节点。
在分布式架构下,各节点之间需要进行控制层面的通信。比如,提 供通信设备业务板间通信的技术被称为板间通信,图1显示了分布式架 构进行板间通信的模型示意图。
其中,分布式架构下各业务板可以通过板间通信交换芯片桥接,形 成一个全连接拓扑结构,基于扩展的IPC (Inter-Process Communication, 进程间通信)实现板间通信节点应用模块将控制报文分别编入相应的 软件队列,写入板间通信交换芯片实现控制报文在节点之间的传送,如 图2所示。
作为分布式架构的关键技术,节点间通信的可靠程度直接决定了分 布式架构的可靠程度。特别是如何保证报文的传输顺序,是节点间通信 可靠性的一项重要指标。
现有技术中,节点间通信的可靠性一般通过确认+重传机制实现,即 发送端节点按序发送报文,接收端节点按序接收报文,在一定的时机回 应确认报文ACK,如果发送端没有收到确认报文则进行重传。图3显示 了节点间通信可靠性保障机制的模型示意图。但是,上述节点间通信的可靠性保障机制仅对单播报文或者循环单 播实现的组播报文有效,而对单播、组播混合发送的情况以及组播和组 播混合发送的情况无效。
图4A显示了循环单播实现组播情况下报文在节点间传送的一个具
体实例节点1依次发送4个报文,第l、 2、 4个报文发向节点2,第三 个报文为组播报文,发向节点2、 3、 4;由于是循环单播实现的组播,因 此节点1将该组播报文3复制为三份,分别进入对应节点2、 3、 4的单 播队列;可以看出,在发送端的单播队列中,发送给节点2的报文1、 2、 3、 4己经按照时间编排,报文间天然保序,因此将此单播队列报文写入 硬件传输芯片发送后,作为接收端的节点2能够按序接收报文,结合确 认重传机制,实现可靠的节点间通信。
图4B显示了采用硬件组播时,单播、组播混合发送情况下报文在节 点间传送的一个具体实例同样发送上述4个报文,由于对报文3采用 硬件组播,因此该报文3不是分成三份进入单播队列,而是直接进入一 个组播队列;可以看出,在发送端的队列中,报文1、 2、 4是按照时间 顺序编排的,而报文3则是在其组播队列中单独进行编排,因此接收端 无法识别报文3与报文1、 2、 4的顺序,导致其接收顺序虽然可能为 1->2->3->4,但也可能为1->3->2->4或者1->2->4->3;上述情况对于不 同的组播队列来说同样存在。
显然,在进行涉及同一目的节点单播和硬件组播的混合发送,以及 涉及同一目的节点的硬件组播和硬件组播的混合发送时,现有的节点间 通信可靠性保障机制无法实现报文保序。

发明内容
本发明的实施例旨在提供分布式架构下实现混发保序的节点间通信技 术方案,以保证节点间通信过程中混合发送报文的顺序。
为实现上述目的,本发明的实施例提供了一种分布式架构下实现混
发保序的节点间通信方法,包括以下步骤
SIO、对节点当前待发送的报文与前一已发送报文的目的节点加以比较;
S20、如果发生目的节点改变,则识别是否接收到该前一已发送报文 的响应;
S30、如果接收到该前一已发送报文的响应,则按照改变后的目的节 点发送该当前待发送的报文。
本发明的实施例还提供了一种分布式架构下实现混发保序的节点间 通信系统,包括设有应用模块的各节点,该应用模块用于本节点的报文 收发控制;各业务板上还设有混合收发模块;该混合收发模块用于接收 本节点应用模块当前待发送的报文,并与前一已发送报文的目的节点加 以比较,对于未发生目的节点改变的报文进行直接发送,以及,对于发 送目的节点改变的报文,识别是否接收到前一已发送报文的响应,是则 按照改变后的目的节点发送该当前待发送的报文。
本发明的实施例还提供了一种路由设备,其采用分布式架构,其节 点间通信系统为如上所述的分布式架构下实现混发保序的节点间通信系 统。
由上述技术方案可知,本发明的实施例通过识别需要发送报文的目的地 址对混发报文加以区分,采用分阶段保序,具有保证了混发报文的时序的有 益效果。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、 特征和优点将更加明显。


图1为现有技术分布式架构进行板间通信的模型示意图; 图2为现有技术基于IPC实现板间通信的模型示意图; 图3为现有技术节点间通信可靠性保障机制的模型示意图; 图4A为循环单播实现组播情况下报文在节点间传送的一个具体实例示 意图4B为单播、组播混合发送情况下报文在节点间传送的一个具体实例 示意图;图5为本发明提供的分布式架构下实现混发保序的节点间通信方法一实
施例的流程图6为图5所示方法中步骤S30的实施例流程图7本发明提供的分布式架构下实现混发保序的节点间通信方法一较佳 实施例的流程图8本发明提供的分布式架构下实现混发保序的节点间通信方法另一较
佳实施例的流程图9为图5、图7或图8所示方法一具体实施例的节点间通信示意图; 图10为本发明提供的分布式架构下实现混发保序的节点间通信系统一
实施例的框图11为图IO所示系统中混合收发模块一实施例的框图; 图12为图IO所示系统中混合收发模块另一实施例的框图。
具体实施例方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只 用于举例说明,并不用于限制本发明。
首先需要说明的是,本发明所指的报文混发,是指涉及到同一目的节点 的单播和硬件组播,或者不同的硬件组播之间的情况。对于不同目的节点的 报文,由于接收端不同,不会产生保序的需求。
当然,对于发送端节点而言,其所涉及的可能是多个接收端节点;本发 明所提供的方案,适合于发送端节点对于其任何一个接收端节点的报文队列 处理。这样,从整体而言,即可实现其全部接收端节点的混发报文保序。
由于混发的报文在节点应用层面归属于不同的报文队列,彼此之间无法 保序;但是,这些报文具有不同的节点目的地址,比如单播报文指向一个目 的节点,而多播报文则指向多个目的节点;类似的,不同的多播报文指向的 是不同的多个目的节点。本发明提供的实施例从这一点入手,通过涉及同一 目的节点的报文所发生的目的节点的变化对报文进行区分,从而分阶段进行 保序发送。
同时需要指出,本发明的改进之处在于保证混发报文的时序,而节点间通信所涉及到的其他技术,比如已发送报文的响应策略,可以沿用现有技术 的方案,举例来说,可以是接收端在超过某一预设时间未接收到新的报文时,
对前一接收到的报文进行响应,可以是接收端识别到保序报文缺失时对前一 接收到的报文进行响应,可以是每接收到N个报文时对最后一个接收到的报 文进行相应等等,当然也可以是响应策略的组合;再比如,报文的重新发送 策略,根据响应策略,当已发送报文没有按照预期接收到响应时进行重新发 送,以保证接收端报文的完整接收等,在此不再赘述。
请参见图5,显示了本发明提供的分布式架构下实现混发保序的节点间 通信方法一实施例,包括以下步骤
SIO、比较节点当前待发送的报文与前一已发送报文的目的节点; S20、如果发生目的节点改变,则识别是否接收到该前一已发送报文 的响应;
S30、如果接收到该前一已发送报文的响应,则按照改变后的目的节 点发送该当前待发送的报文。
从上述步骤S10 S30可以看出,对于发生了目的节点改变的报文,必须 在接收到前一已发送报文的响应的情况下进行发送,即保证了前一已发送报 文已经被接收端节点成功接收;因此,在发生目的节点变化时,通过发送端 节点的控制,保证了接收端节点对混发报文的保序。
其中,作为一具体实施方案,如图6所示,步骤S30可以包括
5301、 向当前待发送报文的目的节点进行信息同步,通知目的节点 重新进行保序接收;
信息同步的方式可以有多种,比如会话协商、报文头携带节点位图 等,用以通知接收端节点进入下一阶段的保序接收;
5302、 将当前待发送报文发送给目的节点。
当各节点通过板间通信交换芯片基于IPC实现节点间通信时,其具 体操作可以是将该待发送报文写入板间通信交换芯片实行到目的节点的 发送,属于现有技术,在此不再赘述。
进一步的,对于未发生目的节点改变的报文,说明其与已发送报文属于 同一报文队列,接收端节点对这样的报文具有天然保序的特点,能够依次识别接收,故此可沿用现有技术的操作,进行直接发送;即,本实施例还可包 括步骤S21:如果未发生目的节点改变,则直接发送该当前待发送的报文。
由于无需对这类报文进行报文响应的识别,因此,能够保证同一目的节点的 报文发送效率。
同时,对于未接收到前一已发送报文响应的情况,本发明提供了两种具
体解决方案,分别如图7和图8所示。
请参见图7,显示了本发明提供的分布式架构下实现混发保序的节点间 通信方法一较佳实施例的流程图,在图5所示实施例的基础上,还包括以下
步骤
S31:如果未接收到前一已发送报文的响应,则通知节点当前待发送的 报文发送失败,使节点在进行一定延时后,重新发送该报文,即重新执行步
骤SIO。
本实施例其实是实现了这样一种循环如果没有接收到对于前一已发送 报文的响应,那么节点就每过一定时间就重新发送下一待发送报文,但只能 在接收到响应之后的一次重发过程中,才能够真正发送出去。
请参见图8,显示了本发明提供的分布式架构下实现混发保序的节点间 通信方法另一较佳实施例的流程图,在图5所示实施例的基础上,还包括以 下步骤
S31':如果未接收到前一已发送报文的响应,则进入等待状态,直到接
收到前一已发送报文的响应后,重新执行步骤S30。
为了实现上述步骤S31',需要缓存当前待发送报文,并拒绝或队列缓存
节点发送的新报文。
无论采用上述哪一种实现方式,都能够保证接收端对于目的节点改变之 前报文的接收,从而保证接收端对于混发报文的保序。
从图5、图7和图8所示的实施例可以看出,本发明所提供的分布式 架构下实现混发保序的节点间通信方法能够解决分布式数通设备节点间 通信的混合保序问题。作为一个具体实施例,以节点1的应用层依次发 送4个报文为例,报文l、 2和4单独向节点2单播发送,报文3为向节 点2、 3、 4三个节点组播发送,方案如下(1) 节点1的应用层将待发送的4个报文输入到同一缓冲队列中, 触发混合收发层进行发送;
(2) 节点1的混合收发层向节点2依次发送报文1和2;
(3) 在节点1上,混合收发层发送目的节点为2、 3、 4的组播报文 3时,发现目的节点改变;如果ACK2未收到,则混合收发层通知应用 层该组播报文3发包失败,由该应用层延时指令发送;如果ACK2收到, 则混合收发层向节点2、 3、 4进行信息同步,并发送组播报文3;
(4) 根据信息同步,节点2、 3、 4开始新的保序接收;
(5) 在节点1上,混合收发层发送目的节点为2的单播报文4时, 发现目的节点改变;如果ACK3未收到,则混合收发层通知应用层该单 播报文4发包失败,由该应用层延时指令发送;如果ACK3收到,则混 合收发层向节点2进行信息同步,并发送单播报文4;
(6) 根据信息同步,节点2开始新的保序接收。 请结合图9,显示了本实施例中部分信息的发送情况。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分
步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计
算机可读取存储介质中,该程序在执行时,包括如下步骤
SIO、对节点当前待发送的报文与前一已发送报文的目的节点加以比
较;
S20、如果发生目的节点改变,则识别是否接收到所述前一已发送报 文的响应;
S30、如果接收到所述前一已发送报文的响应,则按照改变后的目的 节点发送所述当前待发送的报文。
所述的存储介质包括ROM/RAM ( Read Only Memory/ Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。
相应的,本发明的实施例还提供了一种分布式架构下实现混发保序 的节点间通信系统100。
请参见图10,该分布式架构下实现混发保序的节点间通信系统100包括设有应用模块102的各个节点,该应用模块102用于本节点的报文 收发控制;各节点还设有混合收发模块101,上述描述的分布式架构下实 现混发保序的节点间通信方法由该混合收发模块101执行,g卩,该混合 收发模块101用于接收本节点应用模块102当前待发送的报文,并与前 一己发送报文的目的节点加以比较,对于未发生目的节点改变的报文进 行直接发送,以及,对于发送目的节点改变的报文,识别是否接收到前 一已发送报文的响应,是则按照改变后的目的节点发送该当前待发送的 报文。
可以看出,通过该该混合收发模块101,对节点应用模块102需要待 发送的混发报文进行了阶段性区分,直接发送未发生目的节点改变的报 文,由接收端节点天然保序,这一过程无需等待接收端的响应,因此能 够保证报文的发送效率;以及,对于混发报文设定了接收到己发送报文 反馈的条件,从而保证接收端在此前已经接收到已发送报文,从而避免 由于单播、组播等混合发包不保序引起的时序问题,实现了在接收端的 混发保序。
作为一个实施例,各节点的混合收发模块101可以通过统一的板间 通信交换芯片103连接,根据IPC实现各节点应用模块102之间的报文 交互。需要指出,本发明所指的板间通信交换芯片103是将各节点在硬 件层面连接起来的装置,并不局限于连接数通设备的各业务板,同样适 用于连接各业务板的各处理器,或者连接各堆叠设备节点。
作为上述技术方案的一具体实施例,如图11和图12所示,分别显 示了混合收发模块101的结构实施例,包括
目的节点比较单元1011,用于比较应用模块102当前待发送的报文 与前一已发送报文的目的节点;
报文响应识别单元1012,用于识别是否接收到已发送报文的响应;
第一报文发送单元1013,与目的节点比较单元1011连接,用于根 据目的节点比较单元1011未发生目的节点改变的比较结果的触发,发送 当前待发送的报文;
第二报文发送单元1014,与目的节点比较单元1011和报文响应识别单元1012连接,用于根据目的节点比较单元1011发生目的节点改变 的比较结果的触发,在报文响应识别单元1012接收到前一已发送报文的 响应的情况下,按照改变后的目的节点发送当前待发送的报文。
其中,为了对目的节点发生改变,但未接收到前一已发送报文响应 的情况进行处理,混合收发模块101可以与应用模块102连接,用于在 未接收到前一已发送报文的响应的情况下,通知应用模块102当前待发 送的报文发送失败,使应用模块102在进行一定延时后,重新下发该待 发送报文,再由混合收发模块101重新执行处理。
或者,混合收发模块101设有缓冲队列1015,用于保存待发送报文, 并在接收到前一己发送报文的响应后执行发送。
无论采取哪一种实现方式,都能够保证发生报文混发时,接收端必 然是在接收到前一报文之后,才接收到后一目的地址发生了改变的报文, 保证了混发报文的时序。
具体的,该第二报文发送单元1014可以包括信息同步子单元和报文 发送子单元(图中未示)。该信息同步子单元用于向当前待发送报文的 目的节点进行信息同步,通知目的节点重新进行保序接收,也就是实现 目的节点对于混发前后报文的分阶段保序;具体的同步方式可以有多种, 如会话协商、报文头携带节点位图等;该报文发送子单元用于将当前待 发送报文发送给目的节点。
本发明的实施例还提供了一种路由设备,比如交换机、路由器,其节点 间通信系统为如上所述的分布式架构下实现混发保序的节点间通信系统。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是 说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而 不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细 节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利 要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
权利要求
1. 一种分布式架构下实现混发保序的节点间通信方法,其特征在于,包括以下步骤S10、对节点当前待发送的报文与前一已发送报文的目的节点加以比较;S20、如果发生目的节点改变,则识别是否接收到所述前一已发送报文的响应;S30、如果接收到所述前一已发送报文的响应,则按照改变后的目的节点发送所述当前待发送的报文。
2. 根据权利要求1所述的分布式架构下实现混发保序的节点间通信 方法,其特征在于,还包括步骤S21:如果未发生目的节点改变,则直接 发送所述当前待发送的报文。
3. 根据权利要求1所述的分布式架构下实现混发保序的节点间通信 方法,其特征在于,所述步骤S30包括S30K向所述当前待发送报文的目的节点进行信息同步,通知所述 目的节点重新进行保序接收;S302、将所述当前待发送报文发送给所述目的节点。
4. 根据权利要求3所述的分布式架构下实现混发保序的节点间通信 方法,其特征在于,所述步骤S301包括通过会话协商或者在报文头中 携带节点位图向所述接收端进行信息同步。
5. 根据权利要求l-4任一所述的分布式架构下实现混发保序的节点 间通信方法,其特征在于,还包括步骤S31:如果未接收到所述前一已发 送报文的响应,则通知节点所述当前待发送的报文发送失败,使所述节 点在进行一定延时后,重新执行步骤SIO。
6. 根据权利要求1-4任一所述的分布式架构下实现混发保序的节点 间通信方法,其特征在于,还包括步骤S31':如果未接收到所述前一已 发送报文的响应,则进入等待状态,直到接收到所述前一已发送报文的 响应后,重新执行步骤S30。
7. —种分布式架构下实现混发保序的节点间通信系统,包括设有应用 模块的各节点,所述应用模块用于本节点的报文收发控制;其特征在于, 所述各业务板上还设有混合收发模块;所述混合收发模块用于接收本节 点应用模块当前待发送的报文,并与前一已发送报文的目的节点加以比 较,对于未发生目的节点改变的报文进行直接发送,以及,对于发送目 的节点改变的报文,识别是否接收到前一已发送报文的响应,是则按照 改变后的目的节点发送所述当前待发送的报文。
8. 根据权利要求7所述的分布式架构下实现混发保序的节点间通信 系统,其特征在于,所述各节点的混合收发模块通过统一的板间通信交 换芯片连接,根据IPC实现各节点应用模块之间的报文交互。
9. 根据权利要求7或8所述的分布式架构下实现混发保序的节点间 通信系统,其特征在于,所述混合收发模块包括目的节点比较单元,用于比较应用模块当前待发送的报文与前一已发送报文的目的节点;报文响应识别单元,用于识别是否接收到已发送报文的响应; 第一报文发送单元,与所述目的节点比较单元连接,用于根据所述目的节点比较单元未发生目的节点改变的比较结果的触发,发送所述当前待发送的报文;第二报文发送单元,与所述目的节点比较单元和报文响应识别单元 连接,用于根据所述目的节点比较单元发生目的节点改变的比较结果的 触发,在所述报文响应识别单元接收到所述前一已发送报文的响应的情 况下,按照改变后的目的节点发送所述当前待发送的报文。
10. 根据权利要求9所述的分布式架构下实现混发保序的节点间通信 系统,其特征在于,所述第二报文发送单元包括信息同步子单元,用于向所述当前待发送报文的目的节点进行信息 同步,通知所述目的节点重新进行保序接收;报文发送子单元,用于将所述当前待发送报文发送给所述目的节点。
11. 根据权利要求9所述的分布式架构下实现混发保序的节点间通信 系统,其特征在于,所述混合收发模块与所述应用模块连接,用于在未接收到前一已发送报文的响应的情况下,通知所述应用模块当前待发送 的报文发送失败,使所述应用模块在进行一定延时后,重新下发所述待 发送报文。
12. 根据权利要求9所述的分布式架构下实现混发保序的节点间通信系统,其特征在于,所述混合收发模块设有缓冲队列,用于保存所述待 发送报文,并在接收到所述前一已发送报文的响应后执行发送。
13. —种路由设备,其采用分布式架构,其特征在于,其节点间通信 系统为权利要求7-12任一所述的分布式架构下实现混发保序的节点间通 信系统。
全文摘要
本发明公开了一种分布式架构下实现混发保序的节点间通信方法和系统,还公开了一种路由设备。该方法包括对节点当前待发送的报文与前一已发送报文的目的节点加以比较;如果发生目的节点改变,则识别是否接收到该前一已发送报文的响应;如果接收到该前一已发送报文的响应,则按照改变后的目的节点发送该当前待发送的报文。本发明保证了混发报文的时序。
文档编号H04L1/00GK101286938SQ20081009889
公开日2008年10月15日 申请日期2008年5月20日 优先权日2008年5月20日
发明者乔会来, 周晓东, 舜 唐, 钢 张, 盖建华 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1