[发明专利]事务执行方法、装置、计算机设备及存储介质有效
申请号: | 201911381740.3 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111143389B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 李海翔;卢卫;赵展浩;杜小勇;潘安群 | 申请(专利权)人: | 腾讯科技(深圳)有限公司;中国人民大学 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 郭新禹 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 执行 方法 装置 计算机 设备 存储 介质 | ||
1.一种事务执行方法,其特征在于,所述方法包括:
基于目标时间段,获取提交时刻处于所述目标时间段内的至少一个活跃事务,所述目标时间段为从目标事务的开始时刻至提交时刻所确定的时间段;
检测所述目标事务的读集是否与所述至少一个活跃事务的写集存在交集,得到检测结果,所述读集为所述目标事务所读取的数据项集合,所述写集为所述至少一个活跃事务所写入的数据项集合;
根据所述检测结果,确定所述目标事务的事务状态信息,所述事务状态信息用于表示与所述检测结果对应的执行状态;
在全局写入所述目标事务时,存储所述目标事务的事务状态信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述检测结果,确定所述目标事务的事务状态信息包括:
若所述检测结果为所述读集与所述写集存在交集,将所述事务状态信息确定为已回滚状态;或,
若所述检测结果为所述读集与所述写集不存在交集,将所述事务状态信息确定为已提交状态。
3.根据权利要求1所述的方法,其特征在于,所述存储所述目标事务的事务状态信息包括:
将所述目标事务的事务状态信息、所述目标事务的全局事务标识以及所述目标事务的提交序列号进行关联存储。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标事务的事务状态信息、所述目标事务的全局事务标识以及所述目标事务的提交序列号进行关联存储包括:
基于键值对的形式进行关联存储,其中,以所述目标事务的全局事务标识作为键,以目标事务的所述事务状态信息以及所述目标事务的提交序列号作为值;或,
基于事务状态元组的形式进行关联存储,其中,所述事务状态元组包括所述目标事务的事务状态信息、所述目标事务的全局事务标识以及所述目标事务的提交序列号。
5.根据权利要求1所述的方法,其特征在于,所述在全局写入所述目标事务时,存储所述目标事务的事务状态信息之后,所述方法还包括:
若所述目标事务的事务状态信息为已回滚状态,在所述目标事务所生成的数据项中仅记录被修改的属性值。
6.根据权利要求1所述的方法,其特征在于,所述检测所述目标事务的读集是否与所述至少一个活跃事务的写集存在交集之前,所述方法还包括:
从所述目标事务所涉及读取的至少一个数据项中,确定相对于所述目标事务可见的目标数据项,将所述目标数据项存入所述目标事务的读集中。
7.根据权利要求6所述的方法,其特征在于,所述从所述目标事务所涉及读取的至少一个数据项中,确定相对于所述目标事务可见的目标数据项包括:
对所述至少一个数据项中任一数据项,基于生成所述数据项的事务的全局事务标识,查询所述事务的事务状态信息;
若查询不到所述事务的事务状态信息,且所述事务的全局事务标识与所述目标事务的全局事务标识不相等,确定所述数据项不为目标数据项;
若查询得到所述事务的事务状态信息,基于所述事务的事务状态信息以及所述事务的提交序列号,确定所述数据项是否为目标数据项。
8.根据权利要求7所述的方法,其特征在于,所述基于所述事务的事务状态信息以及所述事务的提交序列号,确定所述数据项是否为目标数据项包括:
若所述事务的全局事务标识等于所述目标事务的全局事务标识,或所述事务的事务状态信息为已提交状态且所述事务的提交序列号小于或等于所述目标事务的开始序列号,确定所述数据项为目标数据项;否则,确定所述数据项不为目标数据项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司;中国人民大学,未经腾讯科技(深圳)有限公司;中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911381740.3/1.html,转载请声明来源钻瓜专利网。