CN116126235A - 基于数据热度的分布式对象存储生命周期管理系统及方法 - Google Patents
基于数据热度的分布式对象存储生命周期管理系统及方法 Download PDFInfo
- Publication number
- CN116126235A CN116126235A CN202211680378.1A CN202211680378A CN116126235A CN 116126235 A CN116126235 A CN 116126235A CN 202211680378 A CN202211680378 A CN 202211680378A CN 116126235 A CN116126235 A CN 116126235A
- Authority
- CN
- China
- Prior art keywords
- data
- life cycle
- heat
- cold
- user
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Testing Resistance To Weather, Investigating Materials By Mechanical Methods (AREA)
Abstract
本发明公开了基于数据热度的分布式对象存储生命周期管理系统及方法,属于对象存储技术领域,要解决的技术问题为如何克服在存储桶设置生命周期的缺点。包括如下步骤:在用户层设置生命周期策略;统计每个对象的访问频次,并将访问频次记录到对象元数据中;基于生命周期策略检查对象并筛选冷数据;对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
Description
技术领域
本发明涉及对象存储技术领域,具体地说是基于数据热度的分布式对象存储生命周期管理系统及方法。
背景技术
随着大数据、云计算等技术的发展,媒资、医疗、金融等各大行业对于海量数据的存储需求越来越迫切,传统的文件系统、块存储在面对海量数据的支撑时逐渐显得乏力。而扁平化数据组织的对象存储的优势逐渐显现,各大行业对于对象存储的应用越来越广泛。
通常,数据的生命周期分为生成期、活动期、衰退期、归档期和销毁期五个阶段,反应了数据由热数据到温数据,再到冷数据的生命变化历程,准确有效的鉴别冷热数据,对于热门数据推荐、提升存储效率有着至关重要的作用,ICDE 2018的论文LeanStore:In-Memory Data Management Beyond Main Memory提出了一种Hierarchical+Randomized逐出方法,随机挑选一部分数据作为待确认冷数据但依然保留在内存中,并跟踪这些数据,若跟踪时间段内数据被访问则为热数据,否则为冷数据被删除。对象存储中的数据同样符合该生命周期的变化过程,比如医疗数据归档、视频监控存储等应用场景中,对象存储中存储的对象数据是周期性持续增长的,但是并不需要持续性的保留,这就需要对这些对象进行及时的清理以释放存储空间,或者移动到其他存储设备进行长期保存。因此对象存储引入生命周期功能(LifeCycle),根据设置在桶上的生命周期,在指定的时间节点将对象进行归档或彻底删除,该生命周期功能存在以下缺点:
1、策略配置在桶上,若多个桶配置相同策略需要依次设置;
2.、采用遍历的方式依次遍历检查每个桶中的每个对象,消耗了大量的计算资源,效率极低;
3、以桶上生命周期策略中的日期为单一的执行依据,执行时不考虑对象的热度,极易造成对热数据误删的现象。
如何克服在存储桶设置生命周期的缺点,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于数据热度的分布式对象存储生命周期管理系统及方法,来解决的问题。
第一方面,本发明一种基于数据热度的分布式对象存储生命周期管理系统,包括:
生命周期设置模块,所述生命周期设置模块用于支持用户设置、查看和删除生命周期策略,用于将设置的生命周期策略写入用户元数据,并将设置生命周期的用户写入log池,所述生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述;
数据热度统计模块,所述数据热度统计模块用于统计每个对象的访问频次,并将访问频次记录到对象元数据中;
生命周期检查模块,所述生命周期检查模块用于从log池中读取设置生命周期策略的用户,对于每个用户,用于从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并根据对象的访问频次进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据;
生命周期执行模块,所述生命周期执行模块用于对生命周期检查模块筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
作为优选,所述作用的存储桶列表以及作用的对象列表均包括列举和正则表达式形式;
所述数据热度阈值包括每天、每周或其它设定时间段的数据热度阈值;
所述生命周期策略存储于用户的attr中,所述attr为元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中;
设置生命周期策略的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中。
作为优选,所述对象的访问为关于对象及其子资源的操作请求,包括对象下载、对象元数据设置、对象元数据读取、对象tag设置、对象tag读取,所述数据采集模块用于基于如下频次记录规则进行对象访问频次的统计:
对象及其子资源的操作请求每发生一次,对象的访问频次记录数据增加一次,同时,对象以自然天为单位分别进行记录,共记录一周的访问频次作为冷热数据的额初步判定依据;
所述频次记录数据在对象上传时产生、在对象删除时进行销毁、在对象被覆盖时重置。
作为优选,所述生命周期检查模块用于执行如下:
读取log池中所有配置过生命周期策略的用户;
对于每个目标用户,读取记录在用户元数据部分的生命周期策略,所述生命周期策略中记录有其作用的存储桶;
对于每个目标存储桶,开启单线程进行处理,并在每个目标存储桶标记所述存储桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理所述存储桶的生命周期;
对目标存储桶进行单线程处理时,对于生命周期策略指定的作用对象执行如下:
检查所述对象是否达到生命周期策略中指定的预定时间段;
如果达到,通过如下操作检查所述对象的数据热度:
从对象元数据中获取所述对象在预定时间段内访问频次;
计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据;
计算对象在预定时间段内访问频次的加权平均值,所述计算公式为:
某天的数据热度计算公式:
H=f
预定时间段内的数据热度计算公式:
其中,t>1;
H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
作为优选,所述生命周期执行模块用于执行如下:
对于生命周期检查模块筛选出的作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
第二方面,本发明一种基于数据热度的分布式对象存储生命周期管理方法,基于如第一方面任一项所述的基于数据热度的分布式对象存储生命周期管理系统对分布式存储对象进行生命周期管理,所述方法包括如下步骤:
在用户层设置生命周期策略:将用户设置的生命周期策略写入用户元数据,并将设置生命周期策略的用户写入log池,用户设置的生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述;
统计每个对象的访问频次,并将访问频次记录到对象元数据中;
基于生命周期策略检查对象并筛选冷数据:从log池中读取设置生命周期策略的用户,对于每个用户,从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据;
对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
作为优选,所述作用的存储桶列表以及作用的对象列表均包括列举和正则表达式形式;
所述数据热度阈值包括每天、每周或其它设定时间段的数据热度阈值;
所述生命周期策略存储于用户的attr中,所述attr为元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中;
设置生命周期策略的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中。
作为优选,所述对象的访问为关于对象及其子资源的操作请求,包括对象下载、对象元数据设置、对象元数据读取、对象tag设置、对象tag读取;
基于如下频次记录规则进行对象访问频次的统计:
对象及其子资源的操作请求每发生一次,对象的访问频次记录数据增加一次,同时,对象以自然天为单位分别进行记录,共记录预定时间段内的访问频次作为冷热数据筛选的判定依据;
所述频次记录数据在对象上传时产生、在对象删除时进行销毁、在对象被覆盖时重置。
作为优选,基于生命周期策略检查对象并筛选冷数据,包括如下步骤:
读取log池中所有配置过生命周期策略的用户;
对于每个目标用户,读取记录在用户元数据部分的生命周期策略,所述生命周期策略中记录有其作用的存储桶;
对于每个目标存储桶,开启单线程进行处理,并在每个目标存储桶标记所述存储桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理所述存储桶的生命周期;
对目标存储桶进行单线程处理时,对于生命周期策略指定的作用对象执行如下:
检查所述对象是否达到生命周期策略中指定的预定时间段;
如果达到,通过如下操作检查所述对象的数据热度:
从对象元数据中获取所述对象在预定时间段内访问频次;
计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据;
计算对象在预定时间段内访问频次的加权平均值,所述计算公式为:
某天的数据热度计算公式:
预定时间段内的数据热度计算公式:
其中,t>1;
H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
作为优选,对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除,包括如下步骤:
对于筛选出作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
本发明的基于数据热度的分布式对象存储生命周期管理系统及方法具有以下优点:
1、通过将生命周期策设置在用户上,可以一次性对用户的多个桶生效,并据此遍历策略生效的桶,避免了对策略不生效桶的无效访问;
2、在统计对象的访问频次时,统计每个对象的最近一段时间内每天的访问频次,并据此对数据的热度进行判断;在进行对象地数据热度判断时,通过访问频次加权平均值计算其数据热度,对筛选作为冷数据的对象进行进一步跟踪,根据Hierarchical+Randomized逐出方法判断对象是否为冷数据,以上两步都判为冷数据,则该对象确认为冷数据并执行删除,有效防止生命周期策略误删热数据的现象。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1一种基于数据热度的分布式对象存储生命周期管理系统的工作流程框图;
图2为实施例1一种基于数据热度的分布式对象存储生命周期管理系统中存储网关多活时一个存储桶只有一个网关处理的示意图;
图3为实施例1一种基于数据热度的分布式对象存储生命周期管理系统中访问频次统计与数据热度计算的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于数据热度的分布式对象存储生命周期管理系统及方法,用于解决如何克服在存储桶设置生命周期的缺点的技术问题。
实施例1:
本发明一种基于数据热度的分布式对象存储生命周期管理系统,包括生命周期设置模块、数据热度统计模块、生命周期检查模块以及生命周期执行模块。
生命周期设置模块用于支持用户设置、查看和删除生命周期策略,用于将设置的生命周期策略写入用户元数据,并将设置生命周期的用户写入log池,所述生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述。
本实施例中,生命周期设置模块提供用户设置生命周期策略的API接口,并提供查看和删除生命周期策略的接口,从而支持用户层生命周期策略的编辑操作。
作用存储桶列表和作用对象列表包括但不限于一一列举、正则表达式等形式,所述热度阈值包括但不限于每天、每周或其他任意时间段的数据热度等形式;所述用户生命周期策略保存在用户的attr中,即元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中。此外,设置过生命周期的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中,用于用户生命周期执行模块检测遍历。
通过将所有设置过生命周期的用户统一记录在log池的users.lc命名空间下,每次执行可直接遍历这些用户,然后在用户信息中获取生命周期策略的具体内容;生命周期策略中包含了生效的桶列表,直接只对桶中对象进行相应的策略操作;以上避免了未设置生命周期用户和生命周期作用范围外桶的额外检查,针对目标用户的目标桶上对象直接进行检查,提高效率。
数据热度统计模块用于统计每个对象的访问频次,并将访问频次记录到对象元数据中。
本实施例中,数据热度统计模块负责统计每个对象的访问频次,所述访问频次可以是每天、每周或其他时间段内的访问次数等。对象上传时,相应的建立并初始化其访问频次记录数据,并存储在对象的元数据中,该元数据属于对用户透明的元数据,用户在下载对象和查询对象元数据时无法查看到此元数据,仅为判断该对象的热度提供依据。上述频次记录数据在对象上传时产生,对象删除时进行销毁,对象被覆盖时重置。所述访问包括但不限于对象下载、对象元数据设置、元数据读取、对象tag设置、对象tag读取等关于对象及其子资源的操作请求,上述对象及其子资源的操作请求每发生一次,该对象的访问频次记录数据便增加一次,同时该数据以自然天为单位进行分别记录,共记录一周的访问频次,作为冷热数据筛选的判定依据。
生命周期检查模块用于从log池中读取设置生命周期策略的用户,对于每个用户,用于从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并根据对象的访问频次进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据。
本实施例中,用户生命周期检查模块负责根据用户生命周期策略进行检查并执行相应操作。
首先,如图1所示,该用户生命周期检查模块读取log池{zone}.rgw.log中命名空间为users.lc中各个对象中记录的所有配置过生命周期的用户,对于某一个用户,读取记录在用户元数据部分的生命周期策略,所述策略中记录着该策略所作用的存储桶,如图2所示,对于每一个存储桶,开启单独线程进行处理,并且在目标桶上标记该桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理该桶的生命周期。
本申请中,对于每个存储桶的单一处理线程,检查所述对象是否达到生命周期策略中指定的预定时间段,如果达到,则检查所述对象的数据热度。具体执行为:
(1)检查所述对象是否达到生命周期策略中指定的预定时间段;
(2)如果达到,通过如下操作检查所述对象的数据热度:
(3)从对象元数据中获取所述对象在预定时间段内访问频次;
(4)计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
(5)将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据。
上述操作流程中,对于作用存储桶的单一处理线程,根据生命周期策略中指定的作用对象,比如作用对象指定为某个前缀的所有对象,通过指定前缀的方式列举桶中对象,然后对列举出来的对象进行检查,所述检查首先检查该对象是否达到生命周期指定的存在天数,若达到指定天数,然后判断其数据热度。在数据热度判断过程中,首先在该对象的attr中获取该对象最近一段时间的访问频次,并以此计算该数据的热度,并判断该数据为热数据还是冷数据,若为热数据,则保留该对象不作处理,若为其他类型对象,则记录该对象并通知生命周期处理模块。
由牛顿冷却定律可知,时间越长,物体温度越接近周围环境,变化幅度越小。数据的热度同样如此,越靠近当前时间,其访问频次越能反应数据热度,所以数据热度计算并非简单的计算数据访问的次数,而是计算数据每天访问频次的加权平均值,所述加权值可根据时间衰减函数确定:越接近当前时间,其权重越高,反之权重越低。同时,计算不同时间段内的热度计算方法略有差别:如公式(1)所示,当计算一天的数据热度时,其热度即为其访问频次;如公式(2)所示,当计算一段时间的数据热度时,其热度等于每天数据热度的加权平均值。然后通过数据热度与阈值进行比较,将该数据分为某时间段内的冷数据或热数据。
某天的数据热度计算公式:
H=f (1)
一段时间的数据热度计算公式:
t>1
其中H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
生命周期执行模块用于对生命周期检查模块筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
生命周期执行模块用于执行如下:
本实施例中,生命周期执行模块用于执行如下操作:
(1)对于生命周期检查模块筛选出的作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
(2)对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
本实施例的一种基于数据热度的分布式对象存储生命周期管理系统,将生命周期策略统一存放在用户元数据中管理,并将设置过生命周期的用户进行记录,在生命周期检查执行阶段直接对所述用户进行的作用桶、对象就行检查,避免了对未设置生命周期策略用户的无效操作,提高执行效率。
本实施例系统引入对象热度统计模块,涉及对象及对象子资源的操作均纳入统计范围,其中访问频率高的对象其热度高,不进行生命周期操作,反之,对象热度较低,则按照生命周期策略对其进行转储或移除。
本实施例生命周期检查模块中引入Hierarchical+Randomized逐出方法的筛选阶段,生命周期检测模块筛选出的冷数据记录下来,然后生命周期执行阶段对记录下来的对象进行一段时间的跟踪,在跟踪期结束后,若对象仍为冷数据则被转储或删除,否则进行保留且不再跟踪。以上两个阶段均对对象热度进行校验,并保留热度高的对象,有效避免访问频繁的数据被误删除。
本实施例系统中对象的数据热度并非其某段时间的访问频次之和,而是访问频次的加权和,其权重可根据时间衰减函数进行计算,其中越靠近当前时间,其访问频次越能反应其热度值,权重也就越高。
实施例2:
本发明一种基于数据热度的分布式对象存储生命周期管理方法,基于实施例1公开的系统对分布式存储对象进行生命周期管理,该方法包括如下步骤:
步骤S100、在用户层设置生命周期策略:将用户设置的生命周期策略写入用户元数据,并将设置生命周期策略的用户写入log池,用户设置的生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述。
步骤S100中设置的生命周期策略中,指定作用存储桶列表和作用对象列表包括但不限于一一列举、正则表达式等形式,所述热度阈值包括但不限于每天、每周或其他任意时间段的数据热度等形式;所述用户生命周期策略保存在用户的attr中,即元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中。此外,设置过生命周期的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中,用于用户生命周期执行模块检测遍历。
通过将所有设置过生命周期的用户统一记录在log池的users.lc命名空间下,每次执行可直接遍历这些用户,然后在用户信息中获取生命周期策略的具体内容;生命周期策略中包含了生效的桶列表,直接只对桶中对象进行相应的策略操作;以上避免了未设置生命周期用户和生命周期作用范围外桶的额外检查,针对目标用户的目标桶上对象直接进行检查,提高效率。
步骤S200、统计每个对象的访问频次,并将访问频次记录到对象元数据中。
本实施例步骤S200统计每个对象的访问频次,所述访问频次可以是每天、每周或其他时间段内的访问次数等。对象上传时,相应的建立并初始化其访问频次记录数据,并存储在对象的元数据中,该元数据属于对用户透明的元数据,用户在下载对象和查询对象元数据时无法查看到此元数据,仅为判断该对象的热度提供依据。上述频次记录数据在对象上传时产生,对象删除时进行销毁,对象被覆盖时重置。所述访问包括但不限于对象下载、对象元数据设置、元数据读取、对象tag设置、对象tag读取等关于对象及其子资源的操作请求,上述对象及其子资源的操作请求每发生一次,该对象的访问频次记录数据便增加一次,同时该数据以自然天为单位进行分别记录,共记录一周的访问频次,作为冷热数据筛选的判定依据。
步骤S300、基于生命周期策略检查对象并筛选冷数据:从log池中读取设置生命周期策略的用户,对于每个用户,从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据。
本实施例步骤S300读取log池{zone}.rgw.log中命名空间为users.lc中各个对象中记录的所有配置过生命周期的用户,对于某一个用户,读取记录在用户元数据部分的生命周期策略,所述策略中记录着该策略所作用的存储桶,如图2所示,对于每一个存储桶,开启单独线程进行处理,并且在目标桶上标记该桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理该桶的生命周期。
本申请中,对于每个存储桶的单一处理线程,检查所述对象是否达到生命周期策略中指定的预定时间段,如果达到,则检查所述对象的数据热度。具体执行为:
(1)检查所述对象是否达到生命周期策略中指定的预定时间段;
(2)如果达到,通过如下操作检查所述对象的数据热度:
(3)从对象元数据中获取所述对象在预定时间段内访问频次;
(4)计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
(5)将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据。
上述操作流程中,对于作用存储桶的单一处理线程,根据生命周期策略中指定的作用对象,比如作用对象指定为某个前缀的所有对象,通过指定前缀的方式列举桶中对象,然后对列举出来的对象进行检查,所述检查首先检查该对象是否达到生命周期指定的存在天数,若达到指定天数,然后判断其数据热度。在数据热度判断过程中,首先在该对象的attr中获取该对象最近一段时间的访问频次,并以此计算该数据的热度,并判断该数据为热数据还是冷数据,若为热数据,则保留该对象不作处理,若为其他类型对象,则记录该对象并通知生命周期处理模块。
由牛顿冷却定律可知,时间越长,物体温度越接近周围环境,变化幅度越小。数据的热度同样如此,越靠近当前时间,其访问频次越能反应数据热度,所以数据热度计算并非简单的计算数据访问的次数,而是计算数据每天访问频次的加权平均值,所述加权值可根据时间衰减函数确定:越接近当前时间,其权重越高,反之权重越低。同时,计算不同时间段内的热度计算方法略有差别:如公式(1)所示,当计算一天的数据热度时,其热度即为其访问频次;如公式(2)所示,当计算一段时间的数据热度时,其热度等于每天数据热度的加权平均值。然后通过数据热度与阈值进行比较,将该数据分为某时间段内的冷数据或热数据。
某天的数据热度计算公式:
H=f (1)
一段时间的数据热度计算公式:
t>1
其中H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
生命周期执行模块用于对生命周期检查模块筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
步骤S400、对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
本实施例步骤S400具体执行如下操作:
(1)对于生命周期检查模块筛选出的作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
(2)对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.一种基于数据热度的分布式对象存储生命周期管理系统,其特征在于,包括:
生命周期设置模块,所述生命周期设置模块用于支持用户设置、查看和删除生命周期策略,用于将设置的生命周期策略写入用户元数据,并将设置生命周期的用户写入log池,所述生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述;
数据热度统计模块,所述数据热度统计模块用于统计每个对象的访问频次,并将访问频次记录到对象元数据中;
生命周期检查模块,所述生命周期检查模块用于从log池中读取设置生命周期策略的用户,对于每个用户,用于从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并根据对象的访问频次进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据;
生命周期执行模块,所述生命周期执行模块用于对生命周期检查模块筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
2.根据权利要求1所述的基于数据热度的分布式对象存储生命周期管理系统,其特征在于,所述作用的存储桶列表以及作用的对象列表均包括列举和正则表达式形式;
所述数据热度阈值包括每天、每周或其它设定时间段的数据热度阈值;
所述生命周期策略存储于用户的attr中,所述attr为元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中;
设置生命周期策略的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中。
3.根据权利要求1或2所述的基于数据热度的分布式对象存储生命周期管理系统,其特征在于,所述对象的访问为关于对象及其子资源的操作请求,包括对象下载、对象元数据设置、对象元数据读取、对象tag设置、对象tag读取,所述数据采集模块用于基于如下频次记录规则进行对象访问频次的统计:
对象及其子资源的操作请求每发生一次,对象的访问频次记录数据增加一次,同时,对象以自然天为单位分别进行记录,共记录预定时间段内的访问频次作为冷热数据筛选的判定依据;
所述频次记录数据在对象上传时产生、在对象删除时进行销毁、在对象被覆盖时重置。
4.根据权利要求3所述的基于数据热度的分布式对象存储生命周期管理系统,其特征在于,所述生命周期检查模块用于执行如下:
读取log池中所有配置过生命周期策略的用户;
对于每个目标用户,读取记录在用户元数据部分的生命周期策略,所述生命周期策略中记录有其作用的存储桶;
对于每个目标存储桶,开启单线程进行处理,并在每个目标存储桶标记所述存储桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理所述存储桶的生命周期;
对目标存储桶进行单线程处理时,对于生命周期策略指定的作用对象执行如下:
检查所述对象是否达到生命周期策略中指定的预定时间段;
如果达到,通过如下操作检查所述对象的数据热度:
从对象元数据中获取所述对象在预定时间段内访问频次;
计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据;
计算对象在预定时间段内访问频次的加权平均值,所述计算公式为:
某天的数据热度计算公式:
H=f
预定时间段内的数据热度计算公式:
其中,t>1;
H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
5.根据权利要求4所述的基于数据热度的分布式对象存储生命周期管理系统,其特征在于,所述生命周期执行模块用于执行如下:
对于生命周期检查模块筛选出的作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
6.一种基于数据热度的分布式对象存储生命周期管理方法,其特征在于,基于如权利要求1-5任一项所述的基于数据热度的分布式对象存储生命周期管理系统对分布式存储对象进行生命周期管理,所述方法包括如下步骤:
在用户层设置生命周期策略:将用户设置的生命周期策略写入用户元数据,并将设置生命周期策略的用户写入log池,用户设置的生命周期策略包括作用的存储桶列表、作用的对象列表、数据热度阈值、对象过期时间以及策略描述;
统计每个对象的访问频次,并将访问频次记录到对象元数据中;
基于生命周期策略检查对象并筛选冷数据:从log池中读取设置生命周期策略的用户,对于每个用户,从用户元数据中读取生命周期策略,基于生命周期策略获取作用的存储桶,对于每个作用的存储桶,检查存储桶中对象是否符合生命周期策略执行条件、并进行数据热度判断,将符合冷数据判断条件的对象记录为冷数据;
对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除。
7.根据权利要求6所述的基于数据热度的分布式对象存储生命周期管理方法,其特征在于,所述作用的存储桶列表以及作用的对象列表均包括列举和正则表达式形式;
所述数据热度阈值包括每天、每周或其它设定时间段的数据热度阈值;
所述生命周期策略存储于用户的attr中,所述attr为元数据池{zone}.rgw.meta中命名空间为users.uid下名为用户uid的对象的attr中;
设置生命周期策略的用户统一记录在log池{zone}.rgw.log中命名空间为users.lc中各个对象中。
8.根据权利要求7所述的基于数据热度的分布式对象存储生命周期管理方法,其特征在于,所述对象的访问为关于对象及其子资源的操作请求,包括对象下载、对象元数据设置、对象元数据读取、对象tag设置、对象tag读取;
基于如下频次记录规则进行对象访问频次的统计:
对象及其子资源的操作请求每发生一次,对象的访问频次记录数据增加一次,同时,对象以自然天为单位分别进行记录,共记录预定时间段内的访问频次作为冷热数据筛选的判定依据;
所述频次记录数据在对象上传时产生、在对象删除时进行销毁、在对象被覆盖时重置。
9.根据权利要求8所述的基于数据热度的分布式对象存储生命周期管理方法,其特征在于,基于生命周期策略检查对象并筛选冷数据,包括如下步骤:
读取log池中所有配置过生命周期策略的用户;
对于每个目标用户,读取记录在用户元数据部分的生命周期策略,所述生命周期策略中记录有其作用的存储桶;
对于每个目标存储桶,开启单线程进行处理,并在每个目标存储桶标记所述存储桶在生命周期处理中,以免在对象存储网关radosgw多活的情况下其他网关再次处理所述存储桶的生命周期;
对目标存储桶进行单线程处理时,对于生命周期策略指定的作用对象执行如下:
检查所述对象是否达到生命周期策略中指定的预定时间段;
如果达到,通过如下操作检查所述对象的数据热度:
从对象元数据中获取所述对象在预定时间段内访问频次;
计算对象在预定时间段访问频次的加权平均值作为对象的数据热度;
将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将所述对象分为预定时间段内的热数据或冷数据;
计算对象在预定时间段内访问频次的加权平均值,所述计算公式为:
某天的数据热度计算公式:
H=f
预定时间段内的数据热度计算公式:
其中,t>1;
H为对象热度,f为对象某天的访问频次,t为天数,k为比例系数。
10.根据权利要求9所述的基于数据热度的分布式对象存储生命周期管理方法,其特征在于,对筛选出作为冷数据的对象进行跟踪,并根据访问频次进行数据热度判断,将符合冷数据判断条件的对象确认为冷数据并删除,包括如下步骤:
对于筛选出作为冷数据的每个对象,将所述对象作为Hierarchical+Randomized逐出方法中的待确认冷数据;
对每个待确认冷数据进行跟踪,在跟踪期间,计算对象在跟踪期间内访问频次的加权平均值作为对象的数据热度,将对象的数据热度与生命周期策略中指定的数据热度阈值进行比对,将数据热度大于生命周期策略中指定数据热度阈值的对象标记为热数据不再进行删除操作,将数据热度小于生命周期策略中指定数据热度阈值的对象作为冷数据删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680378.1A CN116126235A (zh) | 2022-12-27 | 2022-12-27 | 基于数据热度的分布式对象存储生命周期管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680378.1A CN116126235A (zh) | 2022-12-27 | 2022-12-27 | 基于数据热度的分布式对象存储生命周期管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126235A true CN116126235A (zh) | 2023-05-16 |
Family
ID=86296617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211680378.1A Pending CN116126235A (zh) | 2022-12-27 | 2022-12-27 | 基于数据热度的分布式对象存储生命周期管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126235A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472967A (zh) * | 2023-12-28 | 2024-01-30 | 江西铜锐信息技术有限公司 | 一种基于数据使用热度的数据生命周期管理方法及系统 |
-
2022
- 2022-12-27 CN CN202211680378.1A patent/CN116126235A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472967A (zh) * | 2023-12-28 | 2024-01-30 | 江西铜锐信息技术有限公司 | 一种基于数据使用热度的数据生命周期管理方法及系统 |
CN117472967B (zh) * | 2023-12-28 | 2024-05-03 | 江西铜锐信息技术有限公司 | 一种基于数据使用热度的数据生命周期管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8914412B2 (en) | Determining file ownership of active and inactive files based on file access history | |
CN101103355B (zh) | 管理数据删除的方法和装置 | |
US9813450B1 (en) | Metadata-based verification of artifact quality policy compliance | |
JP2002540530A (ja) | 自動ファイル・プルーニング | |
JP2005174339A (ja) | 記憶システムにデータを保持する方法および装置 | |
CN106599292B (zh) | 针对实时视频数据和图像数据进行存储的方法及系统 | |
CN108108127A (zh) | 一种文件读取方法及系统 | |
CN109947363A (zh) | 一种分布式存储系统的数据缓存方法 | |
CN116126235A (zh) | 基于数据热度的分布式对象存储生命周期管理系统及方法 | |
US11042507B2 (en) | System and method of deletion of files and counteracting their restoration | |
CN107329910A (zh) | 一种基于localStorage的Web前端数据本地存储和访问方法 | |
CN109344296B (zh) | 实现Redis的HASH键的域生命周期控制方法、系统、服务器及存储介质 | |
Milo | Getting rid of data | |
CN117194907B (zh) | 数据中台的低价值数据主题识别方法 | |
CN113448946B (zh) | 数据迁移方法及装置、电子设备 | |
US8135760B1 (en) | Determining the lineage of a content unit on an object addressable storage system | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN110489416A (zh) | 一种基于数据处理的信息存储方法及相关设备 | |
US11669498B2 (en) | Facilitating exclusive local locks on a distributed file system | |
CN113821166A (zh) | 一种聚合多版本小对象的方法、装置及设备 | |
CN114265828A (zh) | 行迁移消除方法、装置、计算机设备和存储介质 | |
CN113064943A (zh) | 一种数据采集方法、装置、电子设备和存储介质 | |
CN111104065A (zh) | 一种文件的存储方法、装置及设备 | |
CN113282586A (zh) | 一种信息处理方法、装置、设备及可读存储介质 | |
CN110109954B (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 |