专利名称:控制型组播的实现方法和设备的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种控制型组播的实现方法和i殳备。
背景技术:
在分布式设备中,各业务板之间需要进行控制层面上的通信,提供这种 通信的技术称之为板间通信。板间通信的模型如图1所示。板间通信是分布 式设备的一项关键技术,板间通信的可靠程度直接决定了设备的可靠程度。
目前板间通信的可靠性一般是通过确认加重传来实现的,即发送端按序 发送,接收端按序接收,在一定的时机回应确认报文,如果发送端没有收到 确认,进行重传。
在板间通信中提供了 一对多的可靠组播传输机制,现有技术中的组播模
型如图2所示。主控板1作为发布者(Publisher),当订阅者(Subscriber)业 务板3请求加入(Join)主控板1的组播组、接收主控板1发布的组播报文时, 主控板1控制业务4反3加入组,燔组。当业务才反3加入组,潘组后,可以立即4妄 收到主控板1发送的组^^艮文。
现有技术中的实现方式存在以下问题在现有的组播模型中,订阅者作 为组播成员加入组播组后,立即会接收到发布者发送的组播报文,无法对订 阅者接收组播报文的时机进行控制。
发明内容
本发明提供一种控制型组播的实现方法和设备,用于实现一个或多个发 布者对订阅者接收组播报文的时机进行控制。
为达到上述目的,本发明提供一种控制型组播的实现方法,应用于包括 第 一发布者以及至少 一个订阅者的板间组播通信系统中,所述方法包括
所述第 一发布者接收到来自发送方的加入消息时,将所述发送方设置为待加入成员,并向所迷发送方发送对所述加入消息的确认消息,所述发送方 包括第二发布者和/或订阅者;
所述第 一发布者判断需要将待加入成员中的第二发布者和/或订阅者设置 为正式成员时,向所述第二发布者和/或订阅者发送使能消息,以及当前组播
报文的发送序号;
所述第 一发布者接收到所述第二发布者和/或订阅者对所述使能消息的使 能响应消息时,将所述第二发布者和/或订阅者设置为正式成员,向所述正式 成员发送組播报文。
其中,还包括所述笫一发布者将所述正式成员中的第二发布者和/或订 阅者设置为待加入成员,停止发送组播报文;具体包括
所述第一发布者向所述正式成员中的第二发布者和/或订阅者发送去^f吏能 消息;
所述第二发布者和/或订阅者接收所述第 一发布者的去使能消息,并向所 述第 一发布者发送去使能响应消息;
所述第一发布接收到所述去使能响应消息时,将所述第二发布者和/或订 阅者设置为待加入成员。
其中,还包括
当所述第一发布者、第二发布者或订阅者离开所述板间组播通信系统时, 发送离开消息;接收到所述离开消息的第 一发布者和/或第二发布者删除所述 离开消息对应的组播成员。
其中,还包括
所述第二发布者作为新的发布者加入已经存在第一发布者的板间组播通 信系统时,所述第二发布者向所述第一发布者和各订阅者发送加入消息;
所述第 一发布者和各订阅者对向所述第二发布者发送响应消息,所述第 一发布者将所述第二发布者设置为待加入成员;
所述第二发布者接收到响应消息时,将发送所述响应消息的第一发布者 和各订阅者设置为待加入成员。
其中,还包括
7所述第 一发布者根据所述当前组播报文的发送序号,确定所述第二发布 者和/或订阅者在成为正式成员前未接收到的组播报文,将所述未接收到的组 播报文向所述第二发布者和/或订阅者发送。
本发明还提供一种网络设备,应用于包括发布者以及至少 一个订阅者的
板间组播通信系统中,所述网络设备包括
发布者处理单元,用于作为发布者,接收到来自发送方的加入消息时, 将所述发送方设置为待加入成员,并向所述发送方发送对所述加入消息的确 认消息,所述发送方包括其他发布者和/或订阅者;判断需要将待加入成员中 的其他发布者和/或订阅者设置为正式成员时,向所述其他发布者和/或订阅者 发送使能消息,以及当前组播报文的发送序号;接收到所述第二发布者和/或 订阅者对所述使能消息的使能响应消息时,将所述其他发布者和/或订阅者设 置为正式成员,向所述正式成员发送组播报文;
订阅者处理单元,用于作为订阅者,向发布者发送加入消息并接收所述 发布者发送的确认消息;在接收到所述发布者发送的使能消息时,向所述发 布者发送使能响应消息;并接收所述发布者发送的组播报文。
其中,所述发布者处理单元包括
待加入成员维护子单元,用于自身角色为发布者时,存储待加入成员; 正式成员维护子单元,用于自身角色为发布者时,存储正式成员; 待加入成员加入子单元,用于自身角色为发布者时,接收到来自发送方 的加入消息时,向所述发送方发送对所述加入消息的确认消息,并将所述发 送方设置为待加入成员并加入所述待加入成员维护子单元,所述发送方包括 其他发布者和/或订阅者;
正式成员加入子单元,用于自身角色为发布者时,判断需要将待加入成 员中的其他发布者和/或订阅者设置为正式成员时,向所述其他发布者和/或订 阅者发送使能消息,以及当前组播报文的发送序号;接收到所述其他发布者 和/或订阅者对所述使能消息的使能响应消息时,将所述其他发布者和/或订阅 者设置为正式成员并加入所述正式成员维护子单元;
组播报文发送单元,用于自身角色为发布者时,向所述正式成员维护子
8单元中存储的正式成员发送组播报文。
其中,所述发布者处理单元还包括
正式成员删除子单元,用于将所述正式成员维护子单元中存储的至少一 个正式成员设置为待加入成员并加入所述待加入成员维护子单元,具体用于 向所述正式成员维护子单元中存储的至少一个正式成员发送去使能消息;接 收到所述正式成员发送的去使能响应消息时,将所述正式成员设置为待加入 成员并加入所述待加入成员维护子单元;
成员删除子单元,用于接收到其他发布者或订阅者发送的离开消息时, 从所述待加入成员维护子单元存储的待加入成员、以及所述正式成员维护子 单元存储的正式成员中,删除所述离开消息对应的组播成员;
离开消息发送单元,用于在离开板间组播通信系统时,向其他发布者或 订阅者发送离开消息。
加入消息发送子单元,用于作为新的发布者加入已经存在其他发布者的 板间组播通信系统时,向所述其他发布者和各订阅者发送加入消息;所述待 加入成员加入子单元,还用于接收到所述第二发布者和各订阅者对所述加入 消息发送单元发送的加入消息的响应消息时,将所述第二发布者和各订阅者 设置为待加入成员。
所述待加入成员加入单元,还用于接收到新加入所述板间组播通信系统 的其他发布者发送的加入消息时,向所述第二发布者发送响应消息,将所述 其他发布者设置为待加入成员并加入所述待加入成员维护单元。
所述组播报文发送单元,还用于根据所述当前组播报文的发送序号,确 定所述第二发布者和/或订阅者在成为正式成员前未接收到的组纟番报文,将所 述未接收到的组播"t艮文向所述第二发布者和/或订阅者发送。
其中,所述订阅者处理单元包括
状态记录子单元,用于自身角色为订阅者时,记录自身在其他发布者中 作为待加入成员或正式成员的状态;
报文处理子单元,用于自身角色为订阅者时,向发布者发送加入消息并 接收所述发布者发送的确认消息;在接收到所述发布者发送的使能消息时,向所述发布者发送^f吏能响应消息;
组播报文接收子单元,用于自身角色为订阅者时,接收发布者发送的组 播报文。
其中,所述订阅者处理单元还包括
离开消息发送子单元,用于在离开板间组播通信系统时,向其他发布者 或订阅者发送离开消息;
删除子单元,用于接收到其他发布者发送的离开消息时,从所述状态记 录子单元存储的状态中,删除所述离开消息对应的发布者。
与现有技术相比,本发明具有以下优点
可以实现存在多个发布者的组播,且不同发布者能够独立控制订阅者接 收组播报文的时机而不受其他发布者的影响。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图l是现有技术中板间通信模型的示意图2是现有技术中组播模型的示意图3是本发明中控制型组播的实现方法的流程图4是本发明中控制型组播通信模型的示意图5是本发明中新的订阅者加入已存在多个发布者的网络时的网络示意
图6是本发明中发布者对待加入成员链表中的订阅者进^H吏能的示意图; 图7是本发明中另一发布者对待加入成员链表中的订阅者进行使能的示 意图8是本发明中发布者对正式成员链表中的订阅者进行去使能的示意图; 图9是本发明中订阅者退出网络的示意10图IO是本发明中发布者加入网络的示意图; 图ll是本发明中提供的网络设备的结构示意图13是本发明中提供的网络设备中订阅者处理单元的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不 是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出 创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种控制型组播的实现方法,应用于包括第一发布者以及 至少一个订阅者的板间组播通信系统中,如图3所示,该方法包括
步骤s301、第一发布者接收到来自发送方的加入消息时,将发送方设置 为待加入成员,并向发送方发送对加入消息的确认消息,发送方包括第二发 布者和/或订阅者;
步骤s302、第一发布者判断需要将待加入成员中的第二发布者和/或订阅 者设置为正式成员时,向第二发布者和/或订阅者发送^f吏能消息,以及当前组 播报文的发送序号;
步骤s303、第一发布者接收到第二发布者和/或订阅者对使能消息的使能 响应消息时,将第二发布者和/或订阅者设置为正式成员,向正式成员发送组 播报文。
以下结合具体的应用场景,描述本发明中控制型组播实现方法的具体实 施方式。
本发明中提供的控制型组播通信模型如图4所示。其中,Pl和P2为发布 者(Publisher),担当控制型组播的控制源。Sl、 S2和S3为订阅者(Subscriber)。 以P1为例,Pl作为发布者,可以控制其他发布者(P2)和订阅者(S1 S3) 能否接收到自身发送的组播报文。同样,P2作为发布者,可以控制其他发布 者(Pl)和订阅者(S1 S3 )能否接收到自身发送的组^^艮文。对于Pl和P2而言,可以各自独立控制其他成员能否接收组播报文。
以下描述不同场景下发布者与订阅者间的交互过程。 (场景l)已存在多个发布者,新的订阅者加入时,组播的实现。
以图5所示的组网环境为例,系统中已经存在多个发布者P1和P2,订阅 者S1作为P1和P2的正式成员,存在于P1和P2的正式成员链表中,已经可 以接收到Pl和P2发送的组l番才艮文。
新的订阅者S2加入时,包括以下流程
(1) S2广播自己加入的信息。
(2) 作为发布者的Pl和P2记录S2的订阅者身份信息,并发送确认信 息,表明发布者身份;同时,Pl和P2将S2加入本地的待加入成员链表。
(3) S2根据接收到的确认信息,记录Pl和P2的发布者身份信息,后 续用来接受发布者对接收组"t番报文的使能。
S2与Pl和P2的消息交互完毕后,各成员记录的信息如下
作为发布者的P1和P2,其记录的正式成员链表中,包括S1;其记录的 待加入成员链表中,包括S2。作为发布者的P1和P2只向正式成员链表中的 成员Sl发送组播报文。
对于订阅者Sl,其记录作为发布者的Pl和P2的信息,并记录已经被P1 和P2使能,可以接收到Pl和P2发送的组播报文。
对于新加入的订阅者S2,
新加入S身份成员S2记录的信息,其记录作为发布者的Pl和P2的信 息,并记录尚未被P1和P2使能,无法接收到Pl和P2发送的组播报文。
(场景2 )发布者对待加入成员链表中的订阅者进行使能。 本发明提供的方法中,发布者可以对向订阅者发送组播报文的时机进行 控制,在判断可以向订阅者发送组播报文时,对待加入成员链表中的订阅者 进行使能。该时机的选择方法可以包括但不限于以下方式
(1)当新订阅者加入时,发布者之前已经发送了部分组4番报文,此时发 布者需将前面已发送的组播报文以单播的形式发送给新订阅者,再使能新订阅者接收组播报文,从而使得包括新订阅者在内所有的订阅者获得相同的数 据。
(2)发布者上预先配置了新订阅者能够接收组播报文的时间段,因此发 布者可以根据该配置的时间段控制订阅者的订阅时机,当到达某一时刻时, 使能此订阅者的组播报文接收,过了此时间后去使能该订阅者的组播寺艮文接 收。
以图6所示的组网环境为例,系统中已经存在多个发布者P1和P2,订阅 者Sl作为Pl和P2的正式成员,存在于P1和P2的正式成员链表中,已经可 以接收到Pl和P2发送的组播报文;订阅者S2作为Pl和P2的待加入成员, 存在于Pl和P2的待加入成员链表中,尚无法接收到Pl和P2发送的组^番才艮 文。
以P1使能S2为例,包括以下步骤
(1) Pl向S2发送使能消息,并携带当前的组播报文发送序号;
(2) S2收到Pl的使能消息,记录被P1使能的信息和P1成员的当前组 播报文发送序号,并向Pl回复使能ACK (响应)消息;
(3 ) Pl收到S2的使能ACK消息,将S2成员从待加入成员链表移到正 式成员链表中,此时S2能接收P1的组播报文。 上述消息交互完毕后,各成员记录的信息如下
作为发布者的Pl,其记录的正式成员链表中,包括S1和S2;其记录的 待加入成员链表中,为空。
作为发布者的P2,其记录的正式成员链表中,包括S1;其记录的待加入 成员链表中,包括S2。
对于订阅者Sl,其记录作为发布者的P1和P2的信息,并记录已经被P1 和P2使能,可以接收到Pl和P2发送的组〗番报文。
对于订阅者S2,其记录作为发布者的P1和P2的信息,并记录已经被P1 使能,可以接收到Pl发送的组播报文,Pl的发送的组播报文序号seq_Pl; 并记录尚未被P2使能,无法接收到P2发送的組播报文。
13以之后某时刻当P2使能S2成员为例,如图7所示,包括以下步-骤 (1) P2向S2发送使能消息,并携带当前的组播报文发送序号; (2 ) S2收到P2的使能消息,记录被P2使能的信息和P2成员的当前组 播报文发送序号,并向P2回复使能ACK消息;
(3 ) Pl收到S2的使能ACK消息,将S2成员从待加入成员链表移到正 式成员链表中,此时S2能接收P1的组播才艮文。 上述消息交互完毕后,各成员记录的信息如下
作为发布者的Pl,其记录的正式成员《连表中,包括S1和S2;其记录的 待加入成员链表中,为空。
作为发布者的P2,其记录的正式成员链表中,包括S1和S2;其i己录的 待加入成员链表中,为空。
对于订阅者S1,其记录作为发布者的P1和P2的信息,并记录已经;陂P1 和P2使能,可以接收到Pl和P2发送的组纟番报文。
对于订阅者S2,其记录作为发布者的P1和P2的信息,并记录已经被P1 和P2使能,可以接收到Pl和P2发送的组播报文,Pl的发送的组播才艮文序 号seq_Pl, P2的发送的组纟番报文序号seq_P2。
(场景3)发布者对正式成员链表中的订阅者进行去使能。 以图7所示的组网环境为例,系统中已经存在多个发布者P1和P2,订阅 者Sl和S2作为Pl和P2的正式成员,存在于Pl和P2的正式成员链表中, 已经可以4妄收到Pl和P2发送的组播报文。 以P2去使能S2为例,包括以下步骤 (1) P2向S2发送去使能消息;
(2 ) S2收到P2的去使能消息,记录S2没有被P2使能,并向P2回复 去使能ACK消息;
(3 ) P2收到S2的去使能ACK消息,将S2成员从正式成员链表移到待 加入成员链表中,此时S2不能接收P2的组播报文。 上述消息交互完毕后,各成员记录的信息如下
14作为发布者的Pl,其记录的正式成员链表中,包括S1和S2;其记录的 待加入成员链表中,为空。
作为发布者的P2,其记录的正式成员链表中,包括S1;其记录的待加入 成员链表中,包括S2。
对于订阅者Sl,其记录作为发布者的Pl和P2的信息,并记录已经被P1 和P2使能,可以接收到Pl和P2发送的组纟番报文。
对于订阅者S2,其记录作为发布者的P1和P2的信息,并记录已经被P1 使能,可以接收到Pl发送的组播报文。同时记录尚未被P2使能,无法接收 到P2发送的组播报文。
若之后某一时刻Pl去使能S2,则对于Pl去使能S2的处理流程,与上 述P2去使能S2的流程类似,处理完成后S2不能接收Pl的组播报文。
(场景4)订阅者退出网络。
以图9所示的组网环境为例,系统中已经存在多个发布者P1和P2,以及 订阅者S1和S2。
当S2退出时,需要广播成员离开(Leave)消息。网络中的发布者P1和 P2对此离开消息进行响应,清除本地待加入成员链表和正式成员列表中的S2 相关信息。
同样,当某一个发布者如P2退出时,需要广播成员离开(Leave)消息。 网络中的发布者P1和各订阅者对此离开消息进行响应,清除本地保存的与P2 相关的信息。
(场景5 )新的发布者加入网络。
当单控制源控制型组播模型(或多控制源控制型组播模型)中加入另外 一个控制源(发布者)时,原有的发布者和订阅者需要记录该新加入的发布 者的信息,新加入的发布者也需要记录原有的发布者和订阅者的信息。
以图IO所示的网络场景为例,网络中已经存在发布者P1和订阅者S1、 S2 。
P2加入时的流程包括
15(1) P2广播加入(Join)消息,表明发布者身份;
(2) Pl记录P2,将P2加入待加入成员链表,并发送Join ACK消息, 表明自己的发布者身^f分;作为订阅者的S1、 S2记录P2的信息,后续用来接 受P2成员的使能,并发送JoinACK消息,表明自己的订阅者身份;
(3) P2接收到P1、 Sl以及S2的ACK消息,记录成员信息,并将P1、 Sl以及S2加入待加入成员链表中。
通过上述场景的描述可以发现,本发明提供的方法中,可以实现存在多 个发布者的组播,且不同发布者能够独立控制订阅者接收组播报文的时机而 不受其他发布者的影响。
本发明还提供了 一种网络设备,应用于包括发布者以及至少 一个订阅者 的板间组播通信系统中,如图11所示,该网络设备包括
发布者处理单元IO,用于作为发布者,接收到来自发送方的加入消息时, 将发送方设置为待加入成员,并向发送方发送对加入消息的确认消息,发送 方包括其他发布者和/或订阅者;判断需要将待加入成员中的其他发布者和/ 或订阅者设置为正式成员时,向其他发布者和/或订阅者发送使能消息,以及 当前组播报文的发送序号;接收到第二发布者和/或订阅者对使能消息的使能 响应消息时,将其他发布者和/或订阅者设置为正式成员,向正式成员发送组 播报文;
订阅者处理单元20,用于作为订阅者,向发布者发送加入消息并接收发 布者发送的确认消息;在接收到发布者发送的使能消息时,向发布者发送使 能响应消息;并接收发布者发送的组播报文。
其中,如图12所示,发布者处理单元10包括
待加入成员维护子单元11,用于自身角色为发布者时,存储待加入成员; 正式成员维护子单元12,用于自身角色为发布者时,存储正式成员; 待加入成员加入子单元13,用于自身角色为发布者时,接收到来自发送 方的加入消息时,向发送方发送对加入消息的确认消息,并将发送方设置为 待加入成员并加入待加入成员维护子单元11,发送方包括其他发布者和/或订阅者;
正式成员加入子单元14,用于自身角色为发布者时,判断需要将待加入 成员中的其他发布者和/或订阅者设置为正式成员时,向其他发布者和/或订阅
者发送使能消息,以及当前组播报文的发送序号;接收到其他发布者和/或订 阅者对使能消息的使能响应消息时,将其他发布者和/或订阅者设置为正式成 员并加入正式成员维护子单元12;
组播报文发送单元15,用于自身角色为发布者时,向正式成员维护子单 元中12存储的正式成员发送组播报文。
其中,发布者处理单元还包括
正式成员删除子单元16,用于将正式成员维护子单元12中存储的至少一 个正式成员设置为待加入成员并加入待加入成员维护子单元11,具体用于 向正式成员维护子单元中12存储的至少一个正式成员发送去使能消息;接收 到正式成员发送的去使能响应消息时,将正式成员设置为待加入成员并加入 待加入成员维护子单元11;
成员删除子单元17,用于接收到其他发布者或订阅者发送的离开消息时, 从待加入成员维护子单元11存储的待加入成员、以及正式成员维护子单元12 存储的正式成员中,删除离开消息对应的组#"成员;
离开消息发送单元18,用于在离开板间组播通信系统时,向其他发布者 或订阅者发送离开消息。
加入消息发送子单元19,用于作为新的发布者加入已经存在其他发布者 的板间组播通信系统时,向其他发布者和各订阅者发送加入消息;待加入成 员加入子单元13,还用于接收到第二发布者和各订阅者对加入消息发送单元 发送的加入消息的响应消息时,将第二发布者和各订阅者设置为待加入成员。
待加入成员加入单元13 ,还用于接收到新加入板间组播通信系统的其他 发布者发送的加入消息时,向第二发布者发送响应消息,将其他发布者^:置 为待加入成员并加入待加入成员维护单元11。
组播报文发送单元15,还用于根据当前组播报文的发送序号,确定其他 发布者和/或订阅者在成为正式成员前未接收到的组播^^文,将其他发布者和/
17或订阅者在成为正式成员前未接收到的组播报文向其他发布者和/或订阅者发 送。
其中,如图13所示,订阅者处理单元20包括
状态记录子单元21,用于自身角色为订阅者时,记录自身在其他发布者 中作为待加入成员或正式成员的状态;
报文处理子单元22,用于自身角色为订阅者时,向发布者发送加入消息 并接收发布者发送的确认消息;在接收到发布者发送的使能消息时,向发布 者发送使能响应消息;
组播报文接收子单元23 ,用于自身角色为订阅者时,接收发布者发送的 组播报文。
其中,订阅者处理单元还包括
离开消息发送子单元24,用于在离开板间组播通信系统时,向其他发布 者或订阅者发送离开消息;
删除子单元25,用于接收到其他发布者发送的离开消息时,从状态记录 子单元21存储的状态中,删除离开消息对应的发布者。
通过适用本发明提供的作为发布者的网络设备,可以实现存在多个发布 者的组播,且不同发布者能够独立控制订阅者接收组^^艮文的时机而不受其 他发布者的影响。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若千指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
18
权利要求
1、一种控制型组播的实现方法,其特征在于,应用于包括第一发布者以及至少一个订阅者的板间组播通信系统中,所述方法包括所述第一发布者接收到来自发送方的加入消息时,将所述发送方设置为待加入成员,并向所述发送方发送对所述加入消息的确认消息,所述发送方包括第二发布者和/或订阅者;所述第一发布者判断需要将待加入成员中的第二发布者和/或订阅者设置为正式成员时,向所述第二发布者和/或订阅者发送使能消息,以及当前组播报文的发送序号;所述第一发布者接收到所述第二发布者和/或订阅者对所述使能消息的使能响应消息时,将所述第二发布者和/或订阅者设置为正式成员,向所述正式成员发送组播报文。
2、 如权利要求l所述的方法,其特征在于,还包括所述第一发布者将 所述正式成员中的第二发布者和/或订阅者设置为待加入成员,停止发送组播 报文;具体包括所述第一发布者向所述正式成员中的第二发布者和/或订阅者发送去使能 消息;所述第二发布者和/或订阅者接收所述第一发布者的去使能消息,并向所 述第 一发布者发送去〗吏能响应消息;所述第一发布接收到所述去使能响应消息时,将所述第二发布者和/或订 阅者设置为待加入成员。
3、 如权利要求1或2所述的方法,其特征在于,还包括当所述第一发布者、第二发布者或订阅者离开所述板间组播通信系统时, 发送离开消息;接收到所述离开消息的第 一发布者和/或第二发布者删除所述 离开消息对应的組播成员。
4、 如权利要求l或2所述的方法,其特征在于,还包括 所述第二发布者作为新的发布者加入已经存在第一发布者的板间组播通信系统时,所述第二发布者向所述第一发布者和各订阅者发送加入消息; 所述第 一发布者和各订阅者对向所述第二发布者发送响应消息,所述第一发布者将所述第二发布者设置为待加入成员;所述第二发布者接收到响应消息时,将发送所述响应消息的第一发布者 和各订阅者设置为待加入成员。
5、 如权利要求1或2所述的方法,其特征在于,还包括所述第一发布者根据所述当前组播报文的发送序号,确定所述第二发布 者和/或订阅者在成为正式成员前未接收到的组播报文,将所述未接收到的组 播报文向所述第二发布者和/或订阅者发送。
6、 一种网络设备,其特征在于包括发布者处理单元,用于作为发布者,接收到来自发送方的加入消息时, 将所述发送方设置为待加入成员,并向所述发送方发送对所述加入消息的确 认消息,所述发送方包括其他发布者和/或订阅者;判断需要将待加入成员中 的其他发布者和/或订阅者设置为正式成员时,向所述其他发布者和/或订阅者 发送使能消息,以及当前组播报文的发送序号;接收到所述第二发布者和/或 订阅者对所述使能消息的使能响应消息时,将所述其他发布者和/或订阅者设 置为正式成员,向所述正式成员发送组播报文;订阅者处理单元,用于作为订阅者,向发布者发送加入消息并接收所述 发布者发送的确认消息;在接收到所述发布者发送的使能消息时,向所述发 布者发送使能响应消息;并接收所述发布者发送的组播"R文。
7、 如权利要求6所述的网络设备,其特征在于,所述发布者处理单元包括待加入成员维护子单元,用于自身角色为发布者时,存储待加入成员; 正式成员维护子单元,用于自身角色为发布者时,存储正式成员; 待加入成员加入子单元,用于自身角色为发布者时,接收到来自发送方的加入消息时,向所述发送方发送对所述加入消息的确认消息,并将所述发送方设置为待加入成员并加入所迷待加入成员维护子单元,所述发送方包括其他发布者和/或订阅者;正式成员加入子单元,用于自身角色为发布者时,判断需要将待加入成员中的其他发布者和/或订阅者设置为正式成员时,向所述其他发布者和/或订阅者发送使能消息,以及当前组播报文的发送序号;接收到所述其他发布者 和/或订阅者对所述使能消息的使能响应消息时,将所述其他发布者和/或订阅 者设置为正式成员并加入所述正式成员维护子单元;组4番报文发送单元,用于自身角色为发布者时,向所述正式成员维护子 单元中存储的正式成员发送组播报文。
8、如权利要求7所述的网络设备,其特征在于,所述发布者处理单元还 包括正式成员删除子单元,用于将所述正式成员维护子单元中存储的至少一 个正式成员设置为待加入成员并加入所述待加入成员维护子单元,具体用于 向所述正式成员维护子单元中存储的至少一个正式成员发送去使能消息;接 收到所述正式成员发送的去使能响应消息时,将所述正式成员设置为待加入 成员并加入所述4寺加入成员维护子单元;成员删除子单元,用于接收到其他发布者或订阅者发送的离开消息时, 从所述待加入成员维护子单元存储的待加入成员、以及所述正式成员维护子 单元存储的正式成员中,删除所述离开消息对应的组播成员;离开消息发送单元,用于在离开板间组播通信系统时,向其他发布者或 订阅者发送离开消息。加入消息发送子单元,用于作为新的发布者加入已经存在其他发布者的 板间组播通信系统时,向所述其他发布者和各订阅者发送加入消息;所述待 加入成员加入子单元,还用于接收到所述第二发布者和各订阅者对所述加入 消息发送单元发送的加入消息的响应消息时,将所述第二发布者和各订阅者 设置为待加入成员。所述待加入成员加入单元,还用于接收到新加入所述板间组播通信系统 的其他发布者发送的加入消息时,向所述第二发布者发送响应消息,将所述 其他发布者设置为待加入成员并加入所述待加入成员维护单元;所述组播报文发送单元,还用于根据所述当前组播报文的发送序号,确 定所述第二发布者和/或订阅者在成为正式成员前未接收到的组播报文,将所 述未接收到的组播报文向所述第二发布者和/或订阅者发送。
9、 如权利要求6所述的网络设备,其特征在于,所述订阅者处理单元包括状态记录子单元,用于自身角色为订阅者时,记录自身在其他发布者中 作为待加入成员或正式成员的状态;报文处理子单元,用于自身角色为订阅者时,向发布者发送加入消息并 接收所述发布者发送的确认消息;在接收到所述发布者发送的使能消息时, 向所述发布者发送^f吏能响应消息;组播报文接收子单元,用于自身角色为订阅者时,接收发布者发送的组 播报文。
10、 如权利要求9所述的网络设备,其特征在于,所述订阅者处理单元 还包括离开消息发送子单元,用于在离开板间组播通信系统时,向其他发布者 或订阅者发送离开消息;删除子单元,用于接收到其他发布者发送的离开消息时,从所述状态记 录子单元存储的状态中,删除所述离开消息对应的发布者。
全文摘要
本发明公开了一种控制型组播的实现方法和设备。该方法应用于包括第一发布者以及至少一个订阅者的板间组播通信系统中,包括第一发布者接收到来自发送方的加入消息时,将发送方设置为待加入成员,并向发送方发送对加入消息的确认消息,发送方包括第二发布者和/或订阅者;第一发布者判断需要将待加入成员中的第二发布者和/或订阅者设置为正式成员时,向第二发布者和/或订阅者发送使能消息,以及当前组播报文的发送序号;第一发布者接收到第二发布者和/或订阅者对使能消息的使能响应消息时,将第二发布者和/或订阅者设置为正式成员,向正式成员发送组播报文。通过使用本发明,实现了存在多个发布者的组播,且不同发布者能够独立控制订阅者接收组播报文的时机。
文档编号H04L12/18GK101605044SQ20091015802
公开日2009年12月16日 申请日期2009年7月16日 优先权日2009年7月16日
发明者乔会来, 其 杨, 杨荣虎, 牟宣理, 盖建华 申请人:杭州华三通信技术有限公司