The embodiment of this application provides a data processing method, device and device. The method includes the following steps: processing the transaction operation data parsed from the redo log generated by the transaction being executed by the main library once to make the transaction operation data mentioned after one processing invisible; writing the transaction operation data mentioned after one processing to the standby; and writing the transaction operation data according to the execution result of the transaction at the end of the execution of the said transaction. The transaction operation data of the backup database is processed twice accordingly to determine whether the transaction operation data is visible or not through the secondary processing. The technical scheme provided by the embodiment of this application can effectively solve many problems caused by the redo log that can only be used by the standby after the execution of the main bank side transaction in the prior art.
【技术实现步骤摘要】
数据处理方法、装置及设备
本申请涉及计算机
,尤其涉及一种数据处理方法、装置及设备。
技术介绍
重做日志包含对一个事务(亦或称数据库实例)进行所有数据修改的事务操作数据,因此通过在另一个数据库实例重放重做日志,就可以重新进行事务的所有物理操作以同步数据。例如,主库在进行事务处理时,每一次对数据进行的修改均会生成相应的事务操作数据写入重做日志。备库只有在事务执行结束后再通过重放该事务对应的重做日志来实现重复对相应数据的修改操作,由此同步数据。而在实际应用中,当主库处理的事务为长事务或大事务时,备库只有在主库侧事务执行结束后才能利用重做日志进行重做操作,极易出现长事务带来的主库重做日志拥塞、大事务带来的主备延迟等问题。申请内容本申请实施例提供的一种数据处理方法、装置及设备,以解决现有技术中备库只能在主库侧事务执行结束后才能利用重做日志所带来的诸多问题。在本申请的一个实施例中,提供了一种数据处理方法。该方法包括:对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;将一次处理后的所述事务操作数据写入备库;所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。在本申请的另一个实施例中,提供了一种数据处理装置。该装置包括:第一处理模块,用于对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;写入模块,用于将一次处理后的所述事务操作数据写入备库;第二处理模块, ...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;将一次处理后的所述事务操作数据写入备库;所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;将一次处理后的所述事务操作数据写入备库;所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。2.根据权利要求1所述的方法,其特征在于,所述事务操作数据包含有所述事务的主库事务号;以及所述对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,包括:为所述事务申请备库事务号;将所述事务操作数据的所述主库事务号替换为所述备库事务号;对替换后的所述事务操作数据进行不可见标记。3.根据权利要求2所述的方法,其特征在于,所述对替换后的所述事务操作数据进行不可见标记,包括:在替换后的所述事务操作数据的数据头部位置添加不可见标记符。4.根据权利要求2所述的方法,其特征在于,还包括:关联所述主库事务号和所述备库事务号。5.根据权利要求4所述的方法,其特征在于,所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,包括:从所述重做日志中解析出表征所述事务执行结束的结束数据时,根据主库事务号和备库事务号的关联关系,获取所述结束数据包含的主库事务号对应的备库事务号;获取写入所述备库中包含有所述备库事务号的事务操作数据;按照所述事务的执行结果,对包含有所述备库事务号的事务操作数据进行相应的二次处理。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述事务操作数据中包含有所述一次处理时为其添加的不可见标记符;以及按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,包括:所述事务的执行结果为提交时,将所述事务操作数据的不可见标记符改写为提交标记符;所述事务的执行结果为回滚时,将所述事务操作数据的不可见标记符改写为回滚标记符;其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。7.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:在所述备库的提交日志中添加为所述事务申请的备库事务号;若从所述重做日志中未解析出表征所述事务执行结束的结束数据,则所述备库事务号添加执行中标记;若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为提交数据,则将所述执行中标记更新为提交类型标记;若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为回滚数据,则将所述执行中标记更新为回滚类型标记。8.根据权利要求7所述的方法,其特征在于,所述事务操作数据中包含有所述一次处理时为其添加的不可见标记符;以及按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,包括:从所述备库的提交日志中读取所述事务的备库事务号的标记;若所述标记为提交类型标记,则将所述事务操作数据的不可见标记符改写为提交标记符;若所述标记为回滚类型标记,则将所述事务操作数据的不可见标记符改写为回滚标记符;其中,所述提交标记符表征所述事务操作数据可见,所述回...
【专利技术属性】
技术研发人员:周正中,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。