CN110401691A - 一种资源下载控制方法、装置及终端 - Google Patents
一种资源下载控制方法、装置及终端 Download PDFInfo
- Publication number
- CN110401691A CN110401691A CN201910384115.8A CN201910384115A CN110401691A CN 110401691 A CN110401691 A CN 110401691A CN 201910384115 A CN201910384115 A CN 201910384115A CN 110401691 A CN110401691 A CN 110401691A
- Authority
- CN
- China
- Prior art keywords
- download
- target
- stage
- resource
- time
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种资源下载控制方法、装置及终端,其中资源下载控制方法包括:确定目标资源在当前下载阶段的阶段下载量;当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。本发明在客户端以较小的流量波动、在限定的速度范围内更快的实现了对目标资源的下载。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种资源下载控制方法、装置及终端。
背景技术
随着互联网技术的快速发展,终端中安装的应用程序也越来越多,各个应用程序均涉及到相应资源的后台静默下载,例如,应用程序更新数据包的下载、应用程序中较大动画资源的预加载等等。为了避免后台静默下载对应用程序的当前主要业务流程造成明显的影响,需要对后台静默下载的资源下载速度进行控制。
相关技术中,对于资源下载速度的控制包括服务器端的控制方法和客户端的控制方法,其中,基于服务器端实现的控制方法不仅需要改造服务器的架构,而且灵活性差,不容易实现对下载速度的灵活切换。基于客户端的控制方法主要是分片控制策略,即将待下载资源视作由多个独立的数据段组成的集合,客户端每次向服务器发出一个对单个数据段(一个数据段称为一个分片)的下载请求,通过控制各个请求的发送频率以及分片大小来达到控制下载速度的目的。这种分片控制策略不仅对服务器具有较大的依赖,如需要服务器对HTTP请求中RANGE字段的支持,需要开启与服务器端的长连接特性;而且流量波动大,数据就绪时间被拖的很长。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种资源下载控制方法、装置及终端。所述技术方案如下:
一方面,提供了一种资源下载控制方法,所述方法包括:
确定目标资源在当前下载阶段的阶段下载量;
当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;
根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;
根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;
根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
另一方面,提供了一种资源下载控制装置,所述装置包括:
第一确定模块,用于确定目标资源在当前下载阶段的阶段下载量;
第一获取模块,用于当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;
第二确定模块,用于根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;
第三确定模块,用于根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;
休眠模块,用于根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
可选的,所述装置还包括:
第四确定模块,用于确定所述目标资源对应的应用程序的接口缓存区;
网速检测模块,用于根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度。
可选的,所述装置还包括:
第二获取模块,用于获取所述目标资源在多个下载阶段的阶段下载量;
第五确定模块,用于根据所述多个下载阶段的阶段下载量,确定所述目标资源的当前总下载量;当所述当前总下载量达到第二预设下载量时,执行所述确定所述目标资源对应的应用程序的接口缓存区的步骤。
可选的,所述网速检测模块包括:
第三获取模块,用于获取所述接口缓存区中缓存的所有数据;
清空模块,用于清空所述接口缓存区;
下载模块,用于下载所述接口缓存区中新增的所述目标资源;
第六确定模块,用于根据所述新增的所述目标资源的第一下载量和第一下载时间,确定所述当前网络速度。
可选的,所述第六确定模块包括:
记录模块,用于记录所述新增的所述目标资源的第一下载量;
第四获取模块,用于在所述第一下载量达到第三预设下载量时,获取所述第一下载量对应的第一下载时间;
第一计算模块,用于将所述第一下载量除以所述第一下载时间,得到所述当前网络速度。
可选的,所述装置还包括:
创建模块,用于创建预设数据容量的所述接口缓存区。
可选的,所述第二确定模块包括:
第七确定模块,用于根据当前网络速度和预设限速目标,确定目标网络速度;
第二计算模块,用于将所述阶段下载量除以所述目标网络速度,得到所述目标下载时间。
可选的,所述休眠模块包括:
第八确定模块,用于确定所述目标下载时间和实际下载时间的差值;
第九确定模块,用于将所述目标下载时间和实际下载时间的差值作为所述休眠阶段的休眠时间。
另一方面,提供了一种终端,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述资源下载控制方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例通过确定目标资源在当前下载阶段的阶段下载量,当该阶段下载量达到第一预设下载量时,获取上述阶段下载量对应的实际下载时间,并根据当前网络速度和预设限速目标,确定上述阶段下载量对应的目标下载时间,根据目标下载时间和实际下载时间确定休眠阶段的休眠时间,根据休眠时间进入暂停对目标资源的下载的休眠阶段,从而在客户端以较小的流量波动、在限定的速度范围内更快的实现对目标资源的下载,无需开启与服务器的长连接特性,并避免了分片控制策略中,因为每次都是请求一个小数据分片导致的HTTP请求头的冗余、数据就绪时间被拖的很长,以及对服务器的依赖情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种资源下载控制方法的流程示意图;
图2是本发明实施例提供的网络数据下载过程的示意图;
图3是本发明实施例提供的确定当前网络速度的一种方法流程示意图;
图4是本发明实施例提供的另一种资源下载控制方法的流程示意图;
图5是本发明实施例提供的基于本发明实施例的资源下载控制方法进行实际下载操作的下载曲线示意图;
图6是本发明实施例提供的一种资源下载控制装置的结构示意图;
图7是本发明实施例提供的另一种资源下载控制装置的结构示意图;
图8是本发明实施例提供的另一种资源下载控制装置的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
终端中的应用程序常常需要在后台静默下载一些资源,例如应用程序的更新数据包、应用程序中较大动画资源等等,为了避免该资源的后台静默下载对应用程序当前主要业务流程造成明显影响,需要对后台静默下载的资源的下载速度进行控制。
本发明实施例提供了一种资源下载控制方法,该方法可以应用于本发明实施例的资源下载控制装置,该资源下载控制装置可配置于终端或者终端的应用程序中。其中,终端可以是智能手机、台式电脑、平板电脑、笔记本电脑等具有各种操作系统的硬件设备。
请参阅图1,其所示为本发明实施例提供的一种资源下载控制方法的流程示意图,需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的,如图1所示,所述方法包括:
S101,确定目标资源在当前下载阶段的阶段下载量。
目标资源为目标应用程序通过后台静默下载的资源,例如,目标资源可以是但不限于目标应用程序的版本更新数据包,目标应用程序中较大的动画资源等。
在本说明书实施例中,终端向服务器发送目标资源获取请求并建立连接后,即进入了对目标资源的整体下载过程直至目标资源被完成下载,在该整体下载过程中终端不再向服务器重复发送目标资源的获取请求。目标资源的整体下载过程中包括多个间隔的休眠阶段,在休眠阶段暂停对目标资源的下载,可以理解的,整体下载过程中除休眠阶段之外为对目标资源进行下载的多个下载阶段,各个下载阶段随着时间的推移依次进行目标资源的下载,各个下载阶段的阶段下载量之和为该目标资源的总数据量。具体的休眠阶段的确定将在后续进行详细说明。
S103,当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间。
具体的,在目标资源的下载过程中,记录目标资源在当前下载阶段的阶段下载量,当该阶段下载量达到第一预设下载量时,获取该阶段下载量对应的实际下时间。
其中,第一预设下载量可以根据目标资源的大小进行设定,例如,可以将第一预设下载量设定为目标资源大小的1/10。第一预设下载量也可以根据实际需要设定为一个具体的数据量,例如,可以将第一预设下载量设定为100KB。
S105,根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间。
在本说明书实施例中,预设限速目标可以根据实际的限速需求进行设定,例如可以将预设限速目标设定为当前网络速度的20%。在根据当前网络速度和预设限速目标确定阶段下载量对应的目标下载时间时,可以根据当前网络速度和预设限速目标确定目标网络速度,将阶段下载量除以目标网络速度即可以得到目标下载时间。
在本说明书实施例中,由于目标网络速度是基于当前网络速度确定的,因此可以使得目标网络速度根据实时网络状况动态变化,进而确保了基于该目标网络速度得到的目标下载时间与实际网络状况的匹配性。
S107,根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间。
实际应用中,在根据目标下载时间和实际下载时间确定休眠阶段的休眠时间时,可以确定目标下载时间和实际下载时间的差值,将目标下载时间和实际下载时间的差值作为休眠阶段的休眠时间。
需要说明的是,该休眠时间可以是一个具体的时间长度,也可以是两个具体的时间点,通过该两个具体的时间点可以确定休眠阶段的休眠时长。
S109,根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
在本说明书实施例中,当确定了休眠时间后,即可以根据该休眠时间进入休眠阶段,在休眠阶段暂停对目标资源的下载。例如,确定的休眠时间为30s,则进入休眠阶段为30s时长的休眠,即在这30s内暂停对目标资源的下载。可以理解的,当休眠阶段结束时,重新进入目标资源的下载阶段,即重复执行上述步骤S101至步骤S109,直至目标资源被完全下载。
由本发明实施例的上述技术方案可见,本发明实施例通过确定目标资源在当前下载阶段的阶段下载量,当该阶段下载量达到第一预设下载量时,获取上述阶段下载量对应的实际下载时间,并根据当前网络速度和预设限速目标,确定上述阶段下载量对应的目标下载时间,根据目标下载时间和实际下载时间确定休眠阶段的休眠时间,根据休眠时间进入暂停对目标资源的下载的休眠阶段,从而在客户端以较小的流量波动、在限定的速度范围内更快的实现对目标资源的下载,避免了对应用程序当前主要业务流程造成明显影响。
此外,本发明实施例只需在目标资源最初开始下载时与服务器建立一次连接,因此不需要开启与服务器的长连接特性,避免了对服务器的依赖;另外,还避免了分片控制策略中,因为每次都是请求一个小数据分片导致的HTTP请求头的冗余、数据就绪时间被拖的很长的情况。
在一些实施例中,在确定目标资源在当前下载阶段的阶段下载量之前,上述资源下载控制方法还可以包括以下两个步骤:
确定所述目标资源对应的应用程序的接口缓存区。其中,该接口缓存区对应的接口可以是Socket。
根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度。
实际应用中,应用程序从网络下载数据时,数据并没有直接从服务器传输到应用程序对应的内存中,而是先经过应用程序的各级缓存区(buffer)的缓存过程。以两级缓存为例,如图2所示,服务器中的资源经过网卡先传输到内核缓存区(Kernal Buffer),然后由内核缓存区传输到各个应用程序(英文全称:Application,英文缩写:APP)对应的接口缓存区(Socket Buffer),再由接口缓存区传输到相应应用程序对应的内存(User Buffer)中。因此,为了确保当前网络速度能够反应网络的实际情况,本说明书实施中在根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度时,可以采用图3所示的方法,该方法可以包括:
S301,获取所述接口缓存区中缓存的所有数据。
具体的,应用程序可以读取接口缓存区中缓存的所有数据,以将这些数据存储在该应用程序对应的内存中。
S303,清空所述接口缓存区。
具体的,在将应用程序对应的接口缓存区中的所有数据都读取完后,可以将接口缓存区中的数据删除,以清空该接口缓存区。
S305,下载所述接口缓存区中新增的所述目标资源。
实际应用中,当接口缓存区中的空间被释放出来后,服务器中的目标资源还会源源不断的传输到接口缓存区中进行缓存,此时下载接口缓存区中新增的目标资源。
S307,根据所述新增的所述目标资源的第一下载量和第一下载时间,确定所述当前网络速度。
具体的,在根据新增的所述目标资源的第一下载量和第一下载时间确定当前网络速度时,可以记录该新增的目标资源的第一下载量,当该第一下载量达到第三预设下载量时,获取该第一下载量对应的第一下载时间,并将第一下载量除以第一下载时间,以得到当前网络速度。其中,第三预设下载量可以根据实际需要进行设定,例如,可以将第三预设下载量设定为100KB。
在本说明书实施例中,以清空后的接口缓存区中新增的目标资源的下载量和对应的下载时间来确定当前网络速度,从而可以保证当前网络速度是基于实际网络上传输的数据确定的,而非应用程序的各级缓存中的数据,使得当前网络速度能够反应网络的实际情况,准确性更高,那么相应的也就提高了资源下载控制的准确性。
实际应用中,一般在终端与服务器建立连接,准备开始目标资源的下载时进行前述图3方法实施例所示的当前网络速度的确定。考虑到在目标资源的后续下载过程中,网格状况很有可能出现变化,为了能够反映出网络状况在下载过程中的变化,在一些实施例中,如图4所示,在确定所述目标资源对应的应用程序的接口缓存区之前,上述资源下载控制方法还可以包括:
S401,获取所述目标资源在多个下载阶段的阶段下载量。
具体的,获取目标资源在当前时间点之前的各个下载阶段的阶段下载量。
S403,根据所述多个下载阶段的阶段下载量,确定所述目标资源的当前总下载量。
具体的,将目标资源在当前时间点之前的各个下载阶段的阶段下载量进行加和,得到目标资源的当前总下载量。
S405,当所述当前总下载量达到第二预设下载量时,执行所述确定所述目标资源对应的应用程序的接口缓存区的步骤。
具体的,可以判断目标资源的当前总下载量是否达到第二预设下载量,当判断的结果为当前总下载量达到第二预设下载量时,确定所述目标资源对应的应用程序的接口缓存区。
其中,第二预设下载量可以根据目标资源的总数据量以及实际需求进行设定,例如,可以将第二预设下载量设定为目标资源总数据量的一半等。
S407,根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度。
在根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度时,可以参见前述图3方法实施例中的具体内容,在此不再赘述。
如此,在后续休眠阶段的确定时,当前网络速度更能准确的反映出当前网络的实际状况,实现了当前网络速度的自适应性,确保了休眠阶段确定的准确性,进而确保了资源下载控制的准确性。
实际应用中,如图5所示基于本发明实施例的资源下载控制方法进行实际下载操作的下载曲线,在基于本发明实施例的资源下载控制方法进行目标资源的下载控制时,目标资源的各个下载阶段开始处会出现一个比较大的下载流量,从而造成了整个下载过程还存在一定的流量波动。
发明人在寻找上述流量波动的原因时发现,当客户端(即应用程序)与一个服务器(即网络资源)建立连接以后,即便客户端还没有开始读取网络资源,该网络资源也已经开始从服务器端传输到客户端的各级缓存区(buffer)中,而这是一个全速(即最大网络速度)传输的过程,因此,各个下载阶段开始处的流量大小其实取决于应用程序对应的接口缓存区的大小。例如,在目前的安卓设备上,应用程序的接口缓存区的大小一般在1MB~4MB的量级。
鉴于此,为了进一步降低下载过程中的流量波动,抑制各个下载阶段开始处出现的大流量,使得下载曲线更加的平滑,本说明书实施例中,在确定所述目标资源对应的应用程序的接口缓存区之前,对应用程序的接口缓存区进行了创建,以创建预设数据容量的接口缓存区。其中,预设数据容量小于1MB,且越小越好,理想状态下可以为0,但是太小也会对终端的整体性能产生影响,因此,预设数据容量可以根据实际性能和下载效果的需求设定一个合适的数据容量,例如可以设定为100KB等。
实际应用中,在创建预设数据容量的接口缓存区时,可以通过调用接口中实现接口缓存区大小的方法来对接口缓存区的数据容量进行调节以使得接口缓存区的大小为预设数据容量。例如,当应用程序的接口为Socket时,可以在创建Socket时通过调用Socket的setReceiveBufferSize方法来设定接口缓存区的大小为预设数据容量。其中,调用过程的实现可以根据应用程序的具体网络请求方式(Http)来确定,例如,腾讯体育APP中下载模块采用的是OkHttp(一种网络请求方式)实现,OkHttp提供了setSocketFactory这个方法,通过setSocketFactory可以干预socket的创建过程,即在创建下载所用Socket时调用setSocketFactory以直接指定接收缓存区的数据容量。
本发明实施例通过创建预设数据容量的接口缓存区,避免了在各个下载阶段开始处出现的较大的下载流量,使得目标资源的整个下载过程的流量波动更小,基本趋于稳定的下载流量,可以在限定的速度范围内更快、更稳的下载完目标资源。
与上述几种实施例提供的资源下载控制方法相对应,本发明实施例还提供一种资源下载控制装置,由于本发明实施例提供的资源下载控制装置与上述几种实施例提供的资源下载控制方法相对应,因此前述资源下载控制方法的实施方式也适用于本实施例提供的资源下载控制装置,在本实施例中不再详细描述。
请参阅图6,其所示为本发明实施例提供的一种资源下载控制装置的结构示意图,如图6所示,该装置可以包括:第一确定模块610、第一获取模块620、第二确定模块630、第三确定模块640和休眠模块650,其中,
第一确定模块610,用于确定目标资源在当前下载阶段的阶段下载量;
第一获取模块620,用于当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;
第二确定模块630,用于根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;
第三确定模块640,用于根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;
休眠模块650,用于根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
可选的,如图7提供的另一种资源下载控制装置的结构示意图,该装置还可以包括:
第四确定模块660,用于确定所述目标资源对应的应用程序的接口缓存区;
网速检测模块670,用于根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度。
可选的,所述网速检测模块670可以包括:第三获取模块、清空模块、下载模块和第六确定模块,其中,
第三获取模块,用于获取所述接口缓存区中缓存的所有数据;
清空模块,用于清空所述接口缓存区;
下载模块,用于下载所述接口缓存区中新增的所述目标资源;
第六确定模块,用于根据所述新增的所述目标资源的第一下载量和第一下载时间,确定所述当前网络速度。
可选的,所述第六确定模块可以包括:记录模块、第四获取模块和第一计算模块,其中,
记录模块,用于记录所述新增的所述目标资源的第一下载量;
第四获取模块,用于在所述第一下载量达到第三预设下载量时,获取所述第一下载量对应的第一下载时间;
第一计算模块,用于将所述第一下载量除以所述第一下载时间,得到所述当前网络速度。
可选的,如图8提供的另一种资源下载控制装置的结构示意图,该装置还可以包括:
第二获取模块810,用于获取所述目标资源在多个下载阶段的阶段下载量;
第五确定模块820,用于根据所述多个下载阶段的阶段下载量,确定所述目标资源的当前总下载量;当所述当前总下载量达到第二预设下载量时,执行所述确定所述目标资源对应的应用程序的接口缓存区的步骤。
可选的,所述装置还可以包括:
创建模块,用于创建预设数据容量的所述接口缓存区。
可选的,所述第二确定模块630可以包括:
第七确定模块,用于根据当前网络速度和预设限速目标,确定目标网络速度;
第二计算模块,用于将所述阶段下载量除以所述目标网络速度,得到所述目标下载时间。
可选的,休眠模块650可以包括:
第八确定模块,用于确定所述目标下载时间和实际下载时间的差值;
第九确定模块,用于将所述目标下载时间和实际下载时间的差值作为所述休眠阶段的休眠时间。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明实施例的资源下载控制装置通过确定目标资源在当前下载阶段的阶段下载量,当该阶段下载量达到第一预设下载量时,获取上述阶段下载量对应的实际下载时间,并根据当前网络速度和预设限速目标,确定上述阶段下载量对应的目标下载时间,根据目标下载时间和实际下载时间确定休眠阶段的休眠时间,根据休眠时间进入暂停对目标资源的下载的休眠阶段,从而在客户端以较小的流量波动、在限定的速度范围内更快的实现对目标资源的下载,并避免了分片控制策略中,因为每次都是请求一个小数据分片导致的HTTP请求头的冗余、数据就绪时间被拖的很长,以及对服务器的依赖。
请参阅图9,其所示为本发明实施例提供的一种终端的结构示意图,该终端用于实施上述实施例中提供的终端侧的直播视频的预览方法。具体来讲:
终端900可以包括RF(Radio Frequency,射频)电路99、包括有一个或一个以上计算机可读存储介质的存储器920、输入单元930、显示单元940、视频传感器950、音频电路960、WiFi(wireless fidelity,无线保真)模块970、包括有一个或者一个以上处理核心的处理器980、以及电源90等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器980处理;另外,将涉及上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路99还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如视频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器920还可以包括存储器控制器,以提供处理器980和输入单元930对存储器920的访问。
输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括图像输入设备931以及其他输入设备932。图像输入设备931可以是摄像头,也可以是光电扫描设备。除了图像输入设备931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板941。
终端900可包括至少一种视频传感器950,视频传感器用于获取用户的视频信息。终端900还可以包括其它传感器(未示出),比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
视频电路960、扬声器961,传声器962可提供用户与终端900之间的视频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理。音频电路960还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
WiFi属于短距离无线传输技术,终端900通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理核心;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
终端900还包括给各个部件供电的电源90(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源90还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端900还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法实施例提供的资源下载控制方法的指令。
在本发明实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种资源下载控制方法,其特征在于,所述方法包括:
确定目标资源在当前下载阶段的阶段下载量;
当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;
根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;
根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;
根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
2.根据权利要求1所述的资源下载控制方法,其特征在于,在确定目标资源在当前下载阶段的阶段下载量之前,所述方法还包括:
确定所述目标资源对应的应用程序的接口缓存区;
根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度。
3.根据权利要求2所述的资源下载控制方法,其特征在于,在确定所述目标资源对应的应用程序的接口缓存区之前,所述方法还包括:
获取所述目标资源在多个下载阶段的阶段下载量;
根据所述多个下载阶段的阶段下载量,确定所述目标资源的当前总下载量;
当所述当前总下载量达到第二预设下载量时,执行所述确定所述目标资源对应的应用程序的接口缓存区的步骤。
4.根据权利要求2所述的资源下载控制方法,其特征在于,所述根据所述接口缓存区中的数据对网络的网络速度进行检测,得到所述当前网络速度包括:
获取所述接口缓存区中缓存的所有数据;
清空所述接口缓存区;
下载所述接口缓存区中新增的所述目标资源;
根据所述新增的所述目标资源的第一下载量和第一下载时间,确定所述当前网络速度。
5.根据权利要求4所述的资源下载控制方法,其特征在于,所述根据所述新增的所述目标资源的第一下载量和第一下载时间,确定所述当前网络速度包括:
记录所述新增的所述目标资源的第一下载量;
当所述第一下载量达到第三预设下载量时,获取所述第一下载量对应的第一下载时间;
将所述第一下载量除以所述第一下载时间,得到所述当前网络速度。
6.根据权利要求2所述的资源下载控制方法,其特征在于,在确定所述目标资源对应的应用程序的接口缓存区之前,所述方法还包括:
创建预设数据容量的所述接口缓存区。
7.根据权利要求1所述的资源下载控制方法,其特征在于,所述根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间包括:
根据当前网络速度和预设限速目标,确定目标网络速度;
将所述阶段下载量除以所述目标网络速度,得到所述目标下载时间。
8.根据权利要求1所述的资源下载控制方法,其特征在于,所述根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时长包括:
确定所述目标下载时间和实际下载时间的差值;
将所述目标下载时间和实际下载时间的差值作为所述休眠阶段的休眠时间。
9.一种资源下载控制装置,其特征在于,所述装置包括:
第一确定模块,用于确定目标资源在当前下载阶段的阶段下载量;
第一获取模块,用于当所述阶段下载量达到第一预设下载量时,获取所述阶段下载量对应的实际下载时间;
第二确定模块,用于根据当前网络速度和预设限速目标,确定所述阶段下载量对应的目标下载时间;
第三确定模块,用于根据所述目标下载时间和实际下载时间,确定休眠阶段的休眠时间;
休眠模块,用于根据所述休眠时间进入所述休眠阶段,在所述休眠阶段暂停对所述目标资源的下载。
10.一种终端,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现所述资源下载控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910384115.8A CN110401691B (zh) | 2019-05-09 | 2019-05-09 | 一种资源下载控制方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910384115.8A CN110401691B (zh) | 2019-05-09 | 2019-05-09 | 一种资源下载控制方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110401691A true CN110401691A (zh) | 2019-11-01 |
CN110401691B CN110401691B (zh) | 2021-11-16 |
Family
ID=68322943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910384115.8A Active CN110401691B (zh) | 2019-05-09 | 2019-05-09 | 一种资源下载控制方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110401691B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327695A (zh) * | 2020-02-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种资源下载方法和相关装置 |
CN113992593A (zh) * | 2021-10-20 | 2022-01-28 | 京东科技信息技术有限公司 | 服务资源调用方法、装置、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686448A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 视频转码下载限速的方法和系统 |
CN103870470A (zh) * | 2012-12-11 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种加载应用程序的资源文件的方法和加载装置 |
EP2903260A1 (en) * | 2012-09-27 | 2015-08-05 | ZTE Corporation | Multi-speed playing method, device and system |
CN104951184A (zh) * | 2015-06-08 | 2015-09-30 | 小米科技有限责任公司 | 应用程序下载方法及装置 |
CN105323315A (zh) * | 2015-10-19 | 2016-02-10 | 北京奇虎科技有限公司 | 基于移动终端的应用下载方法、服务器及客户端 |
CN105610935A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 数据下载系统和数据下载方法 |
EP3073753A1 (en) * | 2013-11-21 | 2016-09-28 | Le Shi Zhi Xin Electronic Technology (Tianjin) Limited | Smart tv media player and playback progress adjustment method thereof, and smart tv |
US20160323358A1 (en) * | 2015-04-29 | 2016-11-03 | Box, Inc. | File-agnostic data downloading in a virtual file system for cloud-based shared content |
CN106231412A (zh) * | 2016-07-27 | 2016-12-14 | 宇龙计算机通信科技(深圳)有限公司 | 视频缓冲智能控制方法及系统 |
CN106303563A (zh) * | 2016-08-19 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 流媒体在线播放方法和装置 |
US20170290092A1 (en) * | 2012-07-06 | 2017-10-05 | Neutronic Perpetual Innovations Operating, Llc | System and method for mobile data expansion |
US20180146430A1 (en) * | 2016-11-23 | 2018-05-24 | Microsoft Technology Licensing, Llc | Inhibiting short drx based on device use conditions |
CN108206854A (zh) * | 2016-12-20 | 2018-06-26 | 广州市动景计算机科技有限公司 | 浏览器下载任务管理方法、装置及用户终端 |
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
US10200374B1 (en) * | 2016-02-29 | 2019-02-05 | Symantec Corporation | Techniques for detecting malicious files |
-
2019
- 2019-05-09 CN CN201910384115.8A patent/CN110401691B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170290092A1 (en) * | 2012-07-06 | 2017-10-05 | Neutronic Perpetual Innovations Operating, Llc | System and method for mobile data expansion |
EP2903260A1 (en) * | 2012-09-27 | 2015-08-05 | ZTE Corporation | Multi-speed playing method, device and system |
CN103870470A (zh) * | 2012-12-11 | 2014-06-18 | 腾讯科技(深圳)有限公司 | 一种加载应用程序的资源文件的方法和加载装置 |
EP3073753A1 (en) * | 2013-11-21 | 2016-09-28 | Le Shi Zhi Xin Electronic Technology (Tianjin) Limited | Smart tv media player and playback progress adjustment method thereof, and smart tv |
CN103686448A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 视频转码下载限速的方法和系统 |
US20160323358A1 (en) * | 2015-04-29 | 2016-11-03 | Box, Inc. | File-agnostic data downloading in a virtual file system for cloud-based shared content |
CN104951184A (zh) * | 2015-06-08 | 2015-09-30 | 小米科技有限责任公司 | 应用程序下载方法及装置 |
CN105323315A (zh) * | 2015-10-19 | 2016-02-10 | 北京奇虎科技有限公司 | 基于移动终端的应用下载方法、服务器及客户端 |
CN105610935A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 数据下载系统和数据下载方法 |
US10200374B1 (en) * | 2016-02-29 | 2019-02-05 | Symantec Corporation | Techniques for detecting malicious files |
CN106231412A (zh) * | 2016-07-27 | 2016-12-14 | 宇龙计算机通信科技(深圳)有限公司 | 视频缓冲智能控制方法及系统 |
CN106303563A (zh) * | 2016-08-19 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 流媒体在线播放方法和装置 |
US20180146430A1 (en) * | 2016-11-23 | 2018-05-24 | Microsoft Technology Licensing, Llc | Inhibiting short drx based on device use conditions |
CN108206854A (zh) * | 2016-12-20 | 2018-06-26 | 广州市动景计算机科技有限公司 | 浏览器下载任务管理方法、装置及用户终端 |
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
Non-Patent Citations (2)
Title |
---|
LU LIU,XIANGHUI CAO等: "Energy-Efficient Sleep Scheduling for Delay-Constrained Applications Over WLANs", 《IEEE TRANSACTION ON VEHICULAR TECHNOLOGY》 * |
吴天昊: "边缘缓存网络中的内容分发与基站休眠算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327695A (zh) * | 2020-02-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种资源下载方法和相关装置 |
CN113992593A (zh) * | 2021-10-20 | 2022-01-28 | 京东科技信息技术有限公司 | 服务资源调用方法、装置、电子设备及存储介质 |
CN113992593B (zh) * | 2021-10-20 | 2024-03-01 | 京东科技信息技术有限公司 | 服务资源调用方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110401691B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850434B (zh) | 多媒体资源下载方法及装置 | |
CN104618217B (zh) | 分享资源的方法、终端、服务器及系统 | |
CN104142868B (zh) | 建立连接的方法及装置 | |
CN104252341B (zh) | 应用程序的换肤方法、装置及应用程序的客户端设备 | |
CN106708554B (zh) | 程序运行方法及装置 | |
CN103455571A (zh) | 网页中的图片显示方法、装置及终端 | |
CN106294168B (zh) | 一种进行应用程序测试的方法和系统 | |
CN104519404A (zh) | 图像互换格式文件的播放方法及装置 | |
CN103279288A (zh) | 数据传输方法、装置和终端设备 | |
CN103455330A (zh) | 应用程序管理方法、终端、设备及系统 | |
CN104965722B (zh) | 一种显示信息的方法及装置 | |
CN107391198B (zh) | 任务调度方法和装置、计算机可读存储介质、移动终端 | |
CN103699595A (zh) | 一种终端浏览器的页面缓存方法和装置及终端 | |
CN105868319B (zh) | 网页加载方法及装置 | |
CN106020844A (zh) | 处理器中内核运行配置的确定方法以及装置 | |
CN105302804B (zh) | 业务账单的显示方法、终端及服务器 | |
CN109948090A (zh) | 网页加载方法及装置 | |
CN105630846A (zh) | 头像更新方法及装置 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN103399911A (zh) | 基于浏览器客户端的访问处理方法、装置及终端设备 | |
CN108984374B (zh) | 一种数据库性能的测试方法和系统 | |
CN110401691A (zh) | 一种资源下载控制方法、装置及终端 | |
CN108564539A (zh) | 一种显示图像的方法和装置 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
CN105208057B (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 |