CN106547628A - 多***的资源释放方法及装置 - Google Patents

多***的资源释放方法及装置 Download PDF

Info

Publication number
CN106547628A
CN106547628A CN201611068613.4A CN201611068613A CN106547628A CN 106547628 A CN106547628 A CN 106547628A CN 201611068613 A CN201611068613 A CN 201611068613A CN 106547628 A CN106547628 A CN 106547628A
Authority
CN
China
Prior art keywords
importance value
resource
value
containment
comprehensive
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
CN201611068613.4A
Other languages
English (en)
Other versions
CN106547628B (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.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
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 Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201611068613.4A priority Critical patent/CN106547628B/zh
Publication of CN106547628A publication Critical patent/CN106547628A/zh
Application granted granted Critical
Publication of CN106547628B publication Critical patent/CN106547628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了多***的资源释放方法及装置,所述方法包括:主控***监测本设备的空闲资源的数值;当监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;关闭确定出的待关闭的进程以释放相应的资源。本发明实施例中,根据统一的资源释放策略统一评价多个容器***的所有进程的重要度,根据统一的评价结果对多个容器***的进程进行关闭以释放所占***资源,实现对多个容器***中的进程所占***资源的管控;优化了多***下的***资源的释放效果,可以给用户带来便利,提升用户的体验。

Description

多***的资源释放方法及装置
技术领域
本发明涉及终端技术领域,具体而言,本发明涉及一种多***的资源释放方法及装置。
背景技术
随着社会的进步和科技的发展,智能手机、平板电脑和电子阅读器等终端设备已广泛普及。相当一部分数量的终端设备中安装了两个操作***。
出于***快速切换的需要,两个操作***通常是同时运行在终端设备中的。在这种情况下,相比于运行单个操作***,终端设备***需要提供更多的***资源,例如处理器资源和内存资源等,以保证两个操作***的正常运行。
在终端设备上,为了保证用户使用应用流畅的体验,当一个应用从前台切换到后台的时候往往不会释放该应用所占用的***资源,而是继续占用原先的***资源。这样当新的应用被打开并且申请***资源的时候,终端设备会从空闲的资源中分配相应的***资源供新的应用使用。经过一段时间的运行,终端设备往往容易出现空闲资源不足的情况,这就需要关闭那些当前还继续占用***资源的应用的进程以释放相应的***资源。现有的双***还未配置行之有效的资源释放方法。
现有的单***的资源释放方法包括:选择相对不重要的应用的进程进行关闭,以释放相应的资源。然而,若把单***的资源释放方法直接运用到双***中的终端设备中,很可能该资源释放方法仅能对其中一个操作***起到作用,而对其它操作***不起作用。相当于仅有一个操作***会产生资源释放的效果,导致***资源的实际释放效果相当有限,在双***占用***资源明显多于单***的情况下,容易导致配置双***的终端设备经常出现***资源不足的局面,给用户带来不便,降低了用户的体验。
发明内容
本发明针对现有方式的缺点,提出一种多***的资源释放方法及装置,用以解决现有技术存在仅对多操作***中的一个操作***的进程进行关闭导致资源释放效果不佳的问题。
本发明的实施例根据一个方面,提供了一种多***的资源释放方法,包括:
主控***监测本设备的空闲资源的数值;
当监测到所述空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;
关闭确定出的待关闭的进程以释放相应的资源。
本发明的实施例根据另一个方面,还提供了一种多***的资源释放装置,包括:主控***和至少两个容器***;
所述主控***包括:
空闲资源监测模块,用于监测本设备的空闲资源的数值;当监测到所述空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,发送资源释放通知;
待关闭进程确定模块,用于接收到资源释放通知后,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;
资源释放模块,用于关闭确定出的待关闭的进程以释放相应的资源。
较佳地,所述待关闭进程确定模块具体用于根据所述资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值;当所述资源释放策略中进程的综合重要度值与进程的重要度的关系为综合重要度值越大则进程的重要度越小时,从至少两个容器***的多个进程中,确定出综合重要度值大于所述当前综合重要度值阈值的进程,作为所述当前空闲资源数据阈值对应的待关闭的进程。
较佳地,每个容器***包括:
基础重要度值确定模块,用于根据所述资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值后,向所述主控***发送;以及
所述主控***还包括:
***重要度值确定模块,用于根据所述资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出每个容器***的***重要度值,作为该容器***中进程的***重要度值;
综合重要度值确定模块,用于对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值。
较佳地,每个容器***包括:
基础重要度值确定模块,用于根据所述资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值;
***重要度值确定模块,用于根据所述资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出该容器***的***重要度值,作为该容器***中进程的***重要度值;
综合重要度值确定模块,用于对于该容器***中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值后,向所述主控***发送。
较佳地,所述综合重要度值确定模块具体用于将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值;根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
较佳地,所述资源释放模块具体用于当确定出多个待关闭的进程时,根据各待关闭的进程的综合重要度值从大到小的顺序,依次关闭待关闭的进程。
本发明实施例中,根据预设的统一的资源释放策略统一评价多个容器***的所有进程的重要度,从而将各容器***的进程都纳入到统一的重要度评价体系中;无论进程属于前台的容器***、还是后台的容器***,都根据统一的资源释放策略,判断进程是否应当关闭;从而可以根据统一的评价结果对多个容器***的进程进行关闭以释放所占***资源,实现对多个容器***中的进程所占***资源的管控;优化了多***下的***资源的释放效果,可以给用户带来便利,提升用户的体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的终端设备的内部结构的框架示意图;
图2、3分别为本发明实施例的进程的综合重要度值的两种确定方法的流程示意图;
图4为本发明实施例的多***的资源释放方法的流程示意图;
图5、6分别为本发明实施例的两种多***的资源释放装置的内部结构的框架示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明实施例中,终端设备包括主控***和至少两个容器***。主控***监测本设备的空闲资源的数值;当监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;关闭确定出的待关闭的进程以释放相应的资源。可见,本发明实施例中,根据预设的统一的资源释放策略,对各容器***的每个进程是否应该释放资源进行统一评价,相当于将各容器***的所有进程都纳入到一个统一的评价***中,进而统一确定出当前空闲资源数据阈值下应当关闭的进程进行关闭。例如,可以关闭处于前台的容器***的一小部分进程,同时关闭处于后台的容器***的一大部分进程但仍保持后台的容器***可以正常运行的状态。使得既不影响容器***的前后台切换,又可以大幅度的释放***资源,给用户带来便利,可以提升用户的体验。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:主控***和两个以上容器***。
其中,两个以上容器***包括第一容器***、第二容器***、……、第N容器***。N为2以上的正整数。
本发明实施例中的容器***,是设置在以Linux container(容器)虚拟化技术创建的容器中的操作***。操作***可以为传统意义上的Linux操作***或Unix操作***,也可以是基于Linux操作***衍生出来的Android***或Ubuntu***等,还可以为以Windows平台为基础的windows***等等。实际上,本发明中的容器***不限于前述例举的操作***,可以涵盖所有能够在容器中运行的操作***。为便于描述,下面以Android***作为容器***为例阐述本发明的技术方案。
主控***可以是上述传统的操作***,也可以是对传统的操作***进行改进得到的操作***。内核为kernel,或者在kernel基础上增加功能模块之后得到的增强型kernel。较佳地,主控***可以包括内核;上述容器***通过主控***调用或访问内核以实现各种功能。或者,容器***和主控***共享内核;本发明的容器***和主控***包含现有操作***中kernel之外的部分,例如框架层和应用层的部分;容器***和主控***都可以独立调用或访问内核以实现各种功能。
主控***主要用于对多个容器***进行前后台管理,与各容器***进行交互等。
较佳地,主控***可以通过容器通道与容器***进行通信。进一步,容器通道可以是socket(套接字)通道。
容器***向主控***发送容器通道创建请求,该容器通道创建请求中包括容器通道对应的文件描述符、文件权限、允许访问该容器通道的两个以上操作***的***标识、允许的最大访问数量、以及待生成文件的描述符的标识等。两个以上操作***包括(发送容器通道创建请求的)容器***、和该容器***期待交互的操作***。
主控***接到该容器***的容器通道创建请求后,创建一对socket文件描述符(socketpair)和连接该对文件描述符的容器通道,并为该对文件描述符命名。将容器通道创建请求中的文件权限、允许访问的***标识、允许的最大访问数量、以及待生成文件的描述符的标识记录到所创建的容器通道中。
主控***将容器通道及其标识和一对文件描述符、以及允许访问该容器通道的***标识注册在内核的NSS(Name Space Server,域名空间服务)虚拟设备中。主控***和内核都对应记录已经注册的容器通道及其标识和文件描述符对、以及允许访问该容器通道的***标识。
内核的NSS将容器通道的标识、以及允许访问该容器通道的各***标识返回给该容器***。并将容器通道的标识和允许访问该容器通道的各***标识,分别向与各***标识相符的操作***返回。
该容器***根据获取的容器通道的标识从NSS中获取该容器通道的文件描述符对中的一个文件描述符。
主控***接收到主控***针对上述容器通道的获取请求后,查找出已经注册的该容器通道的标识,向该主控***返回。
主控***获取容器通道的标识后,向内核中的NSS虚拟设备发送,携带有该容器通道的标识的文件描述符获取请求。
内核中的NSS虚拟设备根据接收到的该文件描述符获取请求中的容器通道的标识,从已注册的容器通道及其标识和文件描述符对中,查找出该容器通道的文件描述符对中的另一个文件描述符返回。较佳地,NSS校验发送文件描述符获取请求的容器***的***标识、访问数量等安全信息是否与容器通道中记录的对应信息相符;若校验结果为相符,则根据接收到的该文件描述符获取请求中的容器通道的标识,从已注册的容器通道及其标识和文件描述符对中,查找出该容器通道的文件描述符对中的另一个文件描述符,向主控***返回。
相当于,将连接容器通道两端的一对文件描述符中的一个文件描述符向容器***返回,将另一个文件描述符向主控***的进程返回。
主控***获取内核返回的另一个文件描述符后,主控***与容器***之间的容器通道建立完毕。主控***可以通过该另一个文件描述符,与拥有该另一个文件描述符所属容器通道的一个文件描述符的容器***进行通信。
较佳地,主控***对于一对文件描述符,根据返回给一个容器***的一个文件描述符,从内核获取socket描述文件的结构体,与该一个文件描述符相关联,并记录在容器通道中。之后,将容器通道注册到内核的NSS虚拟设备中。
内核中的NSS虚拟设备接收到主控***的进程的文件描述符获取请求后,查询出主控***的进程中未使用的文件描述符,将该未使用的文件描述符与容器通道中保存的socket描述文件的文件结构体相关联,并向主控***的该进程返回关联后的文件描述符。此时,关联后的文件描述符相当于同一容器通道的文件描述符中的另一个文件描述符。
本发明实施例中,终端设备中预设有资源释放策略。资源释放策略包括:多个空闲资源数据阈值与进程的综合重要度值的对应关系、进程的综合重要度值与进程的重要度的关系、进程的类型与基础重要度值的对应关系、以及容器***的前后台状态与***重要度值的对应关系。
其中,进程的综合重要度值与进程的重要度的关系,可以是进程的综合重要度值越大则进程的重要度越小、进程的综合重要度值越小则进程的重要度越小、或者其它进程的综合重要度值与重要度之间的关系。
较佳地,为了便于描述和理解,本文后续以进程的综合重要度值越大则进程的重要度越小为例,介绍本发明实施例的技术方案。可以理解,对于同一容器***中的进程,当进程的综合重要度值越大则进程的重要度越小时,进程的基础重要度值越大则进程的重要度越小。
至于资源释放策略中的其它内容,将在后续详述,此处不再赘述。
较佳地,本发明实施例中的资源释放策略可以存储于主控***中,例如存储于主控***的内核中。当然,容器***可以通过主控***共享内核。对于每个容器***,当该容器***被主控***启动后,主控***可以通过容器通道向该容器***推送资源释放策略;也可以由该容器***通过容器通道从主控***中获取资源释放策略。
较佳地,每个容器***可以配置有涉及资源释放策略的人机交互界面;支持用户通过容器***的人机交互界面,输入针对资源释放策略的调整内容,由主控***根据调整内容对资源释放策略进行相应更新并存储。
本发明实施例中提供了一种进程的综合重要度值的确定方法,该方法的流程示意图如图2所示,包括下述步骤:
S201:每个容器***根据资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值后,向主控***发送。
本发明实施例中,资源释放策略中进程的类型与基础重要度值的对应关系,包括:依照基础重要度值从大到小的顺序,与基础重要度值对应的进程类型分别为:空闲进程、后台隐藏应用进程、后台服务、桌面应用进程、服务、备份应用进程、高负载应用进程、可感知应用进程、可见应用进程、前台应用进程、驻留程序进程、***进程。其中,同一容器***中进程的基础重要度值越大,则进程的重要度越小。本领域技术人员可以根据经验数据、实验数据、历史数据和/或实际情况,预先设定多种进程的类型各自对应的基础重要度值,并记载到资源释放策略的进程的类型与基础重要度值的对应关系中。
其中,前台(foreground)进程可以是目前正在屏幕上显示的进程和一些***进程。例如,Dialer Storage,Google Search等***进程就是前台进程;再如,当运行一个浏览器,当该浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦接收到用户针对home键的选择操作则将屏幕切换回到主界面,此时浏览器就变成了后台程序(background)。
可见(visible)应用进程是一些不在前台,但用户依然可见的进程。例如,时钟、天气或新闻等widget应用,以及输入法应用等,都属于visible应用进程。这部分进程虽然不在前台,但与用户的使用也密切相关。因此一旦时钟、天气或新闻等widget被关闭,它们将无法同步,导致用户无法获取最新的时钟、天气或新闻,容易降低用户的体验。若输入法应用被关闭,导致用户输入时需要重新启动输入法应用。
可感知应用(PERCEPTIBLEAPP)是指在终端设备的屏幕上不直接显示、但可以被用户感知的应用。较佳地,可感知应用可以通过输出声音、和/或振动等非显示信息被用户感知。例如,正在后台进行音乐播放的音乐播放器应用。
高负载应用(HEAVYWEIGHTAPP)是指占用终端设备的诸如处理器和/或内存等***资源的比例超过预设的资源比例阈值的应用。技术人员可以根据***默认数据、历史数据、实验数据、经验数据和/或实际情况,预先设定资源比例阈值。例如,将***资源中的处理器资源比例阈值预设为70%;当一个实时视频会议应用占用处理器资源的比例、超过处理器资源的70%时,确定该实时视频会议应用占用处理器资源的比例超过处理器资源比例阈值,将该实时视频会议应用确定为高负载应用。
服务(server)可以是目前正在运行的一些服务,和通常不会被***自带的进程管理器终止关闭的服务。这些服务通常包括:通信相关服务、企业套件相关服务、电子邮件相关服务和联系人相关服务等服务。例如:拨号服务、谷歌企业套件、Gmail(Google的免费网络邮件服务)内部存储、或联系人内部存储等服务。这部分服务虽然属于服务,但很大一部分与***功能依然息息相关,需要这些服务处于运行状态以支持用户时常使用的相关***功能。
桌面应用(home app)进程,即launcher进程,其主要用于保证在多任务切换之后,可以快速返回到home界面而不需重新加载launcher。
后台隐藏(hidden)应用进程:虽然用了hidden这个词,但实际即是后台进程(background),就是通常意义上启动后被切换到后台的进程,如浏览器,阅读器等。当程序显示在屏幕上时,该程序所运行的进程即为前台(foreground)进程,一旦接收到用户针对home键的选择操作后将屏幕返回至主界面(注意是对home键而不是back键的选择操作),该程序的进程就驻留在后台,成为后台隐藏应用进程。
内容供应(content provider)节点:没有程序实体,仅提供内容供其它程序调用,例如日历供应节点,邮件供应节点等。
空(empty)进程:没有任何东西在内运行的进程。有些程序,比如BTE(BetterTerminal Emulator,超级终端模拟器),在程序退出后,依然会在***中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。这部分进程是应该最先终止关闭的。
终端设备中的每个容器***,确定出该容器***中每个进程的类型;根据资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的类型所对应的基础重要度值。
其中,进程的基础重要度值,用以表征该进程在其所属操作***(例如容器***)范围内的重要程度;而进程的综合重要度值,用以表征该进程在整个多操作***范围内的重要程度,即除了需要考虑该进程在其所属操作***中的重要程度之外,还需要考虑其所属操作***在各操作***中的重要程度。
例如,某一容器***确定出其中各类型的进程的如下基础重要度值:
HIDDEN_APP_MAX_ADJ=15;
HIDDEN_APP_MIN_ADJ=9;
SERVICE_B_ADJ=8;
PREVIOUS_APP_ADJ=7;
HOME_APP_ADJ=6;
SERVICE_ADJ=5;
BACKUP_APP_ADJ=4;
HEAVY_WEIGHT_APP_ADJ=3;
PERCEPTIBLE_APP_ADJ=2;
VISIBLE_APP_ADJ=1;
FOREGROUND_APP_ADJ=0;
PERSISTENT_PROC_ADJ=-12;
SYSTEM_ADJ=-16。
其中,ADJ表示进程的基础重要度值,-16表示负16;SERVICE_B(ServiceBackground,后台服务)、PREVIOUS_APP、HOME_APP、SERVICE、BACKUP_APP、HEAVY_WEIGHT_APP、PERCEPTIBLE_APP、VISIBLE_APP、FOREGROUND_APP、PERSISTENT_PROC、SYSTEM分别表示后台服务、上一次应用进程、桌面应用进程、服务、备份应用进程、高负载应用进程、可感知应用进程、可见应用进程、前台应用进程、驻留程序进程、***进程。HIDDEN_APP_MAX_ADJ和HIDDEN_APP_MIN_ADJ分别表示隐藏应用进程的空闲进程的最大和最小基础重要度值;隐藏应用进程,包括上述后台隐藏应用进程、内容供应节点和空进程,其中空进程的基础重要度值即为HIDDEN_APP_MAX_ADJ。
可以理解,根据前述进程的综合重要度值越大则进程的重要度越小的情况下,同一容器***中,进程的基础重要度值越大则进程的重要度越小。
容器***确定出该容器***中每个进程的基础重要度值后,将各进程的进程标识和基础重要度值,通过容器通道向主控***发送。
S202:主控***根据资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出每个容器***的***重要度值,作为该容器***中进程的***重要度值。
主控***确定出每个容器***的当前状态,例如容器***的前后台状态;根据资源释放策略中容器***的前后台状态与***重要度值的对应关系,分别确定出处于前台、后台的容器***的***重要度值;将每个容器***的***重要度值,作为该容器***中进程的***重要度值。其中,前后台状态与***重要度值的对应关系包括:处于后台的容器***的***重要度值大于处于前台的容器***的***重要度值、以及两者之间的差值。
例如,资源释放策略中容器***的前后台状态与***重要度值的对应关系具体为:处于后台的容器***的***重要度值,比处于前台的容器***的***重要度值大2;则可以将处于前台的容器***的***重要度值设置为0,将处于后台的容器***的***重要度值设置为2。
可以理解,根据前述进程的综合重要度值越大则进程的重要度越小的情况下,操作***的***重要度值越大则该操作***中进程的重要度越小。
较佳地,主控***可以根据与上述步骤中容器***确定其进程的基础重要性值相同的方法,确定出主控***中每个进程的基础重要性值。
进一步,为了保证主控***在所有容器***都关闭后仍能正常运行,可以将主控***中的每个进程的基础重要度值,设定为不大于处于前台的容器***的前台程序进程的基础重要度值。例如,将将主控***中的每个进程的基础重要度值都设置为负值。
较佳地,资源释放策略中容器***的前后台状态与***重要度值的对应关系中可以包括:主控***的***重要度值不大于处于前台的容器***的***重要度值。例如,可以将主控***的***重要度值设置为0或负值。
S203:主控***对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值。
主控***对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值,将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值。
例如,当处于前台的容器***中各类型的进程的基础重要度值如上述步骤S201中的例子所示、且该处于前台的容器***的***重要度值为0时,确定出该处于前台的容器***的各类型的进程的如下所述的综合重要度值:
HIDDEN_APP_MAX_CADJ=15;
HIDDEN_APP_MIN_CADJ=9;
SERVICE_B_CADJ=8;
PREVIOUS_APP_CADJ=7;
HOME_APP_CADJ=6;
SERVICE_CADJ=5;
BACKUP_APP_CADJ=4;
HEAVY_WEIGHT_APP_CADJ=3;
PERCEPTIBLE_APP_CADJ=2;
VISIBLE_APP_CADJ=1;
FOREGROUND_APP_CADJ=0;
PERSISTENT_PROC_CADJ=-12;
SYSTEM_CADJ=-16。
其中,C(Compositive,综合的)ADJ表示进程的综合重要度值。
而且,当处于后台的容器***中各类型的进程的基础重要度值如上述步骤S201中的例子所示、且该处于后台的容器***的***重要度值为2时,确定出该处于前台的容器***的各类型的进程的如下所述的综合重要度值:
HIDDEN_APP_MAX_CADJ=17;
HIDDEN_APP_MIN_CADJ=11;
SERVICE_B_CADJ=10;
PREVIOUS_APP_CADJ=9;
HOME_APP_CADJ=8;
SERVICE_CADJ=7;
BACKUP_APP_CADJ=6;
HEAVY_WEIGHT_APP_CADJ=5;
PERCEPTIBLE_APP_CADJ=4;
VISIBLE_APP_CADJ=3;
FOREGROUND_APP_CADJ=2;
PERSISTENT_PROC_CADJ=-10;
SYSTEM_CADJ=-14。
容易看出,本步骤的上述例子中,处于后台的容器***的一些进程的综合重要度值,大于处于前台的容器***的一些进程的综合重要度值;同一类型的应用进程,在处于后台的容器***中的综合重要度值,大于其在处于前台的容器***中的综合重要度值。
例如,处于后台的容器***的前台应用进程FOREGROUND_APP的综合重要度值为2,大小处于前台的容器***的可见应用进程VISIBLE_APP的综合重要度值为1。处于后台的容器***的前台应用进程FOREGROUND_APP的重要程度不如处于前台的容器***的可见应用进程VISIBLE_APP。
再如,对于同一类型的前台应用进程FOREGROUND_APP,其在处于后台的容器***中的综合重要度值为2,在处于前台的容器***中的综合重要度值为0。
主控***对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值,根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
较佳地,主控***对于主控***的每个进程,根据上述步骤中确定出的该进程的基础重要度值和***重要度值,以本步骤中上述同样的方法确定出该进程的综合重要度值。
本发明实施例中提供了另一种进程的综合重要度值的确定方法,该方法的流程示意图如图3所示,包括下述步骤:
S301:每个容器***根据资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值。
本步骤中,每个容器***确定出该容器***中每个进程的基础重要度值的方法,与上述步骤S201中每个容器***确定出该容器***中每个进程的基础重要度值的具体方法一致,此处不再赘述。
S302:每个容器***根据资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出该容器***的***重要度值,作为该容器***中进程的***重要度值。
每个容器***可以从该容器***中获取预存的资源释放策略,并检测出该容器***的前后台状态。
或者,每个容器***可以通过各自的容器通道从主控***中获取该容器***的前后台状态以及资源释放策略。
每个容器***根据该容器***的前后台状态、以及资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出该容器***的***重要度值;将该容器***的***重要度值,作为该容器***中进程的***重要度值。其中,前后台状态与***重要度值的对应关系包括:处于前台的容器***的***重要度值小于处于后台的容器***的***重要度值、以及两者之间的差值。
例如,一个容器***的处于前台状态,且资源释放策略中容器***的前后台状态与***重要度值的对应关系具体为:处于后台的容器***的***重要度值,比处于前台的容器***的***重要度值大2;则可以将该处于前台的容器***的***重要度值设置为0。
可以理解,根据前述进程的综合重要度值越大则进程的重要度越小的情况下,操作***的***重要度值越大则该操作***中进程的重要度越小。
S303:每个容器***对于其中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值后,向主控***发送。
每个容器***对于其中的每个进程,根据该进程的基础重要度值和***重要度值,将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值。
例如,当一个容器***处于后台状态时,当处于后台的容器***中各类型的进程的基础重要度值如上述步骤S201中的例子所示、且该处于后台的容器***的***重要度值为2时,确定出该处于前台的容器***的各类型的进程的如下所述的综合重要度值:
HIDDEN_APP_MAX_CADJ=17;
HIDDEN_APP_MIN_CADJ=11;
SERVICE_B_CADJ=10;
PREVIOUS_APP_CADJ=9;
HOME_APP_CADJ=8;
SERVICE_CADJ=7;
BACKUP_APP_CADJ=6;
HEAVY_WEIGHT_APP_CADJ=5;
PERCEPTIBLE_APP_CADJ=4;
VISIBLE_APP_CADJ=3;
FOREGROUND_APP_CADJ=2;
PERSISTENT_PROC_CADJ=-10;
SYSTEM_CADJ=-14。
每个容器***对于其中的每个进程,根据该进程的基础重要度值和***重要度值,根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
每个容器***确定出各自的每个进程的综合重要度值后,将该进程的进程标识和综合重要度值通过各自的容器通道向主控***发送。
较佳地,主控***可以根据与上述步骤中容器***确定其进程的基础重要性值相同的方法,确定出主控***中每个进程的基础重要性值。
进一步,为了保证主控***在所有容器***都关闭后仍能正常运行,可以将主控***中的每个进程的基础重要度值,设定为不大于处于前台的容器***的前台程序进程的基础重要度值。例如,将将主控***中的每个进程的基础重要度值都设置为负值。
较佳地,资源释放策略中容器***的前后台状态与***重要度值的对应关系中可以包括:主控***的***重要度值不大于处于前台的容器***的***重要度值。例如,可以将主控***的***重要度值设置为0或负值。
较佳地,主控***对于主控***的每个进程,根据确定出的该进程的基础重要度值和***重要度值,以本步骤中上述同样的方法确定出该进程的综合重要度值。
更优的,上述图2-3所示的方法中,给出了处于前台的容器***、以及处于后台的容器***中的进程的综合重要度值的确定方法。在实际操作中,当容器***发生前后台切换后,可以利用同样的方法重新确定各容器***的进程的综合重要度值。
下面介绍本发明实施例提供的多***的资源释放方法,该方法的流程示意图如图4所示,包括下述步骤:
S401:主控***监测本设备的空闲资源的数值。
主控***监测本终端设备的空闲***资源的数值。例如,监测本终端设备中空闲内存的数值。
S402:当监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程。
资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,可以包括:多个空闲资源数据阈值与多个进程的综合重要度值的对应关系。例如,空闲内存数据阈值20MB(Mega Byte,兆字节)与进程的综合重要度值0相对应,表明当空闲内存降低到空闲内存数据阈值20MB,应当将综合重要度值不小于0的进程都关闭;空闲内存数据阈值60MB与进程的综合重要度值4相对应;空闲内存数据阈值100MB与进程的综合重要度值8相对应。
当主控***监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值。
主控***从至少两个容器***的多个进程中,确定出综合重要度值大于当前综合重要度值阈值的进程,作为当前空闲资源数据阈值对应的待关闭的进程。
例如,当主控***监测到当前的空闲资源的数值,降低至预设的多个空闲资源数值阈值之一60MB时,对应的进程的综合重要度值为4;确定出处于前台的容器***中的空闲进程、后台隐藏应用进程、后台服务、桌面应用进程、服务、备份应用进程,以及处于后台的容器***中的空闲进程、后台隐藏应用进程、后台服务、桌面应用进程、服务、备份应用进程、高负载应用进程、可感知应用进程,都为待关闭的进程。
较佳地,主控***从本主控***和至少两个容器***的多个进程中,确定出综合重要度值大于当前综合重要度值阈值的进程,作为当前空闲资源数据阈值对应的待关闭的进程。
S403:关闭确定出的待关闭的进程以释放相应的资源。
主控***对上述步骤确定出的待关闭的进程进行关闭,从而释放出被关闭的进程所占用的***资源。
事实上,根据本发明实施例中如上述图1-4所示的技术方案,对于多个容器***以及主控***的所有进程,都根据进程的综合重要度值统一评价这些进程的重要度,从而将各容器***和主控***的进程都纳入到统一的重要度评价体系中;无论进程属于前台的容器***、后台的容器***还是主控***,都根据统一的综合重要度值,判断进程是否应当关闭;从而可以对多个容器***的进程进行关闭以释放所占***资源,实现对多个容器***中的进程所占***资源的管控;优化了多***下的***资源的释放效果,可以给用户带来便利,提升用户的体验。
而且,本发明的发明人发现,终端设备得到多个容器***和主控***的进程,实际上通常都运行于该终端设备的内存中;利用本发明实施例,由于具有基于综合重要度值的统一的重要度评价***,无需对进程所属的操作***进行识别,直接根据内存中进程的综合重要值判断该进程是否需要关闭即可;节省了识别并判断进程所属操作***的步骤,提升了释放进程所占***资源的效率。
进一步,在进程的综合重要度值越大则进程的重要度越小的情况下,上述主控***中的进程、容器***中的***进程和驻留程序进程的综合重要度值,明显比多个容器***的其他进程的综合重要度值低一大截;合理设置资源释放策略中的内容,可以使得即使多个容器***的其它进程全部被关闭后,主控***中的进程、容器***中的***进程和驻留程序进程依然得以保留,从而可以保证主控***和容器***得以正常运行而不崩溃,使得容器***之间依然可以随时进行前后台切换,并随时可以添加运行容器***的进程;从而可以在支持用户对容器***进行前后台切换的情况下,管控各容器***的进程所占***资源的释放,扩展了***资源释放的范围和程度,给用户带来便利,提升用户的体验。
基于上述多***的资源释放方法,本发明实施例中还提供了一种多***的资源释放装置,该装置设置于本发明实施例的终端设备中,该装置的内部结构的框架示意图如图5所示,包括:主控***和至少两个容器***。
其中,主控***包括:空闲资源监测模块501、待关闭进程确定模块502和资源释放模块503。
空闲资源监测模块501用于监测本设备的空闲资源的数值;当监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,发送资源释放通知。
待关闭进程确定模块502用于接收到空闲资源监测模块501发送的资源释放通知后,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程。
资源释放模块503用于关闭待关闭进程确定模块502确定出的待关闭的进程以释放相应的资源。
较佳地,待关闭进程确定模块502具体用于根据资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值;当资源释放策略中进程的综合重要度值与进程的重要度的关系为综合重要度值越大则进程的重要度越小时,从至少两个容器***的多个进程中,确定出综合重要度值大于当前综合重要度值阈值的进程,作为当前空闲资源数据阈值对应的待关闭的进程。
较佳地,如图5所示,本发明实施例的一种多***的资源释放装置中的每个容器***包括:基础重要度值确定模块511。
基础重要度值确定模块511用于根据资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值后,向主控***发送。
以及,如图5所示,本发明实施例的一种多***的资源释放装置中的主控***还包括:***重要度值确定模块504和综合重要度值确定模块505。
其中,***重要度值确定模块504用于根据资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出每个容器***的***重要度值,作为该容器***中进程的***重要度值。
综合重要度值确定模块505用于对于每个容器***中的每个进程,根据基础重要度值确定模块511发送的该进程的基础重要度值和***重要度值确定模块504确定出的***重要度值,生成该进程的综合重要度值。
进一步,综合重要度值确定模块505具体用于将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值;根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
较佳地,资源释放模块503具体用于当待关闭进程确定模块502确定出多个待关闭的进程时,根据各待关闭的进程的综合重要度值从大到小的顺序,依次关闭待关闭的进程。
上述主控***中的空闲资源监测模块501、待关闭进程确定模块502、资源释放模块503、***重要度值确定模块504和综合重要度值确定模块505,以及容器***中的基础重要度值确定模块511功能的实现方法,可以参考上述如图1-4所示的框架结构和流程步骤的具体内容,此处不再赘述。
基于上述多***的资源释放方法,本发明实施例中还提供了另一种多***的资源释放装置,该装置设置于本发明实施例的终端设备中,该装置的内部结构的框架示意图如图6所示,包括:主控***和至少两个容器***。
其中,主控***包括:空闲资源监测模块601、待关闭进程确定模块602和资源释放模块603。
空闲资源监测模块601用于监测本设备的空闲资源的数值;当监测到空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,发送资源释放通知。
待关闭进程确定模块602用于接收到空闲资源监测模块601发送的资源释放通知后,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程。
资源释放模块603用于关闭待关闭进程确定模块602确定出的待关闭的进程以释放相应的资源。
较佳地,待关闭进程确定模块602具体用于根据资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值;当资源释放策略中进程的综合重要度值与进程的重要度的关系为综合重要度值越大则进程的重要度越小时,从至少两个容器***的多个进程中,确定出综合重要度值大于当前综合重要度值阈值的进程,作为当前空闲资源数据阈值对应的待关闭的进程。
较佳地,如图6所示,本发明实施例的另一种多***的资源释放装置中的每个容器***包括:基础重要度值确定模块611、***重要度值确定模块612和综合重要度值确定模块613。
基础重要度值确定模块611用于根据资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值。
***重要度值确定模块612用于根据资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出该容器***的***重要度值,作为该容器***中进程的***重要度值。
综合重要度值确定模块613用于对于该容器***中的每个进程,根据基础重要度值确定模块611确定出的该进程的基础重要度值和***重要度值确定模块612确定出的***重要度值生成该进程的综合重要度值后,向主控***中的待关闭进程确定模块602发送。
进一步,综合重要度值确定模块613具体用于将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值;根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
较佳地,资源释放模块603具体用于当待关闭进程确定模块602确定出多个待关闭的进程时,根据各待关闭的进程的综合重要度值从大到小的顺序,依次关闭待关闭的进程。
上述主控***中的空闲资源监测模块601、待关闭进程确定模块602、资源释放模块603,以及容器***中的基础重要度值确定模块611、***重要度值确定模块612和综合重要度值确定模块613功能的实现方法,可以参考上述如图1-4所示的框架结构和流程步骤的具体内容,此处不再赘述。
本发明实施例中,上述图5所示装置中的空闲资源监测模块501、待关闭进程确定模块502、资源释放模块503和基础重要度值确定模块511,分别与上述图6所示装置中的空闲资源监测模块601、待关闭进程确定模块602、资源释放模块603和基础重要度值确定模块611的功能相一致。***重要度值确定模块504和综合重要度值确定模块505,与***重要度值确定模块612和综合重要度值确定模块613的主要功能实际上是一致的,模块的不同标号表示该模块属于不同的操作***。
本发明实施例中,根据预设的统一的资源释放策略统一评价多个容器***的所有进程的重要度,从而将各容器***的进程都纳入到统一的重要度评价体系中;无论进程属于前台的容器***、还是后台的容器***,都根据统一的资源释放策略,判断进程是否应当关闭;从而可以根据统一的评价结果对多个容器***的进程进行关闭以释放所占***资源,实现对多个容器***中的进程所占***资源的管控;优化了多***下的***资源的释放效果,可以给用户带来便利,提升用户的体验。
而且,本发明实施例中,终端设备得到多个容器***和主控***的进程,实际上通常都运行于该终端设备的内存中;利用本发明实施例,由于具有基于资源释放策略的统一的重要度评价***,无需对进程所属的操作***进行识别,直接根据资源释放策略判断该进程是否需要关闭即可;节省了识别并判断进程所属操作***的步骤,提升了释放进程所占***资源的效率。
进一步,本发明实施例中,在资源释放策略中的进程的综合重要度值越大则进程的重要度越小的情况下,主控***中的进程、容器***中的***进程和驻留程序进程的综合重要度值,明显小于多个容器***的其他进程的综合重要度值;合理设置资源释放策略中各种类型的进程的综合重要度值等内容,可以使得即使多个容器***的其它进程全部被关闭后,主控***中的进程、容器***中的***进程和驻留程序进程依然得以保留,从而可以保证主控***和容器***得以正常运行而不崩溃,使得容器***之间依然可以随时进行前后台切换,并随时可以添加运行容器***的进程;从而可以在支持用户对容器***进行前后台切换的情况下,管控各容器***的进程所占***资源的释放,扩展了***资源释放的范围和程度,给用户带来便利,提升用户的体验。
此外,本发明实施例中,当确定出多个待关闭的进程时,根据各待关闭的进程的综合重要度值从大到小的顺序,依次关闭待关闭的进程。由于进程的综合重要度值实际上是从影响用户使用的角度进行设置的,因此对于用户而言,利用本发明实施例可以使得较为不重要的进程关闭在先,较为重要的进程关闭再后;尽可能地为用户考虑,给用户带来便利,从而进一步提升用户的体验。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种多***的资源释放方法,其特征在于,包括:
主控***监测本设备的空闲资源的数值;
当监测到所述空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;
关闭确定出的待关闭的进程以释放相应的资源。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出所述空闲资源数据阈值对应的待关闭的进程,包括:
根据所述资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值;
当所述资源释放策略中进程的综合重要度值与进程的重要度的关系为综合重要度值越大则进程的重要度越小时,从至少两个容器***的多个进程中,确定出综合重要度值大于所述当前综合重要度值阈值的进程,作为所述当前空闲资源数据阈值对应的待关闭的进程。
3.根据权利要求2所述的方法,其特征在于,所述进程的综合重要度值是根据下述方法确定的:
每个容器***根据所述资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值后,向所述主控***发送;
所述主控***根据所述资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出每个容器***的***重要度值,作为该容器***中进程的***重要度值;
所述主控***对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值。
4.根据权利要求2所述的方法,其特征在于,所述进程的综合重要度值是根据下述方法确定的:
每个容器***根据所述资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值;
每个容器***根据所述资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出该容器***的***重要度值,作为该容器***中进程的***重要度值;
每个容器***对于其中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值后,向所述主控***发送。
5.根据权利要求3或4所述的方法,其特征在于,所述根据该进程的基础重要度值和***重要度值,生成该进程的综合重要度值,包括下述至少一项:
将该进程的基础重要度值与该进程的***重要度值进行累加,得到该进程的综合重要度值;
根据该进程的***重要度值对该进程的基础重要度值进行加权,得到该进程的综合重要度值。
6.根据权利要求3或4所述的方法,其特征在于,所述关闭确定出的待关闭的进程,包括:
当确定出多个待关闭的进程时,根据各待关闭的进程的综合重要度值从大到小的顺序,依次关闭待关闭的进程。
7.根据权利要求3或4所述的方法,其特征在于,还包括:
依照基础重要度值从大到小的顺序,与基础重要度值对应的进程类型分别为:空闲进程、后台隐藏应用进程、后台服务、桌面应用进程、服务、备份应用进程、高负载应用进程、可感知应用进程、可见应用进程、前台应用进程、驻留程序进程、***进程。
8.一种多***的资源释放装置,其特征在于,包括:主控***和至少两个容器***;
所述主控***包括:
空闲资源监测模块,用于监测本设备的空闲资源的数值;当监测到所述空闲资源的数值降低至预设的多个空闲资源数值阈值之一时,发送资源释放通知;
待关闭进程确定模块,用于接收到资源释放通知后,根据预设的资源释放策略,从至少两个容器***的多个进程中,确定出当前空闲资源数据阈值对应的待关闭的进程;
资源释放模块,用于关闭确定出的待关闭的进程以释放相应的资源。
9.根据权利要求8所述的装置,其特征在于,
所述待关闭进程确定模块具体用于根据所述资源释放策略中多个空闲资源数据阈值与进程的综合重要度值的对应关系,确定出当前空闲资源数据阈值所对应的进程的综合重要度值,作为当前综合重要度值阈值;当所述资源释放策略中进程的综合重要度值与进程的重要度的关系为综合重要度值越大则进程的重要度越小时,从至少两个容器***的多个进程中,确定出综合重要度值大于所述当前综合重要度值阈值的进程,作为所述当前空闲资源数据阈值对应的待关闭的进程。
10.根据权利要求9所述的装置,其特征在于,每个容器***包括:
基础重要度值确定模块,用于根据所述资源释放策略中进程的类型与基础重要度值的对应关系,确定出该容器***中每个进程的基础重要度值后,向所述主控***发送;以及
所述主控***还包括:
***重要度值确定模块,用于根据所述资源释放策略中容器***的前后台状态与***重要度值的对应关系,确定出每个容器***的***重要度值,作为该容器***中进程的***重要度值;
综合重要度值确定模块,用于对于每个容器***中的每个进程,根据该进程的基础重要度值和***重要度值生成该进程的综合重要度值。
CN201611068613.4A 2016-11-29 2016-11-29 多***的资源释放方法及装置 Active CN106547628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611068613.4A CN106547628B (zh) 2016-11-29 2016-11-29 多***的资源释放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611068613.4A CN106547628B (zh) 2016-11-29 2016-11-29 多***的资源释放方法及装置

Publications (2)

Publication Number Publication Date
CN106547628A true CN106547628A (zh) 2017-03-29
CN106547628B CN106547628B (zh) 2020-05-01

Family

ID=58395885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611068613.4A Active CN106547628B (zh) 2016-11-29 2016-11-29 多***的资源释放方法及装置

Country Status (1)

Country Link
CN (1) CN106547628B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347894A (zh) * 2018-08-10 2019-02-15 锐捷网络股份有限公司 管理FastCGI进程的方法、管理器、设备及介质
CN109471719A (zh) * 2018-10-15 2019-03-15 Oppo广东移动通信有限公司 存储清理方法、装置、电子设备及存储介质
CN112559142A (zh) * 2019-09-26 2021-03-26 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN114201221A (zh) * 2020-09-02 2022-03-18 成都鼎桥通信技术有限公司 基于双***的***关闭方法、设备及存储介质
CN115460022A (zh) * 2022-11-11 2022-12-09 广州中长康达信息技术有限公司 一种对智能辅助平台的资源管理方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264078A (zh) * 1999-02-19 2000-08-23 株式会社日立制作所 执行多个操作***的计算机
CN101154167A (zh) * 2006-09-28 2008-04-02 联想(北京)有限公司 一种虚拟机***及其cpu调度方法
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
CN102129475A (zh) * 2011-04-21 2011-07-20 北京中创信测科技股份有限公司 一种解决***资源有限的冲突避让方法及***
US20120324463A1 (en) * 2007-02-21 2012-12-20 At&T Intellectual Property I, Lp System for Managing Data Collection Processes
CN103140832A (zh) * 2010-08-05 2013-06-05 株式会社Ntt都科摩 信息处理终端以及资源释放方法
CN103229156A (zh) * 2010-10-01 2013-07-31 Flex Electronics ID Co.,Ltd. 多操作***环境中的对接***的自动配置
CN105159770A (zh) * 2015-09-21 2015-12-16 天脉聚源(北京)传媒科技有限公司 一种进程的管理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264078A (zh) * 1999-02-19 2000-08-23 株式会社日立制作所 执行多个操作***的计算机
CN101154167A (zh) * 2006-09-28 2008-04-02 联想(北京)有限公司 一种虚拟机***及其cpu调度方法
US20120324463A1 (en) * 2007-02-21 2012-12-20 At&T Intellectual Property I, Lp System for Managing Data Collection Processes
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN101894047A (zh) * 2010-06-24 2010-11-24 北京航空航天大学 一种基于内核虚拟机调度策略的实现方法
CN103140832A (zh) * 2010-08-05 2013-06-05 株式会社Ntt都科摩 信息处理终端以及资源释放方法
CN103229156A (zh) * 2010-10-01 2013-07-31 Flex Electronics ID Co.,Ltd. 多操作***环境中的对接***的自动配置
CN102129475A (zh) * 2011-04-21 2011-07-20 北京中创信测科技股份有限公司 一种解决***资源有限的冲突避让方法及***
CN105159770A (zh) * 2015-09-21 2015-12-16 天脉聚源(北京)传媒科技有限公司 一种进程的管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴义鹏: "基于容器的虚拟机调度算法优化及实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347894A (zh) * 2018-08-10 2019-02-15 锐捷网络股份有限公司 管理FastCGI进程的方法、管理器、设备及介质
CN109471719A (zh) * 2018-10-15 2019-03-15 Oppo广东移动通信有限公司 存储清理方法、装置、电子设备及存储介质
CN112559142A (zh) * 2019-09-26 2021-03-26 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN112559142B (zh) * 2019-09-26 2023-12-19 贵州白山云科技股份有限公司 容器的控制方法、装置、边缘计算***、介质及设备
CN114201221A (zh) * 2020-09-02 2022-03-18 成都鼎桥通信技术有限公司 基于双***的***关闭方法、设备及存储介质
CN114201221B (zh) * 2020-09-02 2023-03-21 成都鼎桥通信技术有限公司 基于双***的***关闭方法、设备及存储介质
CN115460022A (zh) * 2022-11-11 2022-12-09 广州中长康达信息技术有限公司 一种对智能辅助平台的资源管理方法

Also Published As

Publication number Publication date
CN106547628B (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
CN106547628A (zh) 多***的资源释放方法及装置
CN109491801B (zh) 微服务访问调度方法、装置、介质及电子设备
CN102027453B (zh) 用于在虚拟环境中优化中断处理的***和方法
CN110168510B (zh) 用于延长私有高速缓存中的高速缓存行的独占持有的设施
CN100565494C (zh) 单处理器操作***并行处理***中的安全管理***
CN105245523B (zh) 应用于桌面虚拟化场景的存储服务平台及其实现方法
WO2015020909A2 (en) Virtual computing instance migration
US9501313B2 (en) Resource management and allocation using history information stored in application's commit signature log
CN111090823B (zh) 一种页面应用的集成***以及应用访问方法、装置和设备
CN110781505B (zh) ***构建方法及装置、检索方法及装置、介质和设备
CN111163096A (zh) 提供数据接口服务的方法、装置、电子设备、存储介质
CN106776013B (zh) 多***的资源调度方法及装置
WO2020161592A1 (en) Recognition of out-of-vocabulary words in direct acoustics-to-word speech recognition using acoustic word embedding
CN112930532A (zh) 控制合并操作的存储访问
CN100530152C (zh) 启用数据处理***的输入/输出适配器的方法和装置
CN100538649C (zh) 用于分发分派窗内的未使用的处理器循环的方法和***
CN114168307A (zh) 创建实例的方法、设备以及***
CN114070847B (zh) 服务器的限流方法、装置、设备及存储介质
US20080320490A1 (en) Method, apparatus and computer program product for providing sub-process resource management
CN113204425A (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN113296740A (zh) 一种服务对象的处理方法、装置、设备和机器可读介质
US10938891B2 (en) Reducing cloud application execution latency
US10572387B2 (en) Hardware control of CPU hold of a cache line in private cache where cache invalidate bit is reset upon expiration of timer
CN116204114A (zh) 物理存储空间的可扩展性
CN108762891A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210129

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170329

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Resource release method and device of multi system

Granted publication date: 20200501

License type: Common License

Record date: 20210531