CN110083482B - 对文件存储系统进行纠删码处理的方法、装置及电子设备 - Google Patents

对文件存储系统进行纠删码处理的方法、装置及电子设备 Download PDF

Info

Publication number
CN110083482B
CN110083482B CN201910363866.1A CN201910363866A CN110083482B CN 110083482 B CN110083482 B CN 110083482B CN 201910363866 A CN201910363866 A CN 201910363866A CN 110083482 B CN110083482 B CN 110083482B
Authority
CN
China
Prior art keywords
file
storage system
data
files
processed
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
CN201910363866.1A
Other languages
English (en)
Other versions
CN110083482A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201910363866.1A priority Critical patent/CN110083482B/zh
Publication of CN110083482A publication Critical patent/CN110083482A/zh
Application granted granted Critical
Publication of CN110083482B publication Critical patent/CN110083482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本申请实施例提供了一种对文件存储系统进行纠删码处理的方法、装置及电子设备,方法包括:从第一文件存储系统中获取待处理数据块,对待处理数据块中满足预设条件的文件进行纠删码处理,其中,满足预设条件的文件为:所占存储空间大于或等于预设阈值的文件,或所占存储空间大于预设阈值的文件,将满足预设条件的文件从第一文件存储系统中删除。基于上述处理,能够节约存储空间。

Description

对文件存储系统进行纠删码处理的方法、装置及电子设备
技术领域
本申请涉及数据压缩技术领域,特别是涉及一种对文件存储系统进行纠删码处理的方法、装置及电子设备。
背景技术
随着计算机技术的快速发展,需要进行存储的文件不断增多,为了节省存储空间,通常可以对存储的文件进行数据压缩处理。
在分布式存储系统中,为了保证数据的高可用性,一般对同一份数据采用三副本存储。而三副本的方式会导致占用大量的存储空间,从而导致较高的存储成本。为了节省存储成本,出现了将三副本的数据进行压缩的EC技术(Erasure Code-EC纠删码),对待存储文件进行EC处理后的三副本只占据原来数据存储空间的一半,因此存储成本减半。
发明人在实施本发明的过程中发现,当分布式存储系统中存在大量小文件时,不能对这些大量的小文件进行EC处理,原因是如果进行EC处理后,导致不仅不会节约存储空间,反而会增加存储空间,具体原因如下:
1、增加内存:EC化之后,数据的索引数量会比EC化之前多出好多倍。
2、增加磁盘空间:由于进行EC时对数据按照预定的存储空间阈值(例如:256KB)对齐,因此,对于小于存储空间阈值的小文件(例如:10KB),也会占用与预定的存储空间阈值大小相同的存储空间(256KB),导致磁盘空间浪费。
因此,如何对分布式存储系统中的文件进行EC处理从而节约存储空间是一个亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种对文件存储系统进行纠删码处理的方法、装置及电子设备,可以节约存储空间。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种对文件存储系统进行纠删码处理的方法,所述方法包括:
从第一文件存储系统中获取待处理数据块;
对所述待处理数据块中满足预设条件的文件进行纠删码处理;其中,所述满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述待处理数据块包括:索引文件和数据文件;所述索引文件存储文件的索引数据,所述数据文件存储与每个索引对应的文件实际数据;
所述对所述待处理数据块中满足预设条件的文件进行纠删码处理,包括:
遍历所述索引文件,将所述索引文件中满足所述预设条件的文件的唯一识别号ID放入到第一有效列表中;
对所述数据文件中与所述第一有效列表中的ID对应的数据进行纠删码处理。
可选的,若所述纠删码处理为首次,则在所述纠删码处理后,通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除;
若所述纠删码处理为非首次,则在所述纠删码处理后,通过数据截断的方式将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除,包括:
对未满足所述预设条件的文件进行复制并存储;
将所述待处理数据块从所述第一文件存储系统中删除。
可选的,所述对未满足所述预设条件的文件进行复制并存储,包括:
遍历所述索引文件,将所述索引文件中未满足所述预设条件的文件的ID放入到第二有效列表中;
对所述数据文件中与所述第二有效列表中的ID对应的数据进行复制,得到新数据文件。
可选的,将所述待处理数据块从所述第一文件存储系统中删除,包括:
将所述待处理数据块的数据文件从所述第一文件存储系统中删除。
可选的,在首次纠删码处理时记录第一标识,所述第一标识用于表示进行处理与不进行处理的文件的分界值;
所述通过数据截断的方式将所述满足预设条件的文件从所述第一文件存储系统中删除,包括:基于所述第一标识将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述在所述首次纠删码处理时记录第一标识,包括:将预设的第一标识赋值为所述索引文件中不满足所述预设条件的文件的ID最大的值。
可选的,所述基于所述第一标识将所述满足预设条件的文件从所述第一文件存储系统中删除,包括:将所述新索引文件中ID大于所述第一标识的文件从所述第一文件存储系统中删除。
第二方面,为了达到上述目的,本申请实施例还公开了一种对文件存储系统进行纠删码处理的装置,所述装置包括:
获取模块,用于从第一文件存储系统中获取待处理数据块;
处理模块,用于对所述待处理数据块中满足预设条件的文件进行纠删码处理;其中,所述满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
删除模块,用于将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述待处理数据块包括:索引文件和数据文件;所述索引文件存储文件的索引数据,所述数据文件存储与每个索引对应的文件实际数据;
所述处理模块,具体用于遍历所述索引文件,将所述索引文件中满足所述预设条件的文件的唯一识别号ID放入到第一有效列表中;
对所述数据文件中与所述第一有效列表中的ID对应的数据进行纠删码处理。
可选的,所述删除模块,具体用于若所述纠删码处理为首次,则在所述纠删码处理后,通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除;
若所述纠删码处理为非首次,则在所述纠删码处理后,通过数据截断的方式将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述删除模块,具体用于对未满足所述预设条件的文件进行复制并存储;
将所述待处理数据块从所述第一文件存储系统中删除。
可选的,所述删除模块,具体用于遍历所述索引文件,将所述索引文件中未满足所述预设条件的文件的ID放入到第二有效列表中;
对所述数据文件中与所述第二有效列表中的ID对应的数据进行复制,得到新数据文件。
可选的,所述删除模块,具体用于将所述待处理数据块的数据文件从所述第一文件存储系统中删除。
可选的,所述装置还包括:
记录模块,用于在首次纠删码处理时记录第一标识,所述第一标识用于表示进行处理与不进行处理的文件的分界值;
所述删除模块,具体用于基于所述第一标识将所述满足预设条件的文件从所述第一文件存储系统中删除。
可选的,所述记录模块,具体用于将预设的第一标识赋值为所述索引文件中不满足所述预设条件的文件的ID最大的值。
可选的,所述删除模块,具体用于将所述新索引文件中ID大于所述第一标识的文件从所述第一文件存储系统中删除。
另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如上述第一方面所述的对文件存储系统进行纠删码处理的方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的对文件存储系统进行纠删码处理的方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的对文件存储系统进行纠删码处理的方法步骤。
本申请实施例提供了一种对文件存储系统进行纠删码处理的方法,可以从第一文件存储系统中获取待处理数据块,对待处理数据块中满足预设条件的文件进行纠删码处理,其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件,将满足预设条件的文件从第一文件存储系统中删除。基于上述处理,对大于等于预设阈值的文件进行纠删码处理,或对大于预设阈值的文件进行纠删码处理,避免了对所有文件进行纠删码处理导致的数据块所占存储空间增大的情况,进而能够节约存储空间。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种对文件存储系统进行纠删码处理的方法的流程图;
图2为本申请实施例提供的一种对文件存储系统进行纠删码处理的方法示例的流程图;
图3为本申请实施例提供的一种对文件存储系统进行纠删码处理的装置的结构图;
图4为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,在分布式存储系统中,如果文件小于预定的存储空间阈值,在纠删码处理后,该文件仍会占用与预定的存储空间阈值大小相同的存储空间,因此,如果分布式存储系统中包含较多小于预定的存储空间阈值的文件,在进行纠删码处理后,存储的文件所占的存储空间可能会大于纠删码处理前所占的存储空间。
为了解决上述问题,本申请实施例提供了一种对文件存储系统进行纠删码处理的方法,可以应用于电子设备,该电子设备可以服务器,或者,电子设备也可以为分布式存储系统。
电子设备可以从第一文件存储系统中获取待处理数据块,对待处理数据块中满足预设条件的文件进行纠删码处理,其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件,将满足预设条件的文件从第一文件存储系统中删除。基于上述处理,电子设备只对大于等于预设阈值的文件进行纠删码处理,或者,电子设备只对大于预设阈值的文件进行纠删码处理,避免了对所有文件进行纠删码处理导致的数据块所占存储空间增大的情况,进而能够节约存储空间。
参见图1,图1为本申请实施例提供的一种对文件存储系统进行纠删码处理的方法的流程图,该方法可以包括以下步骤:
S101:从第一文件存储系统中获取待处理数据块。
其中,电子设备本地可以存在有多个文件存储系统,电子设备将文件以数据块(block)的形式存储在文件存储系统中。一个数据块可以包含多个文件。
在申请实施例中,当电子设备需要对本地的第一文件存储系统中存储的文件进行数据压缩时,电子设备可以获取第一文件存储系统中存储的数据块(即待处理数据块),以对待处理数据块进行数据压缩。
S102:对待处理数据块中满足预设条件的文件进行纠删码处理。
其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件,在本申请中可以将满足预设条件的文件称为大文件。相应的,可以将未满足预设条件的文件称为小文件。
预设阈值可以由技术人员根据经验进行设置,该预设阈值可以为对文件进行纠删码处理时所采用的预定的存储空间阈值。例如,对文件进行纠删码处理时所采用的预定的存储空间阈值为256K,则该预设阈值可以为256K。
在申请实施例中,在电子设备获取待处理数据块后,电子设备可以从待处理数据块中提取大于预设阈值的文件、等于预设阈值的文件。
然后,电子设备可以对大于预设阈值的文件和等于预设阈值的文件进行纠删码处理,得到处理后的数据块(可以称为第一数据块)。
或者,电子设备也可以只对大于预设阈值的文件进行纠删码处理,得到第一数据块。
一种实现方式中,待处理数据块可以包括:索引文件和数据文件,索引文件中存储文件的索引数据,数据文件中存储与每个索引对应的文件实际数据。索引文件可以为idx格式的文件,数据文件可以为dat格式的文件。
相应的,S102可以包括以下步骤:
步骤1,遍历索引文件,将索引文件中满足预设条件的文件的唯一识别号放入到第一有效列表中。
步骤2,对数据文件中与第一有效列表中的唯一识别号对应的数据进行纠删码处理。
在电子设备在对文件进行存储时,电子设备可以在待处理数据块的索引文件中,记录待处理数据块中文件的ID(唯一识别号)和文件大小。
例如,参见表1,表(1)可以为待处理数据块的索引文件中记录的信息。
表(1)
ID 文件大小(KB)
0 23
1 50
2 110
3 1230
4 4560
5 23
6 7852
7 120
电子设备可以查询待处理数据块的索引文件,获取索引文件中记录的大文件的ID,并将大文件的ID写入列表中(即第一有效列表)。
针对表(1),如果预设阈值为256K,则电子设备可以将ID=3、4、6记录在第一有效列表中。
然后,电子设备可以获取待处理数据块的数据文件,提取数据文件中与第一有效列表中记录的ID对应的数据,提取到的数据即待处理数据块中大文件对应的数据,电子设备可以对提取到的数据进行纠删码处理,得到第一数据块。
S103:将满足预设条件的文件从第一文件存储系统中删除。
在申请实施例中,在电子设备对待处理数据块中的大文件进行纠删码处理后,电子设备可以将待处理数据块中的大文件从第一文件存储系统中删除。
由上述可见,基于本申请实施例的对文件存储系统进行纠删码处理的方法,电子设备可以对大于等于预设阈值的文件进行纠删码处理,或只对大于预设阈值的文件进行纠删码处理,避免了对所有文件进行纠删码处理导致的数据块所占存储空间增大的情况,进而能够降低存储成本。
另外,在对文件存储系统进行纠删码处理时,电子设备可以采取不同的方式将大文件从第一文件存储系统中删除。
可选的,S103可以包括以下方式:
方式一,若纠删码处理为首次,则在纠删码处理后,通过数据转写的方式将满足预设条件的文件从第一文件存储系统中删除。
针对首次纠删码和非首次纠删码处理,电子设备可以采取不同的方式将大文件从第一文件存储系统中删除。
在首次纠删码处理后,电子设备可以通过数据转写的方式,将待处理数据块中的大文件从第一文件存储系统中删除。
可选的,方式一可以包括以下步骤:对未满足预设条件的文件进行复制并存储,将待处理数据块从第一文件存储系统中删除。
电子设备可以获取待处理数据块中的小文件,对获取的小文件进行复制,然后,电子设备可以直接将待处理数据块从第一文件存储系统中删除,即实现了将待处理数据块中的大文件从第一文件存储系统中删除。
同理,电子设备也可以根据待处理数据块的索引文件,对待处理数据块中的小文件进行复制。
可选的,电子设备对待处理数据块中的小文件进行复制的方法,可以包括以下步骤:
步骤1,遍历索引文件,将索引文件中未满足预设条件的文件的ID放入到第二有效列表中。
步骤2,对数据文件中与第二有效列表中的ID对应的数据进行复制,得到新数据文件。
电子设备可以查询待处理数据块的索引文件,获取索引文件中记录的小文件的ID,并将小文件的ID写入列表中(即第二有效列表)。
例如,针对表(1),如果预设阈值为256K,则电子设备可以将ID=0、1、2、5、7记录在第二有效列表中。
然后,电子设备可以获取待处理数据块的数据文件,提取数据文件中与第二有效列表中记录的ID对应的数据,提取到的数据即待处理数据块中小文件对应的数据,电子设备可以对提取到的数据进行复制,得到新的数据块(可以称为第二数据块)。
可以理解的是,电子设备在对待处理数据块中的大文件进行纠删码处理后,可以得到第一数据块,在对待处理数据块中的小文件进行复制后,可以得到第二数据块。
相应的,电子设备可以删除原有的待处理数据块,以节约存储空间,可选的,电子设备可以将待处理数据块的数据文件从第一文件存储系统中删除。
基于上述处理,电子设备得到第一数据块和第二数据块,并删除了待处理数据块的数据文件,由于第一数据块所占的存储空间较小,因此,能够节约存储成本。
方式二,若纠删码处理为非首次,则在纠删码处理后,通过数据截断的方式将满足预设条件的文件从第一文件存储系统中删除。
如果当前并不是首次纠删码处理,则电子设备可以通过数据截断的方式,将待处理数据块中的大文件从第一文件存储系统中删除。
可选的,如果电子设备通过数据截断的方式删除大文件,则电子设备可以将大文件和小文件分开进行存储。
例如,在电子设备上一次进行纠删码处理后,电子设备可以将得到的第一数据块存储在预设文件存储系统中,以对纠删码处理后的数据块与本地的文件存储系统中存储的数据块进行区分,其中,预设存储系统可以是用于存储纠删码处理后的数据块的存储系统。电子设备可以将第二数据块仍存储在第一文件存储系统中。
后续,当电子设备接收到需要存储的文件(可以称为待存储文件)时,电子设备可以根据待存储文件的大小,采取不同的方式对待存储文件进行存储。
电子设备可以判断待存储文件是大文件还是小文件。
当电子设备判定待存储文件为大文件值时,电子设备可以将待存储文件存储在本地的第一文件存储系统中。
当电子设备判定待存储文件为小文件时,电子设备可以将待存储文件存储在本地的第二文件存储系统中。其中,第二文件存储系统与第一文件存储系统可以为不同的存储系统。
由于在上一次纠删码处理后,电子设备将大文件均存储在第一文件存储系统中,当电子设备再次进行纠删码处理时,电子设备可以通过数据截断的方式将上一次纠删码处理后至当前时刻接收到的大文件从第一文件存储系统中删除。
另外,电子设备还可以记录数据块中大文件与小文件的分界点。可选的,本申请的方法还可以包括以下步骤:在首次纠删码处理时记录第一标识。
其中,第一标识用于表示进行处理与不进行处理的文件的分界值。
一种方式中,在首次进行纠删码处理时,电子设备可以将预设的第一标识赋值为索引文件中不满足预设条件的文件的ID最大的值。
在首次进行纠删码处理时,电子设备可以记录待处理数据块中的小文件的最大的ID,由于后续电子设备将接收到的大文件与待处理数据块中的小文件存储在一起,因此,电子设备可以将待处理数据块中的小文件的最大的ID,作为第一标识,用于表示进行处理与不进行处理的文件的分界值。
相应的,电子设备通过数据截断的方式,将小文件从第一文件存储系统中删除的方法可以包括以下步骤:基于第一标识将满足预设条件的文件从第一文件存储系统中删除。
由于在首次纠删码处理后,电子设备将大文件存储在第二数据块中,可以得到新的数据块(可以称为第三数据块)。
当电子设备需要将大文件从第一文件存储系统中删除时,电子设备可以获取第一标识(即处理与不进行处理的文件的分界值),并将第三数据块中ID大于第一标识的文件从第三数据块中删除(即从第一文件存储系统中删除)。
一种方式中,电子设备可以获取第三数据块中,ID为第一标识的文件的偏移量,然后,电子设备可以将第三数据块中ID大于第一标识的文件的偏移量设置为ID为第一标识的文件的偏移量,进而,可以将ID大于第一标识的文件(即存储的大文件)从第三数据块中删除(即从第一文件存储系统中删除)。
针对上述实施例中对文件存储系统进行纠删码处理的方法,电子设备可以采取不同的方式响应文件访问请求。
当客户端需要获取某一文件(可以称为第一文件)时,客户端可以向电子设备发送针对第一文件的访问请求,相应的,电子设备可以接收到客户端发送的访问请求,并根据该访问请求,确定客户端需要访问的文件(即第一文件)。
在电子设备确定客户端需要访问的第一文件后,电子设备可以获取第一文件的ID,并判断第一文件的ID是否大于当前的第二标识,以根据判定结果进行处理,其中,第二标识可以为上一次进行纠删码的文件的最大ID。
当电子设备判定第一文件的ID大于第二标识时,表明第一文件为小文件或者未进行纠删码处理的大文件,因此,电子设备可以从本地的文件存储系统中获取第一文件,并向客户端发送第一文件。
另外,当电子设备判定第一文件的ID小于或者等于第二标识时,表明第一文件为小文件或者已进行纠删码处理的大文件。因此,电子设备可以继续判断第一文件是小文件,还是大文件,以根据判定结果进行处理。
如果第一文件为小文件,电子设备可以从本地的文件存储系统中获取第一文件,并向客户端发送第一文件。
如果第一文件为大文件,电子设备可以从预设文件存储系统中获取第一文件,并向客户端发送第一文件。
本步骤中,电子设备可以从预设文件存储系统中读取第一文件所属数据块,对第一文件所包含的数据进行拼接,得到完整的第一文件,并将第一文件发送至客户端。
另外,为了降低电子设备系统资源的消耗,电子设备还可以采取追加的方式删除存储的文件。
当客户端需要删除某一文件(可以称为第二文件)时,客户端可以向电子设备发送针对第二文件的删除请求,相应的,电子设备可以接收到客户端发送的删除请求,并确定客户端需要删除的文件(即第二文件),进而,电子设备可以确定第二文件所属数据块,并在第二文件所属数据块的索引文件中,记录第二文件处于被删除状态。
如果第二文件为大文件,当电子设备需要对当前存储的文件进行纠删码处理时,由于第二文件已被标记为被删除状态,因此,电子设备可以不对第二文件进行纠删码处理。
另外,电子设备还可以在预设时刻,统一删除索引文件中记录的处于被删除状态的文件。
一种实现方式中,如果电子设备采用三副本存储方式进行数据存储,即,针对同一文件,该电子设备可以存储该文件的三个副本,包括一个主副本和两个非主副本。相应的,电子设备可以对主副本进行纠删码处理,然后对非主副本进行纠删码处理。
针对某一数据块,电子设备可以判断该数据块是否为主副本,如果该数据块为主副本,则电子设备可以根据本申请实施例的方法,对该数据块进行纠删码处理,在对主副本处理结束后,电子设备可以对非主副本进行纠删码处理,直至对两个非主副本处理结束。
上述步骤中,针对某一数据块,当电子设备判定该数据块具有主副本标识时,电子设备可以确定该数据块为主副本;当电子设备判定该数据块不具有主副本标识时,电子设备可以确定该数据块为非主副本。
参见图2,图2为本申请实施例提供的一种对文件存储系统进行纠删码处理的方法示例的流程图,该方法可以包括以下步骤:
S201:在首次进行纠删码处理时,获取本地的第一文件存储系统中存储的待处理数据块。
待处理数据块的索引文件可以参见表(1)。
S202:遍历待处理数据块的索引文件,将索引文件中满足预设条件的文件的唯一识别号放入到第一有效列表中。
满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件。
S203:对待处理数据块的数据文件中与第一有效列表中的唯一识别号对应的数据进行纠删码处理,得到第一数据块,并将第一数据块存储在预设文件存储系统中。
其中,预设阈值可以为256KB,第一有效列表可以参见表(2)。
表(2)
ID
3
4
6
S204:遍历待处理数据块的索引文件,将索引文件中未满足预设条件的文件的唯一识别号放入到第二有效列表中。
第二有效列表可以参见表(3)。
表(3)
ID
0
1
2
5
7
S205:对待处理数据块的数据文件中与第二有效列表中的唯一识别号对应的数据进行复制,得到第二数据块,并存储在第一文件存储系统中。
S206:将待处理数据块的数据文件从第一文件存储系统中删除。
S207:将预设的第一标识赋值为待处理数据块的索引文件中不满足预设条件的文件的唯一识别号最大的值。
其中,第一标识用于表示进行处理与不进行处理的文件的分界值,此处,第一标识可以为7。
S208:当接收到待存储文件时,判断待存储文件是否满足预设条件,如果待存储文件满足预设条件,执行S209,如果待存储文件不满足预设条件,执行S2010。
S209:将待存储文件存储在第一文件存储系统中。
S2010:将待存储文件存储在本地的第二文件存储系统中。
其中,第二文件存储系统与第一文件存储系统为不同的存储系统。
S2011:当需要再次进行纠删码处理时,对包含第二数据块的新数据块中满足预设条件的文件进行纠删码处理,并将纠删码处理得到的数据块存储在预设文件存储系统中。
S2012:将包含第二数据块的新数据块中唯一识别号大于第一标识的文件的偏移量,设置为唯一识别号为第一标识的文件的偏移量。
与图1的方法实施例相对应,参见图3,图3为本申请实施例提供的一种对文件存储系统进行纠删码处理的装置,该装置可以包括:
获取模块301,用于从第一文件存储系统中获取待处理数据块;
处理模块302,用于对待处理数据块中满足预设条件的文件进行纠删码处理;其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
删除模块303,用于将满足预设条件的文件从第一文件存储系统中删除。
可选的,待处理数据块包括:索引文件和数据文件;索引文件存储文件的索引数据,数据文件存储与每个索引对应的文件实际数据;
处理模块302,具体用于遍历索引文件,将索引文件中满足预设条件的文件的唯一识别号ID放入到第一有效列表中;
对数据文件中与第一有效列表中的ID对应的数据进行纠删码处理。
可选的,删除模块303,具体用于若纠删码处理为首次,则在纠删码处理后,通过数据转写的方式将满足预设条件的文件从第一文件存储系统中删除;
若纠删码处理为非首次,则在纠删码处理后,通过数据截断的方式将满足预设条件的文件从第一文件存储系统中删除。
可选的,删除模块303,具体用于对未满足预设条件的文件进行复制并存储;
将待处理数据块从第一文件存储系统中删除。
可选的,删除模块303,具体用于遍历索引文件,将索引文件中未满足预设条件的文件的ID放入到第二有效列表中;
对数据文件中与第二有效列表中的ID对应的数据进行复制,得到新数据文件。
可选的,删除模块303,具体用于将待处理数据块的数据文件从第一文件存储系统中删除。
可选的,装置还包括:
记录模块,用于在首次纠删码处理时记录第一标识,第一标识用于表示进行处理与不进行处理的文件的分界值;
删除模块303,具体用于基于第一标识将满足预设条件的文件从第一文件存储系统中删除。
可选的,记录模块,具体用于将预设的第一标识赋值为索引文件中不满足预设条件的文件的ID最大的值。
可选的,删除模块303,具体用于将新索引文件中ID大于第一标识的文件从第一文件存储系统中删除。
由以上可见,基于本申请实施例的对文件存储系统进行纠删码处理的装置,可以从第一文件存储系统中获取待处理数据块,对待处理数据块中满足预设条件的文件进行纠删码处理,其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件,将满足预设条件的文件从第一文件存储系统中删除。基于上述处理,对大于等于预设阈值的文件进行纠删码处理,或大于预设阈值的文件进行纠删码处理,避免了对所有文件进行EC处理导致的数据块所占存储空间增大的情况,进而能够降低存储成本。
本申请实施例还提供了一种电子设备,如图4所示,包括存储器401和处理器402;
存储器401,用于存放计算机程序;
处理器402,用于执行存储器401上所存放的程序时,实现本申请实施例提供的对文件存储系统进行纠删码处理的方法。
具体的,上述对文件存储系统进行纠删码处理的方法,包括:
从第一文件存储系统中获取待处理数据块;
对待处理数据块中满足预设条件的文件进行纠删码处理;其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
将满足预设条件的文件从第一文件存储系统中删除。
需要说明的是,上述对文件存储系统进行纠删码处理的方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
上述的处理器,通信接口,存储器通过通信总线完成相互间的通信,此处提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的对文件存储系统进行纠删码处理的方法。
具体的,上述对文件存储系统进行纠删码处理的方法,包括:
从第一文件存储系统中获取待处理数据块;
对待处理数据块中满足预设条件的文件进行纠删码处理;其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
将满足预设条件的文件从第一文件存储系统中删除。
需要说明的是,上述对文件存储系统进行纠删码处理的方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的对文件存储系统进行纠删码处理的方法。
具体的,上述对文件存储系统进行纠删码处理的方法,包括:
从第一文件存储系统中获取待处理数据块;
对待处理数据块中满足预设条件的文件进行纠删码处理;其中,满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
将满足预设条件的文件从第一文件存储系统中删除。
需要说明的是,上述对文件存储系统进行纠删码处理的方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种对文件存储系统进行纠删码处理的方法,其特征在于,所述方法包括:
从第一文件存储系统中获取待处理数据块;
对所述待处理数据块中满足预设条件的文件进行纠删码处理;其中,所述满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
将所述满足预设条件的文件从所述第一文件存储系统中删除;
所述待处理数据块包括:索引文件和数据文件;所述索引文件存储文件的索引数据,所述数据文件存储与每个索引对应的文件实际数据;
所述对所述待处理数据块中满足预设条件的文件进行纠删码处理,包括:
遍历所述索引文件,将所述索引文件中满足所述预设条件的文件的唯一识别号ID放入到第一有效列表中;
对所述数据文件中与所述第一有效列表中的ID对应的数据进行纠删码处理;
在首次纠删码处理时,将预设的第一标识赋值为所述索引文件中不满足所述预设条件的文件的ID最大的值,所述第一标识用于表示进行处理与不进行处理的文件的分界值;
若所述纠删码处理为首次,则在所述纠删码处理后,通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除;
若所述纠删码处理为非首次,则在所述纠删码处理后,将所述索引文件中ID大于所述第一标识的文件从所述第一文件存储系统中删除;
在所述纠删码处理后,针对接收到的每一待存储文件,若该待存储文件满足所述预设条件,则将该待存储文件存储至所述第一文件存储系统;
若该待存储文件不满足所述预设条件,则将该待存储文件存储至第二文件存储系统;其中,所述第二文件存储系统与所述第一文件存储系统为不同的存储系统。
2.根据权利要求1所述的方法,其特征在于,所述通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除,包括:
对未满足所述预设条件的文件进行复制并存储;
将所述待处理数据块从所述第一文件存储系统中删除。
3.根据权利要求2所述的方法,其特征在于,所述对未满足所述预设条件的文件进行复制并存储,包括:
遍历所述索引文件,将所述索引文件中未满足所述预设条件的文件的ID放入到第二有效列表中;
对所述数据文件中与所述第二有效列表中的ID对应的数据进行复制,得到新数据文件。
4.根据权利要求2或3所述的方法,其特征在于,将所述待处理数据块从所述第一文件存储系统中删除,包括:
将所述待处理数据块的数据文件从所述第一文件存储系统中删除。
5.一种对文件存储系统进行纠删码处理的装置,其特征在于,所述装置包括:
获取模块,用于从第一文件存储系统中获取待处理数据块;
处理模块,用于对所述待处理数据块中满足预设条件的文件进行纠删码处理;其中,所述满足预设条件的文件为:所占存储空间大于等于预设阈值的文件,或所占存储空间大于预设阈值的文件;
删除模块,用于将所述满足预设条件的文件从所述第一文件存储系统中删除;
所述待处理数据块包括:索引文件和数据文件;所述索引文件存储文件的索引数据,所述数据文件存储与每个索引对应的文件实际数据;
所述处理模块,具体用于遍历所述索引文件,将所述索引文件中满足所述预设条件的文件的唯一识别号ID放入到第一有效列表中;
对所述数据文件中与所述第一有效列表中的ID对应的数据进行纠删码处理;
所述装置还包括:
记录模块,用于在首次纠删码处理时,将预设的第一标识赋值为所述索引文件中不满足所述预设条件的文件的ID最大的值,所述第一标识用于表示进行处理与不进行处理的文件的分界值;
所述删除模块,具体用于若所述纠删码处理为首次,则在所述纠删码处理后,通过数据转写的方式将所述满足预设条件的文件从所述第一文件存储系统中删除;若所述纠删码处理为非首次,则在所述纠删码处理后,将所述索引文件中ID大于所述第一标识的文件从所述第一文件存储系统中删除;
所述装置还包括:
存储模块,用于在所述纠删码处理后,针对接收到的每一待存储文件,若该待存储文件满足所述预设条件,则将该待存储文件存储至所述第一文件存储系统;若该待存储文件不满足所述预设条件,则将该待存储文件存储至第二文件存储系统;其中,所述第二文件存储系统与所述第一文件存储系统为不同的存储系统。
6.根据权利要求5所述的装置,其特征在于,所述删除模块,具体用于对未满足所述预设条件的文件进行复制并存储;
将所述待处理数据块从所述第一文件存储系统中删除。
7.根据权利要求6所述的装置,其特征在于,所述删除模块,具体用于遍历所述索引文件,将所述索引文件中未满足所述预设条件的文件的ID放入到第二有效列表中;
对所述数据文件中与所述第二有效列表中的ID对应的数据进行复制,得到新数据文件。
8.根据权利要求6或7所述的装置,其特征在于,所述删除模块,具体用于将所述待处理数据块的数据文件从所述第一文件存储系统中删除。
9.一种电子设备,其特征在于,包括存储器和处理器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
CN201910363866.1A 2019-04-30 2019-04-30 对文件存储系统进行纠删码处理的方法、装置及电子设备 Active CN110083482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910363866.1A CN110083482B (zh) 2019-04-30 2019-04-30 对文件存储系统进行纠删码处理的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910363866.1A CN110083482B (zh) 2019-04-30 2019-04-30 对文件存储系统进行纠删码处理的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110083482A CN110083482A (zh) 2019-08-02
CN110083482B true CN110083482B (zh) 2023-06-02

Family

ID=67418297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910363866.1A Active CN110083482B (zh) 2019-04-30 2019-04-30 对文件存储系统进行纠删码处理的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110083482B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942116A (zh) * 2014-04-24 2014-07-23 深圳市中博科创信息技术有限公司 一种对数据进行容错处理的方法及数据处理系统
CN105677742A (zh) * 2015-12-30 2016-06-15 深圳市瑞驰信息技术有限公司 一种存储文件的方法及装置
CN107817947A (zh) * 2016-09-14 2018-03-20 北京金山云网络技术有限公司 一种数据存储方法、装置及系统
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180024746A1 (en) * 2015-02-13 2018-01-25 Nanyang Technological University Methods of encoding and storing multiple versions of data, method of decoding encoded multiple versions of data and distributed storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942116A (zh) * 2014-04-24 2014-07-23 深圳市中博科创信息技术有限公司 一种对数据进行容错处理的方法及数据处理系统
CN105677742A (zh) * 2015-12-30 2016-06-15 深圳市瑞驰信息技术有限公司 一种存储文件的方法及装置
CN107817947A (zh) * 2016-09-14 2018-03-20 北京金山云网络技术有限公司 一种数据存储方法、装置及系统
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向共享交换的水利混合云存储平台;冯读庆等;《计算机与现代化》(第12期);31-35 *

Also Published As

Publication number Publication date
CN110083482A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
KR20170123336A (ko) 파일 조작 방법 및 장치
CN109213604B (zh) 一种数据源的管理方法和装置
CN112799584B (zh) 一种数据存储方法及装置
EP3809708A1 (en) Video data storage method and device in cloud storage system
CN109977261B (zh) 一种数据请求的处理方法、装置及服务器
CN112579551A (zh) 数据存储和读取方法、装置、客户端、管理服务器及系统
US20220164316A1 (en) Deduplication method and apparatus
CN110750211B (zh) 一种存储空间的管理方法及装置
CN105988941B (zh) 缓存数据处理方法和装置
CN111562884A (zh) 一种数据存储方法、装置及电子设备
CN110083482B (zh) 对文件存储系统进行纠删码处理的方法、装置及电子设备
CN112463058A (zh) 一种碎片数据整理方法、装置及存储节点
CN109086220B (zh) 一种回收存储空间的方法和装置
CN110955682A (zh) 缓存数据的删除、数据缓存及缓存数据的读取方法及装置
CN112035498B (zh) 数据块调度方法、装置、调度层节点及存储层节点
CN109933580B (zh) 训练数据生成方法、装置及服务器
CN113760854A (zh) Hdfs内存中数据的识别方法及相关设备
CN113849133B (zh) 隐私数据的处理方法、装置、电子设备及存储介质
CN112543213B (zh) 一种数据处理方法及装置
CN113297003A (zh) 管理备份数据的方法、电子设备和计算机程序产品
CN115269533A (zh) 一种日志压缩的保存方法、装置、电子设备及存储介质
CN112817923B (zh) 应用程序数据处理方法及装置
CN108052648B (zh) 一种网站图片删除方法、装置及电子设备
CN110096483B (zh) 一种重复文件检测方法、终端和服务器
CN115510067A (zh) 一种元数据存储方法、装置及数据库

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