CN114546286A - Method, system, storage medium and device for selecting homing group member - Google Patents

Method, system, storage medium and device for selecting homing group member Download PDF

Info

Publication number
CN114546286A
CN114546286A CN202210182755.2A CN202210182755A CN114546286A CN 114546286 A CN114546286 A CN 114546286A CN 202210182755 A CN202210182755 A CN 202210182755A CN 114546286 A CN114546286 A CN 114546286A
Authority
CN
China
Prior art keywords
execution
members
optional
selecting
executive
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.)
Granted
Application number
CN202210182755.2A
Other languages
Chinese (zh)
Other versions
CN114546286B (en
Inventor
刘鑫
孟祥瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210182755.2A priority Critical patent/CN114546286B/en
Publication of CN114546286A publication Critical patent/CN114546286A/en
Application granted granted Critical
Publication of CN114546286B publication Critical patent/CN114546286B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides a method, a system, a storage medium and a device for selecting a homing group member, wherein the method comprises the following steps: selecting a plurality of execution members for the execution member list of the homing group, respectively storing the execution members at a plurality of positions in the execution member list, and recording the selectable execution members at each position and the corresponding fault domain in the selection process; in response to the selection being complete, determining whether a fault domain conflict exists between the execution members selected for the plurality of locations based on the plurality of fault domains; in response to the existence of fault domain conflicts, traversing the optional execution members at each position, and recording a plurality of optional execution member combinations without fault domain conflicts; and selecting an optimal combination from the plurality of optional execution member combinations according to a preset rule, and taking the plurality of optional execution members in the optimal combination as the selected plurality of execution members. The invention can avoid the situation that the failure domain conflict occurs when the homing group of the distributed storage system selects the execution member.

Description

Method, system, storage medium and device for selecting homing group member
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method, a system, a storage medium, and a device for selecting a homing group member.
Background
The distributed storage system receives a read-write service of data through a PG (place Group, a carrier for placing an object). The member list of the PG is composed of OSD (Object-based Storage Device) of different fault domains. When the storage service reaches the distributed storage, the object name of the data object in the storage service is mapped to PG, and then the object name is mapped to OSD through the member list of PG, so that the disk is determined to finish data reading and writing.
The PG has two member lists, which are an Up Set (PG member list calculated by a hash algorithm) and an activating Set (PG member list actually receiving and executing read-write services). Normally, Acting Set will be consistent with Up Set. When the distributed storage cluster has a fault, such as a disk fault, a node power-on/power-off, or an operation of capacity expansion, capacity reduction, or the like, a situation that the up member cannot provide read-write service may occur, and then other OSDs may be selected for replacement.
The existing scheme for selecting the Acting Set members may cause fault domain conflicts among the selected Acting Set members, that is, OSD members selected at different positions of the member list are in the same fault domain. This may result in the PG having a risk of data loss due to failure of more than one member when the failing domain fails.
Disclosure of Invention
In view of the above, an object of the present invention is to provide a method, a system, a storage medium, and a device for selecting a homing group member, so as to solve the problem in the prior art that a failure domain conflict may occur in selecting a homing group member.
Based on the above purpose, the present invention provides a method for selecting a homing group member, comprising the following steps:
selecting a plurality of execution members for the execution member list of the homing group, respectively storing the execution members at a plurality of positions in the execution member list, and recording the selectable execution members at each position and the corresponding fault domain in the selection process;
in response to the selection being complete, determining whether a fault domain conflict exists between the execution members selected for the plurality of locations based on the plurality of fault domains;
in response to the existence of fault domain conflicts, traversing the optional execution members at each position, and recording a plurality of optional execution member combinations without fault domain conflicts;
and selecting an optimal combination from the plurality of optional execution member combinations according to a preset rule, and taking the plurality of optional execution members in the optimal combination as the selected plurality of execution members.
In some embodiments, selecting a plurality of execution members for the list of execution members of the homing group comprises:
traversing each position in the execution member list, and judging whether a pre-distribution member of the executable read-write service of the home group exists or not according to each position;
in response to the pre-allocation member being present, the pre-allocation member is selected as the executing member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises:
responding to the absence of the pre-distribution member, and judging whether an execution member capable of executing the read-write service exists or not;
and responding to the existence of the execution member capable of executing the read-write service, and continuing to be used as the execution member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises:
responding to the absence of an execution member capable of executing the read-write service, and judging whether a history execution member capable of executing the read-write service exists or not;
in response to the presence of the history execution member, the history execution member is selected as the execution member.
In some embodiments, the type of the optional execution member for each location includes at least one of a pre-allocation member, an execution member that can perform read-write transactions, and a history execution member.
In some embodiments, selecting the best combination from the number of optional executive member combinations according to a preset rule comprises:
each optional execution member combination is scored based on the type of the optional execution member in each optional execution member combination, and an optimal combination is selected from a plurality of optional execution member combinations based on the scoring result.
In some embodiments, the method further comprises:
in response to the absence of the fault domain conflict, the selected execution member is treated as a selected execution member of the list of execution members.
In another aspect of the present invention, there is also provided a homing group member selection system, including:
the recording module is configured to select a plurality of execution members for the execution member list of the homing group, store the execution members in a plurality of positions in the execution member list respectively, and record the selectable execution member and the corresponding fault domain at each position in the selection process;
a determining module configured to determine, in response to completion of the selecting, whether a fault domain conflict exists between the execution members selected for the plurality of locations based on the plurality of fault domains;
the traversing module is configured to traverse the optional execution members at each position in response to the existence of the fault domain conflict, and record a plurality of optional execution member combinations without the fault domain conflict; and
and the member selection module is configured for selecting an optimal combination from the plurality of optional executive member combinations according to a preset rule, and taking a plurality of optional executive members in the optimal combination as the selected plurality of executive members.
In yet another aspect of the present invention, a computer-readable storage medium is also provided, storing computer program instructions, which when executed by a processor, implement the above-described method.
In yet another aspect of the present invention, a computer device is further provided, which includes a memory and a processor, the memory storing a computer program, which when executed by the processor performs the above method.
The invention has at least the following beneficial technical effects:
the invention selects a plurality of executive members for the executive member list of the homing group, records the selectable executive members and the corresponding fault domains at each position in the selection process, and determining whether there is a fault domain conflict between the executive members selected for the plurality of locations based on the plurality of fault domains, if a fault domain conflict exists, traversing the optional executive members of each position, recording a plurality of optional executive member combinations without fault domain conflicts, then selecting an optimal combination from the plurality of optional executive member combinations according to a preset rule, and taking the plurality of optional executive members in the optimal combination as the selected plurality of executive members, thereby avoiding the situation that the failure domain conflict occurs when the homing group of the distributed storage system selects the execution member, and an execution member list is more reasonably formed, so that the reliability of the distributed storage system is further guaranteed.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
Fig. 1 is a schematic diagram of a homing group member selection method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a homing group member selection system provided in accordance with an embodiment of the present invention;
fig. 3 is a schematic diagram of a computer-readable storage medium for implementing a homing group member selection method according to an embodiment of the present invention;
fig. 4 is a schematic hardware configuration diagram of a computer device for performing a homing group member selection method according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two non-identical entities with the same name or different parameters, and it is understood that "first" and "second" are only used for convenience of expression and should not be construed as limiting the embodiments of the present invention. Moreover, the terms "comprises" and "comprising," as well as any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements does not include other steps or elements inherent in the present invention.
In view of the above object, a first aspect of the embodiments of the present invention provides an embodiment of a method for selecting a homing group member. Fig. 1 is a schematic diagram illustrating an embodiment of a homing group member selection method provided by the present invention. As shown in fig. 1, the embodiment of the present invention includes the following steps:
step S10, selecting a plurality of execution members for the execution member list of the homing group, wherein the execution members are respectively stored in a plurality of positions in the execution member list, and recording the optional execution members and the corresponding fault domains at each position in the selection process;
step S20, responding to the completion of the selection, and judging whether fault domain conflicts exist among the execution members selected for the plurality of positions based on the plurality of fault domains;
step S30, responding to the existence of fault domain conflict, traversing the optional executive members at each position, and recording a plurality of optional executive member combinations without fault domain conflict;
and step S40, selecting the best combination from the plurality of optional executive member combinations according to a preset rule, and taking the plurality of optional executive members in the best combination as the selected plurality of executive members.
In this embodiment, the fault domain is classified into multiple levels, which may be a node level, a disk level, or the like. Assuming that the fault domain is at a node level, and assuming that two executing members have fault domain conflicts, it means that the disks corresponding to the two executing members belong to the same node, one executing member has the fault domain, and the other member may belong to the same fault domain. Assuming that the fault domain is at the disk level and that there are two executing members that have a fault domain conflict, then a fault domain conflict is defined as the two members corresponding to the same disk. Multiple execution members in the execution list are to correspond to different fault domains.
The embodiment of the invention is mainly applied to an object storage mode. The member list of the homing group is mapped to OSDs, one OSD for each disk. Object-based Storage is a new Storage architecture, object Storage is different from Block and File level Storage, and it uses an elastic self-definable data object as basic Storage unit, and based on the unique ID index of data object, forms a virtual File organization structure. The storage devices of a group of servers are gathered into a storage pool by combining a clustering technology, the software data can be automatically distributed in the cluster, the storage capacity can reach the scale of TB and even EB, and the object storage has the characteristics of high I/O (data input/output), convenient sharing, high expansibility, high reliability, high performance and the like. The OSD is an abbreviation for Object-based Storage Device, that is, an abbreviation for Object-oriented Storage technology Device, and refers to a basic logical unit in a cluster running Object Storage technology (colloquially, a server running Object Storage cluster technology software).
The embodiment of the invention selects a plurality of executive members for the executive member list of the homing group, records the selectable executive members and the corresponding fault domains at each position in the selection process, and determining whether there is a fault domain conflict between the executive members selected for the plurality of locations based on the plurality of fault domains, if the fault domain conflict exists, traversing the optional executive members of each position, recording a plurality of optional executive member combinations without fault domain conflict, then selecting an optimal combination from a plurality of optional executive member combinations according to a preset rule, and taking a plurality of optional executive members in the optimal combination as a plurality of selected executive members, thereby avoiding the situation that the failure domain conflict occurs when the homing group of the distributed storage system selects the execution member, and an execution member list is more reasonably formed, so that the reliability of the distributed storage system is further guaranteed.
In some embodiments, selecting the plurality of execution members for the list of execution members of the homing group comprises: traversing each position in the execution member list, and judging whether a pre-distribution member of the executable read-write service of the home group exists or not aiming at each position; in response to the pre-allocation member being present, the pre-allocation member is selected as the executing member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises: responding to the absence of the pre-distribution member, and judging whether an execution member capable of executing the read-write service exists or not; and responding to the existence of the execution member capable of executing the read-write service, and continuing to be used as the execution member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises: responding to the absence of an execution member capable of executing the read-write service, and judging whether a history execution member capable of executing the read-write service exists or not; in response to the presence of the history execution member, the history execution member is selected as the execution member.
In the above embodiment, specifically, the method for preliminarily selecting the member (i.e., the executing member) of the active Set (the PG member list for actually receiving and executing the read-write service) includes: traversing each position of the member list, and judging 1) if the position is provided with an Up Set (PG member list calculated by Hash algorithm) member (namely a pre-distribution member), and the Up Set member can receive service reading and writing, and selecting the Up Set member as an activating Set member of the position; 2) if the position has an Acting Set member and the Acting Set member can receive the service reading and writing, selecting the Acting Set member to continue to serve as the Acting Set member of the position; 3) if the step 1) and the step 2) are not selected, checking all historical Acting Set members of which the position is not deleted, and if the historical Acting Set members can receive the service, selecting the members as the Acting Set members.
The Up Set member is obtained by calculation through a CRUSH algorithm (Controlled, Scalable, Decentralized Placement of Replicated Data, controllable, extensible, and distributed replica Data Placement algorithm).
In some embodiments, the type of the optional execution member for each location includes at least one of a pre-allocation member, an execution member that can perform read-write transactions, and a history execution member.
In some embodiments, selecting the best combination from the number of optional executive member combinations according to a preset rule comprises: each optional execution member combination is scored based on the type of the optional execution member in the optional execution member combination, and an optimal combination is selected from a plurality of optional execution member combinations based on the scoring result.
In the above embodiment, the rule is set to score each group of optional executive member combinations, and the specific score may be configured according to actual conditions. For example, when the member at a certain position is the same as the pre-assigned member, 3 points are added to the combination, when the member at a certain position is the same as the executive member, 2 points are added to the combination, and when the member at a certain position is the same as the historical executive member, 1 point is added to the combination. Ideally, the executive member is a pre-assigned member. Scores are calculated for each combination, and the highest score is the best combination.
In some embodiments, the method further comprises: in response to the absence of the fault domain conflict, the selected execution member is treated as a selected execution member of the list of execution members.
In this embodiment, a fault domain conflict may occur according to the method of initially selecting an execution member, and a fault domain conflict situation is well avoided according to the method of setting a combination and selecting an optimal combination.
In a second aspect of the embodiments of the present invention, a system for selecting a homing group member is also provided. Fig. 2 is a schematic diagram illustrating an embodiment of a homing group member selection system provided by the present invention. As shown in fig. 2, a homing group member selection system includes: a recording module 10, configured to select multiple execution members for the execution member list of the storage group, where the multiple execution members are stored in multiple locations in the execution member list respectively, and record a selectable execution member and a corresponding fault domain at each location in the selection process; a judging module 20 configured to judge, in response to completion of the selection, whether there is a fault domain conflict between the execution members selected for the plurality of locations based on the plurality of fault domains; a traversing module 30 configured to traverse the optional executive members at each location in response to the existence of the fault domain conflict, and record a plurality of optional executive member combinations for which the fault domain conflict does not exist; and a member selection module 40 configured to select an optimal combination from the plurality of optional executive member combinations according to a preset rule, and take the plurality of optional executive members in the optimal combination as the selected plurality of executive members.
In some embodiments, the recording module 10 includes an execution member preliminary selection module configured to traverse each position in the execution member list, and determine, for each position, whether there is a pre-assigned member of the executable read-write service of the home group; in response to the pre-allocation member being present, the pre-allocation member is selected as the executing member.
In some embodiments, the executing member preliminary selecting module is further configured to determine whether an executing member capable of executing the read-write service exists in response to the absence of the pre-assigned member; and responding to the existence of the execution member capable of executing the read-write service, and continuing to be used as the execution member.
In some embodiments, the executing member preliminary selecting module is further configured to determine whether a historical executing member capable of executing the read-write service exists in response to the absence of the executing member capable of executing the read-write service; in response to the presence of the history execution member, the history execution member is selected as the execution member.
In some embodiments, the type of the optional execution member for each location includes at least one of a pre-allocation member, an execution member that can perform read-write transactions, and a historical execution member.
In some embodiments, member selection module 40 includes a best combination selection module configured to score each of the selectable execution member combinations based on a type of the selectable execution member in each of the selectable execution member combinations, and to select a best combination from the number of selectable execution member combinations based on a result of the scoring.
In some embodiments, the system further includes a fault domain non-conflict module configured to, in response to an absence of a fault domain conflict, treat the selected execution member as a selected execution member of the list of execution members.
The system for selecting the members of the homing group of the embodiment of the invention selects a plurality of executive members for the executive member list of the homing group, and recording the selectable executive members of each position and the corresponding fault domains in the selection process, and judging whether fault domain conflicts exist among the executive members selected for the positions based on the fault domains, if a fault domain conflict exists, traversing the optional executive members of each position, recording a plurality of optional executive member combinations without fault domain conflicts, then selecting an optimal combination from a plurality of optional executive member combinations according to a preset rule, and taking a plurality of optional executive members in the optimal combination as a plurality of selected executive members, thereby avoiding the situation that the failure domain conflict occurs when the homing group of the distributed storage system selects the execution member, and an execution member list is more reasonably formed, so that the reliability of the distributed storage system is further guaranteed.
In a third aspect of the embodiment of the present invention, a computer-readable storage medium is further provided, and fig. 3 is a schematic diagram of a computer-readable storage medium implementing a homing group member selection method according to an embodiment of the present invention. As shown in fig. 3, the computer-readable storage medium 3 stores computer program instructions 31. The computer program instructions 31 when executed by a processor implement the steps of:
selecting a plurality of execution members for the execution member list of the homing group, respectively storing the execution members at a plurality of positions in the execution member list, and recording the selectable execution members at each position and the corresponding fault domain in the selection process;
in response to the selection being complete, determining whether a fault domain conflict exists between the execution members selected for the plurality of locations based on the plurality of fault domains;
in response to the existence of fault domain conflicts, traversing the optional execution members at each position, and recording a plurality of optional execution member combinations without fault domain conflicts;
and selecting an optimal combination from the plurality of optional execution member combinations according to a preset rule, and taking the plurality of optional execution members in the optimal combination as the selected plurality of execution members.
In some embodiments, selecting a plurality of execution members for the list of execution members of the homing group comprises: traversing each position in the execution member list, and judging whether a pre-distribution member of the executable read-write service of the home group exists or not aiming at each position; in response to the pre-allocation member being present, the pre-allocation member is selected as the executing member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises: responding to the absence of the pre-distribution member, and judging whether an execution member capable of executing the read-write service exists or not; and responding to the existence of the execution member capable of executing the read-write service, and continuing to be used as the execution member.
In some embodiments, selecting the plurality of executive members for the list of executive members of the homing group further comprises: responding to the fact that no execution member capable of executing the read-write service exists, and judging whether a historical execution member capable of executing the read-write service exists or not; in response to the presence of the history execution member, the history execution member is selected as the execution member.
In some embodiments, the type of the optional execution member for each location includes at least one of a pre-allocation member, an execution member that can perform read-write transactions, and a history execution member.
In some embodiments, selecting the best combination from the number of optional executive member combinations according to a preset rule comprises: each optional execution member combination is scored based on the type of the optional execution member in the optional execution member combination, and an optimal combination is selected from a plurality of optional execution member combinations based on the scoring result.
In some embodiments, the steps further comprise: in response to the absence of the fault domain conflict, the selected execution member is treated as a selected execution member of the list of execution members.
It is to be understood that all embodiments, features and advantages set forth above with respect to the method for homing group member selection according to the present invention apply equally, without conflict therewith, to the system for homing group member selection and to the storage medium according to the present invention.
In a fourth aspect of the embodiments of the present invention, there is further provided a computer device, including a memory 402 and a processor 401 as shown in fig. 4, where the memory 402 stores therein a computer program, and the computer program, when executed by the processor 401, implements the method of any one of the above embodiments.
Fig. 4 is a schematic hardware structural diagram of an embodiment of a computer device for executing the homing group member selection method according to the present invention. Taking the computer device shown in fig. 4 as an example, the computer device includes a processor 401 and a memory 402, and may further include: an input device 403 and an output device 404. The processor 401, the memory 402, the input device 403 and the output device 404 may be connected by a bus or other means, and fig. 4 illustrates an example of a connection by a bus. The input device 403 may receive entered numeric or character information and generate key signal inputs relating to user settings and function control of the homing group member selection system. The output device 404 may include a display device such as a display screen.
The memory 402, which is a non-volatile computer-readable storage medium, may be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as program instructions/modules corresponding to the homing group member selection method in the embodiments of the present application. The memory 402 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created by use of the homing group member selection method, and the like. Further, the memory 402 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 402 may optionally include memory located remotely from processor 401, which may be connected to local modules via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The processor 401 executes various functional applications of the server and data processing by running nonvolatile software programs, instructions, and modules stored in the memory 402, that is, implements the homing group member selection method of the above-described method embodiment.
Finally, it should be noted that the computer-readable storage medium (e.g., memory) herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of example, and not limitation, nonvolatile memory can include Read Only Memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM), which can act as external cache memory. By way of example and not limitation, RAM is available in a variety of forms such as synchronous RAM (DRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The storage devices of the disclosed aspects are intended to comprise, without being limited to, these and other suitable types of memory.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the disclosure herein may be implemented or performed with the following components designed to perform the functions herein: a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP, and/or any other such configuration.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items. The numbers of the embodiments disclosed in the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (10)

1. A method for a homing group member selection, comprising the steps of:
selecting a plurality of execution members for an execution member list of a homing group, respectively storing the execution members at a plurality of positions in the execution member list, and recording the selectable execution members at each position and a corresponding fault domain in the selection process;
in response to completion of the selection, determining whether a fault domain conflict exists between the selected execution members for the plurality of locations based on a plurality of the fault domains;
in response to the existence of fault domain conflicts, traversing the optional execution members of each position, and recording a plurality of optional execution member combinations without fault domain conflicts;
and selecting an optimal combination from the plurality of optional execution member combinations according to a preset rule, and taking a plurality of optional execution members in the optimal combination as the selected plurality of execution members.
2. The method of claim 1, wherein selecting a plurality of executive members for a list of executive members of a homing group comprises:
traversing each position in the execution member list, and judging whether a pre-distribution member of the executable read-write service of the homing group exists or not aiming at each position;
in response to the pre-allocation member being present, selecting the pre-allocation member as the execution member.
3. The method of claim 2, wherein selecting a plurality of executive members for a list of executive members of a homing group further comprises:
responding to the absence of the pre-distribution member, and judging whether an execution member capable of executing the read-write service exists or not;
and responding to the existence of the execution member of the executable read-write service, and continuing to be the execution member.
4. The method of claim 3, wherein selecting a plurality of executive members for a list of executive members of a homing group further comprises:
responding to the fact that no execution member capable of executing the read-write service exists, and judging whether a historical execution member capable of executing the read-write service exists or not;
in response to the presence of the historical execution member, selecting the historical execution member as the execution member.
5. The method of claim 4, wherein the type of the optional execution member for each location comprises at least one of the pre-allocation member, the execution member that can execute read-write services, and the historical execution member.
6. The method of claim 5, wherein selecting the best combination from the plurality of alternative executive member combinations according to a predetermined rule comprises:
and scoring each optional execution member combination based on the type of the optional execution member in each optional execution member combination, and selecting the optimal combination from the plurality of optional execution member combinations based on the scoring result.
7. The method of claim 1, further comprising:
in response to there being no fault domain conflict, treating the selected execution member as a selected execution member of the list of execution members.
8. A homing group member selection system, comprising:
the recording module is configured to select a plurality of execution members for an execution member list of the homing group, store the execution members in a plurality of positions in the execution member list, and record the selectable execution member and the corresponding fault domain at each position in the selection process;
a determining module configured to determine, in response to completion of the selection, whether there is a fault domain conflict between the execution members selected for the plurality of locations based on the plurality of fault domains;
the traversing module is configured to traverse the optional execution members at each position in response to the existence of the fault domain conflict, and record a plurality of optional execution member combinations without the fault domain conflict; and
and the member selection module is configured to select an optimal combination from the plurality of optional executive member combinations according to a preset rule, and take a plurality of optional executive members in the optimal combination as the selected multiple executive members.
9. A computer-readable storage medium, characterized in that computer program instructions are stored which, when executed by a processor, implement the method of any one of claims 1-7.
10. A computer device comprising a memory and a processor, characterized in that the memory has stored therein a computer program which, when executed by the processor, performs the method according to any one of claims 1-7.
CN202210182755.2A 2022-02-27 2022-02-27 Method, system, storage medium and equipment for selecting members of homing group Active CN114546286B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210182755.2A CN114546286B (en) 2022-02-27 2022-02-27 Method, system, storage medium and equipment for selecting members of homing group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210182755.2A CN114546286B (en) 2022-02-27 2022-02-27 Method, system, storage medium and equipment for selecting members of homing group

Publications (2)

Publication Number Publication Date
CN114546286A true CN114546286A (en) 2022-05-27
CN114546286B CN114546286B (en) 2023-08-08

Family

ID=81679592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210182755.2A Active CN114546286B (en) 2022-02-27 2022-02-27 Method, system, storage medium and equipment for selecting members of homing group

Country Status (1)

Country Link
CN (1) CN114546286B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202589A (en) * 2022-09-14 2022-10-18 浪潮电子信息产业股份有限公司 Placement group member selection method, device, equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427160A (en) * 2019-08-09 2019-11-08 济南浪潮数据技术有限公司 Put in order a group equalization methods and device for distribution
CN111124289A (en) * 2019-12-06 2020-05-08 浪潮电子信息产业股份有限公司 Method, device and medium for selecting homing group members of distributed storage system
CN113126931A (en) * 2021-04-29 2021-07-16 山东英信计算机技术有限公司 Disk selection method and device for distributed storage cluster and readable storage medium
CN113126925A (en) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 Member list determining method, device and equipment and readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427160A (en) * 2019-08-09 2019-11-08 济南浪潮数据技术有限公司 Put in order a group equalization methods and device for distribution
CN111124289A (en) * 2019-12-06 2020-05-08 浪潮电子信息产业股份有限公司 Method, device and medium for selecting homing group members of distributed storage system
CN113126925A (en) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 Member list determining method, device and equipment and readable storage medium
CN113126931A (en) * 2021-04-29 2021-07-16 山东英信计算机技术有限公司 Disk selection method and device for distributed storage cluster and readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202589A (en) * 2022-09-14 2022-10-18 浪潮电子信息产业股份有限公司 Placement group member selection method, device, equipment and readable storage medium

Also Published As

Publication number Publication date
CN114546286B (en) 2023-08-08

Similar Documents

Publication Publication Date Title
CA2587724C (en) Apparatus and method for data validation in flash memory
US8484435B2 (en) Method for updating data in memories using a memory management unit
CN105074675A (en) Computer system including hierarchical block storage device, storage controller, and program
US20190297141A1 (en) Automatic system response to external field-replaceable unit (fru) process
CN114546286A (en) Method, system, storage medium and device for selecting homing group member
WO2015116078A1 (en) Memory data versioning
CN111008181A (en) Method, system, terminal and storage medium for switching storage strategies of distributed file system
CN114527938A (en) Data reading method, system, medium and device based on solid state disk
CN116909488B (en) Method, system, medium, equipment and disk array card for accessing disk array
KR20050076156A (en) Data recovery device and method thereof
JP2009187314A (en) Duplex controller system, cpu module, and program thereof
CN112187738A (en) Service data access control method, device and computer readable storage medium
US11314813B2 (en) Apparatus for guaranteeing integrity of state database in blockchain-based environment and method thereof
CN113626089B (en) Data operation method, system, medium and device based on BIOS (basic input output system)
US20220261354A1 (en) Data access method and apparatus and storage medium
CN113609160A (en) B + tree traversal method, system, storage medium and equipment
CN111858538B (en) Method, device, equipment and medium for configuring BeeGFS quota by cluster
CN111355716B (en) Method, system, equipment and medium for determining unique identifier of virtual machine
CN114610243A (en) Thin volume conversion method, system, storage medium and equipment
CN112783954B (en) Data access method, device and server
CN110781164B (en) Design method, device and medium of database all-in-one machine
US10706169B1 (en) Quarantining storage objects using a quarantine list
CN110780905A (en) BMC software updating method and device based on USB interface
CN113971006B (en) Data writing method, system, storage medium and device based on hard disk
CN113419870A (en) Volume reading and writing method and device

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