一种下载数据包的方法及装置制造方法及图纸

技术编号:23399588 阅读:25 留言:0更新日期:2020-02-22 11:54
一种下载数据包的方法及装置,该方法包括:第一设备向x个第二设备分别发送第一请求消息,以及向N‑x个第二设备分别发送第二请求消息;第一设备接收来自于N个第二设备的N个能力信息;第一设备基于N个能力信息,确定分片策略;第一设备基于分片策略向M个第二设备分别发送对应的分片下载请求消息;第一设备接收来自于M个第二设备的M个数据包片段。因此,第一设备可以将M个第二设备的闲置能力利用起来实现数据包快速下载,可以有效缩短数据包下载时间。

A method and device for downloading data packets

【技术实现步骤摘要】
一种下载数据包的方法及装置
本申请涉及终端领域,尤其涉及一种下载数据包的方法及装置。
技术介绍
目前,在空中下载(over-the-air,OTA)
,设备侧发出系统升级申请或者服务器侧推送系统升级要求,设备侧决定是否将系统升级至最新版本,若选择升级则与服务器建立传输连接下载最新升级包。但是,随着每次更新的系统版本承载的新功能越来越多,升级包尺寸随着版本变更越来越大,动辄以GB计算,因此,下载升级包的时间占用了升级时间中的绝大部分的时间。虽然在设备正常使用时可以采取后台下载升级包的策略,但是当设备故障无法正常使用时,则会由于全包镜像的下载时间过长影响用户体验。此外,在升级高峰期,服务器侧虽会增加服务器数目和传输带宽,但是仍不可避免地要采取流量管控手段,因此,即使设备侧通过一些优化策略(例如增加联网带宽,多线程或多进程并发下载等)期望提升升级包下载速度,也可能未必能够有效提升下载速度,造成升级包下载时间过长。
技术实现思路
本申请实施例提供一种下载数据包的方法及装置,用于解决升级包下载时间过长的问题。本申请实施例提供一种下载数据包的方法,该方法包括:第一设备向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,所述第一请求消息用于请求所述x个第二设备通过移动网络协助所述第一设备下载数据包,所述第二请求消息用于请求所述N-x个第二设备通过无线网络协助所述第一设备下载数据包,x≤N,x和N为正整数;所述第一设备接收来自于所述N个第二设备的N个能力信息,所述N个能力信息与所述N个第二设备一一对应;所述第一设备基于所述N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N;所述第一设备基于所述分片策略向所述M个第二设备分别发送对应的分片下载请求消息;其中,第i个第二设备对应的分片下载请求消息指示第i个第二设备对应的数据包片段,i为正整数,i≤M;所述第一设备接收来自于所述M个第二设备的所述M个数据包片段。因此,第一设备可以将M个第二设备的闲置能力利用起来实现数据包快速下载,可以有效缩短数据包下载时间。在一种可能的设计中,所述第i个能力信息包括所述第i个第二设备的剩余存储空间、所述第i个第二设备的网络带宽、所述第i个第二设备的处理能力中的至少一种。可选的,能力信息还可以包括计算能力和存储的I/O速度等。在一种可能的设计中,所述M个第二设备分别对应的能力信息中的每个能力信息中的网络带宽大于等于预设最小网络带宽阈值,和/或剩余存储空间大于等于预设最小存储空间阈值。采用上述设计可以保证协助第一设备下载数据包的第二设备具备较强的能力,进而能够有效提升数据包的下载速度,缩短数据包的下载时间。在一种可能的设计中,所述M个数据包片段满足以下条件:Max(s1/B1,s2/B2,…,sM/BM)+(S-s0)/B’<(S-s0)/B;s1+s2+…+sM=(S-s0),si≤Si;其中,所述第一设备下载的数据包片段的大小为s0,s1、s2、……、sM代表所述M个数据包片段,S1、S2、……、SM代表所述M个第二设备分别对应的最大剩余存储空间,B1、B2、……、BM代表所述M个第二设备分别对应的网络带宽,S代表所述数据包的大小,B代表所述第一设备的网络带宽,B’代表所述M个第二设备分别将对应的数据包片段传输至所述第一设备的传输速度的平均值。采用上述设计,通过上述两个约束条件可以迭代得到最优的si值,能够有效提升数据包的下载速度,缩短数据包的下载时间。在一种可能的设计中,还包括:在所述第一设备接收来自于所述N个第二设备的N个能力信息之后,所述第一设备通过显示屏显示所述N个能力信息;所述第一设备接收用户指令,所述用户指令指示在所述N个第二设备中选择的M个第二设备。采用上述设计,可以实现用户自主选择第二设备。在一种可能的设计中,还包括:在所述第一设备接收来自于所述N个第二设备的N个能力信息之后,所述第一设备通过显示屏显示M个能力信息;所述M个能力信息为所述第一设备基于预设规则从所述N个能力信息中筛选出来的;所述第一设备接收用户指令,所述用户指令指示同意所述第一设备选择的M个第二设备,所述M个第二设备与所述M个能力信息一一对应。采用上述设计,第一设备可以为用户提供最优的第二设备组合。在一种可能的设计中,还包括:所述第一设备接收来自于所述第i个第二设备的第一通知消息,所述第一通知消息用于通知所述第一设备所述第i个第二设备当前已下载的数据包片段的大小;和/或所述第一设备接收来自于所述第i个第二设备的第二通知消息,所述第二通知消息用于通知所述第一设备所述第i个第二设备无法继续下载所述第i个第二设备对应的数据包片段。采用上述设计,第一设备可以通过第一通知消息及时获知第二设备当前的下载进度,或通过第二通知消息及时获知故障第二设备。在一种可能的设计中,还包括:在所述第一设备接收来自于所述M个第二设备的所述M个数据包片段之后,若所述第一设备从服务器下载数据包片段,则所述第一设备将所述第一设备下载的数据包片段和所述M个数据包片段合成数据包;若所述第一设备未从服务器下载所述数据包的任一数据包片段,则所述第一设备将所述M个数据包片段合成数据包。采用上述设计,第一设备可以根据不同场景将数据包片段合成数据包。在一种可能的设计中,还包括:在所述第一设备合成数据包之后,所述第一设备基于合成后的数据包生成校验信息,并将所述校验信息发送至所述服务器;所述第一设备接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。采用上述设计,第一设备可以校验合成后的数据包的版本以及完整性。第二方面,本申请实施例提供一种下载数据包的方法,该方法包括:第二设备接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述第二设备通过移动网络协助所述第一设备下载数据包;所述第二设备向所述第一设备发送所述第二设备的能力信息;所述第二设备接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述第二设备对应的数据包片段;所述第二设备通过移动网络从服务器下载所述数据包片段,将所述数据包片段传输至所述第一设备。采用上述方法,第二设备可以协助第一设备实现加速数据包的下载,缩短数据包下载时间。在一种可能的设计中,还包括:在第二设备接收来自于第一设备的第一请求消息之后,所述第二设备通过显示屏显示第一信息,所述第一信息用于征求用户意见是否同意所述第一请求消息;所述第二设备接收第一用户指令,所述第一用户指令指示同意所述第一请求消息。采用上述设计,第二设备可以配置协助下载功能,并征得用户同意是否开启该功能。在一种可能的设计中,所述第二设备的能力信息包括所述第二设备的剩余存储空间、所述第二设备的网络带宽、所述第二设备的处理能力中的至少一种。可选的,能本文档来自技高网...

【技术保护点】
1.一种下载数据包的方法,其特征在于,该方法包括:/n第一设备向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,所述第一请求消息用于请求所述x个第二设备通过移动网络协助所述第一设备下载数据包,所述第二请求消息用于请求所述N-x个第二设备通过无线网络协助所述第一设备下载数据包,x≤N,x和N为正整数;/n所述第一设备接收来自于所述N个第二设备的N个能力信息,所述N个能力信息与所述N个第二设备一一对应;/n所述第一设备基于所述N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N;/n所述第一设备基于所述分片策略向所述M个第二设备分别发送对应的分片下载请求消息;其中,第i个第二设备对应的分片下载请求消息指示第i个第二设备对应的数据包片段,i为正整数,i≤M;/n所述第一设备接收来自于所述M个第二设备的所述M个数据包片段。/n

【技术特征摘要】
1.一种下载数据包的方法,其特征在于,该方法包括:
第一设备向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,所述第一请求消息用于请求所述x个第二设备通过移动网络协助所述第一设备下载数据包,所述第二请求消息用于请求所述N-x个第二设备通过无线网络协助所述第一设备下载数据包,x≤N,x和N为正整数;
所述第一设备接收来自于所述N个第二设备的N个能力信息,所述N个能力信息与所述N个第二设备一一对应;
所述第一设备基于所述N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N;
所述第一设备基于所述分片策略向所述M个第二设备分别发送对应的分片下载请求消息;其中,第i个第二设备对应的分片下载请求消息指示第i个第二设备对应的数据包片段,i为正整数,i≤M;
所述第一设备接收来自于所述M个第二设备的所述M个数据包片段。


2.如权利要求1所述的方法,其特征在于,所述第i个能力信息包括所述第i个第二设备的剩余存储空间、所述第i个第二设备的网络带宽、所述第i个第二设备的处理能力中的至少一种。


3.如权利要求2所述的方法,其特征在于,所述M个第二设备分别对应的能力信息中的每个能力信息中的网络带宽大于等于预设最小网络带宽阈值,和/或剩余存储空间大于等于预设最小存储空间阈值。


4.如权利要求2或3所述的方法,其特征在于,所述M个数据包片段满足以下条件:
Max(s1/B1,s2/B2,…,sM/BM)+(S-s0)/B’<(S-s0)/B;
s1+s2+…+sM=(S-s0),si≤Si;
其中,所述第一设备下载的数据包片段的大小为s0,s1、s2、……、sM代表所述M个数据包片段,S1、S2、……、SM代表所述M个第二设备分别对应的最大剩余存储空间,B1、B2、……、BM代表所述M个第二设备分别对应的网络带宽,S代表所述数据包的大小,B代表所述第一设备的网络带宽,B’代表所述M个第二设备分别将对应的数据包片段传输至所述第一设备的传输速度的平均值。


5.如权利要求1-4任一项所述的方法,其特征在于,还包括:
在所述第一设备接收来自于所述N个第二设备的N个能力信息之后,所述第一设备通过显示屏显示所述N个能力信息;
所述第一设备接收用户指令,所述用户指令指示在所述N个第二设备中选择的M个第二设备。


6.如权利要求1-4任一项所述的方法,其特征在于,还包括:
在所述第一设备接收来自于所述N个第二设备的N个能力信息之后,所述第一设备通过显示屏显示M个能力信息;所述M个能力信息为所述第一设备基于预设规则从所述N个能力信息中筛选出来的;
所述第一设备接收用户指令,所述用户指令指示同意所述第一设备选择的M个第二设备,所述M个第二设备与所述M个能力信息一一对应。


7.如权利要求1-6任一项所述的方法,其特征在于,还包括:
所述第一设备接收来自于所述第i个第二设备的第一通知消息,所述第一通知消息用于通知所述第一设备所述第i个第二设备当前已下载的数据包片段的大小;和/或,
所述第一设备接收来自于所述第i个第二设备的第二通知消息,所述第二通知消息用于通知所述第一设备所述第i个第二设备无法继续下载所述第i个第二设备对应的数据包片段。


8.如权利要求1-7任一项所述的方法,其特征在于,在所述第一设备接收来自于所述M个第二设备的所述M个数据包片段之后,还包括:
若所述第一设备从服务器下载数据包片段,则所述第一设备将所述第一设备下载的数据包片段和所述M个数据包片段合成数据包;
若所述第一设备未从服务器下载所述数据包的任一数据包片段,则所述第一设备将所述M个数据包片段合成数据包。


9.如权利要求8所述的方法,其特征在于,还包括:
在所述第一设备合成数据包之后,所述第一设备基于合成后的数据包生成校验信息,并将所述校验信息发送至所述服务器;
所述第一设备接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。


10.一种下载数据包的方法,其特征在于,该方法包括:
第二设备接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述第二设备通过移动网络协助所述第一设备下载数据包;
所述第二设备向所述第一设备发送所述第二设备的能力信息;
所述第二设备接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述第二设备对应的数据包片段;
所述第二设备通过移动网络从服务器下载所述数据包片段,将所述数据包片段传输至所述第一设备。


11.如权利要求10所述的方法,其特征在于,在第二设备接收来自于第一设备的第一请求消息之后,还包括:
所述第二设备通过显示屏显示第一信息,所述第一信息用于征求用户意见是否同意所述第一请求消息;
所述第二设备接收第一用户指令,所述第一用户指令指示同意所述第一请求消息。


12.如权利要求10或11所述的方法,其特征在于,所述第二设备的能力信息包括所述第二设备的剩余存储空间、所述第二设备的网络带宽、所述第二设备的处理能力中的至少一种。


13.如权利要求10-12任一项所述的方法,其特征在于,还包括:
所述第二设备每隔预设时长向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述第二设备当前已下载的数据包片段的大小;或
所述第二设备每当下载完成所述数据包片段的预设比例时向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述第二设备当前已下载的数据包片段的大小。


14.如权利要求10-13任一项所述的方法,其特征在于,还包括:
若所述第二设备在下载所述数据包片段的过程中确定无法继续下载所述数据包片段,则所述第二设备向所述第一设备发送第二通知消息,所述第二通知消息用于通知所述第一设备所述第二设备无法继续下载所述数据包片段。


15.一种下载数据包的装置,其特征在于,该装置包括:
发送单元,用于向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,所述第一请求消息用于请求所述x个第二设备通过移动网络协助所述装置下载数据包,所述第二请求消息用于请求所述N-x个第二设备通过无线网络协助所述装置下载数据包...

【专利技术属性】
技术研发人员:祁德春张亮鲁志军郝庆涛余亮曾智
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1