CN112199052A - 一种文件下载方法、装置及计算机设备 - Google Patents

一种文件下载方法、装置及计算机设备 Download PDF

Info

Publication number
CN112199052A
CN112199052A CN202011218108.XA CN202011218108A CN112199052A CN 112199052 A CN112199052 A CN 112199052A CN 202011218108 A CN202011218108 A CN 202011218108A CN 112199052 A CN112199052 A CN 112199052A
Authority
CN
China
Prior art keywords
target
file
downloading
cache storage
storage space
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
Application number
CN202011218108.XA
Other languages
English (en)
Inventor
叶鹏腾
陶闵参
徐勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu TSD Electronics Technology Co Ltd
Original Assignee
Jiangsu TSD Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu TSD Electronics Technology Co Ltd filed Critical Jiangsu TSD Electronics Technology Co Ltd
Priority to CN202011218108.XA priority Critical patent/CN112199052A/zh
Publication of CN112199052A publication Critical patent/CN112199052A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种文件下载方法、装置及计算机设备,该包括:获取目标文件,根据目标文件大小确定缓存存储空间的数量;分别获取多个缓存存储空间的IO负载占用量,并据此确定符合数量的目标缓存存储空间;将目标文件分别复制并存储于目标缓存存储空间中;对目标文件进行切分,生成多个目标切片文件;继而确定各目标缓存存储空间的目标下载量;根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。将目标文件存储于多个目标存储空间中,解决了存在的大文件下载时间被延长,设备可靠性降低的问题,可以根据当前目标缓存存储空间的资源占用情况,合理分配文件下载任务,提高设备运行的可靠性。

Description

一种文件下载方法、装置及计算机设备
技术领域
本发明涉及数据传输处理技术领域,具体涉及一种文件下载方法、装置及计算机设备。
背景技术
随着互联网的发展,各种互联网设备上使用的程序文件等也越来越大,在下载大文件任务时,现有的下载方法是连续下载,当遇到网络波动(例如,断网),或者是其他用户突发性占用网络带宽等时,该设备的网速会骤减,容易导致下载大文件任务失败,从而导致文件的整体下载时长被延长,使得设备在文件的传输、更新等过程中反应时间变长,可能会造成设备运行的可靠性降低。
发明内容
有鉴于此,本发明实施例提供了一种文件下载方法、装置及计算机设备,以解决现有技术中存在的设备在文件的传输、更新等过程中反应时间变长以及设备运行的可靠性降低的技术问题。
根据第一方面,本发明实施例提供了一种文件下载方法,包括:获取目标文件,根据所述目标文件的大小,确定缓存存储空间的数量;分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合所述数量的目标缓存存储空间;将所述目标文件分别复制并存储于所述目标缓存存储空间中;对所述目标文件进行切分,生成多个目标切片文件;根据所述目标缓存存储空间的IO负载占用量、所述数量以及所述目标切片文件的数量,确定各目标缓存存储空间的目标下载量;根据所述目标下载量,在各目标缓存存储空间中下载对应目标切片文件。
结合第一方面,在第一方面第一实施方式中,所述获取目标文件的步骤包括:当下载文件对应的下载请求数量满足目标条件时,确定所述下载文件为目标文件;所述目标条件为当前预设周期内下载请求数量和与所述当前预设周期相邻的上一预设周期内下载请求数量的比值大于或等于预设阈值。
结合第一方面,在第一方面第二实施方式中,该方法还包括:通过下述公式,确定各目标缓存存储空间的目标下载量:
Figure BDA0002761117050000021
Figure BDA0002761117050000022
其中,Pi表示第i个目标缓存存储空间的IO负载占用量,C表示目标切片文件的数量,n表示缓存存储空间的预设存储数量,Ti表示第i个目标缓存存储空间的目标下载量,i为正整数,n为正整数。
结合第一方面,在第一方面第三实施方式中,该方法还包括:当在各目标缓存存储空间中下载对应目标切片文件暂停时,存储当前下载进度以及下载链接;当在各目标缓存存储空间中重新下载对应目标切片文件时,根据所述当前下载进度以及下载链接,确定当前下载位置;根据所述当前下载位置,重新下载对应目标切片文件。
结合第一方面,在第一方面第四实施方式中,该方法还包括:获取各目标缓存存储空间的下载地址,根据各目标缓存存储空间的下载地址,更新预设地址数据库列表。
结合第一方面,在第一方面第五实施方式中,该方法还包括:将所述目标文件复制并存储于一主存储空间中,当所述目标缓存存储空间失效时,根据所述失效目标缓存存储空间对应的目标下载量,在所述主存储空间下载对应目标切片文件。
结合第一方面,在第一方面第六实施方式中,该方法还包括:获取所述目标文件的文件名;获取根据预设条件对所述目标文件进行切分的切分时间戳;根据所述文件名、所述切分时间戳以及随机数,生成目标切片文件夹名称。
根据第二方面,本发明实施例提供了一种文件的下载装置,包括:数量确定模块,用于获取目标文件,根据所述目标文件的大小,确定缓存存储空间的数量;目标缓存存储空间确定模块,用于分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合所述数量的目标缓存存储空间;复制模块,用于将所述目标文件分别复制并存储于所述目标缓存存储空间中;切分模块,用于对所述目标文件进行切分,生成多个目标切片文件;目标下载量确定模块,用于根据所述目标缓存存储空间的IO负载占用量、所述数量以及所述目标切片文件的数量,确定各目标缓存存储空间的目标下载量;下载模块,用于根据所述目标下载量,在各目标缓存存储空间中下载对应目标切片文件。
根据第三方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面或者第一方面的任意一种实施方式中所述的文件的下载的方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第二方面或者第二方面的任意一种实施方式中所述的文件的下载的方法。
本发明技术方案,具有如下优点:
本发明实施例提供的一种文件下载方法、装置及计算机设备,其中,该文件下载方法,包括:获取目标文件,根据目标文件的大小,确定缓存存储空间的数量;分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合数量的目标缓存存储空间;将目标文件分别复制并存储于目标缓存存储空间中;对目标文件进行切分,生成多个目标切片文件;根据目标缓存存储空间的IO负载占用量、数量以及目标切片文件的数量,确定各目标缓存存储空间的目标下载量;根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。将目标文件存储于多个目标存储空间中,解决了相关技术中存在的大文件下载时间被延长,设备的可靠性降低的问题,可以根据当前目标缓存存储空间的资源占用情况,合理分配文件下载任务,提高了设备运行的可靠性;提高了大文件数据下载的传输速度以及可靠性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中文件下载方法的一个具体示例的流程图;
图2为本发明实施例中文件下载方法的另一个具体示例的流程图;
图3为本发明实施例中文件的下载装置的一个具体示例的原理框图;
图4为本发明实施例中计算机设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
当出现其他网络用户突发性的占用网络带宽的情况时,大文件的传输过程以及下载过程会不可避免地受到影响,导致文件的下载时间被延长,为了解决上述问题,本发明实施例提供了一种文件下载方法、装置及计算机设备。
本发明实施例提供了一种文件下载方法,如图1所示,该文件下载方法包括:
步骤S11:获取目标文件,根据目标文件的大小,确定缓存存储空间的数量;在本实施例中,目标文件可以是在智能设备在运行过程中需要的任意文件,例如,智能设备新版本系统的安装文件以及与新版本软件对应的安装文件等;缓存存储空间可以是存放于各种文件的存储介质,例如,缓存固态硬盘;具体地,获取当前处于下载高峰期的目标文件,根据目标文件本身的大小,确定缓存存储空间的数量值;也就是根据目标文件的大小,确定缓存固态硬盘的数量值,即确定需要将上述目标文件复制到多少个缓存固态硬盘中。例如,如果当前的目标文件的大小为500MB时,可以将目标文件复制到四个缓存固态硬盘中。
步骤S12:分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合数量的目标缓存存储空间;在本实施例中,存储占用量为缓存存储空间当前被占用的空间;而IO负载占用量为缓存存储空间当前的处理任务速度,也可以是缓存固态硬盘读写使用率,硬盘的“IO负载占用量较低”一般来说可以表现为当前硬盘处理任务的速度较低,可以理解为此缓存存储空间当前较为空闲,可以被分配更多任务。具体地,获取系统中当前所有缓存固态硬盘的IO负载占用量,根据上述步骤中确定的缓存固态硬盘的数量值,选取其中IO负载占用量最低的缓存固态硬盘。例如,数量值为4时,提取当前IO负载占用量最低的四块缓存固态硬盘。具体地,可以通过监控模块(psutil)的IO负载检测器(disk_io_counters)获取缓存固态硬盘的当前IO读写占用情况。
示例性地,存储占用量为缓存存储空间当前剩余容量,当将任务分配给存储占用量最低的硬盘时,可能会出现过载情况,即虽然此缓存存储空间占用较低,但是还存在较多待处理任务,因此,需选择IO负载占用量最低的多个缓存存储空间。
具体地,当IO负载占用量为较低的缓存存储空间,虽然当前较为空闲,但缺少对缓存存储空间的剩余空间的判断,也有可能出现过载的现象;为了防止此种问题的出现,一方面,加大缓存空间的容量,使得缓存存储空间的容量远远大于各文件的容量,将减少这种问题出现的概率,另一方面,可以设置为每一个文件过期清理时间(例如5天,用户也可以根据实际情况确定过期清理时间),当达到过期清理时间时,判断对应文件的下载请求量,当此文件的下载请求量归零时,删除此文件,也可以确保缓存存储空间充足。并配合定期分析缓存储空间的IO负载占用量,当超过预设阈值(例如80%时),将会强制删除最接近过期时间且目前下载的请求量是0的文件。
示例性地,当删除缓存存储空间内的文件时,将会更新文件下载地址,更新为主存储空间中源文件的位置。
步骤S13:对目标文件进行切分,生成多个目标切片文件;在本实施例中,根据预设条件对目标文件进行切分,生成多个目标切片文件;将生成的多个目标切片文件按切片顺序进行标号,得到目标切片文件次序。预设条件可以是在目标文件小于100MB时,切片大小为4MB,根据4MB的切片大小切分目标文件;当目标文件介于100-500MB时,切片大小为10MB;当目标文件大于500MB时,切片大小为20MB。
步骤S14:将目标切片文件复制并存储于多个目标缓存存储空间中;在本实施例中,目标缓存存储空间为根据实际硬件配置而确定当前IO负载占用量最低的缓存存储空间,也就是当前io占用最低的缓存固态硬盘。具体地,IO负载占用量可以是根据监控模块(psutil)的计数器(disk_io_counters)的检测结果确定的。
步骤S15:根据目标缓存存储空间的IO负载占用量、数量以及目标切片文件的数量,确定各目标缓存存储空间的目标下载量;在本实施例中,根据目标缓存存储空间的IO负载占用量以及目标切片文件的数量,按比例分配需要在各目标缓存存储空间需要下载的目标切片文件数量,即目标下载量;例如,当根据目标文件的大小确定的目标缓存存储空间数量为4个,且IO负载占用量分别为20%、30%、50%以及10%,目标切片文件数量为20个时,可以确定分配比例为8:7:5:9,即在第一目标缓存存储空间中,需要下载5个目标切片文件;在第二目标缓存存储空间中,需要下载4个目标切片文件;在第三目标缓存存储空间中,需要下载3个目标切片文件;在第四目标缓存存储空间中,需要下载8个目标切片文件。
步骤S16:根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。在本实施例中,根据目标切片文件次序,分别在各缓存固态硬盘中,下载相应序号以及数量的目标切片文件。
本发明实施例提供的一种文件下载方法,包括:获取目标文件,根据目标文件的大小,确定缓存存储空间的数量;分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合数量的目标缓存存储空间;将目标文件分别复制并存储于目标缓存存储空间中;对目标文件进行切分,生成多个目标切片文件;根据目标缓存存储空间的IO负载占用量、数量以及目标切片文件的数量,确定各目标缓存存储空间的目标下载量;根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。将目标文件存储于多个目标存储空间中,解决了相关技术中存在的大文件下载时间被延长,设备的可靠性降低的问题,可以根据当前目标缓存存储空间的资源占用情况,合理分配文件下载任务,提高了大文件数据下载的传输速度以及可靠性,从而可以保证设备的稳定运行。
作为本发明一个可选的实施方式,上述步骤S11:获取目标文件,具体包括:当下载文件对应的下载请求数量满足目标条件时,确定下载文件为目标文件;目标条件为当前预设周期内下载请求数量和与当前预设周期相邻的上一预设周期内下载请求数量的比值大于或等于预设阈值。在本实施例中,系统中存在多个可以供用户下载的下载文件,每个下载文件都存在相应的下载链接,用户可以通过下载链接发出下载请求,继而下载系统中的下载文件。
具体地,当根据下载链接确定的下载请求数量满足目标条件时,可以确定当前下载文件即为目标文件;预设周期可以是十分钟,当前预设周期可以是当前十分钟内,与当前预设周期相邻的上一预设周期可以是上一段十分钟;目标条件可以是当前十分钟内下载请求的数量是上一段十分钟内下载请求数量的目标倍数,例如,五倍等;也就是说,目标条件为同一个下载链接的下载请求数量在10分钟以内达到上一段10分钟的下载请求数量的500%。
具体地,当下载文件对应的下载请求数量满足目标条件时,也就是确定当前下载文件为目标文件时,可以认为目标文件此时已经达到下载高峰期,实际应用场景可以是系统刚推送新版本更新文件的24小时内。
基于上述过程,本发明实施例提供的一种文件下载方法,可以周期性分析下载请求,并根据下载请求数量的增长及时调整提供各目标切片文件的策略。
具体地,通过下述公式,确定各目标缓存存储空间的目标下载量:
Figure BDA0002761117050000081
Figure BDA0002761117050000082
其中,Pi表示第i个目标缓存存储空间的IO负载占用量,C表示目标切片文件的数量,n表示缓存存储空间的预设存储数量,Ti表示第i个目标缓存存储空间的目标下载量,i为正整数,n为正整数,前n-1块硬盘所需要提供的切片文件数量分别是T1…Tn-1,A表示第n块硬盘(即IO负载占用量最高的硬盘)要提供的切片文件数量数目。
本发明实施例提供的一种文件下载方法,结合当前各目标缓存固态硬盘的io占用比确定目标下载量,即根据当前缓存固态硬盘的资源占用情况,合理分配任务,减少某块硬盘负载过高而导致系统故障的可能性,提高系统的稳定性,提供目标切片文件时,可以从多块缓存固态硬盘中同时下载,提高了设备的下载目标文件的速度。
作为本发明一个可选的实施方式,该文件下载方法,还包括:
首先,当在各目标缓存存储空间中下载对应目标切片文件暂停时,存储当前下载进度以及下载链接;在本实施例中,在一目标缓存存储空间中下载目标切片文件的场景下,如果当前网络状况出现异常而导致下载动作暂停时,可以自动存储当前下载目标文件对应的下载链接以及下载进度,下载进度可以是百分之五十等。
其次,当在各目标缓存存储空间中重新下载对应目标切片文件时,根据当前下载进度以及下载链接,确定当前下载位置;根据当前下载位置,重新下载对应目标切片文件。在本实施例中,当网络状况恢复良好,可以重新通过下载链接继续下载目标切片文件时,可以根据上述步骤中存储的下载链接以及下载进度,确定暂停位置;暂停位置也就是网络状态出现异常的下载位置,当重新下载时,可以根据预设复写量确定当前下载位置,也就是说,在重新下载时,会在暂停位置前100位字节重新开始下载。
具体地,当重新下载目标切片文件完成后,可以计算该目标切片文件的哈希值,与之前下载的目标切片文件的哈希值进行比较;当不符时,可以重新确定暂停位置以及当前下载位置,继而下载目标切片文件。
作为本发明一个可选的实施方式,该文件下载方法还包括:获取各目标缓存存储空间的下载地址,根据各目标缓存存储空间的下载地址,更新预设地址数据库列表。在本实施例中,当在第一缓存固态硬盘中切分生成多个目标切片文件,将生成的多个目标切片文件复制于其他多个缓存固态硬盘时,获取各目标缓存固态硬盘中目标切片文件的位置,并通过预设的NGINX工具,将目标切片文件的存储位置映射为下载链接,根据映射生成下载位置生成下载地址,并在预设地址数据库列表中更新文件的当前下载地址。
作为本发明一个可选的实施方式,该文件下载方法还包括:将目标文件复制并存储于一主存储空间中,当目标缓存存储空间失效时,根据失效目标缓存存储空间对应的目标下载量,在主存储空间下载对应目标切片文件。在本实施例中,主存储空间可以是主存储硬盘;失效可以是无法在缓存固态硬盘中下载目标切片文件,也就是缓存固态硬盘无法提供对应的目标切片文件,将生成的多个目标切片文件复制于主存储硬盘中。具体地,在下载目标切片文件的具体应用场景中,如果遇到某一目标缓存固态硬盘无响应,无法提供对应目标切片文件的情况,可以在与当前目标缓存固态硬盘相邻的另一目标缓存固态硬盘中下载相应的目标切片文件;如果所有的目标缓存固态硬盘均无法提供目标切片文件时,此时可以从主存储硬盘中下载相应的目标切片文件。
具体地,例如,目标文件切分成20个目标切片文件,在第一目标缓存固态硬盘中,下载5个目标切片文件;在第二目标缓存固态硬盘中,下载4个目标切片文件;在第三目标缓存固态硬盘中,下载3个目标切片文件;在第四目标缓存固态硬盘中,下载8个目标切片文件;当第三目标缓存固态硬盘失效时,此时对应的第十个至第十二个目标切片文件可以在第二目标缓存固态硬盘中下载,也可以在第四目标缓存固态硬盘下载。当第一目标缓存固态硬盘、第二目标缓存固态硬盘以及第四目标缓存固态硬盘均失效时,此时所有的20个目标切片文件均可以在主存储硬盘中下载。
具体地,目标文件一般为系统升级包文件等大文件,由于系统升级包对应的下载地址一般都存在周期性的访问高峰,即在系统升级包推送一周内可以认为是上述系统升级包的下载高峰期。当管理者在管理自己设备地具体应用场景中,根据设备列表确定的当前设备的升级率较高(例如超过百分之九十)时,系统可以设定系统升级包的下载链接对应的下载地址为主存储硬盘中的下载地址,并删除各目标缓存固态硬盘中的多个目标切片文件,即此时设备再下载系统升级包时,均从主存储硬盘中下载,而不会从其他缓存固态硬盘中下载。系统的管理者可以根据当前各个设备的升级情况,灵活安排清理缓存固态硬盘中的切片文件数据的周期,保证系统运行的稳定性。
本发明实施例提供的一种文件下载方法,结合将生成的多个目标切片文件分别复制于主存储硬盘和多个目标缓存固态硬盘,以及可以从相邻缓存固态硬盘获得对应目标切片文件的切换机制,可以保证用户下载目标切片文件的可靠性,即大大提高了系统运行的稳定性。
作为本发明一个可选的实施方式,该文件下载方法,还包括:获取目标文件的文件名;获取根据预设条件对目标文件进行切分的切分时间戳;根据文件名、切分时间戳以及随机数,生成目标切片文件夹名称。在本实施例中,首先获取目标文件的文件名称,即系统内预先存储的完整目标文件的文件名称;继而获取将目标文件进行切分,得到多个目标切片文件的时间节点;根据目标文件的文件名称、生成多个目标切片文件的时间节点以及随机生成的数字或字母,生成目标切片文件夹的名称,可以将生成的多个目标切片文件存放于目标切片文件夹中,随机生成的数字或字母可以是三位、四位以及其他任意根据实际应用场景而确定的位数,目标切片文件夹的名称需要去除小数点,防止在识别文件类型时出错。
本发明实施例提供的一种文件下载方法,结合目标文件的文件名与当前切分时间的时间戳(例如,精度可以精确到微秒级别),且拼接3位随机的字母或数字的组合相拼接的名称来建立存储目标切片文件的文件夹,将目标切片文件保存在该文件夹,可以保证即使短时间内多个目标文件被切分,也能保证同一个目标文件的切片文件保存位置的唯一性,不被混淆。
本发明实施例还提供了一种文件的下载装置,如图3所示,该装置包括:
数量确定模块21,用于获取目标文件,根据目标文件的大小,确定缓存存储空间的数量;详细实施内容可参见上述方法实施例中步骤S11的相关描述。
目标缓存存储空间确定模块22,用于分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合数量的目标缓存存储空间;详细实施内容可参见上述方法实施例中步骤S12的相关描述。
复制模块23,用于将目标文件分别复制并存储于目标缓存存储空间中;详细实施内容可参见上述方法实施例中步骤S13的相关描述。
切分模块24,用于对目标文件进行切分,生成多个目标切片文件;详细实施内容可参见上述方法实施例中步骤S14的相关描述。
目标下载量确定模块25,用于根据目标缓存存储空间的IO负载占用量、数量以及目标切片文件的数量,确定各目标缓存存储空间的目标下载量;详细实施内容可参见上述方法实施例中步骤S15的相关描述。
下载模块26,用于根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。详细实施内容可参见上述方法实施例中步骤S16的相关描述。
本发明实施例提供的一种文件下载装置,包括:数量确定模块21,用于获取目标文件,根据目标文件的大小,确定缓存存储空间的数量;目标缓存存储空间确定模块22,用于分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合数量的目标缓存存储空间;复制模块23,用于将目标文件分别复制并存储于目标缓存存储空间中;切分模块24,用于对目标文件进行切分,生成多个目标切片文件;目标下载量确定模块25,用于根据目标缓存存储空间的IO负载占用量、数量以及目标切片文件的数量,确定各目标缓存存储空间的目标下载量;下载模块26,用于根据目标下载量,在各目标缓存存储空间中下载对应目标切片文件。将目标文件存储于多个目标存储空间中,解决了相关技术中存在的大文件下载时间被延长,设备的可靠性降低的问题,可以根据当前目标缓存存储空间的资源占用情况,合理分配文件下载任务,提高了大文件数据下载的传输速度以及可靠性,从而可以保证设备的稳定运行。
本发明实施例还提供了一种计算机设备,如图4所示,该计算机设备可以包括处理器31和存储器32,其中处理器31和存储器32可以通过总线30或者其他方式连接,图4中以通过总线30连接为例。
处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的文件下载方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的文件下载方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器31所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器32中,当被所述处理器31执行时,执行如图1所示实施例中的文件下载方法。
上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的文件下载方法,其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、存储空间(Hard DiskDrive,缩写:HDD)或存储空间(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种文件下载方法,其特征在于,包括:
获取目标文件,根据所述目标文件的大小,确定缓存存储空间的数量;
分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合所述数量的目标缓存存储空间;
对所述目标文件进行切分,生成多个目标切片文件;
将所述目标切片文件复制并存储于多个目标缓存存储空间中;
根据所述目标缓存存储空间的IO负载占用量、所述数量以及所述目标切片文件的数量,确定各目标缓存存储空间的目标下载量;
根据所述目标下载量,在各目标缓存存储空间中下载对应目标切片文件。
2.根据权利要求1所述的方法,其特征在于,所述获取目标文件的步骤包括:当下载文件对应的下载请求数量满足目标条件时,确定所述下载文件为目标文件;所述目标条件为当前预设周期内下载请求数量和与所述当前预设周期相邻的上一预设周期内下载请求数量的比值大于或等于预设阈值。
3.根据权利要求1所述的方法,其特征在于,通过下述公式,确定各目标缓存存储空间的目标下载量:
Figure FDA0002761117040000011
Figure FDA0002761117040000012
其中,Pi表示第i个目标缓存存储空间的IO负载占用量,C表示目标切片文件的数量,n表示缓存存储空间的预设存储数量,Ti表示第i个目标缓存存储空间的目标下载量,i为正整数,n为正整数。
4.根据权利要求1所述的方法,其特征在于,还包括:
当在各目标缓存存储空间中下载对应目标切片文件暂停时,存储当前下载进度以及下载链接;
当在各目标缓存存储空间中重新下载对应目标切片文件时,根据所述当前下载进度以及下载链接,确定当前下载位置;
根据所述当前下载位置,重新下载对应目标切片文件。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取各目标缓存存储空间的下载地址,根据各目标缓存存储空间的下载地址,更新预设地址数据库列表。
6.根据权利要求1所述的方法,其特征在于,还包括:
将所述目标文件复制并存储于一主存储空间中,当所述目标缓存存储空间失效时,根据所述失效目标缓存存储空间对应的目标下载量,在所述主存储空间下载对应目标切片文件。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取所述目标文件的文件名;
获取根据预设条件对所述目标文件进行切分的切分时间戳;
根据所述文件名、所述切分时间戳以及随机数,生成目标切片文件夹名称。
8.一种文件的下载装置,其特征在于,包括:
数量确定模块,用于获取目标文件,根据所述目标文件的大小,确定缓存存储空间的数量;
目标缓存存储空间确定模块,用于分别获取多个缓存存储空间的IO负载占用量,根据各缓存存储空间的IO负载占用量,确定符合所述数量的目标缓存存储空间;
复制模块,用于将所述目标文件分别复制并存储于所述目标缓存存储空间中;
切分模块,用于对所述目标文件进行切分,生成多个目标切片文件;
目标下载量确定模块,用于根据所述目标缓存存储空间的IO负载占用量、所述数量以及所述目标切片文件的数量,确定各目标缓存存储空间的目标下载量;
下载模块,用于根据所述目标下载量,在各目标缓存存储空间中下载对应目标切片文件。
9.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-7中任一项所述的文件下载方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的文件下载方法的步骤。
CN202011218108.XA 2020-11-04 2020-11-04 一种文件下载方法、装置及计算机设备 Pending CN112199052A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011218108.XA CN112199052A (zh) 2020-11-04 2020-11-04 一种文件下载方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011218108.XA CN112199052A (zh) 2020-11-04 2020-11-04 一种文件下载方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN112199052A true CN112199052A (zh) 2021-01-08

Family

ID=74034130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011218108.XA Pending CN112199052A (zh) 2020-11-04 2020-11-04 一种文件下载方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112199052A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788141A (zh) * 2021-01-18 2021-05-11 苏州浪潮智能科技有限公司 一种文件下载方法、装置、设备及计算机可读存储介质
CN113157625A (zh) * 2021-04-27 2021-07-23 百富计算机技术(深圳)有限公司 数据传输方法、装置、终端设备及计算机可读存储介质
WO2023029120A1 (zh) * 2021-08-31 2023-03-09 广东艾檬电子科技有限公司 一种应用下载处理方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN105893409A (zh) * 2015-11-17 2016-08-24 乐视网信息技术(北京)股份有限公司 文件下载方法及装置
CN105898607A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 网络视频播放方法、装置及系统
CN106412137A (zh) * 2016-12-20 2017-02-15 北京并行科技股份有限公司 一种文件下载系统及文件下载方法
US20170142186A1 (en) * 2015-11-17 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method, apparatus, and electronic device for downloading files
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN107959700A (zh) * 2016-10-18 2018-04-24 中国电信股份有限公司 自适应文件下载的方法和云存储网关
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置
CN109376122A (zh) * 2018-09-25 2019-02-22 深圳市元征科技股份有限公司 一种文件管理方法、系统及区块链节点设备和存储介质
CN110022336A (zh) * 2018-01-09 2019-07-16 武汉斗鱼网络科技有限公司 提高网络资源下载速度的方法、存储介质、设备及系统
CN111124250A (zh) * 2018-10-30 2020-05-08 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品
CN111245949A (zh) * 2020-01-19 2020-06-05 中国建设银行股份有限公司 文件归档传输方法、装置及设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN105893409A (zh) * 2015-11-17 2016-08-24 乐视网信息技术(北京)股份有限公司 文件下载方法及装置
US20170142186A1 (en) * 2015-11-17 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method, apparatus, and electronic device for downloading files
WO2017084313A1 (zh) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 文件下载方法、装置和电子设备
CN105898607A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 网络视频播放方法、装置及系统
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN107959700A (zh) * 2016-10-18 2018-04-24 中国电信股份有限公司 自适应文件下载的方法和云存储网关
CN106412137A (zh) * 2016-12-20 2017-02-15 北京并行科技股份有限公司 一种文件下载系统及文件下载方法
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置
CN110022336A (zh) * 2018-01-09 2019-07-16 武汉斗鱼网络科技有限公司 提高网络资源下载速度的方法、存储介质、设备及系统
CN109376122A (zh) * 2018-09-25 2019-02-22 深圳市元征科技股份有限公司 一种文件管理方法、系统及区块链节点设备和存储介质
CN111124250A (zh) * 2018-10-30 2020-05-08 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品
CN111245949A (zh) * 2020-01-19 2020-06-05 中国建设银行股份有限公司 文件归档传输方法、装置及设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788141A (zh) * 2021-01-18 2021-05-11 苏州浪潮智能科技有限公司 一种文件下载方法、装置、设备及计算机可读存储介质
CN112788141B (zh) * 2021-01-18 2022-07-05 苏州浪潮智能科技有限公司 一种文件下载方法、装置、设备及计算机可读存储介质
CN113157625A (zh) * 2021-04-27 2021-07-23 百富计算机技术(深圳)有限公司 数据传输方法、装置、终端设备及计算机可读存储介质
WO2022227895A1 (zh) * 2021-04-27 2022-11-03 百富计算机技术(深圳)有限公司 数据传输方法、装置、终端设备及计算机可读存储介质
CN113157625B (zh) * 2021-04-27 2023-12-19 百富计算机技术(深圳)有限公司 数据传输方法、装置、终端设备及计算机可读存储介质
WO2023029120A1 (zh) * 2021-08-31 2023-03-09 广东艾檬电子科技有限公司 一种应用下载处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112199052A (zh) 一种文件下载方法、装置及计算机设备
US10579364B2 (en) Upgrading bundled applications in a distributed computing system
US9971823B2 (en) Dynamic replica failure detection and healing
US20190213085A1 (en) Implementing Fault Domain And Latency Requirements In A Virtualized Distributed Storage System
WO2018001110A1 (zh) 一种基于纠删码的存储数据重构方法和装置、存储节点
US11099937B2 (en) Implementing clone snapshots in a distributed storage system
WO2018201103A1 (en) Iterative object scanning for information lifecycle management
US10372504B2 (en) Global usage tracking and quota enforcement in a distributed computing system
US9563531B2 (en) Storage of mass data for monitoring
CN110830283B (zh) 故障检测方法、装置、设备和系统
CN107656807B (zh) 一种虚拟资源的自动弹性伸缩方法及装置
US8935503B2 (en) Management device, storage medium, and management method
US11102289B2 (en) Method for managing resource state information and system for downloading resource
US11816029B2 (en) Adjustment of garbage collection parameters in a storage system
US10359945B2 (en) System and method for managing a non-volatile storage resource as a shared resource in a distributed system
CA2988805C (en) Datastore for aggregated measurements for metrics
CN112199342A (zh) 一种文件上传方法、装置及计算机设备
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
US20190215281A1 (en) Fenced Clone Applications
US11940885B2 (en) Parallel restore of a large object
CN112751722A (zh) 数据传输质量监控方法和系统
CN114968945A (zh) 数据留存管理方法、装置、存储介质及设备
US11036439B2 (en) Automated management of bundled applications
CN110784775A (zh) 一种视频分片缓存方法、装置及视频点播系统
CN114116790A (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