CN112631514A - 一种应用于云盘系统中的文件去重方法、系统 - Google Patents
一种应用于云盘系统中的文件去重方法、系统 Download PDFInfo
- Publication number
- CN112631514A CN112631514A CN202011495615.8A CN202011495615A CN112631514A CN 112631514 A CN112631514 A CN 112631514A CN 202011495615 A CN202011495615 A CN 202011495615A CN 112631514 A CN112631514 A CN 112631514A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- client
- sends
- cloud disk
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种应用于云盘系统中的文件去重方法及系统,该方法包括:客户端上传第一文件前,对第一文件进行弱校验,将弱校验信息发送给服务器;服务器接收弱校验信息,根据弱校验信息确定服务器中是否有第一文件,将结果返回给客户端;客户端根据返回的结果调整强校验与内容上传的流程。本申请通过客户端承担计算任务,提升了服务器吞吐量和并发度;服务器通过硬链接实现文件的去重,简化了文件特征值管理,大大降低整个云盘方案的复杂度。这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
Description
技术领域
本发明属于云存储领域,具体而言,涉及一种应用于云盘系统中的文件去重方法及系统。
背景技术
研究表明企业系统中存在着大量的重复数据,这些数据极大地增加了企业成本。为了抑制数据过快增长,提高IT资源利用率,去重技术在云盘系统中越来越被重视。
现有的去重技术分为文件级去重和文件分块去重。其中文件级别的数据去重是粗粒度也容易实现的一种,通过为文件整体计算一个哈希值,对于相同的哈希值的文件只存储一份。缺点是去重效果比较差。比较适合变动不太频繁的文件或者小文件。文件分块去重将文件按照固定或可变的大小切片,然后在数据块的级别做去重,优点是粒度细,缺点是需要更复杂的分块管理,同时对底层文件系统模块的要求也大大提高。
发明内容
本申请实施例提供了一种应用于云盘系统中的文件去重方法及系统,目的为提升服务器吞吐量和并发度,大大降低整个云盘方案的复杂度。
第一方面,本申请实施例提供了一种应用于云盘系统中的文件去重方法,包括:
客户端上传第一文件前,对所述第一文件进行弱校验,将弱校验信息发送给服务器;
所述服务器接收所述弱校验信息,根据所述弱校验信息确定所述服务器中是否有所述第一文件,将结果返回给客户端;
所述客户端根据返回的结果调整强校验与内容上传的流程。
其中,所述将结果返回给客户端,包括:
如果所述服务器中没有所述第一文件,服务器将未命中的信息发送给所述客户端;如果所述服务器中有所述第一文件,服务器将命中的信息发送给所述客户端;
所述客户端根据返回的结果调整强校验与内容上传的流程,包括:
当所述客户端接收到的信息为未命中时,所述客户端向所述服务器上传所述第一文件,同时计算所述第一文件的MD5值,将MD5值发送给所述服务器;
当所述客户端接收到的信息为命中时,所述客户端对所述第一文件进行强校验,计算所述第一文件的全文MD5值,所述客户端向所述服务器发送创建请求,所述创建请求中携带所述第一文件的全文MD5值。
其中,所述客户端向所述服务器上传所述第一文件,包括:
所述客户端向所述服务器发送未命中MD5的文件创建请求;
所述方法还包括:
所述服务器接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
其中,所述弱校验包括对所述第一文件的一部分进行校验;所述强校验包括对所述第一文件的全文进行校验。
其中,所述客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
第二方面,本申请提供了一种应用于云盘系统中的文件去重系统,包括客户端和服务器:
所述客户端用于:上传第一文件前,对所述第一文件进行弱校验,将弱校验信息发送给服务器;
所述服务器用于:接收所述弱校验信息,根据所述弱校验信息确定所述服务器中是否有所述第一文件,将结果返回给客户端;
所述客户端还用于:根据返回的结果调整强校验与内容上传的流程。
其中,所述服务器用于:
如果所述服务器中没有所述第一文件,服务器将未命中的信息发送给所述客户端;如果所述服务器中有所述第一文件,服务器将命中的信息发送给所述客户端;
所述客户端用于:
当所述客户端接收到的信息为未命中时,所述客户端向所述服务器上传所述第一文件,同时计算所述第一文件的MD5值,将MD5值发送给所述服务器;当所述客户端接收到的信息为命中时,所述客户端对所述第一文件进行强校验,计算所述第一文件的全文MD5值,所述客户端向所述服务器发送创建请求,所述创建请求中携带所述第一文件的全文MD5值。
其中,所述客户端用于:
所述客户端向所述服务器发送未命中MD5的文件创建请求;
所述服务器还用于:接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
其中,所述弱校验包括对所述第一文件的一部分进行校验;所述强校验包括对所述第一文件的全文进行校验。
其中,所述客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
本申请实施例应用于云盘系统中的文件去重方法及系统具有如下有益效果:
本申请应用于云盘系统中的文件去重方法包括:客户端上传第一文件前,对第一文件进行弱校验,将弱校验信息发送给服务器;服务器接收弱校验信息,根据弱校验信息确定服务器中是否有第一文件,将结果返回给客户端;客户端根据返回的结果调整强校验与内容上传的流程。本申请通过客户端承担计算任务,提升了服务器吞吐量和并发度,这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
附图说明
图1为本申请实施例应用于云盘系统中的文件去重方法流程示意图;
图2为本申请实施例应用于云盘系统中的文件去重方法另一种流程示意图;
图3为本申请实施例应用于云盘系统中的文件去重系统的结构示意图;
图4为本申请实施例服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行进一步的介绍。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
本发明的目的是结合云盘前后端的特性,给出一种简洁可靠的文件级去重方案及其协议实现。本发明的上述一个目的将通过以下技术方案得以实现:客户端与服务器协同,客户端承担文件md5计算工作,服务端信任客户端计算结果。双方基于HTTP协议进行通信,涉及文件的弱校验、创建、修改和删除。
如图1-2所示,本申请应用于云盘系统中的文件去重方法包括步骤:S101,客户端上传第一文件前,对第一文件进行弱校验,将弱校验信息发送给服务器;S103,服务器接收弱校验信息,根据弱校验信息确定服务器中是否有第一文件,将结果返回给客户端;S105,客户端根据返回的结果调整强校验与内容上传的流程。下面介绍每一步骤。
S101,客户端上传第一文件前,对第一文件进行弱校验,将弱校验信息发送给服务器。
弱校验包括对第一文件的一部分进行校验。文件上传前,客户端首先进行弱校验,弱校验只对文件一部分取样哈希,通过弱校验可以快速排除服务器不存在该文件的情况。然后进行强校验,在创建文件的请求结果中判断是否存在相同文件,存在则创建结束,否则继续上传剩余内容。关于强校验及后续处理过程将在下面介绍。
S103,服务器接收弱校验信息,根据弱校验信息确定服务器中是否有第一文件,将结果返回给客户端。
服务器需要维护弱校验的weakchksum,响应客户端的弱校验检查;响应客户端创建请求,维护MD5文件库,通过硬链接关联目标文件与MD5文件。
本步骤中包括:如果服务器中没有第一文件,服务器将未命中的信息发送给客户端;如果服务器中有第一文件,服务器将命中的信息发送给客户端。
S105,客户端根据返回的结果调整强校验与内容上传的流程。
客户端需根据弱校验结果,动态的调整强校验与内容上传的流程。强校验和文件创建的请求合并,通过在HTTP请求中携带相关tag实现。
若弱校验服务器返回命中,客户端需立即做强校验,对全文计算MD5,并在创建请求中携带该MD5;若弱校验返回未命中,客户端只需边上传边计算,保证最后上传结束时,携带最终的文件MD5。
也就是说,本步骤包括:当客户端接收到的信息为未命中时,客户端向服务器上传第一文件,同时计算第一文件的MD5值,将MD5值发送给服务器;当客户端接收到的信息为命中时,客户端对第一文件进行强校验,计算第一文件的全文MD5值,客户端向服务器发送创建请求,创建请求中携带第一文件的全文MD5值。强校验包括对第一文件的全文进行校验。
在一些实施例中,客户端向服务器上传第一文件,包括:客户端向服务器发送未命中MD5的文件创建请求;本申请方法还包括:服务器接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
在一些实施例中,客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
本发明技术方案应用于云盘系统,相对于现有技术其有益效果体现在:通过客户端承担计算任务,提升了服务器吞吐量和并发度;服务器通过硬链接实现文件的去重,简化了文件特征值管理,大大降低整个云盘方案的复杂度。这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
如图2所示,客户端首先对文件做取样哈希,计算弱校验,取样偏移按照指数级递增。计算结束向服务器查询弱校验是否命中:
1)弱校验未命中。客户端向服务器发送创建请求,服务器创建临时文件并返回临时文件名,用于客户端接下来的内容上传。
客户端需要在上传的同时计算文件MD5,在最后上传结束时,请求中同时携带文件md5和弱校验值。
2)弱校验命中。客户端直接计算全文MD5,在创建文件请求中携带该MD5。
服务器针对该MD5查重,存在两种情况,一种是MD5文件已存在,服务器直接链接MD5文件到目标路径,返回客户端创建成功,同时在HTTP的tag中添加md5命中标记,客户端收到应答结束上传流程。另一种是MD5文件不存在,服务器需要创建临时文件并返回创建结果。客户端收到应答后,继续上传内容写入临时文件,最终结束上传。服务器在结束上传时,通过硬链接的形式将临时文件关联到MD5文件库,并保存弱校验值,用于下次弱校验检查。
综上关于实施例的详细描述可见,本发明技术方案应用于云盘中,相对有益效果体现在:通过弱校验与强校验的结合,优化了文件不重复的场景下的使用体验,通过硬链接的使用也规避了复杂的特征值管理,可以极大地降低系统后端服务器开发的复杂度,提高服务器稳定度。而计算过程都集中在客户端,提高了系统吞吐量,服务器不会因此成为整个云盘解决方案的性能瓶颈。
如图3所示,本申请一种应用于云盘系统中的文件去重系统,包括客户端201和服务器202:客户端201用于:上传第一文件前,对第一文件进行弱校验,将弱校验信息发送给服务器;服务器202用于:接收弱校验信息,根据弱校验信息确定服务器中是否有第一文件,将结果返回给客户端;客户端201还用于:根据返回的结果调整强校验与内容上传的流程。
其中,服务器用于:
如果服务器中没有第一文件,服务器将未命中的信息发送给客户端;如果服务器中有第一文件,服务器将命中的信息发送给客户端;
客户端用于:
当客户端接收到的信息为未命中时,客户端向服务器上传第一文件,同时计算第一文件的MD5值,将MD5值发送给服务器;当客户端接收到的信息为命中时,客户端对第一文件进行强校验,计算第一文件的全文MD5值,客户端向服务器发送创建请求,创建请求中携带第一文件的全文MD5值。
其中,客户端用于:
客户端向服务器发送未命中MD5的文件创建请求;
服务器还用于:接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
其中,弱校验包括对第一文件的一部分进行校验;强校验包括对第一文件的全文进行校验。
其中,客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
本申请中,应用于云盘系统中的文件去重系统实施例与应用于云盘系统中的文件去重方法实施例基本相似,相关之处请参考应用于云盘系统中的文件去重方法实施例的介绍。
本领域的技术人员可以清楚地了解到本发明实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
本发明实施例的各处理单元和/或模块,可通过实现本发明实施例所述的功能的模拟电路而实现,也可以通过执行本发明实施例所述的功能的软件而实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述应用于云盘系统中的文件去重方法步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
图4为本申请实施例服务器的结构示意图,如图4所示,本申请的服务器例如为台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。本申请服务器包括处理器401、存储器402、输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线405或者其他方式连接。存储器402上存储有计算机程序,该计算机程序可在处理器401上运行,而且处理器401执行程序时实现上述应用于云盘系统中的文件去重方法中服务器执行的步骤。
输入装置403可接收输入的数字或字符信息,以及产生与数据处理计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器、等离子体显示器和触摸屏。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上介绍仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用于云盘系统中的文件去重方法,其特征在于,包括:
客户端上传第一文件前,对所述第一文件进行弱校验,将弱校验信息发送给服务器;
所述服务器接收所述弱校验信息,根据所述弱校验信息确定所述服务器中是否有所述第一文件,将结果返回给客户端;
所述客户端根据返回的结果调整强校验与内容上传的流程。
2.根据权利要求1所述应用于云盘系统中的文件去重方法,其特征在于,所述将结果返回给客户端,包括:
如果所述服务器中没有所述第一文件,服务器将未命中的信息发送给所述客户端;如果所述服务器中有所述第一文件,服务器将命中的信息发送给所述客户端;
所述客户端根据返回的结果调整强校验与内容上传的流程,包括:
当所述客户端接收到的信息为未命中时,所述客户端向所述服务器上传所述第一文件,同时计算所述第一文件的MD5值,将MD5值发送给所述服务器;
当所述客户端接收到的信息为命中时,所述客户端对所述第一文件进行强校验,计算所述第一文件的全文MD5值,所述客户端向所述服务器发送创建请求,所述创建请求中携带所述第一文件的全文MD5值。
3.根据权利要求2所述应用于云盘系统中的文件去重方法,其特征在于,所述客户端向所述服务器上传所述第一文件,包括:
所述客户端向所述服务器发送未命中MD5的文件创建请求;
所述方法还包括:
所述服务器接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
4.根据权利要求1-3任一项所述应用于云盘系统中的文件去重方法,其特征在于,所述弱校验包括对所述第一文件的一部分进行校验;所述强校验包括对所述第一文件的全文进行校验。
5.根据权利要求1-3任一项所述应用于云盘系统中的文件去重方法,其特征在于,所述客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
6.一种应用于云盘系统中的文件去重系统,其特征在于,包括客户端和服务器:
所述客户端用于:上传第一文件前,对所述第一文件进行弱校验,将弱校验信息发送给服务器;
所述服务器用于:接收所述弱校验信息,根据所述弱校验信息确定所述服务器中是否有所述第一文件,将结果返回给客户端;
所述客户端还用于:根据返回的结果调整强校验与内容上传的流程。
7.根据权利要求6所述应用于云盘系统中的文件去重系统,其特征在于,所述服务器用于:
如果所述服务器中没有所述第一文件,服务器将未命中的信息发送给所述客户端;如果所述服务器中有所述第一文件,服务器将命中的信息发送给所述客户端;
所述客户端用于:
当所述客户端接收到的信息为未命中时,所述客户端向所述服务器上传所述第一文件,同时计算所述第一文件的MD5值,将MD5值发送给所述服务器;当所述客户端接收到的信息为命中时,所述客户端对所述第一文件进行强校验,计算所述第一文件的全文MD5值,所述客户端向所述服务器发送创建请求,所述创建请求中携带所述第一文件的全文MD5值。
8.根据权利要求7所述应用于云盘系统中的文件去重系统,其特征在于,所述客户端用于:
所述客户端向所述服务器发送未命中MD5的文件创建请求;
所述服务器还用于:接收未命中MD5的文件创建请求,生成一个临时文件,在文件上传结束时,在MD5文件库通过硬链接关联该临时文件,然后重命名并移动该临时文件至目标位置。
9.根据权利要求6-8中任一项所述应用于云盘系统中的文件去重系统,其特征在于,所述弱校验包括对所述第一文件的一部分进行校验;所述强校验包括对所述第一文件的全文进行校验。
10.根据权利要求6-8中任一项所述应用于云盘系统中的文件去重系统,其特征在于,所述客户端与服务器基于HTTP协议进行通信,协议使用HTTP头部的扩展tag标记来标记文件的请求类型和参数,使用HTTP的Content段来进行文件数据内容的交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495615.8A CN112631514A (zh) | 2020-12-17 | 2020-12-17 | 一种应用于云盘系统中的文件去重方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495615.8A CN112631514A (zh) | 2020-12-17 | 2020-12-17 | 一种应用于云盘系统中的文件去重方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631514A true CN112631514A (zh) | 2021-04-09 |
Family
ID=75316343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011495615.8A Pending CN112631514A (zh) | 2020-12-17 | 2020-12-17 | 一种应用于云盘系统中的文件去重方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631514A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552669A (zh) * | 2008-04-02 | 2009-10-07 | 林兆祥 | 数据传输的方法及系统 |
US20110087776A1 (en) * | 2009-10-13 | 2011-04-14 | Google Inc. | Cloud based computer power management |
CN102868765A (zh) * | 2012-10-09 | 2013-01-09 | 乐视网信息技术(北京)股份有限公司 | 文件上传方法和系统 |
US20140122451A1 (en) * | 2012-10-29 | 2014-05-01 | Dropbox, Inc. | System and method for preventing duplicate file uploads from a mobile device |
CN104247376A (zh) * | 2013-04-02 | 2014-12-24 | 华为技术有限公司 | 云存储的文件上传方法、客户端、应用服务器及云存储系统 |
CN104410692A (zh) * | 2014-11-28 | 2015-03-11 | 上海爱数软件有限公司 | 一种用于重复文件上传的方法和系统 |
CN105635324A (zh) * | 2016-03-17 | 2016-06-01 | 新浪网技术(中国)有限公司 | 用于浏览器或服务器的大文件上传、续传方法和装置 |
CN107220388A (zh) * | 2017-06-30 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种上传文件的方法与装置 |
CN109213738A (zh) * | 2018-11-20 | 2019-01-15 | 武汉理工光科股份有限公司 | 一种云存储文件级重复数据删除检索系统及方法 |
-
2020
- 2020-12-17 CN CN202011495615.8A patent/CN112631514A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552669A (zh) * | 2008-04-02 | 2009-10-07 | 林兆祥 | 数据传输的方法及系统 |
US20110087776A1 (en) * | 2009-10-13 | 2011-04-14 | Google Inc. | Cloud based computer power management |
CN102868765A (zh) * | 2012-10-09 | 2013-01-09 | 乐视网信息技术(北京)股份有限公司 | 文件上传方法和系统 |
US20140122451A1 (en) * | 2012-10-29 | 2014-05-01 | Dropbox, Inc. | System and method for preventing duplicate file uploads from a mobile device |
CN104247376A (zh) * | 2013-04-02 | 2014-12-24 | 华为技术有限公司 | 云存储的文件上传方法、客户端、应用服务器及云存储系统 |
CN104410692A (zh) * | 2014-11-28 | 2015-03-11 | 上海爱数软件有限公司 | 一种用于重复文件上传的方法和系统 |
CN105635324A (zh) * | 2016-03-17 | 2016-06-01 | 新浪网技术(中国)有限公司 | 用于浏览器或服务器的大文件上传、续传方法和装置 |
CN107220388A (zh) * | 2017-06-30 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种上传文件的方法与装置 |
CN109213738A (zh) * | 2018-11-20 | 2019-01-15 | 武汉理工光科股份有限公司 | 一种云存储文件级重复数据删除检索系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442898B2 (en) | File system hierarchies and functionality with cloud object storage | |
US11132261B2 (en) | System and method for utilizing operation identifiers for communicating with storage systems to perform a dataset image operation | |
EP2731013B1 (en) | Backing up method, device, and system for virtual machine | |
US10409986B1 (en) | Ransomware detection in a continuous data protection environment | |
US9454538B2 (en) | Low-overhead enhancement of reliability of journaled file system using solid state storage and de-duplication | |
US8521704B2 (en) | System and method for filesystem deduplication using variable length sharing | |
US10223023B1 (en) | Bandwidth reduction for multi-level data replication | |
CN108255647B (zh) | 一种samba服务器集群下的高速数据备份方法 | |
CN105635324A (zh) | 用于浏览器或服务器的大文件上传、续传方法和装置 | |
WO2023093245A1 (zh) | 基于分布式文件系统的元数据查询方法、设备和存储介质 | |
US20160011945A1 (en) | Multi stream deduplicated backup of collaboration server data | |
KR20130139883A (ko) | 오프로드 판독 및 기록 | |
CN112583904A (zh) | 文件上传方法、装置、设备以及存储介质 | |
US20170279889A1 (en) | Identifying data for deduplication in a network storage environment | |
KR101918806B1 (ko) | 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 | |
CN112565356A (zh) | 数据存储方法、装置以及电子设备 | |
US11675806B2 (en) | Aggregate and transactional networked database query processing | |
CN112631514A (zh) | 一种应用于云盘系统中的文件去重方法、系统 | |
US20230205899A1 (en) | Just-in-time data object permission restriction | |
US10705765B2 (en) | Managing point-in-time copies for extents of data | |
Li et al. | IndigoStore: Latency Optimized Distributed Storage Backend for Cloud-Scale Block Storage | |
CN116954988A (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 |