CN105897869A - 一种app休眠的管理方法和装置 - Google Patents
一种app休眠的管理方法和装置 Download PDFInfo
- Publication number
- CN105897869A CN105897869A CN201610190741.XA CN201610190741A CN105897869A CN 105897869 A CN105897869 A CN 105897869A CN 201610190741 A CN201610190741 A CN 201610190741A CN 105897869 A CN105897869 A CN 105897869A
- Authority
- CN
- China
- Prior art keywords
- app
- module
- sleep management
- message
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种APP休眠的管理方法和装置,该装置包括:休眠管理模块,用于在APP的运行期间,获取APP的资源利用率;在利用资源利用率确定需要休眠APP时,对APP进行休眠处理;在APP休眠成功时,将本休眠管理模块的转发信息发送到路由模块;APP,用于在休眠管理模块对APP进行休眠处理时,通知路由模块删除APP的转发信息,并释放APP占用的资源;路由模块,用于在APP的运行期间,利用APP的转发信息将访问请求消息发送给APP;在APP休眠成功时,利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。通过本发明的技术方案,可以释放APP占用的计算、内存、网络、存储等资源,避免资源的浪费,提高资源利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种APP休眠的管理方法和装置。
背景技术
云计算是指基于互联网等网络,通过虚拟化方式共享IT资源的新型计算模式。其中,云计算的核心思想是:通过网络统一管理和调度计算、存储、网络、软件等资源,实现资源整合与配置优化,以服务的方式满足不同用户随时获取并扩展、按需使用并付费、最大限度地降低成本等各类需求。
目前,云计算提供的服务模式主要包括:IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Softwareas a Service,软件即服务)。PaaS提供应用服务引擎,将软件研发平台作为服务提供,如API(Application Programming Interface,应用程序接口)服务或者应用运行服务等,用户基于这些服务构建业务应用。APP(应用)为运行在PaaS平台的网络应用,包括有页面的WEB应用和没有页面的API服务。
随着互联网技术的快速发展,越来越多的APP被开发出来。APP数量的增加,需要使用更多的计算资源来部署APP。而且,大量的APP,会使用大量的计算、内存、网络、存储等资源,对资源造成了极大的浪费。
发明内容
本发明提供一种APP休眠的管理装置,所述装置具体包括:
休眠管理模块,用于在APP的运行期间,获取所述APP的资源利用率;在利用所述资源利用率确定需要休眠所述APP时,对所述APP进行休眠处理;在所述APP休眠成功时,将本休眠管理模块的转发信息发送到路由模块;
APP,用于在所述休眠管理模块对所述APP进行休眠处理时,通知所述路由模块删除所述APP的转发信息,并释放所述APP占用的资源;
路由模块,用于在APP的运行期间,利用所述APP的转发信息将访问请求消息发送给所述APP;在所述APP休眠成功时,利用所述休眠管理模块的转发信息将访问请求消息发送给所述休眠管理模块。
所述装置还包括:
监控模块,用于在APP的运行期间,获取所述APP的资源利用率;
应用控制模块,用于在接收到来自所述休眠管理模块的对所述APP进行休眠处理的通知时,则对所述APP进行休眠处理;在所述APP休眠成功之后,则将所述APP休眠成功的信息通知给所述休眠管理模块;
所述休眠管理模块,具体用于在获取所述APP的资源利用率的过程中,从所述监控模块获取所述APP的资源利用率;在对所述APP进行休眠处理的过程中,通知所述应用控制模块对所述APP进行休眠处理;在接收到来自所述应用控制模块的所述APP休眠成功的信息时,确定所述APP休眠成功。
所述休眠管理模块,具体用于在从所述监控模块获取所述APP的资源利用率的过程中,向所述监控模块发送用于请求资源利用率的第一报文,所述第一报文携带采集时间信息、所述APP的标识信息,并接收所述监控模块返回的第二报文,并从所述第二报文中获取所述APP的资源利用率;
所述监控模块,具体用于在接收到所述第一报文之后,获取所述采集时间信息对应的所述APP的资源利用率,并将当前获取的资源利用率添加到第二报文中,并将所述第二报文发送给所述休眠管理模块。
所述休眠管理模块,具体用于在通知所述应用控制模块对所述APP进行休眠处理的过程中,向所述应用控制模块发送用于对所述APP进行休眠处理的第三报文,且所述第三报文中携带所述APP的标识信息;
所述应用控制模块,具体用于在将所述APP休眠成功的信息通知给所述休眠管理模块的过程中,向所述休眠管理模块发送用于表示所述APP休眠成功的第四报文,且所述第四报文中携带所述APP的标识信息。
所述APP,具体用于在通知所述路由模块删除所述APP的转发信息的过程中,向所述路由模块发送用于删除所述APP的转发信息的第五报文,所述第五报文中携带所述APP的标识信息、所述APP的转发信息;
所述休眠管理模块,具体用于在将休眠管理模块的转发信息发送到路由模块的过程中,向所述路由模块发送用于注册所述休眠管理模块的第六报文,所述第六报文携带所述APP的标识信息、所述休眠管理模块的转发信息;
所述路由模块,具体用于在接收到所述第五报文之后,从本地的路由表项中删除所述APP的转发信息;在接收到所述第六报文之后,在本地的路由表项中记录所述休眠管理模块的转发信息,以在所述APP休眠成功时,利用所述休眠管理模块的转发信息将访问请求消息发送给所述休眠管理模块。
所述休眠管理模块,还用于在接收到访问请求消息后,保存所述访问请求消息,对所述APP进行唤醒处理;在所述APP唤醒成功时,将所述访问请求消息发送给所述APP,并通知路由模块删除本休眠管理模块的转发信息;
所述APP,还用于在所述休眠管理模块对所述APP进行唤醒处理时,重新开始工作,并将所述APP的转发信息发送给所述路由模块;
所述路由模块,还用于在所述APP唤醒成功时,在接收到访问请求消息之后,利用所述APP的转发信息将访问请求消息发送给所述APP。
还包括:应用控制模块;所述休眠管理模块,具体用于在对所述APP进行唤醒处理的过程中,向所述应用控制模块发送用于对所述APP进行唤醒处理的第七报文,且所述第七报文中携带所述APP的标识信息;
所述应用控制模块,用于在接收到所述第七报文之后,对所述APP进行唤醒处理,并在所述APP唤醒成功后,向所述休眠管理模块发送用于表示所述APP唤醒成功的第八报文,且所述第八报文中携带所述APP的标识信息。
所述休眠管理模块,具体用于在通知路由模块删除休眠管理模块的转发信息的过程中,向路由模块发送用于删除休眠管理模块的转发信息的第九报文,所述第九报文携带所述APP的标识信息、所述休眠管理模块的转发信息;
所述APP,具体用于在将所述APP的转发信息发送给所述路由模块的过程中,向所述路由模块发送用于注册所述APP的转发信息的第十报文,所述第十报文携带所述APP的标识信息、所述APP的转发信息;
所述路由模块,具体用于在接收到所述第九报文之后,从本地的路由表项中删除所述休眠管理模块的转发信息;在接收到所述第十报文之后,在本地的路由表项中记录所述APP的转发信息,以在所述APP唤醒成功时,利用所述APP的转发信息将访问请求消息发送给所述APP。
所述资源利用率包括以下之一或者任意组合:CPU使用率、内存使用率、磁盘使用率、请求处理数;所述休眠管理模块的转发信息包括:所述APP对应的统一资源定位符URL信息、所述休眠管理模块的IP地址和服务端口;所述APP的转发信息包括:所述APP对应的URL信息、IP地址和服务端口。
本发明提供一种APP休眠的管理方法,所述APP休眠的管理方法应用在休眠管理设备上,且所述方法包括以下步骤:
在APP的运行期间,获取所述APP的资源利用率;
利用所述资源利用率判断是否需要休眠所述APP;
如果是,则对所述APP进行休眠处理;以使所述APP通知路由模块删除所述APP的转发信息,并释放所述APP占用的资源;
在所述APP休眠成功时,将所述休眠管理设备的转发信息发送到所述路由模块;以使所述路由模块在所述APP休眠成功时,利用所述休眠管理设备的转发信息将访问请求消息发送给所述休眠管理设备。
基于上述技术方案,本发明实施例中,当利用APP的资源利用率确定需要休眠APP时,可以对APP进行休眠处理,从而释放APP占用的计算、内存、网络、存储等资源,避免资源的浪费,提高资源利用率。而且,当存在APP的访问请求消息时,访问请求消息能够被及时处理,业务不会发生中断。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的APP休眠的管理装置的结构图;
图2是本发明另一种实施方式中的APP休眠的管理装置的结构图;
图3是本发明一种实施方式中的APP休眠的管理方法的流程图;
图4是本发明另一种实施方式中的APP休眠的管理方法的流程图;
图5是本发明另一种实施方式中的APP休眠的管理方法的流程图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出了一种APP休眠的管理装置,如图1所示,该APP休眠的管理装置具体可以包括但不限于休眠管理模块(SleepManager)、路由模块(Router)和多个APP。其中,休眠管理模块、路由模块和多个APP的部署结构是分布式结构,即休眠管理模块、路由模块和多个APP可以部署在相同的设备上,也可以部署在不同的设备上,这多个APP可以部署在相同的设备上,也可以部署在不同的设备上。而且,每个APP的处理过程相同,后续以一个APP的处理为例进行说明。
本发明实施例中,休眠管理模块,用于在APP的运行期间,获取APP的资源利用率;在利用该资源利用率确定需要休眠APP时,对APP进行休眠处理;在APP休眠成功时,将本休眠管理模块的转发信息发送到路由模块。APP,用于在休眠管理模块对本APP进行休眠处理时,通知路由模块删除本APP的转发信息,并释放本APP占用的资源。路由模块,用于在APP的运行期间,利用APP的转发信息将访问请求消息发送给APP;在APP休眠成功时,利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。
如图2所示,该APP休眠的管理装置还可以包括监控模块(Monitor)和应用控制模块(AppController),其中,休眠管理模块、监控模块和应用控制模块的部署结构也可以是分布式结构,即休眠管理模块、监控模块和应用控制模块可以部署在相同的设备上,也可以部署在不同的设备上。
本发明实施例中,监控模块,用于在APP的运行期间,获取APP的资源利用率。应用控制模块,用于在接收到来自休眠管理模块的对APP进行休眠处理的通知时,则对APP进行休眠处理;在APP休眠成功之后,则将APP休眠成功的信息通知给休眠管理模块。在此基础上,休眠管理模块,具体用于在获取APP的资源利用率的过程中,从监控模块获取APP的资源利用率。在对APP进行休眠处理的过程中,通知应用控制模块对APP进行休眠处理;在接收到来自应用控制模块的APP休眠成功的信息时,确定APP休眠成功。
其中,针对监控模块获取APP的资源利用率的过程,在APP的运行期间,监控模块可以定期向APP发送查询资源利用率的请求。在APP上可以配置APP代理,该APP代理可以定期获取本APP的资源利用率,并在接收到来自监控模块的请求后,将APP的资源利用率发送给监控模块。
其中,针对休眠管理模块利用该资源利用率确定需要休眠APP的过程,当休眠管理模块利用该资源利用率确定APP在预设时间内不活跃时,如在1分钟内不活跃时,则确定需要休眠APP。进一步的,当该资源利用率小于预设阈值时,则可以认为APP不活跃。基于此,假设休眠管理模块在时间1获取到的资源利用率小于预设阈值,且在时间2获取到的资源利用率小于预设阈值,且时间1与时间2之间的时间间隔大于预设时间,则确定需要休眠APP。
其中,APP的资源利用率具体可以包括但不限于以下之一或者任意组合:APP的CPU(Central Processing Unit,中央处理器)使用率、内存使用率、磁盘使用率、请求处理数等。假设资源利用率包括CPU使用率、内存使用率、磁盘使用率、请求处理数,则可以为这些资源利用率配置相同的预设阈值,也可以为这些资源利用率配置不同的预设阈值。在一个例子中,当CPU使用率小于预设阈值1,且内存使用率小于预设阈值2,且磁盘使用率小于预设阈值3,且请求处理数小于预设阈值4时,则认为资源利用率小于预设阈值。
其中,针对APP释放本APP占用的资源的过程,APP可以释放本APP占用的计算、内存、网络、存储等资源,以使这些资源可以被其它APP使用。
其中,在APP的运行期间,针对该APP提供的服务,路由模块记录了该APP的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。在APP休眠成功时,针对该APP提供的服务,路由模块上会删除该APP的转发信息,并记录休眠管理模块的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。
本发明实施例中,休眠管理模块,具体用于在从监控模块获取APP的资源利用率的过程中,向监控模块发送用于请求资源利用率的第一报文,该第一报文携带采集时间信息、APP的标识信息,并接收监控模块返回的第二报文,并从第二报文中获取APP的资源利用率。监控模块,具体用于在接收到第一报文之后,获取该采集时间信息对应的APP的资源利用率,并将当前获取的资源利用率添加到第二报文中,并将第二报文发送给休眠管理模块。
本发明实施例中,休眠管理模块,具体用于在通知应用控制模块对APP进行休眠处理的过程中,向应用控制模块发送用于对APP进行休眠处理的第三报文,且第三报文中携带APP的标识信息。应用控制模块,具体用于在将APP休眠成功的信息通知给休眠管理模块的过程中,向休眠管理模块发送用于表示APP休眠成功的第四报文,且第四报文中携带APP的标识信息。
本发明实施例中,APP,具体用于在通知路由模块删除本APP的转发信息的过程中,向路由模块发送用于删除本APP的转发信息的第五报文,该第五报文中携带APP的标识信息、APP的转发信息。休眠管理模块,具体用于在将本休眠管理模块的转发信息发送到路由模块的过程中,向路由模块发送用于注册本休眠管理模块的第六报文,该第六报文携带APP的标识信息、本休眠管理模块的转发信息。路由模块,具体用于在接收到第五报文之后,从本地的路由表项中删除APP的转发信息;在接收到第六报文之后,在本地的路由表项中记录休眠管理模块的转发信息,基于此,在APP休眠成功时,可以利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。
上述过程是APP的休眠过程,在APP休眠成功之后,针对APP的唤醒过程,则休眠管理模块,还用于在接收到访问请求消息后,保存该访问请求消息,并对APP进行唤醒处理;在APP唤醒成功时,将该访问请求消息发送给APP,并通知路由模块删除本休眠管理模块的转发信息。APP,还用于在休眠管理模块对本APP进行唤醒处理时,重新开始工作,并将本APP的转发信息发送给路由模块。路由模块,还用于在APP唤醒成功时,在接收到访问请求消息之后,利用APP的转发信息将访问请求消息发送给APP。
其中,针对APP重新开始工作的过程,APP可以重新占用计算、内存、网络、存储等资源,并使用这些资源开始工作,对访问请求消息进行处理。
其中,在APP休眠期间,针对该APP提供的服务,路由模块记录了休眠管理模块的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。在APP唤醒成功时,针对该APP提供的服务,路由模块上会删除休眠管理模块的转发信息,并记录该APP的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。
本发明实施例中,休眠管理模块,具体用于在对APP进行唤醒处理的过程中,向应用控制模块发送用于对APP进行唤醒处理的第七报文,且该第七报文中携带APP的标识信息。应用控制模块,用于在接收到第七报文之后,对APP进行唤醒处理,并在APP唤醒成功后,向休眠管理模块发送用于表示APP唤醒成功的第八报文,且该第八报文中携带APP的标识信息。
本发明实施例中,休眠管理模块,具体用于在通知路由模块删除休眠管理模块的转发信息的过程中,向路由模块发送用于删除休眠管理模块的转发信息的第九报文,且该第九报文携带APP的标识信息、休眠管理模块的转发信息。APP,具体用于在将APP的转发信息发送给路由模块的过程中,向路由模块发送用于注册APP的转发信息的第十报文,且该第十报文携带APP的标识信息、APP的转发信息。路由模块,具体用于在接收到第九报文之后,从本地的路由表项中删除休眠管理模块的转发信息;在接收到第十报文之后,在本地的路由表项中记录APP的转发信息;基于此,在APP唤醒成功时,路由模块可以利用APP的转发信息将访问请求消息发送给APP。
本发明实施例中,休眠管理模块的转发信息具体可以包括但不限于:APP对应的URL(Uniform Resource Locator,统一资源定位符)信息、休眠管理模块的IP地址和服务端口。APP的转发信息具体可以包括但不限于:APP对应的URL信息、IP地址和服务端口。其中,APP对应的URL信息是指该APP对应的域名,是APP提供给外部用户的,外部用户可以使用该URL信息访问APP。例如,当路由模块上记录了APP对应的URL信息、IP地址和服务端口时,路由模块在接收到访问请求消息(携带APP对应的URL信息)时,从该访问请求消息中解析出APP对应的URL信息,并找到该URL信息对应的IP地址和服务端口,从而利用该IP地址和服务端口将访问请求消息发送给APP。当路由模块上记录了APP对应的URL信息、休眠管理模块的IP地址和服务端口时,路由模块在接收到访问请求消息时,从该访问请求消息中解析出APP对应的URL信息,找到该URL信息对应的IP地址和服务端口,从而利用该IP地址和服务端口将访问请求消息发送给休眠管理模块。
基于上述技术方案,本发明实施例中,当利用APP的资源利用率确定需要休眠APP时,可以对APP进行休眠处理,从而释放APP占用的计算、内存、网络、存储等资源,避免资源的浪费,提高资源利用率。而且,当存在APP的访问请求消息时,访问请求消息能够被及时处理,业务不会发生中断。
以下结合图2所示的结构,对本发明实施例的上述技术方案进行详细说明。路由模块为对外统一接口,所有的访问请求消息均由路由模块分发。休眠管理模块负责APP的休眠策略控制和APP休眠期间的流量接管。监控模块负责监控APP的资源利用率。应用控制模块负责APP的休眠和唤醒。在此基础上,如图3所示,为本发明实施例中提出的一种APP休眠的管理方法的流程图,该方法主要针对APP的休眠过程,该方法可以包括以下步骤:
步骤301,在APP的运行期间,监控模块获取APP的资源利用率。
其中,监控模块可以定期向APP发送查询资源利用率的请求。在APP上可以配置APP代理,该APP代理可以定期获取本APP的资源利用率,并在接收到来自监控模块的请求后,将APP的资源利用率发送给监控模块。
其中,APP的资源利用率具体可以包括但不限于以下之一或者任意组合:APP的CPU使用率、内存使用率、磁盘使用率、请求处理数等。
步骤302,休眠管理模块向监控模块发送第一报文,该第一报文携带采集时间信息、APP的标识信息、操作命令信息。其中,该采集时间信息包括采集开始时间和采集结束时间,该操作命令信息表示用于请求资源利用率。
其中,在APP的运行期间,休眠管理模块可以定期发送第一报文。
步骤303,监控模块在接收到第一报文后,获取采集时间信息对应的APP的资源利用率,将该资源利用率添加到第二报文,将第二报文发送给休眠管理模块。休眠管理模块接收第二报文,从第二报文中获取APP的资源利用率。
其中,监控模块在接收到第一报文后,从第一报文中解析出采集时间信息和APP的标识信息,并获取该APP的标识信息对应的APP,在该采集时间信息(采集开始时间和采集结束时间之间的时间段)对应的资源利用率。
其中,第二报文中携带APP的资源利用率、操作命令信息、APP的当前状态。该资源利用率可以为CPU使用率、内存使用率、磁盘使用率、请求处理数等。该操作命令信息表示用于回应资源利用率。APP的当前状态可以为运行状态、停止状态等,第二报文中携带的当前状态可以为运行状态,表示APP当前是运行期间,并占用了计算、内存、网络、存储等资源。
步骤304,休眠管理模块利用该APP的资源利用率确定需要休眠该APP。
其中,当休眠管理模块利用该APP的资源利用率确定该APP在预设时间内不活跃时,如在1分钟内不活跃时,则休眠管理模块确定需要休眠APP。
例如,当该资源利用率小于预设阈值,则休眠管理模块确定需要休眠该APP,并停止向监控模块发送第一报文。当该资源利用率不小于预设阈值,则休眠管理模块确定不需要休眠该APP,继续定期向监控模块发送第一报文。
步骤305,休眠管理模块向应用控制模块发送第三报文,该第三报文中携带APP的标识信息、表示用于对APP进行休眠处理的操作命令信息。
步骤306,应用控制模块在接收到第三报文后,对APP的标识信息对应的APP进行休眠处理。在APP休眠成功后,向休眠管理模块发送第四报文,该第四报文携带APP的标识信息、用于表示APP休眠成功的操作命令信息。
此外,该第四报文中还可以携带APP的当前状态,该当前状态可以为运行状态、停止状态等,第四报文中携带的当前状态可以为停止状态,表示APP当前是休眠期间,并释放了计算、内存、网络、存储等资源。
其中,针对应用控制模块对APP进行休眠处理的过程,应用控制模块可以通知APP进行休眠处理,以使APP释放本APP占用的资源。
步骤307,APP在应用控制模块对本APP进行休眠处理时,向路由模块发送第五报文,该第五报文携带APP的标识信息、APP的转发信息和用于通知路由模块删除APP的转发信息的操作命令信息,释放本APP占用的资源。
此外,APP还可以将本APP休眠成功的信息通知给应用控制模块。
其中,针对APP释放本APP占用的资源的过程,APP可以释放本APP占用的计算、内存、网络、存储等资源,以使这些资源可以被其它APP使用。
步骤308,休眠管理模块在接收到第四报文后,确定APP休眠成功,并向路由模块发送第六报文,该第六报文携带APP的标识信息、本休眠管理模块的转发信息和用于注册本休眠管理模块的转发信息的操作命令信息。
步骤309,路由模块在接收到第五报文之后,从本地的路由表项中删除APP的转发信息;在接收到第六报文之后,在本地的路由表项中记录休眠管理模块的转发信息。基于此,在APP的运行期间,路由模块可以利用APP的转发信息将访问请求消息发送给APP;在APP休眠成功时,路由模块可以利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。
其中,在APP的运行期间,针对该APP提供的服务,路由模块记录了该APP的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。在APP休眠成功时,针对该APP提供的服务,路由模块上会删除该APP的转发信息,并记录休眠管理模块的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。
上述过程是APP的休眠过程,在APP休眠成功之后,路由模块上会记录休眠管理模块的转发信息(休眠的APP对应的URL信息和休眠管理模块的IP地址和服务端口),当再有访问该休眠的APP的访问请求消息时,路由模块会将访问请求消息发送给休眠管理模块,由休眠管理模块接收到访问请求消息后,唤醒已经休眠的APP,针对APP的唤醒过程,如图4所示,本发明实施例中提出的一种APP休眠的管理方法,可以包括以下步骤:
步骤401,休眠管理模块在接收到来自路由模块的访问请求消息后,保存该访问请求消息,并向应用控制模块发送第七报文,且该第七报文中携带了APP的标识信息、用于对APP进行唤醒处理的操作命令信息。
步骤402,应用控制模块在接收到第七报文之后,对APP进行唤醒处理,并在APP唤醒成功之后,向休眠管理模块发送第八报文,且该第八报文中携带APP的标识信息、用于表示APP唤醒成功的操作命令信息。
此外,该第八报文中还可以携带APP的当前状态,该当前状态可以为运行状态、停止状态等,第八报文中携带的当前状态可以为运行状态,表示APP当前是运行期间,并占用了计算、内存、网络、存储等资源。
其中,针对应用控制模块对APP进行唤醒处理的过程,应用控制模块可以通知APP进行唤醒处理,以使APP重新占用相关资源,并重新开始工作。
步骤403,APP在应用控制模块对本APP进行唤醒处理时,重新开始工作,并向路由模块发送第十报文,且该第十报文中携带了本APP的标识信息、本APP的转发信息、用于注册本APP的转发信息的操作命令信息。
此外,APP还可以将本APP唤醒成功的信息通知给应用控制模块。
其中,针对APP重新开始工作的过程,APP可以重新占用计算、内存、网络、存储等资源,并使用这些资源开始工作,对访问请求消息进行处理。
步骤404,休眠管理模块在接收到第八报文后,确定APP唤醒成功,并向路由模块发送第九报文,且该第九报文携带APP的标识信息、本休眠管理模块的转发信息、用于删除本休眠管理模块的转发信息的操作命令信息。
此外,休眠管理模块在确定APP唤醒成功之后,还可以将本地保存的访问请求消息发送给APP,APP对该访问请求消息进行处理,并将处理结果返回给休眠管理模块。休眠管理模块将处理结果返回给路由模块,路由模块将处理结果返回给用户。至此,需要休眠管理模块处理的访问请求消息被处理完成,后续访问该APP的访问请求消息会被发送给APP直接进行处理。
步骤405,路由模块在接收到第九报文之后,从本地的路由表项中删除休眠管理模块的转发信息;在接收到第十报文之后,在本地的路由表项中记录APP的转发信息。基于此,在APP唤醒成功时,在接收到访问请求消息之后,路由模块可以利用APP的转发信息将访问请求消息发送给APP。
其中,在APP休眠期间,针对该APP提供的服务,路由模块记录了休眠管理模块的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用休眠管理模块的转发信息将访问请求消息发送给休眠管理模块。在APP唤醒成功时,针对该APP提供的服务,路由模块上会删除休眠管理模块的转发信息,并记录该APP的转发信息,因此,在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。
针对图3和图4所示的流程,APP的标识信息可以为应用标识和/或应用名称,应用标识是APP的一个唯一标识,如123456等,应用名称是APP的一个唯一名称,如支付宝应用等。此外,上述各报文可以是基于HTTP(HyperText Transfer Protocol,超文本传输协议)协议的报文,如第一报文至第十报文,均是基于HTTP协议的报文。此外,休眠管理模块的转发信息可以包括但不限于:APP对应的URL信息、休眠管理模块的IP地址和服务端口。APP的转发信息可以包括但不限于:APP对应的URL信息、IP地址和服务端口。
其中,APP对应的URL信息是指该APP对应的域名,是APP提供给外部用户的,外部用户可以使用该URL信息访问APP。例如,当路由模块上记录APP对应的URL信息、IP地址和服务端口时,路由模块在接收到访问请求消息时,从访问请求消息中解析出APP对应的URL信息,并找到该URL信息对应的IP地址和服务端口,从而利用该IP地址和服务端口将访问请求消息发送给APP。当路由模块上记录APP对应的URL信息、休眠管理模块的IP地址和服务端口时,路由模块在接收到访问请求消息时,从访问请求消息中解析出APP对应的URL信息,找到该URL信息对应的IP地址和服务端口,从而利用该IP地址和服务端口将访问请求消息发送给休眠管理模块。
基于与上述方法和装置同样的发明构思,本发明实施例中还提出一种APP休眠的管理方法,所述APP休眠的管理方法可以应用在休眠管理设备上。其中,可以在休眠管理设备上划分出休眠管理模块、监控模块和应用控制模块,这样,可以使用休眠管理模块、监控模块和应用控制模块来实现APP休眠的管理方法,这个处理流程参见上述图3和图4的处理流程,在此不再赘述。当然,也可以使用休眠管理设备来实现上述休眠管理模块、监控模块和应用控制模块的功能,本发明实施例中以这个场景为例进行说明。
休眠管理设备、路由模块和APP的部署结构是分布式结构,路由模块和APP可以部署在休眠管理设备,也可以部署在休眠管理设备之外的其它设备。
如图5所示,本实施例中提出的APP休眠的管理方法具体包括以下步骤:
步骤501,在APP的运行期间,休眠管理设备获取APP的资源利用率。
步骤502,休眠管理设备利用该资源利用率判断是否需要休眠该APP。如果是,执行步骤503;如果否,在下一周期继续获取APP的资源利用率。
步骤503,休眠管理设备对该APP进行休眠处理;以使该APP通知路由模块删除本APP的转发信息,并释放本APP占用的资源。
步骤504,在APP休眠成功时,休眠管理设备将本休眠管理设备的转发信息发送到路由模块;以使路由模块在APP休眠成功时,利用该休眠管理设备的转发信息将访问请求消息发送给休眠管理设备。此外,在APP的运行期间,路由模块可以利用APP的转发信息将访问请求消息发送给该APP。
本发明实施例中,休眠管理设备在接收到访问请求消息后,在休眠管理设备本地保存该访问请求消息,并对APP进行唤醒处理;以使APP重新开始工作,并将本APP的转发信息发送给路由模块。在APP唤醒成功时,休眠管理设备将本地保存的该访问请求消息发送给APP,并通知路由模块删除本休眠管理设备的转发信息;以使路由模块在APP唤醒成功时,在接收到访问请求消息之后,利用APP的转发信息将访问请求消息发送给该APP。
本发明实施例中,在APP的运行期间,针对该APP提供的服务,路由模块记录了该APP的转发信息,因此在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。在APP休眠成功时,针对该APP提供的服务,路由模块上会删除该APP的转发信息,并记录休眠管理设备的转发信息,因此在接收到访问该APP的访问请求消息时,可以利用休眠管理设备的转发信息将访问请求消息发送给休眠管理设备。在APP唤醒成功时,针对该APP提供的服务,路由模块上会删除休眠管理设备的转发信息,并记录APP的转发信息,因此在接收到访问该APP的访问请求消息时,可以利用该APP的转发信息将访问请求消息发送给该APP。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种APP休眠的管理装置,其特征在于,所述装置具体包括:
休眠管理模块,用于在APP的运行期间,获取所述APP的资源利用率;在利用所述资源利用率确定需要休眠所述APP时,对所述APP进行休眠处理;在所述APP休眠成功时,将本休眠管理模块的转发信息发送到路由模块;
APP,用于在所述休眠管理模块对所述APP进行休眠处理时,通知所述路由模块删除所述APP的转发信息,并释放所述APP占用的资源;
路由模块,用于在APP的运行期间,利用所述APP的转发信息将访问请求消息发送给所述APP;在所述APP休眠成功时,利用所述休眠管理模块的转发信息将访问请求消息发送给所述休眠管理模块。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:
监控模块,用于在APP的运行期间,获取所述APP的资源利用率;
应用控制模块,用于在接收到来自所述休眠管理模块的对所述APP进行休眠处理的通知时,则对所述APP进行休眠处理;在所述APP休眠成功之后,则将所述APP休眠成功的信息通知给所述休眠管理模块;
所述休眠管理模块,具体用于在获取所述APP的资源利用率的过程中,从所述监控模块获取所述APP的资源利用率;在对所述APP进行休眠处理的过程中,通知所述应用控制模块对所述APP进行休眠处理;在接收到来自所述应用控制模块的所述APP休眠成功的信息时,确定所述APP休眠成功。
3.根据权利要求2所述的装置,其特征在于,
所述休眠管理模块,具体用于在从所述监控模块获取所述APP的资源利用率的过程中,向所述监控模块发送用于请求资源利用率的第一报文,所述第一报文携带采集时间信息、所述APP的标识信息,并接收所述监控模块返回的第二报文,并从所述第二报文中获取所述APP的资源利用率;
所述监控模块,具体用于在接收到所述第一报文之后,获取所述采集时间信息对应的所述APP的资源利用率,并将当前获取的资源利用率添加到第二报文中,并将所述第二报文发送给所述休眠管理模块。
4.根据权利要求2所述的装置,其特征在于,
所述休眠管理模块,具体用于在通知所述应用控制模块对所述APP进行休眠处理的过程中,向所述应用控制模块发送用于对所述APP进行休眠处理的第三报文,且所述第三报文中携带所述APP的标识信息;
所述应用控制模块,具体用于在将所述APP休眠成功的信息通知给所述休眠管理模块的过程中,向所述休眠管理模块发送用于表示所述APP休眠成功的第四报文,且所述第四报文中携带所述APP的标识信息。
5.根据权利要求1所述的装置,其特征在于,
所述APP,具体用于在通知所述路由模块删除所述APP的转发信息的过程中,向所述路由模块发送用于删除所述APP的转发信息的第五报文,所述第五报文中携带所述APP的标识信息、所述APP的转发信息;
所述休眠管理模块,具体用于在将休眠管理模块的转发信息发送到路由模块的过程中,向所述路由模块发送用于注册所述休眠管理模块的第六报文,所述第六报文携带所述APP的标识信息、所述休眠管理模块的转发信息;
所述路由模块,具体用于在接收到所述第五报文之后,从本地的路由表项中删除所述APP的转发信息;在接收到所述第六报文之后,在本地的路由表项中记录所述休眠管理模块的转发信息,以在所述APP休眠成功时,利用所述休眠管理模块的转发信息将访问请求消息发送给所述休眠管理模块。
6.根据权利要求1所述的装置,其特征在于,
所述休眠管理模块,还用于在接收到访问请求消息后,保存所述访问请求消息,对所述APP进行唤醒处理;在所述APP唤醒成功时,将所述访问请求消息发送给所述APP,并通知路由模块删除本休眠管理模块的转发信息;
所述APP,还用于在所述休眠管理模块对所述APP进行唤醒处理时,重新开始工作,并将所述APP的转发信息发送给所述路由模块;
所述路由模块,还用于在所述APP唤醒成功时,在接收到访问请求消息之后,利用所述APP的转发信息将访问请求消息发送给所述APP。
7.根据权利要求6所述的装置,其特征在于,
还包括:应用控制模块;所述休眠管理模块,具体用于在对所述APP进行唤醒处理的过程中,向所述应用控制模块发送用于对所述APP进行唤醒处理的第七报文,且所述第七报文中携带所述APP的标识信息;
所述应用控制模块,用于在接收到所述第七报文之后,对所述APP进行唤醒处理,并在所述APP唤醒成功后,向所述休眠管理模块发送用于表示所述APP唤醒成功的第八报文,且所述第八报文中携带所述APP的标识信息。
8.根据权利要求6所述的装置,其特征在于,
所述休眠管理模块,具体用于在通知路由模块删除休眠管理模块的转发信息的过程中,向路由模块发送用于删除休眠管理模块的转发信息的第九报文,所述第九报文携带所述APP的标识信息、所述休眠管理模块的转发信息;
所述APP,具体用于在将所述APP的转发信息发送给所述路由模块的过程中,向所述路由模块发送用于注册所述APP的转发信息的第十报文,所述第十报文携带所述APP的标识信息、所述APP的转发信息;
所述路由模块,具体用于在接收到所述第九报文之后,从本地的路由表项中删除所述休眠管理模块的转发信息;在接收到所述第十报文之后,在本地的路由表项中记录所述APP的转发信息,以在所述APP唤醒成功时,利用所述APP的转发信息将访问请求消息发送给所述APP。
9.根据权利要求1-8任一项所述的装置,其特征在于,所述资源利用率包括以下之一或者任意组合:中央处理器CPU使用率、内存使用率、磁盘使用率、请求处理数;所述休眠管理模块的转发信息包括:所述APP对应的统一资源定位符URL信息、所述休眠管理模块的IP地址和服务端口;所述APP的转发信息包括:所述APP对应的URL信息、IP地址和服务端口。
10.一种APP休眠的管理方法,其特征在于,所述APP休眠的管理方法应用在休眠管理设备上,且所述方法包括以下步骤:
在APP的运行期间,获取所述APP的资源利用率;
利用所述资源利用率判断是否需要休眠所述APP;
如果是,则对所述APP进行休眠处理;以使所述APP通知路由模块删除所述APP的转发信息,并释放所述APP占用的资源;
在所述APP休眠成功时,将所述休眠管理设备的转发信息发送到所述路由模块;以使所述路由模块在所述APP休眠成功时,利用所述休眠管理设备的转发信息将访问请求消息发送给所述休眠管理设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610190741.XA CN105897869B (zh) | 2016-03-29 | 2016-03-29 | 一种app休眠的管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610190741.XA CN105897869B (zh) | 2016-03-29 | 2016-03-29 | 一种app休眠的管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105897869A true CN105897869A (zh) | 2016-08-24 |
CN105897869B CN105897869B (zh) | 2019-09-06 |
Family
ID=57014057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610190741.XA Active CN105897869B (zh) | 2016-03-29 | 2016-03-29 | 一种app休眠的管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105897869B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864042A (zh) * | 2017-10-31 | 2018-03-30 | 青岛海信电器股份有限公司 | 应用程序唤醒方法及装置 |
CN109445925A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种应用程序接管方法、装置及*** |
CN111786904A (zh) * | 2020-07-07 | 2020-10-16 | 上海道客网络科技有限公司 | 一种实现容器休眠与唤醒的***及休眠与唤醒方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158341A (zh) * | 2010-12-30 | 2011-08-17 | 友达光电股份有限公司 | 唤醒电子装置的方法以及可唤醒电子装置的网络服务器 |
CN102571507A (zh) * | 2010-12-10 | 2012-07-11 | 华为终端有限公司 | 一种唤醒设备的方法、休眠代理设备及*** |
CN103259817A (zh) * | 2012-02-17 | 2013-08-21 | 华为技术有限公司 | 资源释放方法及装置 |
CN103279353A (zh) * | 2013-05-31 | 2013-09-04 | 新浪网技术(中国)有限公司 | 一种应用优化策略确定方法、装置及*** |
CN104410712A (zh) * | 2014-12-16 | 2015-03-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及*** |
CN104468160A (zh) * | 2013-09-17 | 2015-03-25 | 苏州精易会信息技术有限公司 | 一种Web服务器的启停管理方法和装置 |
CN105094979A (zh) * | 2014-05-21 | 2015-11-25 | 北京大学 | 一种基于应用特征的PaaS弹性资源管理机制 |
-
2016
- 2016-03-29 CN CN201610190741.XA patent/CN105897869B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571507A (zh) * | 2010-12-10 | 2012-07-11 | 华为终端有限公司 | 一种唤醒设备的方法、休眠代理设备及*** |
CN102158341A (zh) * | 2010-12-30 | 2011-08-17 | 友达光电股份有限公司 | 唤醒电子装置的方法以及可唤醒电子装置的网络服务器 |
CN103259817A (zh) * | 2012-02-17 | 2013-08-21 | 华为技术有限公司 | 资源释放方法及装置 |
CN103279353A (zh) * | 2013-05-31 | 2013-09-04 | 新浪网技术(中国)有限公司 | 一种应用优化策略确定方法、装置及*** |
CN104468160A (zh) * | 2013-09-17 | 2015-03-25 | 苏州精易会信息技术有限公司 | 一种Web服务器的启停管理方法和装置 |
CN105094979A (zh) * | 2014-05-21 | 2015-11-25 | 北京大学 | 一种基于应用特征的PaaS弹性资源管理机制 |
CN104410712A (zh) * | 2014-12-16 | 2015-03-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864042A (zh) * | 2017-10-31 | 2018-03-30 | 青岛海信电器股份有限公司 | 应用程序唤醒方法及装置 |
CN107864042B (zh) * | 2017-10-31 | 2021-02-09 | 海信视像科技股份有限公司 | 应用程序唤醒方法及装置 |
CN109445925A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种应用程序接管方法、装置及*** |
CN109445925B (zh) * | 2018-11-09 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种应用程序接管方法、装置及*** |
CN111786904A (zh) * | 2020-07-07 | 2020-10-16 | 上海道客网络科技有限公司 | 一种实现容器休眠与唤醒的***及休眠与唤醒方法 |
CN111786904B (zh) * | 2020-07-07 | 2021-07-06 | 上海道客网络科技有限公司 | 一种实现容器休眠与唤醒的***及休眠与唤醒方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105897869B (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
CN102915374B (zh) | 一种控制数据库资源访问的方法、装置及*** | |
CN111064634B (zh) | 海量物联网终端在线状态的监测方法及装置 | |
CN104219327B (zh) | 一种分布式缓存*** | |
CN106357811B (zh) | 一种备份数据的删除方法、装置及*** | |
CN105357296A (zh) | 一种Docker云平台下弹性缓存*** | |
CN103001809B (zh) | 用于云存储***的服务节点状态监控方法 | |
CN107005597A (zh) | 基于用户特征在移动设备缓存的无线流量管理*** | |
WO2012146026A1 (zh) | 一种物联网监控方法及*** | |
KR20120065072A (ko) | 클라우드 스토리지 및 그의 관리 방법 | |
CN112016030B (zh) | 消息推送的方法、装置、服务器和计算机存储介质 | |
CN103338243A (zh) | Web节点的缓存数据更新方法和*** | |
CN105760240A (zh) | 分布式任务处理方法及装置 | |
CN104699529B (zh) | 一种信息获取方法及装置 | |
CN105897869A (zh) | 一种app休眠的管理方法和装置 | |
CN110740155B (zh) | 分布式***中的请求处理方法及装置 | |
CN110474963A (zh) | 一种基于zookeeper的资源访问方法、***、介质及电子设备 | |
CN104518913B (zh) | 一种基于人工免疫的云服务异常检测方法 | |
CN103475546A (zh) | 一种检测业务员重复登录的方法及*** | |
CN107526690B (zh) | 清除缓存的方法及装置 | |
CN102170476B (zh) | 一种基于云节点自主学习的云计算方法和装置 | |
CN106550002A (zh) | 一种paas云托管***及方法 | |
CN104410712B (zh) | 应用实例管理方法、用户访问请求处理方法及*** | |
CN104462235A (zh) | 一种基于Restful Web Service的物联网通用事件服务机制 | |
KR100970211B1 (ko) | 인증 서비스 시스템에서 별도의 감시자를 통해 서비스상태를 감시하는 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |