裁剪数据的方法、装置、计算机设备及存储介质与流程

文档序号:36334743发布日期:2023-12-13 01:51阅读:81来源:国知局
裁剪数据的方法与流程

本发明涉及存储,具体涉及裁剪数据的方法、装置、计算机设备及存储介质。


背景技术:

1、在分布式文件系统中,一般是通过多线程单元进行业务处理。每个线程单元上缓存有很多数据,包括多个数据的主本和副本。一个数据在一个线程单元上只存在副本或只存在主本。

2、线程单元为了保证自身的处理数据的能力,会按指定周期确定其缓存的数据当前占用的存储空间是否超过了预设阈值。如果是,线程单元会按数据的冷热规则(数据的业务使用次数从少到多),对没有在业务处理中的副本、没有在业务处理中且副本数量为零的主本进行扫描并裁剪,直到其缓存的数据当前占用的存储空间降低到预设阈值以下。这样,线程单元中副本数量不为零的主本无法被裁剪,只能等到相应副本所在的线程单元在按指定周期确定出其上缓存的数据当前占用的存储空间超过指定阈值时,才能对相应副本进行扫描和裁剪工作。线程单元只有在确定出主本对应的副本数量为零后,才能裁剪主本。

3、这样,如果线程单元缓存的数据当前占用的存储空间长时间都没有超过预设阈值,那么其上的副本一直无法被裁剪,而该副本对应的主本也就无法被裁剪。进一步,导致该主本所在的线程单元无法及时释放内存,导致业务处理的效率受到影响。


技术实现思路

1、有鉴于此,本发明提供了一种裁剪数据的方法、装置、计算机设备及存储介质,以解决线程单元无法及时释放内存的问题。

2、第一方面,本发明提供了一种裁剪数据的方法,所述方法应用于分布式文件系统,所述方法由第一线程单元执行,所述第一线程单元为所述分布式文件系统中的任一线程单元,所述方法包括:

3、当达到周期性的触发时刻时,根据所述第一线程单元自身缓存的数据当前占用的存储空间,确定裁剪规则;

4、每遍历到目标类型的数据时,按所述裁剪规则确定对所述目标类型的数据是否进行裁剪操作,其中,所述目标类型的数据为未在业务处理中的副本或未在业务处理中且副本数量为零的主本。

5、本发明提供的裁剪数据的方法,具有如下优点:

6、第一线程单元在每个周期性的触发时刻,先确定出自身缓存的数据占用的存储空间,无论确定出的占用的存储空间是否过大,都可以确定相应的裁剪规则,以进行裁剪操作。缓存的数据占用的存储空间过大的线程单元可以通过裁剪数据以释放内存。缓存的数据大小占用的存储空间不过大的线程单元也可以进行裁剪数据。由于裁剪的数据中包括部分副本,因此,裁剪这些副本可以使得其他线程单元与该副本对应的主本的副本数量降为零,使得更多的主本可以从其他类型的数据变为目标类型的数据。从宏观的时间尺度和空间尺度上来看,与相关技术相比,本方法使得每次遍历过程中满足条件的数据更多,可以及时释放存储空间,提高线程单元的业务处理效率。

7、在一种可选的实施方式中,所述方法还包括:

8、每遍历到除所述目标类型之外的预设类型的数据,向所述预设类型的数据对应的副本所在的第二线程单元发送第一裁剪通知,其中,所述预设类型的数据为未在业务处理中且副本数量不为零的主本,所述第二线程单元为所述分布式存储系统中除所述第一线程单元之外的线程单元;

9、当接收到所述第二线程单元发送的裁剪完成通知时,对所述预设类型的数据的副本数量进行更新。

10、具体的,通过裁剪通知触发第二线程单元的裁剪操作,可以使得线程单元及时进行对预设类型的数据对应的副本进行裁剪操作,使得第一线程单元的预设类型的数据的副本数量可以尽快降为零,被裁剪掉。这样,可以使得预设类型的数据也可以及时被裁剪,进一步,可以及时释放存储空间。

11、在一种可选的实施方式中,所述根据所述第一线程单元自身缓存的数据当前占用的存储空间,确定裁剪规则,具体包括:

12、确定所述第一线程单元自身缓存的数据当前占用的存储空间;

13、当所述第一线程单元自身缓存的数据当前占用的存储空间大于或等于所述预设阈值时,获取第一裁剪规则;

14、或者,当所述第一线程单元自身缓存的数据当前占用的存储空间小于所述预设阈值时,获取第二裁剪规则。

15、具体的,第一线程单元可以根据自身缓存的数据当前占用的存储空间与预设阈值之间关系,确定其剩余存储空间是否满足正常业务处理的需求,并获取相应的裁剪规则。在剩余存储空间不足的情况下,第一线程单元可以按第一裁剪规则进裁剪数据,以释放出一些存储空间。在剩余存储空间充足的情况下,第一线程单元可以按第二裁剪规则裁剪数据,为其他存储空间不足的线程单元提供满足裁剪条件的数据。这样,根据实际情况,进行相应的裁剪操作,可以使得所有的线程单元都可以保证剩余存储空间的充足,更加高效地进行业务处理。

16、在一种可选的实施方式中,所述第一裁剪规则为裁剪所述目标类型的数据后所述第一线程单元自身缓存的数据占用的存储空间小于预设阈值,所述第二裁剪规则为确定所述第一线程单元遍历的数据数量等于预设数量。

17、具体的,通过设置第二裁剪规则,既可以满足其他线程单元释放存储空间的需求,也可以使得第一线程单元避免遍历较多数据而浪费处理资源的问题。

18、在一种可选的实施方式中,所述每遍历到目标类型的数据时,按所述裁剪规则确定对所述目标类型的数据是否进行裁剪操作,具体包括:

19、每遍历到所述目标类型的数据时,确定所述第一线程单元自身缓存的数据当前占用的存储空间是否小于所述预设阈值;

20、当所述第一线程单元自身缓存的数据当前占用的存储空间大于或等于所述预设阈值时,对所述目标类型的数据进行裁剪操作;

21、并在对所述目标类型的数据进行裁剪操作后,重新确定所述第一线程单元自身缓存的数据占用的存储空间;

22、当重新确定的所述第一线程单元自身缓存的数据占用的存储空间依然大于或者等于所述预设阈值时,继续遍历新的目标类型的数据,并对所述新的目标类型的数据进行裁剪;

23、直至确定所述第一线程单元自身缓存的数据占用的存储空间小于所述预设阈值时结束在当前周期内的裁剪操作。

24、具体的,每遍历到一个目标类型的数据,通过确定第一线程单元自身缓存的数据当前占用的存储空间是否小于预设阈值,去判定下一步应该进行什么操作,可以精准地控制遍历过程和裁剪操作。

25、在一种可选的实施方式中,所述每遍历到目标类型的数据时,按所述裁剪规则确定对所述目标类型的数据是否进行裁剪操作,具体包括:

26、每遍历到所述目标类型的数据时,确定所述第一线程单元自身缓存的数据当前占用的存储空间是否小于所述预设阈值;

27、当所述第一线程单元自身缓存的数据当前占用的存储空间小于所述预设阈值时,每遍历到所述目标类型的数据时,对所述目标类型的数据进行裁剪操作;并统计在当前周期内已裁剪的所述目标类型的数据的数量;

28、当已裁剪的所述目标类型的数据的数量小于所述预设数量时,继续对所述目标类型的数据进行遍历;

29、或者,

30、当已裁剪的所述目标类型的数据的数量等于所述预设数量时,停止遍历。

31、具体的,通过判定已裁剪的目标类型的数据的数量与预设数量的关系,确定是否继续进行遍历,可以保证第一线程单元可以裁剪掉预设数量的目标类型的数据,以使其他线程单元中的其他类型的数据可以转为目标类型的数据,而满足被裁剪掉的资格。进一步,使得其他线程单元可以裁剪掉更多的数据,释放更多的存储空间。

32、在一种可选的实施方式中,当所述第一线程单元接收到来自第三线程单元的第二裁剪通知时,且所述第二裁剪通知携带所述第三线程单元的预设类型的数据对应的副本在所述第一线程单元的副本数量时,所述方法还包括:

33、根据所述第二裁剪通知,将所述第二裁剪通知中的副本数量作为所述第二裁剪规则中的预设数量,其中,所述第三线程单元为所述分布式存储系统中除所述第一线程单元之外的任一线程单元。

34、具体的,因为其他线程单元的主本对应的副本有一些是在第一线程单元上的,所以通过规定裁剪停止条件与预设数量相关,可以使得第一线程单元可以裁剪掉预设数量的副本,进一步增大其他线程单元的其他类型的数据变更为目标类型的数据的可能性。并且,由于不同的线程单元的业务处理特点不同,直接采用一个固定值作为预设数量,不够准确。因此,使用上述预设数量,可以得到更准确的遍历停止条件。

35、第二方面,本发明提供了一种裁剪数据的装置,所述装置应用于分布式文件系统,所述装置配置有第一线程单元,所述第一线程单元为所述分布式文件系统中的任一线程单元,所述装置包括:

36、确定模块,用于当达到周期性的触发时刻时,根据所述第一线程单元自身缓存的数据当前占用的存储空间,确定裁剪规则;

37、裁剪模块,用于每遍历到目标类型的数据时,按所述裁剪规则确定对所述目标类型的数据是否进行裁剪操作,其中,所述目标类型的数据为未在业务处理中的副本或未在业务处理中且副本数量为零的主本。

38、本发明提供的裁剪数据的装置,具有如下优点:

39、第一线程单元在每个周期性的触发时刻,先确定出自身缓存的数据占用的存储空间,无论确定出的占用的存储空间是否过大,都可以确定相应的裁剪规则,以进行裁剪操作。缓存的数据占用的存储空间过大的线程单元可以通过裁剪数据以释放内存。缓存的数据大小占用的存储空间不过大的线程单元也可以进行裁剪数据。由于裁剪的数据中包括部分副本,因此,裁剪这些副本可以使得其他线程单元与该副本对应的主本的副本数量降为零,使得更多的主本可以从其他类型的数据变为目标类型的数据。从宏观的时间尺度和空间尺度上来看,于相关技术相比,本方法使得每次遍历过程中满足条件的数据更多,可以及时释放存储空间,提高线程单元的业务处理效率。

40、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的裁剪数据的方法。

41、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的裁剪数据的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1