一种json数据快速同步及控制的方法及系统装置与流程

文档序号:14609185发布日期:2018-06-05 20:27阅读:204来源:国知局
本发明涉及计算机程序开发领域,特别涉及一种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、SQLServer、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、MicrosoftSQLServer、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、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1