CN118034673B - 一种物联网设备模型可视化编辑生成和动态解析*** - Google Patents
一种物联网设备模型可视化编辑生成和动态解析*** Download PDFInfo
- Publication number
- CN118034673B CN118034673B CN202410430545.XA CN202410430545A CN118034673B CN 118034673 B CN118034673 B CN 118034673B CN 202410430545 A CN202410430545 A CN 202410430545A CN 118034673 B CN118034673 B CN 118034673B
- Authority
- CN
- China
- Prior art keywords
- internet
- data
- module
- things
- communication
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 63
- 230000000007 visual effect Effects 0.000 title claims abstract description 42
- 230000006854 communication Effects 0.000 claims abstract description 174
- 238000004891 communication Methods 0.000 claims abstract description 173
- 238000006243 chemical reaction Methods 0.000 claims abstract description 55
- 238000013507 mapping Methods 0.000 claims abstract description 31
- 230000006978 adaptation Effects 0.000 claims abstract description 20
- 238000013461 design Methods 0.000 claims abstract description 19
- 230000003993 interaction Effects 0.000 claims description 66
- 238000013500 data storage Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 21
- 238000007726 management method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000007667 floating Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种物联网设备模型可视化编辑生成和动态解析***,涉及物联网设备模型设计技术领域,包括形成物联网设备对应的数据与物联网设备模型的相互映射关系的设备模型可视化配置单元、将数据进行动态协议转换的设备模型解析单元、通过动态加载通信协议适配器的方式实现物联网平台与物联网设备双向通信的通信适配单元以及为各个模块提供基础运行规则的规则引擎单元,解决了现有技术中技术便捷性不足、可扩展性不足以及通信方式适配性差的问题。
Description
技术领域
本发明涉及物联网设备模型设计技术领域,具体涉及一种物联网设备模型可视化编辑生成和动态解析***和方法。
背景技术
随着互联网技术发展,越来越多的硬件设备能够通过广域网或局域网接入物联网平台,使用户可以通过界面对设备进行监控、调试、操作,并组合成场景应用,是用户可以更为便捷的与物联网设备交互。与传统硬件设备管理方案不同,物联网平台更为集中、全面、直观,解决了不同设备数据不统一、协同管控不便捷、各设备***需要独立维护、设备通信协议版本难以统一管理等问题。
市面上现有的物联网平台,主要由设备定义的设备模型、设备与平台数据传递中间件、设备数据处理引擎、设备可视化应用界面、设备应用数据存储介质等部分组成。设备在接入平台时,首先根据定义的设备模型数据发送到数据传递中间件,由中间件转发到平台数据处理引擎进行处理或存储。这样的模式存在三个比较影响使用体验的问题:
兼容性和便捷性不足:在设备接入时,需要先在平台界面上定义设备模型,然后将模型导出,并由设备端对照模型进行数据处理和数据组装,这样才能够将设备接入到平台中,这带来了一些已在使用但未接入物联网平台的老设备,或者外购的第三方自定义通信协议的设备需要重新从代码层面进行适配开发的问题,极大的限制了物联网平台的兼容性和便捷性。
数据通道可扩展性不足:设备的数据在接入物联网平台后,统一通过平台进行处理或者转发,为了实现这个功能,物联网平台通常提供了内置的数据通道,供设备消息上报或者订阅。然而很多情况下,设备需要一些自定义的扩展通道,以实现一些特殊的数据处理,目前的物联网平台无法对自定义通道的数据进行加工处理,只能通过路由转发给应用平台实现处理,这导致在设备模型中无法完全涵盖所有的设备信息,还需要应用层自行编码实现,这极大的限制了物联网平台的可扩展性。
通信协议可扩展性不足:物联网平台内置适配了有限类型的通信协议,以提供设备接入通信。但有些特殊设备无法通过内置通信协议进行接入,此时通常的做法是提供一种网关设备,在网关设备中,对平台端对接平台定义设备模型,对设备端对接终端设备协议,这无疑需要对网关设备进行定制化的开发,不仅增加了开发成本,还增加了硬件成本。
发明内容
本申请的目的在于提供一种物联网设备模型可视化编辑生成和动态解析***,解决了现有技术中存在的问题。
本发明通过下述技术方案实现:
一种物联网设备模型可视化编辑生成和动态解析***,包括设备模型可视化配置单元、设备模型解析单元、通信适配单元以及规则引擎单元;
所述设备模型可视化配置单元,用于通过可视化配置的方式构建物联网设备模型,并将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,以将设备模型解析单元解析的物联网设备数据转换至物联网设备模型中;
所述设备模型解析单元,用于以所述设备模型可视化配置单元产生的物联网设备模型为基础,动态加载协议解析流程,形成协议解析的处理器实例,以将通信适配单元传输的物联网设备数据转换为物联网设备模型所需格式或将下发的命令数据转换为物联网设备所需格式;
所述通信适配单元,用于通过动态加载通信协议适配器的方式,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或通过通信协议适配的方式将物联网设备传输的物联网设备数据传输至设备模型解析单元中;
所述规则引擎单元,用于为设备模型可视化配置单元、设备模型解析单元以及通信适配单元的运行提供基础运行规则。
在一种可能的实施方式中,所述设备模型可视化配置单元,还用于:对物联网设备模型进行版本化存储。
在一种可能的实施方式中,所述设备模型可视化配置单元包括第一WEB模块、模型组装模块、模型版本管理模块、协议转换模块以及第一数据存储模块;
所述第一WEB模块,用于向用户提供模型设计页面以及协议转换页面;其中,所述模型设计页面依赖于模型组装模块,所述协议转换页面依赖于协议转换模块;
所述模型组装模块,用于接受用户通过模型设计页面输入的第一交互指令,并根据所述第一交互指令构建物联网设备模型;
所述协议转换模块,用于接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系;
所述模型版本管理模块,用于对物联网设备模型的版本进行记录和管理,以确定不同版本的物联网设备模型;
所述第一数据存储模块,用于将不同版本的物联网设备模型以及物联网设备对应的数据与物联网设备模型之间的相互映射关系进行存储;
其中,物联网设备对应的数据用于表征物联网设备上报的数据包中所包含的数据。
在一种可能的实施方式中,接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,包括:
接收用户通过人机交互输入的物联网设备所对应的数据包,并对数据包进行解析,以将数据包中的数据字段以树状节点呈现,得到源数据;
接受用户通过协议转换页面输入的第二交互指令,并将源数据中与第二交互指令对应的目标数据字段放置于物联网设备模型中,并根据目标数据字段在源数据中对应的层级路径,自动生成嵌套关联,形成相互映射关系。
在一种可能的实施方式中,所述设备模型解析单元包括第二WEB模块、协议解析器模块、动态类加载器模块以及第二数据存储模块;
所述第二WEB模块,用于向用户提供相互映射关系选择以及加载页面,从而生成包含数据转换流程的有向无环图;同时提供用于协议解析的基础支持jar包、自定义jar包的上传以及jar包的选择功能;其中,所述jar包用于提供协议解析器的依赖,以实现数据转换功能;
所述协议解析器模块,用于将有向无环图以及选择的jar包进行加载,以创建协议解析处理器实例;所述协议解析处理器实例用于将物联网设备上报数据的数据格式转换为物联网设备模型对应的数据格式、将向物联网设备下发的命令数据所对应的数据格式转换为物联网设备对应的数据格式以及自定义参数格式转换;
所述动态类加载器模块,用于将选择的jar包加载至jvm中,以支持协议解析器模块实现数据转换功能;
所述第二数据存储模块,用于存储第二WEB模块所产生的配置信息。
在一种可能的实施方式中,所述第二WEB模块包括数据处理流程配置子模块、解析器代码模版生成子模块以及解析器jar包动态加载子模块;
所述数据处理流程配置子模块,用于提供流程配置页面,并接收用户通过流程配置页面输入的第三交互指令,将第三交互指令所对应的相互映射关系加载至数据处理流程中,并且支持用户自定义数据处理流程节点,最后将数据处理流程转换为有向无换图;
所述解析器代码模版生成子模块,用于提供规范jar包;
所述解析器jar包动态加载子模块,用于提供自定义jar包的上传功能;
所述数据处理流程配置子模块,还用于接收用户通过流程配置页面输入的第四交互指令,并根据所述第四交互指令,从解析器代码模版生成子模块提供的规范jar包以及解析器jar包动态加载子模块上传的自定义jar包中,选择与数据处理流程对应的jar包。
在一种可能的实施方式中,所述通信适配单元包括第三WEB模块、动态类加载器模块、连接配置模块以及第三数据存储模块;
所述第三WEB模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令实现通信适配器jar包的选择和配置页面,以及根据所述第五交互指令实现通信方式的选择,从而以实现动态通信扩展;其中,通信适配器jar包为预先存储数据或用户自定义数据;
所述动态类加载器模块,用于将用户通过第三WEB模块确定的目标通信适配器jar包加载至jvm中,以实现通信协议适配功能;其中,目标通信适配器jar包用于表征经过选择和配置的通信适配器jar包;
所述连接配置模块,用于通过通信扩展页面对通信中间件的连接参数进行配置,并提供不同设备类型对应的通信协议配置功能,在创建设备类型时,从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信;
其中,通信方式由通信协议配置功能作为基础支持,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或将物联网设备传输的物联网设备数据传输至设备模型解析单元中;
所述第三数据存储模块,用于保存连接配置信息。
在一种可能的实施方式中,所述第三WEB模块包括通信适配器模板下载子模块、通信适配器加载子模块、数据源配置子模块;
所述通信适配器模板下载子模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令下载规范的通信适配器jar包;
所述通信适配器加载子模块,用于根据所述第五交互指令实现通信方式的选择,以使连接配置模块从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信;
所述数据源配置子模块,用于配置通信适配器jar包对应的通信数据源。
在一种可能的实施方式中,所述规则引擎单元包括第四WEB模块、DAG解析模块、DAG调度模块以及第四数据存储模块;
所述第四WEB模块,用于提供第一WEB模块、第二WEB模块以及第三WEB模块的基础运行规则;
所述DAG解析模块,用于解析流程配置参数,根据流程配置参数中记录的类和方法,通过反射的方式,加载具体的实现类,并根据上下文拼装方法的参数;
所述DAG调度模块,用于解析流程配置参数,根据流程配置参数中记录的节点流程和触发条件,按照配置顺序和条件管理流程节点的流转;
所述第四数据存储模块,用于提供第一数据存储模块、第二数据存储模块以及第三数据存储模块的基础运行规则。
在一种可能的实施方式中,还包括协议转换网关,所述协议转换网关用于为不具备物联网接入功能的硬件设备提供物联网通信功能。
本发明与现有技术相比,具有如下的优点和有益效果:
1)解决了现有技术兼容性和便捷性不足的问题:
本发明提供设备模型可视化编辑页面,用户可以在可视化引擎中,通过界面定义设备属性模型及功能模型(自定义设计框架),也可以通过导入原有设备已经定义好的协议数据包,通过解析字段属性进行拖拽及配置,反向生成设备模型。
2)解决了现有技术可扩展性不足的问题:
本发明提供预封装的数据解析器扩展总线接口,用户可以在相关页面中选择数据解析器类型,通过编写脚本或者加载按规范编译的扩展jar包动态装载数据解析器,并通过可视化有向无环图流程配置引擎,针对特定的数据通道或者指定设备类型,动态配置不同的数据解析器,在物联网设备上报数据时,自动通过配置解析器将数据转换成物联网设备模型定义的数据格式,提供给应用平台进行使用。
3)解决了现有技术通信方式适配性差的问题:
本发明提供预封装的通信适配器扩展总线接口,用户可以在相关页面中,通过动态加载按规范编译的扩展jar包动态装载通信适配器,从而扩展物联网平台可以对接的通信中间件,并通过可视化有向无环图流程配置引擎,针对特定的设备,动态配置不同的通信适配器,从而实现特定通信方式设备的直接接入。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明实施例提供的一种物联网设备模型可视化编辑生成和动态解析***的示意图。
图2为本发明实施例提供的协议转换操作界面示意图。
图3为本发明实施例提供的设备原始数据生成物联网设备模型与转换关系流程图。
图4为本发明实施例提供的协议解析扩展包内部原理图。
图5为本发明实施例提供的通信适配器的扩展包内的工作流程图。
图6为本发明实施例提供的通信适配器网络拓扑结构连接图。
图7为本发明实施例提供的DAG引擎流程图。
图8为本发明实施例提供的协议转换网关网络拓扑图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
如图1所示,本发明实施例提供的一种物联网设备模型可视化编辑生成和动态解析***,包括设备模型可视化配置单元、设备模型解析单元、通信适配单元以及规则引擎单元。
所述设备模型可视化配置单元,用于通过可视化配置的方式构建物联网设备模型,并将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,以将设备模型解析单元解析的物联网设备数据转换至物联网设备模型中。
所述设备模型解析单元,用于以所述设备模型可视化配置单元产生的物联网设备模型为基础,动态加载协议解析流程,形成协议解析的处理器实例,以将通信适配单元传输的物联网设备数据转换为物联网设备模型所需格式或将下发的命令数据转换为物联网设备所需格式。
所述通信适配单元,用于通过动态加载通信协议适配器的方式,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或通过通信协议适配的方式将物联网设备传输的物联网设备数据传输至设备模型解析单元中。
所述规则引擎单元,用于为设备模型可视化配置单元、设备模型解析单元以及通信适配单元的运行提供基础运行规则。
为了便于理解本发明实施例,先对本发明提供的一种物联网设备模型可视化编辑生成和动态解析***的应用场景进行介绍,该解析***主要应用于物联网平台中,主要功能是将物联网设备上报数据转换为数据模型,或者将物联网平台下发的命令信息传输至物联网设备中。
在一种可能的实施方式中,所述设备模型可视化配置单元,还用于:对物联网设备模型进行版本化存储。
在一种可能的实施方式中,所述设备模型可视化配置单元包括第一WEB模块、模型组装模块、模型版本管理模块、协议转换模块以及第一数据存储模块。
所述第一WEB(World Wide Web,全球广域网)模块,用于向用户提供模型设计页面以及协议转换页面。其中,所述模型设计页面依赖于模型组装模块,所述协议转换页面依赖于协议转换模块。
在本实施例中,页面可以是WEB、APP(Application,应用程序)、小程序以及客户端等,后续提供的页面相同,此处不再进行赘述。
所述模型组装模块,用于接受用户通过模型设计页面输入的第一交互指令,并根据所述第一交互指令构建物联网设备模型。
在本实施例中,模型组装模块提供了无穷嵌套的数据包装器,所述数据包装器包括多个嵌套设置的模型节点,这里的无穷是指数据包装器提供的模型节点可以有多级的子模型节点,这里的无穷是一种夸张的说法,子节点具体的级数可以根据实际情况来设置,比如设置100级、1000级等,且一个模型节点可以同时拥有多个同一等级的子模型节点和/或不同等级的多个子模型节点,这里说的等级就是父节点和子节点的区别,父节点下一级节点为子节点,子节点又可以作为新的父节点拥有对应的子节点。
每个模型节点都包含属性名称、属性标识和属性类型,分别对每个模型节点以及每个模型节点嵌套下的子模型节点进行属性设置,设置完成后的模型节点组成设备模型,具体为对模型节点进行属性标识和属性类型的设置,属性标识是指模型节点的一个标识类,而属性名称是对模型节点对应的数据的名称,一个属性标识可能会对应多个属性名称,属性名称的设置在后面内容进行设置,如图2所示,属性标识为“name”,属性名称可以是“智慧开关”,也可以是“设备id”。
所述模型节点的属性类型用于选择输入至该模型节点的数据的字段类型,且在进行属性类型设置时,某一级模型节点的下一级子模型节点会根据该模型节点的属性类型自动显示该子模型节点的属性类型,即某一级模型节点A的下一级模型节点B会根据该模型节点A的属性类型自动显示下一级模型节点B的属性类型,所述模型节点以及节点嵌套下的子模型节点所形成的模型字段路径与无协议数据包的新增设备的自定义设计框架或者原有设备的协议数据包的结构匹配。
也就是说,设备模型中的各个模型节点的嵌入结构与协议数据包的层次结构的其中一部分或者全部能够对应上,若新增设备还没有协议数据包,那么,自定义设计框架来作为新增设备的协议数据层次结构,设备模型中的各个模型节点的嵌入结构也与该自定义设计框架的层次结构的其中一部分或者全部匹配。
当模型节点的属性类型为字符串类型、整数类型、长整型、单精度浮点型、双精度浮点型时,所述模型节点无下一级子模型节点。当所述模型节点的属性类型为键值对类型、数组类型、枚举类型时,所述模型节点的下一级子模型节点的属性类型为字符串类型、整数类型、长整型、单精度浮点型、双精度浮点型、键值对类型、数组类型、枚举类型中的任意一种。当某一模型节点有若干同一层级的子模型节点且若干所述子模型节点组成数组类子节点时,若干所述子模型节点的属性类型相同。
目前的字段类型包括字符串类型、整数类型、长整型、单精度浮点型、双精度浮点型、键值对类型、数组类型、枚举类型,在输入时,模型设计页面自动根据输入至模型节点的数据的数据类型进行合规性验证,并根据数据类型自动呈现下一级可输入的字段类型,其中字符串类型、整数类型、长整型、单精度浮点型、双精度浮点型只支持一层数据结构,键值对类型、数组类型、枚举类型的模型节点支持任意类型作为子模型节点,数组类型的子模型节点数据类型必须是统一的。在配置完所有的字段路径(模型节点及其该模型节点的子模型节点组成的路径)后(可能是新增也可能是修改),通过模型版本管理模块进行保存。
所述协议转换模块,用于接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系。
在本实施例中,协议转换模块提供了设备通信数据导入和转换功能,包括但不限于txt(按行分割,将一行作为一个属性)、json、xml、yaml、html以及properties格式的数据(该数据是指物联网设备通信数据),同时提供格式转换器总线接口,供用户自定义jar包进行特殊格式的数据解析扩展。
如图2所示,用户可以将设备通信数据以文本形式进行导入或者直接粘贴,页面根据格式自动将协议包的数据字段以树状节点进行呈现在“源数据”一栏当中,此时用户可以从原数据拖拽任意字段到“目标模型”栏中,并对每一个字段进行属性名称以及属性类型进行配置。
如图3所示,本发明实施例提供一种设备原始数据生成物联网设备模型与转换关系流程图,在用户拖拽不同的层级的属性到目标模型中时,模块可以自动根据当前属性节点的完整层级路径,自动按照设备模型的字段包含关系生成相应的嵌套关联。
所述模型版本管理模块,用于对物联网设备模型的版本进行记录和管理,以确定不同版本的物联网设备模型。
在完成配置后,可以将设备模型通过第一数据存储模块存储至数据库中,若为模型版本管理模块生成一个新的模型版本,用户可以选择当前生效的版本,也可以通过查询历史记录进行版本回溯。
所述第一数据存储模块,用于将不同版本的物联网设备模型以及物联网设备对应的数据与物联网设备模型之间的相互映射关系进行存储。
第一数据存储模块内置集成了本地文件、NFS、S3协议文件存储,以及RedisJSON、MongoDB、Elasticsearch、MySQL、SQLServer以及Oracle等市面主流的数据库驱动,可以通过配置选择模型数据保存的位置。同时提供了数据源定制功能,可以通过加载jdbc驱动,扩展其他数据库的连接以作为存储介质。值得说明的是,后续数据存储模块类似,不再进行赘述。
其中,物联网设备对应的数据用于表征物联网设备上报的数据包中所包含的数据。
在一种可能的实施方式中,接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,包括:
接收用户通过人机交互输入的物联网设备所对应的数据包,并对数据包进行解析,以将数据包中的数据字段以树状节点呈现,得到源数据。
接受用户通过协议转换页面输入的第二交互指令,并将源数据中与第二交互指令对应的目标数据字段放置于物联网设备模型中,并根据目标数据字段在源数据中对应的层级路径,自动生成嵌套关联,形成相互映射关系。
在一种可能的实施方式中,所述设备模型解析单元包括第二WEB模块、协议解析器模块、动态类加载器模块以及第二数据存储模块。
所述第二WEB模块,用于向用户提供相互映射关系选择以及加载页面,从而生成包含数据转换流程的有向无环图。同时提供用于协议解析的基础支持jar包、自定义jar包的上传以及jar包的选择功能。其中,所述jar包用于提供协议解析器的依赖(这里的jar包内设置的解析器所需要的依赖和通信适配器jar包中包含解析器所需要的基础的依赖是相同的,如json工具、字符串工具以及xml工具等。但提供的总线接口和数据包装类是不同的,热加载之后,所述动态解析***,这两个会调用不同的接口方法。另外可能会由开发者自主导入不同的依赖以支持自定义逻辑),以实现数据转换功能。
在本实施例中,若设备在设备模型可视化配置单元中存在数据转换映射关系,则用户可以选择映射关系将其加载到流程中,并通过增加条件节点,灵活的将数据通道和转换映射关系进行关联,生成有向无环图,并进行保存。
当jar包内包含设备源数据和物联网设备模型数据相互转换映射关系,通过直接加载所述设备源数据和物联网设备模型数据的相互转换映射关系的jar包到流程中,根据所述设备源数据和物联网设备模型数据的相互转换映射关系设置转换条件,使得所述设备源数据中的数据字段的属性类型和物联网设备模型数据中的模型数据的属性类型进行相互转换,从而将数据通道与转换映射关系进行关联生成有向无环图并保存至所述数据存储模块中,并在进行有向无环图保存后,根据通信数据自动创建协议解析处理器的实例。
所述协议解析器模块,用于将有向无环图以及选择的jar包进行加载,以创建协议解析处理器实例。所述协议解析处理器实例用于将物联网设备上报数据的数据格式转换为物联网设备模型对应的数据格式、将向物联网设备下发的命令数据所对应的数据格式转换为物联网设备对应的数据格式以及自定义参数格式转换。
如图4所示,协议解析器模块用于管理协议解析处理器的实例,在有向无环图保存后,会自动创建协议解析处理器实例,处理器实例实现了解析器扩展总线的三个接口,其一是模型数据转设备协议数据格式,其二是设备协议数据转模型数据格式,其三是平台端收到消息的处理执行(***,这里是个旁路流程,可以提前配置一些特殊规则,根据设备上报的数据进行事件触发,举例:如判断到上报数据中的温度值超出了物联网设备模型中所约定的字段最大值,则进行主动的告警消息推送),通过处理器加载的映射关系,在工作流中,按照数据流向实现所需的转换目的。从而实现设备数据上报和平台指令下发时,在两种不同的数据格式中进行处理。
所述动态类加载器模块,用于将选择的jar包加载至jvm中,以支持协议解析器模块实现数据转换功能。
更具体的,动态类加载器模块用于从jar包中读取.class文件并自动加载到jvm(Java虚拟机)中。
所述第二数据存储模块,用于存储第二WEB模块所产生的配置信息。
在一种可能的实施方式中,所述第二WEB模块包括数据处理流程配置子模块、解析器代码模版生成子模块以及解析器jar包动态加载子模块。
所述数据处理流程配置子模块,用于提供流程配置页面,并接收用户通过流程配置页面输入的第三交互指令,将第三交互指令所对应的相互映射关系加载至数据处理流程中,并且支持用户自定义数据处理流程节点,最后将数据处理流程转换为有向无换图。
所述解析器代码模版生成子模块,用于提供规范jar包。
所述解析器jar包动态加载子模块,用于提供自定义jar包的上传功能。例如:可以根据总线接口自动创建实现类,用户在实现类中进行自定义逻辑编码(自定义jar包中总线接口的实现逻辑)后再次打包后上传。
所述数据处理流程配置子模块,还用于接收用户通过流程配置页面输入的第四交互指令,并根据所述第四交互指令,从解析器代码模版生成子模块提供的规范jar包以及解析器jar包动态加载子模块上传的自定义jar包中,选择与数据处理流程对应的jar包。
解析器代码模板生成功能用于提供规范的jar包,其中内置了解析器所需要的依赖,并根据总线接口自动创建了实现类,用户在实现类中进行自定义逻辑编码后再次打包,即可通过解析器jar包动态加载功能上传jar包,加载到***中,在配置流程时进行选择使用。可以针对特殊格式的jar包进行解析。
在一种可能的实施方式中,所述通信适配单元包括第三WEB模块、动态类加载器模块、连接配置模块以及第三数据存储模块。
所述第三WEB模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令实现通信适配器jar包的选择和配置页面,以及根据所述第五交互指令实现通信方式的选择,从而以实现动态通信扩展。其中,通信适配器jar包为预先存储数据或用户自定义数据。
所述动态类加载器模块,用于将用户通过第三WEB模块确定的目标通信适配器jar包加载至jvm中,以实现通信协议适配功能。其中,目标通信适配器jar包用于表征经过选择和配置的通信适配器jar包。
更具体的,所述动态类加载器模块用于从jar包中读取.class文件并自动加载到jvm中,只有加载了.class文件的类才能执行其中的方法。
所述连接配置模块,用于通过通信扩展页面对通信中间件的连接参数进行配置,并提供不同设备类型对应的通信协议配置功能,在创建设备类型时,从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信。
其中,通信方式由通信协议配置功能作为基础支持,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或将物联网设备传输的物联网设备数据传输至设备模型解析单元中。
所述第三数据存储模块,用于保存连接配置信息。
在一种可能的实施方式中,所述第三WEB模块包括通信适配器模板下载子模块、通信适配器加载子模块、数据源配置子模块。
所述通信适配器模板下载子模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令下载规范的通信适配器jar包。
在本实施例中,通信适配器模板下载功能用于用户下载规范的通信适配器jar包,其中内置了解析器所需要的依赖(这里的依赖主要是针对总线接口,这个接口是为了向jar包的开发者提供一个规范约束,表示必须实现来自接口约定的接口方法,才能由动态解析***进行调用),并根据通信适配器扩展总线自动创建了总线接口的实现类,用户在总线接口中自主完成对连接驱动的调用,即可动态实现通信扩展。
如图5所示,本发明实施例提供一种通信适配器的扩展包内的工作流程图,通过通信适配器可以实现通信协议的适配。
如图6所示,本发明实施例提供一种通信适配器网络拓扑结构连接图,在通信过程中,当可以直接连接到网联网设备时,则直接连接,否则通过中间件进行连接。
所述通信适配器加载子模块,用于根据所述第五交互指令实现通信方式的选择,以使连接配置模块从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信。
所述数据源配置子模块,用于配置通信适配器jar包对应的通信数据源。
动态解析***和上游平台及下游设备之间的通信方式,有可能是直连,也有可能是通过中间件转发,所以需要通信协议的动态扩展和针对设备类型通信方式的配置。
在一种可能的实施方式中,所述规则引擎单元包括第四WEB模块、DAG解析模块、DAG调度模块以及第四数据存储模块。
所述第四WEB模块,用于提供第一WEB模块、第二WEB模块以及第三WEB模块的基础运行规则。
在本实施例中,第四WEB模块提供了可视化流程编辑、通过拖拉拽的方式快速搭建有向无环图流程以及通过数据存储模块进行保存等运行规则。
所述DAG(Directed Acyclic Graph,有向无环图)解析模块,用于解析流程配置参数,根据流程配置参数中记录的类和方法,通过反射的方式,加载具体的实现类,并根据上下文拼装方法的参数。一般是从物联网设备模型格式数据到设备数据(或者从设备数据到物联网设备模型格式数据)整个链路中所用到的解析器和适配器的配置,通过条件来约束当次通信,每个环节走哪个实例执行,注意这里所指通信链路是双向的。
解析模块的主要流程就是将配置信息从数据库读取出来,并对各个执行节点进行实例化(在程序中创建java对象)。
在DAG中,每次执行会有一个session会话,会话中会包含一个context对象,每个环节的执行都可以从context中提取、修改、写入参数,以供下一个环节获取前置流程中产生的所需信息。
所述DAG调度模块,用于解析流程配置参数,根据流程配置参数中记录的节点流程和触发条件,按照配置顺序和条件管理流程节点的流转。
调度模块的作用就是,从上述解析模块解析的配置信息中,获取触发条件(如定时触发、上报消息中含有特定字段触发等)及流程走向判断的逻辑,在触发条件达成时执行上述实例化的流程罗辑,完全按照之前配置的流程顺序执行,并通过判断节点的实时判断结果,决定流程走向。
所述第四数据存储模块,用于提供第一数据存储模块、第二数据存储模块以及第三数据存储模块的基础运行规则。
如图7所示,本发明实施例提供一种DAG引擎流程图,以便本领域技术人员能够更加了解本发明的构思。
DAG解析模块和DAG调度模块是相应的,一个用来判断流程走向,一个用来对节点方法进行调用执行。
上述的模块的配合过程为:
导入或者粘贴设备通信数据以后,先遍历内置的格式解析器或者自定义格式转换器来解析设备通信数据,判断该设备通信数据的格式是否有匹配的协议数据包或者自定义设计框架,如果没有,则结束,如果有,判断该设备通信数据匹配的协议数据包或者自定义设计框架是否为嵌套结构,如果是,则在源数据视图框中生成树状结构,否则,在源数据视图框中生成数组结构,然后将设备通信数据的数据字段拖拽至目标模型视图框中并配置数据字段的属性类型,从源数据视图框中的协议数据包或者自定义设计框架的源数据获取该数据字段的属性层级路径,然后根据前述过程形成物联网设备模型数据,在对设备通信数据前,需要先通过解析器代码模板生成模块提供规范的第一jar包进行扩展后,使得任意文本格式的数据都可解析,这个没有固定格式要求,动态解析***会根据当前设备模型解析单元所加载的解析器,根据所配置的DAG解析模块的条件节点去匹配解析规则,将粘贴进来的设备通信数据转换成json树(或者数组)。
在进行数据通信时,通过通信适配器模板下载模块下载规范的通信适配器jar包,并根据通信适配器扩展总线自动创建总线接口的实现类,用户在总线接口中自主完成对连接驱动的调用即可动态实现通信扩展,连接配置模块用于通信中间件连接参数的配置,并提供不同设备类型对应的通信协议配置,在创建通信设备类型时,通过所述通信适配器加载模块从***加载的所有的通信中间件(或称为中间件)中,选择所需的方式进行通信。
在一种可能的实施方式中,还包括协议转换网关,所述协议转换网关用于为不具备物联网接入功能的硬件设备提供物联网通信功能。
如图8所示,为了使某些不具备物联网接入功能的硬件设备接入到物联网平台进行管理,***还提供了协议转换网关硬件设备。
协议转换网关主要由控制板、协议卡、交换网口以及嵌入式软件组成。
其中,主控板主要提供了处理器、闪存、存储器等硬件元件,构成了网关的控制***,并提供了协议卡插拔接口。
其中,协议卡根据设备不同,提供了多种类型的接口,根据设备协议的不同,适配各类终端设备。协议卡均采用统一的插拔接口,可以通过在主控板上安装一块或多块不同的协议卡,使其可以挂接不同设备。
其中,嵌入式软件提供了一个WEB管理页面,可以在连接网络后,通过PC端浏览器进行访问,管理页面提供了协议转换规则导入,通信中间件接入配置参数配置等功能。在协议导入后,网关在工作时将挂接设备上报的信息转换成设备模型格式数据上报给通信中间件,同时能够将从通信中间件接收到的物联网设备模型格式数据转换成设备指令数据,并转发给设备。
本实施例中,数据的通信方式包括但不限于MQTT、WEBSOCKET、TCP、HTTP、ONVIF、MODBUS、DALI以及KNX等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种物联网设备模型可视化编辑生成和动态解析***,其特征在于,包括设备模型可视化配置单元、设备模型解析单元、通信适配单元以及规则引擎单元;
所述设备模型可视化配置单元,用于通过可视化配置的方式构建物联网设备模型,并将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,以将设备模型解析单元解析的物联网设备数据转换至物联网设备模型中;
所述设备模型可视化配置单元,还用于:对物联网设备模型进行版本化存储;
所述设备模型可视化配置单元包括第一WEB模块、模型组装模块、模型版本管理模块、协议转换模块以及第一数据存储模块;
所述第一WEB模块,用于向用户提供模型设计页面以及协议转换页面;其中,所述模型设计页面依赖于模型组装模块,所述协议转换页面依赖于协议转换模块;
所述模型组装模块,用于接受用户通过模型设计页面输入的第一交互指令,并根据所述第一交互指令构建物联网设备模型;
所述协议转换模块,用于接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系;
所述模型版本管理模块,用于对物联网设备模型的版本进行记录和管理,以确定不同版本的物联网设备模型;
所述第一数据存储模块,用于将不同版本的物联网设备模型以及物联网设备对应的数据与物联网设备模型之间的相互映射关系进行存储;
其中,物联网设备对应的数据用于表征物联网设备上报的数据包中所包含的数据;
接受用户通过协议转换页面输入的第二交互指令,并根据所述第二交互指令将物联网设备对应的数据与物联网设备模型进行关联,形成相互映射关系,包括:
接收用户通过人机交互输入的物联网设备所对应的数据包,并对数据包进行解析,以将数据包中的数据字段以树状节点呈现,得到源数据;
接受用户通过协议转换页面输入的第二交互指令,并将源数据中与第二交互指令对应的目标数据字段放置于物联网设备模型中,并根据目标数据字段在源数据中对应的层级路径,自动生成嵌套关联,形成相互映射关系;
所述设备模型解析单元,用于以所述设备模型可视化配置单元产生的物联网设备模型为基础,动态加载协议解析流程,形成协议解析的处理器实例,以将通信适配单元传输的物联网设备数据转换为物联网设备模型所需格式或将下发的命令数据转换为物联网设备所需格式;
所述通信适配单元,用于通过动态加载通信协议适配器的方式,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或通过通信协议适配的方式将物联网设备传输的物联网设备数据传输至设备模型解析单元中;
通过动态加载通信协议适配器的方式,包括:提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令实现通信适配器jar包的选择和配置页面,以及根据所述第五交互指令实现通信方式的选择,从而以实现动态通信扩展;其中,通信适配器jar包为预先存储数据或用户自定义数据;
所述规则引擎单元,用于为设备模型可视化配置单元、设备模型解析单元以及通信适配单元的运行提供基础运行规则。
2.根据权利要求1所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,所述设备模型解析单元包括第二WEB模块、协议解析器模块、动态类加载器模块以及第二数据存储模块;
所述第二WEB模块,用于向用户提供相互映射关系选择以及加载页面,从而生成包含数据转换流程的有向无环图;同时提供用于协议解析的基础支持jar包、自定义jar包的上传以及jar包的选择功能;其中,所述jar包用于提供协议解析器的依赖,以实现数据转换功能;
所述协议解析器模块,用于将有向无环图以及选择的jar包进行加载,以创建协议解析处理器实例;所述协议解析处理器实例用于将物联网设备上报数据的数据格式转换为物联网设备模型对应的数据格式、将向物联网设备下发的命令数据所对应的数据格式转换为物联网设备对应的数据格式以及自定义参数格式转换;
所述动态类加载器模块,用于将选择的jar包加载至jvm中,以支持协议解析器模块实现数据转换功能;
所述第二数据存储模块,用于存储第二WEB模块所产生的配置信息。
3.根据权利要求2所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,所述第二WEB模块包括数据处理流程配置子模块、解析器代码模版生成子模块以及解析器jar包动态加载子模块;
所述数据处理流程配置子模块,用于提供流程配置页面,并接收用户通过流程配置页面输入的第三交互指令,将第三交互指令所对应的相互映射关系加载至数据处理流程中,并且支持用户自定义数据处理流程节点,最后将数据处理流程转换为有向无换图;
所述解析器代码模版生成子模块,用于提供规范jar包;
所述解析器jar包动态加载子模块,用于提供自定义jar包的上传功能;
所述数据处理流程配置子模块,还用于接收用户通过流程配置页面输入的第四交互指令,并根据所述第四交互指令,从解析器代码模版生成子模块提供的规范jar包以及解析器jar包动态加载子模块上传的自定义jar包中,选择与数据处理流程对应的jar包。
4.根据权利要求3所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,所述通信适配单元包括第三WEB模块、动态类加载器模块、连接配置模块以及第三数据存储模块;
所述第三WEB模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令实现通信适配器jar包的选择和配置页面,以及根据所述第五交互指令实现通信方式的选择,从而以实现动态通信扩展;其中,通信适配器jar包为预先存储数据或用户自定义数据;
所述动态类加载器模块,用于将用户通过第三WEB模块确定的目标通信适配器jar包加载至jvm中,以实现通信协议适配功能;其中,目标通信适配器jar包用于表征经过选择和配置的通信适配器jar包;
所述连接配置模块,用于通过通信扩展页面对通信中间件的连接参数进行配置,并提供不同设备类型对应的通信协议配置功能,在创建设备类型时,从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信;
其中,通信方式由通信协议配置功能作为基础支持,将设备模型解析单元输出的转换后的命令数据传输至物联网设备中,或将物联网设备传输的物联网设备数据传输至设备模型解析单元中;
所述第三数据存储模块,用于保存连接配置信息。
5.根据权利要求4所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,所述第三WEB模块包括通信适配器模板下载子模块、通信适配器加载子模块、数据源配置子模块;
所述通信适配器模板下载子模块,用于提供通信扩展页面,并接收用户通过通信扩展页面输入的第五交互指令,并根据所述第五交互指令下载规范的通信适配器jar包;
所述通信适配器加载子模块,用于根据所述第五交互指令实现通信方式的选择,以使连接配置模块从加载的所有通信中间件中选择由第五交互指令确定的通信方式进行通信;
所述数据源配置子模块,用于配置通信适配器jar包对应的通信数据源。
6.根据权利要求5所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,所述规则引擎单元包括第四WEB模块、DAG解析模块、DAG调度模块以及第四数据存储模块;
所述第四WEB模块,用于提供第一WEB模块、第二WEB模块以及第三WEB模块的基础运行规则;
所述DAG解析模块,用于解析流程配置参数,根据流程配置参数中记录的类和方法,通过反射的方式,加载具体的实现类,并根据上下文拼装方法的参数;
所述DAG调度模块,用于解析流程配置参数,根据流程配置参数中记录的节点流程和触发条件,按照配置顺序和条件管理流程节点的流转;
所述第四数据存储模块,用于提供第一数据存储模块、第二数据存储模块以及第三数据存储模块的基础运行规则。
7.根据权利要求1所述的物联网设备模型可视化编辑生成和动态解析***,其特征在于,还包括协议转换网关,所述协议转换网关用于为不具备物联网接入功能的硬件设备提供物联网通信功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410430545.XA CN118034673B (zh) | 2024-04-11 | 2024-04-11 | 一种物联网设备模型可视化编辑生成和动态解析*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410430545.XA CN118034673B (zh) | 2024-04-11 | 2024-04-11 | 一种物联网设备模型可视化编辑生成和动态解析*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118034673A CN118034673A (zh) | 2024-05-14 |
CN118034673B true CN118034673B (zh) | 2024-06-25 |
Family
ID=90989705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410430545.XA Active CN118034673B (zh) | 2024-04-11 | 2024-04-11 | 一种物联网设备模型可视化编辑生成和动态解析*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118034673B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410662A (zh) * | 2014-10-23 | 2015-03-11 | 山东大学 | 物联网并行海量数据传输中间件及其工作方法 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938917A (zh) * | 2021-08-30 | 2022-01-14 | 北京工业大学 | 应用于工业物联网的异构b5g/rfid智能资源分配*** |
CN114020474A (zh) * | 2021-11-25 | 2022-02-08 | 元能星泰(广州)数字科技有限公司 | 一种能源工业元宇宙数字孪生云渲染动态分配方法及*** |
CN117749899A (zh) * | 2023-11-16 | 2024-03-22 | 浙江大华技术股份有限公司 | 协议转换框架、设备通讯方法、装置和计算机存储介质 |
-
2024
- 2024-04-11 CN CN202410430545.XA patent/CN118034673B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410662A (zh) * | 2014-10-23 | 2015-03-11 | 山东大学 | 物联网并行海量数据传输中间件及其工作方法 |
CN113805867A (zh) * | 2021-08-24 | 2021-12-17 | 中通服咨询设计研究院有限公司 | 一种基于可视化静态脚本引擎的物联网平台 |
Also Published As
Publication number | Publication date |
---|---|
CN118034673A (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459889B (zh) | 一种用于物联网平台的设备数据模型生成方法和装置 | |
US8838653B2 (en) | Translating an object-oriented data model to a YANG data model | |
CN101938164B (zh) | 一种电力设备控制方法、装置及其相关*** | |
US20070002689A1 (en) | System and method of data source detection | |
CA2511912A1 (en) | System and method for building and execution of platform-neutral generic services' client applications | |
CN102567026B (zh) | 移动应用构建***和移动应用构建方法 | |
KR20040051738A (ko) | 이기종 네트워크 장비의 구성 관리를 위한 엑스엠엘 기반망 관리 시스템 및 방법 | |
CN110912782B (zh) | 一种数据采集方法、装置及存储介质 | |
WO2010130165A1 (zh) | 一种基于互联网的开放式电信业务生成***及方法 | |
CN108134698B (zh) | 一种工业多协议物联网关的图形化配置平台 | |
CN110321283B (zh) | 接口测试用例生成方法、装置、计算机装置及存储介质 | |
CN113467771B (zh) | 一种基于模型的工业边云协同***和方法 | |
CN107577820A (zh) | 数据处理的方法、设备及*** | |
CN110187986A (zh) | 一种命令管理方法、***、装置及计算机可读存储介质 | |
CN109617944B (zh) | Web参数管理方法、装置、计算机存储介质及设备 | |
CN111104181A (zh) | 一种可视化编辑任务流程的网页数据填报*** | |
US7865880B2 (en) | System and/or method for implementing efficient techniques for testing common information model providers | |
CN113676366A (zh) | 一种电力通信协议的一致性测试工具 | |
CN118034673B (zh) | 一种物联网设备模型可视化编辑生成和动态解析*** | |
CN112306622B (zh) | 一种vnf模板的构建方法及装置 | |
CN110221819B (zh) | 一种流程引擎的模块化扩展方法、电子设备及存储介质 | |
CN106776689A (zh) | 一种主机信息查询方法、装置和主机 | |
CN106354966B (zh) | 芯片ide工程文件转换及快速配置仿真调试环境的方法 | |
CN116233097A (zh) | 一种基于web的工业组态建站方法及其工业组态*** | |
Bartl et al. | Integration of real network components into OPNET modeler co-simulation process |
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 |