本技术属于goose系统领域,尤其涉及一种goose系统的通道状态检测方法和goose系统。
背景技术:
1、goose(generic object oriented substation event)是指面向通用对象的变电站事件,goose报文的发送采用心跳报文和变位报文快速重发相结合的机制。相关技术中,主要通过接收通道距离上一次接收到报文的时间来上报通道状态,然而该方法在每个报文到来时都需要重置定时器,会对cpu造成较大的消耗;且线程间切换和频繁检测其他通道的时间开销较大,还会对goose协议的实时性产生较大影响,会增加时间开销,从而影响goose系统的实时性。
技术实现思路
1、本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种goose系统的通道状态检测方法和goose系统,以有效提高goose系统的实时性。
2、第一方面,本技术提供了一种goose系统的通道状态检测方法,所述goose系统包括多个通道,所述多个通道共用一个目标定时器,该方法包括:
3、基于所述多个通道对应的超时时长,确定所述目标定时器的超时状态;
4、在所述目标定时器超时的情况下,获取各所述通道的通道状态;
5、基于各所述通道状态,上报所述goose系统的目标通道状态;
6、其中,所述通道状态包括正常状态、告警状态和断开状态。
7、根据本技术的goose系统的通道状态检测方法,通过在goose系统的多个通道设置同一个目标定时器以检测各通道的通道状态,并基于全部通道的通道状态上传goose系统的目标通道状态,可以显著降低cpu消耗和其他额外的时间开销,从而提高goose系统的实时性,解决了现有技术中goose系统的实时性不高的技术问题。
8、根据本技术的一个实施例,所述基于各所述通道状态,上报所述goose系统的目标通道状态,包括:
9、基于各所述通道状态,获取所述正常状态对应的通道的第一数量、所述告警状态对应的通道的第二数量和所述断开状态对应的通道的第三数量;
10、基于所述第一数量、所述第二数量、所述第三数量,上报所述目标通道状态。
11、根据本技术的一个实施例,所述基于所述第一数量、所述第二数量、所述第三数量,上报所述目标通道状态,包括:
12、在所述第一数量不为0的情况下,确定所述目标通道状态为所述正常状态;
13、在所述第一数量为0且所述第二数量不为0的情况下,确定所述目标通道状态为所述告警状态;
14、在所述第一数量和所述第二数量均为0的情况下,确定所述目标通道状态为所述断开状态。
15、根据本技术的一个实施例,基于所述目标定时器,分别获取所述多个通道对应的超时时长;
16、将最长的超时时长确定为定时超时时间;
17、基于所述定时超时时间,确定所述目标定时器的超时状态。
18、根据本技术的一个实施例,所述获取各所述通道的通道状态,包括:
19、基于多个通道中目标通道最后一次接收报文的时刻与当前时刻,确定所述目标通道对应的超时时长;
20、基于所述超时时长和心跳时间,确定所述目标通道的通道状态。
21、根据本技术的一个实施例,所述基于所述超时时长和心跳时间,确定所述目标通道的通道状态,包括:
22、在所述超时时长不小于0且小于两倍的所述心跳时间的情况下,确定所述通道状态为所述正常状态;
23、在所述超时时长不小于两倍的所述心跳时间且小于四倍的所述心跳时间的情况下,确定所述通道状态为所述告警状态;
24、在所述超时时长不小于四倍的所述心跳时间的情况下,确定所述通道状态为所述断开状态。
25、根据本技术的一个实施例,在所述基于所述多个通道对应的超时时长,确定所述目标定时器的超时状态之前,所述方法还包括:基于初始定时时间启动所述目标定时器。
26、第二方面,本技术提供了一种goose系统的通道状态检测装置,所述goose系统包括多个通道,所述多个通道共用一个目标定时器,该装置包括:
27、第一处理模块,用于基于所述多个通道对应的超时时长,确定所述目标定时器的超时状态;
28、第二处理模块,用于在所述目标定时器超时的情况下,获取各所述通道的通道状态;
29、第三处理模块,用于基于各所述通道状态,上报所述goose系统的目标通道状态;
30、其中,所述通道状态包括正常状态、告警状态和断开状态。
31、根据本技术的goose系统的通道状态检测装置,通过在goose系统的多个通道设置同一个目标定时器以检测各通道的通道状态,并基于全部通道的通道状态上传goose系统的目标通道状态,可以显著降低cpu消耗和其他额外的时间开销,从而提高goose系统的实时性,解决了现有技术中goose系统的实时性不高的技术问题。
32、第三方面,本技术提供了一种goose系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的goose系统的通道状态检测方法。
33、第四方面,本技术提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的goose系统的通道状态检测方法。
34、第五方面,本技术提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的goose系统的通道状态检测方法。
35、第六方面,本技术提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的goose系统的通道状态检测方法。
36、本技术实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
37、通过在goose系统的多个通道设置同一个目标定时器以检测各通道的通道状态,并基于全部通道的通道状态上传goose系统的目标通道状态,可以显著降低cpu消耗和其他额外的时间开销,从而提高goose系统的实时性,解决了现有技术中goose系统的实时性不高的技术问题。
38、进一步的,通过一个目标定时器轮巡的方式分别确定goose系统中各个通道的超时时长,并将最长的超时时长确定为目标定时器的定时超时时间,实现动态调整目标定时器的定时超时时间,可以显著降低目标定时器的重置频率,从而降低cpu消耗,以有效提高goose系统的实时性。
39、更进一步的,通过一个目标定时器轮巡的方式分别确定goose系统中各个通道的超时状态,只需开启一个新线程即可检测goose系统中的多个通道的状态,显著降低了cpu消耗,且无需频繁切换线程,降低了其他额外性能的开销(如时间开销),从而提高goose协议的实时性。
40、本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。