CN114442961B - 数据处理方法、装置、计算机设备及存储介质 - Google Patents

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

Info

Publication number
CN114442961B
CN114442961B CN202210123147.4A CN202210123147A CN114442961B CN 114442961 B CN114442961 B CN 114442961B CN 202210123147 A CN202210123147 A CN 202210123147A CN 114442961 B CN114442961 B CN 114442961B
Authority
CN
China
Prior art keywords
data
target data
data storage
hash value
processing
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
CN202210123147.4A
Other languages
English (en)
Other versions
CN114442961A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210123147.4A priority Critical patent/CN114442961B/zh
Publication of CN114442961A publication Critical patent/CN114442961A/zh
Application granted granted Critical
Publication of CN114442961B publication Critical patent/CN114442961B/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/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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

Abstract

本发明实施例涉及一种数据处理方法、装置、计算机设备及存储介质,所述方法包括:基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理,由此方法,可以通过划分多个数据存储组,在数据存储组内进行数据重删处理,然后再在分组间进行数据重删处理,可以提高数据处理效率,缩减数据占用的存储空间。

Description

数据处理方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
如今,随着数据量爆炸式增长,数据存储量也迅速增长,由于数据存储量增长,相同数据占用存储空间较大,可能导致系统响应变慢,因此,能够缩减相同数据占用的存储空间,实现数据存储空间的重删、压缩等技术开始广泛应用。对于重删技术,其目的是减少相同数据在存储中保存的份数,基本原理是利用哈希算法计算需要保存的数据的哈希值,并判断阵列内是否已经保存有相同哈希值的数据,若有,则无需再保存数据,只需更新数据的保存位置的映射记录,以及存储盘上已保存数据的引用记录。
但是,在存储阵列内已经保存较多的数据之后,再保存新数据时,判断存储阵列内是否已经有相同哈希值的数据,需要遍历存储阵列中全部数据,这样操作耗时巨大,对主机的业务请求的响应效率造成较大的影响,尤其是在多控制器存储阵列中,一个控制器上收到的数据请求可能还需要遍历其它控制器,判断是否已有相同哈希值的数据,判断是否可以重删,这样会更加耗时。因此,如何在多控制器存储阵列中实现数据重删的高效处理成为亟待解决的问题。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种数据处理方法、装置、计算机设备及存储介质。
第一方面,本发明实施例提供一种数据处理方法,包括:
基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;
接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;
基于所述目标数据,确定所述目标数据对应的第一哈希值;
基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;
基于所述查询结果对所述目标数据进行处理。
在一个可能的实施方式中,所述方法还包括:
遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;
查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果。
在一个可能的实施方式中,所述方法还包括:
基于所述查询结果,确定对所述目标数据的处理策略;
基于所述处理策略对所述目标数据进行处理。
在一个可能的实施方式中,所述方法还包括:
若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;
若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据。
在一个可能的实施方式中,所述方法还包括:
若确定所述处理策略为取消保存所述目标数据,则取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系;
若确定所述处理策略为保存所述目标数据,则将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
在一个可能的实施方式中,所述方法还包括:
基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据;
若存在,则基于预设规则,删除待重删的数据存储组内存储的所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系;
在未被重删的数据存储组内存储所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系。
在一个可能的实施方式中,所述方法还包括:
若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
第二方面,本发明实施例提供一种数据处理装置,包括:
确定模块,用于基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;
接收模块,用于接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;
所述确定模块,还用于基于所述目标数据,确定所述目标数据对应的第一哈希值;
查询模块,用于基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;
处理模块,用于基于所述查询结果对所述目标数据进行处理。
第三方面,本发明实施例提供一种服务器,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据处理程序,以实现上述第一方面中所述的数据处理方法。
第四方面,本发明实施例提供一种存储介质,包括:所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中所述的数据处理方法。
本发明实施例提供的数据处理方案,通过基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理,相比于现有技术中在多控制器存储阵列中,一个控制器上收到的数据请求还需要遍历其它控制器,判断是否已有相同哈希值的数据,判断是否可以重删,增加耗时降低效率,由本方案,通过划分多个数据存储组,在数据存储组内进行数据重删处理,然后再在分组间进行数据重删处理,可以提高数据处理效率,缩减数据占用的存储空间。
附图说明
图1为本发明实施例提供的一种数据处理方法的流程示意图;
图2为本发明实施例提供的另一种数据处理方法的流程示意图;
图3为本发明实施例提供的一种数据处理装置的结构示意图;
图4为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种数据处理方法的流程示意图,如图1所示,该方法具体包括:
S11、基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组。
本发明优先适用于提高数据存储阵列的数据重删效率的场景。本发明实施例中,首先基于数据存储阵列中数据存储对象的属性信息,例如,卷、池、控制器等进行分组,得到多个数据存储组。
S12、接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组。
本发明实施例以控制器为例,每个控制器分为一组,接收主机发送的数据保存请求,每个控制器只在自己分组内进行数据重删处理,其中,数据保存请求中携带有待保存的目标数据以及目标数据存储组。
S13、基于所述目标数据,确定所述目标数据对应的第一哈希值。
每个控制器在收到主机发送的数据保存请求后,对数据保存请求中携带的目标数据进行哈希值计算,确定目标数据对应的第一哈希值。
S14、基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果。
基于计算得到的目标数据对应的第一哈希值,查询本控制器内是否保存有相同哈希值的第一数据,得到查询结果。其中,控制器内可以存储数据与对应哈希值的映射关系表,方便查询哈希值。
S15、基于所述查询结果对所述目标数据进行处理。
基于上述得到的查询结果对待保存的目标数据进行处理,具体处理方法在图2实施例进行说明,在此先不详述。
本发明实施例提供的数据处理方法,通过基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理,相比于现有技术中在多控制器存储阵列中,一个控制器上收到的数据请求还需要遍历其它控制器,判断是否已有相同哈希值的数据,判断是否可以重删,增加耗时降低效率,由本方法,通过划分多个数据存储组,在数据存储组内进行数据重删处理,然后再在分组间进行数据重删处理,可以提高数据处理效率,缩减数据占用的存储空间。
图2为本发明实施例提供的另一种数据处理方法的流程示意图,如图2所示,该方法具体包括:
S21、遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值。
本发明实施例中,在接收到主机发送的数据保存请求中携带的待保存的目标数据并计算得到目标数据对应的第一哈希值后遍历本控制器内存储的全部数据分别对应的第二哈希值。
需要说明的是,目标数据存储组中存储的全部数据,在保存时候会将其对应的哈希值保存为元数据。
S22、查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果。
查询全部第二哈希值中是否存在与目标数据对应的第一哈希值相同的哈希值对应的第一数据,得到查询结果,基于查询结果,可以确定对目标数据的处理策略。
S23、若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定处理策略为取消保存目标数据。
S24、取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系。
若全部第二哈希值中存在与目标数据对应的第一哈希值相同的哈希值对应的第一数据,则可以确定对目标数据的处理策略为取消保存该目标数据。
进一步的,可以更新已保存的与目标数据一致的第一数据的逻辑地址与物理地址的映射关系,并增加第一数据的物理地址与逻辑地址引用关系。方便后续数据重删时的快速查找。
S25、若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定处理策略为保存目标数据。
S26、将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
若全部第二哈希值中未存在与目标数据对应的第一哈希值相同的哈希值对应的第一数据,则确定对目标数据的处理策略为保存目标数据。
进一步的,将目标数据保存在本组内,并保存目标数据的逻辑地址与待存储物理地址的映射关系、保存目标数据的待存储物理地址与逻辑地址的引用关系以及保存目标数据对应的哈希值和待存储物理地址的映射关系。
S27、基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据。
S28、若存在,则基于预设规则,删除待重删的数据存储组内存储的所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系。
S29、在未被重删的数据存储组内存储所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系。
以下对S27~S29进行统一说明:
本发明实施例中,基于预设时间由后台定时启动检测不同分组间是否存在相同哈希值的第二数据,若存在,则进行数据重删处理,可选的,在分组间进行数据重删处理时,可以依据数据的可靠性、数据缩减率等要求,灵活地决定重删程度,并不一定需要所有的分组间的所有hash都参与分组间的重删。
具体的,可以预先设置分组间的重删程度的规则,可以依据数据的可靠性、数据缩减率等要求,灵活地决定重删程度,例如,有8个控制器的分组,这8个组内均存在同一哈希值的数据,该数据在不同分组间的可靠性高低不同,当前的数据缩减率被设置为50%,则可以将可靠性低的4个组内的数据进行删除,保留可靠性高的组内的数据。又如,可以预先定义每个控制器分组的权重,每次数据重删均删除权重低的分组中的数据。
进一步的,删除待重删的数据存储组内存储的第二数据的逻辑地址与物理地址的映射关系以及删除第二数据的物理地址与逻辑地址的引用关系,由此,待重删的数据存储组内存储的第二数据就是无引用的无效数据了,空间会被回收。
进一步的,删除待重删的数据存储组中逻辑地址和物理地址之间的相互映射和引用关系之后,需要在未被重删的数据存储组内增加第二数据的逻辑地址与物理地址的映射关系以及第二数据的物理地址与逻辑地址的引用关系。
S210、若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
若部分分组间的重删已经使得某个哈希值对应数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值(例如,128),则该哈希值可以不进行和剩余分组间的重删。
本发明实施例提供的数据处理方法,通过基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理,由本方法,通过划分多个数据存储组,在数据存储组内进行数据重删处理,然后再在分组间进行数据重删处理,可以提高数据处理效率,缩减数据占用的存储空间。
图3为本发明实施例提供的一种数据处理装置的结构示意图,具体包括:
确定模块301,用于基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;
接收模块302,用于接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;
所述确定模块301,还用于基于所述目标数据,确定所述目标数据对应的第一哈希值;
查询模块303,用于基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;
处理模块304,用于基于所述查询结果对所述目标数据进行处理。
在一个可能的实施方式中,所述查询模块303,具体用于遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果。
在一个可能的实施方式中,所述处理模块304,具体用于基于所述查询结果,确定对所述目标数据的处理策略;基于所述处理策略对所述目标数据进行处理。
在一个可能的实施方式中,所述处理模块304,还用于若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据。
在一个可能的实施方式中,所述处理模块304,还用于若确定所述处理策略为取消保存所述目标数据,则取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系;若确定所述处理策略为保存所述目标数据,则将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
在一个可能的实施方式中,所述处理模块304,还用于基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据;若存在,则基于预设规则,删除部分数据存储组中所述相同哈希值对应的第二数据,并删除所述第二数据的逻辑地址与物理地址的映射关系、删除所述第二数据的物理地址与逻辑地址的引用关系。
在一个可能的实施方式中,所述处理模块304,还用于若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
本实施例提供的数据处理装置可以是如图3中所示的数据处理装置,可执行如图1-2中数据处理方法的所有步骤,进而实现图1-2所示数据处理方法的技术效果,具体请参照图1-2相关描述,为简洁描述,在此不作赘述。
图4为本发明实施例提供的一种计算机设备的结构示意图,图4所示的计算机设备400包括:至少一个处理器401、存储器402、至少一个网络接口404和其他用户接口403。计算机设备400中的各个组件通过总线系统405耦合在一起。可理解,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统405。
其中,用户接口403可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器402旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器402存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统4021和应用程序4022。
其中,操作系统4021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序4022中。
在本发明实施例中,通过调用存储器402存储的程序或指令,具体的,可以是应用程序4022中存储的程序或指令,处理器401用于执行各方法实施例所提供的方法步骤,例如包括:
基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理。
在一个可能的实施方式中,遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果。
在一个可能的实施方式中,基于所述查询结果,确定对所述目标数据的处理策略;基于所述处理策略对所述目标数据进行处理。
在一个可能的实施方式中,若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据。
在一个可能的实施方式中,若确定所述处理策略为取消保存所述目标数据,则取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系;若确定所述处理策略为保存所述目标数据,则将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
在一个可能的实施方式中,基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据;若存在,则基于预设规则,删除部分数据存储组中所述相同哈希值对应的第二数据,并删除所述第二数据的逻辑地址与物理地址的映射关系、删除所述第二数据的物理地址与逻辑地址的引用关系。
在一个可能的实施方式中,若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的计算机设备可以是如图4中所示的计算机设备,可执行如图1-2中数据处理方法的所有步骤,进而实现图1-2所示数据处理方法的技术效果,具体请参照图1-2相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在计算机设备侧执行的数据处理方法。
所述处理器用于执行存储器中存储的数据处理程序,以实现以下在计算机设备侧执行的数据处理方法的步骤:
基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组;基于所述目标数据,确定所述目标数据对应的第一哈希值;基于所述第一哈希值,查询所述目标数据存储组中是否存在相同哈希值的第一数据,得到查询结果;基于所述查询结果对所述目标数据进行处理。
在一个可能的实施方式中,遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果。
在一个可能的实施方式中,基于所述查询结果,确定对所述目标数据的处理策略;基于所述处理策略对所述目标数据进行处理。
在一个可能的实施方式中,若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据。
在一个可能的实施方式中,若确定所述处理策略为取消保存所述目标数据,则取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系;若确定所述处理策略为保存所述目标数据,则将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
在一个可能的实施方式中,基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据;若存在,则基于预设规则,删除部分数据存储组中所述相同哈希值对应的第二数据,并删除所述第二数据的逻辑地址与物理地址的映射关系、删除所述第二数据的物理地址与逻辑地址的引用关系。
在一个可能的实施方式中,若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种数据处理方法,其特征在于,包括:
基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;
接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组的标识,所述目标数据存储组为所述多个数据存储组中的一个;
基于所述目标数据,确定所述目标数据对应的第一哈希值;
基于所述目标数据存储组的标识和所述第一哈希值,在所述目标数据存储组中查询是否存在具有相同哈希值的第一数据,得到查询结果;
所述基于所述目标数据存储组的标识和所述第一哈希值,在所述目标数据存储组中查询是否存在具有相同哈希值的第一数据,得到查询结果,包括:
遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;
查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果;
基于所述查询结果,确定对所述目标数据的处理策略;
若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;
若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据;
基于所述处理策略对所述目标数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述处理策略对所述目标数据进行处理,包括:
若确定所述处理策略为取消保存所述目标数据,则取消保存所述目标数据,并更新所述第一数据的逻辑地址与物理地址的映射关系以及增加所述第一数据的物理地址与逻辑地址引用关系;
若确定所述处理策略为保存所述目标数据,则将所述目标数据保存在所述目标数据存储组,并保存所述目标数据的逻辑地址与待存储物理地址的映射关系、保存所述目标数据的待存储物理地址与逻辑地址的引用关系以及保存所述目标数据对应的哈希值和所述待存储物理地址的映射关系。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于预设时间,检测所述多个数据存储组中是否存在相同哈希值的第二数据;
若存在,则基于预设规则,删除待重删的数据存储组内存储的所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系;
在未被重删的数据存储组内存储所述第二数据的逻辑地址与物理地址的映射关系以及所述第二数据的物理地址与逻辑地址的引用关系。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述多个数据存储组中存在任一数据的物理地址与逻辑地址的引用关系数量大于或等于预设阈值,则控制所述任一数据存储在对应的数据存储组中不被删除。
5.一种数据处理装置,其特征在于,包括:
确定模块,用于基于数据存储阵列中数据存储对象的属性信息,确定多个数据存储组;
接收模块,用于接收数据保存请求,其中,所述数据保存请求中携带有待保存的目标数据以及目标数据存储组的标识,所述目标数据存储组为所述多个数据存储组中的一个;
所述确定模块,还用于基于所述目标数据,确定所述目标数据对应的第一哈希值;
查询模块,用于基于所述目标数据存储组的标识和所述第一哈希值,在所述目标数据存储组中查询是否存在具有相同哈希值的第一数据,得到查询结果;所述基于所述目标数据存储组的标识和所述第一哈希值,在所述目标数据存储组中查询是否存在具有相同哈希值的第一数据,得到查询结果,包括:遍历所述目标数据存储组中存储的全部数据对应的全部第二哈希值;查询所述全部第二哈希值中是否存在与所述第一哈希值相同的哈希值对应的第一数据,得到查询结果;
处理模块,用于基于所述查询结果,确定对所述目标数据的处理策略;若所述全部第二哈希值中存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为取消保存所述目标数据;若所述全部第二哈希值中未存在与所述第一哈希值相同的哈希值对应的第一数据,则确定所述处理策略为保存所述目标数据;基于所述处理策略对所述目标数据进行处理。
6.一种计算机设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据处理程序,以实现权利要求1~4中任一项所述的数据处理方法。
7.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~4中任一项所述的数据处理方法。
CN202210123147.4A 2022-02-07 2022-02-07 数据处理方法、装置、计算机设备及存储介质 Active CN114442961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210123147.4A CN114442961B (zh) 2022-02-07 2022-02-07 数据处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210123147.4A CN114442961B (zh) 2022-02-07 2022-02-07 数据处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114442961A CN114442961A (zh) 2022-05-06
CN114442961B true CN114442961B (zh) 2023-08-08

Family

ID=81372251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210123147.4A Active CN114442961B (zh) 2022-02-07 2022-02-07 数据处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114442961B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271224B (zh) * 2023-11-14 2024-02-20 苏州元脑智能科技有限公司 存储系统的数据重复存储处理方法及装置、存储介质、电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183399A (zh) * 2015-09-30 2015-12-23 北京奇艺世纪科技有限公司 一种基于弹性块存储的数据写、读方法及装置
CN107193503A (zh) * 2017-05-27 2017-09-22 杭州宏杉科技股份有限公司 一种数据重删方法及存储设备
CN107229420A (zh) * 2017-05-27 2017-10-03 郑州云海信息技术有限公司 数据存储方法、读取方法、删除方法和数据操作系统
CN110399096A (zh) * 2019-06-25 2019-11-01 苏州浪潮智能科技有限公司 分布式文件系统元数据缓存重删的方法、装置以及设备
CN110727404A (zh) * 2019-09-27 2020-01-24 苏州浪潮智能科技有限公司 一种基于存储端的数据重删方法、设备以及存储介质
CN111090628A (zh) * 2019-12-20 2020-05-01 上海米哈游网络科技股份有限公司 一种数据处理方法、装置、存储介质及电子设备
CN111984203A (zh) * 2020-09-27 2020-11-24 苏州浪潮智能科技有限公司 一种数据重删方法、装置及电子设备和存储介质
CN112817972A (zh) * 2021-01-22 2021-05-18 中信百信银行股份有限公司 数据存储方法、数据查询方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105723320B (zh) * 2016-02-01 2019-03-19 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183399A (zh) * 2015-09-30 2015-12-23 北京奇艺世纪科技有限公司 一种基于弹性块存储的数据写、读方法及装置
CN107193503A (zh) * 2017-05-27 2017-09-22 杭州宏杉科技股份有限公司 一种数据重删方法及存储设备
CN107229420A (zh) * 2017-05-27 2017-10-03 郑州云海信息技术有限公司 数据存储方法、读取方法、删除方法和数据操作系统
CN110399096A (zh) * 2019-06-25 2019-11-01 苏州浪潮智能科技有限公司 分布式文件系统元数据缓存重删的方法、装置以及设备
CN110727404A (zh) * 2019-09-27 2020-01-24 苏州浪潮智能科技有限公司 一种基于存储端的数据重删方法、设备以及存储介质
CN111090628A (zh) * 2019-12-20 2020-05-01 上海米哈游网络科技股份有限公司 一种数据处理方法、装置、存储介质及电子设备
CN111984203A (zh) * 2020-09-27 2020-11-24 苏州浪潮智能科技有限公司 一种数据重删方法、装置及电子设备和存储介质
CN112817972A (zh) * 2021-01-22 2021-05-18 中信百信银行股份有限公司 数据存储方法、数据查询方法、装置及电子设备

Also Published As

Publication number Publication date
CN114442961A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
US10013317B1 (en) Restoring a volume in a storage system
US10649890B2 (en) Information processing system, storage control apparatus, storage control method, and storage control program
CN109426619B (zh) 访问快闪存储器模块的方法及相关闪存控制器与电子装置
US8856469B2 (en) Apparatus and method for logging optimization using non-volatile memory
US10564880B2 (en) Data deduplication method and apparatus
US8423709B2 (en) Controller
US10579267B2 (en) Memory controller and memory system
US9507720B2 (en) Block storage-based data processing methods, apparatus, and systems
CN111381779B (zh) 数据处理方法、装置、设备及存储介质
WO2017041570A1 (zh) 向缓存写入数据的方法及装置
US20200225882A1 (en) System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance
US10482061B1 (en) Removing invalid data from a dataset in advance of copying the dataset
CN109213450B (zh) 一种基于闪存阵列的关联元数据删除方法、装置及设备
CN110998537A (zh) 一种过期备份处理方法及备份服务器
CN114442961B (zh) 数据处理方法、装置、计算机设备及存储介质
US20210011857A1 (en) Method and apparatus for buffering data blocks, computer device, and computer-readable storage medium
CN107273306B (zh) 一种固态硬盘的数据读取、数据写入方法及固态硬盘
CN111831691B (zh) 一种数据读写方法及装置、电子设备、存储介质
US10437784B2 (en) Method and system for endurance enhancing, deferred deduplication with hardware-hash-enabled storage device
CN113407376A (zh) 一种数据恢复方法、装置及电子设备
CN113031876A (zh) 一种数据处理方法、装置、设备及可读存储介质
US10073657B2 (en) Data processing apparatus, data processing method, and computer program product, and entry processing apparatus
CN112395256B (zh) 一种数据读取方法、电子设备及计算机存储介质
CN116991855B (zh) 哈希表处理方法、装置、设备、介质、控制器及固态硬盘
CN113703671B (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