【技术实现步骤摘要】
一种基于分库分表的数据库事务处理方法及装置
本专利技术涉及数据库事务处理
,特别涉及一种基于分库分表的数据库事务处理方法及装置。
技术介绍
随着移动技术的发展,互联网已经渗透到人们生活的方方面面,线上经济活动的份额持续增长。大量用户和业务的接入,必然导致系统压力过大,降低系统的响应速度,从而影响用户体验。然而,各大电商竞争激烈,如果网站响应不及时,或者应用有明显的延迟,会导致用户体验差,甚至造成用户流失等问题。当前一些应用系统,由于数据库是单库,数据库性能成为系统性能提升的一个瓶颈。目前通常采用数据库横向扩展的方式改善上述情况,但是,数据库横向扩展会带来跨库事务实现的难题。这是由于,在单库环境下,一次操作多行数据,可以通过数据库的特性(即数据库的原子性)保证操作同时成功或者同时失败,但是在多库环境下,一次操作的多行数据可能分布在不同的数据库实例中,无法通过数据库的特性保证操作同时成功或者同时失败,必须要引入分布式事务来保证操作的一批数据同时成功或者失败。但是,无论是引入中间件或者自开发实现分布式事务,成本都很高 ...
【技术保护点】
1.一种基于分库分表的数据库事务处理方法,其特征在于,所述方法包括如下步骤:/n根据预先构建的映射表获取业务的初始子流程的分库分表字段,所述映射表记录了业务的每一当前子流程与上一个子流程的映射关系,所述映射关系用于指示所述上一个子流程的信息;/n根据所述初始子流程的分库分表字段以及分库数量为当前子流程分配分库,所述当前子流程为所述业务的除初始子流程外的任一子流程;/n根据所述初始子流程的分库分表字段以及分表数量为所述当前子流程在所述分库中选取分表;/n将所述当前子流程的数据更新至分配到的所述分表,同时更新所述业务的其他子流程对应的分表中的相关数据。/n
【技术特征摘要】
1.一种基于分库分表的数据库事务处理方法,其特征在于,所述方法包括如下步骤:
根据预先构建的映射表获取业务的初始子流程的分库分表字段,所述映射表记录了业务的每一当前子流程与上一个子流程的映射关系,所述映射关系用于指示所述上一个子流程的信息;
根据所述初始子流程的分库分表字段以及分库数量为当前子流程分配分库,所述当前子流程为所述业务的除初始子流程外的任一子流程;
根据所述初始子流程的分库分表字段以及分表数量为所述当前子流程在所述分库中选取分表;
将所述当前子流程的数据更新至分配到的所述分表,同时更新所述业务的其他子流程对应的分表中的相关数据。
2.根据权利要求1所述的基于分库分表的数据库事务处理方法,其特征在于,所述根据预先构建的映射表获取业务的初始子流程的分库分表字段包括:
获取所述业务的当前子流程的信息,根据所述当前子流程的信息查询相应的所述映射表,获取上一个子流程的信息;
重复上述步骤,直至查询到所述业务的初始子流程的信息,获取所述初始子流程的信息中的分库分表字段。
3.根据权利要求1或2所述的基于分库分表的数据库事务处理方法,其特征在于,所述方法还包括为每一业务的初始子流程分配分库以及所述分库中的分表的过程,步骤包括:
为每一业务的初始子流程设置分库分表字段;
根据所述初始子流程的分库分表字段以及分库数量为所述初始子流程分配分库;
根据所述初始子流程的分库分表字段以及分表数量为所述初始子流程分配所述分库中的分表。
4.根据权利要求1或2所述的基于分库分表的数据库事务处理方法,其特征在于,所述方法还包括构建映射表的过程,包括:
根据业务的每一当前子流程与上一个子流程的映射关系生成映射表,所述映射关系用于指示所述上一个子流程的信息。
5.根据权利要求4所述的基于分库分表的数据库事务处理方法,其特征在于,所述方法还包括为映射表分配分库以及分表的过程,包括
根据所述当前子流程的信息、分库数量以及分表数量为所述映射表分配分库以及分表,以存储所述映射表。
6.一种基于分库分表的数...
【专利技术属性】
技术研发人员:王君,王康龙,秦刚,司孝波,钱津津,
申请(专利权)人:苏宁云计算有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。