CN113836211A - 物联网设备数据接入java平台的一种数据抽取方法 - Google Patents
物联网设备数据接入java平台的一种数据抽取方法 Download PDFInfo
- Publication number
- CN113836211A CN113836211A CN202111122892.9A CN202111122892A CN113836211A CN 113836211 A CN113836211 A CN 113836211A CN 202111122892 A CN202111122892 A CN 202111122892A CN 113836211 A CN113836211 A CN 113836211A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- extraction
- internet
- java
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013075 data extraction Methods 0.000 title claims abstract description 18
- 238000000605 extraction Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000014509 gene expression Effects 0.000 claims abstract description 18
- 238000013499 data model Methods 0.000 claims abstract description 9
- IWEDIXLBFLAXBO-UHFFFAOYSA-N dicamba Chemical compound COC1=C(Cl)C=CC(Cl)=C1C(O)=O IWEDIXLBFLAXBO-UHFFFAOYSA-N 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000010248 power generation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是物联网设备数据接入JAVA平台的一种数据抽取方法,包括:不同厂商的设备把数据流上传到设备接入模块,设备接入模块根据抽取配置模块对应设备的抽取表达式规则,通过aviator引擎基于表达式进行相应的数据抽取,然后赋值给相应的Java模型中单个特定的字段,当所有数据封装完毕后,输出统一的数据模型,作为后续数据处理模块的输入进行数据处理运算。本发明的优点:方法设计合理,可自动化兼容物联网领域多类新设备的数据抽取与接入,抽取规则可实时同步给设备接入模块;在物联网场景中,可兼容各种不同协议格式的新设备,不需要进行二次开发,可有效减少生产成本,提高生产效率;实现方法简洁、高内聚,便于持续性能优化。
Description
技术领域
本发明涉及的是物联网设备数据接入JAVA平台的一种数据抽取方法,属于物联网和Java技术领域。
背景技术
在IOT(物联网)领域,基本场景都是由采集传感器采集设备的信息数据,然后通过通信协议,例如Http、MQTT、Modbus等,上传到云平台,云平台对这些数据进行运算处理。
例如现有技术电站监控系统,线下创建的电站很多,安装的逆变器一般来自不同的厂商,由于不同逆变器设备厂商的数据协议是不同的,同一个含义的字段可能是用不同的code来表示,例如设备厂商A逆变器的发电功率用a1表示,设备厂商B逆变器的发电功率用b1标识,但是设备数据上传到平台,都要转换为平台使用的统一字段power。还有些字段可能带有逻辑判断与运算,例如:如果a1不等于空并且b1大于10并且c1等于1001,取d1乘以e1乘以0.9系数作为发电功率,不然就取f1作为发电功率,逻辑判断表达式如下:
a1!=null&&b1>10&&c1==1001?e1*d1*0.9:f1
所以在现有技术实际过程中,每接入一家逆变器设备,平台都需要再做一遍适配开发,数据才能正确接入到平台。
在IOT领域快速发展的今天,不同新设备接入将会很频繁,如果每次接入新设备都要耗费人力与时间进行项目升级开发适配,将会严重影响生产效率和业务发展。
发明内容
本发明提出的是物联网设备数据接入JAVA平台的一种数据抽取方法,其目的旨在克服现有技术存在的上述不足,使用一套通用抽取方法,基于aviator引擎与相关表达式配置,自动化兼容物联网领域多类新设备的数据接入。
本发明的技术解决方案:物联网设备数据接入JAVA平台的一种数据抽取方法,包括:
不同厂商的设备把数据流上传到设备接入模块,设备接入模块根据抽取配置模块对应设备的抽取表达式规则,通过aviator引擎基于表达式进行相应的数据抽取,然后赋值给相应的Java模型中单个特定的字段,当所有数据封装完毕后,输出统一的数据模型,作为后续数据处理模块的输入进行数据处理运算,
所述的抽取配置模块用于根据不同厂商的设备的协议进行相应的规则制定,根据需求制定一个规则表,每接入一个新设备追加一条规则记录。
优选的,所述的抽取配置模块中的规则新增或调整后,实时同步给设备接入模块,存储在redis缓存中或JVM本地内存空间。
优选的,所述的设备接入模块基于抽取表达式规则进行动态的抽取赋值,流程步骤包括:
步骤S1:当设备数据进入设备接入模块后,拿到json格式的数据帧后,首先先实例化一个Java类模型对象;
步骤S2:通过Java的反射机制,拿到模型对象的setter方法对象、业务字段名称和业务字段的数据类型;
步骤S3:根据业务字段名称,查询规则定义,如果找不到规则定义,该属性就不进行处理,其他属性类似处理;
步骤S4:如果找到了相应的规则定义,通过aviator引擎,进行表达式的编译抽取;
步骤S5:如果所有业务属性都处理完毕,则输出统一数据模型,进行后续处理,如果没有处理完,则继续进行步骤S3。
优选的,所述的步骤S2中组织的数据结构是Map<String,Object>,key是业务字段名称,Object是属性的数据类型或method对象。
优选的,所述的步骤S4中抽取出的值是字符串格式,根据步骤S2中拿到的数据类型进行转换。
优选的,如果所述的数据类型是Double类型时,进行Double.value(result)转换,然后通过method.invoke(obj,args)方法进行反射赋值,其他类型的值赋值以此类推。
本发明的优点:方法设计合理,可自动化兼容物联网领域多类新设备的数据抽取与接入,抽取规则可实时同步给设备接入模块;在物联网场景中,可兼容各种不同协议格式的新设备,不需要进行二次开发,可有效减少生产成本,提高生产效率;实现方法简洁、高内聚,便于持续性能优化。
附图说明
图1是本发明物联网设备数据接入JAVA平台的数据抽取系统的结构框图。
图2是图1中抽取配置模块进行动态的抽取赋值的流程图。
图3是图1中抽取配置模块制定的规则表一种实施例的示意图。
具体实施方式
下面结合实施例和具体实施方式对本发明作进一步详细的说明。
如图1所示,一种物联网设备数据接入JAVA平台的数据抽取系统,其结构包括抽取配置模块和设备接入模块,
所述的设备接入模块用于接收不同厂商的设备上传的数据流,根据抽取配置模块内的对应设备的抽取表达式规则,通过aviator引擎基于表达式进行相应的数据抽取,然后赋值给相应的Java模型中某个特定的字段,当所有数据封装完毕后,输出统一数据模型,作为后续数据处理模块的输入进行数据处理运算,
所述的抽取配置模块用于根据不同厂商的设备的协议进行相应的规则制定,根据需求制定一个规则表,每接入一个新设备追加一条规则记录。
工作时,当不同厂商的设备把数据流上传到设备接入模块时,设备接入模块根据抽取配置模块的特定设备的抽取表达式规则,通过aviator引擎基于表达式进行相应的数据抽取,然后赋值给相应的Java模型中某个特定的字段,当所有数据封装完毕后,输出统一的数据模型,作为后面的数据处理模块的输入进行数据处理运算。
抽取配置模块是规则的制定者,需要根据不同的设备的协议进行相应的规则制定。根据需求制定一个规则表,每接入一个新设备追加一条规则记录,例如有如图3表格的定义与数据。
所述的抽取配置模块中的规则新增或调整后,需要实时同步给设备接入模块,可以存储在redis缓存中或JVM本地内存空间。
有了上面的抽取规则定义后,设备接入模块基于这些规则进行动态的抽取赋值。如图2所示,流程步骤如下:
步骤S1:当设备数据进入设备接入模块后,拿到json格式的数据帧后,首先先实例化一个Java类模型对象。
步骤S2:通过Java的反射机制,拿到模型对象的setter方法对象、业务字段名称和业务字段的数据类型。组织的数据结构是Map<String,Object>,key是业务字段名称,Object是属性的数据类型或method对象。
步骤S3:根据业务字段名称,查询规则定义。如果找不到规则定义,该属性就不进行处理。其他属性类似处理。
步骤S4:如果找到了相应的规则定义,通过aviator引擎,进行表达式的编译抽取,抽取出的值一般是字符串格式,需要根据步骤S2中拿到的数据类型进行转换,例如如果是Double类型,进行Double.value(result)转换,然后通过method.invoke(obj,args)方法进行反射赋值。
步骤S5:如果所有业务属性都处理完了,输出统一数据模型,进行下一步的处理,如果没有处理完,跳转到步骤S3进行继续处理。
实施例
根据如图3所示的定义与数据,设备抽取模块对于发电场景的发电功率进行动态的抽取赋值。
步骤S1:当设备数据进入设备接入模块后,拿到json格式的数据帧后,首先先实例化一个Java类模型对象;
步骤S2:通过Java的反射机制,拿到模型对象的setter方法对象、业务字段名称和业务字段的数据类型:发电场景的发电功率,对应Java模型中的power字段的赋值method对象,业务名称是power,数据类型是Double。组织的数据结构是Map<String,Object>,key是业务字段名称,例如power,Object是属性的数据类型或method对象。
步骤S3:根据业务字段名称,查询规则定义:查询发电功率规则定义,如果是A类设备,规则定义就是a1!=nil?b1:c1,如果是B类设备,规则定义就是b1>10&&c1==1?d1:0,表达式中的a1、b1、c1、d1就是json数据帧中的key。如果找不到规则定义,该属性就不进行处理。其他属性类似处理。
步骤S4:如果找到了相应的规则定义,通过aviator引擎,进行表达式的编译抽取,抽取出的值一般是字符串格式,需要根据步骤S2中拿到的数据类型进行转换,例如如果是Double类型,进行Double.value(result)转换,然后通过method.invoke(obj,args)方法进行反射赋值。
步骤S5:如果所有业务属性都处理完了,输出统一数据模型,进行下一步的处理,如果没有处理完,则跳转到步骤S3进行继续处理。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (6)
1.物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是包括:
不同厂商的设备把数据流上传到设备接入模块,设备接入模块根据抽取配置模块对应设备的抽取表达式规则,通过aviator引擎基于表达式进行相应的数据抽取,然后赋值给相应的Java模型中单个特定的字段,当所有数据封装完毕后,输出统一的数据模型,作为后续数据处理模块的输入进行数据处理运算,
所述的抽取配置模块用于根据不同厂商的设备的协议进行相应的规则制定,根据需求制定一个规则表,每接入一个新设备追加一条规则记录。
2.如权利要求1所述的物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是所述的抽取配置模块中的规则新增或调整后,实时同步给设备接入模块,存储在redis缓存中或JVM本地内存空间。
3.如权利要求2所述的物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是所述的设备接入模块基于抽取表达式规则进行动态的抽取赋值,流程步骤包括:
步骤S1:当设备数据进入设备接入模块后,拿到json格式的数据帧后,首先先实例化一个Java类模型对象;
步骤S2:通过Java的反射机制,拿到模型对象的setter方法对象、业务字段名称和业务字段的数据类型;
步骤S3:根据业务字段名称,查询规则定义,如果找不到规则定义,该属性就不进行处理,其他属性类似处理;
步骤S4:如果找到了相应的规则定义,通过aviator引擎,进行表达式的编译抽取;
步骤S5:如果所有业务属性都处理完毕,则输出统一数据模型,进行后续处理,如果没有处理完,则继续进行步骤S3。
4.如权利要求3所述的物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是所述的步骤S2中组织的数据结构是Map<String,Object>,key是业务字段名称,Object是属性的数据类型或method对象。
5.如权利要求3所述的物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是所述的步骤S4中抽取出的值是字符串格式,根据步骤S2中拿到的数据类型进行转换。
6.如权利要求5所述的物联网设备数据接入JAVA平台的一种数据抽取方法,其特征是如果所述的数据类型是Double类型时,进行Double.value(result)转换,然后通过method.invoke(obj,args)方法进行反射赋值,其他类型的值赋值以此类推。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122892.9A CN113836211B (zh) | 2021-09-24 | 2021-09-24 | 物联网设备数据接入java平台的一种数据抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122892.9A CN113836211B (zh) | 2021-09-24 | 2021-09-24 | 物联网设备数据接入java平台的一种数据抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836211A true CN113836211A (zh) | 2021-12-24 |
CN113836211B CN113836211B (zh) | 2024-02-20 |
Family
ID=78970086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122892.9A Active CN113836211B (zh) | 2021-09-24 | 2021-09-24 | 物联网设备数据接入java平台的一种数据抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836211B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679207A (zh) * | 2017-10-16 | 2018-02-09 | 北京锐安科技有限公司 | 一种接入数据预处理方法、装置、服务器和存储介质 |
CN110347879A (zh) * | 2019-07-12 | 2019-10-18 | 上海熙菱信息技术有限公司 | 一种基于规则的数据标准化方法及系统 |
CN111654498A (zh) * | 2020-06-03 | 2020-09-11 | 深圳市信锐网科技术有限公司 | 设备添加方法及物联网平台 |
CN113132192A (zh) * | 2021-03-02 | 2021-07-16 | 西安电子科技大学 | 一种海量物联网设备接入与管理方法 |
CN113254529A (zh) * | 2021-05-12 | 2021-08-13 | 兰州兰石集团有限公司 | 一种基于边缘计算和HiTSDB存储的工业物联网平台 |
-
2021
- 2021-09-24 CN CN202111122892.9A patent/CN113836211B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679207A (zh) * | 2017-10-16 | 2018-02-09 | 北京锐安科技有限公司 | 一种接入数据预处理方法、装置、服务器和存储介质 |
CN110347879A (zh) * | 2019-07-12 | 2019-10-18 | 上海熙菱信息技术有限公司 | 一种基于规则的数据标准化方法及系统 |
CN111654498A (zh) * | 2020-06-03 | 2020-09-11 | 深圳市信锐网科技术有限公司 | 设备添加方法及物联网平台 |
CN113132192A (zh) * | 2021-03-02 | 2021-07-16 | 西安电子科技大学 | 一种海量物联网设备接入与管理方法 |
CN113254529A (zh) * | 2021-05-12 | 2021-08-13 | 兰州兰石集团有限公司 | 一种基于边缘计算和HiTSDB存储的工业物联网平台 |
Also Published As
Publication number | Publication date |
---|---|
CN113836211B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933146B (zh) | 一种数据转换方法、装置和服务器 | |
CN101827302B (zh) | 多业务统一处理方法及统一业务平台 | |
CN111585344B (zh) | 一种基于全站ied仿真的变电站智能校核方法及装置 | |
CN111385292B (zh) | 一种基于描述子的协议报文和数据的交互方法及系统 | |
CN111294235A (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN114900570A (zh) | 一种标准化数据采集传输方法及系统 | |
CN106708764A (zh) | 一种机载航电系统通用io处理系统 | |
CN106844819B (zh) | 智能站二次图模库设计工具数据库采集系统 | |
CN116156012B (zh) | 通用的异构物联网设备标准化接入和数据解析系统与方法 | |
CN113836211A (zh) | 物联网设备数据接入java平台的一种数据抽取方法 | |
CN108763127B (zh) | 源数据与目标数据相互转换的Modbus适配器的实现方法 | |
CN114928587B (zh) | 一种基于云边协同系统的AIoT设备复用建模化方法 | |
CN110099033B (zh) | 一种下位机架构 | |
CN110839022A (zh) | 一种基于xml语言的车载控制软件通信协议解析方法 | |
CN111597202B (zh) | 一种基于分形理论的战场态势信息按需提取方法 | |
CN115033646A (zh) | 一种基于Flink&Doris构建实时数仓系统的方法 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN114297292A (zh) | 一种基于canal平台的数据同步系统及执行方法 | |
CN112764808A (zh) | 一种跨系统、跨语言、跨硬件部件进行接口通讯的方法 | |
CN114826371B (zh) | 一种可配置的卫星部件通信通用模型设计方法 | |
CN109492329A (zh) | 一种背钻设置的设计方法 | |
US20240176600A1 (en) | Intelligent Adaptation of Source Code for Multi-Purpose Compilation | |
CN110175115B (zh) | 基于变量的动态数据运作及管理系统 | |
WO2024044976A1 (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 |