分库分表场景业务处理方法及装置制造方法及图纸

技术编号:34726281 阅读:13 留言:0更新日期:2022-08-31 18:13
本发明专利技术提供了一种分库分表场景业务处理方法及装置,可用于人工智能技术领域,所述方法包括:基于接收的用户终端传输的业务处理请求调用公共处理逻辑;获取所述公共处理逻辑执行过程中的数据库本地事务信息;根据所述数据库本地事务信息确定对应的数据库连接信息,根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑,本发明专利技术可简化分库分表策略,降低数据库表设置的复杂度。降低数据库表设置的复杂度。降低数据库表设置的复杂度。

【技术实现步骤摘要】
分库分表场景业务处理方法及装置


[0001]本专利技术涉及分库分表
,尤其涉及一种分库分表场景业务处理方法及装置。

技术介绍

[0002]目前在分库分表场景下,数据库本地事务一致性通用处理中遇到以下难点问题:
[0003]1)公共处理逻辑需要与数据库本地事务保持业务一致性,例如,本地事务处理成功才能发送异步消息,本地事务处理失败则不能发送消息。
[0004]2)由于每种业务使用的分库分表策略、算法各不相同,导致一些业务公共处理逻辑涉及到的数据库表,无法在同一个应用中适配各种不同分库分表策略的场景。例如消息发送组件在本地事务处理成功之后,需要记录消息发送表,应与业务处理逻辑的本地事务保持在同一事务中但为了适配各种业务场景,消息发送表的分库分表策略配置将变得十分复杂。

技术实现思路

[0005]本专利技术的一个目的在于提供一种分库分表场景业务处理方法,简化分库分表策略,降低数据库表设置的复杂度。本专利技术的另一个目的在于提供一种分库分表场景数据库通用业务处理装置。本专利技术的再一个目的在于提供一种计算机设备。本专利技术的还一个目的在于提供一种可读介质。本专利技术的还一个目的在于提供一种计算机程序产品。
[0006]为了达到以上目的,本专利技术一方面公开了一种分库分表场景业务处理方法,包括:
[0007]基于接收的用户终端传输的业务处理请求调用公共处理逻辑;
[0008]获取所述公共处理逻辑执行过程中的数据库本地事务信息;
[0009]根据所述数据库本地事务信息确定对应的数据库连接信息,根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑。
[0010]优选的,所述获取所述公共处理逻辑执行过程中的数据库本地事务信息具体包括:
[0011]通过Spring事务管理器和分库分表组件的数据源管理组件在线程上下文记录公共处理逻辑执行时的数据库本地事务信息;
[0012]从所述线程上下文中获取数据库本地事务信息。
[0013]优选的,所述根据所述数据库本地事务信息得到数据库连接信息具体包括:
[0014]根据所述数据库本地事务信息确定分库编号和数据库连接信息。
[0015]优选的,所述根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑具体包括:
[0016]通过分库分表组件根据所述数据库连接信息连接至对应的数据库;
[0017]基于所述业务处理请求进行数据库分库分表业务逻辑处理。
[0018]优选的,进一步包括:
[0019]确定所述基于接收的用户终端传输的业务处理请求调用公共处理逻辑的执行结果是否为执行完成;
[0020]若是,确定所述根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑是否为执行完成;
[0021]若是,向所述用户终端返回请求处理成功信息。
[0022]优选的,进一步包括:
[0023]若确定所述基于接收的用户终端传输的业务处理请求调用公共处理逻辑的执行结果为执行失败或者若确定所述根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑的执行结果为执行失败,回滚所述业务处理请求的所有操作。
[0024]优选的,所述回滚所述业务处理请求的所有操作具体包括:
[0025]通过spring事务管理器回滚所述业务处理请求的所有操作。
[0026]本专利技术还公开了一种分库分表场景业务处理装置,包括:
[0027]公共处理模块,用于基于接收的用户终端传输的业务处理请求调用公共处理逻辑;
[0028]数据库信息获取模块,用于获取所述公共处理逻辑执行过程中的数据库本地事务信息;
[0029]业务处理模块,用于根据所述数据库本地事务信息确定对应的数据库连接信息,根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑。
[0030]本专利技术还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,
[0031]所述处理器执行所述程序时实现如上所述方法。
[0032]本专利技术还公开了一种计算机可读介质,其上存储有计算机程序,
[0033]该程序被处理器执行时实现如上所述方法。
[0034]本专利技术还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述方法。
[0035]本专利技术分库分表场景业务处理方法基于接收的用户终端传输的业务处理请求调用公共处理逻辑;获取所述公共处理逻辑执行过程中的数据库本地事务信息;根据所述数据库本地事务信息确定对应的数据库连接信息,根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑。从而,本专利技术通过获取公共处理逻辑过程中的数据库本地事务信息,得到应用本地事务数据源连接的方式,在获取到数据源连接之后,业务处理逻辑中的数据库表操作可直接通过该连接进行,从而确保能在同一数据库事务中完成;同时,这种处理方式对应的分库分表策略配置将得到简化和统一,方便公共处理逻辑能够在各种分库分表场景下进行推广使用。
附图说明
[0036]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1示出本专利技术分库分表场景业务处理方法具体实施例的流程图;
[0038]图2示出本专利技术分库分表场景业务处理方法具体实施例S200的流程图;
[0039]图3示出本专利技术分库分表场景业务处理方法具体实施例S300的流程图;
[0040]图4示出本专利技术分库分表场景业务处理方法具体实施例S400的流程图;
[0041]图5示出本专利技术分库分表场景业务处理装置具体实施例的结构图;
[0042]图6示出适于用来实现本专利技术实施例的计算机设备的结构示意图。
具体实施方式
[0043]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0044]需要说明的是,本申请公开的一种分库分表场景业务处理方法及装置可用于人工智能
,也可用于除人工智能
之外的任意领域,本申请公开的一种分库分表场景业务处理方法及装置的应用领域不做限定。
[0045]需要说明的是,在本专利技术的一个或多个实施例中,分库分表是指在特定的业务场景,使用特定的业务字段以及数据拆分规则,将数据进行拆分的技术方法,包括垂直拆分以及水平拆分,本专利技术主要对应水平拆分的场景。
[0046]需要说明的是,在本专利技术的一个或多个实施例中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分库分表场景业务处理方法,其特征在于,包括:基于接收的用户终端传输的业务处理请求调用公共处理逻辑;获取所述公共处理逻辑执行过程中的数据库本地事务信息;根据所述数据库本地事务信息确定对应的数据库连接信息,根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑。2.根据权利要求1所述的分库分表场景业务处理方法,其特征在于,所述获取所述公共处理逻辑执行过程中的数据库本地事务信息具体包括:通过Spring事务管理器和分库分表组件的数据源管理组件在线程上下文记录公共处理逻辑执行时的数据库本地事务信息;从所述线程上下文中获取数据库本地事务信息。3.根据权利要求2所述的分库分表场景业务处理方法,其特征在于,所述根据所述数据库本地事务信息得到数据库连接信息具体包括:根据所述数据库本地事务信息确定分库编号和数据库连接信息。4.根据权利要求1所述的分库分表场景业务处理方法,其特征在于,所述根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑具体包括:通过分库分表组件根据所述数据库连接信息连接至对应的数据库;基于所述业务处理请求进行数据库分库分表业务逻辑处理。5.根据权利要求1所述的分库分表场景业务处理方法,其特征在于,进一步包括:确定所述基于接收的用户终端传输的业务处理请求调用公共处理逻辑的执行结果是否为执行完成;若是,确定所述根据所述数据库连接信息执行所述业务处理请求对应的分库分表业务逻辑是否为执行完成;若是,向所述用户终端返回请求...

【专利技术属性】
技术研发人员:朱明会
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1