CN111338575B - 一种存储服务质量控制方法、装置、设备及存储介质 - Google Patents

一种存储服务质量控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111338575B
CN111338575B CN202010105094.4A CN202010105094A CN111338575B CN 111338575 B CN111338575 B CN 111338575B CN 202010105094 A CN202010105094 A CN 202010105094A CN 111338575 B CN111338575 B CN 111338575B
Authority
CN
China
Prior art keywords
user
ops
request
target
server
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
CN202010105094.4A
Other languages
English (en)
Other versions
CN111338575A (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 CN202010105094.4A priority Critical patent/CN111338575B/zh
Priority to PCT/CN2020/097970 priority patent/WO2021164164A1/zh
Publication of CN111338575A publication Critical patent/CN111338575A/zh
Application granted granted Critical
Publication of CN111338575B publication Critical patent/CN111338575B/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/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]
    • 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
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/062Securing 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/0653Monitoring storage devices or 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种分布式对象存储集群的存储服务质量控制方法,包括:接收目标用户的目标请求;确定与目标请求对应的总OPS;利用总OPS及OPS设置值确定目标请求的被处理时间,并在被处理时间响应目标请求。可见,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时,均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现对每个用户的存储服务质量进行控制。本发明还公开了一种分布式对象存储集群的存储服务质量控制装置、设备及计算机可读存储介质,同样能实现上述技术效果。

Description

一种存储服务质量控制方法、装置、设备及存储介质
技术领域
本发明涉及分布式存储技术领域,更具体地说,涉及一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质。
背景技术
分布式对象存储集群为由多个对象存储服务器组成的服务器组,用来处理海量的高并发的存储服务请求。分布式存储具有高可靠性,高可用性,快速存取,易于扩展等优点。在存储服务器系统中,当多个用户同时高并发向服务器发起请求服务时,就会出现服务器资源竞争,出现一些用户占用过多服务器,一些用户得不到服务器资源的问题。存储服务质量QoS(Quality of Service)算法是用来控制不同用户和不同类型请求处理速度的算法,通过该算法可保证用户根据规则公平的获取资源,保证服务器稳定运行。
现有技术有多种实现存储QoS的算法,比如令牌桶算法和漏桶算法,但上述每种算法都有一定的局限性,只能实现限速功能,无法针对每个用户的存储服务质量进行控制。
发明内容
本发明的目的在于提供一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质,以实现对每个用户的存储服务质量进行控制。
为实现上述目的,本发明提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:
接收目标用户的目标请求;
确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
其中,所述接收目标用户的目标请求之前,还包括:
根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
其中,所述利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,包括:
获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;
通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
所述时间值确定规则包括:
Figure BDA0002388271670000021
其中,
Figure BDA0002388271670000022
表示目标用户i的目标请求r的目标预留时间值,
Figure BDA0002388271670000023
表示目标用户i的上一次请求r-1的预留时间值,Vr_suml表示OPS预留设置值,Vother表示总OPS,t表示当前时间;
Figure BDA0002388271670000024
其中,
Figure BDA0002388271670000025
表示目标用户i的目标请求r的目标限制时间值,
Figure BDA0002388271670000026
表示目标用户i的上一次请求r-1的限制时间值,Vl_suml表示OPS限制设置值;
Figure BDA0002388271670000031
其中,
Figure BDA0002388271670000032
表示目标用户i的目标请求r的目标权重时间值,
Figure BDA0002388271670000033
表示目标用户i的上一次请求r-1的权重时间值,Vw_suml表示OPS权重设置值。
一种分布式对象存储集群的存储服务质量控制装置,基于分布式对象存储集群的每个服务器,所述装置包括:
接收模块,用于接收目标用户的目标请求;
OPS确定模块,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
时间确定模块,用于利用所述总OPS及OPS设置值确定所述目标请求的被处理时间;
处理模块,用于在所述被处理时间响应所述目标请求。
其中,本方案还包括:
OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述OPS计算模块包括:
数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
一种布式对象存储集群的存储服务质量控制设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述的存储服务质量控制方法的步骤。
一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的存储服务质量控制方法的步骤。
通过以上方案可知,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:接收目标用户的目标请求;确定与目标请求对应的总OPS;该总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;利用总OPS及OPS设置值确定目标请求的被处理时间,并在被处理时间响应目标请求。
可见,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时,均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现从集群角度对用户的请求处理速度进行控制,实现对每个用户的存储服务质量进行控制。
本发明还公开了一种分布式对象存储集群的存储服务质量控制装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制方法流程示意图;
图2为本发明实施例公开的系统整体流程示意图;
图3为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制流程示意图;
图4为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制装置结构示意图;
图5为本发明实施例公开的一种分布式对象存储集群的存储服务质量控制设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式对象存储集群的存储服务质量控制方法、装置、设备及计算机可读存储介质,以实现对每个用户的存储服务质量进行控制。
参见图1,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制方法,基于分布式对象存储集群的每个服务器,所述方法包括:
S101、接收目标用户的目标请求;
需要说明的是,目标用户为发送任意请求的用户,在本申请中,以目标用户发送请求为例对本方案进行说明,相应的,该目标用户发送的请求为目标请求。对于该目标用户发送的目标请求,可以为目标用户向服务器发送的存储数据的请求,获取数据的请求或其他获取服务器服务的请求,在此并不具体限定。
S102、确定与目标请求对应的总OPS;总OPS为分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
在本申请中,接收目标用户的目标请求之前,还包括:根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;OPS为本服务器每秒处理的请求数;将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使对象存储集群内的每个服务器计算其他服务器的总OPS。
需要说明的是,本申请接收到目标请求后,为了确定该目标请求的被处理时间,需要获取集群内其他服务器的每秒处理请求数之和。因此,本申请在接收目标用户的目标请求之前,每个服务器需要获取每个用户在每个计时周期的用户请求数量,然后计算每个用户在本服务器的OPS(Operation per second,每秒处理的请求数);可以理解的是,该计时周期是可调整的,例如:若该计时周期可以为10s,那么获取的用户请求数量为:每个服务器每10s获取的在这10s内的用户请求数,若在这10s内的用户请求数为20,则该用户在本服务器的OPS为20/10=2。
通过这种方式,每个服务器便可计算本服务器内每个用户的OPS,进一步,为了让服务器从全局的角度了解用户的请求数,需要每个服务器将每个用户的OPS发送至分布式对象存储集群内的其他服务器,这样便可让集群内的每个服务器均可获取其他服务器的每个用户的OPS,然后每个服务器便可根据其他服务器的同一用户的OPS,计算出每个用户的总OPS。因此,本申请接收到目标用户的目标请求后,便可从已经计算出的每个用户的总OPS,确定与该目标请求对应的总OPS。
S103、利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
可以看出,本申请中每个服务器计算出每个用户的OPS后,会把该数据发送给集群内其他服务器。集群内服务器接收其他服务器发送来的每个用户的OPS信息,统计出整个集群系统当前一段时间每个用户的总OPS,然后根据这个集群的OPS以及OPS设置值对该服务器的OPS速度进行控制,该OPS设置值包括OPS预留设置值Vr_suml、OPS限制设置值Vl_suml、OPS权重设置值Vw_suml
需要说明的是,本申请利用所述总OPS及OPS设置值确定所述目标请求的被处理时间时,具体包括:获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
所述时间值确定规则包括:
Figure BDA0002388271670000061
其中,
Figure BDA0002388271670000062
表示目标用户i的目标请求r的目标预留时间值,
Figure BDA0002388271670000063
表示目标用户i的上一次请求r-1的预留时间值,Vr_suml表示OPS预留设置值,Vother表示总OPS,t表示当前时间;
Figure BDA0002388271670000064
其中,
Figure BDA0002388271670000071
表示目标用户i的目标请求r的目标限制时间值,
Figure BDA0002388271670000072
表示目标用户i的上一次请求r-1的限制时间值,Vl_suml表示OPS限制设置值;
Figure BDA0002388271670000073
其中,
Figure BDA0002388271670000074
表示目标用户i的目标请求r的目标权重时间值,
Figure BDA0002388271670000075
表示目标用户i的上一次请求r-1的权重时间值,Vw_suml表示OPS权重设置值。
可以理解的是,本方案通过对原dmclock算法进行改进,得到上述的公式(1)、公式(2)和公式(3),通过公式(1)计算目标请求的目标预留时间值,通过公式(2)计算目标请求的目标限制时间值,通过公式(3)计算目标请求的目标权重时间值,通过目标预留时间值、目标限制时间值和目标权重时间值确定目标请求的被处理时间。
在公式(1)中,R代表系统应该不低于该时间对该请求进行处理,在公式(2)中,L代表该请求不能早于L时间被处理,在公式(3)中,W代表在L时间和R时间段中间,系统会根据W时间的大小来判断哪个请求应该被处理。在此以公式(1)为例进行说明:将计算出的第r次请求的目标预留时间值和当前时间做比较,假如小于当前时间,则该目标请求应该被立刻处理;假如大于当前时间,则该目标请求被处理的时间不迟于所计算出的目标预留时间Ri r,通过目标预留时间值的计算,可以确保用户请求不迟于某个时间处理,从而达到服务器为用户预留资源的效果。
在上述公式中,为了避免(Vr_suml-Vother)、(Vl_suml-Vother)、(Vw_suml-Vother)为零或为负数,设置公式中min{Vr_suml-Vother,0.1}、min{Vl_suml-Vother,0.1}、
min{Vw_suml-Vother,0.1},以保证被除数不低于0.1。并且,本方案中的OPS设置值可以根据系统不同业务需求来进行不同的设置:第一,可以根据用户的重要级程度设置不同的OPS设置值,高等级用户享有更大的OPS设置值,享有更多的系统服务。第二,还可以基于不同的业务请求类型进行限制,如:对象存储中,列举桶内对象这个操作非常耗时,因此可将这一操作类型的OPS设置值设置低一点,以达到节省系统资源,保证其他更重要的请求得到及时处理的目的。第三,出于对系统的保护,对集群总OPS设置值进行限定,并设置所有用户的总设置值不大于集群总设置值,防止出现系统高负荷时导致服务器崩溃宕机的情景。
参见图2,为本发明实施例提供的系统整体流程示意图,通过该图可以看出,本方案通过统计模块接收集群内其他服务器发送的OPS值,并统计出总OPS值后,会结合集群总限制值调整本服务器的OPS设置值,限流模块根据确定的OPS设置值调整每个请求的处理时间,实现对请求的限流,并将本服务器处理的实时OPS数通过统计发送模块向集群其他服务器发送。
可以看出,本申请中的每个服务器均可了解分布式对象存储集群内其他服务器的每个用户的总OPS,从而使每个服务器在处理用户的请求时,均可从全局的角度了解每个用户的全局请求数量,并根据该用户在其他服务器的总OPS确定目标请求的待处理时间,从而实现从集群角度对用户的请求处理速度进行控制,实现对每个用户的存储服务质量进行控制,达到控制这个集群OPS的效果。
基于上述实施例,在本实施例中,根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS;其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
需要说明的是,本申请为了对每个用户的存储服务质量进行控制,需要让每一个集群服务器统计每个用户的OPS。因此在本申请中,针对每一个用户都建立一个请求数计数器,当一个用户请求到达被分发到集群内一个服务器时,该服务器内与该用户对应的请求数计数器就会加一,通过这种方式,便可在计时周期内,通过不同的请求数计数器统计不同用户的用户请求数量。并且,服务器每隔一定时间(比如1秒)都会读取计数器的计数,该时间为计时周期设定的时间。读取计数器的计数后,便对计数器清零,并根据读到的计数器数字和间隔时间算出每秒中服务器处理了该用户的请求数OPS。
可以理解的是,本申请中的计时周期可根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整;其中,资源消耗情况是指CPU处理能力消耗情况和网络带宽消耗情况,若服务器的资源消耗过大,这时为了减小资源消耗可适当增大计时周期,若资源消耗不大,这时为了减小OPS的延迟程度,可适当减小计时周期,在本方案中,可通过以下两种方案调整计时周期,第一种是静态设置计时周期方案,通过测试不同计时周期对系统总处理能力的影响,来确定计时周期,如:设置计时周期为5秒时,集群的总处理能力会下降20%,这样的设置是不可接受的,但是设置计时周期为5分钟时,虽然集群的总处理能力下降0.5%,但是由于计时周期过大导致误差较大,OPS限制的误差在20%,这也是不可接受的。因此,可通过多次测试在5秒和5分钟之间找到合适的计时周期。第二种方案是动态调整计数周期方案,即根据系统负荷情况来动态调整计数周期方案。具体方法为:服务器在发送自身请求数时,记录一个时间戳T1(当前系统时间)后再发送给其他服务器,其他服务器收到这个请求数消息后,然后再获取当前系统时间T2,如果T2和T1的时间差已经远远大于了正常时间,说明系统的CPU处理能力和网络传输能力已经受到了影响,这时可增大计数周期,减少系统负荷。反之,可以减少计数周期。
另外,在确定计时周期时,还可根据历史请求数量进行调整,若用户的历史请求数量过多,这时为了避免计时周期过长、延迟程度过大而导致的OPS不准确的问题,这时可在用户的历史请求数量大于预定值时,减小计时周期,若用户的历史请求数量小于预定值,则增大计时周期。进一步的,本申请还可以对用户进行重要程度区分,如果接收到重要用户发送的请求,这时为了保证总OPS的准确定,可向集群内的其他服务器发送获取最新的OPS数据的请求,从而根据其他服务器发送的最新的OPS数据计算最新的总OPS,得到该请求的待处理时间。
参见图3,为发明实施例公开的一种分布式对象存储集群的存储服务质量控制流程示意图;在该图3中,以对象存储服务器1和对象存储服务器2这两个服务器为例对本方案进行说明;在这两个服务器中,包括为每一个用户建立的请求数计数器,在接收到用户的请求时,会对该用户所属的计数器加1,并通过统计模块定时读取各个用户的请求计数器的数值,并对计数器清零,进入下一个计时周期。该统计模块统计出该周期内每个用户的处理请求数后,会计算出每个用户的OPS,并通过发送模块发送给集群中其他服务器。服务器中通过接收模块接收其他服务器发来的OPS数据,通过集群总请求数模块汇总出集群内每个用户的总OPS数。
当用户发送请求时,会通过DNS模块分发请求,根据集群中该用户的总OPS数及dmclock算法,算出该请求在该服务器的应该被处理的时间,当到达应该被处理时间时,处理模块会对该请求进行处理。
综上可以看出,本申请提出的这种分布式对象存储集群的服务质量控制方案,可以有效的针对集群进行服务质量控制,解决集群OPS难以限制的问题;并且,本方案可以通过调整计时周期调整执行频率,来控制集群内发送每秒请求数统计信息的次数,从而有效降低集群间通信对服务器性能的影响。
下面对本发明实施例提供的控制装置进行介绍,下文描述的控制装置与上文描述的控制方法可以相互参照。
参见图4,本发明实施例提供的一种分布式对象存储集群的存储服务质量控制装置,基于分布式对象存储集群的每个服务器,所述装置包括:
接收模块100,用于接收目标用户的目标请求;
OPS确定模块200,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
时间确定模块300,用于所述总OPS及OPS设置值确定所述目标请求的被处理时间;
处理模块400,用于在所述被处理时间响应所述目标请求。
其中,本方案还包括:
OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
其中,所述OPS计算模块包括:
数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
其中,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
本发明实施例还公开了一种布式对象存储集群的存储服务质量控制设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意方法实施例所述的存储服务质量控制方法的步骤。
参见图5,为本发明实施例公开的一种布式对象存储集群的存储服务质量控制设备结构示意图;在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行上述控制方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行上述控制方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-14的设备,本领域技术人员可以理解的是,图5示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的存储服务质量控制方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分布式对象存储集群的存储服务质量控制方法,其特征在于,基于分布式对象存储集群的每个服务器,所述方法包括:
接收目标用户的目标请求;
确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,并在所述被处理时间响应所述目标请求。
2.根据权利要求1所述的方法,其特征在于,所述接收目标用户的目标请求之前,还包括:
根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
3.根据权利要求2所述的方法,其特征在于,所述根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS,包括:
若到达当前计时周期,则从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
4.根据权利要求3所述的方法,其特征在于,所述计时周期根据服务器的资源消耗情况或者每个用户的历史请求数量进行调整。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述利用所述总OPS及OPS设置值确定所述目标请求的被处理时间,包括:
获取与所述目标请求相邻的上一次请求的预留时间值、限制时间值和权重时间值;
通过时间值确定规则获得所述目标请求的目标预留时间值、目标限制时间值、目标权重时间值,以确定所述目标请求的被处理时间;
所述时间值确定规则包括:
Figure FDA0002388271660000021
其中,
Figure FDA0002388271660000022
表示目标用户i的目标请求r的目标预留时间值,
Figure FDA0002388271660000023
表示目标用户i的上一次请求r-1的预留时间值,Vr_suml表示OPS预留设置值,Vother表示总OPS,t表示当前时间;
Figure FDA0002388271660000024
其中,
Figure FDA0002388271660000025
表示目标用户i的目标请求r的目标限制时间值,
Figure FDA0002388271660000026
表示目标用户i的上一次请求r-1的限制时间值,Vl_suml表示OPS限制设置值;
Figure FDA0002388271660000027
其中,Wi r表示目标用户i的目标请求r的目标权重时间值,Wi r-1表示目标用户i的上一次请求r-1的权重时间值,Vw_suml表示OPS权重设置值。
6.一种分布式对象存储集群的存储服务质量控制装置,其特征在于,基于分布式对象存储集群的每个服务器,所述装置包括:
接收模块,用于接收目标用户的目标请求;
OPS确定模块,用于确定与所述目标请求对应的总OPS;所述总OPS为:分布式对象存储集群内除本服务器之外的其他服务器的每秒处理目标用户的请求数之和;
时间确定模块,用于利用所述总OPS及OPS设置值确定所述目标请求的被处理时间;
处理模块,用于在所述被处理时间响应所述目标请求。
7.根据权利要求6所述的装置,其特征在于,还包括:
OPS计算模块,用于根据每个用户在每个计时周期的用户请求数量,计算每个用户在本服务器的OPS;所述OPS为本服务器每秒处理的请求数;
发送模块,用于将本服务器的OPS发送给分布式对象存储集群内的其他服务器,以使所述对象存储集群内的每个服务器计算其他服务器的总OPS。
8.根据权利要求7所述的装置,其特征在于,所述OPS计算模块包括:
数量获取单元,用于到达当前计时周期时,从与每个用户对应的请求数计数器中获取每个计时周期的用户请求数量,所述请求数计数器用于在每个计时周期内统计对应用户的用户请求数量;
计算单元,用于根据所述计时周期及每个用户的用户请求数量,计算每个用户在本服务器的OPS。
9.一种布式对象存储集群的存储服务质量控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的存储服务质量控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的存储服务质量控制方法的步骤。
CN202010105094.4A 2020-02-20 2020-02-20 一种存储服务质量控制方法、装置、设备及存储介质 Active CN111338575B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010105094.4A CN111338575B (zh) 2020-02-20 2020-02-20 一种存储服务质量控制方法、装置、设备及存储介质
PCT/CN2020/097970 WO2021164164A1 (zh) 2020-02-20 2020-06-24 一种存储服务质量控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010105094.4A CN111338575B (zh) 2020-02-20 2020-02-20 一种存储服务质量控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111338575A CN111338575A (zh) 2020-06-26
CN111338575B true CN111338575B (zh) 2021-06-29

Family

ID=71181658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010105094.4A Active CN111338575B (zh) 2020-02-20 2020-02-20 一种存储服务质量控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111338575B (zh)
WO (1) WO2021164164A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988355A (zh) * 2020-06-29 2020-11-24 汉海信息技术(上海)有限公司 限流方法、装置、服务器及服务器集群
CN114238037B (zh) * 2022-02-28 2022-04-29 北京金堤科技有限公司 高并发服务请求结果存储方法和装置、以及电子设备和存储介质
CN114760250B (zh) * 2022-03-18 2023-11-03 福建天晴数码有限公司 一种服务网关通过分层限流保障高可用的方案及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN108924213A (zh) * 2018-06-27 2018-11-30 北京金山安全软件有限公司 一种服务器的qps控制方法、装置及电子设备
CN109032801A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种请求调度方法、系统及电子设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9658778B2 (en) * 2014-01-14 2017-05-23 Netapp, Inc. Method and system for monitoring and analyzing quality of service in a metro-cluster
CN107133100B (zh) * 2017-04-26 2020-03-13 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
US11630832B2 (en) * 2017-06-07 2023-04-18 Sap Se Dynamic admission control for database requests
CN108989439B (zh) * 2018-07-26 2021-06-29 郑州云海信息技术有限公司 一种分布式存储服务质量控制方法及装置
CN109254726A (zh) * 2018-08-16 2019-01-22 华为技术有限公司 分布式存储系统中服务质量保障方法、控制节点及系统
CN109327550B (zh) * 2018-11-30 2022-02-18 网宿科技股份有限公司 一种访问请求的分配方法、装置、存储介质和计算机设备
CN110138732B (zh) * 2019-04-03 2022-03-29 平安科技(深圳)有限公司 访问请求的响应方法、装置、设备及存储介质
CN110677492B (zh) * 2019-10-11 2022-08-02 北京字节跳动网络技术有限公司 一种访问请求处理方法、装置、电子设备及存储介质
CN111092959B (zh) * 2019-12-29 2022-08-12 浪潮电子信息产业股份有限公司 一种集群中服务器的请求处理方法、系统及相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN108924213A (zh) * 2018-06-27 2018-11-30 北京金山安全软件有限公司 一种服务器的qps控制方法、装置及电子设备
CN109032801A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种请求调度方法、系统及电子设备和存储介质

Also Published As

Publication number Publication date
CN111338575A (zh) 2020-06-26
WO2021164164A1 (zh) 2021-08-26

Similar Documents

Publication Publication Date Title
CN111338575B (zh) 一种存储服务质量控制方法、装置、设备及存储介质
CN110858843B (zh) 业务请求处理方法、装置及计算机可读存储介质
CN110162270B (zh) 基于分布式存储系统的数据存储方法、存储节点及介质
CN109800204B (zh) 数据分配方法及相关产品
CN109218369B (zh) 远程过程调用请求控制方法及装置
CN111147395A (zh) 一种网络资源调整方法及装置
CN106933673B (zh) 调整组件逻辑线程数量的方法及装置
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN113079062B (zh) 一种资源调整方法、装置、计算机设备和存储介质
CN112596985B (zh) 一种it资产探测方法、装置、设备和介质
CN117768391A (zh) 流量控制方法、系统、设备及介质
CN108200185B (zh) 一种实现负载均衡的方法及装置
CN113778675A (zh) 一种基于面向区块链网络的计算任务分配系统及方法
CN116932248A (zh) 一种基于线程和协程的事件处理方法、装置和终端设备
CN113992586A (zh) 流量控制方法、装置、计算机设备和存储介质
WO2020103027A1 (zh) 网络功耗调整方法、网络功耗调整装置及移动终端
CN114827281B (zh) 一种网络请求的发送及接收方法、系统及装置
CN116382892A (zh) 一种基于多云融合以及云服务的负载均衡方法及装置
CN110535785B (zh) 一种发送频率的控制方法、装置和分布式系统
CN114844843A (zh) 应用实例数量的调整方法及装置
CN116955271A (zh) 一种数据副本存储的方法、装置、电子设备及存储介质
CN113468442A (zh) 资源位流量的分发方法、计算设备及计算机存储介质
CN111092959B (zh) 一种集群中服务器的请求处理方法、系统及相关装置
CN114546171A (zh) 数据分发方法、装置、存储介质及电子设备
CN109903023B (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