CN111797154A - 一种基于json的实时抽取方法 - Google Patents

一种基于json的实时抽取方法 Download PDF

Info

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
Application number
CN202010631379.1A
Other languages
English (en)
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.)
Unicloud Technology Co Ltd
Original Assignee
Unicloud 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 Unicloud Technology Co Ltd filed Critical Unicloud Technology Co Ltd
Priority to CN202010631379.1A priority Critical patent/CN111797154A/zh
Publication of CN111797154A publication Critical patent/CN111797154A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data 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的数据抽取技术领域,尤其是涉及一种基于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源中。
CN202010631379.1A 2020-07-03 2020-07-03 一种基于json的实时抽取方法 Pending CN111797154A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487087A (zh) * 2020-11-17 2021-03-12 中国人寿保险股份有限公司 一种增量数据实时同步的方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
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的数据抽取方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487087A (zh) * 2020-11-17 2021-03-12 中国人寿保险股份有限公司 一种增量数据实时同步的方法及相关设备

Similar Documents

Publication Publication Date Title
CN104427292A (zh) 会议纪要的提取方法及装置
US20170242832A1 (en) Character editing method and device for screen display device
CN108363678B (zh) 一种用于燃料电池电堆测试数据快速自动处理系统
CN111797154A (zh) 一种基于json的实时抽取方法
CN106528649A (zh) 一种新能源汽车的海量数据存储检索系统和方法
CN112507681A (zh) 基于模板设计模式的多源异构医疗数据采集方法
CN104702759A (zh) 通讯录的设置方法及装置
CN112100402A (zh) 一种电网知识图谱构建方法及装置
CN112199935A (zh) 数据的比对方法、装置、电子设备及计算机可读存储介质
CN115576905A (zh) 档案文件管理方法、装置、电子设备和存储介质
CN101183388A (zh) 一种电子元器件自适应数据库实现方法
CN115132366A (zh) 基于健康医疗大数据标准库的多源数据处理方法与系统
CN113159326B (zh) 基于人工智能的智能业务决策方法
CN110633318A (zh) 一种数据提取的处理方法、装置、设备和存储介质
CN104484373A (zh) 一种发动机健康数据存储方法
CN104503982B (zh) 一种cmdb配置项调和的方法
CN110990472B (zh) 基于Hbase的数据导出方法及装置
CN111125079A (zh) 一种输变电设备远程运维数据清洗方法
CN110795423A (zh) 一种快速清洗、转换的数据抽取方法
CN103176454B (zh) 多机器人系统的集群方法和系统
CN105427864A (zh) 通过语音添加联系人的方法及终端
CN115630066A (zh) 一种动态本体语义融合模型的多源异构数据映射的方法
CN113779312B (zh) 一种基于知识图谱的非结构化电网数据处理方法及装置
CN107870917B (zh) 传输网管系统数据变换和逆变换方法及标准化系统
CN113076455B (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