一种长事务的异步处理方法、系统及电子设备技术方案

技术编号:37681336 阅读:14 留言:0更新日期:2023-05-28 09:34
本申请提供一种长事务的异步处理方法、系统及电子设备,所述方法包括:将长事务拆分为多个分事务,并将所述长事务和所述分事务的对应关系列表保存在配置文件中;接收所述长事务的发起信息,将所述发起信息发送到消息中间件,通过所述消息中间件根据所述长事务的发起信息生成消息数据;读取所述配置文件,获取所述对应关系列表;根据所述消息数据和所述对应关系列表,获取对应的事务操作,对业务数据进行逻辑处理。通过将长事务拆分成多个事务,从而减少长事务的处理时间和资源占用的时间。而减少长事务的处理时间和资源占用的时间。而减少长事务的处理时间和资源占用的时间。

【技术实现步骤摘要】
一种长事务的异步处理方法、系统及电子设备


[0001]本专利技术涉及计算机
,具体涉及一种长事务的异步处理方法、系统及电子设备。

技术介绍

[0002]随着企业的发展壮大,企业的信息化建设也越来越完善,原有的业务系统会增加更多的业务功能,导致业务系统中的一个事务会不断的加入多个操作,从而变成长事务,因此需要通过一种异步处理方法对长事务进行管理。目前的长事务管理只能提供简单的事务提交和回滚功能,不能够对长事务进行更灵活的管理。

技术实现思路

[0003]本申请旨在提供一种长事务的异步处理方法、系统及电子设备,通过将长事务拆分成多个事务,从而减少长事务的处理时间和资源占用的时间。
[0004]根据本申请的一方面,提出一种长事务的异步处理方法,包括:
[0005]将长事务拆分为多个分事务,并将所述长事务和所述分事务的对应关系列表保存在配置文件中;
[0006]接收所述长事务的发起信息,将所述发起信息发送到消息中间件,通过所述消息中间件根据所述长事务的发起信息生成消息数据;
[0007]读取所述配置文件,获取所述对应关系列表,根据所述消息数据和所述对应关系列表,获取对应的分事务操作,对业务数据进行逻辑处理。
[0008]根据一些实施例,所述方法还包括:
[0009]配置处理所述长事务的消息中间件类型,所述消息中间件类型包括kafka、ActiveMQ、RocketMQ和RabbitMQ,并保存在所述配置文件中。
[0010]根据一些实施例,所述方法还包括:
[0011]读取所述配置文件,获取所述消息中间件类型的配置信息,根据所述配置信息将所述发起信息发送到相应的消息中间件。
[0012]根据一些实施例,所述方法还包括:
[0013]对所述发起信息进行解析并组装成轻量级数据交换格式的数据;
[0014]调用所述消息中间件的API接口,将组装后的数据发送给所述消息中间件,由所述消息中间件根据收到的信息生成消息数据。
[0015]根据一些实施例,所述方法还包括:
[0016]通过所述消息中间件把所述消息数据放入消息队列中以等待消费,并保存到文件系统。
[0017]根据一些实施例,所述方法还包括:
[0018]所述根据所述消息数据和所述对应关系列表,获取对应的分事务操作,对业务数据进行逻辑处理,包括:
[0019]将所述消息队列中的消息进行解析,并在所述对应关系列表中进行轮询比对,得到对应的事务操作编号,将所述事务操作编号持久化,并设置所述消息为未消费状态。
[0020]根据一些实施例,所述方法还包括:
[0021]所述根据所述消息数据和所述对应关系列表,获取对应的事务操作,对业务数据进行逻辑处理,还包括:
[0022]根据获得的所述事务操作编号,调用对应的事务操作的API接口,通知对应的所述事务操作对业务数据进行逻辑处理,并更新所述消息为已消费状态。
[0023]根据本申请的另一方面,提供一种长事务的异步处理系统,包括:
[0024]事务拆分模块,用于将长事务拆分为多个分事务,并将所述长事务和所述分事务的对应关系列表保存在配置文件中;
[0025]消息生成模块,用于接收所述长事务的发起信息,将所述发起信息发送到消息中间件,通过所述消息中间件根据所述长事务的发起信息生成消息数据;
[0026]消息处理模块,用于读取所述配置文件,获取所述对应关系列表,根据所述消息数据和所述对应关系列表,获取对应的分事务操作,对业务数据进行逻辑处理。
[0027]根据一些实施例,所述系统还包括:
[0028]消息中间件配置模块,用于配置处理所述长事务的消息中间件类型,所述消息中间件类型包括kafka、ActiveMQ、RocketMQ和RabbitMQ,并保存在所述配置文件中。
[0029]根据本申请的另一方面,提供一种电子设备,包括:
[0030]存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中任一项所述的方法。
[0031]根据本申请的另一方面,提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述方法中任一项所述的方法。
[0032]根据本申请示例实施例,通过一种长事务的异步处理方法,可以灵活的管理长事务,通过配置的方式实现选择不同的消息中间件来处理消息,将长事务拆分成多个正常的事务,解决长事务处理时间长,占用数据库资源时间长的问题。
[0033]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0034]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0035]图1示出根据本申请示例实施例的长事务的异步处理方法流程图。
[0036]图2示出根据本申请示例实施例的长事务的异步处理方法示意图。
[0037]图3示出根据本申请示例实施例的消息中间件配置流程示意图。
[0038]图4示出根据本申请示例实施例的消息生成流程示意图。
[0039]图5示出根据本申请示例实施例的消息处理流程示意图。
[0040]图6示出根据本申请示例实施例的事务处理流程示意图。
[0041]图7示出根据本申请示例实施例的长事务的异步处理系统的框图。
[0042]图8示出根据一示例性实施例的一种电子设备的框图。
具体实施方式
[0043]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0044]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
[0045]附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0046]附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0047]应理解本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种长事务的异步处理方法,其特征在于,包括:将长事务拆分为多个分事务,并将所述长事务和所述分事务的对应关系列表保存在配置文件中;接收所述长事务的发起信息,将所述发起信息发送到消息中间件,通过所述消息中间件根据所述长事务的发起信息生成消息数据;读取所述配置文件,获取所述对应关系列表,根据所述消息数据和所述对应关系列表,获取对应的分事务操作,对业务数据进行逻辑处理。2.根据权利要求1所述的方法,其特征在于,还包括:配置处理所述长事务的消息中间件类型,所述消息中间件类型包括kafka、ActiveMQ、RocketMQ和RabbitMQ,并保存在所述配置文件中。3.根据权利要求2所述的方法,其特征在于,还包括:读取所述配置文件,获取所述消息中间件类型的配置信息,根据所述配置信息将所述发起信息发送到相应的消息中间件。4.根据权利要求3所述的方法,其特征在于,还包括:对所述发起信息进行解析并组装成轻量级数据交换格式的数据;调用所述消息中间件的API接口,将组装后的数据发送给所述消息中间件,由所述消息中间件根据收到的信息生成消息数据。5.根据权利要求4所述的方法,其特征在于,还包括:通过所述消息中间件把所述消息数据放入消息队列中以等待消费,并保存到文件系统。6.根据权利要求5所述的方法,其特征在于,所述根据所述消息数据和所述对应关系列表,获取对应的事务操作,对业务数据进行逻辑处理,包括:将所述消息队列中的消息进行解析,并在所述对应关系列表中进行轮询比对,得到对应的事务操作编号,将所述事务操作编号持久化,并设置所述消息为未消费...

【专利技术属性】
技术研发人员:龙永勇倪俊波罗巍巍刘鹏飞余安刚
申请(专利权)人:成都亿阳信通信息技术有限公司
类型:发明
国别省市:

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

1