一种异常处理方法、装置及通信系统与流程

文档序号:24569802发布日期:2021-04-06 12:16阅读:69来源:国知局
一种异常处理方法、装置及通信系统与流程

本申请涉及通信技术领域,更具体地说,涉及一种异常处理方法、装置及通信系统。



背景技术:

在通信系统中,主站可以与多个转发器相连,且每个转发器可以与多条总线相连,其中,每条总线上可以均连接有多个从站,以使得主站可以与多从站进行连接和通信。

在上述通信系统中,由于从站所处环境比较复杂,因此,从站所发出的报文可能会出现错误,当有从站发出的报文出现错误之后,与从站相连的转发器会通过转发功能而将错误的报文发送到与自身相连的其他总线中以及与主站相连的其他转发器的各链路从站中,而这会导致与主站相连的其他从站中均有错误的报文,因此,则会给从站和主站间的通信带来影响。

综上所述,如何避免不正常的报文发生扩散,是目前本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本申请的目的是提供一种异常处理方法、装置及通信系统,用于避免不正常的报文发生扩散。

为了实现上述目的,本申请提供如下技术方案:

一种异常处理方法,应用于与主站及从站相连的转发器,包括:

当接收到与各总线相连的从站发送的报文时,对各所述总线上的报文进行滑动检测;其中,滑动检测是以第一预设数量的报文为单位进行的检测;

若存在总线在滑动检测时的异常报文数量达到第二预设数量,则关断目标总线,以使所述转发器停止利用所述目标总线向其他总线及所述主站转发报文;其中,所述目标总线为在滑动检测时异常报文数量达到所述第二预设数量的总线。

优选的,还包括:

当接收到所述主站发送的报文时,则对所述主站发送的报文进行转发。

优选的,在关断所述目标总线之后,还包括:

利用看门狗对所述目标总线上的报文进行检测;

若在所述看门狗的看门时间内连续出现第三预设数量的正常报文,则重新开放所述目标总线,并对所述目标总线上的报文进行滑动检测;

若在所述看门狗的看门时间内出现异常报文,则对所述目标总线进行持续性关断;

其中,所述看门狗在首次上电时为关闭状态,当接收到第四预设数量的正常报文时被激活。

优选的,在重新开放所述目标总线之后,还包括:

向所述主站上报所述目标总线恢复正常的消息。

优选的,对所述报文进行滑动检测,包括:

对接收到所述报文进行解码,在解码过程中对字节间的等待时间进行统计,并在解码后对所述报文的帧头进行判断,且根据各所述报文的格式进行数据长度判断和奇偶校验;

若字节间的等待时间超过门限值、所述报文的帧头不正确、数据长度不正确、奇偶校验未通过中的至少一项发生,则将所述报文确定为异常报文。

优选的,还包括:

在第一次检测到异常报文时,则停止将存在异常报文的总线上的报文转发到其他总线及所述主站上。

优选的,在关断所述目标总线之后,还包括:

发出警报。

一种异常处理装置,应用于与主站及从站相连的转发器,包括:

第一检测模块,用于当接收到与各总线相连的从站发送的报文时,对各所述总线上的报文进行滑动检测;其中,滑动检测是以第一预设数量的报文为单位进行的检测;

关断模块,用于若存在总线在滑动检测时的异常报文数量达到第二预设数量,则关断目标总线,以使所述转发器停止利用所述目标总线向其他总线及所述主站转发报文;其中,所述目标总线为在滑动检测时异常报文数量达到所述第二预设数量的总线。

一种通信系统,包括主站、转发器、从站、总线,其中,所述转发器包括主站端口、从站端口,所述转发器通过所述主站端口与所述主站相连,并通过所述从站端口及总线与所述从站相连,每条所述总线上至少连接有一个从站;

所述转发器,用于执行如上述任一项所述的异常处理方法。

优选的,所述转发器为hub或中继器。

本申请提供了一种异常处理方法、装置及通信系统,其中,该方法应用于与主站及从站相连的转发器,包括:当接收到与总线相连的从站发送的报文时,对总线上的报文进行滑动检测;其中,滑动检测是以第一预设数量的报文为单位进行的检测;若存在总线在滑动检测时的异常报文数量达到第二预设数量,则关断目标总线,以使转发器停止利用目标总线向其他总线及主站转发报文;其中,目标总线为在滑动检测时异常报文数量达到第二预设数量的总线。

本申请公开的上述技术方案,在接收到与总线相连的从站发送的报文时,则对总线上的报文以第一预设数量为单位而进行滑动检测,在滑动检测时若存在有总线上的异常报文的数量达到第二预设值,则关断异常报文的数量达到第二预设值的总线,以使转发器停止利用该总线向其他总线及主站转发报文,即实现将异常报文隔离在异常报文所在的总线内,以避免异常报文扩散到转发器的其他总线上,并避免异常报文扩散到主站上且避免其通过主站扩散到其他转发器中,从而避免给从站和主站间的通信带来影响,以使得其他从站能够正常和主站进行通信。

附图说明

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

图1为本申请实施例提供的一种异常处理方法的流程图;

图2为本申请实施例提供的通信系统的结构示意图;

图3为本申请实施例提供的一种异常处理装置的结构示意图。

具体实施方式

在通信系统中,由于从站所处环境比较复杂,因此,从站所发出的报文可能会因环境等因素的影响而出现错误,同时由于转发器具有转发报文的功能,则转发器会将从站所发出的错误报文转发至该转发器对应的其他路从站中,且会通过与该转发器相连的主站转发到与其他转发器相连的各从站中,从而导致各从站中均包含有错误的报文,而这则会导致其他从站无法与主站进行正常通信。

为此,本申请提供一种能够避免出现问题的报文发生扩散的技术方案,以降低不正常的报文给从站和主站间的通信所带来的影响。

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

参见图1和图2,其中,图1示出了本申请实施例提供的一种异常处理方法的流程图,图2示出了本申请实施例提供的通信系统的结构示意图,本申请实施例提供的一种异常处理方法,应用于与主站及从站相连的转发器,可以包括:

s11:当接收到与各总线相连的从站发送的报文时,对各总线上的报文进行滑动检测;其中,滑动检测是以第一预设数量的报文为单位进行的检测。

转发器可以通过其对应的主站端口与主站相连,并通过对应的从站端口与总线相连,且每个总线上可以连接有至少一个从站,需要说明的是,每个总线上的从站位于一个网段中。

当转发器接收到与总线相连的从站发送的报文时,则可以对该总线上的报文进行滑动检测,其中,这里提及的滑动检测是以第一预设数量的报文为单位所进行的检测,也即以每第一预设数量帧报文为单位而进行检测且在检测时需要对这第一预设数量报文中的每帧报文进行检测,例如:第一预设数量可以为10或者20,相应地,则可以以10帧或20帧报文为单位而进行滑动检测。

s12:若存在总线在滑动检测时的异常报文数量达到第二预设数量,则关断目标总线,以使转发器停止利用目标总线向其他总线及主站转发报文;其中,目标总线为在滑动检测时异常报文数量达到第二预设数量的总线。

通过检测判断总线上是否存在异常报文,并通过滑动检测统计各总线上异常报文的数量,若有总线在滑动检测时的异常报文数量达到第二预设数量,则关断在滑动检测时异常报文数量达到第二预设数量的总线(即目标总线),其中,第二预设数量不大于第一预设数量,且在关断目标总线时,具体可以关断转发器中与目标总线相连的从站端口,以使得与目标总线相连的转发器停止利用目标总线向该转发器中的其他总线及主站转发报文,以避免异常报文转发到其他从站中,也即通过关断目标总线而将异常报文隔离在目标总线这一链路上,以使得异常报文不再扩展到其他链路上,从而使得其他链路上的从站中不再因转发器的转发功能而接收到异常报文,以尽量减少某一链路上所出现的异常报文对其他链路上的从站和主站间通信所带来的影响,进而使得其他链路上的从站能够和主站进行正常通信。

以图2为例,在对与转发器1的从站端口1对应的总线上的报文进行滑动检测时,若滑动检测的10帧报文中有2帧报文为异常报文,且异常报文的数量达到第二预设数量(第二预设数量在此具体为2),此时,则关断与转发器1的从站端口1对应的总线,以避免与转发器1的从站端口1对应的总线上的异常报文转发到转发器1的从站端口2对应的总线上的从站中……避免与转发器1的从站端口1对应的总线上的异常报文转发到转发器1的从站端口n对应的总线上的从站中,并避免与转发器1的从站端口1对应的总线上的异常报文通过主站转发到转发器2的各从站端口对应的各总线上的从站中,以使转发器1的从站端口2对应的总线上的从站……转发器1的从站端口n对应的总线上的从站、转发器2的各从站端口对应的各总线上的从站能够正常与主站进行通信。需要说明的是,图2是以包含两个转发器,每个转发器上带有n个从站端口,每个从站端口所连的总线上对应有m个从站为例,当然,转发器数量、转发器上从站端口的数量、各总线上的从站数量均可以进行调整,本申请对此不做任何限定。

本申请公开的上述技术方案,在接收到与总线相连的从站发送的报文时,则对总线上的报文以第一预设数量为单位而进行滑动检测,在滑动检测时若存在有总线上的异常报文的数量达到第二预设值,则关断异常报文的数量达到第二预设值的总线,以使转发器停止利用该总线向其他总线及主站转发报文,即实现将异常报文隔离在异常报文所在的总线内,以避免异常报文扩散到转发器的其他总线上,并避免异常报文扩散到主站上且避免其通过主站扩散到其他转发器中,从而避免给从站和主站间的通信带来影响,以使得其他从站能够正常和主站进行通信。

本申请实施例提供的一种异常处理方法,还可以包括:

当接收到主站发送的报文时,则对主站发送的报文进行转发。

在本申请中,当转发器接收到主站发送的报文时,可以对主站发送的报文进行转发,即本申请采用的是单向包隔离机制,其具体即为对目标总线向上游链路(即从从站向上的链路)的转发功能进行隔离,而不隔离从主站方向下发的报文,以避免因转发器的其他链路(除目标总线对应的链路)及其他转发器接收到主站发送的满足第二预设数量的异常报文后也将下游链路(即从主站向下的链路)关断而导致主站无法与从站进行通信,也即本申请中的转发器可以对主站发送的报文进行无条件转发,而对于从站向上发送的报文需要进行检测,并在滑动检测到异常报文数量达到第二预设数量时,则对对应的总线进行关断,以使得其无法转发来自从站的报文。

在对主站上的报文进行无条件转发时,若主站发送的报文具有异常报文,则转发器的其他端口或其他转发器上收到的未隔离的异常报文只会向下转发,不会关断,异常报文仅会在短时间出现在其他端口或者其他转发器的链路上,但是该情况不会影响到其他端口的正常工作。

另外,转发器在进行报文转发时,当总线波特率检测正确后,如果某端口(具体可以包括主站端口和从站端口)在11bit(也可以根据实际需要而将其设置为其他数值)后,先出现低电平,则认为是新报文的开始,此时,转发器则可以将报文转发到其他端口。

本申请实施例提供的一种异常处理方法,在关断目标总线之后,还可以包括:

利用看门狗对目标总线上的报文进行检测;

若在看门狗的看门时间内连续出现第三预设数量的正常报文,则重新开放目标总线,并对目标总线上的报文进行滑动检测;

若在看门狗的看门时间内出现异常报文,则对目标总线进行持续性关断;

其中,看门狗在首次上电时为关闭状态,当接收到第四预设数量的正常报文时被激活。

在关断目标总线之后,可以利用看门狗对目标总线上的报文进行检测,若在看门狗的看门时间内连续出现第三预设数量(如10帧或20帧)的正常报文,则表明其为偶发性干扰,则可以采取临时性关断,具体而言,即为重新开放目标总线,以使得目标总线恢复正常,从而使得转发器可以继续利用目标总线向其他总线及主站转发目标总线中的从站所发出的报文,即使得使得目标总线可以继续在通信系统中发挥作用,从而避免给目标总线上的从站的通信带来影响,其中,在重新开放目标总线的同时,可以继续对目标总线上的报文进行滑动检测;若在看门狗的看门时间内出现异常报文,则表明其为持续性异常,则需要采取长时间关断,以避免目标总线频繁开和关而给通信系统的稳定性带来影响,具体而言,即为对目标总线进行持续性关断,即使后续目标总线上能够连续接收到多帧正常报文,目标总线也不会重新开放。另外,在对目标总线进行持续性关断之后,可以发出警报,以使得相关人员可以根据警报对目标总线上的从站进行检查和维修等,并在从站恢复正常之后手动打开目标总线,以使其恢复正常。

需要说明的是,上述提及的看门狗的看门时间具体可以为500ms,当然,看门狗的看门时间也可以根据主站下发的看门狗看门时间进行设置。另外,看门狗在首次上电时可以默认为关闭状态,在上电之后如果接收到第四预设数量(如10帧或20帧)的正常报文通信后则看门狗可以被激活,以在存在总线被关断之后可以利用被激活的看门狗对其上的报文进行检测。

本申请实施例提供的一种异常处理方法,在重新开放目标总线之后,还可以包括:

向主站上报目标总线恢复正常的消息。

在重新开放目标总线之后,可以向主站上报目标总线恢复正常的消息,以使得主站可以及时获知该消息,并使得相关人员可以通过主站而及时获知目标总线恢复正常的消息,以便于对目标总线上的从站进行任务分配等。

本申请实施例提供的一种异常处理方法,对报文进行滑动检测,可以包括:

对接收到报文进行解码,在解码过程中对字节间的等待时间进行统计,并在解码后对报文的帧头进行判断,且根据各报文的格式进行数据长度判断和奇偶校验的判断;

若字节间的等待时间超过门限值、报文的帧头不正确、数据长度不正确、奇偶校验未通过中的至少一项发生,则将报文确定为异常报文。

在对报文进行滑动检测时,可以对接收到的各报文进行解码,并在对报文进行解码的过程中并行统计字节间的等待时间,且根据字节间的等待时间进行字节间接收超时的判断,若字节间的等待时间超过设定的门限值,则确定对应的报文为异常报文,若字节间的等待时间未超过设定的门限值,则确定对应的报文为正常报文。

另外,在对接收到的报文解码之后,可以对报文的帧头进行判断,其中,转发器每当接收到11bit以上的高电平后,如果再有低电平,则认为是一个报文的帧头,此时,则可以对接收到的串行数据进行解码,并在解码后对报文的帧头进行判断,若报文的帧头正确,则确定报文为正常报文,若报文的帧头不正确,则确定报文为异常报文。需要说明的是,对于带有profibus-dp中继功能的转发器,在进行报文帧头判断时,则具体是根据报文帧头确定是否为profibus-dp协议的sd1、sd2、sd3、sd4报文,若是,则确定报文的帧头正确,若否,则确定报文的帧头不正确。同时,可以在解码后根据各报文的格式对报文进行数据长度的判断,若数据长度不正确,则确定报文为异常报文,若数据长度正确,则确定报文为正常报文,而且可以对报文进行奇偶校验,若奇偶校验通过,则确定报文为正常报文,若奇偶校验未通过,则确定报文为异常报文。

需要说明的是,在对报文进行上述操作判断时,若字节间的等待时间超过门限值、报文的帧头不正确、数据长度不正确、奇偶校验未通过中的至少一项发生,则将报文确定为异常报文,只有全部正确时,才将报文确定为正常报文,通过上述方式可以提高报文检测的准确性和可靠性。

本申请实施例提供的一种异常处理方法,还可以包括:

在第一次检测到异常报文时,则停止将存在异常报文的总线上的报文转发到其他总线及主站上。

在本申请中,当对总线上的报文进行滑动检测时,如果在滑动检测中首次检测到异常报文,则可以暂停存在异常报文的总线的报文转发功能,即使得首次检测到异常报文的总线停止将其上的报文转发到其他总线上及主站上,以尽量避免转发器的其他总线及与主站相连的其他转发器接收到上述总线上的异常报文。

需要说明的是,在上述过程的基础上,若在滑动检测的过程中异常报文的数量达到第二预设数量,则关断该总线,若在滑动检测的过程中异常报文的数量未达到第二预设数量,则可以恢复总线的转发功能,即不再执行停止将存在异常报文的总线上的报文转发到其他总线及所述主站上的步骤,以使得该总线可以继续对其从站上的报文进行转发。

本申请实施例提供的一种异常处理方法,在关断目标总线之后,还可以包括:

发出警报。

在关断目标总线之后,可以发出警报,其中,该警报具体可以上报到主站,以便于主站及位于主站侧的相关人员可以及时获取到目标总线被关断。当将警报上报到主站时,该警报可以在目标总线重新开放时进行解除,以使得相关人员可以通过警报准确获知目标总线的状态,并避免警报一直存在而给相关人员带来误导。

本申请实施例还提供了一种异常处理装置,应用于与主站及从站相连的转发器,参见图3,其示出了本申请实施例提供的一种异常处理装置的结构示意图,可以包括:

第一检测模块31,用于当接收到与各总线相连的从站发送的报文时,对各总线上的报文进行滑动检测;其中,滑动检测是以第一预设数量的报文为单位进行的检测;

关断模块32,用于若存在总线在滑动检测时的异常报文数量达到第二预设数量,则关断目标总线,以使转发器停止利用目标总线向其他总线及主站转发报文;其中,目标总线为在滑动检测时异常报文数量达到第二预设数量的总线。

本申请实施例提供的一种异常处理装置,还可以包括:

转发模块,用于当接收到主站发送的报文时,则对主站发送的报文进行转发。

本申请实施例提供的一种异常处理装置,还可以包括:

第二检测模块,用于在关断目标总线之后,利用看门狗对目标总线上的报文进行检测;

重新开放模块,用于若在看门狗的看门时间内连续出现第三预设数量的正常报文,则重新开放目标总线,并对目标总线上的报文进行滑动检测;

持续性关断模块,用于若在看门狗的看门时间内出现异常报文,则对目标总线进行持续性关断;

其中,看门狗在首次上电时为关闭状态,当接收到第四预设数量的正常报文时被激活。

本申请实施例提供的一种异常处理装置,还可以包括:

发送模块,用于在重新开放目标总线之后,向主站上报目标总线恢复正常的消息。

本申请实施例提供的一种异常处理装置,第一检测模块31可以包括:

解码单元,用于对接收到报文进行解码,在解码过程中对字节间的等待时间进行统计,并在解码后对报文的帧头进行判断,且根据各报文的格式进行数据长度判断和奇偶校验的判断;

确定单元,用于若字节间的等待时间超过门限值、报文的帧头不正确、数据长度不正确、奇偶校验未通过中的至少一项发生,则将报文确定为异常报文。

本申请实施例提供的一种异常处理装置,还可以包括:

停止转发模块,用于在第一次检测到异常报文时,则停止将存在异常报文的总线上的报文转发到其他总线及所述主站上。

本申请实施例提供的一种异常处理装置,还可以包括:

发出警报模块,用于在关断目标总线之后,发出警报。

需要说明的是,本申请实施例提供的一种异常处理装置中相关部分的说明可以参见本申请实施例提供的一种异常处理方法中对应部分的详细说明,在此不再赘述。

本申请实施例还提供了一种通信系统,参见图2,可以包括主站、转发器、从站、总线,其中,转发器可以包括主站端口、从站端口,转发器通过主站端口与主站相连,并通过从站端口及总线与从站相连,每条总线上至少连接有一个从站;

转发器,用于执行上述任一种异常处理方法。

本申请实施例提供的一种通信系统,转发器为hub或中继器。

本申请所提供的通信系统中的转发器具体可以为hub(多端口的转发器)或中继器,本申请对此不做任何限定。

需要说明的是,本申请实施例提供的一种通信系统中相关部分的说明可以参见本申请实施例提供的一种异常处理方法中对应部分的详细说明,在此不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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