[发明专利]基于数据结构的垃圾回收方法、计算机及存储介质有效
申请号: | 201880002423.3 | 申请日: | 2018-08-24 |
公开(公告)号: | CN109690485B | 公开(公告)日: | 2023-08-18 |
发明(设计)人: | 袁振南;简怀兵;朱阅岸 | 申请(专利权)人: | 袁振南;区链通网络有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F12/02 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 李庆波 |
地址: | 英属维尔京群岛,托塔拉,罗德*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据结构 垃圾 回收 方法 计算机 存储 介质 | ||
本发明公开一种基于数据结构的垃圾回收方法,该垃圾回收方法利用时间片链表确定待回收数据所在的时间片,并获取时间片包含的全部未完成事务;进而将全部未完成事务中满足预设迁移条件的未完成事务作为可迁移事务迁移至时间片链表中的至少另一时间片中;从而可以对确定的满足预设回收条件的时间片的待回收数据进行回收。通过将满足预设迁移条件的未完成事务从待回收数据所在的时间片中迁移至时间片链表中的其他时间片中,进而对待回收数据进行回收,提高了垃圾回收的性能。
技术领域
本发明涉及内存管理技术领域,尤其涉及基于数据结构的垃圾回收方法、计算机及存储介质。
背景技术
垃圾回收是数据结构内存管理的基本方式,现有的垃圾回收方法是基于时间片的垃圾回收方法。该方法的基本思想是在事务进行读写操作之前将自己加入到当前的时间片中,通常而言,这只需要增加相应时间片的引用计数。如果事务将一个内存数据M从索引中移除,它将指向该数据M的指针P放入垃圾回收列表。该时间片满足不为当前时间片,且该时间片的引用计数为零的条件时,该时间片的垃圾回收列表中的对象可以被回收。
目前的垃圾回收方法中,当前时间片(Current Epoch,CE)能够向前推移的条件是:活跃线程列表中的时间片都等于当前时间片。一般实现中只需维护三个时间片即可,令三个时间片分别为E-2,E-1与E。由于将时间片凑够E-1推进到E时,所有活跃线程要么处于时间片E-1中的关键区域,要么开始进入时间片E的关键区域,此时时间片E-2的对象则可回收。但若时间片E-2中存在滞后事务,则会导致时间片无法向前推进,导致时间片E-2的对象不能回收。
发明内容
本发明的目的在于提供一种基于数据结构的垃圾回收方法、计算机及存储介质,能够提高对垃圾数据的回收性能。
为实现上述目的,本发明提供一种基于数据结构的垃圾回收方法,该垃圾回收方法包括:
利用时间片链表确定待回收数据对应的时间片,并获取所述时间片包含的全部活跃事务;
将所述全部活跃事务中满足预设迁移条件的活跃事务作为可迁移事务;
将所述可迁移事务迁移至所述时间片链表中的至少另一时间片中;
当确定迁移出所述可迁移事务后的所述时间片满足预设回收条件时,对所述待回收数据进行回收。
另一方面,本发明还提出了一种基于数据结构的垃圾回收方法,该垃圾回收方法包括:
获取当前的全部活跃事务;
从时间片链表中确定所述全部活跃事务分别对应的时间片,以及所述时间片对应的待回收数据;
将所述全部活跃事务中满足预设迁移条件的活跃事务作为可迁移事务;
将所述可迁移事务迁移至所述时间片链表中的至少另一时间片中;
确定迁移出所述可迁移事务后的所述时间片满足预设回收条件,对所述待回收数据进行回收。
另一方面,本发明还提出了一种计算机,该计算机包括相互连接的存储器和处理器,其中:
所述存储器存储有用于实现上述的基于数据结构的垃圾回收方法的指令;
所述处理器执行所述存储器中的所述指令。
另一方面,本发明还提出了一种存储介质,该存储介质存储有程序数据,所述程序数据能够被执行以实现上述的基于数据结构的垃圾回收方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于袁振南;区链通网络有限公司,未经袁振南;区链通网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880002423.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在虚拟机进入时转换
- 下一篇:用于处理数据流信息的设备和方法