【技术实现步骤摘要】
一种基于消息驱动的事务处理方法及装置
本申请涉及计算机
,尤其涉及一种基于消息驱动的事务处理方法及装置。
技术介绍
目前,为了提升终端或数据库业务处理效率,缓解终端或数据库的运行负载,通常使用基于消息驱动的分布式架构来处理数据库事务。现有的基于消息驱动的分布式架构来处理数据库事务主要流程为:终端执行数据库事务,当执行数据库事务产生事务消息时,将所生成的事务消息发送给消息中间件,消息中间件将所接收的事务消息发送给客户端。但是,在现有技术中,由于终端在执行数据库事务时某个操作发生了故障,该数据库事务会重新执行,因此,当终端在执行数据库事务的过程中某个操作发生了故障,就会导致在该操作之前向消息中间件所发送的事务消息无法撤销。
技术实现思路
本申请实施例提供一种基于消息驱动的事务处理方法及装置,用以解决现有技术中当终端在执行数据库事务的过程中某个操作发生了故障,就会导致在该操作之前向消息中间件所发送的事务消息无法撤销的问题。本申请实施例提供的一种基于消息驱动的事务处理的方法,所述方法包括:执行数据库事务,其中,所执行的数据库事务携带有执行状态;监测执行所述数据库事务所产 ...
【技术保护点】
1.一种基于消息驱动的事务处理方法,其特征在于,所述方法包括:执行数据库事务,其中,所执行的数据库事务携带有执行状态;监测执行所述数据库事务所产生的事务消息;拦截监测到的事务消息,并缓存在本地;当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息。
【技术特征摘要】
1.一种基于消息驱动的事务处理方法,其特征在于,所述方法包括:执行数据库事务,其中,所执行的数据库事务携带有执行状态;监测执行所述数据库事务所产生的事务消息;拦截监测到的事务消息,并缓存在本地;当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息。2.如权利要求1所述的方法,其特征在于,在执行数据库事务之前,所述方法还包括:指定数据库事务;在指定的数据库事务内添加特定标记;监测携带有特定标记的数据库事务为待执行的数据库事务。3.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述数据库事务携带的执行状态为回滚状态时,删除缓存在本地内的事务消息。4.如权利要求1~3任一所述的方法,其特征在于,所述事务消息持久化存储,所述数据库事务携带的执行状态持久化存储。5.如权利要求4所述的方法,其特征在于,在发送所缓存的事务消息,或删除缓存在本地内的事务消息之后,所述方法还包括:将持久化存储的事务消息标记为失效。6.如权利要求4所述的方法,其特征在于,在执行数据库事务之后,所述方法还包括:生成所执行的数据库事务对应的键值;建立所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系。7.如权利要求6所述的方法,其特征在于,当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息之后,所述方法还包括:接收返回的所述数据库事务对应的事务消息,根据建立的所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系,将返回的所述数据库事务对应的事务消息与持久化存储的所述数据库事务对应的事务消息进行匹配,确定返回的所述数据库事务对应的事务消息是否已经存在;当未存在返回的所述数据库事务对应的事务消息时,执行返回的所述数据库事务对应的事务消息。8.如权利要求6所述的方法,其特征在于,所述方法还包括:根据建立的所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系,每隔预设的周期检查持久化存储的事务消息;根据持久化存储的数据库事务携带的执行状态,确定持久化存储的事务消息是否发送。9.一种基于消息驱动的事务处理装置,其特征在于,所述装置包括:执行模块,用于执行数据库事务,其中,所执行的数据库事...
【专利技术属性】
技术研发人员:贾英哲,汪洵潇,
申请(专利权)人:美利车北京网络技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。