CN114172892A - 文件上传方法和装置 - Google Patents
文件上传方法和装置 Download PDFInfo
- Publication number
- CN114172892A CN114172892A CN202111432723.5A CN202111432723A CN114172892A CN 114172892 A CN114172892 A CN 114172892A CN 202111432723 A CN202111432723 A CN 202111432723A CN 114172892 A CN114172892 A CN 114172892A
- Authority
- CN
- China
- Prior art keywords
- file
- uploading
- network
- target file
- network state
- 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 60
- 230000005540 biological transmission Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification 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]
Abstract
本申请涉及一种文件上传方法和装置。所述方法包括:确定待执行的文件上传任务;识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;根据网络状态上传文件上传任务对应的目标文件。本申请实施例能够根据当前网络状态灵活调整文件上传策略,从而保证用户体验或者减少服务器压力。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种文件上传方法、装置、计算机设备和存储介质。
背景技术
目前移动端在上传文件时,主要通过相应的文件上传API(ApplicationProgramming Interface,应用程序接口)接口进行上传。
发明人注意到该接口仅适用于一般性通用的文件上传,其没有针对移动端多变的网络状态进行处理,无论移动端处于何种网络状态中,都执行一种上传策略,这样当网络较差时,移动端,比如手机如果继续上传文件,会导致设备明显发烫,耗电量增加,内存负荷加大,继而影响用户体验;另外,如果服务器/网关处于超负荷/满负荷状态,继续上传文件可能给服务器造成更大的压力甚至雪崩。
发明内容
本申请针对上述不足或缺点,提供了一种文件上传方法、装置、计算机设备和存储介质,本申请实施例能够根据当前网络状态灵活调整文件上传策略,从而保证用户体验或者减少服务器压力。
本申请根据第一方面提供了一种文件上传方法,在一个实施例中,该方法包括:
确定待执行的文件上传任务;
识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;
根据网络状态上传文件上传任务对应的目标文件。
在一个实施例中,识别当前网络环境的网络状态,包括:
获取统计出的最近一次单位时间内的文件上传失败次数、文件分块上传次数以及上传流量平均值;
根据文件上传失败次数、文件分块上传次数以及上传流量平均值识别出当前网络环境的网络状态。
在一个实施例中,根据网络状态上传文件上传任务对应的目标文件,包括:
获取与网络状态对应的预设并发阈值;预设并发阈值用于表示上传文件时的文件并发数和/或文件块并发数;
根据预设整体并发阈值上传文件上传任务对应的目标文件。
在一个实施例中,在上传目标文件时,对目标文件进行分块上传;
根据预设整体并发阈值上传文件上传任务对应的目标文件之前还包括:
获取与网络状态对应的预设数据块阈值,根据预设数据块阈值对目标文件进行切块;预设数据块阈值表示文件块的大小。
在一个实施例中,网络环境的多个预设状态中包括用于表示当前网络环境不支持文件上传的网络恶劣状态;
根据网络状态上传文件上传任务对应的目标文件之前还包括:
检测当前网络状态是否为网络恶劣状态;
根据网络状态上传文件上传任务对应的目标文件,包括:
在检测出网络状态不为网络恶劣状态时,根据网络状态上传文件上传任务对应的目标文件;
该方法还包括:
在检测出网络状态为网络恶劣状态时,停止上传目标文件,并保存文件上传任务。
在一个实施例中,根据网络状态上传文件上传任务对应的目标文件,包括:
检测文件上传任务对应的目标文件属于公共文件或是属于私有文件;
在检测出目标文件属于公共文件时,根据网络状态上传目标文件;
在检测出目标文件属于私有文件时,使用位操作加密算法对目标文件进行加密得到加密文件,根据网络状态上传加密文件。
在一个实施例中,在目标文件属于公共文件时,该方法还包括:
接收用于表示获取目标文件的第一指令;
获取预存的目标文件的链接,目标文件的链接是在将目标文件上传至服务器之后服务器反馈的数据;
通过链接获取目标文件。
在一个实施例中,在目标文件属于私有文件时,该方法还包括:
接收用于表示获取目标文件的第二指令;
获取预存的目标文件的文件名和令牌,目标文件的文件名和令牌是在将目标文件的加密文件上传至服务器之后服务器反馈的数据;
根据目标文件的文件名和令牌从文件服务器获取对应的链接;
通过链接获取目标文件的加密文件;
使用位操作解密算法对目标文件的加密文件进行解密,得到目标文件。
在一个实施例中,确定待执行的文件上传任务,包括:
在重启或者检测出当前网络环境的网络状态从网络恶劣状态切换为其他的预设状态后,若在本地检测出预存的未完成的文件上传任务,将未完成的文件上传任务确定为待执行的文件上传任务。
本申请根据第二方面提供了一种文件上传装置,在一个实施例中,该装置包括:
任务确定模块,用于确定待执行的文件上传任务;
网络状态识别模块,用于识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;
文件上传模块,用于根据网络状态上传文件上传任务对应的目标文件。
本申请根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本申请根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本申请实施例中,确定待执行的文件上传任务;识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;根据网络状态上传文件上传任务对应的目标文件。本申请实施例能够根据当前网络状态灵活调整文件上传策略,从而保证用户体验或者减少服务器压力。
附图说明
图1为一个实施例中一种文件上传方法的应用环境图;
图2为一个实施例中一种文件上传方法的流程示意图;
图3为一个实施例中根据网络状态并发控制的操作示意图;
图4为一个实施例中分块上传的操作示意图;
图5为一个实施例中通过位操作算法加解密的过程示意图;
图6为一个实施例中一种文件上传装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供了一种文件上传方法。在本实施例中,该文件上传方法可以应用于如图1所示的应用环境中。其中,移动端10和服务器20通过网络30进行交互,移动端在执行文件上传任务时,会主动识别当前网络环境的网络状态,之后根据识别出的网络状态上传该文件上传任务对应的目标文件。其中,移动端10可以包括但不限于是各种智能手机、平板电脑等,服务器20可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供的一种文件上传方法包括如图2所示的步骤,下面以该方法应用于图1中的移动端为例进行说明。
S110:确定待执行的文件上传任务。
本实施例中,移动端可以响应于用户主动触发的上传指令,或者定时任务触发的上传指令来确定待执行的文件上传任务。
S120:识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个。
本实施例中,移动端会主动识别本设备当前所处网络环境的网络状态。具体地,网络环境有多个(也可称为多种)预设的网络状态,移动端会识别本设备当前所处的网络环境属于该多种预设的网络状态中的哪一个。
进一步地,可以根据具体应用场景为网络环境预设的多种网络状态,预设的网络状态的分类方式以及数量本实施例不进行限定。
示例性地,可以将网络环境预设“好”、“良好”、“较差”和“差”四种网络状态。可以结合移动端当前所使用的具体网络类型、上下行带宽、服务器/网关的状态等影响因素来区分各个网络状态。
S130:根据网络状态上传与该文件上传任务对应的目标文件。
其中,目标文件是指该文件上传任务指定要上传的文件,目标文件的数量可以为一个或多个,目标文件的文件类型可以包括但不限于是图片、视频、文档(如pdf文档、word文档和excel文档等等)。
在本申请实施例中,通过移动端确定出待执行的文件上传任务,然后识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;根据网络状态上传文件上传任务对应的目标文件。本申请实施例能够根据当前网络状态灵活调整文件上传策略,从而保证用户体验或者减少服务器压力。
在一个实施例中,识别当前网络环境的网络状态,包括:
获取统计出的最近一次单位时间内的文件上传失败次数、文件分块上传次数以及上传流量平均值;
根据文件上传失败次数、文件分块上传次数以及上传流量平均值识别出当前网络环境的网络状态。
在本实施例中,移动端会统计最近一次单位时间内的各个指定要素,包括文件上传失败次数、文件分块上传次数以及上传流量平均值等的数据,然后根据这些指定要素的数据来识别出当前网络环境的网络状态。其中,单位时间可以根据具体应用场景进行灵活调整,本实施例对此不进行限定,示例性地,可以将单位时间设置为300秒。此外,每个指定要素对应的单位时间可以不同,比如,文件上传失败次数和文件分块上传次数对应的单位时间是300秒,而上传流量平均值对应的单位时间是60秒。
其中,在根据这些指定要素的数据来识别出当前网络环境的网络状态时,具体是通过混合算法来识别出网络状态的。以下通过一个示例进行详细说明。
首先,移动端会统计各个指定要素的数据,比如具体是将统计出的最近300秒内上传文件时的文件上传失败次数(简称为F)、文件分块上传次数(具体是指失败的次数,简称为C)、以及最近60秒内上传文件时的上传流量平均值(简称为L)作为混合算法的因子。其中,上传流量平均值是指每秒上传流量的平均值。
其次,根据统计出的数据识别网络状态。
具体地,如图3所示,在当前网络为4G/5G/WIFI时,根据以下规则识别出网络状态:
如果因子F大于3时,判定网络状态为差;
如果因子F大于0时,并且小于3时,判定网络状态为较差;
如果因子F等于0时,且因子C大于0,并且小于3时,判定网络状态为良好;
如果因子F等于0时,且因子C大于3时,判定网络状态为较差;
如果因子F等于0时,且因子C等于0时,判定网络状态为好。
在当前网络为非4G/5G/WIFI时,根据以下规则识别出网络状态:
如果因子L的值大于200kb,判定网络状态为较差。
如果因子L的值小于200kb时,判定网络状态为差。
在一个实施例中,根据网络状态上传文件上传任务对应的目标文件,包括:
获取与网络状态对应的预设并发阈值;预设并发阈值用于表示上传文件时的文件并发数和/或文件块并发数;
根据预设整体并发阈值上传文件上传任务对应的目标文件。
本实施例中,为每种网络状态配置了相应的文件上传策略,该文件上传策略是指控制上传文件时的文件并发数和/或文件块并发数,其中,文件并发数是指同时上传的最大文件数量,文件块并发数是指分块上传每个文件时,同时上传的最大文件块数量。
示例性地,如图3所示,以预设并发阈值为文件并发数和文件块并发数为例,各网络状态对应的预设并发阈值可以是如下所示:
当网络状态为好时,文件并发数和文件块并发数为9;
当网络状态为良好时,文件并发数和文件块并发数为4;
当网络状态为较差时,串行队列执行任务,即文件并发数和文件块并发数为1。
在本实施例中,当网络状态为好的时候,可以让当前网络资源的利用率达到最大化,效率优先;当网络状态为良好的时候,可以在保证准确无误的前提下,兼顾上传的效率;当网络状态为较差时,可以降低文件传输对网络占用的优先级,牺牲上传的效率,从而保证准确性,保证不丢失,降低网络的拥堵,避免因为上传失败造成的网络资源浪费和手机发热发烫现象,继而可以进一步降低内存的消耗,保证移动端程序运行时的稳定性。
在此基础上,在一个实施例中,确定待执行的文件上传任务,包括:在重启或者检测出当前网络环境的网络状态从网络恶劣状态切换为其他的预设状态后,若在本地检测出预存的未完成的文件上传任务,将未完成的文件上传任务确定为待执行的文件上传任务。
本实施例中,当某一个文件正在传输时,突然断网或者客户端程序挂掉,那么在网络恢复或者下一次打开客户端程序的时候,会在本地查找还在传输中的文件,找到传输断掉的文件块,并继续上传,可以提高文件上传效率,降低对网络资源的浪费。
进一步地,在对目标文件进行分块上传时,根据预设整体并发阈值上传文件上传任务对应的目标文件之前还包括:获取与网络状态对应的预设数据块阈值,根据预设数据块阈值对目标文件进行切块;预设数据块阈值表示文件块的大小。
本实施例中,提供了一种分块上传策略,在该策略中,为各个网络状态预设了用于表示对文件分块时文件块的大小的数据块阈值,移动端需要根据该数据块阈值来确定文件的分块数量。
示例性地,如图4所示,当网络状态为好时,数据块阈值,即文件块的大小分为5M;当网络状态为良好时,文件块的大小为2M;当网络状态为较差时,文件块的大小为0.5M。进一步地,当网络状态为差时,不执行文件上传任务。
其中,在上传文件之前会先将文件进行压缩,如果压缩后的文件大于确定出的数据块阈值时,就会根据数据块阈值进行分块上传,其中每一个文件块都会带上文件总大小,块大小,块编号等信息。
对于每个目标文件而言,其分解出的每一个文件块上传成功后,都会记录已上传成功的数据;如果文件块上传失败,则会增加文件块上传失败的统计次数,则会进行块上传重试,如果重试1次后还是失败,就会把事务交给文件上传管理类进行处理,此时会重试将文件整体上传至服务器;当所有的文件块都上传完毕后,会向服务器发起上传完成的请求,等待服务器合并该所有的文件块。
本实施例中,在目标文件很大时,可以将其分成多个小块进行上传,这样可以针对传输失败的文件块,进行文件块上传重试,避免传输大文件失败时重新整体传输,提高了文件传输的效率,降低对网络资源的浪费。并且,本实施例还能够根据当前网络环境的网络状态来确定出相应的文件块大小,这样可以更合理地利用网络资源,降低传输失败的可能性。此外,本实施例还可以在传输超大文件时进行断点续传,以便节省网络资源。
进一步地,在一个实施例中,网络环境的多个预设状态中包括用于表示当前网络环境不支持文件上传的网络恶劣状态,比如可以是上述的网络状态:“差”。此时,获取与当前网络状态对应的预设数据块阈值之前还包括:检测当前网络状态是否为网络恶劣状态。
相应地,根据网络状态上传文件上传任务对应的目标文件,包括:在检测出网络状态不为网络恶劣状态时,根据网络状态上传文件上传任务对应的目标文件;
相应地,该方法还包括:在检测出网络状态为网络恶劣状态时,停止上传目标文件,并保存文件上传任务。
在本实施例中,当网络状态为网络恶劣状态,比如“差”时,暂缓所有文件上传任务的执行,等网络恢复再重启文件上传任务,防止移动端执行无意义的任务,这样可以降低网络的拥堵,以及降低对于服务器/网关的访问,减少服务器/网关所受负荷。
在一个实施例中,根据网络状态上传文件上传任务对应的目标文件,包括:
检测文件上传任务对应的目标文件属于公共文件或是属于私有文件;
在检测出目标文件属于公共文件时,根据网络状态上传目标文件;
在检测出目标文件属于私有文件时,使用位操作加密算法对目标文件进行加密得到加密文件,根据网络状态上传加密文件。
本实施例中,将目标文件区分为公共文件和私有文件,然后针对不同的文件来执行不同的处理逻辑。
其中,对于公共文件,采用通用传输引擎,以及采用大文件分块,断点续传、根据设备当前所处网络环境的网络状态智能切换传输策略等技术。对于私有文件,默认对服务器不可信,所以在上传之前先采用指定的位操作加密算法对私有文件进行加密,之后再将加密得到的加密文件上传到服务器。
本实施例在公共文件传输的基础上,增加了私有文件概念,可以更好的保护用户的隐私;此外,私有文件采用特殊的加密方式,保证了文件传输过程中的安全性。
进一步地,在一个实施例中,在目标文件属于公共文件时,该方法还包括:
接收用于表示获取目标文件的第一指令;
获取预存的目标文件的链接,目标文件的链接是在将目标文件上传至服务器之后服务器反馈的数据;
通过链接获取目标文件。
本实施例中,如果需要使用或展示的文件是公共文件,则通过之前将其上传至服务器时,服务器返回的链接直接获取文件数据,客户端就可以直接展示。
在一个实施例中,在目标文件属于私有文件时,该方法还包括:
接收用于表示获取目标文件的第二指令;
获取预存的目标文件的文件名和令牌,目标文件的文件名和令牌是在将目标文件的加密文件上传至服务器之后服务器反馈的数据;
根据目标文件的文件名和令牌从文件服务器获取对应的链接;
通过链接获取目标文件的加密文件;
使用位操作解密算法对目标文件的加密文件进行解密,得到目标文件。
本实施例中,私有文件传输到服务器成功时,服务器会返回相应的文件名。当客户端需要使用或者查看此文件时,需要带着文件名以及token(即令牌)去文件服务器获取能够获得文件整体的链接,即URL(Uniform Resource Locator,统一资源定位器),并且此链接有效性为预设的有效时长,比如300秒。当客户端通过访问该链接获取到该文件的二进制数据后,再进行解密操作,即可得到原始的文件。
本实施例中,获取私有文件时,采用了token进行校验,增加了获取文件的安全性;此外,私有文件的链接具有时效性,如果被泄漏,只要超过预设的有效时长就会失效,进一步保证了文件的安全性。
进一步地,以下通过一个示例对使用位操作加密算法、位操作解密算法加解密文件的操作进行说明。
请参见图5,在本示例中,具体加密算法内容如下:
(1)上传文件时,根据当前时间生成13位时间戳+4位随机数,一共生成17位数字作为文件名;
(2)根据文件名,分别拿到第13位数H,第14位数t,生成T=t+17,拿到第17位数L;
(3)将文件二进制数据从头数第H位,向后T位数,进行位运算,然后二进制数据的倒数第L位,向前T位数,进行位运算,生成加密后的数据。
具体解密算法内容如下:
(1)根据文件名,分别拿到第13位数H,第14位数t,生成T=t+17,拿到第17位数L;
(2)将文件二进制数据从头数第H位,向后T位数,进行位运算,然后二进制数据的倒数第L位,向前T位数,进行位运算,解密得到原始的数据,解密得到的文件可以用于展示。
图2为一个实施例中文件上传方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同的发明构思,本申请还提供了一种文件上传装置。在本实施例中,如图6所示,该文件上传装置包括以下模块:
任务确定模块110,用于确定待执行的文件上传任务;
网络状态识别模块120,用于识别当前网络环境的网络状态;网络状态为网络环境的多个预设状态中的一个;
文件上传模块130,用于根据网络状态上传文件上传任务对应的目标文件。
在一个实施例中,网络状态识别模块,包括:
统计数据获取子模块,用于获取统计出的最近一次单位时间内的文件上传失败次数、文件分块上传次数以及上传流量平均值;
网络状态识别子模块,用于根据文件上传失败次数、文件分块上传次数以及上传流量平均值识别出当前网络环境的网络状态。
在一个实施例中,文件上传模块,包括:
并发阈值获取子模块,用于获取与网络状态对应的预设并发阈值;预设并发阈值用于表示上传文件时的文件并发数和/或文件块并发数;
文件上传子模块,用于根据预设整体并发阈值上传文件上传任务对应的目标文件。
在一个实施例中,文件上传模块在上传目标文件时,具体用于对目标文件进行分块上传。相应地,文件上传模块,还包括切块子模块。
切块子模块,用于在根据预设整体并发阈值上传文件上传任务对应的目标文件之前,获取与网络状态对应的预设数据块阈值,根据预设数据块阈值对目标文件进行切块;预设数据块阈值表示文件块的大小。
在一个实施例中,网络环境的多个预设状态中包括用于表示当前网络环境不支持文件上传的网络恶劣状态。
相应地,该装置还包括检测模块。
检测模块,用于检测当前网络状态是否为网络恶劣状态;
文件上传模块,具体用于在检测出网络状态不为网络恶劣状态时,根据网络状态上传文件上传任务对应的目标文件;
该装置还包括任务保存模块。
任务保存模块,用于在检测出网络状态为网络恶劣状态时,停止上传目标文件,并保存文件上传任务。
在一个实施例中,文件上传模块,包括:
文件检测子模块,用于检测文件上传任务对应的目标文件属于公共文件或是属于私有文件;
第一上传子模块,用于在检测出目标文件属于公共文件时,根据网络状态上传目标文件;
第二上传子模块,用于在检测出目标文件属于私有文件时,使用位操作加密算法对目标文件进行加密得到加密文件,根据网络状态上传加密文件。
在一个实施例中,在目标文件属于公共文件时,该装置还包括:
指令接收模块,用于接收用于表示获取目标文件的第一指令;
链接获取模块,用于获取预存的目标文件的链接,目标文件的链接是在将目标文件上传至服务器之后服务器反馈的数据;
目标文件获取模块,用于通过链接获取目标文件。
在一个实施例中,在目标文件属于私有文件时,该装置还包括:
指令接收模块,用于接收用于表示获取目标文件的第二指令;
数据获取模块,用于获取预存的目标文件的文件名和令牌,目标文件的文件名和令牌是在将目标文件的加密文件上传至服务器之后服务器反馈的数据;
链接获取模块,用于根据目标文件的文件名和令牌从文件服务器获取对应的链接;
加密文件获取模块,用于通过链接获取目标文件的加密文件;
解密模块,用于使用位操作解密算法对目标文件的加密文件进行解密,得到目标文件。
在一个实施例中,任务确定模块,还用于在重启或者检测出当前网络环境的网络状态从网络恶劣状态切换为其他的预设状态后,若在本地检测出预存的未完成的文件上传任务,将未完成的文件上传任务确定为待执行的文件上传任务。
关于文件上传装置的具体限定可以参见上文中对于文件上传方法的限定,在此不再赘述。上述文件上传装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图7所示。
该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待上传文件等数据,具体存储的数据还可以参见上述方法实施例中的限定。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件上传方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法实施例中提供的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中提供的方法。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种文件上传方法,其特征在于,所述方法包括:
确定待执行的文件上传任务;
识别当前网络环境的网络状态;所述网络状态为网络环境的多个预设状态中的一个;
根据所述网络状态上传所述文件上传任务对应的目标文件。
2.如权利要求1所述的方法,其特征在于,
所述识别当前网络环境的网络状态,包括:获取统计出的最近一次单位时间内的文件上传失败次数、文件分块上传次数以及上传流量平均值;
根据所述文件上传失败次数、文件分块上传次数以及上传流量平均值识别出当前网络环境的网络状态。
3.如权利要求1所述的方法,其特征在于,所述根据所述网络状态上传所述文件上传任务对应的目标文件,包括:
获取与所述网络状态对应的预设并发阈值;所述预设并发阈值用于表示上传文件时的文件并发数和/或文件块并发数;
根据所述预设整体并发阈值上传所述文件上传任务对应的目标文件。
4.如权利要求3所述的方法,其特征在于,在上传所述目标文件时,对所述目标文件进行分块上传;
所述根据所述预设整体并发阈值上传所述文件上传任务对应的目标文件之前还包括:
获取与所述网络状态对应的预设数据块阈值,根据所述预设数据块阈值对所述目标文件进行切块;所述预设数据块阈值表示文件块的大小。
5.如权利要求1-4任一项所述的方法,其特征在于,所述网络环境的多个预设状态中包括用于表示当前网络环境不支持文件上传的网络恶劣状态;
所述根据网络状态上传文件上传任务对应的目标文件之前还包括:
检测所述网络状态是否为所述网络恶劣状态;
所述根据所述网络状态上传所述文件上传任务对应的目标文件,包括:
在检测出所述网络状态不为所述网络恶劣状态时,根据所述网络状态上传所述文件上传任务对应的目标文件;
所述方法还包括:
在检测出所述网络状态为所述网络恶劣状态时,停止上传所述目标文件,并保存所述文件上传任务。
6.如权利要求1所述的方法,其特征在于,所述根据所述网络状态上传所述文件上传任务对应的目标文件,包括:
检测所述文件上传任务对应的目标文件属于公共文件或是属于私有文件;
在检测出所述目标文件属于公共文件时,根据所述网络状态上传所述目标文件;
在检测出所述目标文件属于私有文件时,使用位操作加密算法对所述目标文件进行加密得到加密文件,根据所述网络状态上传所述加密文件。
7.如权利要求6所述的方法,其特征在于,在所述目标文件属于公共文件时,所述方法还包括:
接收用于表示获取所述目标文件的第一指令;
获取预存的所述目标文件的链接,所述目标文件的链接是在将所述目标文件上传至服务器之后所述服务器反馈的数据;
通过所述链接获取所述目标文件。
8.如权利要求6所述的方法,其特征在于,在所述目标文件属于私有文件时,所述方法还包括:
接收用于表示获取所述目标文件的第二指令;
获取预存的所述目标文件的文件名和令牌,所述目标文件的文件名和令牌是在将所述目标文件的加密文件上传至服务器之后所述服务器反馈的数据;
根据所述目标文件的文件名和令牌从文件服务器获取对应的链接;
通过所述链接获取所述目标文件的加密文件;
使用位操作解密算法对所述目标文件的加密文件进行解密,得到所述目标文件。
9.如权利要求5所述的方法,其特征在于,所述确定待执行的文件上传任务,包括:
在重启或者检测出当前网络环境的网络状态从网络恶劣状态切换为其他的预设状态后,若在本地检测出预存的未完成的文件上传任务,将所述未完成的文件上传任务确定为待执行的文件上传任务。
10.一种文件上传装置,其特征在于,所述装置包括:
任务确定模块,用于确定待执行的文件上传任务;
网络状态识别模块,用于识别当前网络环境的网络状态;所述网络状态为网络环境的多个预设状态中的一个;
文件上传模块,用于根据所述网络状态上传所述文件上传任务对应的目标文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432723.5A CN114172892A (zh) | 2021-11-29 | 2021-11-29 | 文件上传方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432723.5A CN114172892A (zh) | 2021-11-29 | 2021-11-29 | 文件上传方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114172892A true CN114172892A (zh) | 2022-03-11 |
Family
ID=80481446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111432723.5A Pending CN114172892A (zh) | 2021-11-29 | 2021-11-29 | 文件上传方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172892A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866536A (zh) * | 2022-05-31 | 2022-08-05 | 北京奕斯伟计算技术有限公司 | 文件上传方法及web前端 |
CN116347435A (zh) * | 2023-01-05 | 2023-06-27 | 深圳市昂星科技有限公司 | 一种行车数据采集方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580305A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网络上传调度和带宽检测方法、系统、客户端和服务器 |
CN105246055A (zh) * | 2015-09-18 | 2016-01-13 | 北京恒华伟业科技股份有限公司 | 一种图片上传方法及装置 |
CN105337722A (zh) * | 2014-06-19 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 数据加密方法及装置 |
CN111314483A (zh) * | 2020-03-04 | 2020-06-19 | 武汉联影医疗科技有限公司 | 文件归档方法、装置、计算机设备和存储介质 |
CN112188414A (zh) * | 2020-09-23 | 2021-01-05 | 江苏恒宝智能系统技术有限公司 | 一种多组终端安全交互方法及中继设备 |
-
2021
- 2021-11-29 CN CN202111432723.5A patent/CN114172892A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580305A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网络上传调度和带宽检测方法、系统、客户端和服务器 |
CN105337722A (zh) * | 2014-06-19 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 数据加密方法及装置 |
CN105246055A (zh) * | 2015-09-18 | 2016-01-13 | 北京恒华伟业科技股份有限公司 | 一种图片上传方法及装置 |
CN111314483A (zh) * | 2020-03-04 | 2020-06-19 | 武汉联影医疗科技有限公司 | 文件归档方法、装置、计算机设备和存储介质 |
CN112188414A (zh) * | 2020-09-23 | 2021-01-05 | 江苏恒宝智能系统技术有限公司 | 一种多组终端安全交互方法及中继设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866536A (zh) * | 2022-05-31 | 2022-08-05 | 北京奕斯伟计算技术有限公司 | 文件上传方法及web前端 |
CN116347435A (zh) * | 2023-01-05 | 2023-06-27 | 深圳市昂星科技有限公司 | 一种行车数据采集方法及系统 |
CN116347435B (zh) * | 2023-01-05 | 2024-01-23 | 深圳市昂星科技有限公司 | 一种行车数据采集方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351357B (zh) | 服务器限流方法、装置、计算机设备以及存储介质 | |
CN108848037B (zh) | 业务请求处理方法、装置、计算机设备和存储介质 | |
CN114172892A (zh) | 文件上传方法和装置 | |
CN110602169B (zh) | 服务调用方法、装置、计算机设备和存储介质 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN112597202B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111614548A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN110166529A (zh) | 保持登录态方法、装置、设备及存储介质 | |
CN110781140A (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
CN111224939B (zh) | 任务请求的拦截方法、装置、计算机设备和存储介质 | |
CN109831521B (zh) | 缓存实例管理方法、装置、计算机设备和存储介质 | |
CN111159233A (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN110597693A (zh) | 告警信息发送方法、装置、设备、系统及存储介质 | |
CN115883671B (zh) | 大数据传输方法、装置、设备及存储介质 | |
CN110049350B (zh) | 视频转码处理方法、装置、计算机设备和存储介质 | |
CN110650132A (zh) | 边缘计算节点的接入方法、装置、计算机设备和存储介质 | |
CN111787534A (zh) | 一种数据加解密方法、装置及电子设备 | |
CN114996730A (zh) | 一种数据加解密系统、方法、计算机设备及存储介质 | |
CN114422530A (zh) | 流量控制方法、装置和计算机设备和存储介质 | |
CN111258860B (zh) | 数据告警方法、装置、计算机设备和存储介质 | |
CN113014545B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN112153036B (zh) | 一种基于代理服务器的安全防御方法及系统 | |
CN113630851B (zh) | 通信模式状态切换方法、装置、计算机设备和存储介质 | |
CN114040378A (zh) | 应用的编排方法、装置、计算机设备和存储介质 | |
CN112104569A (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 |