CN112650619A - 计算系统、计算系统的图像备份方法和存储器系统 - Google Patents
计算系统、计算系统的图像备份方法和存储器系统 Download PDFInfo
- Publication number
- CN112650619A CN112650619A CN202010749158.4A CN202010749158A CN112650619A CN 112650619 A CN112650619 A CN 112650619A CN 202010749158 A CN202010749158 A CN 202010749158A CN 112650619 A CN112650619 A CN 112650619A
- Authority
- CN
- China
- Prior art keywords
- image
- memory system
- hash
- images
- host
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/83—Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
提供一种计算系统、计算系统的图像备份方法和存储器系统。所述计算系统的图像备份方法包括:由主机接收第一图像以及备份请求,由主机基于第一哈希函数来执行第一图像与存储在存储器系统中的多个图像之间的相似性确定,由主机根据相似性确定的结果选择性地将第一图像提供到存储器系统,由存储器系统基于第二哈希函数来执行第一图像与所述多个图像之间的同一性确定,由存储器系统根据同一性确定的结果向主机提供用于确定第一图像的存储方法的信息。
Description
本申请要求于2019年10月10日在韩国知识产权局提交的第10-2019-0125681号韩国专利申请的优先权,该韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及一种计算系统和图像备份方法,更具体地,涉及一种通过使用两种类型的哈希函数来执行图像备份的计算系统和图像备份方法。
背景技术
现有技术文件备份主要以文档备份为目标,并且通过以指定单位(诸如,按文件或按块)检查原始文件与请求备份的文件之间的变化来确定是否执行备份。这样的备份方法难以应用于图像。
发明内容
一个方面提供一种计算系统和图像备份方法,所述计算系统和图像备份方法通过使用两种类型的哈希函数执行图像备份来提高存储空间效率并减少计算量。
根据实施例的一个方面,提供了一种包括主机和存储器系统的计算系统的图像备份方法,所述图像备份方法包括:由主机接收第一图像以及备份请求;由主机基于第一哈希函数来执行第一图像与存储在存储器系统中的多个图像之间的相似性确定;由主机根据相似性确定的结果选择性地将第一图像提供到存储器系统;由存储器系统基于第二哈希函数来执行第一图像与所述多个图像之间的同一性确定;以及由存储器系统根据同一性确定的结果向主机提供用于确定第一图像的存储方法的信息。
根据实施例的另一方面,提供了一种计算系统,所述计算系统包括:主机;以及存储器系统,被配置为存储多个图像,其中,主机被配置为:通过将第一哈希函数应用于第一图像来计算第一图像的第一哈希值,通过将计算的第一哈希值与所述多个图像的第一哈希值进行比较来执行第一图像与所述多个图像之间的相似性确定,并基于相似性确定的结果将第一图像提供到存储器系统,并且存储器系统被配置为:通过将第二哈希函数应用于第一图像来计算第一图像的第二哈希值,通过将计算的第二哈希值与所述多个图像的第二哈希值进行比较来执行第一图像与所述多个图像之间的同一性确定,并基于同一性确定的结果向主机提供用于确定第一图像的存储方法的信息。
根据实施例的另一方面,提供了一种存储器系统,所述存储器系统包括:存储器装置,被配置为存储多个图像;以及存储器控制器,被配置为基于第一哈希函数来执行第一图像与所述多个图像之间的相似性确定,第一图像从主机接收并将被备份,基于第二哈希函数来执行第一图像与所述多个图像之间的同一性确定,并将相似性确定的结果和同一性确定的结果提供到主机。
附图说明
从下面结合附图进行的详细描述,将更清楚地理解各种实施例,在附图中:
图1是根据实施例的计算系统的框图;
图2是根据实施例的哈希引擎的框图;
图3是示出根据实施例的计算系统的详细实现的框图;
图4是示出根据实施例的计算系统的详细实现的框图;
图5是示出根据实施例的计算系统的详细实现的框图;
图6是示出根据实施例的计算系统的详细实现的框图;
图7是根据实施例的图像备份方法的流程图;
图8是示出根据实施例的图像备份方法的详细实现的流程图;
图9是示出根据实施例的图像备份方法的详细实现的流程图;以及
图10是根据实施例的包括服务器系统的网络系统的框图。
具体实施方式
现有技术备份方法可以确定图像之间的同一性(identity),但不能确定图像之间的相似性。因此,现有技术备份方法将诸如旋转图像、颜色校正图像和通过连拍拍摄的图像的图像识别为完全不同的图像,并且新存储所有图像,从而需要大量的存储空间。此外,在文档备份的情况下,由于现有技术备份方法在单个原稿已知的假设下进行操作,因此计算量不大。然而,在图像备份的情况下,可能存在大量的原稿作为比较目标,并且检查变化所需的计算量与原稿的数量成比例地增加。
在此描述的各种示例实施例涉及通过使用两种类型的哈希函数(hash function)执行图像备份来提高存储空间效率并减少计算量的计算系统和图像备份方法。
图1是根据实施例的计算系统10的框图。
如图1所示,计算系统10可以包括主机100和存储器系统200。此外,存储器系统200可以包括存储器控制器210和存储器装置220。此外,根据实施例,主机100可以包括第一哈希引擎(哈希引擎1)110,并且存储器控制器210可以包括第二哈希引擎(哈希引擎2)211。尽管图1示出第二哈希引擎211设置在存储器控制器210中,但是实施例不限于此。作为示例,第二哈希引擎211可以被存储在存储器系统200中的布置在存储器控制器210外部的存储器(例如,DRAM)中。
计算系统10可以是配备有用于存储数据的存储器系统200的各种类型的系统。作为示例,计算系统10可以对应于各种类型的系统(诸如,服务器装置、计算机、上网本、网络平板、无线电话、移动电话、智能电话、电子书、导航装置、数码相机、可穿戴装置、物联网(IoT)装置、万物互联(IoE)装置、虚拟现实装置和增强现实装置)之一。
主机100可以在计算系统10中执行数据管理操作。例如,主机100可以将写入请求或读取请求提供到存储器系统200,并且存储器系统200可以根据来自主机100的请求将数据写入到存储器装置220或者从存储器装置220读取数据以将读取的数据提供到主机100。此外,响应于来自主机100的数据擦除请求,存储器系统200可以对由主机100指示的区域中的数据执行擦除操作。
存储器系统200可以包括一个或更多个存储介质。作为示例,存储器系统200可以包括一个或更多个固态驱动器(SSD)等。当存储器系统200包括SSD时,存储器系统200可以包括多个存储器芯片。作为示例,存储器系统200可以包括非易失性地存储数据的多个闪存芯片(例如,NAND存储器芯片)。
可选地,存储器系统200可以对应于一个闪存芯片。可选地,存储器系统200可以对应于包括一个或更多个闪存芯片的存储器卡。
根据实施例,计算系统10可以支持图像备份功能。计算系统10可以确定请求备份的目标图像是否与存储在存储器系统200中的多个图像中的至少一个图像相同或相似。当计算系统10识别出与目标图像相同的图像时,计算系统10可以不存储目标图像。此外,当计算系统10识别出与目标图像相似的图像时,计算系统10可以将与目标图像和相似图像之间的差异对应的数据存储在存储器系统200中。当计算系统10未识别出图像与目标图像相同或相似时,计算系统10可以将整个目标图像存储在存储器系统200中。因此,可以高效地使用存储器系统200的存储空间。
下面将详细描述根据实施例的与图像备份有关的操作示例。
主机100可以从主机100的外部接收图像备份(或图像上载)请求和备份请求的目标图像IMG。在一些实施例中,主机100可以从计算系统10的外部接收图像备份请求和备份请求的目标图像IMG。主机100可以基于哈希值(hash value)主要确定目标图像IMG是否与存储在存储器装置220中的多个图像相似。作为示例,主机100可以通过使用第一哈希引擎110来计算目标图像IMG的第一哈希值,并且可以通过将计算的第一哈希值与多个图像的第一哈希值进行比较来确定目标图像IMG是否与多个图像相似。
第一哈希引擎110可以通过将哈希函数应用于输入图像来生成输入图像的哈希值。在这种情况下,第一哈希引擎110可以使用感知哈希函数(perceptualhash function)(或算法)。应用感知哈希函数的第一哈希引擎110可以针对彼此不相似的输入值(或者输入图像)输出不同的哈希值,但是可以针对相似的输入值输出相似的哈希值。根据实施例,应用感知哈希函数的第一哈希引擎110可以针对具有特定相似性水平以上的输入值输出相同的哈希值。如上所述,感知哈希函数可以用于确定目标图像IMG与存储在存储器系统200中的多个图像之间的相似性。在下文中,为了便于描述,将通过使用感知哈希函数计算出的哈希值称为第一哈希值。稍后将参照图2描述第一哈希引擎110的更详细描述。
如上所述,当目标图像IMG与存储在存储器系统200中的多个图像不同时,第一哈希引擎110可以输出与多个图像的第一哈希值中的每个不同的目标图像IMG的第一哈希值。因此,在这种情况下,主机100不会识别多个图像的第一哈希值之中的与目标图像IMG的第一哈希值相同或相似的哈希值。也就是说,主机100可以确定与目标图像IMG相同或相似的图像尚未存储在存储器装置220中。因此,主机100可以将整个目标图像IMG存储在存储器装置220中。
另一方面,当目标图像IMG与多个图像之中的特定图像相同或相似时,第一哈希引擎110可以输出和与特定图像对应的第一哈希值相同或相似的目标图像IMG的第一哈希值。因此,主机100可以确定目标图像IMG的第一哈希值与特定图像的第一哈希值彼此相同或相似。也就是说,主机100可以确定与目标图像IMG相同或相似的图像已经存储在存储器装置220中。
即使主机100已经如上所述地确定与目标图像IMG相同或相似的特定图像已经存储在存储器装置220中,主机100也附加地检查目标图像IMG是否与特定图像相同。这是因为当目标图像IMG和特定图像彼此相同时,不需要存储目标图像IMG。因此,主机100可以将目标图像IMG提供到存储器控制器210,以确定是否存在与目标图像IMG相同的图像,并且可以请求确定目标图像IMG的同一性。
存储器控制器210可以从主机100接收目标图像IMG,该目标图像IMG已经由主机100确定为与已经存储在存储器装置220中的多个图像之中的特定图像相同或相似。存储器控制器210可以根据主机100的请求,基于哈希值来二次确定目标图像IMG是否与存储在存储器装置220中的多个图像相同。作为示例,存储器控制器210可以通过使用第二哈希引擎211来计算目标图像IMG的第二哈希值,并且可以通过将计算的第二哈希值与多个图像的第二哈希值进行比较来确定目标图像IMG是否与多个图像相同。存储器控制器210可以向主机100提供指示确定的结果的信息Info_IMG。
第二哈希引擎211可以通过将哈希函数应用于输入图像来生成输入图像的哈希值。在这种情况下,第二哈希引擎211可以使用加密哈希函数(cryptographic hashfunction)(或算法)。加密哈希函数具有难以从哈希值找到输入值之间的关系的特征。也就是说,应用加密哈希函数的第二哈希引擎211即使在相似的输入值被输入时也可以输出完全不同的哈希值,并且仅在相同的输入值被输入时才输出相同的哈希值。如上所述,加密哈希函数可以用于确定图像之间的同一性。在下文中,为了便于描述,将通过使用加密哈希函数计算的哈希值称为第二哈希值。稍后将参照图2描述第二哈希引擎211的更详细描述。
第一哈希引擎110和第二哈希引擎211可以以各种方式实现。例如,第一哈希引擎110和第二哈希引擎211中的每个可以包括以硬件实现的计算电路。可选地,第一哈希引擎110和第二哈希引擎211可以在由至少一个处理器执行的软件中实现。在一些实施例中,处理器可以是微处理器或中央处理器(CPU)等。
如上所述,第二哈希引擎211可以从主机100接收目标图像IMG,并且通过将第二哈希函数应用于输入目标图像IMG来生成第二哈希值。当目标图像IMG与已经存储在存储器装置220中的多个图像不同时,第二哈希引擎211可以输出与多个图像的第二哈希值不同的目标图像IMG的第二哈希值。因此,存储器控制器210不会从多个图像的第二哈希值之中识别到与目标图像IMG的第二哈希值相同的哈希值。也就是说,存储器控制器210可以确定与目标图像IMG相同的图像尚未存储在存储器装置220中。
在这种情况下,由于存储器控制器210在多个图像之中存在与目标图像IMG相同或相似的图像的前提下从主机100接收目标图像IMG,因此存储器控制器210可以确定不存在与目标图像IMG相同的图像,但是存在与目标图像IMG相似的图像。因此,存储器控制器210可以向主机100提供指示存在与目标图像IMG相似的图像已经存储在存储器装置220中的信息Info_IMG。
另一方面,当目标图像IMG与已经存储在存储器装置220中的多个图像之中的特定图像相同时(注意,这里的特定图像可以与由第一哈希引擎110识别的特定图像相同或者不同),第二哈希引擎211可以输出与当该特定图像被输入时输出的第二哈希值相同的目标图像IMG的第二哈希值。换言之,目标图像IMG的第二哈希值与该特定图像的第二哈希值相同,并且第二哈希值可以由第二哈希引擎211输出。因此,存储器控制器210可以确定目标图像IMG的第二哈希值与该特定图像的第二哈希值相同。也就是说,存储器控制器210可以确定与目标图像IMG相同的图像已经存储在存储器装置220中。因此,存储器控制器210可以向主机100提供指示存在与目标图像IMG相同的图像的信息Info_IMG。
根据另一实施例,主机100可以将目标图像IMG提供到存储器控制器210,并且可以在请求同一性确定的同时向存储器控制器210提供由主机100(即,由第一哈希引擎110)执行的相似性确定的结果。例如,主机100可以向存储器控制器210提供关于具有与目标图像IMG的第一哈希值相似的第一哈希值的图像的信息(例如,逻辑地址、名称等)。存储器控制器210可以基于从主机100接收的关于具有相似第一哈希值的图像的信息,来识别具有相似第一哈希值的图像的第二哈希值,并且可以通过将识别的第二哈希值与目标图像IMG的第二哈希值进行比较来执行同一性确定。换言之,在这个实施例中,存储器控制器210可以仅使用第二哈希引擎211评估先前由第一哈希引擎110识别为与目标图像IMG相同或相似的特定图像。通过仅对先前被识别为与目标图像IMG相同或相似的特定图像执行同一性确定,存储器控制器210可以在不将目标图像IMG的第二哈希值与多个图像的所有第二哈希值进行比较的情况下检查与目标图像IMG相同的图像的存在,因此,可以减少计算量。
主机100可以基于从存储器控制器210接收的信息Info_IMG将目标图像IMG的至少一部分存储在存储器装置220中。例如,当接收到指示在已经存储在存储器装置220中的多个图像之中存在与目标图像IMG相似的图像的信息Info_IMG时,主机100可以将与相似图像和目标图像IMG之间的差异对应的数据存储在存储器装置220中。此外,当接收到指示在存储在存储器装置220中的多个图像之中存在与目标图像IMG相同的图像的信息Info_IMG时,主机100可以确定不将目标图像IMG存储在存储器装置220中。
根据上面的实施例,计算系统10可以确定请求备份的目标图像IMG与多个预存储图像之间的同一性和相似性并对目标图像IMG进行备份。因此,与当不存在与目标图像IMG相同的图像时通过仅确定同一性来存储目标图像IMG的备份方法相比,计算系统10可以提高存储空间的效率。此外,由于计算系统10通过使用哈希来确定图像之间的同一性和相似性,因此与通过比较图像的像素值来确定同一性的情况相比,可以大幅减少计算量。
此外,根据上面的实施例,计算系统10可以通过主机100与存储器系统200之间的分工来执行目标图像IMG与多个预存储图像之间的同一性和相似性的确定。也就是说,主机100可以通过使用感知哈希函数来确定相似性,并且存储器控制器210可以通过使用比感知哈希函数需要更复杂的计算的加密哈希函数来确定同一性。因此,可以防止在主机100或存储器系统200执行同一性确定和相似性确定两者时可能发生的计算处理的瓶颈。
图2是根据实施例的哈希引擎的框图。
参照图1和图2,第一输入值(输入1)10100110001和第二输入值(输入2)10100110101可以被输入到使用感知哈希函数的第一哈希引擎110和使用加密哈希函数的第二哈希引擎211中的每个。
首先,当相似的输入值被输入时,使用感知哈希函数的第一哈希引擎110输出相同或相似的哈希值。因此,当彼此仅一位不同的第一输入值和第二输入值被输入到第一哈希引擎110时,第一哈希引擎110可以生成具有相似哈希值的第一输出值(输出1)1100100101101001001111000001101和第二输出值(输出2)1100100111101001001111000001111。可以检查出第一输出值和第二输出值分别具有总共32位中仅两位不同的哈希值。
尽管已经参照图2示出和描述了第一输出值(输出1)的两个位不同于第二输出值(输出2)的对应的两个位,但是根据一些实施例的第一哈希引擎110可以生成具有相同的哈希值的第一输出值和第二输出值。感知哈希函数可以对应于从基于块均值(BMB)哈希、离散余弦变换(DCT)哈希、离散小波变换(DWT)哈希、主成分分析(PCA)哈希、基于Marr-Hilderth运算符(MH)哈希和基于径向方差(radial variance based,RADIAL)哈希选择的一个。然而,这些仅是示例,并且实施例不限于这些示例。
使用加密哈希函数的第二哈希引擎211即使在相似的输入值被输入时也输出不同的哈希值。因此,即使彼此仅一位不同的第一输入值(输入1)和第二输入值(输入2)被输入到第二哈希引擎211,第二哈希引擎211也可以生成具有不相关联的哈希值的第三输出值(输出3)50144bd388adcd869bc921349a287690和第四输出值(输出4)3e3049b1ed21ede0237f9a276ec80703。可以检查出第三输出值和第四输出值在总共32位之中不具有在其间相关联的位。这样,即使当在所有位中的仅一位不同的多个输入值被输入时,第二哈希引擎211也可以生成彼此不相关联的哈希值。加密哈希函数可以对应于从OST、HAVAL、MD2、MD4、MD5、PANAMA、RadioGatun、RIPEMD、RIPEMD-128/256、RIPEMD-160、RIPEMD-320、SHA-0、SHA-1、SHA-256/224、SHA-512/384、SHA-3和WHIRLPOOL选择的一个。然而,这些仅是示例,并且实施例不限于这些示例。
尽管已经参照图2示出和描述了第一哈希引擎110和第二哈希引擎211输出32位的哈希值,但是实施例不限于此。作为示例,第一哈希引擎110和第二哈希引擎211可以输出具有更大数量的位(诸如,64位或128位)的哈希值或者具有更少数量的位(诸如,16位)的哈希值。随着哈希值的位的数量增加,在哈希引擎中执行的操作可以变得更加复杂。
图3是示出根据实施例的计算系统300的具体实现的框图。
参照图3,计算系统300可以包括主机310和存储器系统320。此外,主机310可以包括第一哈希表312和第一哈希引擎(哈希引擎1)311。第一哈希表312可以存储分别与已经存储在存储器系统320中的多个图像对应的多个第一哈希值HASH VALUE 1_1、HASH VALUE 1_2和HASH VALUE 1_3。此外,存储器系统320可以包括第二哈希表322和第二哈希引擎(哈希引擎2)321,并且可以存储多个图像。第二哈希表322可以存储分别与已经存储在存储器系统320中的多个图像对应的多个第二哈希值HASH VALUE 2_1、HASH VALUE 2_2和HASHVALUE 2_3。主机310可以从主机310的外部接收请求备份的目标图像IMG。在一些实施例中,主机310可以从计算系统300的外部接收用于备份的目标图像IMG。主机310可以通过使用第一哈希引擎311来计算目标图像IMG的第一哈希值HASH VALUE 1_4,并且可以通过使用第一哈希表312将计算的第一哈希值HASH VALUE 1_4与多个预先存储的图像的第一哈希值HASHVALUE 1_1、HASH VALUE 1_2和HASH VALUE 1_3进行比较。
虽然图3中所示的示例仅示出了存储在第一哈希表312中的三个第一哈希值,但是第一哈希表312可以包括已经存储在存储器系统320中的多个图像中的每个的第一哈希值。可以通过将多个图像中的每个输入到第一哈希引擎311来从第一哈希引擎311生成多个图像中的每个的第一哈希值。第一哈希表312可以被存储在主机310中。作为示例,主机310可以包括存储器(未示出),并且第一哈希表312可以被存储在存储器中。
在一个实施例中,主机310可以将计算的第一哈希值HASH VALUE 1_4与多个图像的第一哈希值HASH VALUE 1_1、HASH VALUE 1_2和HASH VALUE 1_3中的每个进行比较,以检查它们之间的不同的位的数量。
当经过比较不存在第一哈希值之间的不同的位的数量小于或者等于阈值数量的情况时,主机310可以确定不存在与目标图像IMG相同或相似的图像。阈值数量可以被预先确定。因此,主机310可以将目标图像IMG存储在存储器系统320中。
另一方面,当经过比较至少存在一种第一哈希值之间的不同的位的数量小于或等于阈值数量(例如,5)的情况时,主机310可以确定存在与目标图像IMG相同或相似的图像。因此,主机310可以将目标图像IMG和用于同一性确定的请求一起提供到存储器系统320。在一些实施例中,阈值数量可以由计算系统300的制造商设置,而在其它实施例中,阈值数量可以由用户设置。
此外,存储器系统320(具体地,存储器系统320的存储器控制器)可以从主机310接收目标图像IMG。存储器系统320可以通过使用第二哈希引擎321来计算目标图像IMG的第二哈希值HASH VALUE 2_4,并且可以将计算的第二哈希值HASH VALUE 2_4与存储在第二哈希表322中的多个图像的第二哈希值HASH VALUE 2_1、HASH VALUE 2_2和HASH VALUE 2_3进行比较。
虽然图3中所示的示例仅示出了存储在第二哈希表322中的三个第二哈希值,但是第二哈希表322可以包括已经存储在存储器系统320中的多个图像中的每个的第二哈希值。可以通过将多个图像中的每个输入到第二哈希引擎321来从第二哈希引擎321生成多个图像中的每个的第二哈希值。第二哈希表322可以存储在存储器控制器中,或者可以存储在存储器系统320中。在一些实施例中,第二哈希表322可以存储在存储器控制器外部的存储器(未示出)(诸如,动态随机存取存储器(DRAM))中。
存储器系统320可以将目标图像IMG的第二哈希值HASH VALUE 2_4与已经存储在存储器系统320中的多个图像的第二哈希值HASH VALUE 2_1、HASH VALUE 2_2和HASHVALUE 2_3中的每个进行比较,并且当存在目标图像IMG的第二哈希值HASH VALUE 2_4与第二哈希值HASH VALUE 2_1、HASH VALUE 2_2和HASH VALUE 2_3中的任何一个相同的情况时,存储器系统320可以确定存在与目标图像IMG相同的图像。存储器系统320可以向主机310提供指示存在与目标图像IMG相同的图像的信息Info_IMG。另一方面,当不存在第二哈希值相同的情况时,存储器系统320可以向主机310提供指示存在与目标图像IMG相似的图像的信息Info_IMG。
当主机310接收到指示存在与目标图像IMG相同的图像的信息Info_IMG时,主机310可以确定不将目标图像IMG存储在存储器系统320中。在这种情况下,主机310可以结束备份操作。
另一方面,当主机310接收到指示存在与目标图像IMG相似的图像的信息Info_IMG时,主机310可以将写入命令CMD提供到存储器系统320,以存储与相似图像和目标图像IMG之间的差异对应的数据。在这种情况下,除了写入命令CMD之外,主机310还可以将与目标图像IMG相似的图像的逻辑地址LADDR提供到存储器系统320。主机310可以将目标图像IMG的第一哈希值存储在第一哈希表312中。
当存储器系统320从主机310接收到写入命令CMD和逻辑地址LADDR时,存储器系统320可以识别与接收的逻辑地址LADDR对应的物理地址,从存储器装置(未示出)读取存储在识别的物理地址的图像,并且计算目标图像IMG与读取的图像之间的差异。存储器系统320可以存储与计算的差异对应的数据。存储器系统320可以将目标图像IMG的第二哈希值存储在第二哈希表322中。
根据另一实施例,当存储器系统320未能识别与目标图像IMG的第二哈希值相同的第二哈希值时,存储器系统320可以在确定存在与目标图像IMG相似的图像之前执行附加操作。
例如,存储器系统320可以确定是否可以针对由主机310确定为相似图像的图像来计算与目标图像IMG的差异。这是因为,当被确定为相似图像的图像的尺寸与目标图像IMG的尺寸不同时,或者当两个图像(即,被确定为相似图像的图像和目标图像IMG)之间的差异实际上在特定水平差异以上时,即使被确定为相似图像的图像的尺寸和目标图像IMG的尺寸彼此相等,计算和存储两个图像之间的差异也可能在计算量和精确度方面比存储目标图像IMG本身不利。因此,当被确定为相似图像的图像的尺寸和目标图像IMG的尺寸彼此不同或者两个图像之间的差异实际上在特定水平差异以上时,存储器系统320可以确定可以不计算差异并且确定不存在与目标图像IMG相似的图像。
因此,存储器系统320可以请求主机310发送与同目标图像IMG的第一哈希值相似的第一哈希值对应的图像的地址。存储器系统320可以通过使用接收的地址来读取具有相似第一哈希值的图像,并且将读取的图像的像素尺寸与目标图像IMG的像素尺寸进行比较。在一些实施例中,当主机310已经向存储器系统320提供了同一性确定的请求和与相似第一哈希值对应的图像的地址时,存储器系统320可以直接读取与相似第一哈希值对应的图像,而不从主机310请求地址。
当读取的图像的像素尺寸和目标图像IMG的像素尺寸彼此不同时,存储器系统320可以确定不存在与目标图像IMG相似的图像,并且向主机310提供指示不存在与目标图像IMG相似的图像的信息Info_IMG。
另一方面,当读取的图像的像素尺寸和目标图像IMG的像素尺寸彼此相同时,存储器系统320可以通过针对每个像素将目标图像IMG与读取的图像进行比较来计算逐像素(pixel-by-pixel)差异。存储器系统320可以计算其中出现差异的像素相对于所有像素的比率,并且确定所述比率是否超过阈值比率。阈值比率可以被预先设置。当所述比率超过阈值比率时,存储器系统320可以向主机310提供指示不存在相似图像的信息Info_IMG。当所述比率不超过或等于阈值比率时,存储器系统320可以向主机310提供指示存在相似图像的信息Info_IMG。在这种情况下,存储器系统320可以在信息Info_IMG中包括所述比率,并且向主机310提供包括所述比率的信息Info_IMG。
当主机310基于从存储器系统320接收的信息Info_IMG确定存在相似图像时,主机310可以将写入命令CMD提供到存储器系统320,以存储与相似图像和目标图像IMG之间的差异对应的数据。存储器系统320可以响应于写入命令CMD而存储与相似图像和目标图像IMG之间的差异对应的数据。详细地,存储器系统320可以存储关于目标图像IMG与读取的图像之间的逐像素差异的数据,所述数据已经在确定是否可以计算差异的过程中被计算。
图4是示出根据实施例的计算系统400的详细实现的框图。
图4是图3的实施例的修改的示图。当主机410执行精确的相似性确定时,主机410的计算处理的瓶颈可能在接收到多个备份请求时出现。为了防止该瓶颈,计算系统400可以被实现,使得主机410执行简单的相似性确定,并且存储器系统420附加地执行复杂的相似性确定以补偿主机410的相似性确定的精确度,然后执行同一性确定。
参照图4,主机410通过使用第一哈希值来确定在多个预存储图像之中是否存在与目标图像IMG相同或相似的图像并且根据确定的结果将目标图像IMG选择性地提供到存储器系统420的一系列操作可以与图3的实施例的操作基本相同,因此,将省略重复的描述。
存储器系统420可以通过经由第二哈希引擎(哈希引擎2)421将第二感知哈希函数应用于目标图像IMG来计算第三哈希值HASH VALUE 3_4。根据实施例,除了加密哈希函数以外,第二哈希引擎421可以附加地使用第二感知哈希函数。第二感知哈希函数可以比第一感知哈希函数应用更复杂的操作。例如,当第一感知哈希函数输出32位的哈希值时,第二感知哈希函数可以输出64位的哈希值。在下文中,为了便于描述,将通过使用第二感知哈希函数计算出的哈希值称为第三哈希值。
尽管已经参照图4示出和描述了存储器系统420包括能够使用加密哈希函数和第二感知哈希函数两者的第二哈希引擎421,但是在一些实施例中,存储器系统420可以包括使用加密哈希函数的哈希引擎和使用第二感知哈希函数的哈希引擎。换言之,在一些实施例中,第二哈希引擎421可以包括两个哈希引擎。
此外,存储器系统420可以通过使用第二哈希表422将计算的第三哈希值HASHVALUE 3_4与多个图像的第三哈希值HASH VALUE 3_1、HASH VALUE 3_2和HASH VALUE 3_3进行比较,并且确定是否存在与计算的第三哈希值HASH VALUE 3_4相似的第三哈希值。在这种情况下,除了上述的通过将加密哈希函数应用于多个图像中的每个而生成第二哈希值HASH VALUE 2_1、HASH VALUE 2_2和HASH VALUE 2_3以外,第二哈希表422可以附加地包括第三哈希值HASH VALUE 3_1、HASH VALUE 3_2和HASH VALUE 3_3。
作为示例,存储器系统420可以将目标图像IMG的第三哈希值HASH VALUE 3_4与多个图像的第三哈希值HASH VALUE 3_1、HASH VALUE 3_2和HASH VALUE 3_3中的每个进行比较,并且确定是否存在目标图像IMG的第三哈希值HASH VALUE 3_4与多个图像的第三哈希值HASH VALUE 3_1、HASH VALUE 3_2和HASH VALUE 3_3中的每个之间的不同的位的数量等于或小于阈值数量(例如,5)的情况。阈值数量可以被预先确定。
当不存在不同的位的数量等于或小于阈值数量的情况时,存储器系统420可以向主机410提供指示不存在与目标图像IMG相似的图像的信息Info_IMG。
另一方面,当至少存在一种不同的位的数量等于或小于阈值数量的情况时,存储器系统420可以确定存在与目标图像IMG相同或相似的图像。存储器系统420可以通过经由第二哈希引擎421将加密哈希函数应用于目标图像IMG来计算第二哈希值HASH VALUE 2_4,以确定是否存在与目标图像IMG相同的图像。存储器系统420可以将计算的第二哈希值HASHVALUE 2_4与多个图像的存储在第二哈希表422中的第二哈希值HASH VALUE 2_1、HASHVALUE 2_2和HASH VALUE 2_3进行比较,并且确定是否存在与计算的第二哈希值HASHVALUE 2_4相同的第二哈希值。
当不存在相同的第二哈希值时,存储器系统420可以向主机410提供指示存在与目标图像IMG相同的图像的信息Info_IMG。另一方面,当存在相同的第二哈希值时,存储器系统420可以向主机410提供指示存在与目标图像IMG相同的图像的信息Info_IMG。
主机410可以基于从存储器系统420接收的信息Info_IMG来存储目标图像IMG的至少一部分。当接收到指示存在与目标图像IMG相同的图像的信息Info_IMG时,主机410可以确定不将目标图像IMG存储在存储器系统420中。
当接收到指示存在与目标图像IMG相似的图像的信息Info_IMG时,主机410可以将写入命令CMD提供到存储器系统420,以将与相似图像和目标图像IMG之间的差异对应的数据存储在存储器系统420中。主机410可以将目标图像IMG的第一哈希值存储在第一哈希表412中。
此外,当接收到指示不存在与目标图像IMG相同或相似的图像的信息Info_IMG时,主机410可以将写入命令CMD提供到存储器系统420以存储目标图像IMG。主机410可以将目标图像IMG的第一哈希值存储在第一哈希表412中。
当存储器系统420从主机410接收到请求存储器系统420存储与相似图像和目标图像IMG之间的差异对应的数据的写入命令CMD时,存储器系统420可以从存储器装置(未示出)读取与同目标图像IMG的第三哈希值相似的第三哈希值对应的图像,并且可以计算目标图像IMG与读取的图像之间的差异。存储器系统420可以存储与计算的差异对应的数据。存储器系统420可以将目标图像IMG的第二哈希值和第三哈希值存储在第二哈希表422中。
此外,当存储器系统420从主机410接收请求存储器系统420存储目标图像IMG的写入命令CMD时,存储器系统420可以存储目标图像IMG。存储器系统420可以将目标图像IMG的第二哈希值和第三哈希值存储在第二哈希表422中。
根据另一实施例,当存储器系统420未能识别出与目标图像IMG的第二哈希值相同的第二哈希值时,存储器系统420可以在确定存在与目标图像IMG相似的图像之前,确定是否可以针对与同目标图像IMG的第三哈希值相似的第三哈希值对应的图像来计算与目标图像IMG的差异。存储器系统420可以根据确定的结果向主机410提供指示是否存在与目标图像IMG相同或相似的图像的信息。如上面参照图3所描述,该过程是为了确定即使在存在相似图像时存储目标图像IMG本身是否也更有利。此外,确定是否可以计算差异的方法可以与上面参照图3描述的方法基本相同,因此,将省略重复的描述。
当主机410基于从存储器系统420接收的信息Info_IMG确定存在相似图像时,主机410可以将写入命令CMD提供到存储器系统420以存储与相似图像和目标图像IMG之间的差异对应的数据。存储器系统420可以响应于写入命令CMD来存储与相似图像和目标图像IMG之间的差异对应的数据。
根据参照图4描述的实施例,因为主机410执行简单水平的相似性确定而存储器系统420执行更复杂的相似性确定,所以由主机410执行的计算量可以被减少。因此,还可以防止可能在主机410中发生的计算处理的瓶颈,并且由于附加地执行更复杂的相似性确定,因此可以精确地执行目标图像与多个预存储图像之间的相似性确定。
图5是示出根据实施例的计算系统500的详细实现的框图。
图5示出图4的实施例的修改,并且图5是计算系统包括能够执行同一性确定或相似性确定的多个存储器系统的实施例的示图。参照图5,计算系统500可以包括主机510和多个存储器系统(例如,第一存储器系统520和第二存储器系统530)。此外,主机510可以包括第一哈希引擎511、第一哈希表512和存储器系统选择器513。此外,第一存储器系统520可以包括第二哈希引擎521和第二哈希表522,并且第二存储器系统530可以包括第二哈希引擎531和第二哈希表532。第一存储器系统520可以存储第一多个图像,并且第二哈希表522可以存储第一多个图像的哈希值。第二存储器系统530可以存储第二多个图像,并且第二哈希表532可以存储第二多个图像的哈希值。
主机510可以通过使用第一哈希引擎511来计算目标图像IMG的第一哈希值,并且可以通过使用第一哈希表512来识别与计算的第一哈希值相似的第一哈希值。主机510可以识别存储与相似第一哈希值对应的图像的存储器系统。主机510可以将目标图像IMG提供到识别的存储器系统。
例如,当与计算的第一哈希值HASH VALUE 1_4相似的哈希值是哈希值HASH VALUE1_1时,主机510可以参考多个图像的逻辑地址确定存储哈希值HASH VALUE 1_1的存储器系统是第一存储器系统520。此外,主机510可以将目标图像IMG提供到第一存储器系统520并且请求同一性确定。
当存在与由主机510计算的第一哈希值相似的多个哈希值并且与多个哈希值对应的图像也被分别存储在多个存储器系统(例如,第一存储器系统520和第二存储器系统530)中时,主机510可以将目标图像IMG提供到第一存储器系统520和第二存储器系统530两者并且请求同一性确定。
第一存储器系统520和第二存储器系统530中的每个可以分别通过使用第二哈希引擎521或531的第二哈希感知函数来计算目标图像IMG的第三哈希值,并且可以识别与计算的第三哈希值相似的第三哈希值。当相似第三哈希值不能被识别时,第一存储器系统520和第二存储器系统530可以分别向主机510提供指示不存在相似图像的信息Info_IMG 1和Info_IMG 2。
另一方面,当相似第三哈希值可以被识别时,第一存储器系统520和第二存储器系统530可以分别通过使用第二哈希引擎521或531的加密哈希函数来计算目标图像IMG的第二哈希值,并且可以分别通过使用第二哈希表522或532来识别与计算的目标图像IMG的第二哈希值相同的第二哈希值。当相同的第二哈希值被识别时,第一存储器系统520和第二存储器系统530可以分别向主机510提供指示存在相同图像的信息Info_IMG 1和Info_IMG 2。
另一方面,当不存在相同的第二哈希值时,第一存储器系统520和第二存储器系统530可以在确定存在与目标图像IMG相似的图像之前执行附加操作。详细地,第一存储器系统520和第二存储器系统530可以在执行同一性确定之前确定是否可以针对被确定为相似图像的图像来计算与目标图像IMG的差异。
例如,多个存储器系统520和530可以将目标图像IMG的像素尺寸和与同目标图像IMG的第三哈希值相似的第三哈希值对应的图像的像素尺寸进行比较,或者通过针对每个像素将两个图像(即,目标图像IMG和与第三哈希值对应的图像)进行比较来计算逐像素差异并计算出现差异的像素相对于所有像素的比例,从而可以确定是否可以计算两个图像之间的差异。第一存储器系统520和第二存储器系统530可以根据确定的结果分别向主机510提供指示是否存在与目标图像IMG相同或相似的图像的信息Info_IMG 1和Info_IMG 2。在这种情况下,信息Info_IMG 1和Info_IMG 2可以包括上述比率或目标图像IMG的第三哈希值与同目标图像IMG的第三哈希值相似的第三哈希值之间的不同的位的数量。
当主机510仅将目标图像IMG提供到第一存储器系统520和第二存储器系统530中的一个时,主机510可以仅基于从提供有目标图像IMG的存储器系统接收的关于目标图像IMG的信息来仅存储目标图像IMG的一部分。
当主机510将目标图像IMG提供到第一存储器系统520和第二存储器系统530两者时,主机510可以分别从第一存储器系统520和第二存储器系统530接收关于目标图像IMG的信息Info_IMG 1和Info_IMG 2,并且可以基于接收到的信息存储目标图像IMG的至少一部分。
例如,当基于接收到的信息确定存在与目标图像IMG相同的图像时,主机510可以确定不存储目标图像IMG。此外,当基于接收到的信息确定不存在与目标图像IMG相同或相似的图像时,主机510可以确定存储目标图像IMG。
当基于接收到的信息确定在第一存储器系统520和第二存储器系统530中的每个中不存在与目标图像IMG相同的图像但是存在多个相似图像时,主机510可以通过使用存储器系统选择器513来选择存储器系统,以请求与存储在每个存储器系统中的相似图像和目标图像IMG之间的差异对应的数据。
作为示例,存储器系统选择器513可以基于包括在分别从第一存储器系统520和第二存储器系统530接收的信息Info_IMG 1和Info_IMG 2中的第三哈希值之间的不同的位的数量、出现差异的像素相对于所有像素的比率以及第一存储器系统520和第二存储器系统530中的每个的使用量中的至少一个,来选择存储器系统以请求与差异对应的数据。因为仅在第一存储器系统520和第二存储器系统530中的一个中执行计算处理,所以该过程是为了防止出现瓶颈。在一些实施例中,存储器系统选择器513可以通过使用除了上述信息之外的附加信息来选择存储器系统。
主机510可以从由存储器系统选择器513选择的存储器系统请求与相似图像和目标图像IMG之间的差异对应的数据。接收到请求的存储器系统可以向主机510提供与相似图像和目标图像IMG之间的差异对应的数据。例如,存储器系统可以向主机510提供关于与相似第三哈希值对应的图像和目标图像IMG之间的逐像素差异的数据,所述数据已经在确定是否可以计算差异的过程中被计算。
主机510可以将请求存储与相似图像和目标图像IMG之间的差异对应的数据的写入命令CMD发送到存储相似图像的存储器系统。接收到写入命令CMD的存储器系统可以从主机510接收并存储与差异对应的数据。
尽管已经参照图5示出和描述了多个存储器系统的第二哈希引擎通过使用第二感知哈希函数和加密哈希函数来执行同一性确定和相似性确定,但是在一些实施例中,多个存储器系统中的每个可以如图3的存储器系统320那样通过仅使用加密哈希函数来仅执行同一性确定。
根据参照图5描述的实施例,由于计算系统500包括可以对分别存储在多个存储器系统中的图像执行同一性确定或相似性确定的多个存储器系统(例如,第一存储器系统520和第二存储器系统530),因此,与一个存储器系统对所有先前存储的图像执行同一性确定和相似性确定两者的情况相比,还可以防止计算处理的瓶颈。
图6是示出根据实施例的计算系统600的详细实现的框图。
图6示出图5的实施例的修改,并且图6是计算系统包括多个存储器系统的实施例的示图,多个存储器系统中一些存储器系统可能不能够确定图像的同一性或相似性。参照图6,计算系统600可以包括主机610和多个存储器系统(例如,第一存储器系统620、第二存储器系统630、第三存储器系统640和第四存储器系统650)。此外,主机610可以包括第一哈希引擎611、第一哈希表612和存储器系统选择器613。此外,第一存储器系统620可以包括第一存储器控制器621和第一存储器装置622,第二存储器系统630可以包括第二存储器控制器631和第二存储器装置632,第三存储器系统640可以包括第三存储器控制器641和第三存储器装置642,第四存储器系统650可以包括第四存储器控制器651和第四存储器装置652,并且第一存储器系统至第四存储器系统620、630、640和650中的每个可以存储多个图像。第一存储器系统620可以包括第二哈希引擎623和第二哈希表624,并且第二存储器系统630可以包括第二哈希引擎633和第二哈希表634。相比之下,第三存储器系统640和第四存储器系统650可以不包括哈希引擎和哈希表。
根据实施例,第二哈希表624和634可以包括存储在第三存储器系统640和第四存储器系统650中的图像的哈希值以及存储在第一存储器系统620和第二存储器系统630中的图像的哈希值。例如,第一存储器系统620的第二哈希表624可以包括存储在第一存储器系统620中的图像的哈希值和存储在第三存储器系统640中的图像的哈希值。第二存储器系统630的第二哈希表634可以包括存储在第二存储器系统630中的图像的哈希值和存储在第四存储器系统650中的图像的哈希值。然而,这仅是示例,并且在其它实施例中,图像的组合可以变化。
主机610可以通过使用第一哈希引擎611来计算目标图像IMG的第一哈希值,并且可以通过使用第一哈希表612来识别与计算的第一哈希值相似的第一哈希值。当相似第一哈希值被识别时,主机610可以将目标图像IMG提供到管理与相似第一哈希值对应的图像的哈希值的存储器系统。
作为示例,第一哈希表612可以包括存储在第一存储器系统至第四存储器系统620、630、640和650中的图像中的每个图像的第一哈希值,并且还可以包括关于管理存储的图像的逻辑地址和存储的图像的哈希值的存储器系统的信息。因此,主机610可以参考第一哈希表612识别管理相似第一哈希值的存储器系统。此外,当多个相似第一哈希值被识别时,主机610可以识别管理多个相似第一哈希值的存储器系统中的每个。例如,主机610可以将第一存储器系统620和第二存储器系统630识别为管理多个相似第一哈希值的存储器系统。
第一存储器系统620可以通过使用第二哈希引擎623和第二哈希表624来确定目标图像IMG与存储在第一存储器系统620和第三存储器系统640中的多个图像之间的同一性或相似性。第一存储器系统620可以向主机610提供与确定的结果对应的信息Info_IMG 1。
第二存储器系统630可以通过使用第二哈希引擎633和第二哈希表634来确定目标图像IMG与存储在第二存储器系统630和第四存储器系统650中的多个图像之间的同一性或相似性。第二存储器系统630可以向主机610提供与确定的结果对应的信息Info_IMG 2。
根据实施例,在确定目标图像IMG与预存储图像之间的同一性或相似性的处理中,第一存储器系统620和第二存储器系统630可以读取存储在第三存储器系统640或第四存储器系统650中的图像,并且通过使用读取的图像来确定相似性。
例如,第一存储器系统620可以通过将目标图像IMG的第二哈希值与存储在第一存储器系统620和第三存储器系统640中的图像的第二哈希值进行比较来执行同一性确定。然而,在这种情况下,可能确定不存在相同的图像。根据实施例,第一存储器系统620可以在确定同一性之前确定是否可以针对被确定为相似图像的图像来计算与目标图像IMG的差异。在这种情况下,被确定为相似图像的图像可以是存储在第三存储器系统640中的图像。因此,第一存储器系统620可以直接从第三存储器系统640读取图像,或者请求从主机610读取以通过主机610接收图像。此外,第一存储器系统620可以确定可以通过使用从第三存储器系统640读取的图像和目标图像IMG来计算差异,并且可以根据确定的结果向主机610提供指示是否存在与目标图像IMG相同或相似的图像的信息。
主机610可以从第一存储器系统620和/或第二存储器系统630接收指示是否存在与目标图像IMG相同或相似的图像的信息Info_IMG 1和Info_IMG 2。当从第一存储器系统620和第二存储器系统630接收到多条信息Info_IMG 1和Info_IMG 2时,主机610可以使用存储器系统选择器613来选择存储器系统,以请求与相似图像和目标图像IMB之间的差异对应的数据。
例如,存储器系统选择器613可以基于分别从第一存储器系统620和第二存储器系统630接收的信息Info_IMG 1和Info_IMG 2以及第一存储器系统620和第二存储器系统630中的每个的使用量来选择存储器系统,以请求与相似图像和目标图像IMG之间的差异对应的数据。主机610可以从选择的存储器系统请求与相似图像和目标图像IMG之间的差异对应的数据。选择的存储器系统可以根据主机610的请求将数据提供到主机610。
例如,当存储器系统选择器613选择第二存储器系统630时,主机610可以将用于请求与差异对应的数据的请求信号Req发送到第二存储器系统630。第二存储器系统630可以响应于接收的请求信号Req向主机610提供与相似图像和目标图像IMG之间的差异对应的数据DATA。
当主机610接收到数据DATA时,主机610可以选择用于存储数据DATA的存储器系统。例如,主机610可以将存储有相似图像的存储器系统识别第三存储器系统640,并且可以将写入命令CMD和数据DATA提供到第三存储器系统640,以将数据DATA写入到识别的存储器系统。可选地,在一些实施例中,主机610可以通过考虑第一存储器系统至第四存储器系统620、630、640和650的使用量来选择用于存储数据DATA的存储器系统,并且可以提供写入命令CMD和数据DATA以将数据DATA写入到选择的存储器系统。选择主机610将数据DATA存储在其中的存储器系统的方法不限于上述示例。
根据以上参照图6描述的实施例,即使当计算系统包括不支持使用哈希的计算处理功能的存储器系统时,计算系统也可以使用图像之间的同一性和相似性的确定来执行图像备份功能。
图7是根据实施例的图像备份方法的流程图。图7中所示的图像备份方法可以在图1以及图3至图6的计算系统中执行。
主机可以从主机的外部接收备份请求和第一图像(操作S11)。主机可以基于第一哈希函数执行第一图像与存储在存储器系统中的多个图像之间的相似性确定(操作S12)。在这种情况下,第一哈希函数可以是感知哈希函数。感知哈希函数可以对应于从BMB哈希、DCT哈希、DWT哈希、PCA哈希、MH哈希和RADIAL哈希选择的一个。然而,这些感知哈希函数仅是示例,并且实施例不限于此。
详细地,主机可以通过将第一哈希函数应用于第一图像来计算第一哈希值。主机可以将计算的第一哈希值与多个图像的第一哈希值中的每个进行比较,以确定它们是否彼此相似。当存在与计算的第一哈希值相似的第一哈希值时,主机可以确定在存储器系统中存在与第一图像相同或相似的图像。另一方面,当不存在与计算的第一哈希值相似的第一哈希值时,主机可以确定在存储器系统中不存在与第一图像相同或相似的图像。
主机可以根据相似性确定的结果将第一图像提供到存储器系统(操作S13)。例如,主机可以根据相似性确定的结果将第一图像选择性地提供到存储器系统。详细地,当主机确定在存储器系统中存在与第一图像相同或相似的图像时,主机可以将第一图像提供到存储器系统。当主机确定在存储器系统中不存在与第一图像相同或相似的图像时,主机可以将第一图像存储在存储器系统中。
存储器系统可以基于第二哈希函数执行第一图像与存储在存储器系统中的图像之间的同一性确定(操作S14)。在这种情况下,第二哈希函数可以是加密哈希函数。加密哈希函数可以对应于从OST、HAVAL、MD2、MD4、MD5、PANAMA、RadioGatun、RIPEMD、RIPEMD-128/256、RIPEMD-160、RIPEMD-320、SHA-0、SHA-1、SHA-256/224、SHA-512/384、SHA-3和WHIRLPOOL选择的一个。然而,这些加密哈希函数仅是示例,并且实施例不限于此。
详细地,存储器系统可以通过将第二哈希函数应用于第一图像来计算第二哈希值。存储器系统可以将计算的第二哈希值与多个图像的第二哈希值中的每个进行比较,以确定它们是否彼此相同。当存在与计算的第二哈希值相同的第二哈希值时,主机可以确定在存储器系统中存在与第一图像相同的图像。另一方面,当不存在与计算的第二哈希值相同的第二哈希值时,主机可以确定在存储器系统中存在与第一图像相似的图像。
存储器系统可以根据同一性确定的结果向主机提供用于确定第一图像的存储方法的信息(操作S15)。详细地,存储器系统可以向主机提供关于存在或不存在与第一图像相同或相似的图像的信息。
主机可以基于接收到的信息存储第一图像的至少一部分。详细地,当接收到指示不存在与第一图像相似的图像的信息时,主机可以存储整个第一图像。当接收到指示存在与第一图像相似的图像的信息时,主机可以存储与第一图像和相似图像之间的差异对应的数据。当接收到指示存在与第一图像相同的图像的信息时,主机可以确定不存储第一图像并且可以在不存储第一图像的情况下终止图像备份操作。
当主机响应于接收到指示存在与第一图像相似的图像或不存在与第一图像相同或相似的图像的信息而存储第一图像的至少一部分时,主机可以存储第一图像的第一哈希值和第二哈希值。
图8是示出根据实施例的图像备份方法的详细实现的流程图。详细地,图8是具体示出确定目标图像和预存储图像之间的同一性和相似性的操作以及存储目标图像的操作的流程图。图8中所示的图像备份方法可以在图1以及图3至图6的计算系统中执行。
主机可以确定第一哈希值之间的不同的位的数量是否小于或等于第一阈值(操作S21)。详细地,主机可以将第一图像的第一哈希值与存储在存储器系统中的多个图像的第一哈希值中的每个进行比较,以确定第一图像的第一哈希值与存储在存储器系统中的多个图像的第一哈希值的每个之间的不同的位的数量是否小于或等于第一阈值。
当不同的位的数量超过第一阈值时(操作S21-“否”),主机可以确定不存在与第一图像相同或相似的图像(操作S22)。主机可以存储第一图像(操作S23)。详细地,主机可以将第一图像存储在存储器系统中。
另一方面,当至少存在一种不同的位的数量等于或小于第一阈值的情况时(操作S21-“是”),存储器系统可以确定是否存在彼此相同的第二哈希值(操作S24)。详细地,存储器系统可以将第一图像的第二哈希值与多个图像的第二哈希值中的每个进行比较,以确定第二哈希值是否彼此相同。例如,当不同的位的数量等于或小于第一阈值时,主机可以确定存在相同或相似的图像并且将第一图像提供到存储器系统。然后,存储器系统可以将第一图像的第二哈希值与多个图像的第二哈希值中的每个进行比较。
当存在与第一图像的第二哈希值相同的第二哈希值时(操作S24-“是”),存储器系统可以确定存在与第一图像相同的图像(操作S25)。存储器系统可以向主机提供指示存在与第一图像相同的图像的信息。主机可以确定不将第一图像存储在存储器系统中。
另一方面,当不存在与第一图像的第二哈希值相同的第二哈希值时(操作S24-“否”),存储器系统可以确定存在与第一图像相似的图像(操作S26)。存储器系统可以向主机提供指示存在与第一图像相似的图像的信息。
主机可以存储与第一图像和相似图像之间的差异对应的数据(操作S27)。详细地,存储器系统可以针对每个像素将第一图像与相似图像进行比较以计算与差异对应的数据,并且可以将计算的数据提供到主机。主机可以将计算的数据和写入命令提供到存储器系统,并且存储器系统可以存储计算的数据。
尽管已经参照图8描述了主机或存储器系统执行一系列操作中的一些操作,但是在一些实施例中,主机可以执行一系列操作中的所有操作,并且在其它实施例中,存储器系统可以执行一系列操作中的所有操作。在这些情况下,可以省略在主机与存储器系统之间传输备份请求的目标图像或用于确定目标图像的存储方法的信息的操作。
图9是示出根据实施例的图像备份方法的详细实现的流程图。详细地,图9示出图8的实施例的修改,并且图9是示出执行附加相似性确定的实施例的流程图。图9中所示的图像备份方法可以在图1以及图3至图6的计算系统中执行。
主机可以确定第一哈希值之间的不同的位的数量是否小于或等于第一阈值(操作S31)。详细地,主机可以将第一图像的第一哈希值与存储在存储器系统中的多个图像的第一哈希值中的每个进行比较,以确定第一图像的第一哈希值与存储在存储器系统中的多个图像的第一哈希值中的每个之间的不同的位的数量是否等于或小于第一阈值。
当不同的位的数量超过第一阈值时(操作S31-“否”),主机可以确定不存在与第一图像相同或相似的图像(操作S32)。主机可以存储第一图像(操作S33)。详细地,主机可以将第一图像存储在存储器系统中。
另一方面,当至少存在一种不同的位的数量等于或小于第一阈值的情况时(操作S31-“是”),存储器系统可以计算第一图像的第三哈希值(操作S34)。例如,当不同的位的数量等于或小于第一阈值时,主机可以确定存在相同或相似的图像,并且可将第一图像提供到存储器系统。此外,存储器系统可以将第一图像的第三哈希值与多个图像的第三哈希值中的每个进行比较,以执行更精确的相似性确定。详细地,存储器系统可以通过将第二感知哈希函数应用于第一图像来计算第三哈希值。在这种情况下,第二感知哈希函数可以比第一感知哈希函数应用更复杂的操作。
存储器系统可以确定第三哈希值之间的不同的位的数量是否小于或等于第二阈值(操作S35)。详细地,存储器系统可以将第一图像的第三哈希值与多个图像的第三哈希值中的每个进行比较,以确定第一图像的第三哈希值与多个图像的第三哈希值中的每个之间的不同的位的数量是否小于或等于第二阈值。在这种情况下,第二阈值可以与第一阈值相同或者不同。当不同的位的数量超过第二阈值时(操作S35-“否”),存储器系统可以确定不存在与第一图像相同或相似的图像(操作S32)。主机可以存储第一图像(操作S33)。详细地,主机可以将第一图像存储在存储器系统中。
另一方面,当至少存在一种不同的位的数量小于或等于第二阈值的情况时(操作S35-“是”),存储器系统可以确定第二哈希值是否彼此相同(操作S36)。详细地,存储器系统可以将第一图像的第二哈希值与多个图像的第二哈希值中的每个进行比较,以确定它们是否彼此相同。当存在与第一图像的第二哈希值相同的第二哈希值时(操作S36-“是”),存储器系统可以确定存在与第一图像相同的图像(操作S37)。存储器系统可以向主机提供指示存在与第一图像相同的图像的信息。主机可以确定不将第一图像存储在存储器系统中。
另一方面,当不存在与第一图像的第二哈希值相同的第二哈希值时(操作S36-“否”),存储器系统可以确定存在与第一图像相似的图像(操作S38)。存储器系统可以向主机提供指示存在与第一图像相似的图像的信息。
主机可以存储与第一图像和相似图像之间的差异对应的数据(操作S39)。详细地,存储器系统可以针对每个像素将第一图像与相似图像进行比较以计算与差异对应的数据,并且可以将计算的数据提供到主机。主机可以将计算的数据和写入命令提供到存储器系统,并且存储器系统可以存储计算的数据。
尽管已经参照图9描述了主机或存储器系统执行一系列操作中的一些操作,但是在一些实施例中,主机可以执行一系列操作中的所有操作,并且在其它实施例中,存储器系统可以执行一系列操作中的所有操作。在这些情况下,可以省略在主机和存储器系统之间传输备份请求的目标图像或用于确定目标图像的存储方法的信息的操作。
图10是根据实施例的包括服务器系统1010的网络系统1000的框图。在图10中,与服务器系统一起示出了多个终端(例如,计算节点),并且服务器系统可以使用根据图1以及图3至图6中所示的实施例的计算系统来实现。
参照图10,网络系统1000可以包括通过网络1020与服务器系统1010通信的多个终端1030_1、1030_2和1030_n。服务器系统1010可以包括服务器1011和SSD 1012。在图1以及图3至图9的实施例中,服务器1011可以执行主机的功能,SSD 1012可以执行存储器系统的功能。
服务器1011可以处理从连接到网络1020的多个终端1030_1至1030_n发送的请求。作为示例,服务器1011可以根据从多个终端1030_1至1030_n接收的备份请求,将请求备份的目标图像存储在SSD 1012中。
具体地,如在上面参照图1以及图3至图9描述的实施例中那样,服务器1011可以通过使用第一感知哈希函数来计算目标图像的第一哈希值,并且确定在先前存储在SSD 1012中的多个图像之中是否存在与目标图像相似的图像。当存在与目标图像相似的图像时,服务器1011可以将目标图像提供到SSD 1012。SSD 1012可以通过将第二感知哈希函数应用于目标图像来计算第二哈希值,并且可以通过将加密哈希函数应用于目标图像来计算第三哈希值。此外,SSD 1012可以基于计算的第二哈希值和第三哈希值来附加地确定先前存储在SSD 1012中的多个图像之中是否存在与目标图像相同或相似的图像,并且可以将确定的结果提供到服务器1011。此外,服务器1011可以根据确定的结果将目标图像的至少一部分存储在SSD 1012中,因此,SSD 1012可以获得更高的存储空间效率。
尽管已经参照发明构思的各个实施例具体地示出和描述了发明构思,但是将理解的是,在不脱离权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种计算系统的图像备份方法,所述计算系统包括主机和存储器系统,所述图像备份方法包括:
由主机接收第一图像以及备份请求;
由主机基于第一哈希函数来执行第一图像与存储在存储器系统中的多个图像之间的相似性确定;
由主机根据相似性确定的结果选择性地将第一图像提供到存储器系统;
由存储器系统基于第二哈希函数来执行第一图像与所述多个图像之间的同一性确定;以及
由存储器系统根据同一性确定的结果向主机提供用于确定第一图像的存储方法的信息。
2.根据权利要求1所述的图像备份方法,其中,
第一哈希函数包括感知哈希函数,并且
第二哈希函数包括加密哈希函数。
3.根据权利要求1所述的图像备份方法,其中,执行相似性确定的步骤包括:
通过将第一哈希函数应用于第一图像来计算第一图像的第一哈希值;以及
将计算的第一哈希值与所述多个图像的第一哈希值中的每个进行比较,以针对所述多个图像中的每个识别计算的第一哈希值与所述多个图像的第一哈希值中的每个之间的不同的位的数量。
4.根据权利要求3所述的图像备份方法,其中,执行相似性确定的步骤还包括:
当存在不同的位的数量小于或等于阈值数量的情况时,确定所述多个图像之中存在与第一图像相同或相似的图像;以及
当不存在不同的位的数量小于或等于阈值数量的情况时,确定所述多个图像之中不存在与第一图像相同或相似的图像。
5.根据权利要求1所述的图像备份方法,其中,选择性地将第一图像提供到存储器系统的步骤包括:当作为相似性确定的结果确定所述多个图像之中存在与第一图像相同或相似的图像时,将第一图像提供到存储器系统。
6.根据权利要求1所述的图像备份方法,其中,选择性地将第一图像提供到存储器系统的步骤包括:当作为相似性确定的结果确定所述多个图像之中不存在与第一图像相同或相似的图像时,存储第一图像。
7.根据权利要求1所述的图像备份方法,其中,执行同一性确定的步骤包括:
通过将第二哈希函数应用于第一图像来计算第一图像的第二哈希值;以及
将计算的第二哈希值与所述多个图像的第二哈希值中的每个进行比较,以针对所述多个图像中的每个确定比较的第二哈希值是否彼此相同。
8.根据权利要求7所述的图像备份方法,其中,执行同一性确定的步骤还包括:
当存在彼此相同的第二哈希值时,确定所述多个图像之中存在与第一图像相同的图像;以及
当不存在彼此相同的第二哈希值时,确定所述多个图像之中存在与第一图像相似的图像。
9.根据权利要求1所述的图像备份方法,所述图像备份方法还包括:由存储器系统基于第三哈希函数来执行第一图像与所述多个图像之间的第二相似性确定,
其中,执行同一性确定的步骤包括:根据第二相似性确定的结果来执行第一图像与所述多个图像之间的同一性确定。
10.根据权利要求9所述的图像备份方法,其中,执行第二相似性确定的步骤包括:
通过将第三哈希函数应用于第一图像来计算第一图像的第三哈希值;以及
将计算的第三哈希值与所述多个图像的第三哈希值中的每个进行比较,以针对所述多个图像中的每个识别计算的第三哈希值与所述多个图像的第三哈希值中的每个之间的不同的位的数量。
11.根据权利要求10所述的图像备份方法,其中,执行第二相似性确定的步骤还包括:
当存在第三哈希值之间的不同的位的数量小于或等于阈值数量的情况时,确定所述多个图像之中存在与第一图像相同或相似的图像;以及
当不存在第三哈希值之间的不同的位的数量小于或等于阈值数量的情况时,确定所述多个图像之中不存在与第一图像相同或相似的图像。
12.根据权利要求11所述的图像备份方法,其中,执行同一性确定的步骤包括:当作为第二相似性确定的结果确定所述多个图像之中存在与第一图像相同或相似的图像时,执行第一图像与所述多个图像之间的同一性确定。
13.根据权利要求9所述的图像备份方法,其中,向主机提供用于确定第一图像的存储方法的信息的步骤包括:根据第二相似性确定的结果来生成用于确定第一图像的存储方法的信息。
14.根据权利要求9所述的图像备份方法,其中,第三哈希函数比第一哈希函数应用更复杂的运算。
15.根据权利要求1所述的图像备份方法,所述图像备份方法还包括:
由主机根据同一性确定的结果确定第一图像的存储方法;其中,
当主机基于用于确定第一图像的存储方法的信息确定存在与第一图像相似的相似图像时,将与第一图像和相似图像之间的差异对应的数据存储在存储器系统中;以及
当主机基于用于确定第一图像的存储方法的信息确定不存在与第一图像相同或相似的图像时,将第一图像存储在存储器系统中。
16.根据权利要求15所述的图像备份方法,所述图像备份方法还包括:当主机确定存在相似图像或者不存在与第一图像相同或相似的图像时,将第一图像的第一哈希值存储在主机中,并且将第一图像的第二哈希值存储在存储器系统中。
17.一种计算系统,所述计算系统包括:
主机;以及
存储器系统,被配置为存储多个图像,
其中,主机被配置为:
通过将第一哈希函数应用于第一图像来计算第一图像的第一哈希值;
通过将计算的第一哈希值与所述多个图像的第一哈希值中的每个进行比较来执行第一图像与所述多个图像之间的相似性确定;以及
基于相似性确定的结果将第一图像提供到存储器系统,并且
存储器系统被配置为:
通过将第二哈希函数应用于第一图像来计算第一图像的第二哈希值;
通过将计算的第二哈希值与所述多个图像的第二哈希值中的每个进行比较来执行第一图像与所述多个图像之间的同一性确定;以及
基于同一性确定的结果向主机提供用于确定第一图像的存储方法的信息。
18.根据权利要求17所述的计算系统,其中,所述存储器系统包括:
第一存储器系统,被配置为存储第一多个图像;以及
第二存储器系统,被配置为存储第二多个图像,
其中,主机被配置为:基于第一哈希函数从所述第一多个图像和所述第二多个图像之中识别与第一图像相似的相似图像,并将第一图像提供到存储有相似图像的第一存储器系统或第二存储器系统。
19.根据权利要求18所述的计算系统,其中,主机被配置为:响应于从第一存储器系统和第二存储器系统中的每个接收到用于确定第一图像的存储方法的信息,基于用于确定第一图像的存储方法的信息将第一图像的至少一部分存储在第一存储器系统和第二存储器系统中的至少一个中。
20.一种存储器系统,所述存储器系统包括:
存储器装置,被配置为存储多个图像;以及
存储器控制器,被配置为:
基于第一哈希函数来执行第一图像与所述多个图像之间的相似性确定,第一图像从主机接收并将被备份;
基于第二哈希函数来执行第一图像与所述多个图像之间的同一性确定;以及
将相似性确定的结果和同一性确定的结果提供到主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190125681A KR20210042752A (ko) | 2019-10-10 | 2019-10-10 | 이미지 백업을 수행하는 컴퓨팅 시스템 및 이미지 백업 방법 |
KR10-2019-0125681 | 2019-10-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650619A true CN112650619A (zh) | 2021-04-13 |
Family
ID=70918348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010749158.4A Pending CN112650619A (zh) | 2019-10-10 | 2020-07-30 | 计算系统、计算系统的图像备份方法和存储器系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210110201A1 (zh) |
EP (1) | EP3805929B1 (zh) |
KR (1) | KR20210042752A (zh) |
CN (1) | CN112650619A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309336B (zh) * | 2018-03-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、系统、服务器以及存储介质 |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100547608C (zh) * | 2005-03-23 | 2009-10-07 | 北京华旗数码影像技术研究院有限责任公司 | 数字图像水印的方法及相应装置和可添加水印的数码相机 |
US7647331B2 (en) * | 2006-03-28 | 2010-01-12 | Microsoft Corporation | Detecting duplicate images using hash code grouping |
US7636824B1 (en) * | 2006-06-28 | 2009-12-22 | Acronis Inc. | System and method for efficient backup using hashes |
US7797323B1 (en) * | 2006-10-11 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Producing representative hashes for segments of a file |
US8527469B2 (en) * | 2006-10-13 | 2013-09-03 | Sony Corporation | System and method for automatic detection of duplicate digital photos |
US8351707B2 (en) * | 2007-07-31 | 2013-01-08 | Sharp Kabushiki Kaisha | Image processing apparatus, image forming apparatus, image processing system, and image processing method |
US8050505B2 (en) * | 2007-08-01 | 2011-11-01 | Sharp Kabushiki Kaisha | Image processing apparatus, image processing system, image processing method, and image forming apparatus |
JP4399486B2 (ja) * | 2007-09-27 | 2010-01-13 | シャープ株式会社 | 画像処理装置、外部記憶装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、プログラムおよびその記録媒体 |
JP4457140B2 (ja) * | 2007-10-02 | 2010-04-28 | シャープ株式会社 | 画像処理方法、画像処理装置、画像形成装置、画像読取装置、コンピュータプログラム及び記録媒体 |
US20130036300A1 (en) * | 2010-02-26 | 2013-02-07 | Samsung Electronics Co., Ltd | Method of fixing error of boot image for fast booting and image forming apparatus for performing the method |
US10394570B2 (en) * | 2010-02-26 | 2019-08-27 | Hp Printing Korea Co., Ltd. | Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method |
US20130042097A1 (en) * | 2010-02-26 | 2013-02-14 | Samsung Electronics Co., Ltd. | Method of updating boot image for fast booting and image forming apparatus for performing the method |
US8452106B2 (en) * | 2010-03-23 | 2013-05-28 | Microsoft Corporation | Partition min-hash for partial-duplicate image determination |
US9031960B1 (en) * | 2011-06-10 | 2015-05-12 | Google Inc. | Query image search |
AU2011226985B2 (en) * | 2011-09-30 | 2014-05-01 | Canon Kabushiki Kaisha | Image retrieval method |
KR20130064518A (ko) * | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
AU2012202352A1 (en) * | 2012-04-20 | 2013-11-07 | Canon Kabushiki Kaisha | Method, system and apparatus for determining a hash code representing a portion of an image |
US9146816B2 (en) * | 2012-06-14 | 2015-09-29 | International Business Machines Corporation | Managing system image backup |
US8849047B2 (en) * | 2012-07-10 | 2014-09-30 | Facebook, Inc. | Methods and systems for determining image similarity |
GB2498238B (en) * | 2012-09-14 | 2013-12-25 | Canon Europa Nv | Image duplication prevention apparatus and image duplication prevention method |
US9104687B2 (en) * | 2012-12-20 | 2015-08-11 | Dropbox, Inc. | System and method for preventing duplicate uploads of modified photos in a synchronized content management system |
KR20140102038A (ko) * | 2013-02-13 | 2014-08-21 | 삼성전자주식회사 | 영상 정합 장치 및 영상 정합 방법 |
US20140279933A1 (en) * | 2013-03-14 | 2014-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Hashing Schemes for Managing Digital Print Media |
KR20140141348A (ko) * | 2013-05-31 | 2014-12-10 | 삼성전자주식회사 | 호스트 장치와 저장 장치가 연계하여 중복 제거 프로세스를 수행하는 방법 및 스토리지 시스템 |
WO2014194419A1 (en) * | 2013-06-03 | 2014-12-11 | Miworld Technologies Inc. | System and method for image based interactions |
US9239841B2 (en) * | 2013-07-16 | 2016-01-19 | Vmware, Inc. | Hash-based snapshots |
US20160196478A1 (en) * | 2013-09-03 | 2016-07-07 | Samsung Electronics Co., Ltd. | Image processing method and device |
US9507814B2 (en) * | 2013-12-10 | 2016-11-29 | Vertafore, Inc. | Bit level comparator systems and methods |
US9385954B2 (en) * | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US20150317325A1 (en) * | 2014-04-30 | 2015-11-05 | Key Cybersecurity, Inc. | Methods and apparatus for detection of illicit files in computer networks |
JP6300650B2 (ja) * | 2014-06-06 | 2018-03-28 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
US11113237B1 (en) * | 2014-12-30 | 2021-09-07 | EMC IP Holding Company LLC | Solid state cache index for a deduplicate storage system |
US10180950B2 (en) * | 2015-06-10 | 2019-01-15 | Flir Systems Ab | Image retrieval and processing systems and methods |
US9569213B1 (en) * | 2015-08-25 | 2017-02-14 | Adobe Systems Incorporated | Semantic visual hash injection into user activity streams |
KR101628720B1 (ko) * | 2015-09-22 | 2016-06-09 | 주식회사 포드림 | 진본성 및 무결성을 입증하기 위한 사본영상 증거관리시스템 |
US9813762B2 (en) * | 2015-11-16 | 2017-11-07 | Arris Enterprises Llc | Creating hash values indicative of differences in images |
CN115412696A (zh) * | 2015-12-14 | 2022-11-29 | 梦想四有限公司 | 数字取证图像验证系统 |
US10083299B2 (en) * | 2015-12-16 | 2018-09-25 | Carbonite, Inc. | Systems and methods for automatic snapshotting of backups based on malicious modification detection |
US9626596B1 (en) * | 2016-01-04 | 2017-04-18 | Bank Of America Corporation | Image variation engine |
US9501234B1 (en) * | 2016-01-04 | 2016-11-22 | Acronis International Gmbh | System and method for incrementally performing full data backup |
US9824299B2 (en) * | 2016-01-04 | 2017-11-21 | Bank Of America Corporation | Automatic image duplication identification |
US9852361B1 (en) * | 2016-02-11 | 2017-12-26 | EMC IP Holding Company LLC | Selective image backup using trained image classifier |
US9971594B2 (en) * | 2016-08-16 | 2018-05-15 | Sonatype, Inc. | Method and system for authoritative name analysis of true origin of a file |
US20180107689A1 (en) * | 2016-10-14 | 2018-04-19 | Andrew Grossman | Image Annotation Over Different Occurrences of Images Using Image Recognition |
JP2018125674A (ja) * | 2017-01-31 | 2018-08-09 | オリンパス株式会社 | 撮影機器及び撮影方法 |
US10803013B2 (en) * | 2017-02-10 | 2020-10-13 | Smugmug, Inc. | Efficient similarity detection |
US10904286B1 (en) * | 2017-03-24 | 2021-01-26 | Fireeye, Inc. | Detection of phishing attacks using similarity analysis |
CN109145926B (zh) * | 2017-06-13 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 相似图片识别方法及计算机设备 |
US10366279B2 (en) * | 2017-08-29 | 2019-07-30 | Bank Of America Corporation | System for execution of multiple events based on image data extraction and evaluation |
US10375050B2 (en) * | 2017-10-10 | 2019-08-06 | Truepic Inc. | Methods for authenticating photographic image data |
US11132335B2 (en) * | 2017-12-12 | 2021-09-28 | Interset Software, Inc. | Systems and methods for file fingerprinting |
US10673620B2 (en) * | 2017-12-14 | 2020-06-02 | Paypal, Inc. | Blockchain validation system |
US20190236371A1 (en) * | 2018-01-30 | 2019-08-01 | Deluxe Entertainment Services Group Inc. | Cognitive indexing of images in digital video content |
CN110309336B (zh) * | 2018-03-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、系统、服务器以及存储介质 |
US11106633B2 (en) * | 2018-04-24 | 2021-08-31 | EMC IP Holding Company, LLC | DNA-based data center with deduplication capability |
US10628708B2 (en) * | 2018-05-18 | 2020-04-21 | Adobe Inc. | Utilizing a deep neural network-based model to identify visually similar digital images based on user-selected visual attributes |
US10361866B1 (en) * | 2018-08-13 | 2019-07-23 | Truepic Inc. | Proof of image authentication on a blockchain |
US11010337B2 (en) * | 2018-08-31 | 2021-05-18 | Mcafee, Llc | Fuzzy hash algorithms to calculate file similarity |
CN109376256B (zh) * | 2018-09-29 | 2021-03-26 | 京东方科技集团股份有限公司 | 图像搜索方法及装置 |
US20200162266A1 (en) * | 2018-11-16 | 2020-05-21 | Adobe Inc. | Facilitating analytic services for provenance of digital documents |
US11146381B2 (en) * | 2018-11-16 | 2021-10-12 | Adobe Inc. | Traceability of edits to digital documents via distributed ledgers |
US10452828B1 (en) * | 2018-12-11 | 2019-10-22 | block.one | Systems and methods for creating a verified digital association |
CN109783671B (zh) * | 2019-01-30 | 2021-10-08 | 京东方科技集团股份有限公司 | 一种以图搜图的方法、计算机可读介质及服务器 |
US20200327017A1 (en) * | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US10977528B1 (en) * | 2019-06-25 | 2021-04-13 | Amazon Technologies, Inc. | Detecting similarity between images |
US11386145B2 (en) * | 2019-06-28 | 2022-07-12 | Adobe Inc. | Incremental agglomerative clustering of digital images |
US20220066991A1 (en) * | 2020-09-02 | 2022-03-03 | Micro Focus Llc | Command line utility to generate user-controlled fragmentated test data on a hard disk drive |
-
2019
- 2019-10-10 KR KR1020190125681A patent/KR20210042752A/ko active Search and Examination
-
2020
- 2020-05-20 US US16/878,696 patent/US20210110201A1/en active Pending
- 2020-05-28 EP EP20177140.9A patent/EP3805929B1/en active Active
- 2020-07-30 CN CN202010749158.4A patent/CN112650619A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3805929B1 (en) | 2023-06-14 |
US20210110201A1 (en) | 2021-04-15 |
EP3805929A1 (en) | 2021-04-14 |
KR20210042752A (ko) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995881B (zh) | 缓存服务器的负载均衡方法和装置 | |
US20120005557A1 (en) | Virtual copy and virtual write of data in a storage device | |
KR102416004B1 (ko) | 인터페이스 회로들, 메모리 모듈들 및 인터페이스 회로들과 메모리 모듈들을 연결하는 스위치 회로를 포함하는 서버 장치 | |
KR102655347B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11226944B2 (en) | Cache management | |
US11237743B2 (en) | Sub-block deduplication using sector hashing | |
US9934390B2 (en) | Data redaction system | |
CN110389859B (zh) | 用于复制数据块的方法、设备和计算机程序产品 | |
WO2017147794A1 (zh) | 差异数据备份的方法和设备 | |
EP3805929A1 (en) | Computing system performing image backup and image backup method | |
CN116089321A (zh) | 内存管理方法、装置、电子装置和存储介质 | |
US8549274B2 (en) | Distributive cache accessing device and method for accelerating to boot remote diskless computers | |
CN112286457B (zh) | 对象重删方法、装置、电子设备及机器可读存储介质 | |
US10489350B2 (en) | Data compression with inline compression metadata | |
US20210019231A1 (en) | Method, device and computer program product for backing up data | |
CN115543881B (zh) | Pcie设备适配方法、系统、计算机设备和存储介质 | |
CN111708715B (zh) | 内存分配方法、内存分配装置及终端设备 | |
US8621557B2 (en) | Information processing system judging whether manipulation is possible or not based on access control policy and method of operation thereof | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
CN112395256B (zh) | 一种数据读取方法、电子设备及计算机存储介质 | |
CN108804342B (zh) | 对永久性存储装置写入和读取数据的方法和系统 | |
US10572451B2 (en) | File system storage | |
US10929382B1 (en) | Method and system to verify integrity of a portion of replicated data | |
CN116679885A (zh) | 交付物文件存储方法、装置、设备及存储介质 | |
US11068500B1 (en) | Remote snapshot access in a replication setup |
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 |