位置:首页 > 新闻动态 > 行业动态 > 机房监控系统中的软件技术之通讯数据误码分析和过滤方法

新闻动态

行业动态
新闻资讯

行业动态

机房监控系统中的软件技术之通讯数据误码分析和过滤方法
发表时间:2017-10-13     阅读次数:     字体:【

技术领域与背景

  为加强统筹管理,通信运营商将分布在不同地理位置的基站/机房中逐年大幅度增加的智能设备作为监控点,通过不同的网络连接方式接入到网管中心,组成集中机房监控系统,如何对多种多样的大量的监控点的原始数据进行分析,实现对所有智能设备进行统一有效的管理,是衡量集中监控系统性能的核心指标之一。导致原始数据错误的原因包括校验错误、地址冲突、长度错误、特征码错误,以及返回数据中某些值超过标准值。例如,现有的对英国依顿福兰(Eaton-Williams)公司出品的空调的通讯数据的误码分析和过滤方法,采用标准Modbus通讯协议,直接对返回的数据进行数据公式换算,未进行地址检查和16位循环冗余校验(Cyclic Redundancy Check,缩略词为CRC)码即CRC 16校验,存在的不足是,如果监控的设备比较多,接线比较复杂,会导致设备地址发生冲突,发送的是监控某一设备的命令,收到的返回数据却是另一设备的;而且由于没有进行CRC 16校验,返回数据可能与实际数据不一致。又例如,现有的对科华公司出品的三相380V输入、三相380V输出的三进三出型不间断电源(Uninterruptible Power System,缩略词为UPS)的通讯数据误码分析和过滤方法,采用ASCII方式的通讯协议,是直接将收到的返回数据和实际中的数据对应,未进行特征码检查和长度检查,存在的不足是,如果返回数据过短或者由于没有进行特征码检查,返回数据也可能与实际数据不一致。

  为解决上述技术中存在的缺陷,一种计算机机房监控系统通讯数据误码分析和过滤方法应运而生,解决方案中主要用到了数据通讯技术和误码分析技术以及过滤技术。

  误码分析与过滤方法的实现

  这种计算机监控系统通讯数据误码分析和过滤方法,监控点是分布在不同地理位置的基站/机房中的智能设备,所述智能设备预先设置相应的设备地址、波特率、数据位、停止位和校验方式,其中校验方式包括奇校验、偶校验和无校验位中的一种,配用的动态数据策略库包括设定的检查和校验用的标准数据,包括地址冲突检查、长度检查、数据校验、特征码检查、值域检查、关联值检查、黑名单字符集,以及全字符检查用的标准数据。

  此计算机监控系统通讯数据误码分析和过滤方法的工作流程图如图1所示,步骤详情如下:

  一、服务端与设备建立通讯,采集数据。服务端根据智能设备的通讯协议向通过IP总线或RS485/RS422/RS232串口连接的相应智能设备发送相应命令,采集数据,所述相应命令包括十六进制命令和ASCII码命令。

  二、设备返回数据。所述智能设备收到服务器根据设备的通讯协议发送的相应命令后返回采集数据。

  三、数据分析。分析返回数据是否为正常数据,包括地址冲突检查、长度检查、数据校验、特征码检查、值域检查、关联值检查、黑名单字符集,以及全字符检查。

  分析返回数据是否为正常数据,研发人员根据智能设备的通讯协议,调用相关动态策略库中对应的方法进行分析。

  若智能设备的通讯协议为标准Modbus,则其分析步骤如下:首先,调用动态数据策略库中的地址冲突检查方法arrSend(0)<>arrRec(0),检查发送命令的设备地址和返回数据设备地址是否发生冲突,调用sCmdDataType.ToUpper <> ”HEX” 方法,判断数据类型是否是十六进制(HEX);然后,调用动态数据策略库中的bitCRCn方法进行CRC16校验。

  若智能设备的通讯协议为ASCII方式的通讯协议,则其分析步骤如下:首先,调用动态数据策略库中的长度检查,检查返回数据的长度是否在超过设定的标准值范围;然后,调用动态数据策略库中的sSource.substring(0,1)方法进行特征码检查,检查返回数据中是否包含“!”和“/”。

  若智能设备的通讯协议为电总通讯协议,则其分析步骤如下:首先,调用动态数据策略库中的特征码检查,检查返回数据的特征码是否包含“~”;其次,调用动态数据策略库中的Check7ECode方法进行和校验。

  地址冲突检查:检查能设备的物理地址是否发生冲突。

  长度检查:检查返回数据的长度是否在设定的标准值范围内。

  数据校验:包括CRC校验以及和校验,所述CRC校验是16位循环冗余校验,所述和校验是通讯协议为电总协议才进行的校验,是除SOI、EOI和CHKSUM外,将其他字符ASCII码值累加求和所得结果模65536余数取反加1。

  特征码检查:检查某些通讯协议的基本格式中的起始标志位是否正确,如果不正确,返回数据即为无效数据,数据类型是ASCII码;包括检查“!”、“$”、“^”、“:”、“~”等特殊字符 。

值域检查:检查返回数据中某些值是否在设定的标准值范围,如果不是在设定的标准值范围内,返回数据即为乱码。例如某UPS的输入线电压设定的标准值范围是(0,420),如果采集的返回数据中输入线电压的值不是在设定的标准值范围内,返回数据为乱码。

  关联值检查:检查当某一返回数据达到要求时,与其相关联的另一返回数据是否有关联值,如果不是有关联值,返回数据即为无效数据。例如某UPS的A相输出电压有值,A相输出电流有值,但是A相负载率为0,由于负载率=电流/额定电流,负载率应该有值,返回数据中A相负载率为0,返回数据为无效数据。

  黑名单字符集检查:检查返回数据中是否包含绝对不可能包括的字符,如果包含,返回数据即为无效数据,例如通讯协议为标准Modbus通讯协议中发送命令的功能码为03,返回数据中的功能码为83,返回数据为无效数据。

  四、过滤处理。如果返回数据是正常数据,即校验通过,经过分析的返回数据和实际数据一致,不是乱码或无效数据,则对返回数据进行加工。如果返回数据是非正常数据,即校验未通过,经过分析的发挥数据和实际数据不一致,是乱码或无效数据,则丢弃,退出程序。

  上述技术是对监控系统的设备通讯数据采用可扩展的误码分析和过滤方法,生成的通讯数据误码率低,监控系统可以对所有智能设备进行统一的有效管理与实时监控。

  误码分析与过滤方法的典型实施策略

  这种误码分析和过滤方法,实施可灵活多变,具体实施方案有多种,本文讨论其中一种典型的实施方案,对这种误码分析和过滤技术作进一步说明。

具体实施方案,其工作流程图如图2 所示。监控点是分布在不同地理位置的基站/机房中的英国依顿福兰(Eaton-Williams)公司出品的多台空调,采用Modbus RTU方式的通讯协议,预先设置相应的设备地址为“01”、波特率为9600、数据位为8、停止位为1和无校验位,配用的动态数据策略库包括设定的检查与校验用的标准数据,所述设定的检查与校验用的标准数据包括地址冲突检查、数据校验、特征码检查、长度检查、值域检查、关联值检查、黑名单字符集,以及全字符检查用的标准数据。依次有以下步骤:

  1)服务端与设备建立通讯,采集数据

  服务端根据空调采用Modbus RTU方式的通讯协议向通过IP总线或RS485/RS422/RS232串口连接的空调发送相应的十六进制命令,采集数据,

  十六进制命令:0 03000100069408;

  2)设备返回数据

  空调收到服务端发送的相应命令后返回采集数据;

  0103 0C 00DA000000000000000001DB 5BA0

  3)数据分析

  程序员根据相应智能设备的通讯协议,调用相关动态数据策略库中的相应的方法分析返回数据是否为正常数据,包括地址冲突检查、数据校验;

  首先,调用动态数据策略库中的地址冲突检查的方法arrSend(0)<>arrRec(0),检查发送命令的设备地址和返回数据的设备地址是否发生冲突, 调用sCmdDataType.ToUpper <> ”HEX” 方法,判断数据类型是否是十六进制(HEX),发送命令中设备地址为“01”,返回数据中设备地址为“01”,设备地址未发生冲突;

  然后,调用动态数据策略库中的方法:bitCRCn校验进行CRC16校验,采用上述步骤可以防止在监控空调多,接线复杂情况下可能导致设备地址发生冲突,不会出现发送监控某一台空调的命令,返回的却是另一台空调的数据的情况;而且由于进行了CRC 16校验,如果返回数据CRC校验不通过,就可以避免返回数据和实际数据不一致即返回数据错误的情况;

  4)过滤处理

  如果返回数据是正常数据,即校验通过,经过分析的返回数据和实际数据一致,不是乱码或/和无效数据,则对返回数据进行加工;

  如果返回数据是非正常数据,即校验未通过,经过分析的返回数据和实际数据不一致,是乱码或/和无效数据,则丢弃,退出程序。

  总结

  考虑到已有技术的不足,并在现有技术的基础上,我公司开发出这一套新的技术解决方案—误码分析与过滤方法。大大提高了服务器采集智能设备数据的正确率,并降低整个系统的通讯误码率,进一步方便监控系统可以对所有智能设备进行统一的有效管理与实时监控。

技术领域与背景

  为加强统筹管理,通信运营商将分布在不同地理位置的基站/机房中逐年大幅度增加的智能设备作为监控点,通过不同的网络连接方式接入到网管中心,组成集中机房监控系统,如何对多种多样的大量的监控点的原始数据进行分析,实现对所有智能设备进行统一有效的管理,是衡量集中监控系统性能的核心指标之一。导致原始数据错误的原因包括校验错误、地址冲突、长度错误、特征码错误,以及返回数据中某些值超过标准值。  

为解决上述技术中存在的缺陷,一种计算机机房监控系统通讯数据误码分析和过滤方法应运而生,解决方案中主要用到了数据通讯技术和误码分析技术以及过滤技术。

误码分析与过滤方法的实现

  这种计算机监控系统通讯数据误码分析和过滤方法,监控点是分布在不同地理位置的基站/机房中的智能设备,所述智能设备预先设置相应的设备地址、波特率、数据位、停止位和校验方式,其中校验方式包括奇校验、偶校验和无校验位中的一种,配用的动态数据策略库包括设定的检查和校验用的标准数据,包括地址冲突检查、长度检查、数据校验、特征码检查、值域检查、关联值检查、黑名单字符集,以及全字符检查用的标准数据。

  此计算机监控系统通讯数据误码分析和过滤方法的工作流程步骤详情如下:

  一、服务端与设备建立通讯,采集数据。服务端根据智能设备的通讯协议向通过IP总线或RS485/RS422/RS232串口连接的相应智能设备发送相应命令,采集数据,所述相应命令包括十六进制命令和ASCII码命令。

  二、设备返回数据。所述智能设备收到服务器根据设备的通讯协议发送的相应命令后返回采集数据。

  三、数据分析。分析返回数据是否为正常数据,包括地址冲突检查、长度检查、数据校验、特征码检查、值域检查、关联值检查、黑名单字符集,以及全字符检查。

  分析返回数据是否为正常数据,研发人员根据智能设备的通讯协议,调用相关动态策略库中对应的方法进行分析。

  若智能设备的通讯协议为标准Modbus,则其分析步骤如下:首先,调用动态数据策略库中的地址冲突检查方法arrSend(0)<>arrRec(0),检查发送命令的设备地址和返回数据设备地址是否发生冲突,调用sCmdDataType.ToUpper <> ”HEX” 方法,判断数据类型是否是十六进制(HEX);然后,调用动态数据策略库中的bitCRCn方法进行CRC16校验。

  若智能设备的通讯协议为ASCII方式的通讯协议,则其分析步骤如下:首先,调用动态数据策略库中的长度检查,检查返回数据的长度是否在超过设定的标准值范围;然后,调用动态数据策略库中的sSource.substring(0,1)方法进行特征码检查,检查返回数据中是否包含“!”和“/”。

  若智能设备的通讯协议为电总通讯协议,则其分析步骤如下:首先,调用动态数据策略库中的特征码检查,检查返回数据的特征码是否包含“~”;其次,调用动态数据策略库中的Check7ECode方法进行和校验。

  地址冲突检查:检查能设备的物理地址是否发生冲突。

  长度检查:检查返回数据的长度是否在设定的标准值范围内。

  数据校验:包括CRC校验以及和校验,所述CRC校验是16位循环冗余校验,所述和校验是通讯协议为电总协议才进行的校验,是除SOI、EOI和CHKSUM外,将其他字符ASCII码值累加求和所得结果模65536余数取反加1。

  特征码检查:检查某些通讯协议的基本格式中的起始标志位是否正确,如果不正确,返回数据即为无效数据,数据类型是ASCII码;包括检查“!”、“$”、“^”、“:”、“~”等特殊字符 。

值域检查:检查返回数据中某些值是否在设定的标准值范围,如果不是在设定的标准值范围内,返回数据即为乱码。例如某UPS的输入线电压设定的标准值范围是(0,420),如果采集的返回数据中输入线电压的值不是在设定的标准值范围内,返回数据为乱码。

  关联值检查:检查当某一返回数据达到要求时,与其相关联的另一返回数据是否有关联值,如果不是有关联值,返回数据即为无效数据。例如某UPS的A相输出电压有值,A相输出电流有值,但是A相负载率为0,由于负载率=电流/额定电流,负载率应该有值,返回数据中A相负载率为0,返回数据为无效数据。

  黑名单字符集检查:检查返回数据中是否包含绝对不可能包括的字符,如果包含,返回数据即为无效数据,例如通讯协议为标准Modbus通讯协议中发送命令的功能码为03,返回数据中的功能码为83,返回数据为无效数据。

  四、过滤处理。如果返回数据是正常数据,即校验通过,经过分析的返回数据和实际数据一致,不是乱码或无效数据,则对返回数据进行加工。如果返回数据是非正常数据,即校验未通过,经过分析的发挥数据和实际数据不一致,是乱码或无效数据,则丢弃,退出程序。

  上述技术是对监控系统的设备通讯数据采用可扩展的误码分析和过滤方法,生成的通讯数据误码率低,监控系统可以对所有智能设备进行统一的有效管理与实时监控。

  误码分析与过滤方法的典型实施策略

  这种误码分析和过滤方法,实施可灵活多变,具体实施方案有多种,本文讨论其中一种典型的实施方案,对这种误码分析和过滤技术作进一步说明。

监控点是分布在不同地理位置的基站/机房中的英国依顿福兰(Eaton-Williams)公司出品的多台空调,采用Modbus RTU方式的通讯协议,预先设置相应的设备地址为“01”、波特率为9600、数据位为8、停止位为1和无校验位,配用的动态数据策略库包括设定的检查与校验用的标准数据,所述设定的检查与校验用的标准数据包括地址冲突检查、数据校验、特征码检查、长度检查、值域检查、关联值检查、黑名单字符集,以及全字符检查用的标准数据。依次有以下步骤:

  1)服务端与设备建立通讯,采集数据

  服务端根据空调采用Modbus RTU方式的通讯协议向通过IP总线或RS485/RS422/RS232串口连接的空调发送相应的十六进制命令,采集数据,

  十六进制命令:0 03000100069408;

  2)设备返回数据

  空调收到服务端发送的相应命令后返回采集数据;

  0103 0C 00DA000000000000000001DB 5BA0

  3)数据分析

  程序员根据相应智能设备的通讯协议,调用相关动态数据策略库中的相应的方法分析返回数据是否为正常数据,包括地址冲突检查、数据校验;

  首先,调用动态数据策略库中的地址冲突检查的方法arrSend(0)<>arrRec(0),检查发送命令的设备地址和返回数据的设备地址是否发生冲突, 调用sCmdDataType.ToUpper <> ”HEX” 方法,判断数据类型是否是十六进制(HEX),发送命令中设备地址为“01”,返回数据中设备地址为“01”,设备地址未发生冲突;

  然后,调用动态数据策略库中的方法:bitCRCn校验进行CRC16校验,采用上述步骤可以防止在监控空调多,接线复杂情况下可能导致设备地址发生冲突,不会出现发送监控某一台空调的命令,返回的却是另一台空调的数据的情况;而且由于进行了CRC 16校验,如果返回数据CRC校验不通过,就可以避免返回数据和实际数据不一致即返回数据错误的情况;

  4)过滤处理

  如果返回数据是正常数据,即校验通过,经过分析的返回数据和实际数据一致,不是乱码或/和无效数据,则对返回数据进行加工;

  如果返回数据是非正常数据,即校验未通过,经过分析的返回数据和实际数据不一致,是乱码或/和无效数据,则丢弃,退出程序。

  总结

  考虑到已有技术的不足,并在现有技术的基础上,开发出一套新的技术解决方案—误码分析与过滤方法。大大提高了服务器采集智能设备数据的正确率,并降低整个系统的通讯误码率,进一步方便监控系统可以对所有智能设备进行统一的有效管理与实时监控。

 
上一篇:如何实现高效的机房监控
下一篇:机房监控市场现状分析