CN114253699A - 资源使用控制方法、装置以及存储介质 - Google Patents
资源使用控制方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN114253699A CN114253699A CN202011023127.7A CN202011023127A CN114253699A CN 114253699 A CN114253699 A CN 114253699A CN 202011023127 A CN202011023127 A CN 202011023127A CN 114253699 A CN114253699 A CN 114253699A
- Authority
- CN
- China
- Prior art keywords
- task
- window
- processing
- processing resources
- type
- 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.)
- Pending
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开是关于一种资源使用控制方法、装置以及存储介质;其中,所述资源使用控制方法,包括:在检测到有多个任务待响应时,确定各所述任务所属的类型;基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;根据所述确定结果,分配响应对应所述任务的处理资源。这样,可以根据任务的类型来分配更为合适的处理资源,使得处理资源的分配更为符合需求。
Description
技术领域
本公开涉及显示技术领域,尤其涉及一种资源使用控制方法、装置以及存储介质。
背景技术
传统的显示界面上,应用在运行时会独占整个屏幕,即应用在前台运行时,前台没有再叠加第三方应用。而随着程序的研发和更新,现在的设备可以支持悬浮窗功能,可以在正在运行的显示界面上再开新的窗口,在该窗口上显示和操作第三方应用。例如,如图1所示,新开的小窗口里运行的是王者荣耀,而主窗口则运行的是和平精英。由于同时运行了多个应用,为保证应用画面的流畅性,需要对资源的调度和优化提出更高的要求。
发明内容
本公开提供一种资源使用控制方法、装置以及存储介质。
根据本公开实施例的第一方面,提供一种资源使用控制方法,包括:
在检测到有多个任务待响应时,确定各所述任务所属的类型;
基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
根据所述确定结果,分配响应对应所述任务的处理资源。
可选地,所述确定各所述任务所属的类型,包括:
根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
基于所述窗口参数,确定各所述任务所属的类型。
可选地,所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
可选地,所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
可选地,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
可选地,所述方法还包括:
确定各窗口已分配的处理资源所在的处理资源集合;
所述基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果,包括:
根据所述任务所属的类型,确定将各个任务所关联窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
可选地,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
可选地,所述根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源,包括以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
可选地,多个所述窗口包括:处于前台运行的主窗口;
所述方法,还包括:
在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
根据本公开实施例的第二方面,提供一种资源使用控制装置,包括:
类型确定模块,用于在检测到有多个任务待响应时,确定各所述任务所属的类型;
结果确定模块,用于基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
分配模块,用于根据所述确定结果,分配响应对应所述任务的处理资源。
可选地,所述类型确定模块,还包括:
参数确定模块,用于根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
类型确定子模块,用于基于所述窗口参数,确定各所述任务所属的类型。
可选地,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
可选地,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
可选地,所述分配模块,用于:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
可选地,所述装置还包括:
集合确定模块,用于确定各窗口已分配的处理资源所在的处理资源集合;
所述结果确定模块,还用于:
根据所述任务所属的类型,确定将各个任务所关联窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
可选地,所述分配模块,包括:
分配子模块,用于根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
可选地,所述分配子模块,还用于执行以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
可选地,多个所述窗口包括:处于前台运行的主窗口;
所述装置,还包括:
第二分配模块,用于在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
根据本公开实施例的第三方面,提供一种资源使用控制装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行所述存储器中存储的可执行指令时,实现上述第一方面的任一项所述的方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述第一方面任一项提供的方法中的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的资源使用控制方法,通过确定各任务所属的类型来确定优先响应各任务的处理资源,进而根据该确定出的处理资源,执行正式的处理资源分配。这样,由于在电子设备支持了多个窗口同时在显示界面运行后,需要同时支撑多个窗口对应的任务的运行,那么通过先确定各任务所属的类型的方式,就可以根据任务类型的不同,来实现对处理资源有针对性的分配。如此,不同类型的任务就分配不同的处理资源进行处理,使得处理资源的分配与任务类型紧密结合,可以改善部分处理资源优先分配的方式所带来的即使其他处理资源空闲也无法启用,而造成的处理缓存资源得不到有效利用的问题,使得资源调度可以根据任务的类型来进行,使得资源利用率可以更高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的显示界面上同时显示有多个窗口的示意图。
图2是根据一示例性实施例示出的一种基于先到先得的处理资源分配方法的示意图。
图3是根据一示例性实施例示出的一种资源使用控制方法的流程图。
图4是根据一示例性实施例示出的一种资源使用控制方法的示意图。
图5是根据一示例性实施例示出的一种资源使用控制装置的结构示意图。
图6是根据一示例性实施例示出的一种资源使用控制装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图2是根据一示例性实施例示出的一种基于先到先得的处理资源分配方法的示意图,如图2所示,在该分配方式中,假设系统中有两个处理器CPU0和CPU1,当前同时运行有2个窗口:1个大窗口和1个小窗口。大窗口运行的应用对应有2个任务A和B待处理,A和B需要先后访问同一个数据区的资源S1。小窗运行的应用对应有2个任务C和D待处理,同样的,C和D需要先后访问同一个数据区的资源S2。假设A、B、C和D这4个任务的唤醒顺序是:A-C-B-D。
采用先到先得的分配方式,就会将CPU0分配给A-C,CPU1分配给B-D。但A和C是对应的不同资源(S1或S2),使得CPU0中需要加载S1和S2,而B和D也是对应的不同资源(S1或S2),使得CPU1中也需要加载S1和S2。那么资源S1或S2就会加载多次,对系统运行的流畅度会有影响,且资源S1或S2也无法得到有效利用。
本公开实施例提供一种资源使用控制方法,图3是根据一示例性实施例示出的一种资源使用控制方法的流程图,如图3所示,该资源使用控制方法包括以下步骤:
步骤101,在检测到有多个任务待响应时,确定各所述任务所属的类型;
步骤102,基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
步骤103,根据所述确定结果,分配响应对应所述任务的处理资源。
需要说明的是,该资源使用控制方法可以应用于任意的电子设备,该电子设备可以是:智能手机,平板电脑,台式电脑或数码相机等设备。并且,该电子设备支持多个窗口的同时运行。
需要说明的是,该电子设备支持多个窗口的同时运行可以是指:显示界面上同时运行有大窗口和小窗口;还可以是指:显示界面上同时运行有多个小窗口,但没有主窗口的情况,即直接在桌面上悬浮运行多个小窗口。本公开对此不作限定。
该处理资源至少包括:以中央处理器(CPU)为代表的具备处理能力的资源。
这里,电子设备上各个应用的运行是以任务的形式呈现的,在主窗口和/或小窗口上运行有应用时,基于各类操作执行的触发,各类任务对应的进程会被提交到后台准备执行。
这里,主窗口可包括:大窗口。主窗口可为当前处于前台运行的窗口,或者,多个窗口层叠之后位于最顶上的窗口。例如,图1所示的和平精英游戏所在的窗口即为主窗口。
大窗口可包括:该电子设备上全屏窗口。
小窗口可包括:悬浮显示的各种非全屏窗口,通常小窗口的面积小于大窗口的面积。例如,图1所示的王者荣耀游戏所在的窗口即为小窗口。
需要说明的是,大窗口需要较大处理能力的处理资源,而小窗口可能需要较小处理能力的处理资源。
这里,基于该不同类型的窗口,该任务所属的类型包括:第一类型的任务或第二类类型的任务。
在一些实施例中,该第一类型的任务包括:运行在大窗口中的任务,该第二类型的任务包括:运行在小窗口中的任务。在另一些实施例中,该第一类型的任务还包括:运行在大窗口中的任务,而第二类型的任务还包括:系统应用或系统服务。在其他一些实施例中,该第一类型的任务还包括:系统应用或系统服务,而第二类型的任务还包括:运行在小窗口中的任务。
如此,本公开实施例中的任务可以包括:运行在大窗口中的任务、运行在小窗口中的任务、系统应用或者第三方应用这几种类型。
本公开实施例中,可以根据各任务的运行位置对任务进行划分,得到不同类型的任务。例如,根据运行在大窗口上的应用对应的任务或者运行在小窗口上的应用对应的任务,将任务划分为:第一类型的任务或第二类型的任务。
由于电子设备的显示界面上同时通过多个窗口运行着不同的应用,那么在后台等待被执行的任务中,就会存在一些任务是需要在主窗口上运行的,而一些任务是需要在小窗口上运行的。在电子设备在出厂后,基于安装的处理器的处理能力的限制,各电子设备在执行任务的处理时,对应的处理资源是有限的,无法同时满足全部任务的处理需要,如果分配处理资源采用先来先得的方式(任务列表中任务的触发顺序),就会导致处理器的缓存(cache)资源得不到有利用,进而系统中各窗口上运行的应用的流畅性也无法保证。
对此,本公开实施例提出了在处理各任务之前,先确定各所述任务所属的类型的方式,这样就可以基于各任务对应的类型,对各任务进行划分,进而再来确定出优先响应对应任务的处理资源。
大窗口由于是电子设备上主要运行应用的窗口,用户对大窗口运行的应用的关注和敏感度较高,因此,需要保障对大窗口运行的应用的流畅度,而对小窗口应用的流畅性要求相对较低。如此,为保障大窗口运行的应用的流畅度,需要使得处理资源的分配更具倾向性。例如,如果大窗口运行的应用对应的处理资源的处理能力更强,大窗口运行的应用在运行时的流畅度可以得到一些保障,用户使用感会更好。
如此,当确定了任务是属于将要运行在大窗口的任务,就可以基于类型与处理资源的对应关系,确定出优先响应对应所述任务的处理资源。
本公开实施例中,可以在电子设备中预先存储任务类型与处理资源的对应关系,即:由于大窗口上运行的应用用户的关注度更高,那么就可以预先将大窗口上运行的应用所对应的任务与处理能力更强的处理资源集合,来建立对应关系。
例如,假设电子设备上需要同时通过大小两个窗口同时运行不同的应用,电子设备的处理资源包括CPU0和CPU1,CPU0的处理能力强于CPU1。那么,为保证大窗口运行的应用在运行时的流畅度,可以将CPU0确定为优先响应大窗口运行的任务的处理资源。
这样,当显示界面上的某一窗口运行有应用时,基于各类操作的触发所提交到后台准备执行的任务,都是要在所述某一窗口上运行的,是同属该应用的,对应要访问的资源也是相同的。那么,该某一窗口上运行的这些任务所属的类型就是相同的(如都是运行在大窗口上的第一类型的任务),当确定了优先响应的处理资源后,在基于该处理资源进行处理时,由于所属的类型中前面执行的任务对应的要访问的资源,已经在该处理资源上进行了加载,那么后续要执行的任务就不会再次执行加载对应访问资源的操作。如此,缓存资源可以得到有效利用,系统不会存在由于等待对应访问资源的加载所造成的处理速率下降。
例如,图4是根据一示例性实施例示出的一种资源使用控制方法的示意图,如图4所示,当显示界面上的大窗口运行有应用M,小窗口运行有应用N时,基于在大窗口运行的应用M上的触控操作以及在小窗口运行的应用N上的触控操作,会有一些任务被提交到后台准备执行,这些任务中,一部分属于应用M,另一部分属于应用N。假设任务A和B属于应用M,任务C和D属于应用N,那么,任务A和B在处理时就是对应的大窗口,而任务C和D在处理时就是对应的小窗口。
由于任务A和B同属于应用M,那么对应的要访问的资源就是相同的,如都是要访问资源S1,任务C和D同属于应用N,那么对应的要访问的资源就是相同的,如都是要访问资源S2。那么,大窗口运行有应用M时,由于应用M对应的要加载的资源S1已经被加载到了大窗口对应的处理资源(如CPU0)中,那么后续处理应用M对应的任务A和B时,如果任务A和B确定的优先响应的处理资源为CPU0,就不会再在CPU0中执行资源S1的加载。此时,CPU0中已加载的资源S1可以得到有效的利用。
对应的,如图4所示,对应任务C和D的操作也是如此。
如此,这种将任务按照所属的类型进行划分的方式,使得处理资源的分配更具倾向性,可以改善先到先得的资源分配方式所带来的缓存资源会多次加载的问题,可以尽可能地保证属于同一类型的任务,通过同一处理资源来进行处理,以此来提高每个处理资源中加载的资源(S1和S2)的有效利用,为系统运行时的流畅性提供基础,也为提高用户使用应用时的体验提供保障。
在一些实施例中,所述确定各所述任务所属的类型,包括:
根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
基于所述窗口参数,确定各所述任务所属的类型。
本公开实施中,由于各等待响应的任务是即将需要处理的任务,也是基于检测的操作所触发的任务。例如,大窗口上运行有和平精英,当检测到和平精英界面上的对应控件被触发时,就会有相应的任务被响应。基于此,当多个窗口同时有任务等待响应时,后台等待处理的任务就会有多个。此时,在处理任务之前,就需要确定出各任务的归属,即归属于哪个窗口进行处理。
这里,各任务被触发后会携带有标识,该标识包括:应用标识或系统标识。
所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:据各所述任务所携带的标识,可以确定出各所述任务的归属信息;根据所述归属信息,确定各所述任务所关联的所述窗口的窗口参数。
所述归属信息是指:用于指示各任务归属哪类应用的信息。例如,归属于系统级应用,归属于微信应用。假设确定出任务A是归属于微信应用,而假设此时微信应用是运行在10CM*20CM窗口上,那么可以确定出各所述任务所关联的所述窗口的窗口参数。
该窗口参数包括:窗口类型、窗口面积、窗口标识和/或窗口运行时的优先级。
这里,窗口类型至少包括:大窗口或小窗口。
在得到窗口参数后,根据窗口参数与窗口类型的对应关系,即可确定出各所述任务所属的类型。例如,10CM*20CM窗口对应的窗口类型为小窗口,那么确定出任务A所属的类型为运行在小窗口上的第二类型的任务。
如此,直接获知任务的归属的方式,为后续执行处理资源的分配提供了基础。
在一些实施例中,所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
如上所述,窗口类型至少包括:大窗口或小窗口。
当获知到各任务所携带的标识,就可以确定各任务的归属哪类应用的信息,进而根据该应用当前运行窗口的窗口类型,就可以确定出对应任务的窗口类型。
在一些实施例中,所述根据各所述任务所携带的标识,确定各所述任务所关联的所述窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
这里,不同的窗口标识用于指示不同类型的窗口。
例如,窗口标识可以是字母形式的标识,大窗口和小窗口可以使用不同的字母来表征。
当获知到各任务所携带的标识,就可以确定各任务的归属哪类应用的信息,进而根据该应用当前运行窗口的窗口标识,就可以确定出对应任务的窗口类型。
在一些实施例中,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
这里,处理资源集合包括:电子设备中具备处理能力的资源所在的集合。例如上述CPU1或CPU0就是对应一个处理资源集合。
处理能力信息用于表征处理资源集合的处理能力。
本公开实施例中,不同处理资源集合的处理能力不同。例如,当电子设备中包含2个处理资源集合时,如CPU1和CPU0,CPU0的处理能力大于CPU1的处理能力。
由于一些处理资源集合的处理能力强,而大窗口由于是电子设备上主要运行应用的窗口,用户对大窗口运行的应用的关注和敏感度较高,需要保障对大窗口运行的应用的流畅度,那么,可以在起始分配处理资源时,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。例如,将CPU0中的处理资源优先分配给大窗口对应的任务。
如此,大窗口运行的应用在运行时的流畅度可以得到一些保障,用户使用感会更好。
在一些实施例中,所述方法还包括:
确定各窗口已分配的处理资源所在的处理资源集合。
这里,当电子设备的多个窗口上已经同时运行有应用时,可以先确定出各窗口已分配的处理资源所在的处理资源集合,即先确定出各窗口上当前运行的应用对应的处理资源所在的处理资源集合。例如,当前的大窗口上运行有微信,微信对应的处理资源所在的处理资源集合为CPU1。
由于已运行的应用会对应有要访问的资源,如S1,此时S1是已经加载至对应的处理资源集合中了,如CPU1中,那么考虑到系统运行的速率的提高和尽量减少资源如S1的多次加载,可以优先将已运行的应用对应的处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源。
即:所述基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果,包括:
根据所述任务所属的类型,确定将各个任务所关联的窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
这里,各窗口上已经运行的应用,由于已分配有处理资源,对应支撑应用运行时的访问资源也已经加载到了处理资源中,那么在准备工作均已完成的基础上,优先将各个任务所关联的窗口已分配处理资源所在处理资源集合内的处理资源,分配给与所述窗口具有所述关联关系的任务,是可以提升系统的处理速率。
例如,当前的大窗口上运行有微信,微信对应的处理资源所在的处理资源集合为CPU1。由于已运行的微信会对应有要访问的资源,如S1,那么此时S1是已经加载至对应的CPU1中了,就可以将CPU1中的处理资源,作为优先响应与该微信所在的大窗口具有所述关联关系的任务的处理资源,以此实现尽量减少S1的多次加载,进而提高系统运行的速率。
在一些实施例中,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
这里,在确定了用于优先响应各类型任务的处理资源后,为进一步提高系统的运行速率以及运行的流畅度,可以结合处理资源集合的负载率,来进一步执行处理资源的划分。
需要说明的是,使用处理能力强的处理资源来处理流畅度要求高的应用对应的任务,不仅可以提高应用运行的流畅度,还可以由于处理资源分配的合理性,使得系统的运行速率得以提高。
这里,负载率用于表征处理资源实际承担的负荷与容量的比值。
如果确定出的用于优先响应各类型任务的处理资源当前的负载率较高时,就可以通过更改处理资源,实现提高应用运行的流畅度以及提高系统的运行速率。
例如,假设基于任务A所属的类型,确定优先响应任务A的处理资源为CPU1。如果此时CPU1的负载率较高,就通过更换任务A的处理资源的方式,来尽可能地保证任务A对应的应用运行的流畅度。
基于各处理资源集合的负载率,所述根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源,包括以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
这里,通过分析处理资源集合的负载率,来确定是否更换各类型的任务对应的处理资源。
第二预设阈值和第一预设阈值可以基于电子设备的处理资源的总量确定。
如果确定出的用于优先响应各类型任务的处理资源当前的负载率较高时,就可以通过更改处理资源,实现提高应用运行的流畅度以及提高系统的运行速率。具体更改处理资源的方式就是:将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务。
如果确定出的用于优先响应各类型任务的处理资源当前的负载率较低时,就还是将先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务。
例如,假设基于任务A所属的类型,第二预设阈值为60%,第一预设阈值为20%。如果确定优先响应任务A的处理资源为CPU1。如果此时CPU1的负载率较高,大于60%,而CPU0的负载率较低为10%,就将任务A对应的处理资源由CPU1更换为CPU0。
再例如,如果此时CPU1的负载率较低为15%,就还是将CPU1分配给任务A。
在一些实施例中,多个所述窗口包括:处于前台运行的主窗口;
所述方法,还包括:
在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
这里,当电子设备中的全部的处理资源集合负载率都较高时,就还是优先将处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。这样,由于资源的加载不再进行,也可以实现对流畅度的保障。
由于系统的处理资源有限,大小窗应用同时运行时,不可避免的会引入处理资源争抢的问题。本公开对系统中的处理资源进行划分。当系统中某处理资源无法同时满足两个前台应用的同时使用时,就限制小窗口应用对处理资源的消耗和占用,优先大窗口应用的处理资源调度及时得到满足。
例如,可以在检测到系统中的大窗口应用的任务调度拥塞比较严重时,通过限制小窗口应用在中大核处理资源中的运行时间,将其限制在小核处理资源上运行,从而优先保证大窗口应用的流畅体验。
本公开还提供以下实施例:
如图2所示,在该分配方式中,由于采用先到先得的分配方式,就会将CPU0分配给A-C,CPU1分配给B-D。但A和C是对应的不同资源(S1或S2),使得CPU0中需要加载S1和S2,而B和D也是对应的不同资源(S1或S2),使得CPU1中也需要加载S1和S2。那么资源S1或S2就会加载多次,对系统运行的流畅度会有影响,且资源S1或S2也无法得到有效利用。
而实际上,A先被唤醒,放入到CPU0中去执行,此时,由于A访问了资源S1,S1的内容会被加载到CPU0的缓存中。随后A运行结束,C被唤醒。由于此时CPU0上已无任务在运行,因此C仍被放CPU0上运行。由于C需要访问资源S2,而CPU0上缓存的是S1的资源,使得缓存资源无法命中,这时,就会将S2的资源的加载到CPU0的缓存里,来满足任务C的运行。之后,任务B被唤醒:由于此时CPU0有任务在运行,任务B被入队到CPU1上,并将任务B运行访问的资源S1加载到CPU1的缓存里。期间,任务C运行结束,CPU0进入闲置状态。当B运行结束时,让出CPU1,此时任务D入队到CPU1。由于CPU1中保存的是任务B所使用的S1的数据缓存,缓存资源无法命中,想要完成任务D的运行,需要将资源S2加载到CPU1中。
根据上述流程会发现,资源S1和S2均被加载了2次到CPU内。实际上,当CPU0里由于运行任务A缓存有S1时,就可以将对应需要访问S1的任务通过CPU0来执行,就可以避免S1被再次加载,提升处理效率。
对此,本公开通过对当前运行的应用的窗口属性进行确定,得到各任务所属的类型。从而区分小窗口应用的任务和非小窗口(如大窗口)应用的任务,进而执行处理资源的分配。
以上述例子为例,当确定出任务C和D为小窗口应用的任务时,确定优先响应任务C和D的处理资源为CPU1。同理,将大窗口应用的任务A和B的处理资源设置为CPU0。
这样,这种将任务按照所属的类型进行划分的方式,使得处理资源的分配更具倾向性,可以改善先到先得的资源分配方式所带来的缓存资源会多次加载的问题,可以尽可能地保证属于同一类型的任务,通过同一处理资源来进行处理,以此来提高每个处理资源中加载的资源(S1和S2)的有效利用,为系统运行时的流畅性提供基础,也为提高用户使用应用时的体验提供保障。
本公开还提供一种资源使用控制装置,图5是根据一示例性实施例示出的一种资源使用控制装置的结构示意图,如图5所示,所述资源使用控制装置500,包括:
类型确定模块501,用于在检测到有多个任务待响应时,确定各所述任务所属的类型;
结果确定模块502,用于基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
分配模块503,用于根据所述确定结果,分配响应对应所述任务的处理资源。
在一些实施例中,所述类型确定模块,还包括:
参数确定模块,用于根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
类型确定子模块,用于基于所述窗口参数,确定各所述任务所属的类型。
在一些实施例中,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
在一些实施例中,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
在一些实施例中,所述分配模块,用于:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
在一些实施例中,所述装置还包括:
集合确定模块,用于确定各窗口已分配的处理资源所在的处理资源集合;
所述结果确定模块,还用于:
根据所述任务所属的类型,确定将各个任务所关联的窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
在一些实施例中,所述分配模块,包括:
分配子模块,用于根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
在一些实施例中,所述分配子模块,还用于执行以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
在一些实施例中,多个所述窗口包括:处于前台运行的主窗口;
所述装置,还包括:
第二分配模块,用于在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种资源使用控制装置1800的框图。例如,装置1800可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图6,装置1800可以包括以下一个或多个组件:处理组件1802,存储器1804,电力组件1806,多媒体组件1808,音频组件1810,输入/输出(I/O)接口1812,传感器组件1814,以及通信组件1816。
处理组件1802通常控制装置1800的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1802可以包括一个或多个处理器1820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1802还可以包括一个或多个模块,便于处理组件1802和其他组件之间的交互。例如,处理组件1802可以包括多媒体模块,以方便多媒体组件1808和处理组件1802之间的交互。
存储器1804被配置为存储各种类型的数据以支持在装置1800的操作。这些数据的示例包括用于在装置1800上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图像、视频等。存储器1804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电力组件1806为装置1800各种组件提供电力。电力组件1806可以包括:电源管理系统,一个或多个电源,及其他与为装置1800生成、管理和分配电力相关联的组件。
多媒体组件1808包括在所述装置1800和用户之间提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1808包括一个前置摄像头和/或后置摄像头。当装置1800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和/或后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1810被配置为输出和/或输入音频信号。例如,音频组件1810包括一个麦克风(MIC),当装置1800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1804或经由通信组件1816发送。在一些实施例中,音频组件1810还包括一个扬声器,用于输出音频信号。
I/O接口1812为处理组件1802和外围接口模块之间提供接口,上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1814包括一个或多个传感器,用于为装置1800提供各个方面的状态评估。例如,传感器组件1814可以检测到装置1800的打开/关闭状态、组件的相对定位,例如所述组件为装置1800的显示器和小键盘,传感器组件1814还可以检测装置1800或装置1800一个组件的位置改变,用户与装置1800接触的存在或不存在,装置1800方位或加速/减速和装置1800的温度变化。传感器组件1814可以包括接近传感器,被配置为在没有任何的物理接触时检测附近物体的存在。传感器组件1814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1814还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1816被配置为便于装置1800和其他设备之间有线或无线方式的通信。装置1800可以接入基于通信标准的无线网络,如WiFi、2G或3G,或它们的组合。在一个示例性实施例中,通信组件1816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在示例性实施例中,装置1800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1804,上述指令可由装置1800的处理器1820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得能够执行上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种资源使用控制方法,其特征在于,包括:
在检测到有多个任务待响应时,确定各所述任务所属的类型;
基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
根据所述确定结果,分配响应对应所述任务的处理资源。
2.根据权利要求1所述的方法,其特征在于,所述确定各所述任务所属的类型,包括:
根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
基于所述窗口参数,确定各所述任务所属的类型。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
4.根据权利要求2所述的方法,其特征在于,所述根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数,包括:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
5.根据权利要求4所述的方法,其特征在于,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定各窗口已分配的处理资源所在的处理资源集合;
所述基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果,包括:
根据所述任务所属的类型,确定将各个任务所关联窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
7.根据权利要求1所述的方法,其特征在于,所述根据所述确定结果,分配响应对应所述任务的处理资源,包括:
根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
8.根据权利要求7所述的方法,其特征在于,所述根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源,包括以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
9.根据权利要求8所述的方法,其特征在于,多个所述窗口包括:处于前台运行的主窗口;
所述方法,还包括:
在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
10.一种资源使用控制装置,其特征在于,包括:
类型确定模块,用于在检测到有多个任务待响应时,确定各所述任务所属的类型;
结果确定模块,用于基于所述任务所属的类型,确定优先响应对应所述任务的处理资源,得到确定结果;
分配模块,用于根据所述确定结果,分配响应对应所述任务的处理资源。
11.根据权利要求10所述的装置,其特征在于,所述类型确定模块,还包括:
参数确定模块,用于根据各所述任务所携带的标识,确定各所述任务所关联窗口的窗口参数;
类型确定子模块,用于基于所述窗口参数,确定各所述任务所属的类型。
12.根据权利要求11所述的装置,其特征在于,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口标识。
13.根据权利要求11所述的方法,其特征在于,所述参数确定模块,还用于:
根据各所述任务所携带的标识,确定各所述任务所属的应用对应窗口的窗口类型,其中,所述窗口类型包括:第一类窗口和第二类窗口;所述第一类窗口的面积大于所述第二类窗口的面积。
14.根据权利要求13所述的装置,其特征在于,所述分配模块,用于:
根据所述确定结果,在起始分配处理资源时,根据不同处理资源集合的处理能力信息,将处理能力强的处理资源集合中的处理资源优先分配给所述第一类窗口。
15.根据权利要求11所述的装置,其特征在于,所述装置还包括:
集合确定模块,用于确定各窗口已分配的处理资源所在的处理资源集合;
所述结果确定模块,还用于:
根据所述任务所属的类型,确定将各个任务所关联窗口已分配处理资源所在处理资源集合内的处理资源,作为优先响应与所述窗口具有所述关联关系的所述任务的处理资源,得到确定结果。
16.根据权利要求10所述的装置,其特征在于,所述分配模块,包括:
分配子模块,用于根据所述确定结果和各处理资源集合的负载率,分配响应对应所述任务的处理资源。
17.根据权利要求16所述的装置,其特征在于,所述分配子模块,还用于执行以下之一:
在优先响应对应所述任务的处理资源集合的负载率小于第一预设阈值时,将优先响应对应所述任务的处理资源集合中的处理资源,分配给所述任务;
在优先响应对应所述任务的处理资源集合的负载率大于或等于第二预设阈值时,将优先响应对应所述任务的处理资源的之外的负载率小于第一预设阈值的其他处理资源,作为待分配的处理资源,分配给所述任务;
其中,所述第二预设阈值大于或等于所述第一预设阈值。
18.根据权利要求17所述的装置,其特征在于,多个所述窗口包括:处于前台运行的主窗口;
所述装置,还包括:
第二分配模块,用于在各所述处理资源集合的负载率均高于所述第二预设阈值时,根据所述任务所属的类型,将各所述处理资源集合中空闲处理资源,分配给所述主窗口所对应的所述任务。
19.一种资源使用控制装置,其特征在于,包括:
处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至9任一项提供的方法中的步骤。
20.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至9任一项提供的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011023127.7A CN114253699A (zh) | 2020-09-25 | 2020-09-25 | 资源使用控制方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011023127.7A CN114253699A (zh) | 2020-09-25 | 2020-09-25 | 资源使用控制方法、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253699A true CN114253699A (zh) | 2022-03-29 |
Family
ID=80790391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011023127.7A Pending CN114253699A (zh) | 2020-09-25 | 2020-09-25 | 资源使用控制方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253699A (zh) |
-
2020
- 2020-09-25 CN CN202011023127.7A patent/CN114253699A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633151B (zh) | 分布式发布消息集群分区平衡的方法、装置及存储介质 | |
CN105955765B (zh) | 应用预加载方法及装置 | |
CN109254849B (zh) | 应用程序的运行方法及装置 | |
CN110650129B (zh) | 账号登录方法、装置及计算机可读存储介质 | |
CN111404836B (zh) | 数据传输控制方法、装置、控制中心、服务器及介质 | |
KR20160042398A (ko) | 백그라운드 애플리케이션을 제어하기 위한 방법 및 장치 | |
CN109156026B (zh) | 上行调度请求的发送方法、装置、设备及存储介质 | |
CN111581174A (zh) | 基于分布式集群系统的资源管理方法及装置 | |
CN113220482A (zh) | 调用请求处理方法、装置、电子设备及存储介质 | |
US9678868B2 (en) | Method and device for optimizing memory | |
CN109062625B (zh) | 应用程序加载的方法、装置及可读存储介质 | |
CN108958911B (zh) | 进程的控制方法及装置 | |
CN114116215A (zh) | 内存管理方法、装置、电子设备及存储介质 | |
CN112486658A (zh) | 一种任务调度方法、装置和用于任务调度的装置 | |
CN112256424A (zh) | 虚拟资源的处理方法、装置、系统、电子设备及存储介质 | |
CN116578422A (zh) | 资源分配方法和电子设备 | |
CN112307229A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN114253699A (zh) | 资源使用控制方法、装置以及存储介质 | |
CN115033369A (zh) | 基于任务处理的线程调度方法、装置和设备 | |
CN114398173A (zh) | 一种资源分配方法、装置及电子设备 | |
CN113722080A (zh) | 内存优化方法、装置及计算机存储介质 | |
CN113132263A (zh) | 内核处理器调度方法、内核处理器调度装置及存储介质 | |
CN110704197A (zh) | 处理内存访问开销的方法、装置及介质 | |
CN110716985B (zh) | 一种节点信息处理方法、装置及介质 | |
WO2024055708A1 (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 |