日志写入方法、装置、计算机设备、可读存储介质和程序产品与流程
- 国知局
- 2024-07-31 23:13:17
本申请涉及计算机,特别是涉及一种日志写入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、随着数据库技术的发展,出现了日志写入技术。通过日志来记录针对数据库已经发生的数据操作,基于日志文件来保证数据操作的原子性和持久性。在数据库系统中,通过日志来记录数据库事务的修改操作,包括数据的变更、事务的提交或回滚操作等。在数据库发生故障或意外崩溃时,可以利用数据库对应的日志文件对数据库进行恢复操作。
2、传统的日志写入技术中,是将数据库事务对应各个操作记录的直接写入日志缓冲区,再由异步线程将日志缓冲区内的操作记录写入日志文件内,当数据库操作并发量较高时,会出现日志写入效率低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高日志写入效率的日志写入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种日志写入方法,包括:
3、获取针对目标数据库的数据库操作指令,根据数据库操作指令确定针对目标数据库的目标操作记录;
4、将目标操作记录写入针对数据库操作指令的临时缓冲空间;
5、基于共享缓冲空间中当前缓冲块对应的空闲存储容量和临时缓冲空间对应的存储数据量,从共享缓冲空间包含的各个缓冲块中确定目标缓冲块;
6、将目标缓冲块中与存储数据量匹配的存储空间对应的存储状态更新为占用状态,将临时缓冲空间内的目标操作记录复制到目标缓冲块中与存储数据量匹配的存储空间;
7、将共享缓冲空间中的操作记录写入目标数据库对应的日志文件。
8、第二方面,本申请还提供了一种日志写入装置,包括:
9、指令获取模块,用于获取针对目标数据库的数据库操作指令,根据数据库操作指令确定针对目标数据库的目标操作记录;
10、临时缓冲模块,用于将目标操作记录写入针对数据库操作指令的临时缓冲空间;
11、缓冲块确定模块,用于基于共享缓冲空间中当前缓冲块对应的空闲存储容量和临时缓冲空间对应的存储数据量,从共享缓冲空间包含的各个缓冲块中确定目标缓冲块;
12、共享缓冲模块,用于将目标缓冲块中与存储数据量匹配的存储空间对应的存储状态更新为占用状态,将临时缓冲空间内的目标操作记录复制到目标缓冲块中与存储数据量匹配的存储空间;
13、日志写入模块,用于将共享缓冲空间中的操作记录写入目标数据库对应的日志文件。
14、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述日志写入方法的步骤。
15、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述日志写入方法的步骤。
16、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述日志写入方法的步骤。
17、上述日志写入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,通过获取针对目标数据库的数据库操作指令,根据数据库操作指令确定针对目标数据库的目标操作记录。进而将目标操作记录写入针对数据库操作指令的临时缓冲空间,基于共享缓冲空间中当前缓冲块对应的空闲存储容量和临时缓冲空间对应的存储数据量,从共享缓冲空间包含的各个缓冲块中确定目标缓冲块。将目标缓冲块中与存储数据量匹配的存储空间对应的存储状态更新为占用状态,将临时缓冲空间内的目标操作记录复制到目标缓冲块中对应的存储空间,进而将共享缓冲空间中的操作记录写入目标数据库对应的日志文件。可以理解,本案中针对每个数据库操作指令,通过各自对应的临时缓冲空间来暂时存储不断产生的目标操作记录,进而将临时缓冲空间中暂存的目标操作记录直接复制到共享缓冲空间,相比于传统方法中在执行数据库操作指令时抢占共享缓冲空间,将不断产生的目标操作记录逐步写入共享缓冲空间,本案中通过多级缓存,先写入临时缓存空间,然后以复制的方式将临时缓冲空间内的目标操作记录直接同步到共享缓冲空间,能够大大提高日志写入的效率。并且,在将临时缓冲空间内的操作记录复制到共享缓冲空间之前,先将目标缓冲块内相应的存储空间更新为占用状态,实现了无锁抢占,在临时缓冲空间内的操作记录复制到共享缓冲空间的过程中,其他临时缓冲空间可以抢占共享缓冲空间内的其他存储空间,避免了在将操作记录复制到共享缓冲空间的过程中,无法向共享缓冲空间写入其他操作记录的问题,能够进一步提高日志写入的效率。
技术特征:1.一种日志写入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库操作指令确定针对所述目标数据库的目标操作记录,包括:
3.根据权利要求1所述的方法,其特征在于,所述将所述目标操作记录写入针对所述数据库操作指令的临时缓冲空间,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于共享缓冲空间中当前缓冲块对应的空闲存储容量和所述临时缓冲空间对应的存储数据量,从所述共享缓冲空间包含的各个缓冲块中确定目标缓冲块,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
8.一种日志写入装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结本申请涉及一种日志写入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。所述方法包括:获取针对目标数据库的数据库操作指令,根据数据库操作指令确定针对目标数据库的目标操作记录;将目标操作记录写入针对数据库操作指令的临时缓冲空间;基于共享缓冲空间中当前缓冲块对应的空闲存储容量和临时缓冲空间对应的存储数据量,从共享缓冲空间包含的各个缓冲块中确定目标缓冲块;将目标缓冲块中与存储数据量匹配的存储空间对应的存储状态更新为占用状态,将临时缓冲空间内的目标操作记录复制到目标缓冲块中与存储数据量匹配的存储空间;将目标缓冲块中的操作记录写入目标数据库对应的日志文件。采用本方法能够提高日志写入的效率。技术研发人员:丁少鸿,董锦龙受保护的技术使用者:金蝶软件(中国)有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/196512.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表