CN109525410B - 分布式存储系统升级管理的方法、装置及分布式存储系统 - Google Patents

分布式存储系统升级管理的方法、装置及分布式存储系统 Download PDF

Info

Publication number
CN109525410B
CN109525410B CN201710851312.7A CN201710851312A CN109525410B CN 109525410 B CN109525410 B CN 109525410B CN 201710851312 A CN201710851312 A CN 201710851312A CN 109525410 B CN109525410 B CN 109525410B
Authority
CN
China
Prior art keywords
nodes
upgraded
node
upgrade
group
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
CN201710851312.7A
Other languages
English (en)
Other versions
CN109525410A (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.)
Huawei 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
Priority to CN201710851312.7A priority Critical patent/CN109525410B/zh
Priority to EP18858954.3A priority patent/EP3675420B1/en
Priority to PCT/CN2018/086299 priority patent/WO2019056771A1/zh
Publication of CN109525410A publication Critical patent/CN109525410A/zh
Priority to US16/822,754 priority patent/US11526276B2/en
Application granted granted Critical
Publication of CN109525410B publication Critical patent/CN109525410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供一种分布式存储系统升级管理的方法、装置及分布式存储系统,能够解决分布式存储系统升级效率过低的问题。该分布式存储系统包括多个节点,且每个节点至少属于一个组群。该方法包括:调度节点获取分布式存储系统中各个组群的约束条件;调度节点根据各个组群的约束条件确定第一升级方案;调度节点根据第一升级方案,分批次地向多个节点发送升级指示。其中,约束条件包括各组群中允许并行升级的最大节点数,第一升级方案包括:将多个节点划分成至少一个批次,每个批次中的节点均满足各个约束条件。本发明实施例适用于分布式存储系统。

Description

分布式存储系统升级管理的方法、装置及分布式存储系统
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种分布式存储系统升级管理的方法、装置及分布式存储系统。
背景技术
分布式存储系统,将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用这多台独立的设备分担存储负荷,这样不仅能够提高存储系统的可靠性、性能和容量,还易于扩展。目前,分布式存储系统常见的架构包括如图1所示的纵向扩展(scale-up)架构和如图2所示的横向扩展(scale-out)架构。其中,scale-up架构指的是,在原有的存储系统中,通过增加单个设备的容量或更新该设备来满足数据和性能的增长需求(即由一个存储控制器统一管理设置于同一设备中的多个存储设备);scale-out架构指的是,在原有的存储系统中,通过增加节点的方式进行扩容(即增加至少一个包括存储设备和存储控制器在内的设备,且相邻两个设备之间通过各自的存储控制器进行数据交互),其中,每个节点都能提供容量、带宽和计算能力。
在分布式存储系统升级的过程中,正在升级的节点需要重启,而在该节点重启的过程中,需要该分布式存储系统中的其他节点来接管该节点上执行的业务。因此,在scale-out架构升级过程中,为了尽可能降低对系统性能的影响,目前采用滚轮升级的方式对该分布式存储系统升级,如图3所示,按照时间轴从左到右的顺序逐个进行节点升级,也就是在当前节点完成升级后才对相邻的下一个节点升级(即按照节点1至节点n的顺序依次升级,其中,n为大于1的整数)。
然而随着业务需求的增加,同一分布式存储系统中往往部署着大量节点,比如,上百个节点,采用上述滚轮升级的方式对系统升级很可能使系统升级的时间持续数天,从而降低分布式系统升级的效率。
发明内容
本发明实施例提供一种分布式存储系统升级管理的方法、装置及分布式存储系统,能够解决分布式存储系统升级效率过低的问题。
本发明实施例采用如下技术方案:
第一方面,本发明实施例提供一种分布式存储系统升级管理的方法。该方法应用于分布式存储系统的调度节点。其中,分布式存储系统包括多个节点,且每个节点至少属于一个组群。该方法包括:调度节点获取分布式存储系统中各个组群的约束条件;调度节点根据各个组群的约束条件确定第一升级方案;调度节点根据第一升级方案,分批次地向多个节点发送升级指示。其中,约束条件包括各组群中允许并行升级的最大节点数,第一升级方案包括:将多个节点划分成至少一个批次,每个批次中的节点均满足各个约束条件。相比较于现有技术中采用滚轮升级的方式对分布式存储系统升级,在本发明实施例中,调度节点可以根据多个组群各自的约束条件,确定满足各群组约束条件的第一升级方案,并按照第一升级方案分批次升级全部需要升级的节点。由此可见,同一时刻处于升级状态的节点由一个增为多个。并且,由于同时升级的多个节点之间的干扰较小,比如,同时升级的多个节点由于功能不同,而使处于升级过程中的多个节点上执行的任务被分配到其他具备同样功能的节点上执行,或是同时升级的多个节点被部署在不同的物理区域内,而使处于升级过程中的多个节点所处位置较为分散,不会因集中升级而大幅度降低系统性能,因此,采用这种并行升级的方式不仅能够保证系统的可靠性,还能够有效节省系统升级所耗费的时间,从而解决分布式存储系统升级效率过低的问题。
在一种可能的设计中,属于同一组群的节点的功能相同或所属物理区域相同。在节点的升级过程中,该节点上正在执行的业务需要由其他节点代为执行,而一般情况下,会将未执行完的业务转交给功能相同的节点来完成,从而保证业务顺利执行,这样必然会增加与处于升级过程中的节点功能相同的节点的负载。而在实际业务执行过程中,若在同一时刻处于升级状态的节点中存在大量功能相同的节点,则必然会导致具备该功能而处于正常工作状态的节点负载过高,甚至超载,从而降低具备该功能而处于正常工作状态的节点的工作性能,也影响这一类业务的执行效率。因此,在本发明实施例中,在确定升级方案的过程中需要考虑节点的功能对于并行升级所带来的限制。同样的,对于部署在同一物理区域的多个节点而言,若其中存在大量在同一时刻升级的节点,则会使该物理区域内存在大量的空闲资源。另外,若为了避免因两个节点之间传输路径过远而带来额外的资源浪费,在节点部署过程中,往往会将业务处理过程存在连带关系的多个节点部署在同一物理区域。多这些节点在同一时刻升级,则这些节点上正在执行的业务会转交给其他功能相同的节点来执行,很可能会因为转交后执行这类业务的节点分散部署在各个物理区域,而造成过多的传输资源浪费,从而降低这类业务的执行效率。因此,在本发明实施例中,在确定升级方案的过程中需要考虑节点所属物理区域对于并行升级所带来的限制。比如,组群包括以下中的至少一个:按照待升级节点的功能将待升级节点分成的子系统;按照待升级节点的所属区域将待升级节点分成的节点池。
在一种可能的设计中,调度节点根据各个组群的约束条件确定第一升级方案包括:
a.选取多个节点中的一个未升级的节点;
b.针对多个节点中的除一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足各个组群的约束条件,如满足,则选取另一个未升级的节点,直到遍历到多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
上述实现生成第一升级方案的方式仅为一种可能的实现方式,在本发明实施例中,还可以采用其他生成第一升级方案的实现方式,例如,上述实现方式的衍生方式等。比如,在对需要升级的节点进行排序时,可以按照节点受到约束条件从多到少的影响进行排序,即受到约束条件限制最多的节点作为上述步骤b中选取的该一个未升级的节点,而受到约束条件限制次多的节点则作为第一次选出的除该一个未升级的节点外的另一个未升级的节点。在本发明实施例中,只要确保生成的第一升级方案能够满足各个组群各自的约束条件即可。
在一种可能的设计中,调度节点获取分布式存储系统中各个组群的约束条件,可以实现为:调度节点向所有需要升级的节点发送约束条件请求消息,之后接收来自所有需要升级的节点中作为各组群主节点的节点反馈的约束条件。为了避免遗漏某一个组群的约束条件,在本发明实施例一个可能的实现方式中,调度节点可以通过向所有需要升级的节点分别发送约束条件请求消息的方式,获取各个组群的约束条件。
第二方面,本发明实施例提供一种分布式存储系统升级管理的方法。该方法应用于分布式存储系统的调度节点。其中,分布式存储系统包括多个节点,且每个节点至少属于一个组群。该方法包括:调度节点获取分布式存储系统中各个组群的约束条件;调度节点根据各个组群的约束条件确定第一升级方案;调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示。其中,约束条件包括各组群中允许并行升级的最大节点数,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件。相比较于现有技术中采用滚轮升级的方式对分布式存储系统升级,在本发明实施例中,调度节点可以根据多个组群各自的约束条件,确定满足各群组约束条件的第一升级方案,并按照第一升级方案分批次升级部分需要升级的节点。由此可见,同一时刻处于升级状态的节点由一个增为多个。并且,由于同时升级的多个节点之间并不存在干扰,因此,采用这种并行升级的方式不仅能够保证系统的可靠性,还能够有效节省系统升级所耗费的时间,从而解决分布式存储系统升级效率过低的问题。
在一种可能的设计中,属于同一组群的节点的功能相同或所属物理区域相同。
在一种可能的设计中,在调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示后,调度节点对于未升级的节点,确定满足各个组群的约束条件的第二升级方案,并根据第二升级方案,分批次地向未升级的节点中的至少部分未升级的节点发送升级指示。其中,第一升级方案与第二升级方案不同,第二升级方案包括:将未升级的节点划分成至少一个批次。此外,考虑到在完成部分批次的节点的升级过程后,需要升级的节点数量会减少,而需要升级的节点数量在减少后很可能在一个批次中能够升级更多的节点,因此,第一升级方案中未完成升级的批次可能并不是当前最佳或是较佳的升级方案。为了尽可能在同一批次升级更多的需要升级的节点,以节约分布式存储系统的升级时间,调度节点可以按照第一升级方案仅完成一个批次或是几个批次的节点的升级过程,之后参照已获取的约束条件生成第二升级方案,并按照第二升级方案完成剩余需要升级的节点的升级过程。其中,第一升级方案与第二升级方案不同。相比较于生成多个升级方案的实现方式而言,仅生成第一升级方案,可以在实现并行升级节点的基础上,尽可能少地占用系统资源。而相比较于仅生成第一升级方案的实现方式而言,生成多个升级方案,可以在一定程度上节省升级相同节点所耗费的时间,提升系统的升级效率,尽可能降低对正在执行的业务带来的影响。
在一种可能的设计中,调度节点根据各个组群的约束条件确定第一升级方案包括:
a.选取多个节点中的一个未升级的节点;
b.针对多个节点中的除一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足各个组群的约束条件,如满足,则选取另一个未升级的节点,直到遍历到多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
为了使系统升级的过程更符合维护人员当前的需求,比如,尽可能节省系统升级所占用的时间,在本发明实施例一个可能的实现方式中,调度节点可以仅按照第一升级方案,分批次地对多个待升级节点中的部分待升级节点进行升级,之后在针对未升级的待升级节点,确定第二升级方案,并采用第二升级方案,分批次地对未升级的待升级节点中的部分或是全部进行升级。同样的,若仅对部分完成了升级,则还需要生成第三升级方案,以此类推,直至所有待升级节点完成升级。这样一来,至少部分待升级节点则为部分待升级节点。
第三方面,本发明实施例提供一种分布式存储系统升级管理的装置。该装置可以实现上述第一方面及第一方面的任意一种可能的设计中所示方法实施例实现的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。
在一种可能的设计中,该装置应用于调度节点,该调度节点的结构中包括处理器和通信接口,该处理器被配置为支持该装置执行上述方法中相应的功能。该通信接口用于支持该调度节点与其他设备之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
第四方面,本发明实施例提供一种分布式存储系统升级管理的装置。该装置可以实现上述第二方面及第二方面的任意一种可能的设计中所示方法实施例实现的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。
在一种可能的设计中,该装置应用于调度节点,该调度节点的结构中包括处理器和通信接口,该处理器被配置为支持该装置执行上述方法中相应的功能。该通信接口用于支持该调度节点与其他设备之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
第五方面,本发明实施例提供一种分布式存储系统,在该分布式存储系统中包括调度节点,该调度节点包括第三方面及第三方面的可能的设计中所示的装置。
第六方面,本发明实施例提供一种分布式存储系统,在该分布式存储系统中包括调度节点,该调度节点包括第四方面及第四方面的可能的设计中所示的装置。
第七方面,本发明实施例提供一种计算机可读介质,该计算机可读介质上存储有计算机程序,该计算机程序加载到计算机上被计算机执行时,使计算机执行上述第一方面及各种可能的设计方法中的任意一项。
第八方面,本发明实施例提供一种计算机可读介质,该计算机可读介质上存储有计算机程序,该计算机程序加载到计算机上被计算机执行时,使计算机执行上述第二方面及各种可能的设计方法中的任意一项。
第九方面,本发明实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被计算机执行时,使计算机执行上述第一方面及各种可能的设计方法中的任意一项。
第十方面,本发明实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被计算机执行时,使计算机执行上述第二方面及各种可能的设计方法中的任意一项。
附图说明
图1为现有技术提供的一种纵向扩展架构的示意图;
图2为现有技术提供的一种横向扩展架构的示意图;
图3为现有技术提供的一种分布式存储系统滚轮升级的示意图;
图4为本发明实施例提供一种分布式存储系统的示意图;
图5为本发明实施例提供一种分布式存储系统升级管理的方法流程图;
图6为本发明实施例提供一种分布式存储系统升级的示意图;
图7为本发明实施例提供另一种分布式存储系统升级管理的方法流程图;
图8为本发明实施例提供一种第一升级方案的确定方法流程图;
图9为本发明实施例提供另一种分布式存储系统升级管理的方法流程图;
图10为本发明实施例提供一种分布式存储系统升级管理的方法交互图;
图11为本发明实施例提供一种分布式存储系统升级管理的装置结构示意图;
图12为本发明实施例提供一种调度节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例适用于一种分布式存储系统,该分布式存储系统包括多个存储设备,存储设备例如是计算机、服务器,包括处理器和存储介质。在本发明实施例中,存储设备也可以称为节点。且每个节点至少属于一个组群。其中,属于同一组群的节点的功能相同或所属物理区域相同。需要说明的是,在节点的升级过程中,该节点上正在执行的业务需要由其他节点代为执行,而一般情况下,会将未执行完的业务转交给功能相同的节点来完成,从而保证业务顺利执行,这样必然会增加与处于升级过程中的节点功能相同的节点的负载。而在实际业务执行过程中,若在同一时刻处于升级状态的节点中存在大量功能相同的节点,则必然会导致具备该功能而处于正常工作状态的节点负载过高,甚至超载,从而降低具备该功能而处于正常工作状态的节点的工作性能,也影响这一类业务的执行效率。
因此,在本发明实施例中,在确定升级方案的过程中需要考虑节点的功能对于并行升级所带来的限制。同样的,对于部署在同一物理区域的多个节点而言,若其中存在大量在同一时刻升级的节点,则会使该物理区域内存在大量的空闲资源。另外,若为了避免因两个节点之间传输路径过远而带来额外的资源浪费,在节点部署过程中,往往会将业务处理过程存在连带关系的多个节点部署在同一物理区域。多这些节点在同一时刻升级,则这些节点上正在执行的业务会转交给其他功能相同的节点来执行,很可能会因为转交后执行这类业务的节点分散部署在各个物理区域,而造成过多的传输资源浪费,从而降低这类业务的执行效率。因此,在本发明实施例中,在确定升级方案的过程中需要考虑节点所属物理区域对于并行升级所带来的限制。由此可见,在设置组群的过程中,需要考虑到各个节点的实际情况给并行升级所带来的限制,比如,在本发明实施例中,组群包括以下中的至少一个:按照待升级节点的功能将待升级节点分成的子系统;按照待升级节点的所属区域将待升级节点分成的节点池。需要说明的是,上述划分组群的方式仅是一种可能的实现方式,并不作为本发明实施例的限定,工作人员可以结合分布式存储系统的实际情况,比如,业务的执行情况、节点的负载情况等对组群划分方式进行调整,在此不做限定。
基于上述组群的划分方式而言,在本发明实施例中引出了约束条件的概念。其中,约束条件包括各组群中允许同时升级的最大节点数。该约束条件的设置目的也在于避免并行升级对业务的执行或是系统的性能带来巨大的影响。
换句话说,一种常见的分组方式是:把不适合同时重新启动的节点划分到同一个组群中。之所以不适合同时重启,是因为如果这些节点同时重启会对系统性能造成不可接受的影响。因此每个组群设置有对应的约束条件,以避免过多节点同时重启。约束条件是:在一个组群中允许同时重启的节点数量的上限。
如图4所示,为一种可能的分布式存储系统的示意图,该分布式存储系统包括8个需要升级的节点,分别为节点1至节点8,这8个需要升级的节点均能够与交换机之间完成数据交互。该分布式存储系统具有5个组群,即子系统A、子系统B、子系统C、节点池1、节点池2。其中,子系统A至子系统C为按照节点1至节点8的功能进行划分得到的,比如,根据各个节点上所执行任务的相关性或节点的功能等进行划分,而节点池1和节点池2为按照节点1至节点8的所属物理区域进行划分得到的,比如,根据各个节点部署的位置进行划分。需要说明的是,在图4中仅示出了该分布式存储系统中的需要升级的节点,但并不意味着在分布式存储系统中仅存在需要升级的节点,在该分布式存储系统中还可以存在一个或是多个不需要升级的节点。
此外,图4中所示的8个需要升级的节点中可能包括实现本方案所需的调度节点,当然该调度节点也可能为该分布式存储中某个不需要升级的节点,在此不做限定。一般情况下,调度节点可以被视为分布式存储系统中的主节点,用于管理分布式存储系统诸如升级等操作流程。若在该分布式存储系统中不存在主节点,那么可以由用户或是该分布式存储系统指派一个节点作为调度节点,以实现管理分布式存储系统诸如升级等操作流程的主节点。
本发明实施例提供了一种分布式存储系统升级管理的方法,如图5所示,该方法由上述调度节点实现,该方法包括步骤101至步骤103,或者步骤101、步骤102和步骤104:
步骤101、调度节点获取分布式存储系统中各个组群的约束条件。
调度节点需要先确定在该分布式存储系统中,哪些节点为需要升级的节点,之后确定这些需要升级的节点所在组群各自的约束条件。在本发明实施例中,调度节点可以通过从本地、诸如服务器的第三方设备,或是通过网络从其他设备上获取记载了需要升级的节点列表,从而确定哪些节点为需要升级的节点。需要说明的是,调度节点确定哪些节点为需要升级的节点的方式不仅限于上述几种例举的情况,在此不做限定。
对于所获取的需要升级的节点列表而言,可以是在该分布式存储系统需要升级时获取,并针对该列表中记载的内容执行后续升级流程,当然也可以由调度节点周期性或是非周期性获取,比如,由该调度节点在预设时间点或是预设时间范围内获取,也可以由该调度节点在该调度节点处于空闲状态时获取,在此不做限定。其中,预设时间点、预设时间范围可以由系统维护人员预先设置,具体可以依据系统的负载变化趋势、资源占用情况等因素进行调整;空闲状态可以被视为该调度节点具备足够的资源获取该列表,和/或该调度节点中具备充足的存储资源以存储该列表等状态。
同样的,调度节点获取约束条件的过程,也可以在该分布式存储系统需要升级时获取,或是根据预先设定的规则周期性或是非周期性获取,在此不做限定。且约束条件可以从系统本地、诸如服务器的第三方设备,或是通过网络从其他设备上获取,在此不做限定。
步骤102、调度节点根据各个组群的约束条件确定第一升级方案。
其中,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件。
调度节点在获取到各组群中允许同时升级的最大节点数之后,可以基于约束条件对同时升级的多个节点的限制,确定至少一种可行的升级方案,其中,第一升级方案是这至少一种可行方案中的一种。由于第一升级方案只要满足各组群各自的约束条件即可,因此,很可能存在多种可行的升级方案,针对多种可行的升级方案而言,可以结合当前对升级过程的需求进行进一步筛选。
比如,多种可行的升级方案需要升级的批次有多有少,一般情况下,升级的批次越少则升级所耗费的时间越少,因此,可以将升级的批次最少的升级方案作为本发明实施例所指的第一升级方案。
再比如,为了尽可能降低对系统可靠性的影响,通常倾向于一次性升级较少的节点,而一次性升级的节点越少则意味着升级的批次越多,那么可以将升级的批次最多的升级方案作为本发明实施例所指的第一升级方案。
同理,为了权衡升级时间与系统可靠性,还可以选择升级的批次适中的升级方案作为优选方案,即作为本发明实施例所指的第一升级方案。
需要说明的是,上述针对多种可行的升级方案的筛选过程,仅为一种可能的示例,并不作为对于本发明实施例的限定。除了可以考虑升级所耗费的时间、系统的可靠性,还可以考虑系统负载、空闲资源等因素,更有针对性地选择适应于当前需求的第一升级方案,在此不赘述。
在本发明实施例中,除了可以在需要升级时确定第一升级方案,还可以在其他时刻确定第一升级方案,例如系统负载较低或是系统资源较为充足时。也就意味着,第一升级方案可以周期性或非周期性确定,也可以在即将升级时再确定。相比较于前一种确定第一升级方案的时机而言,后一种确定第一升级方案的时机会更具有时效性,可以确保所确定的第一升级方案适应于当前各个节点是否需要升级的情况。而前一种确定第一升级方案的时机,虽然能够尽可能降低系统的负担,却很可能存在误差,比如,某一节点在前一时刻不需要进行升级,因此,所确定的第一升级方案中并不包括该某一节点,这样就会导致该某一节点在升级过程中并未成功升级,还需要通过诸如二次升级过程的补救措施来完成该某一节点的升级。由此可见,上述举例的两种确定第一升级方案的时机各有优劣,系统维护人员可以结合当前系统的实际情况,以及该系统对于升级时效性的需求,预先为调度节点生成第一升级方案的时机进行配置,从而使调度节点采用更适应于当前应用场景的方案生成第一升级方案。
如图6所示,为一种可能的升级方案执行过程的示意图。以图4的分布式存储系统为例,若得出第一升级方案为3个批次,第1批次为节点1、节点4和节点6,第2批次为节点2、节点5和节点7,第3批次为节点3和节点8,那么分布式存储系统的升级过程经过3个批次的升级即可保证每个待升级节点都完成升级。需要说明的是,在确定第一升级方案的过程中,通过规避约束条件的限制,可以得到3个批次中每个批次需要升级的节点具体为哪个,而对于哪一批次的节点优先升级、哪一批次的节点较晚升级并没有过多要求。在本发明实施例中,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级,这样可以使系统中更多的节点尽快完成升级,从而把对系统的影响降到最低;当然,也可以根据节点的负载情况,优先升级负载较低的节点所在的批次,这样可以尽可能减少节点上业务的执行。需要说明的是,上述第一升级方案的确定方式仅为一种可能的实现方式,并不作为对本发明实施例的限定。
步骤103、调度节点根据第一升级方案,分批次地向多个节点发送升级指示。
步骤104、调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示。
在本发明实施例中,调度节点可以按照第一升级方案,分批次地完成每个需要升级的节点的升级过程。此外,考虑到在完成部分批次的节点的升级过程后,需要升级的节点数量会减少,而需要升级的节点数量在减少后很可能在一个批次中能够升级更多的节点,因此,第一升级方案中未完成升级的批次可能并不是当前最佳或是较佳的升级方案。为了尽可能在同一批次升级更多的需要升级的节点,以节约分布式存储系统的升级时间,调度节点可以按照第一升级方案仅完成一个批次或是几个批次的节点的升级过程,之后参照已获取的约束条件生成第二升级方案,并按照第二升级方案完成剩余需要升级的节点的升级过程。其中,第一升级方案与第二升级方案不同。
相比较于生成多个升级方案的实现方式而言,仅生成第一升级方案,可以在实现并行升级节点的基础上,尽可能少地占用系统资源。而相比较于仅生成第一升级方案的实现方式而言,生成多个升级方案,可以在一定程度上节省升级相同节点所耗费的时间,提升系统的升级效率,尽可能降低对正在执行的业务带来的影响。
需要说明的是,升级方案不仅限于第一升级方案和第二升级方案,在本发明实施例中,若侧重于节省计算、分析所占用的系统资源,则可以仅生成第一升级方案,并由调度节点根据第一升级方案,分批次地对多个需要升级的节点中的全部节点进行升级;若侧重于节省系统升级所耗费的时间,则可以先生成第一升级方案,之后由调度节点根据第一升级方案仅完成一个批次的需要升级的节点的升级过程,之后再生成第二升级方案,同样由调度节点根据第二升级方案仅完成一个批次的需要升级的节点的升级过程,之后再生成第三升级方案,依此类推,直至所有未升级的节点均完成升级;若想要权衡系统资源与升级时间,则可以由调度节点按照第一升级方案完成部分节点的升级过程,之后再生成第二升级方案完成剩余部分节点的升级过程。上述实现过程仅为一种可能的示例,并不作为本发明实施例的限定,调度节点依照一种或是多种升级方案完成系统升级,不仅可以考虑系统资源、升级时间、还可以考虑系统当前的负载情况等因素,在此不赘述。
另外,同一批次内不同节点升级所占用的时间可能相同或是不同,待一个批次内升级所占用时间最长的那个节点完成升级过程后,即可开始下一批次待升级节点的升级过程。
需要说明的是,上述节点的升级过程指的是调度节点在确定升级方案后,通过分批次地向各个节点发送升级指示,以在同一时刻指示同一批次内所有节点进行升级的过程。
相比较于现有技术中采用滚轮升级的方式对分布式存储系统升级,在本发明实施例中,调度节点可以根据多个组群各自的约束条件,确定满足该约束条件的第一升级方案,并按照第一升级方案分批次升级部分或是全部待升级节点。由此可见,同一时刻处于升级状态的节点由一个增为多个。并且,由于同时升级的多个节点之间并不存在干扰,因此,采用这种并行升级的方式不仅能够保证系统的可靠性,还能够有效节省系统升级所耗费的时间,从而解决分布式存储系统升级效率过低的问题。
为了使系统升级的过程更符合维护人员当前的需求,比如,尽可能节省系统升级所占用的时间,在本发明实施例一个可能的实现方式中,调度节点可以仅按照第一升级方案,分批次地向多个节点中的部分节点发送升级指示,之后再针对未升级的节点,确定第二升级方案,并采用第二升级方案,分批次地向未升级的节点中的部分或是全部发送升级指示。同样的,若仅对部分完成了升级,则还需要生成第三升级方案,以此类推,直至所有节点完成升级。因此,在如图5所示的实现方式的基础上,还可以实现为如图7所示的实现方式。其中,在执行完步骤104调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示之后,还可以执行步骤201和步骤202:
步骤201、调度节点对于未升级的节点,确定满足各个组群的约束条件的第二升级方案。
其中,第二升级方案包括:将未升级的节点划分成至少一个批次。
步骤202、调度节点根据第二升级方案,分批次地向未升级的节点中的至少部分未升级的节点发送升级指示。
如图6所示,调度节点按照第一升级方案完成第1批次待升级节点的升级,即节点1、节点4和节点6完成升级;之后调度节点生成满足各个组群的约束条件的第二升级方案,在第二升级方案中,很可能节点2、节点5、节点7和节点3可以同时升级,之后节点8升级,也可能节点2、节点5、节点7和节点8可以同时升级,之后节点3升级,当然还可能节点2、节点5、节点7、节点3和节点8可以在同一批次中进行升级。由此可见,在待升级节点减少后,升级方案也很可能产生变化,比如,减少升级批次,或是增加同一批次内可升级节点的数量等,在此不一一例举。
在本发明实施例一个可能的实现方式中,提供了一种生成第一升级方案的可能的实现方式。在如图5或图7所示的实现方式的基础上,步骤102调度节点根据各个组群的约束条件确定第一升级方案,可以实现为如图8所示的实现方式,图8包括如下步骤。
需要说明的是,收到升级指示的节点会进行升级。升级过程中、或者升级完成后,存储节点进行重启。
步骤301、选取多个节点中的一个未升级的节点。
需要说明的是,在选取过程中为了避免重复,可以对所有未升级的节点进行排序之后逐一选取。这里节点的排序可以按照节点部署的位置、节点当前的负载情况、节点所执行业务的重要程度、节点升级所占用的时间等一项或是多项因素进行排序,具体排序方式在此不做限定,可以由系统维护人员根据实际系统升级的需求预先进行部署。
这里所指的初次选取的一个未升级的节点可以为上述排序中正序的第一个节点,或是倒序的第一个节点,当然也可以是排序中按照某一特定顺序选取的该特定顺序中的第一个节点,在此不做限定。其中,特定顺序可以由系统维护人员预先配置,或是系统根据当前系统的负载情况等参数所得到的顺序。
步骤302、针对多个节点中的除该一个未升级的节点外的另一个未升级的节点,判断与选取出每个节点是否满足各个组群的约束条件。如不满足则执行步骤303,否则,执行步骤304。
步骤303、不选取该另一个未升级的节点,执行步骤305。
步骤304、选取再一个未升级的节点,执行步骤305。
步骤305、判断多个节点中是否存在未划分批次的未升级的节点。若存在,则执行步骤302;否则,执行步骤306。
步骤306、将选取出的所有未升级的节点作为一个批次。
对于未被选取出的未升级的节点,重复上述步骤301至步骤306的过程,直到对所有未升级的节点完成批次的划分。需要说明的是,每执行完一次步骤301至步骤306,就可以得到一个批次的未升级的节点。
上述实现生成第一升级方案的方式仅为一种可能的实现方式,在本发明实施例中,还可以采用其他生成第一升级方案的实现方式,例如,上述实现方式的衍生方式等。比如,在对需要升级的节点进行排序时,可以按照节点受到约束条件从多到少的影响进行排序,即受到约束条件限制最多的节点作为上述步骤302中选取的该一个未升级的节点,而受到约束条件限制次多的节点则作为第一次选出的除该一个未升级的节点外的另一个未升级的节点。在本发明实施例中,只要确保生成的第一升级方案能够满足各个组群各自的约束条件即可。
由此可见,对于排序的情况而言,排序方式的不同,也会使第一升级方案的内容不同,而对于批次划分相同的升级方案而言,每个批次升级的先后顺序,也会导致使升级方案存在一定差异,而这个差异并不是升级时间上的差异,很可能会影响到系统中各节点上业务的执行。因此,第一升级方案还是要结合当前系统的实际情况来生成,在此对生成方式不做限定,上述实现方式仅为一种可能的示例。
为了避免遗漏某一个组群的约束条件,在本发明实施例一个可能的实现方式中,调度节点可以通过向所有需要升级的节点分别发送约束条件请求消息的方式,获取各个组群的约束条件。因此,在如图5或图7所示的实现方式的基础上,以图5为例,还可以有如图9所示的实现方式。其中,步骤101调度节点获取分布式存储系统中各个组群的约束条件,可以实现为步骤401和步骤402:
步骤401、调度节点向所有需要升级的节点发送约束条件请求消息。
步骤402、调度节点接收来自所有需要升级的节点中作为各组群主节点的节点反馈的约束条件。
一般情况下,每个组群中也存在一个主节点或是类似于主节点,用于管理该组群内其他各个节点,该主节点往往具备与组群内其他节点之间的通信能力。在调度节点不知道哪些节点为组群的主节点的情况下,为了避免遗漏获取某些约束条件,则调度节点需要分别向每个节点发送约束条件请求消息。在主节点接收到该消息后,会将该主节点所在组群的约束条件反馈给调度节点,非主节点收到该消息后可以不进行反馈。需要说明的是,同一节点很可能作为一个或是多个组群的主节点,在此对于组群主节点的设置方式不做限定。
如图10所示,为一种分布式存储系统可能的升级过程。在图10中,调度节点自身不需要升级,节点1至节点M为待升级节点,其中,M为大于1的整数。
调度节点分别向节点1至节点M发送约束条件请求消息,并接收部分或是全部节点的应答约束条件。需要说明的是,若所有节点均为组群的主节点且了解自身所在组群的约束条件,或是所有节点均具备应答的能力且了解自身所在组群的约束条件等,则所有节点向调度节点反馈约束条件。另外,系统维护人员也可以预先为各个节点的能力进行配置,比如,为了节省输出传输所耗费的资源,每个组群内,系统维护人员可以指定一个节点作为约束条件请求消息应答的节点,或是为了避免丢包等造成的调度节点获取到不完整的约束条件而指定同一组群内的至少两个节点作为约束条件请求消息应答的节点。在此,对于应答约束条件的数量、属性等不做限定。
调度节点在接收到各个组群反馈的约束条件后,为了方便生成调度策略,即升级方案,可以对约束条件进行抽象。比如,该分布式存储系统的约束条件集合为Y={NODE1,NODE2,NODE3}中最多同时重启1个节点;{NODE4,…,NODE8}中最多同时重启2个节点;{NODE1,…,NODE7}中最多同时重启3个节点;{NODE1,…,NODE5}最多同时重启2个节点。其中,NODE用于表示分布式存储系统中的节点,{NODE4,…,NODE8}表示节点4至节点8所构成的节点集合,同理,{NODE1,…,NODE7}表示节点1至节点7所构成的节点集合,{NODE1,…,NODE5}表示节点1至节点5所构成的节点集合;由于节点在升级过程中会重启,因此,上述最多同时重启的节点数量可以被视为最多可以同时升级的节点数量。之后采用步骤301至步骤306所示的步骤,生成第一升级方案,并按照第一升级方案分批次地调度节点1至节点M完成升级。
需要说明的是,上述应用于分布式存储系统的实现方案,同样可以应用其他分布式系统,比如,分布式计算系统等,在此不赘述。
在上述调度节点中可以是或者设置有分布式存储系统升级管理的装置,分布式存储系统升级管理的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对分布式存储系统升级管理的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图11所示,为上述实施例中所涉及的分布式存储系统升级管理的装置的一种可能的结构示意图。分布式存储系统升级管理的装置50包括:通信模块51和处理模块52。其中,通信模块51用于支持分布式存储系统升级管理的装置50执行图5、图7中的步骤101,图9中的步骤401和步骤402,以及用于支持分布式存储系统升级管理的装置50与调度节点中各个模块之间进行数据交互,和/或支持调度节点与诸如其他节点等设备之间的通信;处理模块52用于支持分布式存储系统升级管理的装置50执行图5、图7、图9中的步骤102至步骤104,图7中的步骤201和步骤202,图8中的步骤301至步骤306,和/或用于本文所描述的技术的其它过程。在本发明实施例中,分布式存储系统升级管理的装置50还可以包括存储模块53,用于存储调度节点的程序代码和数据。
其中,处理模块52可以实现为处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块51可以实现为收发器、收发电路或通信接口等。存储模块53可以实现为存储器。
若处理模块52实现为处理器、通信模块51实现为通信接口、存储模块53实现为存储器,则如图12所示,调度节点60包括:处理器61、通信接口62、存储器63,以及总线64。其中,处理器61、通信接口62和存储器63通过总线64相互连接;总线64可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以部署在同一设备中,或者,处理器和存储介质也可以作为分立组件部署在于不同的设备中。
本发明实施例提供一种分布式存储系统,该分布式存储系统包括多个节点,且每个节点至少属于一个组群,该分布式存储系统包括:
调度节点,用于获取分布式存储系统中各个组群的约束条件,约束条件包括各组群中允许并行升级的最大节点数,并根据各个组群的约束条件确定第一升级方案,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件,之后根据第一升级方案,分批次地向多个节点发送升级指示;
或者,
调度节点,用于获取分布式存储系统中各个组群的约束条件,约束条件包括各组群中允许并行升级的最大节点数,并根据各个组群的约束条件确定第一升级方案,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件,之后根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示。
在一种可能的设计中,属于同一组群的节点的功能相同或所属物理区域相同。
在一种可能的设计中,调度节点,还用于:
a.选取多个节点中的一个未升级的节点;
b.针对多个节点中的除一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足各个组群的约束条件,如满足,则选取另一个未升级的节点,直到遍历到多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
在一种可能的设计中,在调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示后,调度节点,还用于:
对于未升级的节点,确定满足各个组群的约束条件的第二升级方案,其中,第一升级方案与第二升级方案不同,第二升级方案包括:将未升级的节点划分成至少一个批次,并根据第二升级方案,分批次地向未升级的节点中的至少部分未升级的节点发送升级指示。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。

Claims (8)

1.一种分布式存储系统升级管理的方法,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述方法包括:
所述调度节点获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
所述调度节点根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;其中,每个批次中的节点均满足各个所述约束条件;
所述调度节点根据所述第一升级方案,分批次地向所述多个节点发送升级指示;
所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
2.一种分布式存储系统升级管理的方法,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述方法包括:
所述调度节点获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
所述调度节点根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;其中,每个批次中的节点均满足各个所述约束条件;
所述调度节点根据所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示;
所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
3.根据权利要求2所述的方法,其特征在于,在所述调度节点根据第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示后,所述方法还包括:
所述调度节点对于未升级的节点,确定满足所述各个组群的约束条件的第二升级方案,其中,所述第一升级方案与所述第二升级方案不同,所述第二升级方案包括:将所述未升级的节点划分成至少一个批次;
所述调度节点根据所述第二升级方案,分批次地向所述未升级的节点中的至少部分未升级的节点发送升级指示。
4.一种分布式存储系统升级管理的装置,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述装置包括:
通信模块,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
处理模块,用于根据所述通信模块获取的所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;其中,每个批次中的节点均满足各个所述约束条件;
所述通信模块,还用于根据所述处理模块确定的所述第一升级方案,分批次地向所述多个节点发送升级指示;
所述处理模块,还用于:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
5.一种分布式存储系统升级管理的装置,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述装置包括:
通信模块,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
处理模块,用于根据所述通信模块获取的所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;其中,每个批次中的节点均满足各个所述约束条件;
所述通信模块,还用于根据所述处理模块确定的所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示;
所述处理模块,还用于:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
6.根据权利要求5所述的装置,其特征在于,所述处理模块,还用于对于未升级的节点,确定满足所述各个组群的约束条件的第二升级方案,其中,所述第一升级方案与所述第二升级方案不同,所述第二升级方案包括:将所述未升级的节点划分成至少一个批次;
所述通信模块,还用于根据所述处理模块确定的所述第二升级方案,分批次地向所述未升级的节点中的至少部分未升级的节点发送升级指示。
7.一种分布式存储系统,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述系统包括:
调度节点,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
所述调度节点,还用于根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;
其中,每个批次中的节点均满足各个所述约束条件;
所述调度节点,还用于根据所述第一升级方案,分批次地向所述多个节点发送升级指示;
所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
8.一种分布式存储系统,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述系统包括:
调度节点,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;其中,属于同一组群的节点的功能相同或所属物理区域相同;
所述调度节点,还用于根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成多个批次,可以根据节点升级所耗费的时间,占用升级时间较少的那一批次优先升级;其中,每个批次中的节点均满足各个所述约束条件;
所述调度节点,还用于根据所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示;
所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:
a.选取所述多个节点中的一个未升级的节点;
b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
CN201710851312.7A 2017-09-20 2017-09-20 分布式存储系统升级管理的方法、装置及分布式存储系统 Active CN109525410B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710851312.7A CN109525410B (zh) 2017-09-20 2017-09-20 分布式存储系统升级管理的方法、装置及分布式存储系统
EP18858954.3A EP3675420B1 (en) 2017-09-20 2018-05-10 Distributed storage system upgrade management method and device, and distributed storage system
PCT/CN2018/086299 WO2019056771A1 (zh) 2017-09-20 2018-05-10 分布式存储系统升级管理的方法、装置及分布式存储系统
US16/822,754 US11526276B2 (en) 2017-09-20 2020-03-18 Upgrade management method and scheduling node, and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710851312.7A CN109525410B (zh) 2017-09-20 2017-09-20 分布式存储系统升级管理的方法、装置及分布式存储系统

Publications (2)

Publication Number Publication Date
CN109525410A CN109525410A (zh) 2019-03-26
CN109525410B true CN109525410B (zh) 2021-05-18

Family

ID=65769484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710851312.7A Active CN109525410B (zh) 2017-09-20 2017-09-20 分布式存储系统升级管理的方法、装置及分布式存储系统

Country Status (4)

Country Link
US (1) US11526276B2 (zh)
EP (1) EP3675420B1 (zh)
CN (1) CN109525410B (zh)
WO (1) WO2019056771A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142799A (zh) * 2019-12-26 2020-05-12 深圳市网心科技有限公司 分布式存储方法及装置、网络节点及存储介质
CN111158725B (zh) * 2019-12-30 2024-01-23 上海达梦数据库有限公司 程序升级方法、装置、终端及存储介质
CN111580968B (zh) * 2020-05-07 2023-04-18 广西大学 基于雾计算的医疗云平台负载自动均衡方法、系统及介质
CN112134734B (zh) * 2020-09-15 2023-05-23 网宿科技股份有限公司 一种网络设备的配置方法及装置
JP2024502842A (ja) * 2021-01-15 2024-01-23 華為技術有限公司 ノードをバッチでアップグレードするための方法、関連する装置、およびデバイス
US11809835B2 (en) * 2021-04-22 2023-11-07 EMC IP Holding Company, LLC System and method for efficient queue management
CN114138192A (zh) * 2021-11-23 2022-03-04 杭州宏杉科技股份有限公司 存储节点在线升级方法、装置、系统及存储介质
CN115473808A (zh) * 2022-08-25 2022-12-13 深圳市凯迪仕智能科技有限公司 任务执行方法及相关装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741894B (zh) * 2008-11-26 2012-09-19 中国移动通信集团公司 一种分布式系统的升级方法、升级调度节点及系统
CN102055785A (zh) * 2009-11-09 2011-05-11 杭州华三通信技术有限公司 分布式系统的在线升级方法、分布式系统及设备
CN102045744B (zh) * 2010-12-07 2015-11-25 华为技术有限公司 一种批量升级基站的方法和系统
US9170852B2 (en) * 2012-02-02 2015-10-27 Microsoft Technology Licensing, Llc Self-updating functionality in a distributed system
US9560119B2 (en) * 2014-12-23 2017-01-31 Cisco Technology, Inc. Elastic scale out policy service
US10623481B2 (en) * 2015-04-27 2020-04-14 Microsoft Technology Licensing, Llc Balancing resources in distributed computing environments
US20170141968A1 (en) * 2015-11-13 2017-05-18 Acumera, Inc. Updating Electronic Devices Using a Push Model
US10110434B2 (en) * 2015-12-01 2018-10-23 Cisco Technology, Inc. Cloud orchestrated cloud connector upgrades
CN106936622B (zh) 2015-12-31 2020-01-31 阿里巴巴集团控股有限公司 一种分布式存储系统升级方法和装置
CN105786405B (zh) * 2016-02-25 2018-11-13 华为技术有限公司 一种在线升级方法、装置及系统
CN106354531B (zh) * 2016-08-25 2020-03-27 杭州华为数字技术有限公司 物理节点升级方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rolling Upgrade with Dynamic Batch Size for IaaS Cloud;Mina Nabi等;《2016 IEEE 9th International Conference on Cloud Computing (CLOUD)》;20170119;参见正文第497页-第504页 *

Also Published As

Publication number Publication date
WO2019056771A1 (zh) 2019-03-28
CN109525410A (zh) 2019-03-26
EP3675420A4 (en) 2020-10-07
EP3675420A1 (en) 2020-07-01
US20200218453A1 (en) 2020-07-09
EP3675420B1 (en) 2021-12-01
US11526276B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
CN109525410B (zh) 分布式存储系统升级管理的方法、装置及分布式存储系统
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN110389843B (zh) 一种业务调度方法、装置、设备及可读存储介质
US20160036665A1 (en) Data verification based upgrades in time series system
CN110990154A (zh) 一种大数据应用优化方法、装置及存储介质
CN112910937A (zh) 容器集群中的对象调度方法、装置、服务器和容器集群
US11201824B2 (en) Method, electronic device and computer program product of load balancing for resource usage management
CN115328752A (zh) 一种用于Kubernetes控制面测试的集群模拟方法及系统
US20170123941A1 (en) Distributed processing system
CN112269647A (zh) 节点调度、切换与协调方法及其相应的装置、设备、介质
CN117149445B (zh) 一种跨集群负载均衡方法及装置、设备及存储介质
CN113382077B (zh) 微服务调度方法、装置、计算机设备和存储介质
CN110955501B (zh) 服务请求处理方法、装置、电子设备及可读介质
CN112261125B (zh) 集中单元的云化部署方法、装置及系统
CN113760549A (zh) 一种pod部署方法及装置
CN111382141B (zh) 主从架构配置方法、装置、设备以及计算机可读存储介质
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN109120680B (zh) 一种控制系统、方法及相关设备
CN114385366A (zh) 容器云平台的容器组弹性扩容方法、系统、介质和设备
WO2018188958A1 (en) A method and a host for managing events in a network that adopts event-driven programming framework
JP6472312B2 (ja) 機能部割当装置及び機能部割当方法
CN109818767B (zh) 一种Redis集群容量调整的方法、装置及存储介质
CN113626181B (zh) 一种内存清理方法、装置、设备及可读存储介质
EP3129878A1 (en) Elasticity engine for availability management framework (amf)
CN111294374A (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