CN112889021A - 重复数据删除的设备、***和方法 - Google Patents

重复数据删除的设备、***和方法 Download PDF

Info

Publication number
CN112889021A
CN112889021A CN201980069610.8A CN201980069610A CN112889021A CN 112889021 A CN112889021 A CN 112889021A CN 201980069610 A CN201980069610 A CN 201980069610A CN 112889021 A CN112889021 A CN 112889021A
Authority
CN
China
Prior art keywords
server
storage
data
global server
data 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.)
Granted
Application number
CN201980069610.8A
Other languages
English (en)
Other versions
CN112889021B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112889021A publication Critical patent/CN112889021A/zh
Application granted granted Critical
Publication of CN112889021B publication Critical patent/CN112889021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks
    • 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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • 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/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明旨在提供一种高级重复数据删除方法,特别是具有附加重复数据删除层的高级重复数据删除方法。为此,本发明提出了一种用于对多个存储服务器进行重复数据删除的全局服务器,其中所述全局服务器用于:从存储服务器接收数据块存储请求;确定所述数据块是否在所述存储服务器中高度重复;若所述数据块是高度重复的,则接受所述请求;若所述数据块不是高度重复的,则拒绝所述请求。本发明还提出了一种存储服务器,用于在全局服务器进行重复数据删除。特别地,所述存储服务器用于:向所述全局服务器发送数据块存储请求;从所述全局服务器接收指示所述全局服务器接受所述请求或拒绝所述请求的信息。相应地,提供了一种包括全局服务器和多个存储服务器的***。

Description

重复数据删除的设备、***和方法
技术领域
本公开涉及一种数据存储重复数据删除方法,尤其涉及一种多个重复数据删除服务器的重复数据删除方法。因此,本公开介绍一种高级重复数据删除方法,支持轻松部署存储服务器,其中全局服务器在多个存储服务器之间存储高重复的数据。所述全局服务器可以是集中式服务器,也可以是分布式服务器。
背景技术
重复数据删除功能(也称为数据优化)是指在不影响原始数据的保真度或完整性的情况下,减少需要存储在磁盘或通过网络传输的数据的物理字节数,即,字节数的减少是无损的,并且可以完全恢复原始数据。通过减少存储和/或传输数据的存储资源,重复数据删除功能节省硬件成本(用于存储和网络传输)和数据管理成本(例如备份)。随着数字存储数据量的增长,节省成本变得很重要。
重复数据删除功能通常使用各种技术的组合来消除持久存储的文件内和文件之间的冗余。一种技术可识别一个或多个文件中的相同数据区域,并且物理上仅存储一个唯一区域(称为块),同时维护指向与文件相关的块的指针。另一种技术通过存储压缩块等方法将重复数据删除功能与压缩混合。
许多组织使用专用服务器来存储数据(存储服务器)。不同服务器存储的数据经常重复,导致空间浪费。这个问题的解决方案是重复数据删除,通过使用哈希来标识重复而只存储达到一定粒度的唯一数据。但是,重复数据删除是以单个存储服务器为粒度执行的。
为了预防服务器之间的数据重复,通常采用分布式重复数据删除功能。然而,分布式重复数据删除的一个问题是重复数据删除服务器之间可能存在高时延,这可能导致读取性能下降。另一问题是重复数据删除节点之间的强依赖关系。在一个示例中,若从集群中选取一个重复数据删除节点,则存储在这个节点中的数据需要分布到所述集群中的其它节点中。在另一示例中,当增加新的重复数据删除节点时,集群中的当前数据可能需要在所述集群的节点之间重新分布,以均衡负载。
发明内容
鉴于上述缺点,本发明实施例旨在提供一种高级重复数据删除方法,特别是具有附加重复数据删除层的高级重复数据删除方法。目的是避免传统分布式重复数据删除存在的高时延。一个目的是简单、灵活部署多个独立存储服务器。
通过所附独立权利要求中提供的实施例来实现所述目的。从属权利要求中进一步定义了本发明实施例的有利实现方式。
本发明的第一方面提供了一种用于对多个存储服务器进行重复数据删除的全局服务器,其中所述全局服务器用于:从存储服务器接收数据块存储请求;确定所述数据块是否在所述存储服务器中高度重复;若所述数据块是高度重复的,则接受所述请求;若所述数据块不是高度重复的,则拒绝所述请求。
本发明提出了重复数据删除的重复数据删除(嵌套重复数据删除)的概念,包括附加的重复数据删除层(对多个重复数据删除服务器进行重复数据删除)。提出了全局重复数据删除服务器(global deduplication server,GDS),用于存储高度重复的数据。术语“全局服务器”是“全局重复数据删除服务器”的缩写,是指在由多个重复数据删除服务器组成的存储***中处理高度重复的数据的服务器。在此背景下,术语“全局”是指网络拓扑,和“主”、“总体”或“中心”意思相同。
在第一方面的一种实现方式中,所述全局服务器用于:若所述数据块的哈希值在所述全局服务器中与等于或大于确定值的水位相关,则确定所述数据块在所述存储服务器中是高度重复的。
所述GDS可以根据一些可配置的阈值判断高度重复的数据。
在第一方面的一种实现方式中,所述存储服务器发送的所述请求包括所述数据块的所述哈希值。
所述哈希值可用于唯一标识相应的数据块。
在第一方面的一种实现方式中,所述全局服务器用于:在接收到所述请求时,创建或增加与所述哈希值相关的水位;在发送所述请求的存储服务器上注册所述哈希值。
为了帮助确定数据块是否高度重复,所述GDS可以增加每个哈希的参考计数,并且可以注册请求添加此哈希的存储服务器。
在第一方面的一种实现方式中,若所述水印等于第一值,则所述全局服务器用于:指示所述存储服务器向所述全局服务器发送所述数据块;存储所述数据块。
若所述参考计数达到某高水位(high-water mark,HWM),则所述GDS可能会接受请求并指示所述存储服务器将数据发送给所述GDS。
在第一方面的一种实现方式中,在存储所述数据块之后,所述全局服务器用于:通知注册了所述数据块的所述哈希值的所述存储服务器已存储所述数据块。
只有在存储所述数据之后,所述GDS才能通知之前请求添加此数据的所有存储服务器已存储所述数据。
在第一方面的一种实现方式中,所述全局服务器用于:从所述存储服务器接收数据块移除请求;减小与所述数据块的所述哈希值相关的水位的值;在所述存储服务器上取消注册所述哈希值。
若所述存储服务器向所述GDS发送移除请求以删除数据,则所述GDS可能会减少相关哈希的参考计数,并在所述存储服务器上取消注册此哈希。
在第一方面的一种实现方式中,若与数据块的哈希值相关的水位低于或等于第二值,则所述全局服务器用于:指示注册了所述数据块的所述哈希值的每个存储服务器从所述全局服务器复制所述数据块;在注册了所述哈希值的所有存储服务器将所述数据块存储在本地之后,从所述全局服务器中移除所述数据块。
若哈希的参考计数减少到低于或等于某低水位(low-water mark,LWM),则所述GDS可能会指示仍然需要此数据的所有存储服务器,在所述GDS从其存储数据中移除此数据之前,从所述GDS中复制此数据。
在第一方面的一种实现方式中,所述第一值大于所述第二值。
为避免不断删除和重写相同的数据,所述LWM应小于所述HWM。
在第一方面的一种实现方式中,所述全局服务器用于根据所述全局服务器中剩余的空闲存储空间动态调整所述第一值和/或所述第二值。
若所述GDS的空闲存储空间减少到一定阈值以下,则所述GDS可以动态修改其HWM和/或LWM。
在该实现方式中,所述GDS可以实现为集中式设备(例如服务器),或者部署在所述多个存储服务器中的一台存储服务器中,或者以分布式方式实现。
本发明的第二方面提供一种用于在全局服务器进行重复数据删除的存储服务器,其中所述存储服务器用于:向所述全局服务器发送数据块存储请求;从所述全局服务器接收指示所述全局服务器接受所述请求或拒绝所述请求的信息。
在这种拓扑中,多个存储服务器可以连接到所述GDS,但是所述存储服务器之间不需要相互连接,这与分布式重复数据删除拓扑相反。
在第二方面的一种实现方式中,向所述全局服务器发送的所述请求包括所述数据块的哈希值。
本发明不限制所述存储服务器中使用的哈希和组块技术的类型,只要在所有服务器中使用同一类型即可。
在第二方面的一种实现方式中,所述存储服务器用于:从用户接收数据块写入请求;存储所述数据块的所述哈希值;创建或增加与所述哈希值相关的本地计数器。
为了不向所述GDS发送对相同数据的复制添加或移除请求,存储服务器负责识别最终用户对数据的复制请求。这可以通过为数据的哈希设置一个本地参考计数来实现。
在第二方面的一种实现方式中,所述存储服务器用于:若所述本地计数器大于或等于1,则确定是否向所述全局服务器发送数据块存储请求。
所述存储服务器可以自由决定是否向GDS发送,和/或何时发送数据存储请求。
在第二方面的一种实现方式中,若从所述全局服务器接收的所述信息指示所述全局服务器接受所述请求,则所述存储服务器用于:从所述全局服务器接收将所述数据块发送到所述全局服务器的指令;向所述全局服务器发送所述数据块。
在第二方面的一种实现方式中,若从所述全局服务器接收的所述信息指示所述全局服务器拒绝所述请求,则所述存储服务器用于将所述数据块存储在本地。
在第二方面的一种实现方式中,所述存储服务器用于:从所述全局服务器接收所述数据块已存储在所述全局服务器中的通知;移除所述本地存储的数据块;若所述用户请求读取所述数据块,则从所述全局服务器请求所述数据块。
若数据被分流到所述GDS,则所述存储服务器可以决定删除本地存储的数据,并依赖所述GDS。
在第二方面的一种实现方式中,所述存储服务器用于:从所述全局服务器接收所述数据块已存储在所述全局服务器中的通知;将所述数据块也存储在本地。
除了将数据存储在所述GDS中,所述存储服务器还可以决定在本地缓存一些数据,以提高读取性能。
在第二方面的一种实现方式中,所述存储服务器用于:从所述用户接收数据块删除请求;减小与所述数据块的所述哈希值相关的所述本地计数器。
当用户不再需要某数据时,相应的本地计数器会相应地减少。
在第二方面的一种实现方式中,若与所述数据块的所述哈希值相关的所述本地计数器等于0,则所述存储服务器用于:若所述数据块是本地存储的,则删除所述数据块;或者向所述全局服务器发送数据块移除请求。
当所述用户请求从所述存储服务器删除数据,并且这是所述存储服务器最后一次参考所述数据时,所述存储服务器可以检查要删除的数据是存储在本地还是在所述GDS中。若要删除的数据在所述GDS中,则所述存储服务器可以向所述GDS发送移除请求。
在第二方面的一种实现方式中,所述存储服务器用于:从所述全局服务器接收从所述全局服务器复制数据块的指令;从所述全局服务器复制所述数据块;将所述数据块存储在本地。
数据块的重复状态可能会改变。若所述数据块不再是高度重复的,则指示所述存储服务器重新获取所述数据块的所有权。
在第二方面的一种实现方式中,所述存储服务器用于:确定停止与所述全局服务器通信;从所述全局服务器复制之前请求存储在所述全局服务器中的所有数据块;将所述数据块存储在本地;停止与所述全局服务器通信。
新的存储服务器可以开始与所述GDS通信而无需通知其它存储服务器。此外,所述存储服务器可以停止与所述GDS通信,而不会影响其它存储服务器的数据一致性。
本发明第三方面提供一种用于对多个存储服务器进行重复数据删除的***,其中所述***包括根据第一方面或第一方面实现方式中的一种实现方式中的所述全局服务器,以及根据第二方面或第二方面实现方式中的一种实现方式中的所述多个存储服务器。
第三方面及其实现方式的***提供了与以上针对第一方面及其相应的实现方式中的全局服务器以及第二方面及其相应的实现方式中的存储服务器所描述的相同的优势和效果。
本发明第四方面提供一种由全局服务器执行的方法,所述方法包括:从存储服务器接收数据块存储请求;确定所述数据块是否在所述存储服务器中高度重复;
若所述数据块是高度重复的,则接受所述请求;若所述数据块不是高度重复的,则拒绝所述请求。
第四方面及其实现方式所述的方法提供了与以上针对第一方面及其相应的实现方式中的全局服务器所描述的相同的优势和效果。
本发明第五方面提供一种由存储服务器执行的方法,所述方法包括:向所述全局服务器发送数据块存储请求;从所述全局服务器接收指示所述全局服务器接受所述请求或拒绝所述请求的信息。
第五方面及其实现方式所述的方法提供了与以上针对第二方面及其相应的实现方式中的存储服务器所描述的相同的优势和效果。
本发明还涉及一种计算机程序,其特征在于,包括程序代码,当至少一个处理器运行程序代码时,使得所述至少一个处理器执行根据本发明第四方面及其实现方式或本发明第五方面及其实现方式中的任何方法。此外,本发明还涉及一种计算机程序产品,其包括计算机可读介质和所述计算机程序,其中所述计算机程序包括在所述计算机可读介质中,并且包括以下组中的一个或多个:ROM(Read-Only Memory,只读存储器)、PROM(ProgrammableROM,可编程ROM)、EPROM(Erasable PROM,可擦除PROM)、闪存、EEPROM(ElectricallyEPROM,电EPROM)和硬盘驱动器。
必须注意,本申请中描述的所有设备、元件、单元和装置可以软件元件或硬件元件或它们的任何种类的组合实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。
附图说明
结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:
图1示出了本发明实施例提供的全局服务器。
图2示出了本发明实施例提供的拓扑。
图3示出了本发明实施例提供的另一拓扑。
图4示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图5示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图6示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图7示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图8示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图9示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图10示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图11示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图12示出了本发明实施例提供的全局服务器和存储服务器之间的通信。
图13示出了本发明实施例提供的全局服务器。
图14示出了本发明实施例提供的方法的流程图。
图15示出了本发明实施例提供的另一种方法的流程图。
具体实施方式
结合附图描述用于数据存储重复数据删除的方法、装置和程序产品的说明性实施例。尽管此描述提供了可能的实现方式的详细示例,但应注意,所述细节旨在为示例性的,且绝不限制本申请的范围。
此外,实施例/示例还可以参考其它实施例/示例。例如,一个实施例/示例中提及的包括但不限于术语、元件、过程、解释和/或技术优势的任何描述均适用于其它实施例/示例。
图1示出了本发明实施例提供的全局服务器(也称为全局重复数据删除服务器)100。所述全局服务器100可以包括处理电路(未示出),用于进行、执行或发起本文所描述的全局服务器100的各种操作。所述处理电路可以包括硬件和软件。硬件可以包括模拟电路、数字电路,或模拟和数字电路两者。所述数字电路可以包括诸如专用集成电路(application-specific integrated circuit,ASIC)、现场可编程阵列(field-programmable array,FPGA)、数字信号处理器(digital signal processor,DSP)或多用途处理器的组件。在一个实施例中,所述处理电路包括一个或多个处理器和连接到所述一个或多个处理器的非瞬时性存储器。所述非瞬时性存储器可以携带可执行程序代码,所述可执行程序代码在由所述一个或多个处理器执行时使所述全局服务器100进行、执行或发起本文描述的操作或方法。在一种实现方式中,所述全局服务器100可以实现为单独的设备(例如服务器),或者实现为一台存储服务器110中部署的模块。在另一实现方式中,所述全局服务器100或所述存储服务器110可以实现为包括一个或多个处理器和存储模块的芯片组。不应将本发明的实施例解释为限制保护范围。
所述全局服务器100用于对多个存储服务器110(图中示出了其中一个)进行重复数据删除。所述全局服务器100用于从存储服务器110接收存储数据块102的请求101。所述全局服务器100还用于:
确定所述数据块102在所述存储服务器110中是否高度重复。因此,若所述数据块102是高度重复的,则所述全局服务器100用于接受所述请求101。否则,若所述数据块102不是高度重复的,则所述全局服务器100用于拒绝所述请求101。
本发明实施例提出了重复数据删除的重复数据删除(嵌套重复数据删除)的概念,具有附加的重复数据删除层。即对多个重复数据删除服务器(存储服务器)进行重复数据删除。图2示出了本发明实施例提供的GDS和存储服务器A、B和C的拓扑。值得注意的是,与分布式重复数据删除结构相反,本发明实施例提供的存储服务器相互独立。许多应用服务器访问相应的存储服务器。用户可以通过应用服务器向所述存储服务器写入/读取数据。
特别地,图2中所示的所述GDS是本发明实施例提供的如图1中所示的所述全局服务器100。图2中所示的所述存储服务器A、B和C中的每一个为本发明实施例提供的如图1中所示的存储服务器100。所述GDS用于存储所述存储服务器的高度重复的数据。特别地,所述GDS根据一些可配置的阈值确定高度重复的数据。所述存储服务器与所述GDS通信并请求存储数据,所述GDS根据所述配置的阈值接受或拒绝所述请求。
优选地,本发明实施例提供的所述全局服务器100用于:若所述数据块102的哈希值在所述全局服务器100中与等于或大于确定值的水位标记相关,则确定所述数据块102在所述存储服务器110中是高度重复的。
数据块的哈希值可以通过对所述数据块执行哈希函数或哈希算法得到。所述哈希值可用于唯一标识相应的数据块。应理解,在本发明中,可以使用不同类型的哈希算法或函数来获得哈希值。本发明实施例对此不作具体限定。
可选地,所述存储服务器110发送的所述请求101可以包括所述数据块102的哈希值。
图3示出了本发明实施例提供的GDS和存储服务器A-F的另一种拓扑。需要注意的是,图3中所示的所述GDS可以是本发明实施例提供的如图1中所示的同一全局服务器100。图3中所示的存储服务器A-F中的每一个可以是本发明实施例提供的如图1中所示的同一存储服务器110。
可选地,本发明实施例提供的所述全局服务器100用于在接收到所述请求101时创建或增加与所述哈希值相关的水位。因此,本发明实施例提供的所述全局服务器100还用于在发送所述请求101的所述存储服务器110上注册所述哈希值。与所述哈希值相关的所述水位可以为参考计数器。
需要注意的是,创建或增加所述水位以及所述存储服务器110上注册是仅通过接收所述请求101来触发的。无论所述全局服务器100是否接受或拒绝存储数据的所述请求101,都将执行这些步骤。这意味着,即使在拒绝所述请求101时,所述全局服务器100仍然增加所述参考计数并在所述存储服务器110上注册。
图4-图12示出了本发明实施例提供的与图3中所示的服务器相同的拓扑。
特别地,如图4中所示,存储服务器A发出写入数据的请求,此数据的哈希值为“0×abc”。例如,这是GDS第一次接收到包含哈希值“0×abc”的数据存储请求。根据本发明的一个实施例,所述GDS创建与此哈希值相关的水位,并在所述存储服务器A上注册哈希值“0×abc”,如图4中所示。由于所述GDS接收到一个存储哈希值为“0×abc”的数据的请求,因此将与哈希值“0×abc”相关的参考计数器设置为1。在本实施例中,所述水位仍然低于确定值,因此确定此数据不是高度重复的。因此,根据本发明实施例,所述GDS拒绝存储所述数据的所述请求。
根据本发明的一个实施例,所述存储服务器B也可以向所述GDS发送如图5中所示的数据写入请求。特别地,所述存储服务器B希望存储与如图4中所示的所述存储服务器A相同的数据,即哈希值为“0×abc”的数据。然后,根据本发明的一个实施例,所述GDS增加与此哈希值相关的所述水位,并且在所述存储服务器B上注册哈希值“0×abc”,如图5中所示。可以看到,与哈希值“0×abc”相关的所述参考计数器被设置为2。根据本发明的一个实施例,由于所述水位仍低于所述确定值,因此仍然确定此数据不是高度重复的。因此,根据本发明的一个实施例,所述GDS再次拒绝所述数据存储请求。
下面,存储服务器D也可以向所述GDS发送数据写入请求,如图6中所示。特别地,所述存储服务器D希望存储与如图4和图5中所示的存储服务器A和B相同的数据,即哈希值为“0×abc”的数据。然后根据本发明的一个实施例,所述GDS增加与此哈希值相关的所述水位,并且在所述存储服务器D上注册哈希值“0×abc”,如图6中所示。可以看到,与哈希值“0×abc”相关的所述参考计数器被设置为3。例如,将HWM预定义为3,即本发明实施例提供的用于决定所述数据是否高度重复的所述确定值为3。根据本发明实施例提供,由于现在与哈希值“0×abc”相关的所述水位/参考计数器等于所述确定值,因此确定此数据是高度重复的。因此,根据本发明的实施例,所述GDS接受所述数据存储请求,如图6中所示。
根据本发明的实施例,所述GDS,即如图1中所示的所述全局服务器100,旨在存储所述高度重复的数据。优选地,若所述水位等于第一值(即HWM),则所述全局服务器100可以用于指示所述存储服务器110将所述数据块102发送给所述全局服务器100。所述全局服务器100还用于存储所述数据块102。
如图6中所示,一旦接受所述存储服务器D的数据存储请求,所述GDS进一步指示所述存储服务器D发送所述数据。然后,所述存储服务器D将所述数据(即“ABC”)发送给所述GDS,如图7中所示。根据图7中所示的表格,可以看到所述GDS中存储了所述数据“ABC”。还需要注意的是,由于根据图4-6中所示的实施例,数据并未存储在所述GDS中,因此,图4-图6中所示的表格中的相应部分显示“空值”,即没有存储数据。
可选地,在存储所述数据块102之后,本发明实施例提供的所述全局服务器100可以用于通知注册了所述数据块102的所述哈希值的所述存储服务器110已存储所述数据块102。
如图8中所示,根据本发明实施例,由于在所述存储服务器A和B上注册了哈希值“0×abc”,因此所述GDS分别向所述存储服务器A和B发送通知。然后所述存储服务器A和B可以选择从它们的本地存储中移除这些数据,而不依赖于所述GDS。可选地,所述存储服务器A和B还可以决定将数据保存在本地,以提高读取性能或其它方面。
图9示出了本发明的一个实施例,数据已存储到所述GDS中。特别地,存储服务器E向所述GDS发送写入数据的请求,如图9中所示。所述存储服务器E需要存储的数据的哈希值为“0×abc”。这意味着此数据已经存储在所述GDS中。然后,根据本发明的一个实施例,所述GDS增加与此哈希值相关的水位,并且在所述存储服务器E上注册哈希值“0×abc”,如图9中所示。可以看到,与哈希值“0×abc”相关的所述参考计数器被设置为4。所述GDS通知所述存储服务器E所述数据已存储在所述GDS中。然后,相应地,所述存储服务器E就可以决定移除所述数据或将所述数据保存在本地。
可选地,本发明实施例提供的所述全局服务器100还可以用于接收所述请求103,以从所述存储服务器110中移除所述数据块102。因此,所述全局服务器100可用于减小与所述数据块102的所述哈希值相关的水位的值,并在所述存储服务器110上取消注册所述哈希值。
如图10中所示,存储服务器B、D和E均发送哈希值为“0×abc”的数据删除请求。根据本发明的一个实施例,一旦所述GDS接收到所述数据删除请求,所述GDS降低与此哈希值相关的所述水位的值。在本实施例中,由于所述GDS接收到三个请求,因此与哈希值“0×abc”相关的参考计数器从4个减少到1个。可以看到,只有所述存储服务器A仍然注册了哈希值“0×abc”,如图10中所示。
应理解,由于只有一台存储服务器仍然需要哈希值为“0×abc”的数据,因此此数据不应再被视为是高度重复的数据。为了在所述GDS中只存储高度重复度的数据,需要定义避免存储不必要数据的机制。
因此,若与所述数据块102的哈希值相关的水位低于或等于第二值(即低水位(low-water mark,LWM)),则所述全局服务器100用于指示注册了所述数据块102的所述哈希值的每个存储服务器110从所述全局服务器100复制所述数据块102。在注册了所述哈希值的所有存储服务器110将所述数据块102存储在本地之后,所述全局服务器100用于移除所述数据块102。
所述GDS可以选择不同的方法将指令分发到存储服务器以读取数据,以便防止短时间窗口内流量的突发。例如,所述GDS可以将需要读取数据的存储服务器分为N组(N取决于需要读取数据的存储服务器的总数)。所述GDS可能仅在组X-1中的所有存储服务器都读取数据之后,才指示组X读取数据。
例如,根据如图10和图11中所示的本发明实施例,所述第二值(即所述LWM)为1。与哈希值“0×abc”相关的参考计数器现在为1,哈希值为“0×abc”的数据被视为不是高度重复的。因此,如图11中所示,本发明实施例提供的所述GDS向所述存储服务器A发送指令,所述存储服务器A仍然注册了哈希值“0×abc”。这是为了指示所述存储服务器A从所述GDS中复制数据,因为此数据很快就会被删除。
下面,所述存储服务器A从所述GDS中复制哈希值为“0×abc”的数据,如图12中所示。在所述存储服务器A将所述数据存储到本地后,所述GDS可以移除此数据,如图12中所示。特别地,如图12中的表格所示,用于存储数据“ABC”的部分现在显示“空值”,这意味着没有存储数据。但是,即使所述数据不再存储在所述GDS中,所述存储服务器A仍然注册了哈希值为“0×abc”的数据,并且对应的参考计数器仍然为1。
应理解的是,在一些数据未移除决时(等待所有相关的存储服务器进行复制),所述GDS将在新的请求到来时继续更新此数据的参考计数器。在对应的参考计数器再次超过HWM时,所述GDS将更新所有相关的存储服务器。这可以包括存储所述数据并通知所有相关的存储服务器。
具体地,本发明实施例提供的所述第一值和所述第二值满足所述第一值大于所述第二值的条件。也就是说,所述HWM大于所述LWM。
为了避免不断删除和重写相同的数据,所述LWM应小于所述HWM。在可能的优化中,为了避免连续删除和重写同一块的情况,可以存储每个块的LWM。然后,可以减小此特定块的LWM。在一个示例中,默认配置可以为:HWM=7,LWM=5。
对于块A,参考计数=8(所述GDS中存储的数据),若参考计数减小到5,则删除块A。然后,若所述块A的参考计数又增加到7,则将所述数据重新写入所述GDS。因此,所述GDS然后可以仅针对所述块A将LWM减小到3,以避免连续删除和重写。
具体地,可以根据与GDS通信的存储服务器的数量的百分比来定义HWM和LWM。需要注意的是,若所述GDS的空闲存储空间下降到某阈值以下,则允许所述GDS动态改变其HWM和/或LWM。优选地,本发明实施例提供的所述全局服务器100可用于根据所述全局服务器100中剩余的空闲存储空间动态调整第一值和/或所述第二值。
图13示出了本发明实施例提供的存储服务器110。所述存储服务器110可以包括处理电路(未示出),用于进行、执行或发起本文所描述的存储服务器110的各种操作。所述处理电路可以包括硬件和软件。硬件可以包括模拟电路、数字电路,或模拟和数字电路两者。所述数字电路可以包括诸如专用集成电路(application-specific integrated circuit,ASIC)、现场可编程阵列(field-programmable array,FPGA)、数字信号处理器(digitalsignal processor,DSP)或多用途处理器的组件。在一个实施例中,所述处理电路包括一个或多个处理器和连接到所述一个或多个处理器的非瞬时性存储器。所述非瞬时性存储器可以携带可执行程序代码,所述可执行程序代码在由所述一个或多个处理器执行时使所述存储服务器110进行、执行或发起本文描述的操作或方法。
所述存储服务器110用于在全局服务器进行重复数据删除。特别地,图13中所示的存储服务器110与图1-图12中所示的存储服务器110相同。图13中所示的全局服务器100与图1至12所示的全局服务器100相同。本发明实施例提供的所述存储服务器110用于向所述全局服务器100发送所述存储数据块102的所述请求101。进一步,所述存储服务器110用于从所述全局服务器100接收指示所述全局服务器100接受了所述请求101或拒绝了所述请求101的信息。
由于多个重复数据删除服务器或存储服务器存储的数据经常重复,为了避免空间浪费,所述存储服务器可以请求将部分数据存储到GDS中。
可选地,向所述全局服务器100发送的所述请求101可以包括所述数据块102的哈希值。
当用户向所述存储服务器110写入数据时,所述存储服务器110可以对数据执行组块和哈希,以得到所述数据块的哈希值。因此,根据本发明实施例,所述存储服务器110还可以用于从用户接收数据块102写入请求。随后,所述存储服务器110可用于根据用户请求存储所述数据块102的哈希值。
通常,存储服务器不会向所述GDS发送重复的数据添加或移除请求。所述存储服务器负责识别来自终端用户的重复的请求。这可以通过每个存储服务器将数据(包括存储在所述GDS中的那些数据)的哈希存储在本地以及对它们进行参考计数(本地重复数据删除)来实现。因此,根据本发明的一个实施例,所述存储服务器110可用于创建或增加与所述哈希值相关的本地计数器。
另外,对于从所述终端用户接收到的新的数据块,所述存储服务器也可以决定是否将所述数据块的哈希发送给所述GDS。因此,根据本发明的一个实施例,若所述本地计数器等于或大于1,所述存储服务器110可以用于确定是否向所述全局服务器100发送存储所述数据块102的所述请求101。
应注意的是,存储服务器可以决定尝试将哪些数据分流到所述GDS。例如,经常访问的数据可保留在本地存储服务器中,以允许较低的读取时延。此外,所述存储服务器还可以决定将部分数据缓存到本地(除了存储在所述GDS中之外),以提高读取性能。进一步,或者出于安全原因,所述存储服务器还可以决定不将某些数据(例如,一些私有数据)分流到所述GDS。
在所述存储服务器110请求将数据块存储在所述全局服务器100中之后,若从所述全局服务器100接收到的信息指示所述全局服务器100接受了所述请求101,则根据本发明的一个实施例,所述存储服务器110可用于从所述全局服务器100接收向所述全局服务器100发送所述数据块102的指令。在这种情况下,这意味着所述数据块102是高度重复的。特别地,此步骤与图6中所示的步骤相同。与图7中相同,所述存储服务器110还用于向全局服务器100发送数据块102。
或者,若从所述全局服务器100接收到的信息指示所述全局服务器100拒绝了所述请求101,则所述存储服务器110用于将所述数据块102存储在本地。在这种情况下,这意味着所述数据块102不是高度重复的,则所述存储服务器110需要将所述数据块102存储在本地。
若所述全局服务器100确定所述数据块102为高度重复的,则所述全局服务器100可以通知已发送数据存储请求的所述存储服务器110,所述数据块102已存储在所述全局服务器100中。因此,本发明实施例提供的所述存储服务器110用于从所述全局服务器100接收所述数据块102已存储在所述全局服务器100中的通知。所述存储服务器110可用于移除本地存储的所述数据块102。
若用户请求从所述存储服务器110读取所述数据块102,则所述存储服务器110可以检查所述数据块102是否存储在本地或是否在所述GDS中。若所述数据在所述GDS中,则所述存储服务器110向所述GDS请求所述数据。因此,本发明实施例提供的所述存储服务器110还可用于:若用户请求读取所述数据块102,则从所述全局服务器100请求所述数据块102。
值得注意的是,为了提高读取性能,所述存储服务器110还可以决定将一些数据缓存在本地,即使所述数据已经存储在所述GDS中。因此,本发明实施例提供的所述存储服务器110还可用于将所述数据块102也存储在本地。
若用户请求从所述存储服务器110删除数据,则本发明实施例提供的所述存储服务器110还可以用于减少与所述数据块102的哈希值相关的本地计数。
可选地,若与所述数据块102的哈希值相关的所述本地计数等于0,即这是最后一次参考所述数据块102,则所述存储服务器110用于:若所述数据块102是本地存储的,则删除所述数据块102。若所述数据块102存储在所述全局服务器100中,则所述存储服务器110用于向所述全局服务器100发送移除所述数据块102的请求103。在所述数据块102本地存储在所述存储服务器110中并且也存储在所述全局服务器100中的情况下,所述存储服务器110可以删除所述数据块102,并且还可以请求所述全局服务器100移除所述数据块102。
可选地,本发明实施例提供的所述存储服务器110可用于从所述全局服务器100接收从所述全局服务器100复制数据块102的指令。当所述数据块102不再高度重复时,可能发生这种情况。因此,所述存储服务器110可用于从所述全局服务器100复制所述数据块102,并将所述数据块102存储在本地。
进一步,根据本发明的一个实施例,所述存储服务器可以开始或停止与所述GDS通信而不影响其它存储服务器。特别地,所述存储服务器110可用于确定停止与所述全局服务器100通信。然后,所述存储服务器110可用于从所述全局服务器100复制之前请求存储在所述全局服务器100中的所有数据块102,并将所述数据块102存储在本地。之后,所述存储服务器110可用于停止与所述全局服务器100通信。由于所有的存储服务器都是相互独立的,因此离开拓扑的一台存储服务器不会影响其它剩余的存储服务器。
本发明还提供了一种***,包括全局服务器100和多个存储服务器110。例如,本发明实施例提供的***可以是如图2中所示的***,或者如图3至12中所示的***。在这些拓扑中,所述GDS连接到其所有存储服务器,但所述存储服务器之间不需要相互连接(与分布式重复数据删除拓扑相反)。
所述GDS将使用已知的高可用性(high availability,HA)技术(如镜像、集群或使用廉价磁盘冗余阵列(redundant array of inexpensive disk,RAID))实现高可用性,以防止所述GDS成为单点故障。
所述GDS可能特别是通过以下方式只包含跨服务器的高度重复数据删除数据:
-允许所述GDS拒绝存储数据的请求;
-允许所述GDS决定腾空数据,并将其所有权交还给相关的存储服务器;
-允许所述GDS动态更新LWN和/或HWM(使用AI或确定算法)。
-进一步,所述存储服务器之间相互独立,包括以下优势:
-存储服务器与所述GDS之间的高时延不会影响其它存储服务器。
-存储服务器可以开始或停止与所述GDS通信而不影响其它存储服务器。
-存储服务器与所述GDS之间以多对一的拓扑结构进行通信,而分布式重复数据删除中通信是多对多的。
本发明实施例提出的服务器结构可以应用于如下情况:并非所有存储服务器都具有相同的高可用性级别,和/或并非所有存储服务器都具有相同的时延。在本发明中,任何存储服务器都可以具有不同的高可用性级别,因为存储服务器彼此之间不依赖。这样有效避免分布式重复数据删除体系结构中一台存储服务器的高时延影响其它存储服务器。
此外,从存储服务器读取数据的时延仅受自身与所述GDS之间的时延影响。这是相对于分布式重复数据删除部署的好处,其中,读取的时延取决于属于同一重复数据删除集群的不同存储服务器之间的时延。
所述存储服务器可以决定哪些数据要分流到所述GDS,哪些数据要继续存储在本地,这也允许所述存储服务器减少了时延。此解决方案也是可扩展的,因为可以轻松添加和移除存储服务器,还可以通过修改HWM和/或LWM(例如通过采用AI)来动态配置GDS以支持其资源所允许的数据量。
图14示出了本发明实施例提供的由全局服务器100执行的对多个存储服务器110进行重复数据删除的方法1400。特别地,所述全局服务器100是图1的全局服务器100。所述方法1400包括:步骤1401,从所述存储服务器110接收存储数据块102的请求101;步骤1402,确定所述数据块102在所述存储服务器110中是否高度重复;步骤1403,若所述数据块102是高度重复的,则接受所述请求101;步骤1404,若所述数据块102是非高度重复的,则拒绝所述请求101。特别地,所述存储服务器110是图1的存储设备110。
图15示出了本发明实施例提供的由所述存储服务器110执行的用于在全局服务器100中进行重复数据删除的方法1500。特别地,所述全局服务器100是图13的全局服务器100,所述存储服务器110是图13的存储服务器110。所述方法1500包括:步骤1501,向所述全局服务器100发送存储数据块102的请求101;步骤1502,从所述全局服务器100接收指示所述全局服务器100接受了所述请求101或拒绝了所述请求101的信息。
已经结合作为示例的不同实施例以及实现方式对本发明进行描述。然而,通过对附图、本公开和独立权利要求的研究,本领域技术人员和实践所要求保护的发明的人员可以理解和实现其它变化。在权利要求和说明书中,词语“包括”不排除其它元件或步骤,且“一个”不排除多个。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在相互不同的从属权利要求中列举某些措施的事实并不表示这些措施的组合不能用于有利的实现方式。
此外,本发明的优势可以概括为:
-存储服务器之间相互独立。
-通过重复数据删除节省存储空间。
-其允许通过HWM和LWM对资源和网络流量进行高度可配置的控制。
-易于部署。
-简单的横向扩展(添加存储服务器)和缩减(移除存储服务器)。
-简单的部署减少了所需的维护和人为错误的可能性。
此外,技术人员认识到,所述全局服务器100和所述存储服务器110的实施例包括用于执行解决方案的诸如功能、装置、单元、元件等形式的必要通信能力。其它此类装置、单元、元件和功能的示例包括:处理器、存储器、缓冲器、控制逻辑、编码器、解码器、映射单元、乘法器、决策单元、选择单元、开关、输入、输出、天线、放大器、接收器单元、发射器单元、供电设备、电源馈线、通信接口等,这些被适当地布置在一起以执行解决方案。
特别地,所述全局服务器100和所述存储服务器110的处理器可以包括中央处理单元(Central Processing Unit,CPU)、处理单元、处理电路、处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、微处理器,或其它可以解释和执行指令的处理逻辑的一个或多个实例。因此,术语“处理器”可以表示包括多个处理电路的处理电路,例如以上提及的任何、一些或所有处理电路。所述处理电路可以进一步执行数据处理功能,以输入、输出以及处理数据,所述功能包括数据缓冲和装置控制功能,例如,呼叫处理控制、用户界面控制等。
最后,应理解,本发明并不限制于上述实施例,而是同时涉及且并入所附独立权利要求书的范围内的所有实施例。

Claims (25)

1.一种用于对多个存储服务器(110)进行重复数据删除的全局服务器(100),其特征在于,所述服务器(100)用于:
从所述存储服务器(110)接收数据块(102)存储请求(101);
确定所述数据块(102)在所述多个存储服务器(110)中是否为高度重复的;
若所述数据块(102)是高度重复的,则接受所述请求(101);
若所述数据块(102)不是高度重复的,则拒绝所述请求(101)。
2.根据权利要求1所述的全局服务器(100),其特征在于,用于:
若所述数据块(102)的哈希值在所述全局服务器(100)中与等于或大于确定值的水位相关,则确定所述数据块(102)在所述多个存储服务器(110)中是高度重复的。
3.根据权利要求1或2所述的全局服务器(100),其特征在于,
所述存储服务器(110)发送的所述请求(101)包括所述数据块(102)的所述哈希值。
4.根据权利要求3所述的全局服务器(100),其特征在于,用于:
在接收到所述请求(101)时,创建或增加与所述哈希值相关的水位;
在发送所述请求(101)的存储服务器(110)上注册所述哈希值。
5.根据权利要求4所述的全局服务器(100),其特征在于,若所述水位等于第一值,则所述服务器(100)用于:
指示所述存储服务器(110)向所述服务器(100)发送所述数据块(102);
存储所述数据块(102)。
6.根据权利要求5所述的全局服务器(100),其特征在于,在存储所述数据块(102)之后,所述服务器(100)用于:
通知注册了所述数据块(102)的所述哈希值的所述存储服务器(110)已存储所述数据块(102)。
7.根据权利要求1至6任一项所述的全局服务器(100),其特征在于,用于:
从所述存储服务器(110)接收数据块(102)移除请求(103);
减小与所述数据块(102)的所述哈希值相关的水位的值;
在所述存储服务器(110)上取消注册所述哈希值。
8.根据权利要求2至7任一项所述的全局服务器(100),其特征在于,若与所述数据块(102)的所述哈希值相关的水位等于或低于第二值,则所述全局服务器(100)用于:
指示注册了所述数据块(102)的所述哈希值的每个存储服务器(110)从所述全局服务器(100)复制所述数据块(102);
在注册了所述哈希值的所有存储服务器(110)将所述数据块(102)存储在本地之后,从所述全局服务器(100)中移除所述数据块(102)。
9.根据权利要求5-8任一项所述的全局服务器(100),其特征在于,
所述第一值大于所述第二值。
10.根据权利要求5至7以及权利要求8或9任一项所述的全局服务器(100),其特征在于,用于:
根据所述全局服务器(100)中剩余的空闲存储空间动态调整所述第一值和/或所述第二值。
11.一种用于在全局服务器(100)中进行重复数据删除的存储服务器(110),其特征在于,所述存储服务器(110)用于:
向所述全局服务器(100)发送数据块(102)存储请求(101);
从所述全局服务器(100)接收指示所述全局服务器(100)接受所述请求(101)或拒绝所述请求(101)的信息。
12.根据权利要求11所述的存储服务器(110),其特征在于,
向所述全局服务器(100)发送的所述请求(101)包括所述数据块(102)的哈希值。
13.根据权利要求11或12所述的存储服务器(110),其特征在于,用于:
从用户接收数据块(102)写入请求;
存储所述数据块(102)的所述哈希值;
创建或增加与所述哈希值相关的本地计数器。
14.根据权利要求13所述的存储服务器(110),其特征在于,用于:
若所述本地计数器等于或大于1,则确定是否向所述全局服务器(100)发送所述数据块(102)存储请求(101)。
15.根据权利要求11至14任一项所述的存储服务器(110),其特征在于,若从所述全局服务器(100)接收的所述信息指示所述全局服务器(100)接受了所述请求(101),则所述存储服务器(110)用于:
从所述全局服务器(100)接收将所述数据块(102)发送到所述全局服务器(100)的指令;
向所述全局服务器(100)发送所述数据块(102)。
16.根据权利要求11至14任一项所述的存储服务器(110),其特征在于,若从所述全局服务器(100)接收的所述信息指示所述全局服务器(100)拒绝了所述请求(101),则所述存储服务器(110)用于:
将所述数据块(102)存储在本地。
17.根据权利要求11至16任一项所述的存储服务器(110),其特征在于,用于:
从所述全局服务器(100)接收所述数据块(102)已存储在所述全局服务器(100)中的通知;
移除本地存储的所述数据块(102);
若所述用户请求读取所述数据块(102),则向所述全局服务器(100)请求所述数据块(102)。
18.根据权利要求11至16任一项所述的存储服务器(110),其特征在于,用于:
从所述全局服务器(100)接收所述数据块(102)已存储在所述全局服务器(100)中的通知;
将所述数据块(102)也存储在本地。
19.根据权利要求11至18任一项所述的存储服务器(110),其特征在于,用于:
从所述用户接收数据块(102)删除请求;
减小与所述数据块(102)的所述哈希值相关的所述本地计数器。
20.根据权利要求19所述的存储服务器(110),其特征在于,若与所述数据块(102)的所述哈希值相关的所述本地计数器等于0,则所述存储服务器(110)用于:
若本地存储了所述数据块(102),则删除所述数据块(102);或者
向所述全局服务器(100)发送数据块(102)移除请求(103)。
21.根据权利要求11至20任一项所述的存储服务器(110),其特征在于,用于:
从所述全局服务器(100)接收从所述全局服务器(100)复制数据块(102)的指令;
从所述全局服务器(100)复制所述数据块(102);
将所述数据块(102)存储在本地。
22.根据权利要求11至21任一项所述的存储服务器(110),其特征在于,用于:
确定停止与所述全局服务器(100)通信;
从所述全局服务器(100)复制之前请求存储在所述全局服务器(100)中的所有数据块(102);
将所述数据块(102)存储在本地;
停止与所述全局服务器(100)通信。
23.一种用于对多个存储服务器(110)进行重复数据删除的***(200),其特征在于,
包括根据权利要求1至10任一项所述的全局服务器(100),以及根据权利要求11至22任一项所述的多个存储服务器(110)。
24.一种用于对多个存储服务器(110)进行重复数据删除的方法(1400),其特征在于,
所述方法包括:
从存储服务器(110)接收(1401)数据块(102)存储请求(101);
确定(1402)所述数据块(102)在所述存储服务器(110)中是否高度重复;
若所述数据块(102)是高度重复的,则接受(1403)所述请求(101);
若所述数据块(102)不是高度重复的,则拒绝(1404)所述请求(101)。
25.一种用于在全局服务器(100)中进行重复数据删除的方法(1500),其特征在于,所述方法包括:
向所述全局服务器(100)发送(1501)数据块(102)存储请求(101);
从所述全局服务器(100)接收(1502)指示所述全局服务器(100)接受了所述请求(101)或拒绝了所述请求(101)的信息。
CN201980069610.8A 2019-07-23 2019-07-23 重复数据删除的设备、***和方法 Active CN112889021B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/069753 WO2021013335A1 (en) 2019-07-23 2019-07-23 Devices, system and methods for deduplication

Publications (2)

Publication Number Publication Date
CN112889021A true CN112889021A (zh) 2021-06-01
CN112889021B CN112889021B (zh) 2023-11-28

Family

ID=67441104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980069610.8A Active CN112889021B (zh) 2019-07-23 2019-07-23 重复数据删除的设备、***和方法

Country Status (4)

Country Link
US (1) US20210279210A1 (zh)
EP (1) EP3867739B1 (zh)
CN (1) CN112889021B (zh)
WO (1) WO2021013335A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份***的安全数据去重方法和***
CN103873506A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 存储集群中的数据块去重***及方法
CN104239518A (zh) * 2014-09-17 2014-12-24 华为技术有限公司 重复数据删除方法和装置
CN104268099A (zh) * 2014-08-29 2015-01-07 浪潮(北京)电子信息产业有限公司 一种管理数据读写的方法及装置
US20150213049A1 (en) * 2014-01-30 2015-07-30 Netapp, Inc. Asynchronous backend global deduplication
CN107391761A (zh) * 2017-08-28 2017-11-24 郑州云海信息技术有限公司 一种基于重复数据删除技术的数据管理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190835B1 (en) * 2007-12-31 2012-05-29 Emc Corporation Global de-duplication in shared architectures
GB2514555A (en) * 2013-05-28 2014-12-03 Ibm Deduplication for a storage system
CN107025218B (zh) * 2017-04-07 2021-03-02 腾讯科技(深圳)有限公司 一种文本去重方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873506A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 存储集群中的数据块去重***及方法
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份***的安全数据去重方法和***
US20150213049A1 (en) * 2014-01-30 2015-07-30 Netapp, Inc. Asynchronous backend global deduplication
CN104268099A (zh) * 2014-08-29 2015-01-07 浪潮(北京)电子信息产业有限公司 一种管理数据读写的方法及装置
CN104239518A (zh) * 2014-09-17 2014-12-24 华为技术有限公司 重复数据删除方法和装置
CN107391761A (zh) * 2017-08-28 2017-11-24 郑州云海信息技术有限公司 一种基于重复数据删除技术的数据管理方法及装置

Also Published As

Publication number Publication date
WO2021013335A1 (en) 2021-01-28
CN112889021B (zh) 2023-11-28
EP3867739A1 (en) 2021-08-25
EP3867739B1 (en) 2024-06-19
US20210279210A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US10467246B2 (en) Content-based replication of data in scale out system
US9977746B2 (en) Processing of incoming blocks in deduplicating storage system
US8010485B1 (en) Background movement of data between nodes in a storage cluster
US20230013281A1 (en) Storage space optimization in a system with varying data redundancy schemes
US7778960B1 (en) Background movement of data between nodes in a storage cluster
US10223023B1 (en) Bandwidth reduction for multi-level data replication
US9798629B1 (en) Predicting backup failures due to exceeding the backup window
US8793447B2 (en) Restoration of a parent LUN through modification of a read-write clone LUN as the parent LUN
US8683152B2 (en) Fast migration of virtual storage partition data across storage systems
US9612760B2 (en) Modular block-allocator for data storage systems
US8661055B2 (en) File server system and storage control method
US20220291852A1 (en) Devices, System and Methods for Optimization in Deduplication
US8412824B1 (en) Systems and methods for dynamically managing the migration of a single instance of data between storage devices
US20180067680A1 (en) Storage control apparatus, system, and storage medium
US10331362B1 (en) Adaptive replication for segmentation anchoring type
JP7282114B2 (ja) ストレージ装置
US20220342825A1 (en) System and Method for Lockless Destaging of Metadata Pages
US10616331B1 (en) Managing remote replication in storage systems
US11194501B2 (en) Standby copies withstand cascading fails
US11216204B2 (en) Degraded redundant metadata, DRuM, technique
US10956271B2 (en) Point-in-time copy on a remote system
US20170308554A1 (en) Auto-determining backup level
CN112889021B (zh) 重复数据删除的设备、***和方法
US20230342079A1 (en) System and method for multi-node storage system flushing
US20210303193A1 (en) Data storage system and global deduplication method thereof

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