CN117271224B - 存储系统的数据重复存储处理方法及装置、存储介质、电子设备 - Google Patents

存储系统的数据重复存储处理方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN117271224B
CN117271224B CN202311514243.2A CN202311514243A CN117271224B CN 117271224 B CN117271224 B CN 117271224B CN 202311514243 A CN202311514243 A CN 202311514243A CN 117271224 B CN117271224 B CN 117271224B
Authority
CN
China
Prior art keywords
storage
data
address
physical address
domain
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
CN202311514243.2A
Other languages
English (en)
Other versions
CN117271224A (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 Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain 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 Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311514243.2A priority Critical patent/CN117271224B/zh
Publication of CN117271224A publication Critical patent/CN117271224A/zh
Application granted granted Critical
Publication of CN117271224B publication Critical patent/CN117271224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种存储系统的数据重复存储处理方法及装置、存储介质、电子设备,该方法包括:在接收到用户设备发送的第一数据的情况下,确定第一数据的第一数据标识,其中,第一数据标识用于唯一标识第一数据;在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,获取第一数据的第一物理地址;基于第一物理地址对第一数据的重复存储进行处理。通过本申请,解决了相关技术中对存储系统的数据重复存储处理方法无法保证存储节点的负载均衡,多控存储系统的性能较低的问题,达到提高控存储系统的性能的效果。

Description

存储系统的数据重复存储处理方法及装置、存储介质、电子 设备
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种存储系统的数据重复存储处理方法及装置、存储介质、电子设备。
背景技术
目前,删除重复数据已经成为备份存储系统的标准功能,是减少存储成本的关键技术。删除重复数据还被应用在闪存、缓存优化、广域网优化、网络文件系统、虚拟化存储、云存储、P2P备份等场景中,可有效节省存储成本和网络带宽。
删除重复数据本质上是一种无损数据压缩技术,对于内容重复的数据单元(数据块或者文件)只存储一份,因此也称为单例存储(Single Instance Storage,简称为SIS)和内容寻址存储(Content Addressable Storage,简称为CAS)。传统的字节级压缩技术的压缩粒度非常细,一般需要通过滑动窗口不断做字节串匹配操作,其计算开销非常大,因此只能在非常有限的压缩窗口内寻找冗余字节串。而删除重复数据是粗粒度的压缩技术,得益于更低的计算开销,删除重复数据可在整个存储系统范围内寻找重复的数据单元,因此得到更高的压缩效率。
现有的面向多控存储系统的删除重复数据方法,没有考虑删除重复数据时存储节点的负载均衡,使得有些存储节点负载较大,而另一些存储节点负载较小,无法充分发挥多控存储器系统的性能,且使用元数据服务器处理元数据,使得元数据服务器成为性能瓶颈。
发明内容
本申请实施例提供了一种存储系统的数据重复存储处理方法及装置、存储介质、电子设备,以至少解决相关技术中对存储系统的数据重复存储处理方法无法保证存储节点的负载均衡,多控存储系统的性能较低的问题。
根据本申请的一个实施例,提供了一种存储系统的数据重复存储处理方法,包括:在接收到用户设备发送的第一数据的情况下,确定上述第一数据的第一数据标识,其中,上述第一数据标识用于唯一标识上述第一数据;在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址,其中,上述第一物理地址是存储上述第一数据的地址,上述第一物理地址存储在上述多控存储器系统中的一个存储域中,一个上述存储域中包括主存储节点和备存储节点,上述主存储节点用于存储上述第一数据,并将上述第一数据备份至上述备存储节点,上述多控存储器系统中包括多个上述存储域;基于上述第一物理地址对上述第一数据的重复存储进行处理。
根据本申请的一个实施例,提供了一种存储系统的数据重复存储处理装置,包括:第一确定模块,用于在接收到用户设备发送的第一数据的情况下,确定上述第一数据的第一数据标识,其中,上述第一数据标识用于唯一标识上述第一数据;第一获取模块,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址,其中,上述第一物理地址是存储上述第一数据的地址,上述第一物理地址存储在上述多控存储器系统中的一个存储域中,一个上述存储域中包括主存储节点和备存储节点,上述主存储节点用于存储上述第一数据,并将上述第一数据备份至上述备存储节点,上述多控存储器系统中包括多个上述存储域;第一处理模块,用于基于上述第一物理地址对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述装置还包括:第一划分模块,用于在接收到用户设备发送的第一数据的情况下,确定上述第一数据的第一数据标识之前,将上述多控存储器系统中的多个存储节点划分为多个上述存储域,其中,每一个上述存储域中均包括一个上述主存储节点和一个上述备存储节点,每一个上述存储域对应一个唯一的存储编号。
在一个示例性实施例中,上述第一确定模块,包括:第一计算单元,用于计算上述第一数据的第一哈希值;第一处理单元,用于对上述第一哈希值进行加密处理,并按照多个上述存储域的存储编号对上述第一哈希值进行编号,得到上述第一数据标识;或者,第一发送单元,用于将上述第一哈希值发送至其他存储域中,以指示上述其他存储域对上述第一哈希值进行加密处理,并按照多个上述存储域的存储编号对上述第一哈希值进行编号,得到上述第一数据标识;第一接收单元,用于接收上述其他存储域发送的上述第一数据标识。
在一个示例性实施例中,上述第一获取模块,包括:第一查找单元,用于在上述第一数据标识归属于第一存储域的情况下,在上述第一存储域的第一数据标识映射表中查找上述第一数据标识,其中,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第一确定单元,用于在上述第一数据标识映射表中包括上述第一数据标识的情况下,确定上述多控存储器系统中已存储上述第一数据;第一获取单元,用于按照上述第一数据标识从上述第一数据标识映射表中获取上述第一物理地址。
在一个示例性实施例中,上述第一处理模块,包括:第一生成单元,用于在上述第一物理地址存储在第一存储域中的情况下,基于上述第一物理地址生成上述第一数据的第一地址关系和第二地址关系,其中,上述第一地址关系包括上述第一数据的第一逻辑地址和上述第一物理地址之间的关系,上述第二地址关系包括上述第一物理地址与上述第一逻辑地址之间的关系,上述第一逻辑地址是上述用户设备的地址,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第二处理单元,用于利用上述第一地址关系和上述第二地址关系对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述第二处理单元,包括:第一插入子单元,用于将上述第二地址关系插入至上述第一存储域的第一物理地址映射表中;第一加密子单元,用于对上述第一地址关系进行加密,并按照上述第一地址关系在上述第一存储域的第一逻辑地址映射表中查找与上述第一物理地址对应的历史物理地址;第一处理子单元,用于基于查找结果对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述第一处理子单元,包括:第一生成子模块,用于在上述第一逻辑地址映射表中包括与上述第一物理地址对应的上述历史物理地址的情况下,生成第三地址关系,其中,上述第三地址关系中包括上述历史物理地址和上述第一逻辑地址之间的对应关系;第一插入子模块,用于将上述第一地址关系插入至上述第一逻辑地址映射表中;第一删除子模块,用于在上述历史物理地址归属于上述第一存储域的情况下,将上述第三地址关系从上述第一物理地址映射表中删除。
在一个示例性实施例中,上述第一处理子单元,包括:第一发送子模块,用于在上述历史物理地址归属于上述多控存储器系统中的其他存储域的情况下,将上述第三地址关系发送至上述其他存储域,以指示上述其他存储域将上述第三地址关系从上述其他存储域的其他物理地址映射表中删除。
在一个示例性实施例中,上述装置还包括:第一解密模块,用于对上述第一地址关系进行加密,并按照上述第一地址关系在上述第一存储域的第一逻辑地址映射表中查找与上述第一物理地址对应的历史物理地址之后,在上述第一逻辑地址映射表中未包括与上述第一物理地址对应的上述历史物理地址,且上述第一数据标识归属于上述第一存储域的情况下,对上述第一数据标识进行解密;第一发送模块,用于在上述第一逻辑地址映射表中未包括与上述第一物理地址对应的上述历史物理地址,且上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将解密请求发送至上述其他存储域,以指示上述其他存储域响应上述解密请求,解密上述第一数据标识的标识锁。
在一个示例性实施例中,上述装置还包括:第二发送模块,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址之前,在上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将上述第一数据标识发送至上述其他存储域,以指示上述其他存储域对上述第一数据进行处理,其中,上述其他存储域对上述第一数据的处理包括存储上述第一数据,或者,对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述装置还包括:第一接收模块,用于在上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将上述第一数据标识发送至上述其他存储域之后,接收上述其他存储域发送的存储结果,其中,上述存储结果用于表示上述第一数据已存储至上述其他存储域的主存储节点中,并备份至上述其他存储域的备存储节点中;第一插入模块,用于将上述第一物理地址和上述第一数据的第一逻辑地址之间的对应关系插入至上述第一存储域中的第一物理地址映射表中;第三发送模块,用于将上述第一数据标识和上述第一物理地址之间的对应关系发送至上述其他存储域的主存储节点中,以指示上述其他存储域的主存储节点中将上述第一数据标识和上述第一物理地址之间的对应关系插入至上述其他存储域中的其他数据标识映射表中。
在一个示例性实施例中,上述装置还包括:第一查找模块,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址之前,在上述第一数据标识归属于第一存储域的情况下,在上述第一存储域的第一数据标识映射表中查找上述第一数据标识,其中,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第一存储模块,用于在上述第一数据标识映射表中未包括上述第一数据标识的情况下,将上述第一数据存储至上述第一存储域中的第一主存储节点中,并备份至上述第一备存储节点中。
在一个示例性实施例中,上述装置还包括:第二插入模块,用于在上述第一数据标识映射表中未包括上述第一数据标识的情况下,将上述第一数据存储至上述第一存储域中的第一主存储节点中,并备份至上述第一备存储节点中之后,将上述第一数据标识和上述第一物理地址之间的关系插入至上述第一存储域的第一数据标识映射表中;第三插入模块,用于将上述第一物理地址与上述第一数据的第一逻辑地址之间的关系插入至上述第一存储域的第一物理地址映射表中;第一加密模块,用于加密上述第一数据的第一逻辑地址和上述第一物理地址之间的关系。
在一个示例性实施例中,上述装置还包括:第二接收模块,用于基于上述第一物理地址对上述第一数据的重复存储进行处理之后,接收上述用户设备发送的数据查询请求,其中,上述数据查询请求中包括上述第一数据的第一逻辑地址;第二查找模块,用于按照上述第一逻辑地址从上述存储域中的逻辑地址映射表中查找上述第一物理地址;第一读取模块,用于根据上述第一物理地址从上述存储域对应的存储设备中读取上述第一数据;第四发送模块,用于将上述第一数据发送至上述用户设备。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,从多控存储器系统中的存储域中获取第一数据的第一物理地址,基于第一物理地址对第一数据的重复存储进行处理。将第一数据和第一数据标识分布在不同的存储域上,可以保证各个存储节点的负载均衡,提高多控存储系统的性能。因此,可以解决相关技术中对存储系统的数据重复存储处理方法无法保证存储节点的负载均衡,多控存储系统的性能较低的问题,达到提高控存储系统的性能的效果。
附图说明
图1是本申请实施例的一种存储系统的数据重复存储处理方法的移动终端的硬件结构框图;
图2是根据本申请实施例的存储系统的数据重复存储处理方法的流程图;
图3是根据本申请实施例的存储域的示意图;
图4是根据本申请实施例的Domain间负载均衡的全局重复数据删除流程图一;
图5是根据本申请实施例的Domain间负载均衡的全局重复数据删除流程图二;
图6是根据本申请实施例的存储系统的数据重复存储处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种存储系统的数据重复存储处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的存储系统的数据重复存储处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种存储系统的数据重复存储处理方法,图2是根据本申请实施例的存储系统的数据重复存储处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在接收到用户设备发送的第一数据的情况下,确定第一数据的第一数据标识,其中,第一数据标识用于唯一标识第一数据;
步骤S204,在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,获取第一数据的第一物理地址,其中,第一物理地址是存储第一数据的地址,第一物理地址存储在多控存储器系统中的一个存储域中,一个存储域中包括主存储节点和备存储节点,主存储节点用于存储第一数据,并将第一数据备份至备存储节点,多控存储器系统中包括多个存储域;
步骤S206,基于第一物理地址对第一数据的重复存储进行处理。
其中,上述步骤的执行主体可以为多控存储器系统,多控存储器系统中设置的具体处理器,或者与多控存储器系统相对独立设置的处理器或者处理设备,或者是多控存储器系统中的存储域对应的处理器等,但不限于此。
通过上述步骤,由于在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,从多控存储器系统中的存储域中获取第一数据的第一物理地址,基于第一物理地址对第一数据的重复存储进行处理。将第一数据和第一数据标识分布在不同的存储域上,可以保证各个存储节点的负载均衡,提高多控存储系统的性能。因此,可以解决相关技术中对存储系统的数据重复存储处理方法无法保证存储节点的负载均衡,多控存储系统的性能较低的问题,达到提高控存储系统的性能的效果。
可选地,用户设备可以是向多控存储器系统发送待存储数据的设备。用户设备可以包括多个。每个用户设备均可以通过对应的逻辑地址从多控存储器中读取数据。
可选地,第一数据标识可以是第一数据的哈希值,也可以是其他可以唯一标识第一数据的标识。例如,给第一数据设置一个唯一编号。
可选地,第一数据的第一物理地址存储在多控存储器系统中的一个存储域中,第一数据的数据存储在与存储域对应的存储设备中。即数据和元数据分布在不同的域中,存储域可以用Domain表示。多控存储器系统中包括多个Domain。
在一个示例性实施例中,在接收到用户设备发送的第一数据的情况下,确定第一数据的第一数据标识之前,上述方法包括:将多控存储器系统中的多个存储节点划分为多个存储域,其中,每一个存储域中均包括一个主存储节点和一个备存储节点,每一个存储域对应一个唯一的存储编号。
可选地,多控存储器系统中包括多个存储节点。例如,多控存储器系统中包括存储节点0、存储节点1、存储节点2、存储节点3,这四个存储节点组成四个存储域Domain。如图3所示,Domain 0由存储节点0和存储节点1组成,其中,存储节点0是主存储节点,存储节点1是备存储节点;Domain 1由存储节点1和存储节点2组成,其中,存储节点1是主存储节点,存储节点2是备存储节点;Domain 2由存储节点2和存储节点3组成,其中,存储节点2是主存储节点,存储节点3是备存储节点;Domain 3由存储节点3和存储节点0组成,其中,存储节点3是主存储节点,存储节点0是备存储节点。用户设备发送的数据到达某个Domain后,首先由Domain中的主存储节点处理,然后主存储节点将数据镜像到备存储节点,镜像完成后,主存储节点再向用户设备发出响应。每一个存储域的存储编号是按照生成的顺序确定的,也可以是随机生成的编号。
本实施例通过将多控存储器系统中的多个存储节点划分为多个存储域,每个存储域中均包括主存储节点和备存储节点,使得数据和元数据可以均衡分布在多个存储域上,从而可以保证各个存储节点的负载均衡,提高多控存储系统的性能。
在一个示例性实施例中,在接收到用户设备发送的第一数据的情况下,确定第一数据的第一数据标识,包括:计算第一数据的第一哈希值;对第一哈希值进行加密处理,并按照多个存储域的存储编号对第一哈希值进行编号,得到第一数据标识;或者,将第一哈希值发送至其他存储域中,以指示其他存储域对第一哈希值进行加密处理,并按照多个存储域的存储编号对第一哈希值进行编号,得到第一数据标识;接收其他存储域发送的第一数据标识。
可选地,第一数据的第一哈希值的计算方式可以是通过哈希算法计算得到的。对第一哈希值进行加密处理包括对第一哈希值加哈希锁,或者通过设备密钥的方式进行加密。对第一哈希值进行加密的目的是为了防止第一哈希值被随意的篡改,影响对第一数据处理的准确性。
可选地,每个存储域均对应一个唯一的编号,例如,如图1所示,对不同的哈希值进行编号,编号可以用4K + N表示,其中,K = 0,1,2…;N = 0,1,2,3,分别将编号为4K、4K+1、4K+2、4K+3的哈希值存储在Domain 0、Domain 1、Domain 2、Domain 3上。
可选地,第一存储域中的主存储节点在接收到第一数据后,计算第一数据的第一哈希值,并对第一哈希值进行编号。在第一哈希值的编号与第一存储域对应的情况下,第一存储域的主存储节点对第一哈希值进行加密处理。在第一哈希值的编号与第一存储域不对应,对应于其他存储域的情况下,第一存储域的主存储节点将第一哈希值发送至其他存储域中,由其他存储域中的主存储节点对第一哈希值进行加密处理,并进行编号,并将第一数据标识发送至第一存储域中。例如,第一数据到达Domain 0后,在Domain的主存储节点上计算第一数据的第一哈希值,假设第一哈希值的编号是4K + M,若M等于0,则在Domain 0的主存储节点上对第一哈希值加哈希锁,并在Domain 0中的第一哈希映射表中查看Domain 0是否已存储该第一哈希值对应的第一数据。若M不等于0,则Domain 0的主存储节点将第一哈希值发送到Domain M的主存储节点,在Domain M的主存储节点上对该第一哈希值加哈希锁,并在Domain M中的哈希映射表查中查找Domain M是否已存储该第一哈希值对应的第一数据。需要说明的是,每一个存储域均对应存储有一个哈希映射表、物理地址映射表和逻辑地址映射表。
本实施例通过计算第一数据的第一哈希值,可以快速的计算出第一数据标识。并对第一哈希值进行加密处理,保证了第一哈希值的安全性。
在一个示例性实施例中,在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,获取第一数据的第一物理地址,包括:在第一数据标识归属于第一存储域的情况下,在第一存储域的第一数据标识映射表中查找第一数据标识,其中,第一存储域是多控存储器系统中多个存储域中的一组存储域;在第一数据标识映射表中包括第一数据标识的情况下,确定多控存储器系统中已存储第一数据;按照第一数据标识从第一数据标识映射表中获取第一物理地址。
可选地,第一数据标识映射表中包括数据的数据标识和物理地址之间的对应关系。在第一数据标识在第一数据标识映射表的情况下,就可以快速的从第一数据标识映射表中查找到第一数据的第一物理地址。并且,是第一存储域存储了与第一数据相同的数据。
在一个示例性实施例中,基于第一物理地址对第一数据的重复存储进行处理,包括:在第一物理地址存储在第一存储域中的情况下,基于第一物理地址生成第一数据的第一地址关系和第二地址关系,其中,第一地址关系包括第一数据的第一逻辑地址和第一物理地址之间的关系,第二地址关系包括第一物理地址与第一逻辑地址之间的关系,第一逻辑地址是用户设备的地址,第一存储域是多控存储器系统中多个存储域中的一组存储域;利用第一地址关系和第二地址关系对第一数据的重复存储进行处理。
可选地,由于第一存储域中存储了第一数据的第一数据标识,从而可以从第一数据标识映射表中查找到第一数据的第一物理地址。并且,用户设备的第一逻辑地址也是确定的,所以可以快速的生成<第一逻辑地址,第一物理地址>、<第一物理地址,第一逻辑地址>这两个地址对应关系。从而可以基于第一地址关系和第二地址关系快速的删除重复存储的第一数据。
可选地,利用第一地址关系和第二地址关系对第一数据的重复存储进行处理,包括:将第二地址关系插入至第一存储域的第一物理地址映射表中;对第一地址关系进行加密,并按照第一地址关系在第一存储域的第一逻辑地址映射表中查找与第一物理地址对应的历史物理地址;基于查找结果对第一数据的重复存储进行处理。在本实施例中,对第一地址关系进行加密包括对第一地址关系添加LBA锁,也可以是其他加密方式。主要是为了防止第一地址关系被篡改。历史物理地址即是在第一逻辑地址映射表中与第一逻辑地址存在关联关系的物理地址,即是在此之前存储的与第一数据相同的数据的物理地址。如果存在历史物理地址,则存在对第一数据的重复存储。需要执行删除操作。此外,其他存储域对重复数据的处理与第一存储域的处理方式相同。本实施例通过第一地址关系和第二地址关系可以快速的查找到历史物理地址,从而可以快速的对重复数据执行删除操作。
可选地,基于查找结果对第一数据的重复存储进行处理,包括:在第一逻辑地址映射表中包括与第一物理地址对应的历史物理地址的情况下,生成第三地址关系,其中,第三地址关系中包括历史物理地址和第一逻辑地址之间的对应关系;将第一地址关系插入至第一逻辑地址映射表中;在历史物理地址归属于第一存储域的情况下,将第三地址关系从第一物理地址映射表中删除。在本实施例中,第三地址关系包括<历史物理地址,第一逻辑地址>。在历史物理地址归属于第一存储域的情况下,则在第一存储域的主存储节点将<历史物理地址,第一逻辑地址>这一对应关系从第一存储域的第一物理地址映射表中删除。
可选地,基于查找结果对第一数据的重复存储进行处理,包括:在历史物理地址归属于多控存储器系统中的其他存储域的情况下,将第三地址关系发送至其他存储域,以指示其他存储域将第三地址关系从其他存储域的其他物理地址映射表中删除。在本实施例中,若历史物理地址属于其他存储域,则第一存储域的主存储节点将<历史物理地址,第一逻辑地址>这一对应关系发送到其他存储域的主存储节点中,其他存储域的主存储节点接收到<历史物理地址,第一逻辑地址>这一对应关系后,将其从其他存储域的其他物理地址映射表中删除。本实施例通过第三地址关系删除重复存储的第一数据,从而能够保证各个存储节点的负载均衡,提高多控存储系统的性能。
在一个示例性实施例中,对第一地址关系进行加密,并按照第一地址关系在第一存储域的第一逻辑地址映射表中查找与第一物理地址对应的历史物理地址之后,上述方法还包括:在第一逻辑地址映射表中未包括与第一物理地址对应的历史物理地址,且第一数据标识归属于第一存储域的情况下,对第一数据标识进行解密;在第一逻辑地址映射表中未包括与第一物理地址对应的历史物理地址,且第一数据标识归属于多控存储器系统中的其他存储域的情况下,将解密请求发送至其他存储域,以指示其他存储域响应解密请求,解密第一数据标识的标识锁。在本实施例中,若第一哈希值归属第一存储域,在第一存储域的主存储节点将第一哈希值对应的哈希锁解锁。若第一哈希值归属其他存储域,其他存储域则将第一哈希值对应的哈希锁解锁。从而可以实现各个存储节点的负载均衡,提高多控存储系统的性能。
在一个示例性实施例中,在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,获取第一数据的第一物理地址之前,上述方法还包括:在第一数据标识归属于多控存储器系统中的其他存储域的情况下,将第一数据标识发送至其他存储域,以指示其他存储域对第一数据进行处理,其中,其他存储域对第一数据的处理包括存储第一数据,或者,对第一数据的重复存储进行处理。
可选地,其他存储域对第一数据的处理方式与第一存储域的处理方式相同。即存储域具备相同的数据处理能力。本实施例通过其他存储域对数据进行处理,同样可以实现各个存储节点的负载均衡,提高多控存储系统的性能。
在一个示例性实施例中,在第一数据标识归属于多控存储器系统中的其他存储域的情况下,将第一数据标识发送至其他存储域之后,上述方法还包括:接收其他存储域发送的存储结果,其中,存储结果用于表示第一数据已存储至其他存储域的主存储节点中,并备份至其他存储域的备存储节点中;将第一物理地址和第一数据的第一逻辑地址之间的对应关系插入至第一存储域中的第一物理地址映射表中;将第一数据标识和第一物理地址之间的对应关系发送至其他存储域的主存储节点中,以指示其他存储域的主存储节点中将第一数据标识和第一物理地址之间的对应关系插入至其他存储域中的其他数据标识映射表中。
可选地,在第一存储域将第一数据的第一数据标识发送至其他存储域,其他存储域未在其他数据标识映射表中查找到与第一数据标识对应的物理地址,则在多控存储器系统并未对第一数据进行存储。则标记需要对第一数据进行存储。并将标记结果发送至第一存储域,第一存储域将第一数据存储在第一存储域中,并生成<第一数据标识,第一物理地址>、<第一逻辑地址,第一物理地址>、<第一物理地址,第一逻辑地址>三个对应关系,第一存储域的主存储节点将<第一数据标识,第一物理地址>、<第一物理地址,第一逻辑地址>插入到第一存储域的第一哈希映射表和第一物理地址映射表。如果是其他存储域对数据执行的存储,则第一存储域的主存储节点将<第一物理地址,第一逻辑地址>插入到第一存储域的第一物理地址映射表,并将<第一数据标识,第一物理地址>这一对应关系发送到其他存储域的主存储节点,其他存储域的主存储节点接收到第一存储域的主存储节点发送的<第一数据标识,第一物理地址>这一对应关系,将其插入到其他存储域的其他数据标识映射表中。本实施例通过存储域对第一数据进行存储,可以实现各个存储节点的负载均衡,提高多控存储系统性能的目的。
在一个示例性实施例中,在基于第一数据标识确定多控存储器系统中已存储第一数据的情况下,获取第一数据的第一物理地址之前,上述方法还包括:在第一数据标识归属于第一存储域的情况下,在第一存储域的第一数据标识映射表中查找第一数据标识,其中,第一存储域是多控存储器系统中多个存储域中的一组存储域;在第一数据标识映射表中未包括第一数据标识的情况下,将第一数据存储至第一存储域中的第一主存储节点中,并备份至第一备存储节点中。
可选地,第一存储域将第一数据存储在第一存储域中,并生成<第一数据标识,第一物理地址>、<第一逻辑地址,第一物理地址>、<第一物理地址,第一逻辑地址>三个对应关系,第一存储域的主存储节点将<第一数据标识,第一物理地址>、<第一物理地址,第一逻辑地址>插入到第一存储域的第一哈希映射表和第一物理地址映射表。本实施例通过存储域对第一数据进行存储,可以实现各个存储节点的负载均衡,提高多控存储系统性能的目的。
在一个示例性实施例中,在第一数据标识映射表中未包括第一数据标识的情况下,将第一数据存储至第一存储域中的第一主存储节点中,并备份至第一备存储节点中之后,上述方法还包括:将第一数据标识和第一物理地址之间的关系插入至第一存储域的第一数据标识映射表中;将第一物理地址与第一数据的第一逻辑地址之间的关系插入至第一存储域的第一物理地址映射表中;加密第一数据的第一逻辑地址和第一物理地址之间的关系。
可选地,加密第一数据的第一逻辑地址和第一物理地址之间的关系的方式包括但不限于是添加LBA锁。以防止加密第一数据的第一逻辑地址和第一物理地址之间的关系不被篡改。
在一个示例性实施例中,基于第一物理地址对第一数据的重复存储进行处理之后,上述方法还包括:接收用户设备发送的数据查询请求,其中,数据查询请求中包括第一数据的第一逻辑地址;按照第一逻辑地址从存储域中的逻辑地址映射表中查找第一物理地址;根据第一物理地址从存储域对应的存储设备中读取第一数据;将第一数据发送至用户设备。
可选地,在数据查询请求到达第一存储域时,第一存储域的主存储节点会根据第一逻辑地址从第一逻辑地址映射表中查找对应的第一物理地址。在获知第一物理地址后,即可以查找到第一数据存储的存储设备。从而实现了快速的读取数据的目的。
下面结合具体实施例对本发明进行说明:
本实施例以多控存储系统中包括多个存储域Domain为例进行说明。本实施例提供一种Domain间负载均衡的全局重复数据删除方法,在写入数据的过程中,如图4、图5所示,包括以下步骤:
S1,用户设备发送的第一数据到达Domain 0后,在Domain 0的主存储节点上计算第一数据的哈希值,例如,哈希值的编号是4K + M,若M等于0,则转向S2,若M不等于0,则转向S3。
S2,在Domain 0的主存储节点上对该哈希值加哈希锁,并在Domain 0的哈希映射表查看Domain 0是否已存储该哈希值对应的第一数据,若未存储,则将该第一数据标记为“写盘”,转向步骤S5;若已存储,则返回第一数据的物理地址,转向步骤S8;
S3,Domain 0的主存储节点将哈希值发送到Domain M的主存储节点,转向S4。
S4,在Domain M的主存储节点上对该哈希值加哈希锁,并查找哈希映射表查看Domain M是否已存储该哈希值对应的第一数据,若未存储,则将结果“写盘”返回给Domain0的主存储节点,转向S5;若已存储,则将第一数据的物理地址返回给Domain 0的主存储节点,转向步骤S8。
S5,若Domain 0获取到“写盘”结果,则将第一数据保存到Domain 0,并生成<哈希值,物理地址>、<逻辑地址,物理地址>、<物理地址,逻辑地址>三个对应关系,若“写盘”结果从Domain 0获取,转向S6,若“写盘”结果从Domain M获取,转向S7。
S6,Domain 0的主存储节点分别将<哈希值,物理地址>、<物理地址,逻辑地址>插入到Domain 0的哈希映射表和物理地址映射表,转向S9。
S7,Domain 0的主存储节点将<物理地址,逻辑地址>插入到Domain 0的物理地址映射表,并将<哈希值,物理地址>这一对应关系发送到Domain M的主存储节点,Domain M的主存储节点接收到Domain 0的主存储节点发送的<哈希值,物理地址>这一对应关系,将其插入到Domain M的哈希映射表,转向S9。
S8,若Domain 0获取到第一数据的物理地址,则生成<逻辑地址,物理地址>、<物理地址,逻辑地址>这两个对应关系,并将<物理地址,逻辑地址>这一对应关系插入到Domain0的物理地址映射表,转向S9。
S9,在Domain 0的主存储节点,对生成的<逻辑地址,物理地址>这一对应关系添加LBA(逻辑区块地址,Logical Block Address)锁,并在Domain 0的逻辑地址映射表中查找该逻辑地址是否存在一个物理地址与其对应,若存在,将该物理地址称为旧物理地址,生成<旧物理地址,逻辑地址>这一对应关系。
S10,在Domain 0的主存储节点,将<逻辑地址,物理地址>这一对应关系插入到Domain 0的逻辑地址映射表。
S11,若步骤S9未生成<旧物理地址,逻辑地址>这一对应关系,转向S13若生成了<旧物理地址,逻辑地址>这一对应关系,计算旧物理地址归属的Domain,若属于Domain 0,则在Domain 0的主存储节点将<旧物理地址,逻辑地址>这一对应关系从Domain 0的物理地址映射表中删除;若属于Domain M,则将<旧物理地址,逻辑地址>这一对应关系发送到DomainM的主存储节点,转向S12。
S12,Domain M的主存储节点接收到<旧物理地址,逻辑地址>这一对应关系后,将其从Domain M的物理地址映射表中删除,转向S13。
S13,若哈希值归属Domain 0,则在Domain 0的主存储节点将该哈希值对应的哈希锁解锁,若哈希值归属Domain M则将该哈希值的解锁请求发送到Domain M的主存储节点,转向步骤S14。
S14,Domain M的主存储节点接收到哈希值的解锁请求后,将该哈希值对应的哈希锁解锁。
在读数据的过程中,包括以下步骤:
S1,用户设备发送的数据查询请求到Domain 0后,Domain 0的主存储节点根据第一数据的逻辑地址查找Domain 0的逻辑地址映射表,获取物理地址。
S2,Domain 0的主存储节点根据物理地址去硬盘中读取第一数据。
S3,Domain 0的主存储节点将读取的第一数据返回给用户。
综上所述,本实施例以Domain粒度的全局重复数据删除方法,将数据和元数据均衡分布在多个Dmain上,并使用哈希映射表、逻辑地址映射表、物理地址映射表以及哈希锁、逻辑地址锁保证Domain间数据和元数据一致性。多控存储系统中的每两个节点组成一个Domain,将哈希值均匀分布到每个Domain上,每个Domain都维护哈希映射表、逻辑地址映射表和物理地址映射表。当处理写请求时,先更新物理地址映射表,再更新逻辑地址映射表,更新物理地址映射表或逻辑地址映射时,可同步更新哈希映射表,处理读请求时,根据逻辑地址映射表找到对应的数据。该方法能够保证各个存储节点的负载均衡,提高多控存储系统的性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种存储系统的数据重复存储处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的存储系统的数据重复存储处理装置的结构框图,如图6所示,该装置包括:
第一确定模块62,用于在接收到用户设备发送的第一数据的情况下,确定上述第一数据的第一数据标识,其中,上述第一数据标识用于唯一标识上述第一数据;第一获取模块64,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址,其中,上述第一物理地址是存储上述第一数据的地址,上述第一物理地址存储在上述多控存储器系统中的一个存储域中,一个上述存储域中包括主存储节点和备存储节点,上述主存储节点用于存储上述第一数据,并将上述第一数据备份至上述备存储节点,上述多控存储器系统中包括多个上述存储域;第一处理模块66,用于基于上述第一物理地址对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述装置还包括:第一划分模块,用于在接收到用户设备发送的第一数据的情况下,确定上述第一数据的第一数据标识之前,将上述多控存储器系统中的多个存储节点划分为多个上述存储域,其中,每一个上述存储域中均包括一个上述主存储节点和一个上述备存储节点,每一个上述存储域对应一个唯一的存储编号。
在一个示例性实施例中,上述第一确定模块,包括:第一计算单元,用于计算上述第一数据的第一哈希值;第一处理单元,用于对上述第一哈希值进行加密处理,并按照多个上述存储域的存储编号对上述第一哈希值进行编号,得到上述第一数据标识;或者,第一发送单元,用于将上述第一哈希值发送至其他存储域中,以指示上述其他存储域对上述第一哈希值进行加密处理,并按照多个上述存储域的存储编号对上述第一哈希值进行编号,得到上述第一数据标识;第一接收单元,用于接收上述其他存储域发送的上述第一数据标识。
在一个示例性实施例中,上述第一获取模块,包括:第一查找单元,用于在上述第一数据标识归属于第一存储域的情况下,在上述第一存储域的第一数据标识映射表中查找上述第一数据标识,其中,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第一确定单元,用于在上述第一数据标识映射表中包括上述第一数据标识的情况下,确定上述多控存储器系统中已存储上述第一数据;第一获取单元,用于按照上述第一数据标识从上述第一数据标识映射表中获取上述第一物理地址。
在一个示例性实施例中,上述第一处理模块,包括:第一生成单元,用于在上述第一物理地址存储在第一存储域中的情况下,基于上述第一物理地址生成上述第一数据的第一地址关系和第二地址关系,其中,上述第一地址关系包括上述第一数据的第一逻辑地址和上述第一物理地址之间的关系,上述第二地址关系包括上述第一物理地址与上述第一逻辑地址之间的关系,上述第一逻辑地址是上述用户设备的地址,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第二处理单元,用于利用上述第一地址关系和上述第二地址关系对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述第二处理单元,包括:第一插入子单元,用于将上述第二地址关系插入至上述第一存储域的第一物理地址映射表中;第一加密子单元,用于对上述第一地址关系进行加密,并按照上述第一地址关系在上述第一存储域的第一逻辑地址映射表中查找与上述第一物理地址对应的历史物理地址;第一处理子单元,用于基于查找结果对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述第一处理子单元,包括:第一生成子模块,用于在上述第一逻辑地址映射表中包括与上述第一物理地址对应的上述历史物理地址的情况下,生成第三地址关系,其中,上述第三地址关系中包括上述历史物理地址和上述第一逻辑地址之间的对应关系;第一插入子模块,用于将上述第一地址关系插入至上述第一逻辑地址映射表中;第一删除子模块,用于在上述历史物理地址归属于上述第一存储域的情况下,将上述第三地址关系从上述第一物理地址映射表中删除。
在一个示例性实施例中,上述第一处理子单元,包括:第一发送子模块,用于在上述历史物理地址归属于上述多控存储器系统中的其他存储域的情况下,将上述第三地址关系发送至上述其他存储域,以指示上述其他存储域将上述第三地址关系从上述其他存储域的其他物理地址映射表中删除。
在一个示例性实施例中,上述装置还包括:第一解密模块,用于对上述第一地址关系进行加密,并按照上述第一地址关系在上述第一存储域的第一逻辑地址映射表中查找与上述第一物理地址对应的历史物理地址之后,在上述第一逻辑地址映射表中未包括与上述第一物理地址对应的上述历史物理地址,且上述第一数据标识归属于上述第一存储域的情况下,对上述第一数据标识进行解密;第一发送模块,用于在上述第一逻辑地址映射表中未包括与上述第一物理地址对应的上述历史物理地址,且上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将解密请求发送至上述其他存储域,以指示上述其他存储域响应上述解密请求,解密上述第一数据标识的标识锁。
在一个示例性实施例中,上述装置还包括:第二发送模块,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址之前,在上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将上述第一数据标识发送至上述其他存储域,以指示上述其他存储域对上述第一数据进行处理,其中,上述其他存储域对上述第一数据的处理包括存储上述第一数据,或者,对上述第一数据的重复存储进行处理。
在一个示例性实施例中,上述装置还包括:第一接收模块,用于在上述第一数据标识归属于上述多控存储器系统中的其他存储域的情况下,将上述第一数据标识发送至上述其他存储域之后,接收上述其他存储域发送的存储结果,其中,上述存储结果用于表示上述第一数据已存储至上述其他存储域的主存储节点中,并备份至上述其他存储域的备存储节点中;第一插入模块,用于将上述第一物理地址和上述第一数据的第一逻辑地址之间的对应关系插入至上述第一存储域中的第一物理地址映射表中;第三发送模块,用于将上述第一数据标识和上述第一物理地址之间的对应关系发送至上述其他存储域的主存储节点中,以指示上述其他存储域的主存储节点中将上述第一数据标识和上述第一物理地址之间的对应关系插入至上述其他存储域中的其他数据标识映射表中。
在一个示例性实施例中,上述装置还包括:第一查找模块,用于在基于上述第一数据标识确定多控存储器系统中已存储上述第一数据的情况下,获取上述第一数据的第一物理地址之前,在上述第一数据标识归属于第一存储域的情况下,在上述第一存储域的第一数据标识映射表中查找上述第一数据标识,其中,上述第一存储域是上述多控存储器系统中多个存储域中的一个存储域;第一存储模块,用于在上述第一数据标识映射表中未包括上述第一数据标识的情况下,将上述第一数据存储至上述第一存储域中的第一主存储节点中,并备份至上述第一备存储节点中。
在一个示例性实施例中,上述装置还包括:第二插入模块,用于在上述第一数据标识映射表中未包括上述第一数据标识的情况下,将上述第一数据存储至上述第一存储域中的第一主存储节点中,并备份至上述第一备存储节点中之后,将上述第一数据标识和上述第一物理地址之间的关系插入至上述第一存储域的第一数据标识映射表中;第三插入模块,用于将上述第一物理地址与上述第一数据的第一逻辑地址之间的关系插入至上述第一存储域的第一物理地址映射表中;第一加密模块,用于加密上述第一数据的第一逻辑地址和上述第一物理地址之间的关系。
在一个示例性实施例中,上述装置还包括:第二接收模块,用于基于上述第一物理地址对上述第一数据的重复存储进行处理之后,接收上述用户设备发送的数据查询请求,其中,上述数据查询请求中包括上述第一数据的第一逻辑地址;第二查找模块,用于按照上述第一逻辑地址从上述存储域中的逻辑地址映射表中查找上述第一物理地址;第一读取模块,用于根据上述第一物理地址从上述存储域对应的存储设备中读取上述第一数据;第四发送模块,用于将上述第一数据发送至上述用户设备。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种存储系统的数据重复存储处理方法,其特征在于,包括:
在接收到用户设备发送的第一数据的情况下,确定所述第一数据的第一数据标识,其中,所述第一数据标识用于唯一标识所述第一数据;
在基于所述第一数据标识确定多控存储器系统中已存储所述第一数据的情况下,获取所述第一数据的第一物理地址,其中,所述第一物理地址是存储所述第一数据的地址,所述第一物理地址存储在所述多控存储器系统中的一组存储域中,一组所述存储域中包括主存储节点和备存储节点,所述主存储节点用于存储所述第一数据,并将所述第一数据备份至所述备存储节点,所述多控存储器系统中包括多个所述存储域;
基于所述第一物理地址对所述第一数据的重复存储进行处理;
其中,基于所述第一物理地址对所述第一数据的重复存储进行处理,包括:
在所述第一物理地址存储在第一存储域中的情况下,基于所述第一物理地址生成所述第一数据的第一地址关系和第二地址关系,其中,所述第一地址关系包括所述第一数据的第一逻辑地址和所述第一物理地址之间的关系,所述第二地址关系包括所述第一物理地址与所述第一逻辑地址之间的关系,所述第一逻辑地址是所述用户设备的地址,所述第一存储域是所述多控存储器系统中多个存储域中的一组存储域;
利用所述第一地址关系和所述第二地址关系对所述第一数据的重复存储进行处理;利用所述第一地址关系和所述第二地址关系对所述第一数据的重复存储进行处理,包括:将所述第二地址关系插入至所述第一存储域的第一物理地址映射表中;对所述第一地址关系进行加密,并按照所述第一地址关系在所述第一存储域的第一逻辑地址映射表中查找与所述第一物理地址对应的历史物理地址;
基于查找结果对所述第一数据的重复存储进行处理;基于查找结果对所述第一数据的重复存储进行处理,包括:在所述历史物理地址归属于所述多控存储器系统中的其他存储域的情况下,将第三地址关系发送至所述其他存储域,以指示所述其他存储域将所述第三地址关系从所述其他存储域的其他物理地址映射表中删除,其中,所述第三地址关系中包括所述历史物理地址和所述第一逻辑地址之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,在接收到用户设备发送的第一数据的情况下,确定所述第一数据的第一数据标识之前,所述方法包括:
将所述多控存储器系统中的多个存储节点划分为多个所述存储域,其中,每一组所述存储域中均包括一个所述主存储节点和一个所述备存储节点,每一组所述存储域对应一个唯一的存储编号。
3.根据权利要求1所述的方法,其特征在于,在接收到用户设备发送的第一数据的情况下,确定所述第一数据的第一数据标识,包括:
计算所述第一数据的第一哈希值;
对所述第一哈希值进行加密处理,并按照多个所述存储域的存储编号对所述第一哈希值进行编号,得到所述第一数据标识;或者,
将所述第一哈希值发送至其他存储域中,以指示所述其他存储域对所述第一哈希值进行加密处理,并按照多个所述存储域的存储编号对所述第一哈希值进行编号,得到所述第一数据标识;
接收所述其他存储域发送的所述第一数据标识。
4.根据权利要求1所述的方法,其特征在于,在基于所述第一数据标识确定多控存储器系统中已存储所述第一数据的情况下,获取所述第一数据的第一物理地址,包括:
在所述第一数据标识归属于第一存储域的情况下,在所述第一存储域的第一数据标识映射表中查找所述第一数据标识,其中,所述第一存储域是所述多控存储器系统中多个存储域中的一组存储域;
在所述第一数据标识映射表中包括所述第一数据标识的情况下,确定所述多控存储器系统中已存储所述第一数据;
按照所述第一数据标识从所述第一数据标识映射表中获取所述第一物理地址。
5.根据权利要求1所述的方法,其特征在于,对所述第一地址关系进行加密,并按照所述第一地址关系在所述第一存储域的第一逻辑地址映射表中查找与所述第一物理地址对应的历史物理地址之后,所述方法还包括:
在所述第一逻辑地址映射表中未包括与所述第一物理地址对应的所述历史物理地址,且所述第一数据标识归属于所述第一存储域的情况下,对所述第一数据标识进行解密;
在所述第一逻辑地址映射表中未包括与所述第一物理地址对应的所述历史物理地址,且所述第一数据标识归属于所述多控存储器系统中的其他存储域的情况下,将解密请求发送至所述其他存储域,以指示所述其他存储域响应所述解密请求,解密所述第一数据标识的标识锁。
6.根据权利要求1所述的方法,其特征在于,在基于所述第一数据标识确定多控存储器系统中已存储所述第一数据的情况下,获取所述第一数据的第一物理地址之前,所述方法还包括:
在所述第一数据标识归属于所述多控存储器系统中的其他存储域的情况下,将所述第一数据标识发送至所述其他存储域,以指示所述其他存储域对所述第一数据进行处理,其中,所述其他存储域对所述第一数据的处理包括存储所述第一数据,或者,对所述第一数据的重复存储进行处理。
7.根据权利要求6所述的方法,其特征在于,在所述第一数据标识归属于所述多控存储器系统中的其他存储域的情况下,将所述第一数据标识发送至所述其他存储域之后,所述方法还包括:
接收所述其他存储域发送的存储结果,其中,所述存储结果用于表示所述第一数据已存储至所述其他存储域的主存储节点中,并备份至所述其他存储域的备存储节点中;
将所述第一物理地址和所述第一数据的第一逻辑地址之间的对应关系插入至第一存储域中的第一物理地址映射表中,其中,所述第一存储域是所述多控存储器系统中多个存储域中的一组存储域;
将所述第一数据标识和所述第一物理地址之间的对应关系发送至所述其他存储域的主存储节点中,以指示所述其他存储域的主存储节点中将所述第一数据标识和所述第一物理地址之间的对应关系插入至所述其他存储域中的其他数据标识映射表中。
8.根据权利要求1所述的方法,其特征在于,在基于所述第一数据标识确定多控存储器系统中已存储所述第一数据的情况下,获取所述第一数据的第一物理地址之前,所述方法还包括:
在所述第一数据标识归属于第一存储域的情况下,在所述第一存储域的第一数据标识映射表中查找所述第一数据标识,其中,所述第一存储域是所述多控存储器系统中多个存储域中的一组存储域;
在所述第一数据标识映射表中未包括所述第一数据标识的情况下,将所述第一数据存储至所述第一存储域中的第一主存储节点中,并备份至第一备存储节点中。
9.根据权利要求8所述的方法,其特征在于,在所述第一数据标识映射表中未包括所述第一数据标识的情况下,将所述第一数据存储至所述第一存储域中的第一主存储节点中,并备份至所述第一备存储节点中之后,所述方法还包括:
将所述第一数据标识和所述第一物理地址之间的关系插入至所述第一存储域的第一数据标识映射表中;
将所述第一物理地址与所述第一数据的第一逻辑地址之间的关系插入至所述第一存储域的第一物理地址映射表中;
加密所述第一数据的第一逻辑地址和所述第一物理地址之间的关系。
10.根据权利要求1所述的方法,其特征在于,基于所述第一物理地址对所述第一数据的重复存储进行处理之后,所述方法还包括:
接收所述用户设备发送的数据查询请求,其中,所述数据查询请求中包括所述第一数据的第一逻辑地址;
按照所述第一逻辑地址从所述存储域中的逻辑地址映射表中查找所述第一物理地址;
根据所述第一物理地址从所述存储域对应的存储设备中读取所述第一数据;
将所述第一数据发送至所述用户设备。
11.一种存储系统的数据重复存储处理装置,其特征在于,包括:
第一确定模块,用于在接收到用户设备发送的第一数据的情况下,确定所述第一数据的第一数据标识,其中,所述第一数据标识用于唯一标识所述第一数据;
第一获取模块,用于在基于所述第一数据标识确定多控存储器系统中已存储所述第一数据的情况下,获取所述第一数据的第一物理地址,其中,所述第一物理地址是存储所述第一数据的地址,所述第一物理地址存储在所述多控存储器系统中的一个存储域中,一个所述存储域中包括主存储节点和备存储节点,所述主存储节点用于存储所述第一数据,并将所述第一数据备份至所述备存储节点,所述多控存储器系统中包括多个所述存储域;
第一处理模块,用于基于所述第一物理地址对所述第一数据的重复存储进行处理;
其中,所述第一处理模块,包括:第一生成单元,用于在所述第一物理地址存储在第一存储域中的情况下,基于所述第一物理地址生成所述第一数据的第一地址关系和第二地址关系,其中,所述第一地址关系包括所述第一数据的第一逻辑地址和所述第一物理地址之间的关系,所述第二地址关系包括所述第一物理地址与所述第一逻辑地址之间的关系,所述第一逻辑地址是所述用户设备的地址,所述第一存储域是所述多控存储器系统中多个存储域中的一组存储域;第二处理单元,用于利用所述第一地址关系和所述第二地址关系对所述第一数据的重复存储进行处理;
其中,所述第二处理单元,包括:第一插入子单元,用于将所述第二地址关系插入至所述第一存储域的第一物理地址映射表中;第一加密子单元,用于对所述第一地址关系进行加密,并按照所述第一地址关系在所述第一存储域的第一逻辑地址映射表中查找与所述第一物理地址对应的历史物理地址;第一处理子单元,用于基于查找结果对所述第一数据的重复存储进行处理;
其中,所述第一处理子单元,包括:第一删除子模块,用于在所述历史物理地址归属于所述多控存储器系统中的其他存储域的情况下,将第三地址关系发送至所述其他存储域,以指示所述其他存储域将所述第三地址关系从所述其他存储域的其他物理地址映射表中删除,其中,所述第三地址关系中包括所述历史物理地址和所述第一逻辑地址之间的对应关系。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至10任一项中所述的方法的步骤。
13.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一项中所述的方法的步骤。
CN202311514243.2A 2023-11-14 2023-11-14 存储系统的数据重复存储处理方法及装置、存储介质、电子设备 Active CN117271224B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311514243.2A CN117271224B (zh) 2023-11-14 2023-11-14 存储系统的数据重复存储处理方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311514243.2A CN117271224B (zh) 2023-11-14 2023-11-14 存储系统的数据重复存储处理方法及装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN117271224A CN117271224A (zh) 2023-12-22
CN117271224B true CN117271224B (zh) 2024-02-20

Family

ID=89217961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311514243.2A Active CN117271224B (zh) 2023-11-14 2023-11-14 存储系统的数据重复存储处理方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN117271224B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902762A (zh) * 2012-09-25 2013-01-30 华为技术有限公司 一种删除重复数据的方法、装置和系统
CN105242881A (zh) * 2015-10-12 2016-01-13 创新科软件技术(深圳)有限公司 分布式存储系统及其数据读写方法
US9792069B2 (en) * 2014-09-29 2017-10-17 Western Digital Technologies, Inc. Offline deduplication for solid-state storage devices
CN109684238A (zh) * 2018-12-19 2019-04-26 湖南国科微电子股份有限公司 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘
CN110109617A (zh) * 2019-04-22 2019-08-09 电子科技大学 一种加密重复数据删除系统中的高效元数据管理方法
CN112799590A (zh) * 2021-01-21 2021-05-14 中国人民解放军国防科技大学 一种针对在线主存储重删的差异化缓存方法
CN113867627A (zh) * 2021-08-29 2021-12-31 苏州浪潮智能科技有限公司 一种存储系统性能优化方法及系统
CN114442961A (zh) * 2022-02-07 2022-05-06 苏州浪潮智能科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN115061634A (zh) * 2022-06-30 2022-09-16 济南浪潮数据技术有限公司 一种系统业务负载分配方法、装置、介质
CN116243858A (zh) * 2023-01-09 2023-06-09 阿里巴巴(中国)有限公司 一种数据写入方法、数据读取方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902762A (zh) * 2012-09-25 2013-01-30 华为技术有限公司 一种删除重复数据的方法、装置和系统
US9792069B2 (en) * 2014-09-29 2017-10-17 Western Digital Technologies, Inc. Offline deduplication for solid-state storage devices
CN105242881A (zh) * 2015-10-12 2016-01-13 创新科软件技术(深圳)有限公司 分布式存储系统及其数据读写方法
CN109684238A (zh) * 2018-12-19 2019-04-26 湖南国科微电子股份有限公司 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘
CN110109617A (zh) * 2019-04-22 2019-08-09 电子科技大学 一种加密重复数据删除系统中的高效元数据管理方法
CN112799590A (zh) * 2021-01-21 2021-05-14 中国人民解放军国防科技大学 一种针对在线主存储重删的差异化缓存方法
CN113867627A (zh) * 2021-08-29 2021-12-31 苏州浪潮智能科技有限公司 一种存储系统性能优化方法及系统
CN114442961A (zh) * 2022-02-07 2022-05-06 苏州浪潮智能科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN115061634A (zh) * 2022-06-30 2022-09-16 济南浪潮数据技术有限公司 一种系统业务负载分配方法、装置、介质
CN116243858A (zh) * 2023-01-09 2023-06-09 阿里巴巴(中国)有限公司 一种数据写入方法、数据读取方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于内容地址存储的文件级备份系统;徐旭;付威;李芬;吴文阳;张建刚;韩晓明;;计算机工程(16);全文 *
基于重复数据删除技术的存储系统分析;朱江;冀鸣;杨志成;张嘉贤;曹雄;;信息系统工程(04);全文 *

Also Published As

Publication number Publication date
CN117271224A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US11144651B2 (en) Secure cloud-based storage of data shared across file system objects and clients
US9792306B1 (en) Data transfer between dissimilar deduplication systems
US8843454B2 (en) Elimination of duplicate objects in storage clusters
US8300823B2 (en) Encryption and compression of data for storage
CN103019960B (zh) 分布式缓存方法及系统
US10983867B1 (en) Fingerprint change during data operations
US20130311520A1 (en) Storage-service-provision apparatus,system, service-provision method, and service-provision program
US20210224236A1 (en) Primary storage with deduplication
US9253171B2 (en) Distributed network encryption key generation
US11907379B2 (en) Creating a secure searchable path by hashing each component of the path
US20200065306A1 (en) Bloom filter partitioning
US10572450B2 (en) Reducing database fragmentation
CN111831208A (zh) 一种信息处理方法、装置、终端设备及存储介质
CN112445783A (zh) 一种用于数据库更新的方法、装置和服务器
CN111355580B (zh) 基于物联网的数据交互方法和装置
WO2014117729A1 (en) Scalable data deduplication
US10678754B1 (en) Per-tenant deduplication for shared storage
CN117271224B (zh) 存储系统的数据重复存储处理方法及装置、存储介质、电子设备
CN112241336A (zh) 用于备份数据的方法、设备和计算机程序产品
CN112148728A (zh) 用于信息处理的方法、设备和计算机程序产品
CN111339058B (zh) 一种集合同步方法及装置
CN113364875B (zh) 区块链节点存取数据的方法、设备和计算机可读存储介质
CN116710916A (zh) 防止重复加密数据的方法和系统
CN114328521A (zh) 索引库的更新方法及装置
CN117473555A (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