[发明专利]基于分布式数据库的事务管理方法有效
申请号: | 201710711443.5 | 申请日: | 2017-08-18 |
公开(公告)号: | CN109408201B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 周家晶;裴晨光;李永峰;苗浩 | 申请(专利权)人: | 中国银联股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 王星;付曼 |
地址: | 200135 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分布式 数据库 事务管理 方法 | ||
1.一种基于分布式数据库的事务管理方法,用于管理多个用户与多个数据库之间的通信会话,所述通信会话包括所述用户与协调者之间的至少一个全局事务以及所述协调者与所述数据库之间的至少一个本地事务,所述方法包括如下步骤:
a)、所述协调者判断第一用户与所述协调者之间的第一全局事务的隔离级别是否为不可重复读,其中,所述第一用户为所述多个用户中的任一个;若是,则继续执行以下步骤;
b)、所述协调者与所述多个数据库建立通信连接,以对所述多个数据库进行分布式管理;
c)、若所述第一全局事务对第一数据库发生写操作,则所述协调者开启与所述第一数据库之间的第一本地事务,其中,所述第一数据库为所述多个数据库中的任一个;以及
d)、在提交或回滚所述第一全局事务时,所述协调者关闭所述第一本地事务。
2.根据权利要求1所述的方法,其特征在于,所述步骤c)还包括:
若所述第一全局事务未对第二数据库发生写操作,则所述协调者不开启与所述第二数据库之间的第二本地事务;其中,所述第二数据库为所述多个数据库中不同于所述第一数据库的另一个数据库。
3.根据权利要求2所述的方法,其特征在于,所述步骤c)进一步包括:
若第二全局事务未对任一所述数据库发生写操作,则在应答第二用户之后,所述协调者释放所述第二全局事务所占用的资源;其中,所述第二全局事务在所述第二用户与所述协调者之间进行,所述第二用户不同于所述第一用户。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述全局事务的隔离级别由用户来设置。
5.一种基于分布式数据库的事务管理系统,用于管理多个用户与多个数据库之间的通信会话,所述通信会话包括所述用户与所述系统之间的至少一个全局事务以及所述系统与所述数据库之间的至少一个本地事务,所述系统包括:
全局事务管理单元,用于判断第一用户与所述系统之间的第一全局事务的隔离级别是否为不可重复读,其中,所述第一用户为所述多个用户中的任一个;
通信连接管理单元,用于与所述多个数据库建立通信连接,以对所述多个数据库进行分布式管理;以及
本地事务管理单元,用于在所述第一全局事务对第一数据库发生写操作时,开启与所述第一数据库之间的第一本地事务,以及,在提交或回滚所述第一全局事务时,关闭所述第一本地事务。
6.根据权利要求5所述的系统,其特征在于,所述全局事务管理单元与所述本地事务管理单元进行协作以进行如下动作:
若所述全局事务管理单元判断所述第一全局事务未对第二数据库发生写操作,则所述本地事务管理单元不开启与所述第二数据库之间的第二本地事务;其中,所述第二数据库为所述多个数据库中不同于所述第一数据库的另一个数据库。
7.根据权利要求6所述的系统,其特征在于,所述全局事务管理单元还进行如下动作:
若所述全局事务管理单元判断第二全局事务未对任一所述数据库发生写操作,则在应答第二用户之后,所述全局事务管理单元释放所述第二全局事务所占用的资源;其中,所述第二全局事务在所述第二用户与所述系统之间进行,所述第二用户不同于所述第一用户。
8.一种计算机存储介质,其上存储有计算机可执行指令,其中所述计算机可执行指令在由处理器执行时,执行如权利要求1所述的方法。
9.根据权利要求8所述的计算机存储介质,其特征在于,所述计算机可执行指令在第一全局事务未对第二数据库发生写操作时,指示协调者不开启与所述第二数据库之间的第二本地事务。
10.根据权利要求9所述的计算机存储介质,其特征在于,所述计算机可执行指令在第二全局事务未对任一数据库发生写操作时,指示所述协调者在应答第二用户之后释放所述第二全局事务所占用的资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银联股份有限公司,未经中国银联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710711443.5/1.html,转载请声明来源钻瓜专利网。