一種移動終端數據分布式上報的裝置及方法
【專利摘要】本發明公開了一種移動終端數據分布式上報的裝置及方法,涉及移動終端技術領域,所述裝置包括:定義模塊,用于將移動終端中包含有數據統計SDK的APP定義為備選APP;競選模塊,用于從所有備選APP中競選出一個APP作為中控APP;采集上傳模塊,用于通過中控APP采集所有備選APP內的數據,并統一上傳,本發明通過競選的方式產生一個中控APP,管控各個APP的統計數據,達到了省電、節約流量、減少內存的作用。
【專利說明】
一種移動終端數據分布式上報的裝置及方法
技術領域
[0001] 本發明涉及移動終端技術領域,尤其涉及一種移動終端數據分布式上報的裝置及 方法。
【背景技術】
[0002] 出于運營的目的,移動APP在使用過程中會統計用戶的使用習慣,將記錄的數據上 報給服務器,由服務器對數據挖掘,根據結果制定下一個版本的開發計劃,目前行業內的做 法是在移動APP中集成數據統計SDK(Software Development Kit,軟件開發工具包),由SDK 將采集的數據獨立上傳給服務器,由于每個APP都獨立上報數據,需各自連接網絡,會造成 手機電量的損耗,同時上報的數據中有很多重復的基礎數據,又會造成流量的浪費。
[0003] 有的硬件生產廠商將每個APP采集的數據傳給某個中控APP由其統一上報,雖然能 解決電量和網絡問題,但是隨著引入了一個新的APP,增加了內存的占用。
【發明內容】
[0004] 本發明的主要目的在于提出一種移動終端數據分布式上報的裝置及方法,通過競 選的方式產生一個中控APP,管控各個APP的統計數據,達到了省電、節約流量、減少內存的 作用。
[0005] 為實現上述目的,本發明提供的一種移動終端數據分布式上報的裝置,其特征在 于,包括:
[0006] 定義模塊,用于將移動終端中包含有數據統計SDK的APP定義為備選APP;
[0007] 競選模塊,用于從所有備選APP中競選出一個APP作為中控APP;
[0008] 采集上傳模塊,用于通過中控APP采集所有備選APP內的數據,并統一上傳。
[0009] 可選地,所述競選模塊包括:
[0010] 排序單元,用于對所有備選APP進行排序;
[0011] 比較單元,用于從第一個備選APP開始,依次與之后的備選APP進行競選,比較正在 競選的兩個備選APP的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為勝 出APP,并將歷次競選結果傳遞給勝出APP;
[0012 ] 遍歷單元,用于遍歷所有備選APP,得至丨攤一一個勝出APP,作為中控APP。
[0013] 可選地,所述競選模塊還包括:
[0014] 結果發送單元,用于中控APP向所有備選APP發送最終競選結果。
[0015] 可選地,所述相關信息的數據結構包括:數據類型的參數、參數的取值和數據類型 的權重。
[0016] 可選地,所述數據類型的參數包括:APP觸發頻率、是否為內置APP和平均使用時 長;所述數據類型的權重通過服務器端采集到的大數據獲取。
[0017] 另一方面,提供的一種移動終端數據分布式上報的方法,所述方法包括步驟:
[0018] 將移動終端中包含有數據統計SDK的APP定義為備選APP;
[0019] 從所有備選APP中競選出一個APP作為中控APP;
[0020] 通過中控APP采集所有備選APP內的數據,并統一上傳。
[0021 ] 可選地,所述從所有備選APP中競選出一個APP作為中控APP包括:
[0022]對所有備選APP進行排序;
[0023]從第一個備選APP開始,依次與之后的備選APP進行競選,比較正在競選的兩個備 選APP的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為勝出APP,并將歷 次競選結果傳遞給勝出APP;
[0024] 遍歷所有備選APP,得到唯--個勝出APP,作為中控APP。
[0025] 可選地,所述遍歷所有備選APP,得到唯一一個勝出APP,作為中控APP之后,所述通 過中控APP采集所有備選APP內的數據,并統一上傳之前還包括:
[0026]中控APP向所有備選APP發送最終競選結果。
[0027]可選地,所述相關信息的數據結構包括:數據類型的參數、參數的取值和數據類型 的權重。
[0028]可選地,所述數據類型的參數包括:APP觸發頻率、是否為內置APP和平均使用時 長;所述數據類型的權重通過服務器端采集到的大數據獲取。
[0029] 本發明提出的一種移動終端數據分布式上報的裝置及方法,所述裝置包括:定義 模塊,用于將移動終端中包含有數據統計SDK的APP定義為備選APP;競選模塊,用于從所有 備選APP中競選出一個APP作為中控APP;采集上傳模塊,用于通過中控APP采集所有備選APP 內的數據,并統一上傳,本發明通過競選的方式產生一個中控APP,管控各個APP的統計數 據,達到了省電、節約流量、減少內存的作用。
【附圖說明】
[0030] 圖1為實現本發明各個實施例一個可選的移動終端的硬件結構示意圖;
[0031] 圖2為如圖1所示的移動終端的無線通信系統示意圖;
[0032]圖3為本發明實施例三提供的一種移動終端數據分布式上報的裝置示范性結構框 圖;
[0033]圖4為本發明實施例四提供的一種移動終端數據分布式上報的裝置示范性結構框 圖;
[0034]圖5為本發明實施例一提供的一種移動終端數據分布式上報的方法流程圖;
[0035]圖6為本發明實施例一提供的一種移動終端APP分布示意圖;
[0036]圖7為本發明實施例一提供的一種移動終端APP競選示意圖;
[0037]圖8為本發明實施例二提供的一種移動終端數據分布式上報的方法流程圖。
[0038] 本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0039] 應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0040] 在后續的描述中,使用用于表示元件的諸如"模塊"、"部件"或"單元"的后綴僅為 了有利于本發明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使 用。
[0041] 移動終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如移動 電話、智能電話、筆記本電腦、數字廣播接收器、PDA(個人數字助理)、PAD(平板電腦)、PMP (便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字TV、臺式計算機等等的固 定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用于移動 目的的元件之外,根據本發明的實施方式的構造也能夠應用于固定類型的終端。
[0042] 圖1為實現本發明各個實施例一個可選的移動終端的硬件結構示意圖。
[0043] 移動終端100可以包括無線通信單元110、A/V(音頻/視頻)輸入單元120、用戶輸入 單元130、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出 了具有各種組件的移動終端,但是應理解的是,并不要求實施所有示出的組件。可以替代地 實施更多或更少的組件。將在下面詳細描述移動終端的元件。
[0044] 無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統 或網絡之間的無線電通信。例如,無線通信單元可以包括移動通信模塊112、無線互聯網模 塊113、短程通信模塊114中的至少一個。
[0045] 移動通信模塊112將無線電信號發送到基站(例如,接入點、節點B等等)、外部終端 以及服務器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通 話信號、視頻通話信號、或者根據文本和/或多媒體消息發送和/或接收的各種類型的數據。 [0046]無線互聯網模塊113支持移動終端的無線互聯網接入。該模塊可以內部或外部地 耦接到終端。該模塊所涉及的無線互聯網接入技術可以包括WLAN(無線LAN) (Wi-Fi)、Wibro (無線寬帶)、Wimax(全球微波互聯接入)、HSDPA(高速下行鏈路分組接入)等等。
[0047]短程通信模塊114是用于支持短程通信的模塊。短程通信技術的一些示例包括藍 牙TM、射頻識別(RFID)、紅外數據協會(IrDA)、超寬帶(UWB)、紫蜂TM等等。
[0048] A/V輸入單元120用于接收音頻或視頻信號。
[0049] 用戶輸入單元130可以根據用戶輸入的命令生成鍵輸入數據以控制移動終端的各 種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸 板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等 等。
[0050] 接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接
[0051] 口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電 器)端口、有線或無線數據端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸 入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用 移動終端100的各種信息并且可以包括用戶識別模塊ΟΠΜ)、客戶識別模塊(sn〇、通用客戶 識別模塊(USIM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡 的形式,因此,識別裝置可以經由端口或其它連接裝置與移動終端100連接。接口單元170可 以用于接收來自外部裝置的輸入(例如,數據信息、電力等等)并且將接收到的輸入傳輸到 移動終端100內的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數據。
[0052] 另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電 力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其 傳輸到移動終端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是 否準確地安裝在底座上的信號。輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸 出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。
[0053] 存儲器160可以存儲由控制器180執行的處理和控制操作的軟件程序等等,或者可 以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻等等)。而 且,存儲器160可以存儲關于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的 數據。
[0054] 存儲器160可以包括至少一種類型的存儲介質,所述存儲介質包括閃存、硬盤、多 媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態隨機訪問存儲 器(SRAM)、只讀存儲器(R0M)、電可擦除可編程只讀存儲器(EEPR0M)、可編程只讀存儲器 (PR0M)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網絡連接執行存儲器 160的存儲功能的網絡存儲裝置協作。
[0055] 控制器180通常控制移動終端的總體操作。例如,控制器180執行與語音通話、數據 通信、視頻通話等等相關的控制和處理。
[0056]電源單元190在控制器180的控制下接收外部電力或內部電力并且提供操作各元 件和組件所需的適當的電力。
[0057]這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算 機可讀介質來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路 (ASIC)、數字信號處理器(DSP)、數字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現場可 編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設計為執行這里描述的功能的 電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。 對于軟件實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的 軟件模塊來實施。軟件代碼可以由以任何適當的編程語言編寫的軟件應用程序(或程序)來 實施,軟件代碼可以存儲在存儲器160中并且由控制器180執行。
[0058] 至此,己經按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、 直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示 例。因此,本發明能夠應用于任何類型的移動終端,并且不限于滑動型移動終端。
[0059] 參考圖2,⑶MA無線通信系統可以包括多個移動終端100、多個基站(BS)270、基站 控制器(BSC)275和移動交換中心(MSCUSOJSCSSO被構造為與公共電話交換網絡(PSTN) 290形成接口。MSC280還被構造為與可以經由回程線路耦接到基站270的BSC275形成接口。 回程線路可以根據若干己知的接口中的任一種來構造,所述接口包括例如E1/T1、ATM,IP、 PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統可以包括多個BSC2750。
[0060] 每個BS270可以服務一個或多個分區(或區域),由多向天線或指向特定方向的天 線覆蓋的每個分區放射狀地遠離BS270。或者,每個分區可以由用于分集接收的兩個或更多 天線覆蓋。每個BS270可以被構造為支持多個頻率分配,并且每個頻率分配具有特定頻譜 (例如,1·25ΜΗζ,5ΜΗζ 等等)。
[0061] 分區與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發器子 系統(BTS)或者其它等效術語。在這樣的情況下,術語"基站"可以用于籠統地表示單個 BSC275和至少一個BS270。基站也可以被稱為〃蜂窩站〃。或者,特定BS270的各分區可以被稱 為多個蜂窩站。
[0062]如圖2中所示,廣播發射器(BT)295將廣播信號發送給在系統內操作的移動終端 100。如圖1中所示的廣播接收模塊111被設置在移動終端100處以接收由BT295發送的廣播 信號。在圖2中,示出了幾個全球定位系統(GPS)衛星300。衛星300幫助定位多個移動終端 100中的至少一個。
[0063]在圖2中,描繪了多個衛星300,但是理解的是,可以利用任何數目的衛星獲得有用 的定位信息。
[0064]作為無線通信系統的一個典型操作,BS270接收來自各種移動終端100的反向鏈路 信號。移動終端100通常參與通話、消息收發和其它類型的通信。特定基站270接收的每個反 向鏈路信號被在特定BS270內進行處理。獲得的數據被轉發給相關的BSC275ASC提供通話 資源分配和包括BS270之間的軟切換過程的協調的移動管理功能。BSC275還將接收到的數 據路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務。類似地,PSTN290與 MSC280形成接口,MSC與BSC275形成接口,并且BSC275相應地控制BS270以將正向鏈路信號 發送到移動終端100。
[0065] 基于上述移動終端硬件結構以及通信系統,提出本發明方法各個實施例。
[0066] 實施例一
[0067]如圖3所示,在本實施例中,一種移動終端數據分布式上報的裝置,其特征在于,包 括:
[0068]定義模塊10,用于將移動終端中包含有數據統計SDK的APP定義為備選APP;
[0069]競選模塊20,用于從所有備選APP中競選出一個APP作為中控APP;
[0070]采集上傳模塊30,用于通過中控APP采集所有備選APP內的數據,并統一上傳。
[0071]本實施例通過競選的方式產生一個中控APP,管控各個APP的統計數據,達到了省 電、節約流量、減少內存的作用。
[0072]在本實施例中,如圖6所示,移動終端的ROM中存儲著許多個APP,數據統計SDK被集 成到APP中,用以統計APP的啟動信息、頁面信息、事件點擊信息和CRASH信息等,中控APP又 稱為數據集中上報APP,既可以看做是一個普通的APP,也可以看做是一個特殊的APP,其通 過在各個APP之間比較相關的參數競選產生,其作用是接收集成了 SDK的APP的數據,存儲并 統一上傳至云端,達到減少功耗的目的。
[0073]在本實施例中,各個APP之間的競選過程如下,APP會將自己的相關信息如觸發頻 率、是否是內置APP、平均使用時長等信息依次發送給其他安裝了 SDK的APP,接收方將自己 的信息與之做比較(每類數據分配了一定的權重),所述權重比較大的相關信息對應的備選 APP即為勝出APP,返回結果給發送方,發送方如果發現未能勝出,則終止此輪查詢,無法作 為中控APP,等待對方的比較的結果;如果返回結果表明自己勝出,則繼續輪循比較,當與所 有其他APP比較都勝出時,則自己就是中控APP,否則等待中控APP被選出的結果。
[0074]在本實施例中,通過定義模塊將移動終端中包含有數據統計SDK的APP定義為備選 APP,每個備選APP都有被選為中控APP的機會,但一個移動終端中僅會有一個APP成為中控 APP,APP在啟動時會檢測自己是否是中控APP,如果是,則將采集到的數據存儲到自己的數 據庫中,當采集完所有數據時,或者接收到上傳數據的命令時,將所述數據庫中的數據發送 至云端;否則,向其他集成了SDK的APP發送查詢指令,一旦查詢成功,找到中控APP,則將采 集的數據通過跨進程的方式傳遞給中控APP。
[0075]如圖7所示,為了減少重復查詢,上一個APP在競選中控APP失敗后,會將自己之前 比較過的結果傳遞給下一個APP,如圖7中APP1會將APP2和APP3已經被掉的結果上報 APP4,則APP4只需要從APP5開始比較;如此比較類似于一個神經網絡結構一樣延伸開來很 快就可以得到最終比較的結果,當APP10發現已經沒有比自己更加合適做中控APP的結果 時,會將結果廣播發送給每一個APP,從而最終的中控APP產生了。
[0076]在本實施例中,采集上傳模塊30,用于通過中控APP采集所有備選APP內的數據,當 采集完所有數據時,或者接收到上傳數據的命令時,將所述數據庫中的數據發送至云端。 [0077]現有的技術中,每個集成了SDK的APP都需要采集公用的設備信息:手機的頂EI號、 MAC地址、終端生產廠商、操作系統、操作系統版本、終端型號等,并上報給服務器,這無疑增 加了很多的冗余數據,本方案中由于推選出了一個中控APP統一采集,因此可以節約耗費的 流量;而且本方案集成了SDK的每個APP都可以作為一個數據上傳的中心,不需要引入單獨 的中控APP,因此可以減少一個APK,從而節約了手機內存,本實施例通過競選的方式產生一 個中控APP,管控各個APP的統計數據,達到了省電、節約流量、減少內存的作用。
[0078]在本實施例中,所述相關信息的數據結構包括:數據類型的參數、參數的取值和數 據類型的權重。
[0079]在本實施例中,所述數據類型的參數包括:APP觸發頻率、是否為內置APP和平均使 用時長;所述數據類型的權重通過服務器端采集到的大數據獲取。
[0080] 本實施例中,采用淘汰式的競選方式,并將競選結果保存至勝出APP中,減少了APP 之間的重復查詢,提高了競選效率。同時構造了一種擴展性很強的數據結構,充分考慮到了 向后兼容性,降低了升級帶來的問題,減少了內存占用量。
[0081] 由于在比較的過程中會采集各種類型的數據,每種類型的數據需要存儲不同的字 段信息,每種數據的重要性并不相同,且隨著版本的更新,會發現有更加重要的信息會加 入,者會導致用來存儲的數據表需要不停的擴展,從而提高了耦合性。
[0082] 因此我們定義了了一種封裝的通用數據格式,SDK如果有新的數據產生,不需要升 級數據庫,只需要SDK按照下表中的數據格式發送數據即可。
[0084] 我們可以定義一種通用格式數據格式如(不僅僅如下):
[0085] (paraml,valuel,weight 1),(param2,value2,weight2), ···,
[0086] (paramn-1,valuen-l,weightn-l)),(paramn,valuen,weightn)
[0087] param代表某類型數據的參數,如APP的觸發頻率、是否是內置APP、平均使用時長 等,value代表參數param的取值,如30秒一次、3天之前、20分鐘。
[0088] weight代表某類型數據的權重,因為每一種類型的數據的重要性是不一樣的,而 且隨著時間的推移,重要性也會發生變化,因此權重的取值是從服務器獲取的,服務器端可 利用收集到的大數據,不斷更新每類數據的權重。
[0089] 例如APP如果是內置APP相對于第三方APP更加有可能成為中控APP,因為內置的 APP是不允許被卸載的,穩定性好,第三方APP隨時可能被卸載。
[0090]數據的格式不一定是要求是上面的格式,可以是任何類型,只要能夠區分數據的 參數和取值即可,例如json格式也能滿足需求。
[0091] 在本實施例中,構造了一種擴展性很強的數據結構,充分考慮到了向后兼容性,降 低了升級帶來的問題,減少了內存占用量。
[0092] 實施例二
[0093] 如圖4所示,在本實施例中,基于實施例一,所述競選模塊20包括:
[0094] 排序單元21,用于對所有備選APP進行排序;
[0095]比較單元22,用于從第一個備選APP開始,依次與之后的備選APP進行競選,比較正 在競選的兩個備選APP的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為 勝出APP,并將歷次競選結果傳遞給勝出APP;
[0096] 遍歷單元23,用于遍歷所有備選APP,得到唯--個勝出APP,作為中控APP。
[0097]在本實施例中,所述競選模塊20還包括:
[0098] 結果發送單元24,用于中控APP向所有備選APP發送最終競選結果。
[0099] 在本實施例中,所述相關信息的數據結構包括:數據類型的參數、參數的取值和數 據類型的權重。
[0100] 在本實施例中,所述數據類型的參數包括:APP觸發頻率、是否為內置APP和平均使 用時長;所述數據類型的權重通過服務器端采集到的大數據獲取。
[0101] 本實施例中,采用淘汰式的競選方式,并將競選結果保存至勝出APP中,減少了APP 之間的重復查詢,提高了競選效率。同時構造了一種擴展性很強的數據結構,充分考慮到了 向后兼容性,降低了升級帶來的問題,減少了內存占用量。
[0102] 由于在比較的過程中會采集各種類型的數據,每種類型的數據需要存儲不同的字 段信息,每種數據的重要性并不相同,且隨著版本的更新,會發現有更加重要的信息會加 入,者會導致用來存儲的數據表需要不停的擴展,從而提高了耦合性。
[0103]因此我們定義了了一種封裝的通用數據格式,SDK如果有新的數據產生,不需要升 級數據庫,只需要SDK按照下表中的數據格式發送數據即可。
[0105] 在本實施例中,構造了一種擴展性很強的數據結構,充分考慮到了向后兼容性,降 低了升級帶來的問題,減少了內存占用量。
[0106] 實施例三
[0107] 如圖5所示,本實施例提出一種移動終端數據分布式上報的方法,所述方法包括步 驟:
[0108] S10、將移動終端中包含有數據統計SDK的APP定義為備選APP;
[0109] S20、從所有備選APP中競選出一個APP作為中控APP;
[0110] S30、通過中控APP采集所有備選APP內的數據,并統一上傳。 在本實施例中,如圖6所示,移動終端的ROM中存儲著許多個APP,數據統計SDK被集 成到APP中,用以統計APP的啟動信息、頁面信息、事件點擊信息和CRASH信息等,中控APP又 稱為數據集中上報APP,既可以看做是一個普通的APP,也可以看做是一個特殊的APP,其通 過在各個APP之間比較相關的參數競選產生,其作用是接收集成了 SDK的APP的數據,存儲并 統一上傳至云端,達到減少功耗的目的。
[0112] 在本實施例中,各個APP之間的競選過程如下,APP會將自己的相關信息如觸發頻 率、是否是內置APP、平均使用時長等信息依次發送給其他安裝了 SDK的APP,接收方將自己 的信息與之做比較(每類數據分配了一定的權重),所述權重比較大的相關信息對應的備選 APP即為勝出APP,返回結果給發送方,發送方如果發現未能勝出,則終止此輪查詢,無法作 為中控APP,等待對方的比較的結果;如果返回結果表明自己勝出,則繼續輪循比較,當與所 有其他APP比較都勝出時,則自己就是中控APP,否則等待中控APP被選出的結果。
[0113] 在本實施例中,每個集成了SDK的APP都有被選為中控APP的機會,但一個移動終端 中僅會有一個APP成為中控APP,APP在啟動時會檢測自己是否是中控APP,如果是,則將采集 到的數據存儲到自己的數據庫中,當采集完所有數據時,或者接收到上傳數據的命令時,將 所述數據庫中的數據發送至云端;否則,向其他集成了 SDK的APP發送查詢指令,一旦查詢成 功,找到中控APP,則將采集的數據通過跨進程的方式傳遞給中控APP。
[0114] 如圖7所示,為了減少重復查詢,上一個APP在競選中控APP失敗后,會將自己之前 比較過的結果傳遞給下一個APP,如圖7中APP1會將APP2和APP3已經被Μ掉的結果上報 APP4,則APP4只需要從APP5開始比較;如此比較類似于一個神經網絡結構一樣延伸開來很 快就可以得到最終比較的結果,當APP10發現已經沒有比自己更加合適做中控APP的結果 時,會將結果廣播發送給每一個APP,從而最終的中控APP產生了。
[0115]現有的技術中,每個集成了SDK的APP都需要采集公用的設備信息:手機的頂EI號、 MAC地址、終端生產廠商、操作系統、操作系統版本、終端型號等,并上報給服務器,這無疑增 加了很多的冗余數據,本方案中由于推選出了一個中控APP統一采集,因此可以節約耗費的 流量;而且本方案集成了SDK的每個APP都可以作為一個數據上傳的中心,不需要引入單獨 的中控APP,因此可以減少一個APK,從而節約了手機內存,本實施例通過競選的方式產生一 個中控APP,管控各個APP的統計數據,達到了省電、節約流量、減少內存的作用。
[0116]實施例四
[0117]如圖8所示,在本實施例中,基于實施例三,所述步驟S20包括:
[0118] S21、對所有備選APP進行排序;
[0119] S22、從第一個備選APP開始,依次與之后的備選APP進行競選,比較正在競選的兩 個備選APP的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為勝出APP,并 將歷次競選結果傳遞給勝出APP;
[0120] S23、遍歷所有備選APP,得到唯--個勝出APP,作為中控APP。
[0121 ]在本實施例中,所述步驟S23之后,還包括:
[0122] S24、中控APP向所有備選APP發送最終競選結果。
[0123] 本實施例中,采用淘汰式的競選方式,并將競選結果保存至勝出APP中,減少了APP 之間的重復查詢,提高了競選效率。
[0124] 在本實施例中,所述相關信息的數據結構包括:數據類型的參數、參數的取值和數 據類型的權重。
[0125] 在本實施例中,所述數據類型的參數包括:APP觸發頻率、是否為內置APP和平均使 用時長;所述數據類型的權重通過服務器端采集到的大數據獲取。
[0126] 由于在比較的過程中會采集各種類型的數據,每種類型的數據需要存儲不同的字 段信息,每種數據的重要性并不相同,且隨著版本的更新,會發現有更加重要的信息會加 入,者會導致用來存儲的數據表需要不停的擴展,從而提高了耦合性。
[0127]因此我們定義了了一種封裝的通用數據格式,SDK如果有新的數據產生,不需要升 級數據庫,只需要SDK按照下表中的數據格式發送數據即可。
[0129]在本實施例中,構造了一種擴展性很強的數據結構,充分考慮到了向后兼容性,降 低了升級帶來的問題,減少了內存占用量。
[0130]需要說明的是,在本文中,術語"包括"、"包含"或者其任何其他變體意在涵蓋非排 他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而 且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有 的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在包括該 要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0131] 上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0132] 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方 法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下 前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做 出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質 (如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,月艮 務器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
[0133] 以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發 明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技 術領域,均同理包括在本發明的專利保護范圍內。
【主權項】
1. 一種移動終端數據分布式上報的裝置,其特征在于,包括: 定義模塊,用于將移動終端中包含有數據統計SDK的APP定義為備選APP; 競選模塊,用于從所有備選APP中競選出一個APP作為中控APP; 采集上傳模塊,用于通過中控APP采集所有備選APP內的數據,并統一上傳。2. 根據權利要求1所述的一種移動終端數據分布式上報的裝置,其特征在于,所述競選 豐吳塊包括: 排序單元,用于對所有備選APP進行排序; 比較單元,用于從第一個備選APP開始,依次與之后的備選APP進行競選,比較正在競選 的兩個備選APP的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為勝出 APP,并將歷次競選結果傳遞給勝出APP; 遍歷單元,用于遍歷所有備選APP,得到唯一一個勝出APP,作為中控APP。3. 根據權利要求2所述的一種移動終端數據分布式上報的裝置,其特征在于,所述競選 模塊還包括: 結果發送單元,用于中控APP向所有備選APP發送最終競選結果。4. 根據權利要求2所述的一種移動終端數據分布式上報的裝置,其特征在于,所述相關 信息的數據結構包括:數據類型的參數、參數的取值和數據類型的權重。5. 根據權利要求4所述的一種移動終端數據分布式上報的裝置,其特征在于,所述數據 類型的參數包括:APP觸發頻率、是否為內置APP和平均使用時長;所述數據類型的權重通過 服務器端采集到的大數據獲取。6. -種移動終端數據分布式上報的方法,其特征在于,所述方法包括步驟: 將移動終端中包含有數據統計SDK的APP定義為備選APP; 從所有備選APP中競選出一個APP作為中控APP; 通過中控APP采集所有備選APP內的數據,并統一上傳。7. 根據權利要求6所述的一種移動終端數據分布式上報的方法,其特征在于,所述從所 有備選APP中競選出一個APP作為中控APP包括: 對所有備選APP進彳丁排序; 從第一個備選APP開始,依次與之后的備選APP進行競選,比較正在競選的兩個備選APP 的相關信息的權重,所述權重比較大的相關信息對應的備選APP即為勝出APP,并將歷次競 選結果傳遞給勝出APP; 遍歷所有備選APP,得到唯--個勝出APP,作為中控APP。8. 根據權利要求7所述的一種移動終端數據分布式上報的方法,其特征在于,所述遍歷 所有備選APP,得到唯--個勝出APP,作為中控APP之后,所述通過中控APP采集所有備選 APP內的數據,并統一上傳之前還包括: 中控APP向所有備選APP發送最終競選結果。9. 根據權利要求7所述的一種移動終端數據分布式上報的方法,其特征在于,所述相關 信息的數據結構包括:數據類型的參數、參數的取值和數據類型的權重。10. 根據權利要求9所述的一種移動終端數據分布式上報的方法,其特征在于,所述數 據類型的參數包括:APP觸發頻率、是否為內置APP和平均使用時長;所述數據類型的權重通 過服務器端采集到的大數據獲取。
【文檔編號】H04M1/725GK106027757SQ201610280919
【公開日】2016年10月12日
【申請日】2016年4月28日
【發明人】黃小峰
【申請人】努比亞技術有限公司