CN108121564A - 一种json数据快速同步及控制的方法及系统装置 - Google Patents
一种json数据快速同步及控制的方法及系统装置 Download PDFInfo
- Publication number
- CN108121564A CN108121564A CN201711403127.8A CN201711403127A CN108121564A CN 108121564 A CN108121564 A CN 108121564A CN 201711403127 A CN201711403127 A CN 201711403127A CN 108121564 A CN108121564 A CN 108121564A
- Authority
- CN
- China
- Prior art keywords
- data
- configuration file
- json
- json data
- database
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种json数据快速同步及控制的方法及系统装置,其所述方法为配置文件编辑模块获取同步数据的同步需求文件,创建配置文件;配置文件解析模块读取所述配置文件,解析识别每个同步数据的json数据源与唯一的目标数据库,并建立数据库连接;json数据读取模块获取解析的所述json数据源读取json数据,按照配置中的数据字段映射关系生成批量同步的SQL语句;关系型数据库写入模块根据所述数据库连接,批量写入json数据至目标数据库。本发明能够灵活快速地编辑、修改配置文件,并根据配置文件,自动进行数据同步,控制同步过程,记录同步日志、监控同步进度与统计同步结果。本发明方便灵活、快速高效的将json数据同步到关系型数据库中,大大提高开发效率。
Description
技术领域
本发明涉及计算机程序开发领域,特别涉及一种json格式的数据同步到关系型数据库的数据同步方法及系统。
背景技术
json是一种轻量级的数据格式,它基于ECMAScript的一个子集,其灵活的数据组织方式备受开发人员青睐,因此在程序开发中被广泛使用。
关系型数据库存储数据的特点通常是一个数据库包含若干个数据表,每个数据表包含若干个数据字段,每个字段表示当前数据实体的一个属性。
开发过程中,经常会遇到需要将json数据同步到关系型数据库当中的时候。每次做这种开发,都需要针对实际的json数据形式单独编写同步过程的代码,而如果有多个类似的数据同步,就需要分别编写,这极大的增加了代码冗余,并降低了开发效率。因此,有必要针对这一常见开发场景提出一种通用快捷高效的方案,以提高开发效率。
发明内容
为解决背景技术中所述的重复编码、不通用及低效率的问题,本发明提供了一种json数据快速同步及控制的方法,能够快速高效的将json数据同步到关系型数据库中。其具体技术方案如下:
第一方面:一种json数据快速同步及控制的方法,所述方法包括:
配置文件编辑模块获取同步数据的同步需求文件,创建配置文件;
配置文件解析模块读取所述配置文件,解析识别每个同步数据的json数据源与唯一的目标数据库,并建立数据库连接;
json数据读取模块获取解析的所述json数据源读取json数据,按照配置中的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块对上述数据同步方法过程进行控制。
结合第一方面,在第一方面可能的实现方式中的第一种情况为,所述json数据为字符型的数据,所述json数据源包含并不限于.txt文件、.json文件、.js文件。
结合第一方面的第一种情况,在第一方面可能的实现方式中的第二种情况为,所述配置文件包含json数据源文件信息、目标数据库信息和字段映射关系。
结合第一方面的第二种情况,在第一方面可能的实现方式中的第三种情况为,所述json数据源文件包含的json数据格式为数组形式,并且数组的每个元素为一个json对象,每个json对象包含相同的数据属性。
结合第一方面的第三种情况,在第一方面可能的实现方式中的第四种情况为,所述目标数据库为关系型数据库,数据存储在每个数据表中,数据表依托于数据库,数据表包含数据行与列,数据列即字段,关系型数据包含但不限于Oracle、MySql、SQL Server、MariaDB。
结合第一方面的第四种情况,在第一方面可能的实现方式中的第五种情况为,还包括日志记录与统计模块实时记录同步过程中的参数、指标。
第二方面,一种json数据快速同步及控制的系统,所述系统包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标。
第三方面,一种json数据快速同步及控制的系统装置,所述系统装置包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标;
所述系统装置还包括存储器、处理器、总线,所述存储器同所述处理器通过总线进行数据连接,所述存储器存储有多条操作指令,所述处理器加载所述操作指令并执行,实现第一方面及其第一种至第五种情况所述的方法。
有益效果:本发明能够灵活快速地编辑、修改配置文件,并根据配置文件,自动进行数据同步,控制同步过程,记录同步日志、监控同步进度与统计同步结果。本发明方便灵活、快速高效的将json数据同步到关系型数据库中,大大提高开发效率。
附图说明
图1为实施例一的总体流程示意图;
图2为实施例二的配置文件主要包含内容;
图3为实施例三的系统模块图;
图4为实施例四的系统工作架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,一种json数据快速同步及控制的方法,所述方法包括:
步骤101,配置文件编辑模块获取同步数据的同步需求文件,包含json数据源文件信息、目标数据库信息和字段关系映射的配置文件;
步骤102,配置文件解析模块读取所述配置文件,据解析到的配置文件解析识别每个同步数据的json数据源与唯一的目标数据库,并建立数据库连接;
步骤103,json数据读取模块获取解析的所述json数据源读取json数据,按照配置中的数据字段映射关系生成批量同步的SQL语句;
步骤104,关系型数据库写入模块根据所述数据库连接,批量写入json数据至目标数据库。
系统启动后,根据配置文件解析到的信息,快速读取json源数据信息,与目标数据库建立连接,形成相应的同步SQL语句并执行,即可完成数据从文件到目标数据库的落地同步。数据同步过程控制模块对上述数据同步方法过程进行控制、启停、继续等,并有日志与统计信息可供查询分析。
实施例二:
如图2所示,所述配置文件包含内容如下:
1.原始json数据源文件信息,如文件类型(filetype)、文件路径(path)、文件编码格式(charset)等;
2.同步的目标数据库信息,主要包含数据库类型标识dbtype(主要有Oracle、Microsoft SQL Server、MySql等)和建立同步到的目标数据库的主机(host)、端口号(port)、用户名(username)、密码(password)、编码格式(charset)、数据库(database)等连接信息和写入数据表(datatable)。
3.数据映射关系,主要包含json数据对象的各个子属性(property)与关系型数据库中所对应的数据表字段(field)建立的一一对应的映射。
本方法与系统可以同时进行多个数据同步工作。json数据源文件、目标数据库信息和字段关系映射是构成一个完整数据同步过程配置的必须信息,因此如果要同时进行多个数据同步工作,只需要多个这样的配置信息即可,如图2所示的“数据A同步配置”和“数据B同步配置”。
实施例三
如图3所示,本发明提供了一种json数据快速同步及控制的系统,所述系统包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标。
基于上述系统,本发明还提供了一种json数据快速同步及控制的系统装置,所述系统装置包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标;
所述系统装置还包括存储器、处理器、总线,所述存储器同所述处理器通过总线进行数据连接,所述存储器存储有多条操作指令,所述处理器加载所述操作指令并执行,实现说明书中所述的方法。
实施例四:
如图4所示,系统启动后,配置文件解析模块根据配置文件编辑模块编辑的配置文件解析信息,json数据读取模块快速读取json源数据信息,与目标数据库建立连接,形成相应的同步SQL语句并由关系型数据库写入模块执行,即可完成数据从文件到目标数据库的落地同步。该同步过程可以由数据同步过程控制模块随时控制启停、继续等,并由日志记录与统计模块记录日志与统计信息可供查询分析。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,可以是设计成一体设备,也可以是组合成一套设备,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件和必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种json数据快速同步及控制的方法,其特征在于,所述方法包括:
配置文件编辑模块获取同步数据的同步需求文件,创建配置文件;
配置文件解析模块读取所述配置文件,解析识别每个同步数据的json数据源与唯一的目标数据库,并建立数据库连接;
json数据读取模块获取解析的所述json数据源读取json数据,按照配置中的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块对上述数据同步方法过程进行控制。
2.根据权利要求1所述的一种json数据快速同步及控制的方法,其特征在于,所述json数据为字符型的数据,所述json数据源包含但不限于.txt文件、.json文件、.js文件。
3.根据权利要求2所述的一种json数据快速同步及控制的方法,其特征在于,所述配置文件包含json数据源文件信息、目标数据库信息和字段映射关系。
4.根据权利要求3所述的一种json数据快速同步及控制的方法,其特征在于,所述json数据源文件包含的json数据格式为数组形式,并且数组的每个元素为一个json对象,每个json对象包含相同的数据属性。
5.根据权利要求4所述的一种json数据快速同步及控制的方法,其特征在于,所述目标数据库为关系型数据库,数据存储在每个数据表中,数据表依托于数据库,数据表包含数据行与列,数据列即字段,关系型数据包含但不限于Oracle、MySql、SQL Server、MariaDB。
6.根据权利要求5所述的一种json数据快速同步及控制的方法,其特征在于,还包括日志记录与统计模块实时记录同步过程中的参数、指标。
7.一种json数据快速同步及控制的系统,其特征在于,所述系统包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标。
8.一种json数据快速同步及控制的系统装置,其特征在于,所述系统装置包括:
配置文件编辑模块,用于对配置文件进行编辑、修改,修改后,重新启动同步系统即生效;
配置文件解析模块,用于自动读取配置文件,并进行准确解析,识别每个同步数据的源数据与目标数据库,并建立连接;
json数据读取模块,用于自动读取json数据源,按照配置文件的数据字段映射关系生成批量同步的SQL语句;
关系型数据库写入模块,用于根据所述数据库连接,批量写入json数据至目标数据库;
数据同步过程控制模块,用于启动同步程序后,对同步过程进行控制;
日志记录与统计模块,用于实时记录同步过程中的参数、指标;
所述系统装置还包括存储器、处理器、总线,所述存储器同所述处理器通过总线进行数据连接,所述存储器存储有多条操作指令,所述处理器加载所述操作指令并执行,实现权力要求1-6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711403127.8A CN108121564A (zh) | 2017-12-22 | 2017-12-22 | 一种json数据快速同步及控制的方法及系统装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711403127.8A CN108121564A (zh) | 2017-12-22 | 2017-12-22 | 一种json数据快速同步及控制的方法及系统装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108121564A true CN108121564A (zh) | 2018-06-05 |
Family
ID=62231023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711403127.8A Pending CN108121564A (zh) | 2017-12-22 | 2017-12-22 | 一种json数据快速同步及控制的方法及系统装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121564A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740291A (zh) * | 2018-07-20 | 2020-01-31 | 视联动力信息技术股份有限公司 | 一种基于视联网监控数据的同步方法及装置 |
CN111339128A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据获取方法、装置、电子设备及存储介质 |
CN112182305A (zh) * | 2020-09-26 | 2021-01-05 | 广州鲁邦通物联网科技有限公司 | 一种基于xml规则的xml解析模块、解析方法和配置数据的管理方法 |
CN114138714A (zh) * | 2022-02-08 | 2022-03-04 | 上海金仕达软件科技有限公司 | 数据迁移的方法、装置、存储介质及电子设备 |
-
2017
- 2017-12-22 CN CN201711403127.8A patent/CN108121564A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740291A (zh) * | 2018-07-20 | 2020-01-31 | 视联动力信息技术股份有限公司 | 一种基于视联网监控数据的同步方法及装置 |
CN111339128A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据获取方法、装置、电子设备及存储介质 |
CN111339128B (zh) * | 2018-12-18 | 2023-09-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据获取方法、装置、电子设备及存储介质 |
CN112182305A (zh) * | 2020-09-26 | 2021-01-05 | 广州鲁邦通物联网科技有限公司 | 一种基于xml规则的xml解析模块、解析方法和配置数据的管理方法 |
CN112182305B (zh) * | 2020-09-26 | 2023-07-21 | 广州鲁邦通物联网科技股份有限公司 | 一种基于xml规则的xml解析模块、管理方法 |
CN114138714A (zh) * | 2022-02-08 | 2022-03-04 | 上海金仕达软件科技有限公司 | 数据迁移的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009282A (zh) | 一种json数据同步到关系型数据库的方法及系统装置 | |
CN107992620A (zh) | 一种json数据快速同步及记录的方法及系统装置 | |
CN108121564A (zh) | 一种json数据快速同步及控制的方法及系统装置 | |
CN105701098B (zh) | 针对数据库中的表生成索引的方法和装置 | |
JP7133647B2 (ja) | データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
CN111241203B (zh) | Hive数据仓库同步方法、系统、设备及存储介质 | |
CN109255056B (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
US10248919B2 (en) | Task assignment using machine learning and information retrieval | |
CN112256656B (zh) | 事务回滚方法及装置、数据库、系统、计算机存储介质 | |
CN107463692B (zh) | 超大文本数据同步到搜索引擎的方法和系统 | |
CN114780641A (zh) | 多库多表同步方法、装置、计算机设备和存储介质 | |
CN111339042A (zh) | 数据的操作处理方法、系统及调度服务器 | |
CN105224663A (zh) | 一种基于多个数据源的数据访问任务管理方法及装置 | |
CN107766519B (zh) | 一种可视化配置数据结构的方法 | |
CN102257498B (zh) | 配置文件的注释生成方法及配置文件生成设备 | |
US10614169B1 (en) | Script unique prompts | |
CN109271456A (zh) | 主机数据库文件导出方法及装置 | |
CN101334990B (zh) | 信息显示设备和信息显示方法 | |
JP2006268661A (ja) | データインポート方法およびデータインポート装置 | |
CN111984745A (zh) | 数据库字段动态扩展方法、装置、设备及存储介质 | |
US20120317073A1 (en) | Replication Support for Procedures with Arguments of Unsupported Types | |
CN116089527A (zh) | 一种数据校验方法、存储介质与设备 | |
JP2015130165A (ja) | ハイパーグラフソルバーのためのグラフ入力の自動編集 | |
CN112380139A (zh) | 测试用例过程文档的记录方法及系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180605 |
|
WD01 | Invention patent application deemed withdrawn after publication |