CN111399827A - 一种传感器数据处理的描述性对象代码自动生成方法 - Google Patents

一种传感器数据处理的描述性对象代码自动生成方法 Download PDF

Info

Publication number
CN111399827A
CN111399827A CN202010156022.2A CN202010156022A CN111399827A CN 111399827 A CN111399827 A CN 111399827A CN 202010156022 A CN202010156022 A CN 202010156022A CN 111399827 A CN111399827 A CN 111399827A
Authority
CN
China
Prior art keywords
node
data
data processing
output
nodes
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
Application number
CN202010156022.2A
Other languages
English (en)
Other versions
CN111399827B (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.)
Beijing Guoxin Huishi Technology Co ltd
Original Assignee
Beijing Guoxin Huishi 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 Beijing Guoxin Huishi Technology Co ltd filed Critical Beijing Guoxin Huishi Technology Co ltd
Priority to CN202010156022.2A priority Critical patent/CN111399827B/zh
Publication of CN111399827A publication Critical patent/CN111399827A/zh
Application granted granted Critical
Publication of CN111399827B publication Critical patent/CN111399827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

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所述的传感器数据处理的描述性对象代码自动生成方法,其特征在于,所述输出节点输出的代码可选择不同的运行环境。
CN202010156022.2A 2020-03-09 2020-03-09 一种传感器数据处理的描述性对象代码自动生成方法 Active CN111399827B (zh)

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 true CN111399827A (zh) 2020-07-10
CN111399827B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555533A (zh) * 2024-01-12 2024-02-13 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
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
CN101114226A (zh) * 2007-08-28 2008-01-30 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法
US20130185240A1 (en) * 2009-08-17 2013-07-18 Trevor H. Ward Rule-Based Binding
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 百度在线网络技术(北京)有限公司 代码生成方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
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
CN101114226A (zh) * 2007-08-28 2008-01-30 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法
US20130185240A1 (en) * 2009-08-17 2013-07-18 Trevor H. Ward Rule-Based Binding
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)

* Cited by examiner, † Cited by third party
Title
JĀNIS KAMPARS等: "Near Real-Time Big-Data Processing for Data Driven Applications", 《2017 INTERNATIONAL CONFERENCE ON BIG DATA INNOVATIONS AND APPLICATIONS》 *
刘建东等: "可扩展数据对象模型的研究与实现", 《计算机工程》 *
王剑 等: "数字轨道地图数据平顺性检查算法研究", 《铁道学报》 *
颜光伟: "设备监控管理系统研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555533A (zh) * 2024-01-12 2024-02-13 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质
CN117555533B (zh) * 2024-01-12 2024-04-12 北京天元特通科技有限公司 代码生成方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN111399827B (zh) 2023-01-24

Similar Documents

Publication Publication Date Title
US20180260375A1 (en) Evaluating rules applied to data
US6268853B1 (en) Data structure for use in enterprise controls
JP5436752B2 (ja) 条件成分を有するグラフ
US6556950B1 (en) Diagnostic method and apparatus for use with enterprise control
US8527452B2 (en) Construction of rules for use in a complex event processing system
WO2003046694A2 (en) Method and apparatus for creating software objects
US20090241088A1 (en) Creating graphical models representing control flow of a program manipulating data resources
EP4028960A1 (en) Visually creating and monitoring machine learning models
CN113050938A (zh) 视觉软件开发系统、方法、装置及计算机存储介质
CN111880784A (zh) 一种面向simscript语言的离散事件仿真图形化建模方法
Urbas et al. autoHMI: a model driven software engineering approach for HMIs in process industries
US10157057B2 (en) Method and apparatus of segment flow trace analysis
Kusmenko et al. On the engineering of AI-powered systems
CN111399827B (zh) 一种传感器数据处理的描述性对象代码自动生成方法
CN100549882C (zh) 编制和/或执行用于工业自动化系统的程序的装置和方法
Zaeh et al. Model-driven development of PLC software for machine tools
Saadatmand Towards automating integration testing of. NET applications using Roslyn
US20100287415A1 (en) Method of making an enduring universal tool for developing equipment tests and tool for the implementation thereof
JP5657183B2 (ja) 第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするための方法および装置、第1のコンピュータ・プログラムと第2のコンピュータ・プログラムとのインターフェースをとるためのコンピュータ・プログラム・コードを生成するための方法および装置、コンピュータ・プログラム、ならびに第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするためのソフトウェア・インターフェースを提供するための方法(コンピュータ・プログラム・インターフェース)
WO2008015110A2 (en) Methods, apparatus and computer programs for modelling computer programs
Voit et al. Method to interpret algorithms and design workflows in the complex computer-aided design development
KR101731629B1 (ko) Circus로부터 go 코드를 자동으로 생성하는 방법 및 장치
EP3974921A1 (en) Integrated development module and method for engineering automation systems in an industrial automation environment
Rahimi et al. Architecture conformance checking of multi-language applications
CN115357508A (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