CN113645150B - 传输速率控制方法、装置、电子设备和可读存储介质 - Google Patents

传输速率控制方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN113645150B
CN113645150B CN202110652189.2A CN202110652189A CN113645150B CN 113645150 B CN113645150 B CN 113645150B CN 202110652189 A CN202110652189 A CN 202110652189A CN 113645150 B CN113645150 B CN 113645150B
Authority
CN
China
Prior art keywords
rate
burst
read
transmission rate
bucket
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
CN202110652189.2A
Other languages
English (en)
Other versions
CN113645150A (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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202110652189.2A priority Critical patent/CN113645150B/zh
Publication of CN113645150A publication Critical patent/CN113645150A/zh
Priority to PCT/CN2021/140863 priority patent/WO2022257425A1/zh
Application granted granted Critical
Publication of CN113645150B publication Critical patent/CN113645150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种传输速率控制方法、装置、电子设备和计算机可读存储介质,涉及分布式存储技术领域。其中,传输速率控制方法包括:在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌;响应于客户端发起的读写请求,确定读写操作对应的请求传输速率;在检测到请求传输速率大于令牌桶的突发速率时,将突发速率确定为读写操作的实际传输速率,并触发漏桶向令牌桶内流入令牌。通过本公开的技术方案,能够在限定了令牌桶的容量和突发速率之间的关系的基础上,不需要特意设置burst,即能够实现在保证读写效率的同时,降低该客户端的读写操作对其它客户端获取到的读写能力的影响。

Description

传输速率控制方法、装置、电子设备和可读存储介质
技术领域
本公开涉及分布式存储技术领域,尤其涉及一种分布式存储系统的传输速率控制方法、装置、电子设备和计算机可读存储介质。
背景技术
Ceph(分布式文件系统)是集块存储、文件系统、对象存储于一体的分布式统一存储系统。
相关技术中,为了防止某些客户端占用大量读写资源而导致其它客户端出现饥饿的现象,Ceph通过令牌桶算法对块存储的读写操作进行限制,以保证Qos(Quality ofService,服务质量)。具体地,通过设置burst参数控制令牌桶的容量,使Ceph具备了一定的突发能力(突发能力是指允许读写速度在一定时间内超出限制以应对突然到来的较大量的读写请求),但是在实际应用中,由于使用Ceph块存储的云服务器在开机时的读写较多,开机后读写较少,因此如果burst设置较低,令牌很快就会消耗完从而导致开机时间过长,如果把burst设置较大就无法保证不对其他客户端造成较大影响,失去了限制的意义。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种分布式存储系统的传输速率控制方法、装置、电子设备和计算机可读存储介质,至少在一定程度上克服由于相关技术中告警关联分析周期长,告警产出慢,计算量大的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种分布式存储系统的传输速率控制方法,包括:在令牌桶内配置第一数量的令牌,并在所述令牌桶的入口处设置漏桶,在所述漏桶内配置第二数量的令牌;响应于所述客户端发起的读写请求,确定读写操作对应的请求传输速率;在检测到所述请求传输速率大于所述令牌桶的突发速率时,将所述突发速率确定为所述读写操作的实际传输速率,并触发所述漏桶向所述令牌桶内流入令牌,其中,所述突发速率小于或等于所述第一数量。
在本公开的一个实施例中,在响应于所述客户端发起的读写请求,确定读写操作对应的请求传输速率之前,所述传输速率控制方法还包括:根据所述突发速率以及预设的突发时长配置所述第二数量,所述第二数量大于所述第一数量;所述在检测到所述请求传输速率大于所述令牌桶的突发速率时,将所述突发速率确定为所述读写操作的实际传输速率,并触发所述漏桶向所述令牌桶内流入令牌,还包括:触发所述漏桶基于所述突发速率向所述令牌桶传输所述令牌,以基于所述突发速率执行所述读写操作,其中,基于所述突发速率执行所述读写操作的时长小于或等于所述突发时长。
在本公开的一个实施例中,所述触发所述漏桶基于所述突发速率向所述令牌桶传输所述令牌,还包括:基于限定速率向所述漏桶内传输所述令牌,其中,所述限定速率小于所述突发速率。
在本公开的一个实施例中,还包括:在检测到基于所述突发速率执行所述读写操作的时长达到所述突发时长时,所述读写操作未完成,将所述突发速率切换为所述限定速率,将所述限定速率确定为所述读写操作的实际传输速率,以基于所述限定速率继续执行所述读写操作。
在本公开的一个实施例中,所述根据所述突发速率以及预设的突发时长配置所述第二数量,具体包括:计算所述突发速率和所述限定速率之间的速率差;计算所述速率差和所述突发时长之间的乘积,作为中间量;计算所述中间量和所述第一数量之间的差值,作为所述第二数量。
在本公开的一个实施例中,还包括:调节所述第二数量,以基于所述调节后的第二数量调节所述突发时长;和/或根据所述读写请求的需求参数调节突发时长,以基于调节后的所述突发时长配置所述第二数量。
在本公开的一个实施例中,还包括:在检测到所述请求传输速率小于或等于所述突发速率时,将所述请求传输速率确定为所述读写操作的实际传输速率。
根据本公开的另一个方面,提供一种分布式存储系统的传输速率控制装置,包括:配置模块,用于在令牌桶内配置第一数量的令牌,并在所述令牌桶的入口处设置漏桶,在所述漏桶内配置第二数量的令牌;确定模块,用于响应于所述客户端发起的读写请求,确定读写操作对应的请求传输速率;控制模块,用于在检测到所述请求传输速率大于所述令牌桶的突发速率时,将所述突发速率确定为所述读写操作的实际传输速率,并触发所述漏桶向所述令牌桶内流入令牌,其中,所述突发速率小于或等于所述第一数量。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的分布式存储系统的传输速率控制方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的分布式存储系统的传输速率控制方法。
本公开的实施例所提供的分布式存储系统的传输速率控制方案,通过串接漏桶和令牌桶,预先在令牌桶中配置第一数量的令牌,并限定令牌桶的突发速率,从而能够在接收到客户端的读写请求时,基于请求传输速率和突发速率之间的关系,确定读写请求的实际传输速率,具体地,在检测到请求传输速率大于令牌桶的突发速率时,则直接将突发速率作为实际传输速率,执行读写操作,从而能够在限定了令牌桶的容量和突发速率之间的关系的基础上,不需要特意设置burst,即能够实现在保证读写效率的同时,降低该客户端的读写操作对其它客户端获取到的读写能力的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种分布式存储系统的传输速率控制方法的流程图;
图2示出本公开实施例中另一种分布式存储系统的传输速率控制方法的流程图;
图3示出本公开实施例中再一种分布式存储系统的传输速率控制方法的流程图;
图4示出本公开实施例中又一种分布式存储系统的传输速率控制方法的流程图;
图5示出本公开实施例中又一种分布式存储系统的传输速率控制方法的流程图;
图6示出本公开实施例中又一种分布式存储系统的传输速率控制方法的流程图;
图7示出本公开实施例中一种分布式存储系统的传输速率控制装置的示意图;
图8示出本公开实施例中一种电子设备的示意图;和
图9示出本公开实施例中一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的征、结构或性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述定细节中的一个或更多,或者可以采用其它的、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
分布式存储系统Ceph包括服务端和多个客户端,多个客户端与服务端通信连接,客户端通过接口进行集群的访问,访问包括对集群的整体访问和对象的访问两类接口,接口通过网络实现对Ceph集群的访问,以实现客户端的虚拟机启动、文件拷贝、文件下载等操作。
如图1所示,服务端执行分布式存储系统的传输速率控制方法,包括以下步骤:
步骤S102,在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌。
其中,每一个令牌可以代表一个字节。
漏桶算法指流量先进入到漏桶里,漏桶以一定的速度向外发送流量,当流量的接收速度过大会直接溢出,使漏桶算法能强行限制数据的传输速率。
令牌桶算法的原理是分布式存储系统以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。
令牌桶中的每一个令牌都代表一个字节。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。
由于漏桶算法可以强行限制数据的传输速率,令牌桶算法允许突发传输,通过将漏桶算法和令牌桶算法进行结合,并合理设置第一数量和第二数量,能够实现具有可控时长的突发传输。
另外,本领域的技术人员还能够理解的是,漏桶的数量可以为一个,也可以为多个,令牌桶的数量可以为一个,也可以为多个。
步骤S104,响应于客户端发起的读写请求,确定读写操作对应的请求传输速率。
其中,在获取到客户端的读写请求,即IO请求时,则同样可以获取该读写请求的请求传输速率,以基于当前的读写能力确定是否可以满足客户端基于该请求传输速率进行读写操作的请求。
步骤S106,在检测到请求传输速率大于令牌桶的突发速率时,将突发速率确定为读写操作的实际传输速率,并触发漏桶向令牌桶内流入令牌,其中,突发速率小于或等于第一数量。
其中,令牌桶的突发速率指从漏桶向令牌桶传输令牌的速率,也即令牌桶漏出令牌的速率。
优选地,突发速率与第一数量相同,以实现最大的突发速率。
在该实施例中,通过串接漏桶和令牌桶,预先在令牌桶中配置第一数量的令牌,并限定令牌桶的突发速率,从而能够在接收到客户端的读写请求时,基于请求传输速率和突发速率之间的关系,确定读写请求的实际传输速率,具体地,在检测到请求传输速率大于令牌桶的突发速率时,则直接将突发速率作为实际传输速率,执行读写操作,从而能够在限定了令牌桶的容量和突发速率之间的关系的基础上,不需要特意设置burst,即能够实现在保证读写效率的同时,降低该客户端的读写操作对其它客户端获取到的读写能力的影响。
具体地,在应用过程中,该方法可广泛应用于各种需要进行突发控制的系统,比如允许在云电脑、云服务器在开机、文件拷贝、文件下载等场景中以突发速率持续执行IO操作,以保证读写效率,进而有利于提升用户的使用体验。
如图2所示,服务端执行分布式存储系统的传输速率控制方法,包括以下步骤:
步骤S202,在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌,根据突发速率以及预设的突发时长配置第二数量,第二数量大于第一数量。
其中,本领域的技术人员能够理解的是,为了保证令牌桶能够具有持续突发能力,将漏桶的容量设置为远远大于令牌桶的容量,并在漏桶中预先配置一定量的令牌,以有效延长突发时长。
具体地,可以先确定突发时长,然后基于突发时长确定第二数量,从而实现突发时长的可控配置。
步骤S204,响应于客户端发起的读写请求,确定读写操作对应的请求传输速率。
步骤S206,在检测到请求传输速率大于令牌桶的突发速率时,将突发速率确定为读写操作的实际传输速率,触发漏桶基于突发速率向令牌桶传输令牌,以基于突发速率执行读写操作,其中,基于突发速率执行读写操作的时长小于或等于突发时长。
其中,在确定突发时长后,则可以进一步将基于突发速率执行的读写操作的时长根据突发时长进行限定,以保证以突发速率执行的读写操作的时长的可控性。
优选地,基于突发速率执行读写操作的时长等于突发时长。
在该实施例中,通过串接漏桶和令牌桶,预先在令牌桶中配置第一数量的令牌,在漏桶中配置第二数量的令牌,第二数量可以基于所需的突发时长进行配置,在检测到请求传输速率大于令牌桶的突发速率时,则直接将突发速率作为实际传输速率,并通过突发时长确定以突发速率执行的读写操作的时长,以执行读写操作,从而能够在限定了令牌桶的容量和突发速率之间的关系的基础上,即能够实现在保证读写效率的同时,降低该客户端的读写操作对其它客户端获取到的读写能力的影响,并能够对突发时长进行控制,防止少量的客户端占用过多的系统资源,有效地保障服务质量。
如图3所示,服务端执行分布式存储系统的传输速率控制方法,包括以下步骤:
步骤S302,在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌,根据突发速率以及预设的突发时长配置第二数量,第二数量大于第一数量。
步骤S304,响应于客户端发起的读写请求,确定读写操作对应的请求传输速率。
步骤S306,在检测到请求传输速率大于突发速率时,将突发速率确定为读写操作的实际传输速率,触发漏桶基于突发速率向令牌桶传输令牌,以基于突发速率执行读写操作。以及
步骤S308,基于限定速率向漏桶内传输令牌,其中,限定速率小于突发速率,基于突发速率执行读写操作的时长小于或等于突发时长。
在该实施例中,在基于突发速率从漏桶中导出令牌的同时,基于限定速率向漏桶内导入令牌,一方面,能够满足延长突发时长的需求,另一方面,在漏桶中的令牌和令牌桶中的令牌都用完后,可以继续基于限定速率作为实际传输速率执行读写操作。
如图3所示,在本公开的一个实施例中,还包括:
步骤S310,在检测到基于突发速率执行读写操作的时长达到突发时长时,读写操作未完成,将突发速率切换为限定速率,将限定速率确定为读写操作的实际传输速率,以基于限定速率继续执行读写操作。
在该实施例中,在漏桶中的令牌和令牌桶中的令牌都用完后,通过将突发速率切换为限定速率,继续基于限定速率作为实际传输速率执行读写操作,有利于保证读写操作的正常执行。
如图4所示,在本公开的一个实施例中,根据突发速率以及预设的突发时长配置第二数量的一种具体实现方式,包括:
步骤S402,计算突发速率和限定速率之间的速率差。
步骤S404,计算速率差和突发时长之间的乘积,作为中间量。
步骤S406,计算中间量和第一数量之间的差值,作为第二数量。
具体地,在确定突发时长的前提下,通过突发速率和限定速率配置第二数量,其中,第一数量为令牌桶的容量,第二数量为漏桶的容量,最大可累积令牌数即为令牌桶的容量和漏桶的容量之和。
具体地,最大可累积令牌数=大漏桶容量(T)+小令牌桶容量(B)
持续突发消耗的令牌=最大可累积令牌数+新生成的令牌,如式(1)所示,对应得到的第二数量如式(2)所示。
B×S=T+B+L×S (1)
T=S×(B-L)-B (2)
在该实施例中,在令牌累积满大漏桶和小令牌桶的情况下,客户端在设定的时长范围内都可以按突发速率执行IO请求。
在本公开的一个实施例中,还包括:调节第二数量,以基于调节后的第二数量调节突发时长;和/或根据读写请求的需求参数调节突发时长,以基于调节后的突发时长配置第二数量。
在该实施例中,将漏桶的容量设置为可调,因此在需要调整突发时长时,则可以通过调节漏桶的容量,即第二数量实现。
另外,也可以进一步通过获取读写请求的需求参数,比如对于云电脑的开机需求时间,文件的下载需求时间,以及文件的上传需求时间等,通过这些需求参数确定对应的突发时长,以基于突发时长进一步配置第二数量,从而实现了不同的读写操作的读写能力的适配调整。
在本公开的一个实施例中,还包括:在检测到请求传输速率小于或等于突发速率时,将请求传输速率确定为读写操作的实际传输速率。
在该实施例中,在原有方案增加了一个大漏桶,漏桶里的令牌以突发速率向令牌桶泄漏,通过调节漏桶的容量获得持续突发能力。具体地,当IO请求速度小于令牌产生的速度时,令牌会不断的累积,桶的容量越大,能保存的令牌数就越多,可持续突发的时间越长。
如图5所示,通过大漏桶+小令牌桶相结合对IO进行限制,实现分布式存储系统的传输速率控制,具体包括:
步骤S502,设置限定速率L、突发速率B和突发时长S。
步骤S504,根据限定速率L向漏桶中投放令牌。
步骤S506,根据突发速率B向令牌桶中投放令牌。
步骤S508,读写操作。
具体地,客户端发起IO请求时,首先判断能否从小令牌桶中申请到足够令牌,若能够则消耗桶中相应个数的令牌并放行,反之则将操作挂起,直到能够获取到足够的令牌。
步骤S510,申请令牌成功。
步骤S512,阻塞操作等待。
步骤S514,继续执行操作。
在该实施例中,由于小令牌桶的容量为B,且限定速率不超过B,在大漏桶中还有令牌的情况下,可以一直以突发速率执行IO操作,具备持续突发能力,大漏桶加小令牌桶,一共可以存储令牌的数量为突发时长*(突发速率-限定速率),加上每秒以限定速率补充的令牌,在桶满的情况下,可以在突发时长范围内以突发速率持续执行IO操作,突发时长可控。
如图6所示,根据本公开的实施例的分布式存储系统的传输速率控制方法,包括:
步骤S602,在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌,第二数量大于第一数量。
步骤S604,响应于客户端发起的读写请求,检测读写操作对应的请求传输速率和突发速率之间的关系。
步骤S606,在检测到请求传输速率大于令牌桶的突发速率时,将突发速率确定为读写操作的实际传输速率。
步骤S608,触发漏桶基于突发速率向令牌桶传输令牌,基于限定速率向漏桶内传输令牌。
步骤S610,在检测到基于突发速率执行读写操作的时长达到突发时长时,读写操作未完成,将突发速率切换为限定速率,将限定速率确定为读写操作的实际传输速率,以基于限定速率继续执行读写操作。
步骤S612,在检测到请求传输速率小于或等于突发速率时,将请求传输速率确定为读写操作的实际传输速率。
在该实施例中,通过采用大漏桶+小令牌桶结合的令牌消耗方式,小令牌桶的容量固定为突发速率值,令牌以限定速率流入大漏桶中,大漏桶中的令牌以突发速率流向小令牌桶。当大漏桶中有剩余令牌时,客户端可以一直以突发速率执行读写请求,若请求速率大于令牌补充的速率,当大漏桶和小令牌桶中的令牌都用光了以后,客户端的IO请求执行速率与令牌补充的速率一致,通过调节大漏桶的容量实现突发时长的控制。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的分布式存储系统的传输速率控制装置700。图7所示的分布式存储系统的传输速率控制装置700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
分布式存储系统的传输速率控制装置700以硬件模块的形式表现。分布式存储系统的传输速率控制装置700的组件可以包括但不限于:配置模块702,用于在令牌桶内配置第一数量的令牌,并在令牌桶的入口处设置漏桶,在漏桶内配置第二数量的令牌;确定模块704,用于响应于客户端发起的读写请求,确定读写操作对应的请求传输速率;控制模块706,用于在检测到请求传输速率大于突发速率时,将突发速率确定为读写操作的实际传输速率,并触发漏桶向令牌桶内流入令牌,其中,突发速率小于或等于第一数量。
在本公开的一个实施例中,配置模块702还用于:根据突发速率以及预设的突发时长配置第二数量,第二数量大于第一数量;控制模块706还用于:触发漏桶基于突发速率向令牌桶传输令牌,以基于突发速率执行读写操作,其中,基于突发速率执行读写操作的时长小于或等于突发时长。
在本公开的一个实施例中,控制模块706还用于:基于限定速率向漏桶内传输令牌,其中,限定速率小于突发速率。
在本公开的一个实施例中,还包括:切换模块708,用于在检测到基于突发速率执行读写操作的时长达到突发时长时,读写操作未完成,将突发速率切换为限定速率,将限定速率确定为读写操作的实际传输速率,以基于限定速率继续执行读写操作。
在本公开的一个实施例中,配置模块702还用于:计算突发速率和限定速率之间的速率差;计算速率差和突发时长之间的乘积,作为中间量;计算中间量和第一数量之间的差值,作为第二数量。
在本公开的一个实施例中,还包括:调节模块710,用于调节第二数量,以基于调节后的第二数量调节突发时长;和/或根据读写请求的需求参数调节突发时长,以基于调节后的突发时长配置第二数量。
在本公开的一个实施例中,控制模块706还用于:在检测到请求传输速率小于或等于突发速率时,将请求传输速率确定为读写操作的实际传输速率。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,存储单元存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元810可以执行如图1中所示的步骤S202、S204和S206,以及本公开的分布式存储系统的传输速率控制方法中限定的其他步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图9所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种分布式存储系统的传输速率控制方法,应用于所述分布式存储系统的服务端,其特征在于,所述分布式存储系统还包括多个客户端,所述多个客户端与所述服务端通信连接,所述传输速率控制方法包括:
在令牌桶内配置第一数量的令牌,并在所述令牌桶的入口处设置漏桶,在所述漏桶内配置第二数量的令牌,其中,根据所述令牌桶的突发速率以及预设的突发时长配置所述第二数量,所述第二数量大于所述第一数量;
响应于所述客户端发起的读写请求,确定读写操作对应的请求传输速率;
在检测到所述请求传输速率大于所述令牌桶的突发速率时,将所述突发速率确定为所述读写操作的实际传输速率,并触发所述漏桶向所述令牌桶内流入令牌,具体包括:触发所述漏桶基于所述突发速率向所述令牌桶传输所述令牌,以基于所述突发速率执行所述读写操作,
其中,所述突发速率小于或等于所述第一数量。
2.根据权利要求1所述的分布式存储系统的传输速率控制方法,其特征在于,
基于所述突发速率执行所述读写操作的时长小于或等于所述突发时长。
3.根据权利要求2所述的分布式存储系统的传输速率控制方法,其特征在于,所述触发所述漏桶基于所述突发速率向所述令牌桶传输所述令牌,还包括:
基于限定速率向所述漏桶内传输所述令牌,
其中,所述限定速率小于所述突发速率。
4.根据权利要求3所述的分布式存储系统的传输速率控制方法,其特征在于,还包括:
在检测到基于所述突发速率执行所述读写操作的时长达到所述突发时长时,所述读写操作未完成,将所述突发速率切换为所述限定速率,将所述限定速率确定为所述读写操作的实际传输速率,以基于所述限定速率继续执行所述读写操作。
5.根据权利要求3所述的分布式存储系统的传输速率控制方法,其特征在于,所述根据所述突发速率以及预设的突发时长配置所述第二数量,具体包括:
计算所述突发速率和所述限定速率之间的速率差;
计算所述速率差和所述突发时长之间的乘积,作为中间量;
计算所述中间量和所述第一数量之间的差值,作为所述第二数量。
6.根据权利要求5所述的分布式存储系统的传输速率控制方法,其特征在于,还包括:
调节所述第二数量,以基于所述调节后的第二数量调节所述突发时长;和/或
根据所述读写请求的需求参数调节突发时长,以基于调节后的所述突发时长配置所述第二数量。
7.根据权利要求1至6中任一项所述的分布式存储系统的传输速率控制方法,其特征在于,还包括:
在检测到所述请求传输速率小于或等于所述突发速率时,将所述请求传输速率确定为所述读写操作的实际传输速率。
8.一种分布式存储系统的传输速率控制装置,应用于所述分布式存储系统的服务端,其特征在于,所述分布式存储系统还包括多个客户端,所述多个客户端与所述服务端通信连接,所述传输速率控制装置包括:
配置模块,用于在令牌桶内配置第一数量的令牌,并在所述令牌桶的入口处设置漏桶,在所述漏桶内配置第二数量的令牌,其中,根据所述令牌桶的突发速率以及预设的突发时长配置所述第二数量,所述第二数量大于所述第一数量;
确定模块,用于响应于所述客户端发起的读写请求,确定读写操作对应的请求传输速率;
控制模块,用于在检测到所述请求传输速率大于所述令牌桶的突发速率时,将所述突发速率确定为所述读写操作的实际传输速率,并触发所述漏桶向所述令牌桶内流入令牌,所述控制模块具体用于:触发所述漏桶基于所述突发速率向所述令牌桶传输所述令牌,以基于所述突发速率执行所述读写操作,
其中,所述突发速率小于或等于所述第一数量。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的分布式存储系统的传输速率控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的分布式存储系统的传输速率控制方法。
CN202110652189.2A 2021-06-11 2021-06-11 传输速率控制方法、装置、电子设备和可读存储介质 Active CN113645150B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110652189.2A CN113645150B (zh) 2021-06-11 2021-06-11 传输速率控制方法、装置、电子设备和可读存储介质
PCT/CN2021/140863 WO2022257425A1 (zh) 2021-06-11 2021-12-23 传输速率控制方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110652189.2A CN113645150B (zh) 2021-06-11 2021-06-11 传输速率控制方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN113645150A CN113645150A (zh) 2021-11-12
CN113645150B true CN113645150B (zh) 2023-06-27

Family

ID=78416019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110652189.2A Active CN113645150B (zh) 2021-06-11 2021-06-11 传输速率控制方法、装置、电子设备和可读存储介质

Country Status (2)

Country Link
CN (1) CN113645150B (zh)
WO (1) WO2022257425A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645150B (zh) * 2021-06-11 2023-06-27 天翼云科技有限公司 传输速率控制方法、装置、电子设备和可读存储介质
CN114785739B (zh) * 2022-04-22 2024-10-18 天津中科曙光存储科技有限公司 逻辑卷服务质量的控制方法、装置、设备及介质
CN115543761B (zh) * 2022-11-28 2023-04-14 苏州浪潮智能科技有限公司 一种支持iops突发的方法、装置、电子设备及可读存储介质
CN116192752B (zh) * 2023-02-27 2024-07-16 中国工商银行股份有限公司 业务流量控制方法、装置、电子设备及存储介质
CN116708315B (zh) * 2023-07-17 2023-11-03 中移(苏州)软件技术有限公司 流量限速方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859206A (zh) * 2006-03-24 2006-11-08 华为技术有限公司 一种剩余带宽复用的方法及网络设备
CN106375238A (zh) * 2015-07-21 2017-02-01 深圳市中兴微电子技术有限公司 一种流量监管方法及装置
CN107276827A (zh) * 2017-07-25 2017-10-20 郑州云海信息技术有限公司 一种分布式存储系统中Qos的实现方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム
CN101267382A (zh) * 2007-03-13 2008-09-17 大唐移动通信设备有限公司 确定数据传输通道拥塞状态的方法及装置
JP4612713B2 (ja) * 2008-08-12 2011-01-12 株式会社日立製作所 パケット転送装置及びネットワークシステム
EP2234346A1 (en) * 2009-03-26 2010-09-29 BRITISH TELECOMMUNICATIONS public limited company Policing in data networks
CN104125006B (zh) * 2014-07-28 2017-11-03 大连大学 卫星通信网络带宽分配方法
CN107579926B (zh) * 2017-10-20 2021-02-09 南京易捷思达软件科技有限公司 基于令牌桶算法的Ceph云存储系统的QoS设置方法
CN108804043A (zh) * 2018-06-26 2018-11-13 郑州云海信息技术有限公司 分布式块存储系统带宽流量控制方法、装置、设备及介质
CN108848038B (zh) * 2018-08-30 2021-01-29 华为技术有限公司 基于令牌桶的流量管理方法和令牌桶节点
CN112423346A (zh) * 2020-10-27 2021-02-26 清华大学 一种中继多址接入调度方法、装置、电子设备及存储介质
CN112463066B (zh) * 2020-12-11 2023-01-06 苏州浪潮智能科技有限公司 一种控制分布式块存储逻辑卷突发服务质量的方法和设备
CN113645150B (zh) * 2021-06-11 2023-06-27 天翼云科技有限公司 传输速率控制方法、装置、电子设备和可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859206A (zh) * 2006-03-24 2006-11-08 华为技术有限公司 一种剩余带宽复用的方法及网络设备
CN106375238A (zh) * 2015-07-21 2017-02-01 深圳市中兴微电子技术有限公司 一种流量监管方法及装置
CN107276827A (zh) * 2017-07-25 2017-10-20 郑州云海信息技术有限公司 一种分布式存储系统中Qos的实现方法及装置

Also Published As

Publication number Publication date
WO2022257425A1 (zh) 2022-12-15
CN113645150A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN113645150B (zh) 传输速率控制方法、装置、电子设备和可读存储介质
CN110753131A (zh) 微服务分布式限流方法及装置、存储介质和电子设备
WO2019042169A1 (zh) 资源配置方法及相关产品
CN110839084B (zh) 会话管理方法、装置、设备和介质
CN110677441B (zh) 一种对象存储集群的访问方法及装置
CN107645407B (zh) 一种适配QoS的方法和装置
WO2017124972A1 (zh) 一种资源缓存管理方法及系统和装置
CN111245732B (zh) 一种流量控制方法、装置及设备
US20130117438A1 (en) Methods for adapting application services based on current server usage and devices thereof
WO2019047708A1 (zh) 资源配置方法及相关产品
CN111866101B (zh) 访问请求处理方法及装置、存储介质和电子设备
CN114500288B (zh) 带宽调整方法及装置、存储介质
US9537784B2 (en) Network-specific data downloading to a mobile device
WO2023226757A1 (zh) 视频缓存方法、装置、设备及存储介质
CN114095907B (zh) 蓝牙连接的控制方法、装置及设备
CN105406989A (zh) 处理报文的方法、网卡及系统、更新信息的方法及主机
CN115665054A (zh) 带宽分配的方法和模块、以及数据传输管理系统
CN114374657A (zh) 一种数据处理方法和装置
CN114020209A (zh) 一种客户端业务限速方法、装置、设备及存储介质
CN113064620A (zh) 一种处理系统数据的方法和装置
CN112163176A (zh) 数据存储方法、装置、电子设备和计算机可读介质
WO2024146115A1 (zh) 带宽资源分配方法、装置及相关设备
CN114064362B (zh) 用于分布式存储中的数据恢复方法、系统及计算机可读存储介质
CN115086263B (zh) Ios终端的im消息发送方法、系统、存储介质、计算机设备
CN111901253B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220209

Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing

Applicant after: Tianyiyun Technology Co.,Ltd.

Address before: No.31, Financial Street, Xicheng District, Beijing, 100033

Applicant before: CHINA TELECOM Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant