一种通信异常的检测方法及装置与流程

文档序号:12278334阅读:130来源:国知局
一种通信异常的检测方法及装置与流程
本发明实施例涉及通信检测技术,尤其涉及一种通信异常的检测方法及装置。
背景技术
:自动取款机(AutomaticTellerMachine,ATM)在人们的日常生活中越来越普遍,给人们的生活带来了极大的便利。然而单设备的频繁使用通常会出现各种各样通信异常的问题,因此,对ATM即的通信异常进行检测非常必要。现有技术中对ATM的内部通信进行检测时,如果ATM内部设备之间存在业务通信,则根据内部通信超时时间判断ATM内部设备之间是否出现通信异常。然而,当ATM内部无业务通信时,现有技术无法检测到无业务通信期间ATM内部的通信异常,通信异常检测的可靠性低。技术实现要素:本发明实施例提供一种通信异常的检测方法及装置,以提高ATM内部通信异常检测的可靠性。第一方面,本发明实施例提供了一种通信异常的检测方法,该通信异常的检测方法包括:根据预设发送间隔在ATM内部发送心跳包;检测所述ATM内部的数据包对应的实时通信负载参数,所述数据包包括所述心跳包对应的心跳响应包;根据所述实时通信负载参数进行通信异常检测。进一步地,在检测所述ATM内部的数据包对应的实时通信负载参数之后,还包括:根据所述实时通信负载参数确定心跳包的目标发送间隔,将所述目标发送间隔作为预设发送间隔。进一步地,所述实时通信负载参数为实时流量、丢包率或延时时间,所述根据所述实时通信负载参数确定心跳包的目标发送间隔,包括:如果所述实时通信负载参数增大,则延长心跳包的目标发送间隔;如果所述实时通信负载参数减小,则缩短心跳包的目标发送间隔。进一步地,在根据预设发送间隔发送心跳包之前,还包括:接收外界设备发送的心跳包间隔配置指令;将所述心跳包间隔配置指令携带的发送间隔配置为所述预设发送间隔。进一步地,在根据预设发送间隔发送心跳包之前包括:在所述心跳包和所述心跳响应包中配置设备编号;和/或在所述心跳包和所述心跳响应包中配置间隔设置方设备编号;和/或在所述心跳包和所述心跳响应包中配置校验数据。第二方面,本发明实施例还提供了一种通信异常的检测装置,该通信异常的检测装置包括:心跳包发送模块,用于根据预设发送间隔在ATM内部发送心跳包;实时通信负载参数检测模块,用于检测所述ATM内部的数据包对应的实时通信负载参数,所述数据包包括所述心跳包对应的心跳响应包;通信异常检测模块,用于根据所述实时通信负载参数进行通信异常检测。进一步地,所述通信异常的检测装置,还包括:目标发送间隔确定模块,用于根据所述实时通信负载参数确定心跳包的目标发送间隔,将所述目标发送间隔作为预设发送间隔。进一步地,所述实时通信负载参数为实时流量、丢包率或延时时间,所述目标发送间隔确定模块,具体用于:如果所述实时通信负载参数增大,则延长心跳包的目标发送间隔;如果所述实时通信负载参数减小,则缩短心跳包的目标发送间隔。进一步地,所述通信异常的检测装置,还包括:配置指令接收模块,用于接收外界设备发送的心跳包间隔配置指令;预设发送间隔配置模块,用于将所述心跳包间隔配置指令携带的发送间隔配置为所述预设发送间隔。进一步地,所述通信异常的检测装置包括:设备编号配置模块,用于在所述心跳包和所述心跳响应包中配置设备编号;和/或间隔设置方设备编号配置模块,用于在所述心跳包和所述心跳响应包中配置间隔设置方设备编号;和/或校验数据配置模块,用于在所述心跳包和所述心跳响应包中配置校验数据。本发明实施例中首先根据预设发送间隔在ATM内部发送心跳包,然后检测ATM内部的数据包对应的实时通信负载参数,最后根据实时通信负载参数进行通信异常检测。在现有技术中,只有在ATM中有业务通信时,才能进行通信异常检测,即只能针对业务数据进行通信检测,而本申请中通过加入心跳包机制,可将心跳包和业务数据结合进行通信检测,以及在无业务数据时仅根据心跳包进行检测,提高ATM内部通信异常检测的可靠性。附图说明图1是本发明实施例一中的一种通信异常的检测方法的流程图;图2是本发明实施例二中的一种通信异常的检测方法的流程图;图3是本发明实施例三中的一种通信异常的检测方法的流程图;图4是本发明实施例四中的一种通信异常的检测方法的流程图;图5是本发明实施例四提供的一种心跳机制工作流程图;图6是本发明实施例五中的一种通信异常的检测装置的结构示意图。具体实施方式下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。实施例一图1为本发明实施例一提供的一种通信异常的检测方法的流程图,本实施例可适用于ATM中有业务数据及无业务数据的通信异常检测的情况,该方法可以由具有心跳包收发、配置及响应功能的微处理单元来执行,如图1所示,该通信异常的检测方法具体包括如下步骤:步骤110,根据预设发送间隔在ATM内部发送心跳包。其中,心跳包可以是按照一定时间间隔发送的,在两个设备或多个设备之间传输的以通知对方自己状态的一个自定义的命令字符。预设发送间隔可以是在给ATM安装心跳包发生器前设置的相邻两个心跳包之间的时间间隔,以保证心跳发生器的正常运行。在本应用场景下,根据预设发送间隔在ATM内部发送心跳包的实现过程可以是,首先采用定时器产生准确的时序,然后建立设备间的心跳连接,最后根据预设发送间隔开始在ATM内发送心跳包。步骤120,检测ATM内部的数据包对应的实时通信负载参数,数据包包括心跳包对应的心跳响应包。其中,ATM内部的数据包可以包括心跳包、心跳响应包和业务数据包。心跳响应包可以是对发出的心跳包做出响应的心跳包,心跳响应包的帧格式与心跳包的帧格式一致,只是从类型做出区分,帧格式的形式可以是如表1所示的形式。表1帧标示帧类型消息类型检验数据数据域长度数据4字节1字节1字节1字节4字节N字节在表1中,帧标示(Tag)可以是0x58267A;帧类型(FrameType)可以定义为0表示请求帧,1表示响应帧;消息类型(MsgType)可以定义为0表示时间间隔设置,1表示心跳启动,2表示心跳停止,3表示心跳建立连接;数据校验可采用循环冗余校验码(CyclicRedundancyCheck,CRC)32对数据帧进行校验;数据域长度(Datalen)用来表明后续数据的长度;数据(Data)可以是长度可变的数据,根据不同消息类型的需要写入相应的数据,例如时间间隔设置的消息,可对应写入时间间隔。实时通信负载参数可以由丢包率、延迟时间及实时流量来衡量。在本应用场景下,丢包率可以是心跳响应包与心跳包的比率,可反应ATM内部的通信质量,如:在某一时间段内共发出10个心跳包,心跳包接收设备接收到7个心跳包,即只返回7个心跳响应包,那丢包率就为30%;延迟时间可以是心跳包的延迟时间或业务数据的延迟时间,心跳包的延迟时间可以是接收到心跳响应包与发送对应心跳包的时间之差,业务数据的延迟时间可以是接收业务数据与发送业务数据间的时间差,如:A设备给B设备发送心跳包或业务数据,A设备发送心跳包或业务数据的时间是T1,B设备接收心跳响应包或业务数据的时间T2,延迟时间就为T2-T1;实时流量可以是通信中单位时间收发数据流量的大小,可反映通信负载的实际情况,如:在ATM通信中,某1s时间内发送的数据流量为1兆(M),接收的数据流量为2.3M,那么在次1s时间内,通信中的实时流量为3.3M。在本应用场景下,检测ATM内部的数据包对应的实时通信负载参数的方法可以是,检测丢包率的方法可以通过计算心跳包接收设备接收到的心跳包与发送的心跳包的比率或者计算心跳包发送设备接收的心跳响应包与发送的心跳包的比率;检测心跳包延迟时间的方法可以是计算接收到心跳包与发送对应心跳包的时间之差或者计算心跳包发送设备接收的心跳响应包与发送对应心跳包的时间之差,检测业务数据延迟时间的方法可以是计算接收业务数据与发送对应业务数据间之间的时间差;检测实时流量的方法可以是利用流量检测器对通信中的流量进行实时检测。步骤130,根据实时通信负载参数进行通信异常检测。在本应用场景下,根据实时通信负载参数进行通信异常检测的方法可以是,当丢包率大于设定阈值时,系统报通信异常,该设定阈值例如可设置为70%-90%间的任意一个整数,或者当延迟时间超出预定的最长延迟时间时,系统报通信异常,例如,心跳包和业务数据的最大延迟时间都可设置为5s-10s间的任意整数。本实施例提供的技术方案,首先根据预设发送间隔在ATM内部发送心跳包,然后检测ATM内部的数据包对应的实时通信负载参数,最后根据实时通信负载参数进行通信异常检测。在现有技术中,只有在ATM中有业务通信时,才能进行通信异常检测,即只能针对业务数据进行通信检测,而本申请中通过加入心跳包机制,可将心跳包和业务数据结合进行通信检测,以及在无业务数据时仅根据心跳包进行检测,提高ATM内部通信异常检测的可靠性。实施例二图2为本发明实施例二提供的一种通信异常的检测方法的流程图,以上述实施例为基础,如图2所示,在步骤120之后,还包括:步骤140,根据实时通信负载参数确定心跳包的目标发送间隔,将目标发送间隔作为预设发送间隔。根据实时通信负载参数确定心跳包的目标发送间隔的方法可以是,如果实时通信负载参数增大,则延长心跳包的目标发送间隔;如果实时通信负载参数减小,则缩短心跳包的目标发送间隔。其中,根据丢包率确定心跳包的目标发送间隔的方法可以是,随着通信中丢包率的增加延长心跳包的目标发送间隔;根据延迟时间确定心跳包的目标发送间隔的方法可以是,在延迟时间小于最大延迟时间的情况下,心跳包的延迟时间变长时,延长心跳包的目标发送间隔;根据实时流量确定心跳包的目标发送间隔的方法可以是,在实时流量小于吞吐量的情况下,通信中的实时流量变大时,延长心跳包的目标发送间隔。优选的,如果实时通信负载参数增大,则延长心跳包的目标发送间隔的实现过程可以是,当丢包率每增加10%,心跳包的目标发送间隔增加1s,示例性的,在丢包率为20%时,心跳包的目标发送间隔为2s,当丢包率增加至30%时,心跳包的目标发送间隔自适应的调整为3s;心跳包的延迟时间在小于最大延迟时间的情况下,延迟时间每增加1s,心跳包的目标发送间隔增加1s,示例性的,当心跳包的延迟时间为2s时,心跳包的目标发送间隔为1s,若心跳包的延迟时间增加至3s,则心跳包的目标发送间隔自适应的增加至2s;在实时流量小于吞吐量的前提下,通信中实时流量每增加1M,心跳包的目标发送间隔增加1s,示例性的,当通信中实时流量为3M时,心跳包的目标发送间隔为2s,若实时流量增加至3M,目标发送间隔自适应的增加至3s。吞吐量可以是在未出现丢帧的情况下,系统中可通信的最大流量,反映系统的通信能力。当实时流量达到吞吐量时,心跳发生器停止发送心跳包,以避免对ATM正常业务通信产生影响。如果实时通信负载参数减小,则缩短心跳包的目标发送间隔实现过程可以如上述根据丢包率、延迟时间及实时流量的调整方法进行调整,此处不再赘述。本实施的技术方案,根据实时通信负载参数确定心跳包的目标发送间隔,将目标发送间隔作为预设发送间隔,综合运用丢包率、延迟时间、实时流量及吞吐量来描述当前通信状况,来动态调节心跳间隔时间和控制开启、关闭心跳,增加了资源利用率,避免心跳对正常通信的不利影响,同时增加了心跳机制的自适应性。实施例三图3为本发明实施例三提供的一种通信异常的检测方法的流程图,以上述实施例为基础,如图3所示,在步骤110之后,还包括:步骤150,接收外界设备发送的心跳包间隔配置指令。其中,外界设备可以是ATM中负责界面显示的公共机和由两块控制板组成的机芯。在本应用场景下,当ATM中无业务通信时,心跳包的发送间隔可以由外界设备配置,示例性的,要检测设备A与设备B之间的通信是否出现异常,需要在设备A与设备B直接建立心跳连接,心跳包的发送间隔可以由设备A进行配置,例如该发送间隔为4s,则设备A每隔4s向设备B发送一个心跳包。步骤160,将心跳包间隔配置指令携带的发送间隔配置为预设发送间隔。在本应用场景下,如上述的设备A与设备B之间的通信,可以将设备A配置的时间间隔4s配置为预设发送间隔,心跳包根据该预设发送间隔周期性的发送心跳包。本实施例的技术方案,接收外界设备发送的心跳包间隔配置指令,将心跳包间隔配置指令携带的发送间隔配置为预设发送间隔,使得ATM在五业务通信的情况下,通过心跳包机制实现对通信异常的检测,提高可靠性。实施例四图4为本发明实施例四提供的一种通信异常的检测方法的流程图,以上述实施例为基础,如图4所示,该通信异常的检测方法还包括:步骤410,在心跳包和心跳响应包中配置设备编号。其中,设备编号可以是对ATM中进行通信的设备的编号,例如可按照英文字母的顺序进行编号,依次配置为设备A、设备B及设备C等等。在心跳包和心跳响应包中配置设备编号的方法可以是,在心跳包和心跳响应包的帧格式的数据中增加设备编号的数据,示例性的,设备A与设备B之间的通信,表2为由设备A发出的心跳包的帧格式,表3为由设备B返回的对应于心跳包的响应包的帧格式。表2帧标示帧类型消息类型检验数据数据域长度数据4字节031字节4字节A……表3帧标示帧类型消息类型检验数据数据域长度数据4字节111字节4字节B……从表2的帧格式可以可出,该心跳包是由A设备发出的,要建立心跳连接的请求帧,从表3可看出,该心跳包时由B发出的,表示心跳启动的响应包。和/或,步骤420,在心跳包和心跳响应包中配置间隔设置方设备编号。在本应用场景下,在心跳包和心跳响应包中配置间隔设置方设备编号的方法可以是,在心跳包和心跳响应包的帧格式的数据中增加间隔设置方设备编号的数据,示例性的,设备A与设备B之间的通信,表4为由设备A设置的设备A与设备B之间通信的心跳包的时间间隔的帧格式。表4帧标示帧类型消息类型检验数据数据域长度数据4字节001字节4字节AB……从表4可以看出,该帧格式表示,由设备A设置的设备A与设备B之间的心跳包的时间间隔。和/或,步骤430,在心跳包和心跳响应包中配置校验数据。其中,校验数据可以是CRC32,可校验心跳包和响应包本身数据的正确性和完整性。本实施例提供的技术方案,在心跳包和心跳响应包中配置设备编号,可增加心跳包机制在有业务通信和无业务通信等不同场合的应用;在心跳包和心跳响应包中配置间隔设置方设备编号,增加心跳包机制的灵活性,可根据不同的需要设置对应的时间间隔;在心跳包和心跳响应包中配置校验数据,可保证心跳包的完整性和正确性,提高通信异常检测的可靠性。优选的实施例,图5为本发明实施例四提供的一种心跳机制工作流程图,如图5所示,该心跳机制的流程包括:步骤401,开始。步骤402,初始化心跳管理模块,建立心跳连接。步骤403,检测是否存在心跳启动请求。步骤404,若存在心跳启动请求则启动心跳发生器,并进行响应。步骤405,检测是否存在心跳停止请求。步骤406,若存在心跳停止请求则停止心跳发生器,并进行响应。步骤407,检测实时流量、延迟时间等,在无外界设置时间间隔的情况下,根据负载情况实时调节间隔时间。步骤408,检测实时流量是否达到吞吐量。步骤409,若实时流量达到系统吞吐量,则关闭心跳,避免对正常通信产生影响。步骤410,检测是否有外界设置时间间隔。步骤411,若存在外界设置时间间隔,则调节时间间隔,并响应。步骤412,若不存在外界设置时间间隔,则根据实时流量、延迟时间动态调整时间间隔。步骤413,进行心跳检测。步骤414,统计丢包率、延迟时间等。步骤415,结束。实施例五图6为本发明实施例五提供的一种通信异常的检测装置的结构示意图,如图6所示,该通信异常的检测装置包括:设备编号配置模块510,间隔设置方设备编号配置模块520,校验数据配置模块530,配置指令接收模块540,预设发送间隔配置模块550,心跳包发送模块560,实时通信负载参数检测模块570,目标发送间隔确定模块580和通信异常检测模块590。心跳包发送模块560,用于根据预设发送间隔在ATM内部发送心跳包;实时通信负载参数检测模块570,用于检测ATM内部的数据包对应的实时通信负载参数,数据包包括心跳包对应的心跳响应包;通信异常检测模块590,用于根据实时通信负载参数进行通信异常检测。优选的,该通信异常的检测装置,还包括:目标发送间隔确定模块580,用于根据实时通信负载参数确定心跳包的目标发送间隔,将目标发送间隔作为预设发送间隔。优选的,实时通信负载参数为实时流量、丢包率或延时时间,目标发送间隔确定模块580,具体用于:如果所述实时通信负载参数增大,则延长心跳包的目标发送间隔;如果所述实时通信负载参数减小,则缩短心跳包的目标发送间隔。优选的,该通信异常的检测装置,还包括:配置指令接收模块540,用于接收外界设备发送的心跳包间隔配置指令;预设发送间隔配置模块550,用于将所述心跳包间隔配置指令携带的发送间隔配置为所述预设发送间隔。优选的,该通信异常的检测装置包括:设备编号配置模块510,用于在心跳包和心跳响应包中配置设备编号;和/或间隔设置方设备编号配置模块520,用于在心跳包和心跳响应包中配置间隔设置方设备编号;和/或校验数据配置模块530,用于在心跳包和心跳响应包中配置校验数据。上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1