【技术实现步骤摘要】
确定数据库主从差异的方法、装置及切换控制方法、装置
本专利技术涉及计算机技术,更具体地,涉及一种确定数据库主从差异的方法、装置及切换控制方法、装置。
技术介绍
如图1所示,数据库一般采用一主一从的主从架构来提供高可用性的服务。正常情况下,由主数据库实例(简称为主库)对外服务。如果对外服务的进程执行了对数据的更改(一般是通过一个“事务”来进行),则会在把更改写入数据库存储前,由日志写入与发送模块先写入到事务日志中,一般是以日志文件的形式保存,在一个日志文件写满后再写下一个日志文件。所述日志写入与发送模块不断通过网络连接,将主库产生的日志发送给从数据库实例(简称为从库,也可称为备库)。从库接收到日志后,将其进行回放,以使其数据与主库同步。在主库发生宕机等异常,无法对外服务时,需要切换到从库,由从库继续提供服务,从而实现高可用性。主从如果采用同步的事务提交机制,则在一个数据库事务完成时,主库要等到事务日志到达从库后,才回复用户连接事务提交完成。但这种模式因事务完成时间较长导致性能较低。所以主从一般采用异步的事务提交机制,即在完成一个事务时,主库不等待日志发送到从库,即回复用户提交已完成。异步模式在出现主库宕机时,可能产生有些日志未从主库发到从库,导致主从数据差异的情况。因此,在主库宕机,准备切换到从库时,要判断主从之间的数据差异情况,如果数据差异过大,可以放弃切换。相关的判断数据差异的办法是主库将当前时间对应的时间戳不断写入一个心跳表,此心跳表的内容也会不断同步给从库。当主从切换时,查看从库现有心跳表里的时间戳数据,与最后更新到主库的时间戳的差异,即可算出主从之 ...
【技术保护点】
1.一种确定数据库主从差异的方法,包括:在主库故障时,获取主库最新日志文件的修改时间戳T0,及获取从库最新日志文件的修改时间戳T1;将所述T0和T1的时间差确定为数据库主从差异对应的时间延迟。
【技术特征摘要】
1.一种确定数据库主从差异的方法,包括:在主库故障时,获取主库最新日志文件的修改时间戳T0,及获取从库最新日志文件的修改时间戳T1;将所述T0和T1的时间差确定为数据库主从差异对应的时间延迟。2.如权利要求1所述的方法,其特征在于:所述方法还包括:在所述主库工作时,按照设定的时间间隔从主库所在机器的操作系统获取主库最新日志文件的修改时间戳并记录;在主库故障时,获取主库最新日志文件的修改时间戳T0,包括:在所述主库故障时,将最后记录的主库最新日志文件的修改时间戳作为T0。3.如权利要求1所述的方法,其特征在于:所述方法还包括:在所述主库工作时,按照设定的时间间隔从所述主库所在机器的操作系统获取主库最新日志文件的修改时间戳并记录;在主库故障时,获取主库最新日志文件的修改时间戳T0,包括:在所述主库故障时,如果从所述主库所在机器的操作系统获取到主库最新日志文件的修改时间戳,将获取的修改时间戳作为T0,否则将最后记录的主库最新日志文件的修改时间戳作为T0。4.如权利要求1或2或3所述的方法,其特征在于:在主库故障时,获取从库最新日志文件的修改时间戳T1,包括:在所述主库故障时,从所述从库所在机器的操作系统获取从库最新日志文件的修改时间戳,将获取的修改时间戳作为T1。5.如权利要求1或2或3所述的方法,其特征在于:所述方法还包括:在所述主库工作时,按照设定的时间间隔从所述从库所在机器的操作系统获取从库最新日志文件的修改时间戳并记录;在主库故障时,获取从库最新日志文件的修改时间戳T1,包括:在所述主库故障时,如果从所述从库所在机器的操作系统获取到从库最新日志文件的修改时间戳,将获取的修改时间戳作为T1,否则将最后记录的从库最新日志文件的修改时间戳作为T1。6.一种确定数据库主从差异的确定装置,其特征在于,包括:时间获取模块,设置为:在主库故障时,获取主库最新日志文件的修改时间戳T0,及获取从库最新日志文件的修改时间戳T1;差异确定模块,设置为:将所述T0和T1的时间差确定为数据库主从差异对应的时间延迟。7.如权利要求6所述的确定装置,其特征在于:所述确定装置还包括:主库记录模块,设置为:在所述主库工作时,按照设定的时间间隔从主库所在机器的操作系统获取主库最新日志文件的修改时间戳并记录;所述时间获取模块在主库故障时,获取主库最新日志文件的修改时间戳T0,包括:在所述主库故障时,将所述主库记录模块最后记录的主库最新日志文件的修改时间戳作为T0。8.如权利要求6所述的确定装置,其特征在于:所述确定装置还包括:时间记录模块,设置为:在所述主库工作时,按照设定的时间间隔从主库所在机器的操作系统获取主库最新日志文件的修改时间戳并记录;所述时间获取模块在主库故障时,获取主库最新日志文件的修改时间戳T0,包括:在所述主库故障时,如果从所述主库所在机器的操作系统获取到主库最新日志文件的修改时间戳,将获取的修改时间戳作为T0,否则将最后记录的主库最新日志文件的修改时间戳作为T0。9.如权利要求6或7或8所述的确定装置,其特征在于:所述时间获取模块在主库故障时,获取从库最新日志文件的修改时间戳T1,包括:在所述主库故障时,从所述从库所在机器的操作系统获取从库最新日志文件的修改时间戳,将获取的修改时间戳作为T1。10.如权利要求6或7或8所述的确定装置,其特征在于:所述确定装置还包括:从库记录模块,设置为:在所述主库工作时,按照设定的时间间隔从所述从库所在机器的操作系统获取从库最新日志文件的修改时间戳并记录;所述时间获取模块在主库故障时,获取从库最新日志文件的修改时间戳T1,包括:在所述主库故障时,如果从所述从库所在机器的操作系统获取到从库最新日志文件的修改时间戳,将获取的修改时间戳作为T1,否则将所述从库记录模块最后记录的从库最新日志文件的修改时间戳作为T1。11.一种数据库主从差异的确定装置,包括存储器和处理器,其特征在于:所述存储器设置为:保存程序代码;所述处理器设置为:读取所述程序代码以执行以下处理:在主库故障时,获取主库最...
【专利技术属性】
技术研发人员:林江彬,王勇,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。