一種app休眠的管理方法和裝置的制造方法
【專利摘要】本發明提供一種APP休眠的管理方法和裝置,該裝置包括:休眠管理模塊,用于在APP的運行期間,獲取APP的資源利用率;在利用資源利用率確定需要休眠APP時,對APP進行休眠處理;在APP休眠成功時,將本休眠管理模塊的轉發信息發送到路由模塊;APP,用于在休眠管理模塊對APP進行休眠處理時,通知路由模塊刪除APP的轉發信息,并釋放APP占用的資源;路由模塊,用于在APP的運行期間,利用APP的轉發信息將訪問請求消息發送給APP;在APP休眠成功時,利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。通過本發明的技術方案,可以釋放APP占用的計算、內存、網絡、存儲等資源,避免資源的浪費,提高資源利用率。
【專利說明】
一種APP休眠的管理方法和裝置
技術領域
[0001 ]本發明涉及通信技術領域,尤其涉及一種APP休眠的管理方法和裝置。
【背景技術】
[0002]云計算是指基于互聯網等網絡,通過虛擬化方式共享IT資源的新型計算模式。其中,云計算的核心思想是:通過網絡統一管理和調度計算、存儲、網絡、軟件等資源,實現資源整合與配置優化,以服務的方式滿足不同用戶隨時獲取并擴展、按需使用并付費、最大限度地降低成本等各類需求。
[0003]目前,云計算提供的服務模式主要包括:IaaS(Infrastructureas a Service,基礎設施即服務)、PaaS(Platform as a Service,平臺即服務)、SaaS(Software as aService,軟件即服務)^aaS提供應用服務引擎,將軟件研發平臺作為服務提供,如API(Applicat1n Programming Interface,應用程序接口)服務或者應用運行服務等,用戶基于這些服務構建業務應用。APP(應用)為運行在PaaS平臺的網絡應用,包括有頁面的WEB應用和沒有頁面的API服務。
[0004]隨著互聯網技術的快速發展,越來越多的APP被開發出來。APP數量的增加,需要使用更多的計算資源來部署APP。而且,大量的APP,會使用大量的計算、內存、網絡、存儲等資源,對資源造成了極大的浪費。
【發明內容】
[0005]本發明提供一種APP休眠的管理裝置,所述裝置具體包括:
[0006]休眠管理模塊,用于在APP的運行期間,獲取所述APP的資源利用率;在利用所述資源利用率確定需要休眠所述APP時,對所述APP進行休眠處理;在所述APP休眠成功時,將本休眠管理模塊的轉發信息發送到路由模塊;
[0007]APP,用于在所述休眠管理模塊對所述APP進行休眠處理時,通知所述路由模塊刪除所述APP的轉發信息,并釋放所述APP占用的資源;
[0008]路由模塊,用于在APP的運行期間,利用所述APP的轉發信息將訪問請求消息發送給所述APP;在所述APP休眠成功時,利用所述休眠管理模塊的轉發信息將訪問請求消息發送給所述休眠管理模塊。
[0009]所述裝置還包括:
[0010]監控模塊,用于在APP的運行期間,獲取所述APP的資源利用率;
[0011 ]應用控制模塊,用于在接收到來自所述休眠管理模塊的對所述APP進行休眠處理的通知時,則對所述APP進行休眠處理;在所述APP休眠成功之后,則將所述APP休眠成功的信息通知給所述休眠管理模塊;
[0012]所述休眠管理模塊,具體用于在獲取所述APP的資源利用率的過程中,從所述監控模塊獲取所述APP的資源利用率;在對所述APP進行休眠處理的過程中,通知所述應用控制模塊對所述APP進行休眠處理;在接收到來自所述應用控制模塊的所述APP休眠成功的信息時,確定所述APP休眠成功。
[0013]所述休眠管理模塊,具體用于在從所述監控模塊獲取所述APP的資源利用率的過程中,向所述監控模塊發送用于請求資源利用率的第一報文,所述第一報文攜帶采集時間信息、所述APP的標識信息,并接收所述監控模塊返回的第二報文,并從所述第二報文中獲取所述APP的資源利用率;
[0014]所述監控模塊,具體用于在接收到所述第一報文之后,獲取所述采集時間信息對應的所述APP的資源利用率,并將當前獲取的資源利用率添加到第二報文中,并將所述第二報文發送給所述休眠管理模塊。
[0015]所述休眠管理模塊,具體用于在通知所述應用控制模塊對所述APP進行休眠處理的過程中,向所述應用控制模塊發送用于對所述APP進行休眠處理的第三報文,且所述第三報文中攜帶所述APP的標識信息;
[0016]所述應用控制模塊,具體用于在將所述APP休眠成功的信息通知給所述休眠管理模塊的過程中,向所述休眠管理模塊發送用于表示所述APP休眠成功的第四報文,且所述第四報文中攜帶所述APP的標識信息。
[0017]所述APP,具體用于在通知所述路由模塊刪除所述APP的轉發信息的過程中,向所述路由模塊發送用于刪除所述APP的轉發信息的第五報文,所述第五報文中攜帶所述APP的標識信息、所述APP的轉發信息;
[0018]所述休眠管理模塊,具體用于在將休眠管理模塊的轉發信息發送到路由模塊的過程中,向所述路由模塊發送用于注冊所述休眠管理模塊的第六報文,所述第六報文攜帶所述APP的標識信息、所述休眠管理模塊的轉發信息;
[0019]所述路由模塊,具體用于在接收到所述第五報文之后,從本地的路由表項中刪除所述APP的轉發信息;在接收到所述第六報文之后,在本地的路由表項中記錄所述休眠管理模塊的轉發信息,以在所述APP休眠成功時,利用所述休眠管理模塊的轉發信息將訪問請求消息發送給所述休眠管理模塊。
[0020]所述休眠管理模塊,還用于在接收到訪問請求消息后,保存所述訪問請求消息,對所述APP進行喚醒處理;在所述APP喚醒成功時,將所述訪問請求消息發送給所述APP,并通知路由模塊刪除本休眠管理模塊的轉發信息;
[0021 ]所述APP,還用于在所述休眠管理模塊對所述APP進行喚醒處理時,重新開始工作,并將所述APP的轉發信息發送給所述路由模塊;
[0022]所述路由模塊,還用于在所述APP喚醒成功時,在接收到訪問請求消息之后,利用所述APP的轉發信息將訪問請求消息發送給所述APP。
[0023]還包括:應用控制模塊;所述休眠管理模塊,具體用于在對所述APP進行喚醒處理的過程中,向所述應用控制模塊發送用于對所述APP進行喚醒處理的第七報文,且所述第七報文中攜帶所述APP的標識信息;
[0024]所述應用控制模塊,用于在接收到所述第七報文之后,對所述APP進行喚醒處理,并在所述APP喚醒成功后,向所述休眠管理模塊發送用于表示所述APP喚醒成功的第八報文,且所述第八報文中攜帶所述APP的標識信息。
[0025]所述休眠管理模塊,具體用于在通知路由模塊刪除休眠管理模塊的轉發信息的過程中,向路由模塊發送用于刪除休眠管理模塊的轉發信息的第九報文,所述第九報文攜帶所述APP的標識信息、所述休眠管理模塊的轉發信息;
[0026]所述APP,具體用于在將所述APP的轉發信息發送給所述路由模塊的過程中,向所述路由模塊發送用于注冊所述APP的轉發信息的第十報文,所述第十報文攜帶所述APP的標識信息、所述APP的轉發信息;
[0027]所述路由模塊,具體用于在接收到所述第九報文之后,從本地的路由表項中刪除所述休眠管理模塊的轉發信息;在接收到所述第十報文之后,在本地的路由表項中記錄所述APP的轉發信息,以在所述APP喚醒成功時,利用所述APP的轉發信息將訪問請求消息發送給所述APP。
[0028]所述資源利用率包括以下之一或者任意組合:CPU使用率、內存使用率、磁盤使用率、請求處理數;所述休眠管理模塊的轉發信息包括:所述APP對應的統一資源定位符URL信息、所述休眠管理模塊的IP地址和服務端口;所述APP的轉發信息包括:所述APP對應的URL信息、IP地址和服務端口。
[0029]本發明提供一種APP休眠的管理方法,所述APP休眠的管理方法應用在休眠管理設備上,且所述方法包括以下步驟:
[0030]在APP的運行期間,獲取所述APP的資源利用率;
[0031 ]利用所述資源利用率判斷是否需要休眠所述APP;
[0032]如果是,則對所述APP進行休眠處理;以使所述APP通知路由模塊刪除所述APP的轉發信息,并釋放所述APP占用的資源;
[0033]在所述APP休眠成功時,將所述休眠管理設備的轉發信息發送到所述路由模塊;以使所述路由模塊在所述APP休眠成功時,利用所述休眠管理設備的轉發信息將訪問請求消息發送給所述休眠管理設備。
[0034]基于上述技術方案,本發明實施例中,當利用APP的資源利用率確定需要休眠APP時,可以對APP進行休眠處理,從而釋放APP占用的計算、內存、網絡、存儲等資源,避免資源的浪費,提高資源利用率。而且,當存在APP的訪問請求消息時,訪問請求消息能夠被及時處理,業務不會發生中斷。
【附圖說明】
[0035]為了更加清楚地說明本發明實施例或者現有技術中的技術方案,下面將對本發明實施例或者現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。
[0036]圖1是本發明一種實施方式中的APP休眠的管理裝置的結構圖;
[0037]圖2是本發明另一種實施方式中的APP休眠的管理裝置的結構圖;
[0038]圖3是本發明一種實施方式中的APP休眠的管理方法的流程圖;
[0039]圖4是本發明另一種實施方式中的APP休眠的管理方法的流程圖;
[0040]圖5是本發明另一種實施方式中的APP休眠的管理方法的流程圖。
【具體實施方式】
[0041]在本發明使用的術語僅僅是出于描述特定實施例的目的,而非限制本發明。本發明和權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其它含義。還應當理解,本文中使用的術語“和/或”是指包含一個或多個相關聯的列出項目的任何或所有可能組合。
[0042]應當理解,盡管在本發明可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本發明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,此外,所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
[0043]針對現有技術中存在的問題,本發明實施例中提出了一種APP休眠的管理裝置,如圖1所示,該APP休眠的管理裝置具體可以包括但不限于休眠管理模塊(SleepManager)、路由模塊(Router)和多個APP。其中,休眠管理模塊、路由模塊和多個APP的部署結構是分布式結構,即休眠管理模塊、路由模塊和多個APP可以部署在相同的設備上,也可以部署在不同的設備上,這多個APP可以部署在相同的設備上,也可以部署在不同的設備上。而且,每個APP的處理過程相同,后續以一個APP的處理為例進行說明。
[0044]本發明實施例中,休眠管理模塊,用于在APP的運行期間,獲取APP的資源利用率;在利用該資源利用率確定需要休眠APP時,對APP進行休眠處理;在APP休眠成功時,將本休眠管理模塊的轉發信息發送到路由模塊。APP,用于在休眠管理模塊對本APP進行休眠處理時,通知路由模塊刪除本APP的轉發信息,并釋放本APP占用的資源。路由模塊,用于在APP的運行期間,利用APP的轉發信息將訪問請求消息發送給APP;在APP休眠成功時,利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。
[0045]如圖2所示,該APP休眠的管理裝置還可以包括監控模塊(Monitor)和應用控制模塊(AppController),其中,休眠管理模塊、監控模塊和應用控制模塊的部署結構也可以是分布式結構,即休眠管理模塊、監控模塊和應用控制模塊可以部署在相同的設備上,也可以部署在不同的設備上。
[0046]本發明實施例中,監控模塊,用于在APP的運行期間,獲取APP的資源利用率。應用控制模塊,用于在接收到來自休眠管理模塊的對APP進行休眠處理的通知時,則對APP進行休眠處理;在APP休眠成功之后,則將APP休眠成功的信息通知給休眠管理模塊。在此基礎上,休眠管理模塊,具體用于在獲取APP的資源利用率的過程中,從監控模塊獲取APP的資源利用率。在對APP進行休眠處理的過程中,通知應用控制模塊對APP進行休眠處理;在接收到來自應用控制模塊的APP休眠成功的信息時,確定APP休眠成功。
[0047]其中,針對監控模塊獲取APP的資源利用率的過程,在APP的運行期間,監控模塊可以定期向APP發送查詢資源利用率的請求。在APP上可以配置APP代理,該APP代理可以定期獲取本APP的資源利用率,并在接收到來自監控模塊的請求后,將APP的資源利用率發送給監控模塊。
[0048]其中,針對休眠管理模塊利用該資源利用率確定需要休眠APP的過程,當休眠管理模塊利用該資源利用率確定APP在預設時間內不活躍時,如在I分鐘內不活躍時,則確定需要休眠APP。進一步的,當該資源利用率小于預設閾值時,則可以認為APP不活躍。基于此,假設休眠管理模塊在時間I獲取到的資源利用率小于預設閾值,且在時間2獲取到的資源利用率小于預設閾值,且時間I與時間2之間的時間間隔大于預設時間,則確定需要休眠APP。
[0049]其中,APP的資源利用率具體可以包括但不限于以下之一或者任意組合:APP的CPU(Central Processing Unit,中央處理器)使用率、內存使用率、磁盤使用率、請求處理數等。假設資源利用率包括CPU使用率、內存使用率、磁盤使用率、請求處理數,則可以為這些資源利用率配置相同的預設閾值,也可以為這些資源利用率配置不同的預設閾值。在一個例子中,當C P U使用率小于預設閾值I,且內存使用率小于預設閾值2,且磁盤使用率小于預設閾值3,且請求處理數小于預設閾值4時,則認為資源利用率小于預設閾值。
[0050]其中,針對APP釋放本APP占用的資源的過程,APP可以釋放本APP占用的計算、內存、網絡、存儲等資源,以使這些資源可以被其它APP使用。
[0051]其中,在APP的運行期間,針對該APP提供的服務,路由模塊記錄了該APP的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP ο在APP休眠成功時,針對該APP提供的服務,路由模塊上會刪除該APP的轉發信息,并記錄休眠管理模塊的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。
[0052]本發明實施例中,休眠管理模塊,具體用于在從監控模塊獲取APP的資源利用率的過程中,向監控模塊發送用于請求資源利用率的第一報文,該第一報文攜帶采集時間信息、APP的標識信息,并接收監控模塊返回的第二報文,并從第二報文中獲取APP的資源利用率。監控模塊,具體用于在接收到第一報文之后,獲取該采集時間信息對應的APP的資源利用率,并將當前獲取的資源利用率添加到第二報文中,并將第二報文發送給休眠管理模塊。
[0053]本發明實施例中,休眠管理模塊,具體用于在通知應用控制模塊對APP進行休眠處理的過程中,向應用控制模塊發送用于對APP進行休眠處理的第三報文,且第三報文中攜帶APP的標識信息。應用控制模塊,具體用于在將APP休眠成功的信息通知給休眠管理模塊的過程中,向休眠管理模塊發送用于表示APP休眠成功的第四報文,且第四報文中攜帶APP的標識信息。
[0054]本發明實施例中,APP,具體用于在通知路由模塊刪除本APP的轉發信息的過程中,向路由模塊發送用于刪除本APP的轉發信息的第五報文,該第五報文中攜帶APP的標識信息、APP的轉發信息。休眠管理模塊,具體用于在將本休眠管理模塊的轉發信息發送到路由模塊的過程中,向路由模塊發送用于注冊本休眠管理模塊的第六報文,該第六報文攜帶APP的標識信息、本休眠管理模塊的轉發信息。路由模塊,具體用于在接收到第五報文之后,從本地的路由表項中刪除APP的轉發信息;在接收到第六報文之后,在本地的路由表項中記錄休眠管理模塊的轉發信息,基于此,在APP休眠成功時,可以利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。
[0055]上述過程是APP的休眠過程,在APP休眠成功之后,針對APP的喚醒過程,則休眠管理模塊,還用于在接收到訪問請求消息后,保存該訪問請求消息,并對APP進行喚醒處理;在APP喚醒成功時,將該訪問請求消息發送給APP,并通知路由模塊刪除本休眠管理模塊的轉發信息APP,還用于在休眠管理模塊對本APP進行喚醒處理時,重新開始工作,并將本APP的轉發信息發送給路由模塊。路由模塊,還用于在APP喚醒成功時,在接收到訪問請求消息之后,利用APP的轉發信息將訪問請求消息發送給APP。
[0056]其中,針對APP重新開始工作的過程,APP可以重新占用計算、內存、網絡、存儲等資源,并使用這些資源開始工作,對訪問請求消息進行處理。
[0057]其中,在APP休眠期間,針對該APP提供的服務,路由模塊記錄了休眠管理模塊的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。在APP喚醒成功時,針對該APP提供的服務,路由模塊上會刪除休眠管理模塊的轉發信息,并記錄該APP的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP。
[0058]本發明實施例中,休眠管理模塊,具體用于在對APP進行喚醒處理的過程中,向應用控制模塊發送用于對APP進行喚醒處理的第七報文,且該第七報文中攜帶APP的標識信息。應用控制模塊,用于在接收到第七報文之后,對APP進行喚醒處理,并在APP喚醒成功后,向休眠管理模塊發送用于表示APP喚醒成功的第八報文,且該第八報文中攜帶APP的標識信息。
[0059]本發明實施例中,休眠管理模塊,具體用于在通知路由模塊刪除休眠管理模塊的轉發信息的過程中,向路由模塊發送用于刪除休眠管理模塊的轉發信息的第九報文,且該第九報文攜帶APP的標識信息、休眠管理模塊的轉發信息。APP,具體用于在將APP的轉發信息發送給路由模塊的過程中,向路由模塊發送用于注冊APP的轉發信息的第十報文,且該第十報文攜帶APP的標識信息、APP的轉發信息。路由模塊,具體用于在接收到第九報文之后,從本地的路由表項中刪除休眠管理模塊的轉發信息;在接收到第十報文之后,在本地的路由表項中記錄APP的轉發信息;基于此,在APP喚醒成功時,路由模塊可以利用APP的轉發信息將訪問請求消息發送給APP。
[0060]本發明實施例中,休眠管理模塊的轉發信息具體可以包括但不限于:APP對應的URL (Uni form Resource Locator,統一資源定位符)信息、休眠管理模塊的IP地址和服務端口 C=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地址和服務端口將訪問請求消息發送給休眠管理模塊。
[0061]基于上述技術方案,本發明實施例中,當利用APP的資源利用率確定需要休眠APP時,可以對APP進行休眠處理,從而釋放APP占用的計算、內存、網絡、存儲等資源,避免資源的浪費,提高資源利用率。而且,當存在APP的訪問請求消息時,訪問請求消息能夠被及時處理,業務不會發生中斷。
[0062]以下結合圖2所示的結構,對本發明實施例的上述技術方案進行詳細說明。路由模塊為對外統一接口,所有的訪問請求消息均由路由模塊分發。休眠管理模塊負責APP的休眠策略控制和APP休眠期間的流量接管。監控模塊負責監控APP的資源利用率。應用控制模塊負責APP的休眠和喚醒。在此基礎上,如圖3所示,為本發明實施例中提出的一種APP休眠的管理方法的流程圖,該方法主要針對APP的休眠過程,該方法可以包括以下步驟:
[0063]步驟301,在APP的運行期間,監控模塊獲取APP的資源利用率。
[0064]其中,監控模塊可以定期向APP發送查詢資源利用率的請求。在APP上可以配置APP代理,該APP代理可以定期獲取本APP的資源利用率,并在接收到來自監控模塊的請求后,將APP的資源利用率發送給監控模塊。
[0065]其中,APP的資源利用率具體可以包括但不限于以下之一或者任意組合:APP的CPU使用率、內存使用率、磁盤使用率、請求處理數等。
[0066]步驟302,休眠管理模塊向監控模塊發送第一報文,該第一報文攜帶采集時間信息、APP的標識信息、操作命令信息。其中,該采集時間信息包括采集開始時間和采集結束時間,該操作命令信息表示用于請求資源利用率。
[0067]其中,在APP的運行期間,休眠管理模塊可以定期發送第一報文。
[0068]步驟303,監控模塊在接收到第一報文后,獲取采集時間信息對應的APP的資源利用率,將該資源利用率添加到第二報文,將第二報文發送給休眠管理模塊。休眠管理模塊接收第二報文,從第二報文中獲取APP的資源利用率。
[0069]其中,監控模塊在接收到第一報文后,從第一報文中解析出采集時間信息和APP的標識信息,并獲取該APP的標識信息對應的APP,在該采集時間信息(采集開始時間和采集結束時間之間的時間段)對應的資源利用率。
[0070]其中,第二報文中攜帶APP的資源利用率、操作命令信息、APP的當前狀態。該資源利用率可以為CPU使用率、內存使用率、磁盤使用率、請求處理數等。該操作命令信息表示用于回應資源利用率。APP的當前狀態可以為運行狀態、停止狀態等,第二報文中攜帶的當前狀態可以為運行狀態,表示APP當前是運行期間,并占用了計算、內存、網絡、存儲等資源。
[0071]步驟304,休眠管理模塊利用該APP的資源利用率確定需要休眠該APP。
[0072]其中,當休眠管理模塊利用該APP的資源利用率確定該APP在預設時間內不活躍時,如在I分鐘內不活躍時,則休眠管理模塊確定需要休眠APP。
[0073]例如,當該資源利用率小于預設閾值,則休眠管理模塊確定需要休眠該APP,并停止向監控模塊發送第一報文。當該資源利用率不小于預設閾值,則休眠管理模塊確定不需要休眠該APP,繼續定期向監控模塊發送第一報文。
[0074]步驟305,休眠管理模塊向應用控制模塊發送第三報文,該第三報文中攜帶APP的標識信息、表示用于對APP進行休眠處理的操作命令信息。
[0075]步驟306,應用控制模塊在接收到第三報文后,對APP的標識信息對應的APP進行休眠處理。在APP休眠成功后,向休眠管理模塊發送第四報文,該第四報文攜帶APP的標識信息、用于表示APP休眠成功的操作命令信息。
[0076]此外,該第四報文中還可以攜帶APP的當前狀態,該當前狀態可以為運行狀態、停止狀態等,第四報文中攜帶的當前狀態可以為停止狀態,表示APP當前是休眠期間,并釋放了計算、內存、網絡、存儲等資源。
[0077]其中,針對應用控制模塊對APP進行休眠處理的過程,應用控制模塊可以通知APP進行休眠處理,以使APP釋放本APP占用的資源。
[0078]步驟307,APP在應用控制模塊對本APP進行休眠處理時,向路由模塊發送第五報文,該第五報文攜帶APP的標識信息、APP的轉發信息和用于通知路由模塊刪除APP的轉發信息的操作命令信息,釋放本APP占用的資源。
[0079]此外,APP還可以將本APP休眠成功的信息通知給應用控制模塊。
[0080]其中,針對APP釋放本APP占用的資源的過程,APP可以釋放本APP占用的計算、內存、網絡、存儲等資源,以使這些資源可以被其它APP使用。
[0081 ]步驟308,休眠管理模塊在接收到第四報文后,確定APP休眠成功,并向路由模塊發送第六報文,該第六報文攜帶APP的標識信息、本休眠管理模塊的轉發信息和用于注冊本休眠管理模塊的轉發信息的操作命令信息。
[0082]步驟309,路由模塊在接收到第五報文之后,從本地的路由表項中刪除APP的轉發信息;在接收到第六報文之后,在本地的路由表項中記錄休眠管理模塊的轉發信息。基于此,在APP的運行期間,路由模塊可以利用APP的轉發信息將訪問請求消息發送給APP;在APP休眠成功時,路由模塊可以利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。
[0083]其中,在APP的運行期間,針對該APP提供的服務,路由模塊記錄了該APP的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP ο在APP休眠成功時,針對該APP提供的服務,路由模塊上會刪除該APP的轉發信息,并記錄休眠管理模塊的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。
[0084]上述過程是APP的休眠過程,在APP休眠成功之后,路由模塊上會記錄休眠管理模塊的轉發信息(休眠的APP對應的URL信息和休眠管理模塊的IP地址和服務端口),當再有訪問該休眠的APP的訪問請求消息時,路由模塊會將訪問請求消息發送給休眠管理模塊,由休眠管理模塊接收到訪問請求消息后,喚醒已經休眠的APP,針對APP的喚醒過程,如圖4所示,本發明實施例中提出的一種APP休眠的管理方法,可以包括以下步驟:
[0085]步驟401,休眠管理模塊在接收到來自路由模塊的訪問請求消息后,保存該訪問請求消息,并向應用控制模塊發送第七報文,且該第七報文中攜帶了APP的標識信息、用于對APP進行喚醒處理的操作命令信息。
[0086]步驟402,應用控制模塊在接收到第七報文之后,對APP進行喚醒處理,并在APP喚醒成功之后,向休眠管理模塊發送第八報文,且該第八報文中攜帶APP的標識信息、用于表示APP喚醒成功的操作命令信息。
[0087]此外,該第八報文中還可以攜帶APP的當前狀態,該當前狀態可以為運行狀態、停止狀態等,第八報文中攜帶的當前狀態可以為運行狀態,表示APP當前是運行期間,并占用了計算、內存、網絡、存儲等資源。
[0088]其中,針對應用控制模塊對APP進行喚醒處理的過程,應用控制模塊可以通知APP進行喚醒處理,以使APP重新占用相關資源,并重新開始工作。
[0089]步驟403,APP在應用控制模塊對本APP進行喚醒處理時,重新開始工作,并向路由模塊發送第十報文,且該第十報文中攜帶了本APP的標識信息、本APP的轉發信息、用于注冊本APP的轉發信息的操作命令信息。
[0090]此外,APP還可以將本APP喚醒成功的信息通知給應用控制模塊。
[0091]其中,針對APP重新開始工作的過程,APP可以重新占用計算、內存、網絡、存儲等資源,并使用這些資源開始工作,對訪問請求消息進行處理。
[0092]步驟404,休眠管理模塊在接收到第八報文后,確定APP喚醒成功,并向路由模塊發送第九報文,且該第九報文攜帶APP的標識信息、本休眠管理模塊的轉發信息、用于刪除本休眠管理模塊的轉發信息的操作命令信息。
[0093]此外,休眠管理模塊在確定APP喚醒成功之后,還可以將本地保存的訪問請求消息發送給APP,APP對該訪問請求消息進行處理,并將處理結果返回給休眠管理模塊。休眠管理模塊將處理結果返回給路由模塊,路由模塊將處理結果返回給用戶。至此,需要休眠管理模塊處理的訪問請求消息被處理完成,后續訪問該APP的訪問請求消息會被發送給APP直接進行處理。
[0094]步驟405,路由模塊在接收到第九報文之后,從本地的路由表項中刪除休眠管理模塊的轉發信息;在接收到第十報文之后,在本地的路由表項中記錄APP的轉發信息。基于此,在APP喚醒成功時,在接收到訪問請求消息之后,路由模塊可以利用APP的轉發信息將訪問請求消息發送給APP。
[0095]其中,在APP休眠期間,針對該APP提供的服務,路由模塊記錄了休眠管理模塊的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用休眠管理模塊的轉發信息將訪問請求消息發送給休眠管理模塊。在APP喚醒成功時,針對該APP提供的服務,路由模塊上會刪除休眠管理模塊的轉發信息,并記錄該APP的轉發信息,因此,在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP。
[0096]針對圖3和圖4所示的流程,APP的標識信息可以為應用標識和/或應用名稱,應用標識是APP的一個唯一標識,如123456等,應用名稱是APP的一個唯一名稱,如支付寶應用等。此外,上述各報文可以是基于HTTP(Hyper Text Transfer Protocol,超文本傳輸協議)協議的報文,如第一報文至第十報文,均是基于HTTP協議的報文。此外,休眠管理模塊的轉發信息可以包括但不限于:APP對應的URL信息、休眠管理模塊的IP地址和服務端口。APP的轉發信息可以包括但不限于:APP對應的URL信息、IP地址和服務端口。
[0097]其中,APP對應的URL信息是指該APP對應的域名,是APP提供給外部用戶的,外部用戶可以使用該URL信息訪問APP。例如,當路由模塊上記錄APP對應的URL信息、IP地址和服務端口時,路由模塊在接收到訪問請求消息時,從訪問請求消息中解析出APP對應的URL信息,并找到該URL信息對應的IP地址和服務端口,從而利用該IP地址和服務端口將訪問請求消息發送給APP。當路由模塊上記錄APP對應的URL信息、休眠管理模塊的IP地址和服務端口時,路由模塊在接收到訪問請求消息時,從訪問請求消息中解析出APP對應的URL信息,找到該URL信息對應的IP地址和服務端口,從而利用該IP地址和服務端口將訪問請求消息發送給休眠管理模塊。
[0098]基于與上述方法和裝置同樣的發明構思,本發明實施例中還提出一種APP休眠的管理方法,所述APP休眠的管理方法可以應用在休眠管理設備上。其中,可以在休眠管理設備上劃分出休眠管理模塊、監控模塊和應用控制模塊,這樣,可以使用休眠管理模塊、監控模塊和應用控制模塊來實現APP休眠的管理方法,這個處理流程參見上述圖3和圖4的處理流程,在此不再贅述。當然,也可以使用休眠管理設備來實現上述休眠管理模塊、監控模塊和應用控制模塊的功能,本發明實施例中以這個場景為例進行說明。
[0099]休眠管理設備、路由模塊和APP的部署結構是分布式結構,路由模塊和APP可以部署在休眠管理設備,也可以部署在休眠管理設備之外的其它設備。
[0100]如圖5所示,本實施例中提出的APP休眠的管理方法具體包括以下步驟:
[0101 ] 步驟501,在APP的運行期間,休眠管理設備獲取APP的資源利用率。
[0102]步驟502,休眠管理設備利用該資源利用率判斷是否需要休眠該APP。如果是,執行步驟503;如果否,在下一周期繼續獲取APP的資源利用率。
[0103]步驟503,休眠管理設備對該APP進行休眠處理;以使該APP通知路由模塊刪除本APP的轉發信息,并釋放本APP占用的資源。
[0104]步驟504,在APP休眠成功時,休眠管理設備將本休眠管理設備的轉發信息發送到路由模塊;以使路由模塊在APP休眠成功時,利用該休眠管理設備的轉發信息將訪問請求消息發送給休眠管理設備。此外,在APP的運行期間,路由模塊可以利用APP的轉發信息將訪問請求消息發送給該APP。
[0105]本發明實施例中,休眠管理設備在接收到訪問請求消息后,在休眠管理設備本地保存該訪問請求消息,并對APP進行喚醒處理;以使APP重新開始工作,并將本APP的轉發信息發送給路由模塊。在APP喚醒成功時,休眠管理設備將本地保存的該訪問請求消息發送給APP,并通知路由模塊刪除本休眠管理設備的轉發信息;以使路由模塊在APP喚醒成功時,在接收到訪問請求消息之后,利用APP的轉發信息將訪問請求消息發送給該APP。
[0106]本發明實施例中,在APP的運行期間,針對該APP提供的服務,路由模塊記錄了該APP的轉發信息,因此在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP。在APP休眠成功時,針對該APP提供的服務,路由模塊上會刪除該APP的轉發信息,并記錄休眠管理設備的轉發信息,因此在接收到訪問該APP的訪問請求消息時,可以利用休眠管理設備的轉發信息將訪問請求消息發送給休眠管理設備。在APP喚醒成功時,針對該APP提供的服務,路由模塊上會刪除休眠管理設備的轉發信息,并記錄APP的轉發信息,因此在接收到訪問該APP的訪問請求消息時,可以利用該APP的轉發信息將訪問請求消息發送給該APP。
[0107]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發明所必須的。
[0108]本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可進一步拆分成多個子模塊。上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0109]以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發明的保護范圍。
【主權項】
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 09.根據權利要求1-8任一項所述的裝置,其特征在于,所述資源利用率包括以下之一或者任意組合:中央處理器CPU使用率、內存使用率、磁盤使用率、請求處理數;所述休眠管理模塊的轉發信息包括:所述APP對應的統一資源定位符URL信息、所述休眠管理模塊的IP地址和服務端口 ;所述APP的轉發信息包括:所述APP對應的URL信息、IP地址和服務端口。10.—種APP休眠的管理方法,其特征在于,所述APP休眠的管理方法應用在休眠管理設備上,且所述方法包括以下步驟: 在APP的運行期間,獲取所述APP的資源利用率; 利用所述資源利用率判斷是否需要休眠所述APP; 如果是,則對所述APP進行休眠處理;以使所述APP通知路由模塊刪除所述APP的轉發信息,并釋放所述APP占用的資源; 在所述APP休眠成功時,將所述休眠管理設備的轉發信息發送到所述路由模塊;以使所述路由模塊在所述APP休眠成功時,利用所述休眠管理設備的轉發信息將訪問請求消息發送給所述休眠管理設備。
【文檔編號】H04L29/08GK105897869SQ201610190741
【公開日】2016年8月24日
【申請日】2016年3月29日
【發明人】吳波
【申請人】杭州數夢工場科技有限公司