一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源下载控制方法、装置、电子设备和计算机可读介质与流程

2022-12-13 22:54:39 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种资源下载控制方法、装置、电子设备和计算机可读介质。


背景技术:

2.随着互联网技术的发展,网络资源例如音视频资源日益丰富,用户可以通过各种应用软件如视频客户端进行观看和下载,在同一时间,用户可以启动多个资源的下载,即在应用软件内同时存在多个业务的网络资源数据的下载任务。
3.然而,随着业务的增加,应用软件内会在同一时间使用多个进程执行不同业务的下载任务,不同业务可能会造成宽带贪婪抢占现象,宽带成本较高,并影响了用户的使用体验(例如下载任务使得视频观看或直播观看卡顿)或影响紧急任务的下载速度。


技术实现要素:

4.为解决上述技术问题或部分地解决上述技术问题,本发明实施例提供一种资源下载控制方法、装置、电子设备和计算机可读介质。
5.在本发明实施例的第一方面,提供了一种资源下载控制方法,包括:在资源下载进程集合中同时存在多个资源下载进程的情况下,目标资源下载进程分别与所述资源下载进程集合中的每个其他资源下载进程进行通信,获取每个所述其他资源下载进程的任务信息,所述任务信息包括优先级信息和第一限速值;所述第一限速值用于指示所述资源下载进程下载待下载的资源时的最大下载速度,所述目标资源下载进程为所述资源下载进程集合中任意一个资源下载进程;所述目标资源下载进程根据获取的每个所述其他资源下载进程的所述优先级信息和所述第一限速值,控制待下载资源的下载速度。
6.在本发明实施例的第二方面,提供了一种资源下载控制装置,所述装置应用于目标资源下载进程,所述目标资源下载进程为资源下载进程集合中任意一个资源下载进程,所述装置包括:通信模块,用于在所述资源下载进程集合中同时存在多个资源下载进程的情况下,分别与所述资源下载进程集合中的每个其他资源下载进程进行通信,获取每个所述其他资源下载进程的任务信息,所述任务信息包括优先级信息和第一限速值;所述第一限速值用于指示所述资源下载进程下载待下载的资源时的最大下载速度;速度避让模块,用于根据获取的每个所述其他资源下载进程的所述优先级信息和所述第一限速值,控制待下载资源的下载速度。
7.在本发明实施例的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例所述的资源下载控制方法。
8.在本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明任一实施例所述的资源下载控制方法。
9.上述发明中的一个实施例具有如下优点或有益效果:
10.通过在同时存在多个资源下载进程的情况下,目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,该任务信息包括优先级信息和第一限速值;第一限速值用于指示所述资源下载任务下载待下载的资源时的最大下载速度;目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度的技术手段,能够结合当前所有资源下载进程的状态,对各资源下载进程的下载速度进行动态控制,提高业务服务能力,满足不同业务的下载需求,提升用户体验。
11.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
12.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
13.图1示意性示出了本发明实施例的资源下载控制方法的主要流程的示意图;
14.图2示意性示出了本发明另一实施例的资源下载控制方法的流程示意图;
15.图3示意性示出了本发明实施例的资源下载控制方法的子流程示意图;
16.图4示意性示出了本发明又一实施例的资源下载控制方法的流程示意图;
17.图5示意性示出了本发明实施例的资源下载控制装置的结构示意图;
18.图6示意性示出了本发明实施例的电子设备的结构示意图。
具体实施方式
19.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
20.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
21.图1示意性示出了本发明实施例的资源下载控制方法的流程示意图,如图1所示,该资源下载控制方法包括:
22.步骤101:在资源下载进程集合中同时存在多个资源下载进程的情况下,目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值;第一限速值用于指示资源下载任务下载待下载的资源时的最大下载速度,目标资源下载进程为资源下载进程集合中任意一个资源下载进程。
23.其中,资源可以是通过网络进行下载的视频、音频、图片、文本、插件等各种形式的资源。在可选的实施例中,用户可以通过各种多媒体应用软件来下载上述资源,用户可以在
多媒体应用软件提供的用户交互界面上进行资源下载操作,该多媒体应用软件检测到用户的资源下载操作后创建与该资源下载操对应的资源下载进程。该资源下载进程可以包括待下载资源的标识,例如待下载资源的名称,也可以包括待下载资源的url(uniform resource locator,统一资源定位符)。
24.在本实施例中,资源下载进程的优先级信息可以用于指示该资源下载进程的优先程度。示例性的,资源下载进程的优先级信息可以利用高优先级、普通优先级、低优先级表示,也可以利用第一优先级、第二优先级和第三优先级表示。资源下载进程的优先级信息可以灵活设置,本发明在此不做限制。例如可以根据待下载的资源设置资源下载进程的优先级信息,不同的资源对应不同的优先级信息。也可以根据资源下载进程对应的业务设置资源下载任务的优先级信息,即属于不同业务的多个资源下载进程的优先级信息不同,属于同一个业务的多个资源下载进程的优先级信息相同。在本实施例中,业务与资源下载进程之间可以是一对多的关系。对于一个业务,在该业务下可以同时存在多个资源下载进程,而一个资源下载进程只能属于一个业务。其中,业务的划分可以根据应用场景灵活设置,本发明在此不做限制。还可以根据触发资源下载进程的用户的信息来设置优先级,例如用户等级越高的用户触发的资源下载进程的优先级越高。该第一限速值可以用于指示该资源下载进程在下载待下载资源时的最大下载速度。该第一限速值可以灵活设置,本发明在此不做限制。该第一限速值可以与资源下载进程的优先级信息相对应,优先级越高的资源下载进程,第一限速值越大。在可选的实施例中,第一限速值也可以根据待下载的资源设置,不同的资源对应不同的第一限速值。也可以根据资源下载进程对应的业务设置第一限速值,即不同类型的业务对应不同的第一限速值。其中,业务的划分可以根据应用场景灵活设置,本发明在此不做限制。还可以根据触发资源下载进程的用户的信息来设置第一限速值,例如用户等级越高的用户触发的资源下载进程的第一限速值越大。
25.在本实施例中,目标资源下载进程与资源下载进程集合中的每个其他资源下载进程进行通信,即通过进程间通信的方式获取每个其他资源下载进程的任务信息,从而使得目标资源下载进程可以结合所有其他资源下载进程的任务信息,控制待下载资源的下载速度。其中,进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程可以申请和拥有系统资源,是一个动态的概念,一个活动的实体。进程间通信(inter-process communication,简称ipc)是指两个进程的数据之间产生交互。
26.步骤102:目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度。
27.在本实施例中,可以根据各个资源下载进程的优先级信息,确定各个资源下载进程的优先级高低。优先级越高的资源下载进程越紧急。因此在同时存在多个资源下载进程的情况下,可以不限制优先级高的资源下载进程的下载速度,限制优先级低的资源下载进程的下载速度,从而将带宽让给优先级高的资源下载进程,以提高优先级高的资源下载进程的下载效率,避免带宽抢占。在另一可选的实施例中,也可以优先执行优先级高的资源下载进程,然后执行优先级低的资源下载进程,在执行每一资源下载进程时按照该资源下载进程的第一限速值进行限速。
28.本发明实施例的资源下载控制方法,在同时存在多个资源下载进程的情况下,通
过目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值;第一限速值用于指示资源下载进程下载待下载的资源时的最大下载速度,目标资源下载进程为资源下载进程集合中任意一个资源下载进程;目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度的技术手段,可以实现动态调整和控制各资源下载进程的下载速度,实现下载速度避让,避免发生宽带抢占,优化了用户体验。
29.图2示意性示出了本发明另一实施例的资源下载控制方法的流程示意图。在本实施例中在提供资源下载服务的服务侧对业务进行了划分,可以将业务划分为不同的类型,以及可以对不同类型的业务设置不同的优先级和不同的限速值。不同类型的业务的优先级和限速值可以动态调整。在创建某一业务的资源下载进程时,可以将该业务的优先级和限速值作为该资源下载进程的优先级信息和第一限速值,从而后续可以根据该优先级信息和第一限速值对资源下载进程进行动态调整和控制,满足不同业务的下载需求,提高用户的使用体验。如图2所示,本实施例的资源下载控制方法包括:
30.步骤201:响应于用户的资源下载操作,创建资源下载进程,并设置所述资源下载进程的任务参数,所述任务参数包括所述资源下载进程对应的目标业务的标识。
31.在本实施例中,可以在提供资源下载服务的服务侧(如多媒体应用软件的服务侧)可以按照某一规则将业务划分成不同的类型,划分业务的依据可以根据应用场景灵活设置,本发明在此不做限制。作为示例,在提供视频下载服务的服务侧可以根据资源的业务方进行划分,例如可以划分为直播业务、广告业务、在线播放业务、离线下载业务和插件下载业务等。其中,插件下载业务向用户提供可下载的插件。
32.用户可以在多媒体应用程序如客户端的用户交互界面上进行下载操作,例如在视频客户端的用户交互界面上下载某一视频的操作。在本实施例中,用户进行资源下载的操作可以作为资源下载进程的触发事件,当检测到该触发事件后,依据该触发事件创建资源下载进程。
33.在创建资源下载进程时,需要确定该资源下载进程的任务参数,该任务参数包括该资源下载进程对应的目标业务的标识。其中,可以根据用户的资源下载操作(如用户在客户端的用户交互界面上进行下载操作的位置)确定该资源下载进程对应的目标业务的标识。该标识用于识别目标业务,该标识可以是目标业务的id。通过目标业务的标识可以确定与该目标业务对应的业务优先级和业务限速值,或者,通过目标业务的标识确定目标业务的类型,进而可以确定该类型的业务对应的业务优先级和业务限速值。在确定目标业务对应的业务优先级和业务限速值之后,可以将该目标业务对应的业务优先级和业务限速值作为该资源下载进程的优先级信息和第一限速值。在可选的实施例中,该任务参数还可以包括进程创建时间、进行资源下载操作的用户的信息(如用户账号)等。
34.步骤202:根据所述资源下载进程的任务参数,从预配置的多个下载策略中确定与所述目标业务匹配的目标下载策略,所述目标下载策略包括所述目标业务的业务优先级和业务限速值;所述业务限速值用于指示所述目标业务的下载速度上限。
35.在本步骤中,可以预先针对不同类型的业务配置不同的下载策略,即针对不同类型的业务配置不同的业务优先级和业务限速值。预配置的下载策略可以存储在云端服务
器。该下载策略可以存储在云端服务器的下载映射表中,在该下载映射表中记录各个业务的id以及该业务的业务优先级和业务限速值。业务优先级用于指示业务的优先程度。业务限速值用于指示该业务的下载速度上限。预配置的下载策略可以动态配置,即可以根据业务的需求及时灵活地调整,更加实用,下载速度避让也更加合适,增加了本发明实施例的资源下载控制方法的灵活性和智能性。在本实施例中,根据资源下载进程中的目标业务的标识,确定与目标业务匹配的目标下载策略。
36.步骤203:将目标业务的业务优先级作为该资源下载进程的优先级信息,将目标业务的业务限速值作为该资源下载进程的第一限速值。
37.步骤204:在同时存在多个资源下载进程的情况下,目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值;第一限速值用于指示资源下载进程下载待下载的资源时的最大下载速度,目标资源下载进程为资源下载进程集合中任意一个资源下载进程。
38.步骤205:目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度。
39.其中,步骤204-步骤205与图1所示的步骤101-步骤102相同,本发明在此不再赘述。
40.在图2所示的实施例中,针对不同的业务配置了不同的业务优先级和业务限速值,可以实现满足不同业务的下载需求,该实施例是从业务维度对资源下载进程的下载速度进行调控。进一步的,在本发明其他实施例中可以在对资源下载进程设置业务优先级的基础上设置任务优先级,即资源下载进程的优先级信息包括业务优先级和任务优先级。其中,多个资源下载进程在比较优先级信息时,先比较业务优先级,业务优先级为同一等级的资源下载进程比较任务优先级,即任务优先级只有在业务优先级为同一等级的情况下进行比较。本发明实施例通过对资源下载进程设置业务优先级和任务优先级,实现更细粒度地调控资源下载进程的下载速度。示例性的,可以根据资源下载进程的紧急程度来设置不同资源下载进程的任务优先级,紧急程度越高优先级越高,也可以根据待下载资源的类型来设置不同进程的优先级。示例性的,可以通过high,normal,low标识任务优先级。其中,资源下载进程的任务优先级可以根据应用场景灵活设置,本发明在此不做限制。例如,对于离线下载业务,由于视频在服务端是以视频切片的形式进行存储,所以该业务在下载视频资源时是依次下载该视频的切片资源,因此对于该业务,可以将待下载资源为播放顺序靠前的视频切片的资源下载进程的优先级设置为high,将其他视频切片的资源下载进程的优先级设置为normal,也可以将待下载资源为图片类型的资源下载进程的任务优先级设置为high,将待下载资源为视频类型的资源下载进程的任务优先级设置为normal或low。
41.本发明实施例在设置了资源下载进程的任务优先级的情况下,每一资源下载进程具有两层优先级:业务优先级和任务优先级,通过该两层优先级细粒度地对多个资源下载进程的下载速度进行调控。具体的,如图3所示,根据业务优先级和任务优先级对多个资源下载进程的下载速度进行调控的过程可以包括:
42.步骤301:目标资源下载进程根据每个其他资源下载进程的业务优先级,确定是否存在业务优先级高于其业务优先级的其他资源下载进程;
43.步骤302:在存在业务优先级高于其业务优先级的其他资源下载进程的情况下,目标资源下载进程根据预设的第一缩减比率,更新第一限速值,得到第三限速值;将第三限速值作为目标限速值,将待下载资源的下载速度限制在目标限速值内;
44.步骤303:在不存在业务优先级高于其业务优先级的其他资源下载进程的情况下,目标资源下载进程确定是否存在业务优先级与其业务优先级为同一等级的其他资源下载进程;
45.步骤304:在不存在同级资源下载进程的情况下,目标资源下载进程不限制待下载资源的下载速度;
46.步骤305:在存在业务优先级与其业务优先级为同一等级的其他资源下载进程的情况下,目标资源下载进程将业务优先级与其业务优先级为同一等级的其他资源下载进程作为同级资源下载进程,确定是否存在任务优先级高于其的同级资源下载进程;
47.步骤306:在存在任务优先级高于其的同级资源下载进程的情况下,目标资源下载进程根据预设的第二缩减比率,更新第一限速值,得到第二限速值;将第二限速值作为目标限速值,将待下载资源的下载速度限制在目标限速值内;
48.步骤307:在不存在任务优先级高于其的同级资源下载进程的情况下,目标资源下载进程不限制待下载资源的下载速度。
49.本发明实施例中,在资源下载进程的优先级信息同时包括业务优先级和任务优先级的情况下,目标资源下载进程先判断各个资源下载进程的业务优先级,若存在业务优先级高于其自身的资源下载进程,则进行速度避让,以保证高业务优先级的资源下载进程的下载效率,避免抢占高业务优先级的资源下载进程的宽度;若不存在业务优先级高于其自身的资源下载进程,而存在业务优先级与其业务优先级为同一等级的资源下载进程,则判断是否存在任务优先级高于其自身的资源下载进程,若存在任务优先级高于其自身的资源下载进程,则进行速度避让,以保证高任务优先级的资源下载进程的下载效率;若既不存在业务优先级高于其自身的资源下载进程,也不存在业务优先级与其业务优先级为同一等级的资源下载进程,即其他资源下载进程的业务优先级都低于目标资源下载进程,则目标下载进程资源不限制其下载待下载资源的速度。基于以上内容可知,目标资源下载进程进行速度避让时包括以下两种情况:第一种情况:其他资源下载进程的业务优先级高于目标资源下载进程(即其他资源下载进程的业务紧急程度高于目标资源下载进程);第二种情况:同级资源下载进程的任务优先级高于目标资源下载进程(同级资源下载进程是指与目标资源下载进程的业务优先级为同一等级的其他资源下载进程,其他资源下载进程的业务紧急程度与目标资源下载进程相同)。目标资源下载进程在第一种情况下的限速值低于第二种情况下的限速值,即目标资源下载进程在第一种情况下的最大下载速度低于第二种情况下的最大下载速度,从而保证在存在高业务优先级的资源下载进程的情况下,高业务优先级的资源下载进程具有最大的下载效率和带宽;在存在业务优先级相同、任务优先级不同的资源下载进程的情况下,在保证高任务优先级的资源下载进程的下载效率的情况下保证低任务优先级的资源下载进程的下载效率。
50.在可选的实施例中,资源下载进程的任务参数还包括资源下载进程的等级限速值,所述等级限速值用于指示与所述用户的等级匹配的下载速度上限。该等级限速值可以通过如下过程确定:获取用户的账号信息,根据用户的账号信息确定用户的等级,从预配置
的多个等级限速值中确定与该用户的等级匹配的等级限速值。在本实施例中,可以预先对不同等级的用户设置不同的等级限速值,等级越高的用户,等级限速值越高,下载速度上限越大。
51.在确定资源下载进程的等级限速值之后,每一资源下载进程具有两个限速值:业务限速值和等级限速值。而每一资源下载进程最终只需要一个限速值,因此需要从业务限速值和等级限速值中确定最终的限速值。示例性的,可以将所述业务限速值、所述等级限速值中较小的限速值作为所述资源下载进程的第一限速值。在确定第一限速值之后,目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度。
52.在可选的实施例中,资源下载进程的任务参数还包括资源下载进程的网络限速值,所述网络限速值用于指示与所述用户当前网络状态匹配的下载速度上限。其中,网络状态用于指示网络的类型和网络的带宽。在本实施例中,可以针对不同的网络设置不同的限速值,网络带宽越大限速值越高。
53.在确定资源下载进程的网络限速值之后,可以将业务限速值、等级限速值、网络限速值中最小的限速值作为该资源下载进程的第一限速值。
54.在可选的实施例中,该方法还包括:目标资源下载进程获取在线播放状态。其中,在线播放状态用于指示当前播放是否流畅。在线播放状态包括在线播放流畅和在线播放卡顿两种状态。其中,目标资源下载进程可以与多媒体应用软件进行通信,获取多媒体应用软件的在线播放状态。作为示例,多媒体应用软件为视频客户端,目标资源下载进程为下载该视频客户端所提供的资源的进程,目标资源下载进程与视频客户端进行通信,获取视频客户端的在线播放状态。在可选的实施例中,目标资源下载进程也可以直接与负责在线播放业务的功能模块进行通信,以获取在线播放状态。例如在相关技术中,在线播放业务一般都是边下载边播放,则目标资源下载进程与在线播放业务的边下载边播放进程进行通信,获取在线播放状态。
55.目标资源下载进程获取到在线播放状态后,可以结合业务优先级、任务优先级和在线播放状态,控制待下载资源的下载速度。具体的,在目标资源下载进程根据业务优先级和任务优先级,确定将待下载资源的下载速度限制在目标限速值的情况下,目标资源下载进程根据在线播放状态确定是否更新目标限速值,若更新目标限速值,则将待下载资源的下载速度限制在更新后的目标限速值内,若不更新目标限速值,则将待下载资源的下载速度限制在原始的目标限速值内。进一步的,目标资源下载进程载确定在线播放状态为播放卡顿的情况下,确定更新目标限速值,并根据第三缩减比率更新目标限速值,得到第四限速值,将待下载资源的下载速度限制在第四限速值内;目标资源下载进程在确定在线播放状态为播放流畅的情况下,确定不更新目标限速值,将待下载资源的下载速度限制在原始的目标限速值内。
56.若目标资源下载进程根据业务优先级和任务优先级,确定不限制待下载资源的下载速度的情况下,目标资源下载进程根据在线播放状态确定是否对待下载资源的下载速度进行限制。进一步的,目标资源下载进程在确定在线播放状态为播放卡顿的情况下,确定对待下载资源的下载速度进行限制,并根据第四缩减比率更新第一限速值,得到第五限速值,将待下载资源的下载速度限制在第五限速值内;目标资源下载进程在确定在线播放状态为
播放流畅的情况下,确定不对待下载资源的下载速度进行限制。
57.本发明实施例中,目标资源下载进程结合业务优先级、任务优先级、在线播放状态控制待下载资源的下载速度,若在线播放状态为播放卡段的情况下,目标资源下载进程对下载速度进行限制,将带宽让出给在线播放业务,使在线播放保持在流畅的状态下,保证播放质量和用户体验。
58.在可选的实施例中,第三缩减比率和第四缩减比率根据如下过程确定:
59.统计预设周期内的卡顿次数;
60.根据所述卡顿次数,更新第三缩减比率和第四缩减比率,第三缩减比率和第四缩减比率均与所述卡顿次数呈正相关。
61.在本实施例中,第三缩减比率和第四缩减比率均与卡顿次数呈正相关,即第三缩减比率和第四缩减比率随着卡顿次数的增加而增大,卡顿次数越多,目标下载进程的目标限速值越小,目标限速值与卡顿次数呈负相关。第三缩减比率和第四缩减比率为[0,1]内的实数。以第三缩减比率a=0.1为例进行说明,若在线播放业务在一个周期内(如5分钟)发生多次卡顿,目标资源下载进程按如下方式调整第三缩减比率:在第一次发生卡顿时进入一个周期,按照预设的第三缩减比率a更新目标限速值,更新后的目标限速值v

=v
×
(1-0.1)=0.9v;在这个周期内第二次发生卡顿,将第三缩减比率增大,例如由0.1增大为0.2,按照增大后的第三缩减比率更新目标限速值,更新后的目标限速值v

=v
′×
(1-0.2)=0.8v

=0.72v。或者,在按照增大后的第三缩减比率更新目标限速值时,更新后的目标限速值v

=v
×
(1-0.2)=0.8v。
[0062]
在本实施例中,在线播放状态为播放卡顿的情况下,根据卡顿次数调整下载速度,卡顿次数越大,下载速度上限越小,以让出更多的宽带给在线播放业务,进一步优化用户的播放体验。
[0063]
在可选的实施例中,资源下载进程可以是离线下载进程和插件下载进程,离线下载进程用于离线下载视频、图片、文本等多媒体资源,其中,离线下载是指服务器代替电脑用户先行下载,先把数据下载到服务器,再从服务器下载到个人电脑。插件下载进程用于下载各种插件资源。
[0064]
为使本发明实施例的资源下载控制方法更加清楚,以下以多媒体应用软件为视频客户端为例进行说明。在该视频客户端中设置有播放模块、离线模块和插件模块。播放模块用于提供在线播放业务。离线模块用于提供离线下载业务,创建离线资源下载进程。插件模块用于提供插件下载业务,创建插件下载进程。播放模块会将在线播放状态同步给视频客户端,视频客户端将在线播放状态同步给离线模块和插件模块。如图4所示,该实施例的资源下载控制方法包括:
[0065]
步骤401:视频客户端的离线模块和插件模块响应于用户的资源下载操作,分别创建资源下载进程,并设置所述资源下载进程的任务参数。在本实施例中,资源下载进程的参数包括:资源下载进程对应的目标业务的标识、任务优先级、等级限速值、网络限速值。
[0066]
其中,目标业务的标识用于识别目标业务。在本实施例中,可以在提供资源下载服务的服务侧(如多媒体应用软件的服务侧)可以按照某一规则将业务划分成不同的类型。在本实施例中,可以将业务划分为离线下载业务和插件下载业务。
[0067]
任务优先级可以用于指示资源下载进程的优先程度。等级限速值用于指示与所述
用户的等级匹配的下载速度上限。该等级限速值可以通过如下过程确定:获取用户的账号信息,根据用户的账号信息确定用户的等级,从预配置的多个等级限速值中确定与该用户的等级匹配的等级限速值。在本实施例中,可以预先对不同等级的用户设置不同的等级限速值,等级越高的用户,等级限速值越高。网络限速值用于指示与所述用户当前网络状态匹配的下载速度上限。其中,网络状态用于指示网络的类型和网络的带宽。在本实施例中,可以针对不同的网络设置不同的限速值,网络带宽越大限速值越高。
[0068]
步骤402:各个资源下载进程分别向服务器发起请求,以从服务器中获取与所述目标业务匹配的目标下载策略,所述目标下载策略包括所述目标业务的业务优先级和业务限速值;所述业务限速值用于指示所述目标业务的下载速度上限。
[0069]
在本步骤中,可以预先针对不同类型的业务配置不同的下载策略,即针对不同类型的业务配置不同的业务优先级和业务限速值。预配置的下载策略可以存储在云端服务器。该下载策略可以存储在云端服务器的下载映射表中,在该下载映射表中记录各个业务的id以及该业务的业务优先级和业务限速值。业务优先级用于指示业务的优先程度。业务限速值用于指示该业务的下载速度上限。预配置的下载策略可以动态配置,即可以根据业务的需求及时灵活地调整。在本实施例中,根据资源下载任务中的目标业务的标识,确定与目标业务匹配的目标下载策略。
[0070]
步骤403:服务器向各个资源下载进程反馈目标业务的业务优先级和业务限速值。
[0071]
步骤404:播放模块向视频客户端发送在线播放状态通知,以向视频客户端同步在线播放状态。在线播放状态用于指示当前播放是否流畅。在线播放状态包括在线播放流畅和在线播放卡顿两种状态。
[0072]
步骤405:视频客户端向各个资源下载进程同步在线播放状态,以使各个资源下载进程获取在线播放状态。
[0073]
步骤406:各个资源下载进程之间进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值。
[0074]
在本实施例中,优先级信息包括:业务优先级和任务优先级。第一限速值为业务限速值、等级限速值和网络限速值中最小的限速值。
[0075]
步骤407:各个资源下载进程根据获取的每个其他资源下载进程的业务优先级、任务优先级、第一限速值和在线播放状态,控制待下载资源的下载速度。
[0076]
其中,目标资源下载进程在根据获取的业务优先级、任务优先级、第一限速值和在线播放状态控制待下载资源的下载速度的过程中,可以先判断业务优先级,再判断任务优先级和在线播放状态,具体可以包括以下几种情况:
[0077]
(1)存在业务优先级高于目标资源下载进程的其他资源下载进程,若在线播放状态为播放流畅,目标资源下载进程根据预设的第一缩减比率,更新第一限速值,得到第三限速值;将第三限速值作为目标限速值,将待下载资源的下载速度限制在目标限速值内;
[0078]
(2)存在业务优先级高于目标资源下载进程的其他资源下载进程,若在线播放状态为播放卡顿,目标资源下载进程根据预设的第一缩减比率,更新第一限速值,得到第三限速值;将第三限速值作为目标限速值,根据第三缩减比率,更新目标限速值,得到第四限速值,将待下载资源的下载速度限制在所述第四限速值内;
[0079]
(3)不存在业务优先级高于目标资源下载进程的其他资源下载进程,且不存在业
务优先级与目标资源下载进程为同一等级的其他资源下载进程,即其他资源下载进程的业务优先级都低于目标资源下载进程,若在线播放状态为播放流畅,目标资源下载进程不限制待下载资源的下载速度;
[0080]
(4)不存在业务优先级高于目标资源下载进程的其他资源下载进程,且不存在业务优先级与目标资源下载进程为同一等级的其他资源下载进程,若在线播放状态为播放卡顿,目标资源下载进程根据第四缩减比率更新第一限速值,得到第五限速值,将待下载资源的下载速度限制在第五限速值内;
[0081]
(5)不存在业务优先级高于目标资源下载进程的其他资源下载进程,存在业务优先级与目标资源下载进程为同一等级的同级资源下载进程,且存在任务优先级高于目标资源下载进程的同级资源下载进程,若在线播放状态为播放流畅,目标资源下载进程根据预设的第二缩减比率,更新第一限速值,得到第二限速值;将第二限速值作为目标限速值,将待下载资源的下载速度限制在目标限速值内;
[0082]
(6)不存在业务优先级高于目标资源下载进程的其他资源下载进程,存在业务优先级与目标资源下载进程为同一等级的同级资源下载进程,且存在任务优先级高于目标资源下载进程的同级资源下载进程,若在线播放状态为播放卡顿,目标资源下载进程根据预设的第二缩减比率,更新第一限速值,得到第二限速值;将第二限速值作为目标限速值,根据第三缩减比率,更新目标限速值,得到第四限速值,将待下载资源的下载速度限制在第四限速值内;
[0083]
(7)不存在业务优先级高于目标资源下载进程的其他资源下载进程,存在业务优先级与目标资源下载进程为同一等级的同级资源下载进程,且不存在任务优先级高于目标资源下载进程的同级资源下载进程,在线播放状态为播放流畅,目标资源下载进程不限制待下载资源的下载速度;
[0084]
(8)不存在业务优先级高于目标资源下载进程的其他资源下载进程,存在业务优先级与目标资源下载进程为同一等级的同级资源下载进程,且不存在任务优先级高于目标资源下载进程的同级资源下载进程,在线播放状态为播放卡顿,根据第四缩减比率更新第一限速值,得到第五限速值,将待下载资源的下载速度限制在第五限速值内。
[0085]
在本实施例中,步骤404-405可以在步骤401-步骤403之前执行,也可以在步骤406之后执行,本发明对此不作限制。
[0086]
本发明实施例的资源下载控制方法,通过在同时存在多个资源下载进程的情况下,通过目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值;第一限速值用于指示资源下载进程下载待下载的资源时的最大下载速度,目标资源下载进程为资源下载进程集合中任意一个资源下载进程;目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度的手段,能够综合当前所有资源下载进程的状态对各资源下载进程的下载速度进行控制,提高业务服务能力,满足不同业务的下载需求,提升用户体验。
[0087]
图5示意性示出了本发明实施例的资源下载控制装置500的结构示意图。该资源下载控制装置500可以应用于目标资源下载进程,该目标资源下载进程可以是资源下载进程集合中的任意一个资源下载进程。如图5所示,该装置500包括:
[0088]
通信模块501,用于在所述资源下载进程集合中同时存在多个资源下载进程的情况下,分别与所述资源下载进程集合中的每个其他资源下载进程进行通信,获取每个所述其他资源下载进程的任务信息,所述任务信息包括优先级信息和第一限速值;所述第一限速值用于指示所述资源下载进程下载待下载的资源时的最大下载速度;
[0089]
速度避让模块502,根据获取的每个所述其他资源下载进程的所述优先级信息和所述第一限速值,控制待下载资源的下载速度。
[0090]
可选地,所述速度避让模块还用于根据每个所述其他资源下载进程的所述优先级信息,确定是否存在优先级高于所述目标资源下载进程的其他资源下载进程;若存在,则将所述第一限速值作为目标限速值,并控制目标资源下载进程将待下载资源的下载速度限制在所述目标限速值内;若不存在,则控制目标资源下载进程不限制待下载资源的下载速度。
[0091]
可选地,所述装置还包括任务信息确定模块,用于:响应于用户的资源下载操作,创建资源下载进程,并确定所述资源下载进程的任务参数,所述任务参数包括所述资源下载进程对应的目标业务的标识;根据所述资源下载进程的任务参数中的目标业务的标识,从预配置的多个下载策略中确定与所述目标业务匹配的目标下载策略,所述目标下载策略包括所述目标业务的业务优先级和业务限速值;所述业务限速值用于指示所述目标业务的下载速度上限;将业务优先级作为资源下载任务的优先级信息,以及将业务限速值作为资源下载任务的第一限速值。
[0092]
可选地,任务参数还包括资源下载进程的任务优先级;
[0093]
任务信息确定模块还用于:将业务优先级和任务优先级作为资源下载任务的优先级信息;
[0094]
速度避让模块还用于:根据每个其他资源下载进程的业务优先级,确定是否存在业务优先级高于其业务优先级的其他资源下载进程;
[0095]
在不存在业务优先级高于其业务优先级的其他资源下载进程的情况下,确定是否存在业务优先级与其业务优先级为同一等级的其他资源下载进程;
[0096]
在存在业务优先级与其业务优先级为同一等级的其他资源下载进程的情况下,将业务优先级与其业务优先级为同一等级的其他资源下载进程作为同级资源下载进程,确定是否存在任务优先级高于其的同级资源下载进程;
[0097]
在存在任务优先级高于其的同级资源下载进程的情况下,根据预设的第二缩减比率,更新第一限速值,得到第二限速值;将第二限速值作为目标限速值,控制目标资源下载进程将待下载资源的下载速度限制在目标限速值内。
[0098]
在可选的实施例中,速度避让模块还用于:在存在业务优先级高于其业务优先级的其他资源下载进程的情况下,根据预设的第一缩减比率,更新第一限速值,得到第三限速值;将第三限速值作为目标限速值,控制目标资源下载进程将待下载资源的下载速度限制在目标限速值内;其中,第三限速值小于第二限速值;在不存在同级资源下载进程的情况下,控制目标资源下载进程不限制待下载资源的下载速度;在不存在任务优先级高于其的同级资源下载进程的情况下,控制目标资源下载进程不限制待下载资源的下载速度。
[0099]
可选地,任务参数还包括:资源下载进程的等级限速值,等级限速值用于指示与用户的等级匹配的下载速度上限;
[0100]
任务信息确定模块还用于:将业务限速值、等级限速值中较小的限速值作为第一
限速值。
[0101]
可选地,任务参数还包括:资源下载进程的网络限速值,网络限速值用于指示与用户当前网络状态匹配的下载速度上限;
[0102]
任务信息确定模块还用于:将业务限速值、等级限速值、网络限速值中最小的限速值作为第一限速值。
[0103]
可选地,通信模块还用于:获取在线播放状态;
[0104]
速度避让模块还用于:在根据优先级信息确定将待下载资源的下载速度控制在目标限速值内的情况下,根据在线播放状态,确定是否更新目标限速值,并在更新目标限速值的情况下,控制目标资源下载进程将待下载资源的下载速度限制在更新后目标限速值内;或,在根据优先级信息确定不对待下载资源的下载速度进行限制的情况下,根据在线播放状态,确定是否对待下载资源的下载速度进行限制。
[0105]
可选地,速度避让模块还用于:在确定在线播放状态为播放卡顿的情况下,确定更新目标限速值,并根据第三缩减比率更新目标限速值,得到第四限速值,控制目标资源下载进程将待下载资源的下载速度限制在第四限速值内;在确定在线播放状态为播放流畅的情况下,确定不更新目标限速值,控制目标资源下载进程将待下载资源的下载速度限制在目标限速值内;或,在根据优先级信息确定不对待下载资源的下载速度进行限制、在线播放状态为播放卡顿的情况下,确定对待下载资源的下载速度进行限制,并根据第四缩减比率更新第一限速值,得到第五限速值,控制目标资源下载进程将待下载资源的下载速度限制在第五限速值内;在根据优先级信息确定不对待下载资源的下载速度进行限制、在线播放状态为播放流畅的情况下,控制目标资源下载进程不对待下载资源的下载速度进行限制。
[0106]
可选地,速度避让模块还用于:统计预设周期内的卡顿次数;根据卡顿次数,更新第三缩减比率和第四缩减比率,第三缩减比率和第四缩减比率均与卡顿次数呈正相关。
[0107]
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
[0108]
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
[0109]
存储器603,用于存放计算机程序;
[0110]
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
[0111]
在资源下载进程集合中同时存在多个资源下载进程的情况下,目标资源下载进程分别与资源下载进程集合中的每个其他资源下载进程进行通信,获取每个其他资源下载进程的任务信息,任务信息包括优先级信息和第一限速值;第一限速值用于指示资源下载进程下载待下载的资源时的最大下载速度,目标资源下载进程为资源下载进程集合中任意一个资源下载进程;
[0112]
目标资源下载进程根据获取的每个其他资源下载进程的优先级信息和第一限速值,控制待下载资源的下载速度。
[0113]
上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0114]
通信接口用于上述终端与其他设备之间的通信。
[0115]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0116]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0117]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的资源下载控制方法。
[0118]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的资源下载控制方法。
[0119]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0120]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0121]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0122]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在
本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献