CN110546621A - 用于数据存储的垃圾收集 - Google Patents

用于数据存储的垃圾收集 Download PDF

Info

Publication number
CN110546621A
CN110546621A CN201880007770.5A CN201880007770A CN110546621A CN 110546621 A CN110546621 A CN 110546621A CN 201880007770 A CN201880007770 A CN 201880007770A CN 110546621 A CN110546621 A CN 110546621A
Authority
CN
China
Prior art keywords
data
data object
access window
storage
server computers
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.)
Granted
Application number
CN201880007770.5A
Other languages
English (en)
Other versions
CN110546621B (zh
Inventor
康斯坦丁诺斯·尼克勒达基斯
斯文·科勒
王丹瑶
萨哈德·萨巴
费龙
西蒙·泰勒·怀斯
大卫·哈乐戴·施耐德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202311380376.5A priority Critical patent/CN117271385A/zh
Publication of CN110546621A publication Critical patent/CN110546621A/zh
Application granted granted Critical
Publication of CN110546621B publication Critical patent/CN110546621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于回收存储环境中的存储空间的方法、系统、包括在计算机存储介质上所编码的计算机程序的装置。在一个方面中,方法包括以下动作,聚合指示对一个或多个数据对象的访问的数据,确定与多个数据对象中的每个数据对象相关联的未来存储成本,确定多个数据对象中的每个数据对象的访问窗口,基于(i)满足预定阈值的未来存储成本和(ii)数据对象访问窗口来识别数据对象,向用户设备提供通知,通知请求来自用户的反馈,反馈指示是否可以删除数据对象,以及响应于接收到指示可以删除数据对象的数据,生成在访问窗口到期时使得删除数据对象的指令。

Description

用于数据存储的垃圾收集
背景技术
存储器中的数据对象的垃圾收集带来了重大挑战,尤其是随着存储器中所维护的数据的规模(例如,太字节、拍字节、艾字节或更多)的增加。由于数据结构的复杂性(例如,可以包含数百万列或更多列),并且通常关于消费者和数据的预期使用的知识有限,因此还引入了挑战。
发明内容
根据本公开的一个创新方面,公开了一种回收大数据存储环境中的存储空间的计算机实施的方法。方法可以包括以下动作,由一个或多个服务器计算机,聚合描述对被存储在存储环境中的数据对象的访问的数据,由一个或多个服务器计算机,确定与存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本,由一个或多个服务器计算机,确定存储环境中的多个数据对象中的每个数据对象的访问窗口,每个访问窗口在未来具有相应的到期日期,由一个或多个服务器计算机,识别一个或多个第一数据对象,第一数据对象中的每个第一数据对象是所确定的未来存储成本满足预定的未来存储成本阈值的数据对象,对于每个所识别的第一个数据对象:由一个或多个服务器计算机,向用户设备提供通知,通知请求来自用户的反馈,反馈指示在访问窗口到期之后是否可以删除数据对象,由一个或多个服务器计算机,从用户设备接收指示在访问窗口到期之后是否可以删除数据对象的数据;以及响应于从用户设备接收到指示在访问窗口到期之后可以删除数据对象的数据,生成在访问窗口到期时使得删除数据对象的指令。
其他方面包括相对应的系统、装置和计算机程序,以进行由在计算机存储设备上所编码的指令所定义的方法的动作。
这些和其他版本可以可选地包括以下特征中的一个或多个。例如,在一些实施方式中,方法还可以包括,响应于从用户设备接收到指示在访问窗口到期之后可以删除数据对象的数据,生成指示存储环境标记在访问窗口到期时删除的数据对象的指令。
在一些实施方式中,方法还可以包括,响应于从用户设备接收到指示在访问窗口到期之后不可以删除数据对象的数据,调整被用来确定访问窗口的启发法。
在一些实施方式中,由一个或多个服务器计算机,聚合描述对被存储在存储环境中的数据对象的访问的数据,可以包括:由一个或多个服务器计算机,从由存储环境所维护的一个或多个审计日志获得审计日志数据记录,其中每个审计日志数据记录包括(i)识别所访问的数据对象的数据,和(ii)指示何时发生了对数据对象的访问的时间戳的数据,以及由一个或多个服务器计算机,将所获得的审计日志数据记录存储在数据库中。
在一些实施方式中,由一个或多个服务器计算机,确定存储环境中的多个数据对象中的每个数据对象的访问窗口,可以包括,由一个或多个服务器计算机,分析数据库中的审计日志数据,以确定可能访问数据对象的时间段。
在一些实施方式中,由一个或多个服务器计算机,确定与存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本,可以包括:使用一个或多个启发法,基于所预测的未来存储价格贬值来估计数据对象的潜在未来存储成本。
在一些实施方式中,方法还可以包括,由一个或多个服务器计算机,基于(i)可以为每个相应的数据对象回收的未来存储成本,和(ii)指示是否将在访问窗口之外访问每个相应的数据对象的置信度分数,来对一个或多个第一数据对象进行分类。
在一些实施方式中,标签可以包括指示数据对象的访问窗口何时到期的时间戳。
本公开的主题提供优于传统方法的多个优点。例如,本公开的特征优化“大数据”存储环境中的存储回收处理。在一些实施方式中,例如,本公开可以基于数据对象的估计未来存储成本与从“大数据”存储系统回收与数据对象相关联的存储空间的成本的比较,来做出关于是否回收“大数据”存储系统中的存储空间的确定。这样的成本效益分析对于“大数据”存储系统是独特的,因为数据对象的大小可能非常大。这通过对存储回收处理进行编程来优化处理,以确定在某些实例(例如,在回收存储的成本大于估计的未来存储成本的实例)中,即使未来没有用户希望访问数据对象,将数据对象保留存储在“大数据”存储中也比通过必要的步骤来回收数据更有效。因此,在一些实例中,例如,因为存储的货币成本随着时间的推移而贬值,所以将数据对象保留在“大数据”存储中而不是回收与“大数据”对象相关联的存储空间可能更有效。
附图说明
图1是用于回收存储环境中的存储空间的系统的情境图。
图2是用于回收存储环境中的存储空间的处理的流程图。
具体实施方式
相对于不使用本说明书中所描述的系统和方法的传统存储系统,本公开涉及优化存储环境中的存储资源的使用的系统和方法。在随后的示例描述中,存储系统通常被称为“大数据”存储系统,因为所实现的益处和优点与被存储在存储系统中的数据的量成比例地增加。然而,下面所描述的特征可以被用在任何存储系统中,因此不限于可以被归类为“大数据”存储系统的存储系统。
由本公开所描述的系统和方法可以通过由回收系统确定不再有用的存储环境中的数据对象所占用的存储空间,来优化存储环境中的存储资源的使用。基于(i)确定数据对象如果被保存在存储器中可能产生超过阈值量的未来存储成本,以及(ii)确定与数据对象相关联的预定访问窗口已经到期,可以将数据对象识别为回收的候选。如果确定估计的未来存储成本大于当前移除数据对象的成本,则数据对象可能超过阈值量的存储成本。在一些实例中,由本公开所描述的系统和方法还可以被用来回收用于维护整个数据对象存储库的存储空间。
图1是用于回收存储环境中的存储空间的系统100的情境图。系统100包括用户设备110、网络115、服务器130和存储环境145。仅为了说明的目的,存储环境145被称为大数据存储环境145。
大数据存储环境145包括提供数据对象的物理存储的一个或多个服务器计算机145-1至145-n,其中n是任何正整数。在一些实施方式中,大数据存储环境145可以由单个实体操作并且用于为多个数据对象存储库150、151、512、153、154、155提供物理存储,多个数据对象存储库150、151、512、153、154、155存储由单个实体获得、生成、维护或其组合的数据对象。替代地,大数据存储环境145可以是为m个实体提供物理存储的基于云的系统,其中m是任何正整数。在这样的基于云的系统中,大数据存储环境145可以将存储空间147-1分配给第一实体,以用于存储第一实体的数据对象存储库150、151、152、153、154、155,并且将不同的存储空间147-m分配给第二实体,以用于存储第二实体的数据对象存储库160、161、162、163、164、165。
实体可以包括需要存储空间来存储数据的任何人、人群、组织(例如,公司、政府机构等)、计算机系统(例如,人工智能代理)等。举例来说,诸如国际零售商(以下被称为“零售商”)的实体可能需要存储空间来存储大数据。在图1中参考存储空间147-m示出该示例。在阶段A,零售商可以使用存储空间147-m来存储多个不同类型的数据对象存储库,诸如是客户调查存储库160、文档存储库161、存储销售数据的关系数据库存储库162、存储库存数据的列数据库存储库163、社交媒体帖子存储库164和购买位置信息存储库165。零售商的一个或多个代理、雇员等可以使用由大数据存储环境所提供的一个或多个软件工具,来对由被存储在存储空间147-m中的数据对象存储库所维护的大数据进行数据分析操作。例如,可以采用一个或多个数据分析算法来分析零售商的大数据,诸如是销售数据、库存数据、客户购买位置信息和社交媒体帖子,以识别或预测一个或多个特定地理区域中的销售趋势。替代地或另外地,响应于特定事件等,这样的数据分析算法可以被自动化为以预定时间间隔运行。
大数据存储环境145可以为每个相应的数据对象存储库维护审计日志160A、161A、162A、163A、164A、165A,每个相应的数据对象存储库诸如是被存储在大数据存储环境145中的数据对象存储库160、161、162、163、164、165。每个相应的审计日志160A、161A、162A、163A、164A、165A可以包括访问与相应的审计日志160A、161A、162A、163A、164A、165A相关联的每个相应的数据对象存储库中的相应的数据对象的历史。由每个相应的审计日志所维护的访问历史可以包括响应于每次访问数据对象而由大数据存储环境145所生成的多个数据记录。例如,每个数据记录可以包括被访问的数据对象、访问的类型(例如,读访问、写访问等)和时间戳。时间戳可以包括访问的时间和访问的日期。在一些实施方式中,每个相应的审计日志160A、161A、162A、163A、164A、165A可以以时间顺序来维护表示对相应的数据对象的访问的数据记录。由审计日志160A、161A、162A、163A、164A、165A所维护的访问历史可以是对相应的数据对象的完整的访问历史或对相应的数据对象的不完整的访问历史。
虽然图1的示例示出了多个不同的审计日志,每个审计日志与特定数据对象存储库相关联,但是本公开不必如此受限。例如,每个存储空间147-1至147-m可以具有单个审计日志,该单个审计日志生成并且存储描述对存储空间中的数据对象的每次访问的审计日志数据记录。替代地,大数据存储环境145可以包括单个审计日志,该单个审计日志生成并且存储描述对大数据存储环境145中的每个数据对象的每次访问的数据记录。审计日志的其他配置也被认为落入本公开的范围内。
随着时间的推移,大数据存储环境145可以累积数量级为数太字节、拍字节、艾字节或甚至更多的大量数据。然而,可能并非由大数据存储环境145所维护的所有数据对于使用大数据存储环境145来存储实体的大数据的实体都是有用的。在一些实施方式中,由大数据存储环境145所维护的数据的有用性可以是基于数据在未来是否有用(例如,数据在预定天数之后是否有用)。
服务器130可以被用来回收由被存储在大数据存储环境145中的一个或多个数据对象所占据的存储空间。服务器130包括访问数据库132、启发式单元133、未来存储成本分析单元133a、访问窗口确定单元133b和存储回收单元136。在本说明书中,术语“单元”将被广泛地用来指代可以进行一个或多个特定功能的基于软件或硬件的系统或子系统。通常,单元将被实施为一个或多个软件模块或组件,被安装在一个或多个位置的一个或多个计算机上;在其他情况下,多个单元可以被安装在相同的一个或多个计算机上。
服务器130聚合来自由大数据存储环境145所维护的每个审计日志的数据记录。例如,服务器可以经由网络115传送由大数据存储环境145接收121的审计日志数据记录的请求120。响应于请求,大数据存储环境145可以经由网络115向服务器130返回122由每个审计日志150A、151A、152A、153A、154A、155A、160A、161A、162A、163A、164A、165A为大数据存储环境145的每个存储空间147-1至147-m所维护的审计日志数据记录。服务器130可以接收123审计日志数据记录,并且将所接收的审计日志数据记录存储131在访问数据库132中。来自每个审计日志的所聚合的数据记录可以由服务器130使用,来确定由大数据存储环境145所存储的一个或多个数据对象的访问窗口。例如,网络115可以包括LAN、WAN、蜂窝网络、因特网或其组合中的一个或多个。
服务器130可以随时间传送诸如请求120的多个请求,以努力保持访问数据库132的更新。例如,服务器130可以被配置为以预定间隔(例如,每小时、每天、每晚、每周等)周期性地从审计日志请求数据记录。替代地或另外地,服务器130可以被配置为根据需要(例如,响应于用户指令)从审计日志请求数据记录。替代地或另外地,服务器130可以被配置为在向用户设备110的用户做出推荐以回收存储一个或多个数据对象的存储空间之前,从与一个或多个数据对象相关联的审计日志获得数据记录。
服务器130包括启发式单元133,启发式单元133可以被用来识别作为存储回收候选的数据对象。在一些实施方式中,识别作为存储回收候选的数据对象包括两部分处理,首先使用未来存储成本单元133a来识别被存储在大数据存储环境145中的第一组一个或多个数据对象,第一组一个或多个数据对象具有满足预定的未来存储成本阈值的未来存储成本,然后确定第一组数据对象中的一个或多个数据对象中的每个数据对象的访问窗口。替代地,在一些实施方式中,服务器130可以接收识别第二组一个或多个数据对象的数据,第二组一个或多个数据对象先前被确定为具有满足预定的未来存储成本阈值的未来存储成本,然后服务器可以确定第二组数据中的一个或多个数据对象中的每个数据对象的访问窗口。因此,在一些实施方式中,服务器130可能不必确定预测的未来存储成本。由启发式单元133向存储回收单元136提供135识别第一组一个或多个数据对象中的每个数据对象的数据。
未来存储成本单元133a被配置为识别被存储在大数据存储环境145中的一个或多个数据对象,该一个或多个数据对象可以是存储回收的候选。如果未来存储成本单元133a预测数据对象与满足预定的未来存储成本阈值的未来存储成本相关联,则数据对象可以是存储回收的候选。未来存储成本单元133a可以基于使用分析数个不同因素中的一个或多个因素的一系列启发法,来确定被存储在大数据存储环境145中的一个或多个数据对象的未来存储成本。例如,因素可以包括数据对象的占用空间(footprint)、数据对象的复制、包含数据对象的数据集的保留、存储价格的总体贬值、来自负责监督数据对象的实体(例如,来自使用大数据存储环境来存储实体的大数据的实体的一个或多个代理、雇员、计算机系统(例如,人工智能代理)等)的反馈、其组合等。
在一些实施方式中,预测一个或多个数据对象的未来存储成本可以包括访问134并且分析被存储在访问数据库132中的审计日志数据记录。未来存储成本单元133a可以基于在为数据对象而记录的历史访问中所检测到的趋势,来预测相应的数据对象的未来存储成本。在一些实例中,(i)例如,如果所聚合的审计日志指示数据对象的占用空间正在增加,(ii)例如,如果数据对象被例行地复制,(iii)例如,如果包含数据对象的数据集被无限期地保留,(iv)其组合,(v)等等,则可以预测数据对象的未来存储成本较高。
在一些实例中,由未来存储成本单元133a所采用的启发法可以通过考虑除了数据对象所需的存储空间量之外的因素来预测未来存储成本。例如,未来存储成本单元133a可以基于(i)预测数据对象所需的存储空间量和(ii)存储空间价格的估计贬值,来预测数据对象的未来存储成本。将数据对象的预测未来存储成本确定为(i)数据对象所需的未来存储空间和(ii)存储空间价格的贬值的函数,在存储很大并且可以容易地添加附加存储的大数据存储环境145中提供更准确的存储成本估计。
可以根据维护数据对象所需的存储空间量来表示数据对象的未来估计存储成本。例如,可以使用存储单元来表示未来估计存储成本(例如,维护特定数据对象的成本可以是一些吉字节(GB)、太字节(TB)、拍字节(PB)、艾字节(EB)等)。替代地,可以根据继续存储数据所花费的估计金额(例如、美元、欧元等)、数据对象的继续存储是否会超过现有容量等,来表示数据对象的未来估计存储成本。在一些实施方式中,可以基于未来存储成本的估计贬值来成比例地缩放存储单元。该缩放的存储成本向用户(例如,来自使用大数据存储环境来存储实体的大数据的实体的代理、雇员、计算机系统(例如,人工智能代理)等)提供更准确的估计未来存储成本。
虽然相对于特定数据对象描述了确定未来估计存储成本的描述,但是本公开不必如此受限。例如,启发式单元133可以使用未来存储成本单元133a来确定数据对象存储库中的每个数据对象的未来存储成本。在这样的实例中,可以通过将数据存储库中的每个数据对象的未来存储成本相加,来确定整个数据对象存储库的未来存储成本。在一些实施方式中,如果存储库的未来存储成本满足预定的未来存储成本阈值,则启发式单元133可以将整个数据对象存储库识别为存储回收的一组候选数据对象。
访问窗口确定单元133b被配置为确定可能访问数据对象的时间段。例如,可能访问数据对象的时间段可以跨越从当前(或过去)时间延伸到未来时间t的时间段。服务器130可以基于数据对象的访问窗口,来预测在时间t之后可能不会访问数据对象。
访问窗口确定单元133b可以基于被存储在访问数据库132中的审计日志数据记录,来确定一个或多个数据对象的访问窗口。访问窗口确定单元133b可以访问134访问数据库132,并且使用一个或多个启发法来估计一个或多个数据对象的访问窗口。在一些实施方式中,访问窗口确定单元133b可以分析所聚合的审计日志数据记录以检测数据对象访问的趋势。在一些实施方式中,访问窗口确定单元133b可以分析与数据对象相关联的审计日志数据记录,以确定数据对象的创建日期。然后,访问窗口确定单元133b可以基于数据对象创建日期和数据对象的未来时间t来进行预测,该数据对象的未来时间t是创建日期之后的预定时间量。在一些实施方式中,访问窗口确定单元133b可以将数据对象的未来时间t设置为例如从数据对象的创建开始的四个月或更长时间。
替代地或另外地,在确定数据对象的访问窗口时,访问窗口确定单元133b可以考虑除了由审计日志数据记录所建立的数据对象访问历史之外的其他因素。例如,访问窗口确定单元133b可以基于诸如遵守一个或多个数据保留策略、遵守一个或多个法律政策等因素来确定访问窗口。在这样的实例中,即使数据对象还未被访问、可能不被访问等,访问窗口确定单元133b也可以确定扩展数据对象的访问窗口,以努力遵守所建立的策略。
通常可以为每个数据对象确定访问窗口。但是,在一些实例中,如果数据对象存储库中的每个数据对象都与特定访问窗口到期日期相关联,则与数据对象存储库中的数据对象相关联的最新访问窗口到期日期可以被用作整个数据对象存储库的访问窗口到期日期。到期日期可以包括特定日期、特定时间、特定日期和时间等中的一个或多个。
访问窗口确定单元133b可以确定每个访问窗口的置信度分数。置信度分数可以指示在到期日期之后将访问与访问窗口相关联的数据对象的可能性,到期日期诸如是在时间t的访问窗口的结束。在一些实施方式中,置信度分数可以是基于在审计日志数据记录的分析期间所识别的访问趋势。替代地或另外地,置信度分数可以是基于当前时间和时间t之间存在的时间量。当前时间越接近时间t,则置信度分数可以越高。替代地或另外地,置信度分数可以是基于用户(例如,来自使用大数据存储环境来存储实体的大数据的实体的代理、雇员、计算机系统(例如,人工智能代理)等)是否先前已经提供指示服务器130不应该回收与数据对象相关联的存储空间的反馈。例如,如果用户先前已经表达即使在与特定访问窗口相关联的到期日期之后也需要数据对象,则将在所确定的访问窗口之外访问数据对象的置信度分数应该较低。这样的用户反馈指示用户潜在地需要在所确定的访问窗口之外保持存储数据对象,指示被用来确定用户已经提供反馈的特定数据对象的访问窗口的启发法中的漏洞,或者指示两者。
启发式单元133可以提供135(i)识别一组一个或多个候选数据对象的数据,该组一个或多个候选数据对象具有满足预定的未来存储成本阈值的预测的未来存储成本,(ii)该组一个或多个候选对象中的每个数据对象的预测的未来存储成本的数据,(iii)该组一个或多个候选数据对象中的每个数据对象的访问窗口的数据,和(iv)置信度分数的数据,该置信度分数指示一旦预定的访问窗口到期,就不会访问该组数据对象中的每个数据对象的可能性。存储回收单元136可以基于与每个数据对象相关联的预测的未来存储成本、与每个对象相关联的置信度分数、或两者,来对该组一个或多个候选数据对象进行分类。在图1的示例中,启发式单元133可以将客户调查存储库160、社交媒体帖子存储库164和列数据库163的两列识别为回收其存储空间的候选数据对象。
然后,存储回收单元可以经由网络115向用户设备110传送124通知,该通知被设计为提示用户设备110的用户指示是否可以回收被用来存储一个或多个候选数据对象的存储空间。用户设备110的用户可以是来自使用大数据存储环境来存储实体的大数据的实体的代理、雇员、计算机系统(例如,人工智能代理)等。在一些实施方式中,存储回收单元可以传送124通知以提示用户指示是否可以对于每个候选数据对象回收被用来存储一个或多个候选数据对象的存储空间。替代地,如果与数据对象相关联的置信度分数没有满足预定阈值,则存储回收单元可以仅传送124通知以提示用户指示是否可以回收被用来存储一个或多个候选数据对象的存储空间。对于置信度分数满足预定阈值(例如,基于来自用户的先前反馈)的那些场景,存储回收单元可以继续存储回收处理,就像用户提供了指示在数据对象的访问窗口到期时可以回收候选数据对象的存储空间的反馈。
用户设备110接收125通知,并且生成用于在用户设备110的用户界面中显示的图形用户界面111,图形用户界面111提示用户设备的用户关于为一组一个或多个候选数据对象所分配的存储空间的潜在存储空间回收的反馈。特别地,一旦所确定的数据对象的访问窗口到期,则用户界面就可以询问用户是否可以回收被分配给一个或多个所识别的候选数据对象的存储空间。
用户界面111可以向用户提供机会以提供输入,该输入指示用户是否同意回收在通知中所识别的每个候选数据对象的存储。在图1的示例中,通知可以指示包括客户调查存储库112、社交媒体帖子存储库113和列数据库的两个数据库列114的一个或多个候选数据对象是回收其存储空间的候选。用户界面111可以提供与一个或多个候选数据对象中的每个候选数据对象相关联的数据,以用于显示诸如数据对象标识符、预测的未来存储成本和置信度分数,该置信度分数指示在候选数据对象的访问窗口到期之后,将访问数据对象的可能性。在一些实施方式中,用户界面111还可以提供指示与每个候选数据对象相关联的访问窗口时间段的数据。
用户界面111可以允许用户指示用户是否批准回收与每个相应的数据对象相关联的存储空间。例如,用户可以切换一组复选框112a、113a、114a以指示用户认为应该回收一个或多个候选数据对象112、113、114中的哪些候选数据对象的存储空间,以及不应该回收一个或多个候选数据对象中的哪些候选数据对象的存储空间。在图1的示例中,用户可以使用复选框112a、113a、114a来指示应该回收一个或多个候选数据对象112和114的存储空间,以及不应该回收候选数据对象114的存储空间。在一些实施方式中,用户可以选择“提交”图标115以经由网络115将用户的选择作为用户反馈传送126给服务器130。替代地,用户可以通过选择“取消”图标116来丢弃用户的选择。
服务器130从用户设备110接收127用户反馈。服务器130可以向存储回收单元136提供138用户的反馈。存储回收单元136处理用户的反馈,并且确定是否可以回收一个或多个候选数据对象中的每个候选数据对象的存储空间。
对于用户指示了不应该回收其存储空间的诸如社交媒体帖子存储库164的那些候选数据对象,存储回收单元136决定对存储回收考虑的数据对象去优先级化。对存储回收的数据对象去优先级化可以包括用数据来标记数据对象,该数据指示启发式单元133可以绕过数据对象以考虑作为存储空间回收的候选数据对象。在一些实施方式中,标签可以包括指示应该仅绕过数据对象预定时间量的数据。替代地,在其他实施方式中,标签可以包括基于用户的反馈,指示启发式单元133应该永久地绕过数据对象以考虑作为候选数据对象的数据。
服务器130还向启发式单元133提供140用户反馈。启发式单元133可以处理用户反馈,并且使用指示用户决定不回收被分配给特定数据对象的存储空间的用户反馈来作为确定数据对象的未来存储成本的因素。替代地或另外地,指示用户决定不回收存储空间的用户反馈随后可以被用作确定未来一个或多个数据对象的访问窗口的因素。
另一方面,对于用户指示了应该在每个相应的数据对象的访问窗口到期时就回收其存储空间的诸如客户调查存储库160和列数据库160的一个或多个数据库列的那些候选数据对象,存储回收单元136可以生成并且输出139指令,该指令指示大数据存储环境145在每个相应的数据对象的访问窗口到期时就回收被分配给客户调查存储库160和列数据库存储库163的两个数据库列的数据存储。
服务器130可以经由网络115向大数据存储环境145传送128由存储回收单元136所生成的指令。大数据存储环境145可以接收129并且处理来自服务器130的指令。响应于从服务器130所接收129的指令,大数据存储环境145用到期标签来标记由接收到的指令所识别的每个数据对象,该到期标签包括与每个相应的数据对象相关联的访问窗口的到期时间t。大数据存储环境145可以监视由大数据存储环境145所存储的数据对象的到期标签。然后,大数据存储环境145可以在由标记的数据对象的到期标签所指示的未来时间,回收被分配给标记的数据对象的存储空间。
举例来说,大数据存储环境145可以基于从服务器130所接收的指令,用相应的标签来标记客户调查存储库160和列数据库163的两列。然后,在检测到由与客户调查存储库相关联的到期标签以及与列数据库163的两列相关联的到期标签所指示的相应的时间时,大数据存储环境就可以删除客户调查存储库160和列数据库163的两列。注意,每个相应的数据对象的到期时间t先前由访问窗口确定单元来确定,并且可以包括每个数据对象的不同时间或相同时间。
在图1中,存储空间147-m在阶段B被示出,阶段B发生在由与客户调查存储库160和列数据库163的两列相关联的相应的标签中的每个标签所指示的时间已经到期之后的某个时间点。存储空间147-m显示通过删除客户服务存储库和列数据库的两列,来回收客户服务存储库和列数据库的两列。与客户服务存储库和列数据库的两列中的每个相关联的所回收的存储空间分别被显示为164B和163B。
图2是用于回收存储环境中的存储空间的处理200的流程图。为了方便,处理200将被描述为由位于一个或多个位置的一个或多个计算机的系统来进行。例如,可以根据本说明书适当地编程诸如系统100的系统以进行处理200。虽然可以在任何存储环境上进行处理200,但是为了图2的描述的目的,存储环境被称为大数据存储环境。
处理200开始于系统聚合210数据,该数据指示对被存储在大数据存储环境中的一个或多个数据对象的访问。例如,聚合描述对被存储在大数据存储环境中的数据对象的访问的数据可以包括,系统获得由与被存储在大数据存储环境中的每个数据对象相关联的一个或多个审计日志所存储的数据记录。系统可以通过向由大数据存储环境所维护的每个审计日志传送审计日志数据记录的请求,来获得由审计日志所存储的数据记录。响应于请求,系统可以接收由每个相应的审计日志所维护的一个或多个审计日志数据记录。系统可以接收审计日志数据记录,并且将所接收的审计日志数据记录存储在访问数据库中。每个相应的审计日志可以包括指示访问的数据对象、访问的类型和指示访问何时发生的时间戳的数据。系统可以使用来自每个审计日志的所聚合的数据记录,来确定由大数据存储环境所存储的一个或多个数据对象的访问窗口。
系统可以随时间传送审计日志数据记录的多个请求,以努力使访问数据库保持最新。例如,系统可以被配置为以预定间隔(例如,每小时、每天、每晚、每周等)周期性地从审计日志请求数据记录。替代地或另外地,系统可以被配置为根据需要(例如,响应于用户指令)从审计日志请求数据记录。替代地或另外地,系统可以被配置为在向用户设备的用户推荐被分配给一个或多个数据对象的存储空间可能适合于回收之前,从与一个或多个数据对象相关联的审计日志获得数据记录。
系统确定220与大数据存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本。系统可以使用考虑各种因素的一个或多个启发法,来确定大数据存储环境中的一个或多个数据对象的未来存储成本,各种因素诸如是数据对象的占用空间、数据对象的复制、包含数据对象的数据集的保留、存储价格的总体贬值、来自负责监督数据对象的实体的反馈。例如,负责监督数据对象的实体可以包括来自使用大数据存储环境来存储实体的大数据的实体的代理、雇员等,其组合等。
在一些实施方式中,预测一个或多个数据对象的未来存储成本可以包括,系统访问并且分析在阶段210被聚合并且被存储在访问数据库中的审计日志数据记录。系统可以基于在为数据对象而记录的历史访问中所检测到的趋势,来预测相应的数据对象的未来存储成本。举例来说,例如,如果所聚合的审计日志指示数据对象的占用空间正在增加,如果数据对象被例行地复制,如果包含数据对象的数据集被无限期地保留,其组合,等等,则可以预测数据对象的未来存储成本较高。
在一些实施方式中,系统可以通过使用考虑除了数据对象所需的存储空间量之外的因素的启发法来预测未来存储成本。例如,系统可以基于(i)预测数据对象所需的存储空间量和(ii)存储空间价格的估计贬值,来预测数据对象的未来存储成本。将数据对象的预测未来存储成本确定为(i)数据对象所需的未来存储空间量和(ii)存储空间价格的贬值的函数,在存储很大并且可以容易地添加附加存储的大数据存储环境145中提供更准确的存储成本估计。
系统确定230大数据存储环境中的多个数据对象中的每个数据对象的访问窗口。访问窗口可以包括可能访问数据对象的时间段。例如,所确定的访问窗口可以跨越从当前(或过去)时间延伸到未来时间t的时间段。未来时间t可以被称为访问窗口的到期日期。到期日期可以包括特定一天、特定时间、特定一天和时间等中的一个或多个。系统可以通过访问该访问数据库并且使用一个或多个启发法,以基于被聚合并且被存储在该访问数据库中的审计日志数据记录,来估计一个或多个数据对象的访问窗口,从而确定访问窗口。
在一些实施方式中,系统可以分析被存储在大数据存储环境中的每个数据对象的所聚合的审计日志数据记录,以检测数据对象访问的趋势。例如,系统可以分析与数据对象相关联的审计日志数据记录,以确定数据对象的创建日期。可以通过检测表示与数据对象相关联的第一写入操作的审计数据日志数据记录来确定创建日期。然后,系统可以基于由访问数据库中的一个或多个审计日志数据记录所指定的数据对象创建日期来预测数据对象的未来时间t,该未来时间t是数据对象的创建日期之后未来的预定时间量。在一个实施方式中,系统可以将数据对象的未来时间t设置为从数据对象的创建开始的四个月或更长时间。
系统通常可以为大数据存储环境中的每个数据对象确定访问窗口。然而,在一些实例中,单个数据对象的访问窗口可以被用来确定整个数据对象存储库的访问窗口。例如,如果数据对象存储库中的每个数据对象都与特定访问窗口到期时间相关联,则在任何特定时间点,最新访问窗口到期时间可以被用作整个数据对象存储库的访问窗口到期时间。
系统基于未来存储成本来识别240一个或多个第一数据对象,一个或多个第一数据对象是回收其存储的候选。在一些实施方式中,系统还可以基于访问窗口来识别一个或多个第一数据对象。例如,识别第一数据对象可以包括识别(i)与满足预定的未来存储成本阈值的未来存储成本相关联的一个或多个数据对象,和(ii)不太可能在数据对象的访问窗口之外被访问的一个或多个数据对象。预定的未来存储成本阈值可以被设置为成本阈值,该成本阈值平衡回收与一个或多个第一数据对象相关联的存储空间的估计收益和回收存储空间所必须花费的计算资源成本(例如,进行回收的CPU使用、存储器使用、带宽消耗、系统停机时间等)。在这样的实例中,如果数据对象的确定的未来存储成本满足预定的未来存储成本阈值,则回收与数据对象相关联的存储空间的收益大于回收与数据对象相关联的存储空间所花费的计算资源的成本。在这样的场景中,系统可以回收与数据对象相关联的存储空间。类似地,如果数据对象的确定的未来存储成本不满足预定的未来存储成本阈值,则回收与数据对象相关联的存储空间的收益小于回收与数据对象相关联的存储空间所花费的计算资源。在这样的实例中,系统可以不回收与数据对象相关联的存储空间。
系统可以基于如果删除一个或多个第一数据对象则可以回收的潜在未来存储成本、与访问窗口相关联的置信度分数、或两者,来对一个或多个第一数据对象进行分类。与访问窗口相关联的置信度分数可以指示在时间t的访问窗口结束到期之后将访问与访问窗口相关联的数据对象的可能性。
系统向用户设备提供包括提示250的通知,该提示250询问在相应的数据对象的访问窗口到期之后是否可以删除一个或多个第一数据对象。在一些实施方式中,系统仅对于第一数据对象的子集向用户生成通知。第一数据对象的子集可以包括最有可能被批准存储回收的一组数据对象。最有可能被回收的数据对象可以包括具有最大潜在成本节省的那些数据对象。用户设备的用户可以是来自使用大数据存储环境来存储实体的大数据的实体的代理、雇员、计算机系统(例如,人工智能代理)等。可以提供通知以用于在用户设备的用户界面中显示。
所显示的通知可以向用户提供机会以提供输入,该输入指示用户是否同意回收在通知中所识别的每个候选数据对象的存储。用户界面可以提供与一个或多个候选数据对象中的每个候选数据对象相关联的数据,以用于显示诸如数据对象标识符、预测的未来存储成本和置信度分数等,该置信度分数指示在候选数据对象的访问窗口到期之后,将访问数据对象的可能性。在一些实施方式中,用户界面还可以提供指示与每个候选数据对象相关联的访问窗口时间段的数据。
用户界面允许用户输入数据,该数据指示用户是否批准回收与通知相关联的每个相应的数据对象相关联的存储空间。例如,用户可以切换一组复选框以指示用户认为在每个候选数据对象的访问窗口到期时应该回收一个或多个候选数据对象中的哪些候选数据对象的存储,以及在每个候选数据对象的访问窗口到期时不应该回收一个或多个候选数据对象中的哪些候选数据对象的存储。在一些实施方式中,用户可以选择“提交”图标以经由网络将用户的选择作为用户反馈传送给服务器。替代地,用户可以通过选择“取消”图标来丢弃用户的选择。
系统接收用户的反馈,并且对于在向用户提示中所识别的第一数据对象中的每个数据对象,确定260从用户所接收的响应是否指示在与数据对象相关联的访问窗口到期之后可以删除数据对象。响应于在阶段260确定用户指示了可以在数据对象的访问窗口到期时删除数据对象,系统生成270指令,该指令指示大数据存储环境在访问窗口到期时就标记用于删除的数据对象。替代地,响应于在阶段260确定用户指示了不可以在数据对象的访问窗口到期时删除数据对象,系统调整被用来确定存储成本、访问窗口或两者的一个或多个启发法。
数据对象通常可以被描述为可以回收其存储空间的存储数据的单元。在大数据存储环境的情境中,数据对象可以包括结构化数据,诸如是可以包括多个列(例如,数百列、数千列、数百万列、或甚至更多)的数据库中的一个或多个列。作为另一示例,数据对象可以包括例如基于键值的存储系统中的存储桶。替代地或另外地,大数据存储环境还可以包括数据对象,该数据对象包括非结构化数据项目。例如,非结构化数据对象的示例可以包括一个或多个社交媒体帖子、一个或多个客户调查、一个或多个文档等。
存储库通常可以被描述为一组相似类型的多个数据对象。例如,大数据存储环境中的存储库可以包括结构化数据,诸如是多列(例如,数百列、数千列、数百万列、或甚至更多)的数据库。替代地或另外地,大数据存储环境还可以包括非结构化数据项目的存储库。例如,非结构化数据项目的存储库可以包括存储整个社交媒体帖子集合的存储空间、存储整个客户调查集合的存储空间、存储文档集合的存储空间等。
“大数据”被理解为描述如此大且复杂的数据集,使得传统的数据处理应用软件不足以存储、组织、搜索和分析数据集。通常,“大数据”当前可能具有在数百太字节、数拍字节、数艾字节、或更多的范围内测量的规模,并且包括结构化数据、非结构化数据、或两者。然而,随着时间的推移,“大数据”系统可能能够以甚至更大的规模存储数据。“大数据”存储环境可以包括一个或多个服务器计算机,一个或多个服务器计算机提供存储、维护、搜索、检索和分析“大数据”所必需的物理存储和软件工具。此外,这样的“大数据”存储环境包括用于进行上述操作以便从“大数据”推断出结论的软件工具。替代地或另外地,可以基于诸如体积、速度、种类和准确性的属性来表征“大数据”。
体积属性指代存储环境维护的数据量。例如,如果存储环境维护数量级为数太字节、拍字节、艾字节或更多的大体积数据,则存储环境更可能是“大数据”存储环境。
速度属性指代正在生成新数据项目的速率。例如,如果正在生成并且存储大量新数据项目,则存储环境更可能是“大数据”存储环境。例如,一些“大数据”存储环境可以为每个股票交易、每个社交媒体帖子、每个销售交易、每个完成的客户调查、库存数据的每个变化、所传送或接收的每个电子邮件消息等,生成或接收新数据。
种类属性指代生成被存储在存储环境中的不同类型的数据的不同类型的源的数量。例如,如果一组不同设备正在生成由存储环境所维护的数据,则存储环境更可能是“大数据”存储环境。例如,“大数据”存储环境可以维护数据,该数据由一个或多个服务器计算机、台式计算机、膝上型计算机、智能电话、平板电脑、连接设备、智能手表、其他可穿戴设备、RFID标签、其他传感器等生成。替代地或另外地,例如,如果存储环境维护不同类型的数据,诸如是由事件处理系统所检测的事件数据、金融交易数据、销售数据、库存数据、社交媒体帖子、安全相机视频或图像、健康数据、设备位置信息、购买位置数据等,则存储环境更可能是“大数据”存储环境。
准确性属性指代被存储在存储环境中的数据的可靠性。例如,如果由存储环境所维护的数据包括可靠性不同的数据,则存储环境更可能是“大数据”存储环境。“大数据”的可靠性可能由于由“大数据”存储环境所接收和维护的大体积未过滤的数据而变化。
本说明书中所描述的主题、功能操作和处理的实施例可以以数字电子电路、有形体现的计算机软件或固件、计算机硬件来实施,包括本说明书中所公开的结构及其结构等同物,或它们中的一个或多个的组合。本说明书中所描述的主题的实施例可以被实施为一个或多个计算机程序,即,在有形非易失性程序载体上所编码的一个或多个计算机程序指令的模块,用于由数据处理装置执行或控制数据处理装置的操作。替代地或另外地,可以在例如机器生成的电、光或电磁信号的人工生成的传播信号上编码程序指令,该信号被生成以编码信息以用于传输到合适的接收器装置由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理装置”包含用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。装置可以包括专用逻辑电路,例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如是构成处理器固件的代码、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合。
计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言来编写,编程语言包括编译或解释语言、或者声明或程序语言,并且计算机程序可以以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分中(例如,被存储在标记语言文档中的一个或多个脚本)、在专用于所讨论的程序的单个文件中,或在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在一个计算机上或者在位于一个站点或被分布在多个站点并且通过通信网络互连的多个计算机上执行。
本说明书中所描述的处理和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机来进行,以通过对输入数据进行操作并且生成输出来进行功能。处理和逻辑流也可以由专用逻辑电路来进行,并且装置也可以被实施为专用逻辑电路,专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合于执行计算机程序的计算机可以是基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于进行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,或被可操作地耦接以从用于存储数据的一个或多个大容量存储设备接收数据和/或将数据转移到用于存储数据的一个或多个大容量存储设备,用于存储数据的一个或多个大容量存储设备例如是磁盘、磁光盘或光盘。但是,计算机不需要这样的设备。此外,计算机可以被嵌入在另一设备中,仅举几例,例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如是EPROM、EEPROM和闪存设备;磁盘,例如是内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中所描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的例如CRT(阴极射线管)或LCD(液晶显示器)监视器的显示设备,以及用户可以向计算机提供输入的键盘和例如鼠标或轨迹球的指示设备。其他种类的设备也可以被用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如是视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从网页浏览器所接收的请求,向用户的客户端设备上的网页浏览器发送网页。
本说明书中所描述的主题的实施例可以在计算系统中实施,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有图形用户界面或网页浏览器的客户端计算机的前端组件,用户可以通过图形用户界面或网页浏览器与本说明书中所描述的主题的实施方式进行交互,或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的例如通信网络的数字数据通信互连。通信网络的示例包括局域网(“LAN”)和例如因特网的广域网(“WAN”)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对可以要求保护的范围的限制,而是作为特定于特定实施例的特征的描述。在单独实施例的情境中,在本说明书中所描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的情境中所描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合实施。此外,虽然上面的特征可以被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序示出了操作,但是这不应该被理解为要求以所示出的特定顺序或以连续顺序进行这样的操作,或者进行所有示出的操作,以实现期望的结果。在某些情形下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应该被理解为在所有实施例中都要求这样的分离,并且应该理解的是,所描述的程序组件和系统通常可以被集成在单个软件产品中或被打包为多个软件产品。
已经描述了本主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中所记载的动作可以以不同的顺序进行并且仍然实现期望的结果。作为一个示例,附图中所示出的处理不一定要求所示出的特定顺序或连续顺序来实现期望的结果。在某些实施方式中,多任务处理和并行处理可能是有利的。可以提供其他步骤,或者可以从所描述的处理中消除步骤。因此,其他实施方式在以下权利要求的范围内。

Claims (20)

1.一种计算机实施的方法,其特征在于,包括:
由一个或多个服务器计算机,聚合描述对被存储在存储环境中的数据对象的访问的数据;
由所述一个或多个服务器计算机,确定与所述存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本;
由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,每个访问窗口在未来具有相应的到期日期;
由所述一个或多个服务器计算机,识别一个或多个第一数据对象,所述第一数据对象中的每个第一数据对象是所确定的未来存储成本满足预定的未来存储成本阈值的数据对象;
对于每个所识别的第一个数据对象:
由所述一个或多个服务器计算机,向用户设备提供通知,所述通知请求来自用户的反馈,所述反馈指示在所述访问窗口到期之后是否可以删除所述数据对象;
由所述一个或多个服务器计算机,从所述用户设备接收指示在所述访问窗口到期之后是否可以删除所述数据对象的数据;以及
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成在所述访问窗口到期时使得删除所述数据对象的指令。
2.根据权利要求1所述的计算机实施的方法,其特征在于,所述方法还包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成指示所述存储环境标记在所述访问窗口到期时删除的所述数据对象的指令。
3.根据权利要求1所述的计算机实施的方法,其特征在于,所述方法还包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后不可以删除所述数据对象的数据,调整被用来确定所述访问窗口的启发法。
4.根据权利要求1所述的计算机实施的方法,其特征在于,由所述一个或多个服务器计算机,聚合描述对被存储在所述存储环境中的所述数据对象的访问的数据,包括:
由所述一个或多个服务器计算机,从由所述存储环境所维护的一个或多个审计日志获得审计日志数据记录,其中每个审计日志数据记录包括(i)识别所访问的数据对象的数据,和(ii)指示何时发生了对所述数据对象的所述访问的时间戳的数据;以及
由所述一个或多个服务器计算机,将所获得的所述审计日志数据记录存储在数据库中。
5.根据权利要求4所述的计算机实施的方法,其特征在于,由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,包括:
由所述一个或多个服务器计算机,分析所述数据库中的所述审计日志数据,以确定可能访问所述数据对象的时间段。
6.根据权利要求1所述的计算机实施的方法,其特征在于,由所述一个或多个服务器计算机,确定与所述存储环境中的所述多个数据对象中的每个数据对象相关联的未来存储成本,包括:
使用一个或多个启发法,基于所预测的未来存储价格贬值来估计所述数据对象的所述潜在未来存储成本。
7.根据权利要求1所述的计算机实施的方法,其特征在于,还包括:
由所述一个或多个服务器计算机,基于(i)可以为每个相应的数据对象回收的所述未来存储成本,和(ii)指示是否将在所述访问窗口之外访问每个相应的数据对象的置信度分数,来对所述一个或多个第一数据对象进行分类。
8.一种系统,其特征在于,包括:
一个或多个计算机和存储指令的一个或多个存储设备,当由一个或多个计算机执行时,所述指令可操作为使得所述一个或多个计算机进行操作,所述操作包括:
由一个或多个服务器计算机,聚合描述对被存储在存储环境中的数据对象的访问的数据;
由所述一个或多个服务器计算机,确定与所述存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本;
由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,每个访问窗口在未来具有相应的到期日期;
由所述一个或多个服务器计算机,识别一个或多个第一数据对象,所述第一数据对象中的每个第一数据对象是所确定的未来存储成本满足预定的未来存储成本阈值的数据对象;
对于每个所识别的第一个数据对象:
由所述一个或多个服务器计算机,向用户设备提供通知,所述通知请求来自用户的反馈,所述反馈指示在所述访问窗口到期之后是否可以删除所述数据对象;
由所述一个或多个服务器计算机,从所述用户设备接收指示在所述访问窗口到期之后是否可以删除所述数据对象的数据;以及
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成在所述访问窗口到期时使得删除所述数据对象的指令。
9.根据权利要求8所述的系统,其特征在于,所述操作包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成指示所述存储环境标记在所述访问窗口到期时删除的所述数据对象的指令。
10.根据权利要求8所述的系统,其特征在于,所述操作包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后不可以删除所述数据对象的数据,调整被用来确定所述访问窗口的启发法。
11.根据权利要求8所述的系统,其特征在于,由所述一个或多个服务器计算机,聚合描述对被存储在所述存储环境中的所述数据对象的访问的数据,包括:
由所述一个或多个服务器计算机,从由所述存储环境所维护的一个或多个审计日志获得审计日志数据记录,其中每个审计日志数据记录包括(i)识别所访问的数据对象的数据,和(ii)指示何时发生了对所述数据对象的所述访问的时间戳的数据;以及
由所述一个或多个服务器计算机,将所获得的所述审计日志数据记录存储在数据库中。
12.根据权利要求11所述的系统,其特征在于,由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,包括:
由所述一个或多个服务器计算机,分析所述数据库中的所述审计日志数据,以确定可能访问所述数据对象的时间段。
13.根据权利要求8所述的系统,其特征在于,由所述一个或多个服务器计算机,确定与所述存储环境中的所述多个数据对象中的每个数据对象相关联的未来存储成本,包括:
使用一个或多个启发法,基于所预测的未来存储价格贬值来估计所述数据对象的所述潜在未来存储成本。
14.根据权利要求8所述的系统,其特征在于,所述操作还包括:
由所述一个或多个服务器计算机,基于(i)可以为每个相应的数据对象回收的所述未来存储成本,和(ii)指示是否将在所述访问窗口之外访问每个相应的数据对象的置信度分数,来对所述一个或多个第一数据对象进行分类。
15.一种编码有指令的计算机可读介质,其特征在于,当由一个或多个计算机执行时,所述指令使得所述一个或多个计算机进行操作,所述操作包括:
由一个或多个服务器计算机,聚合描述对被存储在存储环境中的数据对象的访问的数据;
由所述一个或多个服务器计算机,确定与所述存储环境中的多个数据对象中的每个数据对象相关联的未来存储成本;
由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,每个访问窗口在未来具有相应的到期日期;
由所述一个或多个服务器计算机,识别一个或多个第一数据对象,所述第一数据对象中的每个第一数据对象是所确定的未来存储成本满足预定的未来存储成本阈值的数据对象;
对于每个所识别的第一个数据对象:
由所述一个或多个服务器计算机,向用户设备提供通知,所述通知请求来自用户的反馈,所述反馈指示在所述访问窗口到期之后是否可以删除所述数据对象;
由所述一个或多个服务器计算机,从所述用户设备接收指示在所述访问窗口到期之后是否可以删除所述数据对象的数据;
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成在所述访问窗口到期时使得删除用于删除的所述数据对象的指令。
16.根据权利要求15所述的计算机可读介质,其特征在于,所述操作包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后可以删除所述数据对象的数据,生成指示所述存储环境标记在所述访问窗口到期时删除的所述数据对象的指令。
17.根据权利要求15所述的计算机可读介质,其特征在于,所述操作包括:
响应于从所述用户设备接收到指示在所述访问窗口到期之后不可以删除所述数据对象的数据,调整被用来确定所述访问窗口的启发法。
18.根据权利要求15所述的计算机可读介质,其特征在于,由所述一个或多个服务器计算机,聚合描述对被存储在所述存储环境中的所述数据对象的访问的数据,包括:
由所述一个或多个服务器计算机,从由所述存储环境所维护的一个或多个审计日志获得审计日志数据记录,其中每个审计日志数据记录包括(i)识别所访问的数据对象的数据,和(ii)指示何时发生了对所述数据对象的所述访问的时间戳的数据;以及
由所述一个或多个服务器计算机,将所获得的所述审计日志数据记录存储在数据库中。
19.根据权利要求18所述的计算机可读介质,其特征在于,由所述一个或多个服务器计算机,确定所述存储环境中的所述多个数据对象中的每个数据对象的访问窗口,包括:
由所述一个或多个服务器计算机,分析所述数据库中的所述审计日志数据,以确定可能访问所述数据对象的时间段。
20.根据权利要求15所述的计算机可读介质,其特征在于,由所述一个或多个服务器计算机,确定与所述存储环境中的所述多个数据对象中的每个数据对象相关联的未来存储成本,包括:
使用一个或多个启发法,基于所预测的未来存储价格贬值来估计所述数据对象的所述潜在未来存储成本。
CN201880007770.5A 2017-05-02 2018-01-16 用于数据存储的垃圾收集 Active CN110546621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311380376.5A CN117271385A (zh) 2017-05-02 2018-01-16 用于数据存储的垃圾收集

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GR20170100197 2017-05-02
GR20170100197 2017-05-02
US15/614,871 2017-06-06
US15/614,871 US10133658B1 (en) 2017-05-02 2017-06-06 Garbage collection for data storage
PCT/US2018/013827 WO2018203938A1 (en) 2017-05-02 2018-01-16 Garbage collection for data storage

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311380376.5A Division CN117271385A (zh) 2017-05-02 2018-01-16 用于数据存储的垃圾收集

Publications (2)

Publication Number Publication Date
CN110546621A true CN110546621A (zh) 2019-12-06
CN110546621B CN110546621B (zh) 2023-11-10

Family

ID=64013655

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311380376.5A Pending CN117271385A (zh) 2017-05-02 2018-01-16 用于数据存储的垃圾收集
CN201880007770.5A Active CN110546621B (zh) 2017-05-02 2018-01-16 用于数据存储的垃圾收集

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311380376.5A Pending CN117271385A (zh) 2017-05-02 2018-01-16 用于数据存储的垃圾收集

Country Status (4)

Country Link
US (3) US10133658B1 (zh)
EP (2) EP4343559A3 (zh)
CN (2) CN117271385A (zh)
WO (1) WO2018203938A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913913A (zh) * 2020-08-07 2020-11-10 星辰天合(北京)数据科技有限公司 访问请求的处理方法和装置
CN111936961A (zh) * 2018-04-02 2020-11-13 美光科技公司 基于性能目标对存储器系统的优化
CN112286460A (zh) * 2020-06-11 2021-01-29 谷歌有限责任公司 基于生存者寿命预测来优化垃圾收集

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893265B2 (en) * 2017-05-02 2024-02-06 Google Llc Garbage collection for data storage
US10133658B1 (en) * 2017-05-02 2018-11-20 Google Llc Garbage collection for data storage
JP2022050219A (ja) * 2020-09-17 2022-03-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11943294B1 (en) * 2020-09-30 2024-03-26 Amazon Technologies, Inc. Storage medium and compression for object stores
US11966597B1 (en) 2022-09-29 2024-04-23 Amazon Technologies, Inc. Multi-domain configurable data compressor/de-compressor

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870725A (en) * 1995-08-11 1999-02-09 Wachovia Corporation High volume financial image media creation and display system and method
US20090037479A1 (en) * 2007-07-31 2009-02-05 Christian Bolik Apparatus, system, and method for analyzing a file system
US20120029975A1 (en) * 2010-07-30 2012-02-02 International Business Machines Corporation Return on investment analysis tool for storage systems
US8311863B1 (en) * 2009-02-24 2012-11-13 Accenture Global Services Limited Utility high performance capability assessment
US20140143221A1 (en) * 2012-11-16 2014-05-22 Fritz Hoffmeister Data Access Logging
US20150012351A1 (en) * 2013-07-08 2015-01-08 Innovyx, Inc. Email marketing campaign auditor systems
US20160292189A1 (en) * 2015-03-31 2016-10-06 Advanced Digital Broadcast S.A. System and method for managing content deletion
US20170091256A1 (en) * 2015-09-29 2017-03-30 Bank Of America Corporation Record Retention and Deletion

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US10642663B2 (en) 2014-09-10 2020-05-05 Oracle International Corporation Coordinated garbage collection in distributed systems
US9411539B2 (en) * 2014-09-24 2016-08-09 International Business Machines Corporation Providing access information to a storage controller to determine a storage tier for storing data
US10296229B2 (en) * 2015-06-18 2019-05-21 Hitachi, Ltd. Storage apparatus
US10339044B2 (en) * 2016-03-30 2019-07-02 Sandisk Technologies Llc Method and system for blending data reclamation and data integrity garbage collection
US9830107B2 (en) * 2016-04-29 2017-11-28 Netapp, Inc. Drive wear-out prediction based on workload and risk tolerance
US10133658B1 (en) * 2017-05-02 2018-11-20 Google Llc Garbage collection for data storage

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870725A (en) * 1995-08-11 1999-02-09 Wachovia Corporation High volume financial image media creation and display system and method
US20090037479A1 (en) * 2007-07-31 2009-02-05 Christian Bolik Apparatus, system, and method for analyzing a file system
US8311863B1 (en) * 2009-02-24 2012-11-13 Accenture Global Services Limited Utility high performance capability assessment
US20120029975A1 (en) * 2010-07-30 2012-02-02 International Business Machines Corporation Return on investment analysis tool for storage systems
US20140143221A1 (en) * 2012-11-16 2014-05-22 Fritz Hoffmeister Data Access Logging
US20150012351A1 (en) * 2013-07-08 2015-01-08 Innovyx, Inc. Email marketing campaign auditor systems
US20160292189A1 (en) * 2015-03-31 2016-10-06 Advanced Digital Broadcast S.A. System and method for managing content deletion
US20170091256A1 (en) * 2015-09-29 2017-03-30 Bank Of America Corporation Record Retention and Deletion

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111936961A (zh) * 2018-04-02 2020-11-13 美光科技公司 基于性能目标对存储器系统的优化
CN112286460A (zh) * 2020-06-11 2021-01-29 谷歌有限责任公司 基于生存者寿命预测来优化垃圾收集
CN112286460B (zh) * 2020-06-11 2024-03-12 谷歌有限责任公司 基于生存者寿命预测来优化垃圾收集
CN111913913A (zh) * 2020-08-07 2020-11-10 星辰天合(北京)数据科技有限公司 访问请求的处理方法和装置
CN111913913B (zh) * 2020-08-07 2024-02-13 北京星辰天合科技股份有限公司 访问请求的处理方法和装置

Also Published As

Publication number Publication date
US11307978B2 (en) 2022-04-19
US20180322040A1 (en) 2018-11-08
US20190087320A1 (en) 2019-03-21
EP3555750B1 (en) 2024-03-20
EP4343559A3 (en) 2024-06-26
EP3555750A1 (en) 2019-10-23
CN110546621B (zh) 2023-11-10
EP4343559A2 (en) 2024-03-27
US10621079B2 (en) 2020-04-14
US20200371907A1 (en) 2020-11-26
CN117271385A (zh) 2023-12-22
WO2018203938A1 (en) 2018-11-08
US10133658B1 (en) 2018-11-20

Similar Documents

Publication Publication Date Title
CN110546621B (zh) 用于数据存储的垃圾收集
US20170286429A1 (en) Computer System for Automated Assessment at Scale of Topic-Specific Social Media Impact
US20180322175A1 (en) Methods and systems for analyzing entity performance
US9058631B2 (en) Method and system for e-commerce transaction data accounting
EP2884439A1 (en) Methods and systems for analyzing entity performance
US10169730B2 (en) System and method to present a summarized task view in a case management system
EP3686756A1 (en) Method and apparatus for grouping data records
US11934415B2 (en) Computer-based systems for dynamic data discovery and methods thereof
Sharma et al. A Study on the Relationship Between Cloud Computing and Data Mining in Business Organizations
Babu et al. Framework for Predictive Analytics as a Service using ensemble model
US20150106158A1 (en) Method and apparatus for providing folksonomic object scoring
US20220138343A1 (en) Method of determining data set membership and delivery
US11893265B2 (en) Garbage collection for data storage
US20240160375A1 (en) Garbage collection for data storage
US20150073902A1 (en) Financial Transaction Analytics
US20220215332A1 (en) Using machine learning to predict impacts to a supply chain by analyzing current events
US20230066770A1 (en) Cross-channel actionable insights
Ranjan et al. Role of Data Analytics in Today's World
Ntakou et al. Analysis of the potential of selected big data repositories as data sources for official statistics
CN114742648A (zh) 产品推送方法、装置、设备及介质
CN114897567A (zh) 票据信息处理方法、装置、介质及设备
CN117541884A (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