[发明专利]一种预写日志存储方法、系统及设备在审
申请号: | 202211107815.0 | 申请日: | 2022-09-13 |
公开(公告)号: | CN115357197A | 公开(公告)日: | 2022-11-18 |
发明(设计)人: | 陈靓;冯钦 | 申请(专利权)人: | 江阴鹏云科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 江苏瑞途律师事务所 32346 | 代理人: | 金龙 |
地址: | 214431 江苏省无锡*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 日志 存储 方法 系统 设备 | ||
1.一种预写日志存储方法,其步骤如下,
接受到用户程序的预写日志后,通过计算当前新写入的预写日志的大小,申请预写日志写入的存储介质位置,预写日志按存储介质中的位置顺序直接写入,不经过任一中间系统;
当预写日志变成无效时,根据预写日志在存储介质中的位置顺序回收,回收无效日志的空间时,存储介质不擦除无效日志,当有新的预写日志写入时,新的预写日志覆盖回收的无效预写日志所在存储介质中的位置。
2.根据权利要求1所述的一种预写日志存储方法,其特征在于:预写日志的大小为chunkWriteSize,writePosition为新的预写日志所分配出来的在存储介质上的位置,readPosition为最先提交的但有效的预写日志所在存储介质的位置,capacity为需要存储内容占据存储介质的空间大小,具体移动起始位置的方式如下,
写日志:writePosition被申请后我们需要移动writePosition,为下次写入做准备,移动方式为writePosition=writePosition+chunkWriteSize或writePosition=writePosition+chunkWriteSize–capacity;
回收日志:移动readPosition,用于存储介质的空间回收,移动方式为readPosition=readPosition+chunkReadSize或readPosition=readPosition+chunkReadSize–capacity。
3.根据权利要求1或2所述的一种预写日志存储方法,其特征在于:划分存储介质为两个区域:NewRingBuffer和OldRingBuffer;在回收日志时,若最先提交的但未被淘汰的预写日志无法被回收,则判断这个预写日志的创建时间是否超过阈值或者整个NewRingBuffer的可用空间是否低于阈值,任一个判断条件成立,则在OldRingBuffer申请一个空间,将这个预写日志从NewRingBuffer拷贝到OldRingBuffer所管理的空间中,NewRingBuffer中的这个超时预写日志就被淘汰。
4.根据权利要求1所述的一种预写日志存储方法,其特征在于:预写日志在写入存储介质后输出预写结果。
5.根据权利要求1所述的一种预写日志存储方法,其特征在于:根据设定阈值,保存readPosition和writePosition信息数据。
6.根据权利要求5所述的一种预写日志存储方法,其特征在于:在发生重启时重新获取readPosition和writePosition信息,将readPosition和writePosition之间的有效预写日志读取出来提交给用户程序,供用户程序处理。
7.根据权利要求3所述的一种预写日志存储方法,其特征在于:当遇到无法被淘汰的预写日志判断当前日志是否需要从NewRingBuffer移动到OldRingBuffer,如果不需要,则终止任务,等待下一次执行;如果需要,则将该日志从NewRingBuffer移动到OldRingBuffer,移动NewRingBuffer的readPosition。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江阴鹏云科技有限公司,未经江阴鹏云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211107815.0/1.html,转载请声明来源钻瓜专利网。