[发明专利]用于处理事务的方法、装置、设备及可读存储介质在审
| 申请号: | 202010603399.8 | 申请日: | 2020-06-29 |
| 公开(公告)号: | CN112306646A | 公开(公告)日: | 2021-02-02 |
| 发明(设计)人: | 王晨鹏 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
| 地址: | 100176 北京市大兴区经济技*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 处理 事务 方法 装置 设备 可读 存储 介质 | ||
本申请实施例公开了一种用于处理事务的方法、装置、电子设备及计算机可读存储介质,涉及事务处理技术领域。该方法的一具体实施方式包括:将待处理事务拆分为多个子事务,并选用与子事务数量一致的多个目标子线程来并行处理各子事务;控制子事务执行成功的目标子线程处于等待状态、控制子事务执行失败的目标子线程重复执行对应的子事务;当重复执行的子事务在满足预设条件的情况下被成功执行时,生成待处理事务并行处理成功的信号。该实施例提供了一种针对事务的多线程并行处理方式,在主线程的协调下,可将待处理事务拆分为多个子事务,并对应提交至多个子线程来并行执行,而通过仅使执行失败的子线程进行重试,可减少对运算资源的消耗,提升性能。
技术领域
本申请实施例涉及多线程技术领域,尤其涉及事务处理技术领域。
背景技术
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begintransaction和end transaction语句(或函数调用)来界定。事务由事务开始(begintransaction)和事务结束(end transaction)之间执行的全体操作组成。
现有技术提供了一种通过串行的方式来依次执行事务开始至事务结束的所有操作的事务处理方式。
发明内容
本申请实施例提出了一种用于处理事务的方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提出了一种用于处理事务的方法,包括:将待处理事务拆分为多个子事务,并选用与子事务数量一致的多个目标子线程来并行处理各子事务;控制子事务执行成功的目标子线程处于等待状态、控制子事务执行失败的目标子线程重复执行对应的子事务;当重复执行的子事务在满足预设条件的情况下被成功执行时,生成待处理事务并行处理成功的信号。
在一些实施例中,该用于处理事务的方法还包括:当重复执行的子事务在满足预设条件的情况下仍未被成功执行时,生成待处理事务并行处理失败的信号。
在一些实施例中,该用于处理事务的方法还包括:当存在与待处理事务对应的替代事务时,利用各目标子线程并行处理替代事务拆分出的各替代子事务;当任意替代子事务执行失败时,生成待处理事务的替代事务并行处理失败的信号;当所有替代子事务均执行成功时,生成待处理事务的替代事务并行处理成功的信号。
在一些实施例中,该用于处理事务的方法还包括:统计预设时间段内待处理事务和对应的替代事务的执行成功率;根据执行成功率调整待处理事务和对应的替代事务的执行优先级。
在一些实施例中,预设条件包括不超过预设最大重复执行次数、不超过预设最大重复执行耗时、不超过预设最大连续执行失败次数中的至少一项。
在一些实施例中,选用与子事务数量一致的目标子线程来并行处理各子事务,包括:确定子事务的第一数量;从存储有可重复利用子线程的预设线程池中选取出第一数量的目标子线程;将第一数量的子事务通过预设线程池一一提交至第一数量的目标子线程;当各目标子线程均成功接收到对应的子事务时,控制各目标子线程并行处理对应的子事务。
第二方面,本申请实施例提出了一种用于处理事务的装置,包括:事务拆分及并行处理单元,被配置成将待处理事务拆分为多个子事务,并选用与子事务数量一致的多个目标子线程来并行处理各子事务;等待及重复执行单元,被配置成控制子事务执行成功的目标子线程处于等待状态、控制子事务执行失败的目标子线程重复执行对应的子事务;并行处理成功单元,被配置成当重复执行的子事务在满足预设条件的情况下被成功执行时,生成待处理事务并行处理成功的信号。
在一些实施例中,该用于处理事务的装置还包括:并行处理失败单元,被配置成当重复执行的子事务在满足预设条件的情况下仍未被成功执行时,生成待处理事务并行处理失败的信号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010603399.8/2.html,转载请声明来源钻瓜专利网。





