CN106649721B - 一种文件排重方法和装置 - Google Patents
一种文件排重方法和装置 Download PDFInfo
- Publication number
- CN106649721B CN106649721B CN201611196790.0A CN201611196790A CN106649721B CN 106649721 B CN106649721 B CN 106649721B CN 201611196790 A CN201611196790 A CN 201611196790A CN 106649721 B CN106649721 B CN 106649721B
- Authority
- CN
- China
- Prior art keywords
- file
- stored
- files
- path
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/13—File access structures, e.g. distributed indices
-
- 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/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/0671—In-line storage system
Abstract
本发明提供了一种文件排重方法和装置,应用于存储设备,该方法包括:获取待存储文件,基于待存储文件的文件内容生成待存储文件的标识值;比较存储设备中所有已存储文件的标识值与待存储文件的标识值,如果存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性。本发明能够避免文件的重复存放,减少存储资源浪费。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种文件排重方法和装置。
背景技术
在存储设备中,文件数据,特别是一些音视频文件,占用存储空间特别多。如果多个用户共用一个存储空间时,经常会出现不同用户存储相同内容的文件的情况,导致文件的重复存储,占用不必要的存储空间,造成存储空间浪费。
发明内容
有鉴于此,本发明的目的在于提供一种文件排重方法和装置,能够避免文件的重复存放,减少存储资源浪费。
为了达到上述目的,本发明提供了如下技术方案:
一种文件排重方法,应用于存储设备,该方法包括:
获取待存储文件,基于待存储文件的文件内容生成待存储文件的标识值;
比较存储设备中所有已存储文件的标识值与待存储文件的标识值,如果存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性。
一种文件排重装置,应用于存储设备,该装置包括:获取单元、生成单元、比较单元、处理单元;
所述获取单元,用于获取待存储文件;
所述生成单元,用于基于待存储文件的文件内容生成待存储文件的标识值;
所述比较单元,用于比较存储设备中所有已存储文件的标识值与待存储文件的标识值;
所述处理单元,用于如果比较单元判定存储设备中存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性。
由上面的技术方案可知,本发明中,通过将存储设备中的已存储文件的标识值与待存储文件的标识值进行比较,确定存储设备中是否已经存储有与待存储文件具有相同文件内容的已存储文件,存在则生成指向已存储文件的链接,将该链接作为待存储文件,从而可以使得同一内容的文件在存储设备中仅存储一份。可以看出,本发明能够避免文件的重复存放,减少存储资源浪费。
附图说明
图1是本发明实施例文件排重方法的流程图;
图2是本发明实施例文件排重装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
参见图1,图1是本发明实施例文件排重方法的流程图,该方法应用于存储设备,主要包括以下步骤:
步骤101、获取待存储文件,基于待存储文件的文件内容生成待存储文件的标识值。
待存储文件为用户上传的文件,或者其它来源的文件。
在进行文件排重时,如果直接进行文件内容对比来确定是否是相同内容的文件,由于文件内容的数据量较大,排重效率会非常低下,因此本实施例中通过文件的标识值进行排重。
文件的标识值可以是任何可以标识文件内容的特征值,在本实施例中,采用将基于文件内容生成的MD5(Message-Digest Algorithm 5,信息-摘要算法5)值作为文件的标识值。
步骤102、比较存储设备中所有已存储文件的标识值与待存储文件的标识值,如果存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性。
本实施例中,在将文件存储到存储设备之前,生成文件对应的标识值(MD5),在将文件存储到存储设备中时,同时将文件的标识值存储为文件的一个属性。以后查找该文件的标识值时,直接通过获取该文件的属性的方式获取该文件的标识值。将文件的标识值存储为文件的属性的方法,一方面可以极大的提高了获取该文件的标识值的效率,另一方面也可以使得文件的标识值随文件的位置变化而迁移,相对于现有技术将文件的标识值(MD5)简单的记录在一个系统的配置文件里面的作法,可以避免因系统配置文件坏掉而导致存储设备中所有文件的标识值(MD5)丢失的情况。
当有新的待存储文件时,可以通过将待存储文件的标识值与存储设备中当前已存储的所有文件的标识值进行比较,确定是否存在与待存储文件具有相同标识值的已存储文件,如果存在,则说明待存储文件的文件内容在存储设备中已经存在,不需要再多存储一份,因此需要执行排重操作,如果不存在,则说明待存储文件的文件内容在存储设备中尚未存在,可以直接执行存储操作即可。
当确定存储设备中存在与待存储文件具有相同标识值的已存储文件后,执行的排重操作为:生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径。然而,考虑到该已存储文件所在文件路径(也即文件目录)与待存储文件的目标文件路径相同的情况下,可以直接将该已存储文件作为待存储文件,不需要再生成指向该已存储文件的链接。
因此,在本实施例中,在确定存储设备中存在与待存储文件具有相同标识值的已存储文件之后,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之前,需要先判断该已存储文件所在文件路径与待存储文件的目标文件路径是否相同,相同则根据需求返回上传成功信息到上传待存储文件的设备,然后结束本次存储操作,或者直接结束本次存储操作;不同则再执行生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径的操作,此时还可以根据需求返回上传成功信息到上传待存储文件的设备。
另外,在确定存储设备中存在与待存储文件具有相同标识值的已存储文件后,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径时,还需要将待存储文件的文件名称设置作为该链接的名称,从而使得用户可以将该链接看作待存储文件。
在实际应用中,同一路径下不允许存储具有相同文件名称的多份文件,因此,在执行步骤102之前,可以先比较目标文件路径下的所有已存储文件的文件名称与待存储文件的文件名称,如果目标文件路径下存在一已存储文件与待存储文件具有相同的文件名称,则可以输出重名提示(与现有技术相同,提示用户选择覆盖原文件、或不覆盖原文件而是修改待存储文件的名称),若接收到用户的覆盖重名文件请求,则删除该已存储文件,并继续执行步骤102的操作,如果接收到用户在选择不覆盖重名文件后输入的新的文件名称,则将新的文件名称作为待存储文件的文件名称,并继续执行步骤102的操作。
以上对本发明实施例文件排重方法进行了详细说明,本发明还提供了一种文件排重装置,以下结合图2进行详细说明。
参见图2,图2是本发明实施例文件排重装置的结构示意图,该装置应用于存储设备,主要包括:获取单元201、生成单元202、比较单元203、处理单元204;其中,
获取单元201,用于获取待存储文件;
生成单元202,用于基于待存储文件的文件内容生成待存储文件的标识值;
比较单元203,用于比较存储设备中所有已存储文件的标识值与待存储文件的标识值;
处理单元204,用于如果比较单元203判定存储设备中存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性。
图2所示装置中,
所述比较单元203,比较所有已存储文件的标识值与待存储文件的标识值之前,进一步用于:比较目标路径下的所有已存储文件的文件名称与待存储文件的文件名称,如果目标路径下存在一已存储文件与待存储文件具有相同的文件名称,则输出重名提示,若接收到用户的覆盖重名文件请求,则删除该已存储文件,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作,如果接收到用户在选择不覆盖重名文件后输入的新的文件名称,则将新的文件名称作为待存储文件的文件名称,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作。
图2所示装置中,
所述处理单元204,在比较单元203确定存储设备中存在一已存储文件与待存储文件的标识值相同之后,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之前,进一步用于:
判断该已存储文件所在的文件路径与待存储文件的目标文件路径是否相同,如果相同,则结束本次存储操作,否则,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径。
图2所示装置中,
所述待存储文件为用户上传的文件;
所述处理单元204,结束本次存储操作之前,进一步用于:输出上传成功信息;
所述处理单元204,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之后,进一步用于:输出上传成功信息。
图2所示装置中,
所述处理单元204,将该链接作为待存储文件存储到目标文件路径时,进一步将待存储文件的文件名称作为该链接的名称。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种文件排重方法,应用于存储设备,其特征在于,该方法包括:
获取待存储文件,基于待存储文件的文件内容生成待存储文件的标识值;
比较存储设备中所有已存储文件的标识值与待存储文件的标识值,如果存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性;
其中,
确定存储设备中存在一已存储文件与待存储文件的标识值相同之后,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之前,进一步包括:
判断该已存储文件所在的文件路径与待存储文件的目标文件路径是否相同,如果相同,则结束本次存储操作,否则,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径;
将该链接作为待存储文件存储到目标文件路径时,进一步将待存储文件的文件名称作为该链接的名称。
2.根据权利要求1所述的方法,其特征在于,
比较所有已存储文件的标识值与待存储文件的标识值之前,进一步包括:比较目标路径下的所有已存储文件的文件名称与待存储文件的文件名称,如果目标路径下存在一已存储文件与待存储文件具有相同的文件名称,则输出重名提示,若接收到用户的覆盖重名文件请求,则删除该已存储文件,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作,如果接收到用户在选择不覆盖重名文件后输入的新的文件名称,则将新的文件名称作为待存储文件的文件名称,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作。
3.根据权利要求1所述的方法,其特征在于,
所述待存储文件为用户上传的文件;
结束本次存储操作之前,进一步包括:输出上传成功信息;
生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之后,进一步包括:输出上传成功信息。
4.一种文件排重装置,应用于存储设备,其特征在于,该装置包括:获取单元、生成单元、比较单元、处理单元;
所述获取单元,用于获取待存储文件;
所述生成单元,用于基于待存储文件的文件内容生成待存储文件的标识值;
所述比较单元,用于比较存储设备中所有已存储文件的标识值与待存储文件的标识值;
所述处理单元,用于如果比较单元判定存储设备中存在一已存储文件与待存储文件具有相同的标识值,则生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径,否则,将待存储文件存储到目标文件路径,并将待存储文件的标识值存储为待存储文件的属性;
其中,所述处理单元,在比较单元确定存储设备中存在一已存储文件与待存储文件的标识值相同之后,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之前,进一步用于:
判断该已存储文件所在的文件路径与待存储文件的目标文件路径是否相同,如果相同,则结束本次存储操作,否则,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径;
所述处理单元,将该链接作为待存储文件存储到目标文件路径时,进一步将待存储文件的文件名称作为该链接的名称。
5.根据权利要求4所述的装置,其特征在于,
所述比较单元,比较所有已存储文件的标识值与待存储文件的标识值之前,进一步用于:比较目标路径下的所有已存储文件的文件名称与待存储文件的文件名称,如果目标路径下存在一已存储文件与待存储文件具有相同的文件名称,则输出重名提示,若接收到用户的覆盖重名文件请求,则删除该已存储文件,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作,如果接收到用户在选择不覆盖重名文件后输入的新的文件名称,则将新的文件名称作为待存储文件的文件名称,并继续执行比较存储设备中所有已存储文件的标识值与待存储文件的标识值的操作。
6.根据权利要求4所述的装置,其特征在于,
所述待存储文件为用户上传的文件;
所述处理单元,结束本次存储操作之前,进一步用于:输出上传成功信息;
所述处理单元,生成指向该已存储文件的链接,将该链接作为待存储文件存储到目标文件路径之后,进一步用于:输出上传成功信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611196790.0A CN106649721B (zh) | 2016-12-22 | 2016-12-22 | 一种文件排重方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611196790.0A CN106649721B (zh) | 2016-12-22 | 2016-12-22 | 一种文件排重方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649721A CN106649721A (zh) | 2017-05-10 |
CN106649721B true CN106649721B (zh) | 2021-06-22 |
Family
ID=58835048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611196790.0A Active CN106649721B (zh) | 2016-12-22 | 2016-12-22 | 一种文件排重方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649721B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707600B (zh) * | 2017-05-26 | 2018-09-18 | 贵州白山云科技有限公司 | 一种数据存储方法及装置 |
CN107577423A (zh) * | 2017-08-15 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种优化存储空间的方法及系统 |
CN109788251B (zh) * | 2019-01-21 | 2021-02-23 | 苏州科达科技股份有限公司 | 视频处理方法、装置及存储介质 |
CN111782594A (zh) * | 2020-07-02 | 2020-10-16 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种文件存储方法及装置 |
CN113051226A (zh) * | 2021-06-02 | 2021-06-29 | 芯华章科技股份有限公司 | 系统级编译方法、电子设备及存储介质 |
CN114546280A (zh) * | 2022-02-25 | 2022-05-27 | 创新奇智(重庆)科技有限公司 | 文件存储方法、装置、电子设备及计算机可读取存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141476A (zh) * | 2007-10-09 | 2008-03-12 | 创新科存储技术(深圳)有限公司 | 文件存储、下载方法以及装置 |
CN101389084A (zh) * | 2008-10-17 | 2009-03-18 | 中兴通讯股份有限公司 | 一种识别处理重复短消息的终端和方法 |
CN101425082A (zh) * | 2008-12-15 | 2009-05-06 | 深圳市迅雷网络技术有限公司 | 视频文件内容确定方法及系统 |
CN102184198A (zh) * | 2011-04-22 | 2011-09-14 | 深圳市广道高新技术有限公司 | 适用于工作负载保护系统的重复数据删除方法 |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN103823807A (zh) * | 2012-11-16 | 2014-05-28 | 深圳市腾讯计算机系统有限公司 | 一种去除重复数据的方法、装置及系统 |
CN105306570A (zh) * | 2015-10-27 | 2016-02-03 | 创新科软件技术(深圳)有限公司 | 一种集群数据的存储方法 |
CN105808166A (zh) * | 2016-03-07 | 2016-07-27 | 惠州Tcl移动通信有限公司 | 防止重复拷贝文件的电子设备及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468686A (zh) * | 2015-11-17 | 2016-04-06 | 北京奇虎科技有限公司 | 减少冗余数据的方法及装置 |
-
2016
- 2016-12-22 CN CN201611196790.0A patent/CN106649721B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141476A (zh) * | 2007-10-09 | 2008-03-12 | 创新科存储技术(深圳)有限公司 | 文件存储、下载方法以及装置 |
CN101389084A (zh) * | 2008-10-17 | 2009-03-18 | 中兴通讯股份有限公司 | 一种识别处理重复短消息的终端和方法 |
CN101425082A (zh) * | 2008-12-15 | 2009-05-06 | 深圳市迅雷网络技术有限公司 | 视频文件内容确定方法及系统 |
CN102184198A (zh) * | 2011-04-22 | 2011-09-14 | 深圳市广道高新技术有限公司 | 适用于工作负载保护系统的重复数据删除方法 |
CN103823807A (zh) * | 2012-11-16 | 2014-05-28 | 深圳市腾讯计算机系统有限公司 | 一种去除重复数据的方法、装置及系统 |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN105306570A (zh) * | 2015-10-27 | 2016-02-03 | 创新科软件技术(深圳)有限公司 | 一种集群数据的存储方法 |
CN105808166A (zh) * | 2016-03-07 | 2016-07-27 | 惠州Tcl移动通信有限公司 | 防止重复拷贝文件的电子设备及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106649721A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649721B (zh) | 一种文件排重方法和装置 | |
US10915495B2 (en) | Automated archiving of user generated media files | |
CN111008185B (zh) | 一种数据共享方法、系统及设备 | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
JP5886447B2 (ja) | ロケーション非依存のファイル | |
JP2005149096A5 (zh) | ||
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
WO2018214905A1 (zh) | 一种数据存储的方法、装置、介质及设备 | |
CN110399348A (zh) | 文件重删方法、装置、系统及计算机可读存储介质 | |
US20170011049A1 (en) | Attribute analyzer for data backup | |
CN106874399B (zh) | 一种联网备份系统及备份方法 | |
CN113254394B (zh) | 一种快照处理方法、系统、设备及存储介质 | |
CN111176574B (zh) | 一种小文件存储方法、装置、设备及介质 | |
TWI420333B (zh) | 分散式的重複數據刪除系統及其處理方法 | |
CN113687783B (zh) | 一种对象聚合方法、系统、装置及计算机存储介质 | |
JP2018526740A5 (zh) | ||
US10949088B1 (en) | Method or an apparatus for having perfect deduplication, adapted for saving space in a deduplication file system | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
CN111309689A (zh) | 文件查重方法及装置 | |
CN114390107B (zh) | 请求处理方法、装置、计算机设备、存储介质和程序产品 | |
CN109408462A (zh) | 一种基于教育系统的文件存储管理方法及电子设备 | |
US11640390B2 (en) | Bulk file verification | |
EP4195068B1 (en) | Storing and retrieving media recordings in an object store | |
US9456191B2 (en) | Reproduction apparatus and reproduction method |
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 | ||
CB02 | Change of applicant information |
Address after: Room 505, Taixing Building, 11 Garden East Road, Haidian District, Beijing, 100191 Applicant after: Innovation Technology Co., Ltd. Address before: Room 0801-0805, 51 College Road, Haidian District, Beijing, 100191 Applicant before: Innovation and Technology Storage Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |