CN111078588B - 垃圾回收方法、装置、设备及存储介质 - Google Patents
垃圾回收方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111078588B CN111078588B CN201911303318.6A CN201911303318A CN111078588B CN 111078588 B CN111078588 B CN 111078588B CN 201911303318 A CN201911303318 A CN 201911303318A CN 111078588 B CN111078588 B CN 111078588B
- Authority
- CN
- China
- Prior art keywords
- garbage
- flow
- capacity
- storage space
- flow value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本申请实施例提供了一种垃圾回收方法、装置、设备及存储介质,涉及计算机技术领域。所述方法包括:获取垃圾存储空间在目标时刻对应的剩余容量,目标时刻处于业务流量的低峰期,垃圾存储空间用于存储业务流量所产生的垃圾;获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值;响应于剩余容量所能承受的剩余流量值小于预估流量值,在下一个高峰期之前对垃圾存储空间进行垃圾回收。本申请实施例提供的技术方案中,可以确定是否要在下一个高峰期到来之前提前进行垃圾回收,降低在业务流量的高峰期进行垃圾回收的风险,进而可以减小垃圾回收对业务的影响。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种垃圾回收方法、装置、设备及存储介质。
背景技术
在Java服务进行过程中,计算机系统产生的垃圾过多时会影响系统的运行。
在相关技术中,计算机系统产生的垃圾可以分为年轻代垃圾和老年代垃圾。对于老年代垃圾来说,在每天的固定时间点对老年代垃圾进行回收,从而释放内存以保证系统的运行速度。
发明内容
本申请实施例提供了一种垃圾回收方法、装置、设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种垃圾回收方法,所述方法包括:
获取垃圾存储空间在目标时刻对应的剩余容量,所述目标时刻处于业务流量的低峰期,所述垃圾存储空间用于存储所述业务流量所产生的垃圾;
获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值;
响应于所述剩余容量所能承受的剩余流量值小于所述预估流量值,在所述下一个高峰期之前对所述垃圾存储空间进行垃圾回收。
另一方面,本申请实施例提供了一种垃圾回收装置,所述装置包括:
容量获取模块,用于获取垃圾存储空间在目标时刻对应的剩余容量,所述目标时刻处于业务流量的低峰期,所述垃圾存储空间用于存储所述业务流量所产生的垃圾;
流量预估模块,用于获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值;
垃圾回收模块,用于响应于所述剩余容量所能承受的剩余流量值小于所述预估流量值,在所述下一个高峰期之前对所述垃圾存储空间进行垃圾回收。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述的垃圾回收方法。
还一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述的垃圾回收方法。
本申请实施例提供的技术方案可以包括如下有益效果:
通过获取垃圾存储空间在目标时刻对应的剩余容量,获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值,当剩余容量所能承受的剩余流量值小于预估流量值时,在下一个高峰期之前进行垃圾回收,从而可以确定是否要在下一个高峰期到来之前提前进行垃圾回收,降低在业务流量的高峰期进行垃圾回收的风险,进而可以减小垃圾回收对业务的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的垃圾回收方法的流程图;
图2示出了本申请一个实施例提供的业务流量的曲线图;
图3示出了本申请另一个实施例提供的业务流量的曲线图;
图4示出了本申请另一个实施例提供的垃圾回收方法的流程图;
图5示出了本申请一个实施例提供的垃圾回收装置的框图;
图6示出了本申请另一个实施例提供的垃圾回收装置的框图;
图7示出了本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
本申请实施例提供的方法,各步骤的执行主体可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,该计算机设备可以是诸如手机、平板电脑、PC(Personal Computer,个人计算机)、智能机器人、可穿戴设备等终端,也可以是服务器,或者是其它具有垃圾回收需求的电子设备。
在一种可能的应用场景中,本申请可以应用于Java服务场景下的垃圾回收方案。对于Java服务,因业务流量产生的垃圾包括年轻代垃圾和老年代垃圾。年轻代垃圾是指年龄小于i的垃圾;老年代垃圾是指年龄大于或等于i的垃圾,年龄是指垃圾经历过的垃圾回收的次数。例如,当i为15时,年龄小于15的垃圾为年轻代垃圾;年龄大于或等于15的垃圾为老年代垃圾,老年代垃圾会被存储到用于存储老年代垃圾的垃圾存储空间中。提供Java服务的计算机设备(如服务器)中存储有垃圾回收程序,可以对垃圾存储空间中因服务产生的垃圾(如请求数据、响应数据或者其它中间数据)进行回收。对年轻代垃圾的回收速度很快,对Java服务的业务影响很小。当对老年代垃圾进行回收时,系统会停顿,用户服务被迫暂停。
当然,本申请实施例提供的垃圾回收方案不仅仅适用于上述应用场景,还可以应用于其他具有垃圾回收需求的场景中,本申请实施例对此不作限定。
若在业务流量的高峰期对老年代垃圾进行回收,将会导致大量的用户服务被暂停,影响业务效率,降低用户体验。本申情实施例提供了一种垃圾回收方法,以确定是否要在下一个高峰期到来之前提前进行垃圾回收,从而降低在业务流量的高峰期进行垃圾回收的风险,可以减小垃圾回收对业务的影响。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图1,其示出了本申请一个实施例提供的垃圾回收方法的流程图。在本实施例中,主要以该方法应用于上文介绍的计算机设备中来举例说明。该方法可以包括如下几个步骤(101~103):
步骤101,获取垃圾存储空间在目标时刻对应的剩余容量。
目标时刻处于业务流量的低峰期,垃圾存储空间用于存储业务流量所产生的垃圾。可选地,本申请实施例提供的技术方案可用于针对老年代垃圾的清理,此时垃圾存储空间可以是指存储老年代垃圾的系统存储空间。
业务流量可以指用户触发业务访问的次数,其单位可以为“次”。用户的每一次操作可以触发一次业务访问,也可以触发多次业务访问。例如,对于一个网站来说,其业务流量可以指网站的访问量,业务流量可以表示该网站的用户浏览该网站中网页页面的总次数。
在本申请实施例中,业务流量可以从时间维度上划分为高峰期和低峰期。业务流量的低峰期是指业务流量相对较低的时间段;相应地,业务流量的高峰期是指业务流量相对较高的时间段。
请参考图2,其示出了本申请一个实施例提供的业务流量的曲线图,图2示出了业务流量随时间的变化曲线。在一些可能的实施例中,当业务流量小于流量阈值时,业务流量处于低峰期;当业务流量大于流量阈值时,业务流量处于高峰期。流量阈值处于业务流量的最小值与最大值之间。流量阈值可以是10万次,可以是500万次,也可以是2千万次,还可以是1亿次,流量阈值的具体数值由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
在一些可能的实施例中,流量阈值为业务流量的平均值或业务流量的中位数。
在一些可能的实施例中,将最大业务流量的b%作为流量阈值。示例性地,b可以是40,可以是50,可以是60,b的具体数值由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
在一些可能的实施例中,根据业务流量与业务流量的平均值的比值划分高峰期和低峰期。例如,将与业务流量的平均值的比值大于或等于0.9的业务流量确定为高峰期,将与业务流量的平均值的比值小于0.9的业务流量确定为低峰期;又例如,将与业务流量的平均值的比值大于或等于1.1的业务流量确定为高峰期,将与业务流量的平均值的比值小于1.1的业务流量确定为低峰期,本申请实施例对此不作限定。
在一些可能的实施例中,目标时刻可以是其所处低峰期的业务流量最小的时刻,也可以是其所处低峰期即将结束的时间段中的时刻,还可以是其所处低峰期的其他时刻,目标时刻具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
可选地,产生的垃圾数据量与业务流量有关,如产生的垃圾数据量与业务流量呈正相关关系。也即,业务流量越大,产生的垃圾数据量就越多。
在一些可能的实施例中,根据垃圾存储空间的额定垃圾回收容量和垃圾存储空间在目标时刻的已占用容量,计算剩余容量。其中,垃圾存储空间在目标时刻的已占用容量,是指垃圾存储空间在目标时刻已经存储的垃圾的数据量。额定垃圾回收容量是指预定义的触发执行垃圾回收的容量。该额定垃圾回收容量可以等于垃圾存储空间的总容量,也可以小于垃圾存储空间的总容量。例如,当额定垃圾回收容量小于垃圾存储空间的总容量时,该额定垃圾回收容量可以是垃圾存储空间的总容量的60%,也可以是垃圾存储空间的总容量的70%,本申请实施例对此不作限定。
在一些可能的实施例中,剩余容量等于额定垃圾回收容量减去垃圾存储空间在目标时刻的已占用容量。计算剩余容量可以参考如下公式一:
公式一:
r=re-r1;
其中,r表示剩余容量,单位可以为MB(Megabyte,兆字节);re表示额定垃圾回收容量,单位也可以为MB;r1表示在目标时刻的已占用容量,单位也可以为MB。
步骤102,获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值。
其中,预估流量是指经过预估得到的,从目标时刻到下一个高峰期的结束时刻期间产生的业务流量总和。
请参考图3,其示出了本申请另一个实施例提供的业务流量的曲线图。如图3所示,目标时刻是处于低峰期的当前时刻;下一个高峰期是指与目标时刻所处的低峰期相邻的,且位于目标时刻所处的低峰期之后的高峰期。其中,目标时刻之后的低峰期或高峰期是经过预估得到的。
在一些可能的实施例中,步骤102可以包括如下子步骤:
1、获取目标时刻到下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量;
2、将各个单位时段的预估流量值分量相加,得到上述预估流量值。
可选地,单位时段可以为1秒,可以为5秒,可以为30秒,可以为2分钟,可以为5分钟,也可以为30分钟,还可以为1小时,单位时段的具体时长由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。每个单位时段的预估流量值分量是指每个单位时段内产生的业务流量。
示例性地,假设目标时刻到下一个高峰期的结束时刻之间包括5个单位时段,5个单位时段的预估流量值分量分别为5万次、12万次、28万次、35万次、20万次,那么,预估流量值为5万次、12万次、28万次、35万次以及20万次的总和,即预估流量值为100万次。
可选地,获取目标时刻到下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量,可以包括如下子步骤:
1.1、根据历史流量记录,确定至少一个历史单位时段的实际流量值分量;
1.2、根据至少一个历史单位时段的实际流量值分量,确定至少一个未来单位时段的预估流量值分量;
1.3、根据至少一个未来单位时段的预估流量值分量,确定目标时刻到下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量。
其中,每个高峰期包括预估流量值分量满足条件的至少一个连续的单位时段。未来单位时段与历史单位时段对应,未来单位时段可以指目标时刻到下一个高峰期的结束时刻之间的各个单位时段,历史单位时段是指已经产生的业务流量对应的单位时段。目标时刻所处的单位时段可以称为当前单位时段。未来单位时段的时长可以等于历史单位时段的时长。可选地,上述条件是指预估流量值分量大于上述的流量阈值,例如,当流量阈值为15万次时,上述条件为预估流量值分量大于15万次。
在一些可能的实施例中,根据历史流量记录,确定m个历史流量周期,每个历史流量周期包括n个历史单位时段,因而每个历史流量周期中存在第j个历史单位时段,m为正整数,n为正整数,j为小于或等于n的正整数;将m个第j个历史单位时段的实际流量值分量的平均值,确定为第j个未来单位时段的预估流量值分量。据此,可以得到n个未来单位时段的预估流量值分量,从而确定目标时刻到下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量。
在一些可能的实施例中,历史流量周期可以是6小时,可以是12小时,可以是一天,可以是两天,可以是一周,也可以是两周,也可以是一个月,还可以是一年,历史流量周期具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
示例性地,确定7个历史流量周期,每个历史流量周期的时长为1天,每个历史流量周期包括24个历史单位时段,每个单位时段的时长为1小时。将每个历史流量周期的第1个小时的实际流量值分量的平均值,作为第1个未来单位时段的预估流量值分量。例如,7个历史流量周期的第1个小时的实际流量值分量分别为:14万次、14万次、13万次、14万次、16万次、14万次、13万次,则第1个未来单位时段的预估流量值分量=(14+14+13+14+16+14+13)/7=14万次,未来单位时段的时长也为1小时。以此类推,得到24个未来单位时段的预估流量值分量。将该24个未来单位时段中,与目标时刻到下一个高峰期的结束时刻对应的未来时段的预估流量值分量,确定为目标时刻到下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量。
步骤103,响应于剩余容量所能承受的剩余流量值小于预估流量值,在下一个高峰期之前对垃圾存储空间进行垃圾回收。
当检测到剩余流量值小于预估流量值时,可以立即对垃圾存储空间进行垃圾回收;也可以在目标时刻所处低峰期的结束时刻对垃圾存储空间进行垃圾回收;还可以在目标时刻所处低峰期的其他时刻对垃圾存储空间进行垃圾回收,进行垃圾回收的具体时刻由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
当剩余流量值小于预估流量值时,即表示剩余容量无法容纳预估流量值对应的将会产生的垃圾;也即,当剩余流量值小于预估流量值时,若不在下一个高峰期之前对垃圾存储空间进行垃圾回收,剩余容量很可能将会在下一个高峰期期间存满,从而导致需要在下一个高峰期期间对垃圾存储空间进行垃圾回收,这将导致业务服务在高峰期发生明显暂停(如暂停数秒或数分钟),对业务影响较大。但是,在本申请实施例中,通过在剩余流量值小于预估流量时,在下一个高峰期之前对垃圾存储空间进行垃圾回收,降低了在高峰期期间进行垃圾回收的风险。
在一些可能的实施例中,计算机设备中存储有垃圾回收程序,当需要进行垃圾回收时,触发垃圾回收程序运行,从而对垃圾存储空间进行垃圾回收。
综上所述,本申请实施例提供的技术方案中,通过获取垃圾存储空间在目标时刻对应的剩余容量,获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值,当剩余容量所能承受的剩余流量值小于预估流量值时,在下一个高峰期之前进行垃圾回收,从而可以确定是否要在下一个高峰期到来之前提前进行垃圾回收,降低在业务流量的高峰期进行垃圾回收的风险,进而可以减小垃圾回收对业务的影响。
请参考图4,其示出了本申请另一个实施例提供的垃圾回收方法的流程图。在本实施例中,主要以该方法应用于上文介绍的计算机设备中来举例说明。该方法可以包括如下几个步骤(401~408):
步骤401,判断目标时刻是否处于低峰期,若是,则执行下述步骤402;若否,则继续执行步骤401。
步骤402,获取垃圾存储空间在目标时刻对应的剩余容量。
需要说明的是,本步骤与上述图1实施例的步骤101的内容相同或相似,此处不再赘述。
步骤403,获取历史流量记录、垃圾回收记录和系统性能记录。
其中,历史流量记录是指历史的时间段内对应产生的流量,垃圾回收记录是指历史的各垃圾回收周期的起止时间点,系统性能记录是指垃圾存储空间的使用情况。
历史流量记录可以表示已产生的流量与历史的时间段的对应关系,历史流量记录可以用表格、柱状图、折线图等任意形式表示。
垃圾回收记录可以表示已产生的垃圾与历史的时间段的对应关系,垃圾回收记录可以用表格、柱状图、折线图等任意形式表示。
系统性能记录可以包括垃圾存储空间的总容量、实际占用容量、剩余容量和额定垃圾回收容量等等。
步骤403,根据历史流量记录、垃圾回收记录和系统性能记录,获取至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量。
其中,历史垃圾产生周期是指相邻两个历史垃圾回收周期之间的时段,历史垃圾回收周期是指历史的进行垃圾回收的时间段。
在一些可能的实施例中,垃圾回收记录中记录有历史垃圾产生周期和历史垃圾回收周期,在垃圾回收记录中获取至少一个历史垃圾产生周期产生的实际垃圾数据量,然后在历史流量记录中,确定相同的历史垃圾产生周期内的实际流量值。
步骤405,根据至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量,计算流量空间比。
其中,流量空间比是指产生单位数据量的垃圾所需的流量值。
将至少一个历史垃圾产生周期内的实际流量值比上实际垃圾数据量,得到至少一个比值;将该至少一个比值的平均值,确定为流量空间比。
在一些可能的实施例中,获取了k个历史垃圾产生周期内的实际流量值和实际垃圾数据量,得到k个实际流量值和k个实际垃圾数据量,k为大于或等于1的正整数。k个实际流量值可以分别表示为:w1,w2,w3……wk;k个实际垃圾数据量可以分别表示为:s1,s2,s3……sk。计算流量空间比可以参考如下公式二:
公式二:
其中,a表示流量空间比,单位可以为次/MB。
步骤406,根据剩余容量和流量空间比,计算剩余容量所能承受的剩余流量值。
在一些可能的实施例中,将剩余容量与流量空间比相乘,可以得到剩余容量所能承受的剩余流量值。计算剩余流量值可以参考如下公式三:
公式三:
w′=a×r;
其中,w′表示剩余流量值,单位可以为次;a表示流量空间比,单位可以为次/MB;r表示剩余容量,单位可以为MB。
步骤407,获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值。
本步骤与上述图1实施例的步骤102的内容相同或相似,此处不再赘述。
步骤408,判断剩余容量所能承受的剩余流量值是否小于预估流量值,若是,则执行下述步骤409,若否,则执行上述步骤401。
步骤409,在下一个高峰期之前对垃圾存储空间进行垃圾回收。
需要说明的是,步骤408和步骤409与上述图1实施例的步骤103的内容相同或相似,此处不再赘述。
在一些其它可能的实施方式中,本实施例还可以包括如下步骤:
1、根据预估流量值和流量空间比,计算预估流量值所产生的预估垃圾数据量;
2、响应于剩余容量小于预估垃圾数据量,在下一个流量高峰期之前对垃圾存储空间进行垃圾回收。
在一些可能的实现方式中,预估流量值除以流量空间比,得到预估垃圾数据量。如果剩余容量小于预估垃圾数据量,则说明剩余容量很可能将会在下一个高峰期期间存满,从而导致需要在下一个高峰期期间对垃圾存储空间进行垃圾回收,所以在下一个高峰期之前,可以在低峰期提前对垃圾存储空间进行垃圾回收。
在一些可能的实施例中,在下一个高峰期内,若垃圾存储空间的实际占用容量大于额定垃圾回收容量,且小于垃圾存储空间的总容量,则在下一个高峰期的结束时刻之后对垃圾存储空间进行垃圾回收,进一步降低了在高峰期进行垃圾回收的风险,从而进一步减小了垃圾回收对业务的影响。
在一些可能的实施例中,在下一个高峰期内,若垃圾存储空间的实际占用容量大于垃圾存储空间的总容量,则在下一个高峰期期间对垃圾存储空间进行垃圾回收。
其中,额定垃圾回收容量小于总容量。额定垃圾回收量可以为总容量的50%,可以为总容量的60%,也可以为总容量的70%,还可以为总容量的80%,额定垃圾回收量具体由相关技术人员根据实际情况进行设定,本申请实施例对此不作限定。
综上所述,本申请实施例提供的技术方案中,通过获取多个比值并取其平均值的方式,得到流量空间比,使得流量空间比更准确,从而使得计算出的剩余容量值更准确,进一步地,可以更准确地确定进行垃圾回收的时刻。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图5,其示出了本申请一个实施例提供的垃圾回收装置的框图。该装置500具有实现上述垃圾回收的方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置500可以是上文介绍的计算机设备,也可以设置在计算机设备上。该装置500可以包括:容量获取模块510、流量获取模块520和回收响应模块530。
所述容量获取模块510,用于获取垃圾存储空间在目标时刻对应的剩余容量,所述目标时刻处于业务流量的低峰期,所述垃圾存储空间用于存储所述业务流量所产生的垃圾。
所述流量预估模块520,用于获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值。
所述垃圾回收模块530,用于响应于所述剩余容量所能承受的剩余流量值小于所述预估流量值,在所述下一个高峰期之前对所述垃圾存储空间进行垃圾回收。
综上所述,本申请实施例提供的技术方案中,通过获取垃圾存储空间在目标时刻对应的剩余容量,获取从目标时刻到业务流量的下一个高峰期的结束时刻的预估流量值,当剩余容量所能承受的剩余流量值小于预估流量值时,在下一个高峰期之前进行垃圾回收,从而可以确定是否要在下一个高峰期到来之前提前进行垃圾回收,降低在业务流量的高峰期进行垃圾回收的风险,进而可以减小垃圾回收对业务的影响。
在一些可能的实施例中,如图6所示,所述装置500还包括:流量计算模块540。
所述流量计算模块540,用于根据所述剩余容量和流量空间比,计算所述剩余容量所能承受的剩余流量值,所述流量空间比是指产生单位数据量的垃圾所需的流量值。
在一些可能的实施例中,如图6所示,所述装置500还包括:记录获取模块550、数据获取模块560和比值计算模块570。
所述记录获取模块550,用于获取历史流量记录、垃圾回收记录和系统性能记录,所述历史流量记录是指历史的时间段内对应产生的流量,所述垃圾回收记录是指历史的各垃圾回收周期的起止时间点,所述系统性能记录是指所述垃圾存储空间的使用情况。
所述数据获取模块560,用于根据所述历史流量记录、所述垃圾回收记录和所述系统性能记录,获取至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量,所述历史垃圾产生周期是指相邻两个历史垃圾回收周期之间的时段。
所述比值计算模块570,用于根据所述至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量,计算所述流量空间比。
在一些可能的实施例中,所述容量获取模块510用于根据所述垃圾存储空间的额定垃圾回收容量和所述垃圾存储空间在所述目标时刻的已占用容量,计算所述剩余容量。其中,所述额定垃圾回收容量是指预定义的触发执行垃圾回收的容量。
在一些可能的实施例中,所述垃圾回收模块530,还用于在所述下一个高峰期内,响应于所述垃圾存储空间的实际占用容量大于所述额定垃圾回收容量,且小于所述垃圾存储空间的总容量,在所述下一个高峰期的结束时刻之后对所述垃圾存储空间进行垃圾回收。其中,所述额定垃圾回收容量小于所述总容量。
在一些可能的实施例中,如图6所示,所述流量预估模块520,包括:分量获取子模块521和流量获取子模块522。
所述分量获取子模块521,用于获取所述目标时刻到所述下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量。
所述流量获取子模块522,用于将所述各个单位时段的预估流量值分量相加,得到所述预估流量值。
在一些可能的实施例中,如图6所示,所述分量获取子模块521,用于:
根据历史流量记录,确定至少一个历史单位时段的实际流量值分量;
根据所述至少一个历史单位时段的实际流量值分量,确定至少一个未来单位时段的预估流量值分量;
根据所述至少一个未来单位时段的预估流量值分量,确定所述目标时刻到所述下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量;
其中,每个所述高峰期包括所述预估流量值分量满足条件的至少一个连续的单位时段。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图7,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备用于实施上述实施例中提供的垃圾回收方法。具体来讲:
所述计算机设备700包括CPU(Central Processing Unit,中央处理单元)701、包括RAM(Random Access Memory,随机存取存储器)702和ROM(Read-Only Memory,只读存储器)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述计算机设备700还包括帮助计算机内的各个器件之间传输信息的基本I/O(Input/Output,输入/输出)系统706,和用于存储操作系统713、应用程序714和其他程序模块712的大容量存储设备707。
所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为计算机设备700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,所述计算机设备700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述的垃圾回收方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述的垃圾回收方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (9)
1.一种垃圾回收方法,其特征在于,所述方法包括:
获取垃圾存储空间在目标时刻对应的剩余容量,所述目标时刻处于业务流量的低峰期,所述垃圾存储空间用于存储所述业务流量所产生的垃圾;其中,所述剩余容量由所述垃圾存储空间的额定垃圾回收容量和所述垃圾存储空间在所述目标时刻的已占用容量计算得到,所述额定垃圾回收容量是指预定义的触发执行垃圾回收的容量;
获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值;
响应于所述剩余容量所能承受的剩余流量值小于所述预估流量值,在所述下一个高峰期之前对所述垃圾存储空间进行垃圾回收。
2.根据权利要求1所述的方法,其特征在于,所述获取垃圾存储空间在目标时刻对应的剩余容量之后,还包括:
根据所述剩余容量与流量空间比的乘积,确定所述剩余容量所能承受的剩余流量值,所述流量空间比是指产生单位数据量的垃圾所需的流量值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述剩余容量和流量空间比,计算所述剩余容量所能承受的剩余流量值之前,还包括:
获取历史流量记录、垃圾回收记录和系统性能记录,所述历史流量记录是指历史的时间段内对应产生的流量,所述垃圾回收记录是指历史的各垃圾回收周期的起止时间点,所述系统性能记录是指所述垃圾存储空间的使用情况;
根据所述历史流量记录、所述垃圾回收记录和所述系统性能记录,获取至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量,所述历史垃圾产生周期是指相邻两个历史垃圾回收周期之间的时段;
根据所述至少一个历史垃圾产生周期内的实际流量值和实际垃圾数据量,计算所述流量空间比。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述下一个高峰期内,响应于所述垃圾存储空间的实际占用容量大于所述额定垃圾回收容量,且小于所述垃圾存储空间的总容量,在所述下一个高峰期的结束时刻之后对所述垃圾存储空间进行垃圾回收;
其中,所述额定垃圾回收容量小于所述总容量。
5.根据权利要求1所述的方法,其特征在于,所述获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值,包括:
获取所述目标时刻到所述下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量;
将所述各个单位时段的预估流量值分量相加,得到所述预估流量值。
6.根据权利要求5所述的方法,其特征在于,所述获取所述目标时刻到所述下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量,包括:
根据历史流量记录,确定至少一个历史单位时段的实际流量值分量;
根据所述至少一个历史单位时段的实际流量值分量,确定至少一个未来单位时段的预估流量值分量;
根据所述至少一个未来单位时段的预估流量值分量,确定所述目标时刻到所述下一个高峰期的结束时刻之间的各个单位时段的预估流量值分量;
其中,每个所述高峰期包括所述预估流量值分量满足条件的至少一个连续的单位时段。
7.一种垃圾回收装置,其特征在于,所述装置包括:
容量获取模块,用于获取垃圾存储空间在目标时刻对应的剩余容量,所述目标时刻处于业务流量的低峰期,所述垃圾存储空间用于存储所述业务流量所产生的垃圾;其中,所述剩余容量由所述垃圾存储空间的额定垃圾回收容量和所述垃圾存储空间在所述目标时刻的已占用容量计算得到,所述额定垃圾回收容量是指预定义的触发执行垃圾回收的容量;
流量预估模块,用于获取从所述目标时刻到所述业务流量的下一个高峰期的结束时刻的预估流量值;
垃圾回收模块,用于响应于所述剩余容量所能承受的剩余流量值小于所述预估流量值,在所述下一个高峰期之前对所述垃圾存储空间进行垃圾回收。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上述权利要求1至6任一项所述的垃圾回收方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上述权利要求1至6任一项所述的垃圾回收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303318.6A CN111078588B (zh) | 2019-12-17 | 2019-12-17 | 垃圾回收方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303318.6A CN111078588B (zh) | 2019-12-17 | 2019-12-17 | 垃圾回收方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078588A CN111078588A (zh) | 2020-04-28 |
CN111078588B true CN111078588B (zh) | 2022-03-25 |
Family
ID=70315258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911303318.6A Active CN111078588B (zh) | 2019-12-17 | 2019-12-17 | 垃圾回收方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078588B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112465188A (zh) * | 2020-11-03 | 2021-03-09 | 上海威派格智慧水务股份有限公司 | 一种用水高峰期分析系统与方法 |
CN116418680A (zh) * | 2021-12-31 | 2023-07-11 | 华为云计算技术有限公司 | 一种存储节点的配置方法以及相关装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009203B2 (en) * | 2013-02-19 | 2015-04-14 | Sap Se | Lock-free, scalable read access to shared data structures using garbage collection |
CN104978335B (zh) * | 2014-04-04 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 数据访问控制方法和装置 |
US20160350214A1 (en) * | 2015-05-29 | 2016-12-01 | Google Inc. | Idle time software garbage collection |
US10771520B2 (en) * | 2015-11-24 | 2020-09-08 | Comcast Cable Communications, Llc | Methods and systems for intelligent utilization of off-peak network bandwidth |
CN106897022B (zh) * | 2015-12-17 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 一种管理存储设备的方法及装置 |
CN106101271A (zh) * | 2016-08-08 | 2016-11-09 | 北京小米移动软件有限公司 | 优化存储空间的方法及装置 |
CN107506136B (zh) * | 2017-08-07 | 2020-07-07 | 成都华为技术有限公司 | 一种垃圾回收的方法和装置 |
CN109726137B (zh) * | 2017-10-27 | 2021-01-29 | 华为技术有限公司 | 固态硬盘垃圾回收任务的管理方法、控制器和固态硬盘 |
CN108121666B (zh) * | 2017-11-16 | 2020-09-04 | 成都华为技术有限公司 | 一种闪存的垃圾回收方法及装置 |
-
2019
- 2019-12-17 CN CN201911303318.6A patent/CN111078588B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111078588A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10439937B2 (en) | Service addressing in distributed environment | |
CN107870981B (zh) | 电子装置、数据表归档处理的方法及存储介质 | |
CN102668456B (zh) | 用于调整会话超时周期的方法及系统 | |
CN108363657B (zh) | 监控app客户端埋点数据采集完整性的方法、设备以及介质 | |
US9176805B2 (en) | Memory dump optimization in a system | |
CN111078588B (zh) | 垃圾回收方法、装置、设备及存储介质 | |
CN108063818B (zh) | 数据下载方法、装置、终端和计算机可读存储介质 | |
CN104601696A (zh) | 服务处理方法、服务调用框架、装置和架构 | |
JP5986082B2 (ja) | 全アカウントの検索キーワードの推定値の返信 | |
US9009850B2 (en) | Database management by analyzing usage of database fields | |
CN109684320B (zh) | 监测数据在线清洗的方法和设备 | |
CN110781372B (zh) | 一种优化网站的方法、装置、计算机设备及存储介质 | |
CN106096926B (zh) | 事件处理方法、装置、电子装置和存储介质 | |
CN110839069A (zh) | 一种节点数据部署方法、部署节点、系统及介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN113595773B (zh) | 信息处理方法、装置、电子设备和存储介质 | |
CN106933673B (zh) | 调整组件逻辑线程数量的方法及装置 | |
CN104424109B (zh) | 一种信息处理方法及电子设备 | |
CN111479140B (zh) | 数据采集方法、设备、计算机设备和存储介质 | |
CN110310020A (zh) | 基于数据分析的项目方案管理方法、相关装置及存储介质 | |
CN116126859A (zh) | 一种数据管理方法、装置、电子设备及存储介质 | |
CN114513469A (zh) | 分布式系统的流量整形方法、装置和存储介质 | |
CN114281769A (zh) | 磁盘上文件管理方法、装置、计算机设备及存储介质 | |
CN110969481B (zh) | 产品数据预测方法、装置、计算机设备和存储介质 | |
CN112256734A (zh) | 一种大数据处理方法、装置、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221102 Address after: 1311, Floor 13, No. 27, Zhongguancun Street, Haidian District, Beijing 100080 Patentee after: QIANDAI (BEIJING) INFORMATION TECHNOLOGY CO.,LTD. Patentee after: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd. Address before: 100080 2106-030, 9 North Fourth Ring Road, Haidian District, Beijing. Patentee before: BEIJING SANKUAI ONLINE TECHNOLOGY Co.,Ltd. |