[发明专利]一种基于消息驱动的事务处理方法及装置在审
申请号: | 201810735951.1 | 申请日: | 2018-07-06 |
公开(公告)号: | CN108958955A | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 贾英哲;汪洵潇 | 申请(专利权)人: | 美利车(北京)网络技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F17/30 |
代理公司: | 北京市天玺沐泽专利代理事务所(普通合伙) 11532 | 代理人: | 谢鑫 |
地址: | 100102 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务消息 数据库事务 事务处理 消息驱动 数据库 发送 缓存 事务消息缓存 完成状态 携带 完成时 监测 拦截 终端 撤销 申请 | ||
1.一种基于消息驱动的事务处理方法,其特征在于,所述方法包括:
执行数据库事务,其中,所执行的数据库事务携带有执行状态;
监测执行所述数据库事务所产生的事务消息;
拦截监测到的事务消息,并缓存在本地;
当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息。
2.如权利要求1所述的方法,其特征在于,在执行数据库事务之前,所述方法还包括:
指定数据库事务;
在指定的数据库事务内添加特定标记;
监测携带有特定标记的数据库事务为待执行的数据库事务。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述数据库事务携带的执行状态为回滚状态时,删除缓存在本地内的事务消息。
4.如权利要求1~3任一所述的方法,其特征在于,所述事务消息持久化存储,所述数据库事务携带的执行状态持久化存储。
5.如权利要求4所述的方法,其特征在于,在发送所缓存的事务消息,或删除缓存在本地内的事务消息之后,所述方法还包括:
将持久化存储的事务消息标记为失效。
6.如权利要求4所述的方法,其特征在于,在执行数据库事务之后,所述方法还包括:
生成所执行的数据库事务对应的键值;
建立所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系。
7.如权利要求6所述的方法,其特征在于,当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息之后,所述方法还包括:
接收返回的所述数据库事务对应的事务消息,根据建立的所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系,将返回的所述数据库事务对应的事务消息与持久化存储的所述数据库事务对应的事务消息进行匹配,确定返回的所述数据库事务对应的事务消息是否已经存在;
当未存在返回的所述数据库事务对应的事务消息时,执行返回的所述数据库事务对应的事务消息。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
根据建立的所执行的数据库事务对应的键值、所执行的数据库事务生成的事务消息以及所执行的数据库事务对应的携带的执行状态三者之间的对应关系,每隔预设的周期检查持久化存储的事务消息;
根据持久化存储的数据库事务携带的执行状态,确定持久化存储的事务消息是否发送。
9.一种基于消息驱动的事务处理装置,其特征在于,所述装置包括:
执行模块,用于执行数据库事务,其中,所执行的数据库事务携带有执行状态;
监测模块,用于监测执行所述数据库事务所产生的事务消息;
拦截模块,用于拦截监测到的事务消息,并缓存在本地;
发送模块,用于当所述数据库事务携带的执行状态为完成状态时,发送所缓存的事务消息。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
标记添加模块,用于在执行模块执行数据库事务之前,指定数据库事务,在指定的数据库事务内添加特定标记,监测携带有特定标记的数据库事务为待执行的数据库事务。
11.如权利要求9所述的装置,其特征在于,所述装置还包括:
回滚模块,用于当所述数据库事务携带的执行状态为回滚状态时,删除缓存在本地内的事务消息。
12.如权利要求9~11任一所述的装置,其特征在于,所述事务消息持久化存储,所述数据库事务携带的执行状态持久化存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美利车(北京)网络技术有限公司,未经美利车(北京)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810735951.1/1.html,转载请声明来源钻瓜专利网。