动态路由广播报文的广播控制方法和装置与流程

文档序号:18105388发布日期:2019-07-06 11:37阅读:258来源:国知局
动态路由广播报文的广播控制方法和装置与流程

本发明涉及互联网数据传输领域,尤其涉及一种用于数据传输系统的动态路由广播报文的广播控制方法和装置。



背景技术:

随着互联网的不断发展,数据传输系统的应用范围越来越广,银行、餐饮、物流等行业均研发出了配套的数据传输系统用于实现数据的分级统一管理,其中,现有的数据传输系统主要采用汇聚式架构,如图1所示,多个下级节点逐层汇聚,其中,上级节点的数量少于下级节点的数量,下级节点向上级节点发送监控数据报文,实现数据汇总传输,上级节点向下级节点发送监控管理报文,实现数据下发和节点管理。

现有数据传输系统在上下级节点之间的已有通信链路的链接异常或上下级节点之间创建了新的链接时,均会触发动态路由广播报文。但是,现有广播方式在某条链接状态不稳定、存在时断时连情况时,会多次触发广播,引起大范围的处理多个动态路由广播报文,影响范围将从一条链路扩大至多条链路,严重影响了数据传输系统的正常工作。



技术实现要素:

有鉴于此,本发明提供一种用于数据传输系统的动态路由广播报文的广播控制方法和装置、电子设备以及计算机可读存储介质,采用延迟发送广播报文的方式,解决某条链接时断时连导致多次触发广播,引起大范围的处理多个动态路由广播报文,影响范围将从一条链路扩大至多条链路,严重影响了数据传输系统的正常工作的问题。

为了实现上述目的,本发明采用如下技术方案:

第一方面,提供一种用于数据传输系统的动态路由广播报文的广播控制方法,包括:

判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;

若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

进一步地,在判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常之前,还包括:

判断第三预设时间内是否收与当前节点联通的下级节点或上级节点发送的报文。

进一步地,该延迟第一预设时间后与当前节点联通的上级节点或下级节点发送动态路由广播报文之前,还包括:

将异常的通信链路标识为正在关闭状态;

该延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,包括:

延迟第一预设时间后搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,标识为正在关闭状态的通信链路;

向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示搜索到的通信链路异常的信息。

进一步地,该判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常,包括:

采用心跳探测机制判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

进一步地,该采用心跳探测机制判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常,包括:

向与当前节点联通的下级节点或上级节点发送心跳探测数据包;

判断第二预设时间内是否收到该心跳探测数据包的响应;

若否,则判断当前节点与该下级节点或上级节点之间的通信链路异常。

第二方面,提供一种用于数据传输系统的动态路由广播报文的广播控制装置,包括:

通信链路异常判断模块,判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;

延迟广播模块,在当前节点和与其联通的下级节点或上级节点之间的通信链路异常时,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

进一步地,动态路由广播报文的报文广播控制装置还包括:

报文接收判断模块,判断第三预设时间内是否收与当前节点联通的下级节点或上级节点发送的报文。

进一步地,动态路由广播报文的报文广播控制装置还包括:

标识模块,将异常的通信链路标识为正在关闭状态;

该延迟广播模块包括:

延时搜索单元,延迟第一预设时间后搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,标识为正在关闭状态的通信链路;

报文发送单元,向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示搜索到的通信链路异常的信息。

进一步地,该通信链路异常判断模块包括:

心跳探测单元,采用心跳探测机制判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

进一步地,该心跳探测单元包括:

数据发送子单元,向与当前节点联通的下级节点或上级节点发送心跳探测数据包;

响应接收子单元,判断第二预设时间内是否收到该心跳探测数据包的响应;

异常判断子单元,在第二预设时间内未收到该心跳探测数据包的响应时,判断当前节点与该下级节点或上级节点之间的通信链路异常。

第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:

判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;

若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,所述动态路由广播报文包括表示该通信链路异常的信息。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现:

判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;

若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,所述动态路由广播报文包括表示该通信链路异常的信息。

本发明提供的用于数据传输系统的动态路由广播报文的广播控制方法和装置、电子设备以及计算机可读存储介质,该广播控制方法包括:判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。其中,当发现通信链路异常后,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

另外,本发明提供的动态路由广播报文的广播控制方法和装置、电子设备以及计算机可读存储介质,该报文广播控制方法通过将一定时间内需要广播的多个报文合并为一条报文进行广播,有效利用资源,减少了广播报文的数量,提高了广播的效率。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为现有数据传输系统的架构图;

图2为两个节点之间通信链路的示意图;

图3为三级节点之间的通信链路的示意图;

图4为本发明实施例中数据传输系统的架构图;

图5是本发明实施例中的动态路由广播报文的广播控制方法的流程示意图一;

图6是本发明实施例中的动态路由广播报文的广播控制方法的流程示意图二;

图7是本发明实施例中的动态路由广播报文的广播控制方法的流程示意图三;

图8示出了图5至图7中步骤s100的具体步骤;

图9是本发明实施例中的动态路由广播报文的广播控制装置的结构框图一;

图10为本发明实施例电子设备的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

现有数据传输系统在上下级节点之间的已有通信链路的链接异常或上下级节点之间创建了新的链接时,均会触发动态路由广播报文。但是,现有广播方式在某条链接状态不稳定、存在时断时连情况时,会多次触发广播,引起大范围的处理多个动态路由广播报文,影响范围将从一条链路扩大至多条链路,严重影响了数据传输系统的正常工作。

本发明提供的用于数据传输系统的动态路由广播报文的广播控制方法和装置、电子设备以及计算机可读存储介质,该广播控制方法包括:判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。其中,当发现通信链路异常后,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

图2为两个节点之间通信链路的示意图,该节点可以为一种服务器s1,参见图2,该服务器b1(可以理解为b1节点)可以与至少一个终端设备c2(可以理解为c2节点)通信连接,所述终端设备c2可以通过二者之间的通信链路将监控数据报文发送至所述服务器b1,所述服务器b1通过二者之间的通信链路接收监控数据报文,也可以通过二者之间的通信链路发送监控管理报文至所述终端设备c2。所述终端设备c2为用户提供输入接口。

另外,参见图3,该服务器b1还可以与至少一个服务器a1通信连接,所述服务器a1用于存储数据并管理b1和c2,c2中的监控数据报文可以通过b1汇总至a1。

基于上述内容,所述终端设备c2可以具有显示界面,使得用户能够根据界面进行操作。

可以理解的是,所述终端设备c2可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。

所述服务器与所述终端设备c2之间以及服务器之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如tcp/ip协议。

在实际应用中,进行动态路由广播报文的广播控制方法的部分可以在如上述内容所述的终端设备c2侧执行,即,如图2或图3所示的架构,也可以所有的操作都在所述服务器中完成。

即可以将图2或图3所示架构中服务器和终端均看作是网络拓扑中的节点,执行本发明实施例中提供的动态路由广播报文的广播控制方法。

图4为本发明实施例中数据传输系统的架构图。如图4所示,该网络拓扑中包含三级节点,a1和a2代表顶层节点,是b1、b2、b3的上级节点,c1、c2、c3、c4为底层节点,是b1、b2、b3的下级节点。

图中,实线代表已经存在的路由信息,虚线为逐步增加的新路由信息。

a级节点需要汇聚所有下级节点的报文,其中a2作为a1的备份节点,具有完全相同的功能,下级节点的报文发送给a1或者a2没有差别。b级节点各不相同,不仅需要向a级节点发送各自的报文,并且需要转发下级节点的上行报文。c级节点各不相同,均需要通过b级节点向a级节点发送报文,不存在下级节点。此场景仅作为描述功能的简单示例,本方案实际支持任意层数的场景,不局限于三层,顶级节点(a级)不局限于主备配置,也支持多活(多活是指一个下级节点对应多个上级节点,同时与多个上级节点建立通信链路,工作时通过多个通信链路向上级节点传输报文)。

需要说明的是,图4所示的场景不存在同级节点之间的信息交互。

其中,下级节点对应有多个上级节点,在某一上级节点异常时,可以选择其他节点传输信息,避免了信息中断。

另外,各节点可采用服务器或终端实现。

各节点中设有用于执行本发明实施例提供的动态路由广播报文的广播控制方法的软件(app),各级节点使用的app完全相同,仅静态配置存在不同。

值得说明的是,动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。

动态路由机制的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换以及对路由表的维护。其中,动态路由之所以能根据网络的情况自动计算路由、选择转发路径,是由于当网络发生变化时,路由器之间彼此交换的路由信息会告知对方网络的这种变化,通过信息扩散使所有路由器都能得知网络变化;路由器根据某种路由算法(不同的动态路由协议算法不同)把收集到的路由信息加工成路由表,供路由器在转发ip报文时查阅。在网络发生变化时,收集到最新的路由信息后,路由算法重新计算,从而可以得到最新的路由表。

为了有效防止通信抖动,本申请实施例提供一种动态路由广播报文的广播控制方法,该方法可在图4所示网络拓扑中的任一节点中执行,参见图5,该动态路由广播报文的广播控制方法具体包括以下内容:

步骤s100:判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

若是,执行步骤s200;若否,停止方法流程。

可以理解的是,当网络拓扑中的通信链路处于稳定状态,没有出现变动,则不需要进行动态路由广播,当网络拓扑中的某一或多个通信链路异常时,需要在全网进行动态路由广播,以便网络拓扑中的各相关节点得知该通信链路异常的情况,以便在进行业务处理时,不再选择该通信链路进行业务,由此提高通信的可靠性和效率。

具体地,可以采用心跳探测机制判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

其中,心跳机制是向目标发送一个自定义的结构体(心跳包),让对方知道自己还活着,若接收到对方的响应,就能判断出对方还活着,以确保连接的有效性的机制。

步骤s200:延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

其中,若探测到当前节点和与其联通的下级节点之间的通信链路异常时,延迟第一预设时间后向与其连通的上级节点发送该消息;相反,若探测到当前节点和与其联通的上级节点之间的通信链路异常时,延迟第一预设时间后向与其连通的下级节点发送该消息。

其中,当发现通信链路异常后,不会立即发送动态路由广播,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

在一个可选的实施例中,可以间隔预设时间段执行链路异常判断步骤。

为进一步优化利用资源,图6提供一种动态路由广播报文的广播控制方法的流程示意图二。如图6所示,该动态路由广播报文的广播控制方法在包含图5所述动态路由广播报文的广播控制方法的基础上,还可以包括以下内容:

步骤s10:判断第三预设时间内是否收与当前节点联通的下级节点或上级节点发送的报文。

若否,执行步骤s100;若是,停止方法流程。

其中,当前节点在第三预设时间内未接收到与其连通的某下级节点发送的报文时,需要判断与该下级节点之间的通信链路是否异常,若在该第三预设时间内接收到与其连通的某下级节点发送的报文,则认为通信链路是正常的,此时,不需要进行链路异常判断、发送动态路由的流程。

通过在第三预设时间内未接收到某上级节点或下级节点传输的报文时触发链路异常判断,能够及时触发链路异常判断,有利于网络拓扑对链路情况的及时处理,并且减少不必要的链路异常判断,优化利用了资源。

图7是本发明实施例中的动态路由广播报文的广播控制方法的流程示意图三。如图7所示,该动态路由广播报文的广播控制方法具体包括以下内容:

步骤s10:判断第三预设时间内是否收与当前节点联通的下级节点或上级节点发送的报文。

若否,执行步骤s100;若是,停止方法流程。

其中,当前节点在第三预设时间内未接收到与其连通的某下级节点发送的报文时,需要判断与该下级节点之间的通信链路是否异常,若在该第三预设时间内接收到与其连通的某下级节点发送的报文,则认为通信链路是正常的,此时,不需要进行链路异常判断、发送动态路由的流程。

步骤s100:判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

可以理解的是,当网络拓扑中的通信链路处于稳定状态,没有出现变动,则不需要进行动态路由广播,当网络拓扑中的某一或多个通信链路异常时,需要在全网进行动态路由广播,以便网络拓扑中的各相关节点得知该通信链路异常的情况,以便在进行业务处理时,不再选择该通信链路进行业务,由此提高通信的可靠性和效率。

若是,执行步骤s150;若否,停止方法流程。

步骤s150:将异常的通信链路标识为正在关闭状态。

步骤s210:延迟第一预设时间后搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,标识为正在关闭状态的通信链路。

其中,如果在该第一预设时间内,当前节点与该异常的通信链路对应的对端节点之间重新建立了通信链路,则将旧的标识为正在关闭状态的通信链路移除,即无需为此条链路发送广播报文。

值得说明的是,当前节点与同一对端节点之间最多只能建立一个状态为“已连接”的通信链路。

步骤s220:向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示搜索到的通信链路异常的信息。

其中,在延时第一预设时间后,在同一时段内当前节点可能对应多个标识为正在关闭状态的通信链路,此时,需要搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,所有标识为正在关闭状态的通信链路,然后将搜索到所有标识为正在关闭状态的通信链路的异常信息在同一个动态路由广播报文中发送。

值得说明的是,因为当通信链路异常时,动态路由广播具有方向性(当与上级节点之间的通信链路异常时,向当前节点的下级节点广播;当与下级节点之间的通信链路异常时,向当前节点的上级节点广播),因此,在同一报文中合并多条异常的通信链路信息时,对于当前节点来说,该异常的多条通信链路同时对应多个上级节点,或者该异常的多条通信链路同时对应多个下级节点。

综上,对于当前节点来说,在一段时间内可能发生多个链接异常的情况,此时只会发送一个广播报文,减少动态路由广播的频率和次数。

值得说明的是,若当前节点与下级节点之间的通信链路异常时,向与其联通的所有上级节点发送表示该通信链路异常的报文,上级节点再向与其联通的所有上上级节点发送,依此类推,逐层向上广播,直至顶层节点。同理,若当前节点与上级节点之间的通信链路异常时,向与其联通的所有下级节点发送表示该通信链路异常的报文,下级节点再向与其联通的所有下下级节点发送,依此类推,逐层向下广播,直至底层节点。

图8示出了图5至图7中步骤s100的具体步骤。如图8所示,该步骤s100具体包括以下内容:

步骤s110:向与当前节点联通的下级节点或上级节点发送心跳探测数据包。

步骤s120:判断第二预设时间内是否收到该心跳探测数据包的响应。

若否,执行步骤s130;若是,停止方法流程。

步骤s130:判断当前节点与该下级节点或上级节点之间的通信链路异常。

其中,通过采用心跳探测机制探测通信链路是否异常,能够准确判断异常情况,提高可靠性。

值得说明的是,当前节点中可以静态配置值waittime(在配置库中,可远程修改),对于心跳探测而言,在四倍waittime(即第二预设时间等于四倍waittime)还未收到探测回复的情况下,则会认为链接异常。每间隔一倍waittime(即第一预设时间等于一倍waittime)检查是否存在“正在关闭”的链接,对每一条处于“正在关闭”状态的时间超过了一倍waittime的链接,将其移除后,对所有被移除的链接,合并组装一个动态路由广播报文进行广播。当然,本发明实施例对此不作限制,可以根据实际需要选取。

本领域技术人员可以理解的是,该第三预设时间可以是5~10倍waittime,本发明实施例对此不做限制,可以根据实际需要选取。

基于同一发明构思,本申请实施例还提供了一种动态路由广播报文的广播控制装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于动态路由广播报文的广播控制装置解决问题的原理与上述方法相似,因此动态路由广播报文的广播控制装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是本发明实施例中的动态路由广播报文的广播控制装置的结构框图。如图9所示,该动态路由广播报文的广播控制装置具体包括:通信链路异常判断模块10以及延迟广播模块20。

通信链路异常判断模块10判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

可以理解的是,当网络拓扑中的通信链路处于稳定状态,没有出现变动,则不需要进行动态路由广播,当网络拓扑中的某一或多个通信链路异常时,需要在全网进行动态路由广播,以便网络拓扑中的各相关节点得知该通信链路异常的情况,以便在进行业务处理时,不再选择该通信链路进行业务,由此提高通信的可靠性和效率。

延迟广播模块20在当前节点和与其联通的下级节点或上级节点之间的通信链路异常时,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

其中,若探测到当前节点和与其联通的下级节点之间的通信链路异常时,延迟第一预设时间后向与其连通的上级节点发送该消息;相反,若探测到当前节点和与其联通的上级节点之间的通信链路异常时,延迟第一预设时间后向与其连通的下级节点发送该消息。

其中,当发现通信链路异常后,不会立即发送动态路由广播,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

在一个可选的实施例中,可以间隔预设时间段执行链路异常判断。

在另一个可选的实施例中,为进一步优化利用资源,该动态路由广播报文的广播控制装置还可以包括:报文接收判断模块。该报文接收判断模块判断第三预设时间内是否收与当前节点联通的下级节点或上级节点发送的报文。

其中,当前节点在第三预设时间内未接收到与其连通的某下级节点发送的报文时,需要判断与该下级节点之间的通信链路是否异常,若在该第三预设时间内接收到与其连通的某下级节点发送的报文,则认为通信链路是正常的,此时,不需要进行链路异常判断、发送动态路由的流程。

通过在第三预设时间内未接收到某上级节点或下级节点传输的报文时触发链路异常判断,能够及时触发链路异常判断,有利于网络拓扑对链路情况的及时处理,并且减少不必要的链路异常判断,优化利用了资源。

在一个可选的实施例中,该动态路由广播报文的广播控制装置还可以包括:标识模块。该标识模块将异常的通信链路标识为正在关闭状态。

其中,该延迟广播模块20可以包括:延时搜索单元以及报文发送单元。

延时搜索单元延迟第一预设时间后搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,标识为正在关闭状态的通信链路。

其中,如果在该第一预设时间内,当前节点与该异常的通信链路对应的对端节点之间重新建立了通信链路,则将旧的标识为正在关闭状态的通信链路移除,即无需为此条链路发送广播报文。

值得说明的是,当前节点与同一对端节点之间最多只能建立一个状态为“已连接”的通信链路。

报文发送单元向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示搜索到的通信链路异常的信息。

其中,在延时第一预设时间后,在同一时段内当前节点可能对应多个标识为正在关闭状态的通信链路,此时,需要搜索当前节点和与其联通的下级节点或上级节点之间的通信链路中,所有标识为正在关闭状态的通信链路,然后将搜索到所有标识为正在关闭状态的通信链路的异常信息在同一个动态路由广播报文中发送。

值得说明的是,因为当通信链路异常时,动态路由广播具有方向性(当与上级节点之间的通信链路异常时,向当前节点的下级节点广播;当与下级节点之间的通信链路异常时,向当前节点的上级节点广播),因此,在同一报文中合并多条异常的通信链路信息时,对于当前节点来说,该异常的多条通信链路同时对应多个上级节点,或者该异常的多条通信链路同时对应多个下级节点。

综上,对于当前节点来说,在一段时间内可能发生多个链接异常的情况,此时只会发送一个广播报文,减少动态路由广播的频率和次数。

值得说明的是,若当前节点与下级节点之间的通信链路异常时,向与其联通的所有上级节点发送表示该通信链路异常的报文,上级节点再向与其联通的所有上上级节点发送,依此类推,逐层向上广播,直至顶层节点。同理,若当前节点与上级节点之间的通信链路异常时,向与其联通的所有下级节点发送表示该通信链路异常的报文,下级节点再向与其联通的所有下下级节点发送,依此类推,逐层向下广播,直至底层节点。

在一个可选的实施例中,该通信链路异常判断模块10可以包括:心跳探测单元。该心跳探测单元采用心跳探测机制判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常。

进一步地,该心跳探测单元包括:数据发送子单元、响应接收子单元以及异常判断子单元。

其中,数据发送子单元向与当前节点联通的下级节点或上级节点发送心跳探测数据包;

响应接收子单元判断第二预设时间内是否收到该心跳探测数据包的响应;

异常判断子单元在第二预设时间内未收到该心跳探测数据包的响应时,判断当前节点与该下级节点或上级节点之间的通信链路异常。

其中,通过采用心跳探测机制探测通信链路是否异常,能够准确判断异常情况,提高可靠性。

值得说明的是,当前节点中可以静态配置值waittime(在配置库中,可远程修改),对于心跳探测而言,在四倍waittime(即第二预设时间等于四倍waittime)还未收到探测回复的情况下,则会认为链接异常。每间隔一倍waittime(即第一预设时间等于一倍waittime)检查是否存在“正在关闭”的链接,对每一条处于“正在关闭”状态的时间超过了一倍waittime的链接,将其移除后,对所有被移除的链接,合并组装一个动态路由广播报文进行广播。当然,本发明实施例对此不作限制,可以根据实际需要选取。

本领域技术人员可以理解的是,该第三预设时间可以是5~10倍waittime,本发明实施例对此不做限制,可以根据实际需要选取。

上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现下述步骤:

判断当前节点和与其联通的下级节点或上级节点之间的通信链路是否异常;

若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

从上述描述可知,本发明实施例提供的电子设备,可用于动态路由广播报文的广播控制,当发现通信链路异常后,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

下面参考图10,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。

如图10所示,电子设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram))603中的程序而执行各种适当的工作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602、以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现下述步骤:

判断与当前节点联通的下级节点或上级节点之间的通信链路是否异常;

若是,延迟第一预设时间后向与当前节点联通的上级节点或下级节点发送动态路由广播报文,该动态路由广播报文包括表示该通信链路异常的信息。

从上述描述可知,本发明实施例提供的计算机可读存储介质,可用于动态路由广播报文的广播控制,当发现通信链路异常后,采用延迟发送广播报文的方式,能够有效防止通信抖动,避免某条链接时断时连导致多次触发广播,进而防止引起大范围的处理多个动态路由广播报文,有效保障数据传输系统的正常工作。

在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1