CN110825402A - 一种下载数据包的方法及装置 - Google Patents

一种下载数据包的方法及装置 Download PDF

Info

Publication number
CN110825402A
CN110825402A CN201910920129.7A CN201910920129A CN110825402A CN 110825402 A CN110825402 A CN 110825402A CN 201910920129 A CN201910920129 A CN 201910920129A CN 110825402 A CN110825402 A CN 110825402A
Authority
CN
China
Prior art keywords
data packet
devices
pieces
fragment
downloading
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.)
Granted
Application number
CN201910920129.7A
Other languages
English (en)
Other versions
CN110825402B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910920129.7A priority Critical patent/CN110825402B/zh
Publication of CN110825402A publication Critical patent/CN110825402A/zh
Priority to PCT/CN2020/114597 priority patent/WO2021057503A1/zh
Application granted granted Critical
Publication of CN110825402B publication Critical patent/CN110825402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种下载数据包的方法及装置,该方法包括:第一设备向x个第二设备分别发送第一请求消息,以及向N‑x个第二设备分别发送第二请求消息;第一设备接收来自于N个第二设备的N个能力信息;第一设备基于N个能力信息,确定分片策略;第一设备基于分片策略向M个第二设备分别发送对应的分片下载请求消息;第一设备接收来自于M个第二设备的M个数据包片段。因此,第一设备可以将M个第二设备的闲置能力利用起来实现数据包快速下载,可以有效缩短数据包下载时间。

Description

一种下载数据包的方法及装置
技术领域
本申请涉及终端领域,尤其涉及一种下载数据包的方法及装置。
背景技术
目前,在空中下载(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个数据包片段合成数据包。
采用上述设计,第一设备可以根据不同场景将数据包片段合成数据包。
在一种可能的设计中,还包括:在所述第一设备合成数据包之后,所述第一设备基于合成后的数据包生成校验信息,并将所述校验信息发送至所述服务器;所述第一设备接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。
采用上述设计,第一设备可以校验合成后的数据包的版本以及完整性。
第二方面,本申请实施例提供一种下载数据包的方法,该方法包括:第二设备接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述第二设备通过移动网络协助所述第一设备下载数据包;所述第二设备向所述第一设备发送所述第二设备的能力信息;所述第二设备接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述第二设备对应的数据包片段;所述第二设备通过移动网络从服务器下载所述数据包片段,将所述数据包片段传输至所述第一设备。
采用上述方法,第二设备可以协助第一设备实现加速数据包的下载,缩短数据包下载时间。
在一种可能的设计中,还包括:在第二设备接收来自于第一设备的第一请求消息之后,所述第二设备通过显示屏显示第一信息,所述第一信息用于征求用户意见是否同意所述第一请求消息;所述第二设备接收第一用户指令,所述第一用户指令指示同意所述第一请求消息。
采用上述设计,第二设备可以配置协助下载功能,并征得用户同意是否开启该功能。
在一种可能的设计中,所述第二设备的能力信息包括所述第二设备的剩余存储空间、所述第二设备的网络带宽、所述第二设备的处理能力中的至少一种。
可选的,能力信息还可以包括计算能力和存储的I/O速度等。
在一种可能的设计中,还包括:所述第二设备每隔预设时长向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述第二设备当前已下载的数据包片段的大小;或所述第二设备每当下载完成所述数据包片段的预设比例时向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述第二设备当前已下载的数据包片段的大小。
采用上述设计,第二设备可以及时通知第一设备当前下载进度。
在一种可能的设计中,还包括:若所述第二设备在下载所述数据包片段的过程中确定无法继续下载所述数据包片段,则所述第二设备向所述第一设备发送第二通知消息,所述第二通知消息用于通知所述第一设备所述第二设备无法继续下载所述数据包片段。
采用上述设计,第二设备可以及时通知第一设备第二设备发生故障。
第三方面,本申请实施例提供一种下载数据包的装置,该装置包括:
发送单元,用于向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个数据包片段。
在一种可能的设计中,所述第i个能力信息包括所述第i个第二设备的剩余存储空间、所述第i个第二设备的网络带宽、所述第i个第二设备的处理能力中的至少一种。
在一种可能的设计中,所述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个第二设备分别将对应的数据包片段传输至所述装置的传输速度的平均值。
在一种可能的设计中,所述装置还包括:显示单元,用于:在接收来自于所述N个第二设备的N个能力信息之后,通过显示屏显示所述N个能力信息;所述接收单元,还用于接收用户指令,所述用户指令指示在所述N个第二设备中选择的M个第二设备。
在一种可能的设计中,所述装置还包括:显示单元,用于:在接收来自于所述N个第二设备的N个能力信息之后,通过显示屏显示M个能力信息;所述M个能力信息为所述处理单元基于预设规则从所述N个能力信息中筛选出来的;所述接收单元,还用于接收用户指令,所述用户指令指示同意所述装置选择的M个第二设备,所述M个第二设备与所述M个能力信息一一对应。
在一种可能的设计中,所述接收单元,还用于接收来自于所述第i个第二设备的第一通知消息,所述第一通知消息用于通知所述装置所述第i个第二设备当前已下载的数据包片段的大小;和/或,所述接收单元,还用于接收来自于所述第i个第二设备的第二通知消息,所述第二通知消息用于通知所述装置所述第i个第二设备无法继续下载所述第i个第二设备对应的数据包片段。
在一种可能的设计中,所述处理单元,还用于:在接收来自于所述M个第二设备的所述M个数据包片段之后,若所述接收单元从服务器下载数据包片段,则将所述接收单元下载的数据包片段和所述M个数据包片段合成数据包;所述处理单元,还用于:在接收来自于所述M个第二设备的所述M个数据包片段之后,若所述接收单元未从服务器下载所述数据包的任一数据包片段,则将所述M个数据包片段合成数据包。
在一种可能的设计中,所述处理单元,还用于:在合成数据包之后,所述处理单元于合成后的数据包生成校验信息,并通过所述发送单元将所述校验信息发送至所述服务器;所述接收单元,还用于接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。
第四方面,本申请实施例提供一种下载数据包的装置,该装置包括:
接收单元,用于接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述装置通过移动网络协助所述第一设备下载数据包;发送单元,用于向所述第一设备发送所述装置的能力信息;所述接收单元,还用于接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述装置对应的数据包片段;所述接收单元,还用于通过移动网络从服务器下载所述数据包片段,通过所述发送单元将所述数据包片段传输至所述第一设备。
在一种可能的设计中,所述装置还包括:显示单元,用于在接收来自于第一设备的第一请求消息之后,通过显示屏显示第一信息,所述第一信息用于征求用户意见是否同意所述第一请求消息;所述接收单元,还用于接收第一用户指令,所述第一用户指令指示同意所述第一请求消息。
在一种可能的设计中,所述装置的能力信息包括所述装置的剩余存储空间、所述装置的网络带宽、所述装置的处理能力中的至少一种。
在一种可能的设计中,所述发送单元,还用于每隔预设时长向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述装置当前已下载的数据包片段的大小;或所述发送单元,还用于每当下载完成所述数据包片段的预设比例时向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述装置当前已下载的数据包片段的大小。
在一种可能的设计中,所述发送单元,还用于若所述处理单元在下载所述数据包片段的过程中确定无法继续下载所述数据包片段,向所述第一设备发送第二通知消息,所述第二通知消息用于通知所述第一设备所述装置无法继续下载所述数据包片段。
第五方面,本申请实施例提供的一种设备,包括:一个或多个处理器和存储器,其中存储器中存储有程序指令,当程序指令被设备执行时,实现本申请实施例上述第一方面以及第一方面涉及的任一可能设计的方法,或实现本申请实施例上述第二方面以及第二方面涉及的任一可能设计的方法。
第六方面,本申请实施例提供的一种芯片,所述芯片与设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现本申请实施例上述第一方面以及第一方面涉及的任一可能设计的方法,或实现本申请实施例上述第二方面以及第二方面涉及的任一可能设计的方法。
第七方面,本申请实施例的一种计算机存储介质,该计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得设备执行本申请实施例上述第一方面以及第一方面涉及的任一可能设计的方法或实现本申请实施例上述第二方面以及第二方面涉及的任一可能设计的方法。
第八方面,本申请实施例的一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本申请实施例上述第一方面以及第一方面涉及的任一可能设计的方法或实现本申请实施例上述第二方面以及第二方面涉及的任一可能设计的方法。
另外,第三方面至第八方面中任一种可能设计方式所带来的技术效果可参见方法部分相关中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请中应用场景示意图;
图2为本申请中设备A下载最新版本的升级包的示意图;
图3为本申请中手机100的结构示意图;
图4为本申请中下载数据包的方法的流程图;
图5为本申请中协助设备A从服务器下载数据包的示意图之一;
图6为本申请中协助设备A从服务器下载数据包的示意图之二;
图7(a)为本申请中协助下载功能的状态示意图之一;
图7(b)为本申请中协助下载功能的状态示意图之二;
图8(a)为本申请中用于征求用户意见是否同意通过移动网络协助第一设备下载数据包的界面示意图之一;
图8(b)为本申请中用于征求用户意见是否同意所有通过移动网络协助第一设备下载数据包的界面示意图之二;
图8(c)为本申请中用于征求用户意见是否同意所有通过移动网络协助其他设备下载数据包的界面示意图;
图9为本申请中N个能力信息的界面示意图;
图10为本申请中协助下载子系统的模块示意图;
图11为本申请中的一种装置的结构示意图;
图12为本申请中的一种设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
本申请实施例可以应用于第一设备正常使用时下载数据包的场景,或者第一设备无法正常使用时需要下载全镜像升级包进行修复的场景。例如,当手机镜像因为刷机、随机存取存储器(random access memory,RAM)跳变、只读存储器(read-only memory)跳变、第三方应用误删文件等原因导致手机无法开机或者开机无法正常使用时,则需要下载全镜像升级包进行修复。应理解的是,当第一设备无法正常使用时,第一设备当前所使用的操作系统为备用操作系统,该备用操作系统的功能虽比较简单,也能采用本申请实施例提供的方法。
本申请实施例提供的下载数据包的方法可以应用于如图1所示的场景。如图1所示,为本申请实施例的系统架构示意图。该系统至少包括服务器、第一设备和N个第二设备,N为正整数。其中,服务器保存数据包,所述数据包可以是指OTA技术中OTA升级包或OTA补丁包,或者其他应用系统的升级包或补丁包,或者软件升级包或补丁包等,本申请对此不作限定。第一设备又可称为请求设备,第二设备又可称为应答设备或响应设备,本申请对第一设备和第二设备的名称不作限定。在图1中,当第一设备需要从服务器下载数据包时,第一设备请求N个第二设备协助从服务器下载数据包,因此,第一设备可以将N个第二设备的闲置能力利用起来实现数据包快速下载,可以有效缩短数据包下载时间。以下实施例将会详细说明该过程的实现细节。
其中,上述第一设备和N个第二设备均可以是指一般意义上的终端设备,例如,手机,平板电脑,笔记本电脑,智能手表,电视机、智能音箱、车载系统、计算机等电子设备。第一设备和N个第二设备可以搭载相同的操作系统,或者不同的操作系统。这里的操作系统包括但不限于或者其它操作系统。第一设备和N个第二设备可以位于同一个局域网的覆盖范围内,例如,第一设备和N个第二设备均位于一个家庭网络的覆盖范围内,又例如,第一设备和N个第二设备均位于一个公共无线网络覆盖范围内,也就是说通常情况下,第一设备和N个第二设备之间是相互信任的设备。此外,第一设备和N个第二设备还可以位于不同的局域网的覆盖范围内,本申请对此不作限定。
如图2所示,图2左侧为现有技术中设备A下载最新版本的升级包的示意图。图2右侧为采用本申请实施例提供的方法设备A下载最新版本的升级包的示意图。其中,设备A为手机,设备1为笔记本电脑、设备2为台式电脑,设备3为平板电脑,……,设备n为另一部手机。具体的,设备A向升级服务器发送下载最新版本的升级包请求,升级服务器向设备A发送确认响应,设备A从升级服务器下载最新版本的升级包,由于升级包包括的比特数较大,动辄以GB计算,采用如图2左侧的方法下载升级包将会导致下载时间过长影响用户体验,采用如图2右侧的方法下载升级包,由于N个设备可以协助设备A从升级服务器下载升级包,因此可以实现提升升级包下载速度,可以缩短升级包下载时间,进而提升用户体验。
需要说明的是,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。且在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
以第一设备是手机为例,图3所示为手机100的结构示意图。应理解的是,第二设备也可以为手机,或者第二设备可以为平板电脑、笔记本电脑、电视等其他设备。
手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块151,无线通信模块152,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括陀螺仪传感器180A,加速度传感器180B,指纹传感器180H,温度传感器180J,触摸传感器180K(当然,手机100还可以包括其它传感器,比如压力传感器、加速度传感器、陀螺仪传感器、色温传感器、骨传导传感器等,图中未示出)。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以运行本申请实施例提供的下载数据包的方法,以解决升级包下载时间过长的问题,提高用户体验。当处理器110集成不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的下载数据包的方法,比如下载数据包的方法中部分方法由CPU执行,另一部分方法由GPU执行。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode 的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193(前置摄像头或者后置摄像头)用于捕获静态图像或视频。通常,摄像头193可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。摄像头193采集到原始图像后,可以将原始图像发送给处理器110。处理器110可以在检测到用户输入时通过摄像头193拍摄用户图像。另外,图1所示的摄像头193可以包括1-N个摄像头。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序的代码等。例如,存储数据区可存储本申请实施例中的数据包。
内部存储器121还可以存储本申请实施例提供的下载数据包的方法的代码。当内部存储器121中存储的下载数据包的方法的代码被处理器110运行时,解决升级包下载时间过长的问题,提高用户体验。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
当然,本申请实施例提供的下载数据包的方法的代码还可以存储在外部存储器中。这种情况下,处理器110可以通过外部存储器接口120运行存储在外部存储器中的调用服务的方法的代码。
下面介绍传感器模块180的功能。
陀螺仪传感器180A,可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180A确定手机100围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器180A可以用于检测手机100当前的运动状态,比如抖动还是静止。
加速度传感器180B可检测手机100在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器180A可以用于检测手机100当前的运动状态,比如抖动还是静止。
陀螺仪传感器180A(或加速度传感器180B)可以将检测到的运动状态信息(比如角速度)发送给处理器110。处理器110基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机100处于手持状态)。
指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给处理器110,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块151,无线通信模块152,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块151可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块151可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,LNA)等。移动通信模块151可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块151的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块151的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块152可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块152可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块152经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块152还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
本申请实施例中,移动通信模块151和无线通信模块152可以发送第一请求消息、接收N个能力信息、发送分片下载请求等。
另外,手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。手机100可以接收按键190输入,产生与手机100的用户设置以及功能控制有关的键信号输入。手机100可以利用马达191产生振动提示(比如来电振动提示)。手机100中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机100中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。
应理解,在实际应用中,手机100可以包括比图3所示的更多或更少的部件,本申请实施例不作限定。下文中,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
下面结合本申请实施例应用在上述图3所示的手机架构为例进行说明,参见图4,为本申请实施例提供的下载数据包的方法的流程图。在如图4所示的实施例中,假设第一设备向N个第二设备发送第一请求消息。示例性地,第一设备和N个第二设备位于同一个网络内,该网络可以为有线网络或无线网络,第一设备与N个第二设备可以互相通信,第一设备可以向N个第二设备发送广播消息,第一设备还可以接收N个第二设备分别发送的反馈消息。
图4所示仅画出了N个第二设备中的第二设备a和第二设备b,以下仅以第二设备a和第二设备b为例进行详细说明,其他第二设备的具体处理过程可以参考第二设备a和第二设备b,重复之处不再赘述。应理解的是,N的取值为大于等于1的正整数,例如,N=1或N=3或N=5等,此处仅为举例不作为本申请的限定。
步骤401:第一设备向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,第一请求消息用于请求x个第二设备通过移动网络协助所述第一设备下载数据包,第二请求消息用于请求N-x个第二设备通过无线网络协助所述第一设备下载数据包,x≤N,x和N为正整数。
在一示例中,第一设备可以通过第一请求消息请求N个第二设备均通过移动网络协助第一设备下载数据包。如图5所示,设备1~设备n协助设备A从服务器下载数据包,其中,设备1通过移动公司移动带宽从服务器下载设备1对应的数据包片段,设备2通过联通公司移动带宽从服务器下载设备2对应的数据包片段,设备3通过电信公司移动带宽从服务器下载设备3对应的数据包片段,……,设备n通过其他公司移动带宽从服务器下载设备n对应的数据包片段。
在一示例中,第一设备可以通过第一请求消息请求x个第二设备通过移动网络协助第一设备下载数据包,同时,第一设备可以通过第二请求消息请求N-x个第二设备通过无线网络协助第一设备下载数据包,其中,N-x<N。如图6所示,设备1~设备n协助设备A从服务器下载数据包,其中,设备1通过移动公司移动带宽从服务器下载设备1对应的数据包片段,设备2通过联通公司移动带宽从服务器下载设备2对应的数据包片段,设备3通过电信公司移动带宽从服务器下载设备3对应的数据包片段,……,设备n通过WiFi热点从服务器下载设备n对应的数据包片段。
在又一示例中,第一设备可以通过第三请求消息请求N个第二设备优先通过移动网络协助第一设备下载数据包,其中,第三请求消息用于请求第二设备优先通过移动网络协助第一设备下载数据包。
应理解的是,上述示例仅为举例,不作为本申请实施例的限定。
步骤402a:第二设备a接收来自于第一设备的第一请求消息,向第一设备发送第二设备a的能力信息。
需要说明的是,第二设备a还可能接收来自于第一设备的第二请求消息,向第一设备发送第二设备a的能力信息。或者,第二设备a还可能接收来自于第一设备的第三请求消息,向第一设备发送第二设备a的能力信息。若第二设备接收来自于第一设备的第三请求消息,第二设备a可以基于自身配置或用户指令确定是否通过移动网络协助第一设备下载数据包。
以下仅以第二设备a接收来自于第一设备的第一请求消息,向第一设备发送第二设备a的能力信息为例进行说明。
在一种可能的设计中,在第二设备a接收来自于第一设备的第一请求消息之前,第二设备a可以选择开启协助下载功能,如图7(a)所示,在图7(a)中协助下载功能处于开启状态。第二设备a未开启协助下载功能,如图7(b)所示,在图7(b)中协助下载功能处于关闭状态。则第二设备a可以向第一设备发送响应消息,该响应消息用于拒绝第一设备的第一请求消息,或第二设备a还可以不向第一设备发送第二设备a的能力信息。在另一种可能的设计中,第二设备a默认具有协助下载功能。
在一示例中,在第二设备a接收到来自于第一设备的第一请求消息后,第二设备a可以通过显示屏显示第一信息,该第一信息用于征求用户意见是否同意第一请求消息,如图8(a)所示。进一步地,第二设备a可以接收用户指令,若用户指令指示同意第一请求消息,如图8(a)所示,若用户选择“是”,则第二设备a向第一设备发送第二设备a的能力信息。若用户指令指示不同意第一请求消息,如图8(a)所示,若用户选择“否”,则第二设备a向第一设备发送响应消息,该响应消息用于拒绝第一设备的第一请求消息,或第二设备a可以不向第一设备发送第二设备a的能力信息。
在一示例中,在第二设备a接收到来自于第一设备的第一请求消息后,第二设备a可以通过显示屏显示第二信息,该第二信息用于征求用户意见是否同意所有通过移动网络协助第一设备下载数据包的请求消息,如图8(b)所示。进一步地,第二设备a可以接收用户指令,若用户指令指示同意所有通过移动网络协助第一设备下载数据包的请求消息,如图8(b)所示,若用户选择“总是同意”,则第二设备a向第一设备发送第二设备a的能力信息,且若用户指令指示同意所有通过移动网络协助第一设备下载数据包的请求消息,第二设备a仅会在首次接收到第一请求消息后,通过显示屏显示第二信息。在第二设备a下一次接收到第一设备发送的第一请求消息时,第二设备a不再显示信息提示用户接收到第一请求消息。若用户指令指示同意本次通过移动网络协助第一设备下载数据包的请求消息,如图8(b)所示,若用户选择“同意(每次询问)”,则第二设备a向第一设备发送第二设备a的能力信息,且在第二设备a下一次接收到第一设备发送的第一请求消息时,第二设备a再次通过显示屏显示第二信息。若用户指令指示不同意所有通过移动网络协助第一设备下载数据包的请求消息,如图8(b)所示,若用户选择“不同意”,则第二设备a向第一设备发送响应消息,该响应消息用于拒绝第一设备的第一请求消息,或第二设备a可以不向第一设备发送第二设备a的能力信息。
在又一示例中,在第二设备a接收到来自于第一设备的第一请求消息后,第二设备a可以通过显示屏显示第三信息,该第三信息用于征求用户意见是否同意所有通过移动网络协助其他设备下载数据包的请求消息,如图8(c)所示。进一步地,第二设备a可以接收用户指令,若用户指令指示同意所有通过移动网络协助其他设备下载数据包的请求消息,如图8(c)所示,若用户选择“总是同意”,则第二设备a向第一设备发送第二设备a的能力信息,且若用户指令指示同意所有通过移动网络协助其他设备下载数据包的请求消息,第二设备a仅会在首次接收到第一请求消息后,通过显示屏显示第三信息。在第二设备a下一次接收到其他设备(包括第一设备)发送的第一请求消息时,第二设备a不再显示信息提示用户接收到第一请求消息。若用户指令指示同意本次通过移动网络协助第一设备下载数据包的请求消息,如图8(c)所示,若用户选择“同意(每次询问)”,则第二设备a向第一设备发送第二设备a的能力信息,且在第二设备a下一次接收到第一设备发送的第一请求消息时,第二设备a再次通过显示屏显示第三信息。若用户指令指示不同意所有通过移动网络协助其他设备下载数据包的请求消息,如图8(c)所示,若用户选择“不同意”则第二设备a向第一设备发送响应消息,该响应消息用于拒绝第一设备的第一请求消息,或第二设备a可以不向第一设备发送第二设备a的能力信息。
在一种可能的设计中,第二设备a的能力信息指示第二设备a的闲置资源和能力。第二设备a的能力信息至少包括剩余存储空间和网络带宽。其中,第二设备a的剩余存储空间越大,则能够实现协助第一设备下载较大的数据包片段。第二设备a的网络带宽越大,则能够实现协助第一设备较快地下载数据包片段。可选的,第二设备a的能力信息还可以包括计算能力(即CPU处理能力)和存储的I/O速度等。应理解的是,此处仅为举例,第二设备a的能力信息还可包括其他能力参数,上述内容不作为本申请的限定。
步骤402b:第二设备b接收来自于第一设备的第一请求消息,向第一设备发送第二设备b的能力信息。
第二设备b的具体处理过程与上述第二设备a的具体处理过程类似,具体可以参考步骤402a中的内容,重复之处不再赘述。
步骤403:第一设备基于N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N。
在一种可能的设计中,在所述第一设备接收来自于所述N个第二设备的N个能力信息之后,所述第一设备基于所述N个能力信息,确定所述M个第二设备,所述M个第二设备分别对应的能力信息中的每个能力信息中的网络带宽大于等于预设最小网络带宽阈值,和/或剩余存储空间大于等于预设最小存储空间阈值。
示例性地,若N=2,在第一设备接收到第二设备a的能力信息和第二设备b的能力信息后,第一设备判断第二设备a是否有能力协助第一设备下载数据包,以及判断第二设备b是否有能力协助第一设备下载数据包。结合上述步骤402a可知,第一设备可以基于第二设备a的网络带宽判断第二设备a是否有能力协助第一设备下载数据包。例如,若第二设备a的当前网络带宽较小,例如小于预设最小网络带宽阈值,则第二设备a下载数据包片段的速度会比较慢,则第一设备可以放弃请求第二设备a协助下载数据包。第一设备可以基于第二设备a的剩余存储空间判断第二设备a是否有能力协助第一设备下载数据包。例如,若第二设备a的当前剩余存储空间较小,例如小于预设最小存储空间阈值,则第二设备a不能满足下载的数据包片段的存储需求,则第一设备可以放弃请求第二设备a协助下载数据包。在一种可能的设计中,第一设备还可以采用但不限于以下方法确定所述M个第二设备:
步骤1,按公式(1)归一化能力信息中的每个能力参数的参数值,获得每个能力参数的归一化数值。
Figure BDA0002217301470000121
其中,Vmax代表N个能力信息中第k个能力参数的最大参数值,Va代表N个能力信息中第k个能力参数的最小参数值,Vi代表第i个第二设备对应的能力信息中第k个能力参数的参数值。
示例性地,若N=3,设备1的能力信息包括剩余存储空间为5G和网络带宽为100Mb/s。设备2的能力信息包括剩余存储空间为1G和网络带宽为500Mb/s,设备3的能力信息包括剩余存储空间为2G和网络带宽为200Mb/s。若第1个能力参数为剩余存储空间,则Vmax=5G,Va=1G,Vnorm[1]=(5-1)/(5-1)=1,Vnorm[2]=(1-1)/(5-1)=0,Vnorm[3]=(2-1)/(5-1)=0.25,第2个能力参数为网络带宽,则Vmax=500Mb/s,Va=100Mb/s,Vnorm[1]=(100-100)/(500-100)=0,Vnorm[2]=(500-100)/(500-100)=1,Vnorm[3]=(200-100)/(500-100)=0.25。
步骤2,假设能力信息中的每个能力参数的重要性相同,基于上述计算结果结合公式(2)计算每个第二设备的综合能力值。
Figure BDA0002217301470000131
其中,Vwt代表第i个第二设备的综合能力值。
示例性地,若N=3,设备1的能力信息包括剩余存储空间为5G和网络带宽为100Mb/s。设备2的能力信息包括剩余存储空间为1G和网络带宽为500Mb/s,设备3的能力信息包括剩余存储空间为2G和网络带宽为100Mb/s。若第1个能力参数为剩余存储空间,则Vnorm[1]=1,Vnorm[2]=0,Vnorm[3]=0.25,第2个能力参数为网络带宽,则Vnorm[1]=0,Vnorm[2]=1,Vnorm[3]=0.25。根据公式(2)计算得到:Vwt1=(1+0)/2=0.5,Vwt2=(0+1)/2=0.5,Vwt3=(0.25+0.25)/2=0.25。即,设备1的综合能力值为0.5,设备2的综合能力值为0.5,设备3的综合能力值为0.25。
应理解的是,第一设备还可将各个能力参数的重要性分为不同级别,即分配不同的权重,此时,第一设备基于不同能力参数的不同权重计算综合能力值,例如,假设剩余存储空间的权重为0.4,网络带宽的权重为0.6,则上例中Vwt1=(0.4*1+0.6*0)/2=0.2,Vwt2=(0.4*0+0.6*1)/2=0.3,Vwt3=(0.4*0.25+0.6*0.25)/2=0.25,即设备1的综合能力值为0.2,设备2的综合能力值为0.3,设备3的综合能力值为0.25。
步骤3:根据预设综合能力值阈值和N个第二设备分别对应的综合能力值,确定M个第二设备,其中,M个第二设备中的每个第二设备的综合能力值大于等于预设综合能力值阈值。
示例性地,若N=3,设备1的能力信息包括剩余存储空间为5G和网络带宽为100Mb/s。设备2的能力信息包括剩余存储空间为1G和网络带宽为500Mb/s,设备3的能力信息包括剩余存储空间为2G和网络带宽为100Mb/s,假设能力信息中的每个能力参数的重要性相同,则设备1的综合能力值为0.5,设备2的综合能力值为0.5,设备3的综合能力值为0.25。假设预设综合能力值阈值为0.2,则M=N=3,假设预设综合能力值阈值为0.3,则M=2,M个第二设备分别为设备1和设备2。
此外,第一设备还可以结合其他因素确定所述M个第二设备。例如,若第一设备根据历史记录确定第二设备a共10次协助第一设备下载数据包,其中,7次出现由于第二设备a自身故障或异常导致下载中断,则第一设备可以放弃请求第二设备a协助下载数据包。
在一种可能的设计中,在第一设备接收来自于所述N个第二设备的N个能力信息之后,第一设备通过显示屏显示M个能力信息;该M个能力信息为第一设备基于预设规则从N个能力信息中筛选出来的;所述第一设备接收用户指令,所述用户指令指示同意第一设备选择的M个第二设备,M个第二设备与M个能力信息一一对应。示例性地,第一设备可以基于上述步骤1~步骤3所示的方法确定M个第二设备,并通过显示屏显示该M个第二设备分别对应的能力信息,即第一设备为用户推荐最优的第二设备组合,用户可以选择同意第一设备推荐的第二设备组合,或者不同意第一设备推荐的第二设备组合。
在一种可能的设计中,第一设备还可以通过显示屏显示N个第二设备的能力信息。例如,若N=2,第一设备还可以通过显示屏以列表形式显示第二设备a的能力信息和第二设备b的能力信息。进一步地,第一设备可以接收用户指令,所述用户指令指示所述N个第二设备中M个第二设备。例如选中第二设备a而未选中第二设备b。如图9所示,第一设备通过显示屏显示设备1、设备2、和设备3的能力信息,用户从中选择设备1和设备2。
进一步地,在第一设备确定M个第二设备后,基于M个第二设备的能力信息确定分片策略,其中,所述M个数据包片段满足以下条件:
Max(s1/B1,s2/B2,…,sM/BM)+S/B’<S/B;
s1+s2+…+sM=S,si≤Si
其中,s1、s2、……、sM代表所述M个数据包片段,S1、S2、……、SM代表所述M个第二设备分别对应的最大剩余存储空间,B1、B2、……、BM代表所述M个第二设备分别对应的网络带宽,S代表所述数据包的大小,B代表所述第一设备的网络带宽,B’代表所述M个第二设备分别将对应的数据包片段传输至所述第一设备的传输速度的平均值。
应理解的是,根据上述两个约束条件,可以迭代得到最优的si值。在上述分片策略中第一设备不参与数据包下载。在第一设备确定M个数据包片段的大小之后,第一设备还需进一步确定每个数据包片段的起始位置(和/或结束位置)。
可以理解的是,第一设备也可以参与下载数据包,假设第一设备下载的数据包片段的大小为s0,则上述条件替换为:
Max(s1/B1,s2/B2,…,sM/BM)+(S-s0)/B’<(S-s0)/B;
s1+s2+…+sM=(S-s0),si≤Si
应理解的是,第一设备上述生成分片策略的方法仅为举例不作为本申请的限定。第一设备还可以基于其他方法确定分片策略。
步骤404:第一设备基于分片策略向所述M个第二设备分别发送相应的分片下载请求。其中,第i个第二设备对应的分片下载请求指示第i个第二设备对应的数据包片段,i为正整数,i≤M。
示例性地,第一设备向第二设备a发送分片下载请求,该分片下载请求指示第二设备对应的数据包片段,例如,该分片下载请求包括数据包片段的大小和起始位置(和/或结束位置)。
步骤405a:第二设备a接收来自于第一设备的第二设备a对应的分片下载请求,基于第二设备a对应的分片下载请求通过移动网络从服务器下载第二设备a对应的分片下载请求指示的第二设备a对应的数据包片段。
需要说明的是,若第二设备a接收来自于第一设备的第二请求消息,则第二设备a基于第二设备a对应的分片下载请求通过无线网络从服务器下载第二设备a对应的分片下载请求指示的第二设备a对应的数据包片段。或者,若第二设备a接收来自于第一设备的第三请求消息,则第二设备a可以基于自身配置或用户指令确定是否通过移动网络协助第一设备下载数据包,若是,则第二设备a通过基于第二设备a对应的分片下载请求通过移动网络从服务器下载第二设备a对应的分片下载请求指示的第二设备a对应的数据包片段,否则,第二设备a基于第二设备a对应的分片下载请求通过无线网络从服务器下载第二设备a对应的分片下载请求指示的第二设备a对应的数据包片段。
在一种可能的设计中,第二设备a可以每隔预设时长向第一设备发送第一通知消息,该第一通知消息用于通知第一设备当前已下载的数据包片段的大小,此外还可包括平均下载速度,和/或完成下载还需等待的时长等。例如,预设时长可以为1分钟,则第二设备a每个1分钟向第一设备发送第一通知消息,第一通知消息用于通知第一设备当前已下载的数据包片段的大小。
在另一种可能的设计中,第二设备a可以在每当下载完成所需下载的数据包片段的预设比例时向第一设备发送第一通知消息,该第一通知消息用于通知第一设备当前已下载的数据包片段的大小,此外还可包括平均下载速度,和/或完成下载还需等待的时长等。例如,预设比例可以为20%,则当第二设备a下载完成所需下载的数据包片段的20%时,向第一设备发送第一通知消息,第一通知消息指示第二设备a已下载完成所需下载的数据包片段的20%;当第二设备a下载完成所需下载的数据包片段的40%时,向第一设备发送第一通知消息,第一通知消息指示第二设备a已下载完成所需下载的数据包片段的40%;当第二设备a下载完成所需下载的数据包片段的60%时,向第一设备发送第一通知消息,第一通知消息指示第二设备a已下载完成所需下载的数据包片段的60%;当第二设备a下载完成所需下载的数据包片段的80%时,向第一设备发送第一通知消息,第一通知消息指示第二设备a已下载完成所需下载的数据包片段的80%;当第二设备a下载完成所需下载的数据包片段的100%时,向第一设备发送第一通知消息,第一通知消息指示第二设备a已下载完成所需下载的数据包片段的100%。
此外,若第二设备a在下载数据包片段的过程中出现异常情况,例如第二设备a突发故障,则第二设备a无法继续协助第一设备下载数据包,此时,第二设备a向第一设备发送第二通知消息,该第二通知消息用于通知第一设备第二设备a无法继续协助第一设备下载数据包。第一设备在接收到第二通知消息后,可以选择自己下载第二设备a对应的数据包片段,或者选择其他第二设备接管该下载任务(即第二设备a对应的数据包片段)。
步骤405b:第二设备b接收来自于第一设备的第二设备b对应的分片下载请求,基于第二设备b对应的分片下载请求通过移动网络从服务器下载第二设备b对应的分片下载请求指示的数据包片段。
第二设备b的具体处理过程与上述第二设备a的具体处理过程类似,具体可以参考步骤404a中的内容,重复之处不再赘述。
步骤406a:第二设备a将下载完成的第二设备a对应的数据包片段传输至第一设备。
应理解的是,第二设备a可以通过有线方式或无线方式将下载完成的数据包片段传输至第一设备。例如,第二设备a通过数据线将下载完成的数据包片段传输至第一设备。又例如,第二设备a建立与第一设备的蓝牙连接,通过蓝牙传输下载完成的数据包片段。又例如,若第二设备a与第一设备同属于一个局域网的覆盖范围内,第二设备a可以通过WiFi传输下载完成的数据包。
步骤406b:第二设备b将下载完成的第二设备b对应的数据包片段传输至第一设备。
第二设备b的具体处理过程与上述第二设备a的具体处理过程类似,具体可以参考步骤405a中的内容,重复之处不再赘述。
步骤407:第一设备基于接收到的N个数据包片段组合成一个完整的数据包。
应理解的是,若所述第一设备从服务器下载数据包片段,则所述第一设备将所述第一片段和所述M个数据包片段组合成所述数据包;若所述第一设备未从服务器下载所述数据包的任一数据包片段,则所述第一设备将所述M个数据包片段组合成所述数据包。
此外,在第一设备将数据包组合完成后,第一设备需要校验该数据包的完整性和/或数据包的版本。
在一种可能的设计中,在所述第一设备合成数据包之后,所述第一设备基于合成后的数据包生成校验信息,并将所述校验信息发送至所述服务器;所述第一设备接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。
示例性地,第一设备计算一个校验值,例如消息摘要算法(Message-DigestAlgorithm,MD5)值,同时服务器也计算一个校验值,若两个计算结果相同则表明完整性校验通过。
如图10所示,本申请实施例提供一种装置,该装置包括用户授权界面1001,示例性地,所述用户授权界面1001用于显示如图8(a)、图8(b)、图8(c)、图9所示的内容。该装置还包括协助下载子系统,该系统包括请求协助模块1002,分片策略模块1003,异常处理模块1004,请求响应模块1005,协助下载模块1006。示例性地,请求协助模块1002用于执行步骤401和步骤404,分片策略模块1003用于执行步骤403,异常处理模块1004用于执行在接收到第二设备无法继续协助第一设备下载数据包通知消息后,可以选择自己下载该第二设备对应的数据包片段,或者选择其他第二设备接管该下载该第二设备对应的数据包片段。请求响应模块1005用于执行步骤402a和步骤402b,协助下载模块1006用于执行步骤405a和步骤406a,步骤405b和步骤406b。具体内容可以参考如图4所示的实施例的内容,重复之处不再赘述。
应理解的是,上述各个模块的划分仅为举例不作为本申请的限定。为了实现上述功能,本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
综上,采用上述方法,第一设备可以将M个第二设备的闲置能力利用起来实现数据包快速下载,可以有效缩短数据包下载时间。
上述本申请提供的实施例中,从第一设备和第二设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,第一设备和第二设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
与上述构思相同,如图11所示,本申请实施例还提供一种装置1100,该装置1100包括处理单元1101、发送单元1102和接收单元1103。
一示例中,装置1100用于实现上述方法中第一设备的功能。该装置可以是第一设备,也可以是第一设备中的装置,例如芯片系统。
其中,发送单元1102,用于向x个第二设备分别发送第一请求消息,以及向N-x个第二设备分别发送第二请求消息,其中,所述第一请求消息用于请求所述x个第二设备通过移动网络协助所述装置下载数据包,所述第二请求消息用于请求所述N-x个第二设备通过无线网络协助所述装置下载数据包,x≤N,x和N为正整数;
接收单元1103,用于接收来自于所述N个第二设备的N个能力信息,所述N个能力信息与所述N个第二设备一一对应;
处理单元1101,用于基于所述N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N;
所述发送单元1102,还用于基于所述分片策略向所述M个第二设备分别发送对应的分片下载请求消息;其中,第i个第二设备对应的分片下载请求消息指示第i个第二设备对应的数据包片段,i为正整数,i≤M;
所述接收单元1103,还用于接收来自于所述M个第二设备的所述M个数据包片段。
一示例中,装置1100用于实现上述方法中第二设备的功能。该装置可以是第二设备,也可以是第二设备中的装置,例如芯片系统。
其中,接收单元1103,用于接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述装置通过移动网络协助所述第一设备下载数据包;
发送单元1102,用于向所述第一设备发送所述装置的能力信息;
所述接收单元1103,还用于接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述装置对应的数据包片段;
所述接收单元1103,还用于通过移动网络从服务器下载所述数据包片段,通过所述发送单元将所述数据包片段传输至所述第一设备。
此外,该装置1100还可以包括显示单元1104。
关于处理单元1101、发送单元1102、接收单元1103、显示单元1104的具体执行过程,可参见上方法实施例中的记载。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
作为另一种可选的变形,该装置可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。示例性地,该装置包括处理器和接口,该接口可以为输入/输出接口。其中,处理器完成上述处理单元1101的功能,接口完成上述发送单元1102和接收单元1103的功能。该装置还可以包括存储器,存储器用于存储可在处理器上运行的程序,处理器执行该程序时实现上述各个实施例的方法。
基于相同的构思,图12所示为本申请提供的一种设备1200。设备1200包括至少一个处理器1210、存储器1220和收发器1230。其中,处理器1210与存储器1220和收发器1230耦合,本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。本申请实施例中不限定上述收发器1230、处理器1210以及存储器1220之间的连接介质。例如,本申请实施例在图12中以存储器1220、处理器1210以及收发器1230之间可以通过总线连接,所述总线可以分为地址总线、数据总线、控制总线等。可选的,设备1200还包括显示屏1240。
具体的,存储器1220用于存储程序指令。
收发器1230用于接收和/或发送消息等。
存储器1220中存储的程序指令被处理器1210执行时,使得设备1200执行图4中所示的方法。
示例性地,当该装置为第一设备时,存储器1220用于存储程序指令;存储器1220中存储的程序指令被处理器1210执行时,使得设备1200执行图4中第一设备所示的方法。当该装置为第二设备时,存储器1220用于存储程序指令;存储器1220中存储的程序指令被处理器1210执行时,使得设备1200执行图4中第二设备所示的方法。
在本申请实施例中,处理器1210可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器1220可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(electrically erasableprogrammable read onlymemory,EEPROM)、只读光盘(compact disc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digitalsubscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (31)

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个第二设备通过无线网络协助所述装置下载数据包,x≤N,x和N为正整数;
接收单元,用于接收来自于所述N个第二设备的N个能力信息,所述N个能力信息与所述N个第二设备一一对应;
处理单元,用于基于所述N个能力信息,确定分片策略,所述分片策略指示所述数据包中的M个数据包片段,所述M个数据包片段与所述N个第二设备中的M个第二设备一一对应,M为正整数,M≤N;
所述发送单元,还用于基于所述分片策略向所述M个第二设备分别发送对应的分片下载请求消息;其中,第i个第二设备对应的分片下载请求消息指示第i个第二设备对应的数据包片段,i为正整数,i≤M;
所述接收单元,还用于接收来自于所述M个第二设备的所述M个数据包片段。
16.如权利要求15所述的装置,其特征在于,所述第i个能力信息包括所述第i个第二设备的剩余存储空间、所述第i个第二设备的网络带宽、所述第i个第二设备的处理能力中的至少一种。
17.如权利要求16所述的装置,其特征在于,所述M个第二设备分别对应的能力信息中的每个能力信息中的网络带宽大于等于预设最小网络带宽阈值,和/或剩余存储空间大于等于预设最小存储空间阈值。
18.如权利要求15或16所述的装置,其特征在于,所述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个第二设备分别将对应的数据包片段传输至所述装置的传输速度的平均值。
19.如权利要求15-18任一项所述的装置,其特征在于,所述装置还包括:显示单元,用于:在接收来自于所述N个第二设备的N个能力信息之后,通过显示屏显示所述N个能力信息;
所述接收单元,还用于接收用户指令,所述用户指令指示在所述N个第二设备中选择的M个第二设备。
20.如权利要求15-18任一项所述的装置,其特征在于,所述装置还包括:显示单元,用于:在接收来自于所述N个第二设备的N个能力信息之后,通过显示屏显示M个能力信息;所述M个能力信息为所述处理单元基于预设规则从所述N个能力信息中筛选出来的;
所述接收单元,还用于接收用户指令,所述用户指令指示同意所述装置选择的M个第二设备,所述M个第二设备与所述M个能力信息一一对应。
21.如权利要求15-20任一项所述的装置,其特征在于,所述接收单元,还用于接收来自于所述第i个第二设备的第一通知消息,所述第一通知消息用于通知所述装置所述第i个第二设备当前已下载的数据包片段的大小;和/或,
所述接收单元,还用于接收来自于所述第i个第二设备的第二通知消息,所述第二通知消息用于通知所述装置所述第i个第二设备无法继续下载所述第i个第二设备对应的数据包片段。
22.如权利要求15-21任一项所述的装置,其特征在于,所述处理单元,还用于:在接收来自于所述M个第二设备的所述M个数据包片段之后,若所述接收单元从服务器下载数据包片段,则将所述接收单元下载的数据包片段和所述M个数据包片段合成数据包;
所述处理单元,还用于:在接收来自于所述M个第二设备的所述M个数据包片段之后,若所述接收单元未从服务器下载所述数据包的任一数据包片段,则将所述M个数据包片段合成数据包。
23.如权利要求22所述的装置,其特征在于,所述处理单元,还用于:在合成数据包之后,所述处理单元于合成后的数据包生成校验信息,并通过所述发送单元将所述校验信息发送至所述服务器;
所述接收单元,还用于接收来自于所述服务器的响应消息,所述响应消息指示所述合成后的数据包校验通过。
24.一种下载数据包的装置,其特征在于,该装置包括:
接收单元,用于接收来自于第一设备的第一请求消息;所述第一请求消息用于请求所述装置通过移动网络协助所述第一设备下载数据包;
发送单元,用于向所述第一设备发送所述装置的能力信息;
所述接收单元,还用于接收来自于所述第一设备的分片下载请求,所述分片下载请求指示所述装置对应的数据包片段;
所述接收单元,还用于通过移动网络从服务器下载所述数据包片段,通过所述发送单元将所述数据包片段传输至所述第一设备。
25.如权利要求24所述的装置,其特征在于,所述装置还包括:显示单元,用于在接收来自于第一设备的第一请求消息之后,通过显示屏显示第一信息,所述第一信息用于征求用户意见是否同意所述第一请求消息;
所述接收单元,还用于接收第一用户指令,所述第一用户指令指示同意所述第一请求消息。
26.如权利要求24或25所述的装置,其特征在于,所述装置的能力信息包括所述装置的剩余存储空间、所述装置的网络带宽、所述装置的处理能力中的至少一种。
27.如权利要求24-26任一项所述的装置,其特征在于,所述发送单元,还用于每隔预设时长向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述装置当前已下载的数据包片段的大小;或
所述发送单元,还用于每当下载完成所述数据包片段的预设比例时向所述第一设备发送第一通知消息,所述第一通知消息用于通知所述第一设备所述装置当前已下载的数据包片段的大小。
28.如权利要求24-27任一项所述的装置,其特征在于,所述发送单元,还用于若处理单元在下载所述数据包片段的过程中确定无法继续下载所述数据包片段,向所述第一设备发送第二通知消息,所述第二通知消息用于通知所述第一设备所述装置无法继续下载所述数据包片段。
29.一种电子设备,其特征在于,所述设备包括收发器、处理器和存储器;
所述存储器中存储有程序指令;
当所述程序指令被执行时,使得所述电子设备执行如权利要求1至14任一所述的方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1至14任一项所述的方法。
31.一种计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1至14任一项所述的方法。
CN201910920129.7A 2019-09-26 2019-09-26 一种下载数据包的方法及装置 Active CN110825402B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910920129.7A CN110825402B (zh) 2019-09-26 2019-09-26 一种下载数据包的方法及装置
PCT/CN2020/114597 WO2021057503A1 (zh) 2019-09-26 2020-09-10 一种下载数据包的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910920129.7A CN110825402B (zh) 2019-09-26 2019-09-26 一种下载数据包的方法及装置

Publications (2)

Publication Number Publication Date
CN110825402A true CN110825402A (zh) 2020-02-21
CN110825402B CN110825402B (zh) 2021-06-22

Family

ID=69548424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910920129.7A Active CN110825402B (zh) 2019-09-26 2019-09-26 一种下载数据包的方法及装置

Country Status (2)

Country Link
CN (1) CN110825402B (zh)
WO (1) WO2021057503A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021057503A1 (zh) * 2019-09-26 2021-04-01 华为技术有限公司 一种下载数据包的方法及装置
WO2024093853A1 (zh) * 2022-11-04 2024-05-10 华为技术有限公司 一种文件下载方法及相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039187A (zh) * 2006-03-17 2007-09-19 腾讯科技(深圳)有限公司 一种数据下载的方法及其系统
CN103532878A (zh) * 2013-09-26 2014-01-22 华为技术有限公司 数据包的处理方法和网络流量的管理方法及装置和系统
CN104753980A (zh) * 2013-12-26 2015-07-01 腾讯科技(深圳)有限公司 数据传输方法及相关装置和通信系统
CN105491087A (zh) * 2014-09-17 2016-04-13 联想(北京)有限公司 一种文件下载方法、装置和电子设备
CN106164880A (zh) * 2014-04-16 2016-11-23 歌乐株式会社 数据传输系统、控制服务器以及数据传输方法
US20180278708A1 (en) * 2017-03-21 2018-09-27 Toshiba Memory Corporation Communication control device, communication control method, and non-transitory computer readable medium
US20180288156A1 (en) * 2017-03-30 2018-10-04 Kyocera Document Solutions Inc. Information processing system, information processing method, and information processing device that ensure deleting associated data
CN109561138A (zh) * 2018-11-19 2019-04-02 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN110086885A (zh) * 2019-05-10 2019-08-02 上海擎感智能科技有限公司 空间下载技术的升级包下载方法及装置、存储介质和终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294365B2 (en) * 2013-05-08 2016-03-22 Vringo, Inc. Cognitive radio system and cognitive radio carrier device
US20190190967A1 (en) * 2016-08-26 2019-06-20 Nokia Technologies Oy Data download via group collaboration
CN109040213B (zh) * 2018-07-23 2021-06-08 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN109246185B (zh) * 2018-07-31 2021-03-12 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN110825402B (zh) * 2019-09-26 2021-06-22 华为技术有限公司 一种下载数据包的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039187A (zh) * 2006-03-17 2007-09-19 腾讯科技(深圳)有限公司 一种数据下载的方法及其系统
CN103532878A (zh) * 2013-09-26 2014-01-22 华为技术有限公司 数据包的处理方法和网络流量的管理方法及装置和系统
CN104753980A (zh) * 2013-12-26 2015-07-01 腾讯科技(深圳)有限公司 数据传输方法及相关装置和通信系统
CN106164880A (zh) * 2014-04-16 2016-11-23 歌乐株式会社 数据传输系统、控制服务器以及数据传输方法
CN105491087A (zh) * 2014-09-17 2016-04-13 联想(北京)有限公司 一种文件下载方法、装置和电子设备
US20180278708A1 (en) * 2017-03-21 2018-09-27 Toshiba Memory Corporation Communication control device, communication control method, and non-transitory computer readable medium
US20180288156A1 (en) * 2017-03-30 2018-10-04 Kyocera Document Solutions Inc. Information processing system, information processing method, and information processing device that ensure deleting associated data
CN109561138A (zh) * 2018-11-19 2019-04-02 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN110086885A (zh) * 2019-05-10 2019-08-02 上海擎感智能科技有限公司 空间下载技术的升级包下载方法及装置、存储介质和终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021057503A1 (zh) * 2019-09-26 2021-04-01 华为技术有限公司 一种下载数据包的方法及装置
WO2024093853A1 (zh) * 2022-11-04 2024-05-10 华为技术有限公司 一种文件下载方法及相关装置

Also Published As

Publication number Publication date
CN110825402B (zh) 2021-06-22
WO2021057503A1 (zh) 2021-04-01

Similar Documents

Publication Publication Date Title
CN110825402B (zh) 一种下载数据包的方法及装置
CN114258037B (zh) 一种网络控制方法、装置及电子设备
WO2021179990A1 (zh) 一种应用服务器的访问方法及终端
CN115391849A (zh) 保存密文的方法和装置
CN114727101B (zh) 一种天线功率调节方法及电子设备
CN115995856A (zh) 一种电子设备的充电方法及电子设备
CN115086473A (zh) 出声通道选择系统、方法及相关装置
CN114915996A (zh) 通信异常处理方法及相关装置
CN113810451B (zh) 点对点链路的建立方法、装置、第一终端设备和存储介质
CN114928898B (zh) 建立基于WiFi直接连接的会话的方法和装置
CN116033158B (zh) 投屏方法和电子设备
CN114928900B (zh) 通过WiFi直接连接进行传输的方法和装置
CN117348894A (zh) 一种软件升级方法、终端设备及系统
CN111741040B (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
CN115134404A (zh) 管理推送连接的方法和电子设备
CN116709432B (zh) 一种缓存队列调整方法及电子设备
CN115562570B (zh) 数据迁移方法、系统及电子设备
CN115460445B (zh) 电子设备的投屏方法和电子设备
CN116668583B (zh) 一种WiFi的连接方法、电子设备、存储介质和芯片
WO2024037500A1 (zh) 通信方法及相关装置
CN116033157B (zh) 投屏方法和电子设备
CN115767602B (zh) 设备协议子系统异常自动纠错方法和电子设备
EP4283464A1 (en) Distributed device capability virtualization method, medium, and electronic device
CN113691979B (zh) 无线数据传输方法、电子设备、系统及存储介质
CN117670646A (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