CN105491087B - 一种文件下载方法、装置和电子设备 - Google Patents
一种文件下载方法、装置和电子设备 Download PDFInfo
- Publication number
- CN105491087B CN105491087B CN201410474641.0A CN201410474641A CN105491087B CN 105491087 B CN105491087 B CN 105491087B CN 201410474641 A CN201410474641 A CN 201410474641A CN 105491087 B CN105491087 B CN 105491087B
- Authority
- CN
- China
- Prior art keywords
- equipment
- downloading
- fragment
- participation
- request
- 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
Links
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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种文件下载方法、装置和电子设备,本申请提供了一种文件下载方法,在本地局域网络中包含有至少两个用于下载的参与设备,这样参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
Description
技术领域
本发明涉及电子设备领域,更具体的说,是涉及一种文件下载方法、装置和电子设备。
背景技术
随着网络的广泛应用,电子设备用户已经习惯于网络生活。
当在没有如Wi-Fi(wireless-fidelity,无线保真)网络等免费网络的环境中时,电子设备用户需要通过移动网络进行下载文件以实现浏览网页、看电影等网络操作。
然而,现有技术中,当有多个用户需要下载同一个文件(即多个用户浏览同一个网页或者观看同一部电影)时,每个用户都需要各自下载整个文件。导致多个用户重复下载同一个文件,浪费网络流量。
发明内容
有鉴于此,本发明提供了一种文件下载方法,解决了现有技术中由于多个用户重复下载同一个文件,浪费网络流量的问题。
为实现上述目的,本发明提供如下技术方案:
一种文件下载方法,所述方法应用于协调设备,所述协调设备与至少两个参与设备位于一本地局域网络,所述方法包括:
依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
依据预设的下载分配条件,生成下载任务并分配至各个参与设备,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片;
依据所述下载任务与参与设备的映射关系,生成下载分片索引;
依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
上述的方法,优选的,当所述外部网络的应用层协议设置有密码时,所述依据预设的分片规则将待下载的文件划分为至少2个分片之前,还包括:
获取请求下载文件的请求信息;
依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
将所述用户名和密码添加到所述分片的参数信息;
依据所述请求信息得到所述文件的地址;
依据该地址和预设的网络协议分析得到所述文件大小。
上述的方法,优选的,所述依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息包括:
依据预设的单位分片数据量对所述文件划分为至少2个分片;
依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。
上述的方法,优选的,所述依据预设的下载分配条件,生成下载任务并分配至各个参与设备包括:
依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数,所述设备信息包括可用网络流量和/或通信网络信息;
获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
将所述下载任务传输至所述参与设备。
上述的方法,优选的,还包括:
接收到请求加入共同下载所述文件的加入请求时,将请求加入的设备作为新的参与设备加入本地局域网络;
判断所述下载分片索引是否有未下载的分片;
如果有,依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引;
如果没有,所述下载分片索引中的信息与所述新的参与设备分享。
上述的方法,优选的,所述加入请求中携带验证码,所述接收到请求加入所述本地局域网络的加入请求包括:
分析所述加入请求,得到所述加入请求中的验证码;
比对所述加入请求中的验证码和预设的验证码,得到比对结果;
当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,执行将请求加入的设备作为新的参与设备加入本地局域网络步骤;
否则,忽略所述请求加入的设备。
上述的方法,优选的,当所述下载分片索引中还包括设备标识信息时,还包括:
接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;
依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
删除所述下载分片索引中所述参与设备相关的信息。
上述的方法,优选的,所述退出请求中携带已下载分片信息,则所述确定所述下载分片索引中的参与设备之后,所述删除所述下载分片索引中所述参与设备相关的信息之前,还包括:
解析所述退出请求,得到所述参与设备已下载的分片信息;
依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;
生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
上述的方法,优选的,还包括:
当解散所述本地局域网络时,删除所述下载分片索引;
生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。
一种文件下载方法,所述方法应用于参与设备,所述参与设备与一协调设备位于一本地局域网络,所述方法包括:
通过所述本地局域网络,接收所述协调设备发送的下载任务,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件;
分析所述下载任务,得到分片的参数信息;
依据所述参数信息通过外部网络下载所述分片;
接收所述协调设备传输的通知消息,所述通知信息依据所述下载分片索引中的内容生成;
通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
上述的方法,优选的,接收协调设备发送的下载任务之前,还包括:
发送请求共同下载所述文件的加入请求,所述加入请求中携带所述参与设备的可用网络流量。
上述的方法,优选的,所述加入请求中携带验证码,所述发送请求加入本地局域网络的加入请求之后,接收协调设备发送的下载任务之前,还包括:
当所述协调设备准许加入时,加入本地局域网络开始共同下载。
上述的方法,优选的,当所述下载分片索引中还包括设备标识信息时,还包括:
接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;
依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;
关闭与本地局域网络的连接;
删除本地存储的分片和下载任务。
上述的方法,优选的,所述退出请求中携带已下载分片信息,所述发送所述退出请求至协调设备之后,所述关闭与本地局域网络的连接之前,还包括:
接收协调设备发送的传输通知;
分析所述传输通知,得到目标设备;
将已下载的分片传输至所述目标设备。
一种文件下载装置,所述装置应用于协调设备,所述协调设备与至少两个参与设备位于一本地局域网络,所述装置包括:
分片模块,用于依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
下载任务模块,用于依据预设的下载分配条件,生成下载任务并分配至各个参与设备,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片;
索引生成模块,用于依据所述下载任务与参与设备的映射关系,生成下载分片索引;
第一通知模块,用于依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
上述的装置,优选的,当所述外部网络的应用层协议设置有密码时,还包括:
获取模块,用于获取请求下载文件的请求信息;
解析模块,用于依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
第一分析模块,用于将所述用户名和密码添加到所述分片的参数信息,依据所述请求信息得到所述文件的地址,并依据该地址和预设的网络协议分析得到所述文件大小。
上述的装置,优选的,所述分片模块包括:
划分单元,用于依据预设的单位分片数据量对所述文件划分为至少2个分片;
命名单元,用于依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
添加单元,用于将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。
上述的装置,优选的,所述下载任务模块包括:
第一分析单元,用于依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数,所述设备信息包括可用网络流量和/或通信网络信息;
下载任务单元,用于获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
传输单元,用于将所述下载任务传输至所述参与设备。
上述的装置,优选的,还包括:
第二接收模块,用于接收请求加入共同下载所述文件的加入请求;
加入模块,用于将请求加入的设备作为新的参与设备加入本地局域网络;
判断模块,用于判断所述下载分片索引是否有未下载的分片;
如果有未下载的分片时,所述下载任务模块还用于依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引;
如果没有,触发所述第一通知模块,将所述下载分片索引中的信息与所述新的参与设备分享。
上述的装置,优选的,所述加入请求中携带验证码,所述加入模块包括:
第二分析单元,用于分析所述加入请求,得到所述加入请求中的验证码;
比对单元,用于比对所述加入请求中的验证码和预设的验证码,得到比对结果;
加入单元,用于当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,将请求加入的设备作为新的参与设备加入本地局域网络;
否则,忽略所述请求加入的设备。
上述的装置,优选的,当所述下载分片索引中还包括设备标识信息时,还包括:
第三接收模块,用于接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;
第二分析模块,用于依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
第一删除模块,用于删除所述下载分片索引中所述参与设备相关的信息。
上述的装置,优选的,所述退出请求中携带已下载分片信息时,还包括:
第三分析模块,用于解析所述退出请求,得到所述参与设备已下载的分片信息;
选择模块,用于依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;
第二通知模块,用于生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
上述的装置,优选的,还包括:
第二删除模块,用于当解散所述本地局域网络时,删除所述下载分片索引;
解散模块,用于生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。
一种文件下载装置,所述装置应用于参与设备,所述参与设备与一协调设备位于一本地局域网络,所述装置包括:
第一接收模块,用于通过所述本地局域网络,接收所述协调设备发送的下载任务,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件;
第一分析模块,用于分析所述下载任务,得到分片的参数信息;
下载模块,用于依据所述参数信息通过外部网络下载所述分片;
第二接收模块,用于接收所述协调设备传输的通知消息,所述通知信息依据所述下载分片索引中的内容生成;
组合模块,用于通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
上述的装置,优选的,还包括:
发送模块,用于发送请求共同下载所述文件的加入请求,所述加入请求中携带所述参与设备的可用网络流量。
上述的装置,优选的,所述加入请求中携带验证码时,还包括:
加入模块,用于当所述协调设备准许加入时,加入本地局域网络开始共同下载。
上述的装置,优选的,当所述下载分片索引中还包括设备标识信息时,还包括:
第五接收模块,用于接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;
退出模块,用于依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;
网络模块,用于关闭与本地局域网络的连接;
删除模块,用于删除本地存储的分片和下载任务。
上述的装置,优选的,所述退出请求中携带已下载分片信息,还包括:
第六接收模块,用于接收协调设备发送的传输通知;
第二分析模块,用于分析所述传输通知,得到目标设备;
传输模块,用于将已下载的分片传输至所述目标设备。
一种下载***,包括:如上述任一项所述的应用于协调设备的文件下载装置和如上述任一项所述的应用于参与设备的文件下载装置。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种文件下载方法,所述方法应用于协调设备,所述方法包括:建立至少包含两个参与设备的本地局域网,依据预设的划分条件将待下载的文件划分为多个分片,并且确定每个分片的参数信息;依据预设的下载分配条件,生成下载任务并分配至各个参与设备,该下载任务中包含至少一个分片的参数信息,并且,该下载任务用于指示参与设备通过外部网络下载分配的分片;并且根据该下载任务和参与设备的映射关系建立下载分片索引;依据下载分片索引中的内容生成通知消息并发送至各个参与设备,该通知消息用于指示参与设备通过本地局域网络获取下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。采用该方法,在本地局域网络中包含有至少两个用于下载的参与设备,这样参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的一种文件下载方法和装置的应用场景示意图;
图2是本申请提供的一种文件下载方法实施例1的流程图;
图3是本申请提供的一种文件下载方法实施例2的流程图;
图4是本申请提供的一种文件下载方法实施例3的流程图;
图5是本申请提供的一种文件下载方法实施例4的流程图;
图6是本申请提供的一种文件下载方法实施例4中步骤S503的流程图;
图7是本申请提供的一种文件下载方法实施例5的流程图;
图8是本申请提供的一种文件下载方法实施例6的流程图;
图9是本申请提供的一种文件下载方法实施例7的流程图;
图10是本申请提供的一种文件下载方法实施例8的流程图;
图11是本申请提供的一种文件下载方法实施例9的流程图;
图12是本申请提供的一种文件下载方法实施例10的流程图;
图13是本申请提供的一种文件下载方法实施例11的流程图;
图14是本申请提供的一种文件下载方法实施例12的流程图;
图15是本申请提供的一种文件下载方法实施例13的流程图;
图16是本申请提供的一种文件下载装置实施例1的结构示意图;
图17是本申请提供的一种文件下载装置实施例2的结构示意图;
图18是本申请提供的一种文件下载装置实施例3的结构示意图;
图19是本申请提供的一种文件下载装置实施例4的结构示意图;
图20是本申请提供的一种文件下载装置实施例5的结构示意图;
图21是本申请提供的一种文件下载装置实施例5加入模块的结构示意图;
图22是本申请提供的一种文件下载装置实施例6的结构示意图;
图23是本申请提供的一种文件下载装置实施例7的结构示意图;
图24是本申请提供的一种文件下载装置实施例8的结构示意图;
图25是本申请提供的一种文件下载装置实施例9的结构示意图;
图26是本申请提供的一种文件下载装置实施例10的结构示意图;
图27是本申请提供的一种文件下载装置实施例11的结构示意图;
图28是本申请提供的一种文件下载装置实施例12的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示的为本申请提供的一种文件下载方法和装置的应用场景示意图,包括:一个协调设备101和多个参与设备102,该场景中协调设备101和参与设备102位于一本地局域网络中103,在该本地局域网络中,该协调设备101与参与设备102之间、以及参与设备102之间进行数据信息的传输均不消耗该设备的外部网络流量。其中,该本地局域网络可以为蓝牙网络或者无线局域网络WiFi等。
如图2所示的本申请提供的一种文件下载方法实施例1的流程图,该方法应用于协调设备,该协调设备为一电子设备,具体可以是台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备,所述电子设备中具有组建本地局域网的功能。
该方法可通过以下步骤实现:
步骤S201:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
其中,该协调设备确定待下载的文件,该待下载的文件可以为该协调设备发起请求下载的文件,也可为该本地局域网中任一参与设备请求下载的文件,本申请中不限定该文件请求下载的设备是协调设备还是参与设备。
具体的,该协调设备中预设有划分规则,该划分规则用于将待下载的文件划分成多个分片。并且,根据该划分规则,对每个划分出的分片确定其参数信息。
具体的,该参数信息可以包括该分片的起止地址以及其序号,或者分片的序号、文件的地址以及该分片的大小等。
具体实施中,该分片划分完成后,可以直接根据文件的起止和该分片的大小以及其对应的序号,确定该分片的起止地址,并将该起止地址作为分片的参数信息。
当然,在具体实施中,也可将该文件的地址和该分片的大小以及其对应的序号,作为该分片的参数信息,使得后续的参与设备根据该参数信息自己确定其要下载的分片的起止地址,减少协调设备的数据处理量。
具体的,该参数信息包含的内容种类,可根据具体实施过程进行设置,当该协调设备数据处理能力较强时,可确定每个分片的起止地址,否则,将该确定分片起止地址的处理动作由参与设备执行,本申请中不限制具体采用哪种参数信息确定方式。
需要说明的是,该协调设备是对该本地局域网络中的各个参与设备参与的下载文件进行协调,其可以是一个单独的设备,也可是与一个参与设备为同一个电子设备,该电子设备具有双重功能,在该本地局域网络里中同时作为协调设备和参与设备,本申请中不做限制。
步骤S202:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
其中,协调设备中预设有下载分配条件,根据该下载分配条件,对各个参与设备分配下载任务。
其中,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片。
具体的,该下载分配条件可以为各个参与设备可用的外部网络流量,或者该参与设备用户设置的下载可用外部网络流量,或者,该参与设备的网络类型等等。具体的根据下载分配条件生成下载任务的过程后续的实施例中会做详细说明,本实施例中不做详述。
步骤S203:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
其中,在该协调设备中建立下载分片索引,该下载分片索引中具有每个下载任务与其对应的参与设备的对应关系。
具体的,每个下载任务中包含有至少一个分片及其参数信息,则该下载分片索引中也记录有每个下载任务中的分片及其参数信息。
需要说明的是,参与设备在下载完成其下载任务后,反馈一个完成信息给协调设备,以使得该协调设备可对该参与设备的下载状态进行记录。
当然,为了对下载过程进行详细的记录,还可接收参与设备对该下载任务中的每一分片下载完成后反馈的分片完成信息进行记录。
具体的,该下载分片索引如下表1所示。
表1下载分片索引
上述的表1中,文件xxx由两个参与设备A和B进行下载,其中,参与设备A对应的下载任务为a,参与设备B对应的下载任务为b,任务a中包含分片1-2,各自对应其参数信息,其中,参与设备A已下载完成下载任务a,参与设备B未完成下载任务,剩余分片5未下载。
具体实施中,根据该下载分片索引即可确定当前各个参与设备的下载情况。
步骤S204:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,该协调设备可根据该下载分片索引中的内容生成通知消息传输给各个参与设备。
其中,该生成通知消息的时间可以为该下载分片索引中的所有分片全部下载完成时,也可为满足预设的时间长度时,具体的生成时间可根据实际情况进行设置。
具体的,该通知消息中携带各个参与设备下载分片的信息,以及各个参与设备的地址信息。
例如,该下载分片索引中有3个参与设备,A、B和C,参与设备A下载分片1-2,参与设备B下载分片3-5、参与设备C下载分片6。参与设备A根据该通知消息,可确定参与设备B中具有分片3-5以及参与设备C中具有分片6,并根据该参与设备B和参与设备C的地址信息,通过本地局域网络获取该分片3-5以及分片6,与本地存储的分片1-2组成完整的文件。
当然,当生成通知消息的时机为满足预设的时间长度时,则该通知消息中在还会有各分片的下载情况。
例如,参与设备A下载完成分片1-2,参与设备B下载完成分片3-4,剩余分片5未下载、参与设备C下载完成分片6。参与设备A根据该通知消息,可确定参与设备B中已下载分片3-4以及参与设备C中已下载分片6,并根据该参与设备B和参与设备C的地址信息,通过本地局域网络获取该分片3-4以及分片6,等待下次接收到新的通知消息,根据该新的通知消息确定分片5下载完成时,继续从参与设备B获取分片5,并将该分片3-6与本地存储的分片1-2组成完整的文件。
需要说明的是,当协调设备与参与设备为同一个电子设备时,该电子设备中将该下载分片索引缓存于一存储结构中,其参与设备的部分直接从该存储结构中读取该下载分片索引的内容,无需生成通知消息进行传输或者发送。
需要说明的是,本申请中的下载任务中,并不一定为每个参与设备唯一下载某一分片,为保证能够快速下载文件,也可有两个甚至多个参与设备下载同一分片。
需要说明的是,在本方法实现过程中,参与设备中设置3个分层,包括:通讯劫持层、协议分析层和内容路由层,其中,该通讯劫持层与应用程序层相邻,而该内容路由层与通信模块层相邻,该应用程序层中运行有各种(application,应用),如各种视频播放器、文档阅读器等,该通信模块层中包含有近距离通信模块和移动通信模块近距离通信模块可包括蓝牙、Wi-Fi;该移动通信模块可采用3G(the 3 Generation mobile communicationtechnology,第三代移动通信技术)。
其中,该参与设备的所有IP包都被通讯劫持层劫持,并且将劫持到的IP包交给协议分析层;协议分析层的作用是分析IP包的应用层协议,对于已知并且支持指定文件偏移量下载的应用层协议(如http协议或者ftp协议)分析出该请求的文件,然后把解析结果交给内容路由层;该内容层实现上述的内容交换协议即在内容层实现该文件下载方法。
具体实施中,该协议分析层可以通过插件方式开发新的解析器来支持信息应用层协议,如http解析器或者ftp解析器。
综上,本实施例中提供的一种应用于协调设备的文件下载方法,采用该方法,在本地局域网络中包含有至少两个用于下载的参与设备,参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
如图3所示的本申请提供的一种文件下载方法实施例2的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S301:获取请求下载文件的请求信息;
其中,该请求信息可以由协调设备生成,也可由参与设备生成。
具体的,该请求信息中携带有请求者的地址以及请求文件的地址。
步骤S302:依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
其中,当某些外部网络支持使用用户名密码的应用层协议(如迅雷、ftp)时,则在该请求信息中还携带该用户名密码,那么在分析该请求信息时,即可得出该用户名和密码,后续在下载该文件时都使用该用户名和密码。
步骤S303:将所述用户名和密码添加到所述分片的参数信息;
其中,将从请求信息中携带的用户名和密码作为该文件的信息,将该文件中每个分片的参数信息中加入该用户名和密码。
具体的,在后续的步骤S307中,将该用户名和密码添加到下载任务中,以使得各个参与设备根据该下载任务中的用户名和密码进行下载。
以ftp为例说明,假设请求文件是ftp://user:[email protected]/xxx.avi,解析该请求文件的地址,可以解析出用户名user和密码password。
需要说明的是,在具体实施中,可只根据第一个请求包进行解析,该请求包就是请求文件的请求信息中的第一个数据包,也可为下载时生成的第一请求包。
步骤S304:依据所述请求信息得到所述文件的地址;
具体的,解析该请求信息,得到请求的文件的地址。
其中,该文件的地址为该文件在外部网络中的地址。
步骤S305:依据该地址和预设的网络协议分析得到所述文件大小;
其中,该协调设备中预设有网络协议,该网络协议用于对文件的地址进行分析得到该文件的大小。
例如,当外部网络使用http(Hypertext Transfer Protocol,超文本传送协议)时,可以使用head命令得到文件的大小;当外部网络使用ftp(File Transfer Protocol,文件传输协议)时,则可以使用SIZE命令得到文件的大小。
步骤S306:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
步骤S307:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S308:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
步骤S309:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S306-309与实施例1中的步骤S201-204一致,本实施例不再赘述。
综上,本实施例中提供的一种文件下载方法中,依据预设的分片规则将待下载的文件划分为至少2个分片之前,还包括:获取请求下载文件的请求信息;依据所述请求信息得到所述文件的地址;依据该地址和预设的网络协议分析得到所述文件大小。采用该方法,能够通过请求下载文件的请求信息确定待下载文件的地址,并分析得到该文件的大小,以便为后续的分片以及下载任务的生成提供依据。
如图4所示的本申请提供的一种文件下载方法实施例3的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S401:依据预设的单位分片数据量对所述文件划分为至少2个分片;
其中,该单位分片数据量为每个分片的标准数据量,如100K,1M等,该分片的数据量的设定可根据参与设备的数目以及各个参与设备可用于下载的数据量的多少设置。
例如,参与设备较多如5个以上,并且每个参与设备可用于下载的数据量较少时,可设置一个较小的单位分片数据量,将一个文件生成的下载任务分配到每个参与设备中,每个参与设备用于下载该文件的数据量少,防止参与设备的外部网络数据消耗过多。
又如,当参与设备较少,如只有2-3个时,并且每个参与设备可用于下载的数据量较多,如每个都有200M,同时待下载的文件较大时,可设置一个较大的单位分片数据量,每个参与设备下载其对应的一部分文件,无需协调设备生成含有大量的分片信息的下载任务传输至参与设备中,降低了参与设备与协调设备之间的无谓的信息传输。
需要说明的是,在具体实施中,允许其中一个分片的数据量小于单位分片数据量。
步骤S402:依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
其中,该协调设备中预设有命名规则,用于对各个分片进行命名,该命名具有指示该分片在文件中的顺序的功能。
例如,将文件划分为3个分片,则各个分片可依次命名为1、2和3,或者A、B和C等等能够表示顺序的名字。
具体的,将该分片的名称添加到其对应的参数信息中,以便参与设备根据该分片名称确定其在文件中的顺序位置。
步骤S403:将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息;
其中,该文件的地址表示了开始下载文件的地址以及结束位置,根据该文件地址可对各个参与设备指示下载的起始地址。
其中,该预设的单位分片数据量表示了每一个分片的数据量。
具体的,根据单位分片数据量以及分片的名称可确定该待下载分片的区间,根据该文件的地址可确定每个待下载分片区间的起止地址。
需要说明的是,该下载任务中可包括分配给参与设备其需要下载的分片的名称(或者称为编号)、单位分片数据量以及文件的地址,接收到该下载任务的参与设备可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容。
需要说明的是,本实施例中先将该分片名称添加到参数信息中,然后将文件的地址以及单位分片数据量添加到参数信息中,但是添加的先后顺序不限定于此,实际实施中,该顺序可以倒换,也可同时添加,本申请中不做限制。
步骤S404:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S405:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
步骤S406:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S404-406与实施例1中的步骤S202-204一致,本实施例不再赘述。
综上,本实施例中提供了一种文件下载方法中,该依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息具体包括:依据预设的单位分片数据量对所述文件划分为至少2个分片;依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。采用该方法,该参数信息中携带有待下载分片的名称、文件的地址以及单位分片数据量,使得收到该下载任务的参与设备可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
如图5所示的本申请提供的一种文件下载方法实施例4的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S501:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
其中,步骤S501与实施例1中的步骤S201一致,本实施例不再赘述。
步骤S502:接收参与设备上报的设备信息;
其中,所述设备信息包括可用网络流量和/或通信网络信息。
其中,该可用网络流量包括:参与设备的网络运营商提供的套餐剩余流量,也可为该参与设备用户设置的可用流量。
其中,该通信信息为该参与设备当前使用的通信网络,如2G(the 2Generationmobile communication technology,第二代移动通信技术)、3G、4G(the 4 Generationmobile communication technology,***通讯技术)等等。
步骤S503:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
其中,该协调设备中预设有下载分配条件,根据该下载分配条件,为各个参与设备生成对应的下载任务。
其中,该下载任务中包含有至少一个分片。
具体的,该下载分配条件与各个参与设备的状态相关,如参与设备可用于下载的外部网络流量、以及网络状态等。
如图6所示的本申请提供的一种文件下载方法实施例4的步骤S503的流程图,步骤S503包括:
步骤S601:依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数;
其中,该参与设备的设备信息所述设备信息包括可用网络流量和/或通信网络信息。
具体的,可用网络流量较多时,可分配较多的分片;该通信信息表示该参与设备当前使用的通信网络网络较快时,可分配较多的分片,即分配给4G的参与设备的分片数目大于分配给2G的参与设备的分片数目。
优选的,可用网络流量多且网络速度较快的,分配较多的分片。
具体实施中,可为可用网络流量因素和通信网络信息因素设置权重,当倾向于保护各个参与设备的流量套餐使用情况时,为可用网络流量因素分配较大权重,当倾向于加快下载速度时,为通信网络信息因素分配较大权重。
当然,实际实施中,为了保护各个参与设备不超出网络套餐的流量,保证该可用网络流量因素权重不低于预设阈值。
具体的,依据各个参与设备的设备信息,确定每个参与设备需要下载的分片的个数,该个数至少为一个。
例如,该本地局域网中有3个下载设备,下载设备A有可用网络流量200M,下载设备B可用网络流量150M,下载设备C可用网络流量50M,下载文件分为8片,每片10M,三个下载设备采用相同的网络3G网络,则可只依据该可用网络流量进行分配,下载设备A分配4个分片,下载设备B分配3个分片,下载设备C分配1分片。
当然,实际实施中可能分片个数与下载设备可用网络流量不成整数的比例,可根据比例进行数学计算得到完整的分片个数。
步骤S602:获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
其中,每个目标分片有其对应的参数信息,该参数信息中携带有该目标分片的信息,可以包括分片下载的起止地址,或者该分片所属的文件的地址、单位分片数据量以及该分片的序号等等。
具体的,获取准备分配给任一个参与设备的分片对应的参数信息,如分配给一参与设备3个分片,则获取3个分片的参数信息。
如上述例子中,下载设备A分配4个分片,获取4个分片的参数信息。
优选的,针对同一参与设备获取的分片参数信息最好为相邻的分片,以便后续参与设备直接确定这几个相邻分片对应的下载区间,无需多次确定,减少参与设备的数据处理量。
具体的,依据该获取的参数信息生成一参与设备的下载任务。当该下载任务中包含有多个分片时,并且该参数信息为分片所属的文件的地址、单位分片数据量以及该分片的序号时,可在下载任务中只添加一个文件地址、一个单位分片数据量以及各个分片的序号即可无须重复添加相同的文件地址和单位分片数据量,减少下载任务的数据量,以减少协调设备传输下载任务值参与设备时占用的数据传输通道时间。
步骤S603:将所述下载任务传输至所述参与设备。
其中,该下载任务生成后,将各个下载任务传输至对应的参与设备中以使得该参与设备根据该下载任务从外部网络下载相应的分片。
需要说明的是,当协调设备与参与设备为同一个电子设备时,该电子设备中将该下载任务缓存于一存储结构中,其参与设备的部分直接从该存储结构中读取该下载任务,无需进行传输或者发送。
步骤S504:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
步骤S505:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S504-505与实施例1中的步骤S203-204一致,本实施例不再赘述。
综上,本实施例中提供的一种文件下载方法中,所述依据预设的下载分配条件,生成下载任务并分配至各个参与设备之前,还包括:接收参与设备上报的设备信息,所述设备信息包括可用网络流量和/或通信网络信息。则依据预设的下载分配条件,生成下载任务并分配至各个参与设备包括:依据所述参与设备的设备信息,确定所述参与设备下载的目标分片个数;获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;将所述下载任务发送至所述参与设备。采用该方法,结合参与设备的设备信息,确定其下载的分片个数,并生成相应的下载任务,使得收到该下载任务的参与设备可以根据下载任务中携带的各个分片的信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
具体实施中,当多个参与设备与协调设备已在本地局域网中作为一个下载的组群进行文件下载,此时可能又有其他设备请求加入。
如图7所示的本申请提供的一种文件下载方法实施例5的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S701:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
步骤S702:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S703:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
其中,步骤S701-703与实施例1中的步骤S201-203一致,本实施例不再赘述。
步骤S704:接收到请求加入共同下载所述文件的加入请求时,将请求加入的设备作为新的参与设备加入本地局域网络;
其中,接收该本地局域网的外部设备请求的加入请求,该加入请求中可以携带有该外部设备的相关设备信息。
具体的,根据该加入请求,将该外部设备作为新的参与设备加入本地局域网络中。
步骤S705:判断所述下载分片索引是否有未下载的分片;
其中,该未下载的分片可以为生成下载任务传输给其他参与设备进行下载,但是未下载完成的分片。
当然,该未下载的分片也可为当有参与设备退出该本地局域网,但是其有分片未下载完成,其未下载的分片也可分配给该新的参与设备进行下载。
该判断的方法可以为读取该下载分片索引中完成状态的标志,如果该标识为完成下载,则该分片已下载完成,否则为未下载,可将该未下载的分片分配给新的参与设备进行下载。
具体的,如果有未下载的分片时执行步骤S706,如果没有,执行步骤S707,实现将下载分片索引中的信息与该新的参与设备分享。
其中,当该没有未下载的分片时,则表明该文件已下载完成,该新的参与设备无需重新下载即可实现对文件的下载,该过程即为步骤S707中实现的过程,只是该通知消息中携带有所有其他参与下载的参与设备的信息。
步骤S706:如果有,依据所述未下载的分片生成下载任务并分配至所述新的参与设备,并更新所述下载分片索引;
其中,所述下载任务中包含至少一个未下载的分片。
具体的,根据步骤S705中确定的未下载分片,获取该未下载分片的参数信息,并依据该参数信息生成新的下载任务,并将该下载任务分配给该新的参与设备。
具体实施中,该下载任务的生成还需要结合该新的参与设备的设备信息,如果新的参与设备的可用网络流量小于该未下载分片的数据量时,可根据该本地局域网络中其他的参与设备的剩余网络流量及其网络情况,为其他的参与设备新增下载任务。
步骤S707:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S707与实施例1中的步骤S204一致,本实施例不再赘述。
综上,本实施例中提供了一种文件下载方法中,还包括:接收到请求加入所述本地局域网络的加入请求时,将请求加入的设备作为新的参与设备加入本地局域网络;判断所述下载分片索引是否有未下载的分片;如果有,依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引;如果没有,所述下载分片索引中的信息与所述新的参与设备分享。采用该方法,当有新的参与设备请求加入本地局域网中实现对文件的下载时,根据该文件的当前未下载完成的情况为该新的参与设备分配下载任务或者直接共享该已下载完成的文件,以保证每个在下载过程中加入的新的参与设备也能够实现对文件的下载,保证其能够得到完整的文件。
如图8所示的本申请提供的一种文件下载方法实施例6的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S801:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
步骤S802:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S803:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
其中,步骤S801-803与实施例5中的步骤S701-703一致,本实施例不再赘述。
步骤S804:接收到请求加入所述本地局域网络的加入请求时,分析所述加入请求,得到所述加入请求中的验证码;
其中,为保证本地局域网络中加入的所有设备被各个设备的用户了解可知,在加入该本地局域网络时,请求加入的设备发送的加入请求中携带验证码,对请求加入本地局域网络的设备进行身份验证,以便该本地局域网络的建立设备或者协调设备得知该请求。
需要说明的是,当创建该本地局域网络时,各个设备可均向创建该本地局域网络的设备(一般为协调设备)发送验证码。
步骤S805:比对所述加入请求中的验证码和预设的验证码,得到比对结果;
其中,该协调设备中也预设有标准的验证码,各个请求加入的设备需要发送与该标准的验证码相同的验证码,才能够确定该设备请求加入该本地局域网络;否则认为该设备请求的为错误的本地局域网络,甚至可认为该请求设备为恶意用户,忽略该请求。
其中,当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,执行步骤S806;否则,忽略所述请求加入的设备。
实际实施中,由于在某一个物理空间中,可能有多个本地局域网络存在,通过验证码还能够实现确认一个请求加入的设备是否请求了正确的本地局域网络。
步骤S806:当所述加入请求中的验证码和预设的验证码相同时,将请求加入的设备作为新的参与设备加入本地局域网络;
步骤S807:判断所述下载分片索引是否有未下载的分片;
其中,如果有执行步骤S808,否则执行步骤S809。
步骤S808:依据所述未下载的分片生成下载任务并分配至所述新的参与设备,并更新所述下载分片索引;
步骤S809:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S806-809与实施例5中的步骤S704-707一致,本实施例不再赘述。
综上,本实施例提供的一种文件下载方法中,当加入请求中携带验证码,则接收到请求加入所述本地局域网络的加入请求包括:分析所述加入请求,得到所述加入请求中的验证码;比对所述加入请求中的验证码和预设的验证码,得到比对结果;当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,执行将请求加入的设备作为新的参与设备加入本地局域网络步骤;否则,忽略所述请求加入的设备。采用该方法,能够对请求加入本地局域网络的设备进行身份验证,保证每一个加入本地局域网络的设备身份都可知,以防出现恶意攻击或者其他损害本地局域网络里其他设备的情况。
其中,下载分片索引中还包括参与设备的设备标识信息。
如图9所示的本申请提供的一种文件下载方法实施例7的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S901:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
步骤S902:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S903:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
其中,步骤S901-903与实施例1中的步骤S201-203一致,本实施例不再赘述。
步骤S904:接收任一参与设备退出所述本地局域网络的退出请求;
其中,所述退出请求中携带所述参与设备的设备标识信息;
其中,设备请求加入该本地局域网络时发送的加入请求中携带有该设备的设备标识信息,该协调设备中的下载分片索引中还包括各个设备的标识信息。
其中,当任一参与设备请求退出本地局域网络时,接收该退出请求,该退出请求中具有该参与设备的设备标识信息。
其中,该设备标识信息为标识该参数与设备身份的信息,具体的,该设备标识信息可以为参与设备的型号、名称等具有辨识度的信息。
步骤S905:依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
其中,接收到该退出请求后,解析该退出请求,可得到该参与设备的设备标识信息,依据该设备标识信息从下载分片索引中查找该设备标识信息对应的参与设备。
步骤S906:删除所述下载分片索引中所述参与设备信息相关的信息;
其中,当该参与设备退出本地局域网络时,下载分片索引中指示下载分片在该参与设备等与其相关的信息已无用处,删除该下载分片索引中与其相关的信息,以防后续执行步骤S907时出现错误,同时,减少无用信息对协调设备存储空间的占用。
需要说明的是,步骤S904-906的执行时间,可以为文件下载完成后,也可为文件下载过程中,也就是说,步骤S904-906可以为步骤S907之前执行,也可为在步骤S907之后执行,本申请不做限制。
需要说明的是,在具体实施中,为了减少各个参与设备通过外部网络近数据下载的压力,在执行步骤S906之前,还要将该参与设备已下载的分片发送至其他参与设备中,其中,该退出请求中携带已下载分片信息,如已下载完成分片的名称,或者该参与设备每下载完成一分片就反馈协调设备完成分片的信息。
其中,当退出请求中携带已下载分片信息时,该过程具体包括:解析所述退出请求,得到所述参与设备已下载的分片信息;依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;生成传输通知,并发送至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
具体的,可根据协调设备中记载的各个参与设备的信息,确定哪个参与设备内存空间较大,则将该参与设备选择为目标设备;或者,根各个参与设备当前的状态,确定一已下载完成或者即将下载完成的参与设备为目标设备。
其中,当该参与设备每下载完成一分片就反馈协调设备完成分片的信息时,则无需解析该退出请求得到该参与设备已下载的分片信息,直接根据该退出请求中携带的设备标识信息从下载分片索引中确定其已下载的分片,后续步骤与上述过程一致,不再赘述。
步骤S907:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备。
其中,步骤S907与实施例1中的步骤S204一致,本实施例不再赘述。
综上,本实施例提供的一种文件下载方法中,当下载分片索引中还包括设备标识信息时,还包括:接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;解析所述退出请求,得到所述参与设备已下载的分片信息;依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;生成传输通知,并发送至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备;删除所述下载分片索引中所述参与设备相关的信息。采用该方法,实现了对参与设备自由退出,并且将该参与设备已下载的分片转移到其他仍在本地局域网络中的参与设备中,防止出现无用的重复下载,节约本地局域网络中的各个参与设备的外部网络流量。
其中,当下载完成后,该协调设备解散本地局域网络。
如图10所示的本申请提供的一种文件下载方法实施例8的流程图,该方法应用于协调设备,可通过以下步骤实现:
步骤S1001:依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
步骤S1002:依据预设的下载分配条件,生成下载任务并分配至各个参与设备;
步骤S1003:依据所述下载任务与参与设备的映射关系,生成下载分片索引;
步骤S1004:依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,步骤S1001-1004与实施例1中的步骤S201-204一致,本实施例不再赘述。
步骤S1005:当解散所述本地局域网络时,删除所述下载分片索引;
其中,当该协调设备解散本地局域网络时,删除本地存储的下载分片索引,解除该协调设备与各个参与设备之间的关联关系,同时释放该下载分片索引占用的数据存储空间。
步骤S1006:生成解散指令并传输至所有的参与设备。
其中,当协调设备解散本地局域网络时,生成解散指令并传输给所有的参与设备,通知其本地局域网络解散。
并且,该解散指令用于指示所述参与设备删除存储的分片和下载任务,解除要求该参与设备执行的下载任务,同时释放该分片和下载任务占用的数据存储空间。
需要注意的是,本申请中涉及的下载为广义的下载,不仅包括浏览网页时对网页数据包进行的缓存式下载,还包括将下载的文件存储到本地存储空间的情况(在该情况下可实现从本地存储空间打开该文件并查看)。当该本地局域网络中的各个参与设备对一文件进行存储到本地存储空间的下载时,则该解散指令可只用于通知所有的参与设备本地局域网络解散,无需删除其已下载并存储到本地存储空间的文件。
综上,本实施例提供的一种文件下载方法中,还包括:当解散所述本地局域网络时,删除所述下载分片索引;生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。采用该方法,协调设备可以自由的解散本地局域网络,解除该协调设备与各个参与设备之间的关联关系,同时释放该下载分片索引占用的数据存储空间。
以上所述的文件下载方法应用在协调设备中,本申请实施例同时提供了一种文件下载方法,应用于本地局域网络的各个参与设备中。
如图11所示的本申请提供的一种文件下载方法实施例9的流程图,该方法应用于参与设备,该参与设备为一电子设备,具体可以是台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备,所述电子设备中具有加入本地局域网络的功能。
该方法可通过以下步骤实现:
步骤S1101:通过所述本地局域网络,接收所述协调设备发送的下载任务;
其中,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件。
其中,该参与设备位于本地局域网络中,与该本地局域网络中的协调设备之间通过本地局域网络进行数据传输,并且,该参与设备之间也是通过本地局域网络进行数据传输,该数据传输过程不消耗该参与设备的外部网络流量。
其中,该下载任务是协调设备根据待下载的文件划分成多片,依据其中的至少一个分片生成的。
步骤S1102:分析所述下载任务,得到分片的参数信息;
其中,该下载任务中携带有至少一个分片,对该下载任务进行分析,得到其中携带的分片的参数信息。
具体实施中,该下载任务中还可携带有参与设备的标识,以使的接收到下载任务的参与设备与自身的标识与该下载任务中携带的标识进行比较,确定其正确接收到属于该参与设备的下载任务。
具体的,该参数信息可以包括该分片的起止地址以及其序号,或者分片的序号、文件的地址以及该分片的大小等。
步骤S1103:依据所述参数信息通过外部网络下载所述分片;
其中,该参数信息表示其对应分片的地址(文件的区间),根据该参数信息即可实现对其对应的分片的下载,具体的,通过外部网络对该分片进行下载。
具体的,当该参数信息中携带有分片的起止地址时,可直接根据该起止地址从外部网络下载该分片;当该参数信息中携带有分片的序号、文件的地址以及该分片的大小时,根据分片的序号、文件的地址以及该分片的大小确定各个分片的起止地址,根据各个分片的起止地址从外部网络下载该分片。
当然,在具体实施中,协调设备也可将该文件的和该分片的大小以及其对应的序号,作为该分片的参数信息,使得该参与设备根据该参数信息自己确定其要下载的分片的起止地址,减少协调设备的数据处理量。
需要说明的是,该参与设备作为本地局域网络中用于下载文件的设备,其可以是一个单独的设备,也可与协调设备为同一个电子设备,该电子设备具有双重功能,在该无线局域网里中同时作为协调设备和参与设备,本申请中不做限制。
步骤S1104:接收所述协调设备传输的通知消息;
其中,该通知信息依据所述下载分片索引中的内容生成。
其中,根据前述的协调设备的文件下载方法实施例1中的描述,该下载分片索引中记录有本地局域网络中各个参与设备的信息及其对应的分片下载情况,则该协调设备根据其下载分片索引中记录的内容生成通知消息。
具体的,该通知消息可以为该下载分片索引内容的简化,如只包括每个参与设备的信息及其下载的分片以及分片是否下载完成的信息。其中,当该生成通知消息的时间为文件下载完成后时,无需添加分片是否下载完成的信息。
或者,协调设备对每个参与设备生成与其对应的通知信息,该通知消息中只携带本地局域网络中其他参与设备的信息及其对应的分片下载情况。如,参与设备A下载分片1-3,参与设备B下载分片4-5,则参与设备A接收到的通知消息中只携带参与设备B的信息以及其下载分片4-5的信息;而参与设备B接收到的通知消息中只携带参与设备A的信息以及其下载分片1-3的信息。
步骤S1105:通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,解析分析该通知消息,可以得到该通知消息中携带的其他参与设备的信息以及其下载的分片信息。
具体的,依据分析得到的信息,通过本地局域网络,从其他参与设备中获取其下载完成的分片,将获取得到的分片与本地下载的分片按照排列的先后顺序组成完整的文件。
因此,本地局域网络中的每个参与设备最终均得到完整的文件,而每个参与设备无需下载全部的文件,在保证了用户体验的同时,减少了参与设备的外部网络流量消耗。
综上,本实施例提供了一种文件下载方法,采用该方法,在本地局域网络中包含有至少两个用于下载的参与设备,参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
如图12所示的本申请提供的一种文件下载方法实施例10的流程图,该方法应用于参与设备,该方法可通过以下步骤实现:
步骤S1201:通过所述本地局域网络,接收所述协调设备发送的下载任务;
其中,步骤S1201与实施例9中的步骤S1101一致,本实施例不再赘述。
步骤S1202:依据预设的分析条件分析所述下载任务,得到至少一个分片的参数信息;
其中,参数信息包括分片的名称、所述文件的地址和预设的单位分片数据量。
其中,参与设备中预设有分析条件,用于对接收到的下载任务进行分析,得到其中携带的分片的参数信息。
其中,该分片的名称具有指示该分片在文件中的顺序的功能。
例如,将文件划分为3个分片,则各个分片可依次命名为1、2和3,或者A、B和C等等能够表示顺序的名字,参与设备根据该分片的名称确定其在文件中的顺序位置。
其中,该文件的地址表示了开始下载文件的地址以及结束位置,参与设备根据该文件地址可得到该下载文件的起始地址。
其中,该单位分片数据量为每个分片的标准数据量,如100K,1M等,该协调设备设定分片的数据量时,可根据参与设备的数目以及各个参与设备可用于下载的数据量的多少设置。
步骤S1203:依据所述分片的名称、所述文件的地址和预设的单位分片数据量确定所述分片的起止地址;
其中,根据单位分片数据量以及分片的名称可确定该待下载分片的区间,根据该文件的地址可确定每个待下载分片区间的起止地址。
其中,当该下载任务中携带有多个分片名称时,并且根据该分片名称可确定该分片相邻时,根据该单位分片数据量以及各个相邻分片的整体区间,然后根据该文件的地址确定该整体区间的起止地址。
需要说明的是,该参与设备中需要有协议支持,例如http协议可以在请求头部中用Range字段指定区间,ftp可以使用REST命令指定偏移量。
步骤S1204:依据所述分片的起止地址通过外部网络下载所述分片;
其中,该分片的起止地址为每个分片在该文件中占据的位置,根据该分片的起止地址下载该分片。
具体的,该参与设备通过外部网络对该分片进行下载。
具体实施中,当该参与设备下载完成分片时,反馈下载完成的信息给协调设备,以使得协调设备对下载分片索引的内容进行更新,记录该下载完成事件。
步骤S1205:接收所述协调设备传输的通知消息;
步骤S1206:通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,步骤S1205-1206与实施例9中的步骤S1104-1105一致,本实施例不再赘述。
综上,本实施例提供的一种文件下载方法中,该分析所述下载任务,得到分片的参数信息具体为:依据预设的分析条件分析所述下载任务,得到至少一个分片的参数信息;其中,该参数信息包括分片的名称、所述文件的地址和预设的单位分片数据量。依据所述参数信息通过外部网络下载所述分片包括:依据所述分片的名称、所述文件的地址和预设的单位分片数据量确定所述分片的起止地址;依据所述分片的起止地址通过外部网络下载所述分片。采用该方法,对接收到的下载任务进行分析,得到其中携带的分片的相关信息,可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
具体实施中,当所述外部网络的应用层协议设置有密码时,参与设备生成请求信息时,还需携带有密码和用户名。
如图13所示的本申请提供的一种文件下载方法实施例11的流程图,该方法应用于参与设备,该方法可通过以下步骤实现:
步骤S1301:通过所述本地局域网络,接收所述协调设备发送的下载任务;
其中,步骤S1301与实施例9中的步骤S1101一致,本实施例不再赘述。
步骤S1302:接收请求下载文件的请求操作信息;
其中,该请求操作信息根据用户通过所述参与设备输入的请求下载文件生成。
具体的,用户通过参与设备的输入设备输入请求下载某文件的操作,依据该操作生成请求操作信息。
步骤S1303:接收用户输入预设的应用层协议的用户名和密码;
其中,当某些外部网络支持使用用户名密码的应用层协议(如迅雷、ftp)时,用户在输入请求操作过程中,还需要输入应用层协议的用户名和密码。
具体的,接收该用户名和密码。
步骤S1304:依据所述用户名、密码和所述请求操作信息生成请求信息并发送至所述协调设备;
其中,所述请求下载信息用于指示所述协调设备协调下载所述文件。
其中,该请求操作信息具体表示需要下载的文件信息,可以包括该文件的地址等相关信息。
其中,该请求信息中携带用户名和密码,以使得接收到该请求信息的协调设备可将该用户名和密码添加到下载任务中,使得各个参与设备同时具有该用户名和密码,可实现各个参与设备无障碍支持使用用户名密码的应用层协议。
具体实施中,有的用户名和密码为添加到请求文件的地址中的,则可直接将该请求文件的地址生成请求信息发送至协调设备,以使协调设备根据该请求信息分析得到用户名和密码。
以ftp为例说明,假设请求文件是ftp://user:[email protected]/xxx.avi,解析该请求文件的地址,协调设备可以解析出用户名user和密码password。
步骤S1305:分析所述下载任务,得到分片的参数信息;
步骤S1306:依据所述参数信息通过外部网络下载所述分片;
步骤S1307:接收所述协调设备传输的通知消息,所述通知信息依据所述下载分片索引中的内容生成;
步骤S1308:通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,步骤S1305-1308与实施例9中的步骤S1102-1105一致,本实施例不再赘述。
综上,本实施例提供的一种文件下载方法中,当外部网络的应用层协议设置有密码时,则分析所述下载任务,得到分片的参数信息之前,还包括:接收请求下载文件的请求操作信息,所述请求操作信息根据用户通过所述参与设备输入的请求下载文件生成;接收用户输入预设的应用层协议的用户名和密码;依据所述用户名、密码和所述请求操作信息生成请求信息并发送至所述协调设备,所述请求下载信息用于指示所述协调设备协调下载所述文件。采用该方法,应用层协议的用户名和密码以及请求操作信息添加到请求信息中,以使得接收到该请求信息的协调设备可将该用户名和密码添加到下载任务中,使得各个参与设备同时具有该用户名和密码,实现各个参与设备无障碍支持使用用户名密码的应用层协议。
如图14所示的本申请提供的一种文件下载方法实施例12的流程图,该方法应用于参与设备,该方法可通过以下步骤实现:
步骤S1401:发送请求加入共同下载所述文件的加入请求;
其中,该加入请求中携带所述参与设备的可用网络流量。
其中,在协调设备组建本地局域网络时,该参与设备可以请求加入,共同下载文件;当该本地局域网络组建完成后,该参与设备依然可以请求加入共同下载所述文件。
具体实施中,该组件本地局域网络时,该参与设备可直接根据协调设备发送的组网信息加入该本地局域网络,无需再次发送加入请求,而该参与设备根据组网信息加入时,也会对自身的信息(如可用网络流量)反馈给协调设备。
其中,所述加入请求还可包括该设备的通信网络信息,即该设备当前使用的通信网络,如2G、3G或者4G网络等。
其中,需要说明的是,该参与设备的加入请求中携带的参与设备的信息影响其分配得到的下载任务,如果可用网络流量较多时,可分配较多的分片;该通信信息表示该参与设备当前使用的通信网络网络较快时,可分配较多的分片,即分配给4G的参与设备的分片数目大于分配给2G的参与设备的分片数目。
优选的,可用网络流量多且网络速度较快的,分配较多的分片。
具体实施中,该加入请求中还可携带验证码,当参与设备发送请求加入本地局域网络的加入请求之后,得到协调设备反馈的信息,当所述协调设备准许加入时,该设备作为新的参与设备加入本地局域网络,然后执行步骤S1402。
需要说明的是,加入请求中携带验证码的方式,能够对请求加入本地局域网络的设备进行身份验证,保证每一个加入本地局域网络的设备身份都可知,以防出现恶意攻击或者其他损害本地局域网络里其他设备的情况。
需要说明的是,当协调设备的下载分片索引中表示该没有未下载的分片时,则表明该文件已下载完成,该新的参与设备无需重新下载即可实现对文件的下载,该过程即为步骤S1406中实现的过程,只是该通知消息中携带有所有其他参与下载的参与设备的信息,该新的参与设备对各个参与下载的参与设备中的分片进行获取,在本地组成完整分片即可。当协调设备的下载分片索引中表示该有未下载的分片时,执行步骤S1402。
步骤S1402:通过所述本地局域网络,接收所述协调设备发送的下载任务;
步骤S1403:分析所述下载任务,得到分片的参数信息;
步骤S1404:依据所述参数信息通过外部网络下载所述分片;
步骤S1405:接收所述协调设备传输的通知消息;
步骤S1406:通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,步骤S1402-1406与实施例9中的步骤S1101-1105一致,本实施例不再赘述。
综上,本实施例提供的一种文件下载方法中,接收协调设备发送的下载任务之前,还包括:发送请求加入本地局域网络的加入请求,所述加入请求中携带所述参与设备的可用网络流量。当加入请求中携带验证码时,该发送请求加入本地局域网络的加入请求之后,接收协调设备发送的下载任务之前,还包括:当所述协调设备准许加入时,加入本地局域网络。采用本方法,当有新的参与设备请求加入本地局域网中实现对文件的下载时,可对自身的信息上报给协调设备,以使协调设备根据该文件的当前未下载完成的情况为该新的参与设备分配下载任务或者直接共享该已下载完成的文件,以保证每个在下载过程中加入的新的参与设备也能够实现对文件的下载,保证其能够得到完整的文件。
其中,下载分片索引中还包括参与设备的设备标识信息。
如图15所示的本申请提供的一种文件下载方法实施例13的流程图,该方法应用于参与设备,该方法可通过以下步骤实现:
步骤S1501:通过所述本地局域网络,接收所述协调设备发送的下载任务;
步骤S1502:分析所述下载任务,得到分片的参数信息;
步骤S1503:依据所述参数信息通过外部网络下载所述分片;
步骤S1504:接收所述协调设备传输的通知消息;
步骤S1505:通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件;
其中,步骤S1501-1505与实施例9中的步骤S1101-1105一致,本实施例不再赘述。
步骤S1506:接收退出指令;
其中,该退出指令依据用户在所述参与设备执行退出操作生成。
其中,接收高退出指令,确定该参与设备需要退出该本地局域网络。
步骤S1507:依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备;
其中,该退出请求中携带所述参与设备的设备标识信息。
其中,该设备标识信息为标识该参数与设备身份的信息,具体的,该设备标识信息可以为参与设备的型号、名称等具有辨识度的信息。
相应的,在协调设备的下载分片索引也有各个参与设备的标识信息。
具体的,将该退出请求发送至协调设备后,协调设备可根据该退出请求中的设备标识信息确定请求退出的为哪一个参与设备,依据该设备标识信息从下载分片索引中查找该设备标识信息对应的参与设备,并删除该下载分片索引中与其相关的信息。
步骤S1508:关闭与本地局域网络的连接,并删除本地存储的分片和下载任务。
其中,发送该退出请求后,关闭该参与设备与本地局域网络的连接,实现该参与设备退出该本地局域网络。
具体实施中,为保证本地局域网络的参与设备可控,该参与设备在发送给协调设备退出请求后,还需要等待该协调设备反馈的确定退出的指示信息,以使得该参与设备根据该指示信息退出。
其中,该参与设备退出该本地局域网络后,其缓存的已下载的分片和下载任务已无用处,删除本地存储的分片和下载任务,减少无用信息对该设备存储空间的占用。
需要说明的是,在具体实施中,为了减少各个参与设备通过外部网络近数据下载的压力,在执行步骤S1508之前,还要将其已下载的分片发送至其他参与设备中。
其中,该发送给协调设备的退出请求中携带已下载分片信息,如已下载完成分片的名称,或者该参与设备每下载完成一分片就反馈协调设备完成分片的信息。
具体的,该将其已下载的分片发送至其他参与设备的过程具体包括:接收协调设备发送的传输通知;分析所述传输通知,得到目标设备;将已下载的分片传输至所述目标设备。
其中,该传输通知用于指示该参与设备将其已下载分片传输至目标设备。
具体的,协调设备根据其记载的各个参与设备的信息,确定哪个参与设备内存空间较大,则将该参与设备选择为目标设备;或者,根各个参与设备当前的状态,确定一已下载完成或者即将下载完成的参与设备为目标设备。
其中,当该参与设备每下载完成一分片就反馈协调设备完成分片的信息时,则协调设备无需解析该退出请求得到该参与设备已下载的分片信息,直接根据该退出请求中携带的设备标识信息从下载分片索引中确定其已下载的分片,后续步骤与上述过程一致,不再赘述。
所以,当该参与设备接收到该传输通知后,确定其中携带的目标设备信息,该目标设备信息可以为该目标参与设备的地址信息等,则根据该地址信息,将本地已下载的分片传输给该目标设备。
具体实施中,当该文件未下载完成时,该参与文件也能够退出本地局域网络,此时则不必执行步骤S1504-1505步骤,直接执行完步骤S1503后执行步骤S1506。
其中,当下载完成后,该协调设备解散本地局域网络。
具体的,当接收到所述协调设备解散所述本地局域网络的解散指令时,删除本地存储的分片和下载任务,并关闭与本地局域网络的连接。
其中,该解散指令为协调设备准备解散该本地局域网络时生成的指令,用于指导各个参与设备退出本地局域网络。
具体的,根据该解散指令,参与设备删除存储的分片和下载任务,解除要求该参与设备执行的下载任务,同时释放该分片和下载任务占用的数据存储空间,并且,该参与设备关闭与本地局域网络的连接,彻底退出该本地局域网络。
需要注意的是,本申请中涉及的下载为广义的下载,不仅包括浏览网页时对网页数据包进行的缓存式下载,还包括将下载的文件存储到本地存储空间的情况(在该情况下可实现从本地存储空间打开该文件并查看)。当该本地局域网络中的各个参与设备对一文件进行存储到本地存储空间的下载时,则该解散指令可只用于通知所有的参与设备本地局域网络解散,无需删除其已下载并存储到本地存储空间的文件。
综上,本实施例提供的一种文件下载方法中,当该下载分片索引中还包括设备标识信息时,还包括:接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;关闭与本地局域网络的连接;删除本地存储的分片和下载任务。其中,当退出请求中携带已下载分片信息时,该发送所述退出请求至协调设备之后,该关闭与本地局域网络的连接之前,还包括:接收协调设备发送的传输通知;分析所述传输通知,得到目标设备;将已下载的分片传输至所述目标设备。采用该方法,实现了参与设备可自由退出,并且将该参与设备已下载的分片转移到其他仍在本地局域网络中的参与设备中,防止出现无用的重复下载,节约本地局域网络中的各个参与设备的外部网络流量。
上述本发明提供的实施例中详细描述了一种文件下载方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还提供了一种文件下载装置,下面给出具体的实施例进行详细说明。
如图16所示的本申请提供的一种文件下载装置实施例1的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:分片模块1601、下载任务模块1602、索引生成模块1603和第一通知模块1604;
其中,分片模块1601,用于依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息;
其中,该协调设备确定待下载的文件,该待下载的文件可以为该协调设备发起请求下载的文件,也可为该本地局域网中任一参与设备请求下载的文件,本申请中不限定该文件请求下载的设备是协调设备还是参与设备。
具体的,该协调设备中预设有划分规则,该划分规则用于将待下载的文件划分成多个分片。并且,分片模块1601根据该划分规则,对每个划分出的分片确定其参数信息。
具体的,该参数信息可以包括该分片的起止地址以及其序号,或者分片的序号、文件的地址以及该分片的大小等。
具体实施中,该分片划分完成后,可以直接根据文件的起止和该分片的大小以及其对应的序号,确定该分片的起止地址,并将该起止地址作为分片的参数信息。
当然,在具体实施中,也可将该文件的地址和该分片的大小以及其对应的序号,作为该分片的参数信息,使得后续的参与设备根据该参数信息自己确定其要下载的分片的起止地址,减少协调设备的数据处理量。
具体的,该参数信息包含的内容种类,可根据具体实施过程进行设置,当该协调设备数据处理能力较强时,可确定每个分片的起止地址,否则,将该确定分片起止地址的处理动作由参与设备执行,本申请中不限制具体采用哪种参数信息确定方式。
需要说明的是,该协调设备是对该本地局域网络中的各个参与设备参与的下载文件进行协调,其可以是一个单独的设备,也可是与一个参与设备为同一个电子设备,该电子设备具有双重功能,在该本地局域网络里中同时作为协调设备和参与设备,本申请中不做限制。
其中,下载任务模块1602,用于依据预设的下载分配条件,生成下载任务并分配至各个参与设备,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片;
其中,协调设备中预设有下载分配条件,下载任务模块1602根据该下载分配条件,对各个参与设备分配下载任务。
其中,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片。
具体的,该下载分配条件可以为各个参与设备可用的外部网络流量,或者该参与设备用户设置的下载可用外部网络流量,或者,该参与设备的网络类型等等。具体的根据下载分配条件生成下载任务的过程后续的实施例中会做详细说明,本实施例中不做详述。
其中,索引生成模块1603,用于依据所述下载任务与参与设备的映射关系,生成下载分片索引;
其中,索引生成模块1603在该协调设备中建立下载分片索引,该下载分片索引中具有每个下载任务与其对应的参与设备的对应关系。
具体的,每个下载任务中包含有至少一个分片及其参数信息,则该下载分片索引中也记录有每个下载任务中的分片及其参数信息。
需要说明的是,参与设备在下载完成其下载任务后,反馈一个完成信息给协调设备,以使得该协调设备可对该参与设备的下载状态进行记录。
当然,为了对下载过程进行详细的记录,还可接收参与设备对该下载任务中的每一分片下载完成后反馈的分片完成信息进行记录。
具体的,该下载分片索引如表1所示。
表1下载分片索引
上述的表1中,文件xxx由两个参与设备A和B进行下载,其中,参与设备A对应的下载任务为a,参与设备B对应的下载任务为b,任务a中包含分片1-2,各自对应其参数信息,其中,参与设备A已下载完成下载任务a,参与设备B未完成下载任务,剩余分片5未下载。
具体实施中,索引生成模块1603根据该下载分片索引即可确定当前各个参与设备的下载情况。
其中,第一通知模块1604,用于依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,该协调设备可根据该下载分片索引中的内容生成通知消息传输给各个参与设备。
其中,该生成通知消息的时间可以为该下载分片索引中的所有分片全部下载完成时,也可为满足预设的时间长度时,具体的生成时间可根据实际情况进行设置。
具体的,该通知消息中携带各个参与设备下载分片的信息,以及各个参与设备的地址信息。
例如,该下载分片索引中有3个参与设备,A、B和C,参与设备A下载分片1-2,参与设备B下载分片3-5、参与设备C下载分片6。参与设备A根据该通知消息,可确定参与设备B中具有分片3-5以及参与设备C中具有分片6,并根据该参与设备B和参与设备C的地址信息,通过本地局域网络获取该分片3-5以及分片6,与本地存储的分片1-2组成完整的文件。
当然,当生成通知消息的时机为满足预设的时间长度时,则该通知消息中在还会有各分片的下载情况。
例如,参与设备A下载完成分片1-2,参与设备B下载完成分片3-4,剩余分片5未下载、参与设备C下载完成分片6。参与设备A根据该通知消息,可确定参与设备B中已下载分片3-4以及参与设备C中已下载分片6,并根据该参与设备B和参与设备C的地址信息,通过本地局域网络获取该分片3-4以及分片6,等待下次接收到新的通知消息,根据该新的通知消息确定分片5下载完成时,继续从参与设备B获取分片5,并将该分片3-6与本地存储的分片1-2组成完整的文件。
需要说明的是,当协调设备与参与设备为同一个电子设备时,该电子设备中将该下载分片索引缓存于一存储结构中,其参与设备的部分直接从该存储结构中读取该下载分片索引的内容,无需生成通知消息进行传输或者发送。
需要说明的是,本申请中的下载任务中,并不一定为每个参与设备唯一下载某一分片,为保证能够快速下载文件,也可有两个甚至多个参与设备下载同一分片。
综上,本实施例中提供的一种应用于协调设备的文件下载装置,采用该装置,在本地局域网络中包含有至少两个用于下载的参与设备,参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
如图17所示的本申请提供的一种文件下载装置实施例2的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:获取模块1701、解析模块1702、第一分析模块1703、分片模块1704、下载任务模块1705、索引生成模块1706和第一通知模块1707;
其中,分片模块1704、下载任务模块1705、索引生成模块1706和第一通知模块1707的功能与实施例1中的相应结构一致,本实施例不再赘述。
其中,获取模块1701,用于获取请求下载文件的请求信息;
其中,该请求信息可以由协调设备生成,也可由参与设备生成。
具体的,该请求信息中携带有请求者的地址以及请求文件的地址。
解析模块1702,用于依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
其中,当某些外部网络支持使用用户名密码的应用层协议(如迅雷、ftp)时,则在该请求信息中还携带该用户名密码,那么在分析该请求信息时,即可得出该用户名和密码,后续在下载该文件时都使用该用户名和密码。
其中,第一分析模块1703,用于将所述用户名和密码添加到所述分片的参数信息,依据所述请求信息得到所述文件的地址,并依据该地址和预设的网络协议分析得到所述文件大小。
其中,将从请求信息中携带的用户名和密码作为该文件的信息,将该文件中每个分片的参数信息中加入该用户名和密码。
具体的,在后续的步骤S307中,将该用户名和密码添加到下载任务中,以使得各个参与设备根据该下载任务中的用户名和密码进行下载。
以ftp为例说明,假设请求文件是ftp://user:[email protected]/xxx.avi,解析该请求文件的地址,可以解析出用户名user和密码password。
需要说明的是,在具体实施中,可只根据第一个请求包进行解析,该请求包就是请求文件的请求信息中的第一个数据包,也可为下载时生成的第一请求包。
其中,该文件的地址为该文件在外部网络中的地址。
其中,该协调设备中预设有网络协议,该网络协议用于对文件的地址进行分析得到该文件的大小。
例如,当外部网络使用http时,可以使用head命令得到文件的大小;当外部网络使用ftp时,则可以使用SIZE命令得到文件的大小。
综上,本实施例中提供的一种文件下载装置中,还包括:获取模块,用于获取请求下载文件的请求信息;第一分析模块,用于依据所述请求信息得到所述文件的地址,并依据该地址和预设的网络协议分析得到所述文件大小。其中,当外部网络的应用层协议设置有密码时,还包括:解析模块,用于依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;所述分片模块,还用于将所述用户名和密码添加到所述分片的参数信息。采用该装置,能够通过请求下载文件的请求信息确定待下载文件的地址,并分析得到该文件的大小,以便为后续的分片以及下载任务的生成提供依据。
如图18所示的本申请提供的一种文件下载装置实施例3的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:分片模块1801、下载任务模块1802、索引生成模块1803和第一通知模块1804;
其中,分片模块1801包括划分单元1805、命名单元1806和添加单元1807。
其中,下载任务模块1802、索引生成模块1803和第一通知模块1804的功能与实施例1中的相应结构一致,本实施例不再赘述。
其中,划分单元1805,用于依据预设的单位分片数据量对所述文件划分为至少2个分片;
其中,该单位分片数据量为每个分片的标准数据量,如100K,1M等,该分片的数据量的设定可根据参与设备的数目以及各个参与设备可用于下载的数据量的多少设置。
例如,参与设备较多如5个以上,并且每个参与设备可用于下载的数据量较少时,可设置一个较小的单位分片数据量,将一个文件生成的下载任务分配到每个参与设备中,每个参与设备用于下载该文件的数据量少,防止参与设备的外部网络数据消耗过多。
又如,当参与设备较少,如只有2-3个时,并且每个参与设备可用于下载的数据量较多,如每个都有200M,同时待下载的文件较大时,可设置一个较大的单位分片数据量,每个参与设备下载其对应的一部分文件,无需协调设备生成含有大量的分片信息的下载任务传输至参与设备中,降低了参与设备与协调设备之间的无谓的信息传输。
需要说明的是,在具体实施中,其中一个分片的数据量小于单位分片数据量。
其中,命名单元1806,用于依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
其中,该协调设备中预设有命名规则,用于对各个分片进行命名,该命名具有指示该分片在文件中的顺序的功能。
例如,划分单元1805将文件划分为3个分片,则命名单元1806将各个分片可依次命名为1、2和3,或者A、B和C等等能够表示顺序的名字。
具体的,将该分片的名称添加到其对应的参数信息中,以便参与设备根据该分片名称确定其在文件中的顺序位置。
其中,添加单元1807,用于将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。
其中,该文件的地址表示了开始下载文件的地址以及结束位置,根据该文件地址可对各个参与设备指示下载的起始地址。
其中,该预设的单位分片数据量表示了每一个分片的数据量。
具体的,根据单位分片数据量以及分片的名称可确定该待下载分片的区间,根据该文件的地址可确定每个待下载分片区间的起止地址。
需要说明的是,该下载任务中可包括分配给参与设备其需要下载的分片的名称(或者称为编号)、单位分片数据量以及文件的地址,接收到该下载任务的参与设备可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容。
需要说明的是,本实施例中先将该分片名称添加到参数信息中,然后将文件的地址以及单位分片数据量添加到参数信息中,但是添加的先后顺序不限定于此,实际实施中,该顺序可以倒换,也可同时添加,本申请中不做限制。
综上,本实施例中提供了一种文件下载装置中,分片模块包括:划分单元,用于依据预设的单位分片数据量对所述文件划分为至少2个分片;命名单元,用于依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;添加单元,用于将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。采用该装置,该参数信息中携带有待下载分片的名称、文件的地址以及单位分片数据量,使得收到该下载任务的参与设备可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
如图19所示的本申请提供的一种文件下载装置实施例4的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:分片模块1901、下载任务模块1902、索引生成模块1903和第一通知模块1904;
其中,下载任务模块1902包括第一分析单元1905、下载任务单元1906和传输单元1907。
其中,分片模块1901、索引生成模块1903和第一通知模块1904的功能与实施例1中的相应结构一致,本实施例不再赘述。
所述下载任务模块1902包括:
其中,第一分析单元1905,用于依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数;
其中,该参与设备的设备信息所述设备信息包括可用网络流量和/或通信网络信息。
其中,该可用网络流量包括:参与设备的网络运营商提供的套餐剩余流量,也可为该参与设备用户设置的可用流量。
其中,该通信信息为该参与设备当前使用的通信网络,如2G、3G、4G等等。
其中,该协调设备中预设有下载分配条件,下载任务模块1902根据该下载分配条件,为各个参与设备生成对应的下载任务。
其中,该下载任务中包含有至少一个分片。
具体的,该下载分配条件与各个参与设备的状态相关,如参与设备可用于下载的外部网络流量、以及网络状态等。
具体的,可用网络流量较多时,可分配较多的分片;该通信信息表示该参与设备当前使用的通信网络网络较快时,可分配较多的分片,即分配给4G的参与设备的分片数目大于分配给2G的参与设备的分片数目。
优选的,可用网络流量多且网络速度较快的,分配较多的分片。
具体实施中,可为可用网络流量因素和通信网络信息因素设置权重,当倾向于保护各个参与设备的流量套餐使用情况时,为可用网络流量因素分配较大权重,当倾向于加快下载速度时,为通信网络信息因素分配较大权重。
当然,实际实施中,为了保护各个参与设备不超出网络套餐的流量,保证该可用网络流量因素权重不低于预设阈值。
具体的,第一分析单元1905依据各个参与设备的设备信息,确定每个参与设备需要下载的分片的个数,该个数至少为一个。
例如,该本地局域网中有3个下载设备,下载设备A有可用网络流量200M,下载设备B可用网络流量150M,下载设备C可用网络流量50M,下载文件分为8片,每片10M,三个下载设备采用相同的网络3G网络,则可只依据该可用网络流量进行分配,下载设备A分配4个分片,下载设备B分配3个分片,下载设备C分配1分片。
当然,实际实施中可能分片个数与下载设备可用网络流量不成整数的比例,可根据比例进行数学计算得到完整的分片个数。
其中,下载任务单元1906,用于获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
其中,每个目标分片有其对应的参数信息,该参数信息中携带有该目标分片的信息,可以包括分片下载的起止地址,或者该分片所属的文件的地址、单位分片数据量以及该分片的序号等等。
具体的,下载任务单元1906获取准备分配给任一个参与设备的分片对应的参数信息,如分配给一参与设备3个分片,则获取3个分片的参数信息。
如上述例子中,下载设备A分配4个分片,获取4个分片的参数信息。
优选的,针对同一参与设备获取的分片参数信息最好为相邻的分片,以便后续参与设备直接确定这几个相邻分片对应的下载区间,无需多次确定,减少参与设备的数据处理量。
具体的,下载任务单元1906依据该获取的参数信息生成一参与设备的下载任务。当该下载任务中包含有多个分片时,并且该参数信息为分片所属的文件的地址、单位分片数据量以及该分片的序号时,可在下载任务中只添加一个文件地址、一个单位分片数据量以及各个分片的序号即可无须重复添加相同的文件地址和单位分片数据量,减少下载任务的数据量,以减少协调设备传输下载任务值参与设备时占用的数据传输通道时间。
其中,传输单元1907,用于将所述下载任务传输至所述参与设备。
其中,该下载任务生成后,传输单元1907将各个下载任务传输至对应的参与设备中以使得该参与设备根据该下载任务从外部网络下载相应的分片。
需要说明的是,当协调设备与参与设备为同一个电子设备时,该电子设备中将该下载任务缓存于一存储结构中,其参与设备的部分直接从该存储结构中读取该下载任务,无需进行传输或者发送。
综上,本实施例中提供的一种文件下载装置中,还包括:第一接收模块,用于接收参与设备上报的设备信息,所述设备信息包括可用网络流量和/或通信网络信息。其中,下载任务模块包括:第一分析单元,用于依据所述参与设备的设备信息,确定所述参与设备下载的目标分片个数;下载任务单元,用于获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;传输单元,用于将所述下载任务传输至所述参与设备。采用该装置,结合参与设备的设备信息,确定其下载的分片个数,并生成相应的下载任务,使得收到该下载任务的参与设备可以根据下载任务中携带的各个分片的信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
具体实施中,当多个参与设备与协调设备已在本地局域网中作为一个下载的组群进行文件下载,此时可能又有其他设备请求加入。
如图20所示的本申请提供的一种文件下载装置实施例5的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:第二接收模块2001、加入模块2002、分片模块2003、下载任务模块2004、索引生成模块2005和第一通知模块2006;
其中,分片模块2003、下载任务模块2004、索引生成模块2005和第一通知模块2006的功能与实施例1中的相应结构一致,本实施例不再赘述。
其中,第二接收模块2001,用于接收请求加入共同下载所述文件的加入请求;
其中,第二接收模块2001接收该本地局域网的外部设备请求的加入请求,该加入请求中可以携带有该外部设备的相关设备信息。
其中,加入模块2002,用于将请求加入的设备作为新的参与设备加入本地局域网络;
具体的,加入模块2002,根据该加入请求,将该外部设备作为新的参与设备加入本地局域网络中。
其中,判断模块2003,用于判断所述下载分片索引是否有未下载的分片;
其中,该未下载的分片可以为生成下载任务传输给其他参与设备进行下载,但是未下载完成的分片。
当然,该未下载的分片也可为当有参与设备退出该本地局域网,但是其有分片未下载完成,其未下载的分片也可分配给该新的参与设备进行下载。
该判断的方法可以为读取该下载分片索引中完成状态的标志,如果该标识为完成下载,则该分片已下载完成,否则为未下载,可将该未下载的分片分配给新的参与设备进行下载。
具体的,如果有未下载的分片时触发下载任务模块2004,如果没有,触发第一通知模块2006,实现将下载分片索引中的信息与该新的参与设备分享。
其中,当该没有未下载的分片时,则表明该文件已下载完成,该新的参与设备无需重新下载即可实现对文件的下载,该过程即为第一通知模块2006实现的过程,只是该通知消息中携带有所有其他参与下载的参与设备的信息,将所述下载分片索引中的信息与所述新的参与设备分享。。
其中,如果有未下载的分片时,所述下载任务模块还用于依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引。
其中,所述下载任务中包含至少一个未下载的分片。
具体的,根据判断模块2003中确定的未下载分片,获取该未下载分片的参数信息,并依据该参数信息生成新的下载任务,并将该下载任务分配给该新的参与设备。
具体实施中,该下载任务的生成还需要结合该新的参与设备的设备信息,如果新的参与设备的可用网络流量小于该未下载分片的数据量时,可根据该本地局域网络中其他的参与设备的剩余网络流量及其网络情况,为其他的参与设备新增下载任务。
其中,该加入请求中还可携带验证码。
如图21所示的本申请提供的一种文件下载装置实施例5中加入模块的结构示意图,加入模块2002包括:第二分析单元2101、比对单元2102和加入单元2103;
其中,第二分析单元2101,用于分析所述加入请求,得到所述加入请求中的验证码;
其中,为保证本地局域网络中加入的所有设备被各个设备的用户了解可知,在加入该本地局域网络时,请求加入的设备发送的加入请求中携带验证码,第二分析单元2101对请求加入本地局域网络的设备进行身份验证,以便该本地局域网络的建立设备或者协调设备得知该请求。
需要说明的是,当创建该本地局域网络时,各个设备可均向创建该本地局域网络的设备(一般为协调设备)发送验证码。
其中,比对单元2102,用于比对所述加入请求中的验证码和预设的验证码,得到比对结果;
其中,该协调设备中也预设有标准的验证码,各个请求加入的设备需要发送与该标准的验证码相同的验证码,才能够确定该设备请求加入该本地局域网络;否则认为该设备请求的为错误的本地局域网络,甚至可认为该请求设备为恶意用户,忽略该请求。
其中,当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,触发加入单元2103;否则,忽略所述请求加入的设备。
实际实施中,由于在某一个物理空间中,可能有多个本地局域网络存在,通过验证码还能够实现确认一个请求加入的设备是否请求了正确的本地局域网络。
其中,加入单元2103,用于当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,将请求加入的设备作为新的参与设备加入本地局域网络。
综上,本实施例提供的一种文件下载装置中,当有新的参与设备请求加入本地局域网中实现对文件的下载时,根据该文件的当前未下载完成的情况为该新的参与设备分配下载任务或者直接共享该已下载完成的文件,以保证每个在下载过程中加入的新的参与设备也能够实现对文件的下载,保证其能够得到完整的文件。并且,能够对请求加入本地局域网络的设备进行身份验证,保证每一个加入本地局域网络的设备身份都可知,以防出现恶意攻击或者其他损害本地局域网络里其他设备的情况。
其中,下载分片索引中还包括参与设备的设备标识信息。
如图22示的本申请提供的一种文件下载装置实施例6的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:分片模块2201、下载任务模块2202、索引生成模块2203、第三接收模块2204、第二分析模块2205、第一删除模块2206和第一通知模块2207;
其中,分片模块2201、下载任务模块2202、索引生成模块2203和第一通知模块2207的功能与实施例1中的相应结构一致,本实施例不再赘述。
其中,第三接收模块2204,用于接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;
其中,设备请求加入该本地局域网络时发送的加入请求中携带有该设备的设备标识信息,该协调设备中的下载分片索引中还包括各个设备的标识信息。
其中,当任一参与设备请求退出本地局域网络时,第三接收模块2204接收该退出请求,该退出请求中具有该参与设备的设备标识信息。
其中,该设备标识信息为标识该参数与设备身份的信息,具体的,该设备标识信息可以为参与设备的型号、名称等具有辨识度的信息。
其中,第二分析模块2205,用于依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
其中,接收到该退出请求后,第二分析模块2205解析该退出请求,可得到该参与设备的设备标识信息,依据该设备标识信息从下载分片索引中查找该设备标识信息对应的参与设备。
其中,第一删除模块2206,用于删除所述下载分片索引中所述参与设备相关的信息。
其中,当该参与设备退出本地局域网络时,下载分片索引中指示下载分片在该参与设备等与其相关的信息已无用处,第一删除模块2206删除该下载分片索引中与其相关的信息,以防后续第一通知模块2207生成通知消息时出现错误,同时,减少无用信息对协调设备存储空间的占用。
需要说明的是,第三接收模块2204、第二分析模块2205、第一删除模块2206的执行时间,可以为文件下载完成后,也可为文件下载过程中,也就是说,第三接收模块2204、第二分析模块2205、第一删除模块2206可以为第一通知模块2207执行动作之前执行,也可为在第一通知模块2207执行动作之后执行,本申请不做限制。
需要说明的是,在具体实施中,为了减少各个参与设备通过外部网络近数据下载的压力,在第一删除模块2206删除下载分片索引中该参与设备相关的信息之前,还要将该参与设备已下载的分片发送至其他参与设备中,其中,该退出请求中携带已下载分片信息,如已下载完成分片的名称,或者该参与设备每下载完成一分片就反馈协调设备完成分片的信息。
其中,当退出请求中携带已下载分片信息时,该装置还包括:第三分析模块,用于解析所述退出请求,得到所述参与设备已下载的分片信息;选择模块,用于依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;第二通知模块,用于生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
具体的,可根据协调设备中记载的各个参与设备的信息,确定哪个参与设备内存空间较大,则将该参与设备选择为目标设备;或者,根各个参与设备当前的状态,确定一已下载完成或者即将下载完成的参与设备为目标设备。
其中,当该参与设备每下载完成一分片就反馈协调设备完成分片的信息时,则无需解析该退出请求得到该参与设备已下载的分片信息,直接根据该退出请求中携带的设备标识信息从下载分片索引中确定其已下载的分片,后续步骤与上述过程一致,不再赘述。
综上,本实施例提供的一种文件下载装置中,当下载分片索引中还包括设备标识信息时,还包括:第三接收模块,用于接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;第二分析模块,用于依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;第一删除模块,用于删除所述下载分片索引中所述参与设备相关的信息。其中,当退出请求中携带已下载分片信息时,还包括:第三分析模块,用于解析所述退出请求,得到所述参与设备已下载的分片信息;选择模块,用于依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;第二通知模块,用于生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。采用该装置,实现了对参与设备自由退出,并且将该参与设备已下载的分片转移到其他仍在本地局域网络中的参与设备中,防止出现无用的重复下载,节约本地局域网络中的各个参与设备的外部网络流量。
其中,当下载完成后,该协调设备解散本地局域网络。
如图23所示的本申请提供的一种文件下载装置实施例7的结构示意图,该装置应用于协调设备,该装置具体包括以下结构:分片模块2301、下载任务模块2302、索引生成模块2303、第一通知模块2304、第二删除模块2305和解散模块2306;
其中,分片模块2301、下载任务模块2302、索引生成模块2303、第一通知模块2304的功能与实施例1中的相应结构一致,本实施例不再赘述。
其中,第二删除模块2305,用于当解散所述本地局域网络时,删除所述下载分片索引;
其中,当该协调设备解散本地局域网络时,第二删除模块2305删除本地存储的下载分片索引,解除该协调设备与各个参与设备之间的关联关系,同时释放该下载分片索引占用的数据存储空间。
其中,解散模块2306,用于生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。
其中,当协调设备解散本地局域网络时,解散模块2306生成解散指令并传输给所有的参与设备,通知其本地局域网络解散。
并且,该解散指令用于指示所述参与设备删除存储的分片和下载任务,解除要求该参与设备执行的下载任务,同时释放该分片和下载任务占用的数据存储空间。
需要注意的是,本申请中涉及的下载为广义的下载,不仅包括浏览网页时对网页数据包进行的缓存式下载,还包括将下载的文件存储到本地存储空间的情况(在该情况下可实现从本地存储空间打开该文件并查看)。当该本地局域网络中的各个参与设备对一文件进行存储到本地存储空间的下载时,则该解散指令可只用于通知所有的参与设备本地局域网络解散,无需删除其已下载并存储到本地存储空间的文件。
综上,本实施例提供的一种文件下载装置中,还包括:第二删除模块,用于当解散所述本地局域网络时,删除所述下载分片索引;解散模块,用于生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。采用该装置,协调设备可以自由的解散本地局域网络,解除该协调设备与各个参与设备之间的关联关系,同时释放该下载分片索引占用的数据存储空间。
以上所述的文件下载装置应用在协调设备中,本申请实施例同时提供了一种文件下载装置,应用于本地局域网络的各个参与设备中。
如图24所示的本申请提供的一种文件下载装置实施例8的结构示意图,该装置应用于参与设备,该参与设备为一电子设备,具体可以是台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备,所述电子设备中具有加入本地局域网络的功能。
该装置具体包括以下结构:第一接收模块2401、第一分析模块2402、下载模块2403、第二接收模块2404和组合模块2405。
其中,第一接收模块2401,用于通过所述本地局域网络,接收所述协调设备发送的下载任务,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件;
其中,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件。
其中,该参与设备位于本地局域网络中,与该本地局域网络中的协调设备之间通过本地局域网络进行数据传输,并且,该参与设备之间也是通过本地局域网络进行数据传输,该数据传输过程不消耗该参与设备的外部网络流量。
其中,该下载任务是协调设备根据待下载的文件划分成多片,依据其中的至少一个分片生成的。
其中,第一分析模块2402,用于分析所述下载任务,得到分片的参数信息;
其中,该下载任务中携带有至少一个分片,第一分析模块2402对该下载任务进行分析,得到其中携带的分片的参数信息。
具体实施中,该下载任务中还可携带有参与设备的标识,以使的接收到下载任务的参与设备与自身的标识与该下载任务中携带的标识进行比较,确定其正确接收到属于该参与设备的下载任务。
具体的,该参数信息可以包括该分片的起止地址以及其序号,或者分片的序号、文件的地址以及该分片的大小等。
其中,下载模块2403,用于依据所述参数信息通过外部网络下载所述分片;
其中,该参数信息表示其对应分片的地址(文件的区间),下载模块2403根据该参数信息即可实现对其对应的分片的下载,具体的,通过外部网络对该分片进行下载。
具体的,当该参数信息中携带有分片的起止地址时,可直接根据该起止地址从外部网络下载该分片;当该参数信息中携带有分片的序号、文件的地址以及该分片的大小时,根据分片的序号、文件的地址以及该分片的大小确定各个分片的起止地址,根据各个分片的起止地址从外部网络下载该分片。
当然,在具体实施中,协调设备也可将该文件的和该分片的大小以及其对应的序号,作为该分片的参数信息,使得该参与设备根据该参数信息自己确定其要下载的分片的起止地址,减少协调设备的数据处理量。
需要说明的是,该参与设备作为本地局域网络中用于下载文件的设备,其可以是一个单独的设备,也可与协调设备为同一个电子设备,该电子设备具有双重功能,在该无线局域网里中同时作为协调设备和参与设备,本申请中不做限制。
其中,第二接收模块2404,用于接收所述协调设备传输的通知消息,所述通知信息依据所述下载分片索引中的内容生成;
其中,该通知信息依据所述下载分片索引中的内容生成。
其中,根据前述的协调设备的文件下载方法实施例1中的描述,该下载分片索引中记录有本地局域网络中各个参与设备的信息及其对应的分片下载情况,则该协调设备根据其下载分片索引中记录的内容生成通知消息。
具体的,该通知消息可以为该下载分片索引内容的简化,如只包括每个参与设备的信息及其下载的分片以及分片是否下载完成的信息。其中,当该生成通知消息的时间为文件下载完成后时,无需添加分片是否下载完成的信息。
或者,协调设备对每个参与设备生成与其对应的通知信息,该通知消息中只携带本地局域网络中其他参与设备的信息及其对应的分片下载情况。如,参与设备A下载分片1-3,参与设备B下载分片4-5,则参与设备A接收到的通知消息中只携带参与设备B的信息以及其下载分片4-5的信息;而参与设备B接收到的通知消息中只携带参与设备A的信息以及其下载分片1-3的信息。
其中,组合模块2405,用于通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
其中,组合模块2405解析分析该通知消息,可以得到该通知消息中携带的其他参与设备的信息以及其下载的分片信息。
具体的,依据分析得到的信息,通过本地局域网络,从其他参与设备中获取其下载完成的分片,将获取得到的分片与本地下载的分片按照排列的先后顺序组成完整的文件。
因此,本地局域网络中的每个参与设备最终均得到完整的文件,而每个参与设备无需下载全部的文件,在保证了用户体验的同时,减少了参与设备的外部网络流量消耗。
综上,本实施例提供了一种文件下载方法,采用该方法,在本地局域网络中包含有至少两个用于下载的参与设备,参与设备分别下载待下载文件中的一部分(一个或者几个分片),而参与设备各自下载完成相应的部分后,通过本地局域网实现共享,每个设备最终得到完整的文件。多个设备共同下载同一个文件,不会出现重复下载的情况,不会造成网络流量浪费的问题,并且,每个用户下载一个文件中的一部分,减少了每个用户所耗费的流量,降低用户的网络资费。
如图25所示的本申请提供的一种文件下载装置实施例9的结构示意图,该装置应用于参与设备,该装置具体包括以下结构:第一接收模块2501、第一分析模块2502、下载模块2503、第二接收模块2504和组合模块2505。
其中,第一接收模块2501、第二接收模块2504和组合模块2505的功能与实施例8中的相应结构一致,本实施例不再赘述。
其中,第一分析模块2502具体用于:依据预设的分析条件分析所述下载任务,得到至少一个分片的参数信息;
其中,参数信息包括分片的名称、所述文件的地址和预设的单位分片数据量。
其中,参与设备中预设有分析条件,第一分析模块2502对接收到的下载任务进行分析,得到其中携带的分片的参数信息。
其中,该分片的名称具有指示该分片在文件中的顺序的功能。
例如,将文件划分为3个分片,则各个分片可依次命名为1、2和3,或者A、B和C等等能够表示顺序的名字,参与设备根据该分片的名称确定其在文件中的顺序位置。
其中,该文件的地址表示了开始下载文件的地址以及结束位置,参与设备根据该文件地址可得到该下载文件的起始地址。
其中,该单位分片数据量为每个分片的标准数据量,如100K,1M等,该协调设备设定分片的数据量时,可根据参与设备的数目以及各个参与设备可用于下载的数据量的多少设置。
其中,下载模块2503具体用于依据所述分片的名称、所述文件的地址和预设的单位分片数据量确定所述分片的起止地址,并依据所述分片的起止地址通过外部网络下载所述分片。
其中,下载模块2503根据单位分片数据量以及分片的名称可确定该待下载分片的区间,根据该文件的地址可确定每个待下载分片区间的起止地址。
其中,当该下载任务中携带有多个分片名称时,并且根据该分片名称可确定该分片相邻时,根据该单位分片数据量以及各个相邻分片的整体区间,然后根据该文件的地址确定该整体区间的起止地址。
需要说明的是,该参与设备中需要有协议支持,例如http协议可以在请求头部中用Range字段指定区间,ftp可以使用REST命令指定偏移量。
其中,该分片的起止地址为每个分片在该文件中占据的位置,下载模块2503根据该分片的起止地址下载该分片。
具体的,该参与设备通过外部网络对该分片进行下载。
具体实施中,当该参与设备下载完成分片时,反馈下载完成的信息给协调设备,以使得协调设备对下载分片索引的内容进行更新,记录该下载完成事件。
综上,本实施例提供的一种文件下载装置中,第一分析模块具体用于:依据预设的分析条件分析所述下载任务,得到至少一个分片的参数信息;所述参数信息包括分片的名称、所述文件的地址和预设的单位分片数据量。其中,下载模块包括:分析单元,用于依据所述分片的名称、所述文件的地址和预设的单位分片数据量确定所述分片的起止地址;下载单元,用于依据所述分片的起止地址通过外部网络下载所述分片。采用该装置,对接收到的下载任务进行分析,得到其中携带的分片的相关信息,可以根据下载任务中携带信息计算出需要下载的文件区间,然后从外部网络下载该区间内容,保证参与设备能够根据该下载任务实现从外部网络下载部分文件。
具体实施中,当所述外部网络的应用层协议设置有密码时,参与设备生成请求信息时,还需携带有密码和用户名。
如图26所示的本申请提供的一种文件下载装置实施例10的结构示意图,该装置具体包括以下结构:第三接收模块2601、第四接收模块2602、请求模块2603、第一接收模块2604、第一分析模块2605、下载模块2606、第二接收模块2607和组合模块2608。
其中,第一接收模块2604、第一分析模块2605、下载模块2606、第二接收模块2607和组合模块2608的功能与实施例8中的相应结构一致,本实施例不再赘述。
其中,第三接收模块2601,用于接收请求下载文件的请求操作信息;
其中,该请求操作信息根据用户通过所述参与设备输入的请求下载文件生成。
具体的,用户通过参与设备的输入设备输入请求下载某文件的操作,依据该操作生成请求操作信息。
其中,第四接收模块2602,用于接收用户输入预设的应用层协议的用户名和密码;
其中,当某些外部网络支持使用用户名密码的应用层协议(如迅雷、ftp)时,用户在输入请求操作过程中,还需要输入应用层协议的用户名和密码。
具体的,第四接收模块2602接收该用户名和密码。
其中,请求模块2603,用于依据所述用户名、密码和所述请求操作信息生成请求信息并发送至所述协调设备,所述请求下载信息用于指示所述协调设备协调下载所述文件。
其中,所述请求下载信息用于指示所述协调设备协调下载所述文件。
其中,该请求操作信息具体表示需要下载的文件信息,可以包括该文件的地址等相关信息。
其中,该请求信息中携带用户名和密码,以使得接收到该请求信息的协调设备可将该用户名和密码添加到下载任务中,使得各个参与设备同时具有该用户名和密码,可实现各个参与设备无障碍支持使用用户名密码的应用层协议。
具体实施中,有的用户名和密码为添加到请求文件的地址中的,则可直接将该请求文件的地址生成请求信息发送至协调设备,以使协调设备根据该请求信息分析得到用户名和密码。
以ftp为例说明,假设请求文件是ftp://user:[email protected]/xxx.avi,解析该请求文件的地址,协调设备可以解析出用户名user和密码password。
综上,本实施例提供的一种文件下载装置中,当外部网络的应用层协议设置有密码时,还包括:第三接收模块,用于接收请求下载文件的请求操作信息,所述请求操作信息根据用户通过所述参与设备输入的请求下载文件生成;第四接收模块,用于接收用户输入预设的应用层协议的用户名和密码;请求模块,用于依据所述用户名、密码和所述请求操作信息生成请求信息并发送至所述协调设备,所述请求下载信息用于指示所述协调设备协调下载所述文件。采用该装置,应用层协议的用户名和密码以及请求操作信息添加到请求信息中,以使得接收到该请求信息的协调设备可将该用户名和密码添加到下载任务中,使得各个参与设备同时具有该用户名和密码,实现各个参与设备无障碍支持使用用户名密码的应用层协议。
如图27所示的本申请提供的一种文件下载装置实施例11的结构示意图,该装置具体包括以下结构:发送模块2701、第一接收模块2702、第一分析模块2703、下载模块2704、第二接收模块2705和组合模块2706。
其中,第一接收模块2702、第一分析模块2703、下载模块2704、第二接收模块2705和组合模块2706的功能与实施例8中的相应结构一致,本实施例不再赘述。
其中,发送模块2701,用于发送请求加入本地局域网络的加入请求,所述加入请求中携带所述参与设备的可用网络流量。
其中,该加入请求中携带所述参与设备的可用网络流量。
其中,在协调设备组建本地局域网络时,该参与设备可以请求加入;当该本地局域网络组建完成后,该参与设备依然可以请求加入。
具体实施中,该组件本地局域网络时,该参与设备可直接根据协调设备发送的组网信息加入该本地局域网络,无需再次发送加入请求,而该参与设备根据组网信息加入时,也会对自身的信息(如可用网络流量)反馈给协调设备。
其中,所述加入请求还可包括该设备的通信网络信息,即该设备当前使用的通信网络,如2G、3G或者4G网络等。
其中,需要说明的是,该参与设备的加入请求中携带的参与设备的信息影响其分配得到的下载任务,如果可用网络流量较多时,可分配较多的分片;该通信信息表示该参与设备当前使用的通信网络网络较快时,可分配较多的分片,即分配给4G的参与设备的分片数目大于分配给2G的参与设备的分片数目。
优选的,可用网络流量多且网络速度较快的,分配较多的分片。
具体实施中,该加入请求中还可携带验证码,该装置还包括加入模块,用于当所述协调设备准许加入时,加入本地局域网络。
其中,当参与设备发送请求加入本地局域网络的加入请求之后,得到协调设备反馈的信息,当所述协调设备准许加入时,该设备作为新的参与设备加入本地局域网络,然后触发第一接收模块2702。
需要说明的是,加入请求中携带验证码的方式,能够对请求加入本地局域网络的设备进行身份验证,保证每一个加入本地局域网络的设备身份都可知,以防出现恶意攻击或者其他损害本地局域网络里其他设备的情况。
需要说明的是,当协调设备的下载分片索引中表示该没有未下载的分片时,则表明该文件已下载完成,该新的参与设备无需重新下载即可实现对文件的下载,该过程即为组合模块2706中实现的过程,只是该通知消息中携带有所有其他参与下载的参与设备的信息,该新的参与设备对各个参与下载的参与设备中的分片进行获取,在本地组成完整分片即可。当协调设备的下载分片索引中表示该有未下载的分片时,触发第一接收模块2702。
综上,本实施例提供的一种文件下载装置中,还包括:发送模块,用于发送请求加入本地局域网络的加入请求,所述加入请求中携带所述参与设备的可用网络流量。当加入请求中携带验证码时,还包括:加入模块,用于当所述协调设备准许加入时,加入本地局域网络。采用本装置,当有新的参与设备请求加入本地局域网中实现对文件的下载时,可对自身的信息上报给协调设备,以使协调设备根据该文件的当前未下载完成的情况为该新的参与设备分配下载任务或者直接共享该已下载完成的文件,以保证每个在下载过程中加入的新的参与设备也能够实现对文件的下载,保证其能够得到完整的文件。
其中,下载分片索引中还包括参与设备的设备标识信息。
如图28所示的本申请提供的一种文件下载装置实施例12的结构示意图,该装置具体包括以下结构:第一接收模块2801、第一分析模块2802、下载模块2803、第五接收模块2804、退出模块2805、网络模块2806、删除模块2807、第二接收模块2808和组合模块2809。
其中,第一接收模块2801、第一分析模块2802、下载模块2803、第二接收模块2804和组合模块2805的功能与实施例8中的相应结构一致,本实施例不再赘述。
其中,第五接收模块2804,用于接收退出指令;
其中,该退出指令依据用户在所述参与设备执行退出操作生成。
其中,第五接收模块2804接收高退出指令,确定该参与设备需要退出该本地局域网络。
其中,退出模块2805,用于依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备;
其中,该退出请求中携带所述参与设备的设备标识信息。
其中,该设备标识信息为标识该参数与设备身份的信息,具体的,该设备标识信息可以为参与设备的型号、名称等具有辨识度的信息。
相应的,在协调设备的下载分片索引也有各个参与设备的标识信息。
具体的,退出模块2805将该退出请求发送至协调设备后,协调设备可根据该退出请求中的设备标识信息确定请求退出的为哪一个参与设备,依据该设备标识信息从下载分片索引中查找该设备标识信息对应的参与设备,并删除该下载分片索引中与其相关的信息。
其中,网络模块2806,用于关闭与本地局域网络的连接;
其中,发送该退出请求后,网络模块2806关闭该参与设备与本地局域网络的连接,实现该参与设备退出该本地局域网络。
具体实施中,为保证本地局域网络的参与设备可控,该参与设备在发送给协调设备退出请求后,还需要等等该协调设备反馈的确定退出的指示信息,以使得该参与设备根据该指示信息退出。
其中,删除模块2807,用于删除本地存储的分片和下载任务。
其中,该参与设备退出该本地局域网络后,其缓存的已下载的分片和下载任务已无用处,删除模块2807删除本地存储的分片和下载任务,减少无用信息对该设备存储空间的占用。
需要说明的是,在具体实施中,为了减少各个参与设备通过外部网络近数据下载的压力,在网络模块2806执行动作之前,还要将其已下载的分片发送至其他参与设备中。
其中,该发送给协调设备的退出请求中携带已下载分片信息,如已下载完成分片的名称,或者该参与设备每下载完成一分片就反馈协调设备完成分片的信息。
那么,该装置还包括:第六接收模块,用于接收协调设备发送的传输通知;第二分析模块,用于分析所述传输通知,得到目标设备;传输模块,用于将已下载的分片传输至所述目标设备。
其中,该传输通知用于指示该参与设备将其已下载分片传输至目标设备。
具体的,协调设备根据其记载的各个参与设备的信息,确定哪个参与设备内存空间较大,则将该参与设备选择为目标设备;或者,根各个参与设备当前的状态,确定一已下载完成或者即将下载完成的参与设备为目标设备。
其中,当该参与设备每下载完成一分片就反馈协调设备完成分片的信息时,则协调设备无需解析该退出请求得到该参与设备已下载的分片信息,直接根据该退出请求中携带的设备标识信息从下载分片索引中确定其已下载的分片,后续步骤与上述过程一致,不再赘述。
所以,当该参与设备接收到该传输通知后,确定其中携带的目标设备信息,该目标设备信息可以为该目标参与设备的地址信息等,则根据该地址信息,将本地已下载的分片传输给该目标设备。
具体实施中,当该文件未下载完成时,该参与文件也能够退出本地局域网络,此时则不必执行第二接收模块2808和组合模块2809的动作,直接下载模块2803执行动作后触发退出模块2805。
其中,当下载完成后,该协调设备解散本地局域网络。
其中,删除模块2807,还可用于当接收到所述协调设备解散所述本地局域网络的解散指令时,删除本地存储的分片和下载任务,并关闭与本地局域网络的连接。
其中,该解散指令为协调设备准备解散该本地局域网络时生成的指令,用于指导各个参与设备退出本地局域网络。
具体的,删除模块2807根据该解散指令,参与设备删除存储的分片和下载任务,解除要求该参与设备执行的下载任务,同时释放该分片和下载任务占用的数据存储空间,并且,该参与设备关闭与本地局域网络的连接,彻底退出该本地局域网络。
需要注意的是,本申请中涉及的下载为广义的下载,不仅包括浏览网页时对网页数据包进行的缓存式下载,还包括将下载的文件存储到本地存储空间的情况(在该情况下可实现从本地存储空间打开该文件并查看)。当该本地局域网络中的各个参与设备对一文件进行存储到本地存储空间的下载时,则该解散指令可只用于通知所有的参与设备本地局域网络解散,无需删除其已下载并存储到本地存储空间的文件。
综上,本实施例提供的一种文件下载装置中,当所述下载分片索引中还包括设备标识信息时,还包括:第五接收模块,用于接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;退出模块,用于依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;网络模块,用于关闭与本地局域网络的连接;删除模块,用于删除本地存储的分片和下载任务。其中,退出请求中携带已下载分片信息时,还包括:第六接收模块,用于接收协调设备发送的传输通知;第二分析模块,用于分析所述传输通知,得到目标设备;传输模块,用于将已下载的分片传输至所述目标设备。采用该装置,实现了参与设备可自由退出,并且将该参与设备已下载的分片转移到其他仍在本地局域网络中的参与设备中,防止出现无用的重复下载,节约本地局域网络中的各个参与设备的外部网络流量。
与上述本申请提供的一种文件下载装置实施例相应的,本申请还提供了一种下载***,该下载***中具有如上述任一实施例所述的应用于协调设备的文件下载装置,以及上述任一实施例所述的应用于参与设备的文件下载装置。
其中,应用于该协调设备的文件下载装置包括:分片模块、下载任务模块、索引生成模块和第一通知模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,当所述外部网络的应用层协议设置有密码时,还包括:获取模块、解析模块和第一分析模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述分片模块包括:划分单元、命名单元和添加单元,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,还包括:第一接收模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述下载任务模块包括:第一分析单元、下载任务单元和传输单元,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,还包括:第二接收模块、加入模块、判断模块,如果有未下载的分片时,所述下载任务模块还用于依据所述未下载的分片生成下载任务并分配至所述新的参与设备,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述加入请求中携带验证码,所述加入模块包括:第二分析单元、比对单元和加入单元,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,当所述下载分片索引中还包括设备标识信息时,还包括:第三接收模块、第二分析模块和第一删除模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述退出请求中携带已下载分片信息时,还包括:第三分析模块、选择模块和第二通知模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,还包括:第二删除模块和解散模块,该文件下载装置的各个组成模块的功能与上述的一种应用于协调设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
其中,应用于该参与设备的文件下载装置包括:第一接收模块、第一分析模块、下载模块、第二接收模块和组合模块,该文件下载装置的各个组成模块的功能与上述的一种应用于参与设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,还包括:发送模块,该文件下载装置的各个组成模块的功能与上述的一种应用于参与设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述加入请求中携带验证码时,还包括:加入模块,该文件下载装置的各个组成模块的功能与上述的一种应用于参与设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,当所述下载分片索引中还包括设备标识信息时,还包括:第五接收模块、退出模块、网络模块和删除模块,该文件下载装置的各个组成模块的功能与上述的一种应用于参与设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
优选的,所述退出请求中携带已下载分片信息,还包括:第六接收模块、第二分析模块和传输模块,该文件下载装置的各个组成模块的功能与上述的一种应用于参与设备的文件下载装置实施例中相应结构的功能一致,本实施例中不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。
Claims (29)
1.一种文件下载方法,其特征在于,所述方法应用于协调设备,所述协调设备与至少两个参与设备位于一本地局域网络,所述方法包括:
依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息,所述待下载的文件由协调设备确定,并由所述本地局域网络中任意设备请求下载;
依据预设的下载分配条件,生成下载任务并分配至各个参与设备,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片;
依据所述下载任务与参与设备的映射关系,生成下载分片索引;
依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
2.根据权利要求1所述的方法,其特征在于,当所述外部网络的应用层协议设置有密码时,所述依据预设的分片规则将待下载的文件划分为至少2个分片之前,还包括:
获取请求下载文件的请求信息;
依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
将所述用户名和密码添加到所述分片的参数信息;
依据所述请求信息得到所述文件的地址;
依据该地址和预设的网络协议分析得到所述文件大小。
3.根据权利要求1所述的方法,其特征在于,所述依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息包括:
依据预设的单位分片数据量对所述文件划分为至少2个分片;
依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。
4.根据权利要求1所述的方法,其特征在于,所述依据预设的下载分配条件,生成下载任务并分配至各个参与设备包括:
依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数,所述设备信息包括可用网络流量和/或通信网络信息;
获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
将所述下载任务传输至所述参与设备。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收到请求加入共同下载所述文件的加入请求时,将请求加入的设备作为新的参与设备加入本地局域网络;
判断所述下载分片索引是否有未下载的分片;
如果有,依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引;
如果没有,所述下载分片索引中的信息与所述新的参与设备分享。
6.根据权利要求5所述的方法,其特征在于,所述加入请求中携带验证码,所述接收到请求加入所述本地局域网络的加入请求包括:
分析所述加入请求,得到所述加入请求中的验证码;
比对所述加入请求中的验证码和预设的验证码,得到比对结果;
当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,执行将请求加入的设备作为新的参与设备加入本地局域网络步骤;
否则,忽略所述请求加入的设备。
7.根据权利要求1所述的方法,其特征在于,当所述下载分片索引中还包括设备标识信息时,还包括:
接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;
依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
删除所述下载分片索引中所述参与设备相关的信息。
8.根据权利要求7所述的方法,其特征在于,所述退出请求中携带已下载分片信息,则所述确定所述下载分片索引中的参与设备之后,所述删除所述下载分片索引中所述参与设备相关的信息之前,还包括:
解析所述退出请求,得到所述参与设备已下载的分片信息;
依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;
生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
9.根据权利要求1所述的方法,其特征在于,还包括:
当解散所述本地局域网络时,删除所述下载分片索引;
生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。
10.一种文件下载方法,其特征在于,所述方法应用于参与设备,所述参与设备与一协调设备位于一本地局域网络,所述方法包括:
通过所述本地局域网络,接收所述协调设备发送的下载任务,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件,所述待下载的文件由协调设备确定,并由所述本地局域网络中任意设备请求下载;
分析所述下载任务,得到分片的参数信息;
依据所述参数信息通过外部网络下载所述分片;
接收所述协调设备传输的通知消息,所述通知消息依据下载分片索引中的内容生成,所述下载分片索引是依据下载任务与参与设备的映射关系生成;
通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
11.根据权利要求10所述的方法,其特征在于,接收协调设备发送的下载任务之前,还包括:
发送请求共同下载所述文件的加入请求,所述加入请求中携带所述参与设备的可用网络流量。
12.根据权利要求11所述的方法,其特征在于,所述加入请求中携带验证码,所述发送请求加入本地局域网络的加入请求之后,接收协调设备发送的下载任务之前,还包括:
当所述协调设备准许加入时,加入本地局域网络开始共同下载。
13.根据权利要求10所述的方法,其特征在于,当所述下载分片索引中还包括设备标识信息时,还包括:
接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;
依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;
关闭与本地局域网络的连接;
删除本地存储的分片和下载任务。
14.根据权利要求13所述的方法,其特征在于,所述退出请求中携带已下载分片信息,所述发送所述退出请求至协调设备之后,所述关闭与本地局域网络的连接之前,还包括:
接收协调设备发送的传输通知;
分析所述传输通知,得到目标设备;
将已下载的分片传输至所述目标设备。
15.一种文件下载装置,其特征在于,所述装置应用于协调设备,所述协调设备与至少两个参与设备位于一本地局域网络,所述装置包括:
分片模块,用于依据预设的划分规则将待下载的文件划分为至少2个分片,确定每个分片的参数信息,所述待下载的文件由协调设备确定,并由所述本地局域网络中任意设备请求下载;
下载任务模块,用于依据预设的下载分配条件,生成下载任务并分配至各个参与设备,所述下载任务中包含至少一个分片的参数信息,所述下载任务用于指示所述参与设备通过外部网络下载分配的分片;
索引生成模块,用于依据所述下载任务与参与设备的映射关系,生成下载分片索引;
第一通知模块,用于依据所述下载分片索引中的内容生成通知消息并传输至所述参与设备;
其中,所述通知消息用于指示所述参与设备通过本地局域网络获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
16.根据权利要求15所述的装置,其特征在于,当所述外部网络的应用层协议设置有密码时,还包括:
获取模块,用于获取请求下载文件的请求信息;
解析模块,用于依据预设的应用层协议解析所述请求信息,得到所述请求信息中携带的用户名和密码;
第一分析模块,用于将所述用户名和密码添加到所述分片的参数信息,依据所述请求信息得到所述文件的地址,并依据该地址和预设的网络协议分析得到所述文件大小。
17.根据权利要求15所述的装置,其特征在于,所述分片模块包括:
划分单元,用于依据预设的单位分片数据量对所述文件划分为至少2个分片;
命名单元,用于依据预设的命名规则对所述分片命名,将所述命名名称添加到所述分片的参数信息;
添加单元,用于将所述文件的地址和预设的单位分片数据量添加到所述分片的参数信息。
18.根据权利要求15所述的装置,其特征在于,所述下载任务模块包括:
第一分析单元,用于依据所述参与设备上报的设备信息,确定所述参与设备下载的目标分片个数,所述设备信息包括可用网络流量和/或通信网络信息;
下载任务单元,用于获取与所述目标分片个数对应的参数信息,生成所述参与设备的下载任务;
传输单元,用于将所述下载任务传输至所述参与设备。
19.根据权利要求15所述的装置,其特征在于,还包括:
第二接收模块,用于接收请求加入共同下载所述文件的加入请求;
加入模块,用于将请求加入的设备作为新的参与设备加入本地局域网络;
判断模块,用于判断所述下载分片索引是否有未下载的分片;
如果有未下载的分片时,所述下载任务模块还用于依据所述未下载的分片生成下载任务并分配至所述新的参与设备,所述下载任务中包含至少一个未下载的分片,并更新所述下载分片索引;
如果没有,触发所述第一通知模块,将所述下载分片索引中的信息与所述新的参与设备分享。
20.根据权利要求19所述的装置,其特征在于,所述加入请求中携带验证码,所述加入模块包括:
第二分析单元,用于分析所述加入请求,得到所述加入请求中的验证码;
比对单元,用于比对所述加入请求中的验证码和预设的验证码,得到比对结果;
加入单元,用于当所述比对结果表示所述加入请求中的验证码和预设的验证码相同时,将请求加入的设备作为新的参与设备加入本地局域网络;
否则,忽略所述请求加入的设备。
21.根据权利要求15所述的装置,其特征在于,当所述下载分片索引中还包括设备标识信息时,还包括:
第三接收模块,用于接收任一参与设备退出所述本地局域网络的退出请求,所述退出请求中携带所述参与设备的设备标识信息;
第二分析模块,用于依据所述请求退出的参与设备的设备标识信息,确定所述下载分片索引中的参与设备;
第一删除模块,用于删除所述下载分片索引中所述参与设备相关的信息。
22.根据权利要求21所述的装置,其特征在于,所述退出请求中携带已下载分片信息时,还包括:
第三分析模块,用于解析所述退出请求,得到所述参与设备已下载的分片信息;
选择模块,用于依据预设的选择规则,选择所述本地局域网络中任一参与设备为目标设备;
第二通知模块,用于生成传输通知,并传输至所述参与设备,所述传输通知用于指示所述参与设备将所述已下载分片传输至目标设备。
23.根据权利要求15所述的装置,其特征在于,还包括:
第二删除模块,用于当解散所述本地局域网络时,删除所述下载分片索引;
解散模块,用于生成解散指令并发送至所有的参与设备,所述解散指令用于指示所述参与设备删除存储的分片和下载任务。
24.一种文件下载装置,其特征在于,所述装置应用于参与设备,所述参与设备与一协调设备位于一本地局域网络,所述装置包括:
第一接收模块,用于通过所述本地局域网络,接收所述协调设备发送的下载任务,所述下载任务中携带至少一个分片的参数信息,至少两个所述分片组成待下载的文件,所述待下载的文件由协调设备确定,并由所述本地局域网络中任意设备请求下载;
第一分析模块,用于分析所述下载任务,得到分片的参数信息;
下载模块,用于依据所述参数信息通过外部网络下载所述分片;
第二接收模块,用于接收所述协调设备传输的通知消息,所述通知消息依据下载分片索引中的内容生成,所述下载分片索引是依据下载任务与参与设备的映射关系生成;
组合模块,用于通过所述本地局域网络,依据所述通知消息获取所述下载分片索引中的其他参与设备下载的分片,并与本地下载的分片组成完整文件。
25.根据权利要求24所述的装置,其特征在于,还包括:
发送模块,用于发送请求共同下载所述文件的加入请求,所述加入请求中携带所述参与设备的可用网络流量。
26.根据权利要求25所述的装置,其特征在于,所述加入请求中携带验证码时,还包括:
加入模块,用于当所述协调设备准许加入时,加入本地局域网络开始共同下载。
27.根据权利要求24所述的装置,其特征在于,当所述下载分片索引中还包括设备标识信息时,还包括:
第五接收模块,用于接收退出指令,所述退出指令依据用户在所述参与设备执行退出操作生成;
退出模块,用于依据所述退出指令生成退出所述本地局域网络的退出请求,并发送所述退出请求至协调设备,所述退出请求中携带所述参与设备的设备标识信息;
网络模块,用于关闭与本地局域网络的连接;
删除模块,用于删除本地存储的分片和下载任务。
28.根据权利要求27所述的装置,其特征在于,所述退出请求中携带已下载分片信息,还包括:
第六接收模块,用于接收协调设备发送的传输通知;
第二分析模块,用于分析所述传输通知,得到目标设备;
传输模块,用于将已下载的分片传输至所述目标设备。
29.一种下载***,其特征在于,包括:如权利要求15-23任一项所述的应用于协调设备的文件下载装置和如权利要求24-28任一项所述的应用于参与设备的文件下载装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410474641.0A CN105491087B (zh) | 2014-09-17 | 2014-09-17 | 一种文件下载方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410474641.0A CN105491087B (zh) | 2014-09-17 | 2014-09-17 | 一种文件下载方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491087A CN105491087A (zh) | 2016-04-13 |
CN105491087B true CN105491087B (zh) | 2019-07-26 |
Family
ID=55677797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410474641.0A Active CN105491087B (zh) | 2014-09-17 | 2014-09-17 | 一种文件下载方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491087B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721618B (zh) * | 2016-05-04 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种无线下载方法及装置 |
CN108809899A (zh) * | 2017-05-02 | 2018-11-13 | 四川秘无痕信息安全技术有限责任公司 | 一种针对ftp数据包进行核查的方法 |
CN109729519B (zh) * | 2019-02-11 | 2021-02-02 | Oppo广东移动通信有限公司 | 数据下载的方法及相关装置 |
CN110601960B (zh) * | 2019-09-09 | 2020-08-21 | 珠海格力电器股份有限公司 | 选型报告共享方法、服务器、终端和*** |
CN110825402B (zh) * | 2019-09-26 | 2021-06-22 | 华为技术有限公司 | 一种下载数据包的方法及装置 |
CN112769887B (zh) * | 2019-11-06 | 2023-05-09 | 佛山市云米电器科技有限公司 | 文件下载方法、***、设备及计算机可读存储介质 |
CN114443581B (zh) * | 2022-04-11 | 2022-06-17 | 苏州浪潮智能科技有限公司 | 一种下载控制方法、装置、设备及存储介质 |
CN115102950A (zh) * | 2022-06-30 | 2022-09-23 | 京东方科技集团股份有限公司 | 一种文件下载方法、计算机设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
CN101184110A (zh) * | 2007-12-19 | 2008-05-21 | 深圳市迅雷网络技术有限公司 | 一种资源下载的方法、***和装置 |
CN102271146A (zh) * | 2010-06-04 | 2011-12-07 | 中兴通讯股份有限公司 | 一种多个人网设备协同下载的方法和*** |
CN102457492A (zh) * | 2010-10-20 | 2012-05-16 | ***通信有限公司 | 流媒体文件的协同传输方法、***以及设备 |
CN103634336A (zh) * | 2012-08-21 | 2014-03-12 | 宏碁股份有限公司 | 文件协同下载***、装置及方法 |
CN103731487A (zh) * | 2013-12-26 | 2014-04-16 | 星云融创(北京)信息技术有限公司 | 一种资源文件的下载方法、装置、***及路由器 |
-
2014
- 2014-09-17 CN CN201410474641.0A patent/CN105491087B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
CN101184110A (zh) * | 2007-12-19 | 2008-05-21 | 深圳市迅雷网络技术有限公司 | 一种资源下载的方法、***和装置 |
CN102271146A (zh) * | 2010-06-04 | 2011-12-07 | 中兴通讯股份有限公司 | 一种多个人网设备协同下载的方法和*** |
CN102457492A (zh) * | 2010-10-20 | 2012-05-16 | ***通信有限公司 | 流媒体文件的协同传输方法、***以及设备 |
CN103634336A (zh) * | 2012-08-21 | 2014-03-12 | 宏碁股份有限公司 | 文件协同下载***、装置及方法 |
CN103731487A (zh) * | 2013-12-26 | 2014-04-16 | 星云融创(北京)信息技术有限公司 | 一种资源文件的下载方法、装置、***及路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN105491087A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105491087B (zh) | 一种文件下载方法、装置和电子设备 | |
KR102164457B1 (ko) | 다중 무선 억세스를 위한 전자 장치 및 그 방법 | |
CN106993054A (zh) | 文件分发方法、节点及*** | |
EP2924952A1 (en) | Data synchronization method and device | |
CN103812930B (zh) | 一种资源调度的方法及装置 | |
EP2901806B1 (en) | Methods and systems for dynamic media content output for mobile devices | |
CN107483627A (zh) | 一种文件分发、下载方法、分发服务器、客户端及*** | |
CN110035004B (zh) | 一种用户名片分享方法、好友添加方法和相关装置 | |
EP3085010B1 (en) | Presence-based content sharing | |
CN106921717A (zh) | 一种基于移动终端的消息推送方法及*** | |
CN110740149A (zh) | 通信方法和装置 | |
CN103188305B (zh) | 一种多线程断点续传方法及*** | |
CN109428694A (zh) | 一种媒体接入控制层复用的方法及设备 | |
CN103841008A (zh) | 一种基于自媒体渠道的信息展示平台及信息展示方法 | |
Kim et al. | Adaptive video streaming for device-to-device mobile platforms | |
CN108712320A (zh) | 消息推送方法及装置 | |
CN107925894A (zh) | 用于信道安全性的***和方法 | |
JP2017531336A (ja) | トランキング通信サービス処理方法、コアネットワーク装置、及びue、記憶媒体 | |
JP6415613B2 (ja) | 情報配信装置、プッシュ通知方法、及び、コンピュータプログラム | |
CN104284320B (zh) | 用户设备直连通信的资源分配方法和设备 | |
CN105792372A (zh) | 一种数据通信的方法、装置及*** | |
JP2018527812A (ja) | Mcpttユーザとmcpttグループとの間の関連性関係を変更する方法、装置、及びシステム | |
CN109428781A (zh) | 会话用量监测控制方法、服务器及存储介质 | |
CN104869665A (zh) | 控制网络连接的方法、路由器及移动设备 | |
CN103546493A (zh) | 一种跨设备通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |