[发明专利]分布式数据库中的事务处理方法及系统在审
申请号: | 202010268665.6 | 申请日: | 2020-04-08 |
公开(公告)号: | CN113495872A | 公开(公告)日: | 2021-10-12 |
发明(设计)人: | 娄帅;林韶宾 | 申请(专利权)人: | 北京万里开源软件有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F16/242;G06F16/27 |
代理公司: | 北京永新同创知识产权代理有限公司 11376 | 代理人: | 张文锦;刘茹 |
地址: | 100022 北京市朝阳区建外大街*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 中的 事务处理 方法 系统 | ||
1.一种用于处理分布式事务的方法,包括:
从各个事务参与者接收分布式事务请求;
向全局事务模块发送所述分布式事务请求;
从所述全局事务模块接收经全局序列化的事务请求;
在事务参与者本地根据经全局序列化的事务请求生成全局事务状态信息;以及
根据所述全局事务状态信息,执行SQL语句。
2.根据权利要求1所述的方法,其中,所述分布式事务请求包括以下中的一个或多个:事务开启请求、事务提交请求、事务回滚请求、事务快照请求,以及其中,所述全局事务状态信息包括以下中的一个或多个:当前最大全局事务标识、当前处于活跃状态的事务标识集。
3.根据权利要求1所述的方法,其特征在于,
在各个事务参与者提交所述分布式事务请求前,该方法还包括:根据不同的事务请求类型,生成对应的全局事务请求;
其中,生成所述对应的全局事务请求进一步包括:
如果所述事务请求类型为事务开启请求,则全局事务请求包含事务参与者全局标识、事务参与者独自生成的本地事务标识;
如果所述事务请求类型为事务提交请求,则全局事务请求包含事务参与者全局标识、以及获得的全局事务标识;
如果所述事务请求类型为事务回滚请求,则全局事务请求包含事务参与者全局标识、以及获得的全局事务标识;以及
如果所述事务请求类型为事务快照请求,则不需要转换成全局事务请求,而直接在本地进行请求响应以获取全局事务状态信息。
4.根据权利要求1所述的方法,其特征在于,
其中,所述经全局序列化的事务请求进一步包括:通过对所述分布式事务请求添加全局递增的连续的ID获得的事务请求。
5.根据权利要求1所述的方法,其特征在于,
生成所述全局事务状态信息进一步包括:
如果所述分布式事务请求是事务开启请求,则将所述分布式事务请求中包含的本地事务标识与全局事务状态信息中的当前最大全局事务标识进行比较,并根据所述比较的结果来更新所述本地事务标识,其中,如果所述本地事务标识大于所述当前最大全局事务标识,则将所述当前最大全局事务标识更新为所述本地事务标识,并将其作为对应参与者的全局事务标识,同时将更新后的当前最大全局事务标识放入到当前处于活跃状态的事务标识集中;如果所述本地事务标识小于或等于所述当前最大全局事务标识,则将所述当前最大全局事务标识更新为当前最大全局事务标识加一,并将其作为对应参与者的全局事务标识,同时将更新后的当前最大全局事务标识放入到当前处于活跃状态的事务标识集中;
如果所述分布式事务请求是事务提交请求或者事务回滚请求,则根据所述分布式事务请求中包含的全局事务标识,将其从所述全局事务状态信息中的当前处于活跃状态的事务标识集中清除;以及
如果所述分布式事务请求是事务快照请求,则获取当前的全局事务状态信息的快照信息。
6.根据权利要求1所述的方法,其特征在于,
在根据所述全局事务状态信息,执行SQL语句前,该方法还包括:
根据所述事务参与者设置的隔离级别,决定在执行SQL语句前是否有必要进行事务快照请求,其中,数据库中的数据包含的全局事务标识是根据所述事务参与者的全局事务标识生成的,以及事务参与者的数据库中的数据中包含事务标识信息;以及
如果进行了事务快照请求,则根据获得的事务快照信息,结合数据中的事务标识信息,决定数据的可见性。
7.根据权利要求6所述的方法,其特征在于,
进行事务快照请求进一步包括:
如果所述隔离级别是读已提交隔离级别,则在所述分布式事务中的每个SQL语句执行前,都需要进行事务快照请求;以及
如果所述隔离级别是快照隔离级别,则只需要在所述分布式事务中的第一个SQL语句执行前,进行事务快照请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京万里开源软件有限公司,未经北京万里开源软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010268665.6/1.html,转载请声明来源钻瓜专利网。