[发明专利]基于客户端编程接口实现的事务异常处理方法及相关设备在审
申请号: | 202310246241.3 | 申请日: | 2023-03-06 |
公开(公告)号: | CN116401021A | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 郝龙云;李楠 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/07 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 胡向阳 |
地址: | 100102 北京市朝阳区容*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 客户端 编程 接口 实现 事务 异常 处理 方法 相关 设备 | ||
本发明提供了一种基于客户端编程接口实现的事务异常处理方法及相关设备。涉及数据库技术领域。本发明的客户端编程接口至少封装执行回滚逻辑的第一函数;以及事务异常处理方法包括:响应于应用层上语句执行完成,判断语句执行的结果是否成功,如是,则调用客户端编程接口,并更新第一函数的回滚点或退出第一函数;或者如否,则调用客户端编程接口,以执行第一函数。本发明的事务异常处理方法在需要对事务进行回滚时,可调用客户端编程接口执行第一函数,对事务进行回滚,使得数据库在客户端编程接口层表现为具有自动回滚的能力。降低了应用开发的开发难度和复杂性。
技术领域
本发明涉及数据库技术领域,特别是涉及一种基于客户端编程接口实现的事务异常处理方法及相关设备。
背景技术
在应用开发时,应用开发者需要创建使用函数调用来访问数据库,并控制SQL语句执行和数据访问的所有阶段。但是,在数据库服务不具备事务自动回滚能力的情况下,一旦语句执行出错或事务执行失败,应用开发者往往需要针对该问题单独处理事务,使应用开发的难度和复杂性大大增加,并带来许多不便和不可预知的错误。
目前,一些带有自动回滚事务能力的数据库中,其服务端提供了语句执行出错后自动回滚事务状态的能力,所以这些数据库的服务端编程接口不存在语句一旦执行出错后,就不能在当前事务中继续执行后续语句的问题。但是,更多类型的数据库尚不具备自动回滚事务能力,并仍然在应用开发中起到重要作用,从而引起一些应用开发仍然存在开发难度和复杂性较大的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于客户端编程接口实现的事务异常处理方法及相关设备,能够解决现有技术中部分数据库无自动回滚事务能力引起的应用开发难度大的问题,达到使应用开发简便的目的。
具体地,本发明提供了一种基于客户端编程接口实现的事务异常处理方法,其中,所述客户端编程接口至少封装执行回滚逻辑的第一函数;以及,所述事务异常处理方法包括:响应于应用层上语句执行完成,判断所述语句执行的结果是否成功,如是,则调用所述客户端编程接口,并更新所述第一函数的回滚点或退出所述第一函数;或者,如否,则调用所述客户端编程接口,以执行所述第一函数。
可选地,所述客户端编程接口还至少封装设置所述回滚逻辑的第二函数;以及所述事务异常处理方法还包括:调用所述客户端编程接口,以所述应用层为条件,设置所述回滚逻辑。
可选地,所述事务异常处理方法还包括:响应于所述回滚逻辑被设置为事务回滚逻辑,获取当前事务状态;响应于所述当前事务状态不在事务中,开启下一事务,并在所述客户端编程接口进行语句执行动作;响应于所述下一事务中所述语句执行失败,根据所述事务回滚逻辑,执行所述第一函数。
可选地,所述事务异常处理方法还包括:响应于所述回滚逻辑被设置为语句回滚逻辑,根据当前事务状态,更新所述第一函数的回滚点;响应于所述回滚点更新后语句执行失败,根据所述语句回滚逻辑,执行所述第一函数。
可选地,所述的根据当前事务状态,更新所述第一函数的回滚点,包括:获取当前事务状态;响应于所述当前事务状态在事务中且已设置回滚点,将回滚点更新至当前位置。
可选地,所述客户端编程接口至少封装开启新事务的第三函数;所述事务异常处理方法还包括:响应于所述下一事务中所述语句执行成功,调用所述客户端编程接口执行所述第三函数。
可选地,所述事务异常处理方法还包括:响应于所述回滚点更新至当前位置,执行下一语句。
可选地,所述客户端编程接口至少还封装记录设置的所述回滚逻辑和事务的归档日志;所述事务异常处理方法还包括:响应于所述回滚逻辑为事务回滚逻辑且当前事务执行完成,调用所述客户端编程接口记录所述当前事务的所述回滚逻辑和所述当前事务;响应于所述回滚逻辑为语句回滚逻辑且语句执行完成,记录所述回滚逻辑和所述语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310246241.3/2.html,转载请声明来源钻瓜专利网。