[发明专利]一种并发事务的处理方法和装置有效
申请号: | 201210328626.6 | 申请日: | 2012-09-06 |
公开(公告)号: | CN103677771B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 庞举;钱进 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06Q30/00 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 事务 处理 方法 装置 | ||
技术领域
本申请涉及数据处理领域,特别是涉及一种并发事务的方法和装置。
背景技术
网络热点数据是指在在当前业务系统中,一定的时间内访问频率较高的数据。例如,在支付账户中,所有账户会员的账户余额值中,大商户中的账户余额由于经常被访问成为热点数据;积分账户中的当前剩余额度数据也是热点数据。
业务系统中,常常出现多个事务需要同时操作数据库内同一条热点数据的情况,例如:对同一个卖家同时有多笔帐务的写操作。当同一条热点数据被多个并发事务请求操作时,当某些操作需要撤销或是回滚时,只能通过修改数据的方式进行,当多个操作对同一个数据进行修改时,容易造成数据在事务之间被覆盖,即脏写。因此,必须在多个事务之间存在一种协调机制,防止事务之间的冲突,保证数据一致性及完整性。
现有技术中,针对热点数据的高并发事务,可以通过读写锁的方式来解决。
读写锁机制是通过读写锁控制多个事务按顺序执行,多个并发事务在数据库内抢锁,获得读写锁的事务将账户锁定,余额数据只受当前正在处理的事务的影响,该事务处理完成后,释放读写锁,抢到锁的事务再对该账户进行处理,因此,可以严格保证数据的一致性和完整性。
以上现有技术中存在的问题是:读写锁方式中,由于一个事务,从读取数据,业务演算,更新数据,整个环节可能耗时很长,在复杂的业务场景,单个事务处理甚至达到秒级的时间量。顺序执行使得业务处理吞吐量受到严重制约,在大并发量情况下,处理事务的性能存在严重瓶颈,无法满足日常处理需求。
因此,目前需要本领域技术人员解决的一个技术问题就是,提供一种并发事务的处理机制,以提高并发事务的处理效率。
发明内容
本申请所要解决的技术问题是提供一种并发事务的处理方法,以提高并发事务的处理效率。
本申请还提供了一种并发事务的处理装置,用以保证上述方法在实际中的应用及实现。
为了解决上述问题,本申请公开了一种并发事务的处理方法,包括:
接收客户端提交的多个事务;
将每个事务,拆分为多个针对单个账户的数据处理子操作,并构成一个数据处理组;
并发执行各个数据处理组,其中,同一组的数据处理子操作逐个执行,不同组的数据处理子操作同时执行。
优选的,针对各个事务,所述将每个事务,拆分为多个针对单个账户的数据处理子操作的步骤并发执行。
优选的,各个数据处理组的回滚操作与不同数据处理组的数据处理子操作或回滚操作并发执行。
优选的,所述方法还包括:
在各个数据处理组执行完毕后,判断返回的执行结果是否符合预设条件;
若不符合,则执行所述数据处理组中各个数据处理子操作的回滚操作。
优选的,所述判断返回的执行结果是否符合预设条件的步骤为:
判断返回的执行结果是否为负值或者小于预设值;
若是,则符合预设条件。
优选的,所述方法还包括:
判断所述回滚操作是否执行成功;
若否,则依据所述执行结果生成报警提示信息。
优选的,所述数据处理子操作为对数据进行增加数值或减少数值的操作。
优选的,所述方法还包括:
将所述数据处理组添加到预置的数据处理队列中。
本申请还提供了一种并发事务的处理装置,包括:
事务接收模块,用于接收客户端提交的多个事务;
拆分模块,用于将每个事务,拆分为多个针对单个账户的数据处理子操作,并构成一个数据处理组;
并发模块,用于并发执行各个数据处理组,其中,同一组的数据处理子操作逐个执行,不同组的数据处理子操作同时执行。
优选的,所述拆分模块包括针对各个事务的拆分子模块,各个拆分子模块并发执行。
优选的,所述装置还包括:
执行结果判断模块,用于在各个数据处理组执行完毕后,判断返回的执行结果是否符合预设条件,若否,则执行回滚模块;
回滚模块,用于执行所述数据处理组中各个数据处理子操作的回滚操作。
优选的,所述装置还包括:
回滚操作判断模块,用于判断所述回滚操作是否执行成功,若否,则依据所述执行结果生成报警提示信息。
与现有技术相比,本申请具有以下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210328626.6/2.html,转载请声明来源钻瓜专利网。