WO2019056771A1 - 分布式存储系统升级管理的方法、装置及分布式存储系统 - Google Patents
分布式存储系统升级管理的方法、装置及分布式存储系统 Download PDFInfo
- Publication number
- WO2019056771A1 WO2019056771A1 PCT/CN2018/086299 CN2018086299W WO2019056771A1 WO 2019056771 A1 WO2019056771 A1 WO 2019056771A1 CN 2018086299 W CN2018086299 W CN 2018086299W WO 2019056771 A1 WO2019056771 A1 WO 2019056771A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- nodes
- upgrade
- node
- upgraded
- storage system
- Prior art date
Links
- 238000007726 management method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 109
- 230000008569 process Effects 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 41
- 238000013461 design Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Definitions
- the embodiments of the present invention relate to the field of storage technologies, and in particular, to a method, an apparatus, and a distributed storage system for upgrading and managing a distributed storage system.
- a distributed storage system that distributes data across multiple independent devices and uses a scalable system architecture to share the storage load with multiple independent devices. This not only improves the reliability, performance, and capacity of the storage system. Easy to expand.
- common architectures for distributed storage systems include a scale-up architecture as shown in Figure 1 and a scale-out architecture as shown in Figure 2.
- the scale-up architecture refers to the requirement of increasing the capacity of data and performance by increasing the capacity of a single device or updating the device in the original storage system (that is, the unified management of a storage controller is set in the same device).
- scale-out architecture refers to the expansion of nodes in the original storage system by adding nodes (that is, adding at least one device including storage devices and storage controllers, and adjacent two Devices interact with each other through their own storage controllers, where each node provides capacity, bandwidth, and computing power.
- the node being upgraded needs to be restarted, and during the restart of the node, other nodes in the distributed storage system are required to take over the services executed on the node. Therefore, in the scale-out architecture upgrade process, in order to minimize the impact on system performance, the distributed storage system is upgraded by means of a roller upgrade, as shown in Figure 3, in order from left to right according to the time axis.
- the node upgrade is performed one by one, that is, the next node is upgraded after the current node is upgraded (that is, sequentially upgraded in the order of node 1 to node n, where n is an integer greater than 1).
- the embodiments of the present invention provide a method, a device, and a distributed storage system for upgrading and managing a distributed storage system, which can solve the problem that the upgrade efficiency of the distributed storage system is too low.
- an embodiment of the present invention provides a method for upgrading and managing a distributed storage system.
- the method is applied to a scheduling node of a distributed storage system.
- the distributed storage system includes a plurality of nodes, and each node belongs to at least one group.
- the method includes: the scheduling node acquires a constraint condition of each group in the distributed storage system; the scheduling node determines the first upgrade plan according to the constraint condition of each group; the scheduling node batches the plurality of nodes according to the first upgrade plan Send an upgrade instruction.
- the constraint includes a maximum number of nodes in each group that are allowed to be upgraded in parallel.
- the first upgrade solution includes: dividing a plurality of nodes into at least one batch, and each node in the batch satisfies each constraint.
- the scheduling node may determine the first upgrade that meets the constraint conditions of each group according to the constraint conditions of the multiple groups in the embodiment of the present invention. Plan and upgrade all the nodes that need to be upgraded in batches according to the first upgrade plan. It can be seen that the nodes in the upgrade state at the same time are increased from one to more. Moreover, since the interference between multiple nodes that are simultaneously upgraded is small, for example, multiple nodes that are simultaneously upgraded have different functions, so that tasks performed on multiple nodes in the upgrade process are assigned to other functions having the same function.
- the method of parallel upgrade can not only ensure the reliability of the system, but also effectively save the time spent on system upgrade, thereby solving the problem that the upgrade efficiency of the distributed storage system is too low.
- nodes belonging to the same group have the same function or the same physical area.
- the services being executed on the node need to be executed by other nodes.
- the unexecuted services are transferred to the nodes with the same function to complete the operation, thus ensuring the smooth execution of the service.
- the node with the function and the normal working state will be overloaded or even overloaded, thereby reducing the presence of the node.
- the group includes at least one of the following: a subsystem that divides the node to be upgraded according to the function of the node to be upgraded; and a node pool into which the node to be upgraded is divided according to the area to which the node to be upgraded belongs.
- the scheduling node determines the first upgrade scheme according to the constraints of each group:
- b For another un-upgraded node other than one un-upgraded node among the plurality of nodes, determine whether each of the selected un-upgraded nodes satisfies the constraint condition of each group, and if yes, select another one. a node that has not been upgraded until it traverses to each of the unupgraded nodes of the multiple nodes;
- the above a-c process is repeated until the batch division is completed for all the nodes that are not upgraded.
- the method for generating the first upgrade solution is only one possible implementation manner.
- other implementation manners for generating the first upgrade solution for example, the derivative manner of the foregoing implementation manner, may be used.
- the nodes when sorting the nodes that need to be upgraded, the nodes may be sorted according to the influence of the constraints of the nodes, that is, the nodes with the most constraint constraints are selected as the unupgraded nodes selected in the above step 302, and The node that is most constrained by the constraint condition is used as the first unselected node other than the one that is not upgraded.
- the scheduling node obtains the constraints of each group in the distributed storage system, and may be implemented as: the scheduling node sends a constraint request message to all nodes that need to be upgraded, and then receives all the nodes that need to be upgraded. A constraint that is fed back as a node of each group's primary node.
- the scheduling node may obtain the constraint condition of each group by sending a constraint request message to all nodes that need to be upgraded.
- an embodiment of the present invention provides a method for upgrading and managing a distributed storage system.
- the method is applied to a scheduling node of a distributed storage system.
- the distributed storage system includes a plurality of nodes, and each node belongs to at least one group.
- the method includes: the scheduling node acquires a constraint condition of each group in the distributed storage system; the scheduling node determines the first upgrade plan according to the constraint condition of each group; the scheduling node batches the plurality of nodes according to the first upgrade plan Some of the nodes in the middle send an upgrade indication.
- the constraint includes a maximum number of nodes in each group that are allowed to be upgraded in parallel.
- the first upgrade solution includes: dividing the plurality of nodes into at least one batch, wherein each node in each batch satisfies each constraint.
- the scheduling node may determine the first upgrade that meets the constraint conditions of each group according to the constraint conditions of the multiple groups in the embodiment of the present invention. Plan and upgrade some of the nodes that need to be upgraded in batches according to the first upgrade plan. It can be seen that the nodes in the upgrade state at the same time are increased from one to more.
- the parallel upgrade method can not only ensure the reliability of the system, but also effectively save the time spent on system upgrade, thereby solving the distributed storage system. The problem of too low upgrade efficiency.
- nodes belonging to the same group have the same function or the same physical area.
- the scheduling node after the scheduling node sends the upgrade indication to a part of the plurality of nodes in batches according to the first upgrade scheme, the scheduling node determines, for the nodes that are not upgraded, the constraints that meet the respective groups.
- the second upgrade scheme and according to the second upgrade scheme, sends an upgrade indication to the at least part of the unupgraded nodes of the unupgraded nodes in batches.
- the first upgrade scheme is different from the second upgrade scheme, and the second upgrade scheme includes: dividing the unupgraded node into at least one batch.
- the scheduling node can complete the upgrade process of only one batch or several batches of nodes according to the first upgrade scheme. Then, the second upgrade scheme is generated with reference to the acquired constraints, and the upgrade process of the nodes that need to be upgraded is completed according to the second upgrade scheme.
- the first upgrade scheme is different from the second upgrade scheme.
- only the first upgrade solution is generated, and system resources can be occupied as little as possible on the basis of implementing parallel upgrade nodes.
- multiple upgrade solutions are generated, which can save the time spent upgrading the same node to a certain extent, improve the system upgrade efficiency, and reduce the business to be executed as much as possible. The impact.
- the scheduling node determines the first upgrade scheme according to the constraints of each group:
- b For another un-upgraded node other than one un-upgraded node among the plurality of nodes, determine whether each of the selected un-upgraded nodes satisfies the constraint condition of each group, and if yes, select another one. a node that has not been upgraded until it traverses to each of the unupgraded nodes of the multiple nodes;
- the above a-c process is repeated until the batch division is completed for all the nodes that are not upgraded.
- the scheduling node may only be batched according to the first upgrade scheme. Sub-regionally upgrades some of the nodes to be upgraded, and then determines the second upgrade scheme for the nodes to be upgraded that are not upgraded, and adopts the second upgrade scheme to upgrade the upgrades that are not upgraded in batches. Some or all of the nodes are upgraded. Similarly, if only the upgrade is partially completed, a third upgrade plan needs to be generated, and so on, until all nodes to be upgraded complete the upgrade. In this way, at least part of the nodes to be upgraded are part of the nodes to be upgraded.
- an embodiment of the present invention provides an apparatus for upgrading and managing a distributed storage system.
- the device can implement the functions implemented by the method embodiments shown in the foregoing first aspect and any one of the possible aspects of the first aspect, and the functions can be implemented by hardware or by executing corresponding software by hardware.
- the hardware or software includes one or more modules corresponding to the above functions.
- the apparatus is applied to a scheduling node, the structure of which includes a processor and a communication interface, the processor being configured to support the apparatus to perform the corresponding functions of the above methods.
- the communication interface is used to support communication between the scheduling node and other devices.
- the apparatus can also include a memory for coupling with the processor that retains the program instructions and data necessary for the apparatus.
- an embodiment of the present invention provides an apparatus for upgrading and managing a distributed storage system.
- the device can implement the functions implemented by the method embodiments shown in any of the possible aspects of the second aspect and the second aspect, and the functions can be implemented by hardware or by executing corresponding software by hardware.
- the hardware or software includes one or more modules corresponding to the above functions.
- the apparatus is applied to a scheduling node, the structure of which includes a processor and a communication interface, the processor being configured to support the apparatus to perform the corresponding functions of the above methods.
- the communication interface is used to support communication between the scheduling node and other devices.
- the apparatus can also include a memory for coupling with the processor that retains the program instructions and data necessary for the apparatus.
- an embodiment of the present invention provides a distributed storage system, where the distributed storage system includes a scheduling node, where the scheduling node includes the apparatus shown in the third aspect and the possible design of the third aspect.
- an embodiment of the present invention provides a distributed storage system, where the distributed storage system includes a scheduling node, where the scheduling node includes the apparatus shown in the fourth aspect and the possible design of the fourth aspect.
- an embodiment of the present invention provides a computer readable medium, where the computer readable medium stores a computer program, and when the computer program is loaded into a computer and executed by a computer, causing the computer to execute the first aspect and various possibilities. Any of the design methods.
- an embodiment of the present invention provides a computer readable medium, where the computer readable medium stores a computer program, and when the computer program is loaded into a computer and executed by a computer, causing the computer to execute the second aspect and various possibilities. Any of the design methods.
- an embodiment of the present invention provides a computer program product, where the computer program product includes a computer program, when executed by a computer, causing a computer to execute any one of the foregoing first aspect and various possible design methods. .
- an embodiment of the present invention provides a computer program product, where the computer program product includes a computer program, when executed by a computer, causing a computer to execute any one of the foregoing second aspect and various possible design methods. .
- FIG. 1 is a schematic diagram of a vertically extended architecture provided by the prior art
- FIG. 2 is a schematic diagram of a horizontal expansion architecture provided by the prior art
- FIG. 3 is a schematic diagram of a roller upgrade of a distributed storage system provided by the prior art
- FIG. 4 is a schematic diagram of a distributed storage system according to an embodiment of the present invention.
- FIG. 5 is a flowchart of a method for upgrading and managing a distributed storage system according to an embodiment of the present invention
- FIG. 6 is a schematic diagram of an upgrade of a distributed storage system according to an embodiment of the present invention.
- FIG. 7 is a flowchart of another method for upgrading management of a distributed storage system according to an embodiment of the present invention.
- FIG. 8 is a flowchart of a method for determining a first upgrade solution according to an embodiment of the present invention.
- FIG. 9 is a flowchart of another method for upgrading management of a distributed storage system according to an embodiment of the present invention.
- FIG. 10 is an interaction diagram of a method for upgrading and managing a distributed storage system according to an embodiment of the present invention.
- FIG. 11 is a schematic structural diagram of an apparatus for upgrading and managing a distributed storage system according to an embodiment of the present invention.
- FIG. 12 is a schematic structural diagram of a scheduling node according to an embodiment of the present invention.
- the embodiment of the present invention is applicable to a distributed storage system, where the distributed storage system includes a plurality of storage devices, such as a computer and a server, including a processor and a storage medium.
- the storage device may also be referred to as a node.
- each node belongs to at least one group. Among them, the nodes belonging to the same group have the same function or the same physical area. It should be noted that during the upgrade process of the node, the service being executed on the node needs to be executed by other nodes, and in general, the unexecuted service is transferred to the node with the same function to complete the service. Smooth execution, this will inevitably increase the load of the same node as the node in the upgrade process.
- the group includes at least one of the following: according to the upgrade to be performed.
- the function of the node is the subsystem to which the node to be upgraded is divided; the node pool into which the node to be upgraded is divided according to the area to which the node to be upgraded belongs. It should be noted that the foregoing manner of grouping a group is only one possible implementation manner, and is not limited to the embodiment of the present invention.
- the staff can combine the actual situation of the distributed storage system, for example, the execution status of the service, and the node.
- the load situation and the like are adjusted for the group division mode, and are not limited herein.
- the concept of the constraint is introduced in the embodiment of the present invention.
- the constraint includes the maximum number of nodes in each group that are allowed to be upgraded at the same time.
- the constraint is also set to prevent the parallel upgrade from having a huge impact on the execution of the service or the performance of the system.
- a common way of grouping is to divide nodes that are not suitable for simultaneous restart into the same group.
- the reason why it is not suitable for simultaneous restart is because if these nodes are restarted at the same time, it will have an unacceptable impact on system performance. Therefore, each group is set with corresponding constraints to avoid too many nodes to restart at the same time.
- the constraint is the upper limit of the number of nodes allowed to restart at the same time in a group.
- FIG. 4 it is a schematic diagram of a possible distributed storage system, where the distributed storage system includes eight nodes that need to be upgraded, which are node 1 to node 8, respectively, and the eight nodes that need to be upgraded are capable of being connected to the switch.
- the distributed storage system has five groups, namely, subsystem A, subsystem B, subsystem C, node pool 1, and node pool 2.
- the subsystems A to C are divided according to the functions of the nodes 1 to 8, for example, according to the correlation of the tasks performed on the nodes or the functions of the nodes, and the node pool 1 and the node pool 2 is obtained by dividing the physical area of the node 1 to the node 8, for example, according to the location of each node deployment.
- nodes in the distributed storage system that need to be upgraded are shown in FIG. 4, but it does not mean that only nodes that need to be upgraded exist in the distributed storage system, and the distributed storage system is in the distributed storage system. There can also be one or more nodes that do not need to be upgraded.
- the eight nodes that need to be upgraded as shown in FIG. 4 may include the scheduling node required to implement the solution.
- the scheduling node may also be a node in the distributed storage that does not need to be upgraded. limited.
- a scheduling node can be considered as a master node in a distributed storage system for managing operational processes such as upgrades of distributed storage systems. If the primary node does not exist in the distributed storage system, a node may be assigned by the user or the distributed storage system as a scheduling node to implement a primary node that manages operational processes such as upgrades of the distributed storage system.
- An embodiment of the present invention provides a method for upgrading and managing a distributed storage system. As shown in FIG. 5, the method is implemented by the foregoing scheduling node, and the method includes steps 101 to 103, or step 101, step 102, and step 104:
- Step 101 The scheduling node acquires a constraint condition of each group in the distributed storage system.
- the scheduling node needs to determine which nodes in the distributed storage system are nodes that need to be upgraded, and then determine the respective constraints of the groups in which the nodes that need to be upgraded are located.
- the scheduling node may determine which nodes need to be upgraded by obtaining a list of nodes that need to be upgraded from a local device, a third-party device such as a server, or from another device through the network. It should be noted that the manner in which the scheduling node determines which nodes are the nodes that need to be upgraded is not limited to the above-mentioned several exemplary situations, and is not limited herein.
- the obtained node list to be upgraded it may be acquired when the distributed storage system needs to be upgraded, and a subsequent upgrade process may be performed for the content described in the list, and may also be periodically or non-periodized by the scheduling node.
- the obtaining for example, is obtained by the scheduling node in a preset time point or a preset time range, and may be acquired by the scheduling node when the scheduling node is in an idle state, which is not limited herein.
- the preset time point and the preset time range may be preset by the system maintenance personnel, and may be adjusted according to factors such as the load change trend of the system and the resource occupancy situation; the idle state may be regarded as having sufficient resource acquisition by the scheduling node.
- the list, and/or the scheduling node has sufficient storage resources to store the status of the list.
- the process of acquiring the constraint condition by the scheduling node may also be obtained when the distributed storage system needs to be upgraded, or may be obtained periodically or non-periodically according to a preset rule, which is not limited herein.
- the constraint may be obtained from a local device, a third-party device such as a server, or from another device through a network, and is not limited herein.
- Step 102 The scheduling node determines the first upgrade plan according to the constraint condition of each group.
- the first upgrade scheme comprises: dividing the plurality of nodes into at least one batch, wherein the nodes in each batch satisfy respective constraints.
- the scheduling node may determine at least one feasible upgrade solution based on the constraint on the multiple nodes that are simultaneously upgraded, where the first upgrade solution is at least One of a possible solution. Since the first upgrade scheme only needs to meet the respective constraints of each group, it is likely that there are multiple feasible upgrade schemes, and for various feasible upgrade schemes, the current requirements for the upgrade process can be further filtered. .
- the upgraded batches can be upgraded.
- the most upgraded solution is the first upgrade solution referred to in the embodiment of the present invention.
- the upgraded batch-optimized upgrade solution may also be selected as the preferred solution, that is, the first upgrade solution referred to in the embodiment of the present invention.
- the first upgrade solution in addition to determining the first upgrade solution when the upgrade is needed, the first upgrade solution may be determined at other times, for example, when the system load is low or the system resources are sufficient.
- the first upgrade scheme can be determined periodically or non-periodically, or it can be determined when the upgrade is about to be performed.
- the latter is more time-efficient to determine the first upgrade scheme, and can ensure that the determined first upgrade scheme is adapted to whether the current each node needs to be upgraded. happening. While the former determines the timing of the first upgrade scheme, although it can reduce the burden of the system as much as possible, there is a possibility that there is an error.
- a node does not need to be upgraded at a previous moment. Therefore, the first upgrade scheme determined is determined. This node is not included, which will result in the node not being successfully upgraded during the upgrade process. It is also necessary to complete the upgrade of the node through remedial measures such as the secondary upgrade process. It can be seen that the timings of the two examples of determining the first upgrade solution are superior and inferior, and the system maintenance personnel can combine the actual situation of the current system and the requirement of the system for the timeliness of the upgrade to generate a first upgrade for the scheduling node in advance. The timing of the solution is configured, so that the scheduling node generates a first upgrade solution by adopting a scheme more suitable for the current application scenario.
- FIG. 6 a schematic diagram of a possible upgrade scenario execution process.
- the first upgrade scheme is three batches
- the first batch is node 1, node 4, and node 6
- the second batch is node 2, node 5, and node. 7.
- the third batch is node 3 and node 8.
- the upgrade process of the distributed storage system is upgraded by three batches to ensure that each node to be upgraded is upgraded. It should be noted that, in the process of determining the first upgrade plan, by circumventing the restriction of the constraint condition, it is possible to obtain which node of each of the three batches needs to be upgraded, and which batch of nodes is preferred. Upgrade, which batch of nodes are upgraded late and there are not too many requirements.
- the batch that takes up less upgrade time can be upgraded according to the time taken by the node upgrade, so that more nodes in the system can be upgraded as soon as possible, thereby reducing the impact on the system.
- the manner of determining the foregoing first upgrade solution is only one possible implementation manner, and is not limited to the embodiment of the present invention.
- Step 103 The scheduling node sends an upgrade indication to the plurality of nodes in batches according to the first upgrade scheme.
- Step 104 The scheduling node sends an upgrade indication to a part of the plurality of nodes in batches according to the first upgrade scheme.
- the scheduling node may complete the upgrade process of each node that needs to be upgraded in batches according to the first upgrade scheme.
- the number of nodes that need to be upgraded will be reduced, and the number of nodes that need to be upgraded is likely to be able to upgrade more nodes in one batch after the reduction, therefore, Batches that have not been upgraded in an upgrade scenario may not be the current best or better upgrade scenario.
- the scheduling node can complete the upgrade process of only one batch or several batches of nodes according to the first upgrade scheme. Then, the second upgrade scheme is generated with reference to the acquired constraints, and the upgrade process of the nodes that need to be upgraded is completed according to the second upgrade scheme.
- the first upgrade scheme is different from the second upgrade scheme.
- the upgrade solution is not limited to the first upgrade solution and the second upgrade solution.
- the first upgrade solution may be generated, and The scheduling node upgrades all the nodes that need to be upgraded in batches according to the first upgrade scheme; if the time spent on saving the system upgrade is focused on, the scheduling node may become the first upgrade scheme, and then the scheduling node.
- the first upgrade scheme only one batch of the upgrade process of the node to be upgraded is completed, and then the second upgrade scheme is generated, and the scheduling node only completes the upgrade process of the node to be upgraded according to the second upgrade scheme.
- the scheduling node may complete the upgrade process of the partial nodes according to the first upgrade scheme, and then The second upgrade scheme is generated to complete the upgrade process of the remaining nodes.
- the foregoing implementation process is only one possible example, and is not limited to the embodiment of the present invention.
- the scheduling node completes the system upgrade according to one or more upgrade schemes, and may consider not only system resources, upgrade time, but also current system. Factors such as the load situation are not described here.
- the time taken for the upgrade of different nodes in the same batch may be the same or different. After the node with the longest time in one batch upgrade completes the upgrade process, the upgrade of the next batch of nodes to be upgraded can be started. process.
- the upgrade process of the foregoing node refers to that the scheduling node sends an upgrade indication to each node in batches after determining the upgrade plan to indicate that all nodes in the same batch perform the upgrade process at the same time.
- the scheduling node may determine the first upgrade solution that meets the constraint condition according to the constraint conditions of the multiple groups, in the embodiment of the present invention. And upgrade some or all of the nodes to be upgraded in batches according to the first upgrade scheme. It can be seen that the nodes in the upgrade state at the same time are increased from one to more. Moreover, since there is no interference between multiple nodes that are simultaneously upgraded, the parallel upgrade method can not only ensure the reliability of the system, but also effectively save the time spent on system upgrade, thereby solving the distributed storage system. The problem of too low upgrade efficiency.
- the scheduling node may be in batches according to the first upgrade scheme, in order to make the system upgrade process more consistent with the current needs of the maintenance personnel, for example, to save the time occupied by the system upgrade.
- the scheduling node sends the upgrade indication to the some of the plurality of nodes in batches according to the first upgrade scheme, and then performs step 201 and step 202:
- Step 201 The scheduling node determines, for the nodes that are not upgraded, a second upgrade scheme that meets the constraint condition of each group.
- the second upgrade solution includes: dividing the un-upgraded node into at least one batch.
- Step 202 The scheduling node sends an upgrade indication to the at least part of the unupgraded nodes in the batch upgrade according to the second upgrade scheme.
- the scheduling node completes the upgrade of the first batch of nodes to be upgraded according to the first upgrade scheme, that is, node 1, node 4, and node 6 complete the upgrade; then, the scheduling node generates a second condition that satisfies the constraints of each group.
- Upgrade scheme in the second upgrade scheme, it is likely that node 2, node 5, node 7 and node 3 can be upgraded at the same time, after node 8 is upgraded, or node 2, node 5, node 7 and node 8 can be upgraded simultaneously, after Node 3 is upgraded, and of course Node 2, Node 5, Node 7, Node 3, and Node 8 may be upgraded in the same batch. It can be seen that after the node to be upgraded is reduced, the upgrade scheme is also likely to change, for example, reducing the upgrade batch or increasing the number of upgradeable nodes in the same batch, etc., is not mentioned here.
- a possible implementation manner of generating a first upgrade solution is provided.
- the step 102 determines that the first upgrade solution is determined according to the constraints of each group, and can be implemented as shown in FIG. 8 , and FIG. 8 includes the following steps. .
- the node that receives the upgrade instruction will be upgraded.
- the storage node restarts during the upgrade or after the upgrade is complete.
- Step 301 Select one of the plurality of nodes that is not upgraded.
- all unupgraded nodes may be sorted and selected one by one.
- the ordering of the nodes here may be sorted according to one or a plurality of factors such as the location of the node deployment, the current load of the node, the importance of the service performed by the node, and the time taken by the node upgrade.
- the specific ordering manner is not limited herein. It can be deployed in advance by system maintenance personnel according to the actual system upgrade requirements.
- the first unselected node selected here may be the first node of the positive order in the above sorting, or the first node in reverse order, or may be the specific order selected in a certain order in the sorting.
- the first node is not limited here.
- the specific order may be pre-configured by the system maintenance personnel or the order obtained by the system according to parameters such as the current system load condition.
- Step 302 Determine, for each of the plurality of nodes other than the one unupgraded node, whether the constraint condition of each group is met. If not, step 303 is performed; otherwise, step 304 is performed.
- Step 303 If the other node that is not upgraded is not selected, step 305 is performed.
- Step 304 Select another node that is not upgraded, and perform step 305.
- Step 305 Determine whether there are un-upgraded nodes of the un-partitioned batch among the plurality of nodes. If yes, go to step 302; otherwise, go to step 306.
- step 306 all the unupgraded nodes that are selected are taken as one batch.
- step 301 to step 306 are repeated until the batch division is completed for all the nodes that are not upgraded. It should be noted that each time step 301 to step 306 is performed, a batch of unupgraded nodes can be obtained.
- the method for generating the first upgrade solution is only one possible implementation manner.
- other implementation manners for generating the first upgrade solution for example, the derivative manner of the foregoing implementation manner, may be used.
- the nodes when sorting the nodes that need to be upgraded, the nodes may be sorted according to the influence of the constraints of the nodes, that is, the nodes with the most constraint constraints are selected as the unupgraded nodes selected in the above step 302, and The node that is most constrained by the constraint condition is used as the first unselected node other than the one that is not upgraded.
- the different sorting methods will also make the content of the first upgrade scheme different, and for the upgrade scheme with the same batch division, the order of each batch upgrade will also This leads to some differences in the upgrade scheme. This difference is not a difference in upgrade time and may affect the execution of services on each node in the system. Therefore, the first upgrade solution is still generated in combination with the actual situation of the current system, and the generation manner is not limited herein.
- the foregoing implementation manner is only one possible example.
- the scheduling node may obtain the constraint condition of each group by sending a constraint request message to all nodes that need to be upgraded. Therefore, on the basis of the implementation shown in FIG. 5 or FIG. 7, with FIG. 5 as an example, an implementation as shown in FIG. 9 may be further provided.
- the step 101 of the scheduling node acquiring the constraints of each group in the distributed storage system may be implemented as steps 401 and 402:
- Step 401 The scheduling node sends a constraint request message to all nodes that need to be upgraded.
- Step 402 The scheduling node receives the constraint from the node feedback of each group primary node from all the nodes that need to be upgraded.
- the scheduling node In general, there is also a primary node in each group or similar to the primary node, which is used to manage other nodes in the group.
- the primary node often has communication capabilities with other nodes in the group.
- the scheduling node does not know which nodes are the primary nodes of the group, in order to avoid missing certain constraints, the scheduling node needs to separately send a constraint request message to each node. After the primary node receives the message, the constraint condition of the group in which the primary node is located is fed back to the scheduling node. After receiving the message, the non-master node may not perform feedback. It should be noted that the same node is likely to be the master node of one or more groups, and the manner of setting the group master node is not limited herein.
- node 1 to node M are nodes to be upgraded, where M is an integer greater than 1.
- the scheduling node sends a constraint request message to the node 1 to the node M, respectively, and receives response constraints of some or all of the nodes. It should be noted that if all nodes are the primary nodes of the group and understand the constraints of the group in which they are located, or if all nodes have the ability to respond and understand the constraints of the group in which they are located, then all nodes are scheduled. The node feedback constraints. In addition, the system maintenance personnel can also configure the capabilities of each node in advance.
- the system maintenance personnel can designate a node as a node for the constraint request message response, or In order to avoid that the scheduling node obtains an incomplete constraint caused by packet loss or the like, at least two nodes in the same group are designated as nodes for the constraint request message response.
- the number, attributes, and the like of the response constraint are not limited.
- the scheduling node can abstract the constraints in order to facilitate the generation of the scheduling policy, that is, the upgrade scheme.
- NODE is used to represent nodes in the distributed storage system
- ⁇ NODE4,...,NODE8 ⁇ represents the set of nodes formed by nodes 4 to 8
- ⁇ NODE1,...,NODE7 ⁇ represents nodes 1 to 7
- the set of nodes, ⁇ NODE1,...,NODE5 ⁇ represents the set of nodes formed by nodes 1 to 5; since the nodes are restarted during the upgrade process, the number of nodes that can be restarted at the same time can be regarded as being upgraded at the same time. The number of nodes.
- the first upgrade scheme is generated, and the nodes 1 to M are scheduled to be upgraded in batches according to the first upgrade scheme.
- the above-mentioned scheduling node may be or be provided with a device for managing the upgrade management of the distributed storage system.
- the device for upgrading and managing the distributed storage system includes a hardware structure and/or a software module corresponding to each function.
- the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
- the embodiment of the present invention may divide the function module of the device for upgrading and managing the distributed storage system according to the foregoing method.
- each function module may be divided according to each function, or two or more functions may be integrated into one process.
- the above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of the module in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
- FIG. 11 is a schematic structural diagram of a device for upgrading and managing a distributed storage system involved in the foregoing embodiment.
- the apparatus 50 for distributed storage system upgrade management includes a communication module 51 and a processing module 52.
- the device 50 for supporting the distributed storage system upgrade management of the communication module 51 performs step 101 in FIG. 5, FIG. 7, step 401 and step 402 in FIG. 9, and a device for supporting the distributed storage system upgrade management. 50 interacting with each module in the scheduling node, and/or supporting communication between the scheduling node and devices such as other nodes; the processing module 52 is configured to support the distributed storage system upgrade management device 50 to perform Figure 5, 7.
- the apparatus 50 for distributed storage system upgrade management may further include a storage module 53 for storing program codes and data of the scheduling node.
- the processing module 52 can be implemented as a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application specific integrated circuit (Application- Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
- the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
- the communication module 51 can be implemented as a transceiver, a transceiver circuit, a communication interface, or the like.
- the storage module 53 can be implemented as a memory.
- the processing node 60 includes a processor 61, a communication interface 62, a memory 63, and a bus 64, as shown in FIG. .
- the processor 61, the communication interface 62, and the memory 63 are connected to each other through a bus 64.
- the bus 64 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. Wait.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- Wait The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 12, but it does not mean that there is only one bus or one type of bus.
- the steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions.
- the software instructions may be composed of corresponding software modules, which may be stored in a random access memory (RAM), a flash memory, a read only memory (ROM), an erasable programmable read only memory ( Erasable Programmable ROM (EPROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Register, Hard Disk, Mobile Hard Disk, Compact Disc Read-Only Memory (CD-ROM), or any of those well known in the art.
- RAM random access memory
- ROM read only memory
- EPROM erasable programmable read only memory
- EEPROM Electrically Erasable Programmable Read Only Memory
- register Hard Disk
- Mobile Hard Disk Mobile Hard Disk
- CD-ROM Compact Disc Read-Only Memory
- Other forms of storage media are coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
- An embodiment of the present invention provides a distributed storage system, where the distributed storage system includes multiple nodes, and each node belongs to at least one group.
- the distributed storage system includes:
- the scheduling node is configured to obtain the constraint conditions of each group in the distributed storage system, the constraint condition includes the maximum number of nodes allowed to be concurrently upgraded in each group, and the first upgrade plan is determined according to the constraint conditions of each group, and the first upgrade is performed.
- the solution includes: dividing a plurality of nodes into at least one batch, wherein each node in each batch satisfies each constraint condition, and then sends an upgrade indication to the plurality of nodes in batches according to the first upgrade scheme;
- the scheduling node is configured to obtain the constraint conditions of each group in the distributed storage system, the constraint condition includes the maximum number of nodes allowed to be concurrently upgraded in each group, and the first upgrade plan is determined according to the constraint conditions of each group, and the first upgrade is performed.
- the solution comprises: dividing a plurality of nodes into at least one batch, wherein each node in each batch satisfies each constraint condition, and then sends an upgrade to a part of the plurality of nodes in batches according to the first upgrade scheme. Instructions.
- nodes belonging to the same group have the same function or the same physical area.
- the scheduling node is also used to:
- b For another un-upgraded node other than one un-upgraded node among the plurality of nodes, determine whether each of the selected un-upgraded nodes satisfies the constraint condition of each group, and if yes, select another one. a node that has not been upgraded until it traverses to each of the unupgraded nodes of the multiple nodes;
- the above a-c process is repeated until the batch division is completed for all the nodes that are not upgraded.
- the scheduling node after the scheduling node sends an upgrade indication to a part of the plurality of nodes in batches according to the first upgrade scheme, the scheduling node is further configured to:
- a second upgrade scenario that meets the constraints of each group is determined, where the first upgrade scenario is different from the second upgrade scenario, and the second upgrade scenario includes: dividing the unupgraded node into at least one batch And according to the second upgrade scheme, send an upgrade indication to the at least part of the unupgraded nodes of the unupgraded nodes in batches.
- the functions described in the embodiments of the present invention may be implemented in hardware, software, firmware, or any combination thereof.
- the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
- Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
- a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.
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的过程,直到对所有未升级的节点完成批次的划分。
上述实现生成第一升级方案的方式仅为一种可能的实现方式,在本发明实施例中,还可以采用其他生成第一升级方案的实现方式,例如,上述实现方式的衍生方式等。比如,在对需要升级的节点进行排序时,可以按照节点受到约束条件从多到少的影响进行排序,即受到约束条件限制最多的节点作为上述步骤302中选取的该一个未升级的节点,而受到约束条件限制次多的节点则作为第一次选出的除该一个未升级的节点外的另一个未升级的节点。在本发明实施例中,只要确保生成的第一升级方案能够满足各个组群各自的约束条件即可。
在一种可能的设计中,调度节点获取分布式存储系统中各个组群的约束条件,可以实现为:调度节点向所有需要升级的节点发送约束条件请求消息,之后接收来自所有需要升级的节点中作为各组群主节点的节点反馈的约束条件。为了避免遗漏某一个组群的约束条件,在本发明实施例一个可能的实现方式中,调度节点可以通过向所有需要升级的节点分 别发送约束条件请求消息的方式,获取各个组群的约束条件。
第二方面,本发明实施例提供一种分布式存储系统升级管理的方法。该方法应用于分布式存储系统的调度节点。其中,分布式存储系统包括多个节点,且每个节点至少属于一个组群。该方法包括:调度节点获取分布式存储系统中各个组群的约束条件;调度节点根据各个组群的约束条件确定第一升级方案;调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示。其中,约束条件包括各组群中允许并行升级的最大节点数,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件。相比较于现有技术中采用滚轮升级的方式对分布式存储系统升级,在本发明实施例中,调度节点可以根据多个组群各自的约束条件,确定满足各群组约束条件的第一升级方案,并按照第一升级方案分批次升级部分需要升级的节点。由此可见,同一时刻处于升级状态的节点由一个增为多个。并且,由于同时升级的多个节点之间并不存在干扰,因此,采用这种并行升级的方式不仅能够保证系统的可靠性,还能够有效节省系统升级所耗费的时间,从而解决分布式存储系统升级效率过低的问题。
在一种可能的设计中,属于同一组群的节点的功能相同或所属物理区域相同。
在一种可能的设计中,在调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示后,调度节点对于未升级的节点,确定满足各个组群的约束条件的第二升级方案,并根据第二升级方案,分批次地向未升级的节点中的至少部分未升级的节点发送升级指示。其中,第一升级方案与第二升级方案不同,第二升级方案包括:将未升级的节点划分成至少一个批次。此外,考虑到在完成部分批次的节点的升级过程后,需要升级的节点数量会减少,而需要升级的节点数量在减少后很可能在一个批次中能够升级更多的节点,因此,第一升级方案中未完成升级的批次可能并不是当前最佳或是较佳的升级方案。为了尽可能在同一批次升级更多的需要升级的节点,以节约分布式存储系统的升级时间,调度节点可以按照第一升级方案仅完成一个批次或是几个批次的节点的升级过程,之后参照已获取的约束条件生成第二升级方案,并按照第二升级方案完成剩余需要升级的节点的升级过程。其中,第一升级方案与第二升级方案不同。相比较于生成多个升级方案的实现方式而言,仅生成第一升级方案,可以在实现并行升级节点的基础上,尽可能少地占用系统资源。而相比较于仅生成第一升级方案的实现方式而言,生成多个升级方案,可以在一定程度上节省升级相同节点所耗费的时间,提升系统的升级效率,尽可能降低对正在执行的业务带来的影响。
在一种可能的设计中,调度节点根据各个组群的约束条件确定第一升级方案包括:
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至步骤307,和/或用于本文所描述的技术的其它过程。在本发明实施例中,分布式存储系统升级管理的装置50还可以包括存储模块53,用于存储调度节点的程序代码和数据。
其中,处理模块52可以实现为处理器或控制器,例如可以是中央处理器(Central Processing 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)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以部署在同一设备中,或者,处理器和存储介质也可以作为分立组件部署在于不同的设备中。
本发明实施例提供一种分布式存储系统,该分布式存储系统包括多个节点,且每个节点至少属于一个组群,该分布式存储系统包括:
调度节点,用于获取分布式存储系统中各个组群的约束条件,约束条件包括各组群中允许并行升级的最大节点数,并根据各个组群的约束条件确定第一升级方案,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件,之后根据第一升级方案,分批次地向多个节点发送升级指示;
或者,
调度节点,用于获取分布式存储系统中各个组群的约束条件,约束条件包括各组群中允许并行升级的最大节点数,并根据各个组群的约束条件确定第一升级方案,第一升级方案包括:将多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个约束条件,之后根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示。
在一种可能的设计中,属于同一组群的节点的功能相同或所属物理区域相同。
在一种可能的设计中,调度节点,还用于:
a.选取多个节点中的一个未升级的节点;
b.针对多个节点中的除一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足各个组群的约束条件,如满足,则选取另一个未升级的节点,直到遍历到多个节点中的每个未升级的节点;
c.将a和b中选取出的所有未升级的节点作为一个批次;
对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完 成批次的划分。
在一种可能的设计中,在调度节点根据第一升级方案,分批次地向多个节点中的部分节点发送升级指示后,调度节点,还用于:
对于未升级的节点,确定满足各个组群的约束条件的第二升级方案,其中,第一升级方案与第二升级方案不同,第二升级方案包括:将未升级的节点划分成至少一个批次,并根据第二升级方案,分批次地向未升级的节点中的至少部分未升级的节点发送升级指示。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。
Claims (16)
- 一种分布式存储系统升级管理的方法,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述方法包括:所述调度节点获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;所述调度节点根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述调度节点根据所述第一升级方案,分批次地向所述多个节点发送升级指示。
- 根据权利要求1所述的方法,其特征在于,属于同一组群的节点的功能相同或所属物理区域相同。
- 根据权利要求1或2所述的方法,其特征在于,所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:a.选取所述多个节点中的一个未升级的节点;b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;c.将a和b中选取出的所有未升级的节点作为一个批次;对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
- 一种分布式存储系统升级管理的方法,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述方法包括:所述调度节点获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;所述调度节点根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述调度节点根据所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示。
- 根据权利要求4所述的方法,其特征在于,属于同一组群的节点的功能相同或所属物理区域相同。
- 根据权利要求4或5所述的方法,其特征在于,在所述调度节点根据第一升级 方案,分批次地向所述多个节点中的部分节点发送升级指示后,所述方法还包括:所述调度节点对于未升级的节点,确定满足所述各个组群的约束条件的第二升级方案,其中,所述第一升级方案与所述第二升级方案不同,所述第二升级方案包括:将所述未升级的节点划分成至少一个批次;所述调度节点根据所述第二升级方案,分批次地向所述未升级的节点中的至少部分未升级的节点发送升级指示。
- 根据权利要求4或5所述的方法,其特征在于,所述调度节点根据所述各个组群的约束条件确定第一升级方案包括:a.选取所述多个节点中的一个未升级的节点;b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;c.将a和b中选取出的所有未升级的节点作为一个批次;对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
- 一种分布式存储系统升级管理的装置,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述装置包括:通信模块,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;处理模块,用于根据所述通信模块获取的所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述通信模块,还用于根据所述处理模块确定的所述第一升级方案,分批次地向所述多个节点发送升级指示。
- 根据权利要求8所述的装置,其特征在于,属于同一组群的节点的功能相同或所属物理区域相同。
- 根据权利要求8或9所述的装置,其特征在于,所述处理模块,还用于:a.选取所述多个节点中的一个未升级的节点;b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;c.将a和b中选取出的所有未升级的节点作为一个批次;对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点 完成批次的划分。
- 一种分布式存储系统升级管理的装置,应用于分布式存储系统的调度节点,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述装置包括:通信模块,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;处理模块,用于根据所述通信模块获取的所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述通信模块,还用于根据所述处理模块确定的所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示。
- 根据权利要求11所述的装置,其特征在于,属于同一组群的节点的功能相同或所属物理区域相同。
- 根据权利要求11或12所述的装置,其特征在于,所述处理模块,还用于对于未升级的节点,确定满足所述各个组群的约束条件的第二升级方案,其中,所述第一升级方案与所述第二升级方案不同,所述第二升级方案包括:将所述未升级的节点划分成至少一个批次;所述通信模块,还用于根据所述处理模块确定的所述第二升级方案,分批次地向所述未升级的节点中的至少部分未升级的节点发送升级指示。
- 根据权利要求11或12所述的装置,其特征在于,所述处理模块,还用于:a.选取所述多个节点中的一个未升级的节点;b.针对所述多个节点中的除所述一个未升级的节点外的另一个未升级的节点,判断与选取出的每个未升级的节点是否满足所述各个组群的约束条件,如满足,则选取所述另一个未升级的节点,直到遍历到所述多个节点中的每个未升级的节点;c.将a和b中选取出的所有未升级的节点作为一个批次;对于未被选取出的未升级的节点,重复上述a-c的过程,直到对所有未升级的节点完成批次的划分。
- 一种分布式存储系统,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述系统包括:调度节点,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;所述调度节点,还用于根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述调度节点,还用于根据所述第一升级方案,分批次地向所述多个节点发送升级指示。
- 一种分布式存储系统,其特征在于,所述分布式存储系统包括多个节点,且每个节点至少属于一个组群,所述系统包括:调度节点,用于获取所述分布式存储系统中各个组群的约束条件,所述约束条件包括各所述组群中允许并行升级的最大节点数;所述调度节点,还用于根据所述各个组群的约束条件确定第一升级方案,所述第一升级方案包括:将所述多个节点划分成至少一个批次,其中,每个批次中的节点均满足各个所述约束条件;所述调度节点,还用于根据所述第一升级方案,分批次地向所述多个节点中的部分节点发送升级指示。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18858954.3A EP3675420B1 (en) | 2017-09-20 | 2018-05-10 | Distributed storage system upgrade management method and device, and distributed storage system |
US16/822,754 US11526276B2 (en) | 2017-09-20 | 2020-03-18 | Upgrade management method and scheduling node, and storage system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710851312.7 | 2017-09-20 | ||
CN201710851312.7A CN109525410B (zh) | 2017-09-20 | 2017-09-20 | 分布式存储系统升级管理的方法、装置及分布式存储系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/822,754 Continuation US11526276B2 (en) | 2017-09-20 | 2020-03-18 | Upgrade management method and scheduling node, and storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019056771A1 true WO2019056771A1 (zh) | 2019-03-28 |
Family
ID=65769484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/086299 WO2019056771A1 (zh) | 2017-09-20 | 2018-05-10 | 分布式存储系统升级管理的方法、装置及分布式存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11526276B2 (zh) |
EP (1) | EP3675420B1 (zh) |
CN (1) | CN109525410B (zh) |
WO (1) | WO2019056771A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580968A (zh) * | 2020-05-07 | 2020-08-25 | 广西大学 | 基于雾计算的医疗云平台负载自动均衡方法、系统及介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142799A (zh) * | 2019-12-26 | 2020-05-12 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111158725B (zh) * | 2019-12-30 | 2024-01-23 | 上海达梦数据库有限公司 | 程序升级方法、装置、终端及存储介质 |
CN112134734B (zh) * | 2020-09-15 | 2023-05-23 | 网宿科技股份有限公司 | 一种网络设备的配置方法及装置 |
WO2022151386A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为技术有限公司 | 一种节点分批升级的方法、相关装置以及设备 |
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 | 杭州宏杉科技股份有限公司 | 存储节点在线升级方法、装置、系统及存储介质 |
CN115473808B (zh) * | 2022-08-25 | 2024-08-09 | 深圳市凯迪仕智能科技股份有限公司 | 任务执行方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160182614A1 (en) * | 2014-12-23 | 2016-06-23 | Cisco Technology, Inc. | Elastic scale out policy service |
CN105786405A (zh) * | 2016-02-25 | 2016-07-20 | 华为技术有限公司 | 一种在线升级方法、装置及系统 |
WO2016176060A1 (en) * | 2015-04-27 | 2016-11-03 | Microsoft Technology Licensing, Llc | Balancing resources in distributed computing environments |
CN106936622A (zh) * | 2015-12-31 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统升级方法和装置 |
Family Cites Families (7)
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 |
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 |
CN106354531B (zh) * | 2016-08-25 | 2020-03-27 | 杭州华为数字技术有限公司 | 物理节点升级方法及装置 |
-
2017
- 2017-09-20 CN CN201710851312.7A patent/CN109525410B/zh active Active
-
2018
- 2018-05-10 EP EP18858954.3A patent/EP3675420B1/en active Active
- 2018-05-10 WO PCT/CN2018/086299 patent/WO2019056771A1/zh unknown
-
2020
- 2020-03-18 US US16/822,754 patent/US11526276B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160182614A1 (en) * | 2014-12-23 | 2016-06-23 | Cisco Technology, Inc. | Elastic scale out policy service |
WO2016176060A1 (en) * | 2015-04-27 | 2016-11-03 | Microsoft Technology Licensing, Llc | Balancing resources in distributed computing environments |
CN106936622A (zh) * | 2015-12-31 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统升级方法和装置 |
CN105786405A (zh) * | 2016-02-25 | 2016-07-20 | 华为技术有限公司 | 一种在线升级方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3675420A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580968A (zh) * | 2020-05-07 | 2020-08-25 | 广西大学 | 基于雾计算的医疗云平台负载自动均衡方法、系统及介质 |
CN111580968B (zh) * | 2020-05-07 | 2023-04-18 | 广西大学 | 基于雾计算的医疗云平台负载自动均衡方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3675420A1 (en) | 2020-07-01 |
CN109525410A (zh) | 2019-03-26 |
CN109525410B (zh) | 2021-05-18 |
EP3675420B1 (en) | 2021-12-01 |
US20200218453A1 (en) | 2020-07-09 |
US11526276B2 (en) | 2022-12-13 |
EP3675420A4 (en) | 2020-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019056771A1 (zh) | 分布式存储系统升级管理的方法、装置及分布式存储系统 | |
US20200137151A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
JP5998206B2 (ja) | クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散 | |
US20080294872A1 (en) | Defragmenting blocks in a clustered or distributed computing system | |
WO2011148563A1 (ja) | 情報処理システム | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
WO2014026524A1 (zh) | 一种分配资源的方法及装置 | |
CN110990154B (zh) | 一种大数据应用优化方法、装置及存储介质 | |
WO2024120205A1 (zh) | 一种应用性能优化方法、装置、电子设备及存储介质 | |
CN113382077B (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
US9063929B2 (en) | Information processing apparatus, information processing method, computer-readable recording medium having stored therein program | |
CN114625500B (zh) | 云环境下拓扑感知的微服务应用调度的方法及应用 | |
JP2008152618A (ja) | ジョブ割当プログラム、方法及び装置 | |
CN105786603A (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN111542809A (zh) | 管理虚拟网络功能 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN112882827B (zh) | 用于负载均衡的方法、电子设备和计算机程序产品 | |
WO2020108337A1 (zh) | 一种cpu资源调度方法及电子设备 | |
JP2013210833A (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
CN117499490A (zh) | 基于多集群的网络调度方法及装置 | |
CN108737144B (zh) | 资源管理的方法和设备 | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
WO2018188958A1 (en) | A method and a host for managing events in a network that adopts event-driven programming framework | |
JP2012038275A (ja) | 取引計算シミュレーションシステム、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18858954 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018858954 Country of ref document: EP Effective date: 20200325 |