CN115576505B - 一种数据存储方法、装置、设备及可读存储介质 - Google Patents

一种数据存储方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115576505B
CN115576505B CN202211592791.2A CN202211592791A CN115576505B CN 115576505 B CN115576505 B CN 115576505B CN 202211592791 A CN202211592791 A CN 202211592791A CN 115576505 B CN115576505 B CN 115576505B
Authority
CN
China
Prior art keywords
data
storage unit
stored
storage
aggregated
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.)
Active
Application number
CN202211592791.2A
Other languages
English (en)
Other versions
CN115576505A (zh
Inventor
张凯
孙莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202211592791.2A priority Critical patent/CN115576505B/zh
Publication of CN115576505A publication Critical patent/CN115576505A/zh
Application granted granted Critical
Publication of CN115576505B publication Critical patent/CN115576505B/zh
Priority to PCT/CN2023/121856 priority patent/WO2024125039A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储方法、装置、设备及可读存储介质,应用于计算机技术领域。本申请在存储池中设置存储空间相等的多个存储单元,在存储数据时也不关注数据是否为热点数据,而是在符合预设的聚合写入条件时,将待存储的目标数据与缓存中的其他待存储数据聚合为聚合数据,而后将聚合数据存储至当前的可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。该方案将需落盘数据聚合在一起后使其落盘,可实现:高读写频率数据和低读写频率数据落在磁盘的同一区域,避免磁盘同一区域被频繁读写,从而降低了磁盘坏块概率和写盘次数。本申请提供的一种数据存储装置、设备及可读存储介质,同样具有上述技术效果。

Description

一种数据存储方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种数据存储方法、装置、设备及可读存储介质。
背景技术
当前在往磁盘中写入数据时,会按照数据读写频率,将较高读写频率的数据(即热点数据)写入磁盘的同一区域,将较低读写频率的数据写入磁盘的同一区域,那么写入高读写频率数据的磁盘区域的读写次数就较多,导致该区域易产生坏块,不利于磁盘空间管理和磁盘稳定运行。
因此,如何降低磁盘坏块产生概率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据存储方法、装置、设备及可读存储介质,以降低磁盘坏块产生概率。其具体方案如下:
第一方面,本申请提供了一种数据存储方法,应用于存储池,所述存储池包括存储空间相等的多个存储单元,包括:
接收待存储的目标数据;
确定当前的可写存储单元;
聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;
若符合预设的聚合写入条件,则将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息。
可选地,所述确定当前的可写存储单元,包括:
若当前已申请存储单元,则将当前已申请的存储单元确定为所述可写存储单元。
可选地,若当前未申请存储单元,则在所述存储池中申请未存数据的所述可写存储单元。
可选地,所述在所述存储池中申请未存数据的所述可写存储单元,包括:
将所述存储池中标号最小且未存数据的存储单元确定为所述可写存储单元。
可选地,所述聚合写入条件为:所述聚合数据的数据量等于所述可写存储单元的剩余空间大小。
可选地,所述目标数据与所述其他待存储数据为压缩后数据。
可选地,还包括:
若所述聚合数据的数据量大于所述剩余空间大小,则从所述目标数据中截取一部分数据,并使所截取数据与所述其他待存储数据聚合得到的聚合数据等于所述剩余空间大小。
可选地,所述将所述聚合数据存储至所述可写存储单元之后,还包括:
从所述缓存中删除所述其他待存储数据,并将所述目标数据中的未截取数据写入所述缓存。
可选地,还包括:
若当前到达预设的存储时间点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
可选地,还包括:
若所述存储池中当前存在故障节点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
可选地,所述描述信息包括:当前可写存储单元中存储的数据个数、每个数据的长度、每个数据的标识信息。
可选地,所述标识信息为数据的哈希值或逻辑地址。
可选地,按照追加写方式存储数据至所述可写存储单元。
可选地,还包括:
若存储数据至所述可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
可选地,还包括:
检测已存数据的存储单元中的无效数据;
若所述无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为所述目标数据,并执行所述确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息的步骤,以迁移当前被检测存储单元中的有效数据。
可选地,所述迁移当前被检测存储单元中的有效数据之后,还包括:
释放当前被检测存储单元的存储空间。
可选地,还包括:
若所述无效数据的数据量未超过所述预设阈值,则在到达下一检测时间点时,执行所述检测已存数据的存储单元中的无效数据的步骤。
第二方面,本申请提供了一种数据存储装置,应用于存储池,所述存储池包括存储空间相等的多个存储单元,包括:
接收模块,用于接收待存储的目标数据;
确定模块,用于确定当前的可写存储单元;
聚合模块,用于聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;
存储模块,用于若符合预设的聚合写入条件,则将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息。
可选地,所述确定模块具体用于:
若当前已申请存储单元,则将当前已申请的存储单元确定为所述可写存储单元。
可选地,所述确定模块还用于:若当前未申请存储单元,则在所述存储池中申请未存数据的所述可写存储单元。
可选地,所述确定模块具体用于:
将所述存储池中标号最小且未存数据的存储单元确定为所述可写存储单元。
可选地,所述聚合写入条件为:所述聚合数据的数据量等于所述可写存储单元的剩余空间大小。
可选地,所述目标数据与所述其他待存储数据为压缩后数据。
可选地,还包括:
截取模块,用于若所述聚合数据的数据量大于所述剩余空间大小,则从所述目标数据中截取一部分数据,并使所截取数据与所述其他待存储数据聚合得到的聚合数据等于所述剩余空间大小。
可选地,还包括:
缓存更新模块,用于所述将所述聚合数据存储至所述可写存储单元之后,从所述缓存中删除所述其他待存储数据,并将所述目标数据中的未截取数据写入所述缓存。
可选地,还包括:
直接存储模块,用于若当前到达预设的存储时间点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
可选地,直接存储模块还用于:
若所述存储池中当前存在故障节点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
可选地,所述描述信息包括:当前可写存储单元中存储的数据个数、每个数据的长度、每个数据的标识信息。
可选地,所述标识信息为数据的哈希值或逻辑地址。
可选地,按照追加写方式存储数据至所述可写存储单元。
可选地,还包括:
异常处理模块,用于若存储数据至所述可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
可选地,还包括:
垃圾回收模块,用于检测已存数据的存储单元中的无效数据;若所述无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为所述目标数据,并执行所述确定模块、所述聚合模块、所述存储模块中的步骤,以迁移当前被检测存储单元中的有效数据。
可选地,还包括:
释放模块,用于所述迁移当前被检测存储单元中的有效数据之后,释放当前被检测存储单元的存储空间。
可选地,垃圾回收模块,还用于:
若所述无效数据的数据量未超过所述预设阈值,则在到达下一检测时间点时,执行所述检测已存数据的存储单元中的无效数据的步骤。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的数据存储方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的数据存储方法。
通过以上方案可知,本申请提供了一种数据存储方法,应用于存储池,所述存储池包括存储空间相等的多个存储单元,包括:接收待存储的目标数据;确定当前的可写存储单元;聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;若符合预设的聚合写入条件,则将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息。可见,本申请的有益效果为:在存储池中设置存储空间相等的多个存储单元,在存储数据时也不关注数据是否为热点数据,而是在符合预设的聚合写入条件时,将待存储的目标数据与缓存中的其他待存储数据聚合为聚合数据,而后将聚合数据存储至当前的可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。该方案将需落盘数据聚合在一起后使其落盘,可实现:高读写频率数据和低读写频率数据落在磁盘的同一区域,避免磁盘同一区域被频繁读写,从而降低了磁盘坏块概率,还能减少写盘次数,有利于磁盘空间管理和磁盘稳定运行。
相应地,本申请提供的一种数据存储装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请一些实施例中的一种数据存储方法流程图;
图2为本申请一些实施例中的另一种数据存储方法流程图;
图3为本申请一些实施例中的一种垃圾回收示意图;
图4为本申请一些实施例中的一种数据存储装置示意图;
图5为本申请一些实施例中的一种电子设备示意图;
图6为本申请一些实施例中的一种服务器示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在往磁盘中写入数据时,会按照数据读写频率,将较高读写频率的数据(即热点数据)写入磁盘的同一区域,将较低读写频率的数据写入磁盘的同一区域,那么写入高读写频率数据的磁盘区域的读写次数就较多,导致该区域易产生坏块,不利于磁盘空间管理和磁盘稳定运行。为此,本申请提供了一种数据存储方案,能够将高读写频率数据和低读写频率数据落在磁盘的同一区域,避免磁盘同一区域被频繁读写,从而降低了磁盘坏块概率,还能减少写盘次数,有利于磁盘空间管理和磁盘稳定运行。
参见图1所示,本申请实施例公开了一种数据存储方法,应用于存储池,存储池包括存储空间相等的多个存储单元,包括:
S101、接收待存储的目标数据。
本实施例提供的存储池基于多个存储节点构建,每个存储节点包括多个磁盘,所有磁盘提供的存储空间构成该存储池的总存储空间,本实施例将存储池的总存储空间以固定大小划分为多个存储单元,从而使存储池包括存储空间相等的多个存储单元。在本实施例中,待存储的目标数据为:数据写入请求或数据修改请求对应的需写入数据。每个存储节点包括的各磁盘可以是相同类型,也可以是不同类型,本实施例优选:每个存储节点包括的各磁盘为相同类型。
S102、确定当前的可写存储单元。
本实施例将存储池的总存储空间以固定大小划分为多个存储单元,并对各个存储单元从小至大标号。在往存储池中写入数据时,按照各个存储单元的标号大小从小至大使用各个存储单元存储数据。在一个存储单元被写满后,继续使用与当前存储单元相邻的下一个存储单元。因此在一种具体实施方式中,确定当前的可写存储单元,包括:若当前已申请存储单元,则将当前已申请的存储单元确定为可写存储单元;否则,在存储池中申请未存数据的可写存储单元。其中,在存储池中申请未存数据的可写存储单元,包括:将存储池中标号最小且未存数据的存储单元确定为可写存储单元。当然,在往存储池中写入数据时,也可以按照各个存储单元的标号大小从大至小使用各个存储单元存储数据。因此,在存储池中申请未存数据的可写存储单元,包括:将存储池中标号最大且未存数据的存储单元确定为可写存储单元。
S103、聚合目标数据与缓存中的其他待存储数据,得到聚合数据。
S104、若符合预设的聚合写入条件,则将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。
其中,预设区域位于存储单元的头部空间或尾部空间。例如:在存储单元的头部划出10M大小的空间作为预设区域,即:从存储单元的首地址开始,按照地址从前往后划定10M大小的空间作为预设区域;或在存储单元的尾部划出10M大小的空间作为预设区域,即:从存储单元的尾地址开始,按照地址从后往前划定10M大小的空间作为预设区域。其中,预设区域的空间大小可根据需要灵活调整。
其中,数据聚合可看作数据的拼接。理想情况下,本实施例每次写盘的数据大小为一个存储单元的存储空间大小,由此可实现数据均匀写入,还能降低写盘次数。但在待存储数据持续较少的情况下,为避免数据丢失,可以设定最长等待时间。如果当前时刻距离前一次数据落盘操作的时长超过最长等待时间,则认为到达存储时间点,此时无论待存储数据有多少,都将这些数据写入当前的可写存储单元,此时实际上的落盘数据量大小小于一个存储单元的存储空间大小。后续可按照追加写方式填满该可写存储单元,也即:后一次落盘数据拼接在本次落盘数据的尾部进行存储。
在本实施例中,预设的聚合写入条件为:聚合数据的数据量等于可写存储单元的剩余空间大小。如前述所述,可写存储单元的剩余空间大小可能是一个存储单元的存储空间大小,也可能小于一个存储单元的存储空间大小。因此可以按照追加写方式存储数据至可写存储单元,以使后一次落盘数据拼接在前一次落盘数据的尾部。在一个存储单元被写满后,继续使用下一个存储单元。
由于在往存储池中写入数据时,可能使用压缩算法进行数据压缩,因此在一种具体实施方式中,待存储的目标数据与缓存中的其他待存储数据均可以为压缩后数据。压缩算法可以采用:RLE(Run Length Encoding)算法、哈夫曼算法、Rice算法等。
在本实施例中,若聚合数据的数据量大于剩余空间大小,则从目标数据中截取一部分数据,并使所截取数据与其他待存储数据聚合得到的聚合数据等于剩余空间大小。可见,聚合目标数据与缓存中的其他待存储数据,包括:聚合目标数据中的一部分数据或全部数据与其他待存储数据。
在将缓存中的数据落盘后,可以基于现有的缓存清理机制及时清理缓存中的已落盘数据,同时缓存新的未落盘数据。因此在一种具体实施方式中,将聚合数据存储至可写存储单元之后,从缓存中删除其他待存储数据,并将目标数据中的未截取数据写入缓存。目标数据中的未截取数据即为新的未落盘数据,这些数据可以与后续需存储的新数据聚合后进行落盘。
为避免节点故障或待存数据持续较少导致存储业务异常,可以在有故障节点时或在待存数据持续较少时,不进行数据聚合操作,而直接进行数据落盘。因此在一种具体实施方式中,若当前到达预设的存储时间点或存储池中当前存在故障节点,则将目标数据存储至可写存储单元,并在预设区域记录目标数据的描述信息。其中,描述信息包括:当前可写存储单元中存储的数据个数、每个数据的长度、每个数据的标识信息,而数据的标识信息为数据的哈希值或逻辑地址。
需要说明的是,在存储池中有节点故障时,其他未故障节点的压力会增大,那么其他未故障节点可能因压力过大而故障。并且,聚合操作也会增加节点压力,因此在有故障节点时或在待存数据持续较少时,不进行数据聚合操作,而直接进行数据落盘,由此可以降低其他未故障节点的压力,避免故障节点增多,能保障数据顺利落盘。
若存储数据至可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元,然后执行确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合目标数据与缓存中的其他待存储数据,得到聚合数据;将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息的步骤,以完成当前待存储数据的存储。至于导致存储过程异常的可写存储单元,可以对其进行垃圾回收,以释放其存储空间。对存储单元进行垃圾回收,即:将存储单元中的有效数据搬移至其他存储单元,然后清空该存储单元的存储空间。
在一种具体实施方式中,检测已存数据的存储单元中的无效数据;若无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为目标数据,并执行确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合目标数据与缓存中的其他待存储数据,得到聚合数据;将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息的步骤,以迁移当前被检测存储单元中的有效数据。若无效数据的数据量未超过预设阈值,则在到达下一检测时间点时,执行检测已存数据的存储单元中的无效数据的步骤。其中,迁移当前被检测存储单元中的有效数据之后,还包括:释放当前被检测存储单元的存储空间。例如:可以一次性检测64个已存数据的存储单元,若64个已存数据的存储单元中的无效数据总量超过预设阈值,则按照本实施例提供的聚合及追加写方式,将这些存储单元中的有效数据搬移至其他存储单元,然后清空这些存储单元的存储空间。其中,该检测任务可以设定为周期任务,每隔一定周期,就对所有已存数据的存储单元进行检测。其中,预设阈值可根据实际需要灵活设定。例如:预设阈值可设为128M、256M、512M、800M、1G或其他大小。
可见,本实施例在存储池中设置存储空间相等的多个存储单元,在存储数据时也不关注数据是否为热点数据,而是在符合预设的聚合写入条件时,将待存储的目标数据与缓存中的其他待存储数据聚合为聚合数据,而后将聚合数据存储至当前的可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。该方案将需落盘数据聚合在一起后使其落盘,可实现:高读写频率数据和低读写频率数据落在磁盘的同一区域,避免磁盘同一区域被频繁读写,从而降低了磁盘坏块概率,还能减少写盘次数,有利于磁盘空间管理和磁盘稳定运行。
下面以SSD(Solid State Disk,固态硬盘)闪存环境为例进一步介绍本申请。本实施例在存储池中设置存储空间相等的多个下刷单元(即存储单元),在存储数据时也不关注数据是否为热点数据,而是在符合聚合条件时,进行数据聚合并写入。
请参见图2,将闪存介质构成的存储池空间划分为若干个固定大小的下刷单元,各下刷单元间单独管理且相互独立。在写入数据时,将数据聚合为一个下刷单元的大小,若待落盘数据达到一个下刷单元的大小或当前需落盘数据已等待足够时间,则进行数据落盘;否则,判断是否有节点故障。如果有节点故障,则直接进行数据落盘,而不进行数据聚合。如果没有节点故障,则继续等待数据聚合成一个下刷单元的大小或使需落盘数据等待足够时间后,进行数据落盘。
其中,存储池内的若干个固定大小的下刷单元从小至大标号。在往存储池中写入数据时,按照各个下刷单元的标号大小从小至大使用各个下刷单元存储数据。在一个下刷单元被写满后,继续使用与当前下刷单元相邻的下一个下刷单元。在往存储池中写入数据时,也可以按照各个存储单元的标号大小从大至小使用各个存储单元存储数据。数据聚合可看作数据的拼接。理想情况下,本实施例每次写盘的数据大小为一个下刷单元的存储空间大小,由此可实现数据均匀写入,还能降低写盘次数。但在待存储数据持续较少的情况下,为避免数据丢失,可以设定最长等待时间。如果当前时刻距离前一次数据落盘操作的时长超过最长等待时间,则认为到达存储时间点,此时无论待存储数据有多少,都将这些数据写入当前的可写下刷单元,此时实际上的落盘数据量大小小于一个下刷单元的存储空间大小。后续可按照追加写方式填满该可写下刷单元,也即:后一次落盘数据拼接在本次落盘数据的尾部进行存储。
本实施例为了减少写盘次数,适应一起写入的数据较大概率会一起读取的访问规律,以数据聚合机制进行数据落盘。也即:将多个待写数据聚合成一定规模,再一起写入下刷单元。为了记录追踪聚合信息,在每一个下刷单元的头部,划分出特定的元数据空间,用于记录该下刷单元内存储的待写数据个数、每个待写数据的长度、每个待写数据的hash值或逻辑地址等基础信息。这些信息即:聚合数据中被聚合的各数据的描述信息。本实施例所存储的数据可以是压缩后的数据,也可以是未压缩的数据。
如图2所示,数据落盘包括两种情况。第一种:当需要刷写的数据量达到一定量,数据能够快速聚合出一个下刷单元的数据量时,将数据落盘到对应下刷单元内。可见理想情况下,聚合数据的数据量等于一个可写下刷单元的空间大小。第二种:当前需落盘数据已等待足够时间但需要刷写的数据量仍较小或者当前有节点故障时,为快速周转,可先使用下刷单元内的部分空间,提前触发数据写盘,剩余空间可在后续刷写中继续使用。其中,为与RAID条带对齐,避免RAID写放大,每次下刷数据量为条带长度的整数倍。一个下刷单元包括整数倍个RAID条带。可见,为避免节点故障或待存数据持续较少导致存储业务异常,可以在有故障节点时或在待存数据持续较少时,不进行数据聚合操作,而直接进行数据落盘。
在将数据落盘后,可以基于现有的缓存清理机制及时清理缓存中的已落盘数据,同时缓存新的未落盘数据。因此需要从缓存中删除已落盘数据,并将新的未落盘数据写入缓存。新的未落盘数据可以与后续需存储的新数据聚合后进行落盘。如果聚合数据的数据量过大,则从中截取一部分数据,并使所截取数据与其他待存数据的数据量之和恰好能够填满当前申请的下刷单元。
在一种示例中,将整个存储池的数据空间划分为4MB的多个下刷单元,且从物理地址最低的下刷单元开始标号并使用。一个下刷单元内所有数据无效后才可再次向该下刷单元内写入数据。当用户数据有写入请求时,按顺序确定一个下刷单元,将不同的用户数据聚合在一起后写入该下刷单元,该下刷单元写满数据后,下一次的需写入的用户数据写到下一个下刷单元里。在当前下刷单元的头部记录该下刷单元内存储的数据个数等基础信息。当某个下刷单元数据写满后,按照下刷单元的标号取下一个下刷单元继续使用。若数据落盘处理流程中出现异常,那么则终止当前存储过程,为当前未能成功落盘的数据申请新的下刷单元,而当前未成功使数据落盘的下刷单元可通过垃圾回收机制进行清理,以在清理后用于其他数据的存储。请参见图3,对于每个下刷单元,可以通过垃圾回收机制计算其中无效数据量,在无效数据量达到回收阈值时,对该下刷单元回收再利用。即:将下刷单元中的有效数据搬移至其他下刷单元,然后清空该下刷单元的存储空间,达到空间流转的功能,还能清理磁盘碎片,提升存储性能。
若已存数据被修改后存入其他物理地址,那么旧物理地址上的数据就会无效。当一定区域内的所有下刷单元使用完成,且该区域内所有下刷单元的总无效数据量达到一定阈值时,可以将该区域内有效数据重新进行聚合,并刷写至其他下刷单元中;并且在刷写完成后,该区域内所有下刷单元可再次被使用,达到空间流转的功能。可见,通过垃圾回收机制也可以对多个下刷单元进行回收再利用。例如:可以一次性检测256M空间内的已存数据的下刷单元,若256M空间的这些已存数据的下刷单元中的无效数据总量超过预设阈值,则按照本实施例提供的聚合及追加写方式,将这些下刷单元中的有效数据搬移至其他下刷单元,然后清空这些下刷单元的存储空间。其中,该检测任务可以设定为周期任务,每隔一定周期,就对所有已存数据的下刷单元进行检测。
可见,本实施例通过聚合下刷和追加写方式使得磁盘负载更加均衡,且能够合理运用磁盘空间,无须保证一起写入的数据的物理地址连续,故而可减少磁盘碎片,降低坏块风险,刷盘次数也有所降低,能够提升存储性能,也能适应SSD盘的数据存取特点,最大激发SSD性能优势。
下面对本申请实施例提供的一种数据存储装置进行介绍,下文描述的一种数据存储装置与上文描述的一种数据存储方法可以相互参照。
参见图4所示,本申请实施例公开了一种数据存储装置,应用于存储池,存储池包括存储空间相等的多个存储单元,包括:
接收模块401,用于接收待存储的目标数据;
确定模块402,用于确定当前的可写存储单元;
聚合模块403,用于聚合目标数据与缓存中的其他待存储数据,得到聚合数据;
存储模块404,用于若符合预设的聚合写入条件,则将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。
在一种具体实施方式中,确定模块具体用于:
若当前已申请存储单元,则将当前已申请的存储单元确定为可写存储单元。
在一种具体实施方式中,确定模块还用于:若当前未申请存储单元,则在存储池中申请未存数据的可写存储单元。
在一种具体实施方式中,确定模块具体用于:
将存储池中标号最小且未存数据的存储单元确定为可写存储单元。
在一种具体实施方式中,聚合写入条件为:聚合数据的数据量等于可写存储单元的剩余空间大小。
在一种具体实施方式中,目标数据与其他待存储数据为压缩后数据。
在一种具体实施方式中,还包括:
截取模块,用于若聚合数据的数据量大于剩余空间大小,则从目标数据中截取一部分数据,并使所截取数据与其他待存储数据聚合得到的聚合数据等于剩余空间大小。
在一种具体实施方式中,还包括:
缓存更新模块,用于将聚合数据存储至可写存储单元之后,从缓存中删除其他待存储数据,并将目标数据中的未截取数据写入缓存。
在一种具体实施方式中,还包括:
直接存储模块,用于若当前到达预设的存储时间点,则将目标数据存储至可写存储单元,并在预设区域记录目标数据的描述信息。
在一种具体实施方式中,直接存储模块还用于:
若存储池中当前存在故障节点,则将目标数据存储至可写存储单元,并在预设区域记录目标数据的描述信息。
在一种具体实施方式中,描述信息包括:当前可写存储单元中存储的数据个数、每个数据的长度、每个数据的标识信息。
在一种具体实施方式中,标识信息为数据的哈希值或逻辑地址。
在一种具体实施方式中,按照追加写方式存储数据至可写存储单元。
在一种具体实施方式中,还包括:
异常处理模块,用于若存储数据至可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
在一种具体实施方式中,还包括:
垃圾回收模块,用于检测已存数据的存储单元中的无效数据;若无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为目标数据,并执行确定模块、聚合模块、存储模块中的步骤,以迁移当前被检测存储单元中的有效数据。
在一种具体实施方式中,还包括:
释放模块,用于迁移当前被检测存储单元中的有效数据之后,释放当前被检测存储单元的存储空间。
在一种具体实施方式中,垃圾回收模块,还用于:
若无效数据的数据量未超过预设阈值,则在到达下一检测时间点时,执行检测已存数据的存储单元中的无效数据的步骤。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据存储装置,能够将高读写频率数据和低读写频率数据落在磁盘的同一区域,避免磁盘同一区域被频繁读写,从而降低了磁盘坏块概率,还能减少写盘次数,有利于磁盘空间管理和磁盘稳定运行。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种数据存储方法及装置可以相互参照。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器501,用于保存计算机程序;
处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:接收待存储的目标数据;确定当前的可写存储单元;聚合目标数据与缓存中的其他待存储数据,得到聚合数据;若符合预设的聚合写入条件,则将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若当前已申请存储单元,则将当前已申请的存储单元确定为可写存储单元;否则,在存储池中申请未存数据的可写存储单元。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:将存储池中标号最小且未存数据的存储单元确定为可写存储单元。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若聚合数据的数据量大于剩余空间大小,则从目标数据中截取一部分数据,并使所截取数据与其他待存储数据聚合得到的聚合数据等于剩余空间大小。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:从缓存中删除其他待存储数据,并将目标数据中的未截取数据写入缓存。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若当前到达预设的存储时间点或存储池中当前存在故障节点,则将目标数据存储至可写存储单元,并在预设区域记录目标数据的描述信息。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:按照追加写方式存储数据至可写存储单元。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若存储数据至可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:检测已存数据的存储单元中的无效数据;若无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为目标数据,并执行确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合目标数据与缓存中的其他待存储数据,得到聚合数据;将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息的步骤,以迁移当前被检测存储单元中的有效数据。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:释放当前被检测存储单元的存储空间。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若无效数据的数据量未超过预设阈值,则在到达下一检测时间点时,执行检测已存数据的存储单元中的无效数据的步骤。
请参见图6,本申请实施例还提供了一种服务器来作为上述电子设备。该服务器,具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的数据存储方法中的相关步骤。
本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
其中,操作***用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序除了包括能够用于完成前述任一实施例公开的数据存储方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括虚拟机等数据外,还可以包括虚拟机的开发商信息等数据。
进一步的,本申请实施例还提供了一种终端来作为上述电子设备。该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端包括有:处理器和存储器。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的数据存储方法中的相关步骤。另外,存储器所存储的资源还可以包括操作***和数据等,存储方式可以是短暂存储或者永久存储。其中,操作***可以包括Windows、Unix、Linux等。数据可以包括但不限于应用程序的更新信息。
在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种数据存储方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据存储方法。其中,可读存储介质具体为计算机可读存储介质,其作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:接收待存储的目标数据;确定当前的可写存储单元;聚合目标数据与缓存中的其他待存储数据,得到聚合数据;若符合预设的聚合写入条件,则将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若当前已申请存储单元,则将当前已申请的存储单元确定为可写存储单元;否则,在存储池中申请未存数据的可写存储单元。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:将存储池中标号最小且未存数据的存储单元确定为可写存储单元。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若聚合数据的数据量大于剩余空间大小,则从目标数据中截取一部分数据,并使所截取数据与其他待存储数据聚合得到的聚合数据等于剩余空间大小。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:从缓存中删除其他待存储数据,并将目标数据中的未截取数据写入缓存。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若当前到达预设的存储时间点或存储池中当前存在故障节点,则将目标数据存储至可写存储单元,并在预设区域记录目标数据的描述信息。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:按照追加写方式存储数据至可写存储单元。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若存储数据至可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:检测已存数据的存储单元中的无效数据;若无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为目标数据,并执行确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合目标数据与缓存中的其他待存储数据,得到聚合数据;将聚合数据存储至可写存储单元,并在可写存储单元的预设区域记录聚合数据中被聚合的各数据的描述信息的步骤,以迁移当前被检测存储单元中的有效数据。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:释放当前被检测存储单元的存储空间。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若无效数据的数据量未超过预设阈值,则在到达下一检测时间点时,执行检测已存数据的存储单元中的无效数据的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种数据存储方法,其特征在于,应用于存储池,所述存储池包括存储空间相等的多个存储单元,包括:
接收待存储的目标数据;
确定当前的可写存储单元;
聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;
若符合预设的聚合写入条件,则将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息;
其中,所述聚合写入条件为:所述聚合数据的数据量等于所述可写存储单元的剩余空间大小;
其中,还包括:
检测已存数据的存储单元中的无效数据;
若所述无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为所述目标数据,并执行所述确定当前的可写存储单元;若符合预设的聚合写入条件,则聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息的步骤,以迁移当前被检测存储单元中的有效数据。
2.根据权利要求1所述的方法,其特征在于,所述确定当前的可写存储单元,包括:
若当前已申请存储单元,则将当前已申请的存储单元确定为所述可写存储单元。
3.根据权利要求2所述的方法,其特征在于,若当前未申请存储单元,则在所述存储池中申请未存数据的所述可写存储单元。
4.根据权利要求2所述的方法,其特征在于,所述在所述存储池中申请未存数据的所述可写存储单元,包括:
将所述存储池中标号最小且未存数据的存储单元确定为所述可写存储单元。
5.根据权利要求1所述的方法,其特征在于,所述目标数据与所述其他待存储数据为压缩后数据。
6.根据权利要求1所述的方法,其特征在于,还包括:
若所述聚合数据的数据量大于所述剩余空间大小,则从所述目标数据中截取一部分数据,并使所截取数据与所述其他待存储数据聚合得到的聚合数据等于所述剩余空间大小。
7.根据权利要求6所述的方法,其特征在于,所述将所述聚合数据存储至所述可写存储单元之后,还包括:
从所述缓存中删除所述其他待存储数据,并将所述目标数据中的未截取数据写入所述缓存。
8.根据权利要求1所述的方法,其特征在于,还包括:
若当前到达预设的存储时间点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
9.根据权利要求1所述的方法,其特征在于,还包括:
若所述存储池中当前存在故障节点,则将所述目标数据存储至所述可写存储单元,并在所述预设区域记录所述目标数据的描述信息。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述描述信息包括:当前可写存储单元中存储的数据个数、每个数据的长度、每个数据的标识信息。
11.根据权利要求10所述的方法,其特征在于,所述标识信息为数据的哈希值或逻辑地址。
12.根据权利要求1至9任一项所述的方法,其特征在于,按照追加写方式存储数据至所述可写存储单元。
13.根据权利要求1至9任一项所述的方法,其特征在于,还包括:
若存储数据至所述可写存储单元的过程中出现异常,则终止当前存储过程,并为当前待存储数据重新申请可写存储单元。
14.根据权利要求1至9任一项所述的方法,其特征在于,所述迁移当前被检测存储单元中的有效数据之后,还包括:
释放当前被检测存储单元的存储空间。
15.根据权利要求1至9任一项所述的方法,其特征在于,还包括:
若所述无效数据的数据量未超过所述预设阈值,则在到达下一检测时间点时,执行所述检测已存数据的存储单元中的无效数据的步骤。
16.一种数据存储装置,其特征在于,应用于存储池,所述存储池包括存储空间相等的多个存储单元,包括:
接收模块,用于接收待存储的目标数据;
确定模块,用于确定当前的可写存储单元;
聚合模块,用于聚合所述目标数据与缓存中的其他待存储数据,得到聚合数据;
存储模块,用于若符合预设的聚合写入条件,则将所述聚合数据存储至所述可写存储单元,并在所述可写存储单元的预设区域记录所述聚合数据中被聚合的各数据的描述信息;
其中,所述聚合写入条件为:所述聚合数据的数据量等于所述可写存储单元的剩余空间大小;
其中,还包括:
垃圾回收模块,用于检测已存数据的存储单元中的无效数据;若所述无效数据的数据量超过预设阈值,则将当前被检测存储单元中的有效数据作为所述目标数据,并执行所述确定模块、所述聚合模块、所述存储模块中的步骤,以迁移当前被检测存储单元中的有效数据。
17.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至15任一项所述的方法。
18.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述的方法。
CN202211592791.2A 2022-12-13 2022-12-13 一种数据存储方法、装置、设备及可读存储介质 Active CN115576505B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211592791.2A CN115576505B (zh) 2022-12-13 2022-12-13 一种数据存储方法、装置、设备及可读存储介质
PCT/CN2023/121856 WO2024125039A1 (zh) 2022-12-13 2023-09-27 一种数据存储方法、装置、设备及非易失性可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211592791.2A CN115576505B (zh) 2022-12-13 2022-12-13 一种数据存储方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN115576505A CN115576505A (zh) 2023-01-06
CN115576505B true CN115576505B (zh) 2023-03-03

Family

ID=84590072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211592791.2A Active CN115576505B (zh) 2022-12-13 2022-12-13 一种数据存储方法、装置、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN115576505B (zh)
WO (1) WO2024125039A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115576505B (zh) * 2022-12-13 2023-03-03 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、设备及可读存储介质
CN115840543B (zh) * 2023-02-28 2023-05-16 浪潮电子信息产业股份有限公司 一种数据分层存储方法、装置、设备及存储介质
CN116610266B (zh) * 2023-07-18 2023-10-10 中移(苏州)软件技术有限公司 虚拟机磁盘读写性能的调整方法、装置及相关设备
CN116880776B (zh) * 2023-09-06 2023-11-17 上海凯翔信息科技有限公司 一种存储数据的数据处理***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015141219A1 (ja) * 2014-03-20 2017-04-06 日本電気株式会社 ストレージシステム、制御装置、データアクセス方法およびプログラム
CN109634528A (zh) * 2018-12-12 2019-04-16 浪潮(北京)电子信息产业有限公司 一种目标数据的落盘方法、装置、设备及存储介质
CN111625180B (zh) * 2019-02-27 2021-05-28 英韧科技(上海)有限公司 数据写入方法及装置、存储介质
CN111625515A (zh) * 2020-05-28 2020-09-04 苏州浪潮智能科技有限公司 一种聚合小文件的操作请求的处理方法及装置
CN111881135A (zh) * 2020-07-28 2020-11-03 苏州浪潮智能科技有限公司 一种数据聚合方法、装置、设备及计算机可读存储介质
CN112463730B (zh) * 2020-12-02 2022-07-19 苏州浪潮智能科技有限公司 一种存储海量小文件分级优化的方法、***及介质
CN112948382A (zh) * 2021-02-26 2021-06-11 平安科技(深圳)有限公司 基于大数据的信息处理方法、装置及相关设备
CN113835643B (zh) * 2021-11-23 2022-03-08 苏州浪潮智能科技有限公司 数据存储方法、装置、电子设备及可读存储介质
CN115576505B (zh) * 2022-12-13 2023-03-03 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN115576505A (zh) 2023-01-06
WO2024125039A1 (zh) 2024-06-20

Similar Documents

Publication Publication Date Title
CN115576505B (zh) 一种数据存储方法、装置、设备及可读存储介质
US10705932B2 (en) Method, device and computer program product for managing a storage system
US11243706B2 (en) Fragment management method and fragment management apparatus
US20200012598A1 (en) Garbage Collection Method for Storage Medium, Storage Medium, and Program Product
US8677093B2 (en) Method and apparatus to manage tier information
US11474919B2 (en) Method for managing multiple disks, electronic device and computer program product
CN111124264B (zh) 用于重建数据的方法、设备和计算机程序产品
US20140173194A1 (en) Computer system management apparatus and management method
US10789170B2 (en) Storage management method, electronic device and computer readable medium
US11449402B2 (en) Handling of offline storage disk
US11150990B2 (en) Method, apparatus and computer readable medium for managing a plurality of disks
CN109918352B (zh) 存储器***和存储数据的方法
US8799572B2 (en) Sliding-window multi-class striping
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
US9400723B2 (en) Storage system and data management method
US11487428B2 (en) Storage control apparatus and storage control method
US20190026033A1 (en) Method and system for hardware accelerated cache flush
US10884933B2 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
CN115202589B (zh) 放置组成员选择方法、装置、设备及可读存储介质
WO2023020136A1 (zh) 存储***中的数据存储方法及装置
CN110413197B (zh) 管理存储***的方法、设备和计算机程序产品
US11803469B2 (en) Storing data in a log-structured format in a two-tier storage system
US20240061577A1 (en) Recycle optimization in storage engine
CN111913661B (zh) 一种缓存设备替换方法及电子设备
US20240176489A1 (en) Priority based raid (redundant array of independent disks) rebuild for a data storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant