CN108595522A - 一种增量同步方法、装置及*** - Google Patents
一种增量同步方法、装置及*** Download PDFInfo
- Publication number
- CN108595522A CN108595522A CN201810259007.3A CN201810259007A CN108595522A CN 108595522 A CN108595522 A CN 108595522A CN 201810259007 A CN201810259007 A CN 201810259007A CN 108595522 A CN108595522 A CN 108595522A
- Authority
- CN
- China
- Prior art keywords
- source
- synchronized
- text file
- database
- data
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种增量同步方法、装置及***涉及数据库技术领域。该增量同步方法应用于增量同步***的源服务器中,包括:通过触发器对源数据库中的操作事件进行记录,生成操作记录表;根据所述操作记录表生成待同步的文本文件;通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。本发明实施例可轻易实现异构数据库之间的数据同步,兼容性高。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种增量同步方法,一种增量同步装置以及一种增量同步***。
背景技术
随着信息技术的快速发展,数据库(Database)已成为诸如管理信息***、办公自动化***、决策支持***等各类信息***的核心部分,在信息安全、管理等各方面得到广泛的应用。
目前,数据库通常会把***、更新、删除等这些操作以二进制的格式记录到数据库日志中。在同步程序启动后,就可以从数据库日志中获取该数据库的所有操作,并可以使用这些操作对应的数据来更新同步数据仓库。但是,这种数据同步方式需要将二进制格式的日志转换为文本格式,且需要按照顺序将日志里面记录的操作读取出来,数据同步方式复杂。
此外,不同的数据库记录的操作日志的方式会有很大差别。例如,当A类型数据库和B类型数据库在结构化查询语言(Structured Query Language,SQL)语法、事物处理方式等等都不一样,A类型数据库的日志一般无法被B类型数据库使用。因此,目前采用日志的数据同步方式只能处理同一类型的数据库,兼容性低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种增量同步方法。
相应的,本发明实施例还提供一种增量同步装置和一种增量同步***,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种增量同步方法,应用于增量同步***的源服务器中,包括:通过触发器对源数据库中的操作事件进行记录,生成操作记录表;根据所述操作记录表生成待同步的文本文件;通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
可选地,所述通过触发器对源数据库中的操作事件进行记录之前,还包括:依据输入的链接信息,确定待同步的源数据表;针对所述源数据表创建对应的触发器。
可选地,所述依据所述操作记录表生成待同步的文本文件,包括:对所述操作记录表进行扫描处理,确定待同步的增量数据;基于所述待同步的增量数据,生成所述文本文件。
可选地,所述对所述操作记录表进行扫描处理,确定待同步的增量数据,包括:
对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;
依据所述操作信息,从所述源数据表中抽取待同步的增量数据。
可选地,所述从所述源数据表中抽取待同步的增量数据之后,还包括:对所述操作记录表进行清空。
本发明实施例还公开了一种增量同步装置,应用于增量同步***的源服务器中,所述装置包括:操作记录模块,用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;文本文件生成模块,用于根据所述操作记录表生成待同步的文本文件;文本文件发送模块,用于通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
可选地,还包括:源数据表确定模块,用于依据输入的链接信息,确定待同步的源数据表;触发器创建模块,用于针对所述源数据表创建对应的触发器。
可选地,所述文本文件生成模块,包括:扫描处理子模块,用于对所述操作记录表进行扫描处理,确定待同步的增量数据;生成子模块,用于基于所述待同步的增量数据,生成所述文本文件。
可选地,所述扫描处理子模块,包括:
扫描单元,用于对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;
抽取单元,用于依据所述操作信息,从所述源数据表中抽取待同步的增量数据
可选地,还包括:操作记录清空模块,用于从所述源数据表中抽取待同步的增量数据之后,对所述操作记录表进行清空。
本发明实施例还公开了一种增量同步***,包括:源服务器和目标服务器;
所述源服务器,用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;根据所述操作记录表生成待同步的文本文件;以及,通过网络,将所述文本文件发送给目标服务器;
所述目标服务器,用于接收源服务器所发送的文本文件;对所述文本文件进行读取解析,得到待同步的增量数据;以及,将所述增量数据加载至目标数据库中。
本发明实施例包括以下优点:
本发明实施例可以根据操作记录表生成文本文件,以通过传输文本文件的形式将需要同步的增量数据加载至目标数据库中,不需进行格式转换,同步方式简单,可以轻易实现异构数据库之间的数据同步,兼容性高。
附图说明
图1是本发明的一种增量同步方法实施例的步骤流程图;
图2是本发明的另一种增量同步方法实施例的步骤流程图;
图3是本发明一个示例中的源数据库与目标数据库之间的增量同步的示意图;
图4是本发明的一种增量同步方法可选实施例的步骤流程图;
图5是本发明的一种增量同步装置实施例的结构框图;
图6是本发明的另一种增量同步装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。其中,数据抽取、转化和加载(Extraction-Transformation-Loading,ETL)是构建数据仓库的重要一环。用户可以从数据源抽取出所需的数据,经过数据清洗和加工后,可以按照预先定义好的模型,将数据加载到目的数据仓库中。
目前,在进行ETL时,通常需要对源数据表进行全表扫描,然后和目标数据表进行比对,以实现源数据表和目标数据表的数据同步。例如,在进行ETL数据同步时,通常是由一个进程将数据从源数据表抽取出来,并将抽取出来的数据和目标数据表中的数据进行比对,以在目标数据表没有抽取到的数据时将该数据加载到目标数据表中。但是,当源数据表的数据量非常大时,通过全表扫描来实现数据同步,就会影响数据同步效率,效率低下。
本发明实施例的核心构思之一在于,借助触发器(Trigger)将源数据表中增删改的数据记录另外的表——操作记录表,以在数据同步时可以通过该操作记录表将需要同步的增量数据同步至目标数据库中,从而避免了对源数据库中的源数据表进行全表扫描导致的效率低下问题,提高数据同步效率。
需要说明的是,本发明实施例中的触发器可以是指数据库中的触发器,可以是与数据库表事件相关的特殊的存储过程。该触发器的执行可以是由事件来触发,如在对数据库的一个表进行操作时就会激活触发器执行。具体的,可以在对一个表进行***(Insert)操作时激活触发器执行,以通过该触发器对***操作进行记录;也可以在对一个表进行删除(Delete)操作时激活触发器执行,以通过该触发器对删除操作进行记录;还可以在对一个表进行更新(Update)操作时激活触发器执行,以通过触发器对更新操作进行记录,等等。
在具体实现中,当源数据表和目标数据表在两个不同的数据库中,而这两个数据库处于不同的服务器上,即源数据库和目标数据库处于不同的机器上,本发明实施例可以通过增量同步***中的源服务器将待同步的增量数据抽取到文本文件,并且可以通过网络将该文本文件发送给增量同步***中的目标服务器中,以通过该目标服务器将文本文件中的增量数据加载到目标数据库,从而实现源数据库和目标数据库之间的数据同步。其中,源服务器可以是源数据库所处于的服务器;目标服务器可以表示目标服务器所处于的服务器。
具体的,为了实现处于不同机器上的两个数据库之间的数据同步,本发明实施例提出了一种增量同步方法和***。该增量同步***可以包括:源服务器和目标服务器。其中,源服务器可以用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;根据所述操作记录表生成待同步的文本文件;以及,通过网络,将所述文本文件发送给目标服务器。目标服务器可以用于接收源服务器所发送的文本文件;对所述文本文件进行读取解析,得到待同步的增量数据;以及,将所述增量数据加载至目标数据库中。可见,本发明实施例可以根据操作记录表生成文本文件,以通过传输文本文件的形式将需要同步的增量数据加载至目标数据库中,不需进行格式转换,同步方式简单,可以轻易实现异构数据库之间的数据同步,兼容性高。
参照图1,示出了本发明的一种增量同步方法实施例的步骤流程图,应用于增量同步***的源服务器中,具体可以包括如下步骤:
步骤101,通过触发器对源数据库中的操作事件进行记录,生成操作记录表。
具体而言,在确定需要同步的源数据库之后,源服务器可以通过同步程序,在源数据库中为需要同步的源数据表创建触发器,并可创建对应的操作记录表,以通过触发器将对源数据库的操作事件记录到操作记录表中。其中,源数据库可以包括一个或多个源数据表。操作事件可以用于表征在源数据表中进行数据库操作,可以包括Insert操作、Delete操作、Update操作等等,本发明实施例对此不作限制。
步骤102,根据所述操作记录表生成待同步的文本文件。
在本发明实施例中,源服务器可以通过对操作记录表进行扫描,从源数据库的源数据表中抽取出待同步的增量数据,随后可以基于抽取到的这些增量数据生成文本文件,以便后续可以通过传输文本的形式将这些增量数据同步给目标数据器。其中,待同步的增量数据可以表征源数据库中需要同步给目标数据库的数据,可以包括数据库中待处理的同步数据,如可以包括源数据库的源数据表中新***的数据、源数据表中新修改的数据、源数据表中新删除的数据等等,本发明实施例对此不作限制。
步骤103,通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
具体的,源服务器可以借助网络,将需要同步的文本文件发送给目标服务器,使得该目标服务器可以接收到该文本文件,从而可以触发目标文件依据该文本文件将需要同步的增量数据加载值目标数据库,实现源数据库和目标数据库之间的数据同步。
参照图2,示出了本发明的另一种增量同步方法实施例的步骤流程图,应用于增量同步***的目标服务器中,具体可以包括如下步骤:
步骤201,接收源服务器所发送的文本文件。
步骤202,对所述文本文件进行读取解析,得到待同步的增量数据。
本发明实施例中,目标服务器在接收到源服务器所发送的文本文件后,可以通过同步撤销该对该文本文件进行读取、解析,得到该文本文件中所包含的待同步的增量数据。
步骤203将所述增量数据加载至目标数据库中。
具体的,目标服务器可以通过同步程序,将得到的这些待同步的增量数据加载至目标数据库中,实现目标数据库的更新,完成了原源数据库与目标数据库之间的数据同步。
可选的,本发明实施例在实现增量数据同步过程中,可以分为源端、网络层和目标端这三个部分。其中,源端可以是需要同步的增量数据所在的关系型数据库所处的源数据器。源端可以利用触发器将数据库操作记录到操作记录表中,并可根据该操作记录表生成同步数据的文本文件。网络层可以是指在生成同步数据文件后,需要借助网络将该文本文件传输到目标端,如可以借助文本传输协议(File Transfer Protocol,FTP)或免费软件SAMBA所使用的协议等实现文本文件的传输。目标端可以是目标数据库所在的目标服务器,在接收到文本文件后,可以对该文本文件进行读取解析,以将文本文件中所包含的需要同步的数据加载至目标数据库中。其中,SAMBA可以是在***信息服务块(Server MessagesBlock,SMB)协议的一种免费软件,可以由服务器及客户端程序组成。
在具体实现中,应用本发实施例,可以将同步程序分为两个,一个可以为源端同步程序,另一个可以为目标端同步程序。源端同步程序可以运行在源服务器中,可以负责将数据从源数据库的源数据包中抽取到文本文件。目标端同步程序可以运行在目标服务器中,可以负责将文本文件中的数据装到目标数据库的。例如,如图3所示,源服务器可以利用触发器将数据库操作记录到对应的操作记录表中,并且可以通过源端同步程序,根据操作记录生成同步数据的文本文件,随后可以通过该同步数据的文本文件发送到目标数据源所处的目标服务器。目标服务器在接收到同步数据的文本文件后,可以通过目标端同步程序对该文本文件进行读取解析,以及可以将读取解析到的数据加载至目标数据库中。
综上,本发明实施例可以通过源端同步程序处理源数据库的操作记录表,并可以根据该操作记录白生成文本文件,从而使得目标端同步程序只需要处于这个文本文件,就可以将增量数据同步到目标数据库中。可见,本发明实施例通过这种生成中间文本文件的形式,可以避免数据同步过程中对网络的长期依赖,只需要在传递文本文件的时候使用网络,解决了网络差导致数据同步效率低下的问题。
参照图4,示出了本发明的一种增量同步方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤401,通过触发器对源数据库中的操作事件进行记录,生成操作记录表。
具体的,在第一次连接到源数据库时,可以确认需要同步的数据库表,并且可以将确认的数据库表确定为源数据表,以便后续乐意通过源端同步程序该源数据表创建触发器和对应的操作记录表,从而可以通过触发器将对该源数据操作表的操作记录到对应的操作记录表中。其中,操作记录表和源数据表可以在同一个数据库中,也可以在不同的数据库中,本发明实施例对此不作限制。
在具体实现中,用户可以通过在页面输入链接信息,以指定需要进行同步的源数据库和/或源数据表。因此,在本发明的一个可选实施例中,上述通过触发器对源数据库中的操作事件进行记录之前,还可以包括:依据输入的链接信息,确定待同步的源数据表;针对所述源数据表创建对应的触发器。
具体的,源数据服务器在接收用户所输入的源数据库的链接信息后,可以根据该源数据库的连接信息获取源数据库的链接权限,以基于该源数据库的链接权限与源数据库建立链接。若用户没有指定源数据库中需要进行同步的源数据表,则可以将该源数据库中的一个或多个表确定为当前的待同步的源数据表;若用户指定了源数据库中需要进行同步的源数据表,则可以直接将用户所指定的源数据表确定为当前的待同步的源数据表。在与源数据库建立链接后,可以获取源数据库中创建触发器及表的创建权限,以基于该创建权限创建源数据表对应的触发器和操作记录表。其中,创建权限可以包括在数据库上创建表,触发器等数据库实例的权限;触发器可以用于记录记录在源数据表上的数据库操作,如增加操作、删除操作、修改操作等,本发明实施例对此不作限制。
同理,用户还可以输入目标数据库的链接信息,以指定需要进行同步的目标数据库。在接收到目标数据库在目标数据库的链接信息后,可以依据该目标数据库的链接信息获取目标数据库的链接权限,以基于该目标数据库的链接权限与目标数据库进行链接,与该目标数据库进行通数据传输。可选的,在进行同步之前,目标端同步程序可以按照需要同步的源数据表,在目标数据库中创建目标数据表,以采用该目标数据表存储同步的增量数据。
例如,用户可以通过页面指定需要进行同步的源数据库的链接信息,并且可以选择需要进行同步的源数据表,以及可以指定进行同步的目标数据库的链接信息。源服务器可以根据用户所输入的源数据库的链接信息链接源数据库,并可通过源端同步程序在源数据库中需要进行同步的源数据表上创建触发器,以通过该触发器记录这些需要进行同步的源数据表上的数据库操作。可选的,源端同步程序在创建触发器的同时,可以创建对应的操作记录表,使得触发器可以将数据库操作记录到操作记录表中。操作记录表可以存储触发器所记录的数据库操作对应的操作信息,如源数据表的主键,操作标识以及时间戳等。这些操作记录表可以单独存储在一个或多个数据库中,本发明实施例对此不作限制。
步骤402,对所述操作记录表进行扫描处理,确定待同步的增量数据。
本发明实施例中,源服务器可以通过源端同步程序,对操作记录表进行扫描处理,如可以定时对源数据表对应的这些操作记录表进行扫描,以从源数据表抽取出需要进行同步的增量数据,并可将抽取到的增量数据确定为当前的待同步的增量数据,随后执行步骤403。
在本发明的一个可选实施例中,上述对所述操作记录表进行扫描处理,确定待同步的增量数据,可以包括:对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;依据所述操作信息,从所述源数据表中抽取待同步的增量数据。例如,源服务器中的源端同步程序可以通过定期扫描这些操作记录表,确定出操作记录表中记录的操作信息,随后可通过操作信息中的主键值,将需要同步的数据从源表中抽取出来,作为待同步的增量数据。
步骤403,基于所述待同步的增量数据,生成所述文本文件。
具体的,源端同步程序抽取出待同步的增量数据后,可以将这些增量数据生成文本件,以便后续可以通过网络层以文本形式将待同步的增量数据发送给目标服务器,使得目标服务器无需进行格式转化,加快数据同步效率。
本发明实施例中,在每次处理完操作记录表后,可以情况操作记录表。可选地,所述从所述源数据表中抽取待同步的增量数据之后,还包括:对所述操作记录表进行清空。
例如,源端同步程序可以按照操作标识将抽取到的这些增量数据生成文本数据,并且按照时间戳顺序地把这些文本数据的值***到文本文件中,从而实现了将抽取到的增量数据保存到文本文件中。在将增量数据保存到文本文件后,可以清空操作记录表中所记录的操作信息,从而节省存储资源。
步骤404,通过网络,将所述文本文件发送给目标服务器。
具体的,源服务器可以通过网络,使用FTP或SAMBA将文本文件发送到目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。例如,运行在源服务器的源端同步程序在生成文本文件后,可以通过网络将文本文件发送到目标服务器的固定目录中,从而使得目标舒服器可以通过对该固定目标进行扫描,读取到该文本文件中的增量数据。
步骤405,目标服务器在接收到文本文件后,将所述文本文件中的增量数据加载至目标数据库中。
具体的,目标服务器在接收到文本文件后,就可以开始对该文本文件进行读取解析,得到该文本文件中所包含的待同步的增量数据,随后可以基于该待同步的增量数据对目标数据库进行更新。例如,运行在目标服务器中的目标端同步程序可以定期扫描目标服务器的固定目录,以在有新的文本文件到来时便开始逐条读取解析文本文件中的数据。在读取解析到待同步的增量数据时,就可以依据该增量数据更新目标数据库。
综上,本发明实施例提供的增量同步方法和***可以通过源数据库的链接权限、创建触发器及表的权限,将源数据库的操作记录到操作记录表中,使得同步程序通过对这些操作记录表进行扫描处理就可以生成文本文件,以基于文本形式实现数据同步,解析了现有技术采用日志方式实现数据同步所导致的兼容性低、效率低等问题,提高数据同步效率。兼容性高
此外,本发明实施例提供的增量同步方法和***方式简单,能够轻易满足异构数据库之间的同步需求,兼容性高。在目标数据库和源数据库在不同机器上,应用本发明实施例,可以只在传递文本文件的时候使用网络,避免同步过程中对网络的长期依赖;并可以异步实现ETL过程中数据抽取和数据加载,即实现了异步的数据同步。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种增量同步装置实施例的结构框图,应用于增量同步***的源服务器中,具体可以包括如下模块:
操作记录模块501,用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;
文本文件生成模块502,用于根据所述操作记录表生成待同步的文本文件;
文本文件发送模块503,用于通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
在本发明的一个可选实施例中,该增量同步装置还可以包括如下模块:
源数据表确定模块,用于依据输入的链接信息,确定待同步的源数据表;
触发器创建模块,用于针对所述源数据表创建对应的触发器。
在本发明实施例中,可选地,所述文本文件生成模块可以包括如下子模块:
扫描处理子模块,用于对所述操作记录表进行扫描处理,确定待同步的增量数据;
生成子模块,用于基于所述待同步的增量数据,生成所述文本文件。
在本发明的一个可选实施例中,所述扫描处理子模块可以包括如下单元:
扫描单元,用于对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;
抽取单元,用于依据所述操作信息,从所述源数据表中抽取待同步的增量数据
在本发明的一个可选实施例中,该增量同步装置还可以包括:操作记录清空模块,用于从所述源数据表中抽取待同步的增量数据之后,对所述操作记录表进行清空。
参照图6,示出了本发明的另一种增量同步装置实施例的结构框图,应用于增量同步***的目标服务器中,具体可以包括如下模块:
文本文件接收模块601,用于接收源服务器所发送的文本文件;
文本解析读取模块602,用于对所述文本文件进行读取解析,得到待同步的增量数据;
增量数据加载模块603,用于将所述增量数据加载至目标数据库中。
对于***、装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种增量同步方法、一种增量同步装置以及一种增量同步***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种增量同步方法,其特征在于,应用于增量同步***的源服务器中,所述方法包括:
通过触发器对源数据库中的操作事件进行记录,生成操作记录表;
根据所述操作记录表生成待同步的文本文件;
通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
2.根据权利要求1所述的方法,其特征在于,所述通过触发器对源数据库中的操作事件进行记录之前,还包括:
依据输入的链接信息,确定待同步的源数据表;
针对所述源数据表创建对应的触发器。
3.根据权利要求1或2所述的方法,其特征在于,所述依据所述操作记录表生成待同步的文本文件,包括:
对所述操作记录表进行扫描处理,确定待同步的增量数据;
基于所述待同步的增量数据,生成所述文本文件。
4.根据权利要求3所述的方法,其特征在于,所述对所述操作记录表进行扫描处理,确定待同步的增量数据,包括:
对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;
依据所述操作信息,从所述源数据表中抽取待同步的增量数据。
5.根据权利要求3所述的方法,其特征在于,所述从所述源数据表中抽取待同步的增量数据之后,还包括:
对所述操作记录表进行清空。
6.一种增量同步装置,其特征在于,应用于增量同步***的源服务器中,所述装置包括:
操作记录模块,用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;
文本文件生成模块,用于根据所述操作记录表生成待同步的文本文件;
文本文件发送模块,用于通过网络,将所述文本文件发送给目标服务器,以触发所述目标服务器将所述文本文件中的增量数据加载至目标数据库中。
7.根据权利要求6所述的装置,其特征在于,还包括:
源数据表确定模块,用于依据输入的链接信息,确定待同步的源数据表;
触发器创建模块,用于针对所述源数据表创建对应的触发器。
8.根据权利要求6或7所述的装置,其特征在于,所述文本文件生成模块,包括:
扫描处理子模块,用于对所述操作记录表进行扫描处理,确定待同步的增量数据;
生成子模块,用于基于所述待同步的增量数据,生成所述文本文件。
9.根据权利要求8所述的装置,其特征在于,所述扫描处理子模块,包括:
扫描单元,用于对所述操作记录表进行扫描,确定所述操作记录表中记录的操作信息,其中,所述操作信息包括以下至少一项:源数据表的主键信息、操作标识以及时间戳;
抽取单元,用于依据所述操作信息,从所述源数据表中抽取待同步的增量数据。
10.根据权利要求9所述的装置,其特征在于,还包括:
操作记录清空模块,用于从所述源数据表中抽取待同步的增量数据之后,对所述操作记录表进行清空。
11.一种增量同步***,其特征在于,包括:源服务器和目标服务器;
所述源服务器,用于通过触发器对源数据库中的操作事件进行记录,生成操作记录表;根据所述操作记录表生成待同步的文本文件;以及,通过网络,将所述文本文件发送给目标服务器;
所述目标服务器,用于接收源服务器所发送的文本文件;对所述文本文件进行读取解析,得到待同步的增量数据;以及,将所述增量数据加载至目标数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810259007.3A CN108595522A (zh) | 2018-03-27 | 2018-03-27 | 一种增量同步方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810259007.3A CN108595522A (zh) | 2018-03-27 | 2018-03-27 | 一种增量同步方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595522A true CN108595522A (zh) | 2018-09-28 |
Family
ID=63624841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810259007.3A Pending CN108595522A (zh) | 2018-03-27 | 2018-03-27 | 一种增量同步方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595522A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828977A (zh) * | 2018-12-27 | 2019-05-31 | 东软集团股份有限公司 | 同步表单数据的方法、装置和存储介质及客户端、服务端 |
CN110083579A (zh) * | 2019-03-21 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 增量数据同步的方法、装置、计算机设备及计算机存储介质 |
CN110347747A (zh) * | 2019-06-14 | 2019-10-18 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、***、计算机设备及存储介质 |
CN110674146A (zh) * | 2019-08-22 | 2020-01-10 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
CN110851413A (zh) * | 2019-11-08 | 2020-02-28 | 深圳市元征科技股份有限公司 | 一种数据同步方法、装置及电子设备和存储介质 |
CN111125214A (zh) * | 2019-12-02 | 2020-05-08 | 武汉虹信技术服务有限责任公司 | 一种轻量级增量数据同步方法、装置及计算机可读介质 |
CN111159208A (zh) * | 2019-12-19 | 2020-05-15 | 武汉达梦数据库有限公司 | 一种源端并发导致触发器增量同步异常的处理方法 |
CN113722392A (zh) * | 2020-05-26 | 2021-11-30 | 北京达佳互联信息技术有限公司 | 数据同步方法和装置、数据同步***、服务器、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | ***通信集团公司 | 一种数据同步方法及装置 |
CN107229721A (zh) * | 2017-06-02 | 2017-10-03 | 泰华智慧产业集团股份有限公司 | 一种变更数据抽取的方法及装置 |
CN107590277A (zh) * | 2017-09-28 | 2018-01-16 | 泰康保险集团股份有限公司 | 数据同步方法、装置、电子设备及存储介质 |
-
2018
- 2018-03-27 CN CN201810259007.3A patent/CN108595522A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320680A (zh) * | 2014-07-15 | 2016-02-10 | ***通信集团公司 | 一种数据同步方法及装置 |
CN107229721A (zh) * | 2017-06-02 | 2017-10-03 | 泰华智慧产业集团股份有限公司 | 一种变更数据抽取的方法及装置 |
CN107590277A (zh) * | 2017-09-28 | 2018-01-16 | 泰康保险集团股份有限公司 | 数据同步方法、装置、电子设备及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828977A (zh) * | 2018-12-27 | 2019-05-31 | 东软集团股份有限公司 | 同步表单数据的方法、装置和存储介质及客户端、服务端 |
CN110083579A (zh) * | 2019-03-21 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 增量数据同步的方法、装置、计算机设备及计算机存储介质 |
CN110347747A (zh) * | 2019-06-14 | 2019-10-18 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、***、计算机设备及存储介质 |
CN110674146A (zh) * | 2019-08-22 | 2020-01-10 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
CN110674146B (zh) * | 2019-08-22 | 2022-01-25 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
CN110851413A (zh) * | 2019-11-08 | 2020-02-28 | 深圳市元征科技股份有限公司 | 一种数据同步方法、装置及电子设备和存储介质 |
CN111125214A (zh) * | 2019-12-02 | 2020-05-08 | 武汉虹信技术服务有限责任公司 | 一种轻量级增量数据同步方法、装置及计算机可读介质 |
CN111125214B (zh) * | 2019-12-02 | 2023-08-25 | 武汉虹信技术服务有限责任公司 | 一种轻量级增量数据同步方法、装置及计算机可读介质 |
CN111159208A (zh) * | 2019-12-19 | 2020-05-15 | 武汉达梦数据库有限公司 | 一种源端并发导致触发器增量同步异常的处理方法 |
CN111159208B (zh) * | 2019-12-19 | 2022-03-25 | 武汉达梦数据库股份有限公司 | 一种源端并发导致触发器增量同步异常的处理方法 |
CN113722392A (zh) * | 2020-05-26 | 2021-11-30 | 北京达佳互联信息技术有限公司 | 数据同步方法和装置、数据同步***、服务器、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595522A (zh) | 一种增量同步方法、装置及*** | |
WO2020147392A1 (zh) | 数据库之间的数据同步方法和*** | |
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN110032604B (zh) | 数据存储装置、转译装置及数据库访问方法 | |
US9251236B2 (en) | Document synchronization solution | |
JP5509596B2 (ja) | データ管理装置 | |
US10565208B2 (en) | Analyzing multiple data streams as a single data object | |
US7933296B2 (en) | Services for data sharing and synchronization | |
US8260742B2 (en) | Data synchronization and consistency across distributed repositories | |
CN103559217B (zh) | 一种面向异构数据库的海量组播数据入库实现方法 | |
CN102164186B (zh) | 一种实现云搜索服务的方法及*** | |
JP5314504B2 (ja) | 検索装置、検索プログラムおよび検索方法 | |
CN102368261A (zh) | 一种可扩展的运维报表生成方法 | |
CN109739867A (zh) | 一种工业元数据管理方法及*** | |
JP5600736B2 (ja) | データベース管理方法およびシステム | |
US9813417B2 (en) | Systems and methods for creating and displaying an electronic communication digest | |
CN106599061A (zh) | 基于SQLite的嵌入式数据库同步方法 | |
US20090235185A1 (en) | Simplifying synchronization of copies of same data used by multiple applications | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
KR20130075546A (ko) | 파일 클라우드 서비스 장치 및 방법 | |
CN104378234A (zh) | 跨数据中心的数据传输处理方法及*** | |
WO2018148926A1 (en) | Card-based information management method and system | |
CN109271561A (zh) | 一种图谱信息检索方法及装置 | |
CN101256572B (zh) | 一种xml文档操作方法及xdms | |
CN102594874B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |