垃圾回收方法、垃圾回收装置和电子设备的制造方法
【专利摘要】提供了一种用于存储设备的垃圾回收方法、垃圾回收装置和电子设备,所述垃圾回收方法包括:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
【专利说明】
垃圾回收方法、垃圾回收装置和电子设备
技术领域
[0001]本发明涉及电子设备的领域,更具体地,本发明涉及一种垃圾回收方法、垃圾回收装置和电子设备。
【背景技术】
[0002]在目前的电子设备的垃圾数据回收(以下,简称为垃圾回收)方法中,存在被动垃圾回收方式和主动垃圾回收方式。
[0003]在被动垃圾回收方式中,当空闲块的数量低于某个阈值时触发垃圾回收。这种方式不能主动地利用系统的空闲资源。另一方面,在主动垃圾回收方式中,可以当诸如硬盘的存储设备处于闲置时期时进行垃圾回收。
[0004]然而,在目前的主动垃圾回收方式中,当接收到电子设备的诸如CPU的控制单元发出的命令(例如,读写命令)时,将必须中断正在进行的垃圾回收操作,以响应所述命令。因此,主动垃圾回收操作随时有可能被中断,导致处理效率较低。
【发明内容】
[0005]有鉴于上述情况,本发明提供了一种垃圾回收方法、垃圾回收装置和电子设备,其能够尚效地执彳丁垃圾回收,从而有效提尚系统资源的利用率,并能够提尚垃圾回收处理的效率。
[0006]根据本发明一实施例,提供了一种用于存储设备的垃圾回收方法,包括:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0007]根据本发明另一实施例,提供了一种用于存储设备的垃圾回收装置,包括:获取单元,获取预定时间段内的用户操作数据;确定单元,基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;预测单元,基于所述时间区间,预测用于垃圾回收的时间长度;设置单元,基于所述时间长度,设置垃圾回收参数;以及回收单元,在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0008]根据本发明另一实施例,提供了一种电子设备,包括:存储设备;以及处理器;其中,所述处理器配置为:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0009]根据本发明另一实施例,提供了一种电子设备,包括:处理器;存储器;和存储在所述存储器中的计算机程序指令,在所述计算机程序指令被所述处理器运行时执行以下步骤:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0010]根据本发明另一实施例,提供了一种计算机程序产品,包括计算机可读存储介质,在所述计算机可读存储介质上存储了计算机程序指令,所述计算机程序指令在被计算机运行时执行以下步骤:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0011]在根据本发明实施例的垃圾回收方法、垃圾回收装置和电子设备中,根据用户操作数据确定执行垃圾回收的时段并相应执行垃圾回收,从而能够有效提高系统资源的利用率,并能够提高垃圾回收处理的效率。
【附图说明】
[0012]图1是图示根据本发明实施例的垃圾回收方法的主要步骤的流程图;
[0013]图2是图示根据本发明实施例的垃圾回收装置的主要配置的框图;以及
[0014]图3是图示根据本发明实施例的电子设备的主要配置的框图。
【具体实施方式】
[0015]以下将参考附图详细描述本发明实施例。
[0016]首先,描述根据本发明实施例的垃圾回收方法。本发明实施例的垃圾回收方法可应用于存储设备。所述存储设备例如可以为只读存储器(R0M)、硬盘、闪存等的非易失性存储器。当然,所述存储设备也可以为易失性存储器。
[0017]下面,将参照图1描述本发明实施例的垃圾回收方法。
[0018]如图1所示,首先,在步骤S110,获取预定时间段内的用户操作数据。示例性地,可以获取历史用户操作数据。具体地,可以从系统日志文件等的用户业务样本序列来获取所述用户操作数据。所述用户操作数据例如包括与用户对所述存储设备进行读、写等的操作有关的数据。更具体地,所述用户操作输入例如可包括操作类型、数据块尺寸、操作时间、操作频率等等中的至少一个或其任意组合。此外,所述预定时间段可以由本领域技术人员根据需要适当地设置,在此不作具体限定。
[0019]接下来,在步骤S120,基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间。所述第一阈值可以由本领域技术人员根据需要适当地设置,在此不作具体限定。具体地,在步骤S120,将对所述存储设备操作频率低于第一阈值的时间区间认为是所述存储设备处于空闲状态、并由此可以进行垃圾回收的时间。
[0020]更具体地,由于所述用户操作数据包括所述预定时间段内对所述存储设备进行的操作,因此可以基于所述用户操作数据的时间分布来确定对所述存储设备操作频率低于第一阈值的时间区间。此外,替代地,可以基于所述用户操作数据的频率分布来确定所述时间区间。替代地,可基于所述用户操作数据通过统计学习的方式来确定所述时间区间。例如,可以基于所述用户操作数据,基于高斯分布来确定所述时间区间。示例性地,可对用户操作数据中的操作次数进行离散化处理,并将离散化之后的操作次数可选地进行归一化处理,从而构造高斯模型,并得到诸如均值和方差等的高斯模型的参数,从而基于所述参数来确定所述时间区间。例如,当通过所述用户操作数据发现每天20:00至23:59的时间段期间操作次数小于所述第一阈值时,可将每天20: 00至23: 59的时间段确定为所述时间区间。
[0021]然后,在步骤S130,基于所述时间区间,预测用于垃圾回收的时间长度。在第一实施例中,可以预测用于垃圾回收的时间长度等于所述时间区间。在第二实施例中,可以预测用于垃圾回收的时间长度小于所述时间区间,其值可以由本领域技术人员根据需要适当地设置,在此不作具体限定。
[0022]接下来,在步骤S140,基于所述时间长度,设置垃圾回收参数。具体地,所述垃圾回收参数为进行垃圾回收处理所必须的参数。示例性地,所述垃圾回收参数可以为回收块的个数、回收块的分布等等中的一个或其任意组合。更具体地,可以预设单位数据块进行回收所需要的单位回收时间,并基于所述时间长度和单位回收时间来确定回收块的个数。例如,可以通过将所述时间长度除以单位回收时间来确定回收块的个数。此外,当所述时间长度较长时,可以对零散分布的多个回收块进行回收。当所述时间长度较短时,可以对集中分布的多个回收块进行回收,等等。当然,以上所述的垃圾回收参数及其相应的设置方式仅为示例。本领域技术人员可以在上述教导的基础上,根据需要基于所述时间长度设置其他垃圾回收参数。
[0023]然后,在步骤S150,在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。其具体处理为本领域技术人员所知,在此不再详述。
[0024]此外,为使本发明实施例的垃圾回收方法一直符合用户的使用习惯,即便在通过如上所述的步骤进行垃圾回收操作之后,也可以继续保持更新。即,还可以继续实时收集用户操作数据,并基于所收集的用户操作数据,更新所述时间区间。接下来,可以基于更新后的时间区间,更新用于垃圾回收的时间长度,并基于更新后的时间长度,更新垃圾回收参数。上述各步骤的具体更新处理与上面参照图1所述的各步骤的处理类似,在此不再重复。
[0025]在根据本发明实施例的垃圾回收方法中,根据用户操作数据确定执行垃圾回收的时段并相应执行垃圾回收,从而能够基于用户操作习惯进行行为学习,使得在所述存储设备最有可能处于空闲状态的时间段内执行垃圾回收,从而能够有效提高系统资源的利用率,并能够提高垃圾回收处理的效率。
[0026]以上,参照图1描述了本发明实施例的垃圾回收方法。
[0027]下面,将参照图2描述本发明实施例的垃圾回收装置。
[0028]如图2所示,根据本发明实施例的垃圾回收装置200主要包括:获取单元210、确定单元220、预测单元230、设置单元240和回收单元250。
[0029]所述获取单元210获取预定时间段内的用户操作数据。
[0030]所述确定单元220基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间。
[0031]所述预测单元230基于所述时间区间,预测用于垃圾回收的时间长度。
[0032]所述设置单元240基于所述时间长度,设置垃圾回收参数。
[0033]所述回收单元250在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0034]在一实施例中,所述垃圾回收装置220还包括:收集单元,实时收集用户操作数据;第一更新单元,基于所收集的用户操作数据,更新所述时间区间;第二更新单元,基于更新后的时间区间,更新用于垃圾回收的时间长度;以及第三更新单元,基于更新后的时间长度,更新垃圾回收参数。
[0035]在另一实施例中,所述确定单元220配置为:基于所述历史用户操作数据,基于高斯分布来确定所述时间区间。
[0036]在另一实施例中,所述预测单元230配置为:将所述时间区间内,长度小于或等于所述时间区间的时段预测为用于垃圾回收的时间长度。
[0037]在另一实施例中,,所述回收单元250配置为:基于所述时间长度,设置垃圾回收块的个数、垃圾回收块的分布中的至少一个,作为所述垃圾回收参数。
[0038]所述垃圾回收装置200的各个单元的具体配置和操作已经在上面参照图1所述的垃圾回收方法中详细描述,在此不再重复。
[0039]下面,将参照图3描述本发明实施例的电子设备。
[0040]如图3所示,本发明实施例的电子设备300包括存储设备310和处理器320。存储设备310可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(R0M)、硬盘、闪存等。所述处理器320可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备300中的其它组件以执行期望的功能。
[0041]所述处理器320配置为:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
[0042]所述电子设备300的各个单元的具体配置和操作已经在上面参照图1所述的垃圾回收方法中详细描述,在此不再重复。
[0043]在根据本发明实施例的垃圾回收装置和电子设备中,根据用户操作数据确定执行垃圾回收的时段并相应执行垃圾回收,从而能够基于用户操作习惯进行行为学习,使得在所述存储设备最有可能处于空闲状态的时间段内执行垃圾回收,从而能够有效提高系统资源的利用率,并能够提高垃圾回收处理的效率。
[0044]以上,参照图1到图3描述了根据本发明实施例的垃圾回收方法、垃圾回收装置和电子设备。
[0045]需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0046]此外,需要说明的是,在本说明书中,类似“第一…单元”、“第二...单元”的表述仅为了在描述时方便区分,而并不意味着其必须实现为物理分离的两个或多个单元。事实上,根据需要,所述单元可以整体实现为一个单元,也可以实现为多个单元。
[0047]最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
[0048]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0049]在本发明实施例中,单元/模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成单元/模块并且实现该单元/模块的规定目的。
[0050]在单元/模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的单元/模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0051]以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种用于存储设备的垃圾回收方法,包括: 获取预定时间段内的用户操作数据; 基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间; 基于所述时间区间,预测用于垃圾回收的时间长度; 基于所述时间长度,设置垃圾回收参数;以及 在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。2.如权利要求1所述的垃圾回收方法,还包括: 实时收集用户操作数据; 基于所收集的用户操作数据,更新所述时间区间; 基于更新后的时间区间,更新用于垃圾回收的时间长度;以及 基于更新后的时间长度,更新垃圾回收参数。3.如权利要求1所述的垃圾回收方法,确定所述时间区间的步骤包括: 基于所述用户操作数据,基于高斯分布来确定所述时间区间。4.如权利要求1所述的垃圾回收方法,预测用于垃圾回收的时间长度的步骤包括: 将所述时间区间内,长度小于或等于所述时间区间的时段预测为用于垃圾回收的时间长度。5.如权利要求1所述的垃圾回收方法,设置垃圾回收参数的步骤包括: 基于所述时间长度,设置垃圾回收块的个数、垃圾回收块的分布中的至少一个,作为所述垃圾回收参数。6.—种用于存储设备的垃圾回收装置,包括: 获取单元,获取预定时间段内的用户操作数据; 确定单元,基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间; 预测单元,基于所述时间区间,预测用于垃圾回收的时间长度; 设置单元,基于所述时间长度,设置垃圾回收参数;以及 回收单元,在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。7.如权利要求6所述的垃圾回收装置,还包括: 收集单元,实时收集用户操作数据; 第一更新单元,基于所收集的用户操作数据,更新所述时间区间; 第二更新单元,基于更新后的时间区间,更新用于垃圾回收的时间长度;以及 第三更新单元,基于更新后的时间长度,更新垃圾回收参数。8.如权利要求6所述的垃圾回收装置,所述确定单元配置为: 基于所述历史用户操作数据,基于高斯分布来确定所述时间区间。9.如权利要求6所述的垃圾回收装置,所述预测单元配置为: 将所述时间区间内,长度小于或等于所述时间区间的时段预测为用于垃圾回收的时间长度。10.如权利要求6所述的垃圾回收装置,所述回收单元配置为: 基于所述时间长度,设置垃圾回收块的个数、垃圾回收块的分布中的至少一个,作为所述垃圾回收参数。11.一种电子设备,包括:存储设备;以及处理器;其中,所述处理器配置为:获取预定时间段内的用户操作数据;基于所述用户操作数据,确定对所述存储设备操作频率低于第一阈值的时间区间;基于所述时间区间,预测用于垃圾回收的时间长度;基于所述时间长度,设置垃圾回收参数;以及在所述时间区间内,基于所述垃圾回收参数执行垃圾回收操作。
【文档编号】G06F3/06GK105892941SQ201610191536
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】李志刚, 张红蕾
【申请人】联想(北京)有限公司