一种多类传感器和多种协议快速接入云平台方法与流程

文档序号:20376423发布日期:2020-04-14 14:03阅读:409来源:国知局
一种多类传感器和多种协议快速接入云平台方法与流程

本发明涉及物联网技术领域,尤其涉及一种多类传感器和多种协议快速接入云平台方法。



背景技术:

物联网通过各类传感器、各类网络和各种平台的组合实现对物品和过程的智能化感知、识别和管理,能够有效地推动各个行业的智能化发展。但是,现有技术中,物联网在终端接入这一方面仍然存在很多的问题,现有技术中存在多种传感器,不同的传感器所使用的网络协议往往也不尽相同,这就导致用户在进行传感器与平台对接时,要根据新添加传感器的接口情况和协议情况进行平台代码的在增加和维护,不仅十分繁琐,而且还增加了不少维护成本。因此,发明一种多类传感器和多种协议快速接入云平台方法是非常有必要的。



技术实现要素:

本发明要解决的技术问题是:为了解决现有技术中多传感器多协议接入时步骤繁琐和维护成本高的问题,本发明提供了一种多类传感器和多种协议快速接入云平台方法来解决上述问题。

本发明解决其技术问题所采用的技术方案是:一种多类传感器和多种协议快速接入云平台方法,包括以下步骤:

s1、前置规则模块将采集信息处理为以报文形式存在的标准消息,所述前置规则模块将所述标准消息发送至消息队列模块,所述标准消息包括消息主题和消息内容,所述消息主题包括协议类型和附属信息,所述协议类型用于记录所述采集信息的传输协议,所述附属信息用于从数据中心获取解析模板;

s2、所述消息队列模块将接收到的所述标准消息进行排队;

s3、后置规则模块从所述消息队列模块中获取所述标准消息,所述后置规则模块包括外层解析模块和内层解析模块;所述外层解析模块通过解析所述消息主题获取所述消息内容的报文类型并且选择所述内层解析模块;

s4、所述内层解析模块将所述消息内容解析为采集数据;

s5、所述后置规则模块按照选择的所述内层解析模块预设好的存储位置将所述采集数据存储至数据中心。

作为优选,所述标准消息的存在形式包括二进制报文和json报文,所述消息内容包括十六进制字符串消息和json消息;

所述内层解析模板包括十六进制字符串解析模块和json字符串解析模块;

所述十六进制字符串解析模块包括字节序解析模块、特殊计算模块和表达式计算模块;所述字节序解析模块包括四字节算法模块和二字节算法模块,所述特殊计算模块包括负数补码计算模块、浮点计算模块和比特位解析模块;

所述json字符串解析模块包括深度遍历模块和所述表达式计算模块,所述深度遍历模块用于对象和数组的遍历;

所述表达式计算模块包括公式换算模块和小数点设置模块;

所述步骤s4具体包括以下步骤:

s401、所述内层解析模块根据字符串算法判断所述消息内容的存在形式;

若所述消息内容为二进制报文则所述十六进制字符串解析模块对所述消息内容进行解析,进入步骤s402;

若所述消息内容为json报文则所述json字符串解析模块对所述消息内容进行解析,进入步骤s403;

s402、所述字节序解析模块判断所述消息内容为四字节序还是二字节序,若是四字节序则所述四字节算法模块对所述消息内容进行大小端计算,若是二字节序则所述二字节算法模块对所述消息内容进行大小端计算;

所述特殊计算模块判断所述解析模板是否配置了负数补码计算,若配置了则所述负数补码计算模块对所述消息内容进行负数补码计算,否则不进行负数补码计算;

所述特殊计算模块判断所述解析模板是否配置了浮点计算,若配置了则所述浮点计算模块对所述消息内容进行浮点计算,否则不进行浮点计算;

所述特殊计算模块判断所述解析模板是否配置了比特位计算,若配置了则比特位解析模块对所述消息内容进行比特位计算,否则不进行比特位计算;

s403、所述深度遍历模块遍历所述消息内容;

所述深度遍历模块判断所述消息内容中的json对象中是否存在匹配键值,若存在则所述深度遍历模块判断所述匹配键值对应的value是否命中;若所述value命中则取出所述value,进入步骤s404;若不存在所述匹配键值或者所述value未命中则所述深度遍历模块继续在所述消息内容中递归查找所述匹配键值;

所述深度遍历模块遍历所述消息内容中的json数组并且判断所述json数组中是否存在匹配键值;若存在则所述深度遍历模块判断所述匹配键值对应的value是否命中;若所述value命中则取出所述value,进入步骤s404;若不存在所述匹配键值或者所述value未命中则所述深度遍历模块继续在所述消息内容中递归查找所述匹配键值;

s404、所述公式换算模块

将所述消息内容带入表达式引擎进行计算,所述小数点设置模块根据预设规则保留所述消息内容的小数点位数进行计算。

作为优选,所述前置规则模块包括前置模块、汇聚过滤模块和标准化模块;

所述步骤s1具体包括以下步骤:

s101、所述前置模块根据所述协议类型对所述采集信息进行分类;

s102、所述汇聚过滤模块根据所述采集信息的类别获取消息数据;

s103、所述标准化模块将所述消息数据将处理为所述标准消息。

作为优选,所述数据中心包括mysql数据中心、时间序列数据中心、mongodb数据中心、hbase数据中心、实时计算数据中心、jstorm和spark数据中心。

作为优选,所述消息内容还包括空消息,所述内层解析模块还包括空消息解析模块,所述空消息解析模块用于生成并且存储超时信息;

在步骤s401中还包括步骤:若所述消息内容为空消息则所述空消息解析模块生成所述超时信息并且将所述超时信息存储至数据中心。

本发明的有益效果是,这种多类传感器和多种协议快速接入云平台方法将采集信息处理为标准化的报文形式存在的标准信息,再通过对标准信息进行消息主题和消息内容的解析获取采集数据,利用前置规则模块对不同厂家和不同通信协议的设备进行标准化的信息处理,不仅提高了云平台的适配能力,还减轻新添加设备出现时的代码的维护量,与传统对接方式相比更加方便快捷,能够节省设备对接时间。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明一种多类传感器和多种协议快速接入云平台方法的最优实施例的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

如图1所示,本发明提供了一种多类传感器和多种协议快速接入云平台方法,包括以下步骤:

s1、前置规则模块将采集信息处理为标准信息,前置规则模块包括前置模块、汇聚过滤模块和标准化模块,具体包括以下步骤:

s101、前置模块根据协议类型对采集信息进行分类;在本实施例中,协议类型包括mqtt、coap、tcp、modbus、bacnet、snmp和opc;

s102、汇聚过滤模块根据采集信息的类别获取协议组成数据;

s103、标准化模块根据协议组成数据将采集信息处理为标准消息,前置规则模块将标准消息发送至消息队列模块;

标准信息采用报文形式存在,报文形式具体包括二进制报文和json报文,标准信息包括消息主题和消息内容;消息主题包括协议类型和附属信息,协议类型用于记录采集信息的传输协议,附属信息用于从数据中心获取解析模板;消息内容包括十六进制字符串消息和json消息;

在本实施例中,与采集信息关联的数据传输类型包括代理、轮询和主动上报;

当数据传输类型为代理模式时,通信协议包括mqtt、opc和coap,分别对应mqtt客户端、opc客户端和coap客户端;

通信协议为mqtt时,消息主题包括协议类型,消息内容包括json消息体和接收时间;

通信协议为opc时,消息主题包括协议类型、client、server和组,消息内容包括json键值;

通信协议为coap时,消息主题包括协议类型和uri,消息内容包括发送时间、接收时间和json消息体;

当数据传输类型为轮询模式时,通信协议包括tcp、snmp和modbus,分别对应tcp轮询发起者、snmp轮询发起者和modbusip轮询发起者;

通信协议为tcp时,消息主题包括协议类型、设备id、属性id和设备类型,消息内容包括发送时间、接收时间和十六进制字符串;

通信协议为snmp时,消息主题包括协议类型,消息内容包括json:oid+value+buck类型;

通信协议为modbus时,消息主题包括协议类型、设备id、属性id和设备类型,消息内容包括发送时间、接收时间和十六进制字符串;

当数据传输类型为主动上报模式时,通信协议包括tcp、snmp和bacnet,分别对应tcp消费者、snmp消费者和bacnet消费者;

通信协议为tcp时,消息主题包括协议类型、设备id、属性id和设备类型,消息内容包括接收时间和十六进制字符串;

通信协议为snmp时,消息主题包括协议类型,消息内容包括json:oid+value+buck类型;

通信协议为bacnet时,消息主题包括协议类型和object+oid+ip类型,消息内容包括发送时间、接收时间和json键值;

s2、消息队列模块将接收到的标准消息进行排队;

s3、后置规则模块从消息队列模块中获取标准消息,后置规则模块包括外层解析模块和内层解析模块;外层解析模块通过解析消息主题获取消息内容的报文类型并且选择内层解析模块;

s4、内层解析模块将消息内容解析为采集数据,内层解析模板包括十六进制字符串解析模块和json字符串解析模块;

十六进制字符串解析模块包括字节序解析模块、特殊计算模块和表达式计算模块;字节序解析模块包括四字节算法模块和二字节算法模块,特殊计算模块包括负数补码计算模块、浮点计算模块和比特位解析模块;

json字符串解析模块包括深度遍历模块和表达式计算模块,深度遍历模块用于对象和数组的遍历;

表达式计算模块包括公式换算模块和小数点设置模块;

步骤s4具体包括以下步骤:

s401、内层解析模块根据解析模板中字节起止位置截取消息内容某一字节子串,内层解析模块根据字符串算法通过判断截取的字节子串的存在形式来判断消息内容的存在形式;

若消息内容为二进制报文则十六进制字符串解析模块对消息内容进行解析,进入步骤s402;

若消息内容为json报文则json字符串解析模块对消息内容进行解析,进入步骤s403;

s402、字节序解析模块判断消息内容为四字节序还是二字节序;

若是四字节序则四字节算法模块对消息内容进行大小端计算,四字节算法模块根据解析模板判断按照大端模式还是小端模式处理数据,若是大端模式则按照高字节在低位而低字节在高位的方式处理消息内容,若是小端模式则按照高字节在高位而低字节在低位的方式处理消息内容;

若是二字节序则二字节算法模块对消息内容进行大小端计算,二字节算法模块根据解析模板判断按照大端模式还是小端模式处理数据,若是大端模式则按照高字节在低位而低字节在高位的方式处理消息内容,若是小端模式则按照高字节在高位而低字节在低位的方式处理消息内容;

特殊计算模块判断解析模板是否配置了负数补码计算,若配置了则负数补码计算模块对消息内容进行负数补码计算,否则不进行负数补码计算;

特殊计算模块判断解析模板是否配置了浮点计算,若配置了则浮点计算模块对消息内容进行浮点计算,否则不进行浮点计算;

特殊计算模块判断解析模板是否配置了比特位计算,若配置了则比特位解析模块对消息内容进行比特位计算,否则不进行比特位计算;

s403、深度遍历模块遍历消息内容;

深度遍历模块判断消息内容中的json对象中是否存在匹配键值,若存在则深度遍历模块判断匹配键值对应的value是否命中;若value命中则取出value,进入步骤s404;若不存在匹配键值或者value未命中则深度遍历模块继续在消息内容中递归查找匹配键值;

深度遍历模块遍历消息内容中的json数组并且判断json数组中是否存在匹配键值;若存在则深度遍历模块判断匹配键值对应的value是否命中;若value命中则取出value,进入步骤s404;若不存在匹配键值或者value未命中则深度遍历模块继续在消息内容中递归查找匹配键值;

s404、公式换算模块将消息内容带入表达式引擎进行计算,例如((+50)/100)*3被配置为+50;/100;*3;的形式;小数点设置模块根据预设规则保留消息内容的小数点位数进行计算。

s5、后置规则模块按照选择的内层解析模块预设好的存储位置将采集数据存储至数据中心;

在本实施例中,数据中心包括但不限于mysql数据中心、时间序列数据中心、mongodb数据中心、hbase数据中心、实时计算数据中心、jstorm和spark数据中心。

在本实施例中,用户预先配制解析模板,解析模板包括添加设备类型、添加设备描述、添加设备命令、添加数据属性、设备编码解析规则、设备数据解析规则和设备命令回应规则。设备数据解析规则中包括可自行决定是否配置的负数补码计算过程、浮点计算过程和比特位计算过程,设备数据解析规则中还包括采集数据的存储位置的配置,用户能够按照数据的大小、属性和用途自行决定采集数据的存储位置。

根据另外的实施例,消息内容还包括空消息。

在本实施例中,消息内容还包括空消息,内层解析模块还包括空消息解析模块,空消息解析模块用于生成并且存储超时信息;

在步骤s401中还包括步骤:若消息内容为空消息则空消息解析模块生成超时信息并且将超时信息存储至数据中心。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

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