CN115374218B - 一种异构数据库的数据同步方法、装置、设备及介质 - Google Patents
一种异构数据库的数据同步方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115374218B CN115374218B CN202211037864.1A CN202211037864A CN115374218B CN 115374218 B CN115374218 B CN 115374218B CN 202211037864 A CN202211037864 A CN 202211037864A CN 115374218 B CN115374218 B CN 115374218B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- source database
- file
- updated
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000001360 synchronised effect Effects 0.000 claims abstract description 85
- 230000008859 change Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库处理领域,尤其涉及一种异构数据库的数据同步方法、装置、设备及介质。所述方法包括:获取源数据库和目的数据库的类型,并判断二者类型是否相同;响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;监听所述预设文件并判断所述预设文件是否有变动;响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;利用所述TJSON格式文件对所述目的数据库数据进行更新同步。本发明的方案实现了自动将源数据库中的数据自动转换成目的数据库中的数据,不仅能够节省时间,而且避免手动创建数据带来的错误,具有较高的处理效率和较高的准确性。
Description
技术领域
本发明涉及数据库处理领域,尤其涉及一种异构数据库的数据同步方法、装置、设备及介质。
背景技术
随着信息技术的发展,数据成为不管企业还是个人非常重要的信息。通常数据存放在数据库中。常用的数据库类型有关系型数据库和非关系型数据库。常用的关系型数据库有SQLite、MySQL等。常用的非关系型数据库有Hbase、redis等。随着数据量数据类型的增加,单一的数据库类型不能满足企业数据存放,所以会导致数据会存放在不同类型的数据库中。这样就会带来不同类型数据库之间数据的同步更新。
目前数据库之间数据的更新同步,是同种数据库之间数据的同步更新,就是使用该数据库的备份还原功能,无法在异构数据库进行数据的更新同步。虽然异构数据库之间可以通过人工在目的数据库中手动创建数据实现同步,但是此种方式需要耗费大量的时间,同步效率较低,并且准确性过于依赖操作人员,因此亟需改进。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种异构数据库的数据同步方法、装置、设备及介质。
根据本发明的第一方面,提供了一种异构数据库的数据同步方法,所述方法包括:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,包括:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,还包括:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中。
在一些实施例中,所述读取所述预设文件,并将所述预设文件转换成TJSON格式文件,包括:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
在一些实施例中,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
在一些实施例中,所述原数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
在一些实施例中,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、MicrosoftSQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
根据本发明的第二方面,提供了一种异构数据库的数据同步装置,所述装置包括:
第一判断模块,配置用于获取源数据库和目的数据库的类型,并判断二者类型是否相同;
写入模块,配置用于响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
第二判断模块,配置用于监听所述预设文件并判断所述预设文件是否有变动;
转换模块,配置用于响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
更新同步模块,配置用于利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的异构数据库的数据同步方法,所述方法包括:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的异构数据库的数据同步方法,所述方法包括:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
上述一种异构数据库的数据同步方法,实现了自动将源数据库中的数据自动转换成目的数据库中的数据,无需根据源数据库中的数据逐条在目的数据库中新建数据,不仅能够节省时间,而且避免手动创建数据带来的错误,具有较高的处理效率和较高的准确性。
此外,本发明还提供了一种异构数据库的数据同步装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种异构数据库的数据同步方法的流程图;
图2为本发明另一个实施例提供的关系型数据库和非关系型数据库数据同步更新流程示意图;
图3为本发明一个实施例提供的指定文件中数据格式示意图;
图4为本发明另一个实施例提供的特定的TJSON格式数据示意图;
图5为本发明一个实施例提供的一种异构数据库的数据同步装置结构示意图;
图6为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种异构数据库的数据同步方法100,具体来说,所述方法包括以下步骤:
步骤101,获取源数据库和目的数据库的类型,并判断二者类型是否相同;
步骤102,响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
步骤103,监听所述预设文件并判断所述预设文件是否有变动;
步骤104,响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
步骤105,利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
上述一种异构数据库的数据同步方法,实现了将源数据库中的数据自动转换成目的数据库中的数据,无需根据源数据库中的数据逐条在目的数据库中新建数据,不仅能够节省时间,而且避免手动创建数据带来的错误,具有较高的处理效率和较高的准确性。
在一些实施例中,前述步骤102中的获取源数据库需要更新同步的数据并写入预设文件中包括:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中。
在一些实施例中,前述步骤102中的获取源数据库需要更新同步的数据并写入预设文件中,还包括:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中。
在一些实施例中,前述步骤104中的读取所述预设文件,并将所述预设文件转换成TJSON格式文件,包括:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
在一些实施例中,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
在一些实施例中,所述原数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
在一些实施例中,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、MicrosoftSQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
又一个实施例中,为了便于理解本发明的方案,下面以源数据库为关系型,目的数据为非关系型数据库为例,详细说明二者进行数据同步的具体过程,如图2所示使用脚本自动化安装测试环境,其设计思路参考如下:
(1)获取源数据库类型和目的数据库类型。
(2)如果类型满足条件,根据操作方式获取源数据库中要更新同步的数据。条件是源数据库是关系型数据库,目的数据库是非关系型数据库。
(3)通过系统定时任务,把要更新同步的数据按照指定格式存放在特定文件中。按照队列先进先出的规则进行存放。文件有大小限制,当指定文件接收的数据大小大于设定的值,剩余的值存放在内存中。在具体实施过程中指定文件中数据格式可参考图3所示。
(4)目的数据库去指定位置获取指定文件中的数据并转换成特定的TJSON格式数据。在具体实施过程中特定的TJSON格式数据可参考图4所示。
(5)对目的数据库数据进行同步更新。
具体的本实施例提供了又一种异构数据库的数据同步方法,具体实施步骤参考如下:
第一步 获取源数据库的数据库类型和目的数据库的数据库类型。
第二步 如果源数据库类型是关系型数据库并且目的数据库类型是非关系型,进行如下操作:
第三步 源数据库和目的数据库所在服务器配置,免密登录。
第四步 同时加载源数据库和目的数据库的数据驱动。
第五步 获取源数据库和目的数据库的用户名、端口。
第六步 目的数据库所在服务器启动监听程序,监听程序用于查看指定excel文件是否变动的,变动的类型和数据量。
第七步 源数据库根据数据库系统日志来判断源数据库表是否数据变动,有变动写入源数据库服务器/tmp/appointment/目录下的指定excel文件中。
第八步 通过读取excel获取源数据库中要更新同步的数据和数据操作类型。操作类型包括新建表,删除表,更新表,插入数据,删除数据。通过读取excel不同的sheet页来识别不同的表。通过一个sheet页中不同行的type识别要进行操作的类型。
第九步 目的服务器根据监听程序,读取excel文件。按照操作类型,把数据转换成TJSON格式,用于目的数据库查看。
第十步 按照TJSON格式文件内容对目的数据库数据进行更新同步。
本实施例的一种异构数据库的数据同步方法具备以下有益技术效果,(1)通过获取源数据库所在服务器的log信息,来判断源数据库是否有数据变动;(2)通过监听程序,让目的数据库知道哪些表中的哪些数据发生的变化,比如新建,修改,删除;(3)通过把监听程序监听的excel中的数据转换成特定格式的TJSON数据,能够让目的数据库自动识别数据,并进行数据同步以及更新。实现了不同类型的数据库的数据进行转化,避免了按照源数据库的数据,单独在目的数据库中手动逐条创建数据的工作量,大大节省异构数据库同步所需时间,显著减少手动创建数据错误。
在一些实施例中,请参照图5所示,本发明还提供了一种异构数据库的数据同步装置200,所述装置包括:
第一判断模块201,配置用于获取源数据库和目的数据库的类型,并判断二者类型是否相同;
写入模块202,配置用于响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
第二判断模块203,配置用于监听所述预设文件并判断所述预设文件是否有变动;
转换模块204,配置用于响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
更新同步模块205,配置用于利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
上述一种异构数据库的数据同步装置,实现了自动将源数据库中的数据自动转换成目的数据库中的数据,无需根据源数据库中的数据逐条在目的数据库中新建数据,不仅能够节省时间,而且避免手动创建数据带来的错误,具有较高的处理效率和较高的准确性。
在一些实施例中,所述写入模块202进一步配置用于:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中。
在一些实施例中,所述写入模块202还配置用于:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中。
在一些实施例中,所述转换模块204进一步配置用于:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
在一些实施例中,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
在一些实施例中,所述原数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
在一些实施例中,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、MicrosoftSQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
需要说明的是,关于异构数据库的数据同步装置的具体限定可以参见上文中对异构数据库的数据同步方法的限定,在此不再赘述。上述异构数据库的数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的异构数据库的数据同步方法,具体来说,所述方法包括以下步骤:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,包括:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,还包括:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中。
在一些实施例中,所述读取所述预设文件,并将所述预设文件转换成TJSON格式文件,包括:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
在一些实施例中,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
在一些实施例中,所述原数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
在一些实施例中,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、MicrosoftSQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的异构数据库的数据同步方法,具体来说,包括执行以下步骤:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,包括:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中。
在一些实施例中,所述获取源数据库需要更新同步的数据并写入预设文件中,还包括:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中。
在一些实施例中,所述读取所述预设文件,并将所述预设文件转换成TJSON格式文件,包括:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
在一些实施例中,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
在一些实施例中,所述原数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
在一些实施例中,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、MicrosoftSQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种异构数据库的数据同步方法,其特征在于,所述方法包括:
获取源数据库和目的数据库的类型,并判断二者类型是否相同;
响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
监听所述预设文件并判断所述预设文件是否有变动;
响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
利用所述TJSON格式文件对所述目的数据库数据进行更新同步;
所述获取源数据库需要更新同步的数据并写入预设文件中,包括:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中;
所述获取源数据库需要更新同步的数据并写入预设文件中,还包括:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中;
所述读取所述预设文件,并将所述预设文件转换成TJSON格式文件,包括:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
2.根据权利要求1所述的异构数据库的数据同步方法,其特征在于,所述数据操作类型包括新建表、删除表、更新表、插入数据、删除数据。
3.根据权利要求1-2任意一项所述的异构数据库的数据同步方法,其特征在于,所述源数据库和目的数据库的类型均包括关系型数据库和非关系型数据库。
4.根据权利要求3所述的异构数据库的数据同步方法,其特征在于,所述关系型数据库包括SQLite、Oracle、DB2、MySQL、Microsoft SQL Server、Microsoft Access中的至少一种,所述非关系型数据库包括NoSql、Cloudant、MongoDb、redis、HBase中的至少一种。
5.一种异构数据库的数据同步装置,其特征在于,所述装置包括:
第一判断模块,配置用于获取源数据库和目的数据库的类型,并判断二者类型是否相同;
写入模块,配置用于响应于源数据库和目的数据库的类型不同,则获取源数据库需要更新同步的数据并写入预设文件中;
第二判断模块,配置用于监听所述预设文件并判断所述预设文件是否有变动;
转换模块,配置用于响应于所述预设文件有变动,则读取所述预设文件,并将所述预设文件转换成TJSON格式文件;
更新同步模块,配置用于利用所述TJSON格式文件对所述目的数据库数据进行更新同步;
所述写入模块进一步配置用于:
判断源数据库需要更新同步的数据大小是否超过预设值;
响应于源数据库需要更新同步的数据大小未超过预设值,则直接将源数据库需要更新同步的数据写入所述预设文件;
响应于源数据库需要更新同步的数据大小超过预设值,则将源数据库需要更新同步的数据分批次写入所述预设文件,其中,每一批次写入的数据量均不超过所述预设值,暂时未写入所述预设文件的数据存放在缓存中;
所述写入模块还配置用于:
定时获取所述源数据库的数据库系统日志,并基于所述数据库系统日志判断源数据库是否发生数据变动;
响应于所述源数据库发生数据变动,则将变动数据写入源数据库/tmp/appointment/目录下的指定excel文件中;
所述转换模块进一步配置用于:
读取所述指定excel获取源数据库中要更新同步的数据和数据操作类型;
按照操作类型将要更新同步的数据转换成TJSON格式文件用于目的数据库查看。
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-4任意一项所述的异构数据库的数据同步方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-4任意一项所述的异构数据库的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037864.1A CN115374218B (zh) | 2022-08-26 | 2022-08-26 | 一种异构数据库的数据同步方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037864.1A CN115374218B (zh) | 2022-08-26 | 2022-08-26 | 一种异构数据库的数据同步方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115374218A CN115374218A (zh) | 2022-11-22 |
CN115374218B true CN115374218B (zh) | 2024-01-26 |
Family
ID=84070476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211037864.1A Active CN115374218B (zh) | 2022-08-26 | 2022-08-26 | 一种异构数据库的数据同步方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115374218B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399256A (zh) * | 2018-03-06 | 2018-08-14 | 北京慧萌信安软件技术有限公司 | 异构数据库内容同步方法、装置及中间件 |
CN109101627A (zh) * | 2018-08-14 | 2018-12-28 | 交通银行股份有限公司 | 异构数据库同步方法及装置 |
CN110083616A (zh) * | 2019-04-19 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 页面数据处理方法、装置、设备及计算机可读存储介质 |
CN110147411A (zh) * | 2019-05-20 | 2019-08-20 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
-
2022
- 2022-08-26 CN CN202211037864.1A patent/CN115374218B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399256A (zh) * | 2018-03-06 | 2018-08-14 | 北京慧萌信安软件技术有限公司 | 异构数据库内容同步方法、装置及中间件 |
CN109101627A (zh) * | 2018-08-14 | 2018-12-28 | 交通银行股份有限公司 | 异构数据库同步方法及装置 |
CN110083616A (zh) * | 2019-04-19 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 页面数据处理方法、装置、设备及计算机可读存储介质 |
CN110147411A (zh) * | 2019-05-20 | 2019-08-20 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115374218A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147411B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
US20200356624A1 (en) | Collaborative document editing system and method | |
CN109086295B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
WO2020232884A1 (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110727724B (zh) | 数据抽取方法、装置、计算机设备和存储介质 | |
CN109684304B (zh) | 数据迁移方法及装置 | |
CN111538779A (zh) | 一种增量数据同步的方法、装置、计算机设备及存储介质 | |
CN112000741A (zh) | 内外网数据交换系统、方法、装置、计算机设备和介质 | |
CN110795508B (zh) | 数据的复制方法、装置、设备和存储介质 | |
CN112486913B (zh) | 一种基于集群环境下的日志异步存储方法和设备 | |
CN111414362A (zh) | 数据读取方法、装置、设备及存储介质 | |
CN114722119A (zh) | 数据同步方法及系统 | |
CN112363995A (zh) | 基于日志解析的增量数据比对方法、装置和电子设备 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
WO2019148657A1 (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
US11907076B2 (en) | Data snapshot method and apparatus, computer device, and storage medium | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
CN115374218B (zh) | 一种异构数据库的数据同步方法、装置、设备及介质 | |
CN108984757A (zh) | 一种数据导入方法及设备 | |
CN109271431B (zh) | 数据抽取方法、装置、计算机设备及存储介质 | |
CN112925835A (zh) | 数据同步方法、装置和服务器 | |
CN111177119A (zh) | 基于数据库的全量数据比对方法、装置、设备及存储介质 | |
CN114896276A (zh) | 数据存储方法、装置、电子设备及分布式存储系统 |
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 |