一种异常检测方法、装置、主机设备、系统及存储介质转让专利

申请号 : CN202211409874.3

文献号 : CN115658409B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张连聘陈翔张锡鑫

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明提供一种异常检测方法、装置、主机设备、系统及存储介质,涉及I2C测试领域,方法包括:屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果;当第一检测结果为I2C控制器正常时,控制I2C控制器对I2C通道扩展器进行检测,得到第二检测结果;当第二检测结果为I2C通道扩展器正常时,打开通道,并控制I2C控制器对与各通道连接的I2C从设备进行检测,得到第三检测结果;当第三检测结果为I2C从设备正常时,退出检测;当第一检测结果、第二检测结果及第三检测结果中存在异常结果时,输出异常结果对应的告警信息;可对I2C控制器、I2C通道扩展器及I2C从设备依次进行自动检测,可提升I2C器件的异常定位效率。

权利要求 :

1.一种异常检测方法,其特征在于,包括:

屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果;

当所述第一检测结果为所述I2C控制器正常时,控制所述I2C控制器对所述I2C通道扩展器进行检测,得到第二检测结果;

当所述第二检测结果为所述I2C通道扩展器正常时,打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,得到第三检测结果;

当所述第三检测结果为所述I2C从设备正常时,退出检测;

当所述第一检测结果、所述第二检测结果及所述第三检测结果中存在异常结果时,输出所述异常结果对应的告警信息;

其中,所述利用CPLD对所述I2C控制器进行检测,包括:利用所述CPLD对所述I2C从设备进行模拟,并记录所述CPLD的寄存器中保存的指定数据;

控制所述I2C控制器向所述CPLD发送从设备寄存器读取指令,以读取所述指定数据;

判断所述I2C控制器读取到的数据是否与所述指定数据相同;

若是,则判定所述I2C控制器正常;

若否,则判定所述I2C控制器异常。

2.根据权利要求1所述的异常检测方法,其特征在于,在屏蔽I2C通道扩展器中的所有通道之前,还包括:利用所述CPLD检测I2C总线是否异常;

若是,则利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道;

若否,则关闭所述I2C通道扩展器中的所有通道。

3.根据权利要求2所述的异常检测方法,其特征在于,所述利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道,包括:控制所述CPLD向所述I2C通道扩展器发送复位GPIO信号,以使所述I2C通道扩展器复位。

4.根据权利要求2所述的异常检测方法,其特征在于,所述利用所述CPLD检测I2C总线是否异常,包括:利用所述CPLD读取所述I2C总线中的串行时钟信号和串行数据信号,并判断所述串行时钟信号和所述串行数据信号是否在预设时间内发生跳变;

若否,则判定所述I2C总线异常。

5.根据权利要求2所述的异常检测方法,其特征在于,所述利用所述CPLD检测I2C总线是否异常,包括:利用所述CPLD读取所述I2C总线中的串行时钟信号,并判断所述串行时钟信号保持低电平的时长是否超过预设时长;

若是,则判定所述I2C总线异常。

6.根据权利要求2所述的异常检测方法,其特征在于,在利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道之后,还包括:利用所述CPLD再次检测I2C总线是否异常;

若是,则判定所述I2C控制器异常;

若否,则进入所述利用CPLD对所述I2C控制器进行检测的步骤。

7.根据权利要求1所述的异常检测方法,其特征在于,所述控制所述I2C控制器对所述I2C通道扩展器进行检测,包括:控制所述I2C控制器向所述I2C通道扩展器发起读操作;

当确定所述I2C通道扩展器响应了所述读操作且返回了正确的响应数据时,判定I2C通道扩展器正常;

当确定所述I2C通道扩展器未响应所述读操作,或返回了错误的响应数据时,判定I2C通道扩展器异常。

8.根据权利要求1所述的异常检测方法,其特征在于,所述打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:依次打开所述通道,并控制所述I2C控制器对与所述通道连接的I2C从设备进行检测。

9.根据权利要求1所述的异常检测方法,其特征在于,所述控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:控制所述I2C控制器向所述I2C从设备发起读操作;

当确定所述I2C从设备响应了所述读操作且返回了正确的响应数据时,判定I2C从设备正常;

当确定所述I2C从设备器未响应所述读操作,或返回了错误的响应数据时,判定I2C从设备异常。

10.根据权利要求1至9任一项所述的异常检测方法,其特征在于,所述控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:利用所述CPLD检测所述I2C控制器与所述I2C从设备之间的I2C总线在空闲状态下的总线电平值是否符合I2C协议规范规定;

当确定所述总线电平值符合所述I2C协议规范规定时,控制所述I2C控制器向所述I2C从设备发起读操作,并利用所述CPLD从所述I2C总线中提取所述I2C控制器和所述I2C从设备之间在执行所述读操作时交互的通信值;所述通信值包括I2C START信号值、I2C STOP信号值、从设备地址、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值;

利用所述I2C协议规范规定对所述I2C START信号值、所述I2C STOP信号值、所述从设备ACK响应信息、所述串行时钟信号低电平值和所述串行数据信号低电平值进行检测,以及确定为控制所述I2C控制器向所述I2C从设备发起所述读操作所使用的待测从设备地址与所述I2C总线提取到的从设备地址是否相同;

当确定所述总线电平值不符合所述I2C协议规范规定,或确定所述I2C START信号值、所述I2C STOP信号值、所述从设备ACK响应信息、所述串行时钟信号低电平值和所述串行数据信号低电平值中任一者不符合所述I2C协议规范规定,或确定所述待测从设备地址与所述从设备地址不相同时,判定所述I2C从设备异常。

11.一种异常检测装置,其特征在于,包括:

I2C控制器检测模块,用于屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果;

I2C通道扩展器检测模块,用于当所述第一检测结果为所述I2C控制器正常时,控制所述I2C控制器对所述I2C通道扩展器进行检测,得到第二检测结果;

I2C从设备检测模块,用于当所述第二检测结果为所述I2C通道扩展器正常时,打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,得到第三检测结果;

退出检测模块,用于当所述第三检测结果为所述I2C从设备正常时,退出检测;

告警模块,用于当所述第一检测结果、所述第二检测结果及所述第三检测结果中存在异常结果时,输出所述异常结果对应的告警信息;

其中,所述I2C控制器检测模块,包括:

模拟子模块,用于利用所述CPLD对所述I2C从设备进行模拟,并记录所述CPLD的寄存器中保存的指定数据;

指令发送子模块,用于控制所述I2C控制器向所述CPLD发送从设备寄存器读取指令,以读取所述指定数据;

判断子模块,用于判断所述I2C控制器读取到的数据是否与所述指定数据相同;若是,则判定所述I2C控制器正常;若否,则判定所述I2C控制器异常。

12.一种主机设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述的异常检测方法。

13.一种异常检测系统,其特征在于,包括:I2C控制器、I2C通道扩展器、I2C从设备、CPLD及主机设备,其中所述主机设备用于执行如权利要求1至10任一项所述的异常检测方法。

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至10任一项所述的异常检测方法。

说明书 :

一种异常检测方法、装置、主机设备、系统及存储介质

技术领域

[0001] 本发明涉及I2C测试领域,特别涉及一种异常检测方法、装置、主机设备、系统及计算机可读存储介质。

背景技术

[0002] I2C器件(Inter‑Integrated Circuit,两线式串行总线)是交换机器件中的重要器件,其主要包含I2C控制器、I2C通道扩展器(I2C Multiplexers)及I2C从设备(I2C Slave)。相关技术中,I2C器件主要通过人工检测,检测效率较低,且难以定位I2C器件中的故障位置,不利于对交换机进行高效测试。
[0003] 因此,如何提升I2C器件的检测效率,是本领域技术人员亟需解决的技术问题。

发明内容

[0004] 本发明的目的是提供一种异常检测方法、装置、主机设备、系统及计算机可读存储介质,可对I2C控制器、I2C通道扩展器及I2C从设备依次进行自动检测,进而可提升I2C器件的异常定位效率。
[0005] 为解决上述技术问题,本发明提供一种异常检测方法,包括:
[0006] 屏蔽I2C通道扩展器中的所有通道,并利用CPLD对所述I2C控制器进行检测,得到第一检测结果;
[0007] 当所述第一检测结果为I2C控制器正常时,控制所述I2C控制器对所述I2C通道扩展器进行检测,得到第二检测结果;
[0008] 当所述第二检测结果为所述I2C通道扩展器正常时,打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,得到第三检测结果;
[0009] 当所述第三检测结果为所述I2C从设备正常时,退出检测;
[0010] 当所述第一检测结果、所述第二检测结果及所述第三检测结果中存在异常结果时,输出所述异常结果对应的告警信息。
[0011] 可选地,在屏蔽I2C通道扩展器中的所有通道之前,还包括:
[0012] 利用所述CPLD检测I2C总线是否异常;
[0013] 若是,则利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道;
[0014] 若否,则关闭I2C通道扩展器中的所有通道。
[0015] 可选地,所述利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道,包括:
[0016] 控制所述CPLD向所述I2C通道扩展器发送复位GPIO信号,以使所述I2C通道扩展器复位。
[0017] 可选地,所述利用所述CPLD检测I2C总线是否异常,包括:
[0018] 利用所述CPLD读取所述I2C总线中的串行时钟信号和串行数据信号,并判断所述串行时钟信号和所述串行数据信号是否在预设时间内发生跳变;
[0019] 若否,则判定所述I2C总线异常。
[0020] 可选地,所述利用所述CPLD检测I2C总线是否异常,包括:
[0021] 利用所述CPLD读取所述I2C总线中的串行时钟信号,并判断所述串行时钟信号保持低电平的时长是否超过预设时长;
[0022] 若是,则判定所述I2C总线异常。
[0023] 可选地,在利用所述CPLD屏蔽所述I2C通道扩展器中的所有通道之后,还包括:
[0024] 利用所述CPLD再次检测I2C总线是否异常;
[0025] 若是,则判定所述I2C控制器异常;
[0026] 若否,则进入所述利用CPLD对所述I2C控制器进行检测的步骤。
[0027] 可选地,所述利用CPLD对所述I2C控制器进行检测,包括:
[0028] 利用所述CPLD对所述I2C从设备进行模拟,并记录所述CPLD的寄存器中保存的指定数据;
[0029] 控制所述I2C控制器向所述CPLD发送从设备寄存器读取指令,以读取所述指定数据;
[0030] 判断所述I2C控制器读取到的数据是否与所述指定数据相同;
[0031] 若是,则判定所述I2C控制器正常;
[0032] 若否,则判定所述I2C控制器异常。
[0033] 可选地,所述控制所述I2C控制器对所述I2C通道扩展器进行检测,包括:
[0034] 控制所述I2C控制器向所述I2C通道扩展器发起读操作;
[0035] 当确定所述I2C通道扩展器响应了所述读操作且返回了正确的响应数据时,判定I2C通道扩展器正常;
[0036] 当确定所述I2C通道扩展器未响应所述读操作,或返回了错误的响应数据时,判定I2C通道扩展器异常。
[0037] 可选地,所述打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:
[0038] 依次打开所述通道,并控制所述I2C控制器对与所述通道连接的I2C从设备进行检测。
[0039] 可选地,所述控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:
[0040] 控制所述I2C控制器向所述I2C从设备发起读操作;
[0041] 当确定所述I2C从设备响应了所述读操作且返回了正确的响应数据时,判定I2C从设备正常;
[0042] 当确定所述I2C从设备器未响应所述读操作,或返回了错误的响应数据时,判定I2C从设备异常。
[0043] 可选地,所述控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,包括:
[0044] 利用所述CPLD检测所述I2C控制器与所述I2C从设备之间的I2C总线在空闲状态下的总线电平值是否符合I2C协议规范规定;
[0045] 当确定所述总线电平值符合所述I2C协议规范规定时,控制所述I2C控制器向所述I2C从设备发起读操作,并利用所述CPLD从所述I2C总线中提取所述I2C控制器和所述I2C从设备之间在执行所述读操作时交互的通信值;所述通信值包括I2C START信号值、I2C STOP信号值、从设备地址、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值;
[0046] 利用所述I2C协议规范规定对所述I2C START信号值、所述I2C STOP信号值、所述从设备ACK响应信息、所述串行时钟信号低电平值和所述串行数据信号低电平值进行检测,以及确定为控制所述I2C控制器向所述I2C从设备发起所述读操作所使用的待测从设备地址与所述I2C总线提取到的从设备地址是否相同;
[0047] 当确定所述总线电平值不符合所述I2C协议规范规定,或确定所述I2C START信号值、所述I2C STOP信号值、所述从设备ACK响应信息、所述串行时钟信号低电平值和所述串行数据信号低电平值中任一者不符合所述I2C协议规范规定,或确定所述待测从设备地址与所述从设备地址不相同时,判定所述I2C从设备异常。
[0048] 本发明还提供一种异常检测装置,包括:
[0049] I2C控制器检测模块,用于屏蔽I2C通道扩展器中的所有通道,并利用CPLD对所述I2C控制器进行检测,得到第一检测结果;
[0050] I2C通道扩展器检测模块,用于当所述第一检测结果为I2C控制器正常时,控制所述I2C控制器对所述I2C通道扩展器进行检测,得到第二检测结果;
[0051] I2C从设备检测模块,用于当所述第二检测结果为所述I2C通道扩展器正常时,打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,得到第三检测结果;
[0052] 退出检测模块,用于当所述第三检测结果为所述I2C从设备正常时,退出检测;
[0053] 告警模块,用于当所述第一检测结果、所述第二检测结果及所述第三检测结果中存在异常结果时,输出所述异常结果对应的告警信息。
[0054] 本发明还提供一种主机设备,包括:
[0055] 存储器,用于存储计算机程序;
[0056] 处理器,用于执行所述计算机程序时实现如上所述的异常检测方法。
[0057] 本发明还提供一种异常检测系统,包括:I2C控制器、I2C通道扩展器、I2C从设备、CPLD及主机设备,其中所述主机设备用于执行如上所述的异常检测方法。
[0058] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的异常检测方法。
[0059] 本发明提供一种异常检测方法,包括:屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果;当所述第一检测结果为所述I2C控制器正常时,控制所述I2C控制器对所述I2C通道扩展器进行检测,得到第二检测结果;当所述第二检测结果为所述I2C通道扩展器正常时,打开所述通道,并控制所述I2C控制器对与各所述通道连接的I2C从设备进行检测,得到第三检测结果;当所述第三检测结果为所述I2C从设备正常时,退出检测;当所述第一检测结果、所述第二检测结果及所述第三检测结果中存在异常结果时,输出所述异常结果对应的告警信息。
[0060] 可见,本发明可首先对I2C通道扩展器中的所有通道进行屏蔽,以排除I2C从设备及I2C通道扩展器对I2C总线的影响,进而可首先在I2C控制器与I2C通道扩展器之间确定异常期间;随后,本发明可用CPLD(Complex Programmable logic device,复杂可编程逻辑器件)对I2C控制器进行检测,其中CPLD能够从底层对I2C控制器的故障情况进行检测,以保障I2C控制器检测的可靠性;在确定I2C控制器正常时,可控制I2C控制器对I2C通道扩展器进行异常检测,以确定I2C通道扩展器及其与I2C控制器之间的通路是否正常;在确定I2C通道扩展器正常时,便可对先前屏蔽的通道进行重新开发,以利用I2C控制器对I2C从设备进行异常检测;而在确定上述器件中存在异常时,可输出对应的告警信息,以提醒测试人员及时维护异常器件。换句话说,本发明可对I2C控制器、I2C通道扩展器及I2C从设备依次进行自动检测,能够大幅提升异常检测效率,且可通过屏蔽I2C通道扩展器的方式来缩小定位异常的范围,进而也可以提升I2C器件的异常定位效率。本发明还提供一种异常检测装置、主机设备、系统及计算机可读存储介质,具有上述有益效果。

附图说明

[0061] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0062] 图1为本发明实施例所提供的第一种异常检测系统的结构框图;
[0063] 图2为本发明实施例所提供的一种异常检测方法的流程图;
[0064] 图3为本发明实施例所提供的第二种异常检测系统的结构框图;
[0065] 图4为本发明实施例所提供的一种异常检测装置的结构框图;
[0066] 图5为本发明实施例所提供的一种主机设备的结构框图;
[0067] 图6为本发明实施例所提供的第三种异常检测系统的结构框图;
[0068] 图7为本发明实施例所提供的一种计算机可读存储介质的结构框图。

具体实施方式

[0069] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0070] 为提升I2C器件的检测效率,本发明可提供一种异常检测方法,可对I2C控制器、I2C通道扩展器及I2C从设备依次进行自动检测,进而可提升I2C器件的异常定位效率。为便于理解,首先对本发明适用的硬件系统结构进行介绍。请参考图1,图1为本发明实施例所提供的第一种异常检测系统的结构框图,该系统主要由I2C控制器、I2C通道扩展器、I2C从设备及CPLD(Complex Programmable logic device,复杂可编程逻辑器件)组成,其中CPLD是本发明实施例对实现I2C器件自动检测所额外接入I2C总线的装置。I2C控制器和CPLD直接与主机设备(未画出)连接,并接受主机设备的直接控制;I2C控制器、I2C通道扩展器及I2C从设备之间有I2C总线连接,该总线中包含有SCL(Serial Clock Line,串行时钟线)和SDA(Serial Data Line,串行数据线)两种信号线,这两种信号线为本发明实施例进行I2C器件自动检测主要针对的信号线。为对I2C总线中的数据传输情况进行检测,CPLD还与上述两种信号线相连。其具体与I2C控制器和I2C通道扩展器之间的SCL信号线和SDA信号线相连,这样能够靠近I2C总线中的主控端进行检测,以提升异常定位的效率。进一步,本发明实施例需对I2C通道扩展器中的所有通道进行暂时屏蔽,而考虑到I2C通道扩展器在异常时,难以通过正常手段进行屏蔽,可选地,CPLD与I2C通道扩展器之间还可设置复位信号线(RST,Reset),以通过复位的方式屏蔽已异常的I2C通道扩展器。需要特别指出的是,CPLD可以为专为实现I2C器件自动检测而增加至交换机设备的装置;当然也可以为交换机设备中原有的装置,仅将其额外连接至I2C总线,而不修改其原有的功能,可根据实际需求进行设定。需要说明的是,本发明实施例并不限定I2C控制器、I2C通道扩展器及I2C从设备具体的数量,可以理解的是,在I2C控制器、I2C通道扩展器及I2C从设备数量较多时,这一异常检测系统的结构可能远比图1所示的系统复杂,但仅需依照图1所示的连接方式将与主机设备直接相连的CPLD接入I2C总线即可。
[0071] 基于上述描述,下面将对本发明实施例所提供异常检测方法进行详细介绍。请参考图2,图2为本发明实施例所提供的一种异常检测方法的流程图,该方法可以包括:
[0072] S201、屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果。
[0073] 在本发明实施例中,可首先对I2C通道扩展器进行屏蔽,并在屏蔽之后再利用CPLD对I2C控制器进行检测。屏蔽I2C通道扩展器的目的在于排除I2C从设备对I2C总线的干扰,并将异常定位范围暂时地缩小至I2C控制器与I2C通道扩展器之间,以提升异常定位效率。而采用CPLD对I2C控制器进行检测的目的首先在于从底层对I2C控制器的具体工作状态进行检测,以提升检测可靠性;其次,I2C控制器及CPLD均为受主机设备直接控制器件,且CPLD为专为检测I2C器件异常情况所接入I2C总线的装置,因此主机设备可控制I2C控制器与CPLD进行交互,并通过检测交互过程是否正常的方式确定I2C控制器是否正常,进而可将异常定位范围进一步缩小至I2C控制器自身,以提升异常定位效率。具体的,考虑到CPLD具有可编程的特性,因此可将CPLD模拟为一个I2C从设备,进而主机设备可控制I2C控制器以控制I2C从设备的方式与CPLD进行交互,并通过检测该交互过程是否正常的方式确定I2C控制器是否正常。需要说明的是,本发明实施例并不限定I2C控制器与CPLD之间具体的交互内容,可在I2C控制器与I2C从设备现有的交互内容中进行选择。优选地,上述交互内容可以为寄存器读取操作,即I2C控制器向CPLD发送从设备寄存器读取指令,而CPLD响应该指令,并将寄存器中的指定数据返回给I2C控制器;随后,主机设备可通过比对I2C控制器读取到的数据与上述指定数据是否相同,来确定I2C控制器是否正常。
[0074] 在一种可能的情况中,利用CPLD对I2C控制器进行检测,可以包括:
[0075] 步骤11:利用CPLD对I2C从设备进行模拟,并记录CPLD的寄存器中保存的指定数据;
[0076] 步骤12:控制I2C控制器向CPLD发送从设备寄存器读取指令,以读取指定数据;
[0077] 步骤13:判断I2C控制器读取到的数据是否与指定数据相同;若是,则进入步骤14;若否,则进入步骤15;
[0078] 步骤14:判定I2C控制器正常;
[0079] 步骤15:判定I2C控制器异常。
[0080] 需要说明的是,本发明实施例并不限定具体的从设备寄存器读取指令,也不限定I2C控制器具体需要获取的指定数据,可根据实际应用需求进行设定。
[0081] 进一步,需要说明的是,本发明实施例并不限定屏蔽I2C通道扩展器中所有通道所采用的方式,例如当I2C总线正常时,可通过I2C控制器直接关闭I2C通道扩展器;又例如,当I2C总线异常(I2C bus hung)时,此时无法通过正常方式关闭I2C通道扩展器,为此,本发明实施例还可将CPLD与I2C通道扩展器相互连接,并可利用CPLD直接对I2C通道扩展器进行屏蔽。可以理解的是,主机设备可首先通过CPLD检测I2C控制器与I2C通道扩展器之间的I2C总线是否正常,在决定是否通过CPLD屏蔽I2C通道扩展器。
[0082] 在一种可能的情况中,在屏蔽I2C通道扩展器中的所有通道之前,还可以包括:
[0083] 步骤21:利用CPLD检测I2C总线是否异常;若是,则进入步骤32;若否,则进入步骤33;
[0084] 步骤22:利用CPLD屏蔽I2C通道扩展器中的所有通道。
[0085] 步骤23:关闭I2C通道扩展器中的所有通道。
[0086] 具体的,CPLD与I2C通道扩展器之间可设置复位信号线,而CPLD可向I2C通道扩展器发送复位GPIO信号(General‑purpose input/output,通用型输入输出)以使I2C通道扩展器复位。此时,由于I2C通道扩展器原有配置已抹除,即无法转达I2C从设备的信号,因此同样能够起到屏蔽效果。
[0087] 在一种可能的情况中,利用CPLD屏蔽I2C通道扩展器中的所有通道,可以包括:
[0088] 步骤31:控制CPLD向I2C通道扩展器发送复位GPIO信号,以使I2C通道扩展器复位。
[0089] 需要说明的是,本发明实施例并不限定具体的复位GPIO信号,可参考I2C通道扩展器的相关技术。应当特别指出的是,由于在复位I2C通道扩展器之后,还需对其进行还原,而还原过程将在一定程度影响异常检测效率,因此本发明实施例仅在确定I2C总线异常时,才对I2C通道扩展器进行复位。
[0090] 当然,可以理解的是,在CPLD对I2C通道扩展器进行复位之后,此时I2C总线中的信号仅由I2C控制器产生,假若此时I2C总线仍存在异常情况,则可直接判定I2C控制器存在异常。因此,本发明实施例还可在利用CPLD屏蔽I2C通道扩展器之后,再次利用CPLD检测I2C总线是否存在异常,如异常则可判定I2C控制器存在异常。
[0091] 在一种可能的情况中,在利用CPLD屏蔽I2C通道扩展器中的所有通道之后,还可以包括:
[0092] 步骤41:利用CPLD再次检测I2C总线是否异常;若是,则进入步骤42;若否,则进入步骤43;
[0093] 步骤42:判定I2C控制器异常;
[0094] 步骤43:进入利用CPLD对I2C控制器进行检测的步骤。
[0095] 进一步,需要说明的是,本发明实施例并不限定如何确定I2C总线是否存在异常,具体可通过检测I2C总线中的串行时钟信号和串行数据信号的跳变情况及保持某种电平的时长来确定I2C总线是否存在异常。
[0096] 具体的,由于在正常通信过程中,串行时钟信号和串行数据信号均会在短时间内发生跳变,因此本发明实施例可检测上述两个信号是否在预设时间(如500毫秒)内发生跳变,以此确定I2C总线是否存在异常。
[0097] 在一种可能的情况中,利用CPLD检测I2C总线是否异常,可以包括:
[0098] 步骤51:利用CPLD读取I2C总线中的串行时钟信号和串行数据信号,并判断串行时钟信号和串行数据信号是否在预设时间内发生跳变;若是,则进入步骤52;若否,则进入步骤53;
[0099] 步骤52:判定I2C总线正常或执行其他检测内容;
[0100] 步骤53:判定I2C总线异常。
[0101] 又例如,在正常通信过程中,串行时钟信号不会长时间保持低电平,因此本发明实施例还可检测串行时钟信号保持低电平的时长是否超过预设阈值(如500毫秒),以此确定I2C总线是否存在异常。
[0102] 在一种可能的情况中,利用CPLD检测I2C总线是否异常,包括:
[0103] 步骤61:利用CPLD读取I2C总线中的串行时钟信号,并判断串行时钟信号保持低电平的时长是否超过预设时长;若是,则进入步骤62;若否,则进入步骤63;
[0104] 步骤62:判定I2C总线异常。
[0105] 步骤63:判定I2C总线正常或执行其他检测内容。
[0106] 需要指出的是,上述两种检测方式可组合进行,本发明实施例并不限定上述两种检测的执行顺序,可并行检测也可以顺序检测,可根据实际应用需求进行设置。
[0107] S202、判断第一检测结果是否为I2C控制器正常;则进入步骤S203;若否,则进入步骤S208;
[0108] S203、当第一检测结果为I2C控制器正常时,控制I2C控制器对I2C通道扩展器进行检测,得到第二检测结果。
[0109] 在确定I2C控制器正常之后,可进一步检测I2C通道扩展器是否存在异常。具体的,可控制I2C控制器与I2C通道扩展器进行交互,以根据交互的执行情况确定I2C通道扩展器是否正常。本发明实施例并不限定为检测I2C通道扩展器,I2C控制器需要与I2C通道扩展器执行的具体交互内容,可参考I2C的相关技术,并结合实际应用需求进行选择。具体的可控制I2C控制器向I2C通道扩展器发起读操作,以读取I2C通道扩展器的寄存器。假若I2C通道扩展器响应了上述读操作,并返回了正确的响应数据,则可判定其正常;反之,若I2C通道扩展器未响应上述读操作,或是返回了错误的响应数据,如乱码等,则可判定其存在异常情况。
[0110] 在一种可能的情况中,控制I2C控制器对I2C通道扩展器进行检测,可以包括:
[0111] 步骤71:控制I2C控制器向I2C通道扩展器发起读操作;
[0112] 步骤72:当确定I2C通道扩展器响应了读操作且返回了正确的响应数据时,判定I2C通道扩展器正常;
[0113] 步骤73:当确定I2C通道扩展器未响应读操作,或返回了错误的响应数据时,判定I2C通道扩展器异常。
[0114] 需要说明的是,本发明实施例并不限定I2C控制器如何读取I2C通道扩展器的寄存器,可参考I2C的相关技术。
[0115] S204、判断第二检测结果是否为I2C通道扩展器正常;则进入步骤S205;若否,则进入步骤S208;
[0116] S205、当第二检测结果为I2C通道扩展器正常时,打开通道,并控制I2C控制器对与各通道连接的I2C从设备进行检测,得到第三检测结果;
[0117] 在确定I2C通道扩展器正常之后,便可打开其先前被屏蔽的通道,并对与各通道连接的I2C从设备进行检测。当然,为提升异常定位效率,可依次打开上述通道,并在每次打开通道时,并对当前开启的通道对应的I2C从设备进行检测。
[0118] 在一种可能的情况中,打开通道,并控制I2C控制器对与各通道连接的I2C从设备进行检测,包括:
[0119] 步骤81:依次打开通道,并控制I2C控制器对与通道连接的I2C从设备进行检测。
[0120] 进一步,可控制I2C控制器与I2C从设备进行交互,以根据交互的执行情况确定I2C从设备是否正常。本发明实施例并不限定为检测I2C从设备,I2C控制器需要与I2C从设备执行的具体交互内容,可参考I2C的相关技术,并结合实际应用需求进行选择。具体的可控制I2C控制器向I2C从设备发起读操作,以读取I2C从设备的寄存器。假若I2C从设备响应了上述读操作,并返回了正确的响应数据,则可判定其正常;反之,若I2C从设备未响应上述读操作,或是返回了错误的响应数据,如乱码等,则可判定其存在异常情况。
[0121] 在一种可能的情况中,控制I2C控制器对与各通道连接的I2C从设备进行检测,可以包括:
[0122] 步骤91:控制I2C控制器向I2C从设备发起读操作;
[0123] 步骤92:当确定I2C从设备响应了读操作且返回了正确的响应数据时,判定I2C从设备正常;
[0124] 步骤93:当确定I2C从设备器未响应读操作,或返回了错误的响应数据时,判定I2C从设备异常。
[0125] S206、判断第三检测结果是否为I2C从设备正常;则进入步骤S207;若否,则进入步骤S208;
[0126] S207、当第三检测结果为I2C从设备正常时,退出检测。
[0127] S208、当第一检测结果、第二检测结果及第三检测结果中存在异常结果时,输出异常结果对应的告警信息。
[0128] 在检测过程中,当发现I2C控制器、I2C通道扩展器和I2C从设备中存在异常装置时,即确定第一检测结果、第二检测结果及第三检测结果中存在异常结果时,便可输出对应的告警信息,以便测试人员及时维护对应的I2C器件。
[0129] 基于上述实施例,本发明可首先对I2C通道扩展器中的所有通道进行屏蔽,以排除I2C从设备及I2C通道扩展器对I2C总线的影响,进而可首先在I2C控制器与I2C通道扩展器之间确定异常期间;随后,本发明可用CPLD(Complex Programmable logic device,复杂可编程逻辑器件)对I2C控制器进行检测,其中CPLD能够从底层对I2C控制器的故障情况进行检测,以保障I2C控制器检测的可靠性;在确定I2C控制器正常时,可控制I2C控制器对I2C通道扩展器进行异常检测,以确定I2C通道扩展器及其与I2C控制器之间的通路是否正常;在确定I2C通道扩展器正常时,便可对先前屏蔽的通道进行重新开发,以利用I2C控制器对I2C从设备进行异常检测;而在确定上述器件中存在异常时,可输出对应的告警信息,以提醒测试人员及时维护异常器件。换句话说,本发明可对I2C控制器、I2C通道扩展器及I2C从设备依次进行自动检测,能够大幅提升异常检测效率,且可通过屏蔽I2C通道扩展器的方式来缩小定位异常的范围,进而也可以提升I2C器件的异常定位效率。
[0130] 基于上述实施例,应当指出的是,I2C总线是交换机和服务器中使用较多的低速总线,此总线的特点是硬件设计、PCB布线简单,软件设计和使用简单。然而,I2C总线的另一个特点是该总线是一个非可靠性总线,因此在产品的生产环节、上线后的运维环节都可能存在访问失败的情况。相关技术中,I2C从设备的相关故障通常仅能通过人工进行检测,检测效率较低;此外,仅依靠I2C控制器对I2C从设备进行检测也难以进一步分析I2C从设备的故障类型。也正是如此,本发明实施还可采用CPLD对I2C控制器与I2C从设备之间的总线通信值进行检测,以进一步提升I2C从设备的故障分析效率。在一种可能的情况中,控制I2C控制器对与各通道连接的I2C从设备进行检测,可以包括:
[0131] S301、利用CPLD检测I2C控制器与I2C从设备之间的I2C总线在空闲状态下的总线电平值是否符合I2C协议规范规定。
[0132] 本发明实施例可首先利用CPLD检测I2C控制器与I2C从设备之间的总线在空闲状态下的总线电平值是否符合I2C协议规范规定,例如可检测I2C总线中的串行时钟信号和串行数据信号是否符合I2C协议规范规定。当确定总线电平值不符合I2C协议规范规定时,则可确定I2C从设备存在单体不良或者焊接不良的故障,且可同时明确I2C从设备的故障类型为空闲总线信号异常,以便相关人员排查I2C从设备故障。
[0133] 应当指出的是,为达到最好的检测效果,应确保I2C控制器仅与一个I2C从设备通信。换句话说,可将除待测I2C从设备外的其他I2C从设备屏蔽,再对待测I2C从设备进行检测。
[0134] S302、当确定总线电平值符合I2C协议规范规定时,控制I2C控制器向I2C从设备发起读操作,并利用CPLD从I2C总线中提取I2C控制器和I2C从设备之间在执行读操作时交互的通信值;通信值包括I2C START信号值、I2C STOP信号值、从设备地址、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值。
[0135] 在确定总线电平值符合规定时,主机设备可控制I2C控制器向I2C从设备发起读操作,并利用CPLD对上述两者间的读操作交互过程进行详细检测。具体的,主机设备可利用CPLD从I2C总线中读取I2C控制器与I2C从设备之间交互的I2C START信号值、I2C STOP信号值、从设备地址、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值等通信值,并利用I2C协议规范及其他已知信息对上述通信值进行检测,其中,I2C START信号值、I2C STOP信号值、从设备地址及从设备ACK响应信息是读操作中一般需要传输的通信值,其中I2C START信号值、I2C STOP信号值和从设备ACK响应信息可直接与I2C协议规范进行比对检测;从设备地址与具体的I2C从设备有关,应当由I2C控制器向I2C从设备发送,然而受焊接、单体故障等因素的影响,I2C总线中传输的从设备地址可能与预期不符,进而导致I2C从设备无法正确响应读操作,因此需要将其与主机设备为控制I2C控制器向I2C从设备发起读操作所使用的待测从设备地址进行比对检测;同样,而受焊接、单体故障等因素的影响,串行时钟信号和串行数据信号在被拉低电平时,其对应的电压值可能无法满足I2C协议规范的要求,进而导致I2C控制器或I2C从设备无法确定串行时钟信号和串行数据信号已被拉低,因此本发明也会对串行时钟信号的低电平值和串行数据信号的低电平值进行检测。
[0136] S303、利用I2C协议规范规定对I2C START信号值、I2C STOP信号值、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值进行检测,以及确定为控制I2C控制器向I2C从设备发起读操作所使用的待测从设备地址与I2C总线提取到的从设备地址是否相同;
[0137] S304、当确定总线电平值不符合I2C协议规范规定,或确定I2C START信号值、I2C STOP信号值、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值中任一者不符合I2C协议规范规定,或确定待测从设备地址与从设备地址不相同时,判定I2C从设备异常。
[0138] 由于本发明实施例可对I2C控制器与I2C从设备之间的若干通信值进行检测,因此当确定上述通信值存在异常时,不仅可确定I2C从设备异常,同时还可具体确定是哪些通信值存在异常,进而可提升确定I2C从设备故障类型的效率。也正因如此,本发明可为服务器、交换机的生产及后期维护带来诸多好处,比如在生产过程中上,本发明的自动化的故障分析工具可以快速定位出原因,给出故障处理指导意见;此外,还可以统计故障数据,以作为产线检测方法和I2C 器件来料检测优化的重要数据参考依据。此外,由于本发明所使用的CPLD为服务器及交换机设备中的常见部件,因此在面对I2C从设备读写功能概率性失败问题时,可在不拆机、不使用外部示波器或协议分析仪的前提下,对I2C从设备故障原因进行分析,进而可大幅提升分析I2C从设备故障原因的效率,并降低分析成本。
[0139] 下面结合具体的例子介绍上述异常检测方法。请参考图3,图3为本发明实施例所提供的第二种异常检测系统的结构框图,其中0x31、0x09、0x70、0x50、0x51分别为CPLD、I2C通道扩展器PCA9461、I2C通道扩展器PCA9548、I2C从设备1、I2C从设备2的地址。
[0140] 在本发明实施例中,I2C控制器1的总线号(bus)假定为1。CPLD模块具体实现如下功能:
[0141] 1. 检测SDA、SCL信号的状态;
[0142] 2. 输出GPIO信号(用于复位PCA9641和PCA9548);
[0143] 3. 模拟一个标准的I2C从设备(地址为0x31)的功能。
[0144] 当出现I2C检测异常时,首先使用CPLD检测SDA和SCL是否出现bus hung(总线挂起,即I2C总线出现异常)的问题,此处以出现I2C bus hung这种情况来说明。
[0145] 1. 控制CPLD发送复位PCA9641和PCA9548的GPIO命令,PCA9641和PCA9548复位后,会将所有下游的I2C通道关闭。此时意味着I2C总线上只有I2C控制器、I2C通道扩展器,减小了故障范围。
[0146] 2. 然后再次使用CPLD检测I2C总线的链路状态,如果依然是I2C bus hung,则可确定是I2C控制器故障。如果I2C总线的链路状态正常,则需要继续分析故障点。
[0147] 3. 利用I2C控制器通过I2C总线读取CPLD的寄存器。具体命令:i2cget ‑y –f 1 0x31 0x00。如果读取异常,则判定是I2C控制器异常。如果读取数值正常,则进一步分析故障点。
[0148] 4. 利用I2C控制器读取PCA9641的寄存器,具体命令:i2cget ‑y –f 1 0x09 0x00。如果读取失败则判定PCA9641异常,如果正常则读取PCA9548的寄存器,具体命令:
i2cget ‑y –f 1 0x09,如果读取失败则判定PCA9548异常。如果读取均正常,则说明I2C通道扩展器器件正常。则需要进一步分析故障点。
[0149] 5. 打开PCA9641的通道,并打开PCA9548对应的通道。然后读取对应通道上的从设备,比如读取I2C从设备1,具体命令:i2cget ‑y –f 1 0x50 0x00。如读取异常,则说明是从设备1故障。从设备2同理。
[0150] 6. 如果全部检测完毕,未发现故障点,则可以重新诊断一次。
[0151] 当然,如果未出现I2C bus hung问题,则可执行如下流程:
[0152] 1. 使用I2C控制器向CPLD发起读取命令,如果无法正常读写,则是I2C控制器故障。如果I2C 控制器读取CPLD功能正常则需要进一步排查故障点;
[0153] 2. 读取I2C通道扩展器的寄存器,如果无法正常读取,则判定是I2C通道扩展器故障;
[0154] 3. 依次打开从设备对应的I2C通道,并对从设备发起读操作,如果从设备可以正常读取,则诊断过程结束;
[0155] 4. 如果从设备无法响应读取操作,则可判定为从设备故障。
[0156] 下面对本发明实施例提供的一种异常检测装置、主机设备、系统及计算机可读存储介质进行介绍,下文描述的异常检测装置、主机设备、系统及计算机可读存储介质与上文描述的异常检测方法可相互对应参照。
[0157] 请参考图4,图4为本发明实施例所提供的一种异常检测装置的结构框图,该装置可以包括:
[0158] I2C控制器检测模块401,用于屏蔽I2C通道扩展器中的所有通道,并利用CPLD对I2C控制器进行检测,得到第一检测结果;
[0159] I2C通道扩展器检测模块402,用于当第一检测结果为I2C控制器正常时,控制I2C控制器对I2C通道扩展器进行检测,得到第二检测结果;
[0160] I2C从设备检测模块403,用于当第二检测结果为I2C通道扩展器正常时,打开通道,并控制I2C控制器对与各通道连接的I2C从设备进行检测,得到第三检测结果;
[0161] 退出检测模块404,用于当第三检测结果为I2C从设备正常时,退出检测;
[0162] 告警模块405,用于当第一检测结果、第二检测结果及第三检测结果中存在异常结果时,输出异常结果对应的告警信息。
[0163] 可选地,该装置还可以包括:
[0164] 异常检测模块,用于在屏蔽I2C通道扩展器中的所有通道之前,利用CPLD检测I2C总线是否异常;
[0165] I2C控制器检测模块401,还用于在确定I2C总线异常时,则利用CPLD屏蔽I2C通道扩展器中的所有通道。
[0166] 可选地,I2C控制器检测模块401,可以包括:
[0167] 复位子模块,用于控制CPLD向I2C通道扩展器发送复位GPIO信号,以使I2C通道扩展器复位。
[0168] 可选地,异常检测模块,可以包括:
[0169] 第一检测子模块,用于利用CPLD读取I2C总线中的串行时钟信号和串行数据信号,并判断串行时钟信号和串行数据信号是否在预设时间内发生跳变;若否,则判定I2C总线异常。
[0170] 可选地,异常检测模块,可以包括:
[0171] 第二检测子模块,用于利用CPLD读取I2C总线中的串行时钟信号,并判断串行时钟信号保持低电平的时长是否超过预设时长;若是,则判定I2C总线异常。
[0172] 可选地,该装置还可以包括:
[0173] 复检模块,用于在利用CPLD屏蔽I2C通道扩展器中的所有通道之后,利用CPLD再次检测I2C总线是否异常;若是,则判定I2C控制器异常;若否,则进入利用CPLD对I2C控制器进行检测的步骤。
[0174] 可选地,I2C控制器检测模块401,可以包括:
[0175] 通道关闭子模块,用于关闭I2C通道扩展器中的所有通道。
[0176] 可选地,I2C通道扩展器检测模块402,可以包括:
[0177] 第一读操作发起子模块,用于控制I2C控制器向I2C通道扩展器发起读操作;
[0178] 第一判定子模块,用于当确定I2C通道扩展器响应了读操作且返回了正确的响应数据时,判定I2C通道扩展器正常;
[0179] 第二判定子模块,用于当确定I2C通道扩展器未响应读操作,或返回了错误的响应数据时,判定I2C通道扩展器异常。
[0180] 可选地,I2C从设备检测模块403,具体用于:
[0181] 依次打开通道,并控制I2C控制器对与通道连接的I2C从设备进行检测。
[0182] 可选地,I2C从设备检测模块403,可以包括:
[0183] 第二读操作发起子模块,用于控制I2C控制器向I2C从设备发起读操作;
[0184] 第三判定子模块,用于当确定I2C从设备响应了读操作且返回了正确的响应数据时,判定I2C从设备正常;
[0185] 第四判定子模块,用于当确定I2C从设备器未响应读操作,或返回了错误的响应数据时,判定I2C从设备异常。
[0186] 可选地,I2C控制器检测模块401,可以包括:
[0187] 模拟子模块,用于利用CPLD对I2C从设备进行模拟,并记录CPLD的寄存器中保存的指定数据;
[0188] 指令发送子模块,用于控制I2C控制器向CPLD发送从设备寄存器读取指令,以读取指定数据;
[0189] 判断子模块,用于判断I2C控制器读取到的数据是否与指定数据相同;若是,则判定I2C控制器正常;若否,则判定I2C控制器异常。
[0190] 可选地,I2C从设备检测模块403,可以包括:
[0191] 总线电平值检测子模块,用于利用CPLD检测I2C控制器与I2C从设备之间的I2C总线在空闲状态下的总线电平值是否符合I2C协议规范规定;
[0192] 通信值提取子模块,用于当确定总线电平值符合I2C协议规范规定时,控制I2C控制器向I2C从设备发起读操作,并利用CPLD从I2C总线中提取I2C控制器和I2C从设备之间在执行读操作时交互的通信值;通信值包括I2C START信号值、I2C STOP信号值、从设备地址、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值;
[0193] 通信值检测子模块,用于利用I2C协议规范规定对I2C START信号值、I2C STOP信号值、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值进行检测,以及确定为控制I2C控制器向I2C从设备发起读操作所使用的待测从设备地址与I2C总线提取到的从设备地址是否相同;
[0194] 异常判定子模块,用于当确定总线电平值不符合I2C协议规范规定,或确定I2C START信号值、I2C STOP信号值、从设备ACK响应信息、串行时钟信号低电平值和串行数据信号低电平值中任一者不符合I2C协议规范规定,或确定待测从设备地址与从设备地址不相同时,判定I2C从设备异常。
[0195] 请参考图5,图5为本发明实施例所提供的一种主机设备的结构框图,本发明实施例还提供一种主机设备,包括:
[0196] 存储器501,用于存储计算机程序;
[0197] 处理器502,用于执行计算机程序时实现如上述的异常检测方法的步骤。
[0198] 由于主机设备部分的实施例与异常检测方法部分的实施例相互对应,因此主机设备部分的实施例请参见异常检测方法部分的实施例的描述,这里不再赘述。
[0199] 请参考图6,图6为本发明实施例所提供的第三种异常检测系统的结构框图,本发明实施例还提供一种异常检测系统,包括:
[0200] I2C控制器602、I2C通道扩展器603、I2C从设备604、CPLD605及主机设备601,其中主机设备601用于执行如上所述的异常检测方法。
[0201] 由于异常检测系统部分的实施例与异常检测方法部分的实施例相互对应,因此异常检测系统部分的实施例请参见异常检测方法部分的实施例的描述,这里不再赘述。
[0202] 请参考图7,图7为本发明实施例所提供的一种计算机可读存储介质的结构框图,本发明实施例还提供一种计算机可读存储介质710,计算机可读存储介质710上存储有计算机程序711,计算机程序711被处理器执行时实现上述任意实施例的异常检测方法的步骤。
[0203] 由于计算机可读存储介质部分的实施例与异常检测方法部分的实施例相互对应,因此存储介质部分的实施例请参见异常检测方法部分的实施例的描述,这里不再赘述。
[0204] 说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0205] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0206] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0207] 以上对本发明所提供的一种异常检测方法、装置、主机设备、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。