一种分布式系统数据重分配方法及其装置与流程

文档序号:11285646阅读:253来源:国知局
一种分布式系统数据重分配方法及其装置与流程

本发明涉及分布式系统技术领域,特别是涉及一种分布式系统数据重分配方法及其装置。



背景技术:

分布式系统包括有多个对象存储设备osd,每个对象存储设备包括多个对象,当分布式系统进行动态扩容或缩容时,即分布式系统包含的osd个数发生变化时,需要将变化前的osd内的数据进行读取,并重新分配写入至变化后的osd内,其中,这些读取请求和写入请求均是由分布式系统中的主对象存储设备控制发送的。

数据重分配的最小单元为对象,目前数据重分配采用固定进程数进行并发重分配操作,但是,这种情况下,当接收重分配请求的osd前端压力较大时,数据重分配的进程会和正常业务抢占系统资源,造成前端正常业务变慢,甚至失败的情况出现;当接收重分配请求的osd前端压力较小时,数据重分配的进程不能充分利用系统空闲资源,提高数据重分配的效率;可见,目前固定并发数的方式自适应效果差。

因此,如何提供一种自适应效果好的分布式系统数据重分配方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种分布式系统数据重分配方法及其装置,能够根据对象存储设备的前端业务情况调整数据重分配的并发进程数,自适应调整的效果好。

为解决上述技术问题,本发明提供了一种分布式系统数据重分配方法,所述分布式系统包括多个对象存储设备,每个所述对象存储设备包括多个对象;所述方法包括:

每个所述对象存储设备周期性收集自身的负载信息并传递给主对象存储设备;

所述主对象存储设备依据接收到的全部所述对象存储设备的负载信息以及第一预设策略,动态调整进行数据重分配的并发进程数;

所述主对象存储设备按照调整后得到的并发进程数发送数据重分配请求至相应的对象,进行数据重分配操作;所述数据重分配请求包括读请求和写请求。

优选地,还包括:

接收到多个所述重分配请求的对象存储设备,依据自身前端正常业务的工作延时以及第二预设策略控制调整各个所述重分配请求下发至自身磁盘的速度。

优选地,所述主对象存储设备按照调整后得到的并发对象个数发送数据重分配请求至相应的对象,进行数据重分配操作的过程具体为:

步骤s31:判断当前触发的并发进程的个数是否达到所述调整后得到的并发进程数;若未达到,进入步骤s32;若达到,进入步骤s33;

步骤s32:所述主对象存储设备触发一个并发进程;并返回步骤s31;在所述并发进程内,所述主对象存储设备向相应的原始对象存储设备发送读请求,读操作完成后,对读取的数据进行计算处理后,向相应的新增对象存储设备发送写请求,进行写入操作,写入完成后,所述相应的新增对象存储设备返回完成响应;

步骤s33:等待有新增对象存储设备返回所述完成响应,当接收到所述完成响应后,令当前触发的并发进程的个数减1;返回步骤s32。

优选地,所述负载信息包括内存占用率、cpu占用率、磁盘util值、前端正常业务数量。

优选地,所述对象存储设备将自身的负载信息传递给主对象存储设备的过程具体为:

所述主对象存储设备周期性获取自身负载信息以及除自身以外的其余对象存储设备采集的负载信息;

或各个所述对象存储设备与所述主对象存储设备进行信息交互的过程中,携带传递自身采集的负载信息至所述主对象存储设备。

为解决上述技术问题,本发明还提供了一种分布式系统数据重分配装置,所述分布式系统包括多个对象存储设备,每个所述对象存储设备包括多个对象;所述装置包括:

设置于所述对象存储设备上的收集模块,用于周期性收集自身的负载信息并传递给主对象存储设备;

设置于所述主对象存储设备上的第一分析模块,用于依据接收到的全部所述对象存储设备的负载信息以及第一预设策略,动态调整进行数据重分配的并发进程数;

设置于所述主对象存储设备上的重分配控制模块,用于按照调整后得到的并发进程数发送数据重分配请求至相应的对象,进行数据重分配操作;所述数据重分配请求包括读请求和写请求。

优选地,还包括:

延时控制模块,用于在自身所处的对象存储设备接收到多个所述重分配请求时,依据自身前端正常业务的工作延时以及第二预设策略控制调整各个所述重分配请求下发至自身磁盘的速度。

优选地,所述重分配控制模块具体包括:

并发数判断单元,用于判断当前触发的并发进程的个数是否达到所述调整后得到的并发进程数;若未达到,触发进程并发单元;若达到,触发等待单元;

所述进程并发单元,用于在自身所处的对象存储设备为主对象存储设备时且收到触发时,触发一个并发进程;并触发所述并发数判断单元;在所述并发进程内,所述主对象存储设备向相应的原始对象存储设备发送读请求,读操作完成后,对读取的数据进行计算处理后,向相应的新增对象存储设备发送写请求,进行写入操作,写入完成后,所述相应的新增对象存储设备返回完成响应;

所述等待单元,用于等待有新增对象存储设备返回所述完成响应,当接收到所述完成响应后,令当前触发的并发进程的个数减1;触发所述进程并发单元。

优选地,所述收集模块具体包括:采集单元和信息交互单元或主动获取单元;

所述采集单元,用于采集自身的负载信息;

所述信息交互单元,用于自身所处的对象存储设备与所述主对象存储设备进行信息交互的过程中,携带传递自身采集的负载信息至所述主对象存储设备;

所述主动获取单元,用于在自身所处的对象存储设备为主对象存储设备时,周期性获取自身负载信息以及除自身以外的其余对象存储设备采集的负载信息。

本发明提供了一种分布式系统数据重分配方法及其装置,根据各个对象存储设备的负载信息确定各个对象存储设备的前端压力,进而调整并发进程数,使得能够对象存储设备前端压力较大时,减少并发进程数,避免数据重分配操作占用正常业务的资源,影响正常业务的进行;在对象存储设备的前端压力较小时,增大并发进程数,使得分布式系统的空闲资源能够得到充分的利用,提高数据重分配操作的效率。通过上述操作,能够提高分布式系统内进行数据重分配时的自适应程度,自适应效果好。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种分布式系统数据重分配方法的过程的流程图;

图2为本发明提供的一种确定并发进程数后的重分配过程的流程图;

图3为本发明提供的一种分布式系统数据重分配装置的结构示意图。

具体实施方式

本发明的核心是提供一种分布式系统数据重分配方法及其装置,能够根据对象存储设备的前端业务情况调整数据重分配的并发进程数,自适应调整的效果好。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种分布式系统数据重分配方法,分布式系统包括多个对象存储设备,每个对象存储设备包括多个对象;参见图1所示,图1为本发明提供的一种分布式系统数据重分配方法的过程的流程图;该方法包括:

步骤s1:每个对象存储设备周期性收集自身的负载信息并传递给主对象存储设备;

步骤s2:主对象存储设备依据接收到的全部对象存储设备的负载信息以及第一预设策略,动态调整进行数据重分配的并发进程数;

步骤s3:主对象存储设备按照调整后得到的并发进程数发送数据重分配请求至相应的对象,进行数据重分配操作;数据重分配请求包括读请求和写请求。

作为优选地,该方法还包括:

接收到多个重分配请求的对象存储设备,依据自身前端正常业务的工作延时以及第二预设策略控制调整各个重分配请求下发至自身磁盘的速度。

可以理解的是,对象存储设备接收到重分配请求后,会依据重分配请求的内容读取相应对象的内容或在相应对象内写入相应的数据,这两个过程中均需要访问对象后方的磁盘,对象接收到读请求或写请求后,需要根据当前前端正常业务的延时来判读自身是否需要减慢将读请求或写请求下发至磁盘的速度,因为,若按照正常情况下发,可能会出现重分配请求抢占正常业务的磁盘资源的情况,因此,为保证正常业务的进行,需要调整重分配请求下发至磁盘的速度。

作为优选地,参见图2所示,图2为本发明提供的一种确定并发进程数后的重分配过程的流程图;步骤s3的过程具体为:

步骤s31:判断当前触发的并发进程的个数是否达到调整后得到的并发进程数;若未达到,进入步骤s32;若达到,进入步骤s33;

步骤s32:主对象存储设备触发一个并发进程;并返回步骤s31;在并发进程内,主对象存储设备向相应的原始对象存储设备发送读请求,读操作完成后,对读取的数据进行计算处理后,向相应的新增对象存储设备发送写请求,进行写入操作,写入完成后,相应的新增对象存储设备返回完成响应;

步骤s33:等待有新增对象存储设备返回完成响应,当接收到完成响应后,令当前触发的并发进程的个数减1;返回步骤s32。

其中,负载信息包括内存占用率、cpu占用率、磁盘util值、前端正常业务数量。当然,负载信息还可包含其他参数信息,本发明对此不作限定。

另外,需要注意的是,新增对象存储设备针对的是分布式系统扩容的情况,当分布式系统缩容的时候,数据重分配的过程即是从系统中的部分对象存储设备内读取,然后写入其他对象存储设备内。

进一步可知,步骤s1中,对象存储设备将自身的负载信息传递给主对象存储设备的过程具体为:

主对象存储设备周期性获取自身负载信息以及除自身以外的其余对象存储设备采集的负载信息;

或各个对象存储设备与主对象存储设备进行信息交互的过程中,携带传递自身采集的负载信息至主对象存储设备。

即该负载信息可由主对象存储设备主动获取,或者由成员对象存储设备主动发送给主对象存储设备,或者是在各个对象存储设备进行信息交互时,携带给其他的对象存储设备,或者还可采用其他方式,具体采用哪种方式本发明不作限定。

本发明提供了一种分布式系统数据重分配方法,根据各个对象存储设备的负载信息确定各个对象存储设备的前端压力,进而调整并发进程数,使得能够对象存储设备前端压力较大时,减少并发进程数,避免数据重分配操作占用正常业务的资源,影响正常业务的进行;在对象存储设备的前端压力较小时,增大并发进程数,使得分布式系统的空闲资源能够得到充分的利用,提高数据重分配操作的效率。通过上述操作,能够提高分布式系统内进行数据重分配时的自适应程度,自适应效果好。

本发明还提供了一种分布式系统数据重分配装置,分布式系统包括多个对象存储设备,每个对象存储设备包括多个对象;参见图3所示,图3为本发明提供的一种分布式系统数据重分配装置的结构示意图。该装置包括:

设置于对象存储设备上的收集模块1,用于周期性收集自身的负载信息并传递给主对象存储设备;

设置于主对象存储设备上的第一分析模块2,用于依据接收到的全部对象存储设备的负载信息以及第一预设策略,动态调整进行数据重分配的并发进程数;

设置于主对象存储设备上的重分配控制模块3,用于按照调整后得到的并发进程数发送数据重分配请求至相应的对象,进行数据重分配操作;数据重分配请求包括读请求和写请求。

作为优选地,该装置还包括:

延时控制模块4,用于在自身所处的对象存储设备接收到多个重分配请求时,依据自身前端正常业务的工作延时以及第二预设策略控制调整各个重分配请求下发至自身磁盘的速度。

其中,延时控制模块4需要根据收集模块1收集的负载信息分析自身前端的业务情况,并根据接收到的重分配控制模块3发送的重分配请求调整其下发速度。

其中,重分配控制模块3具体包括:

并发数判断单元,用于判断当前触发的并发进程的个数是否达到调整后得到的并发进程数;若未达到,触发进程并发单元;若达到,触发等待单元;

进程并发单元,用于在自身所处的对象存储设备为主对象存储设备时且收到触发时,触发一个并发进程;并触发并发数判断单元;在并发进程内,主对象存储设备向相应的原始对象存储设备发送读请求,读操作完成后,对读取的数据进行计算处理后,向相应的新增对象存储设备发送写请求,进行写入操作,写入完成后,相应的新增对象存储设备返回完成响应;

等待单元,用于等待有新增对象存储设备返回完成响应,当接收到完成响应后,令当前触发的并发进程的个数减1;触发进程并发单元。

另外,收集模块1具体包括:采集单元和信息交互单元或主动获取单元;

采集单元,用于采集自身的负载信息;

信息交互单元,用于自身所处的对象存储设备与主对象存储设备进行信息交互的过程中,携带传递自身采集的负载信息至主对象存储设备;

主动获取单元,用于在自身所处的对象存储设备为主对象存储设备时,周期性获取自身负载信息以及除自身以外的其余对象存储设备采集的负载信息。

本发明提供了一种分布式系统数据重分配装置,根据各个对象存储设备的负载信息确定各个对象存储设备的前端压力,进而调整并发进程数,使得能够对象存储设备前端压力较大时,减少并发进程数,避免数据重分配操作占用正常业务的资源,影响正常业务的进行;在对象存储设备的前端压力较小时,增大并发进程数,使得分布式系统的空闲资源能够得到充分的利用,提高数据重分配操作的效率。通过上述操作,能够提高分布式系统内进行数据重分配时的自适应程度,自适应效果好。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1