CN114793191A - 一种基于领域模型的物联网集成系统及方法 - Google Patents
一种基于领域模型的物联网集成系统及方法 Download PDFInfo
- Publication number
- CN114793191A CN114793191A CN202210148305.1A CN202210148305A CN114793191A CN 114793191 A CN114793191 A CN 114793191A CN 202210148305 A CN202210148305 A CN 202210148305A CN 114793191 A CN114793191 A CN 114793191A
- Authority
- CN
- China
- Prior art keywords
- equipment
- domain model
- protocol
- model
- iot
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000010354 integration Effects 0.000 title claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 230000008859 change Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 24
- 238000007726 management method Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 11
- 238000002955 isolation Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 3
- 238000013498 data listing Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000003032 molecular docking Methods 0.000 abstract description 3
- 238000012800 visualization Methods 0.000 abstract description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于领域模型的物联网集成系统及方法,包括设备接入层、IOT中间件、IOT服务层和应用层,领域模型通过统一的标准规范定义设备的完整描述,通过统一的标准规范定义设备网络状态及设备运行状态的变更与切换;并通过代码生成工具把定义的领域模型通过模型算法转化成代码源文件供使用。本发明通过可视化得规范并定义用于描述设备特性的领域模型,使得屏蔽不同厂商,品牌设备的差异性,以统一的标准对外呈现。支持多种协议的设备接入,且把协议解析单独抽象,方便实时扩展;定义标准的数据格式,提供多种存储策略及存储策略扩展;系统还通过标准协议,屏蔽对接IOT平台的复杂性和重复性问题。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种基于领域模型的物联网集成系统及方法。
背景技术
近年来,物联网iot技术受到了广泛关注和应用,物联网iot技术在自动驾驶和联网车辆、智能安保、智能家居、智能穿戴、智慧城市等行业大量被应用。目前物联网iot物联网技术的发展缺乏一个统一开放的标准,出现了很多私有、孤立的物联网技术,致使目前的系统主流接入和管理还是针对特定品牌或者种类的设备,设备数据的存储方式也比较单一且后期难以扩展,上层业务应用调用iot平台的能力比较繁琐且重复。为此需要一种基于领域模型的物联网集成系统。
发明内容
本发明解决的技术问题:提供一种实现屏蔽差异,统一标准的领域模型,并实现实时扩展,复杂系统简单化的基于领域模型的物联网集成系统及方法。
技术方案:为了解决上述技术问题,本发明采用的技术方案如下:
一种基于领域模型的物联网集成系统,包括设备接入层、IOT中间件、IOT服务层和应用层四层架构,领域模型驱动整个四层架构的业务活动;所述设备接入层根据模型协议将领域模型与设备进行适配,将设备转换成领域模型的具体实现;所述IOT中间件对接入的设备根据其领域模型进行存储管理;且实现多租户数据隔离;并通过规则引擎实现设备的组合调用;所述IOT服务层提供若干种不同维度的服务协议,为IOT中间件中管理的设备提供统一的访问入口,并结合领域模型提供设备服务;所述应用层通过IOT服务层直接操作设备,获取设备信息,根据设备领域模型为用户提供业务能力。
进一步地,所述设备接入层定义网关的连接、关闭、终止、数据发送和接收抽象接口,并实现http、tcp、mqtt、udp和coap协议的网关;通过定义消息协议编码和解码接口,实现对接不同设备的具体数据包的上报和下发解析。
进一步地,IOT中间件对接入的设备根据其领域模型进行存储管理,包括定义IOT系统数据下发和上报的统一格式,便于数据的存储和查询;定义IOT系统数据存储的抽象类,实现数据存储的不同策略,列入存储到关系型和数据库或者时序数据库。
进一步地,IOT中间件通过动态的在sq1查询的时候,拼接租户查询条件,实现数据权限的隔离,从而实现支持多租户数据隔离;通过规则引擎实现设备的组合调用时,定义规则引擎设计器和执行器,规则引擎设计器通过可视化的界面、功能节点和连线的方式描述规则的逻辑。
进一步地,所述IOT服务层包含三种不同的服务协议:HTTP远程调用协议、MQTT消息队列和open-api鉴权协议;HTTP远程调用协议提供领域模型中所定义的设备信息查询和设备功能控制;MQTT消息队列协议通过消息队列允许外部监听领域模型这种定义的设备的事件,响应设备的各种事件,完成自定义的业务逻辑;open-api鉴权协议:第三方用授予的客户端编码和密钥,通过协议获取身份令牌,令牌用于访问HTTP远程调用协议和监听MQTT消息队列。
进一步地,所述领域模型通过统一的标准规范定义设备的完整描述,完整描述包含设备属性信息、设备事件和设备功能;通过统一的标准规范定义设备网络状态及设备运行状态的变更与切换;并通过代码生成工具把定义的领域模型通过模型算法转化成代码源文件供使用。
一种基于领域模型的物联网集成方法,其特征在于,包括以下步骤:
S1:针对需要接入系统的设备,进行领域模型的定义;
S2:将步骤S1中的领域模型,生成java源码文件并编译打包成jar包;
S3:针对实际需要接入系统的设备的通讯协议,建立系统的网关,用于设备的连接、关闭、终止、数据发送和接收;
S4:根据步骤S1中的定义的领域模型,结合设备实际的通讯方式和数据报文,进行通讯协议的解析开发工作;
S5:将步骤S4中通讯协议解析的java源码文件编译达成jar包通过classloader进行动态的实例化;
S6:针对需要接入的设备,结合S1步骤创建的领域模型和S4步骤创建的通讯协议,进行设备创建,数据存储查询操作;
S7:针对上层业务系统,提供IOT服务层服务,结合S1步骤中定义的领域模型,进行设备的实际业务调用;
进一步地,步骤S2的实现步骤包括:1)递归生成所有属性、方法和事件依赖的内部java类;2)生成领域模型依赖的静态java代码块;3)生成领域模型依赖的java方法函数;4)生成领域模型定义的属性、方法和事件的内部java类。
进一步地,步骤S4包含协议的编码和解码两部分工作,针对modbus协议,协议的编码和解码工作通过模型算法,0代码进行实现。
进一步地,模型算法的具体实现方式为:基于Modbus协议,通过输入寄存器地址和数据类型,定义Modbus协议解析算法通过定义和计算偏移量长度n,并结合请求数据报文中的长度1,计算生成实际请求数据报文中的长度L,从而生成实际下发的报文,通过利用生成报文中请求数据长度的唯一性,来动态地区分和定位请求数据的属性,从而实现基于Modbus协议的消息协议编码和解码过程0代码化实现。
有益效果:与现有技术相比,本发明具有以下优点:
本发明的基于领域模型的物联网集成系统及方法,通过可视化得规范并定义用于描述设备特性的领域模型,使得屏蔽不同厂商,品牌设备的差异性,以统一的标准对外呈现。系统支持http、tcp、mqtt、udp和coap协议的设备接入,并且把协议解析单独抽象,方便实时扩展,特定的,对于modbus协议,系统提供一种0代码协议解析的算法模型。系统定义标准的数据格式,提供多种存储策略及存储策略扩展。系统还通过标准协议,屏蔽对接IOT平台的复杂性和重复性问题。
附图说明
图1为本发明的基于领域模型的物联网集成系统框图;
图2为本发明举例的“智能三相电表设备”领域模型的基本信息截图;
图3为本发明举例的“智能三相电表设备”领域模型的属性信息截图;
图4为本发明举例的“智能三相电表设备”领域模型生成的java源码文件截图;
图5为本发明的tcp网关创建截图;
图6为本发明的Modbus协议算法模型列表截图;
图7为本发明的Modbus协议算法模型创建截图;
图8为本发明举例的“智能三相电表设备”产品创建截图;
图9为本发明举例的“智能三相电表设备”设备创建截图;
图10为本发明举例的“智能三相电表设备”接入的设备的信息详情页面截图;
图11为本发明举例的“智能三相电表设备”接入的设备的信息详情页面管控截图;
图12为本发明的IOT服务层调用示例截图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1所示,本申请的基于领域模型的物联网集成系统,由设备接入层、IOT中间件、IOT服务层和应用层四层架构组成,由领域模型驱动整个四层架构的业务活动。
设备接入层根据模型协议将领域模型与设备进行适配,把设备转换成领域模型的具体实现,由统一的网关和通信协议作为两者的交互桥梁。
设备接入层定义了网关的连接、关闭、终止、数据发送和接收抽象接口,并实现了http、tcp、mqtt、udp和coap协议的网关。通过定义消息协议编码和解码接口,实现了对接不同厂商设备的具体数据包的上报和下发解析。特定的,通过扩展领域模型,添加协议配置管理,实现modbus协议可视化配置寄存器地址和数据公式逻辑处理。网关接口定义了网络协议,底层通过netty实现了http、tcp、mqtt、udp和coap协议通讯交互实现。
消息协议编码和解码接口:提取剥离数据上报和下发核心逻辑,使得可以通过外部注册自定义协议,快速实现不同厂商,设备的接入,而且屏蔽了系统的复杂性,让设备的接入变得简单化和快速化。并且利用java classLoader实现消息协议编码和解码接口实现类的实例化加载,从而实现不需要发布整个工程,只需要上传实现类的jar包。
基于Modbus协议,通过输入寄存器地址和数据类型,定义Modbus协议解析算法通过定义和计算偏移量长度n,并结合请求数据报文中的长度1,计算生成实际请求数据报文中的长度L。从而生成实际下发的报文,通过利用生成报文中请求数据长度的唯一性,来动态地区分和定位请求数据的属性。从而实现基于Modbus协议的消息协议编码和解码过程0代码化实现。
IOT中间件对接入的设备根据其领域模型进行存储管理,支持多租户数据隔离,通过规则引擎实现设备的组合调用。通过动态的在sq1查询的时候,拼接租户查询条件,实现数据权限的隔离,从而实现支持多租户数据隔离。
通过规则引擎实现设备的组合调用时,定义了规则引擎设计器和执行器。规则引擎设计器通过可视化的界面,通过功能节点和连线的方式描述规则的逻辑。规则引擎执行器,通过抽象规则模型、规则调度器和任务执行器实现规则逻辑的具体流转和执行。调度器和执行器支持单机模式和集群模式,可用于集群模式的规则执行流转。任务执行器是通用的接口,在当面提供的功能节点无法支撑业务的情况下,可以自定义进行扩展功能节点并注册使用。
IOT中间件对接入的设备根据其领域模型进行存储管理,包括定义IOT系统数据下发和上报的统一格式,便于数据的存储和查询。定义IOT系统数据存储的抽象类,可以实现数据存储的不同策略,列入存储到关系型和数据库或者时序数据库。
IOT系统数据下发和上报的统一格式为:定义消息唯一的id,定义设备的唯一id,定义消息的时间戳,定义Map结构的消息头,定义Map类型的消息内容。
定义IOT系统数据存储的抽象类:包括定义数据存储和查询的抽象接口,提供influxDB、tidb和Es数据库的不同存储策略的实现。
IOT服务层提供多种不同维度的服务协议,为IOT中间件中管理的设备提供统一的访问入口,结合领域模型提供设备服务。
IOT服务层包含三种不同的服务协议:HTTP远程调用协议、MQTT消息队列和open-api鉴权协议。
HTTP远程调用协议是一种基于spring boot实现的兼容http请求的远程调用框架,提供领域模型中所定义的设备信息查询和设备功能控制。基于spring boot实现的兼容http请求的远程调用框架包括以下具体内容:
1)定义API,在函数上添加注解标识函数所对应的HTTP请求方法类型和参数名称;
2)服务端应用在启动中,spring boot的请求处理handmapping初始化时动态创建与API中注解相匹配的mapping;
3)客户端通过统一的动态代理工厂初始化API的调用代理对象,代理对象根据注解所标注的HTTP方法类型和参数名称完成HTTP请求并对返回的数据格式化处理,返回给调用者,完成整个远程调用。
MQTT消息队列协议:通过消息队列允许外部监听领域模型这种定义的设备的事件,响应设备的各种事件,完成自定义的业务逻辑。
open-api鉴权协议:第三方用授予的客户端编码和密钥,通过协议获取身份令牌,令牌用于访问HTTP远程调用协议和监听MQTT消息队列。
应用层通过IOT服务层可直接操作设备,获取设备信息,根据设备领域模型为用户提供业务能力:1)为设备提供可视化的展示和控制能力;2)将设备进行组合提供更为复杂的能力。
领域模型通过统一的标准规范定义设备的完整描述,完整描述包含设备属性信息、设备事件和设备功能。通过统一的标准规范定义设备网络状态及设备运行状态的变更与切换。并通过代码生成工具把定义的领域模型通过模型算法转化成代码源文件供使用。
其中,1)设备基本信息:包括领域模型唯一key,领域模型名称。
2)设备属性信息:用于定义设备属性,如设备ID,当前CPU使用率等,设备属性信息可以由上层平台主动下发至设备,也可由设备上报。设备属性信息的定义还包含属性的读写与否标识,展示与否标识,数据类型标识以及其他标识。
3)设备事件:用于定于设备事件,如报警事件,通知事件等,设备事件用于满足上层平台对消息实时性和消息持久化的需求。
4)设备功能:用于定义设备功能,描述可以由上层平台主动调用的操作,如播放音乐,开关操作等。设备功能的定义还包含功能调用的同步异步标识。
网络状态包含在线和离线状态,设备运行状态包含开启、关闭、告警状态和未激活状态。通过定义各状态变更与切换的抽象方法,实现各状态变更与切换的方法逻辑保持独立。例如告警状态的变更与切换逻辑是:如果要从其他状态切换至告警状态,那么需要更新当前设备状态并切换至告警状态。如果要从告警状态变更至其他状态,那么需要判断当前设备是否存在开启和关闭状态,存在则变更至开发状态,不存在则变更至未激活状态。
通过代码生成工具把定义的领域模型通过模型转化算法转化成代码源文件供使用。使用jcodemodel把领域模型实时转化成java源代码。模型转化算法包括以下步骤:
步骤1)递归生成所有属性、方法和事件依赖的内部java类;
步骤2)生成领域模型依赖的静态java代码块;
步骤3)生成领域模型依赖的java方法函数;
步骤4)生成领域模型定义的属性、方法和事件的内部java类。
本发明还公开一种基于领域模型的物联网集成方法,主要包括以下步骤:
S1:针对需要接入系统的设备,进行领域模型的定义;
领域模型的定义包含基础信息定义以及属性定义、功能定义及事件定义。
S2:将步骤S1中的领域模型,生成java源码文件并编译打包成jar包;
生成java源码文件并编译打包成jar包,通过jcodemodel把领域模型实时转化成java源代码,步骤包括1)递归生成所有属性、方法和事件依赖的内部java类,步骤2)生成领域模型依赖的静态java代码块,步骤3)生成领域模型依赖的java方法函数,步骤4)生成领域模型定义的属性、方法和事件的内部java类。
S3:针对实际需要接入系统的设备的通讯协议,建立系统的网关,用于设备的连接、关闭、终止、数据发送和接收;
S4:根据步骤S1中的定义的领域模型,结合设备实际的通讯方式和数据报文,进行通讯协议的解析开发工作;
包含协议的编码和解码两部分工作,特定的,针对modbus协议,协议的编码和解码工作可以自研的模型算法,0代码进行实现,具体如下:
基于Modbus协议,通过输入寄存器地址和数据类型,定义Modbus协议解析算法通过定义和计算偏移量长度n,并结合请求数据报文中的长度1,计算生成实际请求数据报文中的长度L。从而生成实际下发的报文,通过利用生成报文中请求数据长度的唯一性,来动态地区分和定位请求数据的属性。从而实现基于Modbus协议的消息协议编码和解码过程0代码化实现。
S5:将步骤S4中通讯协议解析的java源码文件编译达成jar包通过classloader进行动态的实例化;
S6:针对需要接入的设备,结合S1步骤创建的领域模型和S4步骤步骤创建的通讯协议,进行设备创建,数据存储查询等管理操作。还包含创建设备产品,产品选择领域模型中的部分或全部能力。再在该产品下创建设备。
S7:针对上层业务系统,提供iot服务层服务,结合S1步骤中定义的领域模型,进行设备的实际业务调用。针对上层业务系统,提供iot服务层服务,结合S1步骤中定义的领域模型,进行设备的实际业务调用,包含设备领域模型中属性的读取编辑、方法的操作以及事件的监听。还包含服务的认证及鉴权功能。
以接入“智能三相电表设备为例”,阐述本发明的方法:
S1:定义领域模型,如图1所示为“智能三相电表设备”领域模型的基本信息。如图2所示为“智能三相电表设备”领域模型的属性信息。
S2:将步骤S1中的领域模型,生成java源码文件并编译打包成jar包,如图3所示为,生成的“智能三相电表设备”java源码文件。
S3:针对实际需要接入系统的设备的通讯协议,建立系统的网关,用于设备的连接、关闭、终止、数据发送和接收;“智能三相电表设备”采用Modbus协议进行通讯,包括以下步骤:
Modbus协议基于tcp,如图4所示,建立tcp的系统网关,并开放相对应的外网端口。
S4:根据步骤S1中的定义的领域模型,结合设备实际的通讯方式和数据报文,进行通讯协议的解析开发工作。“智能三相电表设备”采用Modbus协议进行通讯,结合白研的Modbus协议算法模型,可以做到0代码开发。如图5及6所示:
S5:将步骤S4中通讯协议解析的java源码文件编译达成jar包通过classloader进行动态的实例化。“智能三相电表设备”采用Modbus协议进行通讯,结合自研的Modbus协议算法模型,可以做到0代码开发。所以不需要此步骤。
S6:针对需要接入的设备,结合S1步骤创建的领域模型和S4步骤步骤创建的通讯协议,进行设备创建,数据存储查询等管理操作。
创建“智能三相电表设备”产品,从S1步骤创建的领域模型中选取部分定义。如图7所示。
创建“智能三相电表设备”产品下具体的设备,进行设备的初始化工作。如图8所示。
设备接入后,可以查询实时查询设备的属性,可以操作可写的设备。如图9及10所示。
S7:针对上层业务系统,提供iot服务层服务,结合S1步骤中定义的领域模型,进行设备的实际业务调用。如图11所示
本发明的一种基于领域模型的物联网集成系统,系统通过可视化得规范并定义用于描述设备特性的领域模型,使得屏蔽不同厂商,品牌设备的差异性,以统一的标准对外呈现。系统支持http、tcp、mqtt、udp和coap协议的设备接入,并且把协议解析单独抽象,方便实时扩展,特定的,对于modbus协议,系统提供一种0代码协议解析的算法模型。系统定义标准的数据格式,提供多种存储策略及存储策略扩展。系统还通过标准协议,屏蔽对接iot平台的复杂性和重复性问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于领域模型的物联网集成系统,其特征在于,包括:设备接入层、IOT中间件、IOT服务层和应用层四层架构,领域模型驱动整个四层架构的业务活动;
所述设备接入层根据模型协议将领域模型与设备进行适配,将设备转换成领域模型的具体实现;
所述IOT中间件对接入的设备根据其领域模型进行存储管理;且实现多租户数据隔离;并通过规则引擎实现设备的组合调用;
所述IOT服务层提供若干种不同维度的服务协议,为IOT中间件中管理的设备提供统一的访问入口,并结合领域模型提供设备服务;
所述应用层通过IOT服务层直接操作设备,获取设备信息,根据设备领域模型为用户提供业务能力。
2.根据权利要求1所述的基于领域模型的物联网集成系统,其特征在于:所述设备接入层定义网关的连接、关闭、终止、数据发送和接收抽象接口,并实现http、tcp、mqtt、udp和coap协议的网关;通过定义消息协议编码和解码接口,实现对接不同设备的具体数据包的上报和下发解析。
3.根据权利要求1所述的基于领域模型的物联网集成系统,其特征在于:IOT中间件对接入的设备根据其领域模型进行存储管理,包括定义IOT系统数据下发和上报的统一格式,便于数据的存储和查询;定义IOT系统数据存储的抽象类,实现数据存储的不同策略,列入存储到关系型和数据库或者时序数据库。
4.根据权利要求1所述的基于领域模型的物联网集成系统,其特征在于:IOT中间件通过动态的在sq1查询的时候,拼接租户查询条件,实现数据权限的隔离,从而实现支持多租户数据隔离;通过规则引擎实现设备的组合调用时,定义规则引擎设计器和执行器,规则引擎设计器通过可视化的界面、功能节点和连线的方式描述规则的逻辑。
5.根据权利要求1所述的基于领域模型的物联网集成系统,其特征在于:所述IOT服务层包含三种不同的服务协议:HTTP远程调用协议、MQTT消息队列和open-api鉴权协议;HTTP远程调用协议提供领域模型中所定义的设备信息查询和设备功能控制;MQTT消息队列协议通过消息队列允许外部监听领域模型这种定义的设备的事件,响应设备的各种事件,完成自定义的业务逻辑;open-api 鉴权协议:第三方用授予的客户端编码和密钥,通过协议获取身份令牌,令牌用于访问HTTP远程调用协议和监听MQTT消息队列。
6.根据权利要求1所述的基于领域模型的物联网集成系统,其特征在于:所述领域模型通过统一的标准规范定义设备的完整描述,完整描述包含设备属性信息、设备事件和设备功能;通过统一的标准规范定义设备网络状态及设备运行状态的变更与切换;并通过代码生成工具把定义的领域模型通过模型算法转化成代码源文件供使用。
7.一种通过权利要求1-6任一权利要求的系统实现的基于领域模型的物联网集成方法,其特征在于,包括以下步骤:
S1:针对需要接入系统的设备,进行领域模型的定义;
S2:将步骤S1中的领域模型,生成java源码文件并编译打包成jar包;
S3:针对实际需要接入系统的设备的通讯协议,建立系统的网关,用于设备的连接、关闭、终止、数据发送和接收;
S4:根据步骤S1中的定义的领域模型,结合设备实际的通讯方式和数据报文,进行通讯协议的解析开发工作;
S5:将步骤S4中通讯协议解析的java源码文件编译达成jar包通过classloader进行动态的实例化;
S6:针对需要接入的设备,结合S1步骤创建的领域模型和S4步骤创建的通讯协议,进行设备创建,数据存储查询操作;
S7:针对上层业务系统,提供IOT服务层服务,结合S1步骤中定义的领域模型,进行设备的实际业务调用。
8.根据权利要求7所述的基于领域模型的物联网集成方法,其特征在于:步骤S2的实现步骤包括:1)递归生成所有属性、方法和事件依赖的内部java类;2)生成领域模型依赖的静态java代码块;3)生成领域模型依赖的java方法函数;4)生成领域模型定义的属性、方法和事件的内部java类。
9.根据权利要求7所述的基于领域模型的物联网集成系统及方法,其特征在于:步骤S4包含协议的编码和解码两部分工作,针对modbus协议,协议的编码和解码工作通过模型算法,0代码进行实现。
10.根据权利要求9所述的基于领域模型的物联网集成方法,其特征在于:模型算法的具体实现方式为:基于Modbus协议,通过输入寄存器地址和数据类型,定义Modbus协议解析算法通过定义和计算偏移量长度n,并结合请求数据报文中的长度1,计算生成实际请求数据报文中的长度L,从而生成实际下发的报文,通过利用生成报文中请求数据长度的唯一性,来动态地区分和定位请求数据的属性,从而实现基于Modbus协议的消息协议编码和解码过程0代码化实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148305.1A CN114793191A (zh) | 2022-02-17 | 2022-02-17 | 一种基于领域模型的物联网集成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210148305.1A CN114793191A (zh) | 2022-02-17 | 2022-02-17 | 一种基于领域模型的物联网集成系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114793191A true CN114793191A (zh) | 2022-07-26 |
Family
ID=82459588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210148305.1A Pending CN114793191A (zh) | 2022-02-17 | 2022-02-17 | 一种基于领域模型的物联网集成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114793191A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016005A (zh) * | 2022-12-12 | 2023-04-25 | 阿里云计算有限公司 | 物联网设备接入方法、装置、电子设备和存储介质 |
CN116346531A (zh) * | 2023-05-26 | 2023-06-27 | 云南自由贸易试验区苇航智能科技有限责任公司 | 一种基于canbus通信协议的适配方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
US20190052549A1 (en) * | 2016-05-06 | 2019-02-14 | Enterpriseweb Llc | Systems and methods for domain-driven design and execution of metamodels |
CN110971614A (zh) * | 2019-12-17 | 2020-04-07 | 软通动力信息技术(集团)有限公司 | 物联网适配方法、系统、计算机设备及存储介质 |
CN111585958A (zh) * | 2020-04-01 | 2020-08-25 | 西安电子科技大学 | 物联网平台异构设备自适应接入方法、系统 |
CN113132192A (zh) * | 2021-03-02 | 2021-07-16 | 西安电子科技大学 | 一种海量物联网设备接入与管理方法 |
CN113341900A (zh) * | 2021-06-24 | 2021-09-03 | 昆山罗亿智能科技有限公司 | 一种零代码配置的工业设备数据采集系统 |
CN113572799A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 设备接入控制平台的方法、装置和服务器 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
CN113868306A (zh) * | 2021-08-31 | 2021-12-31 | 云南昆钢电子信息科技有限公司 | 一种基于opc-ua规范的数据建模系统和方法 |
-
2022
- 2022-02-17 CN CN202210148305.1A patent/CN114793191A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
US20190052549A1 (en) * | 2016-05-06 | 2019-02-14 | Enterpriseweb Llc | Systems and methods for domain-driven design and execution of metamodels |
CN110971614A (zh) * | 2019-12-17 | 2020-04-07 | 软通动力信息技术(集团)有限公司 | 物联网适配方法、系统、计算机设备及存储介质 |
CN111585958A (zh) * | 2020-04-01 | 2020-08-25 | 西安电子科技大学 | 物联网平台异构设备自适应接入方法、系统 |
CN113572799A (zh) * | 2020-04-29 | 2021-10-29 | 北京金山云网络技术有限公司 | 设备接入控制平台的方法、装置和服务器 |
CN113132192A (zh) * | 2021-03-02 | 2021-07-16 | 西安电子科技大学 | 一种海量物联网设备接入与管理方法 |
CN113341900A (zh) * | 2021-06-24 | 2021-09-03 | 昆山罗亿智能科技有限公司 | 一种零代码配置的工业设备数据采集系统 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
CN113868306A (zh) * | 2021-08-31 | 2021-12-31 | 云南昆钢电子信息科技有限公司 | 一种基于opc-ua规范的数据建模系统和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016005A (zh) * | 2022-12-12 | 2023-04-25 | 阿里云计算有限公司 | 物联网设备接入方法、装置、电子设备和存储介质 |
CN116346531A (zh) * | 2023-05-26 | 2023-06-27 | 云南自由贸易试验区苇航智能科技有限责任公司 | 一种基于canbus通信协议的适配方法 |
CN116346531B (zh) * | 2023-05-26 | 2023-09-22 | 云南自由贸易试验区苇航智能科技有限责任公司 | 一种基于canbus通信协议的适配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108093070B (zh) | 一种物联网数据服务中间件系统 | |
CN101826987B (zh) | 一种基于融合开放网络的混合服务支撑系统及方法 | |
CN114793191A (zh) | 一种基于领域模型的物联网集成系统及方法 | |
US20080301143A1 (en) | Automatic Update System and Method for Using a Meta Mib | |
CN113301116B (zh) | 微服务应用跨网络通信方法、装置、系统及设备 | |
CN106874461A (zh) | 一种工作流引擎支持多数据源配置安全访问系统及方法 | |
CN113508403A (zh) | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 | |
CN111552568B (zh) | 云服务调用方法和装置 | |
CN112671887B (zh) | 一种资产识别方法、装置、电子设备及计算机存储介质 | |
CN103152370B (zh) | 一种物联网业务网关系统及应用方法 | |
Willner et al. | Semantic communication between components for smart factories based on oneM2M | |
CN108366356A (zh) | M2m系统与标识解析系统的互通方法及装置 | |
CN112363718A (zh) | 一种基于微服务架构的工业应用集成系统 | |
JP2011096045A (ja) | 計算機、計算機システム、及び、アプリケーション実行方法 | |
CN117336035A (zh) | 一种基于物联网网关的边端设备的管理协同方法 | |
CN114416314B (zh) | 一种基于api网关的服务编排方法 | |
CN117319525A (zh) | 一种基于cms与mms的变电站异构数据融合方法及系统 | |
CN112448909A (zh) | 电子锁管理方法、装置、系统及存储介质 | |
CN116743886A (zh) | 基于物联网的工业控制设备数据采集系统 | |
CN113886481B (zh) | 一种数据库访问方法和系统 | |
CN114885012B (zh) | 物联网平台的系统接入方法及系统 | |
CN113783936B (zh) | 一种基于企业服务总线的webservice协议统一接口实现方法 | |
Fortuna et al. | Dynamic composition of services for end-to-end information transport | |
CN107911442A (zh) | 接收响应接口交互方法、装置、计算机设备及存储介质 | |
KR100358156B1 (ko) | 통합망 환경에서 서비스 관리시스템의 관리명령을 교환기 명령어로 변환하는 방법 |
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 |