CN115766696A - 一种文件上传方法、装置、电子设备及存储介质 - Google Patents
一种文件上传方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115766696A CN115766696A CN202111032458.1A CN202111032458A CN115766696A CN 115766696 A CN115766696 A CN 115766696A CN 202111032458 A CN202111032458 A CN 202111032458A CN 115766696 A CN115766696 A CN 115766696A
- Authority
- CN
- China
- Prior art keywords
- uploading
- task
- file
- target
- uploaded
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种文件上传方法、装置、电子设备及存储介质。其中方法,包括:获取目标上传任务队列;目标上传任务队列中包括至少一个上传任务,上传任务用于上传至少一个文件至后端服务器;对目标上传任务队列进行轮询,得到各个上传任务的任务计划;根据任务计划确定上传任务的处理策略;根据处理策略,对上传任务对应的文件进行文件上传。通过本实施例中的方法,用户可以通过制定上传任务,按照制定的策略对各个文件自动上传,同时,通过对任务进行轮询,可以提高传输容错机制,在某一上传任务在由上传异常恢复正常后,可以对停止上传的上传任务的文件进行续传;进而可以有效提高用户体验。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种文件上传方法、装置、电子设备及存储介质。
背景技术
当前,互联网成为人们生活工作不可或缺的元素。人们通过互联网进行数据的下载和上传,现在网络上上传文件所使用的含断点续传技术的工具主要是基于FTP的,续传的步骤包括上传和下载,但是很多网络上通用的防火墙不允许FTP上传,所以只能使用基于HTTP协议开发的上传工具。大多文件下载服务支持商提供了大文件的下载断点续传功能。但是,对于基于HTTP协议的大文件上传,却是一个空缺并且具有很多不足,满足不了社会的需要。
在相关技术中,若用户通过浏览器选择需要将数量多,且体积大的文件上传至服务端时,用户需对每个文件逐个进行上传,并且需要长时间打开web页面等待文件上传完成,如出现网络断开、页面刷新、浏览器关闭等情况均会导致文件传输失败。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种文件上传方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种文件上传方法,包括:
获取目标上传任务队列;所述目标上传任务队列中包括至少一个上传任务,所述上传任务用于上传至少一个文件至后端服务器;
对所述目标上传任务队列进行轮询,得到各个所述上传任务的任务计划;
根据所述任务计划确定所述上传任务的处理策略;
根据所述处理策略,对所述上传任务对应的文件进行文件上传。
可选的,如前述的方法,所述获取目标上传任务队列之前,还包括:
获取需上传至后端服务器的目标文件,并确定所述目标文件对应的目标任务计划;
根据所述目标任务计划生成与所述目标文件对应的目标上传任务;
将所述目标上传任务加入预设上传任务队列中,得到所述目标上传任务队列。
可选的,如前述的方法,所述根据所述处理策略,对所述上传任务对应的文件进行文件上传,包括:
在所述处理策略为手动上传,并获取用于触发执行所述上传的控制指令之后,通过执行所述控制指令,对所述上传任务对应的文件进行文件上传;
在所述处理策略为闲时上传,并确定执行所述上传任务的终端的当前资源占用量小于或等于预设资源占用量时,对所述上传任务对应的文件进行文件上传。
可选的,如前述的方法,所述对所述上传任务对应的文件进行文件上传,包括:
对于任一所述上传任务,将所述上传任务对应的待上传文件进行分片,得到多个分片文件;
计算得到所述分片文件的特征值;每个所述分片文件具有唯一对应的所述特征值;
根据所述处理策略对每个所述分片文件进行上传操作;
当检测到所述上传操作中断,在恢复与所述后端服务器通信之后,根据来自于所述后端服务器的已传输分片文件特征值,在所有所述分片文件中查询得到未传输至所述后端服务器的待传输分片文件;所述已传输分片文件特征值,为所述后端服务器通过对已传输至所述后端服务器的已传输分片文件进行计算得到的特征值;
在所有所述待传输分片文件完成上传操作时,确定所述待上传文件完成上传至所述后端服务器。
可选的,如前述的方法,
在得到多个分片文件之后,还包括:
根据所述分片文件,对存储有所述待上传文件的缓存区域中的数据进行更新;
在确定所述待上传文件完成上传至所述后端服务器之后,还包括:
从所述缓存区域中删除所述分片文件。
可选的,如前述的方法,所述将所述上传任务对应的待上传文件进行分片,得到多个分片文件,包括:
在所述待上传文件的数据量大于预设数据量上限时,按照预设的分片数据量,对所述文件进行分片处理,得到多个所述分片文件。
可选的,如前述的方法,还包括:
获取来自于所述后端服务器的错误信息;所述错误信息包括:重复传输信息,传输中断信息;所述重复传输信息,为所述后端服务器在判断存在至少两个相同的所述已传输分片文件时生成;所述传输中断信息,为所述后端服务器在确定预设中断时长内,未接收到上传数据后生成。
可选的,如前述的方法,还包括:
当检测到所述上传操作对应的账号退出登录时,对所述上传操作进行中断;
在检测到所述账号重新登录时,查询未完成上传的上传任务。
可选的,如前述的方法,在所述对所述上传任务对应的文件进行文件上传之后,还包括:
获取对所述文件的上传进度;
获取所述上传操作的传输速度;
根据所述上传进度及所述传输速度,得到所述上传任务的任务状态。
第二方面,本申请实施例提供了一种文件上传装置,包括:
获取模块,用于获取目标上传任务队列;所述目标上传任务队列中包括至少一个上传任务,所述上传任务用于上传至少一个文件至后端服务器;
轮询模块,用于对所述目标上传任务队列进行轮询,得到各个所述上传任务的任务计划;
处理策略确定模块,用于根据所述任务计划确定所述上传任务的处理策略;
上传模块,用于根据所述处理策略,对所述上传任务对应的文件进行文件上传。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法。
本申请实施例提供了一种文件上传方法、装置、电子设备及存储介质。其中方法,包括:获取目标上传任务队列;所述目标上传任务队列中包括至少一个上传任务,所述上传任务用于上传至少一个文件至后端服务器;对所述目标上传任务队列进行轮询,得到各个所述上传任务的任务计划;根据所述任务计划确定所述上传任务的处理策略;根据所述处理策略,对所述上传任务对应的文件进行文件上传。通过本实施例中的方法,用户可以通过制定上传任务,按照制定的策略对各个文件自动上传,同时,通过对任务进行轮询,可以提高传输容错机制,在某一上传任务在由上传异常恢复正常后,可以对停止上传的上传任务的文件进行续传;进而可以有效提高用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文件上传方法的流程示意图;
图2为本申请另一实施例提供的一种文件上传方法的流程示意图;
图3为本申请实施例提供的一种文件上传装置的框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种文件上传方法,包括如下所述步骤S1至S4:
步骤S1,获取目标上传任务队列;目标上传任务队列中包括至少一个上传任务,上传任务用于上传至少一个文件至后端服务器。
具体的,目标上传任务队列,可以是包括多个上传任务的队列。一般情况下,每个上传任务用于上传一个文件至后端服务器中。
在一些可选的实现方式中,通过将上传任务添加至form表单中,并通过浏览器将文件传输至后端服务器。
步骤S2,对目标上传任务队列进行轮询,得到各个上传任务的任务计划。
具体的,任务计划,可以是用于限定上传任务触发上传的条件;并且,一般的,每个上传任务都有对应的任务计划。举例的,任务计划可以是:手动上传、闲时上传、定时上传或者优先上传等等。其中,手动上传可以是在人为触发上传控件之后,开始对上传任务进行上传;闲时上传可以是在当前不存在其他上传任务、或者上行带宽占用率低于预设比例时对上传任务进行上传;定时上传可以是设定上传时间,以使在上传时间开始对上传任务进行上传;优先上传可以是以上传优先级高于上传任务在上传任务队列中的次序的顺序对该上传任务进行上传。
由于目标上传任务队列中包括多个上传任务,因此可以定时对目标上传任务队列中的上传任务的任务计划依次进行确定。可选的,可以对各个上传任务进行编号,以确定轮询的顺序,并且,编码的次序可以根据上传任务的建立时间进行依次编号,以使建立时间早的上传任务可以优先进行上传。并且,每两个上传任务之间轮询的时间间隔可以根据具体的设定进行选择,例如:1秒,10秒等等。
步骤S3,根据任务计划确定上传任务的处理策略。
具体的,处理策略,可以是根据任务计划对上传任务进行处理的方案;并且,与任务计划相对应的,处理策略也可以包括:手动上传、闲时上传、定时上传或者优先上传等等。
例如,在读取到form表单中的上传任务的任务计划之后,可以通过识别任务计划中的指定字段中的信息,确定任务计划所对应的处理策略,示例性的:任务计划中字段X用于指示处理策略,并且可以预设字段X的信息与处理策略之间的对应关系,以达到根据任务计划解析得到处理策略的目的;进一步的,当任务计划为定时上传时,任务计划中还包括用于指示上传时间的时间信息,以根据该时间信息确定进行定时上传的具体上传时间。
进一步的,在确定任务计划之后,当同一处理策略的上传任务包括多个的情况下,使处理策略中还可以包括与每个上传任务在该处理策略下的处理次序。例如,当form表单中依次包括:上传任务1(对应的任务计划为手动上传)、上传任务2(对应的任务计划为定时上传)、上传任务3(对应的任务计划为手动上传)、上传任务4(对应的任务计划为闲时上传)、上传任务5(对应的任务计划为手动上传)、上传任务6(对应的任务计划为优先上传);则上传任务1对应的处理策略为:手动上传且手动上传次序为1;则上传任务3对应的处理策略为:手动上传且手动上传次序为2;则上传任务5对应的处理策略为:手动上传且手动上传次序为3。
步骤S4,根据处理策略,对上传任务对应的文件进行文件上传。
具体的,在确定处理策略之后,可以根据处理策略中限定的时间或者条件对上传任务对应的文件进行上传。
举例的,当上传任务I对应的处理策略为需要手动上传,因此则可以是在人为触发上传控件之后,开始对上传任务对应的文件进行上传;当上传任务II对应的处理策略为闲时上传,则可以是在当前不存在其他上传任务、或者上行带宽占用率低于预设比例时对上传任务对应的文件进行上传;当上传任务III对应的处理策略为定时上传,则可以是当到达设定的预设上传时间后,开始对上传任务进行上传。
通过本实施例中的方法,用户可以通过制定上传任务,按照制定的策略对各个文件自动上传,同时,通过对任务进行轮询,可以提高传输容错机制,在某一上传任务在由上传异常恢复正常后,可以对停止上传的上传任务的文件进行续传;进而可以有效提高用户体验。
在一些实施例中,如前述的方法,在所述步骤S1获取目标上传任务队列之前,还包括如下所述步骤P1至P3:
步骤P1,获取需上传至后端服务器的目标文件,并确定目标文件对应的目标任务计划;
步骤P2,根据目标任务计划生成与目标文件对应的目标上传任务;
步骤P3,将目标上传任务加入预设上传任务队列中,得到目标上传任务队列。
具体的,目标文件,可以是由用户选定,需要上传至后端服务器的文件,并且,在将目标文件选定之后,可以通过确定目标文件的目标任务计划,生成与目标文件对应的目标上传任务。
预设上传任务队列中,可以存在已有的上传任务,也可以不存在上传任务。
其中一种可选的实现方式中,在将目标文件通过浏览器进行上传时,在选定目标文件之后,可以通过对用于选择任务计划的控件进行选择,确定目标文件对应的目标任务计划。
通过本实施例中的方法,可以实时对任务队列进行编辑,以实现上传任务的增加。
在一些实施例中,如前述的方法,所述步骤S4根据处理策略,对上传任务对应的文件进行文件上传,包括如下所述步骤S411和S412:
步骤S411,在处理策略为手动上传,并获取用于触发执行上传的控制指令之后,通过执行控制指令,对上传任务对应的文件进行文件上传。
具体的,控制指令可以是,用户通过触发“手动上传”控件之后生成的指令。
当对控制指令进行执行后,即可触发对上传任务对应的文件进行上传;以达到手动控制是否对上传任务对应的文件进行文件上传的目的。
步骤S412,在处理策略为闲时上传,并确定执行上传任务的终端的当前资源占用量小于或等于预设资源占用量时,对上传任务对应的文件进行文件上传。
具体的,终端,为运行本实施例方法对应代码的计算设备,并用于将上传任务对应的文件上传至后端服务器。
资源占用量中的资源类型可以包括:带宽占用量、计算资源占用量(例如:CUP使用率、内存使用率等等),预设资源占用量的确定标准可以是:保证文件上传的速率能够达到预设效率。并且,可选的,闲时上传中的预设资源占用量,可以是在带宽占用量为0时,即不存在其他进行上传的任务时,才对上传任务对应的文件进行文件上传。
如图2所示,在一些实施例中,如前述的方法,所述步骤S4对上传任务对应的文件进行文件上传,包括如下所述步骤S421和S425:
步骤S421,对于任一上传任务,将上传任务对应的待上传文件进行分片,得到多个分片文件。
具体的,待上传文件,可以是用于进行分片的文件;通过本实施例中的方法,可以将待上传文件进行分片,拆分为多个数据量小的分片文件。举例的,当待上传文件的大小为100M时,可以将该待上传文件按序分片得到50个2M的分片文件。可选的,可以按序对各个分片文件进行标号,以使后期可以根据标号对各个分片文件进行依次上传,并按照标号进行组合,还原得到待上传文件。
步骤S422,计算得到分片文件的特征值;每个分片文件具有唯一对应的特征值。
具体的,可以通过对分片文件计算MD5值的方式,计算得到与分片文件唯一对应的特征值。其中,MD5(Message-Digest Algorithm,信息摘要算法),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
步骤S423,根据处理策略对每个分片文件进行上传操作。
具体的,对于每个待上传文件来说,分片文件的处理策略与待上传文件的处理策略一致,可选的,各个分片文件可以是在按照处理策略对第一个分片文件(例如:标号为1的分片文件)进行上传之后,依次对各个分片文件进行上传操作;举例的,当在手动触发对待上传文件进行上传操作之后,按照标号1,2,3,…,n的次序,依次对该待上传文件的各个分片文件进行上传操作。
步骤S424,当检测到上传操作中断,在恢复与后端服务器通信之后,根据来自于后端服务器的已传输分片文件特征值,在所有分片文件中查询得到未传输至后端服务器的待传输分片文件;已传输分片文件特征值,为后端服务器通过对已传输至后端服务器的已传输分片文件进行计算得到的特征值。
具体的,上传操作中断,可以是用户手动执行中断操作之后导致,也可以是因为网络连接中断等情况导致。
已传输分片文件特征值,可以是后端服务器通过对已传输至后端服务器的已传输分片文件进行MD5值计算得到的特征值;进而可以使相同的文件可以得到相同的特征值,进而可以通过特征值判断后端服务器端的已传输分片文件与浏览器端的分片文件之间的一致性,并以此确定未发送至后端服务器的待传输分片文件。
举例的,当浏览器对各个分片文件按序逐个上传时,则后端服务器可以只返回一个最后接收到的已传输分片文件的已传输分片文件特征值,浏览器只需确定该已传输分片文件特征值对应的分片文件之后,即可确定在此分片文件之后的分片文件未传输至后端服务器,因此,可以确定需要续传的待传输分片文件。
步骤S425,在所有待传输分片文件完成上传操作时,确定待上传文件完成上传至后端服务器。
具体的,当所有未传输至后端服务器的待传输分片文件均已完成上传操作时,即可确定待上传文件完整的上传至了后端服务器。
通过本实施例中的方法,可以在存在数量多且体积大的待上传文件,进行文件上传需要较长时间的情况下,可能会因为面临页面意外刷新、网络中断等异常情况,导致上传中断时,可以不用对整个待上传文件进行重新上传,只需对待上传文件中未上传的分片文件继续上传,即可完成整个待上传文件的上传,进而可以有效提高上传的效率,可以让用户在上传过程中可以进行任何其他操作,而无需担心因此浏览器会出现意外刷新导致文件传输中断,有效提高了用户进行文件传输的体验。
在一些实施例中,如前述的方法,
在步骤S421得到多个分片文件之后,还包括如下所述步骤A1:
步骤A1,根据分片文件,对存储有待上传文件的缓存区域中的数据进行更新;
在步骤S425确定待上传文件完成上传至后端服务器之后,还包括如下所述步骤A2:
步骤A2,从缓存区域中删除分片文件。
具体的,在本实施例中,待上传文件在确定需要上传至后端服务器之后,可以将其存储与缓存区域中,以便于浏览器的调取。
并且在对待上传文件进行分片得到分片文件之后,可以根据分片文件对缓存区域中的数据进行更新(例如:将分片文件存储至缓存区域,或者在缓存区域中通过分片文件替换待上传文件)。
当确定待上传文件完成上传至后端服务器之后,待上传文件对应的分片文件即没有必要继续存储与缓存区域中,因此,可以对分片文件进行删除,以降低缓存对存储资源的占用。
在一些实施例中,如前述的方法,所述步骤S421将上传任务对应的待上传文件进行分片,得到多个分片文件,包括:
在待上传文件的数据量大于预设数据量上限时,按照预设的分片数据量,对文件进行分片处理,得到多个分片文件。
具体的,预设数据量,可以是用于判定需要进行分片处理的数据量上限值。举例的,当预设数据量为20M时,当待上传文件a的数据量为10M时,则待上传文件a无需进行分片处理;当待上传文件b的数据量为100M时,则待上传文件b需要进行分片处理,并当分片处理的单元为2M时,得到50个分片文件。
过本实施例中的方法,可以按需对不同的文件进行不同的处理,可以有效平衡分片处理耗时、分片处理资源消耗以及文件上传耗时,进而可以有效提升数据传输的性能以及效率。
在一些实施例中,如前述的方法,还包括如下所述步骤B1:
步骤B1,获取来自于后端服务器的错误信息;错误信息包括:重复传输信息,传输中断信息;重复传输信息,为后端服务器在判断存在至少两个相同的已传输分片文件时生成;传输中断信息,为后端服务器在确定预设中断时长内,未接收到上传数据后生成。
具体的,错误信息,可以是由后端服务器根据接收到的数据进行判断得到,用于表征浏览器端出现的传输问题的信息。
举例的,重复传输信息的判断方法可以是:后端服务器在每接收到一个已传输分片文件时,便计算该已传输分片文件的MD5值,并进行记录,当计算得到一个MD5值与已记录的MD5值一致时,则判断判断存在两个相同的已传输分片文件,因此生成重复传输信息;当后端服务器在确定10秒(即:其中一种预设中断时长的可选方案)内,为接收到浏览器端上传的数据后,则判定浏览器端的传输中断,因此可以生成传输中断信息。
进一步的,还可以在浏览器端与后端服务器恢复连接之后,将重复传输信息,传输中断信息发送至浏览器端。
进而,通过本实施例中的方法,可以将文件上传问题记录在后端服务器中,可以文件上传问题不仅在上传的当下才能够查看,后续查看文件上传错误的原因。
在一些实施例中,如前述的方法,还包括如下所述步骤C1和C2:
步骤C1,当检测到上传操作对应的账号退出登录时,对上传操作进行中断;
步骤C2,在检测到账号重新登录时,查询未完成上传的上传任务。
具体的,进行上传操作,可以是在进行账号登录之后,才能够上传至后端服务器中,退出登录可以包括但不限于:用户需要进行电脑关闭或者退出浏览器等操作时。并且当用户退出登录时,即会对当前正在进行的上传操作进行中断。可选的,可以对上传任务进行记录,以便于下次登录时,可以继续未完成的上传任务。
未完成上传的上传任务可以包括:在退出登录时未开始上传的上传任务,在退出登录时已进行至少一个分片文件上传的上传任务。
当检测到账号重新登录时,即可查询得到上次文件上传时,未完成上传操作所对应的上传任务。具体的,由于待上传文件缓存至指定的存储区域,因此,用户需要在与上次退出登录的同一设备上进行登录之后,才可以查询得到待上传文件,并对未完成上传的上传任务继续上传。
通过本实施例中的方法,及时用户在退出登录之后,也可在之后继续已停止的上传任务,可以避免用户多次建立上传任务,进而可以有效降低用户的操作,提高体验。
在一些实施例中,如前述的方法,所述步骤S4在对上传任务对应的文件进行文件上传之后,还包括如下所述步骤S5至S7:
步骤S5,获取对文件的上传进度;
步骤S6,获取上传操作的传输速度;
步骤S7,根据上传进度及传输速度,得到上传任务的任务状态。
具体的,可以通过用于监控传输进度的代码,获取对文件的上传进度(例如:已完成80%)以及传输速度(例如:5M/s),并且,可以基于上传进度及传输速度,得到上传任务的任务状态,并且可以基于传输进度,确定传输是否完成。
进一步的,可以量任务状态显示于特定的显示栏中,以使用户直观的确定当前上传的各个任务的任务状态。
如图3所示,根据本申请另一方面的一个实施例,还提供一种文件上传装置,包括:
获取模块1,用于获取目标上传任务队列;目标上传任务队列中包括至少一个上传任务,上传任务用于上传至少一个文件至后端服务器;
轮询模块2,用于对目标上传任务队列进行轮询,得到各个上传任务的任务计划;
处理策略确定模块3,用于根据任务计划确定上传任务的处理策略;
上传模块4,用于根据处理策略,对上传任务对应的文件进行文件上传。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图4所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件上传方法,其特征在于,包括:
获取目标上传任务队列;所述目标上传任务队列中包括至少一个上传任务,所述上传任务用于上传至少一个文件至后端服务器;
对所述目标上传任务队列进行轮询,得到各个所述上传任务的任务计划;
根据所述任务计划确定所述上传任务的处理策略;
根据所述处理策略,对所述上传任务对应的文件进行文件上传。
2.根据权利要求1所述的方法,其特征在于,所述获取目标上传任务队列之前,还包括:
获取需上传至后端服务器的目标文件,并确定所述目标文件对应的目标任务计划;
根据所述目标任务计划生成与所述目标文件对应的目标上传任务;
将所述目标上传任务加入预设上传任务队列中,得到所述目标上传任务队列。
3.根据权利要求1所述的方法,其特征在于,所述根据所述处理策略,对所述上传任务对应的文件进行文件上传,包括:
在所述处理策略为手动上传,并获取用于触发执行所述上传的控制指令之后,通过执行所述控制指令,对所述上传任务对应的文件进行文件上传;
在所述处理策略为闲时上传,并确定执行所述上传任务的终端的当前资源占用量小于或等于预设资源占用量时,对所述上传任务对应的文件进行文件上传。
4.根据权利要求1所述的方法,其特征在于,所述对所述上传任务对应的文件进行文件上传,包括:
对于任一所述上传任务,将所述上传任务对应的待上传文件进行分片,得到多个分片文件;
计算得到所述分片文件的特征值;每个所述分片文件具有唯一对应的所述特征值;
根据所述处理策略对每个所述分片文件进行上传操作;
当检测到所述上传操作中断,在恢复与所述后端服务器通信之后,根据来自于所述后端服务器的已传输分片文件特征值,在所有所述分片文件中查询得到未传输至所述后端服务器的待传输分片文件;所述已传输分片文件特征值,为所述后端服务器通过对已传输至所述后端服务器的已传输分片文件进行计算得到的特征值;
在所有所述待传输分片文件完成上传操作时,确定所述待上传文件完成上传至所述后端服务器。
5.根据权利要求4所述的方法,其特征在于,所述将所述上传任务对应的待上传文件进行分片,得到多个分片文件,包括:
在所述待上传文件的数据量大于预设数据量上限时,按照预设的分片数据量,对所述文件进行分片处理,得到多个所述分片文件。
6.根据权利要求4所述的方法,其特征在于,还包括:
获取来自于所述后端服务器的错误信息;所述错误信息包括:重复传输信息,传输中断信息;所述重复传输信息,为所述后端服务器在判断存在至少两个相同的所述已传输分片文件时生成;所述传输中断信息,为所述后端服务器在确定预设中断时长内,未接收到上传数据后生成。
7.根据权利要求4所述的方法,其特征在于,在所述对所述上传任务对应的文件进行文件上传之后,还包括:
获取对所述文件的上传进度;
获取所述上传操作的传输速度;
根据所述上传进度及所述传输速度,得到所述上传任务的任务状态。
8.一种文件上传装置,其特征在于,包括:
获取模块,用于获取目标上传任务队列;所述目标上传任务队列中包括至少一个上传任务,所述上传任务用于上传至少一个文件至后端服务器;
轮询模块,用于对所述目标上传任务队列进行轮询,得到各个所述上传任务的任务计划;
处理策略确定模块,用于根据所述任务计划确定所述上传任务的处理策略;
上传模块,用于根据所述处理策略,对所述上传任务对应的文件进行文件上传。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1至7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032458.1A CN115766696A (zh) | 2021-09-03 | 2021-09-03 | 一种文件上传方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032458.1A CN115766696A (zh) | 2021-09-03 | 2021-09-03 | 一种文件上传方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766696A true CN115766696A (zh) | 2023-03-07 |
Family
ID=85332511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032458.1A Pending CN115766696A (zh) | 2021-09-03 | 2021-09-03 | 一种文件上传方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766696A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781685A (zh) * | 2023-06-25 | 2023-09-19 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
-
2021
- 2021-09-03 CN CN202111032458.1A patent/CN115766696A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781685A (zh) * | 2023-06-25 | 2023-09-19 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
CN116781685B (zh) * | 2023-06-25 | 2024-02-13 | 三峡高科信息技术有限责任公司 | 一种浏览器大文件上传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN110995513A (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
JP7037066B2 (ja) | 評価装置、評価方法および評価プログラム | |
CN113468025A (zh) | 一种数据告警方法、系统、装置及存储介质 | |
CN111147310A (zh) | 一种日志跟踪处理的方法、装置、服务器及介质 | |
EP3506599B1 (en) | Method for synchronizing contact information, apparatus and medium | |
CN115766696A (zh) | 一种文件上传方法、装置、电子设备及存储介质 | |
CN111818582B (zh) | 数据传输方法、装置及电子设备 | |
CN116614495A (zh) | 数据上传方法、装置、设备、存储介质及程序产品 | |
CN110309028B (zh) | 监控信息获取方法、服务监控方法、装置及系统 | |
CN116938953A (zh) | 基于区块链的数据处理方法、装置、电子设备及存储介质 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
CN115023919A (zh) | 防火墙规则的更新方法、装置、服务器及存储介质 | |
CN116366634A (zh) | 一种文件下载方法、装置、终端、源服务器及介质 | |
CN113098978B (zh) | 一种数据传输方法、装置及介质 | |
CN111930548B (zh) | 一种多集群分布式服务的故障模拟系统 | |
CN114138786A (zh) | 一种联机交易消息去重方法、装置、介质、产品和设备 | |
CN110474954B (zh) | 基于区块链的文件分享方法、装置、计算机设备及可读存储介质 | |
CN112055058A (zh) | 数据的存储方法、装置及计算机可读存储介质 | |
CN110837431A (zh) | 服务控制方法、装置、计算机设备及计算机可读存储介质 | |
CN117176839B (zh) | 遥测报文传输方法、装置、通信设备及存储介质 | |
CN110881213A (zh) | 一种网络测试过程信息的传输方法及系统 | |
CN113472888B (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 |