CN111290699B - 数据迁移方法、装置及系统 - Google Patents

数据迁移方法、装置及系统 Download PDF

Info

Publication number
CN111290699B
CN111290699B CN201811498080.2A CN201811498080A CN111290699B CN 111290699 B CN111290699 B CN 111290699B CN 201811498080 A CN201811498080 A CN 201811498080A CN 111290699 B CN111290699 B CN 111290699B
Authority
CN
China
Prior art keywords
object storage
target
node
migration
storage node
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
CN201811498080.2A
Other languages
English (en)
Other versions
CN111290699A (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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811498080.2A priority Critical patent/CN111290699B/zh
Publication of CN111290699A publication Critical patent/CN111290699A/zh
Application granted granted Critical
Publication of CN111290699B publication Critical patent/CN111290699B/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/0614Improving the reliability of 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/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]
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是关于一种数据迁移方法、装置及系统,属于计算机技术领域。该方法用于分布式存储系统中的处理节点,分布式存储系统还包括多个对象存储节点,该方法包括:根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定的;在多个目标对象存储节点之间执行数据迁移操作,解决了按照固定权重进行数据迁移易出现迁移失败或者数据分布不均衡的现象,数据分布可靠性较差的问题,本发明至少根据对应对象的IO时延和存储使用率确定对象存储节点的目标迁移权重,提高了数据分布可靠性,用于分布式存储系统。

Description

数据迁移方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种数据迁移方法、装置及系统。
背景技术
随着信息技术的快速发展,数据呈爆炸式增长,所以需要采用分布式存储系统进行数据存储。CEPH是基于Linux操作系统的开源的分布式存储系统,能够同时提供块、文件和对象接口服务,其底层是一个分布式对象存储系统(Reliable Autonomic DistributedObject Storage,RADOS),在CEPH中,视频、文本或图片等格式的数据都被统一看作是对象。CEPH的数据分布算法在执行时包括两层映射过程,第一层映射过程通过哈希算法将对象映射至逻辑层的归置组(Placement Group,PG),第二层映射过程通过伪随机数据分布(Controlled Replication Under Scalable Hashing,CRUSH)算法将PG映射至物理层的对象存储节点(Object Storage Device,OSD),CEPH将一个磁盘看作一个OSD(实际上OSD是管理一个磁盘的程序)。通过两层映射过程,便可以将PG上的数据保存至磁盘上。当某一磁盘发生了变化时,比如该磁盘出现故障,通过CRUSH算法,可以将该磁盘上保存的对应PG上的数据全部迁移至另外的磁盘上,也即是,将该OSD上的数据全部迁移至另外的OSD上。
相关技术中,为了实现数据迁移,在CRUSH算法中,每个OSD具有一个权重,OSD的权重与该OSD的容量正相关。当有新的OSD加入,或者已有的OSD出现故障时,为了使数据分布均衡,CEPH会通过CRUSH算法将权重小的OSD上的数据迁移至权重大的OSD上。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:在实际应用场景中,OSD的工作状态会受到网络环境及设备寿命等因素的影响,如果始终是按照固定的权重来进行数据迁移,很容易出现迁移失败或者数据分布不均衡的现象,数据分布的可靠性较差。
发明内容
本发明实施例提供了一种数据迁移方法、装置及系统,可以解决相关技术中按照固定权重进行数据迁移易出现迁移失败或者数据分布不均衡的现象,数据分布可靠性较差的问题,所述技术方案如下:
根据本发明实施例的第一方面,提供一种数据迁移方法,用于分布式存储系统中的处理节点,所述分布式存储系统还包括多个对象存储节点,每个对象存储节点对应至少一个磁盘,所述方法包括:
根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,每个所述对象存储节点的目标迁移权重是至少根据对应对象的输入输出IO时延和存储使用率确定的,所述对象为对象存储节点和磁盘中的至少一个;
在所述多个目标对象存储节点之间执行数据迁移操作。
可选地,所述方法还包括:
按照预设的周期定期更新每个所述对象存储节点的目标迁移权重;
所述根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,包括:
根据最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者
在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,所述第一时刻为最近一次确定每个所述对象存储节点的目标迁移权重的时刻;
当所述当前时刻距离所述第一时刻的时长不大于所述目标时长时,根据所述最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;
当所述当前时刻距离所述第一时刻的时长大于所述目标时长时,根据每个所述对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者
在接收到数据迁移指令时,实时确定所述对象存储节点的目标迁移权重,并根据实时确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点。
可选地,所述对象为对象存储节点,所述方法还包括:
当所述对象存储节点的IO时延小于目标时延值,且所述对象存储节点的存储使用率小于目标存储使用率时,根据所述对象存储节点的IO时延和存储使用率确定所述对象存储节点的目标迁移权重;
当所述对象存储节点的IO时延大于或等于所述目标时延值,将所述对象存储节点的目标迁移权重确定为0;
当所述对象存储节点的存储使用率大于或等于所述目标存储使用率,将所述对象存储节点的目标迁移权重保持为最近一次确定的所述对象存储节点的目标迁移权重。
可选地,所述多个目标对象存储节点包括数据发送节点和数据接收节点,
所述根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,包括:
获取当前确定的所述对象存储节点的目标迁移权重与最近一次确定的所述对象存储节点的目标迁移权重的差值,得到每个所述对象存储节点的目标迁移权重差值;
根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点;
所述在所述多个目标对象存储节点之间执行数据迁移操作,包括:
根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点,当前确定的所述数据发送节点的目标迁移权重小于当前确定的所述数据接收节点的目标迁移权重;
将确定为所述数据发送节点的目标对象存储节点上的数据迁移至确定为所述数据接收节点的目标对象存储节点上。
可选地,所述根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点,包括:
在所述多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点,其中,m为整数;
模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量;
检测所述数据迁移量是否大于所述数据迁移门限;
当所述数据迁移量不大于所述数据迁移门限时,将所述m个对象存储节点作为所述多个目标对象存储节点;
当所述数据迁移量大于所述数据迁移门限时,在所述m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点,其中,n为小于m的整数;
模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量;
重复执行上述检测过程,直至模拟计算出的数据迁移量不大于所述数据迁移门限,将对应的多个对象存储节点作为所述多个目标对象存储节点。
可选地,所述根据所述对象存储节点的IO时延和存储使用率确定所述对象存储节点的目标迁移权重,包括:
确定所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值;
根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。
可选地,所述方法还包括:
为所述对象存储节点的IO时延,以及所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子;
所述根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重,包括:
根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。
可选地,所述根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重,包括:
根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,按照权重计算公式计算所述对象存储节点的目标迁移权重,所述权重计算公式为:
x1=x2-y1-z,其中,所述x1为所述对象存储节点的目标迁移权重,所述x2为最近一次确定的所述对象存储节点的目标迁移权重,所述y1为所述对象存储节点的IO时延,所述z为所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值。
可选地,所述根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重,包括:
根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,按照权重计算公式计算所述对象存储节点的目标迁移权重,所述权重计算公式为:
x1=x2-a*y1-b*z,其中,所述x1为所述对象存储节点的目标迁移权重,所述x2为最近一次确定的所述对象存储节点的目标迁移权重,所述y1为所述对象存储节点的IO时延,所述z为所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,所述a为对象存储节点的IO时延的权重因子,所述b为对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的权重因子,0<a<1,0<b<1。
根据本发明实施例的第二方面,提供一种数据迁移装置,用于分布式存储系统中的处理节点,所述分布式存储系统还包括多个对象存储节点,每个对象存储节点对应至少一个磁盘,所述数据迁移装置包括:
选取模块,用于根据每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出多个目标对象存储节点,每个所述对象存储节点的目标迁移权重是至少根据对应对象的输入输出IO时延和存储使用率确定的,所述对象为对象存储节点和磁盘中的至少一个;
执行模块,用于在所述多个目标对象存储节点之间执行数据迁移操作。
可选地,所述装置还包括:
更新模块,用于按照预设的周期定期更新每个所述对象存储节点的目标迁移权重;
所述选取模块,用于:
根据最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者
在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,所述第一时刻为最近一次确定每个所述对象存储节点的目标迁移权重的时刻;
当所述当前时刻距离所述第一时刻的时长不大于所述目标时长时,根据所述最近一次确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;
当所述当前时刻距离所述第一时刻的时长大于所述目标时长时,根据每个所述对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点;或者
在接收到数据迁移指令时,实时确定所述对象存储节点的目标迁移权重,并根据实时确定的每个所述对象存储节点的目标迁移权重从所述多个对象存储节点选取出所述多个目标对象存储节点。
可选地,所述对象为对象存储节点,所述装置还包括:
确定模块,用于:
当所述对象存储节点的IO时延小于目标时延值,且所述对象存储节点的存储使用率小于目标存储使用率时,根据所述对象存储节点的IO时延和存储使用率确定所述对象存储节点的目标迁移权重;
当所述对象存储节点的IO时延大于或等于所述目标时延值,将所述对象存储节点的目标迁移权重确定为0;
当所述对象存储节点的存储使用率大于或等于所述目标存储使用率,将所述对象存储节点的目标迁移权重保持为最近一次确定的所述对象存储节点的目标迁移权重。
可选地,所述多个目标对象存储节点包括数据发送节点和数据接收节点,
所述选取模块,用于:
获取当前确定的所述对象存储节点的目标迁移权重与最近一次确定的所述对象存储节点的目标迁移权重的差值,得到每个所述对象存储节点的目标迁移权重差值;
根据每个所述对象存储节点的目标迁移权重差值以及数据迁移门限,从所述多个对象存储节点选取出所述多个目标对象存储节点;
所述执行模块,用于:
根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点,当前确定的所述数据发送节点的目标迁移权重小于当前确定的所述数据接收节点的目标迁移权重;
将确定为所述数据发送节点的目标对象存储节点上的数据迁移至确定为所述数据接收节点的目标对象存储节点上。
可选地,所述选取模块,用于:
在所述多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点,其中,m为整数;
模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量;
检测所述数据迁移量是否大于所述数据迁移门限;
当所述数据迁移量不大于所述数据迁移门限时,将所述m个对象存储节点作为所述多个目标对象存储节点;
当所述数据迁移量大于所述数据迁移门限时,在所述m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点,其中,n为小于m的整数;
模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量;
重复执行上述检测过程,直至模拟计算出的数据迁移量不大于所述数据迁移门限,将对应的多个对象存储节点作为所述多个目标对象存储节点。
可选地,所述确定模块,用于:
确定所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值;
根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。
可选地,所述装置还包括:
设置模块,用于为所述对象存储节点的IO时延,以及所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子;
所述确定模块,用于:
根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,确定所述对象存储节点的目标迁移权重。
可选地,所述确定模块,用于:
根据所述对象存储节点的IO时延,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,以及最近一次确定的所述对象存储节点的目标迁移权重,按照权重计算公式计算所述对象存储节点的目标迁移权重,所述权重计算公式为:
x1=x2-y1-z,其中,所述x1为所述对象存储节点的目标迁移权重,所述x2为最近一次确定的所述对象存储节点的目标迁移权重,所述y1为所述对象存储节点的IO时延,所述z为所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值。
可选地,所述确定模块,用于:
根据所述对象存储节点的IO时延的加权值,所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的所述对象存储节点的目标迁移权重,按照权重计算公式计算所述对象存储节点的目标迁移权重,所述权重计算公式为:
x1=x2-a*y1-b*z,其中,所述x1为所述对象存储节点的目标迁移权重,所述x2为最近一次确定的所述对象存储节点的目标迁移权重,所述y1为所述对象存储节点的IO时延,所述z为所述对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值,所述a为对象存储节点的IO时延的权重因子,所述b为对象存储节点的存储使用率与所述多个对象存储节点的平均存储使用率的差值的权重因子,0<a<1,0<b<1。
根据本发明实施例的第三方面,提供一种计算机设备,包括处理器、通信接口、存储器和通信总线,
其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,实现第一方面所述的数据迁移方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据迁移方法。
根据本发明实施例的第五方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面所述的数据迁移方法。
根据本发明实施例的第六方面,提供一种数据迁移系统,包括处理节点和多个对象存储节点,
所述处理节点包括第二方面所述的数据迁移装置。
本发明实施例提供的技术方案可以包括以下有益效果:
能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,然后在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定的迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,能够提高数据分布的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明部分实施例中提供的数据迁移方法所涉及的实施环境示意图;
图2是根据一示例性实施例示出的一种数据迁移方法的方法流程图;
图3是根据一示例性实施例示出的另一种数据迁移方法的方法流程图;
图4是图3所示实施例中一种确定对象存储节点的目标迁移权重的流程图;
图5是图3所示实施例中一种确定对象存储节点的目标迁移权重的流程图;
图6是图3所示实施例中一种选取出多个目标对象存储节点的流程图;
图7是图3所示实施例中一种在多个目标对象存储节点之间执行数据迁移操作的流程图;
图8是根据一示例性实施例示出的一种数据迁移装置的框图;
图9是根据一示例性实施例示出的另一种数据迁移装置的框图;
图10是根据一示例性实施例示出的一种计算机设备的框图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的数据迁移方法所涉及的实施环境示意图,该实施环境为分布式存储系统,该分布式存储系统可以包括多个对象存储节点和一个处理节点,每个对象存储节点对应至少一个磁盘。示例的,该分布式存储系统可以为CEPH,CEPH的底层是一个RADOS。在CEPH中,视频、文本或图片等格式的数据都被统一看作是对象。CEPH为了保存一个对象,对上构建了一个逻辑层,也就是池(英文:pool),用于保存对象。CEPH包括多个池,每个池又包括多个PG,为了将对象保存至目标PG上,一般通过HASH算法将对象映射至目标PG,通常是对对象的名称进行HASH运算,得到一个十六进制数据,然后得到该十六进制数据除以目标PG所属的池的PG总数后的余数,之后根据该余数和目标PG所属的池的标识从所有池的PG中确定出目标PG。同时,CEPH对下构建了物理层,物理层对应多个服务器上的磁盘,物理层包括多个OSD,物理层还包括处理节点,处理节点为了将对象保存至目标磁盘上,则需要将保存至逻辑层的目标PG上的数据保存至目标OSD,一个PG上的数据可以被保存至多个OSD上,通常是根据CRUSH算法、目标PG的标识和每个OSD的标识得到一个随机数,然后得到每个OSD的权重乘以该OSD对应的随机数的乘积,再将乘积最大的OSD确定为目标OSD。其中,OSD的权重与OSD的容量正相关。
可见,CEPH的数据分布算法在执行时包括两层映射过程,第一层映射过程通过HASH算法将对象映射至目标PG,第二层映射过程通过CRUSH算法将目标PG映射至目标OSD。通过两层映射过程,便可以将PG上的数据保存至磁盘上。当某一磁盘发生了变化时,比如该磁盘出现故障,通过CRUSH算法,可以将该磁盘上保存的对应PG上的数据全部迁移至另外的磁盘上,也即是,将该OSD上的数据全部迁移至另外的OSD上。
相关技术中,为了实现数据迁移,当新的OSD加入或者已有的OSD出现故障时,处理节点会通过CRUSH算法将权重小的OSD上的数据迁移至权重大的OSD上。
然而,在实际应用场景中,OSD的工作状态会受到网络环境及设备寿命等因素的影响,如果始终是按照固定的权重来进行数据迁移,很容易出现迁移失败或者数据分布不均衡的现象,数据分布的可靠性较差。
而在本发明实施例中,CEPH中的处理节点能够根据对象存储节点的目标迁移权重确定多个目标对象存储节点,然后在多个目标对象存储节点之间执行数据迁移操作。其中,对象存储节点的目标迁移权重是至少根据对象的IO时延和存储使用率确定更新的,对象为对象存储节点和磁盘中的至少一个。由于目标存储节点的目标迁移权重是至少根据目标对象的IO时延和存储使用率确定更新的,迁移权重不是固定不变的,所以可以避免出现迁移失败或者数据分布不均衡的现象,能够提高数据分布的可靠性。
图2是根据一示例性实施例示出的一种数据迁移方法的方法流程图,该数据迁移方法可以用于图1所示实施环境中的处理节点,该方法流程可以包括如下几个步骤:
步骤210、根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定的,对象为对象存储节点和磁盘中的至少一个。
其中,对象存储节点的存储使用率指的是对象存储节点的实际存储的数据量与总容量的比值。
示例地,处理节点可以周期性更新对象存储节点的目标迁移权重,比如,处理节点可以每隔10分钟更新对象存储节点的目标迁移权重,或者,处理节点可以每隔5分钟更新对象存储节点的目标迁移权重。示例地,处理节点也可以实时确定对象存储节点的目标迁移权重。
步骤220、在多个目标对象存储节点之间执行数据迁移操作。
本发明实施例提供的数据迁移方法,能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,然后在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,能够提高数据分布的可靠性。
在选取多个目标对象存储节点之前,处理节点可以先确定每个对象存储节点的目标迁移权重,示例地,如图3所示,该数据迁移方法流程可以包括如下几个步骤:
步骤310、确定每个对象存储节点的目标迁移权重。
可选地,如图4所示,步骤310可以包括:
步骤311、当对象存储节点的IO时延小于目标时延值,且该对象存储节点的存储使用率小于目标存储使用率时,根据该对象存储节点的IO时延和存储使用率确定该对象存储节点的目标迁移权重。
对象存储节点的IO时延越小,表明该对象存储节点的数据处理能力越强;对象存储节点的存储使用率越小,表明该对象存储节点上保存的数据越不饱和。当对象存储节点的IO时延小于目标时延值,且该对象存储节点的存储使用率小于目标存储使用率时,处理节点根据该对象存储节点的IO时延和存储使用率确定该对象存储节点的目标迁移权重。
示例的,目标时延值可以为0.015s(秒),目标存储使用率可以为0.8或者0.85。对于时延要求低的业务来说,目标时延值也可以为5s。本发明实施例对目标时延值和目标存储使用率的大小不做限定。
示例的,分布式存储系统包括5个对象存储节点:OSD1、OSD2、OSD3、OSD4和OSD5。假设OSD1的IO时延为0.01s,存储使用率为0.5,目标时延值为0.015s,目标存储使用率为0.8。由于OSD1的IO时延小于目标时延值0.015s,且存储使用率小于目标存储使用率0.8,所以处理节点根据OSD1的IO时延(即0.01s)和存储使用率(即0.5)确定OSD1的目标迁移权重。
可选地,如图5所示,步骤311可以包括:
步骤3111、确定对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值。
多个对象存储节点的平均存储使用率为多个对象存储节点的存储使用率的平均值。示例的,分布式存储系统包括5个对象存储节点:OSD1、OSD2、OSD3、OSD4和OSD5。假设当前时刻,OSD1的存储使用率为0.5,OSD2的存储使用率为0.4,OSD3的存储使用率为0.6,OSD4的存储使用率为0.7,OSD5的存储使用率为0.8,那么处理节点可以分别获取这5个OSD的存储使用率,确定这5个OSD的平均存储使用率为(0.5+0.4+0.6+0.7+0.8)/5=0.6,并确定每个OSD的存储使用率与平均使用率的差值。
其中,处理节点可以采用命令:ceph osd df,获取对象存储节点的存储使用率。
步骤3112、根据对象存储节点的IO时延,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,以及最近一次确定的对象存储节点的目标迁移权重,确定对象存储节点的目标迁移权重。
以上述5个对象存储节点:OSD1、OSD2、OSD3、OSD4和OSD5为例,假设当前时刻,OSD1的IO时延为0.01s,OSD2的IO时延为0.008s,OSD3的IO时延为0.011s,OSD4的IO时延为0.016s,OSD5的IO时延为0.009s,那么处理节点可以分别获取这5个OSD的IO时延。
其中,处理节点可以采用命令:ceph osd perf,获取对象存储节点的IO时延。
假设最近一次确定的各OSD的目标迁移权重分别为:OSD1的目标迁移权重为0.3,OSD2的目标迁移权重为0.4,OSD3的目标迁移权重为0.7,OSD4的目标迁移权重为0.8,OSD5的目标迁移权重为0.9。处理节点可以根据对象存储节点的IO时延,步骤3111中确定的该对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,以及最近一次确定的该对象存储节点的目标迁移权重,确定当前该对象存储节点的目标迁移权重。
示例地,步骤3112可以包括:
根据对象存储节点的IO时延,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,以及最近一次确定的对象存储节点的目标迁移权重,按照权重计算公式计算对象存储节点的目标迁移权重。权重计算公式为:
x1=x2-y1-z,其中,x1为对象存储节点的目标迁移权重,x2为最近一次确定的对象存储节点的目标迁移权重,y1为对象存储节点的IO时延,z为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值。
可选地,在本发明实施例中,还可以为对象存储节点的IO时延,以及对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子。也即是,对象存储节点的IO时延具有一个权重因子,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值具有一个权重因子。在这种可实现方式中,步骤3112可以包括:根据对象存储节点的IO时延的加权值,该对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的该对象存储节点的目标迁移权重,确定该对象存储节点的目标迁移权重。其中,IO时延的加权值为IO时延与对应的权重因子的乘积。差值的加权值为差值与对应的权重因子的乘积。示例地,步骤3112可以包括:
根据对象存储节点的IO时延的加权值,该对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的该对象存储节点的目标迁移权重,按照权重计算公式计算该对象存储节点的目标迁移权重。权重计算公式为:
x1=x2-a*y1-b*z,其中,x1为对象存储节点的目标迁移权重,x2为最近一次确定的对象存储节点的目标迁移权重,y1为对象存储节点的IO时延,z为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,a为对象存储节点的IO时延的权重因子,b为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的权重因子,0<a<1,0<b<1。计算符号“*”表示乘法计算。
需要说明的是,权重因子a和权重因子b的大小可以根据实际需求进行设置。示例的,如果着重考虑IO时延y1,那么可以将a设置为一个较大的数,将b设置为一个较小的数;如果着重考虑差值z,那么可以将b设置为一个较大的数,将a设置为一个较小的数。本发明实施例对权重因子a和权重因子b的大小不做限定。
在上述权重计算公式:x1=x2-a*y1-b*z中,对象存储节点的目标迁移权重x1用于指示该对象存储节点保存外部数据的能力。x1越大,表明该对象存储节点保存外部数据的能力越强;x1越小,表明该对象存储节点保存外部数据的能力越弱。对象存储节点的IO时延y1用于指示该对象存储节点的数据处理能力。y1越大,表明该对象存储节点的数据处理能力越弱;y1越小,表明该对象存储节点的数据处理能力越强。对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值z,用于指示该对象存储节点上保存的数据的饱和度。z越大,表明该对象存储节点上保存的数据越饱和;z越小,表明该对象存储节点上保存的数据越不饱和。
在上述权重计算公式:x1=x2-a*y1-b*z中,对象存储节点的目标迁移权重x1的大小由对象存储节点的IO时延y1的大小和差值z的大小共同决定。比如,当y1较大,z较大时,相较于最近一次确定的目标迁移权重x2,x1会较小,也即是,当对象存储节点的数据处理能力较弱,对象存储节点上保存的数据较饱和时,对象存储节点保存外部数据的能力就较弱。相应的,在进行数据迁移时,不宜将数据迁移至该对象存储节点上,该对象存储节点不宜被作为数据接收节点,数据接收节点为进行数据迁移时数据的接收节点。而当y1较小,z较小时,相较于x2,x1会较大,也即是,当对象存储节点的数据处理能力较强,对象存储节点上保存的数据较不饱和时,对象存储节点保存外部数据的能力就较强,相应的,在进行数据迁移时,可以将数据迁移至该对象存储节点上,该对象存储节点可以被作为数据接收节点。
示例的,分布式存储系统的5个对象存储节点中的OSD1的IO时延y1为0.01s,OSD1的存储使用率为0.5,5个OSD的平均存储使用率为0.6,则OSD1的存储使用率与5个OSD的平均存储使用率的差值z为-0.1,而最近一次确定的OSD1的目标迁移权重x2为0.3,假设权重因子a为0.5,权重因子b为0.5,则处理节点按照上述权重计算公式x1=x2-a*y1-b*z,可以得到当前OSD1的目标迁移权重x1=0.3-0.5*0.01-0.5*(-0.1)=0.345;
可以看出,OSD1的存储使用率小于5个OSD的平均存储使用率的差值,即OSD1上保存的数据较不饱和,IO时延y1较小,因此,相较于最近一次确定的目标迁移权重x2,当前目标迁移权重x1较大,OSD1保存外部数据的能力较强,OSD1可以被作为数据接收节点。
可选地,在本发明实施例中,用于计算对象存储节点的目标迁移权重的权重计算公式还可以为其他形式。比如,该权重计算公式可以为:x1=x2-y1-b*z;又比如,该权重计算公式可以为:x1=x2-a*y1-z,其中,x1为对象存储节点的目标迁移权重,x2为最近一次确定的对象存储节点的目标迁移权重,y1为对象存储节点的IO时延,z为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,a为对象存储节点的IO时延的权重因子,b为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的权重因子,0<a<1,0<b<1。计算符号“*”表示乘法计算。
步骤312、当对象存储节点的IO时延大于或等于目标时延值,将该对象存储节点的目标迁移权重确定为0。
当对象存储节点的IO时延大于或等于目标时延值时,表明该对象存储节点的数据处理能力较弱,该对象存储节点可能已出现了故障。在这种情况下,处理节点可以将该对象存储节点的目标迁移权重确定为0。同时,处理节点可以关闭该对象存储节点,禁止该对象存储节点参与后续的数据迁移操作。
步骤313、当对象存储节点的存储使用率大于或等于目标存储使用率,将该对象存储节点的目标迁移权重保持为最近一次确定的该对象存储节点的目标迁移权重。
当对象存储节点的存储使用率大于或等于目标存储使用率时,表明该对象存储节点上保存的数据较饱和。在这种情况下,处理节点可以将该对象存储节点的目标迁移权重保持为最近一次确定的该对象存储节点的目标迁移权重。该对象存储节点的目标迁移权重保持不变。同时,处理节点可以关闭该对象存储节点,禁止该对象存储节点参与后续的数据迁移操作。
在本发明实施例中,处理节点可以按照预设的周期定期更新每个对象存储节点的目标迁移权重。示例地,每次确定对象存储节点的目标迁移权重的过程可以参考上述步骤310。
步骤320、根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。
在步骤320中,处理节点可以根据上述步骤确定的各对象存储节点的目标迁移权重,对对象存储节点进行预处理,去除掉步骤312中得到的目标迁移权重为0的对象存储节点,以及步骤313中得到的目标迁移权重保持不变的对象存储节点。处理节点然后确定其余对象存储节点的目标迁移权重与最近一次确定的对应对象存储节点的目标迁移权重的差值,得到对象存储节点的目标迁移权重差值,再根据对象存储节点的目标迁移权重差值和数据迁移门限从多个对象存储节点选取出多个目标对象存储节点。
另外,处理节点也可以在得到所有对象存储节点的目标迁移权重后,获取每个对象存储节点的目标迁移权重与最近一次确定的对象存储节点的目标迁移权重的差值,并从所有对象存储节点中选取出多个目标对象存储节点。具体地,如图6所示,步骤320可以包括:
步骤321、获取当前确定的对象存储节点的目标迁移权重与最近一次确定的对象存储节点的目标迁移权重的差值,得到每个对象存储节点的目标迁移权重差值。
步骤322、根据每个对象存储节点的目标迁移权重差值以及数据迁移门限,从多个对象存储节点选取出多个目标对象存储节点。
通常,在执行数据迁移操作时数据迁移量越小,则认为分布式存储系统的性能越好。在本发明实施例中,处理节点可以根据每个对象存储节点的目标迁移权重差值以及数据迁移门限选取多个目标对象存储节点。其中,数据迁移门限用于控制单次迁移的数据量,避免因单次迁移的数据量较大而对业务产生较大影响。示例地,数据迁移门限可以根据分布式存储系统存储的总数据量来确定,比如,数据迁移门限可以是分布式存储系统存储的总数据量的五分之一。示例地,数据迁移门限可以为500GigaByte(吉字节)。
具体地,步骤322可以包括:
S1、在多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点。
其中,m为整数。在步骤S1中,处理节点按照目标迁移权重差值的绝对值对对象存储节点进行排序。排在首位(即第一位)的对象存储节点的目标迁移权重差值的绝对值最大,排在末位(即最后一位)的对象存储节点的目标迁移权重差值的绝对值最小。当目标迁移权重差值的绝对值较小时,对象存储节点的目标迁移权重的变化量较小,对象存储节点的数据迁移需求较低。在本发明实施例中,处理节点从排序后的对象存储节点中选取前m个对象存储节点,以将数据迁移需求较低的对象存储节点排除。
S2、模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量。
处理节点模拟计算在步骤S1选取的m个对象存储节点之间执行数据迁移将产生的数据迁移量,该数据迁移量用于判断是否将这m个对象存储节点作为进行数据迁移操作的多个目标对象存储节点。
其中,模拟计算过程可以参考相关技术中的CRUSH算法,将权重小的对象存储节点上的数据迁移至权重大的对象存储节点上。
S3、检测步骤S2中的数据迁移量是否大于数据迁移门限。
S4、当步骤S2中的数据迁移量不大于数据迁移门限时,将m个对象存储节点作为多个目标对象存储节点。
当上述步骤S2中的数据迁移量不大于数据迁移门限时,处理节点将m个对象存储节点作为多个目标对象存储节点,以便于在该多个目标对象存储节点之间执行数据迁移操作。
S5、当步骤S2中的数据迁移量大于数据迁移门限时,在m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点。执行步骤S6。
其中,n为小于m的整数。当上述步骤S2中的数据迁移量大于数据迁移门限时,处理节点再从m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点。示例地,n=m-1。
S6、模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量。
处理节点模拟计算在上述步骤S5选取的n个对象存储节点之间执行数据迁移将产生的数据迁移量,该数据迁移量用于判断是否将这n个对象存储节点作为进行数据迁移操作的多个目标对象存储节点。
S7、检测步骤S6中的数据迁移量是否大于数据迁移门限。
S8、当步骤S6中的数据迁移量不大于数据迁移门限时,将n个对象存储节点作为多个目标对象存储节点。
当步骤S6中的数据迁移量不大于数据迁移门限时,处理节点将n个对象存储节点作为多个目标对象存储节点,以便于在该多个目标对象存储节点之间执行数据迁移操作。
S9、当步骤S6中的数据迁移量大于数据迁移门限时,在n个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取l个对象存储节点。
其中,l为小于n的整数。示例地,l=n-1。同样地,重复执行上述检测过程,直至模拟计算出的数据迁移量不大于数据迁移门限,将对应的多个对象存储节点作为多个目标对象存储节点,以便于在确定的多个目标对象存储节点之间执行数据迁移。
现以分布式存储系统包括5个对象存储节点为例对上述步骤S1至步骤S9做一说明。假设处理节点在5个对象存储节点中根据目标迁移权重差值的绝对值从大到小选取了3(m=3)个对象存储节点:OSD3、OSD1和OSD2。OSD1的目标迁移权重差值的绝对值为c1,OSD2的目标迁移权重差值的绝对值为c2,OSD3的目标迁移权重差值的绝对值为c3,c3>c1>c2。处理节点模拟计算在这3个对象存储节点之间执行数据迁移将产生的数据迁移量,并检测该数据迁移量是否大于数据迁移门限。假设模拟计算的数据迁移量大于数据迁移门限,那么处理节点在这3个对象存储节点中选取2(n=2)个对象存储节点:OSD3和OSD1。处理节点模拟计算在这2个对象存储节点之间执行数据迁移将产生的数据迁移量,并检测该数据迁移量是否大于数据迁移门限。假设该数据迁移量小于数据迁移门限,那么处理节点将(OSD3,OSD1)作为目标对象存储节点。
在本发明实施例中,当处理节点按照预设的周期定期更新每个对象存储节点的目标迁移权重时,示例地,在一种可实现方式中,处理节点可以根据最近一次确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。
在另一种可实现方式中,处理节点可以在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,该第一时刻为最近一次确定每个对象存储节点的目标迁移权重的时刻;当当前时刻距离第一时刻的时长不大于目标时长时,根据最近一次确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点;
当当前时刻距离第一时刻的时长大于目标时长时,根据每个对象存储节点的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。
当当前时刻距离第一时刻的时长不大于目标时长时,表明当前时刻距离最近一次确定对象存储节点的目标迁移权重的时刻较近,在这种情况下,处理节点可以直接根据最近一次确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。
当当前时刻距离第一时刻的时长大于目标时长时,表明当前时刻距离最近一次确定对象存储节点的目标迁移权重的时刻较远,在这种情况下,处理节点可以根据每个对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。其中,确定每个对象存储节点的目标迁移权重的过程可以参考上述步骤310。
在又一种可实现方式中,处理节点可以在接收到数据迁移指令时,实时确定对象存储节点的目标迁移权重,并根据实时确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。实时确定对象存储节点的目标迁移权重的过程可以参考上述步骤310。
步骤330、在多个目标对象存储节点之间执行数据迁移操作。
具体地,如图7所示,步骤330可以包括:
步骤331、根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点。
当前确定的数据发送节点的目标迁移权重小于当前确定的数据接收节点的目标迁移权重。
步骤332、将确定为数据发送节点的目标对象存储节点上的数据迁移至确定为数据接收节点的目标对象存储节点上。
示例地,处理节点可以采用伪随机数据分布算法,将确定为数据发送节点的目标对象存储节点上的数据迁移至确定为数据接收节点的目标对象存储节点上。
假设按照上述步骤322确定的目标对象存储节点为OSD3和OSD1,当前确定的OSD3的目标迁移权重小于OSD1的目标迁移权重,OSD3为数据发送节点,OSD1为数据接收节点。处理节点采用伪随机数据分布算法将OSD3上的数据迁移至OSD1上。由于对象存储节点的目标迁移权重是根据对象存储节点的IO时延和存储使用率确定更新的,所以不易出现迁移失败或者数据分布不均衡的现象,避免了由于局部故障或者局部数据过热导致的分布式存储系统整体性能下降,使得整个分布式存储系统的集群性能趋于最大化,提升了分布式存储系统的数据读写性能;而在相关技术中,处理节点始终按照固定的迁移权重来进行数据迁移,比如,初始时刻,OSD5和OSD4的迁移权重较大,那么处理节点会始终将OSD5和OSD4作为数据接收节点,然而当OSD4的IO时延大于目标时延值,OSD5的存储使用率大于目标存储使用率时,OSD4和OSD5已不宜作为数据接收节点,所以在执行了数据迁移操作后很容易出现迁移失败或者数据分布不均衡的现象。
通常,数据迁移操作会影响分布式存储系统的业务处理进度,最终无法满足业务需求。在本发明实施例中,处理节点在执行数据迁移操作之前,可以先获取当前时刻分布式存储系统的网络流量,并检测当前时刻分布式存储系统的网络流量是否大于目标流量值;当网络流量不大于目标流量值时,表明当前时刻分布式存储系统较为空闲,处理节点则执行数据迁移操作。当网络流量大于目标流量值时,表明当前时刻分布式存储系统较为繁忙,处理节点则不执行数据迁移操作,这样可以避免数据迁移操作对分布式存储系统所产生的影响。
其中,处理节点可以采用命令:ceph pg stat,获取当前时刻分布式存储系统的网络流量。
可选地,处理节点在执行数据迁移操作之前,还可以在检测到当前时刻分布式存储系统的网络流量不大于目标流量值时,检测对象存储节点的更新是否已完成,比如是否已执行完上述步骤310。当对象存储节点的更新已完成,处理节点确定执行数据迁移操作,包括从多个存储节点选取出多个目标对象存储节点的操作,以及在多个目标对象存储节点之间进行数据迁移的操作。
需要说明的是,本发明实施例提供的数据迁移方法步骤的先后顺序可以进行适当调整,数据迁移方法步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本公开的保护范围之内,因此不再赘述。
综上所述,本发明实施例提供的数据迁移方法,能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,然后在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定的迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,可以提高数据分布的可靠性。
图8是根据一示例性实施例示出的一种数据迁移装置700的框图,该数据迁移装置用于图1所示实施环境中的处理节点。该数据迁移装置700包括:
选取模块710,用于根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定的,对象为对象存储节点和磁盘中的至少一个。
执行模块720,用于在多个目标对象存储节点之间执行数据迁移操作。
本发明实施例提供的数据迁移装置,选取模块能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,执行模块在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定的迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,可以提高数据分布的可靠性。
图9是本发明实施例在图8基础上提供的另一种数据迁移装置700的框图。如图9所示,该数据迁移装置700可以包括:
选取模块710,用于根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定的,对象为对象存储节点和磁盘中的至少一个。
执行模块720,用于在多个目标对象存储节点之间执行数据迁移操作。
更新模块730,用于按照预设的周期定期更新每个对象存储节点的目标迁移权重。
可选的,选取模块710用于:
根据最近一次确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点;或者
在接收到数据迁移指令时,检测当前时刻距离第一时刻的时长是否大于目标时长,第一时刻为最近一次确定每个对象存储节点的目标迁移权重的时刻;
当当前时刻距离第一时刻的时长不大于目标时长时,根据最近一次确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点;
当当前时刻距离第一时刻的时长大于目标时长时,根据每个对象存储节点对应对象的IO时延和存储使用率确定对应的对象存储节点的目标迁移权重,并根据确定的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点;或者
在接收到数据迁移指令时,实时确定对象存储节点的目标迁移权重,并根据实时确定的每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点。
当对象为对象存储节点时,如图9所示,该数据迁移装置700还可以包括:
确定模块740用于:
当对象存储节点的IO时延小于目标时延值,且对象存储节点的存储使用率小于目标存储使用率时,根据对象存储节点的IO时延和存储使用率确定对象存储节点的目标迁移权重;
当对象存储节点的IO时延大于或等于目标时延值,将对象存储节点的目标迁移权重确定为0;
当对象存储节点的存储使用率大于或等于目标存储使用率,将对象存储节点的目标迁移权重保持为最近一次确定的对象存储节点的目标迁移权重。
确定模块740具体用于:
确定对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值;
根据对象存储节点的IO时延,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,以及最近一次确定的对象存储节点的目标迁移权重,确定对象存储节点的目标迁移权重。
可选地,确定模块740具体用于:根据对象存储节点的IO时延,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,以及最近一次确定的对象存储节点的目标迁移权重,按照权重计算公式计算对象存储节点的目标迁移权重。权重计算公式为:
x1=x2-y1-z,其中,x1为对象存储节点的目标迁移权重,x2为最近一次确定的对象存储节点的目标迁移权重,y1为对象存储节点的IO时延,z为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值。
可选地,如图9所示,该数据迁移装置700还可以包括:
设置模块750,用于为对象存储节点的IO时延,以及对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,分别设置关联的权重因子。
确定模块740具体用于:
根据对象存储节点的IO时延的加权值,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的对象存储节点的目标迁移权重,确定对象存储节点的目标迁移权重。
可选地,确定模块740具体用于:根据对象存储节点的IO时延的加权值,对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的加权值,以及最近一次确定的对象存储节点的目标迁移权重,按照权重计算公式计算对象存储节点的目标迁移权重。权重计算公式为:
x1=x2-a*y1-b*z,其中,x1为对象存储节点的目标迁移权重,x2为最近一次确定的对象存储节点的目标迁移权重,y1为对象存储节点的IO时延,z为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值,a为对象存储节点的IO时延的权重因子,b为对象存储节点的存储使用率与多个对象存储节点的平均存储使用率的差值的权重因子,0<a<1,0<b<1。
其中,多个目标对象存储节点包括数据发送节点和数据接收节点,选取模块710具体用于:
获取当前确定的对象存储节点的目标迁移权重与最近一次确定的对象存储节点的目标迁移权重的差值,得到每个对象存储节点的目标迁移权重差值;
根据每个对象存储节点的目标迁移权重差值以及数据迁移门限,从多个对象存储节点选取出多个目标对象存储节点。
执行模块720具体用于:
根据当前确定的各个目标对象存储节点的目标迁移权重确定数据发送节点和数据接收节点,当前确定的数据发送节点的目标迁移权重小于当前确定的数据接收节点的目标迁移权重;
将确定为数据发送节点的目标对象存储节点上的数据迁移至确定为数据接收节点的目标对象存储节点上。
可选地,选取模块710具体用于:
在多个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取m个对象存储节点,其中,m为整数;
模拟计算在m个对象存储节点之间执行数据迁移将产生的数据迁移量;
检测数据迁移量是否大于数据迁移门限;
当数据迁移量不大于数据迁移门限时,将m个对象存储节点作为多个目标对象存储节点;
当数据迁移量大于数据迁移门限时,在m个对象存储节点中,根据目标迁移权重差值的绝对值从大到小选取n个对象存储节点,其中,n为小于m的整数;
模拟计算在n个对象存储节点之间执行数据迁移将产生的数据迁移量;
重复执行上述检测过程,直至模拟计算出的数据迁移量不大于数据迁移门限,将对应的多个对象存储节点作为多个目标对象存储节点。
综上所述,本发明实施例提供的数据迁移装置,选取模块能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,执行模块在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定的迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,可以提高数据分布的可靠性。
图10是根据一示例性实施例示出的一种计算机设备的框图,该计算机设备用于图1所示实施环境中的处理节点。如图10所示,该计算机设备包括:
处理器1001、通信接口1002、存储器1003和通信总线1004。
其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信;
存储器1003,用于存放计算机程序10031;
处理器1001,用于执行存储器1003上所存放的计算机程序,实现如图2或图3所示的数据迁移方法。
综上所述,本发明实施例提供的计算机设备,能够根据每个对象存储节点的目标迁移权重从多个对象存储节点选取出多个目标对象存储节点,然后在多个目标对象存储节点之间执行数据迁移操作,由于每个对象存储节点的目标迁移权重是至少根据对应对象的IO时延和存储使用率确定更新的,所以避免了按照固定的迁移权重进行数据迁移,从而避免出现迁移失败或者数据分布不均衡的现象,可以提高数据分布的可靠性。
本发明实施例还提供了一种数据迁移系统,包括处理节点和多个对象存储节点,其中,处理节点可以包括如图8或图9所示的数据迁移装置。
本发明实施例还提供了一种计算机可读存储介质,该存储介质为非易失性可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现如图2或图3所示的数据迁移方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图2或图3所示的数据迁移方法。
本发明实施例还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如图2或图3所示的数据迁移方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (13)

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任一所述的数据迁移装置。
CN201811498080.2A 2018-12-07 2018-12-07 数据迁移方法、装置及系统 Active CN111290699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811498080.2A CN111290699B (zh) 2018-12-07 2018-12-07 数据迁移方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811498080.2A CN111290699B (zh) 2018-12-07 2018-12-07 数据迁移方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111290699A CN111290699A (zh) 2020-06-16
CN111290699B true CN111290699B (zh) 2023-03-14

Family

ID=71028053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811498080.2A Active CN111290699B (zh) 2018-12-07 2018-12-07 数据迁移方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111290699B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905345B (zh) * 2021-02-23 2024-04-05 深圳市网心科技有限公司 任务调配方法、分布式存储系统、服务器
CN114327905A (zh) * 2021-12-31 2022-04-12 联想(北京)有限公司 负载均衡方法、装置及计算机设备
CN114064616B (zh) * 2022-01-17 2022-04-26 睿至科技集团有限公司 一种基于大数据平台的分布式存储方法及系统
CN115277736A (zh) * 2022-07-25 2022-11-01 中国工商银行股份有限公司 分布式块存储的数据自动均衡方法及装置
CN117453148B (zh) * 2023-12-22 2024-04-02 柏科数据技术(深圳)股份有限公司 基于神经网络的数据平衡方法、装置、终端及存储介质
CN117453149B (zh) * 2023-12-22 2024-04-09 柏科数据技术(深圳)股份有限公司 分布式存储系统的数据平衡方法、装置、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN105657066A (zh) * 2016-03-23 2016-06-08 天津书生云科技有限公司 用于存储系统的负载再均衡方法及装置
CN106959820A (zh) * 2016-01-11 2017-07-18 杭州海康威视数字技术股份有限公司 一种数据提取方法和系统
CN107688625A (zh) * 2017-08-18 2018-02-13 郑州云海信息技术有限公司 一种基于分布式存储系统的存储小文件的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180329646A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN106959820A (zh) * 2016-01-11 2017-07-18 杭州海康威视数字技术股份有限公司 一种数据提取方法和系统
CN105657066A (zh) * 2016-03-23 2016-06-08 天津书生云科技有限公司 用于存储系统的负载再均衡方法及装置
WO2017162179A1 (zh) * 2016-03-23 2017-09-28 北京书生国际信息技术有限公司 用于存储系统的负载再均衡方法及装置
CN107688625A (zh) * 2017-08-18 2018-02-13 郑州云海信息技术有限公司 一种基于分布式存储系统的存储小文件的方法及系统

Also Published As

Publication number Publication date
CN111290699A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111290699B (zh) 数据迁移方法、装置及系统
CN112015583B (zh) 一种数据存储的方法、装置和系统
WO2018000991A1 (zh) 一种数据均衡方法和装置
CN104468803B (zh) 一种虚拟数据中心资源映射方法和设备
CN103929454B (zh) 一种云计算平台中负载均衡存储的方法和系统
US9665284B2 (en) Partition extension method and apparatus
CN108009016A (zh) 一种资源负载均衡控制方法及集群调度器
CN109408590B (zh) 分布式数据库的扩容方法、装置、设备及存储介质
US9733835B2 (en) Data storage method and storage server
US10616134B1 (en) Prioritizing resource hosts for resource placement
CN110222013A (zh) 一种集群存储容量确定的方法、系统、设备及存储介质
CN110321225B (zh) 负载均衡方法、元数据服务器及计算机可读存储介质
CN109451540A (zh) 一种网络切片的资源分配方法和设备
CN106095335B (zh) 一种电力大数据弹性云计算存储平台架构方法
CN108132827A (zh) 一种网络切片资源映射方法、相关设备及系统
JP5780377B2 (ja) 情報処理システム、及びアプリケーションの移転方法
CN112118314A (zh) 负载均衡方法和装置
WO2024239865A1 (zh) 虚拟机的热迁移方法及相关设备
CN107301090A (zh) 在存储服务器中为应用设置数据处理路径的方法及装置
CN111930315A (zh) 数据访问方法、数据访问装置及存储介质
CN105635285B (zh) 一种基于状态感知的vm迁移调度方法
US8959383B2 (en) Failover estimation using contradiction
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
CN109992196B (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