[发明专利]一种数据库事务组提交方法、装置、设备及存储介质在审
申请号: | 202011261844.3 | 申请日: | 2020-11-12 |
公开(公告)号: | CN112434007A | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 邱海港 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25;G06F9/50 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 张子青 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 事务 提交 方法 装置 设备 存储 介质 | ||
本公开涉及一种数据库事务组提交方法、装置、设备及存储介质。本公开通过主线程执行事务组提交过程包括的多个处理阶段中的部分处理阶段或所有处理阶段的处理过程,并且在主线程执行所述部分处理阶段或所有处理阶段的处理过程中,控制从线程执行除该事务组之外的其他事务,相当于从线程和其执行的原事务可以分离,进一步,当事务组中的全部事务提交完成时,生成提交完成信息,从而使得从线程不会因为等待主线程完成事务组提交过程的整个过程或部分阶段而处于阻塞状态,提高了单线程的使用率,从而提高了系统的并发能力。
技术领域
本公开涉及信息技术领域,尤其涉及一种数据库事务组提交方法、装置、设备及存储介质。
背景技术
随着信息技术的不断发展,人们在工作和生活中会产生大量的数据,通常情况下会将这些大量的数据存储到数据库中。
客户端可以通过向数据库发送访问请求来访问数据库中的数据。数据库在接收到访问请求时,可启动一个事务,并通过数据库中的一个线程来执行该事务。线程在执行该事务时,需进行事务提交。
现有技术中,多个线程分别执行的事务可以构成一个事务组,该事务组可以由多个线程中的一个主线程来提交,多个线程中除主线程之外的线程为从线程。在主线程进行事务组提交的过程中,从线程一直处于等待状态即阻塞状态,从而导致系统的并发能力较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据库事务组提交方法、装置、设备及存储介质,以使得从线程不会因为等待主线程完成事务组提交过程的整个过程或部分阶段而处于阻塞状态,提高了单线程的使用率,从而提高了系统的并发能力。
第一方面,本公开实施例提供一种数据库事务组提交方法,包括:
接收客户端的数据访问请求;
根据所述数据访问请求,确定待提交的事务组,所述事务组包括多个待提交的事务;
在对所述事务组执行事务组提交过程中,根据所述事务组提交过程包括的多个处理阶段,控制主线程执行所述多个处理阶段中部分处理阶段或所有处理阶段的处理过程;
在所述主线程执行所述多个处理阶段中部分处理阶段或所有处理阶段的处理过程中,控制与所述主线程对应的从线程执行除所述事务组之外的其他事务;
当所述事务组中的全部事务提交完成时,生成提交完成信息。
第二方面,本公开实施例提供一种数据库事务组提交装置,包括:
接收模块,用于接收客户端的数据访问请求;
确定模块,用于根据所述数据访问请求,确定待提交的事务组,所述事务组包括多个待提交的事务;
控制模块,用于在对所述事务组执行事务组提交过程中,根据所述事务组提交过程包括的多个处理阶段,控制主线程执行所述多个处理阶段中部分处理阶段或所有处理阶段的处理过程;在所述主线程执行所述多个处理阶段中部分处理阶段或所有处理阶段的处理过程中,控制与所述主线程对应的从线程执行除所述事务组之外的其他事务;
生成模块,用于当所述事务组中的全部事务提交完成时,生成提交完成信息。
第三方面,本公开实施例提供一种数据库事务组提交设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011261844.3/2.html,转载请声明来源钻瓜专利网。