WO2021051570A1 - 基于分布式集群的数据存储方法、及其相关设备 - Google Patents

基于分布式集群的数据存储方法、及其相关设备 Download PDF

Info

Publication number
WO2021051570A1
WO2021051570A1 PCT/CN2019/117740 CN2019117740W WO2021051570A1 WO 2021051570 A1 WO2021051570 A1 WO 2021051570A1 CN 2019117740 W CN2019117740 W CN 2019117740W WO 2021051570 A1 WO2021051570 A1 WO 2021051570A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
agent
block device
iscsi
identifier
Prior art date
Application number
PCT/CN2019/117740
Other languages
English (en)
French (fr)
Inventor
杨淑娟
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021051570A1 publication Critical patent/WO2021051570A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Definitions

  • This application relates to the field of data processing, and in particular to a data storage method based on a distributed cluster and related equipment.
  • the ISCSI protocol as a TCP/IP technology-based protocol between the storage and the client, has attracted more and more attention due to its low cost and flexible and convenient features. Compared with the FC protocol, it has the following advantages : The price is lower, the transmission distance is longer, and the existing Ethernet transmission network can be used.
  • the embodiments of the present application provide a data storage method, device, computer equipment, and storage medium based on a distributed cluster to solve the problem of insufficient system resources and affecting the robustness of the system in the case of a large number of user clients.
  • a data storage method based on distributed clusters includes:
  • N N block devices as target block devices to store data, and obtain basic information of the target block devices, where N is a positive integer;
  • each agent includes an iscsi target, and each agent includes an iscsi target.
  • the target block device corresponds to one target agent;
  • a data storage device based on a distributed cluster including:
  • a receiving module configured to receive a block device creation request sent by an iscsi client, the block device creation request carrying parameter information and a client identifier of the iscsi client;
  • the first generating module is configured to generate N block devices as target block devices to store data according to the parameter information, and obtain basic information of the target block devices, where N is a positive integer;
  • the load balancing module is used to select N agents from the ceph distributed cluster as target agents based on the basic information of the N target block devices in a load balancing manner, where each agent includes an iscsi Target, each target block device corresponds to one target agent;
  • the first obtaining module is configured to obtain the target identifier of the iscsi target included in each target agent;
  • the establishment module is used to establish the mapping relationship between the target block device, the target identifier and the client identifier.
  • a computer device includes a memory, a processor, and computer-readable instructions stored in the memory and capable of running on the processor, and the processor implements the above-mentioned distributed cluster-based system when the processor executes the computer-readable instructions The steps of the data storage method.
  • a non-volatile computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the above-mentioned distributed cluster-based The steps of the data storage method.
  • Fig. 1 is a flowchart of a data storage method based on a distributed cluster provided by an embodiment of the present application
  • FIG. 2 is a flowchart of step S2 in a data storage method based on a distributed cluster provided by an embodiment of the present application;
  • FIG. 3 is a flowchart of step S3 in a data storage method based on a distributed cluster provided by an embodiment of the present application;
  • FIG. 4 is a flowchart of step S33 in a data storage method based on a distributed cluster provided by an embodiment of the present application;
  • FIG. 5 is a flowchart of detecting the real-time state of the target agent and removing the down state of the target agent in the data storage method based on a distributed cluster provided by an embodiment of the present application;
  • FIG. 6 is a flowchart of receiving a data access request and sending a data access request to a corresponding iscsi target in a data storage method based on a distributed cluster provided by an embodiment of the present application;
  • FIG. 7 is a schematic diagram of a data storage device based on a distributed cluster provided by an embodiment of the present application.
  • Fig. 8 is a basic structural block diagram of a computer device provided by an embodiment of the present application.
  • the data storage method based on the distributed cluster provided in this application is applied to the server, and the server can be implemented by an independent server or a server cluster composed of multiple servers.
  • a data storage method based on a distributed cluster is provided, which includes the following steps:
  • S1 Receive a block device creation request sent by the iscsi client.
  • the block device creation request carries parameter information and the client identifier of the iscsi client.
  • the iscsi client when the iscsi client needs to create a block device, it sends a block device creation request to the server through the network transmission protocol.
  • the server receives the block device creation request, it obtains the parameter information and the iscsi client's information contained in the request. Client ID.
  • the client identifier of the iscsi client is used to indicate the iscsi client, which may specifically include, but is not limited to, an iscsi client ID, an iscsi client device number, and other character strings that uniquely identify the client.
  • the parameter information includes but is not limited to: block device size, block device identifier, and block device type.
  • iscsi Internet Small Computer System Interface
  • IP-SAN Internet Computer System interface
  • Iscsi uses the TCP/IP protocol, for example, TCP ports 860 and 3260 are generally used.
  • iscsi allows two hosts to negotiate with each other through an IP network and then exchange SCSI commands.
  • Iscsi uses a wide area network to simulate a commonly used high-performance local storage bus to create a storage area network (Storage Area Network and SAN Protocols, SAN). It can run on existing switching and IP infrastructure. However, if you do not use dedicated networks or subnets, such as LAN or VLAN, the deployment performance of iscsi SAN may be severely degraded.
  • iscsi mainly uses TCP/IP technology to make the storage device end through the function of the iscsi target in the iscsi target to make the server side that can provide disks, and then initialize the user function through the iscsi in the iscsi initiator.
  • the iscsi architecture mainly divides the storage device iscsi target and the host iscsi initiator into two parts.
  • the iscsi target is the storage device side, a device that stores disks or RAID, for example, a Linux host can be emulated as an iscsi target;
  • the iscsi initialo is a client that can use the target, that is, the iscsi client in this implementation.
  • S2 According to the parameter information, generate N block devices as target block devices to store data, and obtain basic information of the target block devices, where N is a positive integer.
  • block device creation is performed, N target block devices are obtained, and the basic information of each target block device is obtained.
  • the basic information of the target block device in this embodiment should at least include the block device size, the block device address, and the block device identifier.
  • iqn iscsi qualified name
  • An iqn consists of four parts: iqn. date. domain name: the name assigned by the domain name organization, for example: iqn.2017-06.com.example:storage.disk2.sys.zxy.
  • the number N of generating target block devices can be preset according to actual conditions, and there is no limitation here.
  • the number of block devices generated in this embodiment is three.
  • the generated target block device can be used to store data, and the generation of the target block device is equivalent to constructing a data storage channel, and subsequently storing the corresponding target block device in the data storage process.
  • S3 Based on the basic information of N target block devices, use load balancing to select N agents from the ceph distributed cluster as target agents, where each agent contains an iscsi target, and each target block device Corresponds to a target agent.
  • the host installed with the iscsi target is deployed to the ceph distributed cluster.
  • the iscsi client has a demand, it is determined from the ceph distributed cluster that it meets the user's preset requirements based on the basic information of the N target block devices.
  • the agent with certain requirements through load balancing, obtains the qualified agent from the determined agent, as the target agent, realizes the dynamic acquisition of iscsi target, and ensures the high availability of the system.
  • load balancing refers to balancing the load, that is, work tasks, to multiple operation units for operation, such as FTP servers, Web servers, enterprise core application servers, and other main task servers, so as to coordinate work tasks.
  • the agent is used to manage the persistence and reuse of the link, that is, the association and reuse of the iscsi target and the user client in this embodiment.
  • the target identifier of the iscsi target contained in each target agent is directly obtained from the preset database.
  • the preset database refers to a database specifically used to store the target identifier of the iscsi target included in each target agent.
  • the target identifier is used to indicate the iscsi target, which can specifically include, but is not limited to, a target id, a target name, and other character strings used to uniquely identify the target.
  • S5 Establish a mapping relationship between the target block device, the target identifier, and the client identifier.
  • the server After obtaining the target identifier, the server establishes the mapping relationship between the target block device, the target identifier, and the client identifier, so that subsequent data processing can quickly find the target block device and target that have the mapping relationship.
  • Server ID or client ID Server ID
  • the target block device is used to store data
  • the target identifier and client identifier are used to indicate the path.
  • the block device creation request sent by the iscsi client is received, the parameter information contained in the block device creation request and the client identifier of the iscsi client are received, and N block devices are generated as the target block device according to the parameter information, and the target block device's information is obtained.
  • the parameter information includes the block device size, the block device type, and the block device identifier.
  • step S2 according to the parameter information, N block devices are generated as target block devices to store data, and Obtaining the basic information of the target block device, where N is a positive integer, includes the following steps:
  • S21 According to the size of the block device, a space of the size of the block device is divided from the preset storage device as the storage space of the new block device.
  • the total storage space of the preset storage device is divided according to the size of the block device, and the total storage space is divided into the same size as the block device, and this space is used as the storage space of the new block device .
  • the preset storage device specifically refers to the storage device in the iscsi system, and the storage space of the storage device is much larger than the size of the block device.
  • the block device size is 500M
  • the total storage space of the preset storage device is 50G
  • the total storage space is divided into 49.5G and 0.5G storage space, because the block device size and storage space are both 0.5 G, so the block device is used as the storage space of the new block device.
  • S22 Generate an initial block device in the storage space according to the type of the block device, where the initial block device includes identification information.
  • the storage space of the block device obtained in step S21 is used to generate an initial block device of the same type as the block device in the storage space through a preset new port.
  • the preset new port refers to a processing port specifically used to create a new initial block device.
  • the initial block device with the block device type also ABC is generated in the storage space by using the preset new port.
  • S23 Modify the identification information corresponding to the initial block device to the block device identification to obtain the modified target block device.
  • the initial block device is generated in step S22, the initial block device is identified, the identification information of the initial block device is modified to the same identification information as the block device identification, and the modified initial block device As the target block device.
  • the target block device is generated according to the parameter information, and the identification information of the target block device needs to be the same as the parameter information, so the identification information of the initial block device is modified to be the same as the block device identification The identification information.
  • the information recording table refers to a data table in a preset storage device that is specifically used to record basic information of the target block device.
  • the target block device is generated in the storage space divided by the preset storage device, the basic information corresponding to the target block device is stored in the information record table in the preset storage device.
  • the storage space of the same size as the block device is divided from the preset storage device, and the initial block device is generated in the storage space according to the type of the block device, and the identification information of the initial block device is modified into the block device identification.
  • Obtain the target block device and obtain the basic information of the target block device. In this way, accurate acquisition of the basic information of the target block device is realized, and the accuracy of subsequent selection of the target agent by using the basic information of the target block device is improved.
  • N agents are selected as target agents from the ceph distributed cluster by means of load balancing, where, Each agent contains an iscsi target, and each target block device corresponds to a target agent including the following steps:
  • S31 Determine the target size range based on the basic information and preset requirements of the N target block devices.
  • the target size range that meets the preset requirements is calculated according to the device size.
  • the preset requirement may specifically refer to selecting the maximum and minimum block device sizes from N target block devices as the target size range.
  • the target block devices O, P, and Q there are three target block devices respectively O, P, and Q, and their corresponding block device sizes are 5G, 10G, and 20G respectively. According to preset requirements, the target size range is determined to be 5G-20G.
  • S32 Select an agent that meets the target size range from the ceph distributed cluster.
  • the ceph distributed cluster includes X agents, and the agent includes a space size, where X is a constant greater than N.
  • the space size of each agent in the ceph distributed cluster is compared with the target size range, and the agent with the space size within the target size range is selected.
  • the agents E1, E2, E3, E4, and E5 there are five agents in a ceph distributed cluster, namely E1, E2, E3, E4, and E5, and their corresponding space sizes are 5G, 2G, 15G, 10G, and 3G. If the target size ranges from 5G to 20G, Comparing the space size with the target size range, it is obtained that the space sizes corresponding to the agents E1, E3, and E4 are within the target size range, so the agents E1, E3, and E4 are selected.
  • S33 For each agent, obtain the central processing unit model, disk space parameters, and memory model of the agent.
  • the central processing unit model, disk space parameter, and memory model of each agent selected in step S33 are directly obtained from the preset information table.
  • the preset information table refers to a data table specifically used to store the central processor model, disk space parameters, and memory model of the agent.
  • S is the state score
  • k is the preset weight
  • J Q3 is the model score corresponding to the memory model.
  • the processor score and disk space corresponding to the CPU model are obtained from the preset score table.
  • S is the state score
  • k is the preset weight
  • J Q3 is the model score corresponding to the memory model.
  • the preset score table refers to a data table specifically used to store the processor score corresponding to the CPU model, the parameter score corresponding to the disk space parameter, and the model score corresponding to the memory model.
  • CPU model Q1 corresponds to a processor score of 50
  • CPU model P corresponds to a processor score of 30
  • disk space parameter 1G corresponds to a parameter score of 10
  • disk space parameter 10G corresponds to a parameter score The value is 12
  • the model score for memory model Q3 is 10
  • the model score for memory model I is 10.
  • the status score S is used to represent the performance of the current agent, and the status score S is proportional to the performance of the agent, that is, the larger the status score S, the better the performance of the agent.
  • the disk space parameters in this embodiment refer to the currently available space parameters. When the parameter is larger, the performance of the agent will be relatively better.
  • S35 Based on preset conditions, determine the target agent according to the status score.
  • the agent corresponding to the status score that meets the preset condition is determined as the target agent.
  • the preset condition can be the agent whose status score is in the top ten among all the agents, or the agent whose status score reaches the user's preset score, which can be set according to the actual needs of the user. , There is no restriction here.
  • agent A For example, if there is a status score of 80 for agent A, a status score of 85 for agent B, and a status score of 90 for agent C, if the preset condition is that the status score is greater than or equal to 85, because agent B and The status score of agent C is greater than or equal to 85, so agent B and agent C are determined as the target agent.
  • the target size range is determined, and then the agent that meets the target size range is selected from the ceph distributed cluster, and the central processor model and disk of the agent are obtained.
  • the space parameter and memory model are calculated based on formula (1) to calculate the corresponding state score of each agent, and the target agent is determined according to preset conditions.
  • Formula (1) can quickly and accurately calculate the status score corresponding to each agent, and improve the accuracy of screening the target agent with the status score.
  • step S35 that is, based on preset conditions, determining the target agent according to the status score includes the following steps:
  • S331 Sort the state scores corresponding to all agents in descending order, and select the first N state scores as the target state scores.
  • the state scores corresponding to all the agents selected in step S32 are calculated according to step S34, and the state scores corresponding to all agents are sorted in descending order, and the selection order is The state score of the top X is used as the target state score.
  • agents there are 8 agents, namely a, b, c, d, e, f, and g, and their corresponding state scores are 90, 50, 60, 80, 85, 92, and 75, in descending order After sorting the status scores in the order of, the sorting order is 92, 90, 85, 80, 75, 60, and 50. If X is 3, select the first 3, that is, select the status scores as 92, 90, 85 Goal status score.
  • S332 Obtain the agent terminal corresponding to the target status score as the target agent terminal.
  • the agent corresponding to the target state score is determined as the target agent.
  • the agents f, a, and e corresponding to the target state scores 92, 90, and 85 are determined as the target agent.
  • the state scores corresponding to the agents are sorted in descending order, the first N state scores are selected as the target state scores, and the agent corresponding to the target state score is used as the target agent. . In this way, accurate acquisition of the target agent is achieved, and the accuracy of subsequent establishment of the mapping relationship using the target identifier contained in the target agent is improved.
  • the distributed cluster-based data storage method further includes the following steps:
  • S61 Based on the preset detection mechanism, detect the target agent in real time to obtain the real-time status of the target agent.
  • the real-time status of the target agent is used to reflect the current operating status of the target agent, which can be normal or down. If the real-time status is normal, it means that the target agent corresponding to the real-time status can be normal Working; if the real-time status is down, it means that the target agent corresponding to the real-time status is abnormal and cannot work normally.
  • the real-time status of the target agent is detected in real time through a preset detection mechanism, and the real-time status of the target agent is obtained.
  • the preset detection mechanism refers to a service mechanism specifically used to detect the real-time status of the target agent. Specifically, it can be a regular availability attempt on the target agent using a probe, such as sending a ping or sending a ping to the port of the target agent. If the curl command returns to normal, it means that the target agent is normal. If it returns an exception, it means that the target agent is abnormal or down.
  • the method of detecting the target agent in real time can effectively avoid the failure to discover the problems that cause losses in time when an abnormality occurs on the target agent.
  • step S61 since there are multiple target agents in the set of target agents, in order to ensure that each target agent can work normally, it is necessary to eliminate the abnormal target agent, that is, according to step S61.
  • the target agent whose real-time status is down is detected, the target agent whose real-time status is down is revoked as the target agent, and the target agent whose real-time status is down is removed from the target Remove from the agent collection.
  • target agent sets H, I, J, K, and their corresponding real-time statuses are normal, down, normal, and normal respectively, if the real-time status of the target agent I is detected as down, then The target agent I is removed from the target agent set, that is, only H, J, and K are left in the target agent set after removal.
  • the reliable coordination system can be used to remove the target agent whose status is down.
  • the reliable coordination system can specifically be the ZooKeeper system.
  • ZooKeeper is a distributed, open source distributed application coordination service. It provides consistency services for distributed applications. The functions provided include: configuration maintenance, domain name service, distribution Synchronization, group services, etc.
  • event information such as connection timeout, node data change, and child node change, you can call the corresponding behavior to handle the event.
  • the target agent set is updated according to the preset update method.
  • Update may specifically be refreshing the information list of the target agent set, or it may be re-importing a new target agent list into the target agent set, and there is no restriction here.
  • the target agent whose real-time status is down is removed from the set of target agents, and the target agent is updated.
  • the target agent is updated.
  • the target agent can be removed in time to avoid data loss due to the downtime of the target agent when the target agent is called for data processing. The situation is conducive to improving the stability of data processing and further improving the robustness of the system.
  • the distributed cluster-based data storage method further includes the following steps:
  • S71 Receive the data access request of the iscsi client, and obtain the client identifier of the iscsi client in the data access request, where the data access request includes the client identifier of the client.
  • the server and the iscsi client perform network communication based on Transmission Control Protocol (TCP), and when the data access request sent by the iscsi client is monitored, the access information in the data access request is obtained And the client ID of the iscsi client.
  • TCP Transmission Control Protocol
  • TCP provides a connection-oriented, reliable byte stream service.
  • Connection-oriented means that two applications that use TCP, such as the server and the iscsi client, must establish a TCP connection before exchanging data packets with each other. In a TCP connection, only two parties communicate with each other.
  • S72 Obtain the target identifier corresponding to the client identifier from the mapping relationship, and send a data access request to the iscsi target corresponding to the target identifier.
  • the target identifier corresponding to the client identifier of the iscsi client in step S71 is obtained, and the corresponding target identifier is determined according to the target identifier.
  • target identifier is used to indicate its corresponding unique iscsi target, that is, different target identifiers correspond to different iscsi targets.
  • the data access request is sent to the iscsi target corresponding to the target identifier according to the mapping relationship. In this way, the data access request is sent to the designated iscsi target, the accuracy of data access is improved, and the accuracy of the dynamic configuration of the target agent is further ensured.
  • a data storage device based on a distributed cluster is provided, and the data storage device based on a distributed cluster corresponds to the data storage method based on a distributed cluster in the foregoing embodiment in a one-to-one correspondence.
  • the distributed cluster-based data storage device includes a receiving module 71, a first generating module 72, a load balancing module 73, a first obtaining module 74 and a establishing module 75.
  • the detailed description of each functional module is as follows:
  • the receiving module 71 is configured to receive a block device creation request sent by an iscsi client, and the block device creation request carries parameter information and a client identifier of the iscsi client;
  • the first generating module 72 is configured to generate N block devices as target block devices to store data according to the parameter information, and obtain basic information of the target block devices, where N is a positive integer;
  • the load balancing module 73 is used to select N agents from the ceph distributed cluster as the target agent based on the basic information of the N target block devices, and each agent includes an iscsi target. Each target block device corresponds to a target agent;
  • the first obtaining module 74 is configured to obtain the target identifier of the iscsi target included in each target agent;
  • the establishment module 75 is used to establish the mapping relationship between the target block device, the target identifier and the client identifier.
  • the first generating module 72 includes:
  • the partitioning sub-module is used to partition the space of the block device size from the preset storage device according to the size of the block device as the storage space of the new block device;
  • the second generation sub-module is configured to generate an initial block device in the storage space according to the type of the block device, where the initial block device includes identification information;
  • the modification sub-module is used to modify the identification information corresponding to the initial block device to the block device identification to obtain the modified target block device;
  • the second acquisition sub-module is used to acquire basic information of the target block device.
  • load balancing module 73 includes:
  • the determining module is used to determine the target size range based on the basic information and preset requirements of N target block devices;
  • the selection module is used to select the agent that meets the target size range from the ceph distributed cluster
  • the third acquisition sub-module is used to acquire the central processing unit model, disk space parameters and memory model of the agent for each agent;
  • the calculation sub-module is used to calculate the status score corresponding to each agent according to the following formula:
  • S is the state score
  • k is the preset weight
  • J Q3 is the model score corresponding to the memory model
  • the target agent determination sub-module is used to determine the target agent according to the status score based on preset conditions.
  • the target agent terminal determination sub-module includes:
  • the selection unit is used to sort the state scores corresponding to all the agents in descending order, and select the first N state scores as the target state scores;
  • the fourth acquiring unit is used to acquire the agent terminal corresponding to the target status score as the target agent terminal.
  • the distributed cluster-based data storage device further includes:
  • the detection module is used to detect the target agent in real time based on the preset detection mechanism to obtain the real-time status of the target agent;
  • the removal module is used to remove the target agent whose real-time status is down from the target agent set if it detects that there is a target agent whose real-time status is down, where the target agent set is used to aggregate all targets Agent
  • the update module is used to update the target agent set.
  • the distributed cluster-based data storage device further includes:
  • the fifth acquiring module is used to receive the data access request of the iscsi client and acquire the client identifier of the iscsi client in the data access request, where the data access request includes the client identifier of the client;
  • the sending module is used to obtain the target identifier corresponding to the client identifier from the mapping relationship, and send a data access request to the iscsi target corresponding to the target identifier.
  • FIG. 8 is a block diagram of the basic structure of the computer device 90 in an embodiment of the present application.
  • the computer device 90 includes a memory 91, a processor 92, and a network interface 93 that are communicatively connected to each other through a system bus. It should be pointed out that FIG. 8 only shows a computer device 90 with components 91-93, but it should be understood that it is not required to implement all the illustrated components, and more or fewer components may be implemented instead. Among them, those skilled in the art can understand that the computer device here is a device that can automatically perform numerical calculation and/or information processing in accordance with pre-set or stored instructions.
  • Its hardware includes, but is not limited to, a microprocessor, a dedicated Integrated Circuit (Application Specific Integrated Circuit, ASIC), Programmable Gate Array (Field-Programmable Gate Array, FPGA), Digital Processor (Digital Signal Processor, DSP), embedded equipment, etc.
  • ASIC Application Specific Integrated Circuit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • DSP Digital Processor
  • the computer device may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • the computer device can interact with the user through a keyboard, a mouse, a remote control, a touch panel, or a voice control device.
  • the memory 91 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static memory Random access memory (SRAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), magnetic memory, magnetic disks, optical disks, etc.
  • the memory 91 may be an internal storage unit of the computer device 90, such as a hard disk or memory of the computer device 90.
  • the memory 91 may also be an external storage device of the computer device 90, for example, a plug-in hard disk equipped on the computer device 90, a smart memory card (Smart Media Card, SMC), and a secure digital (Secure Digital, SD) card, flash card (Flash Card), etc.
  • the memory 91 may also include both an internal storage unit of the computer device 90 and an external storage device thereof.
  • the memory 91 is generally used to store an operating system and various application software installed in the computer device 90, such as computer-readable instructions of the distributed cluster-based data storage method.
  • the memory 91 can also be used to temporarily store various types of data that have been output or will be output.
  • the processor 92 may be a central processing unit (Central Processing Unit, CPU), a controller, a microcontroller, a microprocessor, or other data processing chips in some embodiments.
  • the processor 92 is generally used to control the overall operation of the computer device 90.
  • the processor 92 is configured to run computer-readable instructions or process data stored in the memory 91, for example, run the computer-readable instructions of the distributed cluster-based data storage method.
  • the network interface 93 may include a wireless network interface or a wired network interface, and the network interface 93 is generally used to establish a communication connection between the computer device 90 and other electronic devices.
  • This application also provides another implementation manner, that is, to provide a non-volatile computer-readable storage medium that stores a target agent-side data information entry process, and the non-volatile computer-readable storage medium stores the data information entry process of the target agent.
  • the target agent data information entry process can be executed by at least one processor, so that the at least one processor executes the steps of any of the above-mentioned distributed cluster-based data storage methods.
  • the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, The optical disc) includes several instructions to enable a computer device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in the various embodiments of the present application.
  • a computer device which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于分布式集群的数据存储方法、及其相关设备,所述基于分布式集群的数据存储方法包括:接收iscsi客户端发送的块设备创建请求,块设备创建请求携有参数信息和iscsi客户端的客户端标识(S1);根据参数信息,生成N个块设备作为目标块设备以存储数据,并获取目标块设备的基本信息(S2);基于N个目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端(S3);获取每个目标代理端包含的iscsi目标器的目标器标识(S4);建立目标块设备、目标器标识和客户端标识的映射关系(S5)。该技术方案实现对目标代理端的动态配置以及灵活选择,从而提高系统资源调用的灵活性,确保系统的稳健性。

Description

基于分布式集群的数据存储方法、及其相关设备
本申请以2019年9月19日提交的申请号为2019108841120,名称为“基于分布式集群的数据存储方法、及其相关设备”的中国发明专利申请为基础,并要求其优先权。
技术领域
本申请涉及数据处理领域,尤其涉及一种基于分布式集群的数据存储方法、及其相关设备。
背景技术
ISCSI协议作为一种联系存储和客户端之间的基于TCP/IP技术的协议,以其低廉的成本和灵活方便的特性越来越受到人们的关注,相比于FC协议来说,具有以下优势:价格更加低廉、传输距离更远、可使用现有的以太网传输网络。
现有的存储设备大都使用双控制器的架构,相对于单控制器的存储架构来说,其主要的优势在于双控制器之间的冗余:当一个控制器由于某些原因发生宕机的时候,另一个控制器可以立即接管已经宕机的控制器的业务,从而保证了客户端业务不中断,多用于对存储数据保护要求较高的行业,例如银行等。
但是,如果用户客户端的数量很大,iscsi客户端将会成为性能瓶颈,容易导致系统资源不足甚至故障,使得系统稳健性不高。
发明内容
本申请实施例提供一种基于分布式集群的数据存储方法、装置、计算机设备及存储介质,以解决在用户客户端数量庞大的情况下,导致系统资源不足,影响系统稳健性的问题。
一种基于分布式集群的数据存储方法,包括:
接收iscsi客户端发送的块设备创建请求,所述块设备创建请求携有参数信息和所述iscsi客户端的客户端标识;
根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
获取每个所述目标代理端包含的iscsi目标器的目标器标识;
建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
一种基于分布式集群的数据存储装置,包括:
接收模块,用于接收iscsi客户端发送的块设备创建请求,所述块设备创 建请求携有参数信息和所述iscsi客户端的客户端标识;
第一生成模块,用于根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
负载均衡模块,用于基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
第一获取模块,用于获取每个所述目标代理端包含的iscsi目标器的目标器标识;
建立模块,用于建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述基于分布式集群的数据存储方法的步骤。
一种非易失性的计算机可读存储介质,所述非易失性的计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述基于分布式集群的数据存储方法的步骤。
本申请的一个或多个实施例的细节在下面的附图和描述中提出,本申请的其他特征和优点将从说明书、附图以及权利要求变得明显。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于分布式集群的数据存储方法的流程图;
图2是本申请实施例提供的基于分布式集群的数据存储方法中步骤S2的流程图;
图3是本申请实施例提供的基于分布式集群的数据存储方法中步骤S3的流程图;
图4是本申请实施例提供的基于分布式集群的数据存储方法中步骤S33的流程图;
图5是本申请实施例提供的基于分布式集群的数据存储方法中探测目标代理端的实时状态并对宕机状态的目标代理端进行移除的流程图;
图6是本申请实施例提供的基于分布式集群的数据存储方法中接收数据访问请求并向对应的iscsi目标器发送数据访问请求的流程图;
图7是本申请实施例提供的基于分布式集群的数据存储装置的示意图;
图8是本申请实施例提供的计算机设备的基本机构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的基于分布式集群的数据存储方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种基于分布式集群的数据存储方法,包括如下步骤:
S1:接收iscsi客户端发送的块设备创建请求,块设备创建请求携有参数信息和iscsi客户端的客户端标识。
具体地,iscsi客户端在需要进行块设备的创建时,通过网络传输协议向服务端发送块设备创建请求,服务端接收该块设备创建请求时,并获取请求中包含的参数信息和iscsi客户端的客户端标识。
iscsi客户端的客户端标识用于表示iscsi客户端,具体可以包括但不限于是iscsi客户端ID、iscsi客户端设备号等用于唯一标识客户端的字符串。
参数信息包括但不限于:块设备大小、块设备标识和块设备类型等。
其中,iscsi(Internet Small Computer System Interface)是一种Internet计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iscsi使用TCP/IP协议,例如一般使用TCP端口860和3260。本质上,iscsi让两个主机通过IP网络相互协商然后交换SCSI命令,iscsi就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(Storage Area Network and SAN Protocols,SAN),它可以在已有的交换和IP基础架构上运行。然而,如果不使用专用的网络或者子网,例如LAN或者VLAN,iscsi SAN的部署性能可能会严重下降。
需要说明的是,iscsi主要是透过TCP/IP的技术,将储存设备端透过iscsi target中iscsi目标的功能,做成可以提供磁盘的服务器端,再透过iscsi initiator中iscsi初始化用户的功能,做成能够挂载使用iscsi target的客户端,如此便能透过iscsi协议来进行磁盘的应用,也即,iscsi这个架构主要将储存装置iscsi target与使用的主机iscsi initiator分为两个部分。
其中,iscsi target就是储存设备端,存放磁盘或RAID的设备,例如具体可以将Linux主机仿真成iscsi target;iscsi initiato为能够使用target的客户端,也即,本实施中的iscsi客户端。
S2:根据参数信息,生成N个块设备作为目标块设备以存储数据,并获取目标块设备的基本信息,其中,N为正整数。
具体地,根据从块设备创建请求中获取到的参数信息,进行块设备创建,得到N个目标块设备,并获取每个目标块设备的基础本息。
其中,在本实施例中目标块设备的基本信息至少应包括块设备大小、块设备地址和块设备标识。
需要说明的是,iscsi里的initiator和target都可以通过iqn(iscsi qualified name)号来逻辑寻址。一个iqn由四部分组成:iqn.日期.域名:域名组织分配的名字,例如:iqn.2017-06.com.example:storage.disk2.sys.zxy。
其中,生成目标块设备的数量N可根据实际情况进行预先设置,此处不作限制。
优选地,本实施例中生成的块设备数量为3个。
进一步地,生成的目标块设备可以用来存储数据,目标块设备的生成相当于构建好数据存储的通道,后续在数据存储过程中存储到对应的目标块设备即可。
S3:基于N个目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个代理端包含一个iscsi目标器,每个目标块设备对应一个目标代理端。
在本申请实施例中,将安装有iscsi target的主机部署到ceph分布式集群中,在iscsi客户端有需求时,根据N个目标块设备的基本信息从ceph分布式集群中确定符合用户预先设定要求的代理端,通过负载均衡的方式,从确定的代理端中获取符合条件的代理端,作为目标代理端,实现iscsi target的动态获取,确保系统的高可用。
其中,负载均衡是指将负载,即工作任务进行平衡分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
代理端用于管理链接的持久性和重用,也即,本实施例中iscsi target与用户客户端的关联和重用。
S4:获取每个目标代理端包含的iscsi目标器的目标器标识。
具体地,通过直接从预设数据库中获取每个目标代理端包含的iscsi目标器的目标器标识。预设数据库是指专门用于存储每个目标代理端包含的iscsi目标器的目标器标识的数据库。
目标器标识用于表示iscsi目标器,具体可以包括但不限于是目标器id、目标器名称等用于唯一标识目标器的字符串。
S5:建立目标块设备、目标器标识和客户端标识的映射关系。
具体地,在获取到目标器标识之后,服务端建立目标块设备、目标器标识和客户端标识之间的映射关系,以便后续进行数据处理时,能快速找到存在映射关系的目标块设备、目标器标识或客户端标识。
需要说明的是,目标块设备是用于存储数据,目标器标识和客户端标识用于表示路径,通过建立目标块设备、目标器标识和客户端标识的映射关系,相当于构建好数据存储的通道,即可以通过客户端标识获取客户端标识对应的数据,将数据保存到目标器标识对应的目标块设备。
本实施例中,接收iscsi客户端发送的块设备创建请求,块设备创建请求包含的参数信息和iscsi客户端的客户端标识,根据参数信息生成N个块设备作为目标块设备,获取目标块设备的基本信息,并使用负载均衡的方式从ceph 分布式集群中选取N个代理端作为目标代理端,获取目标代理端的目标器标识,最后建立目标块设备、目标器标识及客户端标识之间的映射关系。从而通过将iscsi客户端搭载到分布式集群中,实现目标代理端的动态配置,有利于提高资源利用率,确保系统的稳健性;通过负载均衡的方式,进行目标代理端的选择,提高了资源调配的灵活性。
在一实施例中,参数信息包含块设备大小、块设备类型和块设备标识,如图2所示,步骤S2中,即根据参数信息,生成N个块设备作为目标块设备以存储数据,并获取目标块设备的基本信息,其中,N为正整数包括如下步骤:
S21:根据块设备大小,从预设存储设备中分割出块设备大小的空间作为新建块设备的存储空间。
在本申请实施例中,根据块设备大小,对预设存储设备的总存储空间进行分割,从总存储空间中分割出与块设备大小相同的空间,并将该空间作为新建块设备的存储空间。其中,预设存储设备具体是指iscsi系统中的存储设备,且该存储设备的存储空间远大于块设备大小。
例如,存在块设备大小为500M,预设存储设备的总存储空间为50G,对总存储空间进行分割,则分割成49.5G和0.5G的的存储空间,由于块设备大小与存储空间都为0.5G,故将该块设备的作为新建块设备的存储空间。
S22:根据块设备类型在存储空间中生成初始块设备,其中,初始块设备包含标识信息。
在本申请实施例中,基于块设备类型,利用步骤S21中获取到的块设备的存储空间,通过预设新建端口在该存储空间中生成与块设备类型相同的初始块设备。其中,预设新建端口是指专门用于新建初始块设备的处理端口。
例如,块设备类型为ABC,利用预设新建端口在存储空间中生成块设备类型也为ABC的初始块设备。
S23:将初始块设备对应的标识信息修改成块设备标识,得到修改后的目标块设备。
在本申请实施例中,在步骤S22生成初始块设备之后,对该初始块设备进行标识,将初始块设备的标识信息修改为与块设备标识相同的标识信息,并将修改后的初始块设备作为目标块设备。
需要说明的是,由于参数信息包含块设备标识,目标块设备根据参数信息生成,则该目标块设备的标识信息需与参数信息相同,故将初始块设备的标识信息修改为与块设备标识相同的标识信息。
S24:获取目标块设备的基本信息。
具体地,通过预设存储设备中的信息记录表对目标块设备的基本信息进行提取。其中,信息记录表是指预设存储设备中专门用于记录目标块设备的基本信息的数据表。
需要说明的是,由于目标块设备是在预设存储设备分割出的存储空间中生成,故该目标块设备对应的基本信息存储于该预设存储设备中的信息记录 表。
本实施例中,通过从预设存储设备中分割出与块设备大小相同的存储空间,并在该存储空间中根据块设备类型生成初始块设备,将初始块设备的标识信息修改成块设备标识得到目标块设备,并获取目标块设备的基本信息。从而实现对目标块设备的基本信息的准确获取,提高后续利用目标块设备的基本信息选取目标代理端的准确性。
在一实施例中,如图3所示,步骤S3中,即基于N个目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个代理端包含一个iscsi目标器,每个目标块设备对应一个目标代理端包括如下步骤:
S31:基于N个目标块设备的基本信息和预设要求,确定目标大小范围。
在本申请实施例中,由于目标块设备的基本信息包含块设备大小,根据设备大小计算符合预设要求的目标大小范围。其中,预设要求具体可以是指从N个目标块设备中选取块设备大小最大值与最小值作为目标大小范围。
例如,存在3个目标块设备分别为O、P、Q,其对应的块设备大小分别为5G、10G和20G,根据预设要求,确定目标大小范围为5G~20G。
S32:从ceph分布式集群中选取符合目标大小范围的代理端。
在本申请实施例中,ceph分布式集群中包含X个代理端,且代理端包含空间大小,其中,X为大于N的常数。根据目标大小范围,将ceph分布式集群中每个代理端的空间大小与目标大小范围进行比较,选取空间大小在目标大小范围内的代理端。
例如,ceph分布式集群中存在5个代理端分别为E1、E2、E3、E4和E5,其对应的空间大小分别为5G、2G、15G、10G和3G,若目标大小范围为5G~20G,将空间大小与目标大小范围进行比较,得到代理端E1、E3和E4对应的空间大小在目标大小范围内,故对代理端E1、E3和E4进行选取。
S33:针对每个代理端,获取代理端的中央处理器型号、磁盘空间参数和内存型号。
具体地,根据预设信息表,直接从预设信息表中获取步骤S33中选取到的每个代理端的中央处理器型号、磁盘空间参数和内存型号。其中,预设信息表是指专门用于存储代理端的中央处理器型号、磁盘空间参数和内存型号的数据表。
S34:按照如下公式计算每个代理端对应的状态分值:
Figure PCTCN2019117740-appb-000001
其中,S为状态分值,
Figure PCTCN2019117740-appb-000002
为中央处理器型号对应的处理器分值,
Figure PCTCN2019117740-appb-000003
为磁盘空间参数对应的参数分值,k为预设权值,J Q3为内存型号对应的型号分值。
在本申请实施例中,根据步骤S33获取每个代理端的中央处理器型号、磁盘空间参数和内存型号之后,从预设分值表中分别获取中央处理器型号对应的处理器分值、磁盘空间参数对应的参数分值、内存型号对应的型号分值。 并根据公式(1)计算每个代理端对应的状态分值:
Figure PCTCN2019117740-appb-000004
其中,S为状态分值,
Figure PCTCN2019117740-appb-000005
为中央处理器型号对应的处理器分值,
Figure PCTCN2019117740-appb-000006
为磁盘空间参数对应的参数分值,k为预设权值,J Q3为内存型号对应的型号分值。
预设分值表是指专门用于存储中央处理器型号对应的处理器分值、磁盘空间参数对应的参数分值、内存型号对应的型号分值的数据表。
需要说明的是,不同的中央处理器型号对应的处理器分值不同、不同的磁盘空间参数对应的参数分值不同、不同的内存型号对应的型号分值也不同。
例如,中央处理器型号Q1对应的处理器分值为50,中央处理器型号P对应的处理器分值为30;磁盘空间参数1G对应的参数分值为10,磁盘空间参数10G对应的参数分值为12;内存型号Q3对应的型号分值为10,内存型号I对应的型号分值为10。
进一步地,状态分值S用于表示当前代理端的性能,且状态分值S与代理端端的性能成正比,即状态分值S越大,代理端端的性能越好。
在集群中,为合理利用资源,一般设置的动态空间分配,同时,程序在存储和执行过程中,也会消耗一定的磁盘空间,在本实施例的磁盘空间参数是指当前可利用空间参数,在该参数越大时,该代理端的性能相对会更好。
S35:基于预设条件,根据状态分值确定目标代理端。
具体地,当达到预设条件时,则将符合预设条件的状态分值对应的代理端确定为目标代理端。其中,预设条件具体可以是所有代理端中状态分值在前十名的代理端,也可以是状态分值达到用户预先设定分值的代理端,其具体可以根据用户的实际需求进行设置,此处不做限制。
例如,存在代理端A的状态分值为80,代理端B的状态分值为85,代理端C的状态分值为90,若预设条件为状态分值大于等于85,由于代理端B和代理端C的状态分值都大于等于85,故将代理端B和代理端C确定为目标代理端。
本实施例中,基于N个目标块设备的基本信息和预设要求,确定目标大小范围,再从ceph分布式集群中选取符合目标大小范围的代理端,根据获取代理端的中央处理器型号、磁盘空间参数和内存型号,基于公式(1)计算每个代理端对应的状态分值,并根据预设条件确定目标代理端。通过公式(1)能够快速准确地计算出每个代理端对应的状态分值,提高利用状态分值对目标代理端进行筛选的准确性。
在一实施例中,如图4所示,步骤S35中,即基于预设条件,根据状态分值确定目标代理端包括如下步骤:
S331:将所有代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个状态分值作为目标状态分值。
在本申请实施例中,根据步骤S34计算得到步骤S32中选取到的所有代理端对应的状态分值,将所有代理端对应的状态分值按照从大到小的顺序进 行排序,并选取排序为前X的状态分值作为目标状态分值。
例如,存在8个代理端分别为a、b、c、d、e、f和g,其对应的状态分值分别为90、50、60、80、85、92和75,按照从大到小的顺序对状态分值进行排序后,排序顺序为92、90、85、80、75、60和50,若X为3,则选取前3个,即选取状态分值为92、90、85作为目标状态分值。
S332:获取目标状态分值对应的代理端作为目标代理端。
具体地,根据步骤S331确定的目标状态分值,将目标状态分值对应的代理端确定为目标代理端。
例如,如步骤S331中的例子所示,将目标状态分值92、90、85对应的代理端f、a、e确定为目标代理端。
本实施例中,将代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个状态分值作为目标状态分值,并将目标状态分值对应的代理端作为目标代理端。从而实现对目标代理端的准确获取,提高后续利用目标代理端包含的目标器标识进行建立映射关系的准确性。
在一实施例中,如图5所示,步骤S3之后,该基于分布式集群的数据存储方法还包括如下步骤:
S61:基于预设探测机制,实时对目标代理端进行探测,得到目标代理端的实时状态。
在本申请实施例中,目标代理端的实时状态用于体现目标代理端当前的运行状态,其具体可以是正常或者宕机,若实时状态为正常,则表示该实时状态对应的目标代理端能够正常工作;若实时状态为宕机,则表示该实时状态对应的目标代理端存在异常,无法正常工作。
具体地,通过预设探测机制,对目标代理端的实时状态进行实时探测,并获取目标代理端的实时状态。其中,预设探测机制是指专门用于对目标代理端的实时状态进行探测的服务机制,其具体可以是使用探针定时的对目标代理端进行可用性的尝试,比如对目标代理端的端口发送ping或者curl命令,如果返回正常说明目标代理端正常,如果返回异常说明目标代理端发生异常或者宕机。
需要说明的是,通过实时对目标代理端进行探测的方式可以有效避免在目标代理端出现异常时,无法及时发现导致造成损失的问题。
S62:若探测到存在实时状态为宕机的目标代理端,则从目标代理端集合中移除实时状态为宕机的目标代理端,其中,目标代理端集合用于汇集所有目标代理端。
在本申请实施例中,由于目标代理端集合中存在多个目标代理端,为了保证每个目标代理端都能正常工作,需要对异常的目标代理端进行排除,即根据步骤S61对目标代理端的实时状态的方式,若探测到存在实时状态为宕机的目标代理端,则撤销实时状态为宕机的目标代理端作为目标代理端的资格,并将该实时状态为宕机的目标代理端从目标代理端集合中进行移除。
例如,若存在目标代理端集合分别为H、I、J、K,其对应的实时状态分 别为正常、宕机、正常、正常,若探测到目标代理端I的实时状态为宕机,则将该目标代理端I从目标代理端集合中进行移除,即移除后得到的目标代理端集合只剩H、J和K。
需要说明的是,服务端中存在可靠协调系统,当对实时状态为宕机的目标代理端进行移除时,可以通过可靠协调系统移除状态为宕机的目标代理端。
其中,可靠协调系统具体可以是ZooKeeper系统,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它为分布式应用提供一致性服务,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。当接收到事件信息,比如连接超时、节点数据改变、子节点改变,可以调用相应的行为来处理事件。
S63:更新目标代理端集合。
具体地,当步骤S62中探测到宕机的目标代理端,并对其进行移除后,为了保证目标代理端集合中都为正常的目标代理端,按照预设的更新方式对目标代理端集合进行更新。其中,预设的更新方式具体可以是刷新目标代理端集合的信息列表,也可以是重新往目标代理端集合中导入新的目标代理端列表,此处不做限制。
本实施例中,通过探测目标代理端的实时状态,将实时状态为宕机的目标代理端从目标代理端集合中进行移除,并对目标代理端进行更新。从而实现对目标代理端的实时健康,在目标代理端宕机的状态下,能够及时对目标代理端进行移除,避免调用到目标代理端进行数据处理时,由于目标代理端的宕机导致部分数据遗失的情况,有利于提高数据处理的稳定性,进一步提高系统的稳健性。
在一实施例中,如图6所示,步骤S5之后,该基于分布式集群的数据存储方法还包括如下步骤:
S71:接收iscsi客户端的数据访问请求,并获取数据访问请求中的iscsi客户端的客户端标识,其中,数据访问请求包含客户端的客户端标识。
在本申请实施例中,服务端与iscsi客户端基于传输控制协议(Transmission Control Protocol,TCP)进行网络通信,在监测到iscsi客户端发送的数据访问请求时,获取该数据访问请求中的访问信息和iscsi客户端的客户端标识。
其中,TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用,例如服务端与iscsi客户端,在彼此交换数据包之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信。
S72:从映射关系中获取客户端标识对应的目标器标识,并向目标器标识对应的iscsi目标器发送数据访问请求。
具体地,根据步骤S5建立的目标块设备、目标器标识和客户端标识之间的映射关系,获取步骤S71中iscsi客户端的客户端标识对应的目标器标识,根据该目标器标识确定其对应的iscsi目标器,并将数据访问请求发送到该iscsi目标器。
需要说明的是,目标器标识用于表示其对应的唯一的iscsi目标器,即不 同的目标器标识对应不同的iscsi目标器。
本实施例中,通过接收iscsi客户端的数据访问请求,并获取iscsi客户端的客户端标识,根据映射关系向目标器标识对应的iscsi目标器发送数据访问请求。从而实现将数据访问请求发送到指定的iscsi目标器,提高数据访问的准确性,进一步保证目标代理端的动态配置的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种基于分布式集群的数据存储装置,该基于分布式集群的数据存储装置与上述实施例中基于分布式集群的数据存储方法一一对应。如图7所示,该基于分布式集群的数据存储装置包括接收模块71,第一生成模块72,负载均衡模块73,第一获取模块74和建立模块75。各功能模块详细说明如下:
接收模块71,用于接收iscsi客户端发送的块设备创建请求,块设备创建请求携有参数信息和iscsi客户端的客户端标识;
第一生成模块72,用于根据参数信息,生成N个块设备作为目标块设备以存储数据,并获取目标块设备的基本信息,其中,N为正整数;
负载均衡模块73,用于基于N个目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个代理端包含一个iscsi目标器,每个目标块设备对应一个目标代理端;
第一获取模块74,用于获取每个目标代理端包含的iscsi目标器的目标器标识;
建立模块75,用于建立目标块设备、目标器标识和客户端标识的映射关系。
进一步地,第一生成模块72包括:
分割子模块,用于根据块设备大小,从预设存储设备中分割出块设备大小的空间作为新建块设备的存储空间;
第二生成子模块,用于根据块设备类型在存储空间中生成初始块设备,其中,初始块设备包含标识信息;
修改子模块,用于将初始块设备对应的标识信息修改成块设备标识,得到修改后的目标块设备;
第二获取子模块,用于获取目标块设备的基本信息。
进一步地,负载均衡模块73包括:
确定模块,用于基于N个目标块设备的基本信息和预设要求,确定目标大小范围;
选取模块,用于从ceph分布式集群中选取符合目标大小范围的代理端;
第三获取子模块,用于针对每个代理端,获取代理端的中央处理器型号、磁盘空间参数和内存型号;
计算子模块,用于按照如下公式计算每个代理端对应的状态分值:
Figure PCTCN2019117740-appb-000007
其中,S为状态分值,
Figure PCTCN2019117740-appb-000008
为中央处理器型号对应的处理器分值,
Figure PCTCN2019117740-appb-000009
为磁盘空间参数对应的参数分值,k为预设权值,J Q3为内存型号对应的型号分值;
目标代理端确定子模块,用于基于预设条件,根据状态分值确定目标代理端。
进一步地,目标代理端确定子模块包括:
选取单元,用于将所有代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个状态分值作为目标状态分值;
第四获取单元,用于获取目标状态分值对应的代理端作为目标代理端。
进一步地,该基于分布式集群的数据存储装置还包括:
探测模块,用于基于预设探测机制,实时对目标代理端进行探测,得到目标代理端的实时状态;
移除模块,用于若探测到存在实时状态为宕机的目标代理端,则从目标代理端集合中移除实时状态为宕机的目标代理端,其中,目标代理端集合用于汇集所有目标代理端;
更新模块,用于更新目标代理端集合。
进一步地,该基于分布式集群的数据存储装置还包括:
第五获取模块,用于接收iscsi客户端的数据访问请求,并获取数据访问请求中的iscsi客户端的客户端标识,其中,数据访问请求包含客户端的客户端标识;
发送模块,用于从映射关系中获取客户端标识对应的目标器标识,并向目标器标识对应的iscsi目标器发送数据访问请求。
本申请的一些实施例公开了计算机设备。具体请参阅图8,为本申请的一实施例中计算机设备90基本结构框图。
如图8中所示意的,所述计算机设备90包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图8中仅示出了具有组件91-93的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机 访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器91还可以既包括所述计算机设备90的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备90的操作系统和各类应用软件,例如所述基于分布式集群的数据存储方法的计算机可读指令等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备90的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的计算机可读指令或者处理数据,例如运行所述基于分布式集群的数据存储方法的计算机可读指令。
所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备90与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种非易失性的计算机可读存储介质,所述非易失性的计算机可读存储介质存储有目标代理端数据信息录入流程,所述目标代理端数据信息录入流程可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种基于分布式集群的数据存储方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (20)

  1. 一种基于分布式集群的数据存储方法,其特征在于,所述基于分布式集群的数据存储方法包括:
    接收iscsi客户端发送的块设备创建请求,所述块设备创建请求携有参数信息和所述iscsi客户端的客户端标识;
    根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
    基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
    获取每个所述目标代理端包含的iscsi目标器的目标器标识;
    建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
  2. 如权利要求1所述的基于分布式集群的数据存储方法,其特征在于,所述参数信息包含块设备大小、块设备类型和块设备标识;所述根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息的步骤包括:
    根据所述块设备大小,从预设存储设备中分割出所述块设备大小的空间作为新建块设备的存储空间;
    根据所述块设备类型在所述存储空间中生成初始块设备,其中,所述初始块设备包含标识信息;
    将所述初始块设备对应的所述标识信息修改成所述块设备标识,得到修改后的所述目标块设备;
    获取所述目标块设备的基本信息。
  3. 如权利要求1所述的基于分布式集群的数据存储方法,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤包括:
    基于N个所述目标块设备的基本信息和预设要求,确定目标大小范围;
    从所述ceph分布式集群中选取符合所述目标大小范围的所述代理端;
    针对每个所述代理端,获取所述代理端的中央处理器型号、磁盘空间参数和内存型号;
    按照如下公式计算每个所述代理端对应的状态分值:
    Figure PCTCN2019117740-appb-100001
    其中,S为所述状态分值,
    Figure PCTCN2019117740-appb-100002
    为所述中央处理器型号对应的处理器分值,
    Figure PCTCN2019117740-appb-100003
    为所述磁盘空间参数对应的参数分值,k为预设权值,J Q3为所述内存型号对应的型号分值;
    基于预设条件,根据所述状态分值确定目标代理端。
  4. 如权利要求3所述的基于分布式集群的数据存储方法,其特征在于, 所述基于预设条件,根据所述状态分值确定目标代理端的步骤包括:
    将所有所述代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个所述状态分值作为目标状态分值;
    获取所述目标状态分值对应的代理端作为目标代理端。
  5. 如权利要求1所述的基于分布式集群的数据存储方法,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤之后,所述基于分布式集群的数据存储方法还包括:
    基于预设探测机制,实时对目标代理端进行探测,得到目标代理端的实时状态;
    若探测到存在实时状态为宕机的目标代理端,则从目标代理端集合中移除所述实时状态为宕机的目标代理端,其中,所述目标代理端集合用于汇集所有所述目标代理端;
    更新所述目标代理端集合。
  6. 如权利要求1所述的基于分布式集群的数据存储方法,其特征在于,所述建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系的步骤之后,所述基于分布式集群的数据存储方法还包括:
    接收iscsi客户端的数据访问请求,并获取所述数据访问请求中的所述iscsi客户端的客户端标识,其中,所述数据访问请求包含所述iscsi客户端的客户端标识;
    从所述映射关系中获取所述客户端标识对应的所述目标器标识,并向所述目标器标识对应的iscsi目标器发送数据访问请求。
  7. 一种基于分布式集群的数据存储装置,其特征在于,所述基于分布式集群的数据存储装置包括:
    接收模块,用于接收iscsi客户端发送的块设备创建请求,所述块设备创建请求携有参数信息和所述iscsi客户端的客户端标识;
    第一生成模块,用于根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
    负载均衡模块,用于基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
    第一获取模块,用于获取每个所述目标代理端包含的iscsi目标器的目标器标识;
    建立模块,用于建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
  8. 如权利要求7所述的基于分布式集群的数据存储装置,其特征在于,所述第一生成模块包括:
    分割子模块,用于根据所述块设备大小,从预设存储设备中分割出所述 块设备大小的空间作为新建块设备的存储空间;
    第二生成子模块,用于根据所述块设备类型在所述存储空间中生成初始块设备,其中,所述初始块设备包含标识信息;
    修改子模块,用于将所述初始块设备对应的所述标识信息修改成所述块设备标识,得到修改后的所述目标块设备;
    第二获取子模块,用于获取所述目标块设备的基本信息。
  9. 如权利要求7所述的基于分布式集群的数据存储装置,其特征在于,所述负载均衡模块包括:
    确定模块,用于基于N个所述目标块设备的基本信息和预设要求,确定目标大小范围;
    选取模块,用于从所述ceph分布式集群中选取符合所述目标大小范围的所述代理端;
    第三获取子模块,用于针对每个所述代理端,获取所述代理端的中央处理器型号、磁盘空间参数和内存型号;
    计算子模块,用于按照如下公式计算每个所述代理端对应的状态分值:
    Figure PCTCN2019117740-appb-100004
    其中,S为所述状态分值,
    Figure PCTCN2019117740-appb-100005
    为所述中央处理器型号对应的处理器分值,
    Figure PCTCN2019117740-appb-100006
    为所述磁盘空间参数对应的参数分值,k为预设权值,J Q3为所述内存型号对应的型号分值;
    目标代理端确定子模块,用于基于预设条件,根据所述状态分值确定目标代理端。
  10. 如权利要求9所述的基于分布式集群的数据存储装置,其特征在于,所述目标代理端确定子模块包括:
    选取单元,用于将所有所述代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个所述状态分值作为目标状态分值;
    第四获取单元,用于获取所述目标状态分值对应的代理端作为目标代理端。
  11. 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
    接收iscsi客户端发送的块设备创建请求,所述块设备创建请求携有参数信息和所述iscsi客户端的客户端标识;
    根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
    基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
    获取每个所述目标代理端包含的iscsi目标器的目标器标识;
    建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
  12. 如权利要求11所述的计算机设备,其特征在于,所述参数信息包含块设备大小、块设备类型和块设备标识;所述根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息的步骤包括:
    根据所述块设备大小,从预设存储设备中分割出所述块设备大小的空间作为新建块设备的存储空间;
    根据所述块设备类型在所述存储空间中生成初始块设备,其中,所述初始块设备包含标识信息;
    将所述初始块设备对应的所述标识信息修改成所述块设备标识,得到修改后的所述目标块设备;
    获取所述目标块设备的基本信息。
  13. 如权利要求11所述的计算机设备,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤包括:
    基于N个所述目标块设备的基本信息和预设要求,确定目标大小范围;
    从所述ceph分布式集群中选取符合所述目标大小范围的所述代理端;
    针对每个所述代理端,获取所述代理端的中央处理器型号、磁盘空间参数和内存型号;
    按照如下公式计算每个所述代理端对应的状态分值:
    Figure PCTCN2019117740-appb-100007
    其中,S为所述状态分值,
    Figure PCTCN2019117740-appb-100008
    为所述中央处理器型号对应的处理器分值,
    Figure PCTCN2019117740-appb-100009
    为所述磁盘空间参数对应的参数分值,k为预设权值,J Q3为所述内存型号对应的型号分值;
    基于预设条件,根据所述状态分值确定目标代理端。
  14. 如权利要求13所述的计算机设备,其特征在于,所述基于预设条件,根据所述状态分值确定目标代理端的步骤包括:
    将所有所述代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个所述状态分值作为目标状态分值;
    获取所述目标状态分值对应的代理端作为目标代理端。
  15. 如权利要求11所述的计算机设备,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤之后,所述处理器执行所述计算机可读指令时还包括实现如下步骤:
    基于预设探测机制,实时对目标代理端进行探测,得到目标代理端的实时状态;
    若探测到存在实时状态为宕机的目标代理端,则从目标代理端集合中移除所述实时状态为宕机的目标代理端,其中,所述目标代理端集合用于汇集 所有所述目标代理端;
    更新所述目标代理端集合。
  16. 一种非易失性的计算机可读存储介质,所述非易失性的计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被一种处理器执行时使得所述一种处理器执行如下步骤:
    接收iscsi客户端发送的块设备创建请求,所述块设备创建请求携有参数信息和所述iscsi客户端的客户端标识;
    根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息,其中,N为正整数;
    基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端,其中,每个所述代理端包含一个iscsi目标器,每个所述目标块设备对应一个所述目标代理端;
    获取每个所述目标代理端包含的iscsi目标器的目标器标识;
    建立所述目标块设备、所述目标器标识和所述客户端标识的映射关系。
  17. 如权利要求16所述的非易失性的计算机可读存储介质,其特征在于,所述参数信息包含块设备大小、块设备类型和块设备标识;所述根据所述参数信息,生成N个块设备作为目标块设备以存储数据,并获取所述目标块设备的基本信息的步骤包括:
    根据所述块设备大小,从预设存储设备中分割出所述块设备大小的空间作为新建块设备的存储空间;
    根据所述块设备类型在所述存储空间中生成初始块设备,其中,所述初始块设备包含标识信息;
    将所述初始块设备对应的所述标识信息修改成所述块设备标识,得到修改后的所述目标块设备;
    获取所述目标块设备的基本信息。
  18. 如权利要求16所述的非易失性的计算机可读存储介质,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤包括:
    基于N个所述目标块设备的基本信息和预设要求,确定目标大小范围;
    从所述ceph分布式集群中选取符合所述目标大小范围的所述代理端;
    针对每个所述代理端,获取所述代理端的中央处理器型号、磁盘空间参数和内存型号;
    按照如下公式计算每个所述代理端对应的状态分值:
    Figure PCTCN2019117740-appb-100010
    其中,S为所述状态分值,
    Figure PCTCN2019117740-appb-100011
    为所述中央处理器型号对应的处理器分值,
    Figure PCTCN2019117740-appb-100012
    为所述磁盘空间参数对应的参数分值,k为预设权值,J Q3为所述内存型号对应的型号分值;
    基于预设条件,根据所述状态分值确定目标代理端。
  19. 如权利要求18所述的非易失性的计算机可读存储介质,其特征在于,所述基于预设条件,根据所述状态分值确定目标代理端的步骤包括:
    将所有所述代理端对应的状态分值按照从大到小的顺序进行排序,选取前N个所述状态分值作为目标状态分值;
    获取所述目标状态分值对应的代理端作为目标代理端。
  20. 如权利要求16所述的非易失性的计算机可读存储介质,其特征在于,所述基于N个所述目标块设备的基本信息,使用负载均衡的方式从ceph分布式集群中选取N个代理端作为目标代理端的步骤之后,所述计算机可读指令被一种处理器执行时,使得所述一种处理器还执行如下步骤:
    基于预设探测机制,实时对目标代理端进行探测,得到目标代理端的实时状态;
    若探测到存在实时状态为宕机的目标代理端,则从目标代理端集合中移除所述实时状态为宕机的目标代理端,其中,所述目标代理端集合用于汇集所有所述目标代理端;
    更新所述目标代理端集合。
PCT/CN2019/117740 2019-09-19 2019-11-13 基于分布式集群的数据存储方法、及其相关设备 WO2021051570A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910884112.0 2019-09-19
CN201910884112.0A CN110784515B (zh) 2019-09-19 2019-09-19 基于分布式集群的数据存储方法、及其相关设备

Publications (1)

Publication Number Publication Date
WO2021051570A1 true WO2021051570A1 (zh) 2021-03-25

Family

ID=69383820

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/117740 WO2021051570A1 (zh) 2019-09-19 2019-11-13 基于分布式集群的数据存储方法、及其相关设备

Country Status (2)

Country Link
CN (1) CN110784515B (zh)
WO (1) WO2021051570A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513501A (zh) * 2022-02-15 2022-05-17 银联商务股份有限公司 目标分发方法和系统
WO2023165499A1 (zh) * 2022-03-02 2023-09-07 苏州浪潮智能科技有限公司 一种iSCSI服务负载均衡方法、装置、设备及介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860190A (zh) * 2021-02-25 2021-05-28 西北民族大学 一种基于计算机设备的数据读写方法
CN113010498B (zh) * 2021-03-25 2023-08-08 腾讯科技(深圳)有限公司 一种数据同步方法、装置、计算机设备及存储介质
CN113504951B (zh) * 2021-07-08 2024-02-06 华云数据控股集团有限公司 全局性iSCSI目标器配置方法和装置、计算设备和存储介质
CN115378962B (zh) * 2022-08-18 2023-04-21 北京志凌海纳科技有限公司 一种基于iSCSI协议的存储集群的高可用性连通方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017460A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Assymetric Dynamic Server Clustering with Inter-Cluster Workload Balancing
CN102104600A (zh) * 2011-01-11 2011-06-22 广州懒游网络技术有限公司 分布插件式游戏服务器平台及其协同工作方法
CN108282516A (zh) * 2017-12-21 2018-07-13 创新科存储技术(深圳)有限公司 一种基于iSCSI的分布式存储集群负载均衡方法和装置
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法
CN110046138A (zh) * 2019-03-06 2019-07-23 平安科技(深圳)有限公司 一种iSCSI目标器多实例处理方法及分布式存储系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359279A (zh) * 2008-10-06 2009-02-04 浪潮电子信息产业股份有限公司 一种具有内部路径冗余功能的iscsi磁盘阵列控制器
US10740004B2 (en) * 2015-07-07 2020-08-11 International Business Machines Corporation Efficiently managing movement of large amounts object data in a storage hierarchy
CN106487936A (zh) * 2016-12-29 2017-03-08 深圳市优必选科技有限公司 数据传输方法及设备、分布式存储系统
CN110034951A (zh) * 2019-03-06 2019-07-19 平安科技(深圳)有限公司 iSCSI目标器的故障切换方法及iSCSI主目标器
CN109981768B (zh) * 2019-03-21 2021-12-07 上海霄云信息科技有限公司 分布式网络存储系统中的io多路径规划方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017460A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Assymetric Dynamic Server Clustering with Inter-Cluster Workload Balancing
CN102104600A (zh) * 2011-01-11 2011-06-22 广州懒游网络技术有限公司 分布插件式游戏服务器平台及其协同工作方法
CN108282516A (zh) * 2017-12-21 2018-07-13 创新科存储技术(深圳)有限公司 一种基于iSCSI的分布式存储集群负载均衡方法和装置
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法
CN110046138A (zh) * 2019-03-06 2019-07-23 平安科技(深圳)有限公司 一种iSCSI目标器多实例处理方法及分布式存储系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513501A (zh) * 2022-02-15 2022-05-17 银联商务股份有限公司 目标分发方法和系统
CN114513501B (zh) * 2022-02-15 2024-03-22 银联商务股份有限公司 目标分发方法和系统
WO2023165499A1 (zh) * 2022-03-02 2023-09-07 苏州浪潮智能科技有限公司 一种iSCSI服务负载均衡方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110784515B (zh) 2022-11-22
CN110784515A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
WO2021051570A1 (zh) 基于分布式集群的数据存储方法、及其相关设备
US11736560B2 (en) Distributed network services
US9088503B2 (en) Multi-tenant information processing system, management server, and configuration management method
US9307018B2 (en) Workload deployment with real-time consideration of global network congestion
US9438476B2 (en) Self-organization of a satellite grid
CN107547595B (zh) 云资源调度系统、方法及装置
US11451450B2 (en) Scalable control plane for telemetry data collection within a distributed computing system
US20140032753A1 (en) Computer system and node search method
US10970190B2 (en) Hybrid log viewer with thin memory usage
US8543680B2 (en) Migrating device management between object managers
CN112698838B (zh) 多云容器部署系统及其容器部署方法
CN113014611A (zh) 一种负载均衡方法及相关设备
US20220247647A1 (en) Network traffic graph
US10692168B1 (en) Availability modes for virtualized graphics processing
CN113242299A (zh) 多数据中心的容灾系统、方法、计算机设备及介质
EP3306471A1 (en) Automatic server cluster discovery
WO2024001299A1 (zh) 基于云技术的故障处理方法、云管理平台和相关设备
US11880586B2 (en) Storage array remote replication
CN116340040A (zh) 一种多存储控制器故障切换方法、装置、设备及存储介质
CN116107760A (zh) 一种负载均衡方法、装置、设备及介质
CN114697319A (zh) 一种公有云的租户业务管理方法及装置
CN116566833A (zh) 一种交换机纳管方法、系统、设备及介质

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: 19945605

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19945605

Country of ref document: EP

Kind code of ref document: A1