[发明专利]事务处理方法、服务器和存储介质有效
申请号: | 201710292017.2 | 申请日: | 2017-04-28 |
公开(公告)号: | CN107391539B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 郑淇公 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F9/46 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务处理 方法 服务器 存储 介质 | ||
1.一种事务处理方法,提供有第一线程和第二线程;其中,所述第一线程在主数据库开启有第一事务;所述第一事务包括至少一个数据库操作指令;所述第二线程在从数据库开启有第二事务;所述方法包括:
针对每个数据库操作指令,所述第一线程执行该数据库操作指令,并向所述第二线程发送该数据库操作指令;所述第二线程接收该数据库操作指令,执行并将该数据库操作指令作为所述第二事务中的数据库操作指令;
所述第一线程向主数据库提交所述第一事务,并向所述第二线程发送事务提交指令;所述第二线程接收所述事务提交指令,并向从数据库提交所述第二事务。
2.如权利要求1所述的方法,所述第二线程采用如下方式开启所述第二事务:
所述第一线程将事务开启指令写入消息队列;
所述第二线程从所述消息队列中读取并执行所述事务开启指令。
3.如权利要求1所述的方法,所述第一线程向所述第二线程发送该数据库操作指令,包括:
在该数据库操作指令为写操作指令的条件下,所述第一线程向所述第二线程发送该数据库操作指令。
4.如权利要求1所述的方法,所述第一线程向所述第二线程发送该数据库操作指令,包括:
所述第一线程将该数据库操作指令写入消息队列;
相应地,所述第二线程接收该数据库操作指令,包括:
所述第二线程从所述消息队列中读取该数据库操作指令。
5.如权利要求1所述的方法,所述第一线程向所述第二线程发送事务提交指令,包括:
所述第一线程将事务提交指令写入消息队列;
相应地,所述第二线程接收所述事务提交指令,包括:
所述第二线程从所述消息队列中读取所述事务提交指令。
6.如权利要求1所述的方法,在所述第一线程执行该数据库操作指令之前,所述方法还包括:
所述第一线程获取该数据库操作指令在主数据库中指向的第一数据,并向所述第二线程发送数据获取请求;其中,所述数据获取请求中携带有该数据库操作指令;所述第二线程接收所述数据获取请求,并获取该数据库操作指令在从数据库中指向的第二数据;
相应地,所述第一线程执行该数据库操作指令,包括:
在所述第一数据和所述第二数据相同的条件下,所述第一线程执行该数据库操作指令。
7.如权利要求6所述的方法,每个数据库操作指令对应有类型标识;其中,所述类型标识用于表示所述数据库操作指令对应的操作内容;
相应地,在所述第一线程获取该数据库操作指令在主数据库中指向的第一数据之前,所述方法还包括:
所述第一线程将该数据库操作指令的类型标识在标识集合中进行匹配;其中,所述标识集合包括至少一个类型标识;
相应地,所述第一线程获取该数据库操作指令在主数据库中指向的第一数据,包括:
在所述标识集合中匹配到该数据库操作指令的类型标识的条件下,所述第一线程获取该数据库操作指令在主数据库中指向的第一数据。
8.如权利要求7所述的方法,所述第一线程获取该数据库操作指令在主数据库中指向的第一数据,包括:
在该数据库操作指令在主数据库中指向的第一数据处于未加锁的条件下,所述第一线程获取该数据库操作指令在主数据库中指向的第一数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710292017.2/1.html,转载请声明来源钻瓜专利网。