CN112738157A - 一种文件上传方法、系统及设备 - Google Patents
一种文件上传方法、系统及设备 Download PDFInfo
- Publication number
- CN112738157A CN112738157A CN202011446271.1A CN202011446271A CN112738157A CN 112738157 A CN112738157 A CN 112738157A CN 202011446271 A CN202011446271 A CN 202011446271A CN 112738157 A CN112738157 A CN 112738157A
- Authority
- CN
- China
- Prior art keywords
- file
- uploading
- new
- client
- blocks
- 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 44
- 239000012634 fragment Substances 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种文件上传方法、系统及设备,方法包括以下步骤:响应于客户端为指定类型的文件配置标识且将文件分片上传,接收分片后的文件块;基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件;读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统,并向客户端返回上传成功的信息。本发明有效解决了存储容量较大的文件易出现上传失败的问题,提高了存储容量较大的文件的上传可靠性,同时提升了文件的上传效率。
Description
技术领域
本发明涉及文件技术领域,尤其涉及一种文件上传方法、系统及设备。
背景技术
随着互联网技术的不断发展,网络中的资源也日益增多。在客户端选择上传存储容量较大的目标文件时,受网络中资源运行量的影响,传输速度很慢,当网络严重堵塞时可能导致上传失败。因此,目前亟需一种能够解决存储容量较大的文件易出现上传失败问题的方法。
发明内容
有鉴于此,本发明的目的在于提出一种文件上传方法、系统及设备,用以解决存储容量较大的文件易出现上传失败的问题。
基于上述目的,本发明提供了一种文件上传方法,包括如下步骤:
响应于客户端为指定类型的文件配置标识且将文件分片上传,接收分片后的文件块;
基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件;
读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统,并向客户端返回上传成功的信息。
在一些实施例中,将文件分片上传包括:将文件按照预设的切片存储容量分割为多个文件块并上传。
在一些实施例中,基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件包括:
基于标识创建临时文件夹并在其内保存各文件块;
响应于所有的文件块被保存,基于每个文件块在文件中的初始位置,对各文件块进行顺序排列并合并,以得到新文件。
在一些实施例中,方法还包括:
响应于保存各文件块失败,删除临时文件夹,并向客户端返回错误信息;
响应于合并失败,删除临时文件夹,并向客户端返回错误信息。
在一些实施例中,方法还包括:响应于将新文件上传到对应的系统,删除临时文件夹。
在一些实施例中,指定类型的文件包括镜像文件或模型文件。
在一些实施例中,读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统包括:
若新文件为镜像文件,读取新文件,并通过Docker Api对其操作,且将其上传到Harbor仓库;
若新文件为模型文件,读取新文件,并对其解压,且上传到hdfs。
在一些实施例中,向客户端返回上传成功的信息包括:响应于客户端将文件分片上传后定期发送查询请求,向客户端返回上传成功的信息。
本发明的另一方面,还提供了一种文件上传系统,包括:
接收分片文件模块,配置用于响应于客户端为指定类型的文件配置标识且将文件分片上传,接收分片后的文件块;
顺序合并模块,配置用于基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件;以及
新文件上传模块,配置用于读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统,并向客户端返回上传成功的信息。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任意一项方法。
本发明至少具有以下有益技术效果:
本发明通过接收分片的文件,并对其进行顺序合并处理,且根据文件的指定类型进行相应的操作及上传,有效解决了存储容量较大的文件易出现上传失败的问题,提高了存储容量较大的文件的上传可靠性,同时提升了文件的上传效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明提供的文件上传方法的实施例的示意图;
图2为根据本发明提供的文件上传系统的实施例的示意图;
图3为本发明提供的执行文件上传方法的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种文件上传方法的实施例。图1示出的是本发明提供的文件上传方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、响应于客户端为指定类型的文件配置标识且将文件分片上传,接收分片后的文件块;
步骤S20、基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件;
步骤S30、读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统,并向客户端返回上传成功的信息。
本发明实施例通过接收分片的文件,并对其进行顺序合并处理,且根据文件的指定类型进行相应的操作及上传,有效解决了存储容量较大的文件易出现上传失败的问题,提高了存储容量较大的文件的上传可靠性,同时提升了文件的上传效率。
在一些实施例中,将文件分片上传包括:将文件按照预设的切片存储容量分割为多个文件块并上传。本实施例中,可以对分片的文件块设置统一的存储容量,有利于提高文件分片的效率。
在一些实施例中,基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件包括:基于标识创建临时文件夹并在其内保存各文件块;响应于所有的文件块被保存,基于每个文件块在文件中的初始位置,对各文件块进行顺序排列并合并,以得到新文件。本实施例中,根据上传的文件的唯一标识task_id来标记该文件的服务端的存储路径;根据文件块的总数,来确保文件的完成性,确保不丢失文件;每个文件块在文件中的初始位置,用于在合并文件块时确保文件的正确性;新文件的名称为target_filename。
在一些实施例中,方法还包括:响应于保存各文件块失败,删除临时文件夹,并向客户端返回错误信息;响应于合并失败,删除临时文件夹,并向客户端返回错误信息。本实施例中,通过将上传过程中发生的异常情况对客户端进行提示,可以使得用户知晓上传情况,利于提升用户体验。
在一些实施例中,方法还包括:响应于将新文件上传到对应的系统,删除临时文件夹。本实施例中,通过临时文件夹,可以对将文件块进行集中的合并,当新文件上传到系统后,临时文件夹不再需要,便被删除。
在一些实施例中,指定类型的文件包括镜像文件或模型文件。在一些实施例中,读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统包括:若新文件为镜像文件,读取新文件,并通过Docker Api对其操作,且将其上传到Harbor仓库;若新文件为模型文件,读取新文件,并对其解压,且上传到hdfs。本实施例中,Docker为应用容器引擎,Api(application programming interface)表示应用程序接口,Docker Api包括:与存储Docker镜像相关的Reistry Api、与Docker Hub相关的Docker HubApi以及与Docker守护进程相关的Docker Remote Api。Harbor表示企业级私有仓库服务器,hdfs表示分布式文件系统。
在一些实施例中,向客户端返回上传成功的信息包括:响应于客户端将文件分片上传后定期发送查询请求,向客户端返回上传成功的信息。本实施例中,当所有的文件块都上传后,服务端需要对文件进行其它操作,为了避免请求超时,为客户端和服务端设置了异步查询,客户端定期的发送查询请求,直到操作完成,返回操作结果信息。
本发明实施例的第二个方面,还提供了一种文件上传系统。图2示出的是本发明提供的文件上传系统的实施例的示意图。一种文件上传系统包括:接收分片文件模块,配置用于响应于客户端为指定类型的文件配置标识且将文件分片上传,接收分片后的文件块;顺序合并模块,配置用于基于标识、文件块的总数以及每个文件块在文件中的初始位置,对文件块进行顺序合并处理,以得到新文件;以及新文件上传模块,配置用于读取新文件,并根据其指定类型进行相应的操作,且将其上传到对应的系统,并向客户端返回上传成功的信息。
本实施例的文件上传系统,通过接收分片的文件,并对其进行顺序合并处理,且根据文件的指定类型进行相应的操作及上传,有效解决了存储容量较大的文件易出现上传失败的问题,提高了存储容量较大的文件的上传可靠性,同时提升了文件的上传效率。
本发明实施例的第三个方面,还提供了一种计算机设备,包括存储器302和处理器301,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例方法。
如图3所示,为本发明提供的执行文件上传方法的计算机设备的一个实施例的硬件结构示意图。以如图3所示的计算机设备为例,在该计算机设备中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图3中以通过总线连接为例。输入装置303可接收输入的数字或字符信息,以及产生与文件上传系统的用户设置以及功能控制有关的键信号输入。输出装置304可包括显示屏等显示设备。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的文件上传方法。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,文件上传方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种文件上传方法,其特征在于,包括以下步骤:
响应于客户端为指定类型的文件配置标识且将所述文件分片上传,接收分片后的文件块;
基于所述标识、文件块的总数以及每个文件块在所述文件中的初始位置,对所述文件块进行顺序合并处理,以得到新文件;
读取所述新文件,并根据所述指定类型进行相应的操作,且将其上传到对应的系统,并向所述客户端返回上传成功的信息。
2.根据权利要求1所述的方法,其特征在于,将所述文件分片上传包括:
将所述文件按照预设的切片存储容量分割为多个文件块并上传。
3.根据权利要求1所述的方法,其特征在于,基于所述标识、文件块的总数以及每个文件块在所述文件中的初始位置,对所述文件块进行顺序合并处理,以得到新文件包括:
基于所述标识创建临时文件夹并在其内保存各文件块;
响应于所有的文件块被保存,基于每个文件块在所述文件中的初始位置,对各文件块进行顺序排列并合并,以得到新文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于保存各文件块失败,删除所述临时文件夹,并向所述客户端返回错误信息;
响应于合并失败,删除所述临时文件夹,并向所述客户端返回错误信息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于将所述新文件上传到对应的系统,删除所述临时文件夹。
6.根据权利要求1所述的方法,其特征在于,所述指定类型的文件包括镜像文件或模型文件。
7.根据权利要求6所述的方法,其特征在于,读取所述新文件,并根据所述指定类型进行相应的操作,且将其上传到对应的系统包括:
若所述新文件为镜像文件,读取所述新文件,并通过Docker Api对其操作,且将其上传到Harbor仓库;
若所述新文件为模型文件,读取所述新文件,并对其解压,且上传到hdfs。
8.根据权利要求1所述的方法,其特征在于,向所述客户端返回上传成功的信息包括:
响应于所述客户端将所述文件分片上传后定期发送查询请求,向所述客户端返回上传成功的信息。
9.一种文件上传系统,其特征在于,包括:
接收分片文件模块,配置用于响应于客户端为指定类型的文件配置标识且将所述文件分片上传,接收分片后的文件块;
顺序合并模块,配置用于基于所述标识、文件块的总数以及每个文件块在所述文件中的初始位置,对所述文件块进行顺序合并处理,以得到新文件;以及
新文件上传模块,配置用于读取所述新文件,并根据所述指定类型进行相应的操作,且将其上传到对应的系统,并向所述客户端返回上传成功的信息。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446271.1A CN112738157A (zh) | 2020-12-11 | 2020-12-11 | 一种文件上传方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446271.1A CN112738157A (zh) | 2020-12-11 | 2020-12-11 | 一种文件上传方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112738157A true CN112738157A (zh) | 2021-04-30 |
Family
ID=75599103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011446271.1A Pending CN112738157A (zh) | 2020-12-11 | 2020-12-11 | 一种文件上传方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738157A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617760A (zh) * | 2022-12-20 | 2023-01-17 | 中化现代农业有限公司 | 一种大批量文件快速上传的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067505A (zh) * | 2012-12-30 | 2013-04-24 | 乐视网信息技术(北京)股份有限公司 | 一种上传文件到服务器的方法 |
CN104468843A (zh) * | 2014-12-31 | 2015-03-25 | 浪潮软件股份有限公司 | 一种文件上传方法及装置 |
CN107861686A (zh) * | 2017-09-26 | 2018-03-30 | 深圳前海微众银行股份有限公司 | 文件存储方法、服务端和计算机可读存储介质 |
CN108933805A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种文件传输方法及系统 |
CN110401725A (zh) * | 2019-08-23 | 2019-11-01 | 深圳市鹰硕技术有限公司 | 文件上传方法、装置、终端、服务器、系统及存储介质 |
-
2020
- 2020-12-11 CN CN202011446271.1A patent/CN112738157A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067505A (zh) * | 2012-12-30 | 2013-04-24 | 乐视网信息技术(北京)股份有限公司 | 一种上传文件到服务器的方法 |
CN104468843A (zh) * | 2014-12-31 | 2015-03-25 | 浪潮软件股份有限公司 | 一种文件上传方法及装置 |
CN108933805A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种文件传输方法及系统 |
CN107861686A (zh) * | 2017-09-26 | 2018-03-30 | 深圳前海微众银行股份有限公司 | 文件存储方法、服务端和计算机可读存储介质 |
CN110401725A (zh) * | 2019-08-23 | 2019-11-01 | 深圳市鹰硕技术有限公司 | 文件上传方法、装置、终端、服务器、系统及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617760A (zh) * | 2022-12-20 | 2023-01-17 | 中化现代农业有限公司 | 一种大批量文件快速上传的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10812566B2 (en) | Distributed steam processing | |
EP3022890B1 (en) | Techniques to manage state information for a web service | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
US10693804B1 (en) | Using captured configuration changes to enable on-demand production of graph-based relationships in a cloud computing environment | |
CN110597922A (zh) | 数据处理方法、装置、终端及存储介质 | |
EP4379556A1 (en) | Blockchain-based data processing method, and device and computer-readable storage medium | |
US10839090B2 (en) | Digital data processing system for efficiently storing, moving, and/or processing data across a plurality of computing clusters | |
CN110990415A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111258958A (zh) | 一种数据获取方法、数据提供方法及装置 | |
CN113821478A (zh) | 一种基于区块链的大文件存储方法及系统 | |
CN112866406A (zh) | 一种数据存储方法、系统、装置、设备及存储介质 | |
CN112559525A (zh) | 数据检查系统、方法、装置和服务器 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111274004A (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN112738157A (zh) | 一种文件上传方法、系统及设备 | |
CN118075345A (zh) | 信息推送方法、装置、电子设备以及计算机存储介质 | |
CN115409507A (zh) | 区块处理方法、区块处理装置、计算机设备及存储介质 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN111314403B (zh) | 资源一致性的校验方法和装置 | |
CN108960378B (zh) | 一种数据下载方法、系统、装置和存储介质 | |
CN111444542A (zh) | 一种针对版权文件的数据处理方法、装置及存储介质 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN110968267A (zh) | 数据管理方法、装置、服务器及系统 | |
CN116932555B (zh) | 一种目标对象切片位置确定方法、装置、设备及存储介质 | |
CN110912953A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |
|
RJ01 | Rejection of invention patent application after publication |