CN110430219B - 多种协议物联网设备自适配的方法及系统 - Google Patents

多种协议物联网设备自适配的方法及系统 Download PDF

Info

Publication number
CN110430219B
CN110430219B CN201910786900.6A CN201910786900A CN110430219B CN 110430219 B CN110430219 B CN 110430219B CN 201910786900 A CN201910786900 A CN 201910786900A CN 110430219 B CN110430219 B CN 110430219B
Authority
CN
China
Prior art keywords
converter
message
protocol
conversion
downlink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910786900.6A
Other languages
English (en)
Other versions
CN110430219A (zh
Inventor
史大明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Danbay Technology Co ltd
Original Assignee
Shenzhen Danbay Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Danbay Technology Co ltd filed Critical Shenzhen Danbay Technology Co ltd
Priority to CN201910786900.6A priority Critical patent/CN110430219B/zh
Publication of CN110430219A publication Critical patent/CN110430219A/zh
Application granted granted Critical
Publication of CN110430219B publication Critical patent/CN110430219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Abstract

本发明涉及一种多种协议物联网设备自适配的方法,包括:上行消息转换流程:将各种协议设备的原始输入数据转换为通用的业务层协议数据;下行消息转换流程:将业务层协议数据转换为适合各种协议设备的指令。本发明使得在有新设备新协议接入的需求下,可以实施分阶段、分层次的接入方式快速接入设备,通过消息转换器对接入层和业务层进行适配,使得业务层无需关心设备的接入方式是什么、是否能接入及如何接入等,只需要实现设备特定功能的开发,而现有的功能则不需要改动。

Description

多种协议物联网设备自适配的方法及系统
技术领域
本发明涉及物联网领域,尤其涉及一种多种协议物联网设备自适配的方法及系统。
背景技术
物联网技术大体分为应用层、感知层、网络层,其中应用层分为设备接入层和业务层。基于物联网的设备为了适用不同使用场景在网络层分化出多种传输协议,应用层需要针对不同传输协议构建不同的接入服务、业务层与具体的设备协议组成强绑定关系。当物联网平台接入一种新协议设备时需要对业务层进行重构,不能快速接入功能相同只是协议不同的设备、业务的可扩展性差、不符合软件开发的高内聚低耦合的理念。
由于物联网设备协议的多样性,目前市面上基于物联网的接入平台无法做到同时将多种传输协议实现标准化,只能做到以MQTT、NB和COAP这几个主流协议的分开接入,这些IOT平台只是将低层物联网协议包抽象成便于解理的数据结构。
现有技术的不足之处在于,物联网设备在产品迭代过程中,老的设备功能和协议不能快速替换掉,因此在现有的物联网设备接入实现中,业务层需要了解每种设备的差异性,根据设备差异化地实现功能,设备差异性体现在三个方面:组网方式差异性、协议差异性和功能差异性。比如:基于NB LWM2M的设备应用层不需要关心设备的实时在线状态,而基于TCP COAP组网的设备应用层需要维持TCP长连接保持设备实时在线。同样基于NB组网的设备不同的平台商在协议格式上各有不同,应用层需要针对不同平台不同协议格式做转换。甚至组网方式相同协议格式也相同,不同型号的设备相同功能执行的指令还需要有区分,比如同样的合闸功能型号1能执行自动合闸而型号2只能执行手动合闸指令。
当前属于物联网行业还属于起步阶段,还未形成一套统一的标准,还会有很多物联网应用技术不断地加入和迭代更新,对于物联网平台设备的接入需要快速适应这种变化,向下实现设备的灵活对接,向上对用户屏蔽技术差异性。比如对于已接入COAP协议的系统中,需要再接入NB协议的设备时,传统的实现方式需要建立两套业务系统来支持新协议设备的接入造成投产周期长,对于基于互联网使用的习惯的用户而言两种设备都是相同功能的设备,不能接受同样的功能需要区分操作。
发明内容
本发明的目的是提供一种多种协议物联网设备自适配的方法及系统,其解决了市面上基于物联网的接入平台无法做到同时将多种传输协议实现标准化的问题,具有能兼容更多协议、横向扩展性强等优点。
本发明的上述技术目的一是通过以下技术方案得以实现的:
一种多种协议物联网设备自适配的方法,包括:
上行消息转换流程:将各种协议设备的原始输入数据转换为通用的业务层协议数据;
下行消息转换流程:将业务层协议数据转换为适合各种协议设备的指令。
通过采用上述技术方案,使得在有新设备新协议接入的需求下,可以实施分阶段、分层次的接入方式快速接入设备。
本发明进一步设置为:所述上行消息转换流程具体为:接入层接收各种协议设备的原始输入数据,所述原始输入数据经过解码器解码为明文字符串消息,所述明文字符串消息经过上行消息转换器转换拆分成多条标准格式消息,所述多条标准格式消息分发到消息系统中。
通过采用上述技术方案,通过转换器核心对接入层和业务层进行适配,使得业务层无需关心设备的接入方式是什么、是否能接入及如何接入等,只需要实现设备特定功能的开发,而现有的功能则不需要改动。
本发明进一步设置为:所述消息系统为KAFKA分布式发布订阅消息系统。
通过采用上述技术方案,KAFKA分布式发布订阅消息系统具有:功能强大:高拓展性、弹性、容错、有状态和无状态处理,轻量级:无需专门的集群、只是一个API库而不是框架,完全集成:100%KAFKA版本兼容、易于集成到现有程序、无需单独部署,实时性:毫秒级延迟、并非微批处理、窗口允许乱序数据、允许迟到数据。
本发明进一步设置为:所述下行消息转换流程具体为:下行消息转换器接收业务层下发的标准格式消息并转换为明文字符串消息,所述明文字符串消息经过编码器编码为适合各种协议设备的指令。
通过采用上述技术方案,通过转换器核心对接入层和业务层进行适配,使得业务层无需关心设备的接入方式是什么、是否能接入及如何接入等,只需要实现设备特定功能的开发,而现有的功能则不需要改动。
本发明的上述技术目的二是通过以下技术方案得以实现的:
一种多种协议物联网设备自适配的系统,包括:编解码器、转换器核心、上行消息转换器、下行消息转换器和转换器模拟测试发送端。
通过采用上述技术方案,使得在有新设备新协议接入的需求下,可以实施分阶段、分层次的接入方式快速接入设备。
本发明进一步设置为:所述编解码器包含编码器和解码器,所述编码器负责将明文字符串消息编码为各种协议设备的指令,所述解码器负责将各种协议设备的原始输入数据解码为明文字符串消息。
通过采用上述技术方案,当新接入一种协议时可单独开发该协议的编解码模块,不影响其它现有协议编解码模块。
本发明进一步设置为:所述转换器核心包括转换器配置、处理器、异常封装、转换器和表达式转换规则;
所述转换器配置负责对转换规则、消息、设备信息存储键进行定义,对转换规则流程规则来源进行接口定义,提供给上行消息转换器和下行消息转换器来实现;
所述异常封装对协议适配消息转换过程产生的异常进行统一定义和封装,提供给上下流服务异常处理统一的口径;
所述表达式转换规则负责定义规则结构是怎样的,如何解析规则,如何将规则表达的内容转换为转换器可识别的值;
所述转换器定义了转换、规则和获取环境信息的接口,将规则和环境信息导入到转换器接口中备用;
所述处理器定义了输入数据经过处理得到输出数据的接口,此外还提供了过滤处理器和转换处理器实现。
通过采用上述技术方案,通过转换器核心对接入层和业务层进行适配,使得业务层无需关心设备的接入方式是什么、是否能接入及如何接入等,只需要实现设备特定功能的开发,而现有的功能则不需要改动。
本发明进一步设置为:所述上行消息转换器包括各种协议的上行消息转换器和转换器流程,所述转换器流程封闭了应用程序编程接口,不同协议的转换实现自己的转换器按接口配置转换流程规则,每新增一种协议不必改造现有的处理流程,只需按照接口实现自己的转换功能单独运行。
通过采用上述技术方案,由于上行消息需要进行消息解码、转换、加工、拆分和路由等处理,不同协议不同设备不同应用场景需要执行的步骤都可能不一样,因此需要使用转换器流程引擎将上述操作根据配置的流程规则灵活地流转起来。
本发明进一步设置为:所述下行消息转换器包括下行消息转换实现和下行转换接口;所述下行转换接口定义了统一的发送接口和消息格式,对上层业务系统屏蔽了协议的差异性并提供了服务化调用接口;由于下行消息只需要做格式转换和消息编码,因此不需要经过流程管理,直接由所述下行消息转换实现将转换好的消息转发到对应协议的接入服务。
通过采用上述技术方案,通过转换器核心对接入层和业务层进行适配,使得业务层无需关心设备的接入方式是什么、是否能接入及如何接入等,只需要实现设备特定功能的开发,而现有的功能则不需要改动。
本发明进一步设置为:所述转换器模拟测试发送端用于调用下行接口向设备发送数据,或模拟设备回复上行消息,当在运行过程中调整转换规则时也需要用来模拟验证规则的正确性。
通过采用上述技术方案,由于物联网接入的终端节点是物,没有一个标准的模拟测试工具并且设备也无法进行可按的调试,因此系统还提供了转换器模拟测试发送端程序,既可以调用下行接口向设备发送数据,也可以模拟设备回复上行消息,当在运行过程中调整转换规则时也需要用来模拟验证规则的正确性,是构建本系统不可或缺的一环。
综上所述,本发明具有以下有益效果:1、能兼容更多协议,2、可根据需要进行扩展,3、轻量化的消息流组件,4、开发和部署成本低,5、横向扩展性强。
附图说明
图1是本发明的上行消息转换流程图;
图2是本发明的下行消息转换流程图;
图3是本发明多种协议物联网设备自适配的系统原理框图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
实施例1:一种多种协议物联网设备自适配的方法,包括:
上行消息转换流程:将各种协议设备的原始输入数据转换为通用的业务层协议数据;
下行消息转换流程:将业务层协议数据转换为适合各种协议设备的指令。
实施例2:如图1所示,所述上行消息转换流程具体为:接入层接收各种协议设备的原始输入数据,所述原始输入数据经过解码器解码为明文字符串消息,所述明文字符串消息经过上行消息转换器转换拆分成多条标准格式消息,所述多条标准格式消息分发到消息系统中。所述明文字符串消息优选为JSON(JavaScript Object Notation,是一种轻量级的数据交换格式)数据格式的KAFKA消息。
所述消息系统采用KAFKA分布式发布订阅消息系统。本发明从开发成本、运营成本、适用场景和运行环境综合等因素考虑,采用KAFKA Stream实现消息流转流程编排功能,它有如下特性:功能强大(高拓展性、弹性、容错、有状态和无状态处理),轻量级(无需专门的集群、只是一个API库而不是框架),完全集成(100%KAFKA版本兼容、易于集成到现有程序、无需单独部署),实时性(毫秒级延迟、并非微批处理、窗口允许乱序数据、允许迟到数据)。
实施例3:如图2所示,所述下行消息转换流程具体为:下行消息转换器接收业务层下发的标准格式消息并转换为明文字符串消息,所述明文字符串消息经过编码器编码为适合各种协议设备的指令。所述明文字符串消息优选为JSON(JavaScript Object Notation,是一种轻量级的数据交换格式)数据格式的KAFKA消息。
实施例4-10参照图3。
实施例4:一种多种协议物联网设备自适配的系统,包括:编解码器、转换器核心、上行消息转换器、下行消息转换器和转换器模拟测试发送端。
实施例5:所述编解码器包含编码器和解码器,所述编码器负责将明文字符串消息编码为各种协议设备的指令,所述解码器负责将各种协议设备的原始输入数据解码为明文字符串消息。
如图3中包含了两种编解码模块:
coap协议编解码器:对coap协议数据包进行编解码,由coap协议解码器和coap协议编码器构成。
protobuf协议编解码器:对基于谷歌protobuf协议的数据包进行编解码,由protobuf协议解码器和protobuf协议编码器构成。
实施例6:所述转换器核心包括转换器配置、处理器、异常封装、转换器和表达式转换规则;所述转换器配置负责对转换规则、消息、设备信息存储键进行定义,对转换规则流程规则来源进行接口定义,提供给上行消息转换器和下行消息转换器来实现;所述异常封装对协议适配消息转换过程产生的异常进行统一定义和封装,提供给上下流服务异常处理统一的口径;所述表达式转换规则负责定义规则结构是怎样的,如何解析规则,如何将规则表达的内容转换为转换器可识别的值,表达式可以通过调用functions(扩展方法)获取特定的设备信息或生成特定协议环境下的值输入到转换器中;所述转换器定义了转换、规则和获取环境信息的接口,将规则和环境信息导入到转换器接口中备用;所述处理器定义了输入数据经过处理得到输出数据的接口,此外还提供了过滤处理器和转换处理器实现。过滤处理器不对数据进行加工,只将规则表达式执行结果为true的输入数据进行输出其它数据则抛弃,实现了消息过滤的功能。转换器则负责按照转换规则对输入数据进行加工、转换或拆分处理得到一个或多个不同的输出数据。
实施例7:所述上行消息转换器包括各种协议的上行消息转换器和转换器流程,所述转换器流程封闭了应用程序编程接口,不同协议的转换实现自己的转换器按接口配置转换流程规则,每新增一种协议不必改造现有的处理流程,只需按照接口实现自己的转换功能单独运行即可。如图3中,各种协议的上行消息转换器包含了coap协议的上行消息转换器和onenet平台的上行消息转换器。
为了应对海量高并发的上行消息带来的消息处理瓶颈,本系统采用Aviator表达式求值引擎来计算消息转换规则,通过采用表达式预编译达到执行原生字节码的效率,以及缓存设备信息使得消息转换过程中基本在内存中运行,经测试单机消息处理TPS可达1500+,同时它还支持多实例横向扩展以支持更高的TPS。
实施例8:所述下行消息转换器包括下行消息转换实现和下行转换接口;所述下行转换接口定义了统一的发送接口和消息格式,对上层业务系统屏蔽了协议的差异性并提供了服务化调用接口;由于下行消息只需要做格式转换和消息编码,因此不需要经过流程管理,直接由所述下行消息转换实现将转换好的消息转发到对应协议的接入服务即可。
实施例9:与实施例8的不同之处在于,所述下行消息转换器还包括消息发送路由,所述消息发送路由功能采取从Spring Bean容器中获取对应协议下行代理Bean的方式来发送消息,新增新的协议不需要改动路由代码,只需要注册新协议的下行代理Bean。
实施例10:所述转换器模拟测试发送端用于调用下行接口向设备发送数据,或模拟设备回复上行消息,当在运行过程中调整转换规则时也需要用来模拟验证规则的正确性。
由于物联网接入的终端节点是物,没有一个标准的模拟测试工具并且设备也无法进行可按的调试,因此系统还提供了转换器模拟测试发送端程序,既可以调用下行接口向设备发送数据,也可以模拟设备回复上行消息,当在运行过程中调整转换规则时也需要用来模拟验证规则的正确性,是构建本系统不可或缺的一环。
上行消息转换流程的一个具体实施例:基于电信onenet平台的nb设备,水表上报水量消息的转换过程。
上行消息转换流程定义:
converter.flow-config={"name":"protobufDecode","proc":[{"name":"parser","sink":"kafka-iot-msg-topic"}]}
定义了上行消息先经过protobufDecode解码,再经过子流程parser做消息转换,最后将转换后的消息发送到kafka指定topic中。
水量上报转换规则配置:
{
"id":"8193",
"request":[
{
"test":"",
"templates":[
{
"identifier":"'reportDeviceInfo'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"manufacturer":"head_1",
"mac":"head_2",
"volt":"body_2",
"signal":"body_3"
}
},
{
"identifier":"'reportWater'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"value":"body_4",
"time":"body_5"
}
}
]
},
{
"test":"body_6!=nil",
"templates":[
{
"identifier":"'reportWater'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"value":"body_6",
"time":"body_7"
}
}
]
},
{
"test":"body_8!=nil",
"templates":[
{
"identifier":"'reportWater'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"value":"body_8",
"time":"body_9"
}
}
]
},
{
"test":"body_10!=nil",
"templates":[
{
"identifier":"'reportWater'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"value":"body_10",
"time":"body_11"
}
}
]
},
{
"test":"body_1==1",
"templates":[
{
"identifier":"'triggerReport'",
"deviceId":"deviceId",
"productId":"productId",
"mt":"time('STAMP')",
"time":"time('STAMP')",
"value":{
"manufacturer":"head_1",
"address":"head_2",
"volt":"body_2",
"signal":"body_3",
"value1":"body_4",
"time1":"body_5",
"value2":"body_6",
"time2":"body_7",
"value3":"body_8",
"time3":"body_9",
"value4":"body_10",
"time4":"body_11"
}
}
]
}
]
}
原始设备消息:
0A 51 0A 14 08 11 12 09 31 39 30 32 33 32 31 39 30 18 81 40 20 00 2801 12 39 08 00
10 32 18 14 20 B0 09 2A 0C 31 39 30 34 30 31 31 32 30 31 30 30 30 BA09 3A 0C 31 39
30 34 30 31 31 36 30 31 30 30 40 C4 09 3A 0C 31 39 30 34 30 31 32 3030 31 30 30
是由以下信息组成的数据包:
Figure 161888DEST_PATH_IMAGE001
第一步:消息解码
将二进制数据包解码为明文json格式字符串消息:
{"head_3":8193,"head_4":0,"head_5":93,"head_1":17,"head_2":"801001315","deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","_msg_cate_id":"8193_0","body_3":25,"body_4":7500,"body_1":0,"body_2":3604,"body_9":"190725220000","body_10":7500,"body_11":"190726000000","body_7":"190725200000","body_8":7500,"body_5":"190725180000","body_6":7500}
第二步:消息转换
根据水量上报转换规则,将解码后的消息转换为1条reportDeviceInfo(上报设备信息)消息和4条reportWater(上报水量)消息:
{"identifier":"reportDeviceInfo","time":1564107044214,"deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","value":{"address":"801001315","signal":25,"volt":3604,"manufacturer":17}}
{"identifier":"reportWater","time":1564107044215,"deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","value":{"value":7500,"time":"190725180000"}}
{"identifier":"reportWater","time":1564107044215,"deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","value":{"value":7500,"time":"190725200000"}}
{"identifier":"reportWater","time":1564107044215,"deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","value":{"value":7500,"time":"190725220000"}}
{"identifier":"reportWater","time":1564107044215,"deviceId":"98f26ef8dccbd2afd5d9051dcf95eb31","value":{"value":7500,"time":"190726000000"}}
第三步:消息分发
将转换后有明确业务含义的消息通过kafka-iot-msg-topic topic发送到kafka中。
整个过程实现将设备一条原始水量上报消息中携带的数据,转换为业务可识别的1条设备信息数据和水表4次抄表的水量数据。
下行消息转换流程的一个具体实施例:基于电信onenet平台的nb设备,水表设置上报时间下行消息转换过程。
下行消息转换流程定义:
converter.flow-config=[{"name":"parser","protocol":"nb-cmc-lwm2m","proc":[{"name":"protobufEncode"}]},{"name":"parser","protocol":"dbay-coap","proc":[{"name":"coapEncode"}]}]
定义了nb-cmc-lwm2m协议的上行消息先经过parser对业务层下发的消息进行转换,再经过子流程protobufEncode将消息转换为下发给设备的二进制消息。
设置上报时间转换规则配置:
{
"id":"setReportTime",
"request":[
{
"test":"",
"templates":[
{
"head_1":17,
"head_2":"mac",
"head_3":4097,
"head_4":0,
"head_5":"genId('onenet')",
"body_1":"args.byHour==true1:0",
"body_2":"args.rptInterval",
"body_3":"args.rptTime"
}
]
}
]
}
业务层下发消息:
{
"deviceId":"125cff47038200001905925500000000",
"productId":1,
"identifier":"setReportTime",
"version":"1.0",
"args":{
"byHour":true,
"rptInterval":1,
"rptTime":"0020"
}
}
其中deviceId指定发送的目标设备ID,由identifier指定此消息为设置上报时间,version为协议版本,args指定设置上报时间的具体参数。
第一步:消息转换
根据设置上报时间转换规则,将业务层消息转换为该协议编码器可识别的JSON格式数据:
{
"head_1":17,
"head_2":"190232190",
"head_3":4097,
"head_4":0,
"head_5":12,
"body_1":1,
"body_2":1,
"body_3":"0020"
}
其中head_2表示的mac是根据设备ID从设备信息中获取到的,head_5的消息ID为调用自定义方法genId生成的。
第二步:消息编码
将转换后的消息编码为该协议使用的二进制数据包:
0A 22 0A 14 08 11 12 09 31 39 30 32 33 32 31 39 30 18 81 20 20 00 280C 12 0A 08 00 10 01 1A 04 31 36 31 30
第三步:消息发送
下行消息转换器根据下发指令的设备所使用的协议,找到对应协议的接入服务代理,将指令发给设备。
整个下行指令发送过程,下行消息转换器实现了将与协议无关的业务消息转换为特定协议的设备指令,通过消息路由下发给设备。设备回复该指令执行结果则走上行消息转换流程。
Kafka是一种高吞吐量的分布式发布订阅消息系统,每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的保护范围内都受到专利法的保护。

Claims (6)

1.一种多种协议物联网设备自适配的方法,其特征是,包括:上行消息转换流程:将各种协议设备的原始输入数据转换为通用的业务层协议数据;
所述上行消息转换流程具体为:接入层接收各种协议设备的原始输入数据,所述原始输入数据经过解码器解码为明文字符串消息,所述明文字符串消息经过上行消息转换器转换拆分成多条标准格式消息,所述多条标准格式消息分发到KAFKA分布式发布订阅消息系统中,所述明文字符串消息为JSON数据格式的KAFKA信息;
下行消息转换流程:将业务层协议数据转换为适合各种协议设备的指令;
所述下行消息转换流程具体为:下行消息转换器接收业务层下发的标准格式消息并转换为明文字符串消息,所述明文字符串消息经过编码器编码为适合各种协议设备的指令;
其中,在所述上行消息转换流程中,通过转换器核心对接入层和业务层进行适配,所述转换器核心包括转换器配置、处理器、异常封装、转换器和表达式转换规则;所述转换器配置负责对转换规则、消息、设备信息存储键进行定义,对转换规则流程规则来源进行接口定义,提供给上行消息转换器和下行消息转换器来实现;所述处理器定义输入数据经过处理得到输出数据的接口,所述处理器还提供过滤处理器的实现,所述过滤处理器不对数据进行加工,只将规则表达式执行结果为true的输入数据进行输出,其它数据则抛弃;所述异常封装对协议适配消息转换过程产生的异常进行统一定义和封装,提供给上下流服务异常处理统一的口径;所述转换器定义转换、规则和获取环境信息的接口,将规则和环境信息导入到转换器接口中备用;所述表达式转换规则定义规则结构和规则解析,将规则表达的内容转换为转换器可识别的值;
所述表达式转换规则采用Aviator表达式求值引擎进行计算;
所述规则表达式通过调用functions获取设备信息或生成协议环境下的值输入到转换器中;
下行消息转换器还包括消息发送路由,所述消息发送路由采取从Spring Bean容器中获取对应协议下行代理Bean的方式发送消息,新增新的协议时注册新协议的下行代理Bean而不需要改动路由代码。
2.一种多种协议物联网设备自适配的系统,其特征是,包括:编解码器、转换器核心、上行消息转换器、下行消息转换器和转换器模拟测试发送端;
其中,所述转换器核心包括转换器配置、处理器、异常封装、转换器和表达式转换规则;所述转换器配置对转换规则、消息、设备信息存储键进行定义,对转换规则流程规则来源进行接口定义,提供给上行消息转换器和下行消息转换器来实现;所述处理器定义输入数据经过处理得到输出数据的接口,所述处理器还提供过滤处理器的实现,所述过滤处理器不对数据进行加工,只将规则表达式执行结果为true的输入数据进行输出,其它数据则抛弃;所述异常封装对协议适配消息转换过程产生的异常进行统一定义和封装,提供给上下流服务异常处理统一的口径;所述转换器定义转换、规则和获取环境信息的接口,将规则和环境信息导入到转换器接口中备用;所述表达式转换规则定义规则结构和规则解析,将规则表达的内容转换为转换器可识别的值;
所述表达式转换规则采用Aviator表达式求值引擎进行计算;
所述规则表达式通过调用functions获取设备信息或生成协议环境下的值输入到转换器中;
所述编解码器包含解码器,所述解码器用于将各种协议设备的原始输入数据解码为明文字符串消息,所述明文字符串消息为JSON数据格式的KAFKA信息;
所述上行消息转换器包括各种协议的上行消息转换器,其中包括coap协议的上行消息转换器和onenet平台的上行消息转换器;
所述下行消息转换器包括下行消息转换实现;所述下行消息转换实现将转换好的下行消息转发到对应协议的接入服务;
下行消息转换器还包括消息发送路由,所述消息发送路由采取从Spring Bean容器中获取对应协议下行代理Bean的方式发送消息,新增新的协议时注册新协议的下行代理Bean而不需要改动路由代码;
所述转换器模拟测试发送端用于调用下行接口向设备发送数据,或模拟设备回复上行消息。
3.根据权利要求2所述的多种协议物联网设备自适配的系统,其特征是:所述编解码器还包含编码器,所述编码器负责将明文字符串消息编码为各种协议设备的指令。
4.根据权利要求2所述的多种协议物联网设备自适配的系统,其特征是:所述上行消息转换器还包括转换器流程,所述转换器流程封闭应用程序编程接口,不同协议的转换通过对应的转换器按接口配置转换流程规则,每新增一种协议不改造现有的处理流程,按照接口实现转换功能的单独运行。
5.根据权利要求2所述的多种协议物联网设备自适配的系统,其特征是:所述下行消息转换器还包括下行转换接口,所述下行转换接口定义统一的发送接口和消息格式,对上层业务系统屏蔽协议的差异性并提供服务化调用接口。
6.根据权利要求2所述的多种协议物联网设备自适配的系统,其特征是:所述转换器模拟测试发送端还用于在运行过程中调整转换规则时模拟验证规则的正确性。
CN201910786900.6A 2019-08-24 2019-08-24 多种协议物联网设备自适配的方法及系统 Active CN110430219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910786900.6A CN110430219B (zh) 2019-08-24 2019-08-24 多种协议物联网设备自适配的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910786900.6A CN110430219B (zh) 2019-08-24 2019-08-24 多种协议物联网设备自适配的方法及系统

Publications (2)

Publication Number Publication Date
CN110430219A CN110430219A (zh) 2019-11-08
CN110430219B true CN110430219B (zh) 2023-01-20

Family

ID=68417399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910786900.6A Active CN110430219B (zh) 2019-08-24 2019-08-24 多种协议物联网设备自适配的方法及系统

Country Status (1)

Country Link
CN (1) CN110430219B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855680B (zh) * 2019-11-18 2022-03-11 中国电子科技集团公司信息科学研究院 一种物联网设备对接方法及装置
CN112838938B (zh) * 2019-11-25 2022-06-14 中移物联网有限公司 一种物联网平台的测试系统
CN110995859A (zh) * 2019-12-17 2020-04-10 四川赛康智能科技股份有限公司 一种基于泛在物联网的变电站智能支撑平台系统
CN111294401B (zh) * 2020-02-10 2022-04-01 泰华智慧产业集团股份有限公司 一种物联网设备接入方法及装置
CN111338996B (zh) * 2020-02-20 2022-04-22 山东华芯半导体有限公司 一种支持多协议的复合总线控制器
CN111600848B (zh) * 2020-04-22 2022-05-17 深圳市椰壳信息科技有限公司 一种协议转换器及其控制方法
CN111654498B (zh) * 2020-06-03 2022-11-22 深圳市信锐网科技术有限公司 设备添加方法及物联网平台
CN111917770B (zh) * 2020-07-31 2022-09-20 北京骑胜科技有限公司 设备通信方法、装置、设备及存储介质
CN112083707A (zh) * 2020-08-05 2020-12-15 深圳市永达电子信息股份有限公司 一种工控物理信号的处理方法及控制器、处理系统
CN112333227B (zh) * 2020-09-11 2022-07-15 浙江工业大学 一种基于规则引擎的混合型协议的物联网平台
CN112511416A (zh) * 2020-11-23 2021-03-16 四川长虹电器股份有限公司 基于规则式的数据通信协议转换系统、解码及编码方法
CN113452743B (zh) * 2021-03-05 2022-10-04 浙江华云信息科技有限公司 一种mqtt协议与coap协议融合算法
CN113132495B (zh) * 2021-05-10 2023-04-18 广州汇通国信科技有限公司 一种无需集成sdk实现私有协议设备接入物联网平台的方法
CN114095546B (zh) * 2021-10-27 2024-03-01 许昌许继软件技术有限公司 一种基于mqtt协议的报文监视方法及装置
CN113992644B (zh) * 2021-11-05 2024-03-26 天津市普迅电力信息技术有限公司 一种基于无服务技术的物联网关系统及其数据处理方法
CN114244706B (zh) * 2021-11-30 2022-07-29 慧之安信息技术股份有限公司 基于规则式协议转换引擎的边缘设备接入方法和系统
CN117527861B (zh) * 2024-01-05 2024-03-22 四川盛邦润达科技有限公司 一种设备接入方法、物联网网关和物联网可视化平台

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018167244A1 (en) * 2017-03-15 2018-09-20 Abb Schweiz Ag Rule-based information exchange in internet of things

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984706A (zh) * 2010-11-04 2011-03-09 中国电信股份有限公司 物联网网关及通信协议自动适配方法
CN102255908A (zh) * 2011-07-08 2011-11-23 北京邮电大学 一种物联网网关协议一致性的方法
CN103237085A (zh) * 2013-05-15 2013-08-07 晁彦公 一种物联网网关和包含该物联网网关的医疗监护系统
US10135954B2 (en) * 2015-12-21 2018-11-20 Intel Corporation Access dock device content on a remote client device wirelessly
CN107888539A (zh) * 2016-09-29 2018-04-06 中兴通讯股份有限公司 物联网终端接入装置及方法
CN106549863B (zh) * 2016-10-27 2019-06-21 北京物联港科技发展有限公司 一种物联网网关、终端及其协议自适应方法和装置
CN109788014A (zh) * 2017-11-14 2019-05-21 阿里巴巴集团控股有限公司 一种消息处理、物联网系统的消息处理方法和装置
CN108040005B (zh) * 2017-12-05 2020-07-14 大连理工大学 一种基于物联网的数控机床智能监控网关
CN108768826B (zh) * 2018-05-16 2021-03-19 华南理工大学 基于MQTT和Kafka高并发场景下的消息路由方法
CN108769165B (zh) * 2018-05-17 2021-12-24 深圳市信锐网科技术有限公司 一种物联网中数据处理方法、物联网接入系统
CN109951463A (zh) * 2019-03-07 2019-06-28 成都古河云科技有限公司 一种基于流计算和新型列式存储的物联网大数据分析方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018167244A1 (en) * 2017-03-15 2018-09-20 Abb Schweiz Ag Rule-based information exchange in internet of things

Also Published As

Publication number Publication date
CN110430219A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
CN110430219B (zh) 多种协议物联网设备自适配的方法及系统
Girod et al. A system for simulation, emulation, and deployment of heterogeneous sensor networks
US7467078B2 (en) Portable distributed application framework
Milenkovic Internet of Things: Concepts and System Design
CN107621987B (zh) 一种基于消息的无人机通用地面站软件架构系统
CN111343020A (zh) 多协议物联网设备的统一管理方法和装置
CN105577463B (zh) 一种基于通信协议的测试方法及其装置
CN111522727B (zh) 一种模拟对象测试方法、设备和系统
CN108306804A (zh) 一种Ethercat主站控制器及其通信方法和系统
CN112612535A (zh) 基于xml和json的卫星接收系统网络通信编解码引擎方法
CN112039983B (zh) 一种物联网设备连接中间件的实现方法及系统
KR20160000542A (ko) 데이터 분산 서비스 응용 생성 방법 및 장치
Shi et al. Construction of industrial internet of things based on mqtt and opc ua protocols
CN102750143A (zh) 基于matlab com组件调用的dsp开发方法
CN114095535A (zh) 一种将物理设备时序变量自动映射为数字模型的方法
CN115865680A (zh) 分布式的设备接入、控制和数据传输的方法及系统、装置
CN108540321A (zh) 一种可靠性高的互联网服务接口数据处理方法
Matabuena et al. Educational platform for communications using the MQTT protocol
Walcher et al. KNX to MQTT/AMQP
Ghobakhlou et al. A service oriented wireless sensor node management system
Sumorok et al. Simulation of TinyOS Wireless Sensor Networks Using OPNET
CN117591104B (zh) 模型的生成方法、装置、电子设备及存储介质
CN116582582B (zh) 组件式物联网数据采集方法、系统、设备及介质
WO2017197829A1 (zh) 测试信息管理方法、装置、测试用例执行系统及设备
CN115037639B (zh) 边缘数据平台接口信息的处理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant