[发明专利]事务处理方法、服务器和存储介质有效
申请号: | 201710292017.2 | 申请日: | 2017-04-28 |
公开(公告)号: | CN107391539B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 郑淇公 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F9/46 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务处理 方法 服务器 存储 介质 | ||
本申请实施例公开了一种事务处理方法、服务器和存储介质。所述方法包括:提供有第一线程和第二线程;其中,所述第一线程在主数据库上开启有第一事务;所述第一事务包括有至少一个数据库操作指令;所述第二线程在从数据库上开启有第二事务;针对每个数据库操作指令,所述第一线程执行该数据库操作指令,并向所述第二线程发送该数据库操作指令;所述第二线程接收该数据库操作指令,执行并将该数据库操作指令作为所述第二事务中的数据库操作指令;在执行完成所述至少一个数据库操作指令后,所述第一线程向所述主数据库提交所述第一事务,并向所述第二线程发送事务提交指令;所述第二线程接收所述事务提交指令,并向所述从数据库提交所述第二事务。
技术领域
本申请涉及数据库技术领域,特别涉及一种事务处理方法、服务器和存储介质。
背景技术
事务可以包括一个或多个数据库操作指令。事务通常具有原子性。即,事务中的一个或多个数据库操作指令作为一个整体,要么全部被执行成功,要么回滚至全部未被执行的状态。
通常地,由于业务需求的不断变化,在旧数据库无法支撑新的业务需求时,需要将旧数据库中的数据迁移至新数据库,以使用新数据库代替旧数据库来提供业务服务。例如,将Oracle数据库中的数据迁移至MySQL数据库,以使用MySQL数据库代替Oracle数据库来提供业务服务。如何在提供的业务服务不受影响的情况下,平稳地将旧数据库中的数据迁移至新数据库,是数据库迁移过程中需要考虑的问题。
现有技术中的一个数据库迁移方法是“双写”方法。即,服务器分别在主数据库和从数据库执行相同的一个或多个写操作指令,以使主数据库和从数据库中的数据保持一致,便于开发人员对主数据库或从数据库的正确性、可靠性进行验证。其中,所述主数据库可以为用于存储数据,并提供业务服务的数据库;所述从数据库可以为用于存储数据,但不提供业务服务的数据库。具体地,所述主数据库可以为旧数据库,所述从数据库可以为新数据库。当然,所述主数据库也可以为新数据库,所述从数据库也可以为旧数据库。
具体地,服务器在接收到来自客户端的业务请求后,可以将所述业务请求解析为一个或多个数据库操作指令;可以在主数据库开启第一事务;可以将解析的一个或多个数据库操作指令,作为所述第一事务中的数据库操作指令;可以执行解析的一个或多个数据库操作指令,其中,在执行的过程中,在识别到执行的数据库操作指令为写操作指令后,可以记录该数据库操作指令;在执行完成解析的一个或多个数据库操作指令后,可以向主数据库提交所述第一事务。
在向主数据库提交所述第一事务后,服务器可以在从数据库开启第二事务;可以将记录的数据库操作指令,作为第二事务中的数据库操作指令;可以执行记录的数据库操作指令;在执行完成记录的数据库操作指令后,可以向从数据库提交所述第二事务。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
上述现有技术中,服务器需要首先在主数据库开启第一事务;执行所述第一事务中的数据库操作指令;在执行完成所述第一事务中的数据库操作指令后,向主数据库提交所述第一事务;继而在从数据库开启第二事务;执行所述第二事务中数据库操作指令;在执行完成所述第二事务中的数据库操作指令后,向从数据库提交所述第二事务,以使主数据库和从数据库中的数据保持一致。如此,服务器向主数据库提交所述第一事务的时刻,与向从数据库提交所述第二事务的时刻,二者之间有可能产生较长的时间间隔,从而使得第一事务中的数据库操作指令在主数据库的落库时刻,与第二事务中的数据库操作指令在从数据库的落库时刻,有可能产生较长的时间间隔。这种较长的时间间隔不利于数据库的迁移,甚至有可能造成错误的业务结果。
发明内容
本申请实施例的目的是提供一种事务处理方法、服务器和存储介质,以减小服务器向主数据库提交第一事务的时刻,与向从数据库提交第二事务的时刻,二者之间的时间间隔。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710292017.2/2.html,转载请声明来源钻瓜专利网。