CN103699638B - 一种基于配置参数实现跨数据库类型同步数据的方法 - Google Patents

一种基于配置参数实现跨数据库类型同步数据的方法 Download PDF

Info

Publication number
CN103699638B
CN103699638B CN201310719511.4A CN201310719511A CN103699638B CN 103699638 B CN103699638 B CN 103699638B CN 201310719511 A CN201310719511 A CN 201310719511A CN 103699638 B CN103699638 B CN 103699638B
Authority
CN
China
Prior art keywords
database
data
source
type
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.)
Active
Application number
CN201310719511.4A
Other languages
English (en)
Other versions
CN103699638A (zh
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201310719511.4A priority Critical patent/CN103699638B/zh
Publication of CN103699638A publication Critical patent/CN103699638A/zh
Application granted granted Critical
Publication of CN103699638B publication Critical patent/CN103699638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous 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结构化格式的字符串,基于配置参数中的目标数据库类型,通过抽象工厂和反射技术,生成访问对应接口的对象;基于配置参数中目标数据库表名和对应字段名称,对象调用操作数据库类同步数据。
CN201310719511.4A 2013-12-23 2013-12-23 一种基于配置参数实现跨数据库类型同步数据的方法 Active CN103699638B (zh)

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 CN103699638A (zh) 2014-04-02
CN103699638B true 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)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740248B (zh) * 2014-12-09 2019-11-12 华为软件技术有限公司 一种数据同步方法、装置及系统
CN105320763B (zh) * 2015-10-22 2019-06-07 江苏国泰新点软件有限公司 一种将xml文件的内容导入数据库的方法和装置
CN106407288B (zh) * 2016-08-29 2020-01-10 上海掌门科技有限公司 一种信息同步更新的方法及系统
WO2018082079A1 (zh) * 2016-11-07 2018-05-11 深圳中兴力维技术有限公司 数据对接动态管理方法及装置
CN108132936A (zh) * 2016-11-30 2018-06-08 北京国双科技有限公司 数据导入方法及装置
CN109240695A (zh) * 2017-05-12 2019-01-18 武汉斗鱼网络科技有限公司 逻辑分支下的代码优化方法及装置
CN107679058B (zh) * 2017-06-26 2021-04-06 平安科技(深圳)有限公司 数据同步方法、装置及计算机可读存储介质
CN109684608A (zh) * 2017-10-19 2019-04-26 航天信息股份有限公司 一种基于数据库通过生成 excel 文档的方法及系统
CN110019229B (zh) * 2017-12-25 2022-04-15 航天信息股份有限公司 数据库配置系统
CN108959377B (zh) * 2018-05-25 2020-11-06 联动优势电子商务有限公司 一种数据处理的方法、装置及存储介质
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 杭州数梦工场科技有限公司 数据库读写分离方法、装置、电子设备及存储介质
CN110471970B (zh) * 2019-08-08 2023-04-18 紫光云技术有限公司 一种灵活可配的规则引擎数据转发方法
CN110704404B (zh) * 2019-08-29 2023-04-28 苏宁云计算有限公司 一种数据质量校验方法、装置、系统
CN110825802A (zh) * 2019-11-15 2020-02-21 北京锐安科技有限公司 多类型数据库数据的备份方法、装置、设备及存储介质
CN112487075B (zh) * 2020-12-29 2021-08-31 中科院计算技术研究所大数据研究院 一种集成关系型和非关系型数据库数据转换算子的方法
CN115048912A (zh) * 2022-08-12 2022-09-13 成都锐菲网络科技有限公司 高速公路行车数据共享方法及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789103B1 (en) * 2000-05-05 2004-09-07 Interland, Inc. Synchronized server parameter database
CN103442029A (zh) * 2013-07-29 2013-12-11 广东电网公司电力科学研究院 异构实时历史数据库同步方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789103B1 (en) * 2000-05-05 2004-09-07 Interland, Inc. Synchronized server parameter database
CN103442029A (zh) * 2013-07-29 2013-12-11 广东电网公司电力科学研究院 异构实时历史数据库同步方法和系统

Also Published As

Publication number Publication date
CN103699638A (zh) 2014-04-02

Similar Documents

Publication Publication Date Title
CN103699638B (zh) 一种基于配置参数实现跨数据库类型同步数据的方法
CN103617176B (zh) 一种实现多源异构数据资源自动同步的方法
CN102855271B (zh) 一种多版本电网模型的存储与可追溯管理方法
CN102254029B (zh) 一种基于视图的数据访问系统及其方法
US8924384B2 (en) Upgrading column-based databases
CN106503158B (zh) 数据同步方法及装置
CN107977396B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
EP2874080A1 (en) Dynamic database mapping
EP2874079A1 (en) Mobile database initialization and update for offline consumption
CN103970833A (zh) 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法
CN109582695A (zh) 一种微服务架构下数据通用查询方法及查询系统
CN106294776A (zh) 一种数据处理方法及装置
CN104834700A (zh) 一种基于轨迹变更的移动数据增量捕获方法
CN106339408A (zh) 数据同步方法、数据同步装置和服务器
CN105447051A (zh) 一种数据库操作的方法和装置
CN106407360A (zh) 一种数据的处理方法及装置
CN100517229C (zh) 数据版本升级方法
CN103473332A (zh) 一种虚拟试验体系结构的数据档案库
CN103761102A (zh) 一种统一数据服务平台及其实现方法
CN106648917A (zh) 一种差异更新缓存数据的方法及系统
CN106156060B (zh) 标签管理系统及终端、标签使用方法及标签整理方法
CN102982171A (zh) 一种数据库同步方法
CN104461495B (zh) 一种实现数据持久层分离的方法及系统
CN105373621A (zh) 一种快速的跨数据库系统的数据增量迁移方法
US10120890B2 (en) Formula-encoded time stamps for time series data

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

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.

CP02 Change in the address of a patent holder