CN112684972B - 基于分布式块存储的数据存储方法及装置 - Google Patents
基于分布式块存储的数据存储方法及装置 Download PDFInfo
- Publication number
- CN112684972B CN112684972B CN201910990100.6A CN201910990100A CN112684972B CN 112684972 B CN112684972 B CN 112684972B CN 201910990100 A CN201910990100 A CN 201910990100A CN 112684972 B CN112684972 B CN 112684972B
- Authority
- CN
- China
- Prior art keywords
- adjusting
- time window
- adjustment
- index
- time
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于分布式块存储的数据存储方法及装置。该方法包括:获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;当业务数据量及时间窗口满足业务调整条件时,在时间窗口内获取至少一个指标所对应的采样指标值;当采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。采用本方案,能够结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于分布式块存储的数据存储方法及装置。
背景技术
随着科技及社会的不断发展所带来的海量数据的存储需求,传统的存储方式已不再适用于大规模的数据存储。目前,分布式存储以其扩展性高、性价比高、容错性好等优势越来越多地被应用于海量数据的存储中。其中,根据存储的访问接口以及应用场景,通常把分布式存储分为三种类型,即分布式块存储,分布式文件存储,和分布式对象存储。
其中,分布式块存储一般通过全分布式缓存共享池、分布式哈希架构进行部署,具有较高的读写效率。目前的分布式块存储模式中,通常是在缓存盘中的数据到达预定的水位线时,触发缓存盘中数据至硬盘的写入。例如,现有分布式块存储水位线一般设置为60%,当缓存盘中数据达到水位线60%时,水位线自动调整为55%,并将5%的数据进行刷盘操作(写入硬盘中),之后水位线会自动调整回60%。
然而,发明人在实施过程中发现,现有技术中存在如下缺陷:采用现有的分布式块存储的数据存储方式,通常会大幅降低缓存盘的利用率,并且具有读写稳定性差的弊端。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于分布式块存储的数据存储方法及装置。
根据本发明的一个方面,提供了一种基于分布式块存储的数据存储方法,包括:
获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。
可选的,所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
可选的,所述方法还包括:
根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
可选的,所述采样指标值满足指标调整条件进一步包括:
针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
可选的,所述指标包括以下指标中的至少一种:
负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
可选的,所述采用相应的水位线调整方式调整缓存盘的水位线进一步包括:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
可选的,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
根据本发明的另一方面,提供了一种基于分布式块存储的数据存储装置,包括:
业务信息获取模块,适于获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
业务条件判断模块,适于判断所述业务数据量及所述时间窗口是否满足业务调整条件;
指标信息获取模块,适于当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
指标条件判断模块,适于所述采样指标值满足指标调整条件;
调整模块,适于当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。
可选的,所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
可选的,业务条件判断模块进一步适于:根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
可选的,所述采样指标值满足指标调整条件进一步包括:针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
可选的,所述指标包括以下指标中的至少一种:负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
可选的,所述调整模块进一步适于,按照以下步骤执行:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
可选的,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于分布式块存储的数据存储方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于分布式块存储的数据存储方法对应的操作。
根据本发明提供的基于分布式块存储的数据存储方法及装置,首先获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;当业务数据量及时间窗口满足业务调整条件时,在时间窗口内获取至少一个指标所对应的采样指标值;当采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。采用本方案,能够结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例提供的一种基于分布式块存储的数据存储方法的流程示意图;
图2示出了根据本发明另一个实施例提供的一种基于分布式块存储的数据存储方法的流程示意图;
图3示出了根据本发明一个实施例提供的一种基于分布式块存储的数据存储装置的结构示意图;
图4示出了根据本发明一个实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例提供的一种基于分布式块存储的数据存储方法的流程示意图,其中,该方法可应用于多种计算设备中,本实施例对计算设备的具体类型等不做限定。
其中,在本实施例中,不同于现有技术中在达到预定的水位线之后直接进行刷盘(将缓存盘中的数据写入至)操作,本实施例具体是结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
如图1所示,该方法具体包括:
步骤S110,获取当前单位时间内的业务数据量,以及当前所对应的时间窗口。
本实施例中,通过步骤S110及步骤S120的实施来判断当前是否满足业务调整条件,仅在确定当前满足业务调整条件的情况下,进一步通过步骤S130及步骤S140确定当前是否满足指标调整条件。
在具体的实施过程中,在判断当前是否满足业务调整条件时,首先获取有与当前的业务状况相关的信息,即当前单位时间内的业务数据量。其中,当前单位时间内的业务数据量能够反映出当前业务的繁忙状态。可选的,单位时间可以为每周,每日,或每小时等等,本实施例对单位时间的具体内容不做限定,本领域技术人员可根据实际的业务情况选择相应的单位时间设置方式。
进一步地,本实施例除了获取有当前单位时间内的业务数据量之外,还进一步地获取有当前所对应的时间窗口。在实际的实施过程中,为了使数据存储过程与业务情况紧密结合,以提升读写稳定性,本实施例中预先设定有至少一个时间窗口,每个时间窗口对应于相应的可调整参数,如时间窗口9:00-11:00为预先统计的业务繁忙期,则可为该时间窗口配置“不可调整”参数,从而在该时间窗口内,将不进行刷盘操作;而时间窗口18:00-24:00为预先统计的业务空闲期,从而可为该时间窗口配置“可调整”参数,即可以在该18:00-24:00时间窗口内进行水位线的调整,从而实现刷盘操作。在本步骤中,可获取当前所对应的时间点,确定该时间点所匹配的时间窗口,如当前时间为9:01,则确定当前所对应的时间窗口为9:00-11:00。
在一种可选的实施方式中,可为设置的每个时间窗口配置相应的权重值,从而能够根据时间窗口所对应的权重值,确定时间窗口是否为可调整时间窗口。如,当权重值大于预设权重(如3)时,确定该时间窗口为可调整窗口。
步骤S120,判断当前业务数据量及时间窗口是否满足业务调整条件;若是,则执行步骤S130。
在获取当前单位时间内的业务数据量,以及当前所对应的时间窗口之后,进一步判断当前业务数据量及时间窗口是否满足业务调整条件。其中,本实施例对具体的业务调整条件不做限定。
在一种可选的实施方式中,在判断当前业务数据量及时间窗口是否满足业务调整条件时,可判断当前是否满足:获取的当前业务数据量大于当前缓存盘的可利用容量,且当前所对应的时间窗口为可调整时间窗口;若是,则表明当前满足业务调整条件,则进一步执行后续步骤;否则,则表明当前不满足业务调整条件,则可进一步执行步骤S110,即继续不断监测当前单位时间内的业务数据量及当前对应的时间窗口。
进一步可选的,上述当前缓存盘的可利用容量可基于刷盘缓存百分比获得,而刷盘缓存百分比与预定的水位线相关。则在实际的实施过程中,是当当前业务数据量超出缓存盘与水位线乘积时,进一步地判断当前所对应的时间窗口是否为可调整时间窗口,若是,则确定当前满足业务调整条件。
步骤S130,在该时间窗口内获取至少一个指标所对应的采样指标值。
在确定当前满足业务调整条件,即当前超出水位线,且当前时间窗口为可调整窗口时,进一步地获取指标调整条件相关的数据。其中,指标调整条件相关的数据具体包括在该时间窗口内至少一个指标所对应的采样指标值。该时间窗口具体为当前所对应的时间窗口。该指标包括以下指标中的至少一种:负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。其中,本实施例对采样指标值的获取方式等不做限定。
步骤S140,判断该采样指标值是否满足指标调整条件;若是,则执行步骤S150。
在获取了该时间窗口内至少一个指标所对应的采样指标值之后,进一步地判断该采样指标值是否满足指标调整条件。其中,本实施例对具体的指标调整条件不做限定。
在一种可选的实施方式中,在判断该采样指标值是否满足指标调整条件时,可判断当前是否满足:针对于至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值;若是,则确定当前满足指标调整条件,从而执行后续步骤;否则,则确定当前不满足指标调整条件,则可进一步地获取时间窗口内的下一时间点的指标所对应的采样指标值,并进一步执行指标调整条件的判断。举例来说,针对于CPU利用率指标,可在预设统计周期内,按照相应的采用周期进行瞬时时刻CPU利用率的采样,从而获得Mt1,Mt2,…Mtn(Mt1为t1时刻的CPU利用率…),则通过求取最大值Mt=Max{Mt1,Mt2,…Mtn},可获得CPU利用率指标在预设统计周期内的最大值。
步骤S150,采用相应的水位线调整方式调整缓存盘的水位线。
在确定当前满足业务调整条件以及指标调整条件时,可采用相应的水位线调整方式调整缓存盘的水位线,即采用相应的刷盘策略进行刷盘操作。其中,本实施例对具体的水位线调整方式不做限定。
其中,水位线调整方式可采用以下方式中的一种或多种的组合:
在一种可选的调整方式中,按照固定的调整幅度,对水位线进行调整,从而提升水位线调整效率。例如,初始水位线为60%,当确定当前满足业务调整条件及指标调整条件时,可按照调整幅度为5%的方式进行调整,即将水位线调整为55%,从而将5%的数据从缓存盘写入硬盘中。
在另一种可选的调整方式中,采用动态调整的方式,来进行水位线的调整,从而使得水位线的调整(即数据的刷盘操作)能够与实际情形相符合,提升水位线调整的精度,提高读写稳定性。在具体的实施过程中,可通过以下步骤进行水位线的调整:
S1,确定调整幅度;其中,调整幅度可以为:(当前水位线–调整水位线)*100%+5%;
S2,根据调整幅度确定每次调整容量、每次调整时长及调整次数;其中,可确定每次调整容量,即确定每次将缓存盘中的数据写入硬盘中的容量,调整容量可根据S1中的调整幅度确定;在确定每次调整容量之后,进一步地确定出每次调整时长,每次调整时长可根据每次调整容量及硬盘性能(如硬盘的写入速度等)进行确定;并根据每次调整容量、每次调整时长及调整幅度来确定调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;具体的,可根据每次调整时长与调整次数的乘积来确定总调整时长;
S4,若总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;具体地,当总调整时长超出时间窗口,或者,总调整时长未超出时间窗口,但总调整时长与时间窗口差值大于预设阈值(如远远小于时间窗口),则确定需要进行重新调整,则进一步执行步骤S1或步骤S2以调整调整幅度、每次调整容量、每次调整时长和/或调整次数等等,从而实现动态调整;
S5,若总调整时长未超出时间窗口,且总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整;当总调整时长未超出时间窗口,且总调整时长与时间窗口差值小于或等于预设阈值时,表明当前确定的调整调整幅度、每次调整容量、每次调整时长和/或调整次数适宜,则无需再进行调整调整幅度、每次调整容量、每次调整时长和/或调整次数的调整,从而按照当前调整调整幅度、每次调整容量、每次调整时长和/或调整次数进行水位线的调整,即进行刷盘操作。
由此可见,本实施例结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
图2示出了根据本发明另一个实施例提供的一种基于分布式块存储的数据存储方法的流程示意图,其中,该方法可应用于多种计算设备中,本实施例对计算设备的具体类型等不做限定。其中,本实施例所提供的数据存储方法是针对于图1所示实施例的进一步优化。
如图2所示,该方法包括:
步骤S210,为缓存盘中的多个硬盘映射区中的每个硬盘映射区配置相应的水位线,其中,多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
在实际的实施过程中,每个缓存盘通常具有多块硬盘映射区,在刷盘过程中,每块硬盘映射区中的数据写入与其相对应的硬盘块中。在现有的实施方式中,每块硬盘映射区的水位线均相同,从而通常会导致多块硬盘映射区中的数据同时进行刷盘操作,进而降低了数据读写稳定性。因此,为进一步地提升读写稳定性,本实施例在图1所示实施例的基础上,进一步地为每个缓存盘中的硬盘映射区配置了相应的水位线,其中,多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
可选的,可采用阶梯配置的方式为每个硬盘映射区配置相应的水位线,从而能够实现阶梯式的刷盘操作。例如,可设置阶梯幅度为X,阶梯数量为N,第二硬盘映射区L2的水位线=L1+X,其中,L1为第一硬盘映射区的水位线,第一硬盘映射区为第二硬盘映射区相邻的前一硬盘映射区;并使得所有硬盘映射区水位线保持在预定水位线的90%-110%之间。
步骤S220,获取当前单位时间内的业务数据量,以及当前所对应的时间窗口。
步骤S230,针对于每个硬盘映射区,判断当前业务数据量及时间窗口是否满足该硬盘映射区所对应的业务调整条件;若是,则执行步骤S240。
其中,由于每个硬盘映射区具有相应的水位线,从而本步骤中需针对于每个硬盘映射区,判断当前业务数据量及时间窗口是否满足该硬盘映射区所对应的业务调整条件。
步骤S240,在该时间窗口内获取至少一个指标所对应的采样指标值。
步骤S250,针对于每个硬盘映射区,判断该采样指标值是否满足该硬盘映射区所对应的指标调整条件;若是,则执行步骤S260。
步骤S260,采用相应的水位线调整方式调整缓存盘的水位线。
其中,本实施例中步骤S220-步骤S260的具体实施方式可参照图1所示方法实施例中相应部分的描述,本实施例在此不做赘述。
由此可见,本实施例在结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率的基础上,进一步地为每个硬盘映射区设置相应的水位线,从而避免现有技术中多块硬盘映射区同时进行刷盘操作而引起的读写稳定性差的弊端。
图3示出了根据本发明一个实施例提供的一种基于分布式块存储的数据存储装置的结构示意图。如图3所示,该装置包括:业务信息获取模块31、业务条件判断模块32、指标信息获取模块33、指标条件判断模块34、调整模块35。
业务信息获取模块31,适于获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
业务条件判断模块32,适于判断所述业务数据量及所述时间窗口是否满足业务调整条件;
指标信息获取模块33,适于当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
指标条件判断模块34,适于所述采样指标值满足指标调整条件;
调整模块35,适于当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。
可选的,所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
可选的,业务条件判断模块进一步适于:根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
可选的,所述采样指标值满足指标调整条件进一步包括:针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
可选的,所述指标包括以下指标中的至少一种:负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
可选的,所述调整模块进一步适于,按照以下步骤执行:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
可选的,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
其中,本实施例中各模块的具体实施过程可参照图1和/或图2所示方法实施例中相应部分的描述,本实施例在此不做赘述。
由此可见,本实施例结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
根据本发明一个实施例提供了一种计算机存储介质。所述计算机存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如下操作:
获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。
在一种可选的实施方式中,所述可执行指令使处理器执行如下操作:
所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
在一种可选的实施方式中,所述可执行指令使处理器执行如下操作:
根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
在一种可选的实施方式中,所述可执行指令使处理器执行如下操作:
所述采样指标值满足指标调整条件进一步包括:
针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
在一种可选的实施方式中,所述指标包括以下指标中的至少一种:
负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
在一种可选的实施方式中,所述可执行指令使处理器执行如下操作:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
在一种可选的实施方式中,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
由此可见,本实施例结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
图4示出了根据本发明一个实施例提供的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于基于分布式块存储的数据存储方法方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
所述采样指标值满足指标调整条件进一步包括:
针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
在一种可选的实施方式中,所述指标包括以下指标中的至少一种:
负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
在一种可选的实施方式中,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
由此可见,本实施例结合实际的业务情况,仅在满足预设的业务调整条件及指标调整条件时才采用相应的调整方式进行刷盘操作,从而使得分布式块存储的数据存储过程与实际的业务状况相耦合,提升读写稳定性,并大幅提高缓存盘的利用率。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (9)
1.一种基于分布式块存储的数据存储方法,其特征在于,包括:
获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线;
其中,所述采用相应的水位线调整方式调整缓存盘的水位线进一步包括:
S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
2.根据权利要求1所述的方法,其特征在于,所述业务数据量及所述时间窗口满足业务调整条件进一步包括:
所述业务数据量大于当前缓存盘的可利用容量,且所述时间窗口为可调整时间窗口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述时间窗口所对应的权重值,确定所述时间窗口是否为可调整时间窗口。
4.根据权利要求1所述的方法,其特征在于,所述采样指标值满足指标调整条件进一步包括:
针对于所述至少一个指标中的每个指标,该指标所对应的采样指标值小于该指标所对应的预设统计周期内的最大值。
5.根据权利要求4所述的方法,其特征在于,所述指标包括以下指标中的至少一种:
负载、CPU利用率、内存利用率、磁盘读写吞吐率、磁盘IOPS、以及磁盘延时。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述缓存盘具有多块硬盘映射区;多块硬盘映射区中至少两块硬盘映射区所对应的水位线不同。
7.一种基于分布式块存储的数据存储装置,其特征在于,包括:
业务信息获取模块,适于获取当前单位时间内的业务数据量,以及当前所对应的时间窗口;
业务条件判断模块,适于判断所述业务数据量及所述时间窗口是否满足业务调整条件;
指标信息获取模块,适于当所述业务数据量及所述时间窗口满足业务调整条件时,在所述时间窗口内获取至少一个指标所对应的采样指标值;
指标条件判断模块,适于所述采样指标值满足指标调整条件;
调整模块,适于当所述采样指标值满足指标调整条件时,采用相应的水位线调整方式调整缓存盘的水位线;
其中,调整模块进一步适于,按照以下步骤执行:S1,确定调整幅度;
S2,根据所述调整幅度确定每次调整容量、每次调整时长及调整次数;
S3,根据所述每次调整容量、每次调整时长和/或调整次数,确定总调整时长;
S4,若所述总调整时长超出所述时间窗口,则进一步执行步骤S1或步骤S2;或者,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值大于预设阈值,则进一步执行步骤S2;
S5,若所述总调整时长未超出所述时间窗口,且所述总调整时长与所述时间窗口差值小于或等于预设阈值,则根据当前确定的每次调整容量、每次调整时长及调整次数进行水位线调整。
8.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的基于分布式块存储的数据存储方法对应的操作。
9.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的基于分布式块存储的数据存储方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910990100.6A CN112684972B (zh) | 2019-10-17 | 2019-10-17 | 基于分布式块存储的数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910990100.6A CN112684972B (zh) | 2019-10-17 | 2019-10-17 | 基于分布式块存储的数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112684972A CN112684972A (zh) | 2021-04-20 |
CN112684972B true CN112684972B (zh) | 2022-12-27 |
Family
ID=75444618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910990100.6A Active CN112684972B (zh) | 2019-10-17 | 2019-10-17 | 基于分布式块存储的数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112684972B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095112A (zh) * | 2015-07-20 | 2015-11-25 | 华为技术有限公司 | 控制缓存刷盘方法、装置及非易失性计算机可读存储介质 |
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN110321301A (zh) * | 2018-03-30 | 2019-10-11 | 华为技术有限公司 | 一种数据处理的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9385915B2 (en) * | 2012-11-30 | 2016-07-05 | Netapp, Inc. | Dynamic caching technique for adaptively controlling data block copies in a distributed data processing system |
-
2019
- 2019-10-17 CN CN201910990100.6A patent/CN112684972B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095112A (zh) * | 2015-07-20 | 2015-11-25 | 华为技术有限公司 | 控制缓存刷盘方法、装置及非易失性计算机可读存储介质 |
CN110321301A (zh) * | 2018-03-30 | 2019-10-11 | 华为技术有限公司 | 一种数据处理的方法及装置 |
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
Non-Patent Citations (2)
Title |
---|
基于分布式块存储系统的服务质量研究与优化;屠要峰等;《电信科学》;20180420(第04期);全文 * |
网络存储阵列中CACHE的设计;田新宇等;《计算机系统应用》;20110615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112684972A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748418B2 (en) | Storage aggregator controller with metadata computation control | |
US8996824B2 (en) | Memory reorder queue biasing preceding high latency operations | |
US20170371807A1 (en) | Cache data determining method and apparatus | |
EP2437168A2 (en) | Method and device for balancing load of multiprocessor system | |
CN106681661B (zh) | 一种固态硬盘中读写调度方法及装置 | |
CN110362275B (zh) | 提升固态硬盘服务质量的方法及固态硬盘 | |
KR20150017526A (ko) | 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법 | |
CN110543279B (zh) | 一种数据存储、处理方法、装置及系统 | |
CN117251275B (zh) | 多应用异步i/o请求的调度方法及系统、设备及介质 | |
CN109445719B (zh) | 一种数据存储方法及装置 | |
CN112684972B (zh) | 基于分布式块存储的数据存储方法及装置 | |
JP6739617B2 (ja) | メモリリクエスト情報に基づきキャッシュメモリのクロック速度/電圧を設定する装置及び方法 | |
CN107329832B (zh) | 一种数据接收方法及装置 | |
CN113127179A (zh) | 资源调度方法、装置、电子设备及计算机可读介质 | |
WO2022179294A1 (zh) | 数据预取的方法、设备及系统 | |
US20230138057A1 (en) | Method and Control Device for Returning of Command Response Information, and Electronic Device | |
KR102190688B1 (ko) | 관련된 응용들에 상호 참조하는 적응적 컨텍스트 스위칭을 수행하는 방법 및 시스템 | |
US20140173225A1 (en) | Reducing memory access time in parallel processors | |
CN111506254A (zh) | 分布式存储系统及其管理方法、装置 | |
CN110069340B (zh) | 线程数评估方法及装置 | |
CN113076070A (zh) | 数据处理方法和装置 | |
CN116991781B (zh) | 一种请求处理装置、方法、芯片、存储介质及电子设备 | |
CN108304252B (zh) | 一种任务调度方法及装置 | |
CN116467353B (zh) | 一种基于lru差异化的自适应调节的缓存方法及系统 | |
CN107656879B (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 |