CN111381779B - 数据处理方法、装置、设备及存储介质 - Google Patents

数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111381779B
CN111381779B CN202010148695.3A CN202010148695A CN111381779B CN 111381779 B CN111381779 B CN 111381779B CN 202010148695 A CN202010148695 A CN 202010148695A CN 111381779 B CN111381779 B CN 111381779B
Authority
CN
China
Prior art keywords
data
written
metadata
target file
physical block
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
CN202010148695.3A
Other languages
English (en)
Other versions
CN111381779A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010148695.3A priority Critical patent/CN111381779B/zh
Publication of CN111381779A publication Critical patent/CN111381779A/zh
Application granted granted Critical
Publication of CN111381779B publication Critical patent/CN111381779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0608Saving storage space on storage systems
    • 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
    • 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
    • G06F3/0641De-duplication techniques
    • 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]

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法、装置、设备及存储介质。其中,该方法包括:获取写请求中的待写入数据;确定所述待写入数据对应的元数据;将所述待写入数据及所述待写入数据对应的元数据写入目标文件;确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;对所述写请求中已写入所述目标文件的数据进行去重。本实施例减少了写延时,可以快速响应写请求,并对所述写请求中已写入所述目标文件的数据进行去重,从而既可以减少数据写入时上层业务的写时延,又能够有效实现数据去重,提高存储空间利用率。

Description

数据处理方法、装置、设备及存储介质
技术领域
本发明涉及存储领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
数据去重又称重复数据删除(Data Deduplication),是一种应用在存储系统中的全局地识别和消除冗余数据的技术。为了让有限的存储资源可以存放更多的数据,大部分分布式存储系统均采用了数据去重。
相关技术中,数据去重往往是在数据写入时进行数据缩减,比如,通过对写入数据进行指纹计算、对比,决定是否向后端硬件存储设备发送数据写请求,由于每次写请求都需要指纹计算和对比,会造成上层业务的写时延放大。
发明内容
有鉴于此,本发明实施例提供了一种数据处理方法、装置、系统及存储介质,旨在有效降低数据写入时上层业务的写时延。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据处理方法,包括:
获取写请求中的待写入数据;
确定所述待写入数据对应的元数据;
将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;
对所述写请求中已写入所述目标文件的数据进行去重。
本发明实施例还提供了一种数据处理装置,包括:
获取模块,用于获取写请求中的待写入数据;
元数据确定模块,用于确定所述待写入数据对应的元数据;
写入模块,用于将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
响应模块,用于确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;
去重模块,用于对所述写请求中已写入所述目标文件的数据进行去重。
本发明实施例又提供了一种数据处理设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本发明任一实施例所述方法的步骤。
本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明任一实施例所述方法的步骤。
本发明实施例提供的技术方案,确定待写入数据对应的元数据,将所述待写入数据及所述待写入数据对应的元数据写入目标文件;确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息,由于不需要对待写入数据进行指纹计算、比对后决定是否执行写操作,减少了写延时,可以快速响应写请求,并对所述写请求中已写入所述目标文件的数据进行去重,从而既可以减少数据写入时上层业务的写时延,又能够有效实现数据去重,提高存储空间利用率。
附图说明
图1为本发明实施例数据处理方法示意图;
图2为本发明应用实施例数据处理方法的流程示意图;
图3为本发明实施例数据处理装置的结构示意图;
图4为本发明应用实施例数据处理装置的结构示意图;
图5为本发明实施例数据处理设备的结构示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例提供了一种数据处理方法,应用于数据处理设备,该数据处理设备可以为用于数据读写的客户端或者服务器,还可以为分布式存储系统中的数据读写处理节点,各数据读写处理节点可以将数据写入共享的存储池或者从存储池中读取数据。如图1所示,该方法包括:
步骤101,获取写请求中的待写入数据;
数据处理设备可以接收外部输入的写请求,从而获取写请求对应的待写入数据。
实际应用中,数据处理设备可以接收上层业务(比如,生成写请求的特定应用)下发的待写入数据,上层业务可以根据用户的输入生成写请求。写请求对应的待写入数据的数量可以为多个,数据处理设备可以依次获取写请求对应的各待写入数据。比如,可以针对写请求的目标数据根据预设的数量或者预设的切片大小划分为多个待写入数据,对各待写入数据依次进行写入操作。在一应用示例中,假定预设的数量为M,M为大于1的自然数,基于目标数据的大小和M确定待写入数据的切片大小,根据确定的切片大小,逐一切分出大小相同的M-1个数据块,切分后余下的为第M个数据块。其中,待写入数据的切片大小可以是4KB、8KB、12KB、16KB或其他粒度大小。在另一应用示例中,可以根据预设的切片大小将目标数据划分为多个待写入数据。
步骤102,确定所述待写入数据对应的元数据;
这里,元数据为描述数据的数据(data about data)。在一些实施例中,所述元数据包括:指纹信息(fingerprint,FP)、逻辑块地址及第一物理块地址的对应关系。指纹信息是指根据待写入数据的内容算出的定长哈希值,用于唯一标识待写入数据。逻辑块地址(logical block addresses,LBA)是指待写入数据在目标文件中对应的数据块区域,该目标文件可以存储在非易失性存储介质上。第一物理块地址(physical block addresses,PBA)是指待写入数据分配的存储介质上的物理存储区域。
实际应用中,可以对获取的待写入数据,基于预设算法,比如信息-摘要算法5(Message-Digest Algorithm 5,MD5)、安全哈希算法(Secure Hash Algorithm,SHA1)生成指纹信息,并确定待写入数据的LBA与第一PBA的映射关系,得到包括指纹信息、LBA及第一PBA的对应关系的元数据。
步骤103,将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
这里,数据处理设备可以将待写入数据及待写入数据对应的元数据写入目标文件,目标文件可以存储在数据处理设备本地侧或者与数据处理设备相连的分布式存储设备上,本发明实施例对此不做具体限定。
实际应用中,目标文件包括用于存储待写入数据的元数据的数据包包头,还包括用于存储待写入数据的数据包包体,待写入数据、待写入数据对应的元数据分别写入目标文件的数据包包头、数据包包体中。具体地,可以将待写入数据、待写入数据对应的元数据以日志的形式追加写至目标文件中,通过追加写可以提高数据写入的效率。
步骤104,确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;
若待写入数据、待写入数据对应的元数据成功追加写至目标文件中,则可以向上层业务返回待写入数据写入成功的消息,即生成所述待写入数据被成功写入的响应信息,从而可以立即执行后续的写请求。
步骤105,对所述写请求中已写入所述目标文件的数据进行去重。
这里,可以在向上层业务返回待写入数据写入成功的消息后,对所述写请求中已写入所述目标文件的数据进行去重,即实现了数据写入的异步去重,不需要在写入操作之前进行数据去重,从而可以在不影响数据写入速度的前提下,通过数据去重,达到优良的写数据性能和存储空间利用率,从而可以有效减少上层业务的写延时。
在一实施例中,所述对所述写请求中已写入所述目标文件的数据进行去重,包括:
将所述写请求中已写入所述目标文件的数据对应的元数据存储至元数据服务器;
接收所述元数据服务器返回的第二物理块地址;
若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,对所述相应的数据去重。
这里,所述元数据服务器存储所述目标文件中历史写入数据的元数据,所述元数据服务器基于所述写请求中已写入所述目标文件的数据的指纹信息是否重复的结果返回第二物理块地址。
在一应用示例中,元数据服务器维护历史写入数据的元数据,即元数据服务器存储有历史写入数据的指纹信息、LBA和PBA。对于分布式存储系统,元数据服务器可以存储分布式存储系统的历史写入数据的元数据。数据处理设备启动异步数据去重后,将写请求中已写入目标文件的数据的元数据(LBA,FP,第一PBA)发送至元数据服务器,元数据服务器接收到元数据(LBA,FP,第一PBA)后,会根据FP判断该元数据对应的数据是否需要数据去重,由于FP可以唯一标识数据,若对接收的元数据的FP进行指纹查找,查找到相同的FP,则认定该数据是重复数据,元数据服务器累加相应FP的引用计数。若没有查找到相同的FP,则表明该数据为首次写,将该数据的元数据(LBA,FP,第一PBA)持久化,以新建该数据的FP、LBA与第一PBA的对应关系。元数据服务器基于所述写请求中已写入所述目标文件的数据的指纹信息是否重复的结果返回第二物理块地址,具体地,若FP重复,则元数据服务器将首次写对应的第一PBA作为第二PBA返回给数据处理设备;若FP不重复,则元数据服务器将该FP作为首次写,并将对应的第一PBA作为第二PBA返回给数据处理设备。这样,数据处理设备可以根据接收的第二PBA是否与第一PBA相同来判断数据是否需要去重,若第二PBA不同于与相应的第一PBA,则表明该数据为重复数据,对该数据进行数据去重。
在一实施例中,所述对所述相应的数据去重,包括:
将所述相应的数据的第一物理块地址标识为无效地址。
实际应用中,可以设置与目标文件对应的第一位图(bitmap),该第一位图存储于非易失性存储介质,用于持久化标识所述目标文件的物理存储区域是否有效。物理存储区域各地址位通过二进制的位图来标识是否有效,比如,置0表示无效,置1表示有效。若元数据服务器返回的数据的第二PBA不同于相应的第一PBA,则表明该数据为重复数据,需要进行数据去重。这里,可以基于所述目标文件中所述相应的数据的无效地址更新第一位图,比如,将第一位图中重复数据的物理存储区域置0,表明相应的数据为垃圾数据,仅保留首次写入的数据的物理存储区域有效。
在一实施例中,所述方法还包括:
基于无效地址释放所述相应的数据的存储空间。
这里,可以在第一位图中将重复数据的物理存储区域标识为无效地址后,由数据处理设备中的GC(garbage collection,垃圾回收)释放无效地址的数据的存储空间。
在一实施例中,所述方法还包括:
若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,将内存中缓存的相应数据的元数据中的第一物理块地址替换为所述返回的第二物理块地址。
实际应用中,数据处理设备的内存中缓存各待写入数据的元数据,这样,在进行数据读取时,可以根据缓存的元数据,快速读取相应的数据。如果数据为重复数据,则数据的第一PBA为无效地址,将缓存中的重复数据的第一PBA替换为元数据服务器返回的第二PBA,可以完成缓存的元数据的更新。
在一实施例中,所述方法还包括:
基于所述目标文件中所述相应的数据的无效地址更新第二位图;其中,所述第二位图位于内存中,用于缓存标识所述目标文件的物理存储区域是否有效。
实际应用中,数据处理设备的内存中缓存第二位图,第二位图用于缓存标识所述目标文件的物理存储区域是否有效。这样,在进行数据读取时,可以根据缓存的第二位图,快速目标文件的物理存储区域是否有效。如果数据为重复数据,则数据的第一PBA为无效地址,更新缓存的第二位图,可以利用缓存信息快速确定目标文件的物理存储区域是否有效。
图2示出了一应用实施例数据处理方法的流程示意图。如图2所示,本应用实施例数据处理方法包括:
步骤201,接收写请求,执行写操作并返回写成功的响应;
数据处理设备接收上层业务下发的写请求,获取待写入数据,确定待写入数据的对应的元数据,以日志的形式将所述待写入数据及所述待写入数据对应的元数据追加写到目标文件,当此次追加写完成后,向上层业务返回写请求成功的响应。
步骤202,发起异步去重;
数据处理设备在向上层业务返回写请求成功的响应后,将新写入数据的元数据(LBA,FP,第一PBA)提交至元数据服务器持久化。
步骤203,插入指纹;
元数据服务器接收到元数据(LBA,FP,第一PBA)后,会根据FP判断此次接收的元数据对应的数据是否需要数据去重,通过查找元数据服务器存储的FP表,该FP表记录了历史写入数据的FP及相应FP的引用次数,若查找到相同的FP,则认为是重复数据,累加FP的引用次数,否则认为是首次写,将相应数据的元数据持久化至元数据服务器。若元数据服务器成功持久化相应的元数据,则将元数据中的第一PBA作为第二PBA返回给数据处理设备,否则,将元数据服务器侧查找到相同FP对应的PBA作为第二PBA返回给数据处理设备。
步骤204,置入头部队列;
数据处理设备根据元数据服务器返回的第二PBA是否与相应的第一PBA相同来判断相应的数据是否为重复数据,根据各数据是否为重复数据的结果,更新缓存中目标文件的头部队列,这里,缓存的头部队列包括数据的FP表,若数据为重复数据,则将相应的FP表中的引用次数加1,否则,将相应的FP加入FP表。
步骤205,更新内存缓存的地址映射关系;
如果数据为重复数据,内存中缓存的相应数据的逻辑地址与物理地址的映射关系需要更新,可以根据元数据服务器返回的第二PBA更新缓存中的逻辑地址与物理地址的映射关系。
步骤206,更新位图;
这里,数据处理设备根据数据是否为重复数据的结果,更新非易失性存储介质中存储的第一位图和内存中缓存的目标文件的第二位图,其中,第一位图用于持久化标识所述目标文件的物理存储区域是否有效,第二位图用于缓存标识所述目标文件的物理存储区域是否有效。
步骤207,更新逻辑地址和物理地址映射;
这里,数据处理设备可以基于缓存中更新后的地址映射关系更新逻辑地址管理模块中维护的逻辑地址和物理地址的映射关系。
步骤208,基于无效地址释放所述相应的数据的存储空间;
这里,GC可以基于第二位图释放无效地址的存储空间。
步骤209,置目标文件映射表。
实际应用中,数据处理设备可以对不同的目标文件进行写入操作,由于写入操作与数据去重是异步的,可能存在目标文件的写入操作已完成,但数据去重尚未完成的情形,基于此,数据处理设备缓存不同目标文件及相应数据去重状态的映射表,如果当前的目标文件已经数据去重结束,则在映射表中将相应目标文件标识为去重完成,相应目标文件的异步去重过程结束。
为了实现本发明实施例的方法,本发明实施例还提供一种数据处理装置,该数据处理装置与上述数据处理方法对应,上述数据处理方法实施例中的各步骤也完全适用于本数据处理装置实施例。
如图3所示,该装置包括:获取模块301、元数据确定模块302、写入模块303、响应模块304及去重模块305。其中,
获取模块301,用于获取写请求中的待写入数据;
元数据确定模块302,用于确定所述待写入数据对应的元数据;
写入模块303,用于将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
响应模块304,用于确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;
去重模块305,用于对所述写请求中已写入所述目标文件的数据进行去重。
在一实施例中,所述元数据包括:指纹信息、逻辑块地址及第一物理块地址的对应关系,去重模块305具体用于:
将所述写请求中已写入所述目标文件的数据对应的元数据存储至元数据服务器;
接收所述元数据服务器返回的第二物理块地址;
若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,对所述相应的数据去重;
其中,所述元数据服务器存储所述目标文件中历史写入数据的元数据,所述元数据服务器基于所述写请求中已写入所述目标文件的数据的指纹信息是否重复的结果返回第二物理块地址。
在一实施例中,去重模块305具体用于:
将所述相应的数据的第一物理块地址标识为无效地址。
在一实施例中,所述装置还包括:空间释放模块306,用于基于无效地址释放所述相应的数据的存储空间。
在一实施例中,所述装置还包括:缓存更新模块307,用于若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,将内存中缓存的相应数据的元数据中的第一物理块地址替换为所述返回的第二物理块地址。
在一实施例中,去重模块305具体用于:
基于所述目标文件中所述相应的数据的无效地址更新第一位图;其中,所述第一位图存储于非易失性存储介质,用于持久化标识所述目标文件的物理存储区域是否有效。
在一实施例中,缓存更新模块307还用于:
基于所述目标文件中所述相应的数据的无效地址更新第二位图;其中,所述第二位图位于内存中,用于缓存标识所述目标文件的物理存储区域是否有效。
实际应用时,获取模块301、元数据确定模块302、写入模块303、响应模块304、去重模块305、空间释放模块306及缓存更新模块307,可以由数据处理装置中的处理器来实现。当然,处理器需要运行存储器中的计算机程序来实现它的功能。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4示出了一应用实施例数据处理装置的结构示意图,如图4所示,在本应用实施例中,上层业务可以经分布式存储挂载点访问后端存储设备,其中,上层业务可以部署在客户端,后端存储设备可以为分布式存储系统的数据读写节点,分布式存储挂载点可以为连接客户端与分布式存储系统的节点的网络设备。数据处理装置设置于数据读写节点上。
如图4所示,该数据处理装置包括:段文件处理模块401、去重逻辑模块402、指纹索引模块403及GC回收模块404,其中,段文件处理模块401具有前述获取模块301、元数据确定模块302、写入模块303及响应模块304的功能,去重逻辑模块402和指纹索引模块403相当于前述的去重模块305,GC回收模块404相当于前述的空间释放模块306。
该数据处理装置的具体处理流程如下:
1、段文件处理模块401接收上层业务下发的写请求,获取待写入数据,确定待写入数据的对应的元数据,以日志的形式将所述待写入数据及所述待写入数据对应的元数据追加写到段文件,当此次追加写完成后,向上层业务返回写请求成功的响应。
2、去重逻辑模块402确定段文件处理模块401向上层业务返回写请求成功的响应后,启动异步的数据去重流程。
这里,去重逻辑模块402可以在段文件处理模块401返回多个写请求成功的响应后,基于批量的写请求启动异步的数据去重流程。
3、指纹索引模块403将新写入数据的元数据(LBA,FP,第一PBA)提交至元数据服务器持久化,并接收元数据服务器返回的相应的第二PBA,并根据返回的第二PBA更新段信息表和地址映射表。
这里,段信息表用于段文件的相应物理存储区域是否有效,地址映射表用于维护段文件的逻辑地址和实际的物理地址的映射关系。元数据服务器接收到元数据(LBA,FP,第一PBA)后,会根据FP判断此次接收的元数据对应的数据是否需要数据去重,通过查找元数据服务器存储的FP表,该FP表记录了历史写入数据的FP及相应FP的引用次数,若查找到相同的FP,则认为是重复数据,累加FP的引用次数,否则认为是首次写,将相应数据的元数据持久化至元数据服务器。若元数据服务器成功持久化相应的元数据,则将元数据中的第一PBA作为第二PBA返回给指纹索引模块403,否则,将元数据服务器侧查找到相同FP对应的PBA作为第二PBA返回给指纹索引模块403。
指纹索引模块403根据第二PBA是否与相应的第一PBA相同的结果来更新段信息表和地址映射表,若第二PBA不同于第一PBA,则表明发生数据去重,将相应数据的第一PBA在段信息表置0,并将地址映射表中相应的第一PBA替换为第二PBA;若第二PBA与第一PBA相同,则表明相应数据为首次写,将相应数据的第一PBA在段信息表置1,并将相应数据的LBA与第一PBA的映射关系插入地址映射表。
4、GC回收模块404基于段文件的段信息表释放段文件中无效地址的存储空间。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供一种数据处理设备。图5仅仅示出了该数据处理设备的示例性结构而非全部结构,根据需要可以实施图5示出的部分结构或全部结构。
如图5所示,本发明实施例提供的数据处理设备500包括:至少一个处理器501、存储器502、用户接口503和至少一个网络接口504。数据处理设备500中的各个组件通过总线系统505耦合在一起。可以理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。
其中,用户接口503可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
本发明实施例中的存储器502用于存储各种类型的数据以支持数据处理设备的操作。这些数据的示例包括:用于在数据处理设备上操作的任何计算机程序。
本发明实施例揭示的数据处理方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,数据处理方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成本发明实施例提供的数据处理方法的步骤。
在示例性实施例中,数据处理设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,存储器502可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体可以是计算机可读存储介质,例如包括存储计算机程序的存储器502,上述计算机程序可由数据处理设备的处理器501执行,以完成本发明实施例方法所述的步骤。计算机可读存储介质可以是ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种数据处理方法,其特征在于,包括:
获取写请求中的待写入数据;
确定所述待写入数据对应的元数据;
将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;所述元数据包括:指纹信息、逻辑块地址及第一物理块地址的对应关系;
将所述写请求中已写入所述目标文件的数据对应的元数据存储至元数据服务器;
接收所述元数据服务器返回的第二物理块地址;
若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,对所述相应的数据去重;
其中,所述元数据服务器存储历史写入数据的元数据,所述元数据服务器基于所述写请求中已写入所述目标文件的数据的指纹信息是否重复的结果返回第二物理块地址。
2.根据权利要求1所述的方法,其特征在于,所述对所述相应的数据去重,包括:
将所述相应的数据的第一物理块地址标识为无效地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于无效地址释放所述相应的数据的存储空间。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,将内存中缓存的相应数据的元数据中的第一物理块地址替换为所述返回的第二物理块地址。
5.根据权利要求2所述的方法,其特征在于,所述将所述目标文件中所述相应的数据的第一物理块地址标识为无效地址,包括:
基于所述目标文件中所述相应的数据的无效地址更新第一位图;其中,所述第一位图存储于非易失性存储介质,用于持久化标识所述目标文件的物理存储区域是否有效。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述目标文件中所述相应的数据的无效地址更新第二位图;其中,所述第二位图位于内存中,用于缓存标识所述目标文件的物理存储区域是否有效。
7.一种数据处理装置,其特征在于,包括:
获取模块,用于获取写请求中的待写入数据;
元数据确定模块,用于确定所述待写入数据对应的元数据;
写入模块,用于将所述待写入数据及所述待写入数据对应的元数据写入目标文件;
响应模块,用于确定所述待写入数据及所述待写入数据对应的元数据写入所述目标文件,生成所述待写入数据被成功写入的响应信息;所述元数据包括:指纹信息、逻辑块地址及第一物理块地址的对应关系;
去重模块,用于将所述写请求中已写入所述目标文件的数据对应的元数据存储至元数据服务器;接收所述元数据服务器返回的第二物理块地址;若所述返回的第二物理块地址不同于相应的数据的第一物理块地址,对所述相应的数据去重;其中,所述元数据服务器存储历史写入数据的元数据,所述元数据服务器基于所述写请求中已写入所述目标文件的数据的指纹信息是否重复的结果返回第二物理块地址。
8.一种数据处理设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器,用于运行计算机程序时,执行权利要求1至6任一项所述方法的步骤。
9.一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6任一项所述方法的步骤。
CN202010148695.3A 2020-03-05 2020-03-05 数据处理方法、装置、设备及存储介质 Active CN111381779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010148695.3A CN111381779B (zh) 2020-03-05 2020-03-05 数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010148695.3A CN111381779B (zh) 2020-03-05 2020-03-05 数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111381779A CN111381779A (zh) 2020-07-07
CN111381779B true CN111381779B (zh) 2024-02-23

Family

ID=71217063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010148695.3A Active CN111381779B (zh) 2020-03-05 2020-03-05 数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111381779B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984554B (zh) * 2020-07-31 2023-03-28 新华三技术有限公司成都分公司 一种数据处理方法及装置
CN114519125A (zh) * 2020-11-19 2022-05-20 北京达佳互联信息技术有限公司 数据写入方法、装置及服务器
CN112684981B (zh) * 2020-12-23 2023-12-22 北京浪潮数据技术有限公司 固态硬盘读操作记录方法、系统、装置及可读存储介质
CN112905498A (zh) * 2021-02-23 2021-06-04 联想(北京)有限公司 一种处理方法、装置、电子设备及存储介质
CN113867622B (zh) * 2021-08-20 2023-08-18 苏州浪潮智能科技有限公司 一种快照读写速度提升的方法、装置、设备及可读介质
CN114780022B (zh) * 2022-03-25 2023-01-06 北京百度网讯科技有限公司 追加写操作实现方法、装置、电子设备及存储介质
CN117331487A (zh) * 2022-06-24 2024-01-02 华为技术有限公司 一种数据重删方法及相关系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268219A (zh) * 2018-02-01 2018-07-10 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置
CN110727404A (zh) * 2019-09-27 2020-01-24 苏州浪潮智能科技有限公司 一种基于存储端的数据重删方法、设备以及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI709864B (zh) * 2015-01-29 2020-11-11 韓商愛思開海力士有限公司 一種利用重複刪除過程的儲存系統、方法及裝置
US10089320B2 (en) * 2015-07-31 2018-10-02 Hiveio Inc. Method and apparatus for maintaining data consistency in an in-place-update file system with data deduplication
JP6685334B2 (ja) * 2016-02-15 2020-04-22 株式会社日立製作所 ストレージ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268219A (zh) * 2018-02-01 2018-07-10 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置
CN110727404A (zh) * 2019-09-27 2020-01-24 苏州浪潮智能科技有限公司 一种基于存储端的数据重删方法、设备以及存储介质

Also Published As

Publication number Publication date
CN111381779A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111381779B (zh) 数据处理方法、装置、设备及存储介质
CN108089817B (zh) 存储系统及其操作方法和操作数据处理系统的方法
US9612774B2 (en) Metadata structures for low latency and high throughput inline data compression
CN108427538B (zh) 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN108459826B (zh) 一种处理io请求的方法及装置
US11093454B2 (en) Speeding deduplication using a most wanted digest cache
CN105843551B (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
CN103098035B (zh) 存储系统
US9898404B2 (en) Method and apparatus for providing improved garbage collection process in solid state drive
US8595461B2 (en) Management of recycling bin for thinly-provisioned logical volumes
CN110018998B (zh) 一种文件管理方法、系统及电子设备和存储介质
US11580162B2 (en) Key value append
US11175850B2 (en) Selective erasure of data in a SSD
US9727245B2 (en) Method and apparatus for de-duplication for solid state disks (SSDs)
CN111125033B (zh) 一种基于全闪存阵列的空间回收方法及系统
JP2018509695A (ja) ストレージ中のデータを管理するためのコンピュータ・プログラム、システム、および方法
US10585594B1 (en) Content-based caching using digests
CN110998537B (zh) 一种过期备份处理方法及备份服务器
US10552377B2 (en) Data discard method for journaling file system and memory management apparatus thereof
WO2021073635A1 (zh) 一种数据存储方法及装置
CN110908589A (zh) 数据文件的处理方法、装置、系统和存储介质
CN107704466B (zh) 数据储存系统
CN111124259A (zh) 一种基于全闪存阵列的数据压缩方法及系统
CN117348968A (zh) 一种虚拟磁盘的缓存数据加速方法、装置和设备
CN108334457B (zh) 一种io处理方法及装置

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