CN111797154A - 一种基于json的实时抽取方法 - Google Patents
一种基于json的实时抽取方法 Download PDFInfo
- Publication number
- CN111797154A CN111797154A CN202010631379.1A CN202010631379A CN111797154A CN 111797154 A CN111797154 A CN 111797154A CN 202010631379 A CN202010631379 A CN 202010631379A CN 111797154 A CN111797154 A CN 111797154A
- Authority
- CN
- China
- Prior art keywords
- json
- data
- kafka
- real
- extraction method
- 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
- 238000000605 extraction Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 238000013075 data extraction Methods 0.000 claims abstract description 7
- 238000013479 data entry Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 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
- 230000009467 reduction 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
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于json的实时抽取方法,包括以下步骤:用户输入json数据;配置kafka源;配置目标;将json数据送到配置的kafka源;进入目表数据库,根据配置信息进行配置;实现实时抽取数据。本发明有益效果:使得复杂json数据结构的抽取映射可配、流程可配,扩展性好;实时抽取加载流程,以api和kafka为支撑,具有低延迟、实时性好的特点;对于大批量数据,自动批同步,降低整体数据延迟,提高实时可靠性,稳定性好。
Description
技术领域
本发明属于json的数据抽取技术领域,尤其是涉及一种基于json的实时抽取方法。
背景技术
非关系型数据库有存储格式多、扩展性好、处理高并发、大批量数据的能力强、内存级数据库、查询速度快等优点。非关系型数据库数据存储也成为关系型数据库存储替代方案之一。对于数据集成平台来说,抽取非关系型数据到关系型数据库中也是必要功能之一。
Mongodb就是一个典型的非关系型数据库,其存储数据结构是文档型。也多用于存储json类型数据结构。但是用Mongodb存储数据存在几个显著的问题:存储类型是json文档,冗余数据多;文档层级过多、过深,维护成本太高。
以mongodb为数据存储数据,随着时间推移,数据越来越难维护的问题,当然现在经过调优结构化mongodb数据存储格式,以统一对象存储,但是存储数据结构不能太深,如图1所示,是从mongodb抽取数据落入mysql(关系型数据库)的模板。
但是这里并没有json解析的功能,无法满足用户想把一个json数组逐个元素抽出,将一个数组抽成多条mysql数据,不能支持复杂结构的抽取和映射到目表数据库。
发明内容
有鉴于此,本发明旨在提出一种基于json的实时抽取方法,以解决上述问题的不足之处。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于json的实时抽取方法,包括以下步骤:
A.用户输入json数据;
B.配置kafka源;
C.配置目标;
D.将json数据送到配置的kafka源;
E.进入目表数据库,根据步骤C中的配置信息进行配置;
F.实现实时抽取数据。
进一步的,所述步骤B中配置kafka源的过程为:从json树形数据结构中勾选实际需要的字段,或自定义输入实际需要的字段。
进一步的,所述步骤C中将源字段和目标字段根据映射规则形成映射关系。
进一步的,所述源字段和目标字段的映射规则为:如果源字段和目标字段相同则自动映射成功;如果不同,需要用户根据业务场景手动选择。
进一步的,所述步骤D中json数据进入kafka后进行数据扁平化处理。
进一步的,所述步骤D中用户主动将json数据放入kafka中和kafka耦合。
进一步的,所述步骤D中开放api接口,为用户提供数据录入接口,生成用户密钥,api接口通过密钥将用户数据加载到配置的kafka源中。
相对于现有技术,本发明所述的基于json的实时抽取方法具有以下优势:
本发明所述的基于json的实时抽取方法使得复杂json数据结构的抽取映射可配、流程可配,扩展性好;实时抽取加载流程,以api和kafka为支撑,具有低延迟、实时性好的特点;对于大批量数据,自动批同步,降低整体数据延迟,提高实时可靠性,稳定性好;实时以api为起点和kafka相互支撑,提高了kafka数据的可靠性,通过网关过滤,限流提高了整体流程的安全性。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有的从mongodb抽取数据落入mysql的模板流程图;
图2为本发明实施例所述的基于json的实时抽取方法的流程图;
图3为本发明实施例的基于json的数据抽取映射流程图;
图4为本发明实施例所述的步骤A中用户输入json数据的示意图;
图5为本发明实施例所述的步骤B中配置kafka源的示意图;
图6为本发明实施例所述的步骤C中配置目标的示意图;
图7为本发明实施例所述的步骤D中启动任务后的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图2、图4至图7所示,一种基于json的实时抽取方法,包括以下步骤:
A.用户输入json数据,浏览器前端解析json形成树形数据结构;
B.配置kafka源;
C.配置目标;
D.用户启动任务,将json数据送到配置的kafka源;
E.进入目表数据库,根据步骤C中的配置信息进行配置;
F.实现实时抽取数据。
所述步骤B中配置kafka源的过程为:从json树形数据结构中勾选实际需要的字段,或自定义输入实际需要的字段。
所述步骤C中勾选目标,将源字段和目标字段根据映射规则形成映射关系。
所述源字段和目标字段的映射规则为:如果源字段和目标字段相同,则自动映射成功,这里忽略大小写差异;如果不同,则需要用户根据业务场景手动选择。
所述步骤D中json数据进入kafka后进行数据扁平化处理,即对于json多维数据,进行降维,统一转成一纬维据。
所述步骤D中用户主动将json数据放入kafka中和kafka耦合,自动实时读取数据,然后根据配置的kafka源录入目表数据库,再根据步骤E配置信息进行实时抽取。
所述步骤D中如果用户不愿意和kafka耦合,则通过开放api的形式,给用户提供数据录入接口,同时生成用户密钥,api接口通过密钥将用户数据加载到配置的kafka源中,然后kafka实时触发处理流程,将问题转换成了json数组一对一、一对多映射到关系型数据库的功能。
从mongodb中抽取数据落入关系型数据库mysql中,如图3所示,基于json的数据抽取映射方案采用以下过程:选择mongodb数据;维护mongodb数据模板,这里支持手动和自动两种模式,手动是指用户将mongodb表中数据的格式手动填写再生成模板,自动是指可根据用户配置的表主动去读取表的数据格式再生成模板;选取抽取规则,抽取规则包括清洗规则和转换规则。清洗规则会对不符合要求的数据进行过滤,只保留符合要求的数据;转换规则会将数据转换成用户需要的格式;选择目表数据库;进行源规则和目表字段映射规则;启动任务;nifi流程启动;根据抽取规则抽取数据;根据源规则和目表字段映射规则映射数据;数据落入目表数据库。
然而mongodb为数据源,并不能进行实时抽取,因此,在这里利用kafka这一实时工具,最终给出这套基于json的实时抽取方案。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于json的实时抽取方法,其特征在于,包括以下步骤:
A.用户输入json数据;
B.配置kafka源;
C.配置目标;
D.将json数据送到配置的kafka源;
E.进入目表数据库,根据步骤C中的配置信息进行配置;
F.实现实时抽取数据。
2.根据权利要求1所述的一种基于json的实时抽取方法,其特征在于,所述步骤B中配置kafka源的过程为:从json树形数据结构中勾选实际需要的字段,或自定义输入实际需要的字段。
3.根据权利要求1所述的一种基于json的实时抽取方法,其特征在于:所述步骤C中将源字段和目标字段根据映射规则形成映射关系。
4.根据权利要求3所述的一种基于json的实时抽取方法,其特征在于,所述源字段和目标字段的映射规则为:如果源字段和目标字段相同则自动映射成功;如果不同,需要用户根据业务场景手动选择。
5.根据权利要求1所述的一种基于json的实时抽取方法,其特征在于:所述步骤D中json数据进入kafka后进行数据扁平化处理。
6.根据权利要求1所述的一种基于json的实时抽取方法,其特征在于:所述步骤D中用户主动将json数据放入kafka中和kafka耦合。
7.根据权利要求1所述的一种基于json的实时抽取方法,其特征在于:所述步骤D中开放api接口,为用户提供数据录入接口,生成用户密钥,api接口通过密钥将用户数据加载到配置的kafka源中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631379.1A CN111797154A (zh) | 2020-07-03 | 2020-07-03 | 一种基于json的实时抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631379.1A CN111797154A (zh) | 2020-07-03 | 2020-07-03 | 一种基于json的实时抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797154A true CN111797154A (zh) | 2020-10-20 |
Family
ID=72810187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631379.1A Pending CN111797154A (zh) | 2020-07-03 | 2020-07-03 | 一种基于json的实时抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797154A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487087A (zh) * | 2020-11-17 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种增量数据实时同步的方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180052897A1 (en) * | 2016-08-22 | 2018-02-22 | Oracle International Corporation | System and method for automated mapping of data types for use with dataflow environments |
CN108989429A (zh) * | 2018-07-19 | 2018-12-11 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN109450936A (zh) * | 2018-12-21 | 2019-03-08 | 武汉长江通信智联技术有限公司 | 一种基于Kafka的异构通信协议的适配方法及装置 |
CN110647512A (zh) * | 2019-09-29 | 2020-01-03 | 北京思维造物信息科技股份有限公司 | 一种数据存储和分析方法、装置、设备和可读介质 |
CN110750562A (zh) * | 2018-07-20 | 2020-02-04 | 武汉烽火众智智慧之星科技有限公司 | 基于Storm的实时数据比对预警方法及*** |
CN110795418A (zh) * | 2019-09-23 | 2020-02-14 | 紫光云(南京)数字技术有限公司 | 一种基于json的mongoDB到mysql的数据抽取方法 |
-
2020
- 2020-07-03 CN CN202010631379.1A patent/CN111797154A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180052897A1 (en) * | 2016-08-22 | 2018-02-22 | Oracle International Corporation | System and method for automated mapping of data types for use with dataflow environments |
CN108989429A (zh) * | 2018-07-19 | 2018-12-11 | 平安科技(深圳)有限公司 | 实时更新页面数据的方法、装置、电子设备 |
CN110750562A (zh) * | 2018-07-20 | 2020-02-04 | 武汉烽火众智智慧之星科技有限公司 | 基于Storm的实时数据比对预警方法及*** |
CN109450936A (zh) * | 2018-12-21 | 2019-03-08 | 武汉长江通信智联技术有限公司 | 一种基于Kafka的异构通信协议的适配方法及装置 |
CN110795418A (zh) * | 2019-09-23 | 2020-02-14 | 紫光云(南京)数字技术有限公司 | 一种基于json的mongoDB到mysql的数据抽取方法 |
CN110647512A (zh) * | 2019-09-29 | 2020-01-03 | 北京思维造物信息科技股份有限公司 | 一种数据存储和分析方法、装置、设备和可读介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487087A (zh) * | 2020-11-17 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种增量数据实时同步的方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103428069B (zh) | 社交网络中加好友的方法和装置 | |
CN104427292A (zh) | 会议纪要的提取方法及装置 | |
CN108363678B (zh) | 一种用于燃料电池电堆测试数据快速自动处理*** | |
CN111797154A (zh) | 一种基于json的实时抽取方法 | |
CN112507681A (zh) | 基于模板设计模式的多源异构医疗数据采集方法 | |
CN104702759A (zh) | 通讯录的设置方法及装置 | |
CN100533444C (zh) | 一种电子元器件自适应数据库实现方法 | |
CN113110995A (zh) | ***迁移的测试方法及装置 | |
CN115576905A (zh) | 档案文件管理方法、装置、电子设备和存储介质 | |
CN115132366A (zh) | 基于健康医疗大数据标准库的多源数据处理方法与*** | |
CN113159326B (zh) | 基于人工智能的智能业务决策方法 | |
CN108073705B (zh) | 一种分布式海量数据聚合采集方法 | |
CN110633318A (zh) | 一种数据提取的处理方法、装置、设备和存储介质 | |
CN104503982B (zh) | 一种cmdb配置项调和的方法 | |
CN110990472B (zh) | 基于Hbase的数据导出方法及装置 | |
CN111125079A (zh) | 一种输变电设备远程运维数据清洗方法 | |
CN103176454B (zh) | 多机器人***的集群方法和*** | |
CN105427864A (zh) | 通过语音添加联系人的方法及终端 | |
CN115630066A (zh) | 一种动态本体语义融合模型的多源异构数据映射的方法 | |
CN113779312B (zh) | 一种基于知识图谱的非结构化电网数据处理方法及装置 | |
CN107870917B (zh) | 传输网管***数据变换和逆变换方法及标准化*** | |
CN113076455B (zh) | 结合线下打卡数据的打卡方法、***、设备及存储介质 | |
CN109408538B (zh) | 云平台中自动发放云组件实现大规模融合查询方法及*** | |
CN106970941B (zh) | 一种销售数据对比方法及*** | |
CN107368472B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |
|
RJ01 | Rejection of invention patent application after publication |