一种数据同步时的数据初始化方法
成果类型:: 发明专利
发布时间: 2023-09-06 16:10:43
本发明的技术方案提供一种数据同步时的数据初始化方法,包括以下步骤:步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。
本发明公开一种数据同步时的数据初始化方法,包括以下步骤:步骤S1、在待初始化的装载表上定义更新游标,在源端数据库创建辅助表;步骤S2、拨动所述更新游标遍历所述装载表,并依次将所述更新游标所在行删除,每完成设定值的删除操作后在所述辅助表中插入装载表的信息并回滚整个事务,直至遍历完成;步骤S3、数据库日志同步解析模块通过分析上述过程的操作日志,完成所述装载表的初始化。本发明提供的数据同步时的数据初始化方法,在初始化过程中不需要上表锁,不会读取到源端数据库正在修改且没有提交的行,不会影响到源端数据库的正常工作。
在搭建两个数据库之间的同步时,需要初始化目标端数据库的数据。现有技术中,对加锁机制的数据库进行初始化时,通常需要对数据库上表读锁,因此,数据库在进行初始化的过程中,会拒绝外部写访问,导致初始化时用户表无法访问的问题,影响数据库的正常使用。如果不上读锁,在初始化过程中容易出现读取到数据库中正在被修改且没有提交的行,影响数据装载的一致性。
华中科技大学(Huazhong University of Science and Technology),简称华中大、华科大 ,位于湖北省武汉市,是中华人民共和国教育部直属的综合性研究型全国重点大学、位列国家“双一流”“985工程”“211工程”、入选“强基计划”“111计划”、卓越工程师教育培养计划、卓越医生教育培养计划、国家大学生创新性实验计划、国家级大学生创新创业训练计划、国家建设高水平大学公派研究生项目、国家级新工科研究与实践项目、基础学科拔尖学生培养计划2.0,是学位授权自主审核单位、全国深化创新创业教育改革示范高校、一流网络安全学院建设示范项目高校、中国政府奖学金来华留学生接收院校、教育部来华留学示范基地,为中欧工程教育平台成员和医学“双一流”建设联盟 、国际应用科技开发协作网 、全球能源互联网大学联盟成员。
与现有技术相比,本发明的有益效果包括:本发明在初始化过程中,设置了设定值,每完成设定值个删除操作就会进行回滚操作,将装载表的删除操作分成多段进行,使得进行数据初始化时,不再需要对装载表上表锁,只需对装载表上行锁即可。而回滚操作不会要求数据库立即进行日志刷盘,可以减轻数据库的IO负担。由于初始化过程中只需要对装载表上行锁,因此很大程度上降低了初始化过程对源端数据库的影响,在初始化过程中,用户仍然可以正常访问源端数据库,读取和修改装载表上的数据。同时,本发明通过更新游标的拨动遍历装载表,当拨动到正在修改且没有提交的行时,更新游标拨动就会被阻塞,避免了初始化时读取到这些正在修改的脏数据,减小初始化过程对源端数据库的数据修改操作的影响。
本专利成果采用技术转让,技术入股,技术合作等成果转化方式,希望进一步实现该专利的有益效果,有兴趣皆可面议。