本技术涉及服务器,尤其涉及一种数据保留方法及计算设备。
背景技术:
1、随着互联网技术的发展,产品的版本更新速度越来越快。在版本更新过程中生成的历史版本数据,作为改进产品、发现产品问题的重要参考数据,通常会被保留在数据库中,而如何保留产品的历史版本数据备受关注。
2、目前服务器可以依据待删除的历史版本数据的个数,对历史版本数据进行清理。例如,设置待删除的历史版本数据的个数为第一阈值,服务器根据生成历史版本数据的先后顺序,从最先生成的历史版本数据开始,清理数据库中第一阈值个历史版本数据。
3、然而,这种从历史版本数据个数维度来保留历史版本数据的方法,无法保留某时间段生成的历史版本数据。因此,亟需一种方案,能够保留某时间段生成的历史版本数据。
技术实现思路
1、本技术实施例提供的一种数据保留方法及计算设备。
2、为达到上述目的,本技术实施例采用如下技术方案:
3、第一方面:本技术实施例提供一种数据保留方法,通过获取历史版本数据中第一历史版本数据的时间戳和第二历史版本数据的时间戳;根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,从历史版本数据中确定待清理的历史版本数据,目标保留时间戳用于指示待清理的历史版本数据;删除待清理的历史版本数据。其中,第一历史版本数据为历史版本数据中保留时间最长的历史版本数据,第二历史版本数据为历史版本数据中保留时间最短的历史版本数据,第一历史版本数据的时间戳和第二历史版本数据的时间戳用于对历史版本数据进行清理。
4、本技术实施例中,基于第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳,确定待清理的历史版本数据,能够保留某时间段生成的历史版本数据,实现从时间维度保留历史版本数据。
5、在一种可能的实现方式中,根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,从历史版本数据中确定待清理的历史版本数据,包括:根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,确定第三历史版本数据的时间戳,第三历史版本数据是历史版本数据中,时间戳最接近目标保留时间戳的历史版本数据;将历史版本数据中,时间戳小于第三历史版本数据的时间戳的历史版本数据确定为待清理的历史版本数据。本技术实施例中可以确定出时间戳最接近目标保留时间戳的第三历史版本数据,便于后续可以将时间戳小于第三历史版本数据的时间戳的历史版本数据删除。
6、在一种可能的实现方式中,根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,确定第三历史版本数据的时间戳,包括:在目标保留时间戳小于第一历史版本数据的时间戳的情况下,将第一历史版本数据的时间戳确定为第三历史版本数据的时间戳。本技术实施例中,在目标保留时间戳小于第一历史版本数据的时间戳的情况下,表示当前所有历史版本数据均是需要保留的历史版本数据,通过将第一历史版本数据的时间戳确定为第三历史版本数据的时间戳,便于后续保留当前所有历史版本数据。
7、在一种可能的实现方式中,根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,确定第三历史版本数据的时间戳,包括:在目标保留时间戳大于第二历史版本数据的时间戳的情况下,将第二历史版本数据的时间戳确定为第三历史版本数据的时间戳。本技术实施例中,在目标保留时间戳大于第二历史版本数据的时间戳的情况下,表示当前所有历史版本数据均是需要删除的历史版本数据,通过将第二历史版本数据的时间戳确定为第三历史版本数据的时间戳,便于后续删除当前所有历史版本数据。
8、在一种可能的实现方式中,根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,确定第三历史版本数据的时间戳,包括:在目标保留时间戳大于或等于第一历史版本数据的时间戳,且小于或等于第二历史版本数据的时间戳的情况下,根据历史版本数据的个数,确定中间历史版本数据的时间戳;根据中间历史版本数据的时间戳和目标保留时间戳,确定第三历史版本数据的时间戳。本技术实施例中通过在第一历史版本数据的时间戳与第二历史版本数据的时间戳之间确定中间历史版本数据的时间戳,可以确定时间戳最接近目标保留时间戳的第三历史版本数据。
9、在一种可能的实现方式中,根据中间历史版本数据的时间戳和目标保留时间戳,确定第三历史版本数据的时间戳,包括:若在历史版本数据中,中间历史版本数据的时间戳最接近目标保留时间戳,将中间历史版本数据的时间戳确定为第三历史版本数据的时间戳;若在历史版本数据中,中间历史版本数据的时间戳非最接近目标保留时间戳,更新第一历史版本数据或第二历史版本数据,获得更新后的第一历史版本数据或更新后的第二历史版本数据;基于更新后的第一历史版本数据的时间戳或更新后的第二历史版本数据的时间戳,确定第三历史版本数据的时间戳。
10、在一种可能的实现方式中,中间历史版本数据的时间戳非最接近目标保留时间戳,更新第一历史版本数据或第二历史版本数据,获得更新后的第一历史版本数据或更新后的第二历史版本数据,包括:中间历史版本数据的时间戳非最接近目标保留时间戳,确定中间历史版本数据的时间戳与目标保留时间戳之间的大小关系;基于大小关系,更新第一历史版本数据或第二历史版本数据,获得更新后的第一历史版本数据或更新后的第二历史版本数据。本技术实施例中,通过更新第一历史版本数据或第二历史版本数据,以更新中间历史版本数据,确定时间戳最接近目标保留时间戳的第三历史版本数据,实现从时间维度保留历史版本数据。
11、在一种可能的实现方式中,基于大小关系,更新第一历史版本数据或第二历史版本数据,获得更新后的第一历史版本数据或更新后的第二历史版本数据,包括:在中间历史版本数据的时间戳小于目标保留时间戳的情况下,将第一历史版本数据更新为中间历史版本数据的后一个历史版本数据,获得更新后的第一历史版本数据,后一个历史版本数据的时间戳与中间历史版本数据的时间戳相邻,且大于中间历史版本数据的时间戳;在中间历史版本数据的时间戳大于目标保留时间戳的情况下,将第二历史版本数据更新为中间历史版本数据的前一个历史版本数据,获得更新后的第二历史版本数据,前一个历史版本数据的时间戳与中间历史版本数据的时间戳相邻,且小于中间历史版本数据的时间戳;基于更新后的第一历史版本数据的时间戳或更新后的第二历史版本数据的时间戳,确定第三历史版本数据的时间戳,包括:若更新后的第一历史版本数据的时间戳最接近目标保留时间戳,将更新后的第一历史版本数据的时间戳确定为第三历史版本数据的时间戳;或若更新后的第二历史版本数据的时间戳最接近目标保留时间戳,将更新后的第二历史版本数据的时间戳确定为第三历史版本数据的时间戳。
12、在一种可能的实现方式中,获取历史版本数据中第一历史版本数据的时间戳和第二历史版本数据的时间戳,包括:获取历史版本数据中第一历史版本数据的信息标识和第二历史版本数据的信息标识;获取第一历史版本数据的信息标识的分配时间和第二历史版本数据的信息标识的分配时间,将第一历史版本数据的信息标识的分配时间确定为第一历史版本数据的时间戳,将第二历史版本数据的信息标识的分配时间确定为第二历史版本数据的时间戳。
13、在一种可能的实现方式中,目标保留时间戳的确定步骤,包括:获取保留时间参数;基于当前时间的时间戳与保留时间参数的差值,得到目标保留时间戳。本技术实施例中,可以删除由目标保留时间戳所指示的待清理的历史版本数据,其中,目标保留时间戳可以基于保留时间参数确定,而保留时间参数可以根据需要进行设置,由此可以实现根据需求保留某时间段生成的历史版本数据,从时间维度保留历史版本数据。
14、在一种可能的实现方式中,根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,从历史版本数据中确定待清理的历史版本数据,包括:根据第一历史版本数据的时间戳、第二历史版本数据的时间戳和目标保留时间戳三者之间的大小关系,从历史版本数据中确定第三历史版本数据的信息标识,在历史版本数据中,第三历史版本数据的信息标识对应的时间戳最接近目标保留时间戳;将历史版本数据中,信息标识小于第三历史版本数据的信息标识的历史版本数据,确定为待清理的历史版本数据。本技术实施例中,信息标识可以指示对应历史版本数据的生成数据,进而在确定第三历史版本数据的信息标识,基于历史版本数据的信息标识的大小,即可确定出待清理的历史版本数据,提高待清理的历史版本数据的确定效率。
15、在一种可能的实现方式中,通过将第三历史版本数据的信息标识作为数据库的全局变量,可以将小于全局变量的信息标识对应的历史版本数据确定为待清理的历史版本数据。在此基础上,基于数据库的自动清理机制,可以删除待清理的历史版本数据。
16、第二方面:本技术实施例提供一种计算设备,所述计算设备包括:处理器以及存储器;
17、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
18、所述处理器用于根据所述程序代码中的指令执行如上所述的一种数据保留方法的步骤。