WO2020244243A1 - 一种将多个存储设备划分设备组的方法及装置 - Google Patents
一种将多个存储设备划分设备组的方法及装置 Download PDFInfo
- Publication number
- WO2020244243A1 WO2020244243A1 PCT/CN2020/071599 CN2020071599W WO2020244243A1 WO 2020244243 A1 WO2020244243 A1 WO 2020244243A1 CN 2020071599 W CN2020071599 W CN 2020071599W WO 2020244243 A1 WO2020244243 A1 WO 2020244243A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- business
- subsystem
- write operations
- data read
- storage
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Definitions
- the embodiments of this specification relate to the field of information technology, and in particular, to a method and device for dividing multiple storage devices into device groups.
- distributed storage methods are often used to store the generated business data.
- Distributed storage means that data is stored on multiple storage devices, and multiple storage devices are used to share the storage load.
- the business system includes multiple business subsystems, and at the same time, multiple storage devices are also deployed.
- the business data generated by each business subsystem needs to be distributed to the aforementioned multiple storage devices for shared storage.
- the storage media of some storage devices are hard disk drives (HDD), and the storage media of other storage devices are solid state drives (SSD).
- HDD hard disk drives
- SSD solid state drives
- a method for dividing multiple storage devices into device groups, and multiple storage devices for distributed storage of business data generated by a business system are deployed in advance;
- the business system includes N business subsystems, N>1;
- the method includes:
- the multiple storage devices According to the frequency with which the business subsystem performs data read and write operations, divide the multiple storage devices into N device groups including at least one storage device, and establish the N business subsystems and the N device groups One-to-one correspondence between each business subsystem, so that each business subsystem stores the generated business data in its corresponding device group;
- the business subsystem that performs data read and write operations more frequently corresponds to the greater the number of target devices; for any business subsystem, the number of target devices corresponding to the business subsystem is: The number of storage devices in which solid state drives are storage media.
- an apparatus for dividing multiple storage devices into device groups, and multiple storage devices for distributed storage of business data generated by a business system are deployed in advance;
- the business system includes N business subsystems, N>1;
- the device includes:
- Analysis module for each business subsystem, analyze how frequently the business subsystem performs data read and write operations
- the grouping module divides the multiple storage devices into N device groups including at least one storage device according to the frequency with which the business subsystem performs data read and write operations, and establishes the N business subsystems and the N One-to-one correspondence between the two device groups, so that each business subsystem stores the generated business data in its corresponding device group;
- the business subsystem that performs data read and write operations more frequently corresponds to the greater the number of target devices; for any business subsystem, the number of target devices corresponding to the business subsystem is: The number of storage devices in which solid state drives are storage media.
- the technical solution provided by the embodiment of this specification allocates a dedicated device group (including at least one storage device) to each business subsystem under the business system, and, based on the frequency with which each business subsystem performs data read and write operations, Determine the number of storage devices that use solid-state hard drives as storage media in the device group corresponding to each business subsystem.
- the business subsystem that performs data read and write operations more frequently corresponds to the greater the number of target devices; for any business subsystem, the number of target devices corresponding to the business subsystem is: The number of storage devices in which solid state drives are storage media.
- Figure 1 is a schematic diagram of an existing business data storage mode
- Figure 2 is a schematic diagram of a business data storage mode provided by an embodiment of this specification.
- FIG. 3 is a schematic flowchart of a method for dividing multiple storage devices into device groups according to an embodiment of this specification
- FIG. 4 is a schematic structural diagram of an apparatus for dividing multiple storage devices into device groups according to an embodiment of this specification
- Fig. 5 is a schematic structural diagram of a computer device used to configure the apparatus in the embodiments of this specification.
- this article refers to storage devices using solid-state hard drives as storage media as SSD storage devices, and storage devices using mechanical hard drives as storage media as HDD storage devices.
- multiple storage devices are deployed to provide data storage services for all business subsystems, and the business data generated by each business subsystem is fragmented and stored in the multiple storage devices.
- the generated business data will also be stored in fragments on all SSD storage devices.
- Data reading and writing are less involved (such as data modification, data reading, etc.). Therefore, the storage space of the solid state drive occupied by this part of business data is actually wasted (the advantage of the fast reading and writing speed of the solid state drive cannot be used). It can be seen that the existing business data storage methods do not have a high performance utilization rate for solid state drives.
- the main purpose of the present invention is to no longer enable multiple storage devices deployed to provide data storage services for each business sub-system indiscriminately, but to group multiple storage devices and assign different device groups to different Business subsystem.
- the more frequently a business subsystem performs data read and write operations the more SSD storage devices are included in the device group allocated for the business subsystem. In this way, the performance of the SSD can be fully utilized to avoid idle performance.
- Fig. 2 is a schematic diagram of a business data storage mode provided by an embodiment of this specification.
- the business subsystem 1 performs data read and write operations more frequently and generates a large amount of data. Therefore, its corresponding device group includes one HDD storage device and one SSD Storage device.
- the business data generated by the business subsystem 1 can be directly stored in the SSD storage device in the device group 1 to increase the data storage speed. Later, as the business data generated by the business subsystem 1 increases, the device group 1 can be added The business data stored in the SSD storage device is migrated to the HDD storage device in device group 1 for storage.
- the business subsystem 2 is similar to the business subsystem 1. Therefore, the device group corresponding to the business subsystem 2 includes one SSD storage device.
- the business subsystem 3 does not perform data read and write operations frequently. Therefore, the device group corresponding to the business subsystem 3 may not include an SSD storage device.
- the "data read and write operation" in this article refers to data writing and/or data reading.
- the data writing operation further includes a data storage operation, a data update operation or a data deletion operation.
- FIG. 3 is a schematic flowchart of a method for dividing multiple storage devices into device groups according to an embodiment of this specification, including the following steps:
- the execution subject of this method may be the business system, or a business management system responsible for managing the business system.
- the more frequently a certain business subsystem performs data reading and writing operations it means that the business subsystem needs to perform data storage, data update, or data reading and writing for the storage device more frequently.
- SSD storage devices need to be allocated as much as possible to give full play to the high-speed read and write performance of SSDs.
- S302 Divide the multiple storage devices into N device groups including at least one storage device according to how frequently the business subsystem performs data read and write operations.
- the main purpose of the embodiments of this specification is to allocate more SSD storage devices for business subsystems with more frequent data read and write operations, and allocate fewer SSD storage devices (or less SSDs) for business subsystems with less frequent data read and write operations. Allocate SSD storage devices).
- the principle of dividing multiple storage devices into N device groups corresponding to N business subsystems one-to-one is as follows: the more frequently the business subsystem performs data read and write operations, the more target devices the business subsystem corresponds to. Large; For any business subsystem, the number of target devices corresponding to the business subsystem is the number of SSD storage devices in the device group corresponding to the business subsystem.
- the number of HDD storage devices in each device group can be flexibly determined. For example, if the amount of business data generated by some business subsystems is large, more HDD storage devices can be allocated to the device group corresponding to the business subsystem; and if the business subsystem performs data storage operations more frequently, Then, only the SSD storage device in the device group corresponding to the business subsystem is responsible for storing the newly generated business data, and the business data with longer storage time of the SSD storage device can be subsequently migrated to the HDD storage device of the same group for storage. To free up valuable SSD space for high-speed writing of newly generated business data.
- S304 Establish a one-to-one correspondence between the N service subsystems and the N device groups.
- each service subsystem can store the generated service data in its corresponding device group.
- the technical solution provided by the embodiment of this specification allocates a dedicated device group (including at least one storage device) to each business subsystem under the business system, and, based on the frequency with which each business subsystem performs data read and write operations, Determine the number of storage devices that use solid-state hard drives as storage media in the device group corresponding to each business subsystem.
- the business subsystem that performs data read and write operations more frequently corresponds to the greater the number of target devices; for any business subsystem, the number of target devices corresponding to the business subsystem is: The number of storage devices in which solid state drives are storage media.
- the business system may specifically be a blockchain business system, and the business system includes a first business subsystem for writing business data to the blockchain and a The second business subsystem of the business data whose duration is greater than the designated duration.
- Blockchain data is sequential. Generally speaking, newly generated blockchain data involves frequent data read and write operations, and blocks that have been stored for a period of time (the time that has been written to the blockchain is greater than the specified time) Chain data does not involve data write operations, and data read operations are not frequent. Therefore, in terms of the grouping strategy, each storage device in the device group corresponding to the first service subsystem can use a solid-state hard disk as the storage medium, and each storage device in the device group corresponding to the second service subsystem can be Use mechanical hard drives as storage media.
- the frequency of data read and write operations performed by the business system can be analyzed again for each business subsystem. That is, when the preset sufficient group condition is satisfied, the multiple storage devices are grouped again through the method shown in FIG. 3.
- the frequency with which each business subsystem performs data read and write operations may change. Therefore, regrouping can be performed periodically to reanalyze the frequency with which each business subsystem performs data read and write operations.
- the regrouping condition may be that a specified period has elapsed.
- any business subsystem may undergo functional changes, and even the functions of each business subsystem may change.
- the regrouping condition may specifically be that the function of at least one service subsystem is updated.
- FIG. 4 is a schematic structural diagram of an apparatus for dividing multiple storage devices into equipment groups according to an embodiment of this specification, and multiple storage devices for distributed storage of business data generated by a business system are pre-deployed; the business system Including N business subsystems, N>1;
- the device includes:
- the analysis module 401 for each business subsystem, analyzes how frequently the business subsystem performs data read and write operations;
- the grouping module 402 divides the multiple storage devices into N device groups including at least one storage device according to how frequently the business subsystem performs data read and write operations, and establishes the N business subsystems and the One-to-one correspondence between N device groups, so that each business subsystem stores the generated business data in its corresponding device group;
- the business subsystem that performs data read and write operations more frequently corresponds to the greater the number of target devices; for any business subsystem, the number of target devices corresponding to the business subsystem is: The number of storage devices in which solid state drives are storage media.
- the analysis module 401 for each business subsystem, counts the number of data read and write operations performed by the business system within a specified period of time, which is used to characterize the frequency of data read and write operations performed by the business system; The frequency with which the business system performs data read and write operations is positively correlated.
- the device also includes:
- the re-analysis module 403 when the preset re-grouping conditions are met, re-analyze the frequency of data read and write operations performed by the business system for each business subsystem.
- the regrouping conditions specifically include:
- the function of at least one business subsystem is updated.
- the business system is a blockchain business system, and the business system includes a first business subsystem for writing business data to the blockchain and a business for reading the business that has been written into the blockchain for a time longer than a specified time
- the second business subsystem of data includes
- Each storage device in the device group corresponding to the first service subsystem uses a solid-state hard disk as a storage medium
- each storage device in the device group corresponding to the second service subsystem uses a mechanical hard disk as a storage medium.
- the embodiments of this specification also provide a computer device, which at least includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the method shown in FIG. 3 when the program is executed.
- FIG. 5 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification.
- the device may include a processor 1410, a memory 1420, an input/output interface 1430, a communication interface 1440, and a bus 1450.
- the processor 1410, the memory 1420, the input/output interface 1430, and the communication interface 1440 realize the communication connection between each other in the device through the bus 1450.
- the processor 1410 may be implemented by a general-purpose CPU (Central Processing Unit, central processing unit), microprocessor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits for execution related Program to implement the technical solutions provided in the embodiments of this specification.
- a general-purpose CPU Central Processing Unit, central processing unit
- microprocessor microprocessor
- application specific integrated circuit Application Specific Integrated Circuit, ASIC
- ASIC Application Specific Integrated Circuit
- the memory 1420 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory, random access memory), static storage device, dynamic storage device, etc.
- the memory 1420 may store an operating system and other application programs. When the technical solutions provided in the embodiments of the present specification are implemented through software or firmware, related program codes are stored in the memory 1420 and called and executed by the processor 1410.
- the input/output interface 1430 is used to connect an input/output module to realize information input and output.
- the input/output/module can be configured in the device as a component (not shown in the figure), or can be connected to the device to provide corresponding functions.
- the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and an output device may include a display, a speaker, a vibrator, an indicator light, and the like.
- the communication interface 1440 is used to connect a communication module (not shown in the figure) to implement communication interaction between the device and other devices.
- the communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
- the bus 1450 includes a path to transmit information between various components of the device (for example, the processor 1410, the memory 1420, the input/output interface 1430, and the communication interface 1440).
- the above device only shows the processor 1410, the memory 1420, the input/output interface 1430, the communication interface 1440, and the bus 1450, in the specific implementation process, the device may also include the necessary equipment for normal operation. Other components.
- the above-mentioned device may also include only the components necessary to implement the solutions of the embodiments of the present specification, rather than all the components shown in the figures.
- the embodiment of this specification also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the function of the method shown in FIG. 3 is realized.
- Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
- the information can be computer-readable instructions, data structures, program modules, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
- a typical implementation device is a computer.
- the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A console, a tablet computer, a wearable device, or a combination of any of these devices.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种将多个存储设备划分设备组的方法及装置。为业务系统下的每个业务子系统分配专用的设备组(包括至少一个存储设备),并且,基于每个业务子系统执行数据读写操作的频繁程度,确定每个业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
Description
本说明书实施例涉及信息技术领域,尤其涉及一种将多个存储设备划分设备组的方法及装置。
在涉及海量的业务数据存储的相关场景下,为了克服传统的中心化存储方式存在的性能瓶颈,往往采用分布式存储方式对产生的业务数据进行存储。分布式存储方式是指将数据分散存储在多台存储设备上,利用多台存储设备分担存储负荷。
具体而言,如图1所示,业务系统包括多个业务子系统,同时,也部署有多个存储设备。每个业务子系统产生的业务数据都需要被分散到上述多个存储设备上进行分担存储。
在部署的多个存储设备中,有些存储设备的存储介质是机械硬盘(Hard Disk Drive,HDD),而另一些存储设备的存储介质是固态硬盘(Solid State Drives,SSD)。采用HDD的成本较低,但是数据读写速度也较慢;采用SSD的成本较高,但是数据读写速度也较快。
然而,出于成本考虑,在部署的多个存储设备中,存储介质为固态硬盘的存储设备的数量是有限的。
发明内容
为了提升对以固态硬盘为存储介质的存储设备的性能利用率,本说明书实施例提供一种将多个存储设备划分设备组的方法及装置,技术方案如下:
根据本说明书实施例的第1方面,提供一种将多个存储设备划分设备组的方法,预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备;所述业务系统包括N个业务子系统,N>1;
所述方法包括:
针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度;
根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备划分为N个包括至少一个存储设备的设备组,并建立所述N个业务子系统与所述N个设备组之间的一一对应关系,以便每个业务子系统将产生的业务数据存储于自身对应的设备组;
其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
根据本说明书实施例的第2方面,提供一种将多个存储设备划分设备组的装置,预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备;所述业务系统包括N个业务子系统,N>1;
所述装置包括:
分析模块,针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度;
分组模块,根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备划分为N个包括至少一个存储设备的设备组,并建立所述N个业务子系统与所述N个设备组之间的一一对应关系,以便每个业务子系统将产生的业务数据存储于自身对应的设备组;
其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
本说明书实施例所提供的技术方案,为业务系统下的每个业务子系统分配专用的设备组(包括至少一个存储设备),并且,基于每个业务子系统执行数据读写操作的频繁程度,确定每个业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
通过本说明书实施例,将数量有限的固态硬盘存储设备进行合理分配,执行数据读写操作越频繁的业务子系统分配到的固态硬盘存储设备越多,如此,可以提升对有限的固态硬盘存储设备的性能利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要通过的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有的业务数据存储模式的示意图;
图2是本说明书实施例提供的业务数据存储模式的示意图;
图3是本说明书实施例提供的一种将多个存储设备划分设备组的方法的流程示意图;
图4是本说明书实施例提供的一种将多个存储设备划分设备组的装置的结构示意图;
图5是用于配置本说明书实施例装置的一种计算机设备的结构示意图。
为了描述的方便,本文将以固态硬盘为存储介质的存储设备称为SSD存储设备,将以机械硬盘为存储介质的存储设备称为HDD存储设备。
在实际应用中,业务系统下的不同业务子系统往往负责不同的业务部分,实现不同的业务功能。对于有的业务功能而言,负责该业务功能的业务子系统需要频繁进行数据读写操作;而对于有的业务功能而言,负责该业务功能的业务子系统进行数据读写操作的频率并不高。
而在现有技术中,如图1所示,部署的多个存储设备为所有业务子系统提供数据存储服务,每个业务子系统产生的业务数据都会分片存储于这多个存储设备中。对于不频繁进行数据读写操作的业务子系统(如图1中的业务子系统3)而言,其产生的业务数据也会分片存储于所有SSD存储设备上,然而,由于这部分业务数据较少涉及数据读写(如数据修改、数据读取等),因此,这部分业务数据所占的固态硬盘的存储空间事实上被浪费掉了(不能发挥固态硬盘读写速度快的优势)。可见,现有的业务数据存储方式对固态硬盘的性能利用率不高。
为此,想要提升固态硬盘的性能利用率,就意味着需要将固态硬盘尽可能用于频繁 的数据读写场景。因此,本发明的主要目的是,不再使得部署的多个存储设备无差别地为每个业务子系统提供数据存储服务,而是对多个存储设备进行分组,不同的设备组分配给不同的业务子系统。其中,某个业务子系统执行数据读写操作越频繁,则为该业务子系统分配的设备组中包括越多的SSD存储设备。如此,可以充分利用SSD的性能,避免性能闲置。
图2是本说明书实施例提供的业务数据存储模式的示意图。如图2所示,将部署的多个存储设备分组,业务子系统1执行数据读写操作较频繁且产生的数据量较大,因此,其对应的设备组中包括一个HDD存储设备与一个SSD存储设备。具体地,业务子系统1产生的业务数据可以直接存入设备组1中的SSD存储设备中,以提升数据存储速度,后续随着业务子系统1产生的业务数据增多,可以将设备组1中的SSD存储设备所存储的业务数据迁移到设备组1中的HDD存储设备进行存储。
业务子系统2与业务子系统1类似,因此,业务子系统2对应的设备组中包括1个SSD存储设备。业务子系统3执行数据读写操作不频繁,因此,业务子系统3对应的设备组中可以不包括SSD存储设备。
此外还需要说明的是,本文中的“数据读写操作”,是指数据写入和/或数据读取。其中,数据写入操作进一步包括数据存储操作、数据更新操作或数据删除操作。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图3是本说明书实施例提供的一种将多个存储设备划分设备组的方法的流程示意图,包括如下步骤:
S300:针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度。
在本说明书实施例中,预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备。在本文中,为了描述的方便,假设所述业务系统包括N个业务子系统,N>1。
本方法的执行主体可以是所述业务系统,也可以是负责管理所述业务系统的业务管理系统。
在本说明书实施例中,某个业务子系统执行数据读写操作的越频繁,意味着该业务子系统需要越频繁地针对存储设备进行数据存储、数据更新或数据读写。对于执行数据读写操作较频繁的业务子系统,需要尽可能为其分配SSD存储设备,以充分发挥SSD的高速读写性能。
在本说明书实施例中,针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度的方式可以有多种。
例如,可以针对每个业务子系统,统计在指定时段内该业务系统执行数据读写操作的次数,用于表征该业务系统执行数据读写操作的频繁程度;其中,统计得到的次数与该业务系统执行数据读写操作的频繁程度正相关。
又如,可以针对每个业务子系统,统计在连续多个指定时间间隔内该业务系统执行数据读写操作的次数,然后计算多个指定时间间隔内统计得到的次数的平均值,用于表征该业务系统执行数据读写操作的频繁程度;其中,计算的平均值与该业务系统执行数据读写操作的频繁程度正相关。
S302:根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备划分为N个包括至少一个存储设备的设备组。
本说明书实施例的主要目的是,为数据读写操作较频繁的业务子系统分配较多的SSD存储设备,为数据读写操作较不频繁的业务子系统分配较少的SSD存储设备(或不分配SSD存储设备)。
因此,将多个存储设备划分为与N个业务子系统一一对应的N个设备组的方式所需要遵守的原则为:执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中SSD存储设备的数量。
需要说明的是,在本说明书实施例中,可以灵活确定每个设备组中HDD存储设备的数量。例如,如果有的业务子系统产生的业务数据的数据量较大,那么可以为该业务子系统对应的设备组中多分配HDD存储设备;并且,如果该业务子系统执行数据存储操作比较频繁,那么可以只由该业务子系统对应的设备组中的SSD存储设备负责存储新产生的业务数据,而SSD存储设备存储时间较长的业务数据可以后续迁移至同组的HDD存储设备上进行存储,以腾出宝贵的SSD空间用于新产生的业务数据的高速写入。
S304:建立所述N个业务子系统与所述N个设备组之间的一一对应关系。
通过步骤S304,可以使得每个业务子系统将产生的业务数据存储于自身对应的设备组。
本说明书实施例所提供的技术方案,为业务系统下的每个业务子系统分配专用的设备组(包括至少一个存储设备),并且,基于每个业务子系统执行数据读写操作的频繁程度,确定每个业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
通过本说明书实施例,将数量有限的固态硬盘存储设备进行合理分配,执行数据读写操作越频繁的业务子系统分配到的固态硬盘存储设备越多,如此,可以提升对有限的固态硬盘存储设备的性能利用率。
此外,在本说明书实施例中,所述业务系统具体可以为区块链业务系统,所述业务系统包括用于向区块链写入业务数据的第一业务子系统与用于读取已写入区块链的时长大于指定时长的业务数据的第二业务子系统。
区块链数据具有时序性,一般而言,新产生的区块链数据会涉及频繁的数据读写操作,而已经存储了一段时间(已写入区块链的时长大于指定时长)的区块链数据不会涉及数据写入操作,数据读取操作也并不频繁。因此,在分组策略上,所述第一业务子系统对应的设备组中每个存储设备可以皆以固态硬盘为存储介质,所述第二业务子系统对应的设备组中每个存储设备可以皆以机械硬盘为存储介质。
另外,在本说明书实施例中,可以当满足预设的重分组条件时,重新针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度。也即,当满足预设的充分组条件时,重新通过图3所示的方法对多个存储设备进行分组。
例如,在实践中,每个业务子系统执行数据读写操作的频繁程度可能发生变化,因此,可以定期进行重分组,重新分析每个业务子系统执行数据读写操作的频繁程度。这种情况下,所述重分组条件可以为经过指定周期。
又如,在实践中,任一业务子系统都可能发生功能变动,甚至,每个业务子系统的功能都发生变化。这种情况下,所述重分组条件具体可以是至少一个业务子系统的功能被更新。
图4是本说明书实施例提供的一种将多个存储设备划分设备组的装置的结构示意图, 预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备;所述业务系统包括N个业务子系统,N>1;
所述装置包括:
分析模块401,针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度;
分组模块402,根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备划分为N个包括至少一个存储设备的设备组,并建立所述N个业务子系统与所述N个设备组之间的一一对应关系,以便每个业务子系统将产生的业务数据存储于自身对应的设备组;
其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
所述分析模块401,针对每个业务子系统,统计在指定时段内该业务系统执行数据读写操作的次数,用于表征该业务系统执行数据读写操作的频繁程度;统计得到的次数与该业务系统执行数据读写操作的频繁程度正相关。
所述装置还包括:
重分析模块403,当满足预设的重分组条件时,重新针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度。
所述重分组条件,具体包括:
至少一个业务子系统的功能被更新。
所述业务系统为区块链业务系统,所述业务系统包括用于向区块链写入业务数据的第一业务子系统与用于读取已写入区块链的时长大于指定时长的业务数据的第二业务子系统;
所述第一业务子系统对应的设备组中每个存储设备皆以固态硬盘为存储介质,所述第二业务子系统对应的设备组中每个存储设备皆以机械硬盘为存储介质。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示方法的功能。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。
处理器1410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。
输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示方法的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (11)
- 一种将多个存储设备划分设备组的方法,预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备;所述业务系统包括N个业务子系统,N>1;所述方法包括:针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度;根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备划分为N个包括至少一个存储设备的设备组,并建立所述N个业务子系统与所述N个设备组之间的一一对应关系,以便每个业务子系统将产生的业务数据存储于自身对应的设备组;其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
- 如权利要求1所述的方法,针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度,具体包括:针对每个业务子系统,统计在指定时段内该业务系统执行数据读写操作的次数,用于表征该业务系统执行数据读写操作的频繁程度;统计得到的次数与该业务系统执行数据读写操作的频繁程度正相关。
- 如权利要求1所述的方法,所述方法还包括:当满足预设的重分组条件时,重新针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度。
- 如权利要求2所述的方法,所述重分组条件,具体包括:至少一个业务子系统的功能被更新。
- 如权利要求1所述的方法,所述业务系统为区块链业务系统,所述业务系统包括用于向区块链写入业务数据的第一业务子系统与用于读取已写入区块链的时长大于指定时长的业务数据的第二业务子系统;所述第一业务子系统对应的设备组中每个存储设备皆以固态硬盘为存储介质,所述第二业务子系统对应的设备组中每个存储设备皆以机械硬盘为存储介质。
- 一种将多个存储设备划分设备组的装置,预先部署用于对业务系统产生的业务数据进行分布式存储的多个存储设备;所述业务系统包括N个业务子系统,N>1;所述装置包括:分析模块,针对每个业务子系统,分析该业务子系统执行数据读写操作的频繁程度;分组模块,根据该业务子系统执行数据读写操作的频繁程度,将所述多个存储设备 划分为N个包括至少一个存储设备的设备组,并建立所述N个业务子系统与所述N个设备组之间的一一对应关系,以便每个业务子系统将产生的业务数据存储于自身对应的设备组;其中,执行数据读写操作越频繁的业务子系统所对应的目标设备数量越大;针对任一业务子系统,该业务子系统对应的目标设备数量为,该业务子系统对应的设备组中以固态硬盘为存储介质的存储设备的数量。
- 如权利要求6所述的装置,所述分析模块,针对每个业务子系统,统计在指定时段内该业务系统执行数据读写操作的次数,用于表征该业务系统执行数据读写操作的频繁程度;统计得到的次数与该业务系统执行数据读写操作的频繁程度正相关。
- 如权利要求6所述的装置,所述装置还包括:重分析模块,当满足预设的重分组条件时,重新针对每个业务子系统,分析该业务系统执行数据读写操作的频繁程度。
- 如权利要求8所述的装置,所述重分组条件,具体包括:至少一个业务子系统的功能被更新。
- 如权利要求6所述的装置,所述业务系统为区块链业务系统,所述业务系统包括用于向区块链写入业务数据的第一业务子系统与用于读取已写入区块链的时长大于指定时长的业务数据的第二业务子系统;所述第一业务子系统对应的设备组中每个存储设备皆以固态硬盘为存储介质,所述第二业务子系统对应的设备组中每个存储设备皆以机械硬盘为存储介质。
- 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1~5任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/803,449 US11099759B2 (en) | 2019-06-03 | 2020-02-27 | Method and device for dividing storage devices into device groups |
| US17/408,610 US11354055B2 (en) | 2019-06-03 | 2021-08-23 | Method and device for dividing storage devices into device groups |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910475974.8 | 2019-06-03 | ||
| CN201910475974.8A CN110347497B (zh) | 2019-06-03 | 2019-06-03 | 一种将多个存储设备划分设备组的方法及装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/803,449 Continuation US11099759B2 (en) | 2019-06-03 | 2020-02-27 | Method and device for dividing storage devices into device groups |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020244243A1 true WO2020244243A1 (zh) | 2020-12-10 |
Family
ID=68181430
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/071599 Ceased WO2020244243A1 (zh) | 2019-06-03 | 2020-01-11 | 一种将多个存储设备划分设备组的方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN110347497B (zh) |
| WO (1) | WO2020244243A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110347497B (zh) * | 2019-06-03 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
| US11099759B2 (en) | 2019-06-03 | 2021-08-24 | Advanced New Technologies Co., Ltd. | Method and device for dividing storage devices into device groups |
| CN112328688B (zh) * | 2020-11-09 | 2023-10-13 | 广州虎牙科技有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8171228B2 (en) * | 2009-11-12 | 2012-05-01 | Oracle International Corporation | Garbage collection in a cache with reduced complexity |
| CN103076993A (zh) * | 2012-12-28 | 2013-05-01 | 北京思特奇信息技术股份有限公司 | 一种密集型系统中的存储系统及方法 |
| CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
| CN103713861A (zh) * | 2014-01-09 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于层次划分的文件处理方法及系统 |
| CN204595827U (zh) * | 2015-05-12 | 2015-08-26 | 浙江诸暨奇创电子科技有限公司 | 一种高性能混合硬盘 |
| CN110347497A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5089896B2 (ja) * | 2006-03-17 | 2012-12-05 | 株式会社日立製作所 | マイクロプロセッサの負荷分散機能を備えたストレージシステム |
| US20120005376A1 (en) * | 2009-12-30 | 2012-01-05 | Psion Teklogix Inc. | Method and system for connection management and resource sharing |
| CN102882969B (zh) * | 2012-09-25 | 2015-12-16 | 浙江图讯科技股份有限公司 | 一种工矿企业的安全生产云服务平台 |
| CN106055277A (zh) * | 2016-05-31 | 2016-10-26 | 重庆大学 | 一种去中心化的分布式异构存储系统数据分布方法 |
| CN106612280B (zh) * | 2016-12-26 | 2019-10-22 | 北京鼎普科技股份有限公司 | 一种终端设备虚拟化管理的方法及系统 |
| CN108519862B (zh) * | 2018-03-30 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | 区块链系统的存储方法、装置、系统和存储介质 |
| CN109388341A (zh) * | 2018-08-28 | 2019-02-26 | 安徽继远软件有限公司 | 一种基于Device Mapper的系统存储优化方法 |
| CN109522362B (zh) * | 2018-10-17 | 2020-09-15 | 北京瑞卓喜投科技发展有限公司 | 基于区块链数据的非完全数据同步方法、系统及设备 |
-
2019
- 2019-06-03 CN CN201910475974.8A patent/CN110347497B/zh active Active
-
2020
- 2020-01-11 WO PCT/CN2020/071599 patent/WO2020244243A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8171228B2 (en) * | 2009-11-12 | 2012-05-01 | Oracle International Corporation | Garbage collection in a cache with reduced complexity |
| CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
| CN103076993A (zh) * | 2012-12-28 | 2013-05-01 | 北京思特奇信息技术股份有限公司 | 一种密集型系统中的存储系统及方法 |
| CN103713861A (zh) * | 2014-01-09 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于层次划分的文件处理方法及系统 |
| CN204595827U (zh) * | 2015-05-12 | 2015-08-26 | 浙江诸暨奇创电子科技有限公司 | 一种高性能混合硬盘 |
| CN110347497A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种将多个存储设备划分设备组的方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110347497B (zh) | 2020-07-21 |
| CN110347497A (zh) | 2019-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109359118B (zh) | 一种数据写入方法及装置 | |
| WO2020244242A1 (zh) | 一种区块链数据存储方法及装置 | |
| JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
| CN105988872A (zh) | 一种cpu资源分配的方法、装置及电子设备 | |
| CN103500072A (zh) | 数据迁移方法及数据迁移装置 | |
| US10198180B2 (en) | Method and apparatus for managing storage device | |
| WO2020244243A1 (zh) | 一种将多个存储设备划分设备组的方法及装置 | |
| TW202027003A (zh) | 受理區塊鏈存證交易的方法及系統 | |
| CN104021088B (zh) | 日志存储方法和装置 | |
| US11481117B2 (en) | Storage volume clustering based on workload fingerprints | |
| CN111913807A (zh) | 一种基于多个存储区域的事件处理方法、系统及装置 | |
| US9658965B2 (en) | Cache utilization to efficiently manage a storage system | |
| US11354055B2 (en) | Method and device for dividing storage devices into device groups | |
| CN113127438B (zh) | 用于存储数据的方法、装置、服务器和介质 | |
| US20140281322A1 (en) | Temporal Hierarchical Tiered Data Storage | |
| Julián-Moreno et al. | On the feasibility of 40 gbps network data capture and retention with general purpose hardware | |
| CN107656702A (zh) | 加速硬盘读写的方法及其系统、以及电子设备 | |
| US12093528B2 (en) | System and method for managing data access in distributed systems | |
| JP6377304B1 (ja) | データ書き込み装置及び方法 | |
| CN107018163A (zh) | 一种资源配置方法和装置 | |
| JP2017142647A (ja) | リソース管理装置及びリソース管理方法 | |
| CN107832005B (zh) | 分布式数据存取系统及方法 | |
| HK40015741B (zh) | 一种将多个存储设备划分设备组的方法及装置 | |
| HK40015741A (zh) | 一种将多个存储设备划分设备组的方法及装置 | |
| US10673937B2 (en) | Dynamic record-level sharing (RLS) provisioning inside a data-sharing subsystem |
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: 20818791 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: 20818791 Country of ref document: EP Kind code of ref document: A1 |