CN111970381B - 一种文件重删追加上传方法、***、设备及存储介质 - Google Patents
一种文件重删追加上传方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN111970381B CN111970381B CN202010925859.9A CN202010925859A CN111970381B CN 111970381 B CN111970381 B CN 111970381B CN 202010925859 A CN202010925859 A CN 202010925859A CN 111970381 B CN111970381 B CN 111970381B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- additional
- fingerprint information
- strip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000008520 organization Effects 0.000 claims abstract description 32
- 238000004140 cleaning Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004064 recycling Methods 0.000 claims description 2
- 230000000153 supplemental effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
-
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件重删追加上传方法、***、设备及存储介质,所述方法包括:当服务器接收到已多次追加文件的上传请求时,获取已有追加文件的元数据,进行参数校验;根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;计算创建条带的指纹信息,生成追加数据的文件组织记录文件;当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理。所述***包括请求接收单元、条带创建单元、指纹校验单元和垃圾清理单元。本发明在追加数据时,条带不合并对齐,新的追加数据不会对已有数据产生干扰,能够提高存储集群的处理性能。
Description
技术领域
本发明涉及对象存储领域,具体涉及一种文件重删追加上传方法、***、设备及存储介质。
背景技术
随着信息化的发展,越来越多的个人用户选择将原来保存在自己的数码设备上的数据转移到云端存储上,实现家庭成员之间相互分享;而工业4.0、智能制造、企业上云、大数据、电子政务、NASA卫星中心、大型的射电望远镜等技术的发展,使越来越多的企业和政府单位选择将数据放在存储集群集中管理。
分布式对象存储***,指的是面向非结构化数据的分布式存储。现阶段,越来越多的业务场景需要使用分布式对象存储***,例如,在视频监控、视频直播等领域,视频数据在实时地不断产生,大型***日志不断地生成,存储集群中数据量规模越来越大,文件的读写请求等操作带来了大量的磁盘输入/输出(IO,Input/Output)的消耗,而集群的IO吞吐量是有限的,为此,现有技术使用数据重删方式提高集群空间的有效使用率,降低企业或者数据中心的运营成本。
由于采用数据重删技术,使存储集群上条带化后的对象与不同文件产生了关联,当追加失败时,需要对产生的垃圾数据进行回收,此时,现有的重删技术会对原有文件产生影响,影响了存储集群的处理性能。
发明内容
为了解决上述技术问题,本发明提出了一种文件重删追加上传方法、***、设备及存储介质,能够避免文件追加失败对原有文件产生影响,提高存储集群的处理性能。
为实现上述目的,本发明采用以下技术方案:
一种文件重删追加上传方法,包括:
当服务器接收到已多次追加文件的上传请求时,获取已有追加文件的元数据,进行参数校验;
根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理。
进一步地,所述获取已有追加文件的元数据时,对已有追加文件进行加锁,使文件不能被多个上传请求同时追加。
进一步地,所述计算创建条带的指纹信息,生成追加数据的文件组织记录文件,包括:
根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
进一步地,所述当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理,包括:
当追加失败时,根据追加数据的文件组织记录文件获取条带;
若条带引用计数大于1,则条带引用计数减1;若条带引用计数为1,则将条带加入垃圾回收队列,异步删除垃圾数据。
进一步地,还包括:
当数据上传完成时,根据已有文件的文件组织记录文件和追加数据的文件组织记录文件,生成新文件的文件组织记录文件;
根据已有文件的etag和追加数据条带的指纹信息,计算生成新文件的指纹信息和追加次数;根据所述新文件的指纹信息和追加次数,生成新文件的etag;
基于新文件的etag建立逻辑头对象,保存新文件的元数据;
建立文件名与新文件etag的索引关系。
进一步地,还包括:
当服务器接收到重删文件的第一次追加上传请求时,建立元数据标示该文件为可追加文件,设置文件的追加次数为1。
本发明还提出了一种文件重删追加上传***,包括:
请求接收单元,用于接收文件的上传请求,获取已有追加文件的元数据,进行参数校验;
条带创建单元,用于根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
指纹校验单元,用于计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
垃圾清理单元,用于在追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理。
进一步地,所述指纹校验单元根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
本发明还提出了一种文件重删追加上传的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述文件重删追加上传方法的步骤。
本发明还提出了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述文件重删追加上传方法的步骤。
本发明的有益效果是:
本发明通过提出一种文件重删追加上传方法、***、设备及存储介质,在基于分布式对象存储***的重删的基础上,在追加数据时,条带不合并对齐,新的追加数据不会对已有数据产生干扰,在重删场景下数据条带被多个文件引用前提下,避免追加过程中失败对原有文件的影响,实现了文件重删追加的功能,提高了对象存储集群该业务逻辑的处理性能。
附图说明
图1是本发明实施例文件重删追加上传方法流程示意图;
图2是本发明实施例计算创建条带的指纹信息,生成追加数据的文件组织记录文件的具体过程流程示意图;
图3是本发明实施例追加失败的处理方法流程示意图;
图4是本发明实施例文件重删追加上传***结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明实施例公开了一种文件重删追加上传方法,包括:
当服务器接收到已多次追加文件的上传请求时,获取已有追加文件的元数据,进行参数校验;
根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理。
具体地,服务器接收到用户的上传请求时,首先解析其中的相关参数(例如用户信息、桶、上传的文件名、追加信息、追加位置等),判断上传请求的类型:
1)判断是否为追加写请求,如果不是追加写请求,按照普通文件上传业务处理;
2)如果是追加写请求,判断是否开启重删功能;如果不开启重删功能,按照普通文件追加上传业务处理;
3)如果开启重删功能,判断是否为第一次追加上传请求;如果是第一次追加上传请求,则建立元数据标示该文件为可追加文件,设置文件的追加次数为1;
4)如果是多次追加文件的上传请求,则获取已有文件的元数据,进行参数校验。所述元数据包括已有文件的文件组织记录文件、已有文件的大小等信息;所述参数校验包括校验追加文件的位置等。同时,还要对已有追加文件进行加锁,使文件不能被多个上传请求同时追加。
所述计算创建条带的指纹信息,生成追加数据的文件组织记录文件的具体过程如图2所示,包括:
根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;具体地,根据存储策略在存储池中进行查询;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息作为该条带的唯一标示(oid)落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
在数据上传完成阶段,根据已有文件的文件组织记录文件和追加数据的文件组织记录文件,合并生成新文件的文件组织记录文件;删除已有文件的文件组织记录文件;
根据已有文件的etag和追加数据条带的指纹信息,计算生成新文件的指纹信息和追加次数,追加次数可以为md5格式;根据所述新文件的指纹信息和追加次数,生成新文件的etag;
基于新文件的etag建立逻辑头对象,保存新文件的元数据;
最后,建立文件名与新文件etag的索引关系,完成文件重删追加上传。
当追加失败时,处理流程如图3所示,根据追加数据的文件组织记录文件进行垃圾数据清理,包括:
根据追加数据的文件组织记录文件获取条带;
若条带引用计数大于1,则条带引用计数减1;
若条带引用计数为1,则将条带加入垃圾回收队列,异步删除垃圾数据,由于没有合并对齐,添加或删除新的追加数据都不会对已有数据产生干扰。
如图4所示,本发明实施例还提出了一种文件重删追加上传***,包括:
请求接收单元,用于接收文件的上传请求,获取已有追加文件的元数据,进行参数校验;
条带创建单元,用于根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
指纹校验单元,用于计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
垃圾清理单元,用于在追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理。
所述指纹校验单元根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
本发明实施例还提出了一种文件重删追加上传的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述文件重删追加上传方法的步骤。
本发明实施例还提出了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述文件重删追加上传方法的步骤。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种文件重删追加上传方法,其特征在于,包括:
当服务器接收到已多次追加文件的上传请求时,获取已有追加文件的元数据,进行参数校验;
根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理;
所述计算创建条带的指纹信息,生成追加数据的文件组织记录文件,包括:
根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
2.根据权利要求1所述的文件重删追加上传方法,其特征在于,所述获取已有追加文件的元数据时,对已有追加文件进行加锁,使文件不能被多个上传请求同时追加。
3.根据权利要求1所述的文件重删追加上传方法,其特征在于,所述当追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理,包括:
当追加失败时,根据追加数据的文件组织记录文件获取条带;
若条带引用计数大于1,则条带引用计数减1;若条带引用计数为1,则将条带加入垃圾回收队列,异步删除垃圾数据。
4.根据权利要求1所述的文件重删追加上传方法,其特征在于,还包括:
当数据上传完成时,根据已有文件的文件组织记录文件和追加数据的文件组织记录文件,生成新文件的文件组织记录文件;
根据已有文件的etag和追加数据条带的指纹信息,计算生成新文件的指纹信息和追加次数;根据所述新文件的指纹信息和追加次数,生成新文件的etag;
基于新文件的etag建立逻辑头对象,保存新文件的元数据;
建立文件名与新文件etag的索引关系。
5.根据权利要求1所述的文件重删追加上传方法,其特征在于,还包括:
当服务器接收到重删文件的第一次追加上传请求时,建立元数据标示该文件为可追加文件,设置文件的追加次数为1。
6.一种文件重删追加上传***,其特征在于,包括:
请求接收单元,用于接收文件的上传请求,获取已有追加文件的元数据,进行参数校验;
条带创建单元,用于根据上传请求读取数据,根据数据创建条带;所创建条带不与已有对象最后的条带补齐;
指纹校验单元,用于计算创建条带的指纹信息,生成追加数据的文件组织记录文件;
垃圾清理单元,用于在追加失败时,根据追加数据的文件组织记录文件进行垃圾数据清理;
所述指纹校验单元根据所创建条带的内容计算指纹信息;
根据指纹信息查询对应条带的引用计数;
若引用计数存在,则引用计数累积加1;若引用计数不存在,则使用该指纹信息落盘,对应引用计数设置为1;
将指纹信息和对应条带大小添加到追加数据的文件组织记录文件中。
7.一种文件重删追加上传的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述文件重删追加上传方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述文件重删追加上传方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010925859.9A CN111970381B (zh) | 2020-09-06 | 2020-09-06 | 一种文件重删追加上传方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010925859.9A CN111970381B (zh) | 2020-09-06 | 2020-09-06 | 一种文件重删追加上传方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111970381A CN111970381A (zh) | 2020-11-20 |
CN111970381B true CN111970381B (zh) | 2022-06-21 |
Family
ID=73392276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010925859.9A Active CN111970381B (zh) | 2020-09-06 | 2020-09-06 | 一种文件重删追加上传方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970381B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381128A (zh) * | 2019-07-08 | 2019-10-25 | 紫光云技术有限公司 | 一种适用于流媒体文件的上传方法和云存储模型 |
CN110399348A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 文件重删方法、装置、***及计算机可读存储介质 |
CN110505314A (zh) * | 2019-09-26 | 2019-11-26 | 浪潮电子信息产业股份有限公司 | 一种并发追加上传请求的处理方法 |
CN111177088A (zh) * | 2019-12-29 | 2020-05-19 | 北京浪潮数据技术有限公司 | 一种数据重删方法、装置及电子设备和存储介质 |
-
2020
- 2020-09-06 CN CN202010925859.9A patent/CN111970381B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381128A (zh) * | 2019-07-08 | 2019-10-25 | 紫光云技术有限公司 | 一种适用于流媒体文件的上传方法和云存储模型 |
CN110399348A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 文件重删方法、装置、***及计算机可读存储介质 |
CN110505314A (zh) * | 2019-09-26 | 2019-11-26 | 浪潮电子信息产业股份有限公司 | 一种并发追加上传请求的处理方法 |
CN111177088A (zh) * | 2019-12-29 | 2020-05-19 | 北京浪潮数据技术有限公司 | 一种数据重删方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111970381A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254733B (zh) | 用于存储数据的方法、装置和*** | |
CA2910211C (en) | Object storage using multiple dimensions of object information | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
CN109522283B (zh) | 一种重复数据删除方法及*** | |
US8214377B2 (en) | Method, system, and program for managing groups of objects when there are different group types | |
US20140317056A1 (en) | Method of distributing and storing file-based data | |
CN102339321A (zh) | 具有版本控制的网络文件***及方法 | |
CN103605585A (zh) | 一种基于数据发现的智能备份方法 | |
US11169977B2 (en) | System and method for removal of data and metadata using an enumerator | |
CN111930716A (zh) | 一种数据库扩容方法、装置及*** | |
CN111651127A (zh) | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 | |
US7895247B2 (en) | Tracking space usage in a database | |
CN107506466B (zh) | 一种小文件存储方法及*** | |
RU2665272C1 (ru) | Способ и устройство для восстановления дедуплицированных данных | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN107169126A (zh) | 一种日志处理方法及相关设备 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN113553325A (zh) | 一种对象存储***中聚合对象的同步方法和*** | |
CN111970381B (zh) | 一种文件重删追加上传方法、***、设备及存储介质 | |
US11436193B2 (en) | System and method for managing data using an enumerator | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN102195936A (zh) | 多媒体文件的存储方法及***、读取方法及*** | |
CN109213444A (zh) | 文件存储方法及装置、存储介质、终端 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
US9529812B1 (en) | Timestamp handling for partitioned directories |
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 |