CN105095112A - 控制缓存刷盘方法、装置及非易失性计算机可读存储介质 - Google Patents

控制缓存刷盘方法、装置及非易失性计算机可读存储介质 Download PDF

Info

Publication number
CN105095112A
CN105095112A CN201510429142.4A CN201510429142A CN105095112A CN 105095112 A CN105095112 A CN 105095112A CN 201510429142 A CN201510429142 A CN 201510429142A CN 105095112 A CN105095112 A CN 105095112A
Authority
CN
China
Prior art keywords
buffer memory
brush
priority
status information
timeslice
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
CN201510429142.4A
Other languages
English (en)
Other versions
CN105095112B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510429142.4A priority Critical patent/CN105095112B/zh
Publication of CN105095112A publication Critical patent/CN105095112A/zh
Application granted granted Critical
Publication of CN105095112B publication Critical patent/CN105095112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种控制缓存刷盘方法、装置及非易失性计算机可读存储介质,该方法包括:分别确定第一缓存和第二缓存的刷盘优先级;根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,本发明中,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘,从而避免了当多个缓存同时向同一低速存储设备进行刷盘时,各个缓存之间刷盘操作的相互干扰,从而提高了刷盘操作的性能。

Description

控制缓存刷盘方法、装置及非易失性计算机可读存储介质
技术领域
本发明涉及数据存储技术领域,尤其涉及一种控制缓存刷盘方法、装置及非易失性计算机可读存储介质。
背景技术
为了弥补低速存储设备和高速计算设备之间的巨大性能差异,低速存储设备(如磁盘)需要使用缓存设备暂时缓存数据以供计算设备处理。
现有技术中,当缓存设备中的数据量达到阈值时,需要将数据写入到低速存储设备中。其中,将缓存设备中的数据写入低速存储设备中的操作称为刷盘,需要刷盘的数据通常包括缓存中缓存的尚未写入低速存储设备的数据(即缓存的待写入数据)以及从低速存储设备读取但在缓存中已经被修改的数据。
通常,多个缓存共用一个低速存储设备,但是,采用现有技术,当多个缓存进行刷盘操作时,会造成数据流的交织,即造成各个缓存之间刷盘操作的相互干扰,从而导致刷盘操作性能降低。
发明内容
本发明提供一种控制缓存刷盘方法、装置及非易失性计算机可读存储介质,用于解决现有技术中当多个缓存进行刷盘操作时,会导致刷盘操作性能降低的问题。
本发明实施例第一方面提供一种控制缓存刷盘方法,所述方法应用于缓存系统中,所述缓存系统包括第一缓存和第二缓存,所述第一缓存用于缓存第一设备的数据,所述第二缓存用于缓存第二设备的数据;所述方法包括:
分别确定所述第一缓存和所述第二缓存的刷盘优先级;
根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;
根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
结合第一方面,在第一方面的第一种可能的实施方式中,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,包括:
接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,具体包括:
若所述第一缓存和所述第二缓存对应的刷盘优先级相同,则分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
结合第一方面,在第一方面的第三种可能的实施方式中,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,包括:
根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级;
其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,包括:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述第二优先级。
结合第一方面的第三种可能的实施方式,在第一方面的第五种可能的实施方式中,所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,包括:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
结合第一方面,在第一方面的第六种可能的实施方式中,所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
本发明实施例第二方面提供一种控制缓存刷盘的装置,所述装置包括:
确定模块,用于分别确定第一缓存和第二缓存的刷盘优先级;
分配模块,用于根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
结合第二方面,在第二方面的第一种可能的实施方式中,所述确定模块,具体用于接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述确定模块,具体用于在所述第一缓存和所述第二缓存对应的刷盘优先级相同时,分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
结合第二方面,在第二方面的第三种可能的实施方式中,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,具体为:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述所述第二优先级。
结合第二方面的第三种可能的实施方式,在第二方面的第五种可能的实施方式中,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,具体为:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
结合第二方面,在第二方面的第六种可能的实施方式中,所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
本发明实施例第三方面提供一种控制缓存刷盘的装置,所述装置包括处理器和存储器,所述存储器存储计算机可执行指令,所述处理器执行所述计算机可执行指令使所述装置执行如下步骤:
分别确定第一缓存和第二缓存的刷盘优先级;根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
结合第三方面,在第三方面的第一种可能的实施方式中,所述装置执行的所述分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:所述装置接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第三方面的第一种可能实施方式,在第三方面的第二种可能的实施方式中,所述装置执行的所述分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:在所述第一缓存和所述第二缓存对应的刷盘优先级相同时,分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
结合第三方面,在第三方面的第三种可能的实施方式中,所述装置执行的所述分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
结合第三方面的第三种可能实施方式,在第三方面的第四种可能的实施方式中,所述装置执行的所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级步骤具体包括:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述第二优先级。
结合第三方面的第三种可能实施方式,在第三方面的第五种可能的实施方式中,所述装置执行的所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级步骤具体包括:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
结合第三方面,在第三方面的第六种可能实施方式中,所述装置执行的根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片,根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片步骤具体包括:所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
本发明实施例第四方面提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储计算机指令,所述计算机指令用于使控制缓存刷盘的装置执行上述控制缓存刷盘方法。
本发明实施例中,分别确定第一缓存和第二缓存的刷盘优先级;根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,这样,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘,从而避免了当多个缓存同时向同一低速存储设备进行刷盘时,各个缓存之间刷盘操作的相互干扰,从而提高了刷盘操作的性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例。
图1为本发明提供的控制缓存刷盘方法应用场景实施例一的结构示意图;
图2为本发明提供的控制缓存刷盘方法应用场景实施例二的结构示意图;
图3为本发明提供的控制缓存刷盘方法应用场景实施例三的结构示意图;
图4为本发明提供的控制缓存刷盘方法实施例一的流程示意图;
图5为本发明提供的控制缓存刷盘方法实施例二的流程示意图;
图6为本发明提供的控制缓存刷盘方法实施例三的流程示意图;
图7为本发明提供的控制缓存刷盘方法实施例四的流程示意图;
图8为本发明提供的控制缓存刷盘方法实施例五的确定刷盘优先级的流程示意图;
图9为本发明提供的控制缓存刷盘装置的实施例一的结构示意图;
图10为本发明提供的控制缓存刷盘装置的实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1为本发明提供的控制缓存刷盘方法应用场景实施例一的结构示意图,如图1所示,第一缓存20用于存储第一主机01的数据,第二缓存21用于存储第二主机02的数据,第三缓存22用于存储第三主机03的数据,其中,第一缓存20、第二缓存21和第三缓存22共用一个低速存储设备30。
第一缓存20、第二缓存21和第三缓存22形成缓存系统,当第一缓存20、第二缓存21和第三缓存22同时进行刷盘操作时,会造成数据流的交织,即造成各个缓存之间刷盘操作的相互干扰,本发明提供的控制缓存刷盘方法可以应用于上述缓存系统,以解决各个缓存之间刷盘操作的相互干扰的问题。
图2为本发明提供的控制缓存刷盘方法应用场景实施例二的结构示意图,如图2所示,缓存设备用于存储第四主机04、第五主机05以及第六主机06的数据,其中,缓存设备中存在相互独立的缓存分区,例如,缓存设备可以存在三个分区,分别记做第四缓存23、第五缓存24、第六缓存25,其中,第四缓存23、第五缓存24和第六缓存25共用一个低速存储设备31。
第四缓存23、第五缓存24和第六缓存25形成缓存系统,当第四缓存23、第五缓存24和第六缓存25同时进行刷盘操作时,会造成数据流的交织,即造成各个缓存之间刷盘操作的相互干扰,本发明提供的控制缓存刷盘方法可以应用于上述缓存系统,以解决各个缓存之间刷盘操作的相互干扰。
图3为本发明提供的控制缓存刷盘方法应用场景实施例三的结构示意图,如图3所示,第七主机07中运行多台虚拟机,例如,第七主机07中运行三台虚拟机,缓存设备用于存储第一虚拟机40、第二虚拟机41以及第三虚拟机43的数据,其中,缓存设备中存在相互独立的缓存分区,例如,缓存设备可以存在三个分区,分别记做第七缓存26、第八缓存27、第九缓存28,其中,第七缓存26、第八缓存27和第九缓存28共用一个低速存储设备32。
第七缓存26、第八缓存27和第九缓存28形成缓存系统,当第七缓存26、第八缓存27和第九缓存28同时进行刷盘操作时,会造成数据流的交织,即造成各个缓存之间刷盘操作的相互干扰,本发明提供的控制缓存刷盘方法可以应用于上述缓存系统,以解决各个缓存之间刷盘操作的相互干扰。
需要说明的是,本发明提供的控制缓存刷盘方法不仅限于上述三种应用场景,本发明的缓存系统也可以是单纯的存储系统,也可以是主机、服务器等设备的缓存系统,但并不以此为限。
图4为本发明提供的控制缓存刷盘方法实施例一的流程示意图,该方法应用于缓存系统中,缓存系统包括第一缓存和第二缓存,第一缓存用于缓存第一设备的数据,第二缓存用于缓存第二设备的数据。
需要说明的是,本发明提供的控制缓存刷盘方法可以由刷盘控制装置执行,其中,刷盘控制装置可以由上述第一缓存或者第二缓存来担任,也可以采用除上述第一缓存或者第二缓存之外的独立设备来担任,该独立设备与上述缓存系统中第一缓存和第二缓存通信连接以实现对这些缓存的控制,在此不做限定。
此外,需要说明的是,缓存系统中可以包括多个缓存,其中,缓存系统中的缓存也可以是固态硬盘(SolidStateDisk,简称SSD),例如主机SSD高速缓存,即SSD高速缓存放在服务器侧。
如图4所示,该方法包括:
S101、分别确定第一缓存和第二缓存的刷盘优先级。
S102、根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片。
S103、根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
其中,第一刷盘时间片和第二刷盘时间片对应的时间段不同。
本发明实施例基于时分复用(Time-divisionmultiplexing,TDM)机制获得时间片,时分复用是将提供给缓存系统刷盘的时间划分成若干时间片(也称为时隙)。将不同的时间片分配给不同的缓存设备。不同缓存设备采用不同的时间片来进行刷盘操作,因此使缓存系统中不同缓存设备的刷盘操作在时间轴上互不重叠。
需要说明的是基于时分复用机制获得的每个时间片对应的时长相同,第一刷盘时间片或者第二刷盘时间片可以包括一个或者多个时间片,其中,刷盘优先级高的缓存所获得的刷盘时间片的数目可以大于或者等于刷盘优先级低的高速缓存所获得的刷盘时间片的数目,在此不做限定。
具体地,第一刷盘时间片包括第一缓存刷盘的起始时间信息以及刷盘的持续时长信息,第二刷盘时间片包括第二缓存刷盘的起始时间信息以及刷盘的持续时长信息。
需要说明的是,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘。
为了更加详细地说明上述步骤,我们以缓存系统中存在3个缓存为例进行举例说明,这3个缓存分别记做,第一缓存、第二缓存以及第三缓存,且这3个缓存共用同一个低速存储设备,则控制缓存刷盘方法具体如下:
第一,分别确定第一缓存、第二缓存以及第三缓存的刷盘优先级,其中,假设第一缓存、第二缓存以及第三缓存的刷盘优先级依次降低。
第二,根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片,其中,第一刷盘时间片包括3个时间片,该时间片是指基于时分复用机制获得的时间片。
第三,根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,其中,第二刷盘时间片包括2个时间片,该时间片是指基于时分复用机制获得的时间片。
第四,根据第三缓存的刷盘优先级,为第三缓存分配第三刷盘时间片,其中,第三刷盘时间片包括1个时间片,该时间片是指基于时分复用机制获得的时间片。
其中,第一刷盘时间片的起始刷盘时间早于第二刷盘时间片的起始刷盘时间,第二刷盘时间片的起始刷盘时间早于第三刷盘时间片的起始刷盘时间。
需要说明的是,第一刷盘时间片、第二刷盘时间片以及第三刷盘时间片各自对应的时间片各不相同。
本实施例中,分别确定第一缓存和第二缓存的刷盘优先级;根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,这样,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘,从而避免了当多个缓存同时向同一低速存储设备进行刷盘时,各个缓存之间刷盘操作的相互干扰,从而提高了刷盘操作的性能。
图5为本发明提供的控制缓存刷盘方法实施例二的流程示意图,如图5所示,该方法包括:
S201、接收第一缓存上报的第一缓存的刷盘优先级和第二缓存上报的第二缓存的刷盘优先级,其中,第一缓存根据自身的状态信息确定第一缓存的刷盘优先级,第二缓存根据自身的状态信息确定第二缓存的刷盘优先级。
状态信息包括:数据量信息和健康状态信息中的至少一种。
具体地,状态信息包括数据量信息,或者状态信息包括健康状态信息,或者状态信息包括数据量信息和健康状态信息,其中,数据量信息既可以指缓存中所缓存的数据大小的值,也可以是指缓存中所缓存的数据大小占整个缓存空间的比值,健康状态信息包括健康状态和非健康状态两种情况,缓存处于正常的工作状态即为健康状态,缓存处于非正常工作状态即为非健康状态。
需要说明的是,第一缓存和第二缓存可以时刻查询各自的状态信息,并根据状态信息按照统一的优先级分配规则确定自身的刷盘优先级。具体实现过程中,一般可以分别在第一缓存和第二缓存中设置管理模块,由第一缓存的管理模块查询第一缓存的状态信息,第二缓存的管理模块查询第二缓存的状态信息,并且第一缓存的管理模块根据第一缓存的状态信息确定第一缓存的刷盘优先级,第二缓存的管理模块根据第二缓存的状态信息确定第二缓存的刷盘优先级,其中,第一缓存的管理模块和第二缓存的管理模块按照统一的优先级分配规则确定各自的刷盘优先级。
S202、根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片。
S203、根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
其中,第一刷盘时间片和第二刷盘时间片对应的时间段不同。
具体地,第一刷盘时间片包括第一缓存刷盘的起始时间信息以及刷盘的持续时长信息,第二刷盘时间片包括第二缓存刷盘的起始时间信息以及刷盘的持续时长信息。
需要说明的是,基于时分复用机制获得的每个时间片对应的时长相同,第一刷盘时间片或者第二刷盘时间片可以包括一个或者多个时间片,其中,刷盘优先级高的缓存所获得的刷盘时间片的数目可以大于或者等于刷盘优先级低的高速缓存所获得的刷盘时间片的数目,在此不做限定。
此外,需要说明的是,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘。
图6为本发明提供的控制缓存刷盘方法实施例三的流程示意图,如图6所示,该方法包括:
S301、接收第一缓存上报的第一缓存的刷盘优先级和第二缓存上报的第二缓存的刷盘优先级,其中,第一缓存根据自身的状态信息确定第一缓存的刷盘优先级,第二缓存根据自身的状态信息确定第二缓存的刷盘优先级。
状态信息包括:数据量信息和健康状态信息中的至少一种。
具体地,状态信息包括数据量信息,或者状态信息包括健康状态信息,或者状态信息包括数据量信息和健康状态信息,其中,数据量信息既可以指缓存中所缓存的数据大小的值,也可以是指缓存中所缓存的数据大小占整个缓存空间的比值,健康状态信息包括健康状态和非健康状态两种情况,缓存处于正常的工作状态即为健康状态,缓存处于非正常工作状态即为非健康状态。
需要说明的是,第一缓存和第二缓存可以时刻查询各自的状态信息,并根据状态信息按照统一的优先级分配规则确定自身的刷盘优先级。具体实现过程中,一般可以分别在第一缓存和第二缓存中设置管理模块,由第一缓存的管理模块查询第一缓存的状态信息,第二缓存的管理模块查询第二缓存的状态信息,并且第一缓存的管理模块根据第一缓存的状态信息确定第一缓存的刷盘优先级,第二缓存的管理模块根据第二缓存的状态信息确定第二缓存的刷盘优先级,其中,第一缓存的管理模块和第二缓存的管理模块按照统一的优先级分配规则确定各自的刷盘优先级。
S302、若第一缓存和第二缓存对应的刷盘优先级相同,则分别获取第一缓存和第二缓存的上次刷盘结束时间,并根据第一缓存和第二缓存的上次刷盘结束时间重新确定第一缓存和第二缓存的刷盘优先级。
需要说明的是,根据第一缓存和第二缓存的上次刷盘结束时间,重新确定第一缓存和第二缓存的刷盘优先级,具体地,缓存的上次刷盘结束时间越早其对应的刷盘优先级越高,例如,如果第一缓存上次刷盘结束时间早于第二缓存上次的刷盘结束时间,则将第一缓存的刷盘优先级设置为高于第二缓存的刷盘优先级,从而提高了缓存系统刷盘的公平性。
为了更加详细地说明上述步骤,我们假设服务器侧主机的缓存系统中存在4个SSD高速缓存,分别记作,第一SSD高速缓存、第二SSD高速缓存、第三SSD高速缓存以及第四SSD高速缓存。这4个SSD高速缓存共用同一个低速存储设备。举例说明,获取第一SSD高速缓存、第二SSD高速缓存、第三SSD高速缓存以及第四SSD高速缓存上报的刷盘优先级,其中,第二SSD高速缓存和第三SSD高速缓存的刷盘优先级相同且低于第一SSD高速缓存的刷盘优先级,并高于第四SSD高速缓存的刷盘优先级。
由于第二SSD高速缓存和第三SSD高速缓存的刷盘优先级相同,需要重新设置第二SSD高速缓存和第三SSD高速缓存的刷盘优先级,具体地,分别获取第二SSD高速缓存和第三SSD高速缓存上次的刷盘结束时间,若第二SSD高速缓存上次刷盘结束的时间早于第三SSD高速缓存上次刷盘结束时间,则将第二SSD高速缓存的刷盘优先级调整为高于第三SSD高速缓存的优先级且第二SSD高速缓存的刷盘优先级低于第一高速缓存的刷盘优先级,此外,第三SSD高速缓存的刷盘优先级高于第四SSD高速缓存的刷盘优先级。
S303、根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片。
S304、根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
其中,第一刷盘时间片和第二刷盘时间片对应的时间段不同。
具体地,第一刷盘时间片包括第一缓存刷盘的起始时间信息以及刷盘的持续时长信息,第二刷盘时间片包括第二缓存刷盘的起始时间信息以及刷盘的持续时长信息。
需要说明的是,需要说明的是基于时分复用机制获得的每个时间片对应的时长相同,第一刷盘时间片或者第二刷盘时间片可以包括一个或者多个时间片,其中,刷盘优先级高的缓存所获得的刷盘时间片的数目可以大于或者等于刷盘优先级低的高速缓存所获得的刷盘时间片的数目,在此不做限定。
此外,需要说明的是,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘。
图7为本发明提供的控制缓存刷盘方法实施例四的流程示意图,如图7所示,该方法包括:
S401、根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级。
其中,状态信息包括:数据量信息和健康状态信息中的至少一种。
具体地,状态信息包括数据量信息,或者状态信息包括健康状态信息,或者状态信息包括数据量信息和健康状态信息,其中,数据量信息既可以指缓存中所缓存的数据大小的值,也可以是指缓存中所缓存的数据大小占整个缓存空间的比值,健康状态信息包括健康状态和非健康状态两种情况,缓存处于正常的工作状态即为健康状态,缓存处于非正常工作状态即为非健康状态。
S402、根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片。
S403、根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
其中,第一刷盘时间片和第二刷盘时间片对应的时间段不同。
具体地,第一刷盘时间片包括第一缓存刷盘的起始时间信息以及刷盘的持续时长信息,第二刷盘时间片包括第二缓存刷盘的起始时间信息以及刷盘的持续时长信息。
需要说明的是,基于时分复用机制获得的每个时间片对应的时长相同,第一刷盘时间片或者第二刷盘时间片可以包括一个或者多个时间片,其中,刷盘优先级高的缓存所获得的刷盘时间片的数目可以大于或者等于刷盘优先级低的高速缓存所获得的刷盘时间片的数目,在此不做限定。
此外,需要说明的是,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘。
图8为本发明提供的控制缓存刷盘方法实施例五的确定刷盘优先级的流程示意图,如图8所示,根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,包括:
S501、当第一缓存的状态信息指示第一缓存处于不健康状态时,则将第一缓存的刷盘优先级设置为第一优先级。
S502、当第二缓存的状态信息指示第二缓存处于健康状态时,则将第二缓存的刷盘优先级设置为第二优先级。
其中,第一优先级高于第二优先级。
此外,如果第一缓存的刷盘优先级和第二缓存的刷盘优先级相同,则根据第一缓存和第二缓存的上次刷盘结束时间,重新确定第一缓存和第二缓存的刷盘优先级,具体地,缓存的上次刷盘结束时间越早其对应的刷盘优先级越高,例如,如果第一缓存上次刷盘结束时间早于第二缓存上次的刷盘结束时间,则将第一缓存的刷盘优先级设置为高于第二缓存的刷盘优先级,从而提高了缓存系统刷盘的公平性。
进一步地,在本发明另一实施例中,根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,包括:当第一缓存对应的数据量大于第二缓存对应的数据量时,则将第一缓存的刷盘优先级设置为第三优先级,将第二缓存的刷盘优先级设置为第四优先级,其中,第三优先级高于第四优先级。
此外,缓存刷盘优先级可以根据具体的应用场景进行设置,并不以此为限。
进一步地,在上述实施例的基础上,第一刷盘时间片与第二刷盘时间片不大于刷盘周期,其中,刷盘周期为缓存系统基于TDM机制获得的时间片的整数倍,这样根据第一缓存的刷盘优先级为第一缓存分配的第一刷盘时间片以及根据第二缓存的刷盘优先级为第二缓存分配的第二刷盘时间片可以实时地反映出第一缓存和第二缓存的状态信息,进一步提高了缓存的刷盘效率。
需要说明的是,可以根据具体的应用场景设置刷盘周期。
具体实现时,可以根据刷盘周期决定本次刷盘周期内可分配的刷盘时间片的个数,然后,根据第一缓存的刷盘优先级为第一缓存分配的第一刷盘时间片以及根据第二缓存的刷盘优先级为第二缓存分配的第二刷盘时间片,其中,第一刷盘时间片与第二刷盘时间片不大于刷盘周期。举例说明,若刷盘周期的大小等于1个刷盘时间片的大小,则该刷盘周期内可分配的时间片个数为1,若刷盘周期的大小等于2个刷盘时间片的大小,则该刷盘周期内可分配的时间片个数为2,依次类推,在此不再赘述。
假设刷盘周期等于3个刷盘时间片,服务器侧主机的缓存系统中存在4个SSD高速缓存,分别记作,第一SSD高速缓存、第二SSD高速缓存、第三SSD高速缓存以及第四SSD高速缓存,其中,第一SSD高速缓存、第二SSD高速缓存、第三SSD高速缓存以及第四SSD高速缓存的刷盘优先级依次降低。
由于第一SSD高速缓存的优先级最高,刷盘控制装置可以为第一SSD高速缓存分配较多的刷盘时间片,即分配给第一SSD高速缓存的刷盘时间片的个数可以大于或等于分配给第二SSD高速缓存、第三SSD高速缓存以及第四SSD高速缓存的刷盘时间片的个数,例如,可以分配给第一SSD高速缓存两个刷盘时间片,分配给第二SSD高速缓存一个刷盘时间片,由于刷盘周期等于3个刷盘时间片,因此第三SSD高速缓存和第四SSD高速缓存在本次刷盘周期内未分到刷盘时间片,可以根据具体情况在后续其它刷盘周期内等待刷盘控制装置再次执行前述方法以分配刷盘时间片。
图9为本发明提供的控制缓存刷盘装置的实施例一的结构示意图,如图9所示,该装置包括:确定模块101和分配模块102,其中:
确定模块101,用于分别确定第一缓存和第二缓存的刷盘优先级。
分配模块102,用于根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
本实施例中,该装置包括确定模块和分配模块,确定模块用于分别确定第一缓存和第二缓存的刷盘优先级,分配模块用于根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,这样,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘,从而避免了当多个缓存同时向同一低速存储设备进行刷盘时,各个缓存之间刷盘操作的相互干扰,从而提高了刷盘操作的性能。
进一步地,本发明另一实施例中,确定模块101,具体用于接收第一缓存上报的第一缓存的刷盘优先级和第二缓存上报的第二缓存的刷盘优先级,其中第一缓存根据自身的状态信息确定第一缓存的刷盘优先级,第二缓存根据自身的状态信息确定第二缓存的刷盘优先级;
状态信息包括:数据量信息和健康状态信息中的至少一种。
在上述实施例的基础上,确定模块101,具体用于在第一缓存和第二缓存对应的刷盘优先级相同时,分别获取第一缓存和第二缓存的上次刷盘结束时间,并根据第一缓存和第二缓存的上次刷盘结束时间重新确定第一缓存和第二缓存的刷盘优先级。
进一步地,本发明另一实施例中,确定模块101,具体用于根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,其中,状态信息包括:数据量信息和健康状态信息中的至少一种。
在上述实施例的基础上,确定模块101,具体用于根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,具体为:
当第一缓存的状态信息指示第一缓存处于不健康状态时,则将第一缓存的刷盘优先级设置为第一优先级。
当第二缓存的状态信息指示第二缓存处于健康状态时,则将第二缓存的刷盘优先级设置为第二优先级。
其中,第一优先级高于第二优先级。
确定模块101,具体用于根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,具体为:
当第一缓存对应的数据量大于第二缓存对应的数据量时,则将第一缓存的刷盘优先级设置为第三优先级,将第二缓存的刷盘优先级设置为第四优先级。
其中,第三优先级高于第四优先级。
进一步地,在上述实施例的基础上,第一刷盘时间片与第二刷盘时间片不大于刷盘周期。
上述各模块用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图10为本发明提供的控制缓存刷盘装置的实施例二的结构示意图,如图10所示,装置包括处理器201和存储器202,存储器202存储计算机可执行指令,处理器201执行计算机可执行指令使装置执行如下步骤:
分别确定第一缓存和第二缓存的刷盘优先级;根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片。
本实施例中,该装置包括处理器和存储器,存储器存储计算机可执行指令,处理器执行计算机可执行指令使装置执行分别确定第一缓存和第二缓存的刷盘优先级,根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片;根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片,这样,第一缓存只能在第一刷盘时间片内进行刷盘,第二缓存只能在第二刷盘时间片内进行刷盘,从而避免了当多个缓存同时向同一低速存储设备进行刷盘时,各个缓存之间刷盘操作的相互干扰,从而提高了刷盘操作的性能。
进一步地,在本发明另一实施例中,装置执行的分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:装置接收第一缓存上报的第一缓存的刷盘优先级和第二缓存上报的第二缓存的刷盘优先级,其中,第一缓存根据自身的状态信息确定第一缓存的刷盘优先级,第二缓存根据自身的状态信息确定第二缓存的刷盘优先级。
状态信息包括:数据量信息和健康状态信息中的至少一种。
在上述实施例的基础上,装置执行的分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:在第一缓存和第二缓存对应的刷盘优先级相同时,分别获取第一缓存和第二缓存的上次刷盘结束时间,并根据第一缓存和第二缓存的上次刷盘结束时间重新确定第一缓存和第二缓存的刷盘优先级。
进一步地,在本发明另一实施例中,装置执行的分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级,其中,状态信息包括:数据量信息和健康状态信息中的至少一种。
在上述实施例的基础上,装置执行的根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级步骤具体包括:
当第一缓存的状态信息指示第一缓存处于不健康状态时,则将第一缓存的刷盘优先级设置为第一优先级。
当第二缓存的状态信息指示第二缓存处于健康状态时,则将第二缓存的刷盘优先级设置为第二优先级。
其中,第一优先级高于第二优先级。
装置执行的根据第一缓存的状态信息和第二缓存的状态信息,分别确定第一缓存的刷盘优先级和第二缓存的刷盘优先级步骤具体包括:
当第一缓存对应的数据量大于第二缓存对应的数据量时,则将第一缓存的刷盘优先级设置为第三优先级,将第二缓存的刷盘优先级设置为第四优先级。
其中,第三优先级高于第四优先级。
装置执行的根据第一缓存的刷盘优先级,为第一缓存分配第一刷盘时间片,根据第二缓存的刷盘优先级,为第二缓存分配第二刷盘时间片步骤具体包括:第一刷盘时间片与第二刷盘时间片不大于刷盘周期。
上述装置用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。
本发明还保护一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储计算机指令,计算机指令用于使控制缓存刷盘的装置执行控制缓存刷盘方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-OnlyMemory,简称:ROM)、随机存取存储器(英文:RandomAccessMemory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (22)

1.一种控制缓存刷盘方法,其特征在于,所述方法应用于缓存系统中,所述缓存系统包括第一缓存和第二缓存,所述第一缓存用于缓存第一设备的数据,所述第二缓存用于缓存第二设备的数据;所述方法包括:
分别确定所述第一缓存和所述第二缓存的刷盘优先级;
根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;
根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
2.根据权利要求1所述的方法,其特征在于,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,包括:
接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,具体包括:
若所述第一缓存和所述第二缓存对应的刷盘优先级相同,则分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
4.根据权利要求1所述的方法,其特征在于,所述分别确定所述第一缓存和所述第二缓存的刷盘优先级,包括:
根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级;
其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,包括:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述第二优先级。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,包括:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
7.根据权利要求1所述的方法,其特征在于,所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
8.一种控制缓存刷盘的装置,其特征在于,所述装置包括:
确定模块,用于分别确定第一缓存和第二缓存的刷盘优先级;
分配模块,用于根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,具体用于接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于在所述第一缓存和所述第二缓存对应的刷盘优先级相同时,分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
11.根据权利要求8所述的装置,其特征在于,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
12.根据权利要求11所述的方法,其特征在于,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,具体为:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述第二优先级。
13.根据权利要求11所述的方法,其特征在于,所述确定模块,具体用于根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,具体为:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
14.根据权利要求8所述的装置,其特征在于,所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
15.一种控制缓存刷盘的装置,其特征在于,所述装置包括处理器和存储器,所述存储器存储计算机可执行指令,所述处理器执行所述计算机可执行指令使所述装置执行如下步骤:
分别确定第一缓存和第二缓存的刷盘优先级;根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片;根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片。
16.根据权利要求15所述的装置,其特征在于,所述装置执行的所述分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:所述装置接收所述第一缓存上报的所述第一缓存的刷盘优先级和所述第二缓存上报的所述第二缓存的刷盘优先级,其中,所述第一缓存根据自身的状态信息确定所述第一缓存的刷盘优先级,所述第二缓存根据自身的状态信息确定所述第二缓存的刷盘优先级;
所述状态信息包括:数据量信息和健康状态信息中的至少一种。
17.根据权利要求16所述的装置,其特征在于,所述装置执行的所述分别确定第一缓存和第二缓存的刷盘优先级步骤具体包括:在所述第一缓存和所述第二缓存对应的刷盘优先级相同时,分别获取所述第一缓存和所述第二缓存的上次刷盘结束时间,并根据所述第一缓存和所述第二缓存的上次刷盘结束时间重新确定所述第一缓存和所述第二缓存的刷盘优先级。
18.根据权利要求15所述的装置,其特征在于,所述装置执行的所述分别确定所述第一缓存和所述第二缓存的刷盘优先级步骤具体包括:根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级,其中,所述状态信息包括:数据量信息和健康状态信息中的至少一种。
19.根据权利要求18所述的方法,其特征在于,所述装置执行的所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级步骤具体包括:
当所述第一缓存的状态信息指示所述第一缓存处于不健康状态时,则将所述第一缓存的刷盘优先级设置为第一优先级;
当所述第二缓存的状态信息指示所述第二缓存处于健康状态时,则将所述第二缓存的刷盘优先级设置为第二优先级;
其中,所述第一优先级高于所述第二优先级。
20.根据权利要求18所述的方法,其特征在于,所述装置执行的所述根据所述第一缓存的状态信息和所述第二缓存的状态信息,分别确定所述第一缓存的刷盘优先级和所述第二缓存的刷盘优先级步骤具体包括:
当所述第一缓存对应的数据量大于所述第二缓存对应的数据量时,则将所述第一缓存的刷盘优先级设置为第三优先级,将所述第二缓存的刷盘优先级设置为第四优先级;
其中,所述第三优先级高于所述第四优先级。
21.根据权利要求15所述的装置,其特征在于,所述装置执行的根据所述第一缓存的刷盘优先级,为所述第一缓存分配第一刷盘时间片,根据所述第二缓存的刷盘优先级,为所述第二缓存分配第二刷盘时间片步骤具体包括:所述第一刷盘时间片与所述第二刷盘时间片不大于刷盘周期。
22.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储计算机指令,所述计算机指令用于使控制缓存刷盘的装置执行权利要求1-7任一所述方法。
CN201510429142.4A 2015-07-20 2015-07-20 控制缓存刷盘方法、装置及非易失性计算机可读存储介质 Active CN105095112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510429142.4A CN105095112B (zh) 2015-07-20 2015-07-20 控制缓存刷盘方法、装置及非易失性计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510429142.4A CN105095112B (zh) 2015-07-20 2015-07-20 控制缓存刷盘方法、装置及非易失性计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN105095112A true CN105095112A (zh) 2015-11-25
CN105095112B CN105095112B (zh) 2019-01-11

Family

ID=54575601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510429142.4A Active CN105095112B (zh) 2015-07-20 2015-07-20 控制缓存刷盘方法、装置及非易失性计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN105095112B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557430A (zh) * 2015-09-19 2017-04-05 成都华为技术有限公司 一种缓存数据刷盘方法及装置
WO2018014591A1 (zh) * 2016-07-19 2018-01-25 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
CN110348245A (zh) * 2018-04-02 2019-10-18 深信服科技股份有限公司 基于nvm的数据完整性保护方法、系统、装置及存储介质
CN112684972A (zh) * 2019-10-17 2021-04-20 中国移动通信集团浙江有限公司 基于分布式块存储的数据存储方法及装置
CN113986118A (zh) * 2021-09-28 2022-01-28 新华三大数据技术有限公司 一种数据处理方法及装置
CN113986118B (zh) * 2021-09-28 2024-06-07 新华三大数据技术有限公司 一种数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020056025A1 (en) * 2000-11-07 2002-05-09 Qiu Chaoxin C. Systems and methods for management of memory
CN103229136A (zh) * 2012-12-26 2013-07-31 华为技术有限公司 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN103761051A (zh) * 2013-12-17 2014-04-30 北京同有飞骥科技股份有限公司 一种基于持续数据多输入输出流并发写入性能优化方法
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020056025A1 (en) * 2000-11-07 2002-05-09 Qiu Chaoxin C. Systems and methods for management of memory
CN103229136A (zh) * 2012-12-26 2013-07-31 华为技术有限公司 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN103761051A (zh) * 2013-12-17 2014-04-30 北京同有飞骥科技股份有限公司 一种基于持续数据多输入输出流并发写入性能优化方法
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《小型微型计算机系统》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557430A (zh) * 2015-09-19 2017-04-05 成都华为技术有限公司 一种缓存数据刷盘方法及装置
CN106557430B (zh) * 2015-09-19 2019-06-21 成都华为技术有限公司 一种缓存数据刷盘方法及装置
WO2018014591A1 (zh) * 2016-07-19 2018-01-25 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
CN110348245A (zh) * 2018-04-02 2019-10-18 深信服科技股份有限公司 基于nvm的数据完整性保护方法、系统、装置及存储介质
CN112684972A (zh) * 2019-10-17 2021-04-20 中国移动通信集团浙江有限公司 基于分布式块存储的数据存储方法及装置
CN112684972B (zh) * 2019-10-17 2022-12-27 中国移动通信集团浙江有限公司 基于分布式块存储的数据存储方法及装置
CN113986118A (zh) * 2021-09-28 2022-01-28 新华三大数据技术有限公司 一种数据处理方法及装置
CN113986118B (zh) * 2021-09-28 2024-06-07 新华三大数据技术有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN105095112B (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
EP3577561B1 (en) Resource management for virtual machines in cloud computing systems
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
EP3577558B1 (en) Resource management for virtual machines in cloud computing systems
CN107025205B (zh) 一种分布式系统中的训练模型的方法及设备
KR101553649B1 (ko) 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법
CN107924328B (zh) 选择虚拟机进行迁移的技术
CN106462452B (zh) 车辆控制装置
CN105808328A (zh) 任务调度的方法、装置和系统
US9792142B2 (en) Information processing device and resource allocation method
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
CN105095112A (zh) 控制缓存刷盘方法、装置及非易失性计算机可读存储介质
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
US9507633B2 (en) Scheduling method and system
EP2808778A1 (en) Capacity expansion method and device
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
EP3280094A1 (en) Disaster recovery method, device, and system
WO2016127291A1 (zh) 内存管理装置和方法
CN104391656A (zh) 一种存储设备的io资源分配方法、装置及存储设备
US20110153971A1 (en) Data Processing System Memory Allocation
CN116382581A (zh) 一种加速执行NVMe协议的方法、系统、设备和存储介质
US10268521B2 (en) Electronic system with data exchange mechanism and method of operation thereof
US10877790B2 (en) Information processing apparatus, control method and storage medium
CN108932112B (zh) 一种固态颗粒的数据读写方法、装置、设备及介质
US20170132030A1 (en) Virtual machine system, control method thereof, and control program recording medium thereof
CN115878309A (zh) 资源分配方法、装置、处理核、设备和计算机可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant