CN109062513A - 一种控制处理写操作的方法及装置 - Google Patents
一种控制处理写操作的方法及装置 Download PDFInfo
- Publication number
- CN109062513A CN109062513A CN201810885670.4A CN201810885670A CN109062513A CN 109062513 A CN109062513 A CN 109062513A CN 201810885670 A CN201810885670 A CN 201810885670A CN 109062513 A CN109062513 A CN 109062513A
- Authority
- CN
- China
- Prior art keywords
- processing
- write operation
- threshold value
- value
- data length
- 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
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/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]
-
- 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
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
技术领域
本申请涉及分布式存储系统数据处理技术领域,特别是涉及一种控制处理写操作的方法及装置。
背景技术
在如今的云计算时代,海量数据对分布式存储系统的存储性能要求越来越高。分布式存储系统的稳定性是极其重要的,只有稳定性足够高,才能长期为用户提供持续稳定的存储服务。
由于应用的复杂性,存储系统中瞬间涌入大量写入操作的情况时有发生。这些大量的写操作由于处理不及时,容易堆积在分布式存储系统的内存中,导致集群的内存使用量暴增,严重时会占用Swap空间,不仅拖慢分布式存储的性能,严重时还会造成宕机事故。可见,这种大量写操作瞬间涌入的情况致使分布式存储系统稳定性较差。而如何处理瞬间大量的写操作,避免上述影响,已经成为了该领域急需解决的重要难题。
发明内容
基于上述问题,本申请提供了一种控制处理写操作的方法及装置,以解决分布式存储系统因大量写操作的涌入造成的稳定性差的问题。
本申请实施例公开了如下技术方案:
本申请第一方面,提供一种控制处理写操作的方法。该方法包括:
利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
根据所述消息中的所述压力信息,调整所述处理阈值。
可选的,所述利用处理阈值控制对写操作的处理,具体包括:
将正在处理的写操作的数目与所述数目阈值进行比较,以及,将正在处理的写操作的数据长度与所述数据长度阈值进行比较;
如果所述正在处理的写操作的数目未达到所述数目阈值,且所述正在处理的写操作的数据长度未达到所述数据长度阈值,则处理新的写操作;
如果所述正在处理的写操作的数目达到所述数目阈值,和/或,所述正在处理的写操作的数据长度达到所述数据长度阈值,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
可选的,所述将所述新的写操作存入待处理队列中之后,所述方法还包括:
等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
可选的,在所述调整所述处理阈值之前,所述方法还包括
获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述根据所述消息中的所述压力信息,调整所述处理阈值,具体包括:
将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,
如果所述CPU负载对应的调整值与所述内存使用量对应的调整值相同,则将所述调整值作为处理阈值;
如果所述CPU负载对应的调整值,与所述内存使用量对应的调整值不同,则将较小的调整值作为处理阈值。
本申请第二方面,提供一种控制处理写操作的装置。该装置包括:控制与处理模块,以及,调度模块;
所述控制与处理模块,用于利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
所述调度模块,用于根据所述消息中的所述压力信息,调整所述处理阈值。
可选的,所述控制与处理模块包括:第一比较子模块,第二比较子模块,第一处理子模块和第二处理子模块;
所述第一比较子模块,用于将正在处理的写操作的数目与所述数目阈值进行比较,获得第一比较结果;
所述第二比较子模块,用于将正在处理的写操作的数据长度与所述数据长度阈值进行比较,获得第二比较结果;
所述第一处理子模块,用于根据所述第一比较结果和所述第二比较结果,处理新的写操作;
所述第二处理子模块,用于根据所述第一比较结果和/或所述第二比较结果,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
可选的,所述控制与处理模块还包括:
第三处理子模块,用于等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
可选的,所述装置还包括:
策略获取模块,用于获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述调度模块,包括:比较子模块,第一调整子模块和第二调整子模块;
所述比较子模块,用于将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,获得比较结果;
所述第一调整子模块,用于根据所述比较结果,将所述CPU负载和所述内存使用量共同对应的调整值作为处理阈值;
所述第二调整子模块,用于根据所述比较结果,将所述CPU负载对应的调整值与所述内存使用量对应的调整值中,较小的调整值作为处理阈值。
相较于现有技术,本申请具有以下有益效果:
本申请实施例提供了一种控制处理写操作的方法,该方法首先利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;其后,根据所述消息中的所述压力信息,调整所述处理阈值。
该方法中,处理阈值包括:数目阈值和数据长度阈值,数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度。利用处理阈值能够对当前可处理的写操作数目和写操作数据长度进行严格的控制,以此控制写入速度,避免分布式存储系统有大量的写操作涌入后端致使系统的内存暴增,进而,该方法提高了分布式存储系统的稳定性。
另外,该方法还可写入数据的速度的动态调整控制。根据当次写操作处理完成的消息中包含的压力信息,例如CPU负载以及内存使用量,对下次控制处理写操作的处理阈值进行调整。进而,形成一种反压机制,在保证分布式存储系统稳定性的同时,保证处理写操作的高效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请第一实施例提供的控制处理写操作的方法流程图;
图2为本申请第二实施例提供的控制处理写操作的方法流程图;
图3为本申请第三实施例提供的控制处理写操作的装置结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
针对目前分布式存储系统中,经常因大量写操作的涌入却无法及时处理,导致分布式存储系统稳定性差的问题,发明人经过研究,提出了一种控制处理写操作的方法及装置作为解决方案。下面结合实施例和附图,对本申请提供的控制处理写操作的方法及装置分别进行详细描述。
第一实施例
参见图1,该图为本申请实施例提供的控制写操作的方法。
如图1所示,本申请实施例提供的控制写操作的方法,包括:
步骤101:利用处理阈值控制对写操作的处理,获得写操作处理完成的消息。
需要说明的是,本实施例中,处理阈值包括:数目阈值和数据长度阈值。其中,数目阈值是预设的分布式存储系统同一时间处理的写操作最大数目,数据长度阈值是预设的分布式存储系统同一时间处理的写操作最大数据长度。
例如,若数目阈值为X,数据长度阈值为Y,则设置分布式存储系统在同一时间最多能够处理X个写操作,最多共计能够处理Y数据长度的写操作。
本步骤中,在利用处理阈值控制对写操作的处理时,可以有多种可选的具体控制方法。例如,如果当前正在处理的写操作数目已经达到数目阈值,或者当前正在处理的写操作的数据长度累积已经达到数据长度阈值,则不处理新的写操作;如果当前正在处理的写操作数目未达到数目阈值,或者当前正在处理的写操作的数据长度累积未达到数据长度阈值,则处理新的写操作。
写操作处理完成后,即可获得写操作处理完成的消息。需要说明的是,本实施例中,写操作处理完成的消息中,包括:分布式存储系统的压力信息,压力信息中具体可以包括:CPU负载,以及内存使用量。
步骤102:根据写操作处理完成的消息中的压力信息,调整处理阈值。
本步骤中,具体可根据压力信息中的CPU负载以及内存使用量,调整处理阈值。
作为示例,如果CPU负载和内存使用量过高,则可以将原处理阈值调整降低,此时,数目阈值和数据长度阈值降低,当再有新的写操作需要处理时,利用调整后降低的处理阈值控制对新的写操作的处理。以此,降低对分布式存储系统CPU和内存的压力。
作为另一示例,如果CPU负载和内存使用量偏低,则可以将原处理阈值调整提高,此时,数目阈值和数据长度阈值提高,当再有新的写操作需要处理时,利用调整后提高的处理阈值控制对新的写操作的处理。以此,提高写入数据的速度,提高写操作的处理效率。
以上为本申请实施例提供的控制处理写操作的方法。该方法首先利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;其后,根据所述消息中的所述压力信息,调整所述处理阈值。
该方法中,利用处理阈值能够对当前可处理的写操作数目和写操作数据长度进行严格的控制,以此控制前端的写入速度,避免分布式存储系统有大量的写操作涌入后端致使系统的内存暴增,进而,该方法提高了分布式存储系统的稳定性。
另外,该方法还实现对写入数据速度的动态调整控制。根据当次写操作处理完成的消息中包含的压力信息,例如CPU负载以及内存使用量,对下次控制处理写操作的处理阈值进行调整。进而,形成一种反压机制,在保证分布式存储系统稳定性的同时,保证处理写操作的高效率。
本申请还提供了另一种控制处理写操作的方法实施例。下面结合附图对该实施例进行描述。
第二实施例
参见图2,该图为本申请实施例提供的控制处理写操作的方法流程图。
如图2所示,本实施例提供的控制处理写操作的方法,包括:
步骤201:利用处理阈值控制对写操作的处理,获得写操作处理完成的消息。
作为示例,本步骤可以按照如下方式实施:
将正在处理的写操作的数目与数目阈值进行比较,以及,将正在处理的写操作的数据长度与数据长度阈值进行比较:
(1)如果正在处理的写操作的数目未达到数目阈值,且正在处理的写操作的数据长度未达到数据长度阈值,则处理新的写操作;
(2)如果正在处理的写操作的数目达到数目阈值,和/或,正在处理的写操作的数据长度达到数据长度阈值,则将新的写操作存入待处理队列中,继续处理正在处理的写操作。
根据上述两种可能性,最终实施后可以获得写操作处理完成的消息。写操作处理完成的消息中,包括:分布式存储系统的压力信息,压力信息中具体可以包括:CPU负载,以及内存使用量。
需要说明的是,对于上述第(2)种情况,若将新的写操作存入待处理队列中,其后,再当前正在处理的写操作中有任意写操作处理完成后,将按照“先进先出”的顺序处理待处理队列中的写操作。例如,正在处理的N个写操作中有一个写操作最先处理完成,其后将优先处理待处理队列中较先存入的写操作,即最先存入的且仍存在于待处理队列中的一个写操作。另外,在将待处理队列中的写操作进行处理之前,还需要实施步骤201对当前正在处理的写操作的数目与数据长度进行判断,以确定是否能够处理该写操作。
步骤202:获取处理阈值的调整策略。
需要说明的是,处理阈值的调整策略包括:多个处理策略的调整值,以及与每个调整值相对应的CPU负载区间及内存使用量区间。调整策略中,各个CPU负载区间互不相交,各个内存使用量区间互不相交,调整值越小,调整值对应的CPU负载越大,且调整值对应的内存使用量越大。
本实施例中,可将处理阈值的调整策略理解为包含多个处理阈值调整档位,每个档位都有一个相互对应的调整值、CPU负载区间以及内存使用量区间。为便于理解,下面举例对调整策略进行说明。
例如,调整策略包含四档:
针对低压情况的第一档:CPU负载区间为50%以下;内存使用量区间为50G以下;调整值包括:数目阈值为120个,数据长度阈值为120M;
针对中压情况的第二档:CPU负载区间为[50%,70%);内存使用量区间[50G,75G);调整值包括:数目阈值为100个,数据长度阈值为100M;
针对高压情况的第三档:CPU负载区间为[70%,80%);内存使用量区间[75G,90G);调整值包括:数目阈值为80个,数据长度阈值为80M;
针对满负荷情况的第四档:CPU负载区间为80%及以上;内存使用量区间90G及以上;调整值包括:数目阈值为50个,数据长度阈值为50M。
以上调整策略仅为本实施例提供的示例形式,其作用用于后续根据处理写操作后反馈的压力信息对处理阈值进行调整。在此,不对调整策略的具体内容和具体形式进行限定。
另外,需要说明的是,本实施例不对步骤201和步骤202的实施顺序进行限定。也就是说,步骤201可以先于步骤202实施,晚于步骤202实施,也可以与步骤202同时实施。
步骤203:将压力信息中CPU负载对应的调整值,与压力信息中内存使用量对应的调整值进行比较,如果CPU负载对应的调整值与内存使用量对应的调整值相同,则将调整值作为处理阈值;如果CPU负载对应的调整值,与内存使用量对应的调整值不同,则将较小的调整值作为处理阈值。
为便于理解,下面结合上述步骤202中示例的调整策略对本步骤进行举例说明。
作为一示例,若压力信息中,CPU负载为65%,内存使用量为78G,则CPU负载对应的调整值为第二档调整值,包括:数目阈值为100个,数据长度阈值为100M;而内存使用量对应的调整值为第三档调整值,包括:数目阈值为80个,数据长度阈值为80M。由于CPU负载对应的调整值,与内存使用量对应的调整值不同,为尽可能减小分布式存储系统的短时处理写操作的负担,将较小的调整值作为处理阈值。即调整处理阈值为:数目阈值为80个,数据长度阈值为80M。调整后,在下一次利用该方法控制处理写操作时,在处理新的写操作之前,利用数目阈值为80个,数据长度阈值为80M的处理阈值,实现本实施例的步骤201。
作为另一示例,若压力信息中,CPU负载为65%,内存使用量为63G,则CPU负载对应的调整值为第二档调整值,包括:数目阈值为100个,数据长度阈值为100M;内存使用量对应的调整值为第二档调整值,包括:数目阈值为100个,数据长度阈值为100M。即CPU负载对应的调整值,与内存使用量对应的调整值相同,直接将数目阈值为100个,数据长度阈值为100M作为处理阈值。调整后,在下一次利用该方法控制处理写操作时,在处理新的写操作之前,利用数目阈值为100个,数据长度阈值为100M的处理阈值,实现本实施例的步骤201。
如果根据压力信息和调整策略最终决策出的调整值与当前处理阈值相同,则可以不进行调整。
以上为本申请实施例提供的控制处理写操作的方法。该方法利用处理阈值控制对写操作的处理,获得写操作处理完成的消息,并获取了处理阈值的调整策略;其后,根据所述消息中的所述压力信息及调整策略,调整所述处理阈值。
该方法实现对写入数据速度的动态调整控制。根据当次写操作处理完成的消息中包含的CPU负载以及内存使用量,对下次控制处理写操作的处理阈值进行调整。进而,形成一种反压机制,在保证分布式存储系统稳定性的同时,保证处理写操作的高效率。
另外,在本实施例的步骤201实施之前,本申请提供的控制处理写操作的方法还可以包括:
步骤200:对客户端请求处理的操作进行类型判断,如果该操作为写操作,则继续执行后续步骤201至步骤203。
也就是说,非写操作类型的操作可以按照其类型操作的原有处理方式进行处理,而写操作类型的操作按照本实施例提供的控制处理写操作的方法进行处理。
基于前述实施例提供的控制处理写操作的方法,本申请还提供了一种控制处理写操作的装置。下面结合附图对该装置进行详细描述。
第三实施例
参见图3,该图为本申请实施例提供的控制处理写操作的装置的结构示意图。
如图3所示,本实施例提供的控制处理写操作的装置,包括:控制与处理模块31,以及,调度模块32;
控制与处理模块31,用于利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;
调度模块32,用于根据消息中的压力信息,调整处理阈值。
需要说明的是,本实施例中处理阈值,包括:数目阈值和数据长度阈值,数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,数据长度阈值为预设的分布式存储系统同一时间处理的写操作最大数据长度。
另外,需要说明的是,本实施例中写操作处理完成的消息中包括分布式存储系统的压力信息,压力信息包括:CPU负载,以及内存使用量。
以上为本申请实施例提供的控制处理写操作的装置。该装置利用处理阈值能够对当前可处理的写操作数目和写操作数据长度进行严格的控制,以此控制写入速度,避免分布式存储系统有大量的写操作涌入后端致使系统的内存暴增,进而,该装置提高了分布式存储系统的稳定性。
另外,该装置还实现对写入数据速度的动态调整控制。根据当次写操作处理完成的消息中包含的压力信息,例如CPU负载以及内存使用量,对下次控制处理写操作的处理阈值进行调整。进而,形成一种反压机制,在保证分布式存储系统稳定性的同时,保证处理写操作的高效率。
作为一种可能的实现方式,控制与处理模块31可以包括:第一比较子模块311,第二比较子模块312,第一处理子模块313和第二处理子模块314;
其中,第一比较子模块311,用于将正在处理的写操作的数目与数目阈值进行比较,获得第一比较结果;
第二比较子模块312,用于将正在处理的写操作的数据长度与数据长度阈值进行比较,获得第二比较结果;
第一处理子模块313,用于根据第一比较结果和第二比较结果,处理新的写操作;
第二处理子模块314,用于根据第一比较结果和/或第二比较结果,则将新的写操作存入待处理队列中,继续处理正在处理的写操作。
作为一种可能的实现方式,控制与处理模块31还可以包括:
第三处理子模块315,用于等待正在处理的一个或多个写操作处理完成后,优先处理待处理队列中较先存入的写操作。
作为一种可能的实现方式,上述装置还可以包括:策略获取模块33,用于获取处理阈值的调整策略。
需要说明的是,本实施例中,调整策略包括:多个处理策略的调整值,以及与每个调整值相对应的CPU负载区间及内存使用量区间;各个CPU负载区间互不相交,各个内存使用量区间互不相交;调整值越小,调整值对应的CPU负载越大,且调整值对应的内存使用量越大;
作为一种可能的实现方式,调度模块32,包括:比较子模块321,第一调整子模块322和第二调整子模块323;
比较子模块321,用于将压力信息中CPU负载对应的调整值,与压力信息中内存使用量对应的调整值进行比较,获得比较结果;
第一调整子模块322,用于根据比较结果,将CPU负载和内存使用量共同对应的调整值作为处理阈值,并将调整后的处理阈值发送至控制与处理模块31,具体地,可以发送至第一比较子模块311和第二比较子模块312;
第二调整子模块323,用于根据比较结果,将CPU负载对应的调整值与内存使用量对应的调整值中,较小的调整值作为处理阈值。并将调整后的处理阈值发送至控制与处理模块31,具体地,可以发送至第一比较子模块311和第二比较子模块312。
作为一种可能的实现方式,本实施例提供的装置还可以包括:
类型判断模块34,用于对客户端请求处理的操作进行类型判断,如果该操作为写操作,则将写操作送入控制与处理模块31。
也就是说,非写操作类型的操作可以按照其类型操作的原有处理方式进行处理,而写操作类型的操作按照本实施例提供的控制处理写操作的装置进行后续处理。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种控制处理写操作的方法,其特征在于,包括:
利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
根据所述消息中的所述压力信息,调整所述处理阈值。
2.根据权利要求1所述的方法,其特征在于,所述利用处理阈值控制对写操作的处理,具体包括:
将正在处理的写操作的数目与所述数目阈值进行比较,以及,将正在处理的写操作的数据长度与所述数据长度阈值进行比较;
如果所述正在处理的写操作的数目未达到所述数目阈值,且所述正在处理的写操作的数据长度未达到所述数据长度阈值,则处理新的写操作;
如果所述正在处理的写操作的数目达到所述数目阈值,和/或,所述正在处理的写操作的数据长度达到所述数据长度阈值,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
3.根据权利要求2所述的方法,其特征在于,所述将所述新的写操作存入待处理队列中之后,所述方法还包括:
等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述调整所述处理阈值之前,所述方法还包括
获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述根据所述消息中的所述压力信息,调整所述处理阈值,具体包括:
将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,
如果所述CPU负载对应的调整值与所述内存使用量对应的调整值相同,则将所述调整值作为处理阈值;
如果所述CPU负载对应的调整值,与所述内存使用量对应的调整值不同,则将较小的调整值作为处理阈值。
5.一种控制处理写操作的装置,其特征在于,包括:控制与处理模块,以及,调度模块;
所述控制与处理模块,用于利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
所述调度模块,用于根据所述消息中的所述压力信息,调整所述处理阈值。
6.根据权利要求5所述的装置,其特征在于,所述控制与处理模块包括:第一比较子模块,第二比较子模块,第一处理子模块和第二处理子模块;
所述第一比较子模块,用于将正在处理的写操作的数目与所述数目阈值进行比较,获得第一比较结果;
所述第二比较子模块,用于将正在处理的写操作的数据长度与所述数据长度阈值进行比较,获得第二比较结果;
所述第一处理子模块,用于根据所述第一比较结果和所述第二比较结果,处理新的写操作;
所述第二处理子模块,用于根据所述第一比较结果和/或所述第二比较结果,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
7.根据权利要求6所述的装置,其特征在于,所述控制与处理模块还包括:
第三处理子模块,用于等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述装置还包括:
策略获取模块,用于获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述调度模块,包括:比较子模块,第一调整子模块和第二调整子模块;
所述比较子模块,用于将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,获得比较结果;
所述第一调整子模块,用于根据所述比较结果,将所述CPU负载和所述内存使用量共同对应的调整值作为处理阈值,并将调整后的处理阈值返回所述控制与处理模块;
所述第二调整子模块,用于根据所述比较结果,将所述CPU负载对应的调整值与所述内存使用量对应的调整值中,较小的调整值作为处理阈值,并将调整后的处理阈值返回所述控制与处理模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810885670.4A CN109062513B (zh) | 2018-08-06 | 2018-08-06 | 一种控制处理写操作的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810885670.4A CN109062513B (zh) | 2018-08-06 | 2018-08-06 | 一种控制处理写操作的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062513A true CN109062513A (zh) | 2018-12-21 |
CN109062513B CN109062513B (zh) | 2021-10-15 |
Family
ID=64831876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810885670.4A Active CN109062513B (zh) | 2018-08-06 | 2018-08-06 | 一种控制处理写操作的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062513B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185287A1 (zh) * | 2020-03-19 | 2021-09-23 | 华为技术有限公司 | 一种解压装置、加速器、和用于解压装置的方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414244A (zh) * | 2007-10-19 | 2009-04-22 | 深圳市亚贝电气技术有限公司 | 一种网络环境下处理数据的方法、装置和系统 |
CN102298580A (zh) * | 2010-06-22 | 2011-12-28 | Sap股份公司 | 使用异步缓冲器的多核查询处理 |
US20120047390A1 (en) * | 2010-08-19 | 2012-02-23 | Uwe Hildebrand | Apparatus and method of controlling a processor clock frequency |
US8214493B2 (en) * | 2007-09-05 | 2012-07-03 | Huawei Technologies Co., Ltd. | Apparatus and method for controlling flow of a service node |
CN102799390A (zh) * | 2012-06-14 | 2012-11-28 | 国家超级计算深圳中心(深圳云计算中心) | 能耗感知的协同式自适应预取方法和中间件 |
CN103927305A (zh) * | 2013-01-11 | 2014-07-16 | 中国移动通信集团山东有限公司 | 一种对内存溢出进行控制的方法和设备 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
CN104461915A (zh) * | 2014-11-17 | 2015-03-25 | 苏州阔地网络科技有限公司 | 一种在线课堂系统中内存动态分配方法及设备 |
CN105068768A (zh) * | 2015-08-26 | 2015-11-18 | 华为技术有限公司 | 一种写策略控制方法和装置 |
CN105260138A (zh) * | 2015-09-30 | 2016-01-20 | 福州瑞芯微电子股份有限公司 | 读写控制系统及方法 |
CN105321558A (zh) * | 2015-10-19 | 2016-02-10 | 円星科技股份有限公司 | 内存数据的写入追踪装置与方法 |
CN105468297A (zh) * | 2015-11-18 | 2016-04-06 | 临沂大学 | 一种云存储系统内主从设备数据快速同步的方法 |
CN106990917A (zh) * | 2017-03-02 | 2017-07-28 | 信雅达系统工程股份有限公司 | 文件读写方法及系统 |
CN107040591A (zh) * | 2017-03-28 | 2017-08-11 | 北京小米移动软件有限公司 | 一种对客户端进行控制的方法及装置 |
CN107197050A (zh) * | 2017-07-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式存储系统中文件写入的方法及系统 |
CN107273206A (zh) * | 2017-05-19 | 2017-10-20 | 国网浙江省电力公司电力科学研究院 | 一种基于业务及数据量控制的优先级调度方法 |
CN108111433A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 一种业务动态流控方法、装置以及电子设备 |
-
2018
- 2018-08-06 CN CN201810885670.4A patent/CN109062513B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214493B2 (en) * | 2007-09-05 | 2012-07-03 | Huawei Technologies Co., Ltd. | Apparatus and method for controlling flow of a service node |
CN101414244A (zh) * | 2007-10-19 | 2009-04-22 | 深圳市亚贝电气技术有限公司 | 一种网络环境下处理数据的方法、装置和系统 |
CN102298580A (zh) * | 2010-06-22 | 2011-12-28 | Sap股份公司 | 使用异步缓冲器的多核查询处理 |
US20120047390A1 (en) * | 2010-08-19 | 2012-02-23 | Uwe Hildebrand | Apparatus and method of controlling a processor clock frequency |
CN102799390A (zh) * | 2012-06-14 | 2012-11-28 | 国家超级计算深圳中心(深圳云计算中心) | 能耗感知的协同式自适应预取方法和中间件 |
CN103927305A (zh) * | 2013-01-11 | 2014-07-16 | 中国移动通信集团山东有限公司 | 一种对内存溢出进行控制的方法和设备 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
CN104461915A (zh) * | 2014-11-17 | 2015-03-25 | 苏州阔地网络科技有限公司 | 一种在线课堂系统中内存动态分配方法及设备 |
CN105068768A (zh) * | 2015-08-26 | 2015-11-18 | 华为技术有限公司 | 一种写策略控制方法和装置 |
CN105260138A (zh) * | 2015-09-30 | 2016-01-20 | 福州瑞芯微电子股份有限公司 | 读写控制系统及方法 |
CN105321558A (zh) * | 2015-10-19 | 2016-02-10 | 円星科技股份有限公司 | 内存数据的写入追踪装置与方法 |
CN105468297A (zh) * | 2015-11-18 | 2016-04-06 | 临沂大学 | 一种云存储系统内主从设备数据快速同步的方法 |
CN108111433A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 一种业务动态流控方法、装置以及电子设备 |
CN106990917A (zh) * | 2017-03-02 | 2017-07-28 | 信雅达系统工程股份有限公司 | 文件读写方法及系统 |
CN107040591A (zh) * | 2017-03-28 | 2017-08-11 | 北京小米移动软件有限公司 | 一种对客户端进行控制的方法及装置 |
CN107273206A (zh) * | 2017-05-19 | 2017-10-20 | 国网浙江省电力公司电力科学研究院 | 一种基于业务及数据量控制的优先级调度方法 |
CN107197050A (zh) * | 2017-07-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式存储系统中文件写入的方法及系统 |
Non-Patent Citations (1)
Title |
---|
马啸啸: "固态硬盘的缓存管理及并行调度策略研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185287A1 (zh) * | 2020-03-19 | 2021-09-23 | 华为技术有限公司 | 一种解压装置、加速器、和用于解压装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109062513B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7330430B2 (en) | Packet-based traffic shaping | |
CN106470169A (zh) | 一种业务请求调整方法及设备 | |
CN111444012A (zh) | 一种保证延迟敏感应用延迟slo的动态调控资源方法及系统 | |
US8627148B2 (en) | Method and apparatus for memory dump processing and a memory dump system | |
CN107704310B (zh) | 一种实现容器集群管理的方法、装置和设备 | |
US8924754B2 (en) | Quality of service targets in multicore processors | |
CN109408243B (zh) | 一种基于rdma的数据处理方法、装置和介质 | |
CN111212114B (zh) | 一种下载资源文件的方法和装置 | |
CN109684090A (zh) | 一种资源分配方法和装置 | |
CN105262826A (zh) | 接口处理数量的调整方法及系统 | |
CN111159002A (zh) | 一种基于分组的数据边缘采集方法、边缘采集设备及系统 | |
CN109194721A (zh) | 一种异步的rdma通信内存动态管理方法及系统 | |
CN109062513A (zh) | 一种控制处理写操作的方法及装置 | |
CN110868323B (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN109800074A (zh) | 任务数据并发执行方法、装置以及电子设备 | |
CN106325996A (zh) | 一种gpu资源的分配方法及系统 | |
CN110007867A (zh) | 一种缓存空间分配方法、装置、设备及存储介质 | |
CN111314249B (zh) | 一种5g数据转发平面的避免数据包丢失的方法和服务器 | |
CN105704037A (zh) | 一种表项保存方法和控制器 | |
CN114095444A (zh) | 限流方法、装置及电子设备 | |
CN109032779A (zh) | 任务处理方法、装置、计算机设备及可读存储介质 | |
CN102968175B (zh) | 控制存储器的方法、装置、控制器和系统 | |
CN111245794B (zh) | 数据传输方法和装置 | |
Pan et al. | Optimizing the SDN control-plane performance of the Openvswitch software switch | |
US20130346701A1 (en) | Replacement method and apparatus for cache |
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 |