一种基于缓存结构的对象扫描方法与流程

文档序号:31728069发布日期:2022-10-05 01:08阅读:来源:国知局

技术特征:
1.一种基于缓存结构的对象扫描方法,由系统施行,所述系统包括易失性存储和持久性存储;其特征在于,所述方法包括:所述系统为创建的每一个对象顺序分配逻辑索引并按数量规则对逻辑索引连续的对象进行分组;在持久性存储上为所述分组产生的每一组对象分配一个满足所述数量规则的存储块;在易失性存储上分配一个标记索引数组,所述标记索引数组的一个数组元素包含所述分组产生的一组对象的逻辑索引起始值和指向一个与所述存储块同样大小的标记块的物理地址;扫描系统正在使用的一个对象,在易失性存储中,根据所述一个对象的逻辑索引查找所述标记索引数组中对应的数组元素;在易失性存储中,为指向标记块的物理地址为空的所述对应的数组元素分配新标记块;若分配失败按照缓存替换策略选择一个已分配的标记块作为替换标记块,将所述替换标记块的内容回写到持久性存储中的指向所述替换标记块的数组元素包含的一组对象对应的存储块,并将指向所述替换标记块的数组元素的物理地址写为空;在易失性存储中,设置所述对应的数组元素的物理地址指向所述新标记块或所述替换标记块。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:读取持久性存储中的所述对应的数组元素的一组对象对应的存储块内容,填写到所述对应的数组元素的物理地址指向的标记块,并在所述对应的数组元素的物理地址指向的标记块中为所述正在使用的一个对象设置扫描标记;若在易失性存储中找不到所述新标记块和所述替换标记块,在持久性存储中根据所述正在使用的一个对象的逻辑索引查找所述分组产生的一组对象对应的存储块,在所述对应的存储块中为所述正在使用的一个对象设置扫描标记。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在易失性存储中,对指向标记块的物理地址不为空的所述对应的数组元素,在所述对应的数组元素的物理地址指向的标记块中为所述正在使用的一个对象设置扫描标记。4.根据权利要求1所述的方法,其特征在于,所述系统完成对象扫描后执行对象垃圾回收。5.根据权利要求4所述的方法,其特征在于,所述垃圾回收包括,在易失性存储中,根据系统创建的每一个对象的逻辑索引查找标记索引数组中对应的数组元素,若所述对应的数组元素指向标记块的物理地址不为空,读取所述对应的数组元素的物理地址指向的标记块中为所述创建的每一个对象设置的扫描标记;对没有设置扫描标记的所述创建的每一个对象回收系统资源。6.根据权利要求5所述的方法,其特征在于,所述垃圾回收还包括,若所述对应的数组元素指向标记块的物理地址为空,在持久性存储中根据所述创建的每一个对象的逻辑索引查找所述分组产生的一组对象对应的存储块,读取所述对应的存储块中为所述创建的每一个对象设置的扫描标记,对没有设置扫描标记的所述创建的每一个对象回收系统资源。7.根据权利要求1所述的方法,其特征在于,所述在持久性存储上为所述分组产生的每一组对象分配一个满足所述数量规则的存储块,所述存储块用于在持久性存储上保存所述每一组对象的扫描标记,系统对所述扫描标记初始化为未设置扫描标记;
所述在易失性存储上分配一个标记索引数组,系统将所述标记索引数组的数组元素的指向一个与所述存储块同样大小的标记块的物理地址初始化为空,所述标记块用于在易失性存储上保存所述数组元素包含的一组对象的扫描标记。8.根据权利要求1所述的方法,其特征在于,在易失性存储中,所述标记索引数组的一个数组元素的物理地址指向的标记块彼此之间是独立的,可以是不连续的存储空间。9.根据权利要求1所述的方法,其特征在于,在持久性存储上为所述分组产生的每一组对象分配的存储块空间大小为所述持久性存储的最小写单元或最小写单元的倍数。10.根据权利要求1或2所述的方法,其特征在于,将所述替换标记块的内容回写到持久性存储中的指向所述替换标记块的数组元素包含的一组对象对应的存储块,或在持久性存储中根据所述正在使用的一个对象的逻辑索引查找所述分组产生的一组对象对应的存储块,在所述对应的存储块中为所述正在使用的一个对象设置扫描标记,根据持久性存储的擦写特点,此时需要整页写或块写。

技术总结
本申请提供一种基于缓存结构的对象扫描方法,由系统实施,所述系统包括易失性存储和持久性存储;所述系统为创建的每一个对象顺序分配逻辑索引并按数量规则对逻辑索引连续的对象进行分组;在持久性存储上为分组产生的每一组对象分配一个满足数量规则的存储块;在易失性存储上分配一个标记索引数组,标记索引数组的一个数组元素包含分组产生的一组对象的逻辑索引起始值和指向一个与所述存储块同样大小的标记块的物理地址;为系统扫描到的正在使用的每一个对象设置扫描标记,再对系统创建的对象中未设置扫描标记的对象进行垃圾回收。本申请的方法针对易失性存储不足的应用场景,可以有效的提高存储管理和程序运行的效率。可以有效的提高存储管理和程序运行的效率。可以有效的提高存储管理和程序运行的效率。


技术研发人员:沈英哲 陈远建 庹凌云 王文东 吕彦辉 王正坤
受保护的技术使用者:北京熵核科技有限公司
技术研发日:2022.07.22
技术公布日:2022/10/4
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1