CN113139012A - 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 - Google Patents
一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 Download PDFInfo
- Publication number
- CN113139012A CN113139012A CN202110469491.4A CN202110469491A CN113139012A CN 113139012 A CN113139012 A CN 113139012A CN 202110469491 A CN202110469491 A CN 202110469491A CN 113139012 A CN113139012 A CN 113139012A
- Authority
- CN
- China
- Prior art keywords
- data
- json
- task
- etl
- factory
- 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 27
- 238000007405 data analysis Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 abstract description 18
- 238000011161 development Methods 0.000 abstract description 9
- 238000005065 mining Methods 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000000694 effects Effects 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于JSON的ETL工具引擎处理数据的方法及ETL数据处理系统,包括以下步骤:步骤A,JSON化数据,且将JSON格式数据解析为任务处理器能够识别处理的对象;步骤B,任务处理器将所述步骤A中解析之后的JSON格式数据转入任务执行器工厂进行数据处理;步骤C,所述任务执行器工厂执行数据操作。本发明的JSON格式是自定义的,方便后续扩展更多的其他执行器,可以快速、灵活的扩展个性化的ETL任务需求,并且基于JSON格式可以方便的开发可视化界面;本发明使得对各种数据的分析利用、报表开发、分析挖掘等变得更加方便。
Description
技术领域
本发明涉及智能网联车辆和智能家居互联技术领域,具体涉及基于JSON的ETL工具引擎处理数据的方法及ETL数据处理系统。
背景技术
随着企业的发展,各业务线、产品线、部门都会承建各种信息化系统方便开展自己的业务,随着信息化建设的不断深入,由于业务系统之间各自为政、相互独立的“数据孤岛”现象尤为普遍,业务不集成,流程不互通、数据不共享,这给企业进行数据的分析利用、报表开发、分析挖掘等带来了巨大困难。
相关技术中公开号为CN2014102269987的中国专利文献公开了名称为“一种适用于多种目的表更新方式的通用ETL方法”的专利,其所提供的发明方法仅用于更新数据表,具有局限性,不能满足日常需求;
相关技术中公开号为CN2017105362500的中国专利文献公开了名称为“一种基于工作流的通用ETL工具的过程模型生成方法”,其所提供的发明方法,提出八种变换规则,然后使用穷举法将八种变换规则都代入ETL模型工具对应的流程图,然后比较,选出变换后时间最小的有向图,该专利对于复杂度降低的任务增加了所需时间。
发明内容
本发明的目的是提供一种基于JSON的ETL工具引擎处理数据的方法及ETL数据处理系统,解决的技术问题:业务系统之间各自为政、相互独立造成的“数据孤岛”现象普遍,业务不集成、流程不互通、数据不共享,给企业进行数据的分析利用、报表开发、分析挖掘等造成巨大困难。
为了解决上述技术问题,本发明采用了下述技术方案:一种基于JSON的ETL工具引擎,包括以下步骤:
步骤A,JSON化数据,且将JSON格式数据解析为任务处理器能够识别处理的对象;
步骤B,任务处理器将所述步骤A中解析之后的JSON格式数据转入任务执行器工厂进行数据处理;
步骤C,所述任务执行器工厂执行数据操作。
优选地,
在所述步骤A中,如果所述JSON化数据解析的结果为JSONObject,则直接解析所述JSONObject;如果所述JSON化数据解析的结果为JSONArray,则遍历所述JSONArray的对象,并解析每一个JSONObject。
优选地,在所述步骤B中,所述任务处理器可调度数据输入源处理类(InputJobHandler)、数据过滤处理类(FilterJobHandler)、数据合并处理类(JoinJobHandler)及数据输出处理类(WriteJobHandler),以使所述步骤C中的所述任务执行器工厂通过处理类执行相应的数据操作。
优选地,
在所述步骤C中,所述任务执行器工厂执行的数据操作包括数据抽取、转换、过滤、关联操作。
优选地,采用fastjson对数据进行JSON化。
本发明还提供了一种基于JSON的ETL数据处理系统,包括:
JSON模块,用于将数据转换为JSON格式的数据;
JSON数据解析模块,用于将JSON格式数据解析为任务处理器能够识别处理的对象;
任务处理器模块,用于将解析之后的JSON格式数据转入任务执行器工厂进行数据处理;
任务执行器工厂模块,用于对解析之后的JSON格式数据执行数据操作。
通过采用上述技术方案,本发明可达到的有益技术效果陈述如下:
JSON是一种简单的数据交换格式:其为纯文本,结构简单,生成和解析都比较方便;具有良好的自我描述性,便于阅读;具有层级结构;可通过JavaScript进行解析;另外,JSON数据还可使用AJAX进行传输。在实际应用中,经常使用ajax配合json来完成任务,比和XML配合容易的多,json速度快,如果使用XML,需要读取XML文档,然后用XML DOM来遍历文档并读取值并存储在变量中,而使用JSON,只需读取JSON字符串;另外,本发明的JSON格式结构是自定义的,该JSON结构方便后续任务执行器工厂处理数据,同时本发明可以快速、灵活的扩展个性化的ETL任务需求,使对数据的操作方式变得多样,并且基于JSON格式可以方便的开发可视化界面,使得工作人员操作更加方便;通过使用本发明提供的基于JSON的ETL工具引擎,使得对各种数据的分析利用、报表开发、分析挖掘等变得更加方便。
附图说明
图1为ETL工具引擎主体流程图;
图2为JSON解析工作流;
图3为JSON解析对象类图;
图4为执行器类图;
图5为任务执行流程。
具体实施方式
为使本发明的目的,技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
随着企业的发展,各业务线、产品线、部门都会承建各种信息化系统方便开展自己的业务;随着信息化建设的不断深入,由于业务系统之间各自为政、相互独立造成的“数据孤岛”现象尤为普遍,业务不集成、流程不互通、数据不共享,这给企业进行数据的分析利用、报表开发、分析挖掘等带来了巨大困难;
另外,现在智能家居越来越普遍,智能家居以住宅为平台,利用综合布线技术,网络信息技术,安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性等。智能家居通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、影音服务器、影柜系统、网络家电等),各种物联化的家居设备都会有自己的运行状态,会产生相应的数据,各种数据之间没有一种统一的工具将它们集中起来,进行有价值信息的挖掘,以改进智能家居的体验。
为了使各座孤岛上的数据能提供更有价值的信息,所以本发明决定提供一种基于JSON的ETL工具引擎处理数据的方法,将相互独立的数据集成起来,使得对数据的分析利用、报表开发、分析挖掘更加方便,以便持续给企业提供更加价值的数据信息,同样的,可以给智能家居的用户提供更好的用户体验。
参见图1,为ETL引擎主体流程图,本发明提供的基于JSON的ETL工具引擎,包括以下步骤:
步骤A,JSON化数据,且将JSON格式数据解析为任务处理器能够识别处理的对象;
步骤B,任务处理器将步骤A中解析之后的JSON格式数据转入任务执行器工厂进行处理;
步骤C任务执行器工厂执行数据操作。
在本发明中,默认采用fastjson对数据进行JSON化,本发明还可以设计常用的JSON解析器,JSON解析器的目的是为了将JSON数据解析成程序可用的对象,以交给后续各执行器进行数据抽取、转换、过滤、关联等工作。
在本发明中,JSON解析是关键,为了确保ETL引擎能够让数据抽取、转换、过滤、关联等执行器的数据解析更加的统一,也为方便后续更多的其他执行器需要定义一个标准的JSON格式结构。其定义如下:
Parameter定义
键 | 说明 | 类型 |
Name | 变量名、参数名 | String |
JSON结构如下:
参见图2,为JSON解析工作流,在步骤A中,如果JSON化数据解析的结果为JSONObject,则直接解析JSONObject;如果JSON化数据解析的结果为JSONArray,则遍历JSONArray的对象,并解析每一个JSONObject;参见图3,为JSON解析对象类图,父类对象包括JSON输入的对象经过解析后执行器类型,下一个执行器类型,以及输入参数,输入参数包括变量名和参数名。而本发明用到的其他对象,例如过滤对象,数据源对象都可以继承该父类并进行扩展。
参见图4,为执行器类图,参见图5,为任务执行流程,在步骤B中,任务处理器可调度数据输入源处理类(InputJobHandler)、数据过滤处理类(FilterHobHandler)、数据合并处理类(JoinJobHandler)及数据输出处理类(WriteJobHandler);在ETL引擎中需要建立一个抽象的任务处理类AbstractJobHandler,并只需要定义一个execute的公共方法,然后根据不同的ETL场景需要再实现各自场景的处理类,例如:数据输入源处理类(InputJobHandler),数据过滤处理类(FilterJobHandler),数据合并处理类(JoinJobHandler),数据输出处理类(WriteJobHandler)。所有的任务处理类将通过任务执行器工厂(JobExecutorFactory)根据JSON格式解析后的任务进行实例化提供给任务处理器(JobMaintainer)进行任务的调度。参见图4,执行器抽象类包括运行、执行、获取对象等步骤,本发明用到的写执行器、连接执行器、过滤执行器都可以继承该继承器并进行操作。
参见图5,任务调度流程是ETL工具引擎的最重要的部分,而任务处理器是任务调度流程的核心。任务处理器的作用是将JSON解析后的对象按照输入的执行器类型转入任务执行器工厂进行数据处理。对于任务执行器工厂,它的作用是根据输入的执行器类型和传入的数据执行数据操作,例如更新、插入、抽取、转换、过滤、关联等操作(即任务执行器工厂执行的数据操作),任务处理器和任务执行器工厂的核心代码如下:
任务处理器:
任务执行器工厂:
本发明还提供一种基于JSON的ETL数据处理系统,包括:
JSON模块,用于将数据转换为JSON格式的数据;
JSON数据解析模块,用于将JSON格式数据解析为任务处理器能够识别处理的对象;
任务处理器模块,用于将解析之后的JSON格式数据转入任务执行器工厂进行数据处理;
任务执行器工厂模块,用于对解析之后的JSON格式数据执行数据操作。
JSON是一种简单的数据交换格式:其为纯文本,结构简单,生成和解析都比较方便;具有良好的自我描述性,便于阅读;具有层级结构;可通过JavaScript进行解析;另外,JSON数据还可使用AJAX进行传输。在实际应用中,经常使用ajax配合json来完成任务,比和XML配合容易的多,json速度快,如果使用XML,需要读取XML文档,然后用XML DOM来遍历文档并读取值并存储在变量中,而使用JSON,只需读取JSON字符串;另外,本发明中的JSON格式结构是自定义的,方便后续流程的处理,使得输入源处理类、数据过滤处理类、数据合并处理类及数据输出处理类更加快速的处理JSON化的数据,因JSON具有以上优点,再加上本算法的整个机制,本发明可以快速、灵活的扩展个性化的ETL任务需求,使对数据的操作方式变得多样,并且基于JSON格式可以方便的开发可视化界面,使得工作人员操作更加方便;通过使用本发明提供的基于JSON的ETL工具引擎,使得对各种数据的分析利用、报表开发、分析挖掘等变得更加方便。
我们假设这样一种情况,假设一家企业各个系统产生的数据都是一座孤岛,各个系统的工作人员就会缺少对企业的宏观认识,如果可以共享其他系统的数据,那么做最后的决策的时候会有一个大局观,有利于公司对自身业务的改进,增加利润。还比如一些统计部门,需要各个系统的数据,没有一个基于JSON的ETL工具,会给工作带来巨大的困难,使得工作效率低下。另外本发明是基于JSON的,所以在使用本工具时,如果还需要增加对数据的操作方式,那么可以快速的直接在本工具上进行快速、灵活的改进即可。并且本发明是基于JSON格式的还可以更加方便的开发可视化界面,使得用户的操作更加方便,节省人力成本。
Claims (6)
1.一种基于JSON的ETL工具引擎处理数据的方法,其特征在于,包括以下步骤:
步骤A,JSON化数据,且将JSON格式数据解析为任务处理器能够识别处理的对象;
步骤B,任务处理器将所述步骤A中解析之后的JSON格式数据转入任务执行器工厂进行数据处理;
步骤C,所述任务执行器工厂执行数据操作。
2.根据权利要求1所述的基于JSON的ETL工具引擎处理数据的方法,其特征在于,
在所述步骤A中,如果所述JSON化数据解析的结果为JSONObject,则直接解析所述JSONObject ;如果所述JSON化数据解析的结果为JSONArray,则遍历所述JSONArray的对象,并解析每一个JSONObject。
3.根据权利要求1所述的基于JSON的ETL工具引擎处理数据的方法,其特征在于,在所述步骤B中,所述任务处理器可调度数据输入源处理类(InputJobHandler)、数据过滤处理类(FilterJobHandler)、数据合并处理类(JoinJobHandler)及数据输出处理类(WriteJobHandler),以使所述步骤C中的所述任务执行器工厂通过处理类执行相应的数据操作。
4.根据权利要求1所述的基于JSON的ETL工具引擎处理数据的方法,其特征在于,
在所述步骤C中,所述任务执行器工厂执行的数据操作包括数据抽取、转换、过滤、关联操作。
5.根据权利要求1所述的基于JSON的ETL工具引擎处理数据的方法,其特征在于,采用fastjson对数据进行JSON化。
6.一种基于JSON的ETL数据处理系统,其特征在于,包括:
JSON模块,用于将数据转换为JSON格式的数据;
JSON数据解析模块,用于将JSON格式数据解析为任务处理器能够识别处理的对象;
任务处理器模块,用于将解析之后的JSON格式数据转入任务执行器工厂进行数据处理;
任务执行器工厂模块,用于对解析之后的JSON格式数据执行数据操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469491.4A CN113139012A (zh) | 2021-04-28 | 2021-04-28 | 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469491.4A CN113139012A (zh) | 2021-04-28 | 2021-04-28 | 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113139012A true CN113139012A (zh) | 2021-07-20 |
Family
ID=76816342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110469491.4A Pending CN113139012A (zh) | 2021-04-28 | 2021-04-28 | 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139012A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048912A (zh) * | 2022-08-12 | 2022-09-13 | 成都锐菲网络科技有限公司 | 高速公路行车数据共享方法及应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241164A (zh) * | 2018-08-24 | 2019-01-18 | 北京智能管家科技有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN109408577A (zh) * | 2018-10-25 | 2019-03-01 | 平安科技(深圳)有限公司 | Oracle数据库json解析方法、系统、装置及可存储介质 |
CN110704528A (zh) * | 2019-10-11 | 2020-01-17 | 苏州易博创云网络科技有限公司 | 可自动识别与配置转换的数据处理方法 |
CN112650925A (zh) * | 2020-12-25 | 2021-04-13 | 通号智慧城市研究设计院有限公司 | 一种用于一卡通的app信息推送系统、方法及介质 |
-
2021
- 2021-04-28 CN CN202110469491.4A patent/CN113139012A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241164A (zh) * | 2018-08-24 | 2019-01-18 | 北京智能管家科技有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN109408577A (zh) * | 2018-10-25 | 2019-03-01 | 平安科技(深圳)有限公司 | Oracle数据库json解析方法、系统、装置及可存储介质 |
CN110704528A (zh) * | 2019-10-11 | 2020-01-17 | 苏州易博创云网络科技有限公司 | 可自动识别与配置转换的数据处理方法 |
CN112650925A (zh) * | 2020-12-25 | 2021-04-13 | 通号智慧城市研究设计院有限公司 | 一种用于一卡通的app信息推送系统、方法及介质 |
Non-Patent Citations (2)
Title |
---|
仙子紫霞: ""Flink系列-实时数仓之ETL实战(二)"", 《HTTPS://WWW.SHANGYEXINZHI.COM/ARTICLE/2399877.HTML》 * |
芋道源码1024: ""分布式作业系统Elastic-Job-Lite源码分析-作业执行"", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1350735》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048912A (zh) * | 2022-08-12 | 2022-09-13 | 成都锐菲网络科技有限公司 | 高速公路行车数据共享方法及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107864174B (zh) | 一种基于规则的物联网设备联动方法 | |
CN106341444A (zh) | 数据访问方法和装置 | |
CN106789898B (zh) | 远程数据传输终端、系统及其编码、解码方法 | |
TWI739111B (zh) | 使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體 | |
CN111309868A (zh) | 一种知识图谱构建、检索方法及装置 | |
CN114430353A (zh) | 一种基于Modbus协议的数据采集方法、系统、装置及介质 | |
CN113139012A (zh) | 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统 | |
CN114048188A (zh) | 一种跨数据库的数据迁移系统及方法 | |
CN117931995A (zh) | 建筑运维专家系统 | |
CN102646119B (zh) | 一种实现标准化系统与信息系统融合的方法 | |
CN110516079B (zh) | 一种rdf对象模型类层次树建立方法及系统 | |
CN113761121B (zh) | 一种结构化数据的知识抽取方法 | |
CN102393820A (zh) | 一种楼宇监控系统控制逻辑的实现方法 | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
CN116450246A (zh) | 一种基于状态机的事件流转可配置方法 | |
CN112698878A (zh) | 基于算法微服务的计算方法及系统 | |
CN112685426A (zh) | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 | |
Cheng et al. | Research on key technologies of data-oriented intelligent campus in 5G environment | |
CN111158657B (zh) | 一种数据集成化处理方法 | |
WO2020013909A1 (en) | Block-based prediction for manufacturing environments | |
CN117648477B (zh) | 基于ai分析的服务信息管理系统及其方法 | |
WO2024138785A1 (zh) | 面向元宇宙系统开发的物对象数字化方法 | |
CN108197346B (zh) | 一种基于开放消息总线的主备异构系统通信模型同步方法 | |
CN115098507A (zh) | 一种基于工业互联网数据的存储方法及相关设备 | |
Ji et al. | Design and implementation of remote model predictive control system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210720 |
|
RJ01 | Rejection of invention patent application after publication |