System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据下载,特别是涉及一种自适应下载方法、一种自适应下载装置、一种电子设备以及一种计算机可读介质。
技术介绍
1、随着互联网的飞速发展,网络下载已经成为用户获取网络资源的主要手段之一。为了满足不同用户的需求,市面上涌现出了一系列下载程序,如迅雷(thunder)、比特彗星(bitcomet)、电驴(emule)、adm等。然而,这些传统的下载程序在功能和应用范围上存在一定的局限性,比如只能适应于特定的操作系统平台,如windows、linux或android等。这限制了用户在不同设备或系统之间实现无缝下载体验的可能性,增加了用户的使用成本和复杂度。并且这些下载程序通常只能支持特定的下载协议,例如某些下载程序只能下载基于bittorrent协议的文件,而另一些则只能处理http或ftp协议。这种局限性导致用户在面对多种格式或来源的文件时,需要安装多个不同的下载程序,降低了下载效率和用户体验。进一步地,这些传统下载程序在下载模式上通常较为单一,不支持多线程同步下载。这意味着在下载大型文件时,用户需要等待较长时间,且下载过程容易因网络波动而中断,大大降低了下载的稳定性和效率。此外,在传输过程中,这些下载程序往往缺乏必要的加密技术,导致用户数据在传输过程中容易被窃取或篡改。特别是在处理敏感信息或重要数据时,这种安全隐患会给用户带来极大的风险。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种自适应下载方法和相应的一种自适应
2、本专利技术公开了一种自适应下载方法,所述方法包括:
3、当用户设备通过自适应下载接口发起下载请求时,识别用户设备当前当前运行的操作系统类型,确定目标操作系统;
4、从预定义的下载模块库中匹配和加载所述目标操作系统对应的目标下载模块;每个操作系统类型具有对应的下载模块;
5、通过所述目标下载模块解析下载请求,确定将用于下载目标文件的目标下载协议;
6、根据所述目标下载协议建立与目标数据源的通信连接,并获取目标文件数据流;
7、根据目标下载协议和目标文件数据流的总大小处理所述目标文件数据流得到多个文件片段;
8、通过多线程将所述多个文件片段加密传输到用户设备,并根据目标下载协议拼接所述多个文件片段,得到所述目标文件。
9、可选地,当用户设备通过自适应下载接口发起下载请求时,识别用户设备运行的操作系统类型,确定目标操作系统,包括:
10、针对不同操作系统,检测操作系统中特有的系统函数或系统调用;
11、根据特有的系统函数或系统调用的检测结果,识别出用户设备当前运行的操作系统类型,确定目标操作系统。
12、可选地,通过所述目标下载模块解析下载请求,确定将用于下载目标文件的目标下载协议,包括:
13、解析所述下载请求,得到所述下载请求携带的下载协议类型特征;
14、根据所述下载协议类型特征,确定将用于下载目标文件的目标下载协议。
15、可选地,通过多线程将所述多个文件片段加密传输到用户设备,包括:
16、s1,将多个文件片段分配给多个线程,其中每个线程负责一个或多个文件片段的加密传输任务;
17、s2,每个线程执行所分配到的文件片段的加密传输任务;
18、s3,在一个线程完成所分配到的加密传输任务后,完成加密传输任务的线程检测是否存在其他线程尚未完成所分配到的加密传输任务;
19、s4,对检测到的首个尚未完成所分配到的加密传输任务的线程,所述完成加密传输任务的线程获取未完成文件片段的剩余数据的一半,并加密传输到用户设备;
20、s5,重复步骤s3和s4,直到所有文件片段均被加密传输到用户设备为止。
21、可选地,通过多线程将所述多个文件片段加密传输到用户设备,包括:
22、在开始下载所述多个文件片段之前,在本地创建一个临时存储文件,和一个元数据文件;所述临时存储文件用于存储未完成文件片段的已下载数据;所述元数据文件用于记录文件片段的文件路径、文件大小、下载进度和下载状态;
23、在某一线程下载过程中,将分配到的文件片段的已下载数据实时保存到临时存储文件中,当因网络异常中断下载时,停止更新所述临时存储文件,并实时更新元数据文件,记录当前的已下载大小和下载状态;
24、在网络恢复后,线程读取和对比元数据文件中的文件路径、文件大小和下载进度,切片下载未完成的文件片段数据。
25、可选地,所述方法还包括:
26、当某一线程因非网络异常中断下载时,所述线程停止更新所述临时存储文件,并实时更新元数据文件,记录当前的已下载大小和下载状态;
27、其他已完成下载的线程读取和对比元数据文件中的文件路径、文件大小和下载进度,切片下载未完成的文件片段数据,并在下载过程中也实时更新所述临时存储文件和元数据文件。
28、可选地,所述文件片段分别携带下载类型符和唯一标识符,根据目标下载协议拼接所述多个文件片段,得到所述目标文件,包括:
29、根据每个文件片段的下载类型符确定对应的目标下载协议;
30、根据所述对应的目标下载协议的拼接策略和文件片段的唯一标识符拼接所述多个文件片段,得到所述目标文件。
31、本专利技术还公开了一种自适应下载装置,所述装置包括:
32、系统环境识别模块,用于当用户设备通过自适应下载接口发起下载请求时,识别用户设备当前当前运行的操作系统类型,确定目标操作系统;
33、下载模块匹配模块,用于从预定义的下载模块库中匹配和加载所述目标操作系统对应的目标下载模块;每个操作系统类型具有对应的下载模块;
34、下载协议确定模块,用于通过所述目标下载模块解析下载请求,确定将用于下载目标文件的目标下载协议;
35、目标文件数据流获取模块,用于根据所述目标下载协议建立与目标数据源的通信连接,并获取目标文件数据流;
36、目标文件分割模块,用于根据目标下载协议和目标文件数据流的总大小处理所述目标文件数据流得到多个文件片段;
37、下载拼接模块,用于通过多线程将所述多个文件片段加密传输到用户设备,并根据目标下载协议拼接所述多个文件片段,得到所述目标文件。
38、可选地,所述系统环境识别模块,包括:
39、系统环境检测子模块,用于针对不同操作系统,检测操作系统中特有的系统函数或系统调用;
40、系统环境识别子模块,用于根据特有的系统函数或系统调用的检测结果,识别出用户设备当前运行的操作系统类型,确定目标操作系统。
41、可选地,所述下载协议确定模块,包括:
42、下载请求解析子模块,用于解析所述下载请求,得到所述下载请求携带的下载协议类型特征;
...【技术保护点】
1.一种自适应下载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当用户设备通过自适应下载接口发起下载请求时,识别用户设备运行的操作系统类型,确定目标操作系统,包括:
3.根据权利要求1所述的方法,其特征在于,通过所述目标下载模块解析下载请求,确定将用于下载目标文件的目标下载协议,包括:
4.根据权利要求1所述的方法,其特征在于,通过多线程将所述多个文件片段加密传输到用户设备,包括:
5.根据权利要求1所述的方法,其特征在于,通过多线程将所述多个文件片段加密传输到用户设备,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述文件片段分别携带下载类型符和唯一标识符,根据目标下载协议拼接所述多个文件片段,得到所述目标文件,包括:
8.一种自适应下载装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的自适应下载方法。
...【技术特征摘要】
1.一种自适应下载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当用户设备通过自适应下载接口发起下载请求时,识别用户设备运行的操作系统类型,确定目标操作系统,包括:
3.根据权利要求1所述的方法,其特征在于,通过所述目标下载模块解析下载请求,确定将用于下载目标文件的目标下载协议,包括:
4.根据权利要求1所述的方法,其特征在于,通过多线程将所述多个文件片段加密传输到用户设备,包括:
5.根据权利要求1所述的方法,其特征在于,通过多线程将所述多个文件片段加密传输到用户设备,包括:
6.根据权利...
【专利技术属性】
技术研发人员:许统洭,卢毅强,何玉婷,
申请(专利权)人:广东天波信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。