CN111399827B - 一种传感器数据处理的描述性对象代码自动生成方法 - Google Patents
一种传感器数据处理的描述性对象代码自动生成方法 Download PDFInfo
- Publication number
- CN111399827B CN111399827B CN202010156022.2A CN202010156022A CN111399827B CN 111399827 B CN111399827 B CN 111399827B CN 202010156022 A CN202010156022 A CN 202010156022A CN 111399827 B CN111399827 B CN 111399827B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- data processing
- code
- output
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种传感器数据处理的描述性对象代码自动生成方法,将数据处理通过输入、处理和输出三种类型的数据格式,将每一个数据处理任务拆解成N个节点,每个节点均绑定有相应的图标,最终实现每一个数据处理过程可以通过在页面将设计好的节点在网页上进行拖拉拽式的设计,模型设计完成之后运行代码生成解析设计生成的json从而生成一次用于数据处理流程的代码。本发明中的数据处理只需要通过界面配置模型,就能实现快速配置、既可以提高组件重复利用率,减少编码、统一开发,又可以减小维护成本、方便扩展。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种传感器数据处理的描述性对象代码自动生成方法。
背景技术
目前,在制造行业中,不同的传感器存在不同的数据采集方式,在针对不同传感器的数据采集需要单独开发对应的数据接口,数据接入之后的数据处理面临着各种复杂的业务和模型逻辑,不同企业的大数据平台使用的大数据计算方案不一样,普遍存在编程不规范,模型重用率低,跨运行环境又得重新编码,以及后续的数据处理同样需要针对不同的运行环境进行单独的逻辑开发,无法形成快速逻辑变更以及部署。
发明内容
本发明的目的在于提供一种空气能源岛供热装置,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种传感器数据处理的描述性对象代码自动生成方法,包括以下步骤:
S1、将待处理的数据封装成行对象作为数据对象,并为其添加属性描述作为描述性对象,采集到的数据从输入到输出采用所述描述性对象的方式在每个节点间进行流转;包括一下步骤:
S11、输入节点绑定输入数据的格式并生成对应的描述性对象;
S12、数据处理节点接收上一节点的输出,并根据步骤S11中的所述描述性对象对所述数据进行加工处理,最后输出数据并绑定相应的所述描述性对象;
S13、根据步骤S12中的所述描述性对象将所述输出数据根据代码规范生成输出节点,同时配置所述输出数据的落地位置;
S2、根据节点的开发规范,对所述输入节点、所述数据处理节点和所述输出节点进行具体功能的编码,将对应的类绑定到具体的图标中,最后将涉及到的处理过程使用节点按照所述描述性对象的方式拖入设计器中,所述设计器通过每个节点对应的校验机制检查前后节点之间的所述描述性对象是否符合条件,形成完整的模型;
S3、通过所述模型生成的代码提交至相应的运行环境中,进行执行。
优选的,所述描述性对象包括字段类型、处理规则和值域范围。
优选的,每个输入节点均面向具体的数据渠道;每一种数据渠道都编写有各自的采集代码,形成组件并集成到系统中形成一个所述输入节点。
优选的,所述数据处理节点对数据处理提供规则。
优选的,所述输出节点将数据输出至不同的最终落地位置。
优选的,所述输出节点为具体的输出通过代码规范生成的。
优选的,步骤S2中的模型以json的格式进行存储,运行代码时,根据json中描述的节点类型和节点前后关系可以直接生成可执行的java代码。
优选的,步骤S3中根据模型生成代码的初始化运行环境为:根据所述输入节点的代码模版生成输入节点的代码,所述数据处理节点依据节点匹配相应的类型代码模版生成相应的代码,所述输出节点依据节点匹配相应的类型代码模版生成相应代码,最后提交至运行环境中。
优选的,所述输出节点输出的代码可选择不同的运行环境。
本发明的有益效果是:本发明所述的传感器数据处理的描述性对象代码自动生成方法,通过界面化灵活配置生成代码,规范数据处理过程以及出口,适配不同的运行环境,可以解决工业传感器数量大,传感器的数据种类多,数据的处理的业务规则复杂的问题,也可以减少代码开发量,规范开发质量;本发明中的数据处理只需要通过界面配置模型,就能实现快速配置、既可以提高组件重复利用率,减少编码、统一开发,又可以减小维护成本、方便扩展。
附图说明
图1是数据处理流程图;
图2是输入节点cov文件的读取展示图;
图3是数据处理节点数据过滤节点展示图;
图4是模型设计生成代码展示图;
图5是任务变更示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
一种传感器数据处理的描述性对象代码自动生成方法,将数据处理通过输入、处理和输出三种类型的数据格式,将每一个数据处理任务拆解成N个节点,每个节点均绑定有相应的图标,最终实现每一个数据处理过程可以通过在页面将设计好的节点在网页上进行拖拉拽是的设计,如果节点库中不存在的,则按照规范开发后将其加入节点库,方便后续任务使用;模型设计完成之后将处理流程以json的形式保存,json中包含对每个节点绑定的class(节点类型通过注解的形式注解到具体的class上)、需要的参数、父节点的id,子节点的id、输入描述性对象的要求,输出的描述性对象的格式,模型设计完成之后运行代码生成解析设计生成的json从而生成一次用于数据处理流程的代码。包括以下步骤:
S1、将待处理的数据封装成行对象作为数据对象,并为其添加属性描述作为描述性对象,所述描述性对象包括字段类型、处理规则和值域范围等属性,采集到的数据从输入到输出采用所述描述性对象的格式在每个节点间进行流转;包括一下步骤:
S11、输入节点绑定输入数据的格式并生成对应的描述性对象,每一个所述输入节点都面向具体的入口,例如csv文件输入节点,读取csv文件的节点,节点提供可配置参数,绑定监听到的消息的格式生成对应的描述性对象,如图2所示;
S12、数据处理节点承接上一个节点的输出,同时定义本节点对后续的输出格式,如果本节点能适配通用的描述性对象输入则不需要定义,否则需要定义输入的数据的描述性对象的具体格式;如图3所示为一个过滤用于过滤数据的节点,上一个节点的输出的描述性对象中包含162个字段,本节点往下输出描述性对象的字段为4个,本节点承担的任务就是将162个字段筛选出4个;
S13、根据步骤S12中输出的所述描述性对象根据代码规范生成输出节点,同时配置所述输出节点需要的环境参数;
S2、根据节点的开发规范,对所述输入节点、所述数据处理节点和所述输出节点进行具体功能的编码,将对应的类绑定到具体的图标中,最后将涉及到的处理过程使用节点按照所述描述性对象的方式拖入设计器中,所述设计器通过每个节点对应的校验机制检查前后节点之间的所述描述性对象是否符合条件,形成完整的模型;所述模型以json的格式进行存储,运行代码时,根据json中描述的节点类型和节点前后关系可以直接生成可执行的java代码,如图4所示;
S3、读取模型中的所述json文件,进行初始化运行环境:从json文件中获取所有输入节点的,根据输入节点的代码模版生成输入节点的代码,输入节点生成完成之后,输入节点后续第一个节点依据节点匹配相应的类型代码模版生成相应的代码,后续以此类推,知道取到输出节点为止。
S4、将步骤S3中生成的代码提交至相应的运行环境中执行,所述代码可以选择不同的运行环境。
数据的入口,包括各种数据渠道,如:tcp、udp、kafka、hdfs、ftp、wemban数据库等,其中每种渠道均编写好各自的采集代码,形成组件,将组件继承制系统中形成所述输入节点,所述输入节点绑定输入数据的描述性对象,以及一些必要的参数,所述组件将数据从源头获取到数据任务的管道中。
所述数据处理节点定义数据处理规则或模型处理,从上一个节点中接收数据,根据上个节点对输出数据的描述性对象进行加工处理数据,最终输出数据并绑定描述性对象,用以供给下一个节点进行获取。
所述输出节点根据上一节点的描述性对象将数据输出至不同的落地位置,并且每一种落地位置都编写好通用的组件。
实施例
本实施例中将上述方法应用于国信数据开发平台,其中系统的原始业务流程如图5所示,首先对数据来源为csv文件进行读取,即输入节点为csv文件读取,第二步是数据压缩过程,数据时间间隔默认为200毫秒,但数据丢失情况严重,需要对数据进行压缩,压缩到1秒一条的数据,第三步数据过滤,将第四步评分规则不需要使用到的数据过滤掉,第四步执行评分规则,所述评分规则与节点一一对应,最终根据规则生成扣分结果;
在后续的实施中部分数据面临如下几种业务规则变更时:
1、原始数据源更换为从kafka取数据;
2、原始数据变更为压缩后的数据,所以数据压缩的过程也被取消;
3、数据过滤因为需要新增评分规则,也需要在过滤中进行更多的条件筛选;
4、评分规则变动或增加;
5、输出目的类型变更;
本发明中只需将原有csv输入节点替换为kafka节点,去掉数据压缩节点,在数据过滤节点中增加过滤的数据,即可实现新版任务的生成。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明所述的传感器数据处理的描述性对象代码自动生成方法,通过界面化灵活配置生成代码,规范数据处理过程以及出口,适配不同的运行环境,可以解决工业传感器数量大,传感器的数据种类多,数据的处理的业务规则复杂的问题,也可以减少代码开发量,规范开发质量;本发明中的数据处理只需要通过界面配置模型,就能实现快速配置、既可以提高组件重复利用率,减少编码、统一开发,又可以减小维护成本、方便扩展。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (9)
1.一种传感器数据处理的描述性对象代码自动生成方法,其特征在于,包括以下步骤:
S1、将待处理的数据封装成行对象作为数据对象,并为其添加属性描述作为描述性对象,采集到的数据从输入到输出采用所述描述性对象的方式在每个节点间进行流转;包括以下步骤:
S11、输入节点绑定输入数据的格式并生成对应的描述性对象;
S12、数据处理节点接收上一节点的输出,并根据步骤S11中的所述描述性对象对所述数据进行加工处理,最后输出数据并绑定相应的所述描述性对象;
S13、根据步骤S12中的所述描述性对象将所述输出数据根据代码规范生成输出节点,同时配置所述输出数据的落地位置;
S2、根据节点的开发规范,对所述输入节点、所述数据处理节点和所述输出节点进行具体功能的编码,将对应的类绑定到具体的图标中,最后将涉及到的处理过程使用节点按照所述描述性对象的方式拖入设计器中,所述设计器通过每个节点对应的校验机制检查前后节点之间的所述描述性对象是否符合条件,形成完整的模型;
S3、通过所述模型生成的代码提交至相应的运行环境中,进行执行。
2.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述描述性对象包括字段类型、处理规则和值域范围。
3.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,每个输入节点均面向具体的数据渠道;每一种数据渠道都编写有各自的采集代码,形成组件并集成到系统中形成一个所述输入节点。
4.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述数据处理节点对数据处理提供规则。
5.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述输出节点将数据输出至不同的最终落地位置。
6.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述输出节点为具体的输出通过代码规范生成的。
7.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,步骤S2中的模型以json的格式进行存储,运行代码时,根据json中描述的节点类型和节点前后关系可以直接生成可执行的java代码。
8.根据权利要求1所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,步骤S3中根据模型生成代码的初始化运行环境为:根据所述输入节点的代码模版生成输入节点的代码,所述数据处理节点依据节点匹配相应的类型代码模版生成相应的代码,所述输出节点依据节点匹配相应的类型代码模版生成相应代码,最后提交至运行环境中。
9.根据权利要求8所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述输出节点输出的代码可选择不同的运行环境。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156022.2A CN111399827B (zh) | 2020-03-09 | 2020-03-09 | 一种传感器数据处理的描述性对象代码自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156022.2A CN111399827B (zh) | 2020-03-09 | 2020-03-09 | 一种传感器数据处理的描述性对象代码自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399827A CN111399827A (zh) | 2020-07-10 |
CN111399827B true CN111399827B (zh) | 2023-01-24 |
Family
ID=71436133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010156022.2A Active CN111399827B (zh) | 2020-03-09 | 2020-03-09 | 一种传感器数据处理的描述性对象代码自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399827B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555533B (zh) * | 2024-01-12 | 2024-04-12 | 北京天元特通科技有限公司 | 代码生成方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、系统及方法 |
CN103914290A (zh) * | 2012-12-31 | 2014-07-09 | 杭州勒卡斯广告策划有限公司 | 一种操作命令处理方法及装置 |
WO2017053434A1 (en) * | 2015-09-21 | 2017-03-30 | Dragonfly Data Factory Llc | Design-time, metadata-based representation of real-time applications and message schemas |
CN109194762A (zh) * | 2018-09-20 | 2019-01-11 | 山东省农业科学院科技信息研究所 | 基于ssh的土壤信息网络发布系统及方法 |
CN109388667A (zh) * | 2017-08-14 | 2019-02-26 | 中兴通讯股份有限公司 | 组件化大数据处理方法、系统及计算机可读存储介质 |
CN110297632A (zh) * | 2019-06-12 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | 代码生成方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030221162A1 (en) * | 2000-03-20 | 2003-11-27 | Sridhar Mandayam Andampillai | Meta-templates in website development and methods therefor |
US8635177B2 (en) * | 2009-08-17 | 2014-01-21 | Adobe Systems Incorporated | Rule-based binding |
-
2020
- 2020-03-09 CN CN202010156022.2A patent/CN111399827B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、系统及方法 |
CN103914290A (zh) * | 2012-12-31 | 2014-07-09 | 杭州勒卡斯广告策划有限公司 | 一种操作命令处理方法及装置 |
WO2017053434A1 (en) * | 2015-09-21 | 2017-03-30 | Dragonfly Data Factory Llc | Design-time, metadata-based representation of real-time applications and message schemas |
CN109388667A (zh) * | 2017-08-14 | 2019-02-26 | 中兴通讯股份有限公司 | 组件化大数据处理方法、系统及计算机可读存储介质 |
CN109194762A (zh) * | 2018-09-20 | 2019-01-11 | 山东省农业科学院科技信息研究所 | 基于ssh的土壤信息网络发布系统及方法 |
CN110297632A (zh) * | 2019-06-12 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | 代码生成方法和装置 |
Non-Patent Citations (4)
Title |
---|
Near Real-Time Big-Data Processing for Data Driven Applications;Jānis Kampars等;《2017 International Conference on Big Data Innovations and Applications》;20171231;35-42 * |
可扩展数据对象模型的研究与实现;刘建东等;《计算机工程》;20091120(第22期);40-43 * |
数字轨道地图数据平顺性检查算法研究;王剑 等;《铁道学报》;20150115;第37卷(第1期);57-62 * |
设备监控管理系统研究与实现;颜光伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140515;I138-91 * |
Also Published As
Publication number | Publication date |
---|---|
CN111399827A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540436B2 (en) | Evaluating rules applied to data | |
CN110196719B (zh) | 一种基于自然语言处理的业务规则生成方法与系统 | |
CN108351636B (zh) | 工程设计工具、系统及模块 | |
JP6551565B2 (ja) | 工程解析装置、工程解析方法、及び工程解析プログラム | |
US6268853B1 (en) | Data structure for use in enterprise controls | |
US6556950B1 (en) | Diagnostic method and apparatus for use with enterprise control | |
US7562340B2 (en) | Method for graphically building business rule conditions | |
US6993456B2 (en) | Mechanical-electrical template based method and apparatus | |
US9165251B2 (en) | Construction of rules for use in a complex event processing system | |
CN109918081B (zh) | 一种编译方法及编译器 | |
SE505783C2 (sv) | Förfarande för att tillverka en digital signalprocessor | |
EP4028960A1 (en) | Visually creating and monitoring machine learning models | |
CN113050938B (zh) | 视觉软件开发系统、方法、装置及计算机存储介质 | |
Urbas et al. | autoHMI: a model driven software engineering approach for HMIs in process industries | |
CN111399827B (zh) | 一种传感器数据处理的描述性对象代码自动生成方法 | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
US20180032328A1 (en) | Method and apparatus of segment flow trace analysis | |
CN100549882C (zh) | 编制和/或执行用于工业自动化系统的程序的装置和方法 | |
CN111580789B (zh) | 功能块框架生成 | |
Zaeh et al. | Model-driven development of PLC software for machine tools | |
Saadatmand | Towards automating integration testing of. NET applications using Roslyn | |
CN115509510A (zh) | 基于lidl的可视化人机交互软件建模方法及装置 | |
US11868118B2 (en) | Method for configuring an industrial automation component, industrial automation component, computer program and computer readable medium | |
CN112596828A (zh) | 基于应用的弹窗生成方法、装置、电子设备及存储介质 | |
Moser et al. | A novel domain-specific language for the robot welding automation domain |
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 |