一种文件上传方法、装置、系统、存储介质及电子设备制造方法及图纸

技术编号:32915625 阅读:17 留言:0更新日期:2022-04-07 12:06
本发明专利技术实施例公开了一种文件上传方法、装置、系统、存储介质及电子设备。其中,文件上传方法包括:基于待上传文件的数据量和网络状态,生成上传请求,并将上传请求发送至服务器,接收所述服务器反馈的传输策略,其中,所述传输策略包括并行数和分块信息;基于所述分块信息对所述待上传文件进行分块处理,并基于所述并行数对各文件块进行上传;在文件块的上传过程中,监测当前资源消耗状态,并根据当前资源消耗状态更新所述传输策略,并基于更新后的传输策略对未上传文件块进行上传。提高传输策略与上传环境的适配度,在保证客户端正常运行的情况下,提高文件上传效率。提高文件上传效率。提高文件上传效率。

【技术实现步骤摘要】
一种文件上传方法、装置、系统、存储介质及电子设备


[0001]本专利技术实施例涉及计算机
,尤其涉及一种文件上传方法、装置、系统、存储介质及电子设备。

技术介绍

[0002]在日常的开发中,经常会有上传文件这类需求,对于小文件来说可以直接上传,如果是大文件的话,传统的上传方式会造成客户端卡死、占用大量系统资源、一旦断网则上传失败等情况。
[0003]针对于上述问题,通过对文件分块上传的方式,将大文件切分将单个请求变小,服务端通过合并分块的方式完成大文件的上传流程。
[0004]但是上述文件上传方法中分块的大小是固定,灵活性和适应性差。

技术实现思路

[0005]本专利技术实施例提供一种文件上传方法、装置、系统、存储介质及电子设备,以实现自适应地进行文件上传。
[0006]第一方面,本专利技术实施例提供了一种文件上传方法,包括:
[0007]基于待上传文件的数据量和网络状态,生成上传请求,并将上传请求发送至服务器,接收所述服务器反馈的传输策略,其中,所述传输策略包括并行数和分块信息;
[0008]基于所述分块信息对所述待上传文件进行分块处理,并基于所述并行数对各文件块进行上传;
[0009]在文件块的上传过程中,监测当前资源消耗状态,并根据当前资源消耗状态更新所述传输策略,并基于更新后的传输策略对未上传文件块进行上传。
[0010]第二方面,本专利技术实施例还提供了一种文件上传方法,包括:
[0011]接收客户端发送的上传请求,提取所述上传请求中请求参数,其中,所述请求参数包括待上传文件的数据量、网络状态、期望传输策略中的一项或多项;
[0012]基于所述请求参数确定传输策略,并将所述传输策略发送至所述客户端,其中,所述传输策略包括并行数和分块信息;
[0013]接收客户端上传的文件块并存储,以及在接收传输完成信号的情况下,对接收的多个文件块进行合并,得到上传文件。
[0014]第三方面,本专利技术实施例还提供了一种文件上传方法,包括:
[0015]客户端基于待上传文件的数据量和网络状态生成上传请求,并将上传请求发送至服务器;
[0016]所述服务器接收客户端发送的上传请求,提取所述上传请求中请求参数,基于所述请求参数确定传输策略,并将所述传输策略发送至所述客户端;
[0017]所述客户端接收所述服务器反馈的传输策略,其中,所述传输策略包括并行数和分块信息;基于所述分块信息对所述待上传文件进行分块处理,并基于所述并行数对各文
件块进行上传,以及在文件块的上传过程中,监测当前资源消耗状态,并根据当前资源消耗状态更新所述传输策略,并基于更新后的传输策略对未上传文件块进行上传;
[0018]所述服务器接收客户端上传的文件块并存储,以及在接收传输完成信号的情况下,对接收的多个文件块进行合并,得到上传文件。
[0019]第四方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术任一实施例提供的文件上传方法。
[0020]第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任一实施例提供的文件上传方法。
[0021]本实施例的技术方案,通过根据待上传文件的数据量和网络状态确定待上传文件的传输策略,该传输策略与待上传文件以及当前的上传条件相匹配,兼顾了上传速度,同时避免了对客户端资源的占用。进一步的,在文件上传的过程中,基于客户端的当前资源消耗状态对传输策略进行实时更新,以优化传输策略,提高传输策略与上传环境的适配度,在保证客户端正常运行的情况下,提高文件上传效率。
附图说明
[0022]图1是一种文件分块上传的流程示意图;
[0023]图2为本专利技术实施例提供的一种文件上传方法的流程图;
[0024]图3为本专利技术实施例提供的一种文件上传方法的流程图;
[0025]图4是本专利技术实施例提供的一种文件上传方法的流程示意图;
[0026]图5是本专利技术实施例提供的一种文件上传方法的流程图;
[0027]图6是本专利技术实施例提供的一种文件上传装置的结构示意图
[0028]图7是本专利技术实施例提供的一种文件上传装置的结构示意图;
[0029]图8是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0030]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0031]参见图1,图1是一种文件分块上传的流程示意图。其中,文件上传基于开源的WebUploader.js来进行,在开始上传之前指定分块大小参数chunkSize,并基于该分块大小参数chunkSize执行以下步骤:
[0032]步骤1、客户端使用WebUploader获取文件信息,并将文件大小、md5、名称等属性发送给服务端;
[0033]步骤2、服务端收到后检查文件是否存在,创建文件目录并返回成功给客户端;
[0034]步骤3、客户端使用WebUploader将文件分块后分块上传到服务端,其中,文件块的大小基于预先指定的分块大小参数chunkSize确定;
[0035]步骤4、服务端将收到的分块保存在分块的目录;
[0036]步骤5、结束后客户端通知服务端上传已完成,服务端对分块文件进行合并然后删
除分块,完成分块上传文件流程。
[0037]上述文件上传的方法,存在如下技术问题:1)单线程方式上传如果在文件较大,分片数目较多的情况下会造成分块上传请求排队阻塞,耗时长的情况。2)如果用多线程的方式进行分块上传,会较为耗费线程资源,同时可能带来额外的线程切换资源消耗和线程安全问题等。
[0038]针对上述技术问题,本专利技术实施例提供的一种文件上传方法,参见图2,图2为本专利技术实施例提供的一种文件上传方法的流程图,本实施例可适用于对文件进行自适应上传的情况,该方法可以由本专利技术实施例提供的文件上传来执行,该文件上传装置可以由软件和/或硬件来实现,该文件上传装置可以配置在诸如手机、PC机等的终端上,具体包括如下步骤:
[0039]S110、基于待上传文件的数据量和网络状态,生成上传请求,并将上传请求发送至服务器,接收所述服务器反馈的传输策略,其中,所述传输策略包括并行数和分块信息。
[0040]S120、基于所述分块信息对所述待上传文件进行分块处理,并基于所述并行数对各文件块进行上传。
[0041]S130、在文件块的上传过程中,监测当前资源消耗状态,并根据当前资源消耗状态更新所述传输策略,并基于更新后的传输策略对未上传文件块进行上传。
[0042]本实施例中,进行上传的文件可以是本地存储的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件上传方法,其特征在于,包括:基于待上传文件的数据量和网络状态,生成上传请求,并将上传请求发送至服务器,接收所述服务器反馈的传输策略,其中,所述传输策略包括并行数和分块信息;基于所述分块信息对所述待上传文件进行分块处理,并基于所述并行数对各文件块进行上传;在文件块的上传过程中,监测当前资源消耗状态,并根据当前资源消耗状态更新所述传输策略,并基于更新后的传输策略对未上传文件块进行上传。2.根据权利要求1所述的方法,其特征在于,所述基于所述并行数对各文件块进行上传,包括:创建与服务器之间的连接,其中,所述连接数与所述并行数相同;基于非阻塞I/O,通过所述与服务器之间的连接对各数据块进行并行上传。3.根据权利要求1所述的方法,其特征在于,所述根据当前资源消耗状态更新所述传输策略,包括:在所述当前资源消耗状态未超过资源消耗阈值的情况下,增大当前传输策略中的并行数和/或分块信息;在所述当前资源消耗状态超过资源消耗阈值的情况下,减小当前传输策略中的并行数和/或分块信息。4.一种文件上传方法,其特征在于,包括:接收客户端发送的上传请求,提取所述上传请求中请求参数,其中,所述请求参数包括待上传文件的数据量、网络状态、期望传输策略中的一项或多项;基于所述请求参数确定传输策略,并将所述传输策略发送至所述客户端,其中,所述传输策略包括并行数和分块信息;接收客户端上传的文件块并存储,以及在接收传输完成信号的情况下,对接收的多个文件块进行合并,得到上传文件。5.根据权利要求4所述的方法,其特征在于,所述基于所述请求参数确定传输策略,包括:将所述待上传文件的数据量、网络状态输入至预先设置的策略模型中,得到所述策略模型输出的传输策略;或者,将所述期望传输策略确定为传输策略;或者,将所述待上传文件的数据量、网络状态在传输策略库中进行匹配,其中,所述传输策略库中包括多个传输策略以及各传输策略对应的请求参数范围。6.一种文件上传方法,其特征在于,包括:客户端基于待上传文件的数据量和网络状态生成上传请求,并将上传请求发送至服务器;所述服务器接收客户端发送的上传请求,提取所述上传请求中请求参数,基于所述请求参数确定传输策略,并将所述传...

【专利技术属性】
技术研发人员:赵琪彧耿腾
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1