一种分析设备数据地址的方法和装置与流程

文档序号:24873113发布日期:2021-04-30 12:46阅读:156来源:国知局
一种分析设备数据地址的方法和装置与流程

本发明属于网络数据技术领域,具体涉及一种分析设备数据地址的方法和装置。



背景技术:

目前,物联网采集终端设备数据的前提条件是确定通讯协议,另外需要确定各数据在终端设备中的地址,工业领域终端设备大都是plc或modbus协议的非标设备,数据存储和通讯协议都是基于区块结构的。通常终端设备厂商或施工方可以提供终端设备的数据地址表,但也存在因各种原因无法得到数据地址表的情况,如果遇到这种情况就会导致无法将终端设备接入网络中。



技术实现要素:

技术目的:针对现有技术中存在的问题,本发明公开了一种分析设备数据地址的方法和装置,解决因无法确定数据地址而无法让终端设备接入物联网中的难题。

技术方案:本发明采用如下技术方案:一种分析设备数据地址的方法,其特征在于,包括如下步骤:

s1、捕获存储数据

根据设备通讯方法,通过监听或扫描方式获取终端设备的有效数据,并将其存储在数据库中以建立供分析的基础数据;

s2、数据地址分析

循环遍历目标数据的潜在数据类型以及该潜在数据类型在内存中的存储格式,通过数值匹配法对目标数据与数据库中的基础数据进行匹配,分析出目标数据在终端设备中的可疑地址;

s3、数据地址验证

周期性监听或扫描可疑地址的数据,比对可疑地址的数据的数值变化过程与目标数据的数值变化过程,在可疑地址中筛选出目标数据在终端设备中的准确地址。

优选地,如果终端设备通过以太网进行通讯,则通过端口镜像交换机监听捕获到终端设备的通信协议数据包;

如果终端设备通过串口线缆进行通讯,则通过并线的方式监听捕获到终端设备的通信协议数据包;

如果终端设备与其他终端设备直接进行通讯,则通过全量扫描获取终端设备的每个数据块的数据。

优选地,所述步骤s1中通过监听方式获取终端设备的有效数据,包括如下步骤:

s11、开始监听通信协议数据包;

s12、判断是否监听到通信协议数据包,若监听到通信协议数据包,执行步骤s13,否则,返回步骤s11;

s13、判断监听到的通信协议数据包是否与目标协议数据包格式相符,若相符,执行步骤s14,否则,返回步骤s11;

s14、解析监听到的通信协议数据包,将解析出的区块信息和对应的区块数据存储到数据库中;

s15、判断是否结束监听,若不结束监听,返回步骤s11,否则,结束监听。

优选地,所述步骤s1中通过扫描方式获取终端设备的有效数据,包括如下步骤:

s11’、探测终端设备中每个数据块的大小;

s12’、遍历数据块;

s13’、读取数据块数据;

s14’、将数据块信息和对应数据存储到数据库中;

s15’、判断数据块是否遍历结束,若没有遍历结束,返回步骤s12’,否则,结束扫描。

优选地,所述步骤s11’中探测终端设备中每个数据块的大小,包括如下步骤:

s111、假设当前探测的数据块的大小为n个字节,遍历该数据块;

s112、读取该数据块的第n个字节;

s113、若该数据块的第n个字节读取成功,则读取该数据块的第n+1个字节,否则,将n/2向上取整作为新的n值,返回步骤s112;

s114、若该数据块的第n+1个字节读取成功,则将2*n+1作为新的n值,返回步骤s112,否则,记录该数据块的大小为n个字节;

s115、判断该数据块是否为最后一个数据块,若不是最后一个数据块,则以下一个数据块作为当前探测的数据块,返回步骤s111,否则,结束探测过程。

优选地,所述步骤s2包括如下步骤:

s21、遍历数据库中的基础数据;

s22、根据目标数据的大小筛选出潜在数据类型;

s23、遍历目标数据的潜在数据类型;

s24、遍历当前潜在数据类型的存储格式;

s25、根据数据库中当前数据块大小,依次偏移起始字节位置,根据当前潜在数据类型以及当前存储格式进行数值转换,并将转换结果和目标数据进行数值匹配,若匹配相符,则基于当前数据块信息加上当前匹配的起始字节位置、当前潜在数据类型以及当前存储格式输出一条可疑地址,之后执行步骤s26,否则,直接执行步骤s26;

s26、判断当前潜在数据类型的存储格式是否遍历结束,若当前潜在数据类型存在下一个存储格式,则将下一个存储格式作为当前存储格式,返回步骤s25,否则,执行步骤s27;

s27、判断目标数据的潜在数据类型是否遍历结束,若存在下一个潜在数据类型,则将下一个潜在数据类型作为当前潜在数据类型,返回步骤s24,否则,执行步骤s28;

s28、判断数据库是否遍历结束,若数据库中存在下一个数据块,则将下一个数据块作为当前数据块,返回步骤s23,否则,数据地址分析过程结束。

一种分析设备数据地址的装置,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任意一项所述分析设备数据地址的方法。

有益效果:本发明具有如下有益效果:

本发明通过捕获存储数据、数据地址分析和数据地址验证三个过程找出终端设备中数据的地址,解决因无法确定数据地址而无法让终端设备接入物联网中的难题;同时相比于目前常用的通过工具软件扫描终端设备的数据,然后再人工匹配比对数值得到终端设备中数据的地址的方法,本发明根据数据类型、存储类型以及存储格式等信息加上数据匹配查找算法自动定位数据地址,并提供地址验证功能,能够提高数据地址查找的效率和准确性。

附图说明

图1为区块数据存储逻辑的结构图;

图2为监听以太网通信协议数据包的物理接线图;

图3为监听rs232串口通信协议数据包的物理接线图;

图4为监听rs485串口通信协议数据包的物理接线图;

图5为本发明分析设备数据地址的方法流程图;

图6为监听捕获指定协议的通信协议数据包的流程图;

图7为扫描探测终端设备数据区大小的流程图;

图8为扫描终端设备区块数据的流程图;

图9为数据地址分析处理的流程图。

具体实施方式

通过下面对实施例的描述,将更加有助于公众理解本发明,但不能也不应当将申请人所给出的具体的实施例视为对本发明技术方案的限制,任何对部件或技术特征的定义进行改变和/或对整体结构作形式的而非实质的变换都应视为本发明的技术方案所限定的保护范围。

本发明公开了一种分析设备数据地址的方法,如图5所示,包括如下步骤:

s1、捕获存储数据:根据设备通讯方法,通过监听或扫描方式获取终端设备的通信协议数据包,并将其存储在数据库中以建立可供分析的基础数据。

在本发明中,根据设备通讯技术的不同,获取基础数据的手段也不同:如果终端设备和人机界面(hmi)之间的通讯方式是以太网,可以使用端口镜像交换机监听捕获到终端设备和hmi之间的通信协议数据包,以太网通讯的物理接线如图2所示;如果终端设备和hmi之间的通讯方式是串口线缆,可以通过并线的方式监听捕获到终端设备和hmi之间的通信协议数据包,rs232通讯的物理接线如图3所示,rs485通讯的物理接线如图4所示。通过监听的方式可以捕获到终端设备和hmi之间的有效通信协议数据包,即通过协议数据包格式匹配的方式过滤得到目标协议数据包,通过协议数据包格式匹配还可以分析出通信协议数据包中的区块信息,区块信息包含的内容是当前数据所在的区块名、区块中的偏移字节数、字节数量,并将区块信息以及对应的数据写入到数据库中以备后续分析用。监听的处理逻辑流程如图6所示,首先选择监听目标网卡,选择设备通讯方法,之后执行如下步骤:

s11、开始监听通信协议数据包;

s12、判断是否监听到通信协议数据包,若监听到通信协议数据包,执行步骤s13,否则,返回步骤s11;

s13、判断监听到的通信协议数据包是否与目标协议数据包格式相符,若相符,执行步骤s14,否则,返回步骤s11;

s14、解析监听到的通信协议数据包,将解析出的区块信息和对应的区块数据存储到数据库中;

s15、判断是否结束监听,若不结束监听,返回步骤s11,否则,结束监听。

在本发明中,另外也可以终端设备和其他终端设备直接进行通信,此时全量扫描终端设备每个数据块的数据,扫描获取数据通常需要知道数据块的大小,通过探测方式获取数据块大小后,可读取整个数据块中的数据,将数据块信息以及数据定时扫描并存储到数据库中以供后期分析用。扫描获取数据的处理过程如图8所示,连接其他终端设备后,执行如下步骤:

s11’、探测终端设备中每个数据块的大小;

s12’、遍历数据块;

s13’、读取数据块数据;

s14’、将数据块信息和对应数据存储到数据库中;

s15’、判断数据块是否遍历结束,若没有遍历结束,返回步骤s12’,否则,结束扫描。

其中,区块数据存储的终端设备中的每个数据块都有大小,基于通信协议访问数据块时,如果访问数据块越界或不合法会返回错误,借助这个特性可以探测出数据块大小的边界,探测出数据块边界的条件是当前偏移位的字节可读,紧挨后面的字节不可读,那么数据块大小就是当前偏移位置加1。步骤s11’中的探测算法如图7所示,连接其他终端设备后,执行如下步骤:

s111、假设当前探测的数据块的大小为n个字节,遍历该数据块;

s112、读取该数据块的第n个字节,即数据块偏移位为n-1的1个字节;

s113、若该数据块的第n个字节读取成功,则读取该数据块的第n+1个字节,即数据块偏移位为n的1个字节,否则,将n/2向上取整作为新的n值,跳转到步骤s112;

s114、若该数据块的第n+1个字节读取成功,则将2*n+1作为新的n值,跳转到步骤s112,否则,记录该数据块的大小为n个字节;

s115、判断该数据块是否为最后一个数据块,若不是最后一个数据块,则以下一个数据块作为当前探测的数据块,返回步骤s111,否则,结束探测过程。

s2、数据地址分析:穷举并循环遍历目标数据的潜在数据类型以及该潜在数据类型在内存中的存储格式,并通过数值匹配法对目标数据与数据库中的基础数据进行匹配,分析出目标数据在终端设备中的可疑地址的列表。

当获取到基础数据后,在hmi或其他终端设备上选出需要找出数据地址的目标数据,并记录目标数据的数值。

数据在终端设备中的区块存储结构如图1所示,数据的潜在数据类型以及对应潜在数据类型在内存中的存储格式或编码格式如表1所示:

表1

遍历数据库中的基础数据,通过匹配目标数据的数值,分析出可疑地址,分析过程处理逻辑如图9所示,输入需要查询的目标数据后,执行如下步骤:

s21、遍历数据库中的基础数据;

s22、根据目标数据的大小筛选出潜在数据类型;

s23、遍历目标数据的潜在数据类型;

s24、遍历当前潜在数据类型在内存中的存储格式(大端、小端以及其它异类存储字节序);

s25、根据数据库中当前数据块大小,依次偏移起始字节位置,根据当前潜在数据类型以及当前存储格式进行数值转换,并将转换结果和目标数据进行数值匹配,若匹配相符,则基于当前数据块信息加上当前匹配的起始字节位置、当前潜在数据类型以及当前存储格式输出一条可疑地址,之后执行步骤s26,否则,直接执行步骤s26;

s26、判断当前潜在数据类型的存储格式是否遍历结束,若当前潜在数据类型存在下一个存储格式,则将下一个存储格式作为当前存储格式,跳转到步骤s25,否则,执行步骤s27;

s27、判断目标数据的潜在数据类型是否遍历结束,若存在下一个潜在数据类型,则将下一个潜在数据类型作为当前潜在数据类型,跳转到步骤s24,否则,执行步骤s28;

s28、判断数据库是否遍历结束,若数据库中存在下一个数据块,则将下一个数据块作为当前数据块,跳转到步骤s23,否则,数据地址分析过程结束。

s3、数据地址验证:当分析出可疑地址后,需要对可疑地址进行验证,验证的方式是:周期性监听或扫描可疑地址的数据,观察数值大小、变化规律以及数值合理范围,比对可疑地址的数据的数值变化过程与目标数据的数值变化过程,在可疑地址中筛选出目标数据的准确地址。

本发明还公开了一种分析设备数据地址的装置,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述分析设备数据地址的方法。

当然,本发明还可以有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可以根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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