[发明专利]访问数据库的方法、装置及存储介质在审
| 申请号: | 202211522600.5 | 申请日: | 2022-11-30 |
| 公开(公告)号: | CN116049270A | 公开(公告)日: | 2023-05-02 |
| 发明(设计)人: | 王肇国;丁浩然 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F11/14;G06F16/2455;G06F16/248 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 访问 数据库 方法 装置 存储 介质 | ||
本申请公开了一种访问数据库的方法、装置及存储介质,属于计算机领域。所述方法包括:获取应用程序中的至少一个目标数据库访问操作,所述至少一个目标数据库访问操作是不破坏所述应用程序幂等性的操作;获取待执行数据库访问操作,所述待执行数据库访问操作是所述应用程序中的数据库访问操作;在所述至少一个目标数据库访问操作包括所述待执行数据库访问操作时,使用所述待执行数据库访问操作访问所述应用程序的数据库,得到所述待执行数据库访问操作的访问结果。本申请能够减小访问数据库的时延。
技术领域
本申请涉及计算机领域,特别涉及一种访问数据库的方法、装置及存储介质。
背景技术
应用程序在运行时会访问数据库,应用程序的幂等性是指多次运行应用程序对数据库所产生的影响和单次运行应用程序对数据库所产生的影响相同。应用程序可能出现异常导致多次运行应用程序。例如应用程序是个转账函数,该转账函数用于从一个用户的账户向另一个用户的账户转账,用户的账户存储在数据库中。假设转账函数执行完转账操作后崩溃,转账函数重新启动后会再次执行该转账操作,如果转账函数具有幂等性,转账函数再次执行该转账操作后两个用户的账户状态不会改变,这样避免了重复转账。
为了使应用程序具有幂等性,应用程序使用数据库访问日志来记录已访问数据库的数据库访问操作,该数据库用于保存属于应用程序的应用数据。数据库访问日志包括已访问数据库的数据库访问操作的访问日志,对于任一个已访问数据库的数据库访问操作的访问日志,该访问日志包括该数据库访问操作的操作标识和使用该数据库访问操作访问数据库的访问结果。这样应用程序在执行某个数据库访问操作时,基于该数据库访问操作的操作标识查询数据库访问日志。如果查询出该数据库访问操作的访问日志,表示应用程序已使用该数据库访问操作访问数据库,获取该访问日志中的访问结果,如此不需要继续访问数据库。如果没有查询出该数据库访问操作的访问日志,表示应用程序未使用该数据库访问操作访问数据库,使用该数据库访问操作访问数据库并得到访问结果,然后再将包括该数据库访问操作的操作标识和该访问结果的访问日志保存在数据库访问日志中。如此对于应用程序中的任一个数据库访问操作,无论应用程序使用该数据库访问操作的次数是多少,应用程序使用该数据库访问操作访问数据库的实际次数只有一次,使得应用程序具有幂等性。
应用程序每次使用数据库访问操作访问数据库时,都需要查询数据库访问日志,查询数据库访问日志需要较长的时间,增加了访问数据库的时延。
发明内容
本申请提供了一种访问数据库的方法、装置及存储介质,减小访问数据库的时延。所述技术方案如下:
第一方面,本申请提供了一种访问数据库的方法,在所述方法中,获取应用程序中的至少一个目标数据库访问操作,该至少一个目标数据库访问操作是不破坏应用程序幂等性的操作。获取待执行数据库访问操作,待执行数据库访问操作是应用程序中的数据库访问操作。在该至少一个目标数据库访问操作包括待执行数据库访问操作时,使用待执行数据库访问操作访问应用程序的数据库,得到待执行数据库访问操作的访问结果。
由于获取到应用程序中的至少一个目标数据库访问操作,该至少一个目标数据库访问操作是不破坏应用程序幂等性的操作,这样对于应用程序中的待执行数据库访问操作,在该至少一个目标数据库访问操作包括待执行数据库访问操作时,使用待执行数据库访问操作访问应用程序的数据库,得到待执行数据库访问操作的访问结果,提高了访问数据库效率,减小访问数据库的时延。
在一种可能的实现方式中,在该至少一个目标数据库访问操作不包括待执行数据库访问操作时,基于数据库访问日志获取待执行数据库访问操作的访问结果,数据库访问日志用于记录应用程序中已访问数据库的数据库访问操作的访问日志。
在该至少一个目标数据库访问操作不包括待执行数据库访问操作时,表示待执行数据库访问操作破坏应用程序的幂等性,基于数据库访问日志获取待执行数据库访问操作的访问结果,保证在不破坏应用程序幂等性的情况下,获取到待执行数据库访问操作的访问结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211522600.5/2.html,转载请声明来源钻瓜专利网。





