WO2021077745A1 - Data reading and writing method of distributed storage system - Google Patents

Data reading and writing method of distributed storage system Download PDF

Info

Publication number
WO2021077745A1
WO2021077745A1 PCT/CN2020/092831 CN2020092831W WO2021077745A1 WO 2021077745 A1 WO2021077745 A1 WO 2021077745A1 CN 2020092831 W CN2020092831 W CN 2020092831W WO 2021077745 A1 WO2021077745 A1 WO 2021077745A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
osd
request
placement group
identification information
Prior art date
Application number
PCT/CN2020/092831
Other languages
French (fr)
Chinese (zh)
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 WO2021077745A1 publication Critical patent/WO2021077745A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • This application relates to the field of computer technology, and in particular to a data reading and writing method, device, storage server, and readable storage medium of a distributed storage system.
  • the industry has higher and higher requirements for the performance and reliability of distributed storage.
  • the client when the client reads and writes an object, it needs to first calculate the placement group based on the object name, and then use it to calculate the members of the placement group, but the calculation of the placement group membership needs to go through multiple cycles and Recursively call hash calculation, which greatly wastes system CPU resources and increases the delay of front-end IO.
  • the purpose of this application is to provide a data reading and writing method, device, storage server, and readable storage medium for a distributed storage system to solve the problem that traditional data reading and writing solutions occupy more system CPU resources during the data reading and writing process. Causes the problem of increased front-end IO delay.
  • the specific plan is as follows:
  • this application provides a method for reading and writing data in a distributed storage system, which is applied to a Ceph client, including:
  • the determining the target OSD corresponding to the target placement group in the pre-created cache file and sending the IO request to the target OSD includes:
  • the calculating the target OSD corresponding to the target placement group according to the crush algorithm includes:
  • the determining the target placement group according to the identification information of the target object includes:
  • a modulo operation is performed on the hash value of the identification information of the target object to obtain the identification information of the target placement group.
  • the method further includes:
  • Obtain the file to be written divide the file to be written into multiple target objects according to a preset object size, and determine the identification information of each target object; generate an IO request carrying the identification information of the target object.
  • the determining the target OSD corresponding to the target placement group in the pre-created cache file includes:
  • the method further includes:
  • this application provides a data reading and writing device of a distributed storage system, which is applied to a Ceph client, and includes:
  • Request acquisition module used to acquire an IO request, where the IO request includes the identification information of the target object;
  • Placement group determination module used to determine the target placement group according to the identification information of the target object
  • Request sending module used to determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to realize data reading and writing.
  • this application provides a storage server of a distributed storage system, including:
  • Memory used to store computer programs
  • Processor used to execute the computer program to implement the steps of a method for reading and writing data in a distributed storage system as described above.
  • the present application provides a readable storage medium on which a computer program is stored.
  • the computer program When the computer program is executed by a processor, it is used to implement the data of a distributed storage system as described above. The steps of the read and write method.
  • the data reading and writing method, device, storage server, and readable storage medium of a distributed storage system include: obtaining an IO request, the IO request including the identification information of the target object; according to the identification information of the target object , Determine the target placement group; determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to achieve data reading and writing.
  • the solution caches the corresponding relationship between the placement group and the OSD in the cache file. Therefore, there is no need to determine the target OSD corresponding to the target placement group through tedious calculations during the data read and write process, thereby reducing the system CPU resources in the IO path. Waste, and can greatly reduce the IO delay.
  • FIG. 1 is an implementation flowchart of Embodiment 1 of a data reading and writing method for a distributed storage system provided by this application;
  • Embodiment 2 is an implementation flowchart of Embodiment 2 of a method for reading and writing data in a distributed storage system provided by this application;
  • FIG. 3 is a functional block diagram of an embodiment of a data reading and writing device of a distributed storage system provided by this application;
  • Figure 4 is a schematic structural diagram of an embodiment of a storage server of a distributed storage system provided by this application.
  • the core of this application is to provide a method, device, storage server and readable storage medium for reading and writing data of a distributed storage system, which reduces the waste of system CPU resources in the process of data reading and writing, and can greatly reduce IO latency .
  • the first embodiment includes:
  • S103 Determine a target OSD corresponding to the target placement group in a pre-created cache file, and send the IO request to the target OSD, so as to implement data reading and writing.
  • This embodiment is applied to a Ceph client.
  • the client mentioned here refers to a service process that accesses the cluster.
  • the nas scenario it refers to nfsserver and samba
  • the corresponding block scenario refers to the tgt process
  • the corresponding object scenario refers to rgw.
  • OSD Object Storage Device
  • Each disk, SSD, RAID group or partition can become an OSD.
  • OSD Object Storage Device
  • the file is divided into several objects.
  • the objects are first mapped to the placement group, and then from the placement group to the OSD group.
  • the target OSD in this embodiment refers to the main OSD in the OSD group, that is, the OSD that can perform data read and write operations.
  • the IO request in this embodiment includes the identification information of the target object.
  • the main information included is the identification information of the target object, the offset of the object read request, and the length to be read;
  • the request is a write request, the main information included is the identification information of the target object, the offset of the object write request, the length of the data to be written, and the content of the data to be written.
  • the Ceph client receives the IO request, it first calculates the target placement group to which the target object is mapped according to the identification information of the target object carried in the IO request. As a specific implementation, calculates the identification information of the target object The hash value of, and take the modulus to get the placement group corresponding to the target object.
  • the CRUSH algorithm Controlled Replication Under Scalable Hashing, distributed selection algorithm for data storage
  • a cache file is preset, and the cache file is used to record the mapping relationship between the configuration group and the OSD. Therefore, after the target placement group is determined, there is no need to calculate the corresponding target OSD through the cumbersome CRUSH algorithm, and only need to pass The target OSD can be directly determined by querying the cache file, thereby forwarding the IO request to the target OSD, avoiding the tedious calculation process.
  • the CRUSH algorithm is used to calculate the target OSD corresponding to the target placement group.
  • the CRUSH algorithm is used to calculate the location where the object should be written or read.
  • This embodiment provides a method for reading and writing data in a distributed storage system.
  • the solution includes: obtaining an IO request, the IO request including the identification information of the target object; determining the target placement group according to the identification information of the target object; In the created cache file, the target OSD corresponding to the target placement group is sent, and the IO request is sent to the target OSD to realize data reading and writing. It can be seen that the solution caches the corresponding relationship between the placement group and the OSD in the cache file. Therefore, there is no need to determine the target OSD corresponding to the target placement group through tedious calculations during the data read and write process, thereby reducing the system CPU resources in the IO path. Waste, and can greatly reduce the IO delay.
  • the second embodiment of a data reading and writing method for a distributed storage system provided by the present application will be described in detail below.
  • the second embodiment is implemented based on the foregoing embodiment 1, and is expanded to a certain extent on the basis of the first embodiment.
  • the mapping relationship between the placement group and the OSD is recorded in the form of a list, and this embodiment takes a data writing scenario as an example for description.
  • the second embodiment is applied to the Ceph client and specifically includes:
  • S201 Obtain a file to be written, divide the file to be written into multiple target objects according to a preset object size, and determine the identification information of each target object; generate an IO carrying the identification information of the target object request;
  • the aforementioned preset object size is adjusted according to actual needs, usually 2M or 4M.
  • the objects obtained by segmentation will have unique identification information, which is generally composed of the File ID of the file to be written and the number of the segment.
  • S203 Perform a modulo operation on the hash value of the identification information of the target object to obtain the identification information of the target placement group;
  • the identification information of the PG is similar to 1.0, 1.1, 1.2, and the above cache list can be implemented in the code using a map structure.
  • the specific content is as follows:
  • the [1,2,3] following the identification information of each placement group is the identification information of the OSD corresponding to the placement group.
  • OSD Map records how many OSDs the cluster contains, which nodes these OSDs belong to, and the respective weight information of these nodes and OSDs. These relationships are stored in a tree structure. OSD and node online and offline will bring changes in OSD Map, OSD Map changes will cause corresponding changes in the OSD corresponding to the PG, so the PG cache list should be cleared and the cache should be re-cached.
  • the data reading and writing method of a distributed storage system caches the correspondence between placement groups and OSDs in a cache file. Therefore, there is no need to determine the target placement through tedious calculations during data reading and writing.
  • the target OSD corresponding to the group greatly reduces the CPU consumption and delay on the IO path, thereby saving the system CPU resource occupation, and greatly reducing the front-end IO delay.
  • the following describes a data reading and writing device of a distributed storage system provided by an embodiment of the present application.
  • the data reading and writing device of a distributed storage system described below and the data reading and writing device of a distributed storage system described above are described below.
  • the methods can be referred to each other.
  • Ceph client including:
  • Request obtaining module 301 used to obtain an IO request, where the IO request includes the identification information of the target object;
  • the placement group determining module 302 used to determine the target placement group according to the identification information of the target object;
  • the request sending module 303 is used to determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to implement data reading and writing.
  • the data reading and writing device of the distributed storage system of this embodiment is used to implement the aforementioned data reading and writing method of the distributed storage system. Therefore, the specific implementation of the device can be seen in the foregoing description of the data reading and writing method of the distributed storage system.
  • the embodiment part, for example, the request obtaining module 301, the placement group determining module 302, and the request sending module 303 are respectively used to implement steps S101, S102, and S103 in the data reading and writing method of the above-mentioned distributed storage system. Therefore, the specific implementation mode can refer to the description of the respective parts of the embodiment, and the introduction is not repeated here.
  • the data reading and writing device of the distributed storage system of this embodiment is used to implement the aforementioned data reading and writing method of the distributed storage system, its function corresponds to the function of the above method, and will not be repeated here.
  • this application also provides a storage server of a distributed storage system, as shown in Figure 4, including:
  • Memory 100 used to store computer programs
  • the processor 200 is configured to execute the computer program to implement the steps of a method for reading and writing data in a distributed storage system as described above.
  • this application provides a readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, it is used to implement data reading and writing in a distributed storage system as described above. Method steps.
  • the steps of the method or algorithm described in combination with the embodiments disclosed in this document can be directly implemented by hardware, a software module executed by a processor, or a combination of the two.
  • the software module can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other technical field Any other known storage media.

Abstract

A data reading and writing method and apparatus, storage server and readable storage medium of a distributed storage system, the method comprising: obtaining an IO request, the IO request comprising identification information of a target object; determining a target placement group according to the identification information of the target object; determining a target OSD corresponding to the target placement group in a pre-created cache file, and sending the IO request to the target OSD to implement data reading and writing. As can be seen, the method caches the correspondence between the placement group and the OSD in the cache file, therefore, in the process of data reading and writing, there is no need to use tedious calculations to determine the target OSD corresponding to the target placement group, which reduces wastage of system CPU resources in the IO path and may greatly reduce IO delay.

Description

一种分布式存储系统的数据读写方法Data reading and writing method of distributed storage system
本申请要求于2019年10月25日提交中国专利局、申请号为201911025181.2、发明名称为“一种分布式存储系统的数据读写方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on October 25, 2019, the application number is 201911025181.2, and the invention title is "a method for reading and writing data in a distributed storage system", the entire content of which is incorporated by reference In this application.
技术领域Technical field
本申请涉及计算机技术领域,特别涉及一种分布式存储系统的数据读写方法、装置、存储服务器及可读存储介质。This application relates to the field of computer technology, and in particular to a data reading and writing method, device, storage server, and readable storage medium of a distributed storage system.
背景技术Background technique
随着云计算技术的快速发展,业界对于分布式存储的性能和可靠性要求越来越高。当前分布式存储系统中,客户端读写一个对象时,需要先根据对象名计算出归置组,然后利用计算出该归置组的成员,但是计算归置组成员时要经过多层循环和递归调用hash计算,这样极大的浪费了系统CPU资源,并且增加了前端IO的延时。With the rapid development of cloud computing technology, the industry has higher and higher requirements for the performance and reliability of distributed storage. In the current distributed storage system, when the client reads and writes an object, it needs to first calculate the placement group based on the object name, and then use it to calculate the members of the placement group, but the calculation of the placement group membership needs to go through multiple cycles and Recursively call hash calculation, which greatly wastes system CPU resources and increases the delay of front-end IO.
可见,如何提供一种分布式存储系统中的数据读写方法,避免数据读写过程对前端IO延时的影响,是亟待本领域技术人员解决的问题。It can be seen that how to provide a data reading and writing method in a distributed storage system to avoid the impact of the data reading and writing process on the front-end IO delay is an urgent problem for those skilled in the art to solve.
发明内容Summary of the invention
本申请的目的是提供一种分布式存储系统的数据读写方法、装置、存储服务器及可读存储介质,用以解决传统数据读写方案在数据读写过程中会占用较多系统CPU资源,导致前端IO延时增加的问题。具体方案如下:The purpose of this application is to provide a data reading and writing method, device, storage server, and readable storage medium for a distributed storage system to solve the problem that traditional data reading and writing solutions occupy more system CPU resources during the data reading and writing process. Causes the problem of increased front-end IO delay. The specific plan is as follows:
第一方面,本申请提供了一种分布式存储系统的数据读写方法,应用于Ceph客户端,包括:In the first aspect, this application provides a method for reading and writing data in a distributed storage system, which is applied to a Ceph client, including:
获取IO请求,所述IO请求包括目标对象的标识信息;Acquiring an IO request, where the IO request includes identification information of the target object;
根据所述目标对象的标识信息,确定目标归置组;Determine the target placement group according to the identification information of the target object;
确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。Determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to implement data reading and writing.
优选的,所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,包括:Preferably, the determining the target OSD corresponding to the target placement group in the pre-created cache file and sending the IO request to the target OSD includes:
判断预先创建的缓存文件中是否存在所述目标归置组;Judging whether the target placement group exists in the pre-created cache file;
若存在,则确定在所述缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD;If it exists, determine the target OSD corresponding to the target placement group in the cache file, and send the IO request to the target OSD;
若不存在,则根据crush算法计算所述目标归置组对应的目标OSD,将所述IO请求发送至所述目标OSD,并在所述缓存文件中记录所述目标归置组与所述目标OSD的对应关系。If it does not exist, calculate the target OSD corresponding to the target placement group according to the crush algorithm, send the IO request to the target OSD, and record the target placement group and the target in the cache file Correspondence of OSD.
优选的,所述根据crush算法计算所述目标归置组对应的目标OSD,包括:Preferably, the calculating the target OSD corresponding to the target placement group according to the crush algorithm includes:
根据crush算法计算所述目标归置组对应的OSD组,将所述OSD组中的主OSD作为目标OSD。Calculate the OSD group corresponding to the target placement group according to the crush algorithm, and use the main OSD in the OSD group as the target OSD.
优选的,所述根据所述目标对象的标识信息,确定目标归置组,包括:Preferably, the determining the target placement group according to the identification information of the target object includes:
对所述目标对象的标识信息的hash值进行取模操作,得到目标归置组的标识信息。A modulo operation is performed on the hash value of the identification information of the target object to obtain the identification information of the target placement group.
优选的,在所述获取IO请求之前,还包括:Preferably, before the obtaining the IO request, the method further includes:
获取待写入文件,按照预设对象大小将所述待写入文件切分为多个目标对象,并确定各个所述目标对象的标识信息;生成携带所述目标对象的标识信息的IO请求。Obtain the file to be written, divide the file to be written into multiple target objects according to a preset object size, and determine the identification information of each target object; generate an IO request carrying the identification information of the target object.
优选的,所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,包括:Preferably, the determining the target OSD corresponding to the target placement group in the pre-created cache file includes:
确定在预先创建的缓存列表中与所述目标归置组对应的目标OSD。Determine the target OSD corresponding to the target placement group in the pre-created cache list.
优选的,在所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD之前,还包括:Preferably, before the determining the target OSD corresponding to the target placement group in the pre-created cache file, the method further includes:
若检测到OSD map发生变化,则初始化预先创建的缓存文件。If it detects that the OSD map has changed, initialize the pre-created cache file.
第二方面,本申请提供了一种分布式存储系统的数据读写装置,应用于Ceph客户端,包括:In the second aspect, this application provides a data reading and writing device of a distributed storage system, which is applied to a Ceph client, and includes:
请求获取模块:用于获取IO请求,所述IO请求包括目标对象的标识信息;Request acquisition module: used to acquire an IO request, where the IO request includes the identification information of the target object;
归置组确定模块:用于根据所述目标对象的标识信息,确定目标归置组;Placement group determination module: used to determine the target placement group according to the identification information of the target object;
请求发送模块:用于确定在预先创建的缓存文件中与所述目标归置组 对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。Request sending module: used to determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to realize data reading and writing.
第三方面,本申请提供了一种分布式存储系统的存储服务器,包括:In the third aspect, this application provides a storage server of a distributed storage system, including:
存储器:用于存储计算机程序;Memory: used to store computer programs;
处理器:用于执行所述计算机程序,以实现如上所述的一种分布式存储系统的数据读写方法的步骤。Processor: used to execute the computer program to implement the steps of a method for reading and writing data in a distributed storage system as described above.
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储计算机程序,所述计算机程序被处理器执行时用于实现如上所述的一种分布式存储系统的数据读写方法的步骤。In a fourth aspect, the present application provides a readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it is used to implement the data of a distributed storage system as described above. The steps of the read and write method.
本申请所提供的一种分布式存储系统的数据读写方法、装置、存储服务器及可读存储介质,方案包括:获取IO请求,该IO请求包括目标对象的标识信息;根据目标对象的标识信息,确定目标归置组;确定在预先创建的缓存文件中与目标归置组对应的目标OSD,并将IO请求发送至目标OSD,以实现数据读写。可见,该方案在缓存文件中缓存归置组与OSD的对应关系,因此,数据读写过程中无需通过繁琐的计算确定目标归置组对应的目标OSD,从而减少了IO路径中系统CPU资源的浪费,并且能够极大的降低IO延时。The data reading and writing method, device, storage server, and readable storage medium of a distributed storage system provided by the present application include: obtaining an IO request, the IO request including the identification information of the target object; according to the identification information of the target object , Determine the target placement group; determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to achieve data reading and writing. It can be seen that the solution caches the corresponding relationship between the placement group and the OSD in the cache file. Therefore, there is no need to determine the target OSD corresponding to the target placement group through tedious calculations during the data read and write process, thereby reducing the system CPU resources in the IO path. Waste, and can greatly reduce the IO delay.
附图说明Description of the drawings
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are merely For some of the embodiments of the present application, for those of ordinary skill in the art, other drawings may be obtained based on these drawings without creative work.
图1为本申请所提供的一种分布式存储系统的数据读写方法实施例一的实现流程图;FIG. 1 is an implementation flowchart of Embodiment 1 of a data reading and writing method for a distributed storage system provided by this application;
图2为本申请所提供的一种分布式存储系统的数据读写方法实施例二的实现流程图;2 is an implementation flowchart of Embodiment 2 of a method for reading and writing data in a distributed storage system provided by this application;
图3为本申请所提供的一种分布式存储系统的数据读写装置实施例的功能框图;3 is a functional block diagram of an embodiment of a data reading and writing device of a distributed storage system provided by this application;
图4为本申请所提供的一种分布式存储系统的存储服务器实施例的结 构示意图。Figure 4 is a schematic structural diagram of an embodiment of a storage server of a distributed storage system provided by this application.
具体实施方式Detailed ways
本申请的核心是提供一种分布式存储系统的数据读写方法、装置、存储服务器及可读存储介质,减少了数据读写过程中系统CPU资源的浪费,并且能够极大的降低IO延时。The core of this application is to provide a method, device, storage server and readable storage medium for reading and writing data of a distributed storage system, which reduces the waste of system CPU resources in the process of data reading and writing, and can greatly reduce IO latency .
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to enable those skilled in the art to better understand the solution of the application, the application will be further described in detail below with reference to the accompanying drawings and specific implementations. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
下面对本申请提供的一种分布式存储系统的数据读写方法实施例一进行介绍,参见图1,实施例一包括:The following describes the first embodiment of a method for reading and writing data of a distributed storage system provided by the present application. Referring to FIG. 1, the first embodiment includes:
S101、获取IO请求,所述IO请求包括目标对象的标识信息;S101. Obtain an IO request, where the IO request includes identification information of a target object.
S102、根据所述目标对象的标识信息,确定目标归置组;S102: Determine a target placement group according to the identification information of the target object;
S103、确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。S103: Determine a target OSD corresponding to the target placement group in a pre-created cache file, and send the IO request to the target OSD, so as to implement data reading and writing.
本实施例应用于Ceph客户端,这里说的客户端指的是访问集群的服务进程,对于nas场景指的是nfsserver和samba,对应块场景指的是tgt进程,对应对象场景指的是rgw。This embodiment is applied to a Ceph client. The client mentioned here refers to a service process that accesses the cluster. For the nas scenario, it refers to nfsserver and samba, the corresponding block scenario refers to the tgt process, and the corresponding object scenario refers to rgw.
在Ceph中,无论使用哪种存储方式(对象、块、文件系统),数据都会被切分为若干个对象(object),归置组(Placement Group,简称PG)用于对这些对象进行逻辑归组,从而达到统一管理、提升效率的作用。OSD(Object Storage Device,对象存储设备)用于提供存储资源,每一个disk、SSD、RAID group或者一个分区都可以成为一个OSD。具体而言,数据写入时,文件被切分成若干个对象,对象首先映射到归置组,再由归置组映射到OSD组。其中,对象与归置组之间是“一对多”映射关系,归置组和OSD之间是“多对多”映射关系。需要说明的是,本实施例中的目标OSD是指该OSD组中的主OSD,即可执行数据读写操作的OSD。In Ceph, no matter which storage method (object, block, file system) is used, data will be divided into several objects (object), and the placement group (PG) is used to logically group these objects. Group, so as to achieve unified management and improve efficiency. OSD (Object Storage Device) is used to provide storage resources. Each disk, SSD, RAID group or partition can become an OSD. Specifically, when data is written, the file is divided into several objects. The objects are first mapped to the placement group, and then from the placement group to the OSD group. Among them, there is a "one-to-many" mapping relationship between objects and placement groups, and a "many-to-many" mapping relationship between placement groups and OSDs. It should be noted that the target OSD in this embodiment refers to the main OSD in the OSD group, that is, the OSD that can perform data read and write operations.
本实施例的IO请求中包括目标对象的标识信息,具体的,当IO请求为读请求时,主要包含的信息为目标对象的标识信息、对象读请求的offset、要读取的长度;当IO请求为写请求时,主要包含的信息为目标对象的标识信息、对象写请求的offset、要写入数据的长度和要写入的数据内容。当Ceph客户端接收到IO请求后,首先会根据IO请求中所携带的目标对象的标识信息计算出目标对象映射到的目标归置组,作为一种具体的实施方式,计算目标对象的标识信息的hash值,并取模得到该目标对象所对应的归置组。The IO request in this embodiment includes the identification information of the target object. Specifically, when the IO request is a read request, the main information included is the identification information of the target object, the offset of the object read request, and the length to be read; When the request is a write request, the main information included is the identification information of the target object, the offset of the object write request, the length of the data to be written, and the content of the data to be written. When the Ceph client receives the IO request, it first calculates the target placement group to which the target object is mapped according to the identification information of the target object carried in the IO request. As a specific implementation, calculates the identification information of the target object The hash value of, and take the modulus to get the placement group corresponding to the target object.
然后,一般情况下,会利用CRUSH算法(Controlled Replication Under Scalable Hashing,数据存储的分布式选择算法)计算出目标归置组映射到的目标OSD。然而,本实施例预先设置了缓存文件,该缓存文件用于记录配置组与OSD的映射关系,因此,在确定目标归置组之后无需通过繁琐的CRUSH算法计算出对应的目标OSD,只需要通过查询缓存文件即可直接确定目标OSD,从而将IO请求转发至目标OSD,避免了繁琐的计算过程。Then, under normal circumstances, the CRUSH algorithm (Controlled Replication Under Scalable Hashing, distributed selection algorithm for data storage) is used to calculate the target OSD to which the target placement group is mapped. However, in this embodiment, a cache file is preset, and the cache file is used to record the mapping relationship between the configuration group and the OSD. Therefore, after the target placement group is determined, there is no need to calculate the corresponding target OSD through the cumbersome CRUSH algorithm, and only need to pass The target OSD can be directly determined by querying the cache file, thereby forwarding the IO request to the target OSD, avoiding the tedious calculation process.
具体的,在确定目标归置组之后,首选查询缓存文件,判断缓存文件中是否记录有该目标归置组与OSD的映射关系,若是,则确定与目标归置组对应的目标OSD;否则,利用CRUSH算法计算出与目标归置组对应的目标OSD。其中,CRUSH算法用于计算出对象应该被写入或读出的位置。Specifically, after determining the target placement group, first query the cache file to determine whether the mapping relationship between the target placement group and the OSD is recorded in the cache file, and if so, determine the target OSD corresponding to the target placement group; otherwise, The CRUSH algorithm is used to calculate the target OSD corresponding to the target placement group. Among them, the CRUSH algorithm is used to calculate the location where the object should be written or read.
本实施例所提供一种分布式存储系统的数据读写方法,方案包括:获取IO请求,该IO请求包括目标对象的标识信息;根据目标对象的标识信息,确定目标归置组;确定在预先创建的缓存文件中与目标归置组对应的目标OSD,并将IO请求发送至目标OSD,以实现数据读写。可见,该方案在缓存文件中缓存归置组与OSD的对应关系,因此,数据读写过程中无需通过繁琐的计算确定目标归置组对应的目标OSD,从而减少了IO路径中系统CPU资源的浪费,并且能够极大的降低IO延时。This embodiment provides a method for reading and writing data in a distributed storage system. The solution includes: obtaining an IO request, the IO request including the identification information of the target object; determining the target placement group according to the identification information of the target object; In the created cache file, the target OSD corresponding to the target placement group is sent, and the IO request is sent to the target OSD to realize data reading and writing. It can be seen that the solution caches the corresponding relationship between the placement group and the OSD in the cache file. Therefore, there is no need to determine the target OSD corresponding to the target placement group through tedious calculations during the data read and write process, thereby reducing the system CPU resources in the IO path. Waste, and can greatly reduce the IO delay.
下面开始详细介绍本申请提供的一种分布式存储系统的数据读写方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。The second embodiment of a data reading and writing method for a distributed storage system provided by the present application will be described in detail below. The second embodiment is implemented based on the foregoing embodiment 1, and is expanded to a certain extent on the basis of the first embodiment.
具体的,本实施例中以列表的形式记录归置组与OSD之间的映射关系,本实施例以数据写入场景为例进行说明。参见图2,实施例二应用于Ceph客户端,具体包括:Specifically, in this embodiment, the mapping relationship between the placement group and the OSD is recorded in the form of a list, and this embodiment takes a data writing scenario as an example for description. Referring to Figure 2, the second embodiment is applied to the Ceph client and specifically includes:
S201、获取待写入文件,按照预设对象大小将所述待写入文件切分为多个目标对象,并确定各个所述目标对象的标识信息;生成携带所述目标对象的标识信息的IO请求;S201. Obtain a file to be written, divide the file to be written into multiple target objects according to a preset object size, and determine the identification information of each target object; generate an IO carrying the identification information of the target object request;
上述预设对象大小根据实际需求进行调整,通常为2M或4M。切分得到的对象都会有一个唯一的标识信息,一般由待写入文件的File ID与分片的编号构成。The aforementioned preset object size is adjusted according to actual needs, usually 2M or 4M. The objects obtained by segmentation will have unique identification information, which is generally composed of the File ID of the file to be written and the number of the segment.
S202、获取IO请求,所述IO请求包括目标对象的标识信息;S202. Obtain an IO request, where the IO request includes identification information of the target object.
S203、对所述目标对象的标识信息的hash值进行取模操作,得到目标归置组的标识信息;S203: Perform a modulo operation on the hash value of the identification information of the target object to obtain the identification information of the target placement group;
S204、判断预先创建的缓存列表中是否存在所述目标归置组;若是,跳转至S205,否则跳转至S206;S204. Determine whether the target placement group exists in the pre-created cache list; if so, skip to S205, otherwise skip to S206;
本实施例中,PG的标识信息类似1.0、1.1、1.2,上述缓存列表在代码中可以使用map结构实现,具体内容如下:In this embodiment, the identification information of the PG is similar to 1.0, 1.1, 1.2, and the above cache list can be implemented in the code using a map structure. The specific content is as follows:
[1.0,[1,2,3]][1.0,[1,2,3]]
[1.1,[2,5,3]][1.1,[2,5,3]]
[1.2,[3,6,8]][1.2,[3,6,8]]
..
..
..
[1.5,[6,7,9]][1.5,[6,7,9]]
其中每个归置组的标识信息后面的[1,2,3]是该归置组对应的OSD的标识信息。The [1,2,3] following the identification information of each placement group is the identification information of the OSD corresponding to the placement group.
S205、确定在所述缓存列表中与所述目标归置组对应的目标OSD;S205. Determine a target OSD corresponding to the target placement group in the cache list.
S206、根据crush算法计算所述目标归置组对应的OSD组,将所述OSD组中的主OSD作为目标OSD,并在所述缓存列表中记录所述目标归置组与所述目标OSD的对应关系;S206. Calculate the OSD group corresponding to the target placement group according to the crush algorithm, use the main OSD in the OSD group as the target OSD, and record the relationship between the target placement group and the target OSD in the cache list. Correspondence;
S207、将所述IO请求发送至所述目标OSD,以实现数据读写;S207. Send the IO request to the target OSD to implement data reading and writing;
S208、若检测到OSD map发生变化,则初始化预先创建的缓存列表。S208: If it is detected that the OSD map has changed, initialize the pre-created cache list.
OSD Map中记录集群包含多少个OSD,这些OSD分别属于哪些节点,还有这些节点和OSD分别的权重信息,这些关系都是以树形结构保存。OSD和节点的上线下线都会带来OSD Map的变化,OSD Map变化会导致PG对应的OSD发生相应的变化,所以要清除PG缓存列表,重新进行缓存。OSD Map records how many OSDs the cluster contains, which nodes these OSDs belong to, and the respective weight information of these nodes and OSDs. These relationships are stored in a tree structure. OSD and node online and offline will bring changes in OSD Map, OSD Map changes will cause corresponding changes in the OSD corresponding to the PG, so the PG cache list should be cleared and the cache should be re-cached.
可见,本实施例提供的一种分布式存储系统的数据读写方法,通过在缓存文件中缓存归置组与OSD的对应关系,因此,数据读写过程中无需通过繁琐的计算确定目标归置组对应的目标OSD,极大的降低了IO路径上的CPU消耗和延时,从而节省了系统CPU资源占用,并且极大的降低了前端IO延时。It can be seen that the data reading and writing method of a distributed storage system provided in this embodiment caches the correspondence between placement groups and OSDs in a cache file. Therefore, there is no need to determine the target placement through tedious calculations during data reading and writing. The target OSD corresponding to the group greatly reduces the CPU consumption and delay on the IO path, thereby saving the system CPU resource occupation, and greatly reducing the front-end IO delay.
下面对本申请实施例提供的一种分布式存储系统的数据读写装置进行介绍,下文描述的一种分布式存储系统的数据读写装置与上文描述的一种分布式存储系统的数据读写方法可相互对应参照。The following describes a data reading and writing device of a distributed storage system provided by an embodiment of the present application. The data reading and writing device of a distributed storage system described below and the data reading and writing device of a distributed storage system described above are described below. The methods can be referred to each other.
参见图3,该装置应用于Ceph客户端,包括:Refer to Figure 3, the device is applied to Ceph client, including:
请求获取模块301:用于获取IO请求,所述IO请求包括目标对象的标识信息;Request obtaining module 301: used to obtain an IO request, where the IO request includes the identification information of the target object;
归置组确定模块302:用于根据所述目标对象的标识信息,确定目标归置组;The placement group determining module 302: used to determine the target placement group according to the identification information of the target object;
请求发送模块303:用于确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。The request sending module 303 is used to determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to implement data reading and writing.
本实施例的分布式存储系统的数据读写装置用于实现前述的分布式存储系统的数据读写方法,因此该装置中的具体实施方式可见前文中的分布式存储系统的数据读写方法的实施例部分,例如,请求获取模块301、归置组确定模块302、请求发送模块303,分别用于实现上述分布式存储系统的数据读写方法中步骤S101,S102,S103。所以,其具体实施方式可以参 照相应的各个部分实施例的描述,在此不再展开介绍。The data reading and writing device of the distributed storage system of this embodiment is used to implement the aforementioned data reading and writing method of the distributed storage system. Therefore, the specific implementation of the device can be seen in the foregoing description of the data reading and writing method of the distributed storage system. The embodiment part, for example, the request obtaining module 301, the placement group determining module 302, and the request sending module 303 are respectively used to implement steps S101, S102, and S103 in the data reading and writing method of the above-mentioned distributed storage system. Therefore, the specific implementation mode can refer to the description of the respective parts of the embodiment, and the introduction is not repeated here.
另外,由于本实施例的分布式存储系统的数据读写装置用于实现前述的分布式存储系统的数据读写方法,因此其作用与上述方法的作用相对应,这里不再赘述。In addition, since the data reading and writing device of the distributed storage system of this embodiment is used to implement the aforementioned data reading and writing method of the distributed storage system, its function corresponds to the function of the above method, and will not be repeated here.
此外,本申请还提供了一种分布式存储系统的存储服务器,如图4所示,包括:In addition, this application also provides a storage server of a distributed storage system, as shown in Figure 4, including:
存储器100:用于存储计算机程序;Memory 100: used to store computer programs;
处理器200:用于执行所述计算机程序,以实现如上文所述的一种分布式存储系统的数据读写方法的步骤。The processor 200 is configured to execute the computer program to implement the steps of a method for reading and writing data in a distributed storage system as described above.
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储计算机程序,所述计算机程序被处理器执行时用于实现如上所述的一种分布式存储系统的数据读写方法的步骤。Finally, this application provides a readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, it is used to implement data reading and writing in a distributed storage system as described above. Method steps.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method part.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The steps of the method or algorithm described in combination with the embodiments disclosed in this document can be directly implemented by hardware, a software module executed by a processor, or a combination of the two. The software module can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other technical field Any other known storage media.
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。The above provides a detailed introduction to the solution provided by the application, and specific examples are used in this article to illustrate the principles and implementation of the application. The description of the above examples is only used to help understand the method and core ideas of the application; at the same time; For those of ordinary skill in the art, according to the idea of the application, there will be changes in the specific implementation and the scope of application. In summary, the content of this specification should not be construed as a limitation of the application.

Claims (10)

  1. 一种分布式存储系统的数据读写方法,其特征在于,应用于Ceph客户端,包括:A method for reading and writing data in a distributed storage system is characterized in that it is applied to a Ceph client and includes:
    获取IO请求,所述IO请求包括目标对象的标识信息;Acquiring an IO request, where the IO request includes identification information of the target object;
    根据所述目标对象的标识信息,确定目标归置组;Determine the target placement group according to the identification information of the target object;
    确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。Determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to implement data reading and writing.
  2. 如权利要求1所述的方法,其特征在于,所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,包括:The method according to claim 1, wherein the determining a target OSD corresponding to the target placement group in a pre-created cache file, and sending the IO request to the target OSD, comprises:
    判断预先创建的缓存文件中是否存在所述目标归置组;Judging whether the target placement group exists in the pre-created cache file;
    若存在,则确定在所述缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD;If it exists, determine the target OSD corresponding to the target placement group in the cache file, and send the IO request to the target OSD;
    若不存在,则根据crush算法计算所述目标归置组对应的目标OSD,将所述IO请求发送至所述目标OSD,并在所述缓存文件中记录所述目标归置组与所述目标OSD的对应关系。If it does not exist, calculate the target OSD corresponding to the target placement group according to the crush algorithm, send the IO request to the target OSD, and record the target placement group and the target in the cache file Correspondence of OSD.
  3. 如权利要求2所述的方法,其特征在于,所述根据crush算法计算所述目标归置组对应的目标OSD,包括:The method of claim 2, wherein the calculating the target OSD corresponding to the target placement group according to the crush algorithm comprises:
    根据crush算法计算所述目标归置组对应的OSD组,将所述OSD组中的主OSD作为目标OSD。Calculate the OSD group corresponding to the target placement group according to the crush algorithm, and use the main OSD in the OSD group as the target OSD.
  4. 如权利要求1所述的方法,其特征在于,所述根据所述目标对象的标识信息,确定目标归置组,包括:The method of claim 1, wherein the determining a target placement group according to the identification information of the target object comprises:
    对所述目标对象的标识信息的hash值进行取模操作,得到目标归置组的标识信息。A modulo operation is performed on the hash value of the identification information of the target object to obtain the identification information of the target placement group.
  5. 如权利要求4所述的方法,其特征在于,在所述获取IO请求之前,还包括:The method according to claim 4, characterized in that, before the obtaining the IO request, the method further comprises:
    获取待写入文件,按照预设对象大小将所述待写入文件切分为多个目标对象,并确定各个所述目标对象的标识信息;生成携带所述目标对象的标识信息的IO请求。Obtain the file to be written, divide the file to be written into multiple target objects according to a preset object size, and determine the identification information of each target object; generate an IO request carrying the identification information of the target object.
  6. 如权利要求5所述的方法,其特征在于,所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,包括:The method of claim 5, wherein the determining the target OSD corresponding to the target placement group in a pre-created cache file comprises:
    确定在预先创建的缓存列表中与所述目标归置组对应的目标OSD。Determine the target OSD corresponding to the target placement group in the pre-created cache list.
  7. 如权利要求1-6任意一项所述的方法,其特征在于,在所述确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD之前,还包括:8. The method according to any one of claims 1 to 6, characterized in that, before the determining the target OSD corresponding to the target placement group in the pre-created cache file, the method further comprises:
    若检测到OSD map发生变化,则初始化预先创建的缓存文件。If it detects that the OSD map has changed, initialize the pre-created cache file.
  8. 一种分布式存储系统的数据读写装置,其特征在于,应用于Ceph客户端,包括:A data reading and writing device of a distributed storage system is characterized in that it is applied to a Ceph client and includes:
    请求获取模块:用于获取IO请求,所述IO请求包括目标对象的标识信息;Request acquisition module: used to acquire an IO request, where the IO request includes the identification information of the target object;
    归置组确定模块:用于根据所述目标对象的标识信息,确定目标归置组;Placement group determination module: used to determine the target placement group according to the identification information of the target object;
    请求发送模块:用于确定在预先创建的缓存文件中与所述目标归置组对应的目标OSD,并将所述IO请求发送至所述目标OSD,以实现数据读写。Request sending module: used to determine the target OSD corresponding to the target placement group in the pre-created cache file, and send the IO request to the target OSD to realize data reading and writing.
  9. 一种分布式存储系统的存储服务器,其特征在于,包括:A storage server of a distributed storage system is characterized in that it comprises:
    存储器:用于存储计算机程序;Memory: used to store computer programs;
    处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的一种分布式存储系统的数据读写方法的步骤。Processor: used to execute the computer program to implement the steps of a method for reading and writing data in a distributed storage system according to any one of claims 1-7.
  10. 一种可读存储介质,其特征在于,所述可读存储介质上存储计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的一种分布式存储系统的数据读写方法的步骤。A readable storage medium, characterized in that a computer program is stored on the readable storage medium, and when the computer program is executed by a processor, it is used to implement a distributed system according to any one of claims 1-7. The steps of the data reading and writing method of the storage system.
PCT/CN2020/092831 2019-10-25 2020-05-28 Data reading and writing method of distributed storage system WO2021077745A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911025181.2 2019-10-25
CN201911025181.2A CN110780819A (en) 2019-10-25 2019-10-25 Data read-write method of distributed storage system

Publications (1)

Publication Number Publication Date
WO2021077745A1 true WO2021077745A1 (en) 2021-04-29

Family

ID=69386814

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/092831 WO2021077745A1 (en) 2019-10-25 2020-05-28 Data reading and writing method of distributed storage system

Country Status (2)

Country Link
CN (1) CN110780819A (en)
WO (1) WO2021077745A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780819A (en) * 2019-10-25 2020-02-11 浪潮电子信息产业股份有限公司 Data read-write method of distributed storage system
CN112363674B (en) * 2020-11-12 2022-04-22 新华三技术有限公司成都分公司 Data writing method and device
CN112486413B (en) * 2020-11-27 2022-08-05 杭州朗和科技有限公司 Data reading method, device, medium and computing equipment
CN112783443A (en) * 2021-01-18 2021-05-11 北京聚云科技有限公司 Data reading method and device and electronic equipment
CN112925482B (en) * 2021-03-15 2022-08-23 北京首都在线科技股份有限公司 Data processing method, device, system, electronic equipment and computer storage medium
CN114564460B (en) * 2022-02-25 2024-01-19 苏州浪潮智能科技有限公司 Parameter tuning method, device, equipment and medium based on distributed storage system
CN114327299B (en) * 2022-03-01 2022-06-03 苏州浪潮智能科技有限公司 Sequential reading and pre-reading method, device, equipment and medium
CN116737619B (en) * 2023-08-15 2023-11-03 苏州浪潮智能科技有限公司 Data request system, method, device, computer equipment and storage medium
CN117348820A (en) * 2023-12-04 2024-01-05 浪潮云信息技术股份公司 Data processing method, system, equipment and storage medium of distributed system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140214773A1 (en) * 2013-01-30 2014-07-31 Hewlett-Packard Development Company, L.P. Reconstructing a state of a file system using a preserved snapshot
CN108287660A (en) * 2017-01-09 2018-07-17 中国移动通信集团河北有限公司 Date storage method and equipment
CN110222013A (en) * 2019-06-11 2019-09-10 深信服科技股份有限公司 A kind of method, system, equipment and storage medium that cluster storage capacity determines
CN110780819A (en) * 2019-10-25 2020-02-11 浪潮电子信息产业股份有限公司 Data read-write method of distributed storage system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905540A (en) * 2014-03-25 2014-07-02 浪潮电子信息产业股份有限公司 Object storage data distribution mechanism based on two-sage Hash
US10003649B2 (en) * 2015-05-07 2018-06-19 Dell Products Lp Systems and methods to improve read/write performance in object storage applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140214773A1 (en) * 2013-01-30 2014-07-31 Hewlett-Packard Development Company, L.P. Reconstructing a state of a file system using a preserved snapshot
CN108287660A (en) * 2017-01-09 2018-07-17 中国移动通信集团河北有限公司 Date storage method and equipment
CN110222013A (en) * 2019-06-11 2019-09-10 深信服科技股份有限公司 A kind of method, system, equipment and storage medium that cluster storage capacity determines
CN110780819A (en) * 2019-10-25 2020-02-11 浪潮电子信息产业股份有限公司 Data read-write method of distributed storage system

Also Published As

Publication number Publication date
CN110780819A (en) 2020-02-11

Similar Documents

Publication Publication Date Title
WO2021077745A1 (en) Data reading and writing method of distributed storage system
US11662936B2 (en) Writing data using references to previously stored data
WO2017201977A1 (en) Data writing and reading method and apparatus, and distributed object storage cluster
US11436157B2 (en) Method and apparatus for accessing storage system
US20160179581A1 (en) Content-aware task assignment in distributed computing systems using de-duplicating cache
WO2020093501A1 (en) File storage method and deletion method, server, and storage medium
US10789228B2 (en) Data presence/absence determination apparatus and computer-readable storage medium storing program for determination of data presence/absence
WO2012041110A1 (en) Method and device for data comparison
WO2014180232A1 (en) Method and device for responding to a request, and distributed file system
US9110820B1 (en) Hybrid data storage system in an HPC exascale environment
WO2017107948A1 (en) File write-aggregation and read-aggregation method and system, and client
WO2021159711A1 (en) B+ tree access method and apparatus, and computer-readable storage medium
US11314454B2 (en) Method and apparatus for managing storage device in storage system
WO2022048356A1 (en) Data processing method and system for cloud platform, and electronic device and storage medium
US20240086332A1 (en) Data processing method and system, device, and medium
US11321021B2 (en) Method and apparatus of managing mapping relationship between storage identifier and start address of queue of storage device corresponding to the storage identifier
US10725877B2 (en) System, method and computer program product for performing a data protection operation
WO2016065610A1 (en) Method for accessing files, distributed storage system and storage node
US11586353B2 (en) Optimized access to high-speed storage device
CN111966845B (en) Picture management method, device, storage node and storage medium
WO2021104100A1 (en) Url refreshing method, apparatus and device in cdn, and cdn node
CN114281989A (en) Data deduplication method and device based on text similarity, storage medium and server
Jo et al. On the trade-off between performance and storage efficiency of replication-based object storage
WO2023093091A1 (en) Data storage system, smart network card, and computing node
US20190065559A1 (en) Computer system and database management method

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

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

Country of ref document: EP

Kind code of ref document: A1