CN113132463B - 一种分布式的大文件快速下载方法及系统 - Google Patents

一种分布式的大文件快速下载方法及系统 Download PDF

Info

Publication number
CN113132463B
CN113132463B CN202110284540.7A CN202110284540A CN113132463B CN 113132463 B CN113132463 B CN 113132463B CN 202110284540 A CN202110284540 A CN 202110284540A CN 113132463 B CN113132463 B CN 113132463B
Authority
CN
China
Prior art keywords
downloading
task
module
download
node
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.)
Active
Application number
CN202110284540.7A
Other languages
English (en)
Other versions
CN113132463A (zh
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.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo 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 Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN202110284540.7A priority Critical patent/CN113132463B/zh
Publication of CN113132463A publication Critical patent/CN113132463A/zh
Application granted granted Critical
Publication of CN113132463B publication Critical patent/CN113132463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种分布式的大文件快速下载方法及系统,其中系统包括主节点装置、注册中心、存储装置和分布式下载装置,其中,所述主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块;分布式下载装置包括监听下载任务模块和下载模块;大文件解析模块用于解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;下载任务分发模块用于将任务按照顺序发布至注册中心;下载进度监听模块用于监听大文件所有的下载任务情况;注册中心用于存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听。

Description

一种分布式的大文件快速下载方法及系统
技术领域
本发明属于分布式软件技术领域,具体涉及一种分布式的大文件快速下载方法及系统。
背景技术
目前在处理TB/PB级大文件业务场景,例如大型日志文件下载分析、城市监控视频下载压缩剪辑、4K/8K视频下载转码时,为了提升大文件下载速度基本是单机多线程下载,此方法较普通单机单线程下载有一定的速度提升,但是受限于单机带宽的大小,导致单机下载始终存在瓶颈。
发明内容
本发明要解决的技术问题是提供一种分布式的大文件快速下载方法及系统,可以在多台机器上进行分布式下载,用来提高下载的总带宽,解决单机带宽限制的问题。
为解决上述技术问题,本发明采用如下的技术方案:
本发明实施例的一个方面提供了一种分布式的大文件快速下载系统,包括主节点装置、注册中心、存储装置和至少一台分布式下载装置,其中,所述主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块;分布式下载装置包括监听下载任务模块和下载模块;
大文件解析模块用于解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;下载任务分发模块用于将任务按照顺序发布至注册中心;下载进度监听模块用于监听大文件所有的下载任务情况;
注册中心用于存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听;
监听下载任务模块用于自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载中任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移;
下载模块用于根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成任务节点下,用于合并文件使用;
合并文件模块用于根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息;
存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
优选地,待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除。
优选地,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取。
优选地,已完成任务节点,由下载模块写入,由下载进度监听模块读取,由合并模块删除。
优选地,分片个数为:文件总大小/下载机器平均下行带宽/8。
本发明实施例的又一方面提供了一种分布式的大文件快速下载方法,应用于包括主节点装置、注册中心、存储装置和至少一台分布式下载装置的下载系统,所述主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块,分布式下载装置包括监听下载任务模块和下载模块,包括以下步骤:
大文件解析模块解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;
下载任务分发模块将任务按照顺序发布至注册中心;
注册中心存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听;
下载进度监听模块监听大文件所有的下载任务情况;
监听下载任务模块自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移;
下载模块根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成节点下,用于合并文件使用;
合并文件模块根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息;
存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
优选地,待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除。
优选地,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取。
优选地,已完成任务节点,由下载模块写入,由下载进度监听模块读取,由合并模块删除。
优选地,分片个数为:文件总大小/下载机器平均下行带宽/8。
采用本发明具有如下的有益效果:通过本发明实施例的系统和方法,可以通过增加下载机器个数来提高大文件的分片下载并发个数,从而提高整个下载的带宽,最终提升大文件的下载速度,解决了传统单机下载的带宽瓶颈,同时通过监听程序还可以实现机器异常后的下载任务转移功能,用来保证下载的完整性。
附图说明
图1为本发明实施例的分布式的大文件快速下载系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
系统实施例
参照图1,所示为本发明实施例的分布式的大文件快速下载系统,包括主节点装置、注册中心、存储装置和至少一台分布式下载装置(图中示出3台),其中,主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块;分布式下载装置包括监听下载任务模块和下载模块。大文件解析模块用于解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;下载任务分发模块用于将任务按照顺序发布至注册中心;下载进度监听模块用于监听大文件所有的下载任务情况。注册中心用于存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听。监听下载任务模块用于自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载中任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移。下载模块用于根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成任务节点下,用于合并文件使用。合并文件模块用于根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息。存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
通过以上提供的下载系统,大文件解析模块时进行逻辑分片计算分片个数为:文件总大小/下载机器平均下行带宽/8(结果使用进一法取整),比如下载机器有3台,每台机器下行带宽均为80Mbps,文件大小为3GB,那么分片个数为:3×1024/80/8=303,即需要将该文件分为303个分片任务交由3台下载机器进行下载,此处是考虑待下载的服务端的上行带宽无限制,因为下载是双向的,如果服务端带宽有限制,当下载机器的带宽总和达到该限制后,下载机器再增加,下载速度也不会有所提升。
每个分片任务由下载开始字节及下载结束字节大小组成,由于分片下载是基于http-range为前提,因此可以参考http-range样例,此处举例前三个下载任务的内容:
待下载任务1:Range:bytes=0-1048576
待下载任务2:Range:bytes=1048577-2097153
待下载任务3:Range:bytes=2097154-3145730。
具体应用实例中,下载任务分发模块得到每个待下载任务节点的信息后需要进行发布,即向注册中心写入待下载任务节点,待下载任务节点下存储以上任务信息,由具体的下载机器进行监听及接收处理,同时携带待下载的文件名称,用于区分下载任务。
具体应用实例中,注册中心模块可以采用zookeeper实现,zookeeper是一种树形结构的存储,此处定义三种树形节点:待下载任务节点、下载中任务节点和已完成任务节点,每个节点由不同的模块写入和读取。
其中待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除,节点目录名称无具体限制,能表达业务标识即可,比如:
/待下载/分片1
/待下载/分片2
/待下载/分片3...
待下载分片节点内容为待下载的范围,即下载开始和结束的字节,比如:Range:bytes=0-1048576。
具体应用实例中,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取,节点目录名称无具体限制,能表达业务标识即可,比如:
/下载中/分片1
/下载中/分片2
/下载中/分片...
下载中分片节点内容除了包含待下载节点中的内容外,还需要增加任务状。
具体应用实例中,已完成任务节点由下载模块写入,由下载进度监听模块读取,由合并模块删除,节点目录名称无具体限制,能表达业务标识即可,比如:
/已完成/分片1
/已完成/分片2
/已完成/分片...
已完成分片节点内容除了包含待下载节点中的内容外,还需要增加当前下载后存储到本地的路径,用于合并文件模块使用。
具体应用实例中,以上三类节点声明完成后,监听下载任务模块需要对待下载节点进行监听,当待下载节点下有新的分片节点生成时会主动通知监听下载任务模块,该模块将分片节点信息内容交由下载模块处理,同时在注册中心中把该待下载的分片任务信息删除,以防止被其他下载机器读取到,导致重复下载,然后将该任务存储至注册中心中的下载中的节点下,最后标识该任务的状态及所属机器信息,用于下载机器网络异常或宕机时进行下载任务转移。
具体应用实例中,下载模块根据分片的信息进行指定内容的下载,下载范例如下:
请求:GET http://待下载的服务器地址/大文件名称
Range:bytes=0-1048576
响应:0-1048576字节的文件流内容,将该内容写入挂载后的本地路径内。
下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,最后新增一条已完成的节点信息,伪代码范例如下:
#修改前的分片节点信息
/下载中/分片1
{
“下载范围”:”0-1048576”,
}
#修改后的分片节点信息
/下载中/分片1
{
“下载范围”:”0-1048576”,
“状态”:已完成
}
#新增的分片节点信息
/已完成/分片1
{
“本地分片存储路径”:”/xxx/xxx”
}
具体应用实例中,下载进度监听模块监听所有下载模块的下载任务情况,需要同时监听注册中心中的下载中任务节点、已完成任务节点;监听下载中的任务节点的目的是,当下载中的任务节点被删除时,该模块需要检查该任务节点的状态,如果是正常删除只需忽略,是否正常删除的依据是节点内容中的“状态”属性是否为“已完成”,如果是非正常即那么就代表该任务所在的下载机器已无法正常工作,需要将该任务在待下载节点中重新创建,由其他下载机器继续进行下载;监听已完成的任务节点的目的是判断该文件是否已下载完成,判断依据为已完成的任务节点数量与大文件解析模块计算出的分片任务数量一致,如果一致则代表该文件的所有分片均已被下载至公共存储中,那么就需要交由合并文件模块进行合并操作。
合并文件模块会读取注册中心的已完成节点下所有的任务节点信息中的“本地分片存储路径”属性值,然后根据任务分片的顺序将每个本地分片通过追加文件流的方式合并成单文件,合并完成后将注册中心的已完成节点删除,已防止重复合并浪费资源。
方法实施例
在系统实施例的基础上,本发明实施例进一步提供了一种分布式的大文件快速下载方法,应用于包括主节点装置、注册中心、存储装置和至少一台分布式下载装置的下载系统,主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块,分布式下载装置包括监听下载任务模块和下载模块,包括以下步骤:
大文件解析模块解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;
下载任务分发模块将任务按照顺序发布至注册中心;
注册中心存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听;
下载进度监听模块监听大文件所有的下载任务情况;
监听下载任务模块自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移;
下载模块根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成节点下,用于合并文件使用;
合并文件模块根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息;
存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
通过以上提供的下载系统,大文件解析模块时进行逻辑分片计算分片个数为:文件总大小/下载机器平均下行带宽/8(结果使用进一法取整),比如下载机器有3台,每台机器下行带宽均为80Mbps,文件大小为3GB,那么分片个数为:3×1024/80/8=303,即需要将该文件分为303个分片任务交由3台下载机器进行下载,此处是考虑待下载的服务端的上行带宽无限制,因为下载是双向的,如果服务端带宽有限制,当下载机器的带宽总和达到该限制后,下载机器再增加,下载速度也不会有所提升。
每个分片任务由下载开始字节及下载结束字节大小组成,由于分片下载是基于http-range为前提,因此可以参考http-range样例,此处举例前三个下载任务的内容:
待下载任务1:Range:bytes=0-1048576
待下载任务2:Range:bytes=1048577-2097153
待下载任务3:Range:bytes=2097154-3145730。
具体应用实例中,下载任务分发模块得到每个待下载任务节点的信息后需要进行发布,即向注册中心写入待下载任务节点,待下载任务节点下存储以上任务信息,由具体的下载机器进行监听及接收处理,同时携带待下载的文件名称,用于区分下载任务。
具体应用实例中,注册中心模块可以采用zookeeper实现,zookeeper是一种树形结构的存储,此处定义三种树形节点:待下载任务节点、下载中任务节点和已完成任务节点,每个节点由不同的模块写入和读取。
其中待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除,节点目录名称无具体限制,能表达业务标识即可,比如:
/待下载/分片1
/待下载/分片2
/待下载/分片3...
待下载分片节点内容为待下载的范围,即下载开始和结束的字节,比如:Range:bytes=0-1048576。
具体应用实例中,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取,节点目录名称无具体限制,能表达业务标识即可,比如:
/下载中/分片1
/下载中/分片2
/下载中/分片...
下载中分片节点内容除了包含待下载节点中的内容外,还需要增加任务状。
具体应用实例中,已完成任务节点由下载模块写入,由下载进度监听模块读取,由合并模块删除,节点目录名称无具体限制,能表达业务标识即可,比如:
/已完成/分片1
/已完成/分片2
/已完成/分片...
已完成分片节点内容除了包含待下载节点中的内容外,还需要增加当前下载后存储到本地的路径,用于合并文件模块使用。
具体应用实例中,以上三类节点声明完成后,监听下载任务模块需要对待下载节点进行监听,当待下载节点下有新的分片节点生成时会主动通知监听下载任务模块,该模块将分片节点信息内容交由下载模块处理,同时在注册中心中把该待下载的分片任务信息删除,以防止被其他下载机器读取到,导致重复下载,然后将该任务存储至注册中心中的下载中的节点下,最后标识该任务的状态及所属机器信息,用于下载机器网络异常或宕机时进行下载任务转移。
具体应用实例中,下载模块根据分片的信息进行指定内容的下载,下载范例如下:
请求:GET http://待下载的服务器地址/大文件名称
Range:bytes=0-1048576
响应:0-1048576字节的文件流内容,将该内容写入挂载后的本地路径内。
下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,最后新增一条已完成的节点信息,伪代码范例如下:
#修改前的分片节点信息
/下载中/分片1
{
“下载范围”:”0-1048576”,
}
#修改后的分片节点信息
/下载中/分片1
{
“下载范围”:”0-1048576”,
“状态”:已完成
}
#新增的分片节点信息
/已完成/分片1
{
“本地分片存储路径”:”/xxx/xxx”
}
具体应用实例中,下载进度监听模块监听所有下载模块的下载任务情况,需要同时监听注册中心中的下载中任务节点、已完成任务节点;监听下载中的任务节点的目的是,当下载中的任务节点被删除时,该模块需要检查该任务节点的状态,如果是正常删除只需忽略,是否正常删除的依据是节点内容中的“状态”属性是否为“已完成”,如果是非正常即那么就代表该任务所在的下载机器已无法正常工作,需要将该任务在待下载节点中重新创建,由其他下载机器继续进行下载;监听已完成的任务节点的目的是判断该文件是否已下载完成,判断依据为已完成的任务节点数量与大文件解析模块计算出的分片任务数量一致,如果一致则代表该文件的所有分片均已被下载至公共存储中,那么就需要交由合并文件模块进行合并操作。
合并文件模块会读取注册中心的已完成节点下所有的任务节点信息中的“本地分片存储路径”属性值,然后根据任务分片的顺序将每个本地分片通过追加文件流的方式合并成单文件,合并完成后将注册中心的已完成节点删除,已防止重复合并浪费资源。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

Claims (10)

1.一种分布式的大文件快速下载系统,其特征在于,包括主节点装置、注册中心、存储装置和至少一台分布式下载装置,其中,所述主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块;分布式下载装置包括监听下载任务模块和下载模块;
大文件解析模块用于解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;下载任务分发模块用于将任务按照顺序发布至注册中心;下载进度监听模块用于监听大文件所有的下载任务情况;
注册中心用于存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听;
监听下载任务模块用于自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载中任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移;
下载模块用于根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成任务节点下,用于合并文件使用;
合并文件模块用于根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息;
存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
2.如权利要求1所述的分布式大文件快速下载系统,其特征在于,待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除。
3.如权利要求1所述的分布式大文件快速下载系统,其特征在于,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取。
4.如权利要求1所述的分布式大文件快速下载系统,其特征在于,已完成任务节点由下载模块写入,由下载进度监听模块读取,由合并模块删除。
5.如权利要求1所述的分布式的大文件快速下载系统,其特征在于,分片个数为:文件总大小/下载机器平均下行带宽/8。
6.一种分布式的大文件快速下载方法,其特征在于,应用于包括主节点装置、注册中心、存储装置和至少一台分布式下载装置的下载系统,所述主节点装置进一步包括大文件解析模块、下载任务分发模块、下载进度监听模块和合并文件模块,分布式下载装置包括监听下载任务模块和下载模块,包括以下步骤:
大文件解析模块解析大文件的大小,根据下载装置的数量及带宽进行逻辑分片计算,将计算结果交由下载任务分发模块进行处理;
下载任务分发模块将任务按照顺序发布至注册中心;
注册中心存储待下载任务及每个下载任务的结果,同时供监听下载任务模块、下载进度监听模块进行监听;
下载进度监听模块监听大文件所有的下载任务情况;
监听下载任务模块自动监听及读取注册中心中的新任务,读取成功后将待下载任务节点交由下载模块处理,同时在注册中心中把该待下载任务节点信息删除,将该待下载任务节点存储至注册中心的下载任务节点下,最后标识该任务的状态及所属下载装置信息,用于下载装置网络异常或宕机时进行下载任务转移;
下载模块根据分片的信息进行指定内容的下载,下载完成后将该分片任务在注册中心中进行状态修改,再进行删除任务信息,然后将包括下载后的位置信息写入注册中心的已完成节点下,用于合并文件使用;
合并文件模块根据分片下载任务的序号进行顺序追加,合并成一个完整的文件信息;
存储装置挂载于整个系统,用于分片文件及最终合并后的文件存储。
7.如权利要求6所述的分布式大文件快速下载方法,其特征在于,待下载任务节点由下载任务分发模块创建,由监听下载任务模块读取和删除。
8.如权利要求6所述的分布式大文件快速下载方法,其特征在于,下载中任务节点由监听下载任务模块创建,由下载模块删除,由下载进度监听模块读取。
9.如权利要求6所述的分布式大文件快速下载方法,其特征在于,已完成任务节点由下载模块写入,由下载进度监听模块读取,由合并模块删除。
10.如权利要求6所述的分布式的大文件快速下载方法,其特征在于,分片个数为:文件总大小/下载机器平均下行带宽/8。
CN202110284540.7A 2021-03-17 2021-03-17 一种分布式的大文件快速下载方法及系统 Active CN113132463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110284540.7A CN113132463B (zh) 2021-03-17 2021-03-17 一种分布式的大文件快速下载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110284540.7A CN113132463B (zh) 2021-03-17 2021-03-17 一种分布式的大文件快速下载方法及系统

Publications (2)

Publication Number Publication Date
CN113132463A CN113132463A (zh) 2021-07-16
CN113132463B true CN113132463B (zh) 2023-03-24

Family

ID=76773270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110284540.7A Active CN113132463B (zh) 2021-03-17 2021-03-17 一种分布式的大文件快速下载方法及系统

Country Status (1)

Country Link
CN (1) CN113132463B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473806B (zh) * 2022-08-12 2023-09-26 北京奇艺世纪科技有限公司 资源下载控制方法、装置、电子设备和计算机可读介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055862A1 (en) * 2005-09-08 2007-03-08 Interdigital Technology Corporation Method and system for distributing data
CN103634336A (zh) * 2012-08-21 2014-03-12 宏碁股份有限公司 文件协同下载系统、装置及方法
CN103634361B (zh) * 2012-08-28 2018-07-20 腾讯科技(深圳)有限公司 下载文件的方法和装置
CN104967619B (zh) * 2015-06-17 2018-09-04 深圳市腾讯计算机系统有限公司 文件推送方法、装置和系统
CN106550035A (zh) * 2016-11-04 2017-03-29 上海斐讯数据通信技术有限公司 一种文件下载终端及文件下载的方法
CN110765092A (zh) * 2019-09-20 2020-02-07 北京三快在线科技有限公司 分布式搜索系统、索引分发方法及存储介质
CN111324458A (zh) * 2020-02-18 2020-06-23 山东汇贸电子口岸有限公司 一种基于Java的大文件下载加速方法
CN112395069A (zh) * 2021-01-11 2021-02-23 南京满星数据科技有限公司 一种基于分布式任务调度的gfs气象数据下载方法

Also Published As

Publication number Publication date
CN113132463A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN103561100B (zh) 一种云上传方法及系统、调度设备、客户端
CN102355426B (zh) 实现离线文件传输的方法和系统
CN111054067B (zh) 游戏存档文件存储方法、电子设备和存储介质
TW201301053A (zh) 基於雲端儲存的檔案處理方法,系統及伺服器叢集系統
CN106550052A (zh) 一种基于opc ua的数据采集装置及方法
CN105407413B (zh) 一种分布式视频转码方法及相关设备、系统
CN109756573A (zh) 一种基于区块链的文件系统
CN107766509B (zh) 一种网页静态备份的方法和装置
EP1588292A2 (en) Datacast file transmission with meta-data retention
CN109819336B (zh) 一种基于播放缓存大小分片下载的方法及系统
CN105868251A (zh) 一种缓存数据更新方法及装置
CN113132463B (zh) 一种分布式的大文件快速下载方法及系统
CN109525622B (zh) 分片资源id的生成方法、资源分享方法,装置及电子设备
CN102420863B (zh) 一种快速分发文件系统和方法及装置
WO2017161757A1 (zh) 一种流媒体文件分发方法及系统
CN109587232A (zh) 基于iOS网络的文件断点续传方法
CN110442377A (zh) 补丁包生成方法、应用更新方法、装置和电子设备
TW202001618A (zh) 檔案處理的方法及裝置
CN113031874A (zh) 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质
CN103248636B (zh) 离线下载的系统及方法
CN108540510A (zh) 一种云主机创建方法、装置及云服务系统
EP2439890A1 (en) Method and system for processing mobile multimedia data broadcasting service
CN105893135B (zh) 分布式数据处理方法及数据中心
CN115225734A (zh) 一种报文处理方法和网络设备
CN104967660A (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
GR01 Patent grant
GR01 Patent grant