CN116954931A - 带宽分配方法及装置、存储介质及电子设备 - Google Patents
带宽分配方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116954931A CN116954931A CN202311220618.4A CN202311220618A CN116954931A CN 116954931 A CN116954931 A CN 116954931A CN 202311220618 A CN202311220618 A CN 202311220618A CN 116954931 A CN116954931 A CN 116954931A
- Authority
- CN
- China
- Prior art keywords
- application
- period
- application programs
- bandwidth allocation
- class
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 239000000758 substrate Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008014 freezing Effects 0.000 description 3
- 238000007710 freezing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Abstract
本公开提供一种带宽分配方法及装置,存储介质及电子设备,其中,所述带宽分配方法包括:对终端设备当前运行的应用程序进行分类,得到各类别应用程序,然后,分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。本公开实施例提供的带宽分配方法,可以在保证终端设备稳定运行的情况下,通过带宽分配来控制应用程序在cpu上的运行时间,增大cpu的空闲时长,从而降低功耗,延长终端设备的使用时长。
Description
技术领域
本公开技术方案涉及计算机技术领域,尤其涉及一种带宽分配方法及装置、存储介质及电子设备。
背景技术
为了延长终端设备的使用时长,一方面,可以增加电池容量从而提供更多的能量储备。另一方面,可以限制CPU(Central Processing Unit,中央处理器)频率或强制CPU下线从而降低能耗。
增加电池容量通常需要更大的物理空间,而受终端设备有限的体积和物理空间的限制,不可以无限增加电池容量。而限制CPU频率或强制CPU下线都会对终端设备的性能造成很大的影响。
发明内容
有鉴于此,本公开实施例提供一种带宽分配方法及装置、存储介质及电子设备。
根据本公开的第一方面,提出了一种带宽分配方法,所述方法包括:
对终端设备当前运行的应用程序进行分类,得到各类别应用程序;
分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
结合本公开提供的任一实施方式,所述各类别应用程序包括:前台类应用程序、后台类应用程序;
所述分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,包括:
基于所述前台类应用程序对应的第一周期,为所述前台类应用程序分配带宽,并且,控制所述前台类应用程序的运行时长占所述第一周期的周期时长的一部分;
基于所述后台类应用程序对应的第二周期,为所述后台类应用程序分配带宽,并且,控制所述后台类应用程序的运行时长占所述第二周期中CPU的空闲时长。
结合本公开提供的任一实施方式,每一个应用程序包含多个任务;
所述对终端设备当前运行的应用程序进行分类,得到各类别应用程序之后,所述方法还包括:
对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序;
所述分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,包括:
基于所述目标类应用程序对应的目标周期,为所述目标类应用程序所包含的多个任务分配带宽,并且,在分配带宽时,为不同优先级的任务分配不同的带宽;其中,任务的优先级越高,为任务分配的带宽越大。
结合本公开提供的任一实施方式,所述对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序,包括:
根据所述目标类应用程序所包含的多个任务分别对应的运行时长,对所述多个任务进行优先级排序;其中,任务的运行时长越大,任务的优先级越高。
结合本公开提供的任一实施方式,所述目标类应用程序为前台类应用程序,且所述前台类应用程序中包含多个应用程序;
所述对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序,包括:
基于如下至少一项为所述多个应用程序所包含的多个任务进行优先级排序:
所述多个应用程序分别所属的应用类型;
所述多个应用程序分别对应的窗口显示形式;所述窗口显示形式包括大窗和小窗;
所述多个应用程序中每一个应用程序所包含的多个任务分别对应的运行时长。
结合本公开提供的任一实施方式,所述对终端设备当前运行的应用程序进行分类,得到各类别应用程序,包括:
响应于检测到所述终端设备的电池电量达到预设电量条件,对所述终端设备当前运行的应用程序进行分类,得到所述各类别应用程序。
结合本公开提供的任一实施方式,所述方法还包括:
响应于检测到所述终端设备当前运行的应用程序发生改变,重新执行对所述终端设备当前运行的应用程序进行分类。
根据本公开的第二方面,提出了一种带宽分配装置,所述装置包括:
分类模块,用于对终端设备当前运行的应用程序进行分类,得到各类别应用程序;
带宽分配模块,用于分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
根据本公开的第三方面,提供一种计算机可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,促使所述处理器实现本公开任一实施例的带宽分配方法。
根据本公开的第四方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为用于执行本公开任一实施例的带宽分配方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的带宽分配方法及装置、存储介质及电子设备中,终端设备可以对当前运行的应用程序进行分类,得到各类别应用程序,然后,分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括CPU的空闲时长。本公开实施例提供的带宽分配方法,可以在保证终端设备稳定运行的情况下,通过带宽分配来控制应用程序在cpu上的运行时间,增大cpu的空闲时长,从而降低功耗,延长终端设备的使用时长。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种带宽分配方法的流程图;
图2是本公开根据一示例性实施例示出的一种CPU运行状态示意图;
图3是本公开根据一示例性实施例示出的另一种CPU运行状态示意图;
图4是本公开根据一示例性实施例示出的另一种带宽分配方法的流程图;
图5是本公开根据一示例性实施例示出的一种带宽分配装置的结构示意图;
图6是本公开根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着移动互联网和智能化技术的飞速发展,各种终端设备具有越来越多的功能,可以满足人们在日常生活中对于信息获取、社交娱乐、在线购物等方面的需求。以手机为例,还具有更方便、快捷的支付功能和定位导航等功能,可以为用户提供更多便利性和实用性。因此,越来越多的用户将手机作为必需品之一,随身携带,并在各种场合中使用。
为了给用户带来较好的使用体验,手机厂商会尽可能的延长手机的使用时长。在一可选示例中,可以通过增加电池容量从而提供更多的能量储备来延长手机的使用时长。或者,在另一可选示例中,可以通过限制手机的CPU频率或强制CPU下线来降低能耗,从而延长手机的使用时长。再或者,可以使用冻结功能对手机运行的部分应用程序进行管控,即将长时间未使用或当前不需要的应用程序暂时停止,以便节省系统资源,降低功耗。
然而,增加电池容量通常需要更大的物理空间,而受手机有限的体积和物理空间的限制,不可以无限增加电池容量。限制手机的CPU频率或强制CPU下线的方式都会对手机的性能造成很大的影响。而冻结功能也只能对部分后台应用程序进行管控,无法对前台应用程序和部分后台应用程序(例如,音乐播放)进行冻结,无法实现对全场景全应用程序的功耗优化。换言之,现有的延长终端设备的使用时长的方法都有一定的局限性。
有鉴于此,本公开提供一种带宽分配方法,该方法中,终端设备,比如上述的手机,可以在保证终端设备稳定运行的情况下,通过带宽分配来控制应用程序在cpu上的运行时间,增大cpu的空闲时长,从而实现降低功耗,延长终端设备的使用时长的效果。
下面结合附图,对本公开实施例的带宽分配方法进行详细的描述。
图1是本公开根据一示例性实施例示出的一种带宽分配方法的流程图。该方法可以由终端设备,比如上述的手机,ipad等执行。如图1所示,该示例性实施例方法可以包括如下步骤:
在步骤101中,对终端设备当前运行的应用程序进行分类,得到各类别应用程序。
在本示例中,终端设备可以基于预先配置的分类规则,对终端设备当前运行的应用程序进行分类。比如,终端设备可以基于预先设置的分类规则,将终端设备当前运行的应用程序分为:前台类应用程序、后台类应用程序。再比如,终端设备可以基于预先设置的分类规则,将终端设备当前运行的应用程序分为:前台类应用程序、后台常驻类应用程序和后台其他类应用程序。其中,所述后台常驻类应用程序可以包括使用音频资源的应用程序、聊天应用程序等。所述后台其他类应用程序可以包括运行在终端设备后台、除所述后台常驻类应用程序之外的其他应用程序。
分类规则可以由相关工作人员基于实际情况进行设定,本公开对此不作限定。
在步骤102中,分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括CPU的空闲时长。
在一实施例中,当终端设备运行,比如,当用户使用终端设备看视频时,终端设备的CPU会一直处于运行状态,功耗较高。基于此,本示例方法中,终端设备可以基于各类别应用程序的带宽分配周期,为各类别应用程序周期性分配带宽。其中,在所述带宽分配周期的周期时长内,包括CPU的空闲时长。
在一个可选示例中,终端设备可以预先获取各类别应用程序与带宽分配周期的对应关系。比如,基于前述,所述对应关系可以为:前台类应用程序--第一周期,后台类应用程序--第二周期。终端设备在对当前运行的应用程序进行分类,得到前台类应用程序和后台类应用程序之后,即可以基于预先获取的上述对应关系,每第一周期为前台类应用程序分配一次带宽,每第二周期为后台类应用程序分配一次带宽。
同时,在分配带宽时,可以控制前台类应用程序的运行时长占所述第一周期的周期时长的一部分,从而使得所述第一周期的周期时长内还包括CPU的空闲时长。并且,控制所述后台类应用程序的运行时长占所述第二周期中CPU的空闲时长。
由于前台类应用程序需要运行更多的任务,因此,可以设置前台类应用程序的第一周期小于所述后台类应用程序的第二周期。比如,所述第一周期可以为CFS(CompletelyFair Scheduler,完全公平排程器)调度算法的周期,一般为6毫秒,所述第二周期可以为12毫秒。如图2所示,当以6毫秒为第一周期为前台应用程序分配带宽时,可以控制前台应用程序的运行时长占第一周期的周期时长(6毫秒)的一部分(3毫秒),即可以仅在每一个第一周期的前3秒内为前台应用程序分配带宽。此时,每一个第一周期内包括3毫秒的CPU的空闲时长。当以12毫秒为第二周期为后台类应用程序分配带宽时,如图2所示,可以控制后台应用程序的运行时长占第二周期中CPU的空闲时长,即可以在第二周期中CPU的空闲时长内为后台应用程序分配带宽。结合实际的,由于后台类应用程序不涉及渲染等任务,因此,通常在1毫秒之内即可以完成运行。容易想到,12-24毫秒、以及后续时间内的带宽分配情况与前述0-12毫秒相同,此处不再赘述。如图2所示,使用本示例的方法,可以延长CPU的空闲时长。
在一实施例中,终端设备可以设置在第二周期内的固定时间段内,比如第二周期内的第9毫秒--第10毫秒内为后台类应用程序分配带宽,此时,为了保证后台类应用程序运行在CPU的空闲时间,可以设置所述第二周期是所述第一周期的正整数倍。在另一实施例中,终端设备也可以设置在第二周期内CPU的任意空闲时间内为后台类应用程序分配带宽,此时,则无需满足所述第二周期是所述第一周期的正整数倍。
前述以第一周期为6毫秒,第二周期为12毫秒进行介绍,在实际应用中,周期的具体时长可以由相关工作人员基于实际情况进行设定,本公开对此不作限定。
本示例以终端设备同时运行前台类应用程序和后台类应用程序为例进行描述,应当说明,当终端设备仅运行有上述的某一类应用程序时,基于该类应用程序所对应的运行周期,为该类应用程序周期性分配带宽即可,其中,在带宽分配周期的周期时长内,包括CPU的空闲时长。
在另一个可选示例中,终端设备可以预先获取各类别应用程序与带宽分配周期的对应关系。比如,基于前述,所述对应关系还可以为:前台类应用程序--第一周期,后台常驻类应用程序--第二周期,后台其他类应用程序--第三周期。终端设备在对当前运行的应用程序进行分类,得到前台类应用程序、后台常驻类应用程序、后台其他类应用程序之后,即可以基于预先获取的上述对应关系,每第一周期为前台类应用程序分配一次带宽,每第二周期为后台常驻类应用程序分配一次带宽,每第三周期为后台其他类应用程序分配一次带宽。
同时,在分配带宽时,与前述相同的,可以控制前台类应用程序的运行时长占所述第一周期的周期时长的一部分,从而使得所述第一周期的周期时长内还包括CPU的空闲时长。并且,控制所述后台常驻类应用程序的运行时长占所述第二周期中CPU的空闲时长,控制所述后台其他类应用程序的运行时长占所述第三周期中CPU的空闲时长。
比如,所述第一周期可以为6毫秒,所述第二周期可以为12毫秒,所述第三周期可以为18毫秒。如图3所示,当以6毫秒为第一周期为前台应用程序分配带宽时,可以控制前台应用程序的运行时长占第一周期的周期时长(6毫秒)的一部分(3毫秒),即可以仅在每一个第一周期的前3秒内为前台类应用程序分配带宽。此时,每一个第一周期内包括3毫秒的CPU的空闲时长。当以12毫秒为第二周期为后台常驻类应用程序分配带宽时,如图3所示,可以控制后台常驻类应用程序的运行时长占第二周期中CPU的空闲时长。当以18毫秒为第三周期为后台其他类应用程序分配带宽时,如图3所示,可以控制后台其他类应用程序的运行时长也占第三周期中CPU的空闲时长。
由于运行在后台的后台类应用程序中,有些应用程序,比如使用音频资源的应用程序、聊天应用程序等需要相对频繁的运行在CPU上,以保证该类应用程序的正常运行。而有些应用程序,比如,时钟、购物类应用程序等则无需频繁运行在CPU上,因此,本示例中,可以将后台类应用程序细分为后台常驻类应用程序和后台其他类应用程序,并设置以更大的第三周期为后台其他类应用程序分配带宽,从而进一步降低该类应用程序占用CPU的时间,降低功耗。
本公开实施例提供的带宽分配方法中,终端设备可以对当前运行的应用程序进行分类,得到各类别应用程序,然后,分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括CPU的空闲时长。本公开实施例提供的带宽分配方法,可以在保证终端设备稳定运行的情况下,通过带宽分配来控制应用程序在cpu上的运行时间,增大cpu的空闲时长,从而降低功耗,延长终端设备的使用时长。
在一实施例中,终端设备可以在检测到所述终端设备的电池电量达到预设电量条件时,执行本示例的带宽分配方法。
所述预设电量条件可以用于指示所述终端设备处于低电量状态。比如,所述预设电量条件可以为终端设备的电池电量低于总电量的百分之四十,或者,所述预设电量条件还可以为终端设备的电池电量低于总电量的百分之三十,本公开对此不作限定。
由于本示例方法是在每一个带宽分配周期的周期时长内的一部分时长内为各类别应用程序分配带宽,因此,可能会由于带宽分配不及时出现卡顿等情况。基于此,本示例的带宽分配方法中,可以设置当终端设备的电池处于低电量状态时,再执行本示例的带宽分配方法,从而避免不必要的限制CPU的运行时长带来的卡顿等情况,给用户带来较好的使用体验。
图4是本公开根据一示例性实施例示出的另一种带宽分配方法的流程图。其中,在本实施例中,与前述实施例中相同的步骤将简单描述,不再详述,具体可以参见前述的任一实施例。前述实施例主要描述了终端设备可以基于各类别应用程序的带宽分配周期,为各类别应用程序周期性分配带宽。本实施例将在此基础上进一步描述当为每一类别应用程序分配带宽时,还可以为每一类别应用程序所包含的多个任务分配不同的带宽。如图4所示,该示例性实施例方法可以包括如下步骤:
在步骤401中,对终端设备当前运行的应用程序进行分类,得到各类别应用程序。
分类得到的所述各类别应用程序可以包括:前台类应用程序、后台类应用程序。或,分类得到的所述各类别应用程序还可以包括:前台类应用程序、后台常驻类应用程序、后台其他类应用程序。
在步骤402中,对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序。
所述目标类应用程序即为前述对终端设备当前运行的应用程序进行分类,所得到的各类别应用程序。
在本示例中,终端设备可以分别对每一类应用程序所包含的多个任务进行优先级排序,然后,当为某一类应用程序分配带宽时,根据该类应用程序所包含的多个任务中不同任务的优先级,为不同优先级的任务分配不同的带宽。
以目标类应用程序为前台类应用程序为例,在一个可选示例中,终端设备可以根据所述前台类应用程序所包含的多个任务分别对应的运行时长,对所述多个任务进行优先级排序。其中,任务的运行时长越大,任务的优先级越高。
以终端设备显示一帧图像为例,假如一帧图像对应16.6毫秒,在一实施例中,当显示该帧图像时,任务A(比如,渲染线程)会运行8毫秒,任务B(比如,音频线程)会运行5毫秒,任务C会运行3毫秒,任务D会运行0.6毫秒。因此,终端设备可以基于当前前台类应用程序所包含的多个任务中,每个任务分别对应的运行时长,为多个任务进行优先级排序。比如,在上述示例中,任务的优先级从高到低依次为:任务A、任务B、任务C、任务D。
前述以对前台类应用程序所包含的多个任务进行优先级排序为例进行说明,应当说明,对后台类应用程序、或后台常驻类应用程序、或后台其他类应用程序所包含的多个任务进行优先级排序的过程与前述对前台类应用程序所包含的多个任务进行优先级排序的过程相同,此处不再赘述。
在另一个可选示例中,当所述目标类应用程序为前台类应用程序,且所述前台类应用程序中包含多个应用程序,即所述终端设备处于分屏、或多窗口的状态时,终端设备可以基于如下至少一项为所述多个应用程序所包含的多个任务进行优先级排序:
所述多个应用程序分别所属的应用类型。
所述多个应用程序分别对应的窗口显示形式;所述窗口显示形式包括大窗和小窗。
所述多个应用程序中每一个应用程序所包含的多个任务分别对应的运行时长。
前述的应用类型优先级由高到低可以依次为:游戏、视频、音乐、购物、聊天、其他。前述的多个应用程序中每一个应用程序所包含的多个任务的优先级可以基于多个任务分别对应的运行时长来确定。
当终端设备的大窗、小窗显示的是同一类型的应用程序时,优先级由高到低可以依次为:大窗、小窗。当终端设备的大窗、小窗显示的是不同类型的应用程序时,也可以设置优先级由高到低依次为:大窗、小窗。或者,可以基于大窗、小窗显示的应用程序分别所属的应用类型确定大窗、小窗显示的应用程序的优先级。比如,可以设置当小窗显示的应用程序所属的应用类型的优先级高于大窗显示的应用程序所属的应用类型的优先级的数量达到2、或者3时,则认为小窗显示的应用程序的优先级高于大窗显示的应用程序的优先级,否则,则认为大窗显示的应用程序的优先级高于小窗显示的应用程序的优先级。
以小窗显示的应用程序的优先级高于大窗显示的应用程序的优先级的数量达到2时,则认为小窗显示的应用程序的优先级高于大窗显示的应用程序的优先级为例。比如,当终端处于多窗口状态,且大窗显示的是聊天应用,小窗显示的是视频应用时,则可以认为视频应用的优先级高于聊天应用的优先级。再比如,当终端处于多窗口状态,且大窗显示的是购物应用,小窗显示的是音乐应用时,则可以认为购物应用的优先级高于音乐应用的优先级。
以上述的购物应用的优先级高于音乐应用的优先级为例,当为音乐应用和购物应用所包含的多个任务进行优先级排序时,优先级由高到低可以为:购物应用的A任务、音乐应用的A任务、购物应用的B任务、音乐应用的B任务、购物应用的C任务、音乐应用的C任务……或者,也可以为:购物应用的A任务、购物应用的B任务、音乐应用的A任务、音乐应用的B任务、购物应用的C任务、购物应用的D任务、音乐应用的C任务、音乐应用的D任务。具体的排序方式可以由相关工作人员基于实际情况进行设定,本公开对此不作限定。
在步骤403中,基于所述目标类应用程序对应的目标周期,为所述目标类应用程序所包含的多个任务分配带宽,并且,在分配带宽时,为不同优先级的任务分配不同的带宽。
其中,任务的优先级越高,为任务分配的带宽越大。
比如,在前述示例中,当任务的优先级从高到低依次为:任务A、任务B、任务C、任务D时,可以为任务A二分之一的带宽,为任务B分配四分之一的带宽,为任务C分配六分之一的带宽,为任务D分配十二分之一的带宽。
本公开并不限定带宽的具体分配方式,只要满足任务的优先级越高,为任务分配的带宽越大即可。
本公开实施例提供的带宽分配方法中,终端设备可以在对当前运行的应用程序进行分类,得到各类别应用程序之后,进一步对每一类别的应用程序所包含的多个任务进行优先级排序,并在为该类应用程序分配带宽时,为不同优先级的任务分配不同的带宽,从而合理利用带宽资源,提升终端设备运行的稳定性。并且,相比冻结功能只能对部分后台应用程序进行管控的问题,本示例方法可以对全场景全应用程序进行控制,功耗优化效果更好。
在一实施例中,终端设备可以在检测到所述终端设备当前运行的应用程序发生改变时,重新执行本公开实施例的带宽分配方法。从而保证手机运行的稳定性。
可选的,终端设备可以在每一个带宽分配周期运行结束之后,检测终端设备运行的应用程序是否发生改变。或者,终端设备还可以每间隔预设时间段检测运行的应用程序是否发生改变,本公开对此不作限定。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
图5是本公开根据一示例性实施例示出的一种带宽分配装置的结构示意图,如图5所示,该带宽分配装置可以包括:
分类模块51,用于对终端设备当前运行的应用程序进行分类,得到各类别应用程序。
带宽分配模块52,用于分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
可选的,所述各类别应用程序包括:前台类应用程序、后台类应用程序。
所述带宽分配模块52,在用于分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分时,包括:
基于所述前台类应用程序对应的第一周期,为所述前台类应用程序分配带宽,并且,控制所述前台类应用程序的运行时长占所述第一周期的周期时长的一部分。
基于所述后台类应用程序对应的第二周期,为所述后台类应用程序分配带宽,并且,控制所述后台类应用程序的运行时长占所述第二周期中CPU的空闲时长。
可选的,每一个应用程序包含多个任务。
在图5所示模块的基础上,所述带宽分配模块还可以包括:
排序模块,用于对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序。
所述带宽分配模块52,在用于分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽时,包括:
基于所述目标类应用程序对应的目标周期,为所述目标类应用程序所包含的多个任务分配带宽,并且,在分配带宽时,为不同优先级的任务分配不同的带宽;其中,任务的优先级越高,为任务分配的带宽越大。
可选的,所述排序模块,在用于对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序时,包括:
根据所述目标类应用程序所包含的多个任务分别对应的运行时长,对所述多个任务进行优先级排序;其中,任务的运行时长越大,任务的优先级越高。
可选的,所述目标类应用程序为前台类应用程序,且所述前台类应用程序中包含多个应用程序。
所述排序模块,在用于对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序时,包括:
基于如下至少一项为所述多个应用程序所包含的多个任务进行优先级排序:
所述多个应用程序分别所属的应用类型。
所述多个应用程序分别对应的窗口显示形式;所述窗口显示形式包括大窗和小窗。
所述多个应用程序中每一个应用程序所包含的多个任务分别对应的运行时长。
可选的,所述分类模块51,在用于对终端设备当前运行的应用程序进行分类,得到各类别应用程序时,包括:
响应于检测到所述终端设备的电池电量达到预设电量条件,对所述终端设备当前运行的应用程序进行分类,得到所述各类别应用程序。
可选的,所述分类模块51,还用于:响应于检测到所述终端设备当前运行的应用程序发生改变,重新执行对所述终端设备当前运行的应用程序进行分类。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图6是根据一示例性实施例示出的一种电子设备600的结构示意图。例如,电子设备600可以是用户设备,可以具体为移动电话,计算机,数字广播终端,平板设备,个人数字助理,可穿戴设备如智能手表、智能手环等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在上述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如上述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,4G或5G,4G LTE、5G NR或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器604,当存储介质中的指令由电子设备600的处理器620执行时,使得电子设备600能够执行带宽分配方法,该方法包括:
对终端设备当前运行的应用程序进行分类,得到各类别应用程序。
分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种带宽分配方法,其特征在于,所述方法包括:
对终端设备当前运行的应用程序进行分类,得到各类别应用程序;
分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
2.根据权利要求1所述的方法,其特征在于,
所述各类别应用程序包括:前台类应用程序、后台类应用程序;
所述分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,包括:
基于所述前台类应用程序对应的第一周期,为所述前台类应用程序分配带宽,并且,控制所述前台类应用程序的运行时长占所述第一周期的周期时长的一部分;
基于所述后台类应用程序对应的第二周期,为所述后台类应用程序分配带宽,并且,控制所述后台类应用程序的运行时长占所述第二周期中CPU的空闲时长。
3.根据权利要求1所述的方法,其特征在于,每一个应用程序包含多个任务;
所述对终端设备当前运行的应用程序进行分类,得到各类别应用程序之后,所述方法还包括:对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序;
所述分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,包括:
基于所述目标类应用程序对应的目标周期,为所述目标类应用程序所包含的多个任务分配带宽,并且,在分配带宽时,为不同优先级的任务分配不同的带宽;其中,任务的优先级越高,为任务分配的带宽越大。
4.根据权利要求3所述的方法,其特征在于,所述对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序,包括:
根据所述目标类应用程序所包含的多个任务分别对应的运行时长,对所述多个任务进行优先级排序;其中,任务的运行时长越大,任务的优先级越高。
5.根据权利要求3所述的方法,其特征在于,所述目标类应用程序为前台类应用程序,且所述前台类应用程序中包含多个应用程序;
所述对所述各类别应用程序中的目标类应用程序所包含的多个任务进行优先级排序,包括:
基于如下至少一项为所述多个应用程序所包含的多个任务进行优先级排序:
所述多个应用程序分别所属的应用类型;
所述多个应用程序分别对应的窗口显示形式;所述窗口显示形式包括大窗和小窗;
所述多个应用程序中每一个应用程序所包含的多个任务分别对应的运行时长。
6.根据权利要求1-5任一所述的方法,其特征在于,所述对终端设备当前运行的应用程序进行分类,得到各类别应用程序,包括:
响应于检测到所述终端设备的电池电量达到预设电量条件,对所述终端设备当前运行的应用程序进行分类,得到所述各类别应用程序。
7.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
响应于检测到所述终端设备当前运行的应用程序发生改变,重新执行对所述终端设备当前运行的应用程序进行分类。
8.一种带宽分配装置,其特征在于,所述装置包括:
分类模块,用于对终端设备当前运行的应用程序进行分类,得到各类别应用程序;
带宽分配模块,用于分别基于所述各类别应用程序的带宽分配周期,为所述各类别应用程序分配带宽,并且,在所述带宽分配周期的周期时长内,控制应用程序的运行时长占所述周期时长的一部分,所述周期时长内还包括中央处理器CPU的空闲时长。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一所述方法的步骤。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为用于执行权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220618.4A CN116954931B (zh) | 2023-09-20 | 2023-09-20 | 带宽分配方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220618.4A CN116954931B (zh) | 2023-09-20 | 2023-09-20 | 带宽分配方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116954931A true CN116954931A (zh) | 2023-10-27 |
CN116954931B CN116954931B (zh) | 2023-12-26 |
Family
ID=88449677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311220618.4A Active CN116954931B (zh) | 2023-09-20 | 2023-09-20 | 带宽分配方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116954931B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986619A (zh) * | 2010-10-29 | 2011-03-16 | 南京丹奥科技有限公司 | 基于带宽预留的vsat卫星通信系统带宽分配方法 |
US20130159494A1 (en) * | 2011-12-15 | 2013-06-20 | Cisco Technology, Inc. | Method for streamlining dynamic bandwidth allocation in service control appliances based on heuristic techniques |
CN105099778A (zh) * | 2015-07-27 | 2015-11-25 | 中国联合网络通信集团有限公司 | 一种带宽分配的方法及装置 |
CN107402813A (zh) * | 2017-06-21 | 2017-11-28 | 努比亚技术有限公司 | 一种资源分配的方法及移动终端、计算机可读存储介质 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
CN109684090A (zh) * | 2018-12-19 | 2019-04-26 | 三星电子(中国)研发中心 | 一种资源分配方法和装置 |
-
2023
- 2023-09-20 CN CN202311220618.4A patent/CN116954931B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986619A (zh) * | 2010-10-29 | 2011-03-16 | 南京丹奥科技有限公司 | 基于带宽预留的vsat卫星通信系统带宽分配方法 |
US20130159494A1 (en) * | 2011-12-15 | 2013-06-20 | Cisco Technology, Inc. | Method for streamlining dynamic bandwidth allocation in service control appliances based on heuristic techniques |
CN105099778A (zh) * | 2015-07-27 | 2015-11-25 | 中国联合网络通信集团有限公司 | 一种带宽分配的方法及装置 |
CN107402813A (zh) * | 2017-06-21 | 2017-11-28 | 努比亚技术有限公司 | 一种资源分配的方法及移动终端、计算机可读存储介质 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
CN109684090A (zh) * | 2018-12-19 | 2019-04-26 | 三星电子(中国)研发中心 | 一种资源分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116954931B (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2649294C2 (ru) | Способ и устройство для построения шаблона и способ и устройство для идентификации информации | |
CN107544810B (zh) | 控制应用程序的方法和装置 | |
CN107193653B (zh) | 带宽资源分配方法、装置及存储介质 | |
CN109960539A (zh) | 应用程序预加载方法、装置、存储介质及移动终端 | |
US9350846B2 (en) | Mobile terminal and controlling method thereof | |
CN105912450B (zh) | 应用的状态信息显示方法及装置 | |
CN111198757B (zh) | Cpu内核调度方法、cpu内核调度装置及存储介质 | |
CN111240817B (zh) | 资源调度方法、资源调度装置及存储介质 | |
CN110855826A (zh) | 一种原子服务的呈现方法及装置 | |
CN112204532A (zh) | 一种终端对ai任务支持能力的评测方法及终端 | |
CN109062625B (zh) | 应用程序加载的方法、装置及可读存储介质 | |
CN112153218B (zh) | 页面显示方法、装置、可穿戴设备及存储介质 | |
CN113703937A (zh) | 动画切换方法及装置、存储介质 | |
CN116954931B (zh) | 带宽分配方法及装置、存储介质及电子设备 | |
CN113867927A (zh) | 资源分配方法、装置、电子设备和存储介质 | |
CN112701736A (zh) | 充电方法、装置、电子设备及存储介质 | |
CN110856196A (zh) | Wlan服务优化方法、终端设备和存储介质 | |
CN115061740B (zh) | 应用程序处理方法及装置 | |
CN114253385A (zh) | 移动终端的功耗管理方法、装置及计算机可读存储介质 | |
CN110909886B (zh) | 一种机器学习网络运行方法、装置及介质 | |
CN116089025A (zh) | 处理器频率控制方法、装置及存储介质 | |
CN113778669A (zh) | 系统资源分配方法、系统资源分配装置及存储介质 | |
CN116400974B (zh) | 进入长待机模式的方法、电子设备及可读存储介质 | |
CN116382786B (zh) | 进入长待机模式的方法、电子设备及可读存储介质 | |
WO2023071718A1 (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 |