一种分布式对象存储系统中文件上传方法及装置制造方法及图纸

技术编号:20395111 阅读:31 留言:0更新日期:2019-02-20 05:03
本发明专利技术公开了一种分布式对象存储系统中文件上传方法,包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片;该方法在上传大文件时,仅上传与系统中已有的同名大文件中不同的内容,进而提升存储系统中上传大文件时的效率;本发明专利技术还公开了一种分布式对象存储系统中文件上传装置、分布式对象存储系统及计算机可读存储介质,具有上述有益效果。

【技术实现步骤摘要】
一种分布式对象存储系统中文件上传方法及装置
本专利技术涉及分布式对象存储
,特别涉及一种分布式对象存储系统中文件上传方法、装置、分布式对象存储系统及计算机可读存储介质。
技术介绍
目前,越来越多的业务场景需要使用分布式对象存储系统,其中,分布式对象存储系统指的是面向非结构化数据对象的分布式存储。随着互联网数据的爆炸性增长,人们对存储系统的容量要求越来越大,且单个容器存放的对象数量也越来越多。因此针对大文件的上传是用户经常要执行的操作。其中,大文件上传具体过程是,当用户上传大文件时,会将大文件分成多片进行上传,默认情况下,每片为15M,也就是说超过15M的文件将默认采用分片上传的方式上传文件,此时超过15M的文件就称之为大文件。其中,分片上传即将客户端要上传的大文件按照用户设定的分片大小分成若干部分,然后分别上传所有的分片并存储。而面对动辄几十G的大文件,如何提升存储系统中上传大文件时的效率就显得尤为重要。
技术实现思路
本专利技术的目的是提供一种分布式对象存储系统中文件上传方法、装置、分布式对象存储系统及计算机可读存储介质,能够避免相同内容重复上传,进而提升存储系统中上传大文件时的效率。为解决上述技术问题,本专利技术提供一种分布式对象存储系统中文件上传方法,包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。可选地,所述计算所述待上传大文件的各分片的MD5值之前,还包括:计算所述待上传大文件的整体MD5值;获取所述同名大文件对应的整体头对象中存储的整体MD5值;判断所述待上传大文件的整体MD5值与所述同名大文件的整体MD5值是否相等;若相等,则不上传所述待上传大文件;若不相等,则执行所述计算所述待上传大文件的各分片的MD5值的步骤。可选地,所述计算所述待上传大文件的整体MD5值之前,还包括:判断分布式对象存储系统中是否存在所述同名大文件;若存在,则执行所述计算所述待上传大文件的整体MD5值的步骤。可选地,当所述分布式对象存储系统中不存在所述同名大文件时,包括:上传所述待上传大文件的全部分片。本专利技术还提供一种分布式对象存储系统中文件上传装置,包括:获取模块,用于当接收到大文件上传指令时,确定待上传大文件的名称;第一计算模块,用于计算所述待上传大文件的各分片的MD5值;分片MD5值获取模块,用于根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;第一判断模块,用于分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;第一执行模块,用于若所述待上传大文件与所述同名大文件中对应分片的MD5值不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。可选地,所述文件上传装置还包括:第二计算模块,用于计算所述待上传大文件的整体MD5值;整体MD5值获取模块,用于获取所述同名大文件对应的整体头对象中存储的整体MD5值;第二判断模块,用于判断所述待上传大文件的整体MD5值与所述同名大文件的整体MD5值是否相等;第二执行模块,用于若所述待上传大文件与所述同名大文件的整体MD5值相等,则不上传所述待上传大文件;若所述待上传大文件与所述同名大文件的整体MD5值不相等,则触发所述第一计算模块。可选地,所述文件上传装置还包括:第三判断模块,用于判断分布式对象存储系统中是否存在所述同名大文件;第三执行模块,用于若所述分布式对象存储系统中存在所述同名大文件,则触发所述第二计算模块。可选地,所述第三执行模块还用于若所述分布式对象存储系统中不存在所述同名大文件,则上传所述待上传大文件的全部分片。本专利技术还提供一种分布式对象存储系统,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述所述分布式对象存储系统中文件上传方法的步骤。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述分布式对象存储系统中文件上传方法的步骤。本专利技术所提供的分布式对象存储系统中文件上传方法,包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。可见,该方法在上传大文件时,通过比较待上传大文件各分片MD5值与同名大文件各分片MD5值,上传待上传大文件中与同名大文件中不相等的MD5值对应的分片,即仅上传与系统中已有的同名大文件中不同的内容,对于两者相同的内容不需要再次上传,进而提升存储系统中上传大文件时的效率;本专利技术还提供了一种分布式对象存储系统中文件上传装置、分布式对象存储系统及计算机可读存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的分布式对象存储系统中文件上传方法的流程图;图2为本专利技术实施例所提供的分布式对象存储系统中文件上传装置的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,分布式对象存储系统(可以简称为对象存储系统)针对大文件的上传,执行与普通对象上传不一样的流程。其将整个大文件上传执行流程分为三个阶段:初始化多片上传、上传分片、完成多片上传。最终的执行结果是将大文件以分片的形式存储于对象存储系统中。上传过程中会生成两类很重要的头对象,整个大文件的头对象以及每个分片的头对象,分别用以标识该大文件及每个分片。其中对于同名的大文件上传,其所生成的大文件的头对象命名是相同的,而每个分片对象的名字中由于含有唯一标识upload_id而不同。但所有的对象名字中都含有大文件的文件名。其中,upload_id:大文件上传的唯一标识,用于断点续传、列出分片、销毁已上传分片等。同名大文件的不同上传产生的upload_id不同。在现有的分布式对象存储系统中,为了支持多版本功能,系统是允许上传同名文件的。针对同名大文件的上传,抑或称之为大文件的重复上传以及修改内容不多的大文件上传,目前的分布式对象存储系统的执行过程如下:执行与普通大文件上传同样的流程,即将大文件分片后,上传所有的分片至存储系统并保存。之前已提到,对于同名的大文件上传,其所生成的大本文档来自技高网...

【技术保护点】
1.一种分布式对象存储系统中文件上传方法,其特征在于,包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。

【技术特征摘要】
1.一种分布式对象存储系统中文件上传方法,其特征在于,包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。2.根据权利要求1所述的分布式对象存储系统中文件上传方法,其特征在于,所述计算所述待上传大文件的各分片的MD5值之前,还包括:计算所述待上传大文件的整体MD5值;获取所述同名大文件对应的整体头对象中存储的整体MD5值;判断所述待上传大文件的整体MD5值与所述同名大文件的整体MD5值是否相等;若相等,则不上传所述待上传大文件;若不相等,则执行所述计算所述待上传大文件的各分片的MD5值的步骤。3.根据权利要求2所述的分布式对象存储系统中文件上传方法,其特征在于,所述计算所述待上传大文件的整体MD5值之前,还包括:判断分布式对象存储系统中是否存在所述同名大文件;若存在,则执行所述计算所述待上传大文件的整体MD5值的步骤。4.根据权利要求2所述的分布式对象存储系统中文件上传方法,其特征在于,当所述分布式对象存储系统中不存在所述同名大文件时,包括:上传所述待上传大文件的全部分片。5.一种分布式对象存储系统中文件上传装置,其特征在于,包括:获取模块,用于当接收到大文件上传指令时,确定待上传大文件的名称;第一计算模块,用于计算所述待上传大文件的各分片的MD5值;分片MD5值获取模块,用于根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;第一判断模块,用于分别...

【专利技术属性】
技术研发人员:李欢欢
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1