CN101651620B - 一种Overlay多播树重构方法、多播树节点及系统 - Google Patents
一种Overlay多播树重构方法、多播树节点及系统 Download PDFInfo
- Publication number
- CN101651620B CN101651620B CN2009101086032A CN200910108603A CN101651620B CN 101651620 B CN101651620 B CN 101651620B CN 2009101086032 A CN2009101086032 A CN 2009101086032A CN 200910108603 A CN200910108603 A CN 200910108603A CN 101651620 B CN101651620 B CN 101651620B
- Authority
- CN
- China
- Prior art keywords
- node
- subsequent use
- father node
- father
- delay
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种Overlay多播树重构方法、多播树节点及系统。其中,所述方法包括:预先为Overlay多播树中的节点确定备用父节点;当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。采用本发明,可大大降低系统开销,避免产生冗余分组流量。
Description
技术领域
本发明涉及多播通信领域,尤其涉及一种Overlay多播树重构方法、多播树节点及系统。
背景技术
多播通信是指将数据从一个源节点发送给多个目的节点的通信机制,它是许多新型网络应用(如视频会议、在线直播、远程教育、网络多媒体广告等实时流媒体系统)的基础通信服务。IP多播是传统的多播方式,高效性是IP多播最大的优点,但是如果要在互联网中广泛部署IP多播网络,则需要特殊的多播路由器来支持。因此,研究者提出重叠/覆盖/应用层多播(Overlay多播)来替代IP多播,该技术的基本思想是不需要任何特殊设备的支持,通过运行一定的多播程序,主机(包括商用电脑、个人电脑等)便能参与多播应用,易于部署和计费。
Overlay多播包括基于主机(端系统)的模型(Host-based)和基于代理服务器的模型(Proxy-based)。Proxy-based模型将一些功能强大的主机按照一定的多播策略部署于网络当中,由它们首先构造一个实现多播转发功能的Overlay网络,其它的功能相对较小的主机作为终端主机,通过接入这些代理服务器获得多播通信服务,Proxy-based是一种典型的两层结构。Host-based模型无需代理服务器先行构建Overlay网络,而直接将多播应用(软件)部署在端系统中,端系统既是接受多播服务的源主机,也是构成Overlay多播网络的中间转发设备。一般将Overlay多播网络称为多播树,构成该多播网络的代理服务器或端系统称为所述多播树上的节点。在Overlay多播网络中,由于组成多播网络的节点(包括端系统和代理服务器)相对较不稳定,一旦退出将导致多播分裂成若干连通分量,退出节点的所有下游节点将无法收到数据分组和控制信息,这一过程将持续直到多播树的拓扑结构获得修复。尤其是当大量中间节点退出时,多播会话的效果将受到更加显著地影响。因此,设计有效的多播树重构方案对于Overlay多播研究具有十分重要的意义。这里,所述的多播树是一次多播数据的数据通信路由构成的连通图,图1即为一个Overlay多播树的组成示意图,如图1所示,该Overlay多播树包括12个节点,其中r为根节点(即数据的源端)、h、i、j、k为叶子节点,其他为中间转发节点,在该图中,上游的节点为下游节点的父节点,比如节点a为节点b和c的父节点,下游节点为上游节点的儿子节点,比如节点b和c为节点a的儿子节点,而同级的节点为兄弟节点,比如节点c为节点a的兄弟节点。
目前,Overlay多播树重构方案的一种方式为主动模式,其基本思想是在节点退出前即对多播重构作预处理,而不是等到退出动作发生后才被动地触发执行多播树修复动作,典型方案是PRM(Probabilistic Resilient Multicast)中所采用的随机转发方法RFM(Randomized Forwarding Method)。在RFM中,多播树上的每个Overlay节点除了完成正常的数据转发任务外,还按照某种既定的策略随机选择常数个Overlay节点,以一个较小的概率向这些常数个Overlay节点转发数据,当部分节点退出后,Overlay节点还可以与其他常数个节点通信,不至于使多播树分裂或通信中断。但是,在RFM中,无论是在节点还是在链路上都存在一定数量的重复分组,这种处理方法需要耗费较多的系统资源。
发明内容
本发明实施例所要解决的技术问题在于,提供一种Overlay多播树重构方法、一种Overlay多播树节点及一种Overlay多播系统,可大大降低系统开销,避免产生冗余分组流量。
鉴于此,本发明实施例提供了一种Overlay多播树重构方法,该方法包括:
当触发条件满足时,节点从所述节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者所述节点的父节点的兄弟节点,且所述备用父节点的有用度大于等于1;
所述节点轮询所述备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时,并将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点;
当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
本发明实施例的Overlay多播树重构方法,在Overlay中的节点发生退出前,预先为发生退出的节点的儿子节点确定备用父节点,当有节点退出,所述节点的儿子节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在儿子节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。
相应的,本发明实施例还提供了一种Overlay多播树节点,该节点包括确定单元和重构单元,所述确定单元进一步包括获知单元、计算单元以及确定子单元,其中:
所述获知单元,用于当触发条件满足时,从节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者所述节点的父节点的兄弟节点,且所述备用父节点的有用度大于等于1;
所述计算单元,用于轮询所述获知单元获得的备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时;
所述确定子单元,用于将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点;
所述重构单元,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
本发明实施例的Overlay多播树节点,在其父节点发生退出前,预先为自身确定备用父节点,当其父节点退出,所述节点以确定的备用父节点作为新的父节点加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,在儿子节点重新加入Overlay多播树,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。
相应的,本发明实施例提供了一种Overlay多播系统,包括根节点、所述根节点的儿子节点,其特征在于,还包括如前所述的Overlay多播树节点。
本发明实施例的Overlay多播系统,包括的多播树节点可以在所述节点父节点发生退出前,预先为自身确定备用父节点,当其父节点退出,所述节点以确定的备用父节点作为新的父节点加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,在儿子节点重新加入Overlay多播树,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一个Overlay多播树的组成示意图;
图2是本发明实施例提供的Overlay多播树重构方法的第一实施例流程示意图;
图3是本发明实施例提供的Overlay多播树重构方法的第二实施例流程示意图;
图4是本发明实施例提供的Overlay多播树重构方法的第三实施例流程示意图;
图5是本发明实施例提供的Overlay多播树节点的第一实施例结构组成示意图;
图6是本发明实施例提供的Overlay多播树节点的第二实施例结构组成示意图;
图7是本发明实施例提供的Overlay多播树节点的第三实施例结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了Overlay多播树重构方法,本发明实施例的方法可用于Host-based模型的重构,也可以用于Proxy-based模型的重构。其中的Host-based或Proxy-based模型系统具体可为视频会议、在线直播、远程教育、网络多媒体广告等实时流媒体系统。下述方法中的节点可为Host-based模型中的端系统,或者可为Proxy-based模型中的代理服务器。
图2是本发明实施例提供的Overlay多播树重构方法的第一实施例流程示意图,如图2所示,本实施例的方法包括:
步骤S200,预先为Overlay多播树中的节点确定备用父节点;具体实现中,步骤S200可以是在特定触发条件满足的情况下执行,比如当多播树出现故障(节点数据传输性能变差,数据转发速率变慢等)时,或达到预设的触发时间周期(比如,预设一天确定一次备用父节点)。具体实现中,所述确定的备用父节点可以为所述节点的父节点的所有上游节点,以及所述父节点的兄弟节点,所述上游节点指从根节点起始到所述节点的父节点的所有中间节点。具体实现中,所述节点可为所述Overlay多播树中的非根节点和非根节点的儿子节点。
步骤S201,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
本实施例的Overlay多播树重构方法,在Overlay中的节点发生退出前,预先为发生退出的节点的儿子节点确定备用父节点,当有节点退出,所述节点的儿子节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在儿子节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。
图3是本发明实施例提供的Overlay多播树重构方法的第二实施例流程示意图,如图3所示,本实施例的方法包括:
步骤S300,当触发条件满足时,Overlay多播树中的节点从所述节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1;其中,所述触发条件满足可为当多播树出现故障(节点数据传输性能变差,数据转发速率变慢等)时,或达到预设的触发时间周期(比如,预设一天确定一次备用父节点)。其中,所述有用度反映了Overlay多播树中某节点作为其他节点的备用父节点的能力,且所述能力信息可通过各种参数指标进行量化,本实施例中的备用父节点的有用度就需要满足大于等于1的限制。具体实现中,对备用父节点有用度进行计算时,可计算所述备用父节点的有用度最大值,然后判断所述最大值是否大于或等于1,因为如果有用度最大值能大于等于1则表示所述有用度能取到大于等于1的值,那么就可判定有用度最大值大于等于1的备用父节点是是符合有用度需求的备用父节点。具体实现中,所述父节点的父节点的有用度最大值等于所述节点的父节点能同时连接的儿子节点数减去所述节点的父节点实际连接的儿子数加1;而所述父节点的父节点的兄弟节点的有用度最大值等于所述节点的父节点的父节点的兄弟节点能同时连接的儿子节点数减去所述节点的父节点的父节点的兄弟节点实际连接的儿子数。
进一步,步骤S300中多播树中的节点从所述节点的父节点处获知所述节点的备用父节点集的方式具体可包括:
当所述节点的父节点获知所述触发条件满足时,获得所述节点的父节点的父兄集合,所述父兄集合包括所述节点的父节点的父节点和所述节点的父节点的兄弟节点;具体实现中,所述父节点可通过向其父节点发送父兄集合请求消息(PareAndBrosReqMsg消息)请求其父兄集合,所述父节点的父节点可通过父兄集合应答消息(PareAndBrosAckMsg消息)将父兄集合反馈给所述父节点。
所述节点的父节点从所述父兄集合中计算备用父节点集,并将所述备用父节点集发送给所述节点,所述计算的备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1。具体实现中,所述节点的父节点可通过备用父节点延时探测请求消息(BackupDelayReqMsg消息)将所述节点的备用父节点集发送给所述节点。
步骤S301,所述节点轮询所述备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时。具体实现中,步骤S301具体可以为节点依次与所述备用父节点集中的各备用父节点交互延时探测消息,并通过所述延时探测消息,计算出所述节点到各备用父节点的延时。比如节点可向各备用父节点发送探测报文,在发送报文时记录时间,各备用父节点接收到所述探测报文时,记录接收时间,并将接收时间反馈给所述节点,这样节点就可以通过计算时间差确定到各备用父节点的延时。或者,节点向各备用父节点发送探测报文,记录探测报文到达各备用父节点并返回自己的时间,通过这个时间确定到各备用父节点的延时。
步骤S302,将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
步骤S303,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。具体实现中,所述节点可通过向所述节点的备用父节点发送重新加入请求消息(RejoinReqMsg消息),备用父节点向其发送重新加入确认消息(RejoinAckMsg消息),这样通过一次交互就可完成节点的重新加入。
本实施例的Overlay多播树重构方法,在某个节点的父节点退出Overlay多播树前,预先为所述节点确定备用父节点,当所述节点的父节点退出时,所述节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在所述节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。并且本实施例将作为节点的备用父节点的范围限定在所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1,更进一步缩小备用父节点的范围,可加快备用父节点的确定速率。
图4是本发明实施例提供的Overlay多播树重构方法的第三实施例流程示意图,如图4所示,本实施例的方法包括:
步骤S400,当触发条件满足时,Overlay多播树中的节点从所述节点的父节点处获知所述节点的备用父节点集;该步骤可与步骤S300相同,在此不赘述。
步骤S401,所述节点轮询所述备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时。该步骤可与步骤S301相同,在此不赘述。
步骤S402,判断到所述节点的最短的延时是否小于等于所述节点到所述节点的父节点的延时,如果判断为是,执行步骤S403;如果判断为否,判定不能为所述节点找到合适的备用父节点,触发Overlay多播树进行整个网络的优化控制,并在优化控制后,重新启动本发明实施例的Overlay多播树重构方法,或者如果判断为否,可进一步判断到所述节点的最短的延时是否小于等于预设的多播树延时上限,并根据该判断的判断结果确定是否执行步骤403。具体实现中,步骤S402还可由以下步骤S4020(该步骤未图示)替换,该步骤S4020包括:判断到所述节点的最短的延时是否小于等于预设的多播树的延时上限,如果判断为是,执行步骤S403;如果判断为否,判定不能为所述节点找到合适的备用父节点,触发Overlay多播树进行整个网络的优化控制,并在优化控制后,重新启动本发明实施例的Overlay多播树重构方法。
步骤S403,将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
步骤S404,所述节点更新备用父节点集,将所述确定的备用父节点的有用度减1,当所述确定的备用父节点的有用度减1后为零时,将所述确定的备用父节点从所述备用父节点集中删除,并将更新结果发送给我所述节点的父节点。执行步骤S404之后,可方便所述节点的父节点将最新的备用父节点集发送给其他的儿子节点,方便那些儿子节点在更小更精确的范围内确定自己的备用父节点。
步骤S405,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
本实施例的Overlay多播树重构方法,在某个节点的父节点退出Overlay多播树前,预先为所述节点确定备用父节点,当所述节点的父节点退出时,所述节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在所述节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。并且本实施例将作为节点的备用父节点的范围限定在所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1,更进一步缩小备用父节点的范围,可加快备用父节点的确定速率。并且本实施例在完成备用父节点确定之后,及时更新备用父节点集并将更新结果反馈给节点的父节点,可方便所述节点的父节点将最新的备用父节点集发送给其他的儿子节点,方便那些儿子节点在更小更精确的范围内确定自己的备用父节点。
具体实现中,多播树中的每个节点都可以根据自身的维护的拓扑信息独立完成计算,能够适应多个局部的若干节点同时退出的复杂情况,具有可扩展性和动态适应性两方面的优势。
相应的,本发明实施例提供了一种Overlay多播系统。所述Overlay多播系统除包括根节点和所述根节点的儿子节点,除此之为还包括所述根节点的儿子节点的下游节点,本发明实施例中,所述下游节点可用于预先为本节点确定备用父节点;并当本节点检测到本节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。具体实现中,本发明实施例的Overlay多播系统可为Host-based模型的系统,也可以为Proxy-based模型的系统。其中的Host-based或Proxy-based模型系统具体可为视频会议、在线直播、远程教育、网络多媒体广告等实时流媒体系统。参考图1所示的多播树组成示意图可知,其中r为根节点、b、c所述根节点的儿子节点,其他节点,包括d、e、h、i、j、f、g、k为b或c的下有节点,这些节点可用于预先为本节点确定备用父节点;并当本节点检测到本节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。本发明实施例的Overlay多播系统可为Host-based模型的多播树,也可为Proxy-based模型的多播树。下述多播树中的节点可为Host-based模型中的端系统,或者可为Proxy-based模型中的代理服务器。
下面结合具体实施例对这些下游节点进行详细说明。
图5是本发明实施例提供的Overlay多播树节点的第一实施例结构组成示意图,如图5所示,所述节点包括确定单元50和重构单元53,其中,
所述确定单元50,用于预先为本节点确定备用父节点;具体实现中,所述确定单元50可以是在特定触发条件满足的情况下为本节点确定备用父节点,比如当多播树出现故障(节点对分组数据传输性能变差,数据转发速率变慢等)时,或达到预设的触发时间周期(比如,预设一天确定一次备用父节点)。具体实现中,所述确定的备用父节点可以为所述节点的父节点的所有上游节点,以及所述父节点的兄弟节点,所述上游节点指从根节点起始到所述节点的父节点的所有中间节点。具体实现中,本实施例中的多播树中的节点可为所述Overlay多播树中的非根节点和非根节点的儿子节点。
所述重构单元53,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
本实施例的Overlay多播树节点,在其父节点发生退出前,预先为自身确定备用父节点,当其父节点退出,所述节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在所述节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。
图6是本发明实施例提供的Overlay多播树节点的第二实施例结构组成示意图,如图6所示,本实施例的节点包括确定单元60和重构单元63,其中,
所述确定单元60,用于预先为本节点确定备用父节点.进一步所述确定单元60包括获知单元601、计算单元602以及确定子单元603;
所述获知单元601用于当触发条件满足时,从所述节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1;其中,所述触发条件满足可为当多播树出现故障(节点的分组数据传输性能变差,数据转发速率变慢等)时,或达到预设的触发时间周期(比如,预设一天确定一次备用父节点)。其中,所述有用度反映了Overlay多播树中某节点作为其他节点的备用父节点的能力,且所述能力信息可通过各种参数指标进行量化,本实施例中的备用父节点的有用度就需要满足大于等于1的限制。具体实现中,对备用父节点有用度进行计算时,可计算所述备用父节点的有用度最大值,然后判断所述最大值是否大于或等于1,因为如果有用度最大值能大于等于1则表示所述有用度能取到大于等于1的值,那么就可判定有用度最大值大于等于1的备用父节点是是符合有用度需求的备用父节点。具体实现中,所述父节点的父节点的有用度最大值等于所述节点的父节点能同时连接的儿子节点数减去所述节点的父节点实际连接的儿子数加1;而所述父节点的父节点的兄弟节点的有用度最大值等于所述节点的父节点的父节点的兄弟节点能同时连接的儿子节点数减去所述节点的父节点的父节点的兄弟节点实际连接的儿子数。
进一步,所述获知单元601从所述节点的父节点处获知所述节点的备用父节点集的方式具体可包括:
当所述节点的父节点获知所述触发条件满足时,获得所述节点的父节点的父节点的父兄集合,所述父兄集合包括所述节点的父节点的父节点和所述节点的父节点的兄弟节点;具体实现中,所述父节点可通过向其父节点发送父兄集合请求消息(PareAndBrosReqMsg消息)请求其父兄集合,所述父节点的父节点可通过父兄集合应答消息(PareAndBrosAckMsg消息)将父兄集合反馈给所述父节点。
所述节点的父节点从所述父兄集合中计算备用父节点集,并将所述备用父节点集发送给所述节点,所述计算的备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1。具体实现中,所述节点的父节点可通过备用父节点延时探测请求消息(BackupDelayReqMsg消息)将所述节点的备用父节点集发送给所述节点。
所述计算单元602,用于轮询所述获知单元601获得的备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时;可选的,所述计算单元602可进一步包括接口单元6021和计算子单元6022,其中,
所述接口单元6021,用于通过轮询的方式与所述获知单元601获得的备用父节点集中的各备用父节点交互延时探测消息;
所述计算子单元6022,用于通过所述接口单元6021与各备用父节点间交互的延时探测消息,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时。
具体实现中,接口单元6021可依次与所述备用父节点集中的各备用父节点交互延时探测消息,所述计算子单元6022通过所述延时探测消息,计算出所述节点到各备用父节点的延时。比如接口单元6021可向各备用父节点发送探测报文,在发送报文时记录时间,各备用父节点接收到所述探测报文时,记录接收时间,并将接收时间反馈给所述接口单元6021,这样所述计算子单元6022就可以通过计算时间差确定到各备用父节点的延时。或者,接口单元6021向各备用父节点发送探测报文,记录探测报文到达各备用父节点并返回自己的时间,所述计算子单元6022通过这个时间确定到各备用父节点的延时。
所述确定子单元603,用于将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
所述重构单元63用于当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。具体实现中,所述重构单元63可通过向所述节点的备用父节点发送重新加入请求消息(RejoinReqMsg消息),备用父节点向该重构单元63发送重新加入确认消息(RejoinAckMsg消息),这样通过一次交互就可完成节点的重新加入。
本实施例的Overlay多播树节点,在其父节点发生退出前,预先为自身确定备用父节点,当其父节点退出,所述节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在所述节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。并且本实施例将作为节点的备用父节点的范围限定在所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1,更进一步缩小备用父节点的范围,可加快备用父节点的确定速率。
图7是本发明实施例提供的Overlay多播树节点的第三实施例结构组成示意图,如图7所示,本实施例的节点包括确定单元70和重构单元73以及更新单元75,其中,
所述确定单元70用于预先为本节点确定备用父节点.进一步所述确定单元70包括获知单元701、计算单元702以及确定子单元703,除此之外还包括第一判断单元704和第二判断单元705中至少一个。进一步,
所述获知单元701、计算单元702以及确定子单元703的功能分别与图6中获知单元601、计算单元602以及确定子单元603功能相同,因此在此不赘述。
所述第一判断单元704用于判断所述确定的最短的延时是否小于等于所述节点到所述节点的父节点的延时,如果判断为是,通知所述确定子单元703将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。具体实现中,如果所述第一判断单元704的判断结果为否时,判定不能为所述节点找到合适的备用父节点,触发Overlay多播树进行整个网络的优化控制,并在优化控制后,重新启动本发明实施例的Overlay多播树重构方法;或者当本实施例还包括第二判断单元705时,当所述第一判断单元704的判断结果为否,可将判断为否的结果通知所述第二判断单元704,
所述第二判断单元705用于判断到所述节点的最短的延时是否小于等于预设的多播树延时上限,如果判断为是,通知所述确定子单元703将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。如果所述第二判断单元705的判断为否,判定不能为所述节点找到合适的备用父节点,触发Overlay多播树进行整个网络的优化控制,并在优化控制后,重新启动本发明实施例的Overlay多播树重构方法。
当然具体实现中本实施例的Overlay多播树节点也可不包括第一判断单元704,而包括第二判断单元705,此时第二判断单元705并不需要在第一判断单元704判断为否是启动,而是直接启动,并判断到所述节点的最短的延时是否小于等于预设的多播树延时上限,如果判断为是,通知所述确定子单元703将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。如果所述第二判断单元705的判断为否,判定不能为所述节点找到合适的备用父节点,触发Overlay多播树进行整个网络的优化控制,并在优化控制后,重新启动本发明实施例的Overlay多播树重构方法。
所述重构单元73与图6中重构单元63功能相同,在此不赘述。
所述更新单元75,用于将所述确定的备用父节点的有用度减1,当所述确定的备用父节点的有用度减1后为零时,将所述确定的备用父节点从所述备用父节点集合中删除,并将更新结果发送给所述节点的父节点。当所述更新单元75对备用父节点集进行更新后,可方便所述节点的父节点将最新的备用父节点集发送给其他的儿子节点,方便那些儿子节点在更小更精确的范围内确定自己的备用父节点。
本实施例的Overlay多播树节点,在其父节点发生退出前,预先为自身确定备用父节点,当其父节点退出,所述节点以确定的备用父节点作为新的父节点重新加入Overlay多播树,进而可以通过一次交互快速重新加入Overlay多播树,实现多播树的重构,本发明实施例,在所述节点重新加入Overlay多播树前,不需要与备用父节点进行分组冗余交互,因此可大大降低系统开销,避免产生冗余分组流量。并且本实施例将作为节点的备用父节点的范围限定在所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1,更进一步缩小备用父节点的范围,可加快备用父节点的确定速率。并且本实施例将作为节点的备用父节点的范围限定在所述节点的父节点的父节点或者兄弟节点,且所述备用父节点的有用度大于等于1,更进一步缩小备用父节点的范围,可加快备用父节点的确定速率。并且本实施例在完成备用父节点确定之后,及时更新备用父节点集并将更新结果反馈给节点的父节点,可方便所述节点的父节点将最新的备用父节点集发送给其他的儿子节点,方便那些儿子节点在更小更精确的范围内确定自己的备用父节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种Overlay多播树重构方法,其特征在于,包括:
当触发条件满足时,节点从所述节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者所述节点的父节点的兄弟节点,且所述备用父节点的有用度大于等于1;
所述节点轮询所述备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时,并将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点;
当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
2.如权利要求1所述的多播树重构方法,其特征在于,所述轮询所述备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点包括:
所述节点通过轮询的方式与所述备用父节点集中的各备用父节点交互延时探测消息;
通过所述延时探测消息,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时,并将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
3.如权利要求1或2所述的多播树重构方法,其特征在于,所述节点从所述节点的父节点处获知所述节点的备用父节点集包括:
当所述节点的父节点获知所述触发条件满足时,获得所述节点的父节点的父兄集合,所述父兄集合包括所述节点的父节点的父节点和所述节点的父节点的兄弟节点;
所述节点的父节点从所述父兄集合中计算备用父节点集,并将所述备用父节点集发送给所述节点,所述计算的备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者所述节点的父节点的兄弟节点,且所述备用父节点的有用度大于等于1。
4.如权利要求3所述的多播树重构方法,其特征在于,所述触发条件满足包括所述多播树出现故障或达到预设的触发时间周期。
5.如权利要求1或2所述的多播树重构方法,其特征在于,所述将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点之前,还包括:
判断到所述节点的最短的延时是否小于等于所述节点到所述节点的父节点的延时;
如果判断为是,将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
6.如权利要求1或2所述的多播树重构方法,其特征在于,所述将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点之前,还包括:
判断到所述节点的最短的延时,是否小于等于预设的多播树延时上限,
如果判断为是,将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
7.如权利要求1或2所述的多播树重构方法,其特征在于,所述将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点之后,还包括:
所述节点更新备用父节点集,将所述确定的备用父节点的有用度减1,当所述确定的备用父节点的有用度减1后为零时,将所述确定的备用父节点从所述备用父节点集中删除,并将更新结果发送给所述节点的父节点。
8.如权利要求1所述的多播树重构方法,其特征在于,所述节点包括代理服务器或端系统。
9.一种Overlay多播树节点,其特征在于,包括确定单元和重构单元,所述确定单元进一步包括获知单元、计算单元以及确定子单元,其中:
所述获知单元,用于当触发条件满足时,从节点的父节点处获知所述节点的备用父节点集,所述备用父节点集中包括的备用父节点是所述节点的父节点的父节点或者所述节点的父节点的兄弟节点,且所述备用父节点的有用度大于等于1;
所述计算单元,用于轮询所述获知单元获得的备用父节点集中的备用父节点,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时;
所述确定子单元,用于将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点;
所述重构单元,当所述节点检测到所述节点的父节点退出所述Overlay多播树时,以所述备用父节点作为父节点重新加入所述Overlay多播树。
10.如权利要求9所述的节点,其特征在于,所述计算单元包括:
接口单元,用于通过轮询的方式与所述获知单元获得的备用父节点集中的各备用父节点交互延时探测消息;
计算子单元,用于通过所述接口单元与各备用父节点间交互的延时探测消息,计算出所述节点到各备用父节点的延时,并确定到所述节点的最短的延时。
11.如权利要求9或10所述的节点,其特征在于,所述确定单元还包括:
第一判断单元,用于判断所述确定的最短的延时是否小于等于所述节点到所述节点的父节点的延时,如果判断为是,通知所述确定子单元将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
12.如权利要求9或10所述的节点,其特征在于,所述确定单元还包括:
第二判断单元,用于判断所述确定的最短的延时是否小于等于预设的多播树延时上限,通知所述确定子单元将到所述节点的延时最短的备用父节点确定为所述节点的备用父节点。
13.如权利要求9或10所述的节点,其特征在于,还包括:
更新单元,用于将所述确定的备用父节点的有用度减1,当所述确定的备用父节点的有用度减1后为零时,将所述确定的备用父节点从所述备用父节点集中删除,并将更新结果发送给所述节点的父节点。
14.如权利要求9所述的节点,其特征在于,所述节点为代理服务器或端系统。
15.一种Overlay多播系统,包括根节点、所述根节点的儿子节点,其特征在于,还包括如权利要求9-10中任一项所述的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101086032A CN101651620B (zh) | 2009-07-03 | 2009-07-03 | 一种Overlay多播树重构方法、多播树节点及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101086032A CN101651620B (zh) | 2009-07-03 | 2009-07-03 | 一种Overlay多播树重构方法、多播树节点及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101651620A CN101651620A (zh) | 2010-02-17 |
CN101651620B true CN101651620B (zh) | 2012-02-08 |
Family
ID=41673740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101086032A Active CN101651620B (zh) | 2009-07-03 | 2009-07-03 | 一种Overlay多播树重构方法、多播树节点及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101651620B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958845B (zh) * | 2010-11-02 | 2012-07-04 | 武汉大学 | 一种覆盖网络环境下的多播路由树前向式重构恢复方法 |
CN102694833B (zh) * | 2011-03-22 | 2015-07-29 | 日电(中国)有限公司 | 多播树建立方法及多播系统中的服务器和节点 |
CN102355464B (zh) * | 2011-10-10 | 2013-11-06 | 西安交通大学 | 具有生存性的Overlay 网络构建方法 |
CN102739517B (zh) * | 2012-05-25 | 2015-10-07 | 中国人民解放军国防科学技术大学 | 基于层叠网络的路由选择方法及系统 |
CN105578211B (zh) * | 2015-12-16 | 2018-09-07 | 深圳市网心科技有限公司 | 基于无限服务节点的直播加速网络卡顿优化方法及系统 |
CN111064646B (zh) * | 2019-12-03 | 2022-01-11 | 北京东土科技股份有限公司 | 基于宽带现场总线的环网冗余方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304405A (zh) * | 2008-04-30 | 2008-11-12 | 中山大学 | 一种基于svc的p2p流媒体传输方法 |
-
2009
- 2009-07-03 CN CN2009101086032A patent/CN101651620B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304405A (zh) * | 2008-04-30 | 2008-11-12 | 中山大学 | 一种基于svc的p2p流媒体传输方法 |
Non-Patent Citations (1)
Title |
---|
杨音颖 等.一个应用层组播系统的研究与实现.《计算机工程》.2006,第32卷(第8期),第147-149页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101651620A (zh) | 2010-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101651620B (zh) | 一种Overlay多播树重构方法、多播树节点及系统 | |
JP4857262B2 (ja) | エンド・ツー・エンドの信頼性のあるグループ通信のための方法および装置 | |
US7474631B2 (en) | On-demand group communication services with quality of service (QoS) guarantees | |
US9143333B2 (en) | System and method for multicast transmission | |
CN101222414B (zh) | 实现组播通信的装置、系统和方法 | |
CN102883190B (zh) | 优化分配带宽的点播方法和装置 | |
CN105359457A (zh) | 用于在icn上的大规模会议的多层推送混合服务控制架构 | |
CN101459618A (zh) | 虚拟机网络的数据包转发方法和装置 | |
CN100596141C (zh) | 优化建立pim-dm路由表项的方法 | |
US8345576B2 (en) | Methods and systems for dynamic subring definition within a multi-ring | |
CN106059936A (zh) | 云系统组播文件的方法及装置 | |
CN101123526A (zh) | 一种大规模流媒体传输结构的实现方法 | |
CN102694833A (zh) | 多播树建立方法及多播系统中的服务器和节点 | |
CN102088394A (zh) | 消息文件的传送方法和装置 | |
Bartczak et al. | Lightweight PIM—a new multicast routing protocol | |
Hofmann et al. | Impact of virtual group structure on multicast performance | |
CN1316783C (zh) | 一种用于应用层组播的数据恢复方法 | |
CN101286925B (zh) | 检测是否会出现重复的组播数据包的方法及装置 | |
CN101848169A (zh) | 一种集群管理中的报文转发方法和交换机 | |
CN102035894A (zh) | 一种基于距离的状态同步方法 | |
Malhotra et al. | LRRM: a randomized reliable multicast protocol for optimizing recovery latency and buffer utilization | |
Jin et al. | TCMM: hybrid overlay strategy for P2P live streaming services | |
Cao et al. | A fault-tolerant group communication protocol in large scale and highly dynamic mobile next-generation networks | |
CN103501289A (zh) | 一种多链接透明互联网络中组播分发树的剪切方法及装置 | |
Galdames et al. | A subscription overlay network for large-scale and cost-efficient any source multicast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: 518000 Guangdong province Futian District Shangbu Road West of the city of Shenzhen Shenzhen science and technology building 15 layer (1502-1504, 1506) Patentee after: CHINA NUCLEAR POWER TECHNOLOGY RESEARCH INSTITUTE Address before: 518000 Guangdong city of Shenzhen province Futian District science and technology building, Shangbu Road 15 Patentee before: Zhongkehua Nuclear Power Technology Institute Co., Ltd. |