CN103718533B - 一种分区平衡子任务下发方法、装置与系统 - Google Patents

一种分区平衡子任务下发方法、装置与系统 Download PDF

Info

Publication number
CN103718533B
CN103718533B CN201380000878.9A CN201380000878A CN103718533B CN 103718533 B CN103718533 B CN 103718533B CN 201380000878 A CN201380000878 A CN 201380000878A CN 103718533 B CN103718533 B CN 103718533B
Authority
CN
China
Prior art keywords
partition balancing
subtask
node
partition
subregion
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
CN201380000878.9A
Other languages
English (en)
Other versions
CN103718533A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103718533A publication Critical patent/CN103718533A/zh
Application granted granted Critical
Publication of CN103718533B publication Critical patent/CN103718533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种分区平衡子任务下发方法、装置及系统。应用于控制器中,所述控制器和至少2个节点组成存储系统,控制器收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;把经过去重后余下的分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。应用本发明可以实现分区在节点之间的迁移。

Description

一种分区平衡子任务下发方法、装置与系统
技术领域
本发明涉及信息技术领域,特别有关于一种任务处理技术。
背景技术
随着计算机技术和网络技术的发展,信息量呈现几何级数的增长,人类的数据达到前所未有的规模,对这些超大规模数据的存储和管理已经成为工业界一大挑战。用传统的集中存储管理超大规模数据时,无法提供高效的读写操作,无法满足良好的扩展性以及高可用性。在这种背景下,出现了各种由多存储节点组成的存储系统。
在多存储节点组成存储系统中,为了避免单点故障造成数据丢失。同一份数据一般都保存有多份副本,所以,维持数据的副本数量稳定也成为系统的迫切需求。另外,随着人们对存储系统可持续工作需求的日益剧增,分布式存储系统的在线扩容也成为系统基本功能的不可或缺部分。那么怎么在系统数据有损坏的情况下,下发数据恢复任务,成为当前技术的重点。
发明内容
本发明提供一种分区平衡子任务下发方法、装置及系统,可以下发分区迁移任务。
第一方面,本发明实施例提供一种分区平衡任务下发方法,该方法应用于控制器中,所述控制器和至少2个节点组成存储系统,其中,每个节点包含至少一个分区,该控制器在第一分区平衡任务结束前,开始执行第二分区平衡任务,,该方法包括:收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
在第一方面的第一种可能的实现方式中,下发分区平衡子任务之前,进一步包括:从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
第二方面,本发明实施例提供一种分区平衡子任务下发装置,该控制器在第一分区平衡任务结束前,开始执行第二分区平衡任务,该装置包括:分区平衡子任务生成模块,用于在收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;分区平衡子任务删除模块,查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;分区平衡子任务下发模块,把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
第二方面的第一种可能实现方式中,从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
第三方面,本发明实施例提供一种存储系统,包括第二方面或者第二方面的第一种可能实现方式中的分区平衡子任务下发装置,还包括至少2个节点,其中,所述节点用于,在接收到所述分区平衡子任务后,作为分区平衡子任务的目的节点执行所述分区平衡子任务。
第四方面,本发明实施例提供一种分区平衡任务下发方法,该方法应用于控制器中,所述控制器和至少2个节点组成存储系统,其中,每个节点包含至少一个分区,该方法包括:收到第二分区平衡任务后,所述第二分区平衡任务是因为节点发生故障而生成的分区平衡任务,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;查找当前分区平衡子任务集合,从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区位于所述发生故障的节点分区平衡子任务、目的节点是所述发生故障的节点的分区平衡子任务;把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
在第四方面的第一种可能的实现方式中,下发分区平衡子任务之前,进一步包括:删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务。
第五方面,本发明实施例提供一种分区平衡子任务下发装置,该控制器在第一分区平衡任务结束前,开始执行第二分区平衡任务,该装置包括:分区平衡子任务生成模块,用于在收到第二分区平衡任务后,所述第二分区平衡任务是因为节点故障而生成的分区平衡任务,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;分区平衡子任务删除模块,查找当前分区平衡子任务集合,从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区位于所述发生故障的节点分区平衡子任务、目的节点是所述发生故障的节点的分区平衡子任务;分区平衡子任务下发模块,把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
第五方面的第一种可能实现方式中,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务。
应用本发明实施例在当前存在分区平衡子任务的情况下,可以继续下发分区平衡子任务,实现了前后分区平衡任务的并行处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其他的附图。
图1是一种控制器实施例结构示意图;
图2是一种分区平衡子任务下发方法实施例流程图;
图3是一种分区平衡子任务下发装置实施例结构示意图;
图4是一种分区平衡子任务下发存储系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所获得的所有其他实施例,都属于本发明保护的范围。
在由节点与控制器组成的分布式存储系统中,如果部分节点故障,那么这些故障节点上的数据会迁移到其他正常节点上,从而保证整个系统中数据的可靠性。这个迁移任务可以称为分区平衡任务,分区平衡任务是指在节点间迁移分区的任务。
现有的数据迁移操作中,在第一个节点出现故障后,会执行第一个节点相应的分区平衡任务;如果第一个节点的分区平衡任务结束前,出现第二个节点出现了故障,第二个节点的分区平衡任务要等待第一个节点的分区平衡任务结束后才能执行。
由于分区平衡任务执行的时间很长,有可能达到几十个小时甚至更长,在这么长的时间里,第二节点一直无法执行分区平衡任务,第二节点上的数据也一直无法得到恢复,这导致了整个分布式存储系统的可靠性严重降低。
本发明实施例中,存储系统包括控制器和多个节点,例如包括至少2个节点或者包括至少3个节点,这些节点中包括第一节点以及第二节点。控制器与存储系统中的节点连接,对存储节点进行控制。节点由CPU、内存、硬盘等存储介质组成,用于存储数据。存储节点也可以简称为节点。
节点可以存储数据,数据可以用value表示,标识可以用key表示,key和对应的value的组合称为key-value。每个节点上有至少一个分区(Partition),例如,整个存储系统被划分为P0-P19一共20个分区,为每个分区划分一定的Hash范围,对数据的key进行哈希(Hash)计算,根据计算出的Hash值所属于的Hash范围,可以确定把这个hash值对应的key-value存储到哪个节点上。
把key-value存储到节点后,可以对每个分区存储多个,形成一个副本组,同一个副本组中的副本内容相同,当其中一个或者多个副本发生数据损坏时,可以通过余下的任一分区进行恢复,分区平衡算法可以确定各分区具体属于哪个节点。同一个副本组中的副本可以位于不同的节点或者不同机架、机房,分散存放副本可以提高系统可靠性,例如,把节点1上的分区10同时存储到节点2、节点3中。如果同一个分区存储了3份,这种备份方式可以称为3副本。在其他情况下,一个分区也可以在整个存储系统中唯一,也就说没有其他副本。
分区平衡任务是改变分区在节点上分布的任务。执行分区平衡任务可以把一个节点上的分区迁移到另外一个节点,也就是把一个分区内的数据迁移到另外一个节点。下面实施例以节点故障触发分区平衡任务进行举例,通过迁移重新生成因为节点故障而损失的分区。
在实际情况下,也可以是其他原因触发,例如在存储系统中增加了新的节点进行系统扩容时,可以触发将原有节点上的部分分区迁移到新增的节点上。区别在于,节点故障触发的分区平衡任务在执行时,需要找到故障节点上的分区的副本,把副本作为迁移分区。而系统扩容,没有这个查找副本的步骤,直接对迁移分区进行迁移。存储系统中减少节点、或者数据冷热程度、节点的性能、节点提供的网络带宽等任一因素发生变化,也可以触发分区平衡任务。
图1是本发明实施例一种控制器1的结构示意图,控制器1与至少2个节点3连接。控制器包括处理器11、内存12以及接口13,三者相互连接。接口13和各个节点3连接,内存12用于存储程序,处理器11用于执行程序,所述程序代码包括计算机操作指令。处理器11执行程序具体用于实现下述实施例中的方法。
参见图2,是本发明实施例一种分区平衡子任务下发方法流程图。分区平衡任务的执行过程包括以下步骤。
步骤11,当第一节点发生故障时,控制器生成第一分区平衡任务,生成第一分区平衡任务后,控制器计算第一目标分区分布信息,并查询当前分区分布信息,根据当前分区分布信息、第一目标分区分布信息生成第一目标分区分布信息变化量。其中,第一目标分区分布信息变化量是由当前分区分布信息成为第一目标分区分布信息需要对分区分布信息进行的改变,第一目标分区分布信息变化量,可以由各个节点的节点分区分布信息变化量组成。各个节点的节点分区分布信息变化量记录有迁移分区与迁移分区的目的节点的对应关系,目的节点是迁移分区需要被迁入的节点。关于分区分布信息变化量、节点分区分布信息变化量,也可以参考本实施例步骤15。本实施例中,分区分布信息用以描述存储系统中分区在节点的分布,具体可以是Key值在分区内的数据存放在物理节点的分布。所述当前分区分布信息,记录有当前时刻,各节点与节点上的分区的对应关系;所述目标分区分布信息,记录执行完第一分区平衡任务后,各节点与节点上的分区的对应关系,具体而言,是根据第一分区平衡任务执行完有分区迁移后,各节点与节点上的分区的对应关系;所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移的迁移分区,以及各迁移分区的目的节点。其中,第一目标分区分布信息,是需要形成的分区分布信息,可以根据当前的节点、分区分布信息以及节点可用状态等信息通过分区分布信息算法生成的分区分布信息。在对第一分区平衡子任务集合中的分区平衡子任务执行过程中,当前分区分布信息会逐渐更新,当所有分区平衡任务执行完成后,第一目标分区分布信息会成为当前分区分布信息。其中,控制器可以记录各个节点的可用状态,状态为可用表示该节点可以提供读写服务;状态为不可用表示该节点不可以提供读写服务,比如硬盘故障、节点下电等。
步骤12,控制器根据分区分布信息变化量,查找各迁移分区的源节点,源节点也就是需要迁出迁移分区的节点。由迁移分区、迁移分区的源节点、迁移分区的目的节点生成第一分区平衡子任务集合。当同一个迁移分区存在于多个节点中时,任选一个作为迁移分区源节点。然后,把第一分区平衡子任务集合中的各分区平衡子任务,发送给分区平衡子任务中记录的目的节点。第一分区平衡子任务集合,就是存储系统的分区分布信息从当前分区分布信息变为第一目标分区分布信息,所需要执行的分区平衡子任务的集合。本实施例中,第一节点故障后,控制器记录有第一节点上各个分区的标记,第一节点上的分区在其他节点上存在有具有同样标记的分区,也就是第一节点上分区的副本,这些分区也就是迁移分区,本步骤中,如果副本不止一个,则控制器通过迁移分区的标记查找任一副本所在的节点,选择其中一个节点作为源节点。
第一分区平衡子任务集合基于第一分区平衡任务生成,其中包含至少一个分区平衡子任务。每个分区平衡子任务记录有一个迁移分区,以及这个迁移分区的源节点、目的节点。所述源节点是指迁出数据的节点;迁移分区是指源节点上迁出数据的分区;目的节点是指接收迁移分区的节点。目的节点收到分区平衡子任务后,将源节点上的迁移分区迁入目的节点。分区平衡任务生成的所有分区平衡子任务结束后,可以标记分区平衡任务结束,分区平衡子任务的结束方式可以是完成或者终止。
本发明实施例中所说的迁移或者迁出,是指通过复制的方式生成与迁移分区相同的新分区,迁移分区是被复制的分区,可以保留也可以删除。例如如果是因为节点故障触发的迁移,可以在源节点上保留迁移分区;因为扩容而触发的迁移,可以删除源节点上的迁移分区。
本发明实施例中,节点分区分布信息组成分区分布信息,节点分区分布信息是指一个节点和这个节点上存储的分区的对应关系,也可以理解成分区在某个节点中的分布。例如<节点1;分区0、分区100>节点1上有分区0、分区100这2个分区;类似的,<节点2;分区1、分区101>表示节点2上有分区1、分区101这2个分区,<节点3;分区3、分区301>表示节点3上有分区3、分区301这3个分区。假设节点1需要下线,因此触发迁移分区0、分区100的任务,根据分区平衡算法,生成的目标分区分布信息可以包括2条节点分区分布信息:<节点2;分区1、分区101、分区0>、<节点3;分区3、分区301、分区100>。
相应的,每个分区的迁移需要建立一个平衡子任务,因此可以建立2个子任务,分别是把节点1上的分区0迁移到节点2的分区平衡子任务,以及把节点1上的分区100迁移到节点3的分区平衡子任务,当这两个分区平衡子任务完成后,目标分区分布信息成为存储系统中实际分区分布信息,也就是当前分区分布信息。在其他实施例中,也可以一个分区平衡子任务对多个分区进行迁移,例如可以一个分区平衡子任务对一个源节点内的所有迁移分区进行迁移。当一个分区平衡子任务中包含多个迁移分区时,这个分区平衡子任务记录有各个迁移分区对应的源节点、目的节点。
当第一节点故障后,第一节点上的分区不再可用,查找第一节点上的分区位于其他节点的副本作为迁移分区。通过执行分区平衡任务把找到的副本进行迁移,生成新的副本,相当于恢复了第一节点上的分区。
本发明实施例中,根据第一分区分布信息变化量,查找可供迁移的的分区以及分区所在节点,当可供迁移的分区不止一个时,任选一个分区作为迁移分区。在其他实施例中,查找可供迁移的分区后,仅选择数据完整性信息是完整的分区作为迁移分区,数据完整性不完整的分区不作为迁移分区。
每个分区可以有数据完整性信息,这个信息可以记录在控制器中。数据完整性信息用于标记分区的数据是否完整。处于完整状态的分区,表示这个分区可以迁移,这个分区所在的节点可以作为分区平衡子任务的源节点,缺省状态可以设置所有分区的数据是完整的;处于不完整状态的分区,表示分区上的数据不完整,不能迁移,例如该分区正在生成过程中,在生成完成后,可以标记这个分区是完整的。
这里对分区的数据完整性举例说明,假设存在这样一个分区平衡子任务:从节点B迁移分区P的数据到节点A。那么在迁移过程中,节点A上的分区P是分区数据不完整的,因此不能作为其他分区平衡子任务的迁移节点;但在迁移结束后,节点A上的分区P是分区数据完整的。
步骤13,收到控制器发送的分区平衡子任务的节点,也就是分区平衡子任务中的目的节点执行数据迁移,按照分区平衡子任务携带的信息,把源节点上的迁移分区复制到目标节点。在本实施例,第一节点上的分区是迁移分区,这个迁移分区在其他节点存在副本,因此本步骤把第一节点上的分区在其他节点上的副本复制到目的节点。每个分区平衡子任务的执行过程是:(1)目的节点向源节点发送请求消息,请求迁移源节点上的分区P的数据,分区P是第一节点上的一个分区的副本;(2)源节点记录属于分区P的数据key-value,因此源节点收到消息后,查找本身所有数据的key,将属于分区P的所有数据发给目的节点;(3)目的节点收到来自于源节点的数据后,将该数据写入目的节点的磁盘进行存储,完成迁移。
此外,本步骤中目的节点收到控制器发送的分区平衡子任务后,发送响应消息给控制器,控制器收到响应消息以后,把这个分区平衡子任务中的信息更新到分区分布信息中,成为当前分区分布信息的一部分。也就是说不需要等待分区平衡子任务完成,就可以把分区分布信息更新成分区平衡子任务已经完成后的状态。
步骤14,控制器监控每个分区平衡子任务的执行情况,取消对已经执行完成的分区平衡子任务的监控。监控方法可以是:控制器定时向各目的节点发送查询请求,如果目的节点的响应消息显示分区平衡子任务执行完成,那么控制器标记该分区平衡子任务结束,不再监控,并且把这个分区平衡子任务从分区平衡子任务列表中删除;如果响应消息显示分区平衡子任务未完成,则继续监控。
以上是第一分区平衡任务的创建和执行,如果等待第一分区平衡任务结束后,才能执行第二分区平衡任务,那么在第一分区平衡任务结束之前,第二分区平衡任务一直无法执行,这导致第二分区平衡任务执行等待时间过长,以及系统可靠性降低。本发明实施例,在第一分区平衡任务结束前,或者说第一分区平衡子任务集合中的所有子任务结束之前,开始执行第二分区平衡任务,也就是说在本发明实施例中,两个分区平衡任务可以并行执行。
步骤15,第二节点发生故障,控制器生成第二分区平衡任务。控制器依据第二分区平衡任务生成第二目标分区分布信息,第二目标分区分布信息包含至少一条节点分区分布信息。控制器查询当前分区分布信息,把当前分区分布信息与第二目标分区分布信息进行比较,找出由当前分区分布信息成为目标分区分布信息需要的第二分区分布信息变化量,分区分布信息变化量由各个节点的节点分区分布信息变化量组成。本步骤和步骤11原理相同,可以和步骤11相互参照。
例如对节点A而言,以R1表示当前分区分布信息中关于节点A的节点分区分布信息,R2表示第二目标分区分布信息中关于节点A的节点分区分布信息,那么关于节点A,节点分区分布信息变化量R3=R2-(R2∩R1)。
举例:当前分区分布信息中,关于节点A的节点分区分布信息是<节点A;分区100、分区200、分区300、分区400>,第二目标分区分布信息中关于节点A的节点分区分布信息是<节点A;分区300、分区400、分区500、分区600>,那么按照R3=R2-(R2∩R1)的计算公式,节点A的节点分区分布信息变化量就是<节点A;分区500、分区600>。
步骤15中,节点分区分布信息变化量P3的生成有两种方式,一种是先生成P2,再用公式P3=P2-(P2∩P1)删除多余的分区分布信息,另外一种是先通过公式P3=P2-(P2∩P1)计算出节点分区分布信息变化量,然后直接生成节点分区分布信息变化量。需要说明的是,由于控制器收到节点对分区平衡子任务的响应后,会对当前分区分布信息进行更新,因此步骤15中查询到的当前分区分布信息与步骤11中查询到的当前分区分布信息不同。
步骤16,控制器根据第二分区分布信息变化量,查找形成第二目标分区分布信息所需要的迁移分区以及各迁移分区所在节点,生成第二分区平衡子任务集合,第二分区平衡子任务集合就是存储系统的分区分布信息从当前分区分布信息变为第二目标分区分布信息所需要执行的分区平衡子任务的集合。本步骤和步骤12原理相同,可以和步骤12相互参照。
本步骤中,控制器在生成第二分区平衡子任务集合时,如果有多个候选分区可供迁移,那么选择其中一个数据完整性为完整的分区所在的节点作为源节点,结合步骤15中的分区分布信息变化量,共同生成第二分区平衡子任务集合。需要说明的是,步骤15和本步骤中的选择完整性为完整的分区所在的节点作为源节点,在执行顺序上可以并行,也可以任意一个先执行。在因为节点故障而触发的分区迁移任务中,下面的步骤用于举例,介绍步骤16中一个具体的分区迁移子任务是如何生成的。
161)根据副本映射规则找到迁移分区的所有的副本,比如,映射规则是分区P的副本在分区P+1和分区P+2所在节点,一共3副本。那么,对于分区10,其副本所在分区是分区11和分区12,找到的副本列表就是{10,11,12},这3个副本中任一副本故障,都可以用余下任一分区进行恢复。
162)步骤161找到的副本中,检测副本所在节点的状态和数据完整性。如果节点状态是不可用或者副本数据不完整,那么就不能作为源节点;如果节点的状态是可用并且分区的完整性是完整,那么可以作为源节点。例如第一分区平衡子任务集合中,正在执行的分区平衡子任务对应的迁移分区就是不完整的分区。如果分区10出现故障,分区10的2个副本中,分区11是完整的分区,分区12是不完整的分区,那么分区11所在的节点作为分区子任务的源节点,用分区11作为分区迁移子任务的迁移分区。
163)从步骤15的节点分区分布信息变化量中,可以获知迁移分区11的:源节点、迁移分区、目的节点,三者共同组成分区迁移子任务。第二分区平衡子任务集合中的分区平衡子任务可以记录在控制器的分区平衡子任务列表中。也就是说分区平衡子任务由源节点信息和节点分区分布信息变化量共同生成。
步骤17,控制器从第一分区平衡子任务集合中删除源节点故障以及目的节点故障的分区平衡子任务,因为这些分区平衡子任务都是无法完成的,这些源节点故障或者目的节点故障是由于第二节点故障而引起的。也就是说,在第二节点发生故障前,这些分区平衡子任务是可以完成的分区平衡子任务;在第二节点发生故障后,这些分区平衡子任务是无法完成的分区平衡子任务。
步骤18,删除第二分区平衡子任务集合与当前分区平衡子任务集合中重复的分区平衡子任务。其中,当前分区平衡子任务集合是第一分区平衡子任务集合中未执行完的分区平衡子任务。第一分区平衡子任务集合与第二分区平衡子任务存在相同的分区平衡子任务,因此本步骤删除多余的分区平衡子任务,避免分区平衡子任务的重复执行。步骤17和步骤18可以只执行一个,也可以都执行;如果都执行,二者没有时间上的先后关系,可以并行执行,也可以任一个先执行。
通过步骤17与步骤18,实现了第一分区平衡任务与第二分区平衡任务的合并,第一分区平衡任务的存在并没有阻止第二分区平衡任务的执行。
步骤19,控制器把经过步骤17、步骤18处理后的第二平衡分区子任务集合中的分区平衡子任务下发给目的节点。
同样的,这些下发的分区平衡子任务会被各目的节点节点执行,也会记录在分区平衡子任务列表中,由控制器监控完成情况。控制器以及节点具体如何处理分区平衡子任务,可以参照步骤13以及步骤14。
步骤20,控制器可以把第一分区平衡任务标记为结束,停止对第一分区平衡任务的监控。现有技术中,每个节点收到分区平衡子任务后会返回一个响应消息给控制器,控制器收到所有收到授予一个分区平衡任务的所有子任务响应消息以后,才能把这个分区平衡任务标记为结束。本发明实施例中,不需要判断是否收到响应消息,只要执行完步骤19后,就可以额把第一分区平衡任务标记为结束。本步骤是可选步骤。
可选的,收到分区平衡子任务的节点,作为分区平衡子任务的目的节点执行分区平衡子任务。具体执行方法参照步骤步骤13中的子步骤(1)、(2)以及(3)。
步骤21,所有分区平衡子任务结束后,控制器可以把第二分区平衡任务标记为结束,停止对第二分区平衡任务的监控。本步骤是可选步骤。
需要说明的是,由于本发明实施例以2个分区平衡任务并行执行进行举例。当分区平衡任务的数量超过2个时,任意两个相邻触发的分区平衡任务都可以使用本发明实施例提供的方案。因此,本发明的方案也适用于多于2个分区平衡任务并行执行的情况,例如3个存储控制器先后发生故障。具体而言,当3个分区平衡任务依次发生时,与本实施例基本相似,相当于在步骤20之后,对第三分区平衡任务执行步骤14---步骤21,原步骤21不再执行。
仍然参照图2,本发明实施例提供一种分区平衡子任务下发方法,应用于控制器中,所述控制器和至少2个节点组成存储系统,其中,每个节点包含至少一个分区,其特征在于,该方法包括:收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
下发分区平衡子任务之前,可以进一步包括:从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
所述根据第二分区平衡任务,生成第二分区平衡子任务集合,具体可以包括:收到第二分区平衡任务后,计算存储系统目标分区分布信息,查找存储系统当前分区分布信息,根据所述当前分区分布信息和所述目标分区分布信息获得分区分布信息变化量,其中,所述当前分区分布信息,记录有各节点与节点上的分区的对应关系,所述目标分区分布信息,记录有进行分区迁移后各节点与节点上的分区的对应关系,所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移到的所述迁移分区,以及各所述迁移分区的目的节点;对各所述迁移分区,选择一个迁移分区所在节点,根据各所述迁移分区所在节点和分区分布信息变化量,生成第二分区平衡子任务集合。
对各所述迁移分区,选择一个迁移分区所在节点,具体可以是:可供迁移的分区有多个时,检测分区数据的完整性,选择一个数据完整的迁移分区所在的节点。
生成第二分区平衡子任务集合,具体可以是:在第一分区平衡任务结束前,计算生成第二分区平衡子任务集合,其中,所述当前分区平衡子任务集合,是所述第一分区平衡子任务集合中正在执行的分区平衡子任务。
在下发步骤之后,可以进一步包括:在收到所述分区平衡子任务的响应消息之前,把第一分区平衡子任务标记为已经结束。
在下发步骤之后,可以进一步包括:收到分区平衡子任务的节点,作为分区平衡子任务的目的节点执行分区平衡子任务。
在下发步骤之后,可以进一步包括:接收存储节点对所述分区平衡子任务的响应消息,把当前分区分布信息更新为分区平衡子任务执行成功后的状态。
参照图3,本发明实施例还提供一种分区平衡子任务下发装置2,可以应用上述方法,该装置例如可以是控制器或者其他具有控制功能的电子设备。装置2包括分区平衡子任务删除模块21、分区平衡子任务模块22。分区平衡任务下发模块23。可选的,还可以包括分区平衡子任务状态标记模块24;可选的,还可以包括分区分布信息更新模块25。
分区平衡子任务生成模块21,用于在收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点。
分区平衡子任务删除模块22,和所述分区平衡子任务生成模块21连接,用于查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务。
分区平衡子任务下发模块23,和所述分区平衡子任务删除模块2连接,用于把把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
分区平衡子任务删除模块,进一步可以用于:从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
分区平衡子任务生成模块,具体可以用于:收到第二分区平衡任务后,计算存储系统目标分区分布信息,查找存储系统当前分区分布信息,根据所述当前分区分布信息和所述目标分区分布信息获得分区分布信息变化量,其中,所述当前分区分布信息,记录有各节点与节点上的分区的对应关系,所述目标分区分布信息,记录有进行分区迁移后各节点与节点上的分区的对应关系,所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移到的所述迁移分区,以及各所述迁移分区的目的节点;对各所述迁移分区,选择一个迁移分区所在节点,根据各所述迁移分区所在节点和分区分布信息变化量,生成第二分区平衡子任务集合。
分区平衡子任务生成模块对各所述迁移分区,选择一个迁移分区所在节点,具体是:可供迁移的分区有多个时,检测分区数据的完整性,选择一个数据完整的迁移分区所在的节点。
分区平衡子任务生成模块,具体用于:在第一分区平衡任务结束前,在收到第二分区平衡任务后,计算生成第二分区平衡子任务集合,其中,所述当前分区平衡子任务集合,是所述第一分区平衡子任务集合中正在执行的分区平衡子任务。
装置2可以进一步包括,分区平衡子任务状态标记模块24,和分区平衡下发模块连接,用于在下发各所述分区平衡子任务之后,在收到所述分区平衡子任务的响应消息之前,把第一分区平衡任务标记为已经结束。
装置2可以进一步包括分区分布信息更新模块25,和存储节点连接,用于接收存储节点对所述分区平衡子任务的响应消息,把当前分区分布信息更新为分区平衡子任务执行成功后的状态。
参照图4,本发明实施例还提供一种存储系统,包括上述的分区平衡子任务下发装置以及至少2个节点3,所述节点3用于,在接收到所述分区平衡子任务后,作为分区平衡子任务的目的节点执行所述分区平衡子任务。
通过以上的实施方式的描述,可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何人员在本发明揭露的技术范围内,想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (23)

1.一种分区平衡子任务下发方法,应用于控制器中,所述控制器和至少2个节点组成存储系统,其中,每个节点包含至少一个分区,其特征在于,第一分区平衡任务结束前,开始执行第二分区平衡任务,该方法包括:
收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;
查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;
把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
2.根据权利要求1所述的方法,其特征在于,下发分区平衡子任务之前,进一步包括:
从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
3.根据权利要求1所述的方法,其特征在于,所述根据第二分区平衡任务,生成第二分区平衡子任务集合,具体包括:
收到第二分区平衡任务后,计算存储系统目标分区分布信息,查找存储系统当前分区分布信息,根据所述当前分区分布信息和所述目标分区分布信息获得分区分布信息变化量,其中,所述当前分区分布信息,记录有各节点与节点上的分区的对应关系,所述目标分区分布信息,记录有进行分区迁移后各节点与节点上的分区的对应关系,所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移到的所述迁移分区,以及各所述迁移分区的目的节点;
对各所述迁移分区,选择一个迁移分区所在节点,根据各所述迁移分区所在节点和分区分布信息变化量,生成第二分区平衡子任务集合。
4.根据权利要求3所述的方法,其特征在于,所述对各所述迁移分区,选择一个迁移分区所在节点,具体是:
可供迁移的分区有多个时,检测分区数据的完整性,选择一个数据完整的迁移分区所在的节点。
5.根据权利要求1所述的方法,其特征在于,所述生成第二分区平衡子任务集合,具体是:
在第一分区平衡任务结束前,计算生成第二分区平衡子任务集合,其中,所述当前分区平衡子任务集合,是所述第一分区平衡子任务集合中正在执行的分区平衡子任务。
6.根据权利要求1所述的方法,其特征在于,所述方法在下发步骤之后,进一步包括:
在收到所述分区平衡子任务的响应消息之前,把第一分区平衡子任务标记为已经结束。
7.根据权利要求1所述的方法,其特征在于,所述方法在下发步骤之后,进一步包括:
收到分区平衡子任务的节点,作为分区平衡子任务的目的节点执行分区平衡子任务。
8.根据权利要求1所述方法,其特征在于,述方法在下发步骤之后,进一步包括:
接收存储节点对所述分区平衡子任务的响应消息,把当前分区分布信息更新为分区平衡子任务执行成功后的状态。
9.一种分区平衡子任务下发装置,其特征在于,该装置第一分区平衡任务结束前,开始执行第二分区平衡任务,该装置包括:
分区平衡子任务生成模块,用于在收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;
分区平衡子任务删除模块,查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;
分区平衡子任务下发模块,把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
10.根据权利要求9所述的装置,其特征在于,所述分区平衡子任务删除模块,进一步用于:
从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
11.根据权利要求9所述的装置,其特征在于,所述分区平衡子任务生成模块,具体用于:
收到第二分区平衡任务后,计算存储系统目标分区分布信息,查找存储系统当前分区分布信息,根据所述当前分区分布信息和所述目标分区分布信息获得分区分布信息变化量,其中,所述当前分区分布信息,记录有各节点与节点上的分区的对应关系,所述目标分区分布信息,记录有进行分区迁移后各节点与节点上的分区的对应关系,所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移到的所述迁移分区,以及各所述迁移分区的目的节点;
对各所述迁移分区,选择一个迁移分区所在节点,根据各所述迁移分区所在节点和分区分布信息变化量,生成第二分区平衡子任务集合。
12.根据权利要求11所述的装置,其特征在于,所述分区平衡子任务生成模块对各所述迁移分区,选择一个迁移分区所在节点,具体是:
可供迁移的分区有多个时,检测分区数据的完整性,选择一个数据完整的迁移分区所在的节点。
13.根据权利要求9所述的装置,其特征在于,所述分区平衡子任务生成模块,具体用于是:
在第一分区平衡任务结束前,在收到第二分区平衡任务后,计算生成第二分区平衡子任务集合,其中,所述当前分区平衡子任务集合,是所述第一分区平衡子任务集合中正在执行的分区平衡子任务。
14.根据权利要求9所述的装置,其特征在于,所述装置进一步包括,分区平衡子任务状态标记模块:
在下发各所述分区平衡子任务之后,在收到所述分区平衡子任务的响应消息之前,把第一分区平衡任务标记为已经结束。
15.根据权利要求9所述的装置,其特征在于,所述装置进一步包括:
分区分布信息更新模块,用于接收存储节点对所述分区平衡子任务的响应消息,把当前分区分布信息更新为分区平衡子任务执行成功后的状态。
16.一种存储系统,其特征在于:
包括根据权利要求9-15中任一所述的分区平衡子任务下发装置以及至少2个节点,其中,所述节点用于,在接收到所述分区平衡子任务后,作为分区平衡子任务的目的节点执行所述分区平衡子任务。
17.一种控制器,所述控制器和至少2个节点组成存储系统,其中,每个节点包含至少一个分区,其特征在于,该控制器在第一分区平衡任务结束前,开始执行第二分区平衡任务,该控制器用于执行以下步骤:
收到第二分区平衡任务后,生成第二分区平衡子任务集合,所述第二分区平衡子任务集合包括至少一个分区平衡子任务,每个所述分区平衡子任务记录有:迁移分区、所述迁移分区所在节点、以及目的节点;
查找当前分区平衡子任务集合,删除所述第二分区平衡子任务集合与所述当前分区平衡子任务集合中重复的分区平衡子任务;
把删除重复的分区平衡子任务之后的第二分区平衡子任务集合中各所述分区平衡子任务,下发给各所述分区平衡子任务中记录的目的节点。
18.根据权利要求17所述的控制器,其特征在于,下发分区平衡子任务之前,进一步包括:
从所述当前分区平衡子任务中,删除无法完成的分区平衡子任务,所述无法完成的分区平衡子任务包括所述迁移分区所在节点故障的分区平衡子任务、所述目的节点故障的分区平衡子任务。
19.根据权利要求17所述的控制器,其特征在于,所述根据第二分区平衡任务,生成第二分区平衡子任务集合,具体包括:
收到第二分区平衡任务后,计算存储系统目标分区分布信息,查找存储系统当前分区分布信息,根据所述当前分区分布信息和所述目标分区分布信息获得分区分布信息变化量,其中,所述当前分区分布信息,记录有各节点与节点上的分区的对应关系,所述目标分区分布信息,记录有进行分区迁移后各节点与节点上的分区的对应关系,所述分区分布信息变化量中记录有当前分区分布信息成为目标分区分布信息需要迁移到的所述迁移分区,以及各所述迁移分区的目的节点;
对各所述迁移分区,选择一个迁移分区所在节点,根据各所述迁移分区所在节点和分区分布信息变化量,生成第二分区平衡子任务集合。
20.根据权利要求19所述的控制器,其特征在于,所述对各所述迁移分区,选择一个迁移分区所在节点,具体是:
可供迁移的分区有多个时,检测分区数据的完整性,选择一个数据完整的迁移分区所在的节点。
21.根据权利要求17所述的控制器,其特征在于,所述生成第二分区平衡子任务集合,具体是:
在第一分区平衡任务结束前,计算生成第二分区平衡子任务集合,其中,所述当前分区平衡子任务集合,是所述第一分区平衡子任务集合中正在执行的分区平衡子任务。
22.根据权利要求17所述的控制器,其特征在于,所述控制器在下发之后,进一步用于:
在收到所述分区平衡子任务的响应消息之前,把第一分区平衡子任务标记为已经结束。
23.根据权利要求17所述的控制器,其特征在于,所述控制器在下发之后,进一步用于:
接收存储节点对所述分区平衡子任务的响应消息,把当前分区分布信息更新为分区平衡子任务执行成功后的状态。
CN201380000878.9A 2013-06-29 2013-06-29 一种分区平衡子任务下发方法、装置与系统 Active CN103718533B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078510 WO2014205847A1 (zh) 2013-06-29 2013-06-29 一种分区平衡子任务下发方法、装置与系统

Publications (2)

Publication Number Publication Date
CN103718533A CN103718533A (zh) 2014-04-09
CN103718533B true CN103718533B (zh) 2015-06-10

Family

ID=50409504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000878.9A Active CN103718533B (zh) 2013-06-29 2013-06-29 一种分区平衡子任务下发方法、装置与系统

Country Status (5)

Country Link
US (2) US9286113B2 (zh)
EP (1) EP3015998B1 (zh)
JP (1) JP5914761B2 (zh)
CN (1) CN103718533B (zh)
WO (1) WO2014205847A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674193B1 (en) 2013-07-30 2017-06-06 Juniper Networks, Inc. Aggregation and disbursement of licenses in distributed networks
WO2015112614A1 (en) 2014-01-21 2015-07-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11477278B2 (en) 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US10185730B2 (en) * 2014-12-31 2019-01-22 Nexenta Systems, Inc. Methods and systems for key-value-tuple-encoded storage
CN104702693B (zh) * 2015-03-19 2018-01-23 华为技术有限公司 两节点系统分区的处理方法和节点
CN107015999B (zh) * 2016-01-28 2020-11-03 创新先进技术有限公司 一种基于分布式环境的信息发送方法及装置
CN105760431A (zh) * 2016-01-29 2016-07-13 杭州华三通信技术有限公司 一种文件块的迁移方法和装置
US9900378B2 (en) * 2016-02-01 2018-02-20 Sas Institute Inc. Node device function and cache aware task assignment
US9927992B2 (en) * 2016-08-19 2018-03-27 Sap Se Segmented database migration
US11138017B2 (en) 2016-09-16 2021-10-05 Oracle International Corporation System and method for partition administrative targeting in an application server environment
CN107153512B (zh) * 2017-04-01 2020-05-08 华为技术有限公司 一种数据迁移方法和装置
US11016954B1 (en) * 2017-09-01 2021-05-25 Amazon Technologies, Inc. Distributed data set extraction for migration
US11138213B2 (en) 2019-04-10 2021-10-05 Snowflake Inc. Internal resource provisioning in database systems
CN115113798B (zh) * 2021-03-17 2024-03-19 中国移动通信集团山东有限公司 一种应用于分布式存储的数据迁移方法、系统及设备
US11842063B2 (en) 2022-03-25 2023-12-12 Ebay Inc. Data placement and recovery in the event of partition failures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968498A (zh) * 2012-12-05 2013-03-13 华为技术有限公司 数据处理方法及装置
CN102999537A (zh) * 2011-09-19 2013-03-27 阿里巴巴集团控股有限公司 一种数据迁移系统和方法
CN103164167A (zh) * 2011-12-15 2013-06-19 深圳市腾讯计算机系统有限公司 一种数据迁移方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260862A1 (en) * 2003-06-20 2004-12-23 Eric Anderson Adaptive migration planning and execution
JP4900784B2 (ja) * 2006-04-13 2012-03-21 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ移行方法
US8271987B1 (en) * 2007-08-01 2012-09-18 Amazon Technologies, Inc. Providing access to tasks that are available to be performed
JP4990322B2 (ja) * 2009-05-13 2012-08-01 株式会社日立製作所 データ移動管理装置及び情報処理システム
US8392661B1 (en) * 2009-09-21 2013-03-05 Tilera Corporation Managing cache coherence
JP5564882B2 (ja) * 2009-10-05 2014-08-06 コニカミノルタ株式会社 電子文書管理装置、画像形成装置およびプログラム
US8676753B2 (en) * 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8516492B2 (en) * 2010-06-11 2013-08-20 International Business Machines Corporation Soft partitions and load balancing
US8706697B2 (en) * 2010-12-17 2014-04-22 Microsoft Corporation Data retention component and framework
US8560628B2 (en) * 2011-01-11 2013-10-15 International Business Machines Corporation Supporting autonomous live partition mobility during a cluster split-brained condition
US8775628B2 (en) * 2011-08-31 2014-07-08 Metaswitch Networks Ltd. Load balancing for SIP services
US20130218847A1 (en) * 2012-02-16 2013-08-22 Hitachi, Ltd., File server apparatus, information system, and method for controlling file server apparatus
US20130332608A1 (en) * 2012-06-06 2013-12-12 Hitachi, Ltd. Load balancing for distributed key-value store
CN103229487B (zh) 2012-12-27 2015-09-09 华为技术有限公司 分布式存储系统中的分区平衡方法、装置及服务器
US9053167B1 (en) * 2013-06-19 2015-06-09 Amazon Technologies, Inc. Storage device selection for database partition replicas

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999537A (zh) * 2011-09-19 2013-03-27 阿里巴巴集团控股有限公司 一种数据迁移系统和方法
CN103164167A (zh) * 2011-12-15 2013-06-19 深圳市腾讯计算机系统有限公司 一种数据迁移方法及装置
CN102968498A (zh) * 2012-12-05 2013-03-13 华为技术有限公司 数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云环境下海量数据资源管理框架;张桂刚等;《系统工程理论与实践》;20111030;第31卷;全文 *

Also Published As

Publication number Publication date
US20160117197A1 (en) 2016-04-28
JP2015522891A (ja) 2015-08-06
US9405590B2 (en) 2016-08-02
US20150007183A1 (en) 2015-01-01
EP3015998A4 (en) 2016-05-04
WO2014205847A1 (zh) 2014-12-31
EP3015998A1 (en) 2016-05-04
EP3015998B1 (en) 2018-03-28
JP5914761B2 (ja) 2016-05-11
CN103718533A (zh) 2014-04-09
US9286113B2 (en) 2016-03-15

Similar Documents

Publication Publication Date Title
CN103718533B (zh) 一种分区平衡子任务下发方法、装置与系统
CN105389230B (zh) 一种结合快照技术的持续数据保护系统及方法
CN101334797B (zh) 一种分布式文件系统及其数据块一致性管理的方法
EP2687987B1 (en) Method, system and serving node for data backup and recovery
CN103354923B (zh) 一种数据重建方法、装置和系统
US9251230B2 (en) Exchanging locations of an out of synchronization indicator and a change recording indicator via pointers
EP2997497B1 (en) Selecting a store for deduplicated data
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP5952960B2 (ja) 計算機システム、計算機システム管理方法及びプログラム
JP6831701B2 (ja) 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
CN102521071B (zh) 一种基于私有云的虚拟机维护方法
US10496490B2 (en) Selecting a store for deduplicated data
JP2007241486A (ja) 記憶装置システム
US10067836B1 (en) Configuration based intelligent protection modeling
JP2007323507A (ja) 記憶システム並びにこれを用いたデータの処理方法
US20150032696A1 (en) Regulating a replication operation
JP5521595B2 (ja) ストレージシステム及びストレージ制御方法
JP5780377B2 (ja) 情報処理システム、及びアプリケーションの移転方法
CN106201772A (zh) 一种基于数据中心的操作系统备份、恢复方法及装置
CN104793981A (zh) 一种虚拟机集群的在线快照管理方法及装置
JP5124237B2 (ja) ストレージシステムおよびストレージサブシステム
CN105359107A (zh) 报告针对分布式对象取回的数据的降级状态
CN105488139B (zh) 基于用电信息采集系统的跨平台存储数据迁移的方法
CN111400273B (zh) 数据库扩容方法、装置、电子设备及机器可读存储介质
WO2011099380A1 (ja) 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211221

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.