CN107357848B - 基于驱动封装的数据库同步方法 - Google Patents
基于驱动封装的数据库同步方法 Download PDFInfo
- Publication number
- CN107357848B CN107357848B CN201710498992.9A CN201710498992A CN107357848B CN 107357848 B CN107357848 B CN 107357848B CN 201710498992 A CN201710498992 A CN 201710498992A CN 107357848 B CN107357848 B CN 107357848B
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- database
- log
- driving
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于驱动封装的数据库同步方法,包括如下步骤:对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果,否则,在进行数据库访问的同时,将修改操作记录到日志文件中;驱动端将日志文件内容发送到服务端;服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;驱动端将日志文件进行备份。本发明的方法不依赖于数据库厂商的技术制约,能够支持各种关系型数据库,并且支持异构数据的同步,在对数据库低负载的情况下具有良好的数据同步性能。
Description
技术领域
本发明涉及关系型数据库技术领域,尤其是一种基于驱动封装的数据库同步方法。
背景技术
随着互联网的飞速发展,数据变得越来越重要,关系型数据库作为传统的数据存储载体正在得到广泛的应用,几乎各行各业都会将行业数据存储到数据库中。作为数据的载体,数据库仅仅起到了数据的静态存储功能,对于数据之间的动态关系(数据备份、数据汇总/分发)却并未涉及。因此,众多的数据库同步软件涌现出来,这些同步软件都实现了基础的数据库同步功能,就是捕捉源端数据库数据的变化,将变化的数据发送到目的端数据库进行入库,从而保持源端和目的端数据库数据的一致性。但是这些数据库同步软件有着如下的不足:
(1)支持的关系型数据库有限。很多同步软件都是数据库厂商自行研发,作为自家数据库软件的配套工具,不支持其它厂商的数据库。
(2)支持的数据同步功能有限。源端和目的端的数据存储架构往往有着较大的不同,这些不同包含了数据结构的不同(表名、列名、列类型、列数量等)以及数据语义的不同。很多数据同步软件仅仅支持同构数据的同步,而对异构数据的同步支持有限。
(3)受数据库制约,对数据库性能影响大。当前的数据库同步软件基本采用触发器或者数据库重做日志扫描技术实现数据变更捕捉。对于触发器方式,特别是同步表增多时对数据库性能影响巨大,是一种性能低下的同步实现方式。由于数据库厂商均没有开放其重做日志格式,因此对重做日志的扫描必须通过数据库厂商提供的接口或者工具实现,这受到了数据厂商的制约,如果数据库厂商拒绝提供此类接口则只能通过触发器实现。
发明内容
本发明所要解决的技术问题在于,提供一种基于驱动封装的数据库同步方法,该同步方法不依赖于数据库厂商的技术制约,能够支持各种关系型数据库,并且支持异构数据的同步,在对数据库低负载的情况下具有良好的数据同步性能。
为解决上述技术问题,本发明提供一种基于驱动封装的数据库同步方法,包括如下步骤:
(1)对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;
(2)应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果;否则,在进行数据库访问的同时,将修改操作记录到日志文件中;
(3)驱动端将日志文件内容发送到服务端;
(4)服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;
(5)驱动端将日志文件进行备份。
优选的,步骤(2)中,将修改操作记录到日志文件的步骤为:
(21)建立修改缓存队列,修改缓存队列中的每一个数据修改项代表了一条数据的修改;
(22)当应用通过接口修改数据时,驱动端根据应用传递的参数构造出一个数据修改项对象,将其加入到修改缓存队列中;
(23)从修改缓存队列中取出数据修改项对象,根据应用名称和修改的时间选择相应的联机重做日志,将数据修改项的内容写入到文件中。
优选的,步骤(21)中,数据修改项包含了数据库实例名、sql语句、修改的时间、事务ID、应用名称和应用地址。
优选的,步骤(3)中,驱动端将日志文件内容发送到服务端的步骤为:
(31)建立日志索引队列,队列中的每一项日志索引项记录了联机重做日志的文件名、发送的内容的起始和结束位置;
(32)扫描联机重做日志,读取新增加的变化数据,将其打包压缩,同时在日志索引队列中增加一项,然后将数据发送到服务端进行处理。
优选的,步骤(4)中,服务端同步数据的步骤为:
(41)建立一个同步配置队列,队列中的每一个条目包括基本配置信息、数据结构配置信息和数据语义配置信息;基本配置信息包含源端和目的端数据库的ip地址、数据库优先级、实例名称以及端口信息,结构配置信息包含了同步表的结构信息,包括源端和目的端表的表名、列名和列类型,语义结构配置信息包括需要进行内容转换的列的列名和转换规则;
(42)读取驱动端发送的同步数据包,将数据包解压,针对每一项数据修改项,在同步配置队列中查找对应的同步配置,如果找不到同步配置,丢弃数据修改项,否则将数据修改项加入到修改缓存队列中;
(43)读取修改缓存队列,从中取出数据修改项,根据同步配置队列中的同步配置,决定要同步的目的库;如果同时有多个源端对同一条记录做修改,则同步优先级最高的源端,丢弃其它修改;
(44)将同步结果返回给驱动端。
优选的,步骤(5)中,驱动端将日志文件进行备份的步骤为:
(51)建立队列日志备份队列,存储了服务器同步完成的同步数据;队列中的元素的格式和日志索引队列中的元素相同;
(52)根据收到的应答,将日志索引队列中对应的元素移动到日志备份队列中,表示内容片断同步完成;
(53)如果一个联机重做日志中全部的内容都移动到日志备份队列中,则将日志备份队列中对应的元素全部删除,同时联机重做日志重命名为归档重做日志,将其移动到归档日志目录中,备份保存。
本发明的有益效果为:本发明的同步方法不依赖于数据库厂商的技术制约,能够支持各种关系型数据库,并且支持异构数据的同步,在对数据库低负载的情况下具有良好的数据同步性能。
附图说明
图1是本发明的驱动端结构示意图。
图2是本发明的服务端结构示意图。
图3是本发明的应用调动驱动端接口时驱动端处理流程示意图。
图4是本发明的驱动端将数据变化写入到日志文件流程示意图。
图5是本发明的驱动端将日志文件发送到服务端流程示意图。
图6是本发明的服务端接收驱动端发送的同步报文流程示意图。
图7是本发明的服务端同步入库流程示意图。
图8是本发明的驱动端接收服务端应答处理流程示意图。
图9为本发明的总体方法流程示意图。
具体实施方式
如图9所示,一种基于驱动封装的数据库同步方法,包括如下步骤:
(1)对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;
(2)应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果;否则,在进行数据库访问的同时,将修改操作记录到日志文件中;
(3)驱动端将日志文件内容发送到服务端;
(4)服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;
(5)驱动端将日志文件进行备份。
步骤(2)中,将修改操作记录到日志文件的步骤为:
(21)建立修改缓存队列,修改缓存队列中的每一个数据修改项代表了一条数据的修改;
(22)当应用通过接口修改数据时,驱动端根据应用传递的参数构造出一个数据修改项对象,将其加入到修改缓存队列中;
(23)从修改缓存队列中取出数据修改项对象,根据应用名称和修改的时间选择相应的联机重做日志,将数据修改项的内容写入到文件中。
步骤(3)中,驱动端将日志文件内容发送到服务端的步骤为:
(31)建立日志索引队列,队列中的每一项日志索引项记录了联机重做日志的文件名、发送的内容的起始和结束位置;
(32)扫描联机重做日志,读取新增加的变化数据,将其打包压缩,同时在日志索引队列中增加一项,然后将数据发送到服务端进行处理。
步骤(4)中,服务端同步数据的步骤为:
(41)建立一个同步配置队列,队列中的每一个条目包括基本配置信息、数据结构配置信息和数据语义配置信息;基本配置信息包含源端和目的端数据库的ip地址、数据库优先级、实例名称以及端口信息,结构配置信息包含了同步表的结构信息,包括源端和目的端表的表名、列名和列类型,语义结构配置信息包括需要进行内容转换的列的列名和转换规则;
(42)读取驱动端发送的同步数据包,将数据包解压,针对每一项数据修改项,在同步配置队列中查找对应的同步配置,如果找不到同步配置,丢弃数据修改项,否则将数据修改项加入到修改缓存队列中;
(43)读取修改缓存队列,从中取出数据修改项,根据同步配置队列中的同步配置,决定要同步的目的库;如果同时有多个源端对同一条记录做修改,则同步优先级最高的源端,丢弃其它修改;
(44)将同步结果返回给驱动端。
步骤(5)中,驱动端将日志文件进行备份的步骤为:
(51)建立队列日志备份队列,存储了服务器同步完成的同步数据;队列中的元素的格式和日志索引队列中的元素相同;
(52)根据收到的应答,将日志索引队列中对应的元素移动到日志备份队列中,表示内容片断同步完成;
(53)如果一个联机重做日志中全部的内容都移动到日志备份队列中,则将日志备份队列中对应的元素全部删除,同时联机重做日志重命名为归档重做日志,将其移动到归档日志目录中,备份保存。
本发明的方法采用分层设计,数据库同步软件分为驱动端和服务端。驱动端捕捉数据变化,将数据变化发送到服务端,服务端负责将变化入库完成最终的数据同步功能。一个服务端能够同时为多个驱动端进行服务。
驱动端是一个数据库驱动包,对数据库厂商提供的数据库驱动进行封装,封装后的接口和原先的数据库驱动接口相同。将上层应用使用的原生数据库驱动包替换为驱动端包,由于驱动接口相同,应用不需要做任何修改,所以驱动的替换对应用透明。驱动端包含数据接口模块、缓存刷新模块和日志处理模块。
上层应用通过数据接口模块对数据库进行访问,当应用调用数据接口模块提供的接口时,数据接口模块捕捉到对数据库的修改,将数据修改加入到修改缓存队列中,然后将访问请求发送到数据库处理,将数据处理结果返回给上层应用。修改缓存队列中的每一个数据修改项代表了一条数据的修改,它包含了数据库实例名、sql语句、修改的时间、事务ID、应用名称和应用地址。
缓存刷新模块定期将修改缓存队列中的数据写入到在线重做日志文件中。联机重做日志是一个行级文件,以时间和应用名称进行组织,每个应用每个小时一个联机重做日志,代表着尚未被其它数据库同步的数据变化。联机重做日志的每一行存储了一条数据变化,包含了数据修改项的全部内容,内容之间以逗号隔开。
日志处理模块将联机重做日志中的内容发送到服务端,它包含一个日志索引队列,队列中的每一项日志索引项记录了联机重做日志的文件名、发送的内容的起始和结束位置。日志处理模块扫描联机重做日志,发现数据变化时,获取新增加的数据的起始和结束位置,构建日志索引项对象,增加到日志索引队列中,然后发送到服务端。收到服务端发送的同步应答时将对应的日志索引项从日志索引队列中移动到日志备份队列中,表示相应的同步内容已经处理完成。当一个联机重做日志文件的全部内容处理完成时,将联机重做日志文件对应的全部日志索引项对象从日志索引队列中移除,然后将联机重做日志改名为归档重做日志,移动到归档日志目录中,备份保存。
服务端完成了具体的数据同步功能。它包含了网络处理模块、配置缓存模块和数据入库模块。
配置缓存模块包含了一个配置队列为同步配置队列,队列中的每一个条目包括基本配置信息、数据结构配置信息和数据语义配置信息。基本配置信息包含源端和目的端数据库的ip地址、数据库优先级、数据库实例名称以及端口信息,结构配置信息包含了同步表的结构信息,包括源端和目的端表的表名、列名和列类型,语义结构配置信息包括需要进行内容转换的列的列名和和转换规则。
网络处理模块接收客户端发送的变化数据,将数据进行解压,形成一个同步请求包,对请求包进行解析,形成数据修改项集合,针对集合中每一项数据修改项,在同步配置队列中查找对应的同步配置,如果找不到同步配置,丢弃数据修改项,否则将数据修改项加入到数据入库模块的修改缓存队列中。
数据入库模块完成变更数据的入库动作,最终完成数据的同步。数据入库模块为每一个数据库保存着一个修改缓存队列,该队列记录了需要入库的数据修改。数据入库模块从修改缓存队列中取出数据修改项,进行相应的数据库操作,最终完成数据的同步。
如图1所示,为需要实现同步功能的驱动端。驱动端包含了数据接口模块、缓存刷新模块和日志处理模块。
实现数据接口模块。例如需要实现Oracle数据库的同步功能,则对Oracle数据库的JDBC驱动和OCI驱动进行封装,形成新的驱动包,新的驱动包提供的接口和原先的JDBC以及OCI驱动提供的接口相同。当应用通过数据接口模块进行数据库访问时,根据附图3,如果是数据库查询,则直接进行数据库查询,然后把查询结果返回应用。如果是数据库更新,则构建数据修改项对象,该对象包含了3个元素:1,应用名称;2,应用访问的时间;3,应用访问的sql。然后将对象加入到修改缓存队列中,通知缓存刷新线程,同时,进行底层的数据库更新访问,将访问结果返回给应用。
实现缓存刷新模块。缓存刷新模块包含了一个缓存刷新线程和一个修改缓存队列。根据附图4,缓存刷新线程一直在等待数据接口模块的通知,收到通知以后它就从修改缓存队列中取出数据修改项对象,然后根据应用的名称和时间来决定日志文件名。举例来说,如果应用名称是Test,当前时间是2017年5月12号10时,则文件名就是online_test_2017051210.redo。如果文件不存在,则新建文件。然后,将数据修改项对象的内容存储到文件中,作为独立的一行,每一行的格式是:应用名称时间“sql”。数据修改项对象存储完毕时就将其从修改缓存队列中删除,然后通知日志处理模块。
实现日志处理模块。日志处理模块包含三个线程,分别是文件扫描线程、日志发送线程和消息接收线程,以及三个队列,分别是文件缓存队列、日志索引队列和日志备份队列。根据附图5,文件扫描线程将所有应用产生的重做日志文件信息缓存到文件缓存队列中,包括文件名、当前已经扫描到的文件位置。收到缓存刷新模块的通知时,根据文件缓存队列中缓存的信息,进行增量解析,解析成一个数据修改项。一个数据修改项包括了数据修改项对象、重做日志文件名、数据修改项对象在文件的起始和结束位置。然后将数据修改项加入到日志索引队列中。日志发送线程从日志索引队列中取出数据修改项对象,将其发送到服务端。消息接收线程接收服务端发送的同步应答,根据附图8,消息接收线程一直等待服务端的应答,收到应答时,将应答报文和日志索引队列中的第一个元素比较,如果不匹配,则丢弃报文。否则,记录同步结果,同时将日志索引队列中的第一个元素移动到日志备份队列中,表示同步完毕。如果一个重做日志文件全部同步完毕,则将和该重做日志文件相关的全部重做日志项从日志备份队列中删除,同时将该重做日志文件的名称前缀由online改为archive,并且将其移动到备份目录保存。
根据附图2,需要实现同步功能的服务端。服务端包含了配置缓存模块、网络处理模块和数据入库模块。
实现配置缓存模块。配置缓存模块包含一个配置队列同步配置队列,队列中的每一个条目包括基本配置信息、数据结构配置信息和数据语义配置信息。基本配置信息包含源端和目的端数据库的ip地址、数据库优先级、数据库实例名称以及端口信息,结构配置信息包含了同步表的结构信息,包括源端和目的端表的表名、列名和列类型,语义结构配置信息包括需要进行内容转换的列的列名和和转换规则。服务端初始化时配置缓存模块从数据库中读取相关的配置,初始化同步配置队列。队列同步配置队列一旦初始化完毕之后就不会再变化。
实现网络处理模块。根据附图2和附图6,网络处理模块为每个需要同步的后台数据库保存一个队列修改缓存队列,存储了需要往该数据库同步的数据。网络处理模块接收驱动端发送的同步报文。收到同步报文之后,解析成数据修改项,在配置队列同步配置队列中查找同步配置,如果无法找到同步配置就丢弃报文,否则将数据修改项以及相应的同步配置一起加入到对应数据库的修改缓存队列中,通知数据入库模块。
实现数据入库模块。根据附图7,数据入库模块收到通知后,它从相应的修改缓存队列中取出数据修改项,结合同步配置队列_item,根据配置属性,例如表映射、列映射关系,对数据修改项中的sql进行修改,修改完成后在目的端库进行执行,完成数据同步功能。然后将数据库执行结果发送回驱动端。
尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。
Claims (5)
1.一种基于驱动封装的数据库同步方法,其特征在于,包括如下步骤:
(1)对原生数据库驱动进行封装,形成同步方法的驱动端,它提供的接口和原生数据库驱动接口相同;
(2)应用通过驱动端提供的接口进行数据库访问时,如果是数据库查询,则直接查询数据库并且返回结果;否则,在进行数据库访问的同时,将修改操作记录到日志文件中;
(3)驱动端将日志文件内容发送到服务端;
(4)服务端根据日志文件的内容提取出修改操作,将修改操作同步到其它数据库中,然后将同步结果返回到驱动端;服务端同步数据的步骤为:
(41)建立一个同步配置队列,队列中的每一个条目包括基本配置信息、数据结构配置信息和数据语义配置信息;基本配置信息包含源端和目的端数据库的ip地址、数据库优先级、实例名称以及端口信息,结构配置信息包含了同步表的结构信息,包括源端和目的端表的表名、列名和列类型,语义结构配置信息包括需要进行内容转换的列的列名和转换规则;
(42)读取驱动端发送的同步数据包,将数据包解压,针对每一项数据修改项,在同步配置队列中查找对应的同步配置,如果找不到同步配置,丢弃数据修改项,否则将数据修改项加入到修改缓存队列中;
(43)读取修改缓存队列,从中取出数据修改项,根据同步配置队列中的同步配置,决定要同步的目的库;如果同时有多个源端对同一条记录做修改,则同步优先级最高的源端,丢弃其它修改;
(44)将同步结果返回给驱动端;
(5)驱动端将日志文件进行备份。
2.如权利要求1所述的基于驱动封装的数据库同步方法,其特征在于,步骤(2)中,将修改操作记录到日志文件的步骤为:
(21)建立修改缓存队列,修改缓存队列中的每一个数据修改项代表了一条数据的修改;
(22)当应用通过接口修改数据时,驱动端根据应用传递的参数构造出一个数据修改项对象,将其加入到修改缓存队列中;
(23)从修改缓存队列中取出数据修改项对象,根据应用名称和修改的时间选择相应的联机重做日志,将数据修改项的内容写入到文件中。
3.如权利要求2所述的基于驱动封装的数据库同步方法,其特征在于,步骤(21)中,数据修改项包含了数据库实例名、sql语句、修改的时间、事务ID、应用名称和应用地址。
4.如权利要求1所述的基于驱动封装的数据库同步方法,其特征在于,步骤(3)中,驱动端将日志文件内容发送到服务端的步骤为:
(31)建立日志索引队列,队列中的每一项日志索引项记录了联机重做日志的文件名、发送的内容的起始和结束位置;
(32)扫描联机重做日志,读取新增加的变化数据,将其打包压缩,同时在日志索引队列中增加一项,然后将数据发送到服务端进行处理。
5.如权利要求1所述的基于驱动封装的数据库同步方法,其特征在于,步骤(5)中,驱动端将日志文件进行备份的步骤为:
(51)建立队列日志备份队列,存储了服务器同步完成的同步数据;队列中的元素的格式和日志索引队列中的元素相同;
(52)根据收到的应答,将日志索引队列中对应的元素移动到日志备份队列中,表示内容片断同步完成;
(53)如果一个联机重做日志中全部的内容都移动到日志备份队列中,则将日志备份队列中对应的元素全部删除,同时联机重做日志重命名为归档重做日志,将其移动到归档日志目录中,备份保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710498992.9A CN107357848B (zh) | 2017-06-27 | 2017-06-27 | 基于驱动封装的数据库同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710498992.9A CN107357848B (zh) | 2017-06-27 | 2017-06-27 | 基于驱动封装的数据库同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107357848A CN107357848A (zh) | 2017-11-17 |
CN107357848B true CN107357848B (zh) | 2019-11-26 |
Family
ID=60272580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710498992.9A Active CN107357848B (zh) | 2017-06-27 | 2017-06-27 | 基于驱动封装的数据库同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357848B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460163A (zh) * | 2018-04-13 | 2018-08-28 | 郑州云海信息技术有限公司 | K-db数据库数据同步方法、装置、设备及存储介质 |
CN109783276B (zh) * | 2018-12-19 | 2021-03-02 | 远光软件股份有限公司 | 基于专用压缩卡的数据备份及恢复装置和方法 |
CN110222119B (zh) * | 2019-05-23 | 2021-08-31 | 武汉达梦数据库股份有限公司 | 一种异构数据库的数据转换同步方法、设备及存储介质 |
CN110222117A (zh) * | 2019-05-23 | 2019-09-10 | 武汉达梦数据库有限公司 | 一种异构数据库的数据转换同步方法、设备及存储介质 |
CN110321387B (zh) * | 2019-07-10 | 2022-02-01 | 中国联合网络通信集团有限公司 | 数据同步方法、设备及终端设备 |
CN111797119B (zh) * | 2020-05-19 | 2024-01-30 | 武汉乐程软工科技有限公司 | 一种缓存装置、系统及缓存方法 |
CN111752804B (zh) * | 2020-06-29 | 2022-09-09 | 中国电子科技集团公司第二十八研究所 | 一种基于数据库日志扫描的数据库缓存系统 |
CN112433992B (zh) * | 2020-11-16 | 2023-06-02 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种数据同步日志优化方法 |
CN112860778B (zh) * | 2021-03-22 | 2024-04-05 | 平安商业保理有限公司 | 桌面应用程序的数据库管理方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067483A (zh) * | 2012-12-25 | 2013-04-24 | 广东邮电职业技术学院 | 基于数据包的远程数据增量同步方法和装置 |
CN103714151A (zh) * | 2013-12-26 | 2014-04-09 | 北京锐安科技有限公司 | 一种单向光闸以及异构数据库间进行数据同步的方法 |
CN105262831A (zh) * | 2015-10-30 | 2016-01-20 | 北京奇艺世纪科技有限公司 | 一种存储系统间同步数据的方法、装置及同步系统 |
US9529850B1 (en) * | 2009-10-30 | 2016-12-27 | Microstrategy Incorporated | Data source joins |
-
2017
- 2017-06-27 CN CN201710498992.9A patent/CN107357848B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529850B1 (en) * | 2009-10-30 | 2016-12-27 | Microstrategy Incorporated | Data source joins |
CN103067483A (zh) * | 2012-12-25 | 2013-04-24 | 广东邮电职业技术学院 | 基于数据包的远程数据增量同步方法和装置 |
CN103714151A (zh) * | 2013-12-26 | 2014-04-09 | 北京锐安科技有限公司 | 一种单向光闸以及异构数据库间进行数据同步的方法 |
CN105262831A (zh) * | 2015-10-30 | 2016-01-20 | 北京奇艺世纪科技有限公司 | 一种存储系统间同步数据的方法、装置及同步系统 |
Non-Patent Citations (1)
Title |
---|
异构环境下数据库增量同步更新机制;王玉标等;《计算机工程与设计》;20110316;第948-951页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107357848A (zh) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107357848B (zh) | 基于驱动封装的数据库同步方法 | |
CN107402963B (zh) | 搜索数据的构建方法、增量数据的推送方法及装置和设备 | |
CN103026355B (zh) | 数据库管理系统 | |
US9792340B2 (en) | Identifying data items | |
US7860825B2 (en) | Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks | |
US8214355B2 (en) | Small table: multitenancy for lots of small tables on a cloud database | |
US6651070B1 (en) | Client/server database system | |
US20110145210A1 (en) | System and Method for Managing One or More Databases | |
US9515878B2 (en) | Method, medium, and system for configuring a new node in a distributed memory network | |
US9183267B2 (en) | Linked databases | |
JP2005521946A (ja) | 異なるデータ記憶部にデータを記憶する手法に関して同期を取るための方法および装置 | |
US20050262166A1 (en) | Method and system for synchronizing data between electronic devices | |
CN102332030A (zh) | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 | |
JP2000057032A (ja) | 複数のサ―バでオブジェクトを同期させる汎用システム、2つのサ―バでオブジェクトを同期させるシステム、2つのサ―バでオブジェクトを同期させる方法、2つのサ―バに存在するオブジェクトがオブジェクトのタイプに関係なく同期される汎用同期システム、2つのサ―バでのオブジェクトの同期における競合を検出して解消する方法 | |
CN106055698A (zh) | 数据迁移方法、代理节点及数据库实例 | |
CN104765840A (zh) | 一种大数据分布式存储的方法和装置 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
CN102779138B (zh) | 实时数据的硬盘存取方法 | |
US10621194B2 (en) | Automated harmonization of data | |
US20190377827A1 (en) | Method and system for scalable search using microservice and cloud based search with records indexes | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN108076081B (zh) | 一种业务数据的同步方法、装置和系统 | |
CN1627290A (zh) | 资料下载断点续传系统及方法 | |
US20040167905A1 (en) | Content management portal and method for managing digital assets | |
CN116069778A (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 |