CN109358816B - 一种分布式存储系统的流控方法及装置 - Google Patents

一种分布式存储系统的流控方法及装置 Download PDF

Info

Publication number
CN109358816B
CN109358816B CN201811223725.1A CN201811223725A CN109358816B CN 109358816 B CN109358816 B CN 109358816B CN 201811223725 A CN201811223725 A CN 201811223725A CN 109358816 B CN109358816 B CN 109358816B
Authority
CN
China
Prior art keywords
flow control
object storage
storage device
parameter
event
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
CN201811223725.1A
Other languages
English (en)
Other versions
CN109358816A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201811223725.1A priority Critical patent/CN109358816B/zh
Publication of CN109358816A publication Critical patent/CN109358816A/zh
Application granted granted Critical
Publication of CN109358816B publication Critical patent/CN109358816B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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]

Abstract

本发明公开了一种分布式存储系统的流控方法及装置,其中,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。本申请提供的技术方案,能够提高流控的效率和精度。

Description

一种分布式存储系统的流控方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种分布式存储系统的流控方法及装置。
背景技术
随着互联网中数据量的不断增加,可以通过将多台服务器组成分布式存储系统,从而克服单台服务器存储容量有限的问题。当前常见的分布式存储系统例如可以包括TFS(Taobao File System,淘宝文件系统)、FastDFC、MooseFS、GlusterFS、Ceph等。
目前,在分布式存储系统中可以通过内部数据迁移,来实现系统扩容并且增强系统的稳定性。内部数据迁移通常会消耗一定的磁盘IO(Input/Output,输入输出总线)资源,此外,系统在处理外部的用户请求时,也会消耗一定的磁盘IO资源。当内部数据迁移与外部业务请求同时触发时,会严重消耗磁盘的IO资源,从而导致外部的业务请求的响应速度变慢,甚至会使得业务请求失败。鉴于此,分布式存储系统通常会自带内部数据迁移速度的调控指令,当管理人员发现当前参与数据迁移的节点过多,可能会影响外部业务请求的处理效率时,可以通过人为输入调控指令的方式来降低数据的迁移速度。然而,这种通过人工处理的方式具备较低的效率,另外,管理人员在实际操作中也无法准确判断出最适合的迁移速度,从而导致通过调控指令调整后的迁移速度无法很好地适用于分布式存储系统,进而会降低分布式存储系统的整体性能。
发明内容
本申请的目的在于提供一种分布式存储系统的流控方法及装置,能够提高流控的效率和精度。
为实现上述目的,本申请一方面提供一种分布式存储系统的流控方法,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。
为实现上述目的,本申请另一方面还提供一种分布式存储系统的流控装置,所述装置包括:对象存储设备确定单元,用于在分布式存储系统中确定存在数据迁移的对象存储设备;信息获取单元,用于获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;流控事件确定单元,用于检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;速度调节单元,用于根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。
为实现上述目的,本申请另一方面还提供一种分布式存储系统的流控装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
由上可见,本申请提供的技术方案,可以对分布式存储系统中的各个对象存储设备进行监控,并可以确定出当前存在数据迁移的对象存储设备。针对存在数据迁移的对象存储设备,可以获取该对象存储设备对应的磁盘的标准负载范围,并可以获取该对象存储设备当前的迁移速度参数。然后,可以检测磁盘当前实际的负载值,并将该负载值与上述的标准负载范围进行比较,从而判断负载值是否处于该标准负载范围内。根据比较结果,可以确定出该对象存储设备目前应当执行的流控事件。其中,该流控事件可以包括增速事件、减速事件或者不处理事件,分别对应提高迁移速度、降低迁移速度以及维持当前的迁移速度不变。最终,可以根据确定出的流控事件,对获取的该对象存储设备的迁移速度参数进行调整。由上可见,本申请提供的技术方案可以自动地对各个对象存储设备进行监控,并且可以针对单独地调整各个对象存储设备的迁移速度参数,不仅提高了流控的效率,还能提高流控的精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中分布式存储系统的架构示意图;
图2是本发明实施方式中分布式存储系统的流控方法步骤图;
图3是本发明实施方式中OSD的监控示意图;
图4是本发明实施方式中分布式存储系统的流控装置的功能模块示意图;
图5是本发明实施方式中分布式存储系统的流控装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参阅图1,在现有的分布式存储系统中,可以具备多个存储节点,每个存储节点上可以分布多个对象存储设备(Object-based Storage Device,OSD),其中,各个OSD可以与存储节点上的磁盘一一对应,并且OSD中可以具备多个放置组(Placement Group,PG),PG可以作为分布式存储系统中最小的数据迁移单元,同一个PG可以在不同的OSD中进行备份存储,从而得到一个PG的多个副本。当分布式存储系统内部需要进行数据迁移时,可以在不同的OSD之间进行PG的迁移。
本申请提供的分布式存储系统的流控方法,可以应用于分布式存储系统的各个OSD中。具体地,请参阅图2,所述方法可以包括以下步骤。
S1:在分布式存储系统中确定存在数据迁移的对象存储设备。
请参阅图3,在本实施方式中,在对分布式存储系统中的各个OSD进行监控前,可以预先通过分布式存储系统中的调控处理单元获取该分布式存储系统中处于工作状态的OSD的信息列表,然后,针对所述信息列表中的各个OSD,可以启动并发监控线程,每个OSD均可以对应一个并发监控线程。后续,可以通过所述并发监控线程按照指定时间间隔对OSD进行监控,从而控制OSD的数据迁移速度,避免由于内部数据迁移速度过快,导致过多占用磁盘IO。此外,还可以在磁盘IO相对空闲的时候,提高内部数据的迁移速度,以充分利用磁盘IO的空闲资源。
在本实施方式中,调控处理单元通过并发监控线程监控各个OSD时,可以确定出当前存在数据迁移的OSD,从而控制这些存在数据迁移的OSD的数据迁移速度。具体地,调控处理单元可以通过各个并发监控线程,获取该分布式存储系统中各个PG当前的状态参数。所述PG在创建之后,可以通过各种状态参数来表征当前的运行状态。例如,状态参数为active可以表征该PG正在工作中,能正常处理来自客户端的读写请求。状态参数为inactive可以表征该PG不在工作中,不能正常处理来自客户端的读写请求。状态参数为clean可以表征该PG所包含的对象达到指定的副本数量,即对象的副本数量正常。状态参数为degraded可以表征主OSD没有收到副OSD的写完成应答。当然,在实际应用中还可以具备更多的状态参数,这里便不一一例举。在分布式存储系统中,调控处理单元可以通过并发监控线程下达状态查询指令,若各个PG的状态参数均表明PG处于正常工作状态,那么查询结果可以显示为health_ok(健康状态)。如果部分PG的状态参数表明PG当前存在异常,那么查询结果可以显示为health_warn(健康预警)。
在本实施方式中,可以根据health_warn的结果列表,从所述分布式存储系统中筛选出状态参数异常的PG。然后,通过识别筛选出的各个PG实际的状态参数,从而可以从所述状态参数异常的放置组中确定存在数据迁移的目标放置组,进而可以将所述目标放置组所处的OSD作为存在数据迁移的OSD。
在另一个实施方式中,还可以根据磁盘的负载情况来识别存在数据迁移的对象存储设备。具体地,分布式存储系统中的各个磁盘可以具备自身的标准负载范围,若磁盘当前的负载值处于该标准负载范围内,则表明磁盘当前的IO资源没有被过度消耗,当前的内部数据迁移速度是合理的。而如果磁盘当前的负载值超出该标准负载范围内,则表明当前的内部数据迁移速度过快或者过慢,在这种情况下就需要对数据迁移速度进行调节。基于此,在本实施方式中可以检测分布式存储系统中各个对象存储设备对应的磁盘负载值,并筛选出磁盘负载值处于标准负载范围之外的目标对象存储设备。其中,所述标准负载范围可以是一个负载区间,该负载区间可以具备负载下限值和负载上限值。这样,上述处于标准负载范围之外的含义可以是:当前的负载值小于所述负载下限值或者当前的负载值大于所述负载上限值。在筛选出负载超范围的目标OSD之后,可以在所述目标对象存储设备中检测是否存在数据迁移的放置组,若存在,则可以将所述目标对象存储设备作为存在数据迁移的对象存储设备。
S3:获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数。
在本实施方式中,在确定出存在数据迁移的OSD之后,为了判断该OSD是否需要调节内部的数据迁移速度,可以获取所述OSD对应的磁盘的标准负载范围,并获取所述OSD的迁移速度参数。其中,磁盘的标准负载范围可以通过对磁盘进行读写测试来获得。具体地,可以检测磁盘在不同的读写速度下的响应时间,来查找该磁盘的最优负载阈值。其中,该最优负载阈值可以包括负载上限值和负载下限值。由该负载下限值和负载上限值构成的闭区间便可以作为该磁盘的标准负载范围。所述OSD的迁移速度参数可以是单位为秒的数值,该迁移速度参数可以表示相邻两次数据迁移之间的时间间隔。该迁移速度参数可以通过查看OSD的运行参数来获得。例如,获取的所述OSD的迁移速度参数为1.5,则表示该OSD内部每隔1.5秒便进行一次数据迁移。
S5:检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件。
在本实施方式中,在确定出磁盘的标准负载范围后,可以进一步地检测该磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较。若所述当前负载值小于所述标准负载范围的下限值,则表明该磁盘当前具备较多的空闲IO资源,此时,可以适当提高内部数据的迁移速度,从而有效利用磁盘的空闲IO资源。因此,在这种情况下,可以确定所述对象存储设备目前应当执行的流控事件为增速事件。若所述当前负载值大于所述标准负载范围的上限值,则表明该磁盘当前被消耗了过多的IO资源,为了保证外部业务请求能够正常消耗磁盘的IO资源,此时可以适当减小内部数据的迁移速度。因此,在这种情况下,可以确定所述对象存储设备目前应当执行的流控事件为减速事件。而如果所述当前负载值大于或者等于所述标准负载范围的下限值,并且小于或者等于所述标准负载范围的上限值,则表明磁盘当前的IO资源的消耗在正常范围内,内部数据可以按照当前的迁移速度进行迁移。因此,在这种情况下,可以确定所述对象存储设备无需执行流控事件。
S7:根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。
在本实施方式中,在确定出当前的OSD应当执行的流控事件之后,便可以对应地调整该OSD的迁移速度参数。
在一个实施方式中,可以预先设置迁移速度参数的调节步长,该调节步长例如可以是0.05秒。这样,若所述流控事件为增速事件,按照该预先设置的调节步长减小当前的迁移速度参数,从而加快内部数据的迁移速度。例如,当前的迁移速度参数为1.5秒,那么经过调整之后,可以按照1.45秒的间隔时间进行内部数据迁移。而如果所述流控事件为减速事件,则可以按照该预先设置的调节步长提高所述迁移速度参数,从而减缓内部数据的迁移速度。
在另一个实施方式中,通过大量的实验可以发现,随着迁移速度参数的改变,OSD实际的带宽消耗也可能发生变化,因此,迁移速度参数不太适合按照固定的调节步长进行调整。鉴于此,在本实施方式中,迁移速度参数可以按照不同的参数区间进行划分。例如,迁移速度参数可以被划分为两个参数区间,其中一个参数区间为[0.2,1.5],另一个参数区间可以是[0.01,0.2)。由于不同的参数区间,可能会对应不同的带宽消耗,因此针对不同的参数区间,迁移速度参数的调节步长也可以各不相同,并且上调步长和下调步长也可以各不相同。这样,各个参数区间便可以具备各自的参数上调步长和参数下调步长。举例来说,通过实验可以发现,迁移速度参数在[0.2,1.5]的参数区间内时,带宽消耗差别不太大,此时可以设置参数上调步长为0.15,参数下调步长为0.05。而迁移速度参数在[0.01,0.2)的参数区间内时,带宽消耗差别会比较明显,因此需要相应减小参数的调节步长,此时可以设置参数上调步长为0.1,参数下调步长为0.02。
这样,在本实施方式中,在对当前的迁移速度参数进行调节时,首先可以确定所述对象存储设备的迁移速度参数所处的目标参数区间,并可以获取该目标参数区域对应的参数下调步长和参数上调步长。然后,若所述流控事件为增速事件,则可以按照所述目标参数区间的参数下调步长减少所述迁移速度参数;若所述流控事件为减速事件,可以按照所述目标参数区间的参数上调步长提高所述迁移速度参数。这样,根据不同的参数区间,可以通过不同的调节步长对迁移速度参数进行调整,从而能够平缓地改变OSD的带宽消耗,进而提高OSD实际的性能。
需要说明的是,在实际应用中,迁移速度参数的调节过程都是循序渐进的,在按照调节步长调整一次之后,可以再次检测所述磁盘在调整迁移速度参数之后的负载值,并将再次检测的所述负载值与所述标准负载范围进行比较,从而可以根据比较结果再次确定所述对象存储设备在调整迁移速度参数之后应当执行的流控事件。后续,便可以根据再次确定的流控事件,在上一次调整后的迁移速度参数的基础上,继续按照上述方式进行调节,直至磁盘的当前负载值处于标准负载范围内为止。
在一个实施方式中,磁盘的负载值在检测过程中可能会发生波动,从而导致相邻两次的检测结果,会出现截然不同的流控事件。例如,当前检测结果表示,OSD应当执行增速事件,而上一次的检测结果表示OSD应当执行减速事件。通常来讲,相邻两次出现类型不同的流控事件可能是由于负载值波动而引起的误判,在这种情况下,不应当根据当前的检测结果来对应调整迁移速度参数。鉴于此,在本实施方式中,在根据比较结果确定所述对象存储设备目前应当执行的流控事件之后,可以读取所述对象存储设备上一次应当执行的流控事件,并判断所述上一次应当执行的流控事件与所述目前应当执行的流控事件是否为同一事件。若为同一事件,则表示当前的检测结果是正常的,因此可以基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。而如果不是同一事件,则表示当前的检测结果可能是由于负载值波动引起的误判,此时可以无视目前应当执行的流控事件,而是继续基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。具体地,在基于目前应当执行的流控事件进行速度调节时,若所述目前应当执行的流控事件为增速事件,可以减少所述对象存储设备的迁移速度参数;若所述目前应当执行的流控事件为减速事件,可以提高所述对象存储设备的迁移速度参数;相应地,在基于上一次应当执行的流控事件进行速度调节时,若所述上一次应当执行的流控事件为增速事件,可以减少所述对象存储设备的迁移速度参数;若所述上一次应当执行的流控事件为减速事件,可以提高所述对象存储设备的迁移速度参数。其中,提高或者减少迁移速度参数的具体过程,可以参照前述实施方式中的描述,这里便不再赘述。由上可见,通过比较相邻两次的流控事件是否相同,从而可以避免在短时间内对OSD的迁移速度参数进行完全不同的调整策略。
请参阅图4,本申请还提供一种分布式存储系统的流控装置,所述装置包括:
对象存储设备确定单元,用于在分布式存储系统中确定存在数据迁移的对象存储设备;
信息获取单元,用于获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;
流控事件确定单元,用于检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;
速度调节单元,用于根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。
在一个实施方式中,所述流控事件确定单元包括:
第一判断模块,用于若所述当前负载值小于所述标准负载范围的下限值,确定所述对象存储设备目前应当执行的流控事件为增速事件;
第二判断模块,用于若所述当前负载值大于所述标准负载范围的上限值,确定所述对象存储设备目前应当执行的流控事件为减速事件;
第三判断模块,用于若所述当前负载值大于或者等于所述标准负载范围的下限值,并且小于或者等于所述标准负载范围的上限值,确定所述对象存储设备无需执行流控事件。
在一个实施方式中,所述迁移速度参数按照参数区间进行划分,并且所述参数区间具备参数上调步长和参数下调步长;
相应地,所述速度调节单元包括:
目标参数区间确定模块,用于确定所述对象存储设备的迁移速度参数所处的目标参数区间;
增速处理模块,用于若所述流控事件为增速事件,按照所述目标参数区间的参数下调步长减少所述迁移速度参数;
减速处理模块,用于若所述流控事件为减速事件,按照所述目标参数区间的参数上调步长提高所述迁移速度参数。
在一个实施方式中,所述装置还包括:
事件判断单元,用于读取所述对象存储设备上一次应当执行的流控事件,并判断所述上一次应当执行的流控事件与所述目前应当执行的流控事件是否为同一事件;
相应地,所述速度调节单元还用于若为同一事件,基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数;若不是同一事件,基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。
请参阅图5,本申请还提供一种分布式存储系统的流控装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的方法。如图5所示,在硬件层面,该装置可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述识别装置的结构造成限定。例如,所述识别装置还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者具有与图5所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本说明书实施例中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本申请实施例所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不再限定。
需要说明的是,本说明书实施方式中上述所述的装置,根据相关方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由上可见,本申请提供的技术方案,可以对分布式存储系统中的各个对象存储设备进行监控,并可以确定出当前存在数据迁移的对象存储设备。针对存在数据迁移的对象存储设备,可以获取该对象存储设备对应的磁盘的标准负载范围,并可以获取该对象存储设备当前的迁移速度参数。然后,可以检测磁盘当前实际的负载值,并将该负载值与上述的标准负载范围进行比较,从而判断负载值是否处于该标准负载范围内。根据比较结果,可以确定出该对象存储设备目前应当执行的流控事件。其中,该流控事件可以包括增速事件、减速事件或者不处理事件,分别对应提高迁移速度、降低迁移速度以及维持当前的迁移速度不变。最终,可以根据确定出的流控事件,对获取的该对象存储设备的迁移速度参数进行调整。由上可见,本申请提供的技术方案可以自动地对各个对象存储设备进行监控,并且可以针对单独地调整各个对象存储设备的迁移速度参数,不仅提高了流控的效率,还能提高流控的精度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种分布式存储系统的流控方法,其特征在于,所述方法包括:
在分布式存储系统中确定存在数据迁移的对象存储设备;
获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数,所述迁移速度参数按照参数区间进行划分,并且所述参数区间具备参数上调步长和参数下调步长;
检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;
确定所述对象存储设备的迁移速度参数所处的目标参数区间,根据确定的所述流控事件,按照所述目标参数区间的参数上调步长或者参数下调步长,调整所述对象存储设备的迁移速度参数。
2.根据权利要求1所述的方法,其特征在于,在分布式存储系统中确定存在数据迁移的对象存储设备包括:
获取分布式存储系统中各个放置组当前的状态参数,并从所述分布式存储系统中筛选出状态参数异常的放置组;
从所述状态参数异常的放置组中确定存在数据迁移的目标放置组,并将所述目标放置组所处的对象存储设备作为存在数据迁移的对象存储设备。
3.根据权利要求1所述的方法,其特征在于,在分布式存储系统中确定存在数据迁移的对象存储设备包括:
检测分布式存储系统中各个对象存储设备对应的磁盘负载值,并筛选出磁盘负载值处于标准负载范围之外的目标对象存储设备;
在所述目标对象存储设备中检测是否存在数据迁移的放置组,若存在,将所述目标对象存储设备作为存在数据迁移的对象存储设备。
4.根据权利要求1所述的方法,其特征在于,根据比较结果确定所述对象存储设备目前应当执行的流控事件包括:
若所述当前负载值小于所述标准负载范围的下限值,确定所述对象存储设备目前应当执行的流控事件为增速事件;
若所述当前负载值大于所述标准负载范围的上限值,确定所述对象存储设备目前应当执行的流控事件为减速事件;
若所述当前负载值大于或者等于所述标准负载范围的下限值,并且小于或者等于所述标准负载范围的上限值,确定所述对象存储设备无需执行流控事件。
5.根据权利要求1所述的方法,其特征在于,根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数包括:
若所述流控事件为增速事件,按照所述目标参数区间的参数下调步长减少所述迁移速度参数;
若所述流控事件为减速事件,按照所述目标参数区间的参数上调步长提高所述迁移速度参数。
6.根据权利要求1或5所述的方法,其特征在于,在调整所述对象存储设备的迁移速度参数之后,所述方法还包括:
再次检测所述磁盘在调整迁移速度参数之后的负载值,并将再次检测的所述负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备在调整迁移速度参数之后应当执行的流控事件。
7.根据权利要求1所述的方法,其特征在于,在根据比较结果确定所述对象存储设备目前应当执行的流控事件之后,所述方法还包括:
读取所述对象存储设备上一次应当执行的流控事件,并判断所述上一次应当执行的流控事件与所述目前应当执行的流控事件是否为同一事件;
若为同一事件,基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数;
若不是同一事件,基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。
8.根据权利要求7所述的方法,其特征在于,基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数包括:
若所述目前应当执行的流控事件为增速事件,减少所述对象存储设备的迁移速度参数;
若所述目前应当执行的流控事件为减速事件,提高所述对象存储设备的迁移速度参数;
相应地,基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数包括:
若所述上一次应当执行的流控事件为增速事件,减少所述对象存储设备的迁移速度参数;
若所述上一次应当执行的流控事件为减速事件,提高所述对象存储设备的迁移速度参数。
9.根据权利要求1所述的方法,其特征在于,在分布式存储系统中确定存在数据迁移的对象存储设备之前,所述方法还包括:
获取分布式存储系统中处于工作状态的对象存储设备的信息列表,并针对所述信息列表中的各个所述对象存储设备启动并发监控线程,以通过所述并发监控线程控制所述对象存储设备的数据迁移速度。
10.一种分布式存储系统的流控装置,其特征在于,所述装置包括:
对象存储设备确定单元,用于在分布式存储系统中确定存在数据迁移的对象存储设备;
信息获取单元,用于获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数,所述迁移速度参数按照参数区间进行划分,并且所述参数区间具备参数上调步长和参数下调步长;
流控事件确定单元,用于检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;
速度调节单元,用于确定所述对象存储设备的迁移速度参数所处的目标参数区间,根据确定的所述流控事件,按照所述目标参数区间的参数上调步长或者参数下调步长,调整所述对象存储设备的迁移速度参数。
11.根据权利要求10所述的装置,其特征在于,所述流控事件确定单元包括:
第一判断模块,用于若所述当前负载值小于所述标准负载范围的下限值,确定所述对象存储设备目前应当执行的流控事件为增速事件;
第二判断模块,用于若所述当前负载值大于所述标准负载范围的上限值,确定所述对象存储设备目前应当执行的流控事件为减速事件;
第三判断模块,用于若所述当前负载值大于或者等于所述标准负载范围的下限值,并且小于或者等于所述标准负载范围的上限值,确定所述对象存储设备无需执行流控事件。
12.根据权利要求10所述的装置,其特征在于,
所述速度调节单元包括:
增速处理模块,用于若所述流控事件为增速事件,按照所述目标参数区间的参数下调步长减少所述迁移速度参数;
减速处理模块,用于若所述流控事件为减速事件,按照所述目标参数区间的参数上调步长提高所述迁移速度参数。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
事件判断单元,用于读取所述对象存储设备上一次应当执行的流控事件,并判断所述上一次应当执行的流控事件与所述目前应当执行的流控事件是否为同一事件;
相应地,所述速度调节单元还用于若为同一事件,基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数;若不是同一事件,基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。
14.一种分布式存储系统的流控装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一所述的方法。
CN201811223725.1A 2018-10-19 2018-10-19 一种分布式存储系统的流控方法及装置 Active CN109358816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811223725.1A CN109358816B (zh) 2018-10-19 2018-10-19 一种分布式存储系统的流控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811223725.1A CN109358816B (zh) 2018-10-19 2018-10-19 一种分布式存储系统的流控方法及装置

Publications (2)

Publication Number Publication Date
CN109358816A CN109358816A (zh) 2019-02-19
CN109358816B true CN109358816B (zh) 2022-05-20

Family

ID=65345919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811223725.1A Active CN109358816B (zh) 2018-10-19 2018-10-19 一种分布式存储系统的流控方法及装置

Country Status (1)

Country Link
CN (1) CN109358816B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611068B (zh) * 2019-02-25 2022-07-15 清华大学 分布式系统中的数据写方法、服务器及客户端
CN112395053A (zh) * 2019-08-13 2021-02-23 阿里巴巴集团控股有限公司 数据处理方法及装置
CN110941513B (zh) * 2019-11-22 2022-03-22 浪潮电子信息产业股份有限公司 一种数据重构方法及相关装置
CN111290909A (zh) * 2020-01-19 2020-06-16 山东汇贸电子口岸有限公司 一种对ceph集群进行监控和告警的系统及方法
CN111966301B (zh) * 2020-08-25 2023-01-10 苏州浪潮智能科技有限公司 分布式对象存储系统的迁移速度控制方法、装置及介质
CN113032369A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 一种数据迁移方法、装置及介质
CN113608682B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种基于hdd磁盘压力的智能流控方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013387A (zh) * 2007-02-09 2007-08-08 华中科技大学 基于对象存储设备的负载平衡方法
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法
CN102541467A (zh) * 2011-12-06 2012-07-04 华中科技大学 一种对象数据服务器读写请求的调度方法
CN103823639A (zh) * 2014-02-19 2014-05-28 曙光信息产业(北京)有限公司 迁移对象的方法和系统
CN104462240A (zh) * 2014-11-18 2015-03-25 浪潮(北京)电子信息产业有限公司 云存储中实现分级存储管理的方法和系统
CN104573020A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种分级存储系统中数据自动迁移优化方法
CN105574141A (zh) * 2015-12-15 2016-05-11 杭州朗和科技有限公司 一种对数据库进行数据迁移的方法和装置
CN108170789A (zh) * 2017-12-27 2018-06-15 郑州云海信息技术有限公司 一种基于分布式文件系统的分级存储方法以及相关装置
CN108509157A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种应用于分布式文件系统的数据均衡方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167965B2 (en) * 2001-04-30 2007-01-23 Hewlett-Packard Development Company, L.P. Method and system for online data migration on storage systems with performance guarantees
CN106990924A (zh) * 2017-04-07 2017-07-28 广东浪潮大数据研究有限公司 一种数据迁移方法和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013387A (zh) * 2007-02-09 2007-08-08 华中科技大学 基于对象存储设备的负载平衡方法
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法
CN102541467A (zh) * 2011-12-06 2012-07-04 华中科技大学 一种对象数据服务器读写请求的调度方法
CN103823639A (zh) * 2014-02-19 2014-05-28 曙光信息产业(北京)有限公司 迁移对象的方法和系统
CN104462240A (zh) * 2014-11-18 2015-03-25 浪潮(北京)电子信息产业有限公司 云存储中实现分级存储管理的方法和系统
CN104573020A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种分级存储系统中数据自动迁移优化方法
CN105574141A (zh) * 2015-12-15 2016-05-11 杭州朗和科技有限公司 一种对数据库进行数据迁移的方法和装置
CN108170789A (zh) * 2017-12-27 2018-06-15 郑州云海信息技术有限公司 一种基于分布式文件系统的分级存储方法以及相关装置
CN108509157A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种应用于分布式文件系统的数据均衡方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种Ceph块设备跨集群迁移算法;邵曦煜,李京,周志强;《中国科学技术大学学报》;20180915;第48卷(第2018年第9期);748-754 *

Also Published As

Publication number Publication date
CN109358816A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109358816B (zh) 一种分布式存储系统的流控方法及装置
JP5564564B2 (ja) 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置
US8949635B2 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
CN110196767B (zh) 服务资源控制方法、装置、设备和存储介质
CN109992366B (zh) 任务调度方法及调度装置
CN107402863B (zh) 一种用于通过日志系统处理业务系统的日志的方法与设备
US10942850B2 (en) Performance telemetry aided processing scheme
US7962692B2 (en) Method and system for managing performance data
WO2022174732A1 (zh) 一种ai服务器的安全控制方法及系统
US20230213994A1 (en) Power consumption regulation and control method, apparatus and device, and readable storage medium
CN111953569B (zh) 状态信息上报方法、装置、设备及介质
US20140359365A1 (en) Integrated Configuration Management and Monitoring for Computer Systems
CN116382855B (zh) 虚拟机迁移方法、电子设备及计算机存储介质
US20200142736A1 (en) Computer processing system with resource optimization and associated methods
CN116909907A (zh) 内存泄漏的检测方法、装置、电子设备及可读存储介质
JP2014021786A (ja) コンピュータ・システム
CN112100273B (zh) 集群数据扩容的方法、存储介质
CN111913852B (zh) 存储系统的健康管理方法和装置
CN112367384B (zh) 基于Kafka集群的动态限速方法、装置以及计算机设备
CN110795383A (zh) SoC频率控制方法、装置、终端及存储介质
CN109298974B (zh) 系统控制方法、装置、计算机及计算机可读存储介质
CN113886490A (zh) 分布式数据库中无状态计算实例高可用的实现方法及系统
US11698797B2 (en) Application tuning based on performance characteristics
CN113254209B (zh) 一种容量管理方法、装置、电子设备及可读存储介质
WO2023205926A1 (en) Performance-aware smart framework to improve cpu power efficiency in static display read mode

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