CN114615258A - 大文件分片上传到文件服务端的方法及装置 - Google Patents
大文件分片上传到文件服务端的方法及装置 Download PDFInfo
- Publication number
- CN114615258A CN114615258A CN202210316794.7A CN202210316794A CN114615258A CN 114615258 A CN114615258 A CN 114615258A CN 202210316794 A CN202210316794 A CN 202210316794A CN 114615258 A CN114615258 A CN 114615258A
- Authority
- CN
- China
- Prior art keywords
- file
- fragment
- uploading
- client
- files
- 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.)
- Withdrawn
Links
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了大文件分片上传到文件服务端的装置,包括电连接的客户端和文件服务端,客户端包含文件分片组件和生成文件MD5信息组件,支持按照预先的设定值分片大小切分文件,生成完整文件的MD5信息以及各分片文件的完整文件MD5信息;所述文件服务端,用于接收客户端上传的文件,并进行存储;设置有支持文件存储以及文件操作的相关接口,包括文件MD5校验接口,分片文件上传接口,分片文件合并接口,获取分片文件合并状态接口。本发明通过将一个大文件分成多个分片文件来上传,这样当其中一些分片文件上传请求失败后,不需要重新上传整个文件,而只需要上传失败的分片文件就可以了,以此来提高上传效率和体验感。
Description
技术领域
本发明涉及客户端向文件服务段文件传输技术领域,尤其涉及一种大文件分片上传到文件服务端的方法及装置。
背景技术
当前文件服务在上传比较大的文件时候,容易出现上传超时导致文件上传失败等情况,上传失败又需要重新上传整个文件,效率较低,体验感不好。
现有技术中,针对大文件传输失败的问题,如CN109361772A公开的一种分布式对象存储系统中文件上传方法及装置 、申请号201811527148.5,其公开的方法包括:当接收到大文件上传指令时,确定待上传大文件的名称;计算所述待上传大文件的各分片的MD5值;根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;若不相等,则上传所述待上传大文件中不相等的MD5值对应的分片;该方法在上传大文件时,仅上传与系统中已有的同名大文件中不同的内容,进而提升存储系统中上传大文件时的效率;其装置包括获取模块,用于当接收到大文件上传指令时,确定待上传大文件的名称;第一计算模块,用于计算所述待上传大文件的各分片的MD5值;分片MD5值获取模块,用于根据所述名称获取已上传的同名大文件对应的分片头对象中存储的各分片的MD5值;第一判断模块,用于分别判断所述待上传大文件的分片的MD5值与所述同名大文件中对应的分片的MD5值是否相等;第一执行模块,用于若所述待上传大文件与所述同名大文件中对应分片的MD5值不相等,则上传所述待上传大文件中不相等的MD5值对应的分片。但,现有技术的大文件分片传输,还是存在插损或效率较低、体验感不好等不足。
发明内容
针对现有技术存在的上述不足,本发明的目的是提供一种大文件分片上传到文件服务端的方法及装置,将一个大文件分成多个分片文件来上传,这样当其中一些分片文件上传请求失败后,不需要重新上传整个文件,而只需要上传失败的分片文件就可以了,以此来提高上传效率和体验感。
本发明的技术方案是这样实现的:
大文件分片上传到文件服务端的方法,其特征在于包括如下步骤:
1)客户端首先将大文件按照设定的上限值,拆分成若干分片文件,生成该大文件和对应每个分片文件的MD5信息,将该大文件和每个分片文件对应的MD5信息发送文件服务端,并请求文件服务端校验大文件和各分片文件是否已存在;
2)文件服务端接收客户端校验大文件和各分片文件的MD5信息的请求,然后校验整个大文件以及各分片文件是否已经存在;如果整个大文件已经存在,则响应客户端大文件已存在,结束上传步骤;如果整个大文件不存在,则再分别校验每个分片是否存在,只要有分片文件不存在,则将对应的分片文件是否存在信息响应客户端;
3)客户端请求文件服务端的分片文件上传接口,将步骤2)中不存在的所有分片文件上传至文件服务端;
4)当客户端将所有分片文件成功上传至文件服务端后,可请求文件服务端进行分片文件的合并;
5)客户端轮询请求文件服务端分片文件合并的结果;当文件服务端响应客户端合并成功时,则表示分片文件正确合并,将整个大文件从客户端传输到文件服务端,完成整个大文件的上传流程。
这样,本发明通过将一个大文件分成多个分片文件来上传,这样当其中一些分片文件上传请求失败后,不需要重新上传整个文件,而只需要上传失败的分片文件就可以了,以此来提高上传效率和体验感。
进一步地:在客户端将大文件和对应每个分片文件的MD5信息参数进行拼接处理,再向文件服务端发送校验请求。
进一步地:所述分片文件合并的结果有如下状态:A、合并成功,B正在合并中,C、某一分块文件不存在,D、没有该合并任务,E、文件完整性校验失败。
进一步地:在客户端设置Redis缓存装置,存储各分片文件的MD5信息。本发明引入redis缓存来存储上传的分片文件信息,所以二次上传很容易恢复,且redis具有分布式、高扩展、实时性、速度快等优点,故本方法关键步骤检索文件是否已经存在比其他方法来得快,提高检索文件的效率。
进一步地:在文件服务端设置有支持文件存储以及文件操作的相关接口,包括文件MD5校验接口,分片文件上传接口,分片文件合并接口,获取分片文件合并状态接口。
进一步地:所述设定的上限值为100M,超过100M的文件为大文件,每个分片的大小也设定为100MB。
一种大文件分片上传到文件服务端的装置,其特征在于:包括客户端和文件服务端,客户端与文件服务端电连接;客户端包含文件分片组件和生成文件MD5信息组件,支持按照预先的设定值分片大小切分文件,生成完整文件的MD5信息以及各分片文件包含的文件的MD5信息;所述文件服务端,用于接收客户端上传的文件,并进行存储;设置有支持文件存储以及文件操作的相关接口,包括文件MD5校验接口,分片文件上传接口,分片文件合并接口,获取分片文件合并状态接口。本发明通过将一个大文件分成多个分片文件来上传,这样当其中一些分片文件上传请求失败后,不需要重新上传整个文件,而只需要上传失败的分片文件就可以了,以此来提高上传效率和体验感。
进一步地:在客户端设置Redis缓存装置,存储各分片文件MD5信息。
进一步地:所述文件MD5校验接口,用于判断对应文件是否已经存在文件服务端;所述分片文件上传接口,用于分片文件的上传;所述分片合并接口,用于分片文件全部上传成功后,合并所有分片文件为完整大文件;所述分片文件合并状态获取接口,用于客户端获取文件合并的状态信息。
总之,本发明一种大文件分片上传到文件服务端的方法及装置,具有如下有益效果:
1、本发明的装置,将一个大文件分成多个分片文件来上传,这样当其中一些分片文件上传请求失败后,不需要重新上传整个文件,而只需要上传失败的分片文件就可以了,以此来提高上传效率和体验感。
2、本发明方法引入redis缓存来存储上传的分片文件信息,所以二次上传很容易恢复,且redis具有分布式、高扩展、实时性、速度快等优点,故本方法关键步骤检索文件是否已经存在比其他方法来得快,提高检索文件的效率。
附图说明
图1为本发明的文件分片示意图;
图2为本发明的客户端组件和文件服务端各个功能接口示意图;
图3为本发明分片文件校验、上传、合并流程图。
具体实施方式
下面接合附图对本发明做进一步的详细说明:
如图1所示,本发明的一种大文件分片上传到文件服务端的方法,包括如下步骤:
1、客户端首先将大文件按照设定的上限值,拆分成若干分片文件,即每个分片文件的大小都小于该设定上限值,同时生成该大文件和对应每个分片文件的MD5信息,假设100M为设定的上限值,超过100M的文件定义为大文件,每个分片的大小也设定为100MB;将该大文件和每个分片文件对应的MD5信息发送文件服务端,并请求文件服务端校验大文件和各分片文件是否已存在。如图3所示。为了准确发送,在客户端将大文件和对应每个分片文件的MD5信息参数进行拼接处理,即将各个分片文件的MD5信息以逗号隔开拼接成一个字符串,用于服务器校验文件是否存在,再向文件服务端发送校验请求;
2、文件服务端接收客户端校验大文件和各分片文件的MD5信息的请求,然后校验整个大文件以及各分片文件是否已经存在。如果整个大文件已经存在,则响应客户端大文件已存在,客户端无需再上传,结束上传步骤。如果整个大文件不存在,则再分别校验每个分片是否存在,只要有分片文件不存在,则将对应的分片文件是否存在信息响应客户端。
3、客户端请求文件服务端的分片文件上传接口,将步骤2中不存在的所有分片文件上传至文件服务端。一次上传请求可以包含多个分片文件(每次请求最优上传多少个分片文件,可根据实际的网络带宽,分片大小,上传能力等做综合测试评估定义),当客户端接收到文件服务端所有分片上传成功的响应信息后,则向文件服务端发起合并文件请求。如果其中一些分片文件上传失败,可返回重新走步骤2的流程,此时客户端只是需要上传失败的分片文件即可。
4、当客户端将所有分片文件成功上传至文件服务端后,可请求文件服务端进行分片文件的合并。文件服务端合并分片是一个耗时的操作,所以是异步执行合并。客户端通过轮询的方式,来接收文件服务端最终的合并大文件结果的响应数据。
5、客户端轮询请求文件服务端分片文件合并的结果;轮询是指固定时间间隔请求分片文件合并的结果,分片文件合并的结果有如下状态:A、合并成功,B正在合并中,C、某一分块文件不存在,D、没有该合并任务,E、文件完整性校验失败等;当文件服务端响应客户端合并成功时,则表示分片文件正确合并,将整个大文件从客户端传输到文件服务端,完成整个大文件的上传流程。
本发明所述大文件,假设大于设定值100MB为大文件,当文件定义为大文件时,可使用分片上传,提高效率。小于100MB的文件则可直接上传。大文件的大小定义,可根据实际的网络带宽,文件上传性能等做测试评估预设定义。所述分片文件,满足大文件的前提下,按照预定的分片大小将大文件拆分为若干个分片文件,分片文件大小定义可根据实际的网络带宽,文件上传性能等做测试评估预设定义,一般建议和大文件界定值相等,假设100MB为一个分片文件。
如图2、3所示,本发明的一种大文件分片上传到文件服务端的装置,包括客户端和文件服务端,客户端与文件服务端电连接,用于上传文件到文件服务端。客户端包含文件分片组件和生成文件MD5信息组件,支持按照预先的设定值分片大小切分文件,生成完整文件的MD5信息以及各分片文件包含的文件的MD5信息;在客户端还设置Redis缓存,支持高效的存储各分片文件的MD5信息;本发明引入redis缓存来存储上传的分片文件信息,所以二次上传很容易恢复,且redis具有分布式、高扩展、实时性、速度快等优点,故本方法关键步骤检索文件是否已经存在比其他方法来得快,提高检索文件的效率。
所述文件服务端,用于接收客户端上传的文件,并进行存储;设置有支持文件存储以及文件操作的相关接口(API),其包括文件MD5校验接口(API),分片文件上传接口(API),分片文件合并接口(API),获取分片文件合并状态接口(API),通过这几种接口使其具有相关功能。所述文件MD5校验接口(API),用于判断对应文件是否已经存在文件服务端;所述分片文件上传接口(API),用于分片文件的上传;所述分片合并接口(API),用于分片文件全部上传成功后,合并所有分片文件为完整大文件;所述分片文件合并状态获取接口(API),用于客户端获取文件合并的状态信息。
最后需要说明的是,本发明的上述实例仅仅是为说明本发明所作的举例,而并非是对本发明的实施方式的限定。尽管申请人参照较佳实施例对本发明进行了详细说明,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化和变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (9)
1.大文件分片上传到文件服务端的方法,其特征在于包括如下步骤:
1)客户端首先将大文件按照设定的上限值,拆分成若干分片文件,生成该大文件和每个分片文件对应的MD5信息,将该大文件和每个分片文件对应的MD5信息发送文件服务端,并请求文件服务端校验大文件和各分片文件是否已存在;
2)文件服务端接收客户端校验大文件和各分片文件MD5信息的请求,然后校验整个大文件以及各分片文件是否已经存在;如果整个大文件已经存在,则响应客户端大文件已存在,结束上传步骤;如果整个大文件不存在,则再分别校验每个分片是否存在,只要有分片文件不存在,则将对应的分片文件是否存在信息响应客户端;
3)客户端请求文件服务端的分片文件上传接口,将步骤2)中不存在的所有分片文件上传至文件服务端;
4)当客户端将所有分片文件成功上传至文件服务端后,可请求文件服务端进行分片文件的合并;
5)客户端轮询请求文件服务端分片文件合并的结果;当文件服务端响应客户端合并成功时,则表示分片文件正确合并,将整个大文件从客户端传输到文件服务端,完成整个大文件的上传流程。
2.根据权利要求1所述的大文件分片上传到文件服务端的方法,其特征在于:在客户端将大文件和对应每个分片文件的MD5信息参数进行拼接处理,再向文件服务端发送校验请求。
3.根据权利要求2所述的大文件分片上传到文件服务端的方法,其特征在于:所述分片文件合并的结果有如下状态:A、合并成功,B正在合并中,C、某一分块文件不存在,D、没有该合并任务,E、文件完整性校验失败。
4.根据权利要求1—3任一所述的大文件分片上传到文件服务端的方法,其特征在于:在客户端设置Redis缓存装置,存储各分片文件MD5信息。
5.根据权利要求4所述的大文件分片上传到文件服务端的方法,其特征在于:在文件服务端设置有支持文件存储以及文件操作的相关接口,包括文件MD5校验接口,分片文件上传接口,分片文件合并接口,获取分片文件合并状态接口。
6.根据权利要求1—3任一所述的大文件分片上传到文件服务端的方法,其特征在于:所述设定的上限值为100M,超过100M的文件为大文件,每个分片的大小设定为100MB。
7.一种大文件分片上传到文件服务端的装置,其特征在于:包括客户端和文件服务端,客户端与文件服务端电连接;客户端包含文件分片组件和生成文件MD5信息组件,支持按照预先的设定值分片大小切分文件,生成完整文件的MD5信息以及各分片文件包含的文件的MD5信息;
所述文件服务端,用于接收客户端上传的文件,并进行存储;设置有支持文件存储以及文件操作的相关接口,包括文件MD5校验接口,分片文件上传接口,分片文件合并接口,获取分片文件合并状态接口。
8.根据权利要7所述的大文件分片上传到文件服务端的装置,其特征在于:在客户端设置Redis缓存装置,存储各分片文件的MD5信息。
9.根据权利要7所述的大文件分片上传到文件服务端的装置,其特征在于:所述文件MD5校验接口,用于判断对应文件是否已经存在文件服务端;所述分片文件上传接口,用于分片文件的上传;所述分片合并接口,用于分片文件全部上传成功后,合并所有分片文件为完整大文件;所述分片文件合并状态获取接口,用于客户端获取文件合并的状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316794.7A CN114615258A (zh) | 2022-03-28 | 2022-03-28 | 大文件分片上传到文件服务端的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210316794.7A CN114615258A (zh) | 2022-03-28 | 2022-03-28 | 大文件分片上传到文件服务端的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114615258A true CN114615258A (zh) | 2022-06-10 |
Family
ID=81867539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210316794.7A Withdrawn CN114615258A (zh) | 2022-03-28 | 2022-03-28 | 大文件分片上传到文件服务端的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114615258A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037741A (zh) * | 2022-08-11 | 2022-09-09 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
CN116781685A (zh) * | 2023-06-25 | 2023-09-19 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410692A (zh) * | 2014-11-28 | 2015-03-11 | 上海爱数软件有限公司 | 一种用于重复文件上传的方法和系统 |
CN110474937A (zh) * | 2018-05-09 | 2019-11-19 | 深圳企业云科技股份有限公司 | 超大文件分段续传方法及其系统 |
CN111708743A (zh) * | 2020-05-28 | 2020-09-25 | 浪潮电子信息产业股份有限公司 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
CN113364848A (zh) * | 2021-06-01 | 2021-09-07 | 平安银行股份有限公司 | 文件缓存方法、装置、电子设备及存储介质 |
CN114039971A (zh) * | 2021-11-11 | 2022-02-11 | 北京神舟航天软件技术股份有限公司 | Bs模式下基于文件流的大文件并发传输方法 |
-
2022
- 2022-03-28 CN CN202210316794.7A patent/CN114615258A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410692A (zh) * | 2014-11-28 | 2015-03-11 | 上海爱数软件有限公司 | 一种用于重复文件上传的方法和系统 |
CN110474937A (zh) * | 2018-05-09 | 2019-11-19 | 深圳企业云科技股份有限公司 | 超大文件分段续传方法及其系统 |
CN111708743A (zh) * | 2020-05-28 | 2020-09-25 | 浪潮电子信息产业股份有限公司 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
CN113364848A (zh) * | 2021-06-01 | 2021-09-07 | 平安银行股份有限公司 | 文件缓存方法、装置、电子设备及存储介质 |
CN114039971A (zh) * | 2021-11-11 | 2022-02-11 | 北京神舟航天软件技术股份有限公司 | Bs模式下基于文件流的大文件并发传输方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037741A (zh) * | 2022-08-11 | 2022-09-09 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN115037741B (zh) * | 2022-08-11 | 2022-11-15 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
CN116781685A (zh) * | 2023-06-25 | 2023-09-19 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
CN116781685B (zh) * | 2023-06-25 | 2024-02-13 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114615258A (zh) | 大文件分片上传到文件服务端的方法及装置 | |
CN110347746B (zh) | 一种异构数据库同步数据一致性校验方法及装置 | |
CN112866310B (zh) | Cdn回源的校验方法和校验服务器、cdn集群 | |
US11687488B2 (en) | Directory deletion method and apparatus, and storage server | |
CN109213738B (zh) | 一种云存储文件级重复数据删除检索系统及方法 | |
CN110851680B (zh) | 网络爬虫识别方法和装置 | |
CN111190551B (zh) | 一种redis数据的迁移系统、迁移方法、装置及终端 | |
CN113626416A (zh) | 数据校验的方法、装置、计算设备和存储介质 | |
CN112100070A (zh) | 版本缺陷的检测方法、装置、服务器及存储介质 | |
CN109710502B (zh) | 日志传输方法、装置及存储介质 | |
CN109783462B (zh) | 一种基于分布式文件系统的数据访问方法和装置 | |
CN103024015A (zh) | 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法 | |
CN110795495A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN115801765A (zh) | 文件传输方法、装置、系统、电子设备及存储介质 | |
CN111787074B (zh) | 一种文件同步方法及终端 | |
CN112948195B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN114866533A (zh) | 一种文件上传方法、装置及电子设备 | |
CN110808956B (zh) | 一种数据交互方法及系统 | |
CN107506436B (zh) | 一种用于物联网数据库存储性能测试的方法以及装置 | |
CN109144788B (zh) | 一种重建osd的方法、装置及系统 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN112231236A (zh) | 一种数据库性能的测试方法 | |
CN112463786A (zh) | 数据同步方法、系统、服务器及存储介质 | |
CN116150250B (zh) | 一种基于PostgreSQL的双端口解析方法及装置 | |
CN112632008B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220610 |