利索能及
我要发布
收藏
专利号: 2018114980802
申请人: 杭州海康威视系统技术有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据迁移方法,其特征在于,用于分布式存储系统中的处理节点,所述分布式存储系统还包括多个对象存储节点,每个对象存储节点对应至少一个磁盘,所述方法包括:根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,每个所述对象存储节点的目标迁移权重是至少根据对应对象的输入输出IO时延和存储使用率确定的,所述对象为对象存储节点;

在所述多个目标对象存储节点之间执行数据迁移操作;

所述方法还包括:

当所述对象存储节点的IO时延小于目标时延值,且所述对象存储节点的存储使用率小于目标存储使用率时,确定所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,所述多个对象存储节点的平均存储使用率为所述多个对象存储节点的存储使用率的平均值;根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重;

当所述对象存储节点的IO时延大于或等于所述目标时延值,将所述对象存储节点的目标迁移权重确定为0;

当所述对象存储节点的存储使用率大于或等于所述目标存储使用率,将所述对象存储节点的目标迁移权重保持为最近一次确定的所述对象存储节点的目标迁移权重。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

按照预设的周期定期更新每个所述对象存储节点的目标迁移权重;

所述根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,包括:根据最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,所述第一时刻为最近一次确定每个所述对象存储节点的目标迁移权重的时刻;

当所述当前时刻距离所述第一时刻的时长不大于所述目标时长时,根据所述最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;

当所述当前时刻距离所述第一时刻的时长大于所述目标时长时,根据每个所述对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者在接收到数据迁移指令时,实时确定所述对象存储节点的目标迁移权重,并根据实时确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点。

3.根据权利要求1所述的方法,其特征在于,所述多个目标对象存储节点包括数据发送节点和数据接收节点,所述根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,包括:获取当前确定的所述对象存储节点的目标迁移权重与最近一次确定的所述对象存储节点的目标迁移权重的差值,得到每个所述对象存储节点的目标迁移权重差值;

根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点;

所述在所述多个目标对象存储节点之间执行数据迁移操作,包括:

根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点,当前确定的所述数据发送节点的目标迁移权重小于当前确定的所述数据接收节点的目标迁移权重;

将确定为所述数据发送节点的目标对象存储节点上的数据迁移至确定为所述数据接收节点的目标对象存储节点上。

4.根据权利要求3所述的方法,其特征在于,所述根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点,包括:在所述多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点,其中,m为整数;

模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量;

检测所述数据迁移量是否大于所述数据迁移门限;

当所述数据迁移量不大于所述数据迁移门限时,将所述m个对象存储节点作为所述多个目标对象存储节点;

当所述数据迁移量大于所述数据迁移门限时,在所述m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点,其中,n为小于m的整数;

模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量;

重复执行上述检测过程,直至模拟计算出的数据迁移量不大于所述数据迁移门限,将对应的多个对象存储节点作为所述多个目标对象存储节点。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

为所述对象存储节点的IO时延,以及所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子;

所述根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重,包括:根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。

6.一种数据迁移装置,其特征在于,用于分布式存储系统中的处理节点,所述分布式存储系统还包括多个对象存储节点,每个对象存储节点对应至少一个磁盘,所述数据迁移装置包括:选取模块,用于根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,每个所述对象存储节点的目标迁移权重是至少根据对应对象的输入输出IO时延和存储使用率确定的,所述对象为对象存储节点;

执行模块,用于在所述多个目标对象存储节点之间执行数据迁移操作;

所述装置还包括:

确定模块,用于当所述对象存储节点的IO时延小于目标时延值,且所述对象存储节点的存储使用率小于目标存储使用率时,确定所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,所述多个对象存储节点的平均存储使用率为所述多个对象存储节点的存储使用率的平均值;根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重;当所述对象存储节点的IO时延大于或等于所述目标时延值,将所述对象存储节点的目标迁移权重确定为0;当所述对象存储节点的存储使用率大于或等于所述目标存储使用率,将所述对象存储节点的目标迁移权重保持为最近一次确定的所述对象存储节点的目标迁移权重。

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:

更新模块,用于按照预设的周期定期更新每个所述对象存储节点的目标迁移权重;

所述选取模块,用于:

根据最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,所述第一时刻为最近一次确定每个所述对象存储节点的目标迁移权重的时刻;

当所述当前时刻距离所述第一时刻的时长不大于所述目标时长时,根据所述最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;

当所述当前时刻距离所述第一时刻的时长大于所述目标时长时,根据每个所述对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者在接收到数据迁移指令时,实时确定所述对象存储节点的目标迁移权重,并根据实时确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点。

8.根据权利要求6所述的装置,其特征在于,所述多个目标对象存储节点包括数据发送节点和数据接收节点,所述选取模块,用于:

获取当前确定的所述对象存储节点的目标迁移权重与最近一次确定的所述对象存储节点的目标迁移权重的差值,得到每个所述对象存储节点的目标迁移权重差值;

根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点;

所述执行模块,用于:

根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点,当前确定的所述数据发送节点的目标迁移权重小于当前确定的所述数据接收节点的目标迁移权重;

将确定为所述数据发送节点的目标对象存储节点上的数据迁移至确定为所述数据接收节点的目标对象存储节点上。

9.根据权利要求8所述的装置,其特征在于,所述选取模块,用于:

在所述多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点,其中,m为整数;

模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量;

检测所述数据迁移量是否大于所述数据迁移门限;

当所述数据迁移量不大于所述数据迁移门限时,将所述m个对象存储节点作为所述多个目标对象存储节点;

当所述数据迁移量大于所述数据迁移门限时,在所述m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点,其中,n为小于m的整数;

模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量;

重复执行上述检测过程,直至模拟计算出的数据迁移量不大于所述数据迁移门限,将对应的多个对象存储节点作为所述多个目标对象存储节点。

10.根据权利要求6所述的装置,其特征在于,所述装置还包括:

设置模块,用于为所述对象存储节点的IO时延,以及所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子;

所述确定模块,用于:

根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。

11.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的计算机程序,实现权利要求1至5任一所述的数据迁移方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述的数据迁移方法。

13.一种数据迁移系统,其特征在于,包括处理节点和多个对象存储节点,所述处理节点包括权利要求6至10任一所述的数据迁移装置。