CN112732192B - 一种磁盘分布信息裁剪方法、系统、设备以及介质 - Google Patents

一种磁盘分布信息裁剪方法、系统、设备以及介质 Download PDF

Info

Publication number
CN112732192B
CN112732192B CN202110027230.7A CN202110027230A CN112732192B CN 112732192 B CN112732192 B CN 112732192B CN 202110027230 A CN202110027230 A CN 202110027230A CN 112732192 B CN112732192 B CN 112732192B
Authority
CN
China
Prior art keywords
distribution information
cutting
disk full
disk
cut
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110027230.7A
Other languages
English (en)
Other versions
CN112732192A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110027230.7A priority Critical patent/CN112732192B/zh
Publication of CN112732192A publication Critical patent/CN112732192A/zh
Application granted granted Critical
Publication of CN112732192B publication Critical patent/CN112732192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0614Improving the reliability of 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种磁盘分布信息裁剪方法,包括以下步骤:响应于当前系统满足裁剪条件,启动裁剪机制;响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;根据裁剪参数将对当前的磁盘全量分布信息进行裁剪。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案可以降低故障时监控模块的数据库占用,提高监控模块运行的稳定性。

Description

一种磁盘分布信息裁剪方法、系统、设备以及介质
技术领域
本发明涉及存储领域,具体涉及一种磁盘分布信息裁剪方法、系统、设备以及存储介质。
背景技术
在分布式存储系统中,存储的内容按照固定大小切割,这一块固定大小的数据称为一个对象,PG(Placement Group,放置组,是用于放置对象的一个载体)就是多个对象的聚合,是一个逻辑上的概念,PG和对象之间通过一致性哈希算法对应起来,一个PG对应于多个对象。而每个PG与OSD的对应是通过数据分布算法对应起来的,一个PG对应于多个OSD,OSD可以简单理解为物理上的磁盘,一个OSD上可以有多个PG,这样想要存储的内容就放置在了磁盘上。
而磁盘分布信息或称OSD分布信息,是存储系统在正常运行过程中必不可少的一些OSD和PG的信息,其中不仅包含PG与OSD的对应关系,也包含OSD,PG以及OSD上数据的部分元数据信息,统计信息等。OSD分布信息分为全量版本和增量版本,增量版本即为两次全量版本之间的差异信息,可通过前一个全量版本加上增量版本构建出后一个全量版本。只有全量版本才对其他模块和客户端提供。
在集群正常运行过程中,监控模块(监控管理集群状态信息并更新发布的模块)会保存一定数量(默认500个版本)的全量OSD分布信息用于给存储系统其他模块及客户端使用,当监控模块缓存的版本数超过一定数量(默认500个版本)时,则会触发清理机制,会将以前缓存的版本清理掉,只保留最近的。但清理机制的触发是有条件的,在存储系统进行数据恢复的过程中就不会触发清理,导致监控模块缓存的OSD分布信息越来越大,最终造成监控模块数据库占用超过阈值,监控模块异常退出。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种磁盘分布信息裁剪方法,包括以下步骤:
响应于当前系统满足裁剪条件,启动裁剪机制;
响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
根据裁剪参数将对当前的磁盘全量分布信息进行裁剪。
在一些实施例中,响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否需要对当前的磁盘全量分布信息进行裁剪,进一步包括:
判断所述新的磁盘全量分布信息的版本号与所述当前的磁盘全量分布信息中最远的磁盘全量分布信息的版本号的差值是否大于默认缓存最大值;
响应于大于所述默认缓存最大值,利用所述新的磁盘全量分布信息的版本号减去所述默认缓存最大值以得到最后一次待裁剪的边界值;
响应于所述边界值大于阈值,则触发裁剪。
在一些实施例中,还包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定对应的所述阈值。
在一些实施例中,获取裁剪参数,进一步包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定当前迭代中每一次裁剪的磁盘全量分布信息的个数以及每一次迭代裁剪的磁盘全量分布信息的总个数。
在一些实施例中,根据裁剪参数将对当前的磁盘全量分布信息进行裁剪,进一步包括:
将所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为初始边界值,并将所述最远的磁盘全量分布信息的版本号与所述初始边界值之间的磁盘全量分布信息进行裁剪;
将所述初始边界值或上一次裁剪的边界值加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为下一次裁剪的边界值,并将所述初始边界值或所述上一次裁剪的边界值与下一次裁剪的边界值之间的磁盘全量分布信息进行裁剪。
在一些实施例中,还包括:
响应于当前已经裁剪的磁盘全量分布信息的个数加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数大于所述每一次迭代裁剪的磁盘全量分布信息的总个数,终止裁剪;或者,
响应于所述下一次裁剪的边界值大于所述最后一次待裁剪的边界值,终止裁剪。
在一些实施例中,还包括:
响应于接收到获取指定版本的磁盘全量分布信息的请求,获取离所述指定版本最近的版本的磁盘全量分布信息以及所述最近的版本的磁盘全量分布信息和所述指定版本的磁盘全量分布信息之间的所有增量版本;
将所述所有增量版本更新到所述最近的版本的磁盘全量分布信息中以得到所述指定版本的磁盘全量分布信息。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种磁盘分布信息裁剪系统,包括:
启动模块,所述启动模块配置为响应于当前系统满足裁剪条件,启动裁剪机制;
判断模块,所述判断模块配置为响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
获取模块,所述获取模块配置为响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
裁剪模块,所述裁剪模块配置为根据裁剪参数将对当前的磁盘全量分布信息进行裁剪。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种磁盘分布信息裁剪方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种磁盘分布信息裁剪方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案可以降低故障时监控模块的数据库占用,提高监控模块运行的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的磁盘分布信息裁剪方法的流程示意图;
图2为本发明的实施例提供的磁盘分布信息裁剪系统的结构示意图;
图3为本发明的实施例提供的计算机设备的结构示意图;
图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种磁盘分布信息裁剪方法,如图1所示,其可以包括步骤:
S1,响应于当前系统满足裁剪条件,启动裁剪机制;
S2,响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
S3,响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
S4,根据裁剪参数将对当前的磁盘全量分布信息进行裁剪。
本发明提出的方案可以降低故障时监控模块的数据库占用,提高监控模块运行的稳定性。
在一些实施例中,步骤S1响应于当前系统满足裁剪条件,启动裁剪机制中,具体的,当检测到存储系统CPU忙碌时(例如,占用率在5min内平均值达到80%)且监控模块的数据库占用空间(用于缓存当前的磁盘全量分布信息的缓存空间)大小小于最大占用空间的60%,则启动裁剪机制。
在一些实施例中,响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否需要对当前的磁盘全量分布信息进行裁剪,进一步包括:
判断所述新的磁盘全量分布信息的版本号与所述当前的磁盘全量分布信息中最远的磁盘全量分布信息的版本号的差值是否大于默认缓存最大值;
响应于大于所述默认缓存最大值,利用所述新的磁盘全量分布信息的版本号减去所述默认缓存最大值以得到最后一次待裁剪的边界值;
响应于所述边界值大于阈值,则触发裁剪。
具体的,可以在监控模块的计时器中每隔5s检查一次是否能够触发裁剪,首先判断磁盘全量分布信息的最近一次全量版本号减去监控模块缓存在数据库中的最远一个全量版本号的差值是否小于等于监控模块默认缓存磁盘全量分布信息个数的最大值,如果小于等于则不触发裁剪,如果大于,则继续判断新的磁盘全量分布信息的版本号减去监控模块默认缓存磁盘全量分布信息个数的最大值,得到的值称为最后一次需要裁剪的边界值,如果该边界值减去监控模块缓存在数据库中的最远一个全量版本号大于阈值,则监控模块在缓存新的磁盘全量分布信息时执行裁剪,否则不进行裁剪。
例如,监控模块默认缓存磁盘全量分布信息个数的最大值为500,此时监控模块已经缓存的磁盘全量分布信息个数为1500(最远的版本号为1,最近的版本号为1500,即个数与版本号相对应,版本号越近表面数据越新),此时最后一次需要裁剪的边界值为1000(版本号为1000),最后一次需要裁剪的边界值减去最远的一个全量版本号为999,若999大于阈值,则进行裁剪,否则不进行裁剪。也即当前已经缓存在监控模块数据库中的磁盘全量分布信息中除去默认应该缓存的版本数外剩余的版本数仍大于阈值,则应该裁剪。以监控模块空间利用率为80%的配置参数为例:只有当缓存的版本超过可触发裁剪的版本为1000+监控模块默认缓存磁盘全量分布信息的版本数500时才会触发裁剪,裁剪的范围是除监控模块默认缓存磁盘全量分布信息的版本数(即缓存的最近的500个版本)外,即对版本号为1-1000的磁盘全量分布信息进行裁剪。
在一些实施例中,还包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定对应的所述阈值。
在一些实施例中,获取裁剪参数,进一步包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定当前迭代中每一次裁剪的磁盘全量分布信息的个数以及每一次迭代裁剪的磁盘全量分布信息的总个数。
具体的,无论是阈值、还是每一次裁剪的磁盘全量分布信息的个数以及每一次迭代裁剪的磁盘全量分布信息的总个数均可以预设一个范围,然后根据此时用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定当前的阈值、每一次裁剪的磁盘全量分布信息的个数以及每一次迭代裁剪的磁盘全量分布信息的总个数。
例如,监控模块数据库可占用空间最大为50G,监控模块默认缓存磁盘全量分布信息个数的最大值为500,每一次裁剪的磁盘全量分布信息的个数范围为[6,10],每一次迭代裁剪的磁盘全量分布信息的总个数范围为[200,300],阈值范围为[1000,2000]。假设空间利用率为50%,CPU过去5min平均占用超过80%,则设置当前的阈值为2000、每一次裁剪的磁盘全量分布信息的个数为6以及每一次迭代裁剪的磁盘全量分布信息的总个数为200,即分别取各自范围的最大值、最小值以及最小值。当监控模块数据库的空间利用率为60%后,占用空间每增大10%,则上述每一次裁剪的磁盘全量分布信息的个数增大20%(向上取整)、每一次迭代裁剪的磁盘全量分布信息的总个数增大20%(向上取整),阈值相应减少10%(向上取整),即当空间利用率为70%,则设置当前的阈值为1800、每一次裁剪的磁盘全量分布信息的个数为8以及每一次迭代裁剪的磁盘全量分布信息的总个数为240;当即当空间利用率为80%,则设置当前的阈值为1000、每一次裁剪的磁盘全量分布信息的个数为10以及每一次迭代裁剪的磁盘全量分布信息的总个数为300。
在一些实施例中,根据裁剪参数将对当前的磁盘全量分布信息进行裁剪,进一步包括:
将所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为初始边界值,并将所述最远的磁盘全量分布信息的版本号与所述初始边界值之间的磁盘全量分布信息进行裁剪;
将所述初始边界值或上一次裁剪的边界值加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为下一次裁剪的边界值,并将所述初始边界值或所述上一次裁剪的边界值与下一次裁剪的边界值之间的磁盘全量分布信息进行裁剪。
具体的,当触发裁剪时,首先将所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为初始边界值,然后将所述最远的磁盘全量分布信息的版本号与所述初始边界值之间的磁盘全量分布信息进行裁剪,接着进行迭代裁剪,即将上次裁剪版本的边界值(初始边界值)加上本次裁剪要处理的版本数得到本次裁剪版本的边界值,遍历这两个边界值之间的版本将其从监控模块的数据库中清除,只保留这两个边界值的版本。例如,假设当前迭代中每一次裁剪的磁盘全量分布信息的个数为10,第一次裁剪是将版本0(最远的磁盘全量分布信息的版本号)与版本10之间的版本进行裁剪,由于上次裁剪版本的边界值(初始边界值)为版本10,本次裁剪要处理的版本数为10个,则本次裁剪版本的边界值为20,则遍历10-20之间的版本,将其清除,则清除后留下的版本为10和20,本次迭代时已经裁剪的版本个数由9变为18,依次类推进行迭代裁剪并更新已经裁剪的版本个数。一次完整的裁剪可用如下表示,参数采用监控模块空间利用率为80%时为例:假设当前有1500个磁盘全量分布信息版本为|0|1|2|…|10|11|…|100|101|…|1000|1001|…|1499|经过上述磁盘全量分布信息的多次迭代裁剪后,版本号变为|0|10|…|100|110|…|990|1000|1001|…|1499|1500|。
在一些实施例中,还包括:
响应于当前已经裁剪的磁盘全量分布信息的个数加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数大于所述每一次迭代裁剪的磁盘全量分布信息的总个数,终止裁剪;或者,
响应于所述下一次裁剪的边界值大于所述最后一次待裁剪的边界值,终止裁剪。
具体的,每次进行迭代裁剪时,需要将本次迭代时已经裁剪的版本个数初始化为0,然后在进行循环裁剪,终止本次迭代的条件为:在经过本次迭代多次裁剪后已经裁剪的版本个数加上当前迭代中每一次裁剪的磁盘全量分布信息的个数大于所述每一次迭代裁剪的磁盘全量分布信息的总个数,则终止本次迭代裁剪;或者,下一次裁剪的边界值大于所述最后一次待裁剪的边界值,说明这一次裁剪会超过最后一次需要裁剪的版本号,也即会裁剪默认缓存的500个磁盘全量分布信息,此时同样需要终止裁剪。当终止裁剪后,等待下次监控模块缓存新的磁盘全量分布信息时再次触发迭代裁剪。
在一些实施例中,还包括:
响应于接收到获取指定版本的磁盘全量分布信息的请求,获取离所述指定版本最近的版本的磁盘全量分布信息以及所述最近的版本的磁盘全量分布信息和所述指定版本的磁盘全量分布信息之间的所有增量版本;
将所述所有增量版本更新到所述最近的版本的磁盘全量分布信息中以得到所述指定版本的磁盘全量分布信息。
具体的,如果其他模块或者客户端此时需要获取一份磁盘全量分布信息,但该版本已经被裁剪了,则需要通过磁盘增量分布信息(增量指的是两次全量版本之间的差异部分,裁剪时不会去清理该部分增量版本,但监控模块的清理机制会去清理,本发明针对的就是清理机制不生效场景下缓存过多全量版本引起的监控模块数据库占用空间过大问题)去构建出指定版本的全量OSD分布信息。首先获取离指定版本最近的版本的磁盘增量分布信息,接着以该版本为基础版本,找到其与指定版本之间的所有增量版本,然后遍历找到的增量版本,将其中的差异信息更新到基础版本中,最后遍历完成则将构建的版本返回提供给请求者。
需要说明的是离指定版本最近的版本的磁盘增量分布信息指向下最近的版本,例如裁剪后的版本为|0|10|…|100|110|…,指定版本为7,则需要获取版本0的磁盘增量分布信息,然后以次为基础进行更新得到指定版本。
本发明中提出的方案,以CPU占用率和监控模块数据库占用空间比例自适应调整配置参数并触发检查机制,检查是否需要进行裁剪,将除去默认缓存的版本数限制之外的版本按照一定规则进行裁剪,同时在其他模块请求到已经裁剪过的OSD分布信息版本时能够依据最近的全量版本和增量版本信息进行构建,保证其他模块可以请求到想要的版本,从而提高监控模块稳定性,提高产品竞争力。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种磁盘分布信息裁剪系统400,如图2所示,包括:
启动模块401,所述启动模块401配置为响应于当前系统满足裁剪条件,启动裁剪机制;
判断模块402,所述判断模块402配置为响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
获取模块403,所述获取模块403配置为响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
裁剪模块404,所述裁剪模块404配置为根据裁剪参数将对当前的磁盘全量分布信息进行裁剪。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种磁盘分布信息裁剪方法的步骤。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行如上的任一种磁盘分布信息裁剪方法的步骤。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (9)

1.一种磁盘分布信息裁剪方法,其特征在于,包括以下步骤:
响应于当前系统满足裁剪条件,启动裁剪机制;
响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
根据裁剪参数将对当前的磁盘全量分布信息进行裁剪;
响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否需要对当前的磁盘全量分布信息进行裁剪,进一步包括:
判断所述新的磁盘全量分布信息的版本号与所述当前的磁盘全量分布信息中最远的磁盘全量分布信息的版本号的差值是否大于默认缓存最大值;
响应于大于所述默认缓存最大值,利用所述新的磁盘全量分布信息的版本号减去所述默认缓存最大值以得到最后一次待裁剪的边界值;
响应于所述边界值大于阈值,则触发裁剪。
2.如权利要求1所述的方法,其特征在于,还包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定对应的所述阈值。
3.如权利要求1所述的方法,其特征在于,获取裁剪参数,进一步包括:
根据用于缓存当前的磁盘全量分布信息的缓存空间的利用率确定当前迭代中每一次裁剪的磁盘全量分布信息的个数以及每一次迭代裁剪的磁盘全量分布信息的总个数。
4.如权利要求3所述的方法,其特征在于,根据裁剪参数将对当前的磁盘全量分布信息进行裁剪,进一步包括:
将所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为初始边界值,并将所述最远的磁盘全量分布信息的版本号与所述初始边界值之间的磁盘全量分布信息进行裁剪;
将所述初始边界值或上一次裁剪的边界值加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数作为下一次裁剪的边界值,并将所述初始边界值或所述上一次裁剪的边界值与下一次裁剪的边界值之间的磁盘全量分布信息进行裁剪。
5.如权利要求4所述的方法,其特征在于,还包括:
响应于当前已经裁剪的磁盘全量分布信息的个数加上所述当前迭代中每一次裁剪的磁盘全量分布信息的个数大于所述每一次迭代裁剪的磁盘全量分布信息的总个数,终止裁剪;或者,
响应于所述下一次裁剪的边界值大于所述最后一次待裁剪的边界值,终止裁剪。
6.如权利要求1所述的方法,其特征在于,还包括:
响应于接收到获取指定版本的磁盘全量分布信息的请求,获取离所述指定版本最近的版本的磁盘全量分布信息以及所述最近的版本的磁盘全量分布信息和所述指定版本的磁盘全量分布信息之间的所有增量版本;
将所述所有增量版本更新到所述最近的版本的磁盘全量分布信息中以得到所述指定版本的磁盘全量分布信息。
7.一种磁盘分布信息裁剪系统,其特征在于,包括:
启动模块,所述启动模块配置为响应于当前系统满足裁剪条件,启动裁剪机制;
判断模块,所述判断模块配置为响应于缓存新的磁盘全量分布信息,根据所述裁剪机制中预设的裁剪触发条件判断是否触发对当前的磁盘全量分布信息进行裁剪;
获取模块,所述获取模块配置为响应于触发对当前的磁盘全量分布信息进行裁剪,获取裁剪参数;
裁剪模块,所述裁剪模块配置为根据裁剪参数将对当前的磁盘全量分布信息进行裁剪;
所述判断模块配置为:
判断所述新的磁盘全量分布信息的版本号与所述当前的磁盘全量分布信息中最远的磁盘全量分布信息的版本号的差值是否大于默认缓存最大值;
响应于大于所述默认缓存最大值,利用所述新的磁盘全量分布信息的版本号减去所述默认缓存最大值以得到最后一次待裁剪的边界值;
响应于所述边界值大于阈值,则触发裁剪。
8.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-6任意一项所述的方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-6任意一项所述的方法的步骤。
CN202110027230.7A 2021-01-09 2021-01-09 一种磁盘分布信息裁剪方法、系统、设备以及介质 Active CN112732192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110027230.7A CN112732192B (zh) 2021-01-09 2021-01-09 一种磁盘分布信息裁剪方法、系统、设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110027230.7A CN112732192B (zh) 2021-01-09 2021-01-09 一种磁盘分布信息裁剪方法、系统、设备以及介质

Publications (2)

Publication Number Publication Date
CN112732192A CN112732192A (zh) 2021-04-30
CN112732192B true CN112732192B (zh) 2023-01-10

Family

ID=75590045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110027230.7A Active CN112732192B (zh) 2021-01-09 2021-01-09 一种磁盘分布信息裁剪方法、系统、设备以及介质

Country Status (1)

Country Link
CN (1) CN112732192B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986147A (zh) * 2021-12-24 2022-01-28 苏州浪潮智能科技有限公司 一种raid 6硬件加速电路结构和raid 6硬件加速实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190623A (zh) * 2013-03-15 2015-12-23 亚马逊科技公司 日志记录管理
CN109582649A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种元数据存储方法、装置、设备及可读存储介质
CN111708484A (zh) * 2020-05-22 2020-09-25 苏州浪潮智能科技有限公司 一种控制数据下刷速度的方法、系统、设备及介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190623A (zh) * 2013-03-15 2015-12-23 亚马逊科技公司 日志记录管理
CN109582649A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种元数据存储方法、装置、设备及可读存储介质
CN111708484A (zh) * 2020-05-22 2020-09-25 苏州浪潮智能科技有限公司 一种控制数据下刷速度的方法、系统、设备及介质

Also Published As

Publication number Publication date
CN112732192A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN108694075B (zh) 处理报表数据的方法、装置、电子设备和可读存储介质
US8001273B2 (en) Parallel processing of input data to locate landmarks for chunks
US10621104B2 (en) Variable cache for non-volatile memory
CN112732192B (zh) 一种磁盘分布信息裁剪方法、系统、设备以及介质
CN110531933B (zh) 数据处理方法及服务器
US11636112B2 (en) Updating cache data
CN111078585B (zh) 一种内存缓存管理方法、系统、存储介质及电子设备
CN111343267A (zh) 一种配置的管理方法及系统
CN112416972A (zh) 实时数据流处理方法、装置、设备、及可读存储介质
JP2013156766A (ja) 情報処理装置、メモリ管理方法およびメモリ管理プログラム
US20230224209A1 (en) Adaptive time window-based log message deduplication
EP3550446A1 (en) Updating cache data
CN111221790A (zh) 一种日志文件的处理方法、装置及计算机可读存储介质
CN114968945A (zh) 数据留存管理方法、装置、存储介质及设备
CN110990640B (zh) 一种数据判定方法、装置、设备及计算机可读存储介质
CN114764416A (zh) 数据缓存方法、装置、设备及计算机可读存储介质
CN113535206A (zh) 多版本代码升级方法及系统
CN112463741A (zh) 一种聚合大文件的清理方法及相关设备
CN114817234A (zh) 用于管理存储系统的索引的方法、设备和程序产品
CN113656444B (zh) 一种数据持久化方法、服务器及管理设备
CN111524059A (zh) 一种图像缓存时内存利用方法、系统、终端和存储介质
CN110879774B (zh) 一种网元性能数据告警方法及装置
CN112445427B (zh) 一种处理快取服务器资料的方法、系统、设备及介质
CN115858419B (zh) 元数据管理方法、装置、设备、服务器及可读存储介质
CN118132608A (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