【技术实现步骤摘要】
一种用于MySQL数据库的数据同步方法、设备及介质
[0001]本专利技术涉及数据处理领域,特别是涉及一种用于MySQL数据库的数据同步方法、设备及介质。
技术介绍
[0002]由于服务器和大数据量的需要,以防因为突发事件致使服务器的单一数据库造成损坏,丢失用户数据,就需设置两个数据库,一个为主数据库,另一个为备用数据库,要实时的将主数据库中的数据与备用数据库中的数据进行同步,当主数据库不能使用时,可以通过调用备用数据库的数据来维持服务器的运行。
[0003]目前对两个MySQL数据库的数据进行同步时,采用变更数据捕获技术实现,可以实时的从数据库事务日志中捕获已提交的增量数据,但在数据库使用的真实场景中,通常不会保留数据库所有的事务日志,即无法通过事务日志获取完整的全量数据(历史数据),一般情况下,会通过全量数据迁移与增量数据同步两个步骤来获取数据库特定表的全集数据,但存在以下问题:在全量数据传输时,需要完全停止增量数据的传输,当有大量的待传输的全量数据时,将导致增量数据的长时间停滞,直至完整的全量数据同步结束,无法 ...
【技术保护点】
【技术特征摘要】
1.一种用于MySQL数据库的数据同步方法,其特征在于,应用于数据服务器,所述数据服务器连接有待迁移数据库和目标数据库,所述待迁移数据库和目标数据库均为MySQL数据库,所述待迁移数据库中包括若干待迁移事件、若干待更新事件和事件信号表,每个所述待迁移事件包括若干待迁移数据;每个所述待更新事件包括若干待更新数据;所述待更新数据为所述待迁移数据在迁移至所述目标数据库的过程中对应的更新数据;所述目标数据库根据所述事件信号表获取所述待迁移数据库中的全量数据;所述事件信号表中包括若干行数据表格,且所述事件信号表中设有若干个事件窗口,每个所述事件窗口的长度为m,以使m行数据表格分配到同一个事件窗口中;每个所述事件窗口包括一窗口起始标记和一窗口结束标记,以使所述数据服务器依次处理由所述窗口起始标记至所述窗口结束标记内的数据表格的数据;所述方法包括如下步骤:S100、响应于所述待迁移数据库发出的数据同步请求;S200、根据所述数据同步请求,获取待迁移事件集J=(J1,J2,...,J
i
,...,J
n
);其中,i=1,2,...,n;n为所述待迁移数据库中待迁移事件的数量;J
i
为所述待迁移数据库中第i个待迁移事件;S300、将J
i
存储至所述事件信号表的第G
i1
个事件窗口中;其中,G
i1
为J
i
所在的事件窗口序号,G
i1
=Ceiling(i/m),Ceiling()为向上取整函数;S400、根据J1,J2,...,J
i
,...,J
n
,获取待更新事件集E=(E1,E2,...,E
i
,...,E
n
);其中,E
i
为J
i
对应的待更新事件;S500、若E
i
≠0,则将E
i
存储至所述事件信号表的第G
i1
个事件窗口中;S600、依次遍历所述事件信号表的所有事件窗口,若E
i
=J
i
,则将所述事件信号表中的J
i
替换为E
i
;S700、将所述事件信号表发送至所述目标数据库。2.根据权利要求1所述的方法,其特征在于,所述事件窗口的长度m符合如下条件:m=H/(Q/P);其中,H为所述数据服务器的内存的最大存储容量,Q为所述待迁移数据库中所有待迁移数据的数据总量,P为所述待迁移数据库中待迁移数据的数量。3.根据权利要求1所述的方法,其特征在于,所述步骤S300,包括:S310、若m>r,则将J
i
存储至所述事件信号表的第G
i1
个事件窗口中;其中,r为第G
【专利技术属性】
技术研发人员:魏兴华,罗春,陈栋,李建辉,张文件,李春,吴炎,臧冰凌,
申请(专利权)人:杭州沃趣科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。