CN112632185A - 一种基于cpu环境的多类型数据库同步方法、装置及设备 - Google Patents

一种基于cpu环境的多类型数据库同步方法、装置及设备 Download PDF

Info

Publication number
CN112632185A
CN112632185A CN202011492905.7A CN202011492905A CN112632185A CN 112632185 A CN112632185 A CN 112632185A CN 202011492905 A CN202011492905 A CN 202011492905A CN 112632185 A CN112632185 A CN 112632185A
Authority
CN
China
Prior art keywords
database
target
xml file
mode
synchronization
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
Application number
CN202011492905.7A
Other languages
English (en)
Other versions
CN112632185B (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202011492905.7A priority Critical patent/CN112632185B/zh
Publication of CN112632185A publication Critical patent/CN112632185A/zh
Application granted granted Critical
Publication of CN112632185B publication Critical patent/CN112632185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于CPU环境的多类型数据库同步方法,应用于适配器,该方法采用标准的XML文件作为中间产物,从而屏蔽不同步数据之间的语法结构差异,将数据库的语法适配关系由多对多的关系变为一对一的关系,数据库只需要关注与XML文件的交互即可。最终实现CPU环境下不同数据库数据库结构的兼容适配,且支持数据结构的导出与同步。此外,本申请还提供了一种基于CPU环境的多类型数据库同步装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。

Description

一种基于CPU环境的多类型数据库同步方法、装置及设备
技术领域
本申请涉及计算机技术领域,特别涉及一种基于CPU环境的多类型数据库同步方法、装置、设备及可读存储介质。
背景技术
近年来,国家大力扶持具有自主知识产权的全国产软硬件的发展,涌现了以国产操作系统和CPU为代表的众多具有自主知识产权的基础软硬件产品。中标麒麟系统、深度操作系统等国产操作系统生态环境日趋完善,龙芯、飞腾等具有自主知识产权的高端通用芯片蓬勃发展,技术水平达到或接近同类产品的世界先进水平。
随着国产基础软硬件的蓬勃发展,国产基础软硬件的推广和使用带来了前所未有的机遇。数据库作为生态环境中重要的一环,基于国产操作系统和CPU的环境下涌现出了多种国产数据库。然而,不同数据库间存在关键字不统一、支持的数据类型也不完全一致、SQL语句语法格式不一致、自带的函数不相同等问题,并带来以下困难:
1、开发人员需要学习并掌握各种国产数据库的SQL语法,针对不同数据库编写对应的SQL语句并进行测试,并向版本控制系统提交各种数据库对应的SQL文件,供开发人员间共享文件及方便后续发包人员获取升级文件。另外项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性,导致SQL写法各异、SQL规范性较差,后续开发维护及问题定位困难。
2、发包人员需要从版本控制系统检出不同数据库对应的SQL文件,根据要发送的需求编号整理SQL文件并打包发给现场升级人员,保证SQL执行顺序的正确性。
3、现场升级人员需要提前备份每个待升级数据库,根据数据库类型,选择要执行的SQL并关注每条SQL执行结果。另外由于SQL文件目录复杂,不方便浏览和信息查找SQL文件,增加了后续维护及问题定位的困难。一次性更新大量需求时,由于SQL数量多、SQL关联性强,SQL文件整理极其复杂,数据库改动较大,需要维护大量的SQL文件。由于没法通过SQL文件方便的查看某个数据库表的历史需求修改,当更新历史需求集合时,易出现漏更或者旧数据库表结构、表数据等错误覆盖。
发明内容
本申请的目的是提供一种基于CPU环境的多类型数据库同步方法、装置、设备及可读存储介质,用以解决不同数据库之间存在语法差异,无法适配,为开发维护工作带来诸多困难的问题。其具体方案如下:
第一方面,本申请提供了一种基于CPU环境的多类型数据库同步方法,应用于适配器,包括:
根据第一连接请求,连接至基准数据库;
根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
根据第二连接请求,连接至目标数据库;
根据文件获取请求,读取所述XML文件;
根据所述XML文件,将所述基准数据库同步至所述目标数据库。
优选的,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
在接收到同步请求之后,根据所述XML文件,将所述基准数据库同步至所述目标数据库。
优选的,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
在接收到SQL语句生成请求之后,根据所述XML文件生成用于描述所述基准数据库与所述目标数据库之间差异性的SQL语句;
根据SQL语句执行请求,在所述目标数据库执行所述SQL语句,以将所述基准数据库同步至所述目标数据库。
优选的,所述根据第一连接请求,连接至基准数据库,包括:
在接收到第一连接请求之后,获取数据库连接信息;根据所述数据库连接信息连接至基准数据库,其中所述数据库连接信息包括以下任意一项或多项:驱动类名称、URL名称、用户名、密码。
优选的,所述采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,包括:
确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;采用目标实现类导出所述第一数据库模式的数据库描述结构,得到XML文件。
优选的,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
确定所述目标数据库中待同步的数据库模式,得到第二数据库模式;根据所述XML文件,将所述基准数据库的所述第一数据库模式同步至所述目标数据库的所述第二数据库模式。
优选的,所述确定所述基准数据库中待同步的数据库模式,得到第一数据库模式,包括:
确定待同步的目标服务;根据所述目标服务以及预先设置的在所述基准数据库中服务与数据库模式的对应关系,确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;
相应的,所述确定所述目标数据库中待同步的数据库模式,得到第二数据库模式,包括:
根据所述目标服务以及预先设置的在所述目标数据库中服务与数据库模式的对应关系,确定所述目标数据库中待同步的数据库模式,得到第二数据库模式。
第二方面,本申请提供了一种基于CPU环境的多类型数据库同步装置,应用于适配器,包括:
第一连接模块:用于根据第一连接请求,连接至基准数据库;
导出模块:用于根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
第二连接模块:用于根据第二连接请求,连接至目标数据库;
文件读取模块:用于根据文件获取请求,读取所述XML文件;
同步模块:用于根据所述XML文件,将所述基准数据库同步至所述目标数据库。
第三方面,本申请提供了一种基于CPU环境的多类型数据库同步设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于CPU环境的多类型数据库同步方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于CPU环境的多类型数据库同步方法。
本申请所提供的一种基于CPU环境的多类型数据库同步方法,应用于适配器,包括:根据第一连接请求,连接至基准数据库;根据导出请求,采用目标实现类导出基准数据库的数据库描述结构,得到XML文件,其中目标实现类为继承默认实现类并根据基准数据库的语法重写得到的具体实现类;根据第二连接请求,连接至目标数据库;根据文件获取请求,读取XML文件;根据XML文件,将基准数据库同步至目标数据库。
可见,针对不同数据库间存在关键字不统一、支持的数据类型不完全一致、SQL语句语法格式不一致、自带的函数不相同等问题,该方法采用标准的XML文件作为中间产物,从而屏蔽不同步数据之间的语法结构差异,将数据库的语法适配关系由多对多的关系变为一对一的关系,数据库只需要关注与XML文件的交互即可。最终实现CPU环境下不同数据库数据库结构的兼容适配,且支持数据结构的导出与同步。
此外,本申请还提供了一种基于CPU环境的多类型数据库同步装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例一的流程图;
图2为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例一的数据库适配器类图;
图3为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例一的数据结构适配图;
图4为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例一的服务与数据库模式对应关系图;
图5为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例二的时序图;
图6为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例二的数据表结构导出界面;
图7为本申请所提供的一种基于CPU环境的多类型数据库同步方法实施例二的数据库表结构导入界面;
图8为本申请所提供的一种基于CPU环境的多类型数据库同步装置实施例的功能框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前基于国产CPU和操作系统的国产环境下应用生态日益完善,在国产环境下WEB应用系统需要支持神通、达梦、金仓、翰高等多种国产数据库,以满足不同客户的需求。日常WEB应用系统迭代开发过程中,不同数据库间存在关键字不统一、支持的数据类型不一致、SQL语句语法格式不相同、自带的函数存在差异、支持的数据库操作不完全相同等问题,开发维护及问题定位困难。
随着项目现场环境版本的不断升级,项目模块不断增加,数据库结构将会不断变化。一旦更新代码,数据库也必须同步更新,否则项目运行将会有很大的风险。然而,一旦项目迭代频繁,对于数据结构的增量改变很难进行管理,甚至开发环境和现场环境可能使用的数据库不同,增加了对数据库结构的管理成本。
因此,本申请提供了一种基于CPU环境的多类型数据库同步方法、装置、设备及可读存储介质,实现CPU环境下不同数据库的数据库结构的兼容适配,支持数据结构的导出与同步,目前已适配神通、金仓、达梦、翰高等国产数据库。
下面对本申请提供的一种基于CPU环境的多类型数据库同步方法实施例一进行介绍,参见图1,实施例一应用于适配器,包括:
S101、根据第一连接请求,连接至基准数据库;
S102、根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
S103、根据第二连接请求,连接至目标数据库;
S104、根据文件获取请求,读取所述XML文件;
S105、根据所述XML文件,将所述基准数据库同步至所述目标数据库。
本实施例采用JDBC实现数据库结构适配与同步,虽然大部分数据库都由JDBC规范接口的实现,但是各自的实现所支持的语法格式却不尽相同,比如不同数据库间存在关键字不统一、支持的数据类型不一致、SQL语句语法格式不相同、自带的函数存在差异、支持的数据库操作不完全相同等。
为了实现数据库结构的同步适配,本实施例所描述方法照依赖倒置的原则,采用工厂方法模式设计出了数据器,如图2所示,DBADAPTER是默认实现类,KingbaseAdapter、PostgreSQLAdapter、DamengAdapter、ShentongAdapter为不同数据库的具体实现类,通过重写默认实现类中的模板方法来定义数据库的具体语法。通过JAVA的多态原理来实现数据库的兼容适配,屏蔽不同数据库语法的差异性,运行期间,根据应用的数据库连接环境,工厂类DbAdapterFactory动态生成数据库的具体实现类,来实现不同数据库语法结构的适配兼容。
本实施例为实现适配器的高扩展性,采用开闭原则设计,针对新类型的数据库,只需要继承默认实现类,重写相关语法模板方法即可,按此可以很方便的扩展更多的国产数据库。
两个数据库之间的数据结构适配,采用符合标准规范的XML作为中间产物,从而屏蔽不同步数据之间的语法结构差异。如图3所示,将数据库的语法适配关系由多对多的关系变为一对一的关系,具体数据库只需要关注与XML文件的交互即可。
对于S101或S103的数据库连接过程,实际应用中需要输入数据库连接信息,以基准数据库的连接过程为例,该连接过程包括:在接收到第一连接请求之后,获取数据库连接信息;根据所述数据库连接信息连接至基准数据库,其中所述数据库连接信息包括以下任意一项或多项:驱动类名称、URL名称、用户名、密码。
对于S105的数据库同步过程,本实施例提供以下两种实现方式:
实现方式一:用户提交同步请求,在接收到同步请求之后,根据所述XML文件,直接将所述基准数据库同步至所述目标数据库。
实现方式二:用户提交SQL语句生成请求,在接收到SQL语句生成请求之后,根据所述XML文件生成用于描述所述基准数据库与所述目标数据库之间差异性的SQL语句;在接收到SQL语句执行请求时,在所述目标数据库执行所述SQL语句,以将所述基准数据库同步至所述目标数据库。
值得一提的是,实际的数据库同步过程中,可能不需要对整个数据库进行同步,而是只需要针对数据库中的某个或者某些数据库模式进行同步。本实施例支持多种数据库模式同步适配。
因此,在S102导出XML文件时,只需要导出部分数据库模式的数据库描述结构,相应的,在S105同步数据库时,只需要同步至目标数据库的部分数据库模式。此时,上述所述采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件的过程,具体为:确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;采用目标实现类导出所述第一数据库模式的数据库描述结构,得到XML文件。
相应的,上述根据所述XML文件,将所述基准数据库同步至所述目标数据库的过程,具体为:确定所述目标数据库中待同步的数据库模式,得到第二数据库模式;根据所述XML文件,将所述基准数据库的所述第一数据库模式同步至所述目标数据库的所述第二数据库模式。
对于目前主流的开发架构,即微服务架构,服务与数据库模式之间多为一对一的关系,一套成熟的系统可能包含很多的服务。实际应用中,可能指定需要进行数据库同步的服务。随着系统的发展,服务不断增加,对应的数据库模式也不断增加,如果对于这些模式一一同步会比较繁琐。
针对上述问题,本实施例支持微服务环境下多种数据库模式同步适配,减少用户工作量。在微服务环境下,服务与数据库模式之间的多为一对一的关系,同一服务在开发环境与项目现场环境的服务名往往是相同的,但所对应的数据库模式不一定相同,如图4所示。本实施例支持自行设置数据库模式与服务之间的映射关系,因此,在指定待进行数据库同步的目标服务的条件下,根据前述映射关系可以确定在基准数据库中待进行同步的第一数据库模式,也可以确定在目标数据库中待进行同步的第二数据库模式,从而实现对目标服务的数据库同步。在此基础之上,当指定多个待进行数据库同步的服务时,甚至可以实现将多个数据库模式一键同步。
此时,S102的过程具体为:确定待同步的目标服务;根据所述目标服务以及预先设置的在所述基准数据库中服务与数据库模式的对应关系,确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;采用目标实现类导出所述第一数据库模式的数据库描述结构,得到XML文件。相应的,S105的过程具体为:根据所述目标服务以及预先设置的在所述目标数据库中服务与数据库模式的对应关系,确定所述目标数据库中待同步的数据库模式,得到第二数据库模式;根据所述XML文件,将所述基准数据库的所述第一数据库模式同步至所述目标数据库的所述第二数据库模式。
实际应用中,为了方便管理,适配器支持维护服务与模式的默认对应关系,以该对应关系作为导入导出的默认选项,从而避免多次更新频繁填写对应关系,提高用户体验。检测用户所填写的模式在所连接的数据库的存在性,减少用户出错的可能。
本实施例所提供一种基于CPU环境的多类型数据库同步方法,应用该方法,开发人员只需要输入基准数据库的连接信息,导出XML数据库结构描述模板,该XML文件包含数据库类型、数据表结构等信息,项目实施人员只需要输入数据库的基本信息后,将基准数据库生成的XML文件导入,点击生成SQL,即可以生成与基准数据库有差异性的SQL语句,或者直接点击同步,将目标数据库的表结构与基准数据库的表结构进行同步,简化了项目组人员的升级过程。
本实施例采用JAVA语言实现,支持跨平台运行,满足多平台下数据库结构同步的需求。
因此,本实施例至少具备以下优点:
1、本实施例支持微服务环境下多数据库(模式)的结构,支持多种数据库模式同步适配。在微服务环境下,允许自行设置模式与服务之间的映射关系。
2、通过重写DBADAPTER类中的模板方法来定义数据库具体语法,通过JAVA的多态原理来实现数据库的兼容适配,屏蔽不同数据库语法的差异性。
3、本实施例遵循开闭原则,具有高扩展性,对于一个新类型的数据库,只需要继承默认实现类模板,重写相关语法模板方法即可,按此可以扩展更多的国产数据库。
4、两个数据库之间的数据结构同步,采用标准的XML作为中间产物,可以实现对不同种类的数据库修改。
5、简化了数据库同步的繁琐,项目实施人员只需要将在基准数据库导出的XML文件导入到目标数据库中,即可生成有差异性的SQL语句,无需关注数据库的SQL语法,执行SQL语句后,即可与基准数据库进行同步。
下面开始详细介绍本申请提供的一种基于CPU环境的多类型数据库同步方法实施例二。
以数据库1向数据库2同步数据库结构为例,参见图5,实施例二包括以下步骤:
S501、选择数据库1作为基准数据库,输入驱动类名称、URL名称、用户名、密码等信息后,使用适配器连接数据库1。
S502、在数据库1中选择需要同步的数据库模式,导出标准的XML数据库结构描述文件。
S503、选择数据库2作为目标数据库,输入驱动类名称、URL名称、用户名、密码等信息后,使用适配器连接数据库2。
S504、向适配器上传之前导出的XML数据库结构描述文件。
S505、在数据库2中选择需要同步的模式,生成相关差异性的SQL语句。
S506、在数据库2客户端执行SQL语句,至此,数据库2的数据库结构已与数据库1同步。
本实施例中,数据库结构信息的导入导出都以XML文件为模板,将不同数据库语法差异的关系由多对多变为一对一,通过符合规范的XML数据库结构描述模板为中转站,以此屏蔽不同数据库之间的语法结构差异,达到跨平台的效果。XML文件的结构信息如下:
模式集合:数据库类型名称。
模式:模式下的表结构信息,视图信息。
表结构信息:表名,主键信息,列集合信息,索引集合信息,约束集合信息。
主键信息:主键名,主键相关列及其索引顺序。
列信息:包括列名,类型(JDBC标准规范下SQL字段标准类型,未知类型为-999),类型名,字段长度,精准度,非空描述,默认值信息。
索引信息:索引名,索引类型(包括B-TREE索引,CLUSTERED聚簇索引,HASHED哈希索引,OTHER其他类型的索引),唯一索引标志,索引列集合。
索引列信息:索引设计列及其索引顺序。
外键约束:约束名,外键列,外键名,主键表,主键列,更新/删除规则。
该XML文件包括数据库常用的表结构(表结构信息,主键信息,索引,约束,视图等信息)的详细描述信息。在进行数据接口的同步适配中,将该XML文件与目标数据库实例比对,即可得到目标数据库变化的数据结构。
具体的,数据表结构导出界面如图6所示,导出过程包括以下步骤:
S601、开发人员运行数据库适配器工具JAR包,输入应用界面网址http://IP:端口号/dbAdapterView/out,进入数据库结构导出操作界面。
S602、选择一个数据库作为基准数据库,输入数据库连接信息,如驱动类名称、URL名称、用户名、密码等信息,点击测试连接,提示已连接,说明数据库连接成功,反之连接失败。
S603、选择导出的服务名(或手动增加数据库服务模式名)对应的模式名,勾选后点击导出文件,即可导出选中的模式对应的数据库描述XML文件。
数据表结构导入界面如图7所示,导入过程包括以下步骤:
S701、项目实施人员运行数据库适配器工具jar包,输入应用界面网址http://http://IP:端口号/dbAdapterView/syn。
S702、输入需要同步的数据库连接信息,如驱动类名称、URL名称、用户名、密码等信息,点击测试连接,提示已连接说明数据库连接成功,反之连接失败。
S703、连接成功后,点击选择文件,将最新的XML数据库结构文件导入,页面将会显示该XML文件中包含的所有模式,选中需要更新的模式,点击生成SQL文件按钮,即可生成将数据库同步到基准数据库所需要执行的SQL语句,将该SQL语句在数据库管理工具中执行即可。或者点击直接同步按钮,即可直接以XML文件结构为标准,对目标数据库进行表结构的同步。
可见,本实施例提供的一种基于CPU环境的多类型数据库同步方法,解决了不同数据库间存在关键字不统一、数据类型不一致、SQL语句语法格式不相同、自带的函数存在差异、数据库操作不完全相同、开发维护及问题定位困难等问题,采用多类型数据库适配与同步方法,开发人员只需要输入基准数据库的连接信息,导出XML数据库结构描述模板,项目实施人员只需要输入数据库的基本信息后,将基准数据库生成的XML文件导入,点击生成SQL,可以生成与基准数据库有差异性的SQL语句,或者直接点击同步,可以将目标数据库的表结构与基准数据库的表结构进行同步,简化了项目组人员的升级过程。
此外,本实施例还具备以下特点:
1、支持微服务环境下多数据库(模式)的结构,支持多种数据库模式同步适配。在微服务环境下,支持自行设置模式与服务之间的映射关系。
2、提供四种常用的国产数据库模板,以屏蔽不同数据库语法的差异性,来实现不同国产数据库数据结构的同步。
3、符合开闭原则,具有高扩展性,对于一个新类型的数据库,只需要继承默认数据库适配器实现类模板,重写相关语法模板方法即可,按此可以扩展更多的国产数据库。
4、采用标准的XML作为中间产物,在基准开发数据库上导出数据库描述XML文件,无需关注具体的数据库类型,只需要关注自身与JDBC接口的对接。
5、简化了数据库同步的过程,项目实施人员输入数据库的连接信息后,将基准数据库生成的数据库描述XML文件进行导入,即可生成与基准数据库有差异性的SQL语句,执行SQL语句后,完成了与基准数据库的同步。
下面对本申请实施例提供的一种基于CPU环境的多类型数据库同步装置进行介绍,下文描述的基于CPU环境的多类型数据库同步装置与上文描述的基于CPU环境的多类型数据库同步方法可相互对应参照。
如图8所示,本实施例的基于CPU环境的多类型数据库同步装置,应用于适配器,包括:
第一连接模块801:用于根据第一连接请求,连接至基准数据库;
导出模块802:用于根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
第二连接模块803:用于根据第二连接请求,连接至目标数据库;
文件读取模块804:用于根据文件获取请求,读取所述XML文件;
同步模块805:用于根据所述XML文件,将所述基准数据库同步至所述目标数据库。
本实施例的基于CPU环境的多类型数据库同步装置用于实现前述的基于CPU环境的多类型数据库同步方法,因此该装置中的具体实施方式可见前文中的基于CPU环境的多类型数据库同步方法的实施例部分,例如,第一连接模块801、导出模块802、第二连接模块803、文件读取模块804、同步模块805,分别用于实现上述基于CPU环境的多类型数据库同步方法中步骤S101,S102,S103,S104,S105。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于CPU环境的多类型数据库同步装置用于实现前述的基于CPU环境的多类型数据库同步方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于CPU环境的多类型数据库同步设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的基于CPU环境的多类型数据库同步方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于CPU环境的多类型数据库同步方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于CPU环境的多类型数据库同步方法,其特征在于,应用于适配器,包括:
根据第一连接请求,连接至基准数据库;
根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
根据第二连接请求,连接至目标数据库;
根据文件获取请求,读取所述XML文件;
根据所述XML文件,将所述基准数据库同步至所述目标数据库。
2.如权利要求1所述的方法,其特征在于,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
在接收到同步请求之后,根据所述XML文件,将所述基准数据库同步至所述目标数据库。
3.如权利要求1所述的方法,其特征在于,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
在接收到SQL语句生成请求之后,根据所述XML文件生成用于描述所述基准数据库与所述目标数据库之间差异性的SQL语句;
根据SQL语句执行请求,在所述目标数据库执行所述SQL语句,以将所述基准数据库同步至所述目标数据库。
4.如权利要求1所述的方法,其特征在于,所述根据第一连接请求,连接至基准数据库,包括:
在接收到第一连接请求之后,获取数据库连接信息;根据所述数据库连接信息连接至基准数据库,其中所述数据库连接信息包括以下任意一项或多项:驱动类名称、URL名称、用户名、密码。
5.如权利要求1所述的方法,其特征在于,所述采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,包括:
确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;采用目标实现类导出所述第一数据库模式的数据库描述结构,得到XML文件。
6.如权利要求5所述的方法,其特征在于,所述根据所述XML文件,将所述基准数据库同步至所述目标数据库,包括:
确定所述目标数据库中待同步的数据库模式,得到第二数据库模式;根据所述XML文件,将所述基准数据库的所述第一数据库模式同步至所述目标数据库的所述第二数据库模式。
7.如权利要求6所述的方法,其特征在于,所述确定所述基准数据库中待同步的数据库模式,得到第一数据库模式,包括:
确定待同步的目标服务;根据所述目标服务以及预先设置的在所述基准数据库中服务与数据库模式的对应关系,确定所述基准数据库中待同步的数据库模式,得到第一数据库模式;
相应的,所述确定所述目标数据库中待同步的数据库模式,得到第二数据库模式,包括:
根据所述目标服务以及预先设置的在所述目标数据库中服务与数据库模式的对应关系,确定所述目标数据库中待同步的数据库模式,得到第二数据库模式。
8.一种基于CPU环境的多类型数据库同步装置,其特征在于,应用于适配器,包括:
第一连接模块:用于根据第一连接请求,连接至基准数据库;
导出模块:用于根据导出请求,采用目标实现类导出所述基准数据库的数据库描述结构,得到XML文件,其中所述目标实现类为继承默认实现类并根据所述基准数据库的语法重写得到的具体实现类;
第二连接模块:用于根据第二连接请求,连接至目标数据库;
文件读取模块:用于根据文件获取请求,读取所述XML文件;
同步模块:用于根据所述XML文件,将所述基准数据库同步至所述目标数据库。
9.一种基于CPU环境的多类型数据库同步设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的基于CPU环境的多类型数据库同步方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的基于CPU环境的多类型数据库同步方法。
CN202011492905.7A 2020-12-16 2020-12-16 一种基于cpu环境的多类型数据库同步方法、装置及设备 Active CN112632185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011492905.7A CN112632185B (zh) 2020-12-16 2020-12-16 一种基于cpu环境的多类型数据库同步方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011492905.7A CN112632185B (zh) 2020-12-16 2020-12-16 一种基于cpu环境的多类型数据库同步方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112632185A true CN112632185A (zh) 2021-04-09
CN112632185B CN112632185B (zh) 2023-05-09

Family

ID=75316666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011492905.7A Active CN112632185B (zh) 2020-12-16 2020-12-16 一种基于cpu环境的多类型数据库同步方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112632185B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860314A (zh) * 2022-07-06 2022-08-05 深圳华锐分布式技术股份有限公司 基于数据库兼容的部署升级方法、装置、设备及介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223047A1 (en) * 2003-08-21 2005-10-06 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
CN1877572A (zh) * 2005-06-08 2006-12-13 香港理工大学 用于异质环境之间信息交换的自适应程序调用方法
CN101201816A (zh) * 2007-12-20 2008-06-18 北大方正集团有限公司 将数据流中的数据输出到xml文件中的适配器及方法
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN102708203A (zh) * 2012-05-18 2012-10-03 成都科泰地理信息技术有限公司 一种基于xml元数据的数据库动态管理方法
CN103902634A (zh) * 2012-12-30 2014-07-02 航天信息股份有限公司 利用Adapter实现View组件与数据库字段自动绑定的方法
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN106446151A (zh) * 2016-09-22 2017-02-22 山东浪潮云服务信息科技有限公司 一种基于国产cpu和数据库的数据迁移及增量更新方法
CN106503069A (zh) * 2016-09-30 2017-03-15 乐视控股(北京)有限公司 文件共享方法及装置
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法
CN111597257A (zh) * 2020-05-09 2020-08-28 远光软件股份有限公司 数据库的同步方法、装置、存储介质及终端
US20200326916A1 (en) * 2019-04-12 2020-10-15 Aurigo Software Technologies Inc. System and method for software development

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223047A1 (en) * 2003-08-21 2005-10-06 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
CN1877572A (zh) * 2005-06-08 2006-12-13 香港理工大学 用于异质环境之间信息交换的自适应程序调用方法
CN101201816A (zh) * 2007-12-20 2008-06-18 北大方正集团有限公司 将数据流中的数据输出到xml文件中的适配器及方法
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN102708203A (zh) * 2012-05-18 2012-10-03 成都科泰地理信息技术有限公司 一种基于xml元数据的数据库动态管理方法
CN103902634A (zh) * 2012-12-30 2014-07-02 航天信息股份有限公司 利用Adapter实现View组件与数据库字段自动绑定的方法
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN106446151A (zh) * 2016-09-22 2017-02-22 山东浪潮云服务信息科技有限公司 一种基于国产cpu和数据库的数据迁移及增量更新方法
CN106503069A (zh) * 2016-09-30 2017-03-15 乐视控股(北京)有限公司 文件共享方法及装置
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法
US20200326916A1 (en) * 2019-04-12 2020-10-15 Aurigo Software Technologies Inc. System and method for software development
CN111597257A (zh) * 2020-05-09 2020-08-28 远光软件股份有限公司 数据库的同步方法、装置、存储介质及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡彧: "基于XML异构数据库同步技术的探讨", 《福建电脑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860314A (zh) * 2022-07-06 2022-08-05 深圳华锐分布式技术股份有限公司 基于数据库兼容的部署升级方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112632185B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
US20200183932A1 (en) Optimizing write operations in object schema-based application programming interfaces (apis)
US20210279115A1 (en) Automated api code generation
US9390124B2 (en) Version control system using commit manifest database tables
US8433687B1 (en) Off-line indexing for client-based software development tools
CN112434059B (zh) 数据处理方法、装置、计算机设备和存储介质
US7873678B2 (en) Lightweight directory access protocol (LDAP) schema definition using extensible markup language (XML)
AU2017269108A1 (en) Optimizing read and write operations in object schema-based application programming interfaces (APIS)
WO2004086222A2 (en) Development of software systems
CN104035859A (zh) 一种可视化自动测试方法及其系统
CN103810224A (zh) 信息持久化和查询方法及装置
US8341096B2 (en) System, method and computer program product for incremental learning of system log formats
Zhu et al. Incremental learning of system log formats
CN113220633B (zh) 统一文件编码管理方法及系统
CN102999600A (zh) 一种嵌入式数据库自动生成方法和系统
Fisun et al. Query parsing in order to optimize distributed DB structure
CN107480223B (zh) 一种搜索方法、装置及存储介质
CN112632185B (zh) 一种基于cpu环境的多类型数据库同步方法、装置及设备
CN110309214B (zh) 一种指令执行方法及其设备、存储介质、服务器
US9208448B2 (en) System, method and computer program product for incremental learning of system log formats
CN113626423B (zh) 业务数据库的日志管理方法、装置、系统
CN109829010B (zh) 一种词条修改方法和词条修改装置
CN112486990B (zh) 一种根据模型描述同步数据库表结构的方法及设备
US11100286B2 (en) Methods and systems for implied graph patterns in property chains
JP7449190B2 (ja) データ移行システムおよびデータ移行方法
US20230297623A1 (en) Multi-record projection search platform

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
GR01 Patent grant
GR01 Patent grant