CN117908794A - 计算机分布式存储***中垃圾回收方法 - Google Patents
计算机分布式存储***中垃圾回收方法 Download PDFInfo
- Publication number
- CN117908794A CN117908794A CN202410085602.5A CN202410085602A CN117908794A CN 117908794 A CN117908794 A CN 117908794A CN 202410085602 A CN202410085602 A CN 202410085602A CN 117908794 A CN117908794 A CN 117908794A
- Authority
- CN
- China
- Prior art keywords
- data
- garbage
- application file
- storage system
- file
- 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
Links
- 238000004064 recycling Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000011084 recovery Methods 0.000 claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 238000011156 evaluation Methods 0.000 claims description 53
- 238000005259 measurement Methods 0.000 claims description 28
- 238000012797 qualification Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 239000003550 marker Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了计算机分布式存储***中垃圾回收方法,涉及垃圾回收领域。本发明的计算机分布式存储***中垃圾回收方法,包括以下步骤:步骤一:获取应用文件的数据结构及实际数据大小;步骤二:实时监控分所有应用文件的运行情况;步骤三:对处在空闲状态的应用文件进行实时扫描;步骤四:判断是否对垃圾进行垃圾回收;步骤五:根据判断结果对垃圾文件进行回收。本发明解决了现有的垃圾数据回收可能导致应用文件呈现暂停或在使用应用文件的使用期间暂停,降低了分布式存储***的稳定性的问题,本发明保证了应用文件的正常运行,提高了分布式存储***的稳定性,保证了垃圾回收的完整性,保证了分布式存储***的存储空间。
Description
技术领域
本发明涉及垃圾回收技术领域,具体为计算机分布式存储***中垃圾回收方法。
背景技术
分布式存储***中当前的内存池管理方法大都仅限自身管理,以读数据为例,将数据从底层存储设备接收下来,在分布式存储***内部按自身的数据组织方式将该数据放到自身内存池中,而对于数据从自身内存池如何到网卡内存池再通过RDMA技术发送给远端,采用的多是内存拷贝。
公开号为CN114442949A的中国专利公开了一种垃圾数据回收方法及***,方法包括获取对象及对象的实际数据大小;遍历对象的数据结构blob,计算所有数据结构blob占用的分布式存储***实际磁盘空间;在实际数据大小和占用的分布式存储***实际磁盘空间均满足预设的回收阈值时,创建新数据结构blob,将对象重新写入被分配的新磁盘空间中,并在写完对象后,释放原有数据及其存储空间。可有效识别并处理存在垃圾数据的对象,释放垃圾数据占用的空间,减小存储***的空间放大。并且由于使用了单独线程并设定了启动条件,可以减小垃圾数据回收对正常业务的影响。
上述专利在实际使用过程中,垃圾数据回收可能导致分布式存储***中的应用文件呈现暂停或在使用应用文件的使用期间暂停,影响正常的使用,降低了分布式存储***的稳定性,因此,不满足现有的需求,对此我们提出了计算机分布式存储***中垃圾回收方法。
发明内容
本发明的目的在于提供计算机分布式存储***中垃圾回收方法,通过对空闲状态下的应用文件进行数据扫描以及垃圾回收,不会影响正在使用的应用文件,保证了应用文件的正常运行,提高了分布式存储***的稳定性,在垃圾回收的过程中进行日志记录,在存在垃圾残留的情况下能够快速锁定垃圾残留的应用文件,及时进行二次回收,保证了垃圾回收的完整性,保证了分布式存储***的存储空间,解决了上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:计算机分布式存储***中垃圾回收方法,包括以下步骤:
步骤一:获取分布式存储***中应用文件的数据结构及应用文件的实际数据大小,计算所有数据结构占用的分布式存储***实际磁盘空间,并预设分布式存储***中所产生垃圾的回收阈值。
步骤二:监控***实时监控分布式存储***内所有应用文件的运行情况,并判断应用文件是否处在空闲状态。
步骤三:扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,并按照产生垃圾大小从小到大进行排序并进行标记,判断应用文件中是否包括垃圾文件。
步骤四:回收***接收清理的垃圾文件,并判断是否对垃圾进行垃圾回收,获取待进行垃圾回收的垃圾文件读写量,并根据读写量对垃圾文件进行判断。
步骤五:根据判断结果对垃圾文件进行制定相应的回收策略,并根据回收策略对垃圾文件进行回收。
优选的,所述扫描***,具体包括:
信息采集模块,用于获取分布式存储***的信息,并获取分布式存储***内所有应用文件及应用文件的实际数据大小以及数据结构。
信息扫描模块,用于对分布式存储***内所有应用文件进行扫描,获取各应用文件的垃圾。
信息标记模块,用于根据产生垃圾大小降序排序多个应用文件的名称以及按照降序的顺序对垃圾进行标记。
优选的,所述回收***,具体包括:
计算模块,用于根据内存占用信息计算分布式存储***当前运行的应用文件的实际使用内存值。
判断回收模块,根据所获取的信息判断实际使用内存值是否大于预设阀值,若大于预设阈值则发出告警。
垃圾回收模块,用于接收告警信息,并根据判断结果执行***垃圾进行回收命令。
优选的,所述垃圾回收模块,具体包括:
执行模块,用于根据判断结果执行***垃圾进行回收命令,并创建新的数据结构。
删除模块,用于将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间。
分析模块,用于垃圾回收所对应的日志记录,并根据垃圾回收的情分析垃圾是否回收完毕。
优选的,所述监控***,具体包括:
实时监测模块,用于分别监控分布式存储***内所有应用文件的运行情况。
实时判断模块,用于根据监控所获取的分布式存储***内所有应用文件的运行情况判断应用文件是否处在空闲状态,若处在空闲状态则进行垃圾数据扫描。
优选的,扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,包括:
获取空闲状态的应用文件,并提取应用文件的文件标识,且基于文件标识生成数据访问请求;
基于应用程序接口根据数据访问请求对应用文件的运行参数库进行访问,得到闲状态的应用文件的脚本文件以及文件执行参数,并对脚本文件以及文件执行参数进行解析,得到空闲状态的应用文件的业务特征;
基于业务特征确定空闲状态的应用文件正常运行时内部数据被访问的基本参数,并基于基本参数确定垃圾数据的度量指标;
将空闲状态的应用文件中的应用数据进行等规格拆分,得到待扫描数据组,并分别提取每一待扫描数据组中每一待扫描数据在预设时间段内的历史访问参数;
基于历史访问参数确定每一待扫描数据在预设时间段内的引用计数值,并基于度量指标对引用计数值进行第一度量,得到第一垃圾数据,同时,基于历史访问参数确定每一待扫描数据的可达参数,并基于度量指标对可达参数进行第二度量,得到第二垃圾数据;
基于度量指标确定第一垃圾数据和第二垃圾数据的垃圾数据等级,并基于垃圾数据等级采用差异标记符对第一垃圾数据和第二垃圾数据进行差异标记;
基于差异标记结果生成垃圾数据属性列表,并将垃圾数据属性列表在空闲状态的应用文件的文件头中进行记录存储。
优选的,所述根据读写量判断该垃圾文件是否为热点数据。
若超过设定阈值时,记为热数据,则将该垃圾文件回收至第一数据区,对该数据区的数据进行集体删除。
若不超过设定阈值,记为冷数据,则将该垃圾文件回收至第二数据区进行储存。
对第二数据区内的垃圾文件进行实时监控,当超过设定阈值时,则转移至第一数据区并进行删除。
优选的,所述根据判断结果对垃圾文件进行制定相应的回收策略,具体包括:
获取分布式存储***的历史运行数据,根据历史运行数据确定分布式存储***的性能指标以及业务压力。
根据确定的分布式存储***性能指标以及业务压力,确定垃圾的回收策略,垃圾的回收策略包括全块垃圾回收策略和部分垃圾回收策略。
设置全块垃圾回收策略和部分垃圾回收策略对应的无效数据占有率阈值。
分时检测每个应用文件的活跃度等级对应应用文件的无效数据占有率,根据无效数据占有率选择垃圾回收策略。
根据垃圾回收策略,确定垃圾回收参数,根据垃圾回收参数对垃圾进行回收。
优选的,所述判断是否进行垃圾回收,具体包括:
根据应用文件实际数据大小和占用的分布式存储***实际磁盘空间,判断是否满足预设的回收阈值。
若满足,则触发执行分布式存储***垃圾回收,创建新的数据结构,将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间,同时监控分布式存储***垃圾回收所对应的日志记录。
根据日志记录判断本次的***垃圾回收是否执行完毕,若执行完毕,则更新分布式存储***的存储内存,若没有执行完毕,则根据日志记录分析垃圾回收的情况,并对回收不完全的垃圾继续进行回收。
优选的,判断应用文件是否处在空闲状态,包括:
对所有应用文件的运行情况进行读取,确定所有应用文件的运行参数;
根据应用文件的运行参数确定每个应用文件在预设时间段内的访问频率以及每个应用文件在单次访问时的数据访问量;
基于每个应用文件在预设时间段内的访问频率计算应用文件进行访问的平均访问频率;
其中,φ表示应用文件进行访问的平均访问频率;n表示应用文件的总数目;i表示应用文件的序号值;fi表示第i个应用文件的访问频率;
基于应用文件进行访问的平均访问频率以及每个应用文件在预设时间段内的访问频率,计算第i个应用文件的第一空闲评估分值;
其中,F1i表示第i个应用文件的第一空闲评估分值;μ1表示第一影响权重;δ1表示第一误差因子,且取值范围为(0.01,0.02);e表示自然常数;ln(·)表示以e为底的对数函数;
获取预设访问量阈值,并基于应用文件在单次访问时的数据访问量以及访问量阈值计算第i个应用文件的第二空闲评估分值;
其中,F2i表示第i个第二空闲评估分值;Si表示第i个应用文件的单次访问时的数据访问量;μ2表示第二影响权重;δ2表示第二误差因子,且取值范围为(0.01,0.02);S表示预设访问量阈值
基于第一空闲评估分值与第二空闲评估分值,计算对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
Fi=F1i+F2i;
其中,Fi表示对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
获取设定评估合格阈值,并将对第i个应用文件是否处在空闲状态进行评估的综合评估分值与评估合格阈值进行比较,判断第i个应用文件是否处在空闲状态;
当对第i个应用文件是否处在空闲状态进行评估的综合评估分值等于或大于评估合格阈值时,则判定第i个应用文件没有处在空闲状态;
否则,则判定第i个应用文件没有处在空闲状态。
与现有技术相比,本发明的有益效果是:
1.本发明通过对应用文件的运行情况进行实时监控,对空闲状态下的应用文件进行数据扫描以及垃圾回收,不会影响正在使用的应用文件,保证了应用文件的正常运行,提高了分布式存储***的稳定性,在垃圾回收的过程中进行日志记录,在存在垃圾残留的情况下能够快速锁定垃圾残留的应用文件,及时进行二次回收,保证了垃圾回收的完整性,保证了分布式存储***的存储空间。
2.通过确定空闲状态的应用文件的文件标识,实现根据文件标识从运行参数库中对空闲状态的应用文件的脚本文件以及文件执行参数进行准确有效的确定,从而便于对空闲状态的应用文件的业务特征进行有效确定,其次,通过确定的业务特征实现对空闲状态的应用文件正常运行时内部数据被访问的基本参数进行解析,实现对垃圾数据的度量指标进行有效获取,并通过获取到的度量指标对空闲状态的应用文件中的应用数据分情况度量,实现对第一垃圾数据和第二垃圾数据进行有效锁定,最后,确定第一垃圾数据和第二垃圾数据的垃圾数据等级,并根据垃圾数据等级进行相应的标记,且生成垃圾数据属性列表后在应用文件的文件头中进行记录存储,便于对垃圾数据进行准确有效的处理或回收。
3.通过确定每个应用文件在预设时间段内的访问频率以及每个应用文件在单次访问时的数据访问量,实现通过访问频率和数据访问量对每个应用文件的第一空闲评估分值和第二空闲评估分值进行准确有效的计算,其次,将计算得到的第一空闲评估分值和第二空闲评估分值进行汇总,实现对综合评估分值进行准确有效的计算,最后,将计算得到的综合评估分值与设定评估合格阈值进行比较,实现对每个应用文件的空闲状态进行准确有效的评估,保障了对应用文件是否为空闲状态进行判定的准确率。
附图说明
图1为本发明的计算机分布式存储***中垃圾回收方法模块示意图;
图2为本发明的计算机分布式存储***中垃圾回收方法工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有的垃圾数据回收可能导致分布式存储***中的应用文件呈现暂停或在使用应用文件的使用期间暂停,影响正常的使用,降低了分布式存储***的稳定性的问题,请参阅图1-图2,本实施例提供以下技术方案:
计算机分布式存储***中垃圾回收方法,包括以下步骤:
步骤一:获取分布式存储***中应用文件的数据结构及应用文件的实际数据大小,计算所有数据结构占用的分布式存储***实际磁盘空间,通过计算应用文件的实际数据大小来计算应用文件在分布式存储***中所占用的空间,能够更好地计算应用文件所含有的垃圾数据,并预设分布式存储***中所产生垃圾的回收阈值,通过预设垃圾回收阈值,当达到垃圾收拾条件时自动进行垃圾回收,保证了垃圾回收的效率以及分布式存储***的磁盘空间的释放效果,进而保证了分布式存储***的存储功能。
步骤二:监控***实时监控分布式存储***内所有应用文件的运行情况,并判断应用文件是否处在空闲状态,通过对应用文件的运行情况进行实时监控,对空闲状态下的应用文件进行数据扫描以及垃圾回收,不会影响正在使用的应用文件,保证了应用文件的正常运行,提高了分布式存储***的稳定性。
步骤三:扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,并按照产生垃圾大小从小到大进行排序并进行标记,判断应用文件中是否包括垃圾文件,通过对应用文件的数据进行扫描,确定应用文件的垃圾数据,方便对垃圾文件进行回收。
步骤四:回收***接收清理的垃圾文件,并判断是否对垃圾进行垃圾回收,获取待进行垃圾回收的垃圾文件读写量,并根据读写量对垃圾文件进行判断,通过对垃圾文件进行判断,方便快速对垃圾文件进行回收,保证了垃圾回收的效率和垃圾回收的完整性。
步骤五:根据判断结果对垃圾文件进行制定相应的回收策略,并根据回收策略对垃圾文件进行回收,使得垃圾文件回收的更加彻底,避免垃圾文件的残留,影响分布式存储***的存储效果。
扫描***,具体包括:
信息采集模块,用于获取分布式存储***的信息,并获取分布式存储***内所有应用文件及应用文件的实际数据大小以及数据结构,方便了解分布式存储***的存储情况,及时对垃圾文件进行扫描和回收,保证了分布式存储***的存储功能。
信息扫描模块,用于对分布式存储***内所有应用文件进行扫描,获取各应用文件的垃圾,通过信息扫描模块对分布式存储***内的应用文件进行扫描,方便了解每个应用文件的内存使用情况以及是否存在垃圾文件,存在垃圾文件及时进行回收,保证了垃圾回收的及时性和有效性。
信息标记模块,用于根据产生垃圾大小降序排序多个应用文件的名称以及按照降序的顺序对垃圾进行标记,通过对垃圾进行标记,能够迅速了解分布式存储***内应用文件所存在的垃圾情况,进而快速对应用文件的垃圾进行回收,保证了垃圾回收的效率。
回收***,具体包括:
计算模块,用于根据内存占用信息计算分布式存储***当前运行的应用文件的实际使用内存值,通过计算模块对分布式存储***内应用文件的实时内存占有值,结合信息采集模块所采集的应用文件实际内存占有值,能够快速判断应用文件是否存在垃圾文件,进而及时进行垃圾回收。
判断回收模块,根据所获取的信息判断实际使用内存值是否大于预设阀值,若大于预设阈值则发出告警,通过判断回收模块判断是否存在垃圾文件,若存在则发出告警并将结果传递至垃圾回收模块。
垃圾回收模块,用于接收告警信息,并根据判断结果执行***垃圾进行回收命令,垃圾回收模块对产生的垃圾文件进行回收,及时释放分布式存储***的内存,确保分布式存储***的正产使用。
垃圾回收模块,具体包括:
执行模块,用于根据判断结果执行***垃圾进行回收命令,并创建新的数据结构,通过执行模块执行垃圾回收的命令,并将回收的垃圾文件传递至删除模块进行删除。
删除模块,用于将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间,通过删除模块对垃圾文件进行删除,并将删除的结果传递至分析模块,分析是否存在垃圾残留。
分析模块,用于垃圾回收所对应的日志记录,并根据垃圾回收的情分析垃圾是否回收完毕,在垃圾回收的过程中进行日志记录,在存在垃圾残留的情况下能够快速锁定垃圾残留的应用文件,及时进行二次回收,保证了垃圾回收的完整性,保证了分布式存储***的存储空间。
监控***,具体包括:
实时监测模块,用于分别监控分布式存储***内所有应用文件的运行情况,通过对应用文件的运行情况进行实时监控,能够保证在对垃圾进行回收时,不会影响正在使用的应用文件,同时通过对应用文件进行实时监控,能够及时了解不在使用的应用文件,保证了分布式存储***使用的稳定性。
实时判断模块,用于根据监控所获取的分布式存储***内所有应用文件的运行情况判断应用文件是否处在空闲状态,若处在空闲状态则进行垃圾数据扫描,通过实时判断模块对应用文件的使用情况进行判断,及时了解空间状态的应用文件,并对空闲状态的应用文件进行垃圾扫描和回收,避免正在使用的应用文件被扫描,影响正常的使用。
根据读写量判断该垃圾文件是否为热点数据。
若超过设定阈值时,记为热数据,则将该垃圾文件回收至第一数据区,对该数据区的数据进行集体删除。
若不超过设定阈值,记为冷数据,则将该垃圾文件回收至第二数据区进行储存。
对第二数据区内的垃圾文件进行实时监控,当超过设定阈值时,则转移至第一数据区并进行删除,使得应用文件垃圾回收的更加彻底,进而保证了分布式存储***磁盘的空间释放效果,提高了分布式存储***的存储效果。
根据判断结果对垃圾文件进行制定相应的回收策略,具体包括:
获取分布式存储***的历史运行数据,根据历史运行数据确定分布式存储***的性能指标以及业务压力。
根据确定的分布式存储***性能指标以及业务压力,确定垃圾的回收策略,垃圾的回收策略包括全块垃圾回收策略和部分垃圾回收策略。
设置全块垃圾回收策略和部分垃圾回收策略对应的无效数据占有率阈值。
分时检测每个应用文件的活跃度等级对应应用文件的无效数据占有率,根据无效数据占有率选择垃圾回收策略,无效数据占有率超过60%则选择全块垃圾回收策略,无效数据占有率不超过40%,则选择部分垃圾回收策略。
根据垃圾回收策略,确定垃圾回收参数,设定垃圾回收参数,以避免出现垃圾回收影响分布式存储***对业务的正常处理,从而提高了分布式存储***的稳定性,根据垃圾回收参数对垃圾进行回收,提高垃圾回收效率。
判断是否进行垃圾回收,具体包括:
根据应用文件实际数据大小和占用的分布式存储***实际磁盘空间,判断是否满足预设的回收阈值。
若满足,则触发执行分布式存储***垃圾回收,创建新的数据结构,将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间,同时监控分布式存储***垃圾回收所对应的日志记录。
根据日志记录判断本次的***垃圾回收是否执行完毕,若执行完毕,则更新分布式存储***的存储内存,若没有执行完毕,则根据日志记录分析垃圾回收的情况,并对回收不完全的垃圾继续进行回收,避免出现垃圾残留的情况,保证了垃圾回收的效果。
本实施例提供了计算机分布式存储***中垃圾回收方法,步骤三中,扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,包括:
获取空闲状态的应用文件,并提取应用文件的文件标识,且基于文件标识生成数据访问请求;
基于应用程序接口根据数据访问请求对应用文件的运行参数库进行访问,得到闲状态的应用文件的脚本文件以及文件执行参数,并对脚本文件以及文件执行参数进行解析,得到空闲状态的应用文件的业务特征;
基于业务特征确定空闲状态的应用文件正常运行时内部数据被访问的基本参数,并基于基本参数确定垃圾数据的度量指标;
将空闲状态的应用文件中的应用数据进行等规格拆分,得到待扫描数据组,并分别提取每一待扫描数据组中每一待扫描数据在预设时间段内的历史访问参数;
基于历史访问参数确定每一待扫描数据在预设时间段内的引用计数值,并基于度量指标对引用计数值进行第一度量,得到第一垃圾数据,同时,基于历史访问参数确定每一待扫描数据的可达参数,并基于度量指标对可达参数进行第二度量,得到第二垃圾数据;
基于度量指标确定第一垃圾数据和第二垃圾数据的垃圾数据等级,并基于垃圾数据等级采用差异标记符对第一垃圾数据和第二垃圾数据进行差异标记;
基于差异标记结果生成垃圾数据属性列表,并将垃圾数据属性列表在空闲状态的应用文件的文件头中进行记录存储。
该实施例中,文件标识可以是表征不同应用文件类型或用途的标记符号,不同应用文件对应不同的文件标识。
该实施例中,数据访问请求是根据文件标识生成的,用于调取空闲状态的应用文件的脚本文件以及文件执行参数。
该实施例中,应用程序接口是提前设定好的,是访问运行参数库的入口,其中,运行参数库是提前已知的,用于存储不同应用文件对应的运行数据。
该实施例中,脚本文件可以是空闲状态的应用文件的配置编码参数,包括应用文件的应用环境以及应用场景等。
该实施例中,文件执行参数可以是空闲状态的应用文件在运行过程中的执行策略或是被访问时的数据引用关系等。
该实施例中,业务特征可以是空闲状态的应用文件在正常运行时对对应的业务种类以及在运行时对应用文件内数据调取的情况等。
该实施例中,基本参数可以是空闲状态的应用文件正常运行时内部数据被访问的频率以及每一访问时的数据访问量。
该实施例中,度量指标可以是衡量应用文件中的数据是否为垃圾数据的衡量参数或衡量标准,是根据基本参数确定的。
该实施例中,应用数据可以是空闲状态的应用文件中包含的所有编码数据。
该实施例中,待扫描数据组可以是将空闲状态的应用文件中的应用数据进行等规格拆分后得到的应用数据中的一部分。
该实施例中,预设时间段是提前设定好的,可以是一个月等。
该实施例中,历史访问参数可以是预设时间段内对待扫描数据的访问或引用情况参数。
该实施例中,引用计数值可以是表征不同扫描数据在预设时间段内被引用的总次数,引用计数值越大表明待扫描数据越不属于垃圾数据。
该实施例中,第一度量可以是通过度量指标对不同待扫描数据的引用计数值进行分析,实现对不经常引用的数据进行确定,即对第一垃圾数据进行确定。
该实施例中,可达参数可以是表征访问请求能够访问到数据的程度,当可达参数取值为0时,表征该待扫描数据从未被访问过或引用过。
该实施例中,第二度量可以是通过度量指标对可达参数进行分析,目的是为了对应用数据中从未被访问的数据进行确定,即对第二垃圾数据进行确定。
该实施例中,垃圾数据等级是根据不同数据的访问程度确定的,其中第一垃圾数据的垃圾数据等级低于第二垃圾数据的垃圾数据等级。
该实施例中,差异标记符可以是不同的标记符号,通过差异标记符对不同垃圾数据等级的垃圾数据进行标记,即差异标记。
该实施例中,垃圾数据属性列表可以是将空闲状态的应用文件中的所有垃圾数据生成一个报表,从而便于对垃圾数据进行相应的处理或回收。
上述技术方案的工作原理及有益效果是:通过确定空闲状态的应用文件的文件标识,实现根据文件标识从运行参数库中对空闲状态的应用文件的脚本文件以及文件执行参数进行准确有效的确定,从而便于对空闲状态的应用文件的业务特征进行有效确定,其次,通过确定的业务特征实现对空闲状态的应用文件正常运行时内部数据被访问的基本参数进行解析,实现对垃圾数据的度量指标进行有效获取,并通过获取到的度量指标对空闲状态的应用文件中的应用数据分情况度量,实现对第一垃圾数据和第二垃圾数据进行有效锁定,最后,确定第一垃圾数据和第二垃圾数据的垃圾数据等级,并根据垃圾数据等级进行相应的标记,且生成垃圾数据属性列表后在应用文件的文件头中进行记录存储,便于对垃圾数据进行准确有效的处理或回收。
本实施例提供了计算机分布式存储***中垃圾回收方法,步骤二中,判断应用文件是否处在空闲状态,包括:
对所有应用文件的运行情况进行读取,确定所有应用文件的运行参数;
根据应用文件的运行参数确定每个应用文件在预设时间段内的访问频率以及每个应用文件在单次访问时的数据访问量;
基于每个应用文件在预设时间段内的访问频率计算应用文件进行访问的平均访问频率;
其中,φ表示应用文件进行访问的平均访问频率;n表示应用文件的总数目;i表示应用文件的序号值;fi表示第i个应用文件的访问频率;
基于应用文件进行访问的平均访问频率以及每个应用文件在预设时间段内的访问频率,计算第i个应用文件的第一空闲评估分值;
其中,F1i表示第i个应用文件的第一空闲评估分值;μ1表示第一影响权重;δ1表示第一误差因子,且取值范围为(0.01,0.02);e表示自然常数;ln(·)表示以e为底的对数函数;
获取预设访问量阈值,并基于应用文件在单次访问时的数据访问量以及访问量阈值计算第i个应用文件的第二空闲评估分值;
其中,F2i表示第i个第二空闲评估分值;Si表示第i个应用文件的单次访问时的数据访问量;μ2表示第二影响权重;δ2表示第二误差因子,且取值范围为(0.01,0.02);S表示预设访问量阈值
基于第一空闲评估分值与第二空闲评估分值,计算对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
Fi=F1i+F2i;
其中,Fi表示对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
获取设定评估合格阈值,并将对第i个应用文件是否处在空闲状态进行评估的综合评估分值与评估合格阈值进行比较,判断第i个应用文件是否处在空闲状态;
当对第i个应用文件是否处在空闲状态进行评估的综合评估分值等于或大于评估合格阈值时,则判定第i个应用文件没有处在空闲状态;
否则,则判定第i个应用文件没有处在空闲状态。
该实施例中,第一空闲评估分值可以是通过每个应用文件在预设时间段内的访问频率计算得到的能够表征应用文件是否为空闲状态的衡量参数,取值越小越有可能为空闲状态的应用文件。
该实施例中,预设访问量阈值是提前设定好的,是衡量是否满足最低访问量的标准,是可以进行调整的。
该实施例中,第二空闲评估分值可以是通过数据访问量计算得到的能够表征应用文件是否为空闲状态的衡量参数,取值越小越有可能为空闲状态的应用文件。
该实施例中,综合评估分值是将第一空闲评估分值和第二空闲评估分值进行汇总后得到的能够总体表征是否为空闲状态的应用文件的参数信息。
该实施例中,设定评估合格阈值是提前设定好的,是可以调整的。
上述技术方案的工作原理及有益效果是:通过确定每个应用文件在预设时间段内的访问频率以及每个应用文件在单次访问时的数据访问量,实现通过访问频率和数据访问量对每个应用文件的第一空闲评估分值和第二空闲评估分值进行准确有效的计算,其次,将计算得到的第一空闲评估分值和第二空闲评估分值进行汇总,实现对综合评估分值进行准确有效的计算,最后,将计算得到的综合评估分值与设定评估合格阈值进行比较,实现对每个应用文件的空闲状态进行准确有效的评估,保障了对应用文件是否为空闲状态进行判定的准确率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.计算机分布式存储***中垃圾回收方法,其特征在于,包括以下步骤:
步骤一:获取分布式存储***中应用文件的数据结构及应用文件的实际数据大小,计算所有数据结构占用的分布式存储***实际磁盘空间,并预设分布式存储***中所产生垃圾的回收阈值;
步骤二:监控***实时监控分布式存储***内所有应用文件的运行情况,并判断应用文件是否处在空闲状态;
步骤三:扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,并按照产生垃圾大小从小到大进行排序并进行标记,判断应用文件中是否包括垃圾文件;
步骤四:回收***接收清理的垃圾文件,并判断是否对垃圾进行垃圾回收,获取待进行垃圾回收的垃圾文件读写量,并根据读写量对垃圾文件进行判断;
步骤五:根据判断结果对垃圾文件进行制定相应的回收策略,并根据回收策略对垃圾文件进行回收。
2.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:所述扫描***,具体包括:
信息采集模块,用于获取分布式存储***的信息,并获取分布式存储***内所有应用文件及应用文件的实际数据大小以及数据结构;
信息扫描模块,用于对分布式存储***内所有应用文件进行扫描,获取各应用文件的垃圾;
信息标记模块,用于根据产生垃圾大小降序排序多个应用文件的名称以及按照降序的顺序对垃圾进行标记。
3.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:所述回收***,具体包括:
计算模块,用于根据内存占用信息计算分布式存储***当前运行的应用文件的实际使用内存值;
判断回收模块,根据所获取的信息判断实际使用内存值是否大于预设阀值,若大于预设阈值则发出告警;
垃圾回收模块,用于接收告警信息,并根据判断结果执行***垃圾进行回收命令。
4.根据权利要求3所述的计算机分布式存储***中垃圾回收方法,其特征在于:所述垃圾回收模块,具体包括:
执行模块,用于根据判断结果执行***垃圾进行回收命令,并创建新的数据结构;
删除模块,用于将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间;
分析模块,用于垃圾回收所对应的日志记录,并根据垃圾回收的情分析垃圾是否回收完毕。
5.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:所述监控***,具体包括:
实时监测模块,用于分别监控分布式存储***内所有应用文件的运行情况;
实时判断模块,用于根据监控所获取的分布式存储***内所有应用文件的运行情况判断应用文件是否处在空闲状态,若处在空闲状态则进行垃圾数据扫描。
6.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于,步骤三中,扫描***对分布式存储***内处在空闲状态的应用文件进行实时扫描,获取各应用文件的垃圾数据,包括:
获取空闲状态的应用文件,并提取应用文件的文件标识,且基于文件标识生成数据访问请求;
基于应用程序接口根据数据访问请求对应用文件的运行参数库进行访问,得到闲状态的应用文件的脚本文件以及文件执行参数,并对脚本文件以及文件执行参数进行解析,得到空闲状态的应用文件的业务特征;
基于业务特征确定空闲状态的应用文件正常运行时内部数据被访问的基本参数,并基于基本参数确定垃圾数据的度量指标;
将空闲状态的应用文件中的应用数据进行等规格拆分,得到待扫描数据组,并分别提取每一待扫描数据组中每一待扫描数据在预设时间段内的历史访问参数;
基于历史访问参数确定每一待扫描数据在预设时间段内的引用计数值,并基于度量指标对引用计数值进行第一度量,得到第一垃圾数据,同时,基于历史访问参数确定每一待扫描数据的可达参数,并基于度量指标对可达参数进行第二度量,得到第二垃圾数据;
基于度量指标确定第一垃圾数据和第二垃圾数据的垃圾数据等级,并基于垃圾数据等级采用差异标记符对第一垃圾数据和第二垃圾数据进行差异标记;
基于差异标记结果生成垃圾数据属性列表,并将垃圾数据属性列表在空闲状态的应用文件的文件头中进行记录存储。
7.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:根据读写量判断该垃圾文件是否为热点数据;
若超过设定阈值时,记为热数据,则将该垃圾文件回收至第一数据区,对该数据区的数据进行集体删除;
若不超过设定阈值,记为冷数据,则将该垃圾文件回收至第二数据区进行储存;
对第二数据区内的垃圾文件进行实时监控,当超过设定阈值时,则转移至第一数据区并进行删除。
8.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:根据判断结果对垃圾文件进行制定相应的回收策略,具体包括:
获取分布式存储***的历史运行数据,根据历史运行数据确定分布式存储***的性能指标以及业务压力;
根据确定的分布式存储***性能指标以及业务压力,确定垃圾的回收策略,垃圾的回收策略包括全块垃圾回收策略和部分垃圾回收策略;
设置全块垃圾回收策略和部分垃圾回收策略对应的无效数据占有率阈值;
分时检测每个应用文件的活跃度等级对应应用文件的无效数据占有率,根据无效数据占有率选择垃圾回收策略;
根据垃圾回收策略,确定垃圾回收参数,根据垃圾回收参数对垃圾进行回收。
9.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于:判断是否进行垃圾回收,具体包括:
根据应用文件实际数据大小和占用的分布式存储***实际磁盘空间,判断是否满足预设的回收阈值;
若满足,则触发执行分布式存储***垃圾回收,创建新的数据结构,将应用文件重新写入被分配的新磁盘空间中,并在写完应用文件后,释放原有数据及其存储空间,同时监控分布式存储***垃圾回收所对应的日志记录;
根据日志记录判断本次的***垃圾回收是否执行完毕,若执行完毕,则更新分布式存储***的存储内存,若没有执行完毕,则根据日志记录分析垃圾回收的情况,并对回收不完全的垃圾继续进行回收。
10.根据权利要求1所述的计算机分布式存储***中垃圾回收方法,其特征在于,步骤二中,判断应用文件是否处在空闲状态,包括:
对所有应用文件的运行情况进行读取,确定所有应用文件的运行参数;
根据应用文件的运行参数确定每个应用文件在预设时间段内的访问频率以及每个应用文件在单次访问时的数据访问量;
基于每个应用文件在预设时间段内的访问频率计算应用文件进行访问的平均访问频率;
其中,φ表示应用文件进行访问的平均访问频率;n表示应用文件的总数目;i表示应用文件的序号值;fi表示第i个应用文件的访问频率;
基于应用文件进行访问的平均访问频率以及每个应用文件在预设时间段内的访问频率,计算第i个应用文件的第一空闲评估分值;
其中,F1i表示第i个应用文件的第一空闲评估分值;μ1表示第一影响权重;δ1表示第一误差因子,且取值范围为(0.01,0.02);e表示自然常数;ln(·)表示以e为底的对数函数;
获取预设访问量阈值,并基于应用文件在单次访问时的数据访问量以及访问量阈值计算第i个应用文件的第二空闲评估分值;
其中,F2i表示第i个第二空闲评估分值;Si表示第i个应用文件的单次访问时的数据访问量;μ2表示第二影响权重;δ2表示第二误差因子,且取值范围为(0.01,0.02);S表示预设访问量阈值
基于第一空闲评估分值与第二空闲评估分值,计算对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
Fi=F1i+F2i;
其中,Fi表示对第i个应用文件是否处在空闲状态进行评估的综合评估分值;
获取设定评估合格阈值,并将对第i个应用文件是否处在空闲状态进行评估的综合评估分值与评估合格阈值进行比较,判断第i个应用文件是否处在空闲状态;
当对第i个应用文件是否处在空闲状态进行评估的综合评估分值等于或大于评估合格阈值时,则判定第i个应用文件没有处在空闲状态;
否则,则判定第i个应用文件没有处在空闲状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410085602.5A CN117908794B (zh) | 2024-01-22 | 2024-01-22 | 计算机分布式存储***中垃圾回收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410085602.5A CN117908794B (zh) | 2024-01-22 | 2024-01-22 | 计算机分布式存储***中垃圾回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117908794A true CN117908794A (zh) | 2024-04-19 |
CN117908794B CN117908794B (zh) | 2024-07-16 |
Family
ID=90681769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410085602.5A Active CN117908794B (zh) | 2024-01-22 | 2024-01-22 | 计算机分布式存储***中垃圾回收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117908794B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
US20170300410A1 (en) * | 2016-04-13 | 2017-10-19 | Nanjing University | Method and System for Optimizing Deterministic Garbage Collection in Nand Flash Storage Systems |
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储***中垃圾回收冷热数据迁移的方法 |
CN112395212A (zh) * | 2020-11-05 | 2021-02-23 | 华中科技大学 | 减少键值分离存储***的垃圾回收和写放大的方法及*** |
CN116225319A (zh) * | 2022-12-29 | 2023-06-06 | 天翼云科技有限公司 | 一种垃圾数据回收时减少数据迁移的方法及装置 |
CN116467267A (zh) * | 2023-03-31 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 垃圾回收方法、设备、存储介质和*** |
US20230237064A1 (en) * | 2021-07-08 | 2023-07-27 | Tencent Technology (Shenzhen) Company Limited | Data processing method, apparatus, and system, computer device, readable storage medium, and computer program product |
CN116700634A (zh) * | 2023-08-08 | 2023-09-05 | 苏州浪潮智能科技有限公司 | 分布式存储***垃圾回收方法、装置及分布式存储*** |
-
2024
- 2024-01-22 CN CN202410085602.5A patent/CN117908794B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
US20170300410A1 (en) * | 2016-04-13 | 2017-10-19 | Nanjing University | Method and System for Optimizing Deterministic Garbage Collection in Nand Flash Storage Systems |
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储***中垃圾回收冷热数据迁移的方法 |
CN112395212A (zh) * | 2020-11-05 | 2021-02-23 | 华中科技大学 | 减少键值分离存储***的垃圾回收和写放大的方法及*** |
US20230237064A1 (en) * | 2021-07-08 | 2023-07-27 | Tencent Technology (Shenzhen) Company Limited | Data processing method, apparatus, and system, computer device, readable storage medium, and computer program product |
CN116225319A (zh) * | 2022-12-29 | 2023-06-06 | 天翼云科技有限公司 | 一种垃圾数据回收时减少数据迁移的方法及装置 |
CN116467267A (zh) * | 2023-03-31 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 垃圾回收方法、设备、存储介质和*** |
CN116700634A (zh) * | 2023-08-08 | 2023-09-05 | 苏州浪潮智能科技有限公司 | 分布式存储***垃圾回收方法、装置及分布式存储*** |
Non-Patent Citations (1)
Title |
---|
赵楠楠: "分布式键值存储***高效能数据布局技术研究", 信息科技, vol. 2017, no. 08, 31 August 2017 (2017-08-31), pages 137 - 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN117908794B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145445A (zh) | 软件自动化测试的报错日志的自动分析方法和*** | |
CN107704203A (zh) | 聚合大文件的删除方法、装置、设备及计算机存储介质 | |
CN112528279B (zh) | 一种入侵检测模型的建立方法和装置 | |
CN109918448A (zh) | 一种基于用户行为的云存储数据分级方法 | |
CN114826770A (zh) | 一种计算机网络智能分析的大数据管理平台 | |
CN117908794B (zh) | 计算机分布式存储***中垃圾回收方法 | |
CN110674145B (zh) | 数据一致性的检测方法、装置、计算机设备和存储介质 | |
CN111597510A (zh) | 一种输变电运检数据质量评估方法及*** | |
CN117787815B (zh) | 一种基于大数据的人力资源外包服务***及方法 | |
CN111427876A (zh) | 一种数据资产管理方法和*** | |
CN111090395B (zh) | 一种用于会计行业的电子信息智能存储*** | |
CN112527786A (zh) | 数据表分区新增方法、装置、计算机设备及存储介质 | |
CN107590233A (zh) | 一种文件管理方法及装置 | |
CN112631941B (zh) | 定位linux内核slub内存泄漏的方法和*** | |
CN112052468A (zh) | 一种用于信息保护的快速数据删除方法 | |
CN113821166A (zh) | 一种聚合多版本小对象的方法、装置及设备 | |
CN114546957A (zh) | 一种数据智能集中处理服务平台 | |
CN102024104A (zh) | 一种计算机安全检查评分方法 | |
CN118170325A (zh) | 一种大数据存储及处理控制方法 | |
CN114020794B (zh) | 一种MySQL数据库慢查询的处理方法、装置、介质和设备 | |
CN116680751B (zh) | 一种国产平台mes***中数据安全采集与处理方法 | |
CN115658626B (zh) | 一种分布式网络小文件存储管理方法 | |
CN117540369B (zh) | 用于安全分析的数值行为安全基线生成方法及装置 | |
CN116974468B (zh) | 一种基于大数据的设备数据存储管理方法及*** | |
CN117290145B (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 |