【技术实现步骤摘要】
事务处理方法及计算机系统
[0001]本申请实施例涉及数据处理
,尤其涉及一种事务处理方法及计算机系统。
技术介绍
[0002]事务是数据库系统中用于访问并可能操作数据对象的一系列操作集合。
[0003]实际应用中,存在多个事务同时并发执行的情况,数据库系统通常采用并发控制机制限制不同事务对于同一数据对象的访问和更新,例如采用多版本并发控制机制,通过维护多个版本的数据对象,数据库系统可以允许事务在数据对象被其它事务更新时对历史版本的数据对象进行读取。一种具体实现方式是,通过锁在内存中维护两个内存数据结构:活跃事务集合以及活跃视图链表。写事务启动时候,锁定两个内存数据结构,并生成事务标识插入活跃事务集合;事务对数据对象进行更新的时候,将数据对象的旧版本存放在回滚日志中,再更新数据对象,并在数据对象中记录事务标识,以标识更新该数据对象的事务;事务提交的时候,同样锁定两个内存数据结构,并从活跃事务集合中删除该事务标识;在读事务进行数据查询时,同样锁定两个内存数据结构,并将活跃事务集合中当前存活的事务标识拷贝出来以构建 ...
【技术保护点】
【技术特征摘要】
1.一种事务处理方法,其中,包括:在第一事务启动的情况下,从持久化存储介质申请所述第一事务对应的存储空间;为所述第一事务更新的至少一个数据对象分别记录所述存储空间的存储地址;在所述第一事务提交的情况下,生成所述第一事务的事务提交标识;在所述存储空间存储所述事务提交标识;其中,所述存储空间用以查询所述第一事务的事务提交标识,所述第一事务的事务提交标识用以查找第二事务请求查询的目标数据对象的可见版本。2.根据权利要求1所述的方法,其中,还包括:在所述第一事务启动的情况下,生成所述第一事务的事务标识;为所述至少一个数据对象分别记录所述事务标识;其中,所述目标数据对象被所述第一事务更新的版本记录的事务标识用于在与所述第二事务的事务标识一致情况下,确定所述版本为可见版本,否则基于所述版本记录的存储地址,从所述存储空间查询所述第一事务的事务提交标识。3.根据权利要求1所述的方法,其中,还包括:为所述至少一个数据对象中的至少部分数据对象,分别记录所述第一事务的事务提交标识;或者,在针对任一个数据对象的当前查找版本执行查询操作时,为所述数据对象的当前查找版本记录从所述存储空间查询获得的事务提交标识。4.根据权利要求1所述的方法,其中,所述在第一事务启动的情况下,从持久化存储介质申请所述第一事务对应存储空间包括:在所述第一事务启动的情况下,从持久化存储介质配置的存储结构中申请所述第一事务对应的存储空间,获得所述存储空间的存储地址;其中,所述存储结构支持复用,所述方法还包括:在所述存储空间中存储所述事务标识,由所述事务标识及所述事务提交标识构成一条记录数据;在所述存储空间被复用的情况下,将所述存储空间存储的原记录数据进行转存,并建立所述存储空间与原纪录数据的链接关系;所述链接关系用于查找所述第一事务的事务标识对应的目标记录数据,以获得所述第一事务的事务提交标识。5.根据权利要求4所述的方法,其中,还包括:在所述存储结构满足清除条件时,将所述存储结构中最早生成的事务提交标识对应的记录数据清除;其中,最近清除的记录数据中的事务提交标识用于在从所述存储结构查询不到所述第一事务的事务提交标识时,作为所述第一事务的事务提交标识。6.一种事务处理方法,其中,包括:基于最近生成的事务提交标识,构建第二事务的视图;根据所述视图中的事务提交标识及目标数据对象版本链中不同版本分别记录的存储地址索引的事务提交标识,从所述版本链中查找所述第二事务的可见版本;其中,所述存储地址对应持久化存储介质中的存储空间,所述存储空间对应一写事务,并在所述写事务启动时申请,所述事务提交标识在事务提交时生成并存储至所述存储空间。
7.根据权利要求6所述的方法,其中,所述根据所述视图中的事务提交标识及目标数据对象版本链中不同版本分别记录的存储地址索引的事务提交标识,从所述版本链中查找所述第二事务的可见版本包括:确定由目标数据对象的最新版本及回滚日志中存储的所述目标数据对象的历史版本构成的版本链;从所述版本链中的最新版本开始,针对任一个版本,执行如下可见性判断操作;所述可见性判断操作包括:从所述版本记录的存储地址索引的存储空间中,查询更新所述版本的第三事务的存储的事务提交标识;根据所述视图中的事...
【专利技术属性】
技术研发人员:赵建伟,张纪杨,刘永平,
申请(专利权)人:阿里巴巴中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。