CN111736754A - 数据迁移方法和装置 - Google Patents

数据迁移方法和装置 Download PDF

Info

Publication number
CN111736754A
CN111736754A CN201910226777.2A CN201910226777A CN111736754A CN 111736754 A CN111736754 A CN 111736754A CN 201910226777 A CN201910226777 A CN 201910226777A CN 111736754 A CN111736754 A CN 111736754A
Authority
CN
China
Prior art keywords
data
disk
migration
object block
storage
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.)
Pending
Application number
CN201910226777.2A
Other languages
English (en)
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 CN201910226777.2A priority Critical patent/CN111736754A/zh
Publication of CN111736754A publication Critical patent/CN111736754A/zh
Pending legal-status Critical Current

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
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/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/065Replication 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

本公开是关于一种数据迁移方法和装置,属于数据存储技术领域。所述方法包括:确定已使用时长超过预设的使用限制时长的待迁移磁盘,将待迁移磁盘的状态标记为处于迁移状态;对于待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定目标存储服务器,在目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将对象块中的数据复制到目标磁盘中。采用本公开,通过将数据存储到未处于迁移状态的磁盘的方式,可以避免数据在目标磁盘中丢失,保证数据的完整性。

Description

数据迁移方法和装置
技术领域
本公开是关于数据存储技术领域,尤其是关于一种数据迁移方法和装置。
背景技术
在相关技术中,可以在云端设置有存储系统,用于存储用户上传的数据。用户只需从预设的接口上传数据,或者从预设的接口下载数据,而无需关心存储系统本身是如何部署的等情况。存储系统可以由运营商进行部署和维护。
在云端中进行数据存储时,可以对数据进行分散存储。可以将数据进行切分,得到多个数据单元,再将多个数据单元进行分散存储。在存储系统中,可以设置有多个存储服务器,在每个存储服务器中进一步可以设置有多个磁盘。因此,可以将多个数据单元分散存储到存储系统中的不同存储服务器的不同磁盘中。在对磁盘进行格式化时,可以将一整个磁盘划分为多个对象块,在后续存储过程中,每个对象块用于存储一个数据单元。
在实现本公开的过程中,发明人发现至少存在以下问题:
对于磁盘来说,每个磁盘都有各自的使用限制时长,例如,磁盘A的使用限制时长是8年。当已使用时长达到任一磁盘的使用限制时长时,磁盘就很容易发生故障,存储到发生故障的磁盘中的数据就会丢失,造成不可挽回的损失。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种数据迁移方法,所述方法包括:
确定已使用时长超过预设的使用限制时长的待迁移磁盘,将所述待迁移磁盘的状态标记为处于迁移状态;
对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中。
可选地,所述性能信息包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
可选地,所述性能信息包括服务器负载、剩余存储空间和可分配存储空间,所述基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,包括:
在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器,包括:
如果所述待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量,则将所述待迁移磁盘所属的存储服务器确定为目标存储服务器;
如果所述待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于所述对象块中的数据的数据量、或者可分配存储空间小于所述对象块中的数据的数据量,则在除所述待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,包括:
确定所述目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;
基于所述未处于迁移状态的磁盘的剩余存储空间,确定所述未处于迁移状态的磁盘的选择概率,其中,所述未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;
在所述未处于迁移状态的磁盘中,基于所述未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
可选地,所述对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中,包括:
确定所述待迁移磁盘中各对象块中的数据的数据属性;
在所述各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;
对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在所述用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将所述优先迁移对象块中的数据复制到所述用于迁移优先迁移对象块中的数据的目标磁盘中;
在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在所述用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将所述非优先迁移对象块中的数据复制到所述用于迁移非优先迁移对象块中的数据的目标磁盘中。
根据本公开实施例的第二方面,提供一种数据迁移装置,所述装置包括:
标记模块,用于确定已使用时长超过预设的使用限制时长的待迁移磁盘,将所述待迁移磁盘的状态标记为处于迁移状态;
复制模块,用于对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中。
可选地,所述性能信息包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
可选地,所述性能信息包括服务器负载、剩余存储空间和可分配存储空间,所述复制模块,用于:
在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述复制模块,用于:
当所述待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量时,将所述待迁移磁盘所属的存储服务器确定为目标存储服务器;
当所述待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于所述对象块中的数据的数据量、或者可分配存储空间小于所述对象块中的数据的数据量时,在除所述待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述复制模块,用于:
确定所述目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;
基于所述未处于迁移状态的磁盘的剩余存储空间,确定所述未处于迁移状态的磁盘的选择概率,其中,所述未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;
在所述未处于迁移状态的磁盘中,基于所述未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
可选地,所述复制模块,用于:
确定所述待迁移磁盘中各对象块中的数据的数据属性;
在所述各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;
对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在所述用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将所述优先迁移对象块中的数据复制到所述用于迁移优先迁移对象块中的数据的目标磁盘中;
在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在所述用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将所述非优先迁移对象块中的数据复制到所述用于迁移非优先迁移对象块中的数据的目标磁盘中。
根据本公开实施例的第三方面,提供一种服务器,所述服务器包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述数据迁移方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述数据迁移方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,当待迁移磁盘的已使用时长超过预设的使用限制时长时,可以对待迁移磁盘中的数据进行分散迁移。这样,在达到待迁移磁盘的使用极限之前,将待迁移磁盘中的数据迁移到未达到使用极限的磁盘中,可以保证数据的安全性,防止数据丢失。此外,在迁移过程中,选择存储服务器中未处于迁移状态的磁盘作为目标磁盘,将数据存储到未处于迁移状态的磁盘中。通过将数据存储到未处于迁移状态的磁盘的方式,可以避免数据在目标磁盘中丢失,保证数据的完整性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种存储系统的结构示意图;
图2是根据一示例性实施例示出的一种存储服务器的结构示意图;
图3是根据一示例性实施例示出的一种数据迁移方法的流程示意图;
图4是根据一示例性实施例示出的一种磁盘状态示意图;
图5是根据一示例性实施例示出的一种数据迁移方法的流程示意图;
图6是根据一示例性实施例示出的一种数据迁移方法的流程示意图;
图7是根据一示例性实施例示出的一种数据迁移方法的流程示意图;
图8是根据一示例性实施例示出的一种流式文件系统的数据的结构示意图;
图9是根据一示例性实施例示出的一种数据迁移装置的结构示意图;
图10是根据一示例性实施例示出的一种服务器的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开一示例性实施例提供了一种数据迁移方法,如图1所示,本公开实施例提供的方法可以应用于存储系统中,或者应用于存储系统中的任一服务器中。在存储系统中,可以设置有管理调度服务器集群和存储服务器集群。管理调度服务器负责管理存储服务器,管理调度服务器和存储服务器之间通过通信协议进行通信,管理调度服务器之间也可以通过通信协议进行通信,以完成各服务器之间的协调作用。当用户需要在云端存储数据时,用户可以通过云存储对外接口向管理调度服务器发起数据存储请求,管理调度服务器可以基于数据存储请求,为待存储数据分配合适的存储服务器进行存储处理。
存储服务器中可以存储各类数据,在本公开实施例中,以存储视频数据为例进行说明,存储其他数据的情况与存储视频数据的情况类似,在此不再赘述。当存储服务器用于存储视频数据时,存储服务器也可以称为视频存储服务器。
下面结合图1,对存储系统中的各服务器的功能进行说明。
管理调度服务器(Central Management Server,CMS),可以是一个集群,管理调度服务器集群可以包括多个服务器。多个服务器之间可以进行数据的冗余备份,这样可以防止数据完全丢失。
管理调度服务器负责调度存储系统中的资源,主要功能可以包括服务管理、集群空间管理和存储调度管理。
当管理调度服务器用于服务管理时,管理调度服务器可以维护整个存储系统中所有视频存储服务器(Cloud Video Storage Software,CVS)的在线状态与状态信息。视频存储服务器的状态信息可以包括服务器负载、总存储空间、剩余存储空间和已分配视频存储路数等。
当管理调度服务器用于集群空间管理时,管理调度服务器可以维护整个存储系统中所有磁盘的状态信息,还可以维护虚拟存储池。其中,每个虚拟存储池都对应有一个存储周期,当用户请求向存储池中存储数据时,首先需要向管理调度服务器申请合适的视频存储服务器,再将待存储数据写入申请到的视频存储服务器中的磁盘上。用户可以通过云存储对外接口(Software Development Kit,SDK)向管理调度服务器请求在存储池中存储数据。
当管理调度服务器用于存储调度管理时,管理调度服务器可以根据预设的策略,将用户请求存储的待存储数据分配到合适的视频存储服务器上进行存储处理。
视频存储服务器也可以是一个集群,视频存储服务器集群可以包括多个服务器。每个视频存储服务器都可以接入多种磁盘。如图2所示,这些磁盘可以包括DISK(一种磁盘)、SSD(Solid State Disk,固态硬盘)、RAID(Redundant Arrays of IndependentDrives,磁盘阵列)、SAN(Storage Area Network,存储区域网络)、NAS(Network-AttachedStorage,网络接入存储)等。当视频存储服务器接入多个磁盘之后,可以对存储空间按照流式文件系统的格式进行初始化,以将存储空间分为多个对象块,每个对象块可以存储一个数据单元。
视频存储服务器用于实际存储数据,主要功能可以包括存储空间管理、存储空间分配、状态信息上报和视频数据读写等。
当视频存储服务器用于存储空间管理时,视频存储服务器可以维护本地接入磁盘的磁盘状态,对每个磁盘进行分块管理以及使用管理。
当视频存储服务器用于存储空间分配时,视频存储服务器可以为待写入的数据选择合适的磁盘进行写入处理。
当视频存储服务器用于状态信息上报时,视频存储服务器可以定期向管理调度服务器上报视频存储服务器的状态信息,视频存储服务器的状态信息可以包括服务器负载、总存储空间、剩余存储空间和已分配视频存储路数等。
当视频存储服务器用于视频数据读写时,视频存储服务器可以为用户读取已写入的视频数据,或者将待存储的视频数据,写入到分配好的磁盘上。
本公开一示例性实施例提供了一种数据迁移方法,如图3所示,该方法的处理流程可以包括如下的步骤:
步骤S310,确定已使用时长超过预设的使用限制时长的待迁移磁盘,将待迁移磁盘的状态标记为处于迁移状态。
在实施中,存储系统中可以设置有多个视频存储服务器,每个视频存储服务器可以设置有多个磁盘,这些磁盘可以是同时购入并安装在视频存储服务器中的,也可以是非同时购入并非同时安装在视频存储服务器中的。可以在安装好任一磁盘之后,将磁盘的标识和开始使用的时间进行记录,或者,也可以从磁盘中获取预先录入的磁盘信息,基于磁盘信息确定磁盘的出厂时间,将出厂时间作为磁盘的开始使用的时间。
可以通过不同方式,确定任一磁盘的开始使用的时间,并基于当前的时间,确定磁盘的已使用时长。如果任一磁盘的已使用时长超过预设的使用限制时长,则可以将该磁盘确定为待迁移磁盘。待迁移磁盘可以是已经被使用很长一段时间的磁盘,已经快要到达磁盘的使用极限,如果继续使用该磁盘,很容易出现损坏的现象。在确定出待迁移磁盘之后,可以将待迁移磁盘的状态标记为迁移状态。相应地,如果任一磁盘的已使用时长未超过预设的使用限制时长,则无需将该磁盘确定为待迁移磁盘,同时该磁盘的状态为处于未迁移状态。
如图4所示,视频存储服务器中设置有4个磁盘,包括磁盘A、磁盘B、磁盘C和磁盘D。在4个磁盘中,磁盘C处于迁移状态,磁盘A、磁盘B和磁盘D都处于未迁移状态。此时,可以读取磁盘A、磁盘B和磁盘D中的数据,同时,也可以在磁盘A、磁盘B和磁盘D中写入数据。但是,对于磁盘C,只可以读取磁盘C中的数据,不能再磁盘C中写入数据。
步骤S320,对于待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定目标存储服务器,在目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将对象块中的数据复制到目标磁盘中。
在实施中,在将对象块中的数据复制到目标磁盘中之后,可以保留待迁移磁盘中的对象块中的数据,也可以删除待迁移磁盘中的对象块中的数据,或者对待迁移磁盘中的对象块中的数据进行其他处理。
可选地,性能信息可以包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
其中,服务器负载可以反映当前存储服务器的任务执行压力情况,具体可以是处理器的占用率、内存的占用率或者其他可以体现存储服务器执行任务的压力的情况的参数,服务器负载的大小表示了存储服务器的繁忙程度。
剩余存储空间可以是存储服务器中当前未被占用的存储空间。
可分配存储空间可以是存储服务器的总存储空间减去已分配存储空间的差值。假如一个存储服务器中接入的监控器的数量为100路,存储周期为1个月,每路监控器每个月需要10G的存储空间,则100路监控器需要1000G的存储空间,进而已分配存储空间为1000G,无论这1000G存储空间中是否已存满数据,这1000G存储空间都是分配出去的。可分配存储空间则可以是存储服务器的总存储空间减去已分配存储空间的差值。
在实施中,在磁盘中,数据可以以对象块为单位进行存储。相同存储系统中的每个对象块的大小相同,不同存储系统中的对象块的大小可以不同,具体每个存储系统中对象块的大小可以自由配置,可以将对象块的大小配置为64M。在最初在待迁移磁盘中存储数据时,是将数据分散进行存储的,即可以将一整条数据切分为若干数据单元存储在不同的对象块中,但每个对象块只能存储一路视频的数据。如果多个数据单元属于同一路视频数据,则可以将多个数据单元存储在一个视频存储服务器中的不同磁盘中。可以从每个磁盘中挑选一个或者多个对象块,用于存储一个或者多个数据单元,可以将一个或者多个数据单元存储到挑选出的对应的一个或者多个对象块中,直至一整条数据的多个数据单元都存储到该视频存储服务器中。
对于待迁移磁盘中的多个对象块中的数据,由于它们是被分散存储的,它们可能属于不同路视频数据,在迁移待迁移磁盘中的多个对象块中的数据时,需要为属于不同路视频数据的对象块分别寻找不同的视频存储服务器。可以基于预先获取的多个视频存储服务器的性能信息,在多个视频存储服务器中,确定目标视频存储服务器。如图5所示,确定目标视频存储服务器的流程可以包括:
步骤S510,用户调用SDK,以申请存储视频数据。
步骤S520,SDK基于通信协议和管理调度服务器进行通信,以请求管理调度服务器为视频数据分配合适的视频存储服务器。
步骤S530,管理调度服务器为视频数据分配合适的视频存储服务器。
步骤S540,管理调度服务器将分配结果返回至SDK。
步骤S550,SDK将接收到的视频数据发送至分配的视频存储服务器。
在确定出目标视频存储服务器之后,可以在目标视频存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将对象块中的数据复制到目标磁盘中。需要说明的是,由于存储系统写入数据的数据量极大,且持续时间较长,如果处于迁移状态的磁盘被选中,并在其中写入数据,则迁移前后会产生数据的不一致性。即在发起迁移操作时,处于迁移状态的磁盘中的数据的存储位置是从磁盘中的A点到B点,在迁移的过程中,会复制存储位置是A点到B点的数据。如果在迁移的过程中,在存储位置为C点到D点的存储位置上存储新的数据,则无法迁移C点到D点的存储位置上的数据,依然会迁移A点到B点的存储位置上的数据。进而导致C点到D点的存储位置上的新的数据未被迁移,迁移前后数据不完整。视频存储服务器在磁盘空间分配时,处于迁移状态的磁盘,不予以分配。这样处于迁移状态的磁盘只能读,不能写,进而保证迁移前后数据的一致性。
在持续向目标磁盘写入数据的过程中,如果检测到任一对象块被写满,则需要重新申请一个新的磁盘,在新的磁盘中继续写入数据。在实际应用中,对一个目标视频存储服务器的写入数据的请求,可以被分散到该目标视频存储服务器中不同的磁盘上的不同对象块中,以达到分散存储的目的。
可选地,性能信息可以同时包括服务器负载、剩余存储空间和可分配存储空间。基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定目标存储服务器的步骤可以包括:在多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于对象块中的数据的数据量、且可分配存储空间大于或者等于对象块中的数据的数据量的目标存储服务器。
在实施中,当任一存储服务器同时满足服务器负载、剩余存储空间和可分配存储空间对应的三个条件时,可以向该存储服务器中迁移数据。在一种可能的实现方式中,当任一存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于对象块中的数据的数据量、且可分配存储空间大于或者等于对象块中的数据的数据量时,可以向该存储服务器中迁移数据。
可选地,在多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于对象块中的数据的数据量、且可分配存储空间大于或者等于对象块中的数据的数据量的目标存储服务器的步骤可以包括:如果待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于对象块中的数据的数据量、且可分配存储空间大于或者等于对象块中的数据的数据量,则将待迁移磁盘所属的存储服务器确定为目标存储服务器;如果待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于对象块中的数据的数据量、或者可分配存储空间小于对象块中的数据的数据量,则在除待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于对象块中的数据的数据量、且可分配存储空间大于或者等于对象块中的数据的数据量的目标存储服务器。
在实施中,可能存在多个存储服务器都能同时满足服务器负载、剩余存储空间和可分配存储空间对应的三个条件,可以优先选择待迁移磁盘所属的存储服务器作为目标存储服务器,进行存储服务器内部迁移。这样,可以避免在不同存储服务器之间复制传输数据,进而可以提升迁移数据的速度,节约传输数据的资源。
如果待迁移磁盘所属的存储服务器不能满足服务器负载、剩余存储空间和可分配存储空间对应的三个条件,可以在其他满足三个条件的存储服务器中,随机选择一个服务器作为目标存储服务器。
此外,如果所有的存储服务器都不能满足上述三个条件,则还可以选择待迁移磁盘所属的存储服务器作为目标存储服务器,进行存储服务器内部迁移。
如图6所示,选择目标存储服务器的流程可以包括:
步骤S610,向管理调度服务器查询同时满足服务器负载、剩余存储空间和可分配存储空间对应的三个条件的视频存储服务器。
步骤S620,管理调度服务器查询是否存在同时满足服务器负载、剩余存储空间和可分配存储空间对应的三个条件的视频存储服务器,如果存在,则执行步骤S630,如果不存在,则执行步骤S640。
步骤S630,满足条件的视频存储服务器中是否包括待迁移磁盘所属的存储服务器。如果是,则执行步骤S640。如果否,则执行步骤S650。
步骤S640,选择待迁移磁盘所属的存储服务器作为目标存储服务器。
步骤S650,随机在满足条件的视频存储服务器中选择一个服务器作为目标存储服务器。
通过适当地选择目标存储服务器,可以避免在迁移过程中出现因为存储服务器的性能存在差异如存储空间的差异,导致大量的写入数据的请求都放到一个存储服务器上执行,进而导致该存储服务器执行任务的压力过大,进而该存储服务器就会不稳定,影响正常执行上层业务。
可选地,由于对象块中的数据需要被循环覆盖,即任一对象块中的数据已存储时长超过预设时长周期时,需要将该对象块中的数据进行覆盖,也就是可以在该对象块中存入新的数据,如刚刚通过监控器拍摄得到的视频数据。如果任一对象块中的数据已存储时长超过预设时长周期,但是还未被其他数据覆盖,那么在迁移过程中,无需迁移该对象块中的数据。具体流程可以见图7:
步骤S710,按照顺序获取待迁移磁盘中的对象块中的数据。
步骤S720,判断该对象块中的数据的已存储时长是否超过预设时长周期。如果否,则执行步骤S730。如果是,则执行步骤S710。
步骤S730,按照预设的策略选择合适的目标视频存储服务器。
步骤S740,在目标视频存储服务器中确定未处于迁移状态的磁盘。
步骤S750,基于未处于迁移状态的磁盘的剩余存储空间,在未处于迁移状态的磁盘中,选择一个磁盘作为目标磁盘。
步骤S760,判断待迁移磁盘中是否还存在未进行数据迁移的对象块。如果不存在,则结束。如果存在,则执行步骤S710。
可选地,在目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘的步骤可以包括:确定目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;基于未处于迁移状态的磁盘的剩余存储空间,确定未处于迁移状态的磁盘的选择概率,其中,未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;在未处于迁移状态的磁盘中,基于未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
在实施中,目标存储服务器中可以接入多个磁盘,这些磁盘可以是相同种类的磁盘,也可以是不同种类的磁盘,它们的总存储空间的差别可能会较大,并且它们当前的剩余存储空间的差别也可能会较大。可以根据未处于迁移状态的磁盘的剩余存储空间,在未处于迁移状态的磁盘中,选择一个磁盘作为目标磁盘。
首先可以确定目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间,基于未处于迁移状态的磁盘的剩余存储空间,确定未处于迁移状态的磁盘的选择概率。未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大。反之,未处于迁移状态的磁盘的剩余存储空间越小,对应的选择概率越小。接着,在未处于迁移状态的磁盘中,基于未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。这样,剩余存储空间越大的磁盘被选中的机会越多,剩余存储空间越小的磁盘被选中的机会越少。当通过上述方式选择几次磁盘之后,不同磁盘的剩余存储空间的差异越来越小,进而可以达到负载均衡的目的。
如果不按照未处于迁移状态的磁盘的选择概率在多个磁盘中随机选择一个磁盘作为目标磁盘,那么剩余存储空间较小的磁盘会被优先使用完,进一步地后续目标存储服务器再接收到写入数据的请求时,这些请求很可能都被分配到剩余存储空间较大的磁盘上,进而剩余存储空间较大的磁盘的执行任务的压力会变大,造成数据丢失和磁盘的不稳定。因此,通过本公开实施例提供的方式,可以进行负载均衡,将写入数据的请求平均分配到每个磁盘上,保证单个磁盘的压力不会过大。
可选地,对于待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定目标存储服务器,在目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将对象块中的数据复制到目标磁盘中的步骤可以包括:确定待迁移磁盘中各对象块中的数据的数据属性;在各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将优先迁移对象块中的数据复制到用于迁移优先迁移对象块中的数据的目标磁盘中;在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将非优先迁移对象块中的数据复制到用于迁移非优先迁移对象块中的数据的目标磁盘中。
在实施中,重要的数据可以优先迁移。重要的数据可以是信息块、锁定数据、指定通道的数据、视频关键帧(I帧)等。可以将这些重要的数据的数据属性作为优先迁移数据属性集合中的数据属性,当确定任一对象块中的数据属于重要的数据时,优先迁移该对象块中的数据。
其中,信息块属于流式文件系统中的数据,如图8所示,流式文件系统中的数据结构一般包括主启动块、备启动块、对象块。其中,对象块还可以包括主信息块、数据区和备信息块。主启动块、备启动块,用于存储流式文件系统的系统大小、块大小、信息块大小等信息,主启动块、备启动块互为备份数据块。主信息块、备信息块,用于存储数据区中的数据的关键信息,如流式数据关键帧信息、数据类型(如图片、视频、文件、附属信息)、块状态、信息块大小、块的起始时间和结束时间等。主信息块、备信息块,还可以用于对数据区中的数据进行索引等,主信息块、备信息块互为备份数据块。
锁定数据,可以是用户锁定的数据,这种数据不会被循环覆盖,不存在过期时间,是用户较为关心的数据。
指定通道的数据,可以是存储系统中接入的多路视频数据中较为重要的几路视频数据。在实际应用中,不同路视频数据是从不同地理位置上获取的,对于一些比较重要的场所,其对应的视频数据也是比较重要的。可以将重要的场所对应的视频数据的通道指定为指定通道,指定通道的数据是用户较为关心的数据。
视频关键帧,可以是组成视频数据的基本单位,视频数据可以由多个视频图像成。在解码的过程中,仅用视频关键帧就可以重构完整的视频图像,可以保证视频数据的正常播放。
通过本公开实施例提供的方法,当待迁移磁盘的已使用时长超过预设的使用限制时长时,可以对待迁移磁盘中的数据进行分散迁移。这样,在达到待迁移磁盘的使用极限之前,将待迁移磁盘中的数据迁移到未达到使用极限的磁盘中,可以保证数据的安全性,防止数据丢失。此外,在迁移过程中,选择存储服务器中未处于迁移状态的磁盘作为目标磁盘,将数据存储到未处于迁移状态的磁盘中。通过将数据存储到未处于迁移状态的磁盘的方式,可以避免数据在目标磁盘中丢失,保证数据的完整性。
本公开又一示例性实施例提供了一种数据迁移装置,如图9所示,该装置包括:
标记模块910,用于确定已使用时长超过预设的使用限制时长的待迁移磁盘,将所述待迁移磁盘的状态标记为处于迁移状态;
复制模块920,用于对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中。
可选地,所述性能信息包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
可选地,所述性能信息包括服务器负载、剩余存储空间和可分配存储空间,所述复制模块920,用于:
在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述复制模块920,用于:
当所述待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量时,将所述待迁移磁盘所属的存储服务器确定为目标存储服务器;
当所述待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于所述对象块中的数据的数据量、或者可分配存储空间小于所述对象块中的数据的数据量时,在除所述待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
可选地,所述复制模块920,用于:
确定所述目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;
基于所述未处于迁移状态的磁盘的剩余存储空间,确定所述未处于迁移状态的磁盘的选择概率,其中,所述未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;
在所述未处于迁移状态的磁盘中,基于所述未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
可选地,所述复制模块920,用于:
确定所述待迁移磁盘中各对象块中的数据的数据属性;
在所述各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;
对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在所述用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将所述优先迁移对象块中的数据复制到所述用于迁移优先迁移对象块中的数据的目标磁盘中;
在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在所述用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将所述非优先迁移对象块中的数据复制到所述用于迁移非优先迁移对象块中的数据的目标磁盘中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,当待迁移磁盘的已使用时长超过预设的使用限制时长时,可以对待迁移磁盘中的数据进行分散迁移。这样,在达到待迁移磁盘的使用极限之前,将待迁移磁盘中的数据迁移到未达到使用极限的磁盘中,可以保证数据的安全性,防止数据丢失。此外,在迁移过程中,选择存储服务器中未处于迁移状态的磁盘作为目标磁盘,将数据存储到未处于迁移状态的磁盘中。通过将数据存储到未处于迁移状态的磁盘的方式,可以避免数据在目标磁盘中丢失,保证数据的完整性。
需要说明的是:上述实施例提供的进行数据迁移的装置在进行数据迁移时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的进行数据迁移的装置与进行数据迁移的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10示出了本公开一个示例性实施例提供的服务器1900的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1910和一个或一个以上的存储器1920。其中,所述存储器1920中存储有至少一条指令,所述至少一条指令由所述处理器1910加载并执行以实现上述实施例所述的数据迁移方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种数据迁移方法,其特征在于,所述方法包括:
确定已使用时长超过预设的使用限制时长的待迁移磁盘,将所述待迁移磁盘的状态标记为处于迁移状态;
对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中。
2.根据权利要求1所述的方法,其特征在于,所述性能信息包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
3.根据权利要求2所述的方法,其特征在于,所述性能信息包括服务器负载、剩余存储空间和可分配存储空间,所述基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,包括:
在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
4.根据权利要求3所述的方法,其特征在于,所述在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器,包括:
如果所述待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量,则将所述待迁移磁盘所属的存储服务器确定为目标存储服务器;
如果所述待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于所述对象块中的数据的数据量、或者可分配存储空间小于所述对象块中的数据的数据量,则在除所述待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
5.根据权利要求1所述的方法,其特征在于,所述在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,包括:
确定所述目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;
基于所述未处于迁移状态的磁盘的剩余存储空间,确定所述未处于迁移状态的磁盘的选择概率,其中,所述未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;
在所述未处于迁移状态的磁盘中,基于所述未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
6.根据权利要求1所述的方法,其特征在于,所述对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中,包括:
确定所述待迁移磁盘中各对象块中的数据的数据属性;
在所述各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;
对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在所述用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将所述优先迁移对象块中的数据复制到所述用于迁移优先迁移对象块中的数据的目标磁盘中;
在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在所述用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将所述非优先迁移对象块中的数据复制到所述用于迁移非优先迁移对象块中的数据的目标磁盘中。
7.一种数据迁移装置,其特征在于,所述装置包括:
标记模块,用于确定已使用时长超过预设的使用限制时长的待迁移磁盘,将所述待迁移磁盘的状态标记为处于迁移状态;
复制模块,用于对于所述待迁移磁盘中的每个对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定目标存储服务器,在所述目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定目标磁盘,将所述对象块中的数据复制到所述目标磁盘中。
8.根据权利要求7所述的装置,其特征在于,所述性能信息包括服务器负载、剩余存储空间、可分配存储空间中的至少一项。
9.根据权利要求8所述的装置,其特征在于,所述性能信息包括服务器负载、剩余存储空间和可分配存储空间,所述复制模块,用于:
在所述多个存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
10.根据权利要求9所述的装置,其特征在于,所述复制模块,用于:
当所述待迁移磁盘所属的存储服务器的服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量时,将所述待迁移磁盘所属的存储服务器确定为目标存储服务器;
当所述待迁移磁盘所属的存储服务器的服务器负载大于预设负载阈值、剩余存储空间小于所述对象块中的数据的数据量、或者可分配存储空间小于所述对象块中的数据的数据量时,在除所述待迁移磁盘所属的存储服务器之外的存储服务器中,确定服务器负载小于或者等于预设负载阈值、剩余存储空间大于或者等于所述对象块中的数据的数据量、且可分配存储空间大于或者等于所述对象块中的数据的数据量的目标存储服务器。
11.根据权利要求7所述的装置,其特征在于,所述复制模块,用于:
确定所述目标存储服务器中当前状态为未处于迁移状态的磁盘的剩余存储空间;
基于所述未处于迁移状态的磁盘的剩余存储空间,确定所述未处于迁移状态的磁盘的选择概率,其中,所述未处于迁移状态的磁盘的剩余存储空间越大,对应的选择概率越大;
在所述未处于迁移状态的磁盘中,基于所述未处于迁移状态的磁盘的选择概率,选择一个磁盘作为目标磁盘。
12.根据权利要求7所述的装置,其特征在于,所述复制模块,用于:
确定所述待迁移磁盘中各对象块中的数据的数据属性;
在所述各对象块中,确定数据属性属于预设的优先迁移数据属性集合的优先迁移对象块;
对于每个优先迁移对象块,优先基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移优先迁移对象块中的数据的目标存储服务器,在所述用于迁移优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移优先迁移对象块中的数据的目标磁盘,将所述优先迁移对象块中的数据复制到所述用于迁移优先迁移对象块中的数据的目标磁盘中;
在迁移完毕所有优先迁移对象块中的数据之后,对于数据属性不属于预设的优先迁移数据属性集合的每个非优先迁移对象块,基于预先获取的多个存储服务器的性能信息,在所述多个存储服务器中,确定用于迁移非优先迁移对象块中的数据的目标存储服务器,在所述用于迁移非优先迁移对象块中的数据的目标存储服务器中当前状态为未处于迁移状态的磁盘中,确定用于迁移非优先迁移对象块中的数据的目标磁盘,将所述非优先迁移对象块中的数据复制到所述用于迁移非优先迁移对象块中的数据的目标磁盘中。
13.一种服务器,其特征在于,所述服务器包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN201910226777.2A 2019-03-25 2019-03-25 数据迁移方法和装置 Pending CN111736754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910226777.2A CN111736754A (zh) 2019-03-25 2019-03-25 数据迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910226777.2A CN111736754A (zh) 2019-03-25 2019-03-25 数据迁移方法和装置

Publications (1)

Publication Number Publication Date
CN111736754A true CN111736754A (zh) 2020-10-02

Family

ID=72646016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910226777.2A Pending CN111736754A (zh) 2019-03-25 2019-03-25 数据迁移方法和装置

Country Status (1)

Country Link
CN (1) CN111736754A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379838A (zh) * 2020-11-13 2021-02-19 Oppo广东移动通信有限公司 数据下载方法、装置、存储介质及电子设备
CN113220650A (zh) * 2021-04-27 2021-08-06 北京百度网讯科技有限公司 数据存储方法、装置、设备、存储介质及程序
CN113778332A (zh) * 2021-08-16 2021-12-10 联想凌拓科技有限公司 一种信息确定方法、第一存储服务器及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328050A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Automatic load balancing, such as for hosted applications
US20110047555A1 (en) * 2009-08-18 2011-02-24 International Business Machines Corporation Decentralized load distribution in an event-driven system
US20110145197A1 (en) * 2008-12-03 2011-06-16 Hitachi Ltd. Storage system and method for operating storage system
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN106201354A (zh) * 2016-07-12 2016-12-07 乐视控股(北京)有限公司 数据存储方法及系统
CN106527995A (zh) * 2016-11-22 2017-03-22 青海师范大学 一种i/o均衡的数据扩容迁移方法
CN108205424A (zh) * 2017-12-29 2018-06-26 北京奇虎科技有限公司 基于磁盘的数据迁移方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328050A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Automatic load balancing, such as for hosted applications
US20110145197A1 (en) * 2008-12-03 2011-06-16 Hitachi Ltd. Storage system and method for operating storage system
US20110047555A1 (en) * 2009-08-18 2011-02-24 International Business Machines Corporation Decentralized load distribution in an event-driven system
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN106201354A (zh) * 2016-07-12 2016-12-07 乐视控股(北京)有限公司 数据存储方法及系统
CN106527995A (zh) * 2016-11-22 2017-03-22 青海师范大学 一种i/o均衡的数据扩容迁移方法
CN108205424A (zh) * 2017-12-29 2018-06-26 北京奇虎科技有限公司 基于磁盘的数据迁移方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李红艳: "《固态盘I/O优化技术研究》", 31 March 2017 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379838A (zh) * 2020-11-13 2021-02-19 Oppo广东移动通信有限公司 数据下载方法、装置、存储介质及电子设备
CN113220650A (zh) * 2021-04-27 2021-08-06 北京百度网讯科技有限公司 数据存储方法、装置、设备、存储介质及程序
CN113220650B (zh) * 2021-04-27 2024-04-09 北京百度网讯科技有限公司 数据存储方法、装置、设备、存储介质及程序
CN113778332A (zh) * 2021-08-16 2021-12-10 联想凌拓科技有限公司 一种信息确定方法、第一存储服务器及存储介质

Similar Documents

Publication Publication Date Title
US9613039B2 (en) File system snapshot data management in a multi-tier storage environment
US9858013B1 (en) Scalable distributed storage system infrastructure
US11137940B2 (en) Storage system and control method thereof
JP5381336B2 (ja) 管理プログラム、管理装置および管理方法
US9684467B2 (en) Management of pinned storage in flash based on flash-to-disk capacity ratio
US10740005B1 (en) Distributed file system deployment on a data storage system
US8566555B2 (en) Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
CN105404469A (zh) 一种视频数据的存储方法和系统
CN110096220B (zh) 一种分布式存储系统、数据处理方法和存储节点
CN111736754A (zh) 数据迁移方法和装置
CN110198346B (zh) 数据读取方法、装置、电子设备及可读存储介质
US20220129346A1 (en) Data processing method and apparatus in storage system, and storage system
US7849264B2 (en) Storage area management method for a storage system
US20190347165A1 (en) Apparatus and method for recovering distributed file system
US10057348B2 (en) Storage fabric address based data block retrieval
EP3889785B1 (en) Stripe reconstruction method in storage system and striping server
CN107948229B (zh) 分布式存储的方法、装置及系统
CN111404828B (zh) 实现全局流控的方法及装置
US11907551B2 (en) Performance efficient and resilient creation of network attached storage objects
US8745343B2 (en) Data duplication resynchronization with reduced time and processing requirements
CN109508140B (zh) 存储资源管理方法、装置、电子设备及电子设备、系统
CN109960474A (zh) 基于自动精简配置的数据更新方法、装置、设备及介质
CN115604294A (zh) 一种管理存储资源的方法及装置
CN112083886B (zh) 一种nas设备的存储管理方法、系统及装置
CN116009761A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201002

RJ01 Rejection of invention patent application after publication