一种分布式系统全局对象回收的方法和装置制造方法及图纸

技术编号:39853337 阅读:8 留言:0更新日期:2023-12-30 12:53
本发明专利技术公开了一种分布式系统全局对象回收的方法和装置,涉及计算机技术领域

【技术实现步骤摘要】
一种分布式系统全局对象回收的方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种分布式系统全局对象回收的方法和装置


技术介绍

[0002]分布式系统的集群节点通过引用全局对象来执行相关的业务逻辑,为了避免全局对象占用过多存储空间,需要及时回收不再被引用的全局对象

通常,在每个集群节点内,为每个全局对象设置一个引用计数;在回收全局对象之前,先判断该全局对象在每个集群节点的引用计数是否均为零,若是,则判定所有集群节点都不再使用该全局对象,可以对该全局对象进行回收,否则,判定存在引用该全局对象的集群节点,不能对该全局对象进行回收

[0003]在实现本专利技术的过程中,专利技术人发现现有技术至少存在如下问题:
[0004]在每个集群节点内为每个全局对象设置引用计数,占用大量系统资源,导致全局对象的回收效率低,使集群节点性能下降


技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种分布式系统全局对象回收的方法和装置,能够节省系统资源,提高分布式系统中的全局对象的回收效率

[0006]为实现上述目的,根据本专利技术实施例的第一方面,提供一种分布式系统全局对象回收的方法,包括:
[0007]响应于接收到对象回收指令,确定对应的目标对象版本号;
[0008]根据所述目标对象版本号判断每个全局对象的对象版本号是否符合预先设置的对象回收条件;
[0009]对对象版本号符合所述对象回收条件的全局对象进行回收

[0010]可选地,确定对应的目标对象版本号,包括:
[0011]根据全局对象的对象版本号对每个全局对象的对象节点排序;
[0012]根据排序结果依次判断在每个对象节点上是否存在对象引用节点,将首个判定存在对象引用节点的对象节点作为第一对象节点;
[0013]将所述第一对象节点所对应的对象版本号作为所述目标对象版本号

[0014]可选地,所述对象节点与预先设置的集群节点具有关联关系,所述方法还包括:
[0015]确定与每个集群节点相关联的对象节点集,遍历所述对象节点集,确定每个集群节点的连续对象节点,将所述连续对象节点中的最后一个对象节点作为第二对象节点;
[0016]对所有第二对象节点所对应的对象版本号进行比较,确定最小对象版本号;
[0017]在所述最小对象版本号小于所述目标对象版本号的情况下,将所述最小对象版本号作为所述目标对象版本号

[0018]可选地,所述对象节点包括对象创建节点和对象修改节点,所述对象版本号包括:
创建版本号和修改版本号,所述方法还包括:
[0019]响应于接收到对象创建指令,生成所述对象创建指令对应的对象创建节点,确定所述对象创建节点所对应的创建版本号;
[0020]响应于接收到对象修改指令,生成所述对象修改指令对应的对象修改节点,确定根据所述对象修改指令修改后的目标全局对象,将所述对象修改节点所对应的修改版本号添加至所述目标全局对象,所述修改版本号用于判断是否对所述目标全局对象进行回收

[0021]可选地,根据所述目标对象版本号判断每个全局对象的对象版本号是否符合预先设置的对象回收条件,包括:判断每个全局对象的修改版本号是否小于等于所述目标对象版本号,将修改版本号小于等于所述目标对象版本号的全局对象作为待回收全局对象;
[0022]在对对象版本号符合所述对象回收条件的全局对象进行回收之前,所述方法还包括:判断所述对象版本号符合所述对象回收条件的全局对象是否未修改,在所述对象版本号符合所述对象回收条件的全局对象未修改的情况下,将所述对象版本号符合所述对象回收条件的全局对象去除

[0023]可选地,所述方法还包括:
[0024]响应于接收到对象引用指令,确定所述对象引用指令所要引用的全局对象,确定与所述对象引用指令所要引用的全局对象相关联的对象节点集;
[0025]从所述对象节点集中确定目标对象节点;
[0026]在所述目标对象节点上生成对象引用节点,所述对象引用节点用于存储所述全局对象的引用信息

[0027]可选地,从所述对象节点集中确定目标对象节点,包括:
[0028]遍历所述对象节点集,将对象版本号最小的对象节点作为所述目标对象节点

[0029]根据本专利技术实施例的第二方面,提供一种分布式系统全局对象回收的装置,包括:
[0030]确定模块,用于响应于接收到对象回收指令,确定对应的目标对象版本号;
[0031]判定模块,用于根据所述目标对象版本号判断每个全局对象的对象版本号是否符合预先设置的对象回收条件;
[0032]回收模块,用于对对象版本号符合所述对象回收条件的全局对象进行回收

[0033]可选地,确定对应的目标对象版本号,包括:
[0034]根据全局对象的对象版本号对每个全局对象的对象节点排序;
[0035]根据排序结果依次判断在每个对象节点上是否存在对象引用节点,将首个判定存在对象引用节点的对象节点作为第一对象节点;
[0036]将所述第一对象节点所对应的对象版本号作为所述目标对象版本号

[0037]可选地,所述对象节点与预先设置的集群节点具有关联关系,所述装置还包括:
[0038]遍历模块,用于确定与每个集群节点相关联的对象节点集,遍历所述对象节点集,确定每个集群节点的连续对象节点,将所述连续对象节点中的最后一个对象节点作为第二对象节点;
[0039]比较模块,用于对所有第二对象节点所对应的对象版本号进行比较,确定最小对象版本号;
[0040]替换模块,用于在所述最小对象版本号小于所述目标对象版本号的情况下,将所述最小对象版本号作为所述目标对象版本号

[0041]可选地,所述对象节点包括对象创建节点和对象修改节点,所述对象版本号包括:创建版本号和修改版本号,所述装置还包括:
[0042]对象创建模块,用于响应于接收到对象创建指令,生成所述对象创建指令对应的对象创建节点,确定所述对象创建节点所对应的创建版本号;
[0043]对象修改模块,用于响应于接收到对象修改指令,生成所述对象修改指令对应的对象修改节点,确定根据所述对象修改指令修改后的目标全局对象,将所述对象修改节点所对应的修改版本号添加至所述目标全局对象,所述修改版本号用于判断是否对所述目标全局对象进行回收

[0044]可选地,根据所述目标对象版本号判断每个全局对象的对象版本号是否符合预先设置的对象回收条件,包括:判断每个全局对象的修改版本号是否小于等于所述目标对象版本号,将修改版本号小于等于所述目标对象版本号的全局对象作为待回收全局对象;
[0045]所述装置还包括:去除模块,用于判断所述对象版本号符合所述对象回收条件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种分布式系统全局对象回收的方法,其特征在于,包括:响应于接收到对象回收指令,确定对应的目标对象版本号;根据所述目标对象版本号判断每个全局对象的对象版本号是否符合预先设置的对象回收条件;对对象版本号符合所述对象回收条件的全局对象进行回收
。2.
根据权利要求1所述的方法,其特征在于,确定对应的目标对象版本号,包括:根据全局对象的对象版本号对每个全局对象的对象节点排序;根据排序结果依次判断在每个对象节点上是否存在对象引用节点,将首个判定存在对象引用节点的对象节点作为第一对象节点;将所述第一对象节点所对应的对象版本号作为所述目标对象版本号
。3.
根据权利要求2所述的方法,其特征在于,所述对象节点与预先设置的集群节点具有关联关系,所述方法还包括:确定与每个集群节点相关联的对象节点集,遍历所述对象节点集,确定每个集群节点的连续对象节点,将所述连续对象节点中的最后一个对象节点作为第二对象节点;对所有第二对象节点所对应的对象版本号进行比较,确定最小对象版本号;在所述最小对象版本号小于所述目标对象版本号的情况下,将所述最小对象版本号作为所述目标对象版本号
。4.
根据权利要求1所述的方法,其特征在于,所述对象节点包括对象创建节点和对象修改节点,所述对象版本号包括:创建版本号和修改版本号,所述方法还包括:响应于接收到对象创建指令,生成所述对象创建指令对应的对象创建节点,确定所述对象创建节点所对应的创建版本号;响应于接收到对象修改指令,生成所述对象修改指令对应的对象修改节点,确定根据所述对象修改指令修改后的目标全局对象,将所述对象修改节点所对应的修改版本号添加至所述目标全局对象,所述修改版本号用于判断是否对所述目标全局对象进行回收
。5.
根据权利要求4所述的方法,其特征在于,根据所述目标对象版本号判断每个全局对象的对象版本号是否符...

【专利技术属性】
技术研发人员:龙剑周力王向飞许飞王学伟
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1