CN111966649A - 一种高效去重的轻量级在线文件存储方法及装置 - Google Patents
一种高效去重的轻量级在线文件存储方法及装置 Download PDFInfo
- Publication number
- CN111966649A CN111966649A CN202011128003.5A CN202011128003A CN111966649A CN 111966649 A CN111966649 A CN 111966649A CN 202011128003 A CN202011128003 A CN 202011128003A CN 111966649 A CN111966649 A CN 111966649A
- Authority
- CN
- China
- Prior art keywords
- file
- stored
- files
- hash
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种高效去重的轻量级在线文件存储方法及装置,方法包括:将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。本实施例的文件存储方法在存储空间、负载均衡、访问效率和实时性方面具有良好的整体性能。
Description
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种高效去重的轻量级在线文件存储方法及装置。
背景技术
分布式服务器在接收文件时,需要按照一定的存储策略存储文件,存储策略需要综合考虑各服务器的存储空间、负载均衡以及读取文件的访问效率和实时性等性能要求,有些服务器会接收大量存在重复内容的文件,如何对文件进行有效的去重处理,提供能够满足各项性能要求的存储策略,是本领域尚需解决的技术问题。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种高效去重的轻量级在线文件存储方法及装置,能够满足文件存储的各项性能要求。
基于上述目的,本说明书一个或多个实施例提供了一种高效去重的轻量级在线文件存储方法,包括:
将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;
基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
可选的,所述文件存储方法还包括:
对于所述服务器中存储的具有一定相似度的文件,删除重复的冗余数据。
可选的,所述文件存储方法还包括:
当所述待存储文件的数量到达预定数量时,更新所述表空间。
所述投影点按照公式(4)所示概率分布函数进行分布:
其中,i为整数,x是投影点的投影位置;
所述投影点的累积分布函数为:
可选的,根据所述表空间中投影点的概率分布函数和累计分布函数,将所述表空间划分为与所述服务器的数量一致的桶区域。
本说明书实施例还提供一种高效去重的轻量级在线文件存储装置,包括:
第一哈希处理模块,用于将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;
第二哈希处理模块,用于基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
分配模块,用于将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
所述文件存储装置还包括:
去重模块,用于对于所述服务器中存储的具有一定相似度的文件,删除重复的冗余数据。
所述文件存储装置还包括:
更新模块,用于当所述待存储文件的数量到达预定数量时,更新所述表空间。
从上面所述可以看出,本说明书一个或多个实施例提供的高效去重的轻量级在线文件存储方法及装置,通过将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值,基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间,将表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。本实施例的文件存储方法在存储空间、负载均衡、访问效率和实时性方面具有良好的整体性能。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的数据处理框架示意图;
图3为本说明书一个或多个实施例的文件到布隆过滤器的映射关系示意图;
图4为本说明书一个或多个实施例的划分桶区域的示意图;
图5为本说明书一个或多个实施例的5个文件存储至两个服务器的示意图;
图6A为本说明书一个或多个实施例的不同数量的布隆过滤器的哈希函数的重复数据删除率变化示意图;
图6B为本说明书一个或多个实施例的不同数量的LSH的哈希函数的重复数据删除率变化示意图;
图7A为本说明书一个或多个实施例的文件大小分布示意图;
图7B为本说明书一个或多个实施例的表空间的投影点分布示意图;
图8A为本说明书一个或多个实施例的三种算法的重复数据删除率对比示意图;
图8B为本说明书一个或多个实施例的三种算法的服务器负载对比示意图;
图8C为本说明书另一个实施例的三种算法的服务器负载对比示意图。
图9为本说明书一个或多个实施例的装置结构示意图;
图10为本说明书一个或多个实施例的电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如图1所示,本说明书一个或多个实施例提供一种高效去重的轻量级在线文件存储方法,包括:
S101:将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;
结合图2、3所示,本实施例中,利用布隆过滤器实现待存储文件的第一层哈希映射处理。对于待存储文件,将其划分为大小相同的至少一个文件块,利用至少一种哈希函数计算每个文件块的哈希值,将各哈希函数计算得到的哈希值映射到布隆过滤器,对各个文件块进行处理后得到能够表示待存储文件的基于布隆过滤器的哈希值。
本实施例中,通过布隆过滤器能够快速确定出相似的文件。这是因为,计算两文件的相似度可通过计算两文件的布隆过滤器的哈希值之间的汉明距离来确定,汉明距离越小,两文件越相似。将文件分成多个文件块,对于相似的文件,存在重复的文件块,将文件的文件块利用相同的哈希函数算法计算哈希值并映射到布隆过滤器时,重复的文件块将映射于布隆过滤器的相同位,相同位的位元不会增加汉明距离,重复的文件块数量越多,两文件越相似。进一步的,对于相似的文件,便于进行去重处理,节省存储空间,提高空间利用率。
另外,在存储文件时,可通过计算文件的各个文件块的哈希值,将哈希值映射于布隆过滤器的对应位上;在查找文件时,可通过计算文件的各个文件块的哈希值,判断布隆过滤器的对应位是否置位,从而判断文件是否存在,相较于缓存或者数据库存储文件,能够提高文件查找效率。
S102:基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
结合图2所示,本实施例中,利用位置敏感哈希算法实现待存储文件的第二层哈希映射处理。利用位置敏感哈希算法对各待存储文件的基于布隆过滤器的哈希值进行哈希函数运算处理,能够将相似的文件聚合在一个区域内。
S103:将表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
本实施例中,将表空间划分为至少一个桶区域,每个桶区域内的文件对应分配并存储在一个存储容量匹配的服务器中,实现待存储文件的第三层映射处理。
本实施例提供的文件存储方法,通过将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值,基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间,将表空间划分为至少一个桶区域,根据各服务器的当前空闲存储容量,将各桶区域内的文件块存储于容量匹配的服务器。这样,一方面,充分考虑到文件相似性,能够最大化的将重复内容删除,节省存储空间,另一方面,将相似的文件存储于同一个服务器中,能够提高文件访问效率,第三,综合考虑服务器的当前空闲存储容量,分配存储文件,能够实现负载均衡,提升文件存储的整体性能。
一些实施例中,由于各服务器的存储容量处于变化状态,为保证文件存储处理的准确性,当待存储文件的数量到达预定数量时,更新表空间。即,每处理一定数量的文件,更新各文件在表空间的分布,根据更新后的表空间,划分为多个桶区域,根据各服务器的当前空闲存储容量,为各桶区域的文件分配容量匹配的服务器。
以下结合附图和实施例对本实施例的文件存储方法进行详细说明。
在一些应用场景下,将终端设备采集的数据文件存储于边缘服务器,能够节省带宽资源,降低延迟响应。然而,有些终端设备采集的数据文件所采集的数据文件存在大量重复的冗余数据,如果将采集的数据文件完整的保存于边缘服务器,大量冗余数据将占有大量的存储空间,降低空间利用率。
对重复的冗余数据进行去重处理,能够大幅提升服务器的空间利用率,节省存储空间。本实施例中,对于待存储文件,将其划分为多个文件块,利用至少一种哈希函数计算各文件块的哈希值,将生成的哈希值映射于布隆过滤器。根据每个文件的基于布隆过滤器的哈希值,可确定文件之间的相似度,相似度越高的文件,存在重复的冗余数据越多,将相似的文件存储于同一个服务器,该服务器能够最大限度的删除重复的冗余数据,充分利用服务器的存储空间,降低占用的存储空间。
结合图2所示,一些实施方式中,利用布隆过滤器实现待存储文件的第一层哈希映射处理,表示为,其中,A为待存储文件,d为布隆过滤器的长度。将待存储文件划分为数量固定、大小固定的 个文件块,由于待存储文件的大小可能相同也可能不同,划分文件块时,对于数据不足的文件块进行填充处理。待存储文件A的布隆过滤器的哈希值初始化为全0,使用KBF个哈希函数分别计算每个文件块的哈希值,并将得到的KBF个哈希值映射于初始化后的布隆过滤器的对应位,按照上述过程对各个文件块处理之后,得到表示待存储文件A的基于布隆过滤器的哈希值。如图3所示,对于待存储文件A1,将其划分为3个文件块B1、B2和B3,初始化长度d=19的布隆过滤器的哈希值,利用KBF=2个哈希函数分别计算每个文件块的哈希值,对于文件块B1,将两个哈希函数计算得到的两个哈希值映射于布隆过滤器的第5、8位,对于文件块B2,将两个哈希函数计算得到的两个哈希值映射于布隆过滤器的第3、17位,对于文件块B3,将两个哈希函数计算得到的两个哈希值映射于布隆过滤器的第8、14位,最终得到表示待存储文件A的布隆过滤器为“0010100100000100100”。其中,哈希函数包括但不限于MD5算法、SHA算法、Cityhash算法等。
为避免大量在线到达的文件在计算哈希值时产生冲突,布隆过滤器的长度d应足够大,既可避免计算冲突又可保证文件相似度计算的正确性。
本实施例中,为提高文件的访问效率,将一个完整的文件保存于同一个服务器中,同时,将相似度高的多个文件保存于同一个服务器,有利于该服务器对重复的冗余数据进行去重处理,能够利用尽量少的存储空间存储尽可能多的文件,提高存储空间利用率。为实现该目的,利用位置敏感哈希算法实现待存储文件的第二层哈希映射处理,表示为。
一些实施方式中,通过各文件的基于布隆过滤器的哈希值,能够确定相似的文件,在此基础上,利用位置敏感哈希算法(LSH,Locality Sensitivity Hash)将相似的文件映射于表空间的相同或相邻位置,实现具有一定相似度的文件的聚类。
为了将数据向量g(c)散列到表空间,使用如下散列函数:
经过位置敏感哈希算法的处理,相似的文件具有更多相同的数据向量元素,经过散列函数映射后,相似的文件会映射至相同或相邻的区域。
结合图4所示,文件对应的投影点映射于表空间中后,投影点分布可能不均匀,不利于实现服务器的负载均衡,为解决该问题,将表空间划分为至少一个桶区域,各桶区域的大小可以相同或者不同,桶区域的大小与服务器的当前空闲存储容量相适应,以适应服务器的异构存储能力,根据各服务器的当前空闲存储容量,将每个桶区域内的文件分配并存储至匹配的异构服务器中,实现待存储文件的第三层映射处理,表示为。
其中,i为整数,x是自变量,其为投影点的投影位置,对应图4所示横坐标。
随着n的增加,尺度参数收敛为稳定的值,记为:
本实施例的高效去重的轻量级在线文件存储方法,第一层哈希映射处理的时间复杂度为,第二层哈希映射处理的时间复杂度是,第三层映射处理的时间复杂度为 ,三层映射处理的时间复杂度为,对于给定的、和,三层映射处理具有线性时间复杂度,运行效率高,而且文件按顺序存储于服务器,能够实现文件存储的实时性。通过三层轻量级的映射处理过程,能够将相似度高、重复率高的文件存储于同一个服务器,在服务器端提高冗余数据的去重处理效率,节省服务器的存储空间,提高文件处理效率。
如图5所示,于一实施例中,待存储文件为A1-A5五个文件,文件A1包括文件块B1、B2和B3,文件A2包括文件块B1、B2和B5,文件A3包括文件块B4、B6,文件A4包括文件块B1、B4,文件A5包括文件块B6;其中,文件A1与A2存在重复的文件块B1、B2,文件A1与A4存在重复的文件块B1,文件A3与A4存在重复的文件块B4,文件A3与A5存在重复的文件块B6。服务器1的当前剩余存储容量为5,能够存储5个文件块,服务器2的当前剩余存储容量为4,能够存储4个文件块。按照第1)种方法,各文件块均匀的分配给两个服务器,能够实现两服务器的负载均衡,节省存储空间,然而,由于同一文件的文件块分布在两个服务器,无法保证文件的访问效率;按照第2)种方法,虽然将同一文件完整的存储于一个服务器上,但是无法实现服务器的负载均衡,服务器1的存储空间已用尽,而服务器1的存储空间空闲较多;按照第3)种方法,即本实施例提供的文件存储方法,既能有效利用各服务器的存储空间,实现负载均衡,又可将同一文件存储于一个服务器,提高文件访问效率,同时,文件按顺序存储,时间复杂度为线性,能够保证文件处理的实时性。
以下提供三条定理,用以验证本实施例的文件存储方法的可行性。
证明过程:对于任意文件,通过统计数据集中不同大小的文件出现的频率,可以得到 包含r个文件块的概率p(r)。当时,文件的布隆滤波器的哈希值中1的最大数量是,这与不可能匹配。因此,只考虑的情况。在这些情况下,只出现在文件的个位置全部落入文件的布隆滤波器的n个位置时,而这n个位置中的任何一个都不能为空。因此,对于包含r个文件块的文件,的概率记为,可计算为:
证明过程:令和,其中 ,那么可以重写为。当在一个固定的中单调地降低时,定理2是可以保证的。首先关注,中的LSH哈希函数是,其中的任何元素都是从标准柯西分布中随机选取的。因此,的概率分布可视为,其中 表示标准柯西分布绝对值的概率分布函数,公式如下:
根据定理2和定理3,能够表明所选的哈希函数可以捕获输入数据之间的相似性,然后将投影点输出到LSH哈希表的附近位置。即,利用本实施例的方法能够将相似的文件聚合在表空间的相同或相邻的桶区域。
以下结合试验数据说明本实施例的文件存储方法的效果。
准备数据集:从GitHub网站上随机下载10个热门话题项目的源代码,如AmazonWeb Service和Azure。对于每个项目,随机选择3-5个不同的历史版本,解压后共得到7060个源代码文件,每个文件大小在4KB到2.2MB之间。将每个文件划分为多个文件块,每个文件块的大小为2KB(数据量不足的进行填充),得到文件块的总数为49,945个。为突出本实施例的文件存储方法的效果,选取两种现有的文件存储方法进行对比说明,一种是随机分配RA算法,该算法是将文件随机分配给任意服务器;另一种是最充足优先MAF算法,该算法考虑服务器的当前空闲存储容量,将文件分配给具有最大的空闲存储容量的服务器。
若评价指标包括重复数据删除率(deduplication ratio,也称为去重率)和服务器负载,其中,重复数据删除率定义为重复的冗余数据删除后节省的存储空间比例,其值小于等于1;服务器负载定义为重复的冗余数据删除后占用的存储资源。
首先利用包括2300个文件的小规模数据集确定出第一层哈希映射处理和第二层哈希映射处理的哈希函数的最佳数量,初步确定表空间中的投影点分布,初步划分桶区域。
如图6A、6B所示,重复数据删除率随着文件数量的增加而增长,这是因为服务器中存储了相似度较高的文件,能够删除重复的冗余数据,这种增长趋势根据文件的大小和相似性而波动。若设置布隆过滤器的长度为100,当LSH的哈希函数的数量k-LSH=8时,第一层哈希映射的最优哈希函数数量为k-BF=1,然后利用确定出的最优k-BF测试不同k-LSH下的重复数据删除率,能够得到最优的k-LSH=4。这样,确定出最佳的k-BF和k-LSH之后,本实施例的文件存储方法能够提高重复数据删除率,节省44%的存储资源。
如图7A所示,在2300个文件中,大约过半的文件只包含4-8个文件块,只有77个文件的文件块数量超过72个。各文件被映射到表空间中,投影点分布如图7B所示,满足柯西分布,柯西分布的长尾效应也可以解释极值区域(-230和400左右)投影点较多的现象,这个小规模数据量的试验也证明了用柯西分布划分LSH表空间是合理的。
利用小规模数据集确定出哈希函数的最佳数量,以及初步的表空间分布之后,利用确定的参数对完整数据集进行试验。
如图8A所示,利用现有的RA算法、MAF算法和本实施例的文件存储方法(可称为LOFA算法),对数据集中的文件进行文件存储。由于将具有一定相似度的文件分配于同一个服务器,所以LOFA算法能够达到高于预设的基线的三倍的重复数据删除率,若理论最大重复删除率为48.76%(将所有文件分配到一台容量无限的服务器上时的重复数据删除率),LOFA算法最高可达到43%的重复数据删除率,与理论最大重复删除率非常接近;而RA算法、MAF算法在存储文件时,并未考虑文件之间的相似性,所能达到的重复数据删除率不高。
随着文件数量的增加,服务器负载增加,重复数据删除率会下降,这是因为,当待存储文件与特定服务器已经存储的文件的相似度较高时,将待存储文件存储于该特定服务器,特定服务器通过将重复的冗余数据删除,能够有效降低负载量,由于冗余数据被消除,重复数据删除率会下降。
如图8B所示,考虑十台服务器的服务器负载一致的情况下,LOFA算法所占用的存储空间最少,且能够达到一定程度的负载均衡;虽然MAF算法实现了负载均衡,但是整体上占用了较多的存储空间,而RA算法由于随机分配文件,未考虑负载均衡问题,可能会出现将一些大文件分配于同一台服务器,占用较多的存储空间。
如图8C所示,考虑十台服务器的容量不同的情况,若十台服务器的容量分别标准化为1.0、2.5、1.6、3.2、0.8、1.2、1.9、2.5、4.5、5.0,这种情况下,重复数据删除率比服务器容量一致的情况稍高一些,最多约为10%。原因是,第10台服务器充当一个存储大文件的角色,这些大文件的投影点位于表空间靠右侧的桶区域(由于大文件的布隆过滤器的哈希值含有较多的“1”,因此,在表空间的投影位置的绝对值较大,对应于表空间靠右侧的桶区域)中。将第10台服务器的存储容量设置为更高的值,是第5台服务器的6.25倍,更能满足重复数据删除的要求,这是因为,不管重载情况如何,相似的大文件包含更多重复的文件块,存储在一起能够消除更多的冗余数据。另外,利用LOFS算法,十台服务器的负载量均比预设的负载基线要低很多,表明LOFS算法的有效性和健壮性。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图9所示,本说明书实施例还提供一种高效去重的轻量级在线文件存储装置,包括:
第一哈希处理模块,用于将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的布隆过滤器;
第二哈希处理模块,用于基于至少一个待存储文件的布隆过滤器,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
分配模块,用于将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
一些实施例中,所述装置还包括:
去重模块,用于对于所述服务器中存储的具有一定相似度的文件,删除重复的冗余数据。
一些实施例中,所述装置还包括:
更新模块,用于当所述待存储文件的数量到达预定数量时,更新所述表空间。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图10示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种高效去重的轻量级在线文件存储方法,其特征在于,包括:
将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;
基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
2.根据权利要求1所述的方法,其特征在于, 还包括:
对于所述服务器中存储的具有一定相似度的文件,删除重复的冗余数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述待存储文件的数量到达预定数量时,更新所述表空间。
4.根据权利要求1所述的方法,其特征在于,
所述投影点按照公式(4)所示概率分布函数进行分布:
其中,i为整数,x是投影点的投影位置;
所述投影点的累积分布函数为:
5.根据权利要求4所述的方法,其特征在于,根据所述表空间中投影点的概率分布函数和累计分布函数,将所述表空间划分为与所述服务器的数量一致的桶区域。
8.一种高效去重的轻量级在线文件存储装置,其特征在于,包括:
第一哈希处理模块,用于将待存储文件划分为至少一个文件块,计算各文件块的哈希值,生成表示待存储文件的基于布隆过滤器的哈希值;
第二哈希处理模块,用于基于至少一个待存储文件的基于布隆过滤器的哈希值,进行位置敏感哈希算法处理,生成表示至少一个待存储文件的表空间;
分配模块,用于将所述表空间划分为至少一个桶区域,各桶区域内包括具有一定相似度的文件,根据各服务器的当前空闲存储容量,将各桶区域内的文件存储于容量匹配的服务器。
9.根据权利要求8所述的装置,其特征在于,还包括:
去重模块,用于对于所述服务器中存储的具有一定相似度的文件,删除重复的冗余数据。
10.根据权利要求8所述的装置,其特征在于,还包括:
更新模块,用于当所述待存储文件的数量到达预定数量时,更新所述表空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011128003.5A CN111966649B (zh) | 2020-10-21 | 2020-10-21 | 一种高效去重的轻量级在线文件存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011128003.5A CN111966649B (zh) | 2020-10-21 | 2020-10-21 | 一种高效去重的轻量级在线文件存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966649A true CN111966649A (zh) | 2020-11-20 |
CN111966649B CN111966649B (zh) | 2021-01-01 |
Family
ID=73387080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011128003.5A Active CN111966649B (zh) | 2020-10-21 | 2020-10-21 | 一种高效去重的轻量级在线文件存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966649B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445771A (zh) * | 2020-12-10 | 2021-03-05 | 阿米华晟数据科技(江苏)有限公司 | 网络流量的数据处理方法、装置、设备及存储介质 |
CN112529613A (zh) * | 2020-11-27 | 2021-03-19 | 广州华多网络科技有限公司 | 用户连续登录数据的处理、虚拟资源的转移方法和装置 |
CN112580092A (zh) * | 2020-12-07 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
CN112817962A (zh) * | 2021-03-16 | 2021-05-18 | 广州鼎甲计算机科技有限公司 | 基于对象存储的数据存储方法、装置和计算机设备 |
CN113590535A (zh) * | 2021-09-30 | 2021-11-02 | 中国人民解放军国防科技大学 | 一种用于去重存储系统的高效数据迁移方法和装置 |
CN116010362A (zh) * | 2023-03-29 | 2023-04-25 | 世优(北京)科技有限公司 | 文件存储和文件读取的方法、装置及系统 |
CN117407361A (zh) * | 2023-12-13 | 2024-01-16 | 镕铭微电子(济南)有限公司 | 数据管理方法、装置、系统、服务器及存储介质 |
CN117407372A (zh) * | 2023-10-18 | 2024-01-16 | 北京安证通信息科技股份有限公司 | 一种上传文件去重方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539950A (zh) * | 2009-05-08 | 2009-09-23 | 成都市华为赛门铁克科技有限公司 | 数据存取方法和装置 |
US20120323860A1 (en) * | 2011-06-14 | 2012-12-20 | Netapp, Inc. | Object-level identification of duplicate data in a storage system |
CN106201771A (zh) * | 2015-05-06 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 数据存储系统和数据读写方法 |
CN107391554A (zh) * | 2017-06-07 | 2017-11-24 | 中国人民解放军国防科学技术大学 | 高效分布式局部敏感哈希方法 |
CN110309143A (zh) * | 2018-03-21 | 2019-10-08 | 华为技术有限公司 | 数据相似度确定方法、装置及处理设备 |
CN111666258A (zh) * | 2019-03-06 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置、信息查询方法和装置 |
-
2020
- 2020-10-21 CN CN202011128003.5A patent/CN111966649B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539950A (zh) * | 2009-05-08 | 2009-09-23 | 成都市华为赛门铁克科技有限公司 | 数据存取方法和装置 |
US20120323860A1 (en) * | 2011-06-14 | 2012-12-20 | Netapp, Inc. | Object-level identification of duplicate data in a storage system |
CN106201771A (zh) * | 2015-05-06 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 数据存储系统和数据读写方法 |
CN107391554A (zh) * | 2017-06-07 | 2017-11-24 | 中国人民解放军国防科学技术大学 | 高效分布式局部敏感哈希方法 |
CN110309143A (zh) * | 2018-03-21 | 2019-10-08 | 华为技术有限公司 | 数据相似度确定方法、装置及处理设备 |
CN111666258A (zh) * | 2019-03-06 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 信息处理方法和装置、信息查询方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529613A (zh) * | 2020-11-27 | 2021-03-19 | 广州华多网络科技有限公司 | 用户连续登录数据的处理、虚拟资源的转移方法和装置 |
CN112580092A (zh) * | 2020-12-07 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
CN112580092B (zh) * | 2020-12-07 | 2023-03-24 | 北京明朝万达科技股份有限公司 | 一种敏感文件识别方法及装置 |
CN112445771A (zh) * | 2020-12-10 | 2021-03-05 | 阿米华晟数据科技(江苏)有限公司 | 网络流量的数据处理方法、装置、设备及存储介质 |
CN112817962A (zh) * | 2021-03-16 | 2021-05-18 | 广州鼎甲计算机科技有限公司 | 基于对象存储的数据存储方法、装置和计算机设备 |
CN113590535A (zh) * | 2021-09-30 | 2021-11-02 | 中国人民解放军国防科技大学 | 一种用于去重存储系统的高效数据迁移方法和装置 |
CN113590535B (zh) * | 2021-09-30 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种用于去重存储系统的高效数据迁移方法和装置 |
CN116010362A (zh) * | 2023-03-29 | 2023-04-25 | 世优(北京)科技有限公司 | 文件存储和文件读取的方法、装置及系统 |
CN117407372A (zh) * | 2023-10-18 | 2024-01-16 | 北京安证通信息科技股份有限公司 | 一种上传文件去重方法及系统 |
CN117407361A (zh) * | 2023-12-13 | 2024-01-16 | 镕铭微电子(济南)有限公司 | 数据管理方法、装置、系统、服务器及存储介质 |
CN117407361B (zh) * | 2023-12-13 | 2024-03-22 | 镕铭微电子(济南)有限公司 | 数据管理方法、装置、系统、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111966649B (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966649B (zh) | 一种高效去重的轻量级在线文件存储方法及装置 | |
CN106096023B (zh) | 数据读取方法、数据写入方法及数据服务器 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
US10444995B2 (en) | Automated selection of functions to reduce storage capacity based on performance requirements | |
US10831747B2 (en) | Multi stage aggregation using digest order after a first stage of aggregation | |
US10614037B2 (en) | Optimized deduplicated object storage system | |
TW201423425A (zh) | 資料分塊儲存至分散式伺服器的系統及方法 | |
CN112287182A (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
US9742860B2 (en) | Bi-temporal key value cache system | |
US9916319B2 (en) | Effective method to compress tabular data export files for data movement | |
WO2014067063A1 (zh) | 重复数据检索方法及设备 | |
CN108021333B (zh) | 随机读写数据的系统、装置及方法 | |
US11249987B2 (en) | Data storage in blockchain-type ledger | |
US10996898B2 (en) | Storage system configured for efficient generation of capacity release estimates for deletion of datasets | |
CN113590535B (zh) | 一种用于去重存储系统的高效数据迁移方法和装置 | |
CN114741029A (zh) | 应用于去重存储系统的数据分配方法及相关设备 | |
US20200073963A1 (en) | Hierarchical file transfer using kde-optimized filesize probability densities | |
CN115934354A (zh) | 在线存储方法和装置 | |
CN107783990B (zh) | 一种数据压缩方法及终端 | |
US11159530B2 (en) | Direct upload and download to content management system backend | |
US11940998B2 (en) | Database compression oriented to combinations of record fields | |
CN113986134B (zh) | 存储数据的方法、读取数据的方法和装置 | |
CN115964002B (zh) | 一种电能表终端档案管理方法、装置、设备及介质 | |
CN114595030B (zh) | 一种基于拍卖算法的云容器资源分配方法及系统 | |
WO2023241740A1 (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 |