[发明专利]处理数据库事务的方法、客户端和服务器有效
申请号: | 201610496073.3 | 申请日: | 2016-06-30 |
公开(公告)号: | CN107577678B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 彭勇飞 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F12/08 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 毛威;肖鹂 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 数据库 事务 方法 客户端 服务器 | ||
1.一种处理数据库事务的方法,其特征在于,包括:
服务器接收客户端发送的数据库访问请求,所述数据库访问请求用于请求目标数据;
所述服务器基于所述数据库访问请求,向所述客户端发送所述目标数据的第一版本,所述第一版本为所述服务器当前存储的所述目标数据的版本,所述服务器中只保存所述目标数据的最近一次提交更新的版本;
所述服务器接收所述客户端基于所述第一版本执行完第一事务后发送的事务提交请求,所述事务提交请求用于请求提交所述第一事务,所述事务提交请求中包括用于记录所述第一事务的数据操作的日志;
所述服务器根据所述日志,在确定所述第一事务的数据操作与所述服务器当前存储的所述目标数据的版本不存在数据冲突的情况下,按照所述第一事务的数据操作修改所述服务器当前存储的所述目标数据的版本,获得所述目标数据的提交更新的版本,以完成所述第一事务的提交。
2.根据权利要求1所述的方法,其特征在于,所述第一事务的数据操作包括插入操作,所述日志中包括所述插入操作对应的主关键字,所述方法还包括:
在所述服务器当前存储的所述目标数据的版本中不存在所述主关键字的情况下,所述服务器确定所述第一事务的数据操作与所述服务器当前存储的所述目标数据的版本不存在数据冲突。
3.根据权利要求1所述的方法,其特征在于,所述第一事务的数据操作包括更新操作或删除操作,所述事务提交请求中还包括所述第一版本的时间戳,所述方法还包括:
在所述服务器当前存储的所述目标数据的版本的时间戳与所述第一版本的时间戳一致的情况下,所述服务器确定所述第一事务的数据操作与所述服务器当前存储的所述目标数据的版本不存在数据冲突。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述服务器获得所述目标数据的提交更新的版本之后,所述方法还包括:所述服务器为所述目标数据的提交更新的版本设置新的时间戳。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:在确定所述第一事务的数据操作与所述服务器当前存储的所述目标数据的版本存在数据冲突的情况下,所述服务器向所述客户端发送用于指示所述第一事务的提交无效的响应。
6.一种处理数据库事务的方法,其特征在于,包括:
客户端获取用于请求执行第一事务的事务请求,所述第一事务要基于目标数据进行执行;
所述客户端向服务器发送用于请求所述目标数据的数据库访问请求;
所述客户端接收所述服务器发送的所述目标数据的第一版本,所述第一版本为所述服务器当前存储的所述目标数据的版本,所述服务器当前存储的所述目标数据的版本为所述目标数据的最近一次提交更新的版本;
所述客户端基于所述第一版本执行所述第一事务;
在执行完所述第一事务后,所述客户端向所述服务器发送事务提交请求,所述事务提交请求用于请求提交所述第一事务,所述事务提交请求中包括用于记录所述第一事务的数据操作的日志,以使得所述客户端根据所述日志,在确定所述第一事务的数据操作与所述服务器当前存储的所述目标数据的版本不存在数据冲突的情况下,按照所述第一事务的数据操作修改所述服务器当前存储的所述目标数据的版本,获得所述目标数据的提交更新的版本,以完成所述第一事务的提交。
7.根据权利要求6所述的方法,其特征在于,所述第一事务的数据操作包括插入操作,所述日志中包括所述插入操作对应的主关键字。
8.根据权利要求6所述的方法,其特征在于,所述第一事务的数据操作包括更新操作或删除操作,所述事务提交请求中还包括所述第一版本的时间戳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610496073.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据写入方法及内存系统
- 下一篇:基于媒体信息采集的原创文章影响力分析系统