CN103699638A - 一种基于配置参数实现跨数据库类型同步数据的方法 - Google Patents
一种基于配置参数实现跨数据库类型同步数据的方法 Download PDFInfo
- Publication number
- CN103699638A CN103699638A CN201310719511.4A CN201310719511A CN103699638A CN 103699638 A CN103699638 A CN 103699638A CN 201310719511 A CN201310719511 A CN 201310719511A CN 103699638 A CN103699638 A CN 103699638A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- source
- configuration parameter
- read
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (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
本发明涉数据库技术领域,尤其是一种基于配置参数实现跨数据库类型同步数据的方法。本发明方法如下:1、配置参数,2、读取数据库数据写入内存,3、读取内存数据同步数据库。本发明解决了数据同步依赖于具体数据库类型和依赖于数据库表结构的问题;可以用于不同数据类型的数据库数据同步。
Description
技术领域
本发明涉数据库技术领域,尤其是一种基于配置参数实现跨数据库类型同步数据的方法。
背景技术
数据库是按照数据结构来组织,存储和管理数据的仓库,并为多种应用服务。由于数据库类型多样化,如MSSQLServer,Oracle,MySQL等等,而且这些数据库定义的数据结构,存储方式和执行语言都不完全相同;这就给应用系统开发者带来数据同步的问题。
目前数据库同步主要问题有:
1、数据同步依赖于具体数据库类型,对于不同数据库类型的两个数据库同步数据,由于这些不同的数据库类型之间没有同步的接口,所以数据库维护人员需要做如下操作,以MySQL数据库存储的数据同步到MSSQLServer存储的数据库为例,首先导出MySQL数据库,保存为Excel文件,然后把导出的Excel文件导入到MSSQLServer管理器并创建临时数据库,通过编写SQL操作语句把临时数据库中的数据同步到目标数据库中。以上同步过程导出导入数据,编写SQL语句同步数据的过程之间不存在连贯进行,而且需要人为的参与;所以,目前跨数据库类型同步数据涉及手工环节多,容易出错,从而导致同步数据库准确率低,一次操作只能同步一次数据,通用性差。
2、目前数据库同步系统依赖于数据库表结构,针对源端数据库和目标数据库的表结构,表名称和表的字段名称实现同步数据,这样的系统依赖于数据库表结构,表名称和表字段名称。一旦修改表结构,表名称或者表的字段名称则会导致该系统无法使用或需要维护源代码。这样的系统只能满足当前系统的业务需求,无法应用于其他数据库之间的同步,这样的系统缺乏通用性和可维护性。
发明内容
本发明解决的技术问题在于提供一种基于配置参数实现跨数据库类型同步数据的方法。
本发明解决上述技术问题的技术方案是:
包括如下步骤:
(1)、配置参数,通过设置和读取配置文件中的配置参数,设置和读取:源端数据库和目标数据库的数据库类型,数据库连接字符串,源端数据库查询语句,分页信息,目标数据库表名称,表字段名称;
(2)、读取数据并保存到内存,基于上述配置参数,读取源端数据库的类型和源端数据库读取数据的查询语句、分页信息,通过抽象工厂类生成对应的对象,调用对应执行操作数据库类将读取到的数据存放于内存中;
(3)读取内存数据并保存到目标数据库,基于上述配置参数,读取目标数据库的类型、目标数据库数据表和对应字段,通过抽象工厂类生成对应的对象,调用对应执行操作数据库类将数据同步到对应的数据表和对应的字段中。
用户可自定义配置参数,并将参数保存于配置文件中;参数包括源端数据库和目标数据库的数据库类型,数据库类型包括MSSQLServer数据库、Oracle数据库和MySQL数据库;并可扩展,如扩展sysbase数据库等。
源端数据库读取数据的查询语句由用户自定义,查询语句对格式有特定的要求,源数据的字段名重命名为与目标数据库表中的字段名相同并且一一对应;分页信息包括是否分页和页码大小,针对大量数据同步的情况,可进行分页同步。
基于配置参数中的源端数据库类型,通过抽象工厂和反射技术,生成访问对应接口的对象;基于配置参数中源端数据库连接字符串,源端数据库查询语句,通过接口对象调用操作数据库类读取数据并转换为以XML结构化格式的字符串保存在内存中。
读取内存中存放的以XML结构化格式的字符串,基于配置参数中的目标数据库类型,通过抽象工厂和反射技术,生成访问对应接口的对象;基于配置参数中目标数据库表名和对应字段名称,对象调用操作数据库类同步数据。
本发明解决了数据同步依赖于具体数据库类型和依赖于数据库表结构的问题。把源端数据库和目标数据库的数据库类型,源端数据库和目标数据库的连接字符串,源端数据库查询语句,分页信息,目标数据表名称,表字段名称配置于文件中,基于配置参数实现跨数据库同步数据,达到分解数据同步依赖于数据类型,依赖于数据库表结构的目的,提高数据同步的灵活性和通用性和可扩展性。源端数据库读取数据的查询语句自定义,分离了对源端数据库表结构的依赖,达到灵活配置的目的。分页信息包括是否分页和页码大小,针对大量数据同步的情况,可进行分页同步,避免大数据同步瞬间占用太多内存,出现服务器卡死或死机的现象.
附图说明
下面结合附图对本发明进一步说明:
附图是本发明方法流程框图。
具体实施方式
如附图所示,本发明包括如下步骤,
1、配置参数,如图1所示,用户配置参数,参数包括源端数据库和目标数据库的数据库类型,源端数据库和目标数据库连接字符串,源端数据库读取数据源的查询语句,分页信息,目标数据库同步数据的数据库表名称,表字段名称,通过写入配置参数模块将配置参数写入配置文件。
2、读取数据库数据写入内存,如图1所示,系统通过读取配置参数模块获取源端数据库类型,源端数据库连接字符串和源端数据库查询语句,基于读取的源端数据库类型参数,通过抽象工厂类和反射技术生成数据库操作对象,通过对象调用相应的数据库类型操作类并基于源端数据库连接字符串,源端数据库查询语句和分页信息查询源端数据库数据并转换为XML结构化格式的字符串保存于内存中。
3、读取内存数据同步数据库,如图1所示,系统通过读取配置参数模块获取目标数据库类型,目标数据库连接字符串和目标数据库表名称,表字段名称。读取内存中的数据,基于配置参数中目标数据库类型,通过抽象工厂类和反射技术生成数据库操作对象,通过对象调用相应的数据库类型操作类并基于目标数据库连接字符串和目标数据库表名称和表字段名称将数据同步到目标数据库。
Claims (6)
1.一种基于配置参数实现跨数据库同步数据的方法,其特征在于:包括如下步骤:
(1)、配置参数,通过设置和读取配置文件中的配置参数,设置和读取:源端数据库和目标数据库的数据库类型,数据库连接字符串,源端数据库查询语句,分页信息,目标数据库表名称,表字段名称;
(2)、读取数据并保存到内存,基于上述配置参数,读取源端数据库的类型和源端数据库读取数据的查询语句、分页信息,通过抽象工厂类生成对应的对象,调用对应执行操作数据库类将读取到的数据存放于内存中;
(3)读取内存数据并保存到目标数据库,基于上述配置参数,读取目标数据库的类型、目标数据库数据表和对应字段,通过抽象工厂类生成对应的对象,调用对应执行操作数据库类将数据同步到对应的数据表和对应的字段中。
2.根据权利要求1所述的跨数据库同步数据的方法,其特征在于:用户可自定义配置参数,并将参数保存于配置文件中;参数包括源端数据库和目标数据库的数据库类型,数据库类型包括MSSQLServer数据库、Oracle数据库和MySQL数据库;并可扩展,如扩展sysbase数据库等。
3.根据权利要求1所述的跨数据库同步数据的方法,其特征在于:源端数据库读取数据的查询语句由用户自定义,查询语句对格式有特定的要求,源数据的字段名重命名为与目标数据库表中的字段名相同并且一一对应;分页信息包括是否分页和页码大小,针对大量数据同步的情况,可进行分页同步。
4.根据权利要求2所述的跨数据库同步数据的方法,其特征在于:源端数据库读取数据的查询语句由用户自定义,查询语句对格式有特定的要求,源数据的字段名重命名为与目标数据库表中的字段名相同并且一一对应;分页信息包括是否分页和页码大小,针对大量数据同步的情况,可进行分页同步。
5.根据权利要求1至4任一项所述的跨数据库同步数据的方法,其特征在于:基于配置参数中的源端数据库类型,通过抽象工厂和反射技术,生成访问对应接口的对象;基于配置参数中源端数据库连接字符串,源端数据库查询语句,通过接口对象调用操作数据库类读取数据并转换为以XML结构化格式的字符串保存在内存中。
6.根据权利要求5所述的跨数据库同步数据的方法,其特征在于:读取内存中存放的以XML结构化格式的字符串,基于配置参数中的目标数据库类型,通过抽象工厂和反射技术,生成访问对应接口的对象;基于配置参数中目标数据库表名和对应字段名称,对象调用操作数据库类同步数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310719511.4A CN103699638B (zh) | 2013-12-23 | 2013-12-23 | 一种基于配置参数实现跨数据库类型同步数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310719511.4A CN103699638B (zh) | 2013-12-23 | 2013-12-23 | 一种基于配置参数实现跨数据库类型同步数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699638A true CN103699638A (zh) | 2014-04-02 |
CN103699638B CN103699638B (zh) | 2017-02-15 |
Family
ID=50361166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310719511.4A Active CN103699638B (zh) | 2013-12-23 | 2013-12-23 | 一种基于配置参数实现跨数据库类型同步数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699638B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320763A (zh) * | 2015-10-22 | 2016-02-10 | 江苏国泰新点软件有限公司 | 一种将xml文件的内容导入数据库的方法和装置 |
CN105740248A (zh) * | 2014-12-09 | 2016-07-06 | 华为软件技术有限公司 | 一种数据同步方法、装置及系统 |
CN106407288A (zh) * | 2016-08-29 | 2017-02-15 | 上海掌门科技有限公司 | 一种信息同步更新的方法及系统 |
CN107679058A (zh) * | 2017-06-26 | 2018-02-09 | 平安科技(深圳)有限公司 | 数据同步方法、装置及计算机可读存储介质 |
CN107980128A (zh) * | 2016-11-07 | 2018-05-01 | 深圳中兴力维技术有限公司 | 数据对接动态管理方法及装置 |
CN108132936A (zh) * | 2016-11-30 | 2018-06-08 | 北京国双科技有限公司 | 数据导入方法及装置 |
CN108897876A (zh) * | 2018-06-29 | 2018-11-27 | 中科鼎富(北京)科技发展有限公司 | 一种数据接入方法及装置 |
CN108959377A (zh) * | 2018-05-25 | 2018-12-07 | 联动优势电子商务有限公司 | 一种数据处理的方法、装置及存储介质 |
CN109240695A (zh) * | 2017-05-12 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | 逻辑分支下的代码优化方法及装置 |
CN109284335A (zh) * | 2018-09-10 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种跨数据库批量传导数据的方法与装置 |
CN109684608A (zh) * | 2017-10-19 | 2019-04-26 | 航天信息股份有限公司 | 一种基于数据库通过生成 excel 文档的方法及系统 |
CN110019229A (zh) * | 2017-12-25 | 2019-07-16 | 航天信息股份有限公司 | 数据库配置系统 |
CN110362625A (zh) * | 2019-05-30 | 2019-10-22 | 杭州数梦工场科技有限公司 | 数据库读写分离方法、装置、电子设备及存储介质 |
CN110471970A (zh) * | 2019-08-08 | 2019-11-19 | 紫光云技术有限公司 | 一种灵活可配的规则引擎数据转发方法 |
CN110704404A (zh) * | 2019-08-29 | 2020-01-17 | 苏宁云计算有限公司 | 一种数据质量校验方法、装置、系统 |
CN110825802A (zh) * | 2019-11-15 | 2020-02-21 | 北京锐安科技有限公司 | 多类型数据库数据的备份方法、装置、设备及存储介质 |
CN111581179A (zh) * | 2019-02-19 | 2020-08-25 | 上海云桓信息科技有限公司 | 一种Oracle到MySQL的数据迁移方法及工具 |
CN112487075A (zh) * | 2020-12-29 | 2021-03-12 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换的算子 |
CN112905594A (zh) * | 2021-03-05 | 2021-06-04 | 银盛支付服务股份有限公司 | 一种数据实时同步方法 |
CN115048912A (zh) * | 2022-08-12 | 2022-09-13 | 成都锐菲网络科技有限公司 | 高速公路行车数据共享方法及应用 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6789103B1 (en) * | 2000-05-05 | 2004-09-07 | Interland, Inc. | Synchronized server parameter database |
CN103442029B (zh) * | 2013-07-29 | 2016-12-28 | 广东电网公司电力科学研究院 | 异构实时历史数据库同步方法和系统 |
-
2013
- 2013-12-23 CN CN201310719511.4A patent/CN103699638B/zh active Active
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740248A (zh) * | 2014-12-09 | 2016-07-06 | 华为软件技术有限公司 | 一种数据同步方法、装置及系统 |
CN105740248B (zh) * | 2014-12-09 | 2019-11-12 | 华为软件技术有限公司 | 一种数据同步方法、装置及系统 |
CN105320763B (zh) * | 2015-10-22 | 2019-06-07 | 江苏国泰新点软件有限公司 | 一种将xml文件的内容导入数据库的方法和装置 |
CN105320763A (zh) * | 2015-10-22 | 2016-02-10 | 江苏国泰新点软件有限公司 | 一种将xml文件的内容导入数据库的方法和装置 |
CN106407288A (zh) * | 2016-08-29 | 2017-02-15 | 上海掌门科技有限公司 | 一种信息同步更新的方法及系统 |
CN106407288B (zh) * | 2016-08-29 | 2020-01-10 | 上海掌门科技有限公司 | 一种信息同步更新的方法及系统 |
CN107980128B (zh) * | 2016-11-07 | 2019-07-26 | 深圳力维智联技术有限公司 | 数据对接动态管理方法及装置 |
CN107980128A (zh) * | 2016-11-07 | 2018-05-01 | 深圳中兴力维技术有限公司 | 数据对接动态管理方法及装置 |
WO2018082079A1 (zh) * | 2016-11-07 | 2018-05-11 | 深圳中兴力维技术有限公司 | 数据对接动态管理方法及装置 |
CN108132936A (zh) * | 2016-11-30 | 2018-06-08 | 北京国双科技有限公司 | 数据导入方法及装置 |
CN109240695A (zh) * | 2017-05-12 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | 逻辑分支下的代码优化方法及装置 |
CN107679058A (zh) * | 2017-06-26 | 2018-02-09 | 平安科技(深圳)有限公司 | 数据同步方法、装置及计算机可读存储介质 |
WO2019000801A1 (zh) * | 2017-06-26 | 2019-01-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN109684608A (zh) * | 2017-10-19 | 2019-04-26 | 航天信息股份有限公司 | 一种基于数据库通过生成 excel 文档的方法及系统 |
CN110019229A (zh) * | 2017-12-25 | 2019-07-16 | 航天信息股份有限公司 | 数据库配置系统 |
CN110019229B (zh) * | 2017-12-25 | 2022-04-15 | 航天信息股份有限公司 | 数据库配置系统 |
CN108959377B (zh) * | 2018-05-25 | 2020-11-06 | 联动优势电子商务有限公司 | 一种数据处理的方法、装置及存储介质 |
CN108959377A (zh) * | 2018-05-25 | 2018-12-07 | 联动优势电子商务有限公司 | 一种数据处理的方法、装置及存储介质 |
CN108897876A (zh) * | 2018-06-29 | 2018-11-27 | 中科鼎富(北京)科技发展有限公司 | 一种数据接入方法及装置 |
CN109284335A (zh) * | 2018-09-10 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种跨数据库批量传导数据的方法与装置 |
CN111581179A (zh) * | 2019-02-19 | 2020-08-25 | 上海云桓信息科技有限公司 | 一种Oracle到MySQL的数据迁移方法及工具 |
CN110362625A (zh) * | 2019-05-30 | 2019-10-22 | 杭州数梦工场科技有限公司 | 数据库读写分离方法、装置、电子设备及存储介质 |
CN110471970A (zh) * | 2019-08-08 | 2019-11-19 | 紫光云技术有限公司 | 一种灵活可配的规则引擎数据转发方法 |
CN110704404A (zh) * | 2019-08-29 | 2020-01-17 | 苏宁云计算有限公司 | 一种数据质量校验方法、装置、系统 |
CN110825802A (zh) * | 2019-11-15 | 2020-02-21 | 北京锐安科技有限公司 | 多类型数据库数据的备份方法、装置、设备及存储介质 |
CN112487075A (zh) * | 2020-12-29 | 2021-03-12 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换的算子 |
CN112487075B (zh) * | 2020-12-29 | 2021-08-31 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换算子的方法 |
CN112905594A (zh) * | 2021-03-05 | 2021-06-04 | 银盛支付服务股份有限公司 | 一种数据实时同步方法 |
CN115048912A (zh) * | 2022-08-12 | 2022-09-13 | 成都锐菲网络科技有限公司 | 高速公路行车数据共享方法及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN103699638B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699638A (zh) | 一种基于配置参数实现跨数据库类型同步数据的方法 | |
CN107544984B (zh) | 一种数据处理的方法和装置 | |
CN105446966B (zh) | 生成关系数据转换为rdf格式数据的映射规则的方法和装置 | |
CN106599104A (zh) | 一种基于redis集群的海量数据关联方法 | |
CN102855271B (zh) | 一种多版本电网模型的存储与可追溯管理方法 | |
CN102752372A (zh) | 一种基于文件的数据库同步方法 | |
CN104933173B (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
CN104102710A (zh) | 一种海量数据查询方法 | |
CN103631907A (zh) | 一种将关系型数据迁移至HBase的方法及系统 | |
CN103617176A (zh) | 一种实现多源异构数据资源自动同步的方法 | |
CN109582695A (zh) | 一种微服务架构下数据通用查询方法及查询系统 | |
CN104424265B (zh) | 数字资源管理方法及系统 | |
CN105183860A (zh) | 数据同步方法和系统 | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN102640151A (zh) | 信息系统中转换后的数据的高吞吐量、可靠复制 | |
CN102917009B (zh) | 一种基于云计算技术的股票数据采集和存储方法和系统 | |
CN104899295A (zh) | 一种异构数据源数据关联分析方法 | |
CN111651519B (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN101859303A (zh) | 元数据管理方法及管理系统 | |
CN101158958A (zh) | 基于MySQL存储引擎的融合查询方法 | |
CN106407360A (zh) | 一种数据的处理方法及装置 | |
CN103617161A (zh) | 一种针对saas模式的数据存储方法和装置 | |
CN105095424A (zh) | 一种实现医院his系统中药品的高并发检索方法 | |
CN105373621A (zh) | 一种快速的跨数据库系统的数据增量迁移方法 | |
CN111090803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Patentee after: G-Cloud Technology Co., Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Patentee before: G-Cloud Technology Co., Ltd. |