The invention discloses a method for synchronization or initialization between multiple subdatabases and a central database, including a central database and several subdatabases; subdatabases that need to be synchronized or initialized are added to the queue in turn; at least two subdatabases at the head of the queue correspond to different lines entering the thread pool respectively Each thread determines whether the sub-database needs initialization or synchronization; if initialization is required, the data in the sub-database is compared with the data in the central database, the data in the sub-database is corrected which does not conform to the central database, and the trigger of additions and deletions and corresponding customization are added to the sub-database. If synchronous processing is needed, the data of the user-defined log table records in the sub-database will be updated to the central library, and the records that should be added or deleted in the user-defined log table will be deleted.
【技术实现步骤摘要】
一种多个子数据库与中心库之间同步或初始化的方法
本专利技术涉及数据库领域,特别是数据库的同步与初始化处理方法。
技术介绍
传统多个数据库同步到中心库或者数据库根据中心库内容初始化的方法都是采用ETL工具,此方式一对一处理,不够灵活、容错性能差,即使能实现多对一同步,但要实现实时并不容易。而且这个同步是需要持续的,在出现网络偶尔中断等异常情况下要将目标库上的数据恢复至正常很难做到。其中,初始化处理是要将子数据库中的数据与中心库中的数据进行批量对比,修正不符的数据,使得两者数据保持一致,同步处理一般指的是增量同步,将子数据库中的增量修改(增、删、改)过的数据同步到中心库,传统的同步或者初始化处理过程都有严重的滞后性,不能做到实时处理。
技术实现思路
为解决上述技术问题,本专利技术的目的是提供一种多个子数据库与中心库之间灵活、高效同步或初始化处理的方法。本专利技术采用的技术方案是:一种多个子数据库与中心库之间同步或初始化的方法,包括中心库以及若干个能够对内部数据进行增删改操作的子数据库;将需要同步或初始化的子数据库依次添加到队列中;位于队列头部的至少两个子数据库分别对应地进入线程池中的不同的线程;每个线程中判断子数据库是需要初始化处理还是同步处理;若需要初始化处理,则将子数据库中的数据与中心库的数据对比,修正子数据库中与中心库不符的数据,并且为该子数据库添加增删改的触发器以及相应的自定义日志表;若需要同步处理,则将子数据库中自定义日志表记录的增删改过的数据更新到中心库中,并删除自定义日志表中对应该增删改的记录;将已完成初始化处理还是同步处理的子数据库返回队列尾部。对 ...
【技术保护点】
1.一种多个子数据库与中心库之间同步或初始化的方法,其特征在于:包括中心库以及若干个能够对内部数据进行增删改操作的子数据库;将需要同步或初始化的子数据库依次添加到队列中;位于队列头部的至少两个子数据库分别对应地进入线程池中的不同的线程;每个线程中判断子数据库是需要初始化处理还是同步处理;若需要初始化处理,则将子数据库中的数据与中心库的数据对比,修正子数据库中与中心库不符的数据,并且为该子数据库添加增删改的触发器以及相应的自定义日志表;若需要同步处理,则将子数据库中自定义日志表记录的增删改过的数据更新到中心库中,并删除自定义日志表中对应该增删改操作的记录信息;将已完成初始化处理还是同步处理的子数据库返回队列尾部。
【技术特征摘要】
1.一种多个子数据库与中心库之间同步或初始化的方法,其特征在于:包括中心库以及若干个能够对内部数据进行增删改操作的子数据库;将需要同步或初始化的子数据库依次添加到队列中;位于队列头部的至少两个子数据库分别对应地进入线程池中的不同的线程;每个线程中判断子数据库是需要初始化处理还是同步处理;若需要初始化处理,则将子数据库中的数据与中心库的数据对比,修正子数据库中与中心库不符的数据,并且为该子数据库添加增删改的触发器以及相应的自定义日志表;若需要同步处理,则将子数据库中自定义日志表记录的增删改过的数据更新到中心库中,并删除自定义日志表中对应该增删改操作的记录信息;将已完成初始化处理还是同步处理的子数据库返回队列尾部。2.根据权利要求1所述的一种多个子数据库与中心库之间同步或初始化的...
【专利技术属性】
技术研发人员:余敬龙,
申请(专利权)人:广东能龙教育股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。