亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

檢測用戶使用應用程序的方法和裝置與流程

文檔序號:12063545閱讀:375來源:國知局
檢測用戶使用應用程序的方法和裝置與流程

本發(fā)明涉及應用程序管理領域,特別是涉及一種檢測用戶使用應用程序的方法和裝置。



背景技術:

隨著計算機和網絡技術的發(fā)展,越來越多的用戶通過電子產品上安裝應用程序進行網絡交流。用戶根據自身需求會安裝對應的應用程序,不同的用戶安裝和使用的應用程序可能不同。為了統計用戶對所安裝的應用程序的使用時間,傳統的方式是通過檢測到用戶啟動應用程序,記錄該應用程序的開始時間,檢測該應用程序被關閉后,記錄結束時間,根據開始時間和結束時間得到該應用程序的使用時間,通過該方式計算得到的應用程序使用時間準確性低。



技術實現要素:

基于此,有必要針對傳統計算應用程序的使用時間的準確性低的問題,提供一種檢測用戶使用應用程序的方法和裝置,能提高檢測用戶使用應用程序的使用時間的準確性。

一種檢測用戶使用應用程序的方法,包括:

通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序;

判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同;

若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,則獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長;

獲取用戶標識,統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

一種檢測用戶使用應用程序的方法,包括:

接收用戶終端上傳的用戶標識、所述用戶標識對應的應用程序、各應用程序對應的每次使用時長,其中,所述各應用程序對應的每次使用時長是通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,并判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻所獲取的所述相鄰上一次檢測的應用程序的使用時長;

統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

一種檢測用戶使用應用程序的裝置,包括:

監(jiān)測模塊,用于通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序;

第一判斷模塊,用于判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同;

第一單次時長獲取模塊,用于若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,則獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長;

統計模塊,用于獲取用戶標識,統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

一種檢測用戶使用應用程序的裝置,包括:

數據接收模塊,用于接收用戶終端上傳的用戶標識、所述用戶標識對應的應用程序、各應用程序對應的每次使用時長,其中,所述各應用程序對應的每次使用時長是所述用戶終端通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,并判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻所獲取的所述相鄰上一次檢測的應用程序的使用時長;

累計模塊,用于統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

上述檢測用戶使用應用程序的方法和裝置,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高。

附圖說明

圖1為一個實施例中檢測用戶使用應用程序的方法的應用環(huán)境示意圖;

圖2A為一個實施例中用戶終端的內部結構示意圖;

圖2B為一個實施例中服務器的內部結構示意圖;

圖3為一個實施例中在用戶終端的桌面上啟動一個應用程序的時序圖;

圖4為一個實施例中檢測用戶使用應用程序的方法的流程圖;

圖5為另一個實施例中檢測用戶使用應用程序的方法的流程圖;

圖6為另一個實施例中檢測用戶使用應用程序的方法的流程圖;

圖7為另一個實施例中檢測用戶使用應用程序的方法的流程圖;

圖8為用戶終端上展示的用戶常用應用程序的示意圖;

圖9為一個實施例中檢測用戶使用應用程序的裝置的結構框圖;

圖10為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖;

圖11為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖;

圖12為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖。

具體實施方式

為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

圖1為一個實施例中檢測用戶使用應用程序的方法的應用環(huán)境示意圖。如圖1所示,該應用環(huán)境包括用戶終端110和服務器120。用戶終端110上安裝有應用程序管理客戶端,服務器120上安裝有應用程序管理服務端,用戶終端110和服務器120進行數據通信。用戶終端110通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,通過比較本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若不同,則獲取上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,根據第一時刻和第二時刻獲取相鄰上一次檢測的應用程序的使用時長,將該上一次檢測的應用程序及對應的使用時長、用戶標識上傳到服務器120進行存儲。

圖2A為一個實施例中用戶終端(或電子設備等)的內部結構示意圖。如圖2A所示,該用戶終端包括通過系統總線連接的處理器、非易失性存儲介質、內存儲器、網絡接口、顯示屏和輸入裝置。其中,終端的非易失性存儲介質存儲有操作系統,還包括一種檢測用戶使用應用程序的裝置,該檢測用戶使用應用程序的裝置用于實現一種檢測用戶使用應用程序的方法。該處理器用于提供計算和控制能力,支撐整個終端的運行。用戶終端中的內存儲器為非易失性存儲介質中的檢測用戶使用應用程序的裝置的運行提供環(huán)境,該內存儲器中可儲存有計算機可讀指令,該計算機可讀指令被所述處理器執(zhí)行時,可使得所述處理器執(zhí)行一種檢測用戶使用應用程序的方法。網絡接口用于與服務器進行網絡通信,如上傳應用程序及對應的使用時長至服務器,接收服務器推送的應用程序信息等。用戶終端的顯示屏可以是液晶顯示屏或者電子墨水顯示屏等,輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是終端外殼上設置的按鍵、軌跡球或觸控板,也可以是外接的鍵盤、觸控板或鼠標等。該用戶終端可以是手機、平板電腦或者個人數字助理或穿戴式設備等。本領域技術人員可以理解,圖2A中示出的結構,僅僅是與本申請方案相關的部分結構的框圖,并不構成對本申請方案所應用于其上的終端的限定,具體的終端可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。

圖2B為一個實施例中服務器(或云端等)的內部結構示意圖。如圖2B所示,該服務器包括通過系統總線連接的處理器、非易失性存儲介質、內存儲器和網絡接口。其中,該服務器的非易失性存儲介質存儲有操作系統、數據庫和檢測用戶使用應用程序的裝置,數據庫中存儲有用戶標識、應用程序標識及對應的使用時長,該檢測用戶使用應用程序的裝置用于實現適用于服務器的一種檢測用戶使用應用程序的方法。該服務器的處理器用于提供計算和控制能力,支撐整個服務器的運行。該服務器的內存儲器為非易失性存儲介質中的檢測用戶使用應用程序的裝置的運行提供環(huán)境,該內存儲器中可儲存有計算機可讀指令,該計算機可讀指令被所述處理器執(zhí)行時,可使得所述處理器執(zhí)行一種檢測用戶使用應用程序的方法。該服務器的網絡接口用于據以與外部的終端通過網絡連接通信,比如接收用戶終端發(fā)送的恢復請求以及向終端返回應用程序等。服務器可以用獨立的服務器或者是多個服務器組成的服務器集群來實現。本領域技術人員可以理解,圖2B中示出的結構,僅僅是與本申請方案相關的部分結構的框圖,并不構成對本申請方案所應用于其上的服務器的限定,具體的服務器可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。

圖3為一個實施例中在用戶終端的桌面上啟動一個應用程序的時序圖。如圖3所示,桌面(Launcher)上排布著應用程序圖標;AMS(Activity Manager Service,活動管理服務)主要負責系統中四大組件的啟動、切換、調度及應用進程的管理和調度等工作,職責與操作系統中的進程管理和調度模塊相類似。Activity Thread(線程),pause狀態(tài)是指一個activity是部分可見的,只是被后來的視圖組件擋住了而失去焦點,這種情況下,失去焦點的activity就處于pause狀態(tài)。應用程序啟動的時序包括:

(1)launcher(桌面)獲取點擊應用程序的圖標,則start Activity(啟動一個界面);

(2)桌面向AMS(活動管理服務)發(fā)送要啟動一個activity(活動);

(3)AMS通知launcher進入pause(暫停)狀態(tài);

(4)laucher進入pause狀態(tài);

(5)laucher通知AMS,已經準備就緒進入pause狀態(tài);

(6)AMS創(chuàng)建一個新的進程,創(chuàng)建ActivityThread;

(7)AMS通知ActivityThread啟動ActivityThread實例;

(8)ActivityThread將應用程序進程綁定到AMS;

(9)AMS向ActivityThread通知啟動activity。

在啟動應用程序時,可以通過hook函數掛鉤管理運行應用程序堆棧的接口,監(jiān)測棧頂中應用程序,檢測應用程序的變化,若發(fā)生變化,記錄這個應用程序的開始時刻,當下次再發(fā)生變化時,記錄該應用程序的結束時刻,根據結束時刻和開始時刻得到該應用程序本次的使用時長。

圖4為一個實施例中檢測用戶使用應用程序的方法的流程圖。如圖4所示,一種檢測用戶使用應用程序的方法,運行于用戶終端上,包括步驟402至步驟408,其中:

步驟402,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序。

具體地,應用程序管理軟件通過hook函數(掛鉤函數)監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序。在用戶終端上被啟動運行的應用程序通過管理運行應用程序的堆棧進行管理,管理運行應用程序堆棧的棧頂中的應用程序表示用戶當前正在使用和交互的應用程序。例如用戶正在通過即時通信應用程序聊天,則管理運行應用程序堆棧的棧頂中的應用程序即為該即時通信應用程序,當用戶通過home按鍵或桌面切換指令切換到桌面時,管理運行應用程序堆棧的棧頂中的應用程序即為桌面。

步驟404,判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若不同,執(zhí)行步驟406,若相同,執(zhí)行步驟402。

本實施例中,實時通過hook函數檢測管理運行應用程序堆棧的棧頂中的應用程序。本次檢測的應用程序可為本次輪詢的時刻檢測的應用程序;則相鄰上一次檢測的應用程序可為與本次輪詢的時刻相鄰的上一時刻檢測的應用程序。若采用定時檢測,則本次檢測的應用程序可為當前檢測的應用程序,則相鄰上一次檢測的應用程序可為與當前檢測相鄰的上一次檢測的應用程序。例如定時檢測為每3秒檢測一次,當本次檢測的應用程序為6秒時刻檢測的應用程序,則相鄰上一次檢測的應用程序為3秒時刻檢測的應用程序。

判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若本次檢測的應用程序與相鄰上一次檢測的應用程序不同,則獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據第一時刻和第二時刻獲取相鄰上一次檢測的應用程序的使用時長。其中,第一時刻是指相鄰上一次檢測的應用程序的開始時刻,第二時刻是指相鄰上一次檢測的應用程序的結束時刻,通過結束時刻與開始時刻之差得到相鄰上一次檢測的應用程序的本次的使用時長。

若本次的應用程序與相鄰上一次檢測的應用程序相同,則說明兩次檢測的應用程序未變化,可繼續(xù)檢測管理運行應用程序堆棧的棧頂中的應用程序,判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若不同,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長。

在一個實施例中,判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,可包括:獲取本次檢測的應用程序標識和相鄰上一次檢測的應用程序標識;判斷本次檢測的應用程序標識和相鄰上一次檢測的應用程序標識是否相同。

本實施例中,應用程序標識是用于唯一表示應用程序身份的。該應用程序標識可為應用程序包名等。通過應用程序標識進行比較是否相同,計算量小,節(jié)省資源。

步驟406,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長。

本實施例中,還可獲取用戶標識,將用戶標識、相鄰上一次檢測的應用程序及對應的使用時長上傳到服務器進行保存。方便服務器對用戶標識對應的應用程序的使用時長進行統計或接收查詢等。

步驟408,獲取用戶標識,統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

本實施例中,通過每次檢測管理運行應用程序堆棧的棧頂中的應用程序,得到用戶終端上各應用程序每次的使用時長。

獲取預設時間,將該預設時間內每次統計的各應用程序的使用時長求和,得到預設時間內各應用程序的累計使用時長,獲取用戶標識,可得到用戶標識對應的各應用程序的累計使用時長。

預設時間可根據需要選定,如距離當前時間1個月的時間段、距離當前時間3個月的時間段等,不限于此。用戶標識是用于唯一表示用戶身份的。該用戶標識可為即時通信賬號、電子郵箱、移動通信標識、在應用程序管理平臺注冊的用戶賬號等。

上述檢測用戶使用應用程序的方法,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:按照該累計使用時長從高到低篩選出預定數量的應用程序作為與該用戶標識對應的常用應用程序。

本實施例中,預定數量可根據需要設定,如1個、2個、3個、4個、5個、6個等。用戶標識對應的常用應用程序是指用戶標識在用戶終端上經常使用的應用程序。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:將該累計使用時長超過時長閾值的應用程序作為與該用戶標識對應的常用應用程序。

本實施例中,時長閾值可根據需要設定,如1個星期、1個月、3個月等。

進一步的,上述檢測用戶使用應用程序的方法還包括:將與用戶標識對應的常用應用程序上傳到服務器進行存儲。

本實施例中,通過將用戶標識對應的常用應用程序上傳到服務器進行保存,方便后續(xù)進行用戶常用應用程序的恢復。

在一個實施例中,如圖5所示,上述檢測用戶使用應用程序的方法還包括:

步驟502,當通過掛鉤函數掛鉤所述管理運行應用程序堆棧的接口失敗時,記錄所述棧頂中應用程序的開始使用時刻。

本實施例中,當啟動一個應用程序時,該應用程序位于棧頂中,記錄該應用程序的開始使用時刻?;蛘弋敱敬屋喸兊膽贸绦蚺c相鄰上一次輪詢的應用程序不同時,記錄本次輪詢的時刻,即本次輪詢的應用程序的開始使用時刻。

步驟504,按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序。

本實施例中,指定間隔時間可根據需要設定,如100毫秒、200毫秒、500毫秒等。應用程序管理軟件按照指定間隔時間對棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序。

通過輪詢可獲取棧頂中的應用程序。

步驟506,判斷本次輪詢的應用程序與相鄰上一次輪詢的應用程序是否相同,若不同,執(zhí)行步驟508,若相同,執(zhí)行步驟504。

步驟508,記錄本次輪詢的時刻,根據所述上一次輪詢的應用程序的開始使用時刻與本次輪詢的時刻獲取所述上一次輪詢的應用程序的使用時長,并將所述本次輪詢的時刻作為所述本次輪詢的應用程序的開始使用時刻,然后再執(zhí)行步驟504。

本實施例中,本次輪詢的時刻是指本次輪詢的時刻。根據本次輪詢的時刻與上一次輪詢的應用程序的開始使用時刻之差得到該上一次輪詢的應用程序的使用時長。同時,將本次輪詢的時刻作為本次輪詢的應用程序的開始使用時刻,再按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序,判斷本次輪詢的相鄰下一次輪詢的應用程序與該本次輪詢的應用程序是否相同,若不同,則記錄相鄰下一次輪詢的時刻,根據本次輪詢的時刻與本次輪詢的應用程序的開始使用時刻得到本次輪詢的應用程序的使用時長。

上述檢測用戶使用應用程序的方法,在通過掛鉤函數掛鉤所述管理運行應用程序堆棧的接口失敗時,通過輪詢棧頂的方式,查詢棧頂中的應用程序,獲取應用程序的使用時長,因輪詢的棧頂中的應用程序,檢測應用程序的使用時長準確性高。

在一個實施例中,在通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序之前,上述檢測用戶使用應用程序的方法還包括:檢測是否具有超級管理權限;若具有超級管理權限,則通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序;若不具有超級管理權限,則執(zhí)行該記錄所述棧頂中應用程序的開始使用時刻,按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序的步驟。

本實施例中,超級管理權限是指root權限,即最高管理權限。通過root權限,方便進行hook管理運行應用程序堆棧的接口。

在一個實施例中,在通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序之前,上述檢測用戶使用應用程序的方法還包括:檢測是否具有超級管理權限;若具有超級管理權限,則執(zhí)行所述通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序的步驟;若不具有超級管理權限,則檢測用戶終端是否具有臨時的超級管理權限;若具有臨時的超級管理權限,則執(zhí)行所述通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序的步驟;若不具有臨時的超級管理權限,則向服務器發(fā)起獲取臨時的超級管理權限策略的請求,接收所述服務器返回的臨時的超級管理權限策略;若根據所述臨時的超級管理權限策略獲取臨時的超級管理權限成功,則執(zhí)行所述通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序的步驟;若根據所述臨時的超級管理權限策略獲取臨時的超級管理權限失敗,則執(zhí)行所述記錄所述棧頂中應用程序的開始使用時刻,按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取棧頂中應用程序的步驟。

圖6為另一個實施例中檢測用戶使用應用程序的方法的流程圖。如圖6所示,在一個實施例中,該檢測用戶使用應用程序的方法包括:

步驟602,檢測是否具有超級管理權限,若具有超級管理權限,則執(zhí)行步驟612,若不具有超級管理權限,則執(zhí)行步驟604。

步驟604,檢測用戶終端是否具有臨時的超級管理權限,若具有臨時的超級管理權限,則執(zhí)行步驟612,若不具有臨時的超級管理權限,則執(zhí)行步驟606。

步驟606,向服務器發(fā)起獲取臨時的超級管理權限策略的請求,再執(zhí)行步驟608。

步驟608,是否接收到所述服務器返回的臨時的超級管理權限策略,若是,執(zhí)行步驟610,若否,執(zhí)行步驟624。

步驟610,判斷臨時的超級管理權限策略是否成功獲取臨時的超級管理權限,若是,則執(zhí)行步驟612,若否,執(zhí)行步驟614;若否,執(zhí)行步驟624。

步驟612,通過掛鉤函數掛鉤管理運行應用程序堆棧的接口,再執(zhí)行步驟614。

步驟614,判斷是否掛鉤成功,若是,執(zhí)行步驟616,若否,執(zhí)行步驟

步驟616,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,再執(zhí)行步驟618。

步驟618,判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若相同,執(zhí)行步驟616,若不同,執(zhí)行步驟620。

步驟620,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長,再執(zhí)行步驟622。

步驟622,將用戶標識、相鄰上一次檢測的應用程序及對應的使用時長上傳到服務器,再執(zhí)行步驟616。

步驟624,記錄棧頂中應用程序的開始使用時刻,再執(zhí)行步驟626。

步驟626,按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序,再執(zhí)行步驟628。

步驟628,判斷本次輪詢的應用程序與相鄰上一次輪詢的應用程序是否相同,若相同,則執(zhí)行步驟626,若不同,則執(zhí)行步驟630。

步驟630,記錄本次輪詢的時刻,根據所述上一次輪詢的應用程序的開始使用時刻與本次輪詢的時刻獲取所述上一次輪詢的應用程序的使用時長。

步驟632,將用戶標識、相鄰上一次輪詢的應用程序以及對應的使用時長上傳到服務器,再執(zhí)行步驟624。

具體地,獲取用戶標識,將用戶標識、相鄰上一次輪詢的應用程序以及對應的使用時長上傳到服務器,可在服務器上進行存儲,方便后續(xù)查詢或統計分析等。

在上述檢測用戶使用應用程序的方法中步驟622和步驟632可以省略。

上述檢測用戶使用應用程序的方法,通過root權限或臨時root權限,可保證hook到系統的應用程序接口,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高;在通過掛鉤函數掛鉤所述管理運行應用程序堆棧的接口失敗時,通過輪詢棧頂的方式,查詢棧頂中的應用程序,獲取應用程序的使用時長,因輪詢的棧頂中的應用程序,檢測應用程序的使用時長準確性高;將用戶標識、相鄰上一次輪詢的應用程序以及對應的使用時長上傳到服務器,可在服務器上進行存儲,方便后續(xù)查詢或統計分析等。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:將所述用戶標識、所述用戶標識對應的應用程序標識,以及各應用程序標識對應的應用程序每次使用時長上傳到服務器;接收所述服務器推送的累計使用時長超過預設時長的應用程序的同類的應用程序信息。

本實施例中,服務器根據接收到的用戶標識、對應的應用程序及使用時長,可得到各應用程序的累計使用時長,根據累計使用時長與預設時長比較,得到超過預設時長的應用程序,選取超過預設時長的應用程序同類的應用程序,將該同類的應用程序信息推送給用戶,達到精準推薦應用程序的目的,提高應用程序傳播成功率。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:將所述用戶標識、所述用戶標識對應的應用程序標識,以及各應用程序標識對應的應用程序每次使用時長上傳到服務器;接收所述服務器推送的與用戶標識對應的常用應用程序同類的應用程序信息,常用應用程序是指按照累計使用時長從高到低選取的預定數量的應用程序或累計使用時長超過時長閾值的應用程序。

本實施例中,服務器根據接收到的用戶標識、對應的應用程序及使用時長,可得到各應用程序的累計使用時長,根據累計使用時長得到常用應用程序,選取常用應用程序同類的應用程序,將該同類的應用程序信息推送給用戶,達到精準推薦應用程序的目的,提高應用程序傳播成功率。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:將所述用戶標識、所述用戶標識對應的應用程序標識,以及各應用程序標識對應的應用程序每次使用時長上傳到服務器;接收所述服務器推送的累計使用時長超過預設時長的應用程序的同類的應用程序信息,以及接收所述服務器推送的與用戶標識對應的常用應用程序同類的應用程序信息,常用應用程序是指按照累計使用時長從高到低選取的預定數量的應用程序或累計使用時長超過時長閾值的應用程序。

圖7為另一個實施例中檢測用戶使用應用程序的方法的流程圖。如圖7所示,一種檢測用戶使用應用程序的方法,運行于服務器上,包括:

步驟702,接收用戶終端上傳的用戶標識、所述用戶標識對應的應用程序、各應用程序對應的每次使用時長,其中,所述各應用程序對應的每次使用時長是通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,并判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻所獲取的所述相鄰上一次檢測的應用程序的使用時長。

步驟704,統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

上述檢測用戶使用應用程序的方法,接收用戶終端上傳的用戶標識、用戶標識對應的應用程序、各應用程序對應的每次使用時長,各應用程序對應的每次使用時長是通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高。

在一個實施例中,各應用程序對應的每次使用時長是通過記錄所述棧頂中應用程序的開始使用時刻;按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序;判斷本次輪詢的應用程序與相鄰上一次輪詢的應用程序是否相同;若本次輪詢的應用程序與相鄰上一次輪詢的應用程序不同,則記錄本次輪詢的時刻,根據所述上一次輪詢的應用程序的開始使用時刻與本次輪詢的時刻獲取所述上一次輪詢的應用程序的使用時長。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:按照所述累計使用時長從高到低篩選出預定數量的應用程序或所述累計使用時長超過時長閾值的應用程序作為與所述用戶標識對應的常用應用程序。

本實施例中,預定數量可根據需要設定,如1個、2個、3個、4個、5個、6個等。用戶標識對應的常用應用程序是指用戶標識在用戶終端上經常使用的應用程序。時長閾值可根據需要設定,如1個星期、1個月、3個月等。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:接收包含用戶標識的應用程序恢復請求;根據所述應用程序恢復請求中的用戶標識查找到與所述用戶標識對應的常用應用程序;將所述常用應用程序返回給所述發(fā)起應用程序恢復請求的用戶標識所在的用戶終端。

圖8為用戶終端上展示的用戶常用應用程序的示意圖。如圖8所示,用戶常用應用程序包括視頻播放器A、即時通信應用程序B、移動終端管家C、應用市場D等。

本實施例中,在用戶換新的終端設備或已有的設備被恢復出廠設置后,需要重新安裝所需應用程序時,可通過用戶標識登錄應用程序管理客戶端,發(fā)送應用程序恢復請求,服務器上的應用程序管理服務端接收到包含用戶標識的應用程序恢復請求,查找到與用標識對應的常用應用程序,將常用應用程序的安裝包或安裝信息(包括下載地址等)返回給發(fā)起應用程序恢復請求的用戶標識所在的用戶終端,在用戶終端上安裝用戶常用應用程序,實現了優(yōu)先恢復用戶常用應用程序,提高了用戶的更換終端的效率,降低了更換終端的遷移成本,提供了良好的數據恢復體驗。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:接收包含用戶標識的應用程序恢復請求;根據所述應用程序恢復請求中的用戶標識查找到與所述用戶標識對應的常用應用程序,以及獲取所述用戶標識預選的應用程序;將所述常用應用程序及所述用戶標識預選的應用程序返回給所述發(fā)起應用程序恢復請求的用戶標識所在的用戶終端。

本實施例中,預選的應用程序是指用戶預先設置的所需應用程序。

在用戶換新的終端設備或已有的設備被恢復出廠設置后,需要重新安裝所需應用程序時,可通過用戶標識登錄應用程序管理客戶端,發(fā)送應用程序恢復請求,服務器上的應用程序管理服務端接收到包含用戶標識的應用程序恢復請求,查找到與用標識對應的常用應用程序,同時獲取到用戶預選的應用程序,將常用應用程序和預先的應用程序的安裝包或安裝信息返回給發(fā)起應用程序恢復請求的用戶標識所在的用戶終端,在用戶終端上安裝用戶常用應用程序,實現了優(yōu)先恢復用戶常用應用程序,提高了用戶的更換終端的效率,降低了更換終端的遷移成本,提供了良好的數據恢復體驗。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:根據所述用戶標識對應的各應用程序的累計使用時長篩選出累計使用時長超過預設時長的應用程序;獲取與所述累計使用時長超過預設時長的應用程序同類的應用程序信息,并將所述同類的應用程序信息推送給所述用戶標識所在的用戶終端。

本實施例中,服務器根據接收到的用戶標識、對應的應用程序及使用時長,可得到各應用程序的累計使用時長,根據累計使用時長與預設時長比較,得到超過預設時長的應用程序,選取超過預設時長的應用程序同類的應用程序,將該同類的應用程序信息推送給用戶,達到精準推薦應用程序的目的,提高應用程序傳播成功率。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:獲取用戶標識對應的常用應用程序同類的應用程序信息,將用戶標識對應的常用應用程序同類的應用程序信息推送給用戶標識所在的用戶終端。

本實施例中,服務器根據接收到的用戶標識、對應的應用程序及使用時長,可得到各應用程序的累計使用時長,根據累計使用時長得到常用應用程序,選取常用應用程序同類的應用程序,將該同類的應用程序信息推送給用戶,達到精準推薦應用程序的目的,提高應用程序傳播成功率。

在一個實施例中,上述檢測用戶使用應用程序的方法還包括:根據所述用戶標識對應的各應用程序的累計使用時長篩選出累計使用時長超過預設時長的應用程序;獲取與所述累計使用時長超過預設時長的應用程序同類的應用程序信息,并將所述同類的應用程序信息推送給所述用戶標識所在的用戶終端;以及獲取用戶標識對應的常用應用程序同類的應用程序信息,將用戶標識對應的常用應用程序同類的應用程序信息推送給用戶標識所在的用戶終端。

圖9為一個實施例中檢測用戶使用應用程序的裝置的結構框圖。如圖9所示,一種檢測用戶使用應用程序的裝置,運行于用戶終端,包括監(jiān)測模塊902、第一判斷模塊904、第一單次時長獲取模塊906、統計模塊908。其中:

監(jiān)測模塊902用于通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序。

第一判斷模塊904用于判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同。

第一判斷模塊904還用于獲取本次檢測的應用程序標識和相鄰上一次檢測的應用程序標識,判斷本次檢測的應用程序標識和相鄰上一次檢測的應用程序標識是否相同。

第一單次時長獲取模塊906用于若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,則獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻獲取所述相鄰上一次檢測的應用程序的使用時長。

統計模塊908用于獲取用戶標識,統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

上述檢測用戶使用應用程序的裝置,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高。

圖10為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖。如圖10所示,一種檢測用戶使用應用程序的裝置,運行于用戶終端,除了包括監(jiān)測模塊902、第一判斷模塊904、第一單次時長獲取模塊906、統計模塊908,還包括篩選模塊910、記錄模塊912、輪詢模塊914、第二判斷模塊916、第二單次時長獲取模塊918、權限檢測模塊920、權限策略請求模塊922、權限策略接收模塊924、上傳模塊926、信息接收模塊928。其中:

篩選模塊910用于按照所述累計使用時長從高到低篩選出預定數量的應用程序或所述累計使用時長超過時長閾值的應用程序作為與所述用戶標識對應的常用應用程序。

記錄模塊912用于當通過掛鉤函數掛鉤所述管理運行應用程序堆棧的接口失敗時,記錄所述棧頂中應用程序的開始使用時刻。

輪詢模塊914用于按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序。

第二判斷模塊916用于判斷本次輪詢的應用程序與相鄰上一次輪詢的應用程序是否相同。

記錄模塊912還用于若本次輪詢的應用程序與相鄰上一次輪詢的應用程序不同,則記錄本次輪詢的時刻。

第二單次時長獲取模塊918用于根據所述上一次輪詢的應用程序的開始使用時刻與本次輪詢的時刻獲取所述上一次輪詢的應用程序的使用時長,并將所述本次輪詢的時刻作為所述本次輪詢的應用程序的開始使用時刻;

輪詢模塊914還用于若本次輪詢的應用程序與相鄰上一次輪詢的應用程序相同,則繼續(xù)按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序。

權限檢測模塊920用于在通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序之前,檢測是否具有超級管理權限;

監(jiān)測模塊902還用于若具有超級管理權限,則通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序;

記錄模塊912還用于若不具有超級管理權限,記錄所述棧頂中應用程序的開始使用時刻,所述輪詢模塊還用于按照指定間隔時間對所述棧頂發(fā)起輪詢獲取所述棧頂中的應用程序。

權限檢測模塊920用于在通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序之前,檢測是否具有超級管理權限。

監(jiān)測模塊902還用于若具有超級管理權限,則通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序。

權限檢測模塊920還用于若不具有超級管理權限,則檢測用戶終端是否具有臨時的超級管理權限。

監(jiān)測模塊902還用于若具有臨時的超級管理權限,則通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序。

權限策略請求模塊922用于若不具有臨時的超級管理權限,則向服務器發(fā)起獲取臨時的超級管理權限策略的請求。

權限策略接收模塊924用于接收所述服務器返回的臨時的超級管理權限策略。

監(jiān)測模塊902還用于若根據所述臨時的超級管理權限策略獲取臨時的超級管理權限成功,通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序;

記錄模塊912還用于若根據所述臨時的超級管理權限策略獲取臨時的超級管理權限失敗,記錄所述棧頂中應用程序的開始使用時刻,所述輪詢模塊914還用于按照指定間隔時間對所述棧頂發(fā)起輪詢,獲取所述棧頂中的應用程序。

上傳模塊926用于將所述用戶標識、所述用戶標識對應的應用程序標識,以及各應用程序標識對應的應用程序每次使用時長上傳到服務器。

信息接收模塊928用于接收所述服務器推送的累計使用時長超過預設時長的應用程序的同類的應用程序信息,和/或,接收所述服務器推送的與用戶標識對應的常用應用程序同類的應用程序信息,所述常用應用程序是指按照累計使用時長從高到低選取的預定數量的應用程序或累計使用時長超過時長閾值的應用程序。

在其他實施例中,一種檢測用戶使用應用程序的裝置,可包括監(jiān)測模塊902、第一判斷模塊904、第一單次時長獲取模塊906、統計模塊908、篩選模塊910、記錄模塊912、輪詢模塊914、第二判斷模塊916、第二單次時長獲取模塊918、權限檢測模塊920、權限策略請求模塊922、權限策略接收模塊924、上傳模塊926、信息接收模塊928任意可能的組合。

圖11為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖。如圖11所示,一種檢測用戶使用應用程序的裝置,包括數據接收模塊1102、累計模塊1104。

數據接收模塊1102用于接收用戶終端上傳的用戶標識、所述用戶標識對應的應用程序、各應用程序對應的每次使用時長,其中,所述各應用程序對應的每次使用時長是所述用戶終端通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,并判斷本次檢測的應用程序與相鄰上一次檢測的應用程序是否相同,若所述本次檢測的應用程序與相鄰上一次檢測的應用程序不同,獲取上一次檢測不同時所記錄的第一時刻以及本次檢測的第二時刻,根據所述第一時刻和第二時刻所獲取的所述相鄰上一次檢測的應用程序的使用時長。

累計模塊1104用于統計預設時間內所述用戶標識對應的各應用程序的累計使用時長。

上述檢測用戶使用應用程序的裝置,接收用戶終端上傳的用戶標識、用戶標識對應的應用程序、各應用程序對應的每次使用時長,各應用程序對應的每次使用時長是通過掛鉤函數監(jiān)測管理運行應用程序堆棧的棧頂中的應用程序,當本次檢測的應用程序與相鄰上一次檢測的應用程序不同時,獲取到上一次檢測不同時所記錄的第一時刻和本次檢測的第二時刻,可以得到相鄰上一次檢測的應用程序的使用時長,通過檢測棧頂中應用程序的變化得到的應用程序的使用時長,因棧頂中的應用程序時用戶當前正在使用的應用程序,如此檢測得到的應用程序的使用時長準確性高,在預設時間內統計得到的應用程序的累計使用時長準確性也高。

圖12為另一個實施例中檢測用戶使用應用程序的裝置的結構框圖。如圖12所示,一種檢測用戶使用應用程序的裝置,除了包括數據接收模塊1102、累計模塊1104,還包括第一篩取模塊1106、恢復請求接收模塊1108、查找模塊1110、返回模塊1112、第二篩取模塊1114和推送模塊1116。

第一篩取模塊1106用于按照所述累計使用時長從高到低篩選出預定數量的應用程序或所述累計使用時長超過時長閾值的應用程序作為與所述用戶標識對應的常用應用程序。

恢復請求接收模塊1108用于接收包含用戶標識的應用程序恢復請求;

查找模塊1110用于根據所述應用程序恢復請求中的用戶標識查找到與所述用戶標識對應的常用應用程序;

返回模塊1112用于將所述常用應用程序返回給所述發(fā)起應用程序恢復請求的用戶標識所在的用戶終端。

在其他實施例中,恢復請求接收模塊1108用于接收包含用戶標識的應用程序恢復請求。

查找模塊1110用于根據所述應用程序恢復請求中的用戶標識查找到與所述用戶標識對應的常用應用程序,以及獲取所述用戶標識預選的應用程序。

返回模塊1112用于將所述常用應用程序及所述用戶標識預選的應用程序返回給所述發(fā)起應用程序恢復請求的用戶標識所在的用戶終端。

第二篩取模塊1114用于根據所述用戶標識對應的各應用程序的累計使用時長篩選出累計使用時長超過預設時長的應用程序。

推送模塊1116用于獲取與所述累計使用時長超過預設時長的應用程序同類的應用程序信息,并將所述同類的應用程序信息推送給所述用戶標識所在的用戶終端,和/或,獲取用戶標識對應的常用應用程序同類的應用程序信息,將所述用戶標識對應的常用應用程序同類的應用程序信息推送給所述用戶標識所在的用戶終端,所述常用應用程序是指按照累計使用時長從高到低選取的預定數量的應用程序或累計使用時長超過時長閾值的應用程序。

在其他實施例中,一種檢測用戶使用應用程序的裝置,運行于服務器上,可包括數據接收模塊1102、累計模塊1104、第一篩取模塊1106、恢復請求接收模塊1108、查找模塊1110、返回模塊1112、第二篩取模塊1114和推送模塊1116任意可能的組合。

本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一非易失性計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)等。

以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1