本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種數(shù)據(jù)上報方法及系統(tǒng)。
背景技術(shù):
:近年來,隨著移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,手機、平板電腦等移動終端的功能越來越豐富,用戶在移動終端上安裝的第三方應用程序的種類和數(shù)量也不斷增加。一般地,應用開發(fā)者會在應用程序中進行埋點采集數(shù)據(jù),用以在應用程序運行時,記錄相應的數(shù)據(jù)并將其上報至服務器,便于應用開發(fā)者在服務器端對上報的數(shù)據(jù)進行分析后形成報表,通過報表分析用戶的使用習慣,進而改善用戶體驗。然而,由于移動通信網(wǎng)絡常常不穩(wěn)定(網(wǎng)絡信號不佳)、移動終端的狀態(tài)不可控(用戶采取節(jié)電模式、關(guān)閉數(shù)據(jù)流量)、移動終端的儲存空間不足等因素制約,移動終端所采集的數(shù)據(jù)在上報到服務器時,常常出現(xiàn)部分數(shù)據(jù)漏報、錯報、乃至上報失敗等狀況,導致所上報的應用程序數(shù)據(jù)不準確,數(shù)據(jù)分析結(jié)果出現(xiàn)偏差。技術(shù)實現(xiàn)要素:有鑒于此,本發(fā)明提出一種數(shù)據(jù)上報方法及系統(tǒng),能夠在數(shù)據(jù)上報出現(xiàn)漏報、錯報以及上報失敗的狀況時,及時定位上報出錯的數(shù)據(jù)并進行修正,提高所上報數(shù)據(jù)的準確性。首先,為實現(xiàn)上述目的,本發(fā)明提出一種移動終端,所述移動終端包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的數(shù)據(jù)上報系統(tǒng),所述數(shù)據(jù)上報系統(tǒng)被所述處理器執(zhí)行時實現(xiàn)如下步驟:通過軟件開發(fā)工具包采集對應的應用程序的操作數(shù)據(jù);根據(jù)所述操作數(shù)據(jù)生成對應的審計數(shù)據(jù),所述審計數(shù)據(jù)記錄有所述操作數(shù)據(jù)的特征值;將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器??蛇x地,所述將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器,具體包括:獲取所述應用程序的應用標識和與所述應用標識相對應的上報策略;根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器??蛇x地,所述將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器,具體包括:獲取所述應用程序的應用標識和與所述應用標識相對應的應用類型,所述應用類型包括緊急型應用和普通型應用;根據(jù)所述應用類型確定對應的上報策略,所述上報策略包括實時上報和定期上報;根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器;其中,當所述應用類型為緊急型應用時,所述上報策略包括通過預設的緊急接口實時上報所述審計數(shù)據(jù)和所述操作數(shù)據(jù);當所述應用類型為普通型應用時,所述上報策略包括通過預設的普通接口定期上報所述審計數(shù)據(jù)和所述操作數(shù)據(jù)。其次,為實現(xiàn)上述目的,本發(fā)明還提出一種服務器,所述服務器包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的數(shù)據(jù)上報系統(tǒng),所述數(shù)據(jù)上報系統(tǒng)被所述處理器執(zhí)行時實現(xiàn)如下步驟:接收移動終端所上報的數(shù)據(jù),所述數(shù)據(jù)包括應用程序的操作數(shù)據(jù)和審計數(shù)據(jù);根據(jù)所述審計數(shù)據(jù)判斷所述操作數(shù)據(jù)是否異常;在所述操作數(shù)據(jù)異常時,根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行修正;根據(jù)修正后的操作數(shù)據(jù)生成數(shù)據(jù)報表并輸出。可選地,所述數(shù)據(jù)上報系統(tǒng)被所述處理器執(zhí)行時還實現(xiàn)如下步驟:獲取移動終端內(nèi)應用程序的應用標識,并為所述應用標識配置對應的應用類型和上報策略;其中,所述應用類型包括緊急型應用和普通型應用,所述上報策略包括實時上報和定期上報。此外,為實現(xiàn)上述目的,本發(fā)明還提供一種數(shù)據(jù)上報方法,該方法應用于移動終端,所述方法包括:通過軟件開發(fā)工具包采集對應的應用程序的操作數(shù)據(jù);根據(jù)所述操作數(shù)據(jù)生成對應的審計數(shù)據(jù),所述審計數(shù)據(jù)記錄有所述操作數(shù)據(jù)的特征值;及將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器??蛇x地,所述將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器的步驟,具體包括:獲取所述應用程序的應用標識和與所述應用標識相對應的上報策略;根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器??蛇x地,所述將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器的步驟,具體包括:獲取所述應用程序的應用標識和與所述應用標識相對應的應用類型,所述應用類型包括緊急型應用和普通型應用;根據(jù)所述應用類型確定對應的上報策略,所述上報策略包括實時上報和定期上報;根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器;其中,當所述應用類型為緊急型應用時,所述上報策略包括通過預設的緊急接口實時上報所述審計數(shù)據(jù)和所述操作數(shù)據(jù);當所述應用類型為普通型應用時,所述上報策略包括通過預設的普通接口定期上報所述審計數(shù)據(jù)和所述操作數(shù)據(jù)。進一步地,為實現(xiàn)上述目的,本發(fā)明還提供一種數(shù)據(jù)上報方法,該方法應用于服務器,所述方法包括:接收移動終端所上報的數(shù)據(jù),所述數(shù)據(jù)包括應用程序的操作數(shù)據(jù)和審計數(shù)據(jù);根據(jù)所述審計數(shù)據(jù)判斷所述操作數(shù)據(jù)是否異常,并在所述操作數(shù)據(jù)異常時,根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行修正;及根據(jù)修正后的操作數(shù)據(jù)生成數(shù)據(jù)報表并輸出??蛇x地,所述方法還包括:獲取移動終端內(nèi)應用程序的應用標識,并為所述應用標識配置對應的應用類型和上報策略;其中,所述應用類型包括緊急型應用和普通型應用,所述上報策略包括實時上報和定期上報。更近一步地,為實現(xiàn)上述目的,本發(fā)明還提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有數(shù)據(jù)上報系統(tǒng),所述數(shù)據(jù)上報系統(tǒng)可被至少一個處理器執(zhí)行,以使所述至少一個處理器執(zhí)行上述數(shù)據(jù)上報方法的步驟相較于現(xiàn)有技術(shù),本發(fā)明所提出的移動終端、服務器、數(shù)據(jù)上報系統(tǒng)及數(shù)據(jù)上報方法,在移動終端側(cè),通過集成于應用程序內(nèi)的軟件開發(fā)工具包(sdk)采集移動終端內(nèi)應用程序的操作數(shù)據(jù),并根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù),進而將審計數(shù)據(jù)和操作數(shù)據(jù)一起上報給服務器。然后,在服務器側(cè),通過接收移動終端所上報的審計數(shù)據(jù)和操作數(shù)據(jù),根據(jù)審計數(shù)據(jù)來校驗操作數(shù)據(jù)是否異常,進而對異常的操作數(shù)據(jù)進行修正和輸出。這樣,通過服務器和移動終端的配合,既保證了數(shù)據(jù)上報工作的正常進行,又能夠及時發(fā)現(xiàn)出現(xiàn)漏報、錯報、以及上報失敗的數(shù)據(jù)并修正,提高了上報數(shù)據(jù)的準確性。附圖說明圖1為實現(xiàn)本發(fā)明各個實施例一可選的移動終端的硬件結(jié)構(gòu)示意圖;圖2為如圖1所示的移動終端的無線通信系統(tǒng)示意圖;圖3為本發(fā)明數(shù)據(jù)上報系統(tǒng)各個實施例一可選的運行環(huán)境示意圖;圖4為本發(fā)明數(shù)據(jù)上報系統(tǒng)第一實施例的模塊示意圖;圖5為本發(fā)明數(shù)據(jù)上報系統(tǒng)第二實施例的模塊示意圖;圖6和圖7為本發(fā)明數(shù)據(jù)上報方法第一實施例的實施流程示意圖;圖8為本發(fā)明數(shù)據(jù)上報方法第二實施例的實施流程示意圖。附圖標記:本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明具體實施方式應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明?,F(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端400。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。移動終端400可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數(shù)字tv、臺式計算機等等的固定終端。下面,假設終端是移動終端400。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應用于固定類型的終端。圖1為實現(xiàn)本發(fā)明各個實施例一可選的移動終端400的硬件結(jié)構(gòu)示意圖。移動終端400可以包括,但不限于,存儲器20、控制器30、無線通信單元40、顯示單元50、輸入單元60、接口單元80及電源單元90。圖1示出了具有各種組件的移動終端400,但是應當理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端400的元件。無線通信單元40通常包括一個或多個組件,其允許移動終端400與無線通信系統(tǒng)或網(wǎng)絡之間的無線點通信。例如,無線通信單元可以包括廣播接收模塊、移動通信模塊、無線互聯(lián)網(wǎng)模塊、短程通信模塊和位置信息模塊中的至少一個。廣播接收模塊經(jīng)由廣播信道從外部廣播管理服務器接收廣播信號和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務器可以是生成并發(fā)送廣播信號和/或廣播相關(guān)信息的服務器或者接收之前生成的廣播信號和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務器。廣播信號可以包括tv廣播信號、無線電廣播信號、數(shù)據(jù)廣播信號等等。而且,廣播信號可以進一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關(guān)信息也可以經(jīng)由移動通信網(wǎng)絡提供,并且在該情況下,廣播相關(guān)信息可以由移動通信模塊來接收。廣播信號可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(dmb)的電子節(jié)目指南(epg)、數(shù)字視頻廣播手持(dvb-h)的電子服務指南(esg)等等的形式而存在。廣播接收模塊可以通過使用各種類型的廣播系統(tǒng)接收信號廣播。特別地,廣播接收模塊可以通過使用諸如多媒體廣播-地面(dmb-t)、數(shù)字多媒體廣播-衛(wèi)星(dmb-s)、數(shù)字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(isdb-t)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊可以被構(gòu)造為適合提供廣播信號的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊接收的廣播信號和/或廣播相關(guān)信息可以存儲在存儲器20(或者其它類型的存儲介質(zhì))中。移動通信模塊將無線電信號發(fā)送到基站(例如,接入點、節(jié)點b等等)、外部終端以及服務器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。無線互聯(lián)網(wǎng)模塊支持移動終端400的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。短程通信模塊是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍牙tm、射頻識別(rfid)、紅外數(shù)據(jù)協(xié)會(irda)、超寬帶(uwb)、紫蜂tm等等。位置信息模塊是用于檢查或獲取移動終端400的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統(tǒng))。根據(jù)當前的技術(shù),gps模塊計算來自三個或更多衛(wèi)星的距離信息和準確的時間信息并且對于計算的信息應用三角測量法,從而根據(jù)經(jīng)度、緯度和高度準確地計算三維當前位置信息。當前,用于計算位置和時間信息的方法使用三顆衛(wèi)星并且通過使用另外的一顆衛(wèi)星校正計算出的位置和時間信息的誤差。此外,gps模塊能夠通過實時地連續(xù)計算當前位置信息來計算速度信息。輸出單元50被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元50可以包括顯示單元51、音頻輸出模塊52、警報單元53等等。顯示單元51可以顯示在移動終端400中處理的信息。例如,當移動終端400處于電話通話模式時,顯示單元51可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(ui)或圖形用戶界面(gui)。當移動終端400處于視頻通話模式或者圖像捕獲模式時,顯示單元51可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的ui或gui等等。同時,當顯示單元51和觸摸板以層的形式彼此疊加以形成觸摸屏時,顯示單元51可以用作輸入裝置和輸出裝置。顯示單元51可以包括液晶顯示器(lcd)、薄膜晶體管lcd(tft-lcd)、有機發(fā)光二極管(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機發(fā)光二極管)顯示器等等。根據(jù)特定想要的實施方式,移動終端400可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端400可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。音頻輸出模塊52可以在移動終端400處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元40接收的或者在存儲器20中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊52可以提供與移動終端400執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊52可以包括揚聲器、蜂鳴器等等。警報單元53可以提供輸出以將事件的發(fā)生通知給移動終端400。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元53可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報單元53可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunication)時,警報單元53可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動電話處于用戶的口袋中時,用戶也能夠識別出各種事件的發(fā)生。警報單元53也可以經(jīng)由顯示單元51或音頻輸出模塊52提供通知事件的發(fā)生的輸出。輸入單元60可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端400的各種操作。輸入單元60允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當觸摸板以層的形式疊加在顯示單元50上時,可以形成觸摸屏。接口單元80用作至少一個外部裝置與移動終端400連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端400的各種信息并且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端400連接。接口單元80可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端400內(nèi)的一個或多個元件或者可以用于在移動終端400和外部裝置之間傳輸數(shù)據(jù)。另外,當移動終端400與外部底座連接時,接口單元80可以用作允許通過其將電力從底座提供到移動終端400的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端400的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端400是否準確地安裝在底座上的信號。存儲器20可以存儲由控制器30執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器20可以存儲關(guān)于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數(shù)據(jù)。存儲器20可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態(tài)隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁盤、光盤等等。而且,移動終端400可以與通過網(wǎng)絡連接執(zhí)行存儲器20的存儲功能的網(wǎng)絡存儲裝置協(xié)作??刂破?0通??刂埔苿咏K端的總體操作。例如,控制器30執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器30可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊,多媒體模塊可以構(gòu)造在控制器30內(nèi),或者可以構(gòu)造為與控制器30分離??刂破?0可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。電源單元90在控制器30的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α_@里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器30中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器20中并且由控制器30執(zhí)行。至此,己經(jīng)按照其功能描述了移動終端400。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端400等等的各種類型的移動終端400中的滑動型移動終端400作為示例。因此,本發(fā)明能夠應用于任何類型的移動終端400,并且不限于滑動型移動終端400。如圖1中所示的移動終端400可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作?,F(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動終端400能夠操作的通信系統(tǒng)。這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(fdma)、時分多址(tdma)、碼分多址(cdma)和通用移動通信系統(tǒng)(umts)(特別地,長期演進(lte))、全球移動通信系統(tǒng)(gsm)等等。作為非限制性示例,下面的描述涉及cdma通信系統(tǒng),但是這樣的教導同樣適用于其它類型的系統(tǒng)。參考圖2,cdma無線通信系統(tǒng)可以包括多個移動終端400、多個基站(bs)270、基站控制器(bsc)275和移動交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個bsc2750。每個bs270可以服務一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離bs270?;蛘?,每個分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個bs270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。分區(qū)與頻率分配的交叉可以被稱為cdma信道。bs270也可以被稱為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個bsc275和至少一個bs270。基站也可以被稱為"蜂窩站"?;蛘?,特定bs270的各分區(qū)可以被稱為多個蜂窩站。如圖2中所示,廣播發(fā)射器(bt)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的移動終端400。如圖1中所示的廣播接收模塊111被設置在移動終端400處以接收由bt295發(fā)送的廣播信號。在圖2中,示出了幾個全球定位系統(tǒng)(gps)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端400中的至少一個。在圖2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的gps模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代gps跟蹤技術(shù)或者在gps跟蹤技術(shù)之外,可以使用可以跟蹤移動終端400的位置的其它技術(shù)。另外,至少一個gps衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星dmb傳輸。作為無線通信系統(tǒng)的一個典型操作,bs270接收來自各種移動終端400的反向鏈路信號。移動終端400通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定bs270內(nèi)進行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的bsc275。bsc提供通話資源分配和包括bs270之間的軟切換過程的協(xié)調(diào)的移動管理功能。bsc275還將接收到的數(shù)據(jù)路由到msc280,其提供用于與pstn290形成接口的額外的路由服務。類似地,pstn290與msc280形成接口,msc與bsc275形成接口,并且bsc275相應地控制bs270以將正向鏈路信號發(fā)送到移動終端400?;谏鲜鲆苿咏K端400硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明的各個實施例。首先,本發(fā)明提出一種數(shù)據(jù)上報系統(tǒng)。如圖3所示,為本發(fā)明所述的數(shù)據(jù)上報系統(tǒng)的各個實施例一可選的運行環(huán)境示意圖。本實施例中,所述數(shù)據(jù)上報系統(tǒng)可應用于包括,但不僅限于,移動終端400、服務器500的運行環(huán)境中。其中,所述移動終端400可以是移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導航裝置等等的移動設備,以及諸如數(shù)字tv、臺式計算機、筆記本、服務器等等的固定終端。所述服務器500可以是機架式服務器、刀片式服務器、塔式服務器或機柜式服務器等計算設備,該服務器500可以是獨立的服務器,也可以是多個服務器所組成的服務器集群。所述移動終端400通過網(wǎng)絡與所述服務器500通信連接。所述網(wǎng)絡3可以是企業(yè)內(nèi)部網(wǎng)(intranet)、互聯(lián)網(wǎng)(internet)、全球移動通訊系統(tǒng)(globalsystemofmobilecommunication,gsm)、寬帶碼分多址(widebandcodedivisionmultipleaccess,wcdma)、4g網(wǎng)絡、5g網(wǎng)絡、藍牙(bluetooth)、wi-fi等無線或有線網(wǎng)絡。進一步地,所述移動終端400內(nèi)安裝有一個或多個應用程序,所述一個或多個應用程序均集成有用于進行數(shù)據(jù)采集的軟件開發(fā)工具包(sdk)。當所述移動終端400運行所述數(shù)據(jù)上報系統(tǒng)時,該移動終端400通過集成于所述一個或多個應用程序內(nèi)的軟件開發(fā)工具包(sdk)分別采集對應的應用程序的操作數(shù)據(jù),并根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù),進而通過所述移動終端400與所述服務器500之間的通信連接,將所生成的審計數(shù)據(jù)和所采集的操作數(shù)據(jù)一起上報至所述服務器500。對應地,當所述服務器500運行所述數(shù)據(jù)上報系統(tǒng)時,該服務器500接收所述移動終端400所上報的審計數(shù)據(jù)和操作數(shù)據(jù),并根據(jù)所述審計數(shù)據(jù)校驗所述操作數(shù)據(jù)是否異常,進而對異常的操作數(shù)據(jù)進行修正和輸出,從而完成整個數(shù)據(jù)上報流程。參閱圖4所示,為本發(fā)明所述的數(shù)據(jù)上報系統(tǒng)第一實施例的功能模塊示意圖。在本實施例中,所述數(shù)據(jù)上報系統(tǒng)可以被分割成一個或多個模塊,所述一個或多個模塊被存儲于所述存儲設備(本實施例中為存儲器)中,并由一個或多個控制器(本實施例中為所述處理器)所執(zhí)行,以完成本發(fā)明。例如,在圖4中,所述數(shù)據(jù)上報系統(tǒng)可以被分割成采集模塊401、生成模塊402、上報模塊403、接收模塊501、校驗模塊502、修正模塊503、以及輸出模塊504。其中,所述模塊401-403安裝于所述移動終端400的存儲器中,所述模塊501-504安裝于所述服務器500的存儲器中。本發(fā)明所稱的模塊是指一種能夠完成特定功能的一系列計算機程序指令段,比程序更適合于描述軟件在所述移動終端400和所述服務器500中的執(zhí)行過程。以下將就上述各功能模塊401-403、501-504的具體功能進行詳細描述。其中:所述采集模塊401,用于在所述移動終端400開機后,通過集成于應用程序內(nèi)的軟件開發(fā)工具包(sdk)采集對應的應用程序的操作數(shù)據(jù)。本實施例中,所述移動終端400內(nèi)安裝有一個或多個應用程序,所述操作數(shù)據(jù)是指移動終端用戶在使用所述一個或多個應用程序時,對所述一個或多個應用程序進行操作以及在其顯示界面上進行操作所產(chǎn)生的數(shù)據(jù)。該操作數(shù)據(jù)可包括,但不僅限于,應用程序的啟動事件和啟動次數(shù)、應用程序的會話事件和會話時長、應用程序的崩潰事件和崩潰次數(shù)、應用程序顯示界面上的觸摸事件和有效觸摸次數(shù)、應用程序的運行時長等數(shù)據(jù)信息。需要說明的是,所述一個或多個應用程序內(nèi)集成有用于數(shù)據(jù)采集的軟件開發(fā)工具包(sdk),所述軟件開發(fā)工具包(sdk)能夠在用戶對所述一個或多個應用程序進行操作時實時記錄對應的應用程序的啟動信息、頁面信息、事件點擊信息、crash信息、運行時長、有效點擊次數(shù)等操作數(shù)據(jù)。故,本實施例中,所述采集模塊401可以通過所述軟件開發(fā)工具包(sdk)采集對應的應用程序的操作數(shù)據(jù)。一般地,所述操作數(shù)據(jù)多表現(xiàn)為所述移動終端400在運行時所產(chǎn)生的事件的條數(shù)記錄,且多記錄在數(shù)據(jù)表中。例如,下表1示出了本實施例中所述采集模塊401所采集的部分操作數(shù)據(jù):事件名稱事件數(shù)據(jù)發(fā)生時間事件a1次2017-03-27事件b1次2017-03-27事件a1次2017-03-27表1可以看出,表1中所記錄的操作數(shù)據(jù)包括了在所述移動終端400運行時移動終端用戶對該移動終端400進行操作所產(chǎn)生的事件a和事件b的信息。其中,事件a發(fā)生了2次,事件b產(chǎn)生了1次,事件發(fā)生的時間均為2017年的3月27日。所述生成模塊402,用于根據(jù)所述操作數(shù)據(jù)生成對應的審計數(shù)據(jù),所述審計數(shù)據(jù)記錄有所述操作數(shù)據(jù)的特征值。一般地,所述采集模塊401通過所述軟件開發(fā)工具包(sdk)所采集的操作數(shù)據(jù)都是彼此獨立且分散的。例如,在表1中,事件a第一次發(fā)生時,所述采集模塊401在所述表1中新增一次事件a的操作數(shù)據(jù)記錄;事件a再次發(fā)生時,所述采集模塊401再在所述表1中新增一次事件a的操作數(shù)據(jù)記錄,兩次事件a的操作數(shù)據(jù)記錄之間沒有任何關(guān)聯(lián)彼此獨立。這樣的操作數(shù)據(jù)記錄方式,使得所述移動終端400向服務器500上報所采集的操作數(shù)據(jù)時,每一條被上報的操作數(shù)據(jù)之間無關(guān)聯(lián),若某一條操作數(shù)據(jù)出現(xiàn)漏報或者上報失敗,則所述服務器500根本無法察覺。例如,若上表1中后一次事件a的數(shù)據(jù)上報漏報或上報失敗,則所述服務器500只會接收到一次事件a的操作數(shù)據(jù)記錄,造成服務器500端上報數(shù)據(jù)的異常,影響其準確性。故,本實施例中,當采集到所述操作數(shù)據(jù)時,所述生成模塊402根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù)。其中,所述審計數(shù)據(jù)用于對所述移動終端400內(nèi)所采集的應用程序的操作數(shù)據(jù)進行匯總統(tǒng)計,將相同類型的操作數(shù)據(jù)(例如同一事件的數(shù)據(jù))匯總至一條操作數(shù)據(jù)記錄內(nèi),該操作數(shù)據(jù)記錄包括所述操作數(shù)據(jù)的特征值,用以在后續(xù)向所述服務器500上報對應的操作數(shù)據(jù)時,同時上報該審計數(shù)據(jù)至所述服務器500,以使所述服務器500能夠根據(jù)所述審計數(shù)據(jù)內(nèi)的特征值來校驗所述操作數(shù)據(jù)是否出現(xiàn)漏報、錯報、或者上報失敗等狀況。其中,所述特征值可以是如上表2中所記錄的所述操作數(shù)據(jù)的條數(shù),也可以是其他任何能夠表征所述操作數(shù)據(jù)特征的參數(shù)值。需要說明的是,所述審計數(shù)據(jù)的生成方式可以是根據(jù)所述服務器500對所述移動終端400配置的操作數(shù)據(jù)上報策略而確定或者由移動終端用戶自定義。例如,所述審計數(shù)據(jù)可以是在每次上報所述操作數(shù)據(jù)之前,通過對所采集的操作數(shù)據(jù)進行匯總統(tǒng)計而生成;也可以是在每次有操作數(shù)據(jù)被采集到的同時就實時根據(jù)被采集的操作數(shù)據(jù)來生成對應的審計數(shù)據(jù),此處實時生成的審計數(shù)據(jù)包括所述移動終端400內(nèi)產(chǎn)生新事件時新增的審計數(shù)據(jù)和所述移動終端400已有事件再次發(fā)生時在原有審計數(shù)據(jù)基礎上進行更新的審計數(shù)據(jù)等。舉例而言,針對于上文所述的表1,所述生成模塊402所生成的審計數(shù)據(jù)可以如下表2所示:事件名稱事件數(shù)據(jù)發(fā)生時間事件a2次2017-03-27事件b1次2017-03-27表2可以看出,表2所示的審計數(shù)據(jù)將前文表1所示的操作數(shù)據(jù)進行了匯總處理,重復發(fā)生過兩次的事件a的操作數(shù)據(jù)被匯總為了一條操作數(shù)據(jù)記錄,其中事件數(shù)據(jù)2次即為所述事件a的操作數(shù)據(jù)的特征值。所述上報模塊403,用于將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至所述服務器500。一般地,所述服務器500會針對于所述移動終端400預先配置好該移動終端400向該服務器500進行數(shù)據(jù)上報的上報策略,并下發(fā)所述上報策略至所述移動終端400。因此,本實施例中,所述上報模塊400可以根據(jù)從所述服務器500所接收到的上報策略將所采集的所述操作數(shù)據(jù)和與之對應的所述審計數(shù)據(jù)通過所述服務器500與所述移動終端400之間的通信連接,一起上報至所述服務器500。以上詳細描述了運行于所述移動終端400內(nèi)的功能模塊401-403對應用程序的操作數(shù)據(jù)進行采集和上報的工作過程。如下將就運行于所述服務器500內(nèi)的功能模塊501-504的工作流程就詳細描述:所述接收模塊501,用于接收所述移動終端400所上報的數(shù)據(jù),所述數(shù)據(jù)包括所述操作數(shù)據(jù)和所述審計數(shù)據(jù)。所述校驗模塊502,用于根據(jù)所述審計數(shù)據(jù)判斷所述操作數(shù)據(jù)是否異常。從上文可以看出,所述審計數(shù)據(jù)是對所述操作數(shù)據(jù)進行匯總統(tǒng)計而生成的,該審計數(shù)據(jù)記錄了所述操作數(shù)據(jù)的特征值,所述特征值表征了所述移動終端400所采集的上報數(shù)據(jù)的特征,例如某事件數(shù)據(jù)的條數(shù)等。故。本實施例中,所述校驗模塊502可以讀取所述審計數(shù)據(jù)內(nèi)所記載的特征值,進而根據(jù)所述特征值校驗核對對應的所述操作數(shù)據(jù)是否與所述審計數(shù)據(jù)的特征值相匹配。若所述操作數(shù)據(jù)與所述審計數(shù)據(jù)的特征值相匹配,則所述校驗模塊502判定所述操作數(shù)據(jù)正常;若所述操作數(shù)據(jù)與所述審計數(shù)據(jù)的特征值不匹配,則所述校驗模塊502判定所述操作數(shù)據(jù)異常,所述異常包括漏報、錯報和上報失敗等。具體而言,參上表1和表2所示,假設所述移動終端400的上報模塊403在進行數(shù)據(jù)上報時,同時向所述服務器500上報了上表1中所記錄的操作數(shù)據(jù)和上表2所記載的審計數(shù)據(jù),所述服務器500的接收模塊501接收了所述操作數(shù)據(jù)和所述審計數(shù)據(jù),而所述校驗模塊502校驗發(fā)現(xiàn),所接收的上報數(shù)據(jù)中事件a的操作數(shù)據(jù)記錄僅上報了一條,則該校驗模塊502可判定所述移動終端400所上報的數(shù)據(jù)異常,可能存在漏報。優(yōu)選地,當所述移動終端400所上報的數(shù)據(jù)異常時,所述校驗模塊502還可以根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行遍歷查詢和比對,在所述操作數(shù)據(jù)中標識出具體的異常操作數(shù)據(jù),即與所述審計數(shù)據(jù)內(nèi)記載的特征值不匹配的操作數(shù)據(jù)。所述修正模塊503,用于在所述操作數(shù)據(jù)異常時,根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行修正。本實施例中,當發(fā)現(xiàn)所述移動終端400所上報的數(shù)據(jù)出現(xiàn)異常時,所述修正模塊503可以對異常的操作數(shù)據(jù)進行修正。具體地,所述修正模塊503獲取所述操作數(shù)據(jù)中的異常操作數(shù)據(jù),并從所述審計數(shù)據(jù)中查詢與該異常操作數(shù)據(jù)對應的特征值,進而根據(jù)所述特征值計算出對應的校準值,并將所述校準值以新增字段的形式插入至與所述異常操作數(shù)據(jù)對應的結(jié)果數(shù)據(jù)中,以便于后續(xù)在所述服務器500將所述操作數(shù)據(jù)的結(jié)果輸出時,對所述異常操作數(shù)據(jù)進行特定的處理后再輸出。需要說明的是,所述結(jié)束數(shù)據(jù)是指所述服務器500根據(jù)用戶的設定對所述上報數(shù)據(jù)進行加工處理后所生成的數(shù)據(jù),該數(shù)據(jù)包括但并不僅限于所述操作數(shù)據(jù)。舉例而言,下表3示出了本實施例中的一結(jié)果數(shù)據(jù):表3從上表3可以看出,所述服務器500所接收的上報數(shù)據(jù)內(nèi)與事件a相關(guān)的操作數(shù)據(jù)出現(xiàn)了異常,所述修正模塊503根據(jù)對應的審計數(shù)據(jù)得出所述事件a的操作數(shù)據(jù)條數(shù)應該為2條,而在所述服務器500生成的結(jié)果數(shù)據(jù)查詢到上報的事件a的操作數(shù)據(jù)僅為1條。因此,所述修正模塊503可以計算得出所述校準值為1,進而在上表3中與事件a對應的結(jié)果數(shù)據(jù)內(nèi)新增了異常修正字段,在該異常修正字段內(nèi)寫入出了遺漏的事件a的條數(shù)為+1(即需要增加1條,對應的-1表示需要減少1條)。需要補充的是,本實施例中對異常操作數(shù)據(jù)的修正并不僅限于上述的修正方式。在其他實施例中,還可以根據(jù)不同的操作數(shù)據(jù)類型專門預先設定不同的偏差值(例如事件a的偏差值為a%;事件b的偏差值為b%),所述偏差值用于衡量在對應的操作數(shù)據(jù)出現(xiàn)的異常的是否需要修正。具體地,若所述審計數(shù)據(jù)內(nèi)記載的操作數(shù)據(jù)與所述服務器500所接收到的操作數(shù)據(jù)不匹配,且兩者的偏差值未超出預設的偏差值,則所述修正模塊503不對所述操作數(shù)據(jù)進行上述修正。反之,若所述審計數(shù)據(jù)內(nèi)記載的操作數(shù)據(jù)與所述服務器500所接收到的操作數(shù)據(jù)不匹配,且兩者的偏差值超出預設的偏差值,則所述修正模塊503對所述操作數(shù)據(jù)進行上述修正。舉例而言,若預設設定的事件a允許的偏差值為2%,且在數(shù)據(jù)上報時所述審計數(shù)據(jù)中記載事件a發(fā)生了100次,而所述服務器500僅接收到了90條事件a的操作數(shù)據(jù)記錄,則經(jīng)計算可以得出此次數(shù)據(jù)上報中事件a的偏差值為10%;由于10%超出了可允許的偏差值2%,故,所述修正模塊503會對事件a的操作數(shù)據(jù)進行上述修正。所述輸出模塊504,用于根據(jù)修正后的操作數(shù)據(jù)生成數(shù)據(jù)報表并輸出。從前文可知,所述服務器500通過所述移動終端400對各個應用程序的操作數(shù)據(jù)進行采集的目的,是為了根據(jù)所述操作數(shù)據(jù)分析得出移動終端用戶的使用習慣和應用程序本身的運行狀態(tài)等信息(例如應用程序被使用的頻次較多和被使用頻次較少的都是哪些功能、應用程序運行是否經(jīng)常崩潰等),進而為應用程序的開發(fā)和設計工作提供數(shù)據(jù)支持。因此,本實施例中,當所述移動終端400所上報的數(shù)據(jù)中的異常操作數(shù)據(jù)被修正后,所述輸出模塊504根據(jù)修正后的所述操作數(shù)據(jù)和服務器用戶的輸出設定,生成對應的上報數(shù)據(jù)報表并進行輸出,以便服務器用戶查看。通過上述功能模塊401-403和501-504,本發(fā)明所提出的數(shù)據(jù)上報系統(tǒng),通過集成于應用程序內(nèi)的軟件開發(fā)工具包(sdk)采集移動終端400內(nèi)應用程序的操作數(shù)據(jù),并根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù),進而將審計數(shù)據(jù)和操作數(shù)據(jù)一起上報給服務器500。然后,在服務器500接收移動終端400所上報的審計數(shù)據(jù)和操作數(shù)據(jù)后,根據(jù)審計數(shù)據(jù)來校驗操作數(shù)據(jù)是否異常,進而對異常的操作數(shù)據(jù)進行修正和輸出。這樣,通過服務器500和移動終端400的配合,既保證了數(shù)據(jù)上報工作的正常進行,又能夠及時發(fā)現(xiàn)出現(xiàn)漏報、錯報、以及上報失敗的數(shù)據(jù)并修正,提高了上報數(shù)據(jù)的準確性。進一步地,基于上述本發(fā)明數(shù)據(jù)上報系統(tǒng)的第一實施例,提出本發(fā)明數(shù)據(jù)上報系統(tǒng)的第二實施例。如圖5所示,是本發(fā)明數(shù)據(jù)上報系統(tǒng)的第二實施例的模塊示意圖。在本實施例中,所述服務器500內(nèi)的數(shù)據(jù)上報系統(tǒng)還包括配置模塊505,其中:所述配置模塊505,用于獲取所述移動終端400內(nèi)應用程序的應用標識,并為所述應用標識配置對應的應用類型和上報策略。本實施例中,所述服務器500可以預先針對于與之通信連接的移動終端400內(nèi)所安裝的應用程序,設定不同的數(shù)據(jù)上報策略,然后將所設定的數(shù)據(jù)上報策略下發(fā)至所述移動終端400,以使該移動終端400的以所下發(fā)的數(shù)據(jù)上報策略來上報所述應用程序的數(shù)據(jù)。其中,不同的應用程序可采用其包名作為其應用程序標識,進而為其設定不同的數(shù)據(jù)上報策略。具體地,在一些實施例中,所述服務器500的配置模塊505可以首先獲取所述移動終端400內(nèi)所安裝應用程序,根據(jù)所述應用程序的功能將其分為不同的應用程序類型。所述應用程序類型可包括,但不僅限于,娛樂視頻類應用(例如騰訊視頻、愛奇藝)、通訊類應用(例如qq、微信)、工具類應用(例如天氣、時鐘)等。然后根據(jù)所述服務器用戶的數(shù)據(jù)采集需求,為不同類型的應用程序設定不同的數(shù)據(jù)上報策略。例如,可以設定娛樂視頻類應用和工具類應用的操作數(shù)據(jù)不允許上報,通訊類應用的操作數(shù)據(jù)允許上報并設定特定的上報策略等。這樣,可以滿足服務器用戶對所述移動終端400內(nèi)所安裝的特定類型的應用程序的操作數(shù)據(jù)的數(shù)據(jù)采集需求。需要補充的是,本實施例中,所述服務器500的配置模塊505還可以是根據(jù)服務器用戶對不同應用程序操作數(shù)據(jù)的數(shù)據(jù)采集的緊急程度,來為不同的應用程序設定不同的上報策略。具體地,所述配置模塊505可以服務器用戶的業(yè)務需求,將所述應用程序分的應用類型分為緊急型應用和普通型應用。所述緊急型應用可以是服務器用戶即將開發(fā)新版本或者即將發(fā)布新版本的類型的應用等,針對于該類型的應用,服務器用戶急需采集大量的移動終端用戶操作數(shù)據(jù)來分析判斷是否需要對新版本應用進行發(fā)布或開發(fā)前的最后調(diào)整。因此,針對于所述緊急型應用,所述配置模塊505可以設定其數(shù)據(jù)上報策略為實時上報,即只要移動終端400采集到所述操作數(shù)據(jù)就將所述操作數(shù)據(jù)和對應的審計數(shù)據(jù)上報至所述服務器500。而就所述普通型應用而言,由于其服務器用戶對其數(shù)據(jù)上報的需求并不迫切,故所述配置模塊505可以設定一個常規(guī)的頻率進行定期數(shù)據(jù)上報即可(例如一天上報一次等)。進一步地,在另一些實施例中,所述服務器500的配置模塊505還可以首先獲取所述移動終端400內(nèi)所安裝應用程序,然后根據(jù)所述服務器用戶的數(shù)據(jù)采集需求,針對于每一款所述應用程序單獨設定數(shù)據(jù)上報策略。例如,針對于qq設定第一上報策略、針對于微信設定第二上報策略等。這樣,可以滿足服務器用戶對所述移動終端400內(nèi)所安裝的每一款應用程序的操作數(shù)據(jù)的數(shù)據(jù)采集需求。一些實施例中,所述配置模塊404為所述移動終端400內(nèi)安裝的應用程序設定上報策略的配置表可以如下表4所示:應用名稱應用包名上報策略qqcom.tencent.mobileqq實時上報微信com.tencent.mobileweixin允許上報搜狗輸入法com.sohu.inputmethod.sogou定期上報………………表4相應地,在一些實施例中,所述移動終端400的所述上報模塊403,還用于獲取所述應用程序的應用標識和與所述應用標識相對應的上報策略;以及根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器。本實施例中,若所述服務器500預先配置是上報策略是針對于所述移動終端400內(nèi)的每一個應用程序單獨設定的,則所述上報模塊403在執(zhí)行數(shù)據(jù)上報操作前,首先獲取與所上報數(shù)據(jù)對應的應用程序的應用標識,所述應用標識包括應用程序包名;然后根據(jù)所述應用標識查詢所述服務器500所下發(fā)的上報策略配置表中與所述應用標識對應的上報策略;進而根據(jù)所查詢的上報策略向所述服務器500上報所述應用程序的操作數(shù)據(jù)。若所述服務器500預先配置是上報策略是針對于所述移動終端400內(nèi)的不同類型的應用程序而設定的,則所述上報模塊403在執(zhí)行數(shù)據(jù)上報操作前,首先獲取與所上報數(shù)據(jù)對應的應用程序的應用標識,所述應用標識包括應用程序包名;然后根據(jù)所述應用標識查詢所述服務器500所下發(fā)的上報策略配置表中與所述應用標識對應的應用程序類型;接著根據(jù)所述應用程序類型查詢對應的上報策略;進而根據(jù)所查詢的上報策略向所述服務器500上報所述應用程序的操作數(shù)據(jù)。需要指出的是,當所述應用類型為緊急型應用時,所述上報策略包括通過預設的緊急接口實時上報所述應用程序的審計數(shù)據(jù)和操作數(shù)據(jù);當所述應用類型為普通型應用時,所述上報策略包括通過預設的普通接口定期上報所述應用程序的審計數(shù)據(jù)和操作數(shù)據(jù)。其中,所述緊急接口和所述普通接口可以預先通過軟件開發(fā)工具包(sdk)進行設置。通過上述功能模塊505和403,本發(fā)明所提出的數(shù)據(jù)上報系統(tǒng),通過預先在服務器500中針對于移動終端400所安裝的應用程序進行上報策略的配置,使得不同的應用程序的上報數(shù)據(jù)可以采用不同的上報策略來進行數(shù)據(jù)上報工作,滿足了服務器用戶的不同數(shù)據(jù)采集需求。此外,本發(fā)明還提出一種數(shù)據(jù)上報方法。如圖6和圖7所示,為本發(fā)明數(shù)據(jù)上報方法第一實施例的實施流程示意圖。在本實施例中,根據(jù)不同的需求,圖6和圖7所示的流程圖中的步驟的執(zhí)行順序可以改變,某些步驟可以省略。所述數(shù)據(jù)上報方法包括:步驟s601,在所述移動終端400開機后,通過集成于應用程序內(nèi)的軟件開發(fā)工具包(sdk)采集對應的應用程序的操作數(shù)據(jù)。本實施例中,所述移動終端400內(nèi)安裝有一個或多個應用程序,所述操作數(shù)據(jù)是指移動終端用戶在使用所述一個或多個應用程序時,對所述一個或多個應用程序進行操作以及在其顯示界面上進行操作所產(chǎn)生的數(shù)據(jù)。該操作數(shù)據(jù)可包括,但不僅限于,應用程序的啟動事件和啟動次數(shù)、應用程序的會話事件和會話時長、應用程序的崩潰事件和崩潰次數(shù)、應用程序顯示界面上的觸摸事件和有效觸摸次數(shù)、應用程序的運行時長等數(shù)據(jù)信息。需要說明的是,所述一個或多個應用程序內(nèi)集成有用于數(shù)據(jù)采集的軟件開發(fā)工具包(sdk),所述軟件開發(fā)工具包(sdk)能夠在用戶對所述一個或多個應用程序進行操作時實時記錄對應的應用程序的啟動信息、頁面信息、事件點擊信息、crash信息、運行時長、有效點擊次數(shù)等操作數(shù)據(jù)。故,本實施例可以通過所述軟件開發(fā)工具包(sdk)采集對應的應用程序的操作數(shù)據(jù)。一般地,所述操作數(shù)據(jù)多表現(xiàn)為所述移動終端400在運行時所產(chǎn)生的事件的條數(shù)記錄,且多記錄在數(shù)據(jù)表中。例如,下表1示出了本實施例所采集的部分操作數(shù)據(jù):表1可以看出,表1中所記錄的操作數(shù)據(jù)包括了在所述移動終端400運行時移動終端用戶對該移動終端400進行操作所產(chǎn)生的事件a和事件b的信息。其中,事件a發(fā)生了2次,事件b產(chǎn)生了1次,事件發(fā)生的時間均為2017年的3月27日。步驟s602,根據(jù)所述操作數(shù)據(jù)生成對應的審計數(shù)據(jù),所述審計數(shù)據(jù)記錄有所述操作數(shù)據(jù)的特征值。一般地,通過所述軟件開發(fā)工具包(sdk)所采集的操作數(shù)據(jù)都是彼此獨立且分散的。例如,在表1中,事件a第一次發(fā)生時,在所述表1中新增一次事件a的操作數(shù)據(jù)記錄;事件a再次發(fā)生時,再在所述表1中新增一次事件a的操作數(shù)據(jù)記錄,兩次事件a的操作數(shù)據(jù)記錄之間沒有任何關(guān)聯(lián)彼此獨立。這樣的操作數(shù)據(jù)記錄方式,使得所述移動終端400向服務器500上報所采集的操作數(shù)據(jù)時,每一條被上報的操作數(shù)據(jù)之間無關(guān)聯(lián),若某一條操作數(shù)據(jù)出現(xiàn)漏報或者上報失敗,則所述服務器500根本無法察覺。例如,若上表1中后一次事件a的數(shù)據(jù)上報漏報或上報失敗,則所述服務器500只會接收到一次事件a的操作數(shù)據(jù)記錄,造成服務器500端上報數(shù)據(jù)的異常,影響其準確性。故,當采集到所述操作數(shù)據(jù)時,本實施例根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù)。其中,所述審計數(shù)據(jù)用于對所述移動終端400內(nèi)所采集的應用程序的操作數(shù)據(jù)進行匯總統(tǒng)計,將相同類型的操作數(shù)據(jù)(例如同一事件的數(shù)據(jù))匯總至一條操作數(shù)據(jù)記錄內(nèi),該操作數(shù)據(jù)記錄包括所述操作數(shù)據(jù)的特征值,用以在后續(xù)向所述服務器500上報對應的操作數(shù)據(jù)時,同時上報該審計數(shù)據(jù)至所述服務器500,以使所述服務器500能夠根據(jù)所述審計數(shù)據(jù)內(nèi)的特征值來校驗所述操作數(shù)據(jù)是否出現(xiàn)漏報、錯報、或者上報失敗等狀況。其中,所述特征值可以是如上表2中所記錄的所述操作數(shù)據(jù)的條數(shù),也可以是其他任何能夠表征所述操作數(shù)據(jù)特征的參數(shù)值。需要說明的是,所述審計數(shù)據(jù)的生成方式可以是根據(jù)所述服務器500對所述移動終端400配置的操作數(shù)據(jù)上報策略而確定或者由移動終端用戶自定義。例如,所述審計數(shù)據(jù)可以是在每次上報所述操作數(shù)據(jù)之前,通過對所采集的操作數(shù)據(jù)進行匯總統(tǒng)計而生成;也可以是在每次有操作數(shù)據(jù)被采集到的同時就實時根據(jù)被采集的操作數(shù)據(jù)來生成對應的審計數(shù)據(jù),此處實時生成的審計數(shù)據(jù)包括所述移動終端400內(nèi)產(chǎn)生新事件時新增的審計數(shù)據(jù)和所述移動終端400已有事件再次發(fā)生時在原有審計數(shù)據(jù)基礎上進行更新的審計數(shù)據(jù)等。舉例而言,針對于上文所述的表1,所生成的審計數(shù)據(jù)可以如下表2所示:事件名稱事件數(shù)據(jù)發(fā)生時間事件a2次2017-03-27事件b1次2017-03-27表2可以看出,表2所示的審計數(shù)據(jù)將前文表1所示的操作數(shù)據(jù)進行了匯總處理,重復發(fā)生過兩次的事件a的操作數(shù)據(jù)被匯總為了一條操作數(shù)據(jù)記錄,其中事件數(shù)據(jù)2次即為所述事件a的操作數(shù)據(jù)的特征值。步驟s603,將所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至所述服務器500。一般地,所述服務器500會針對于所述移動終端400預先配置好該移動終端400向該服務器500進行數(shù)據(jù)上報的上報策略,并下發(fā)所述上報策略至所述移動終端400。因此,本實施例可以根據(jù)從所述服務器500所接收到的上報策略將所采集的所述操作數(shù)據(jù)和與之對應的所述審計數(shù)據(jù)通過所述服務器500與所述移動終端400之間的通信連接,一起上報至所述服務器500。以上步驟s601-s603詳細描述了所述移動終端400對應用程序的操作數(shù)據(jù)進行采集和上報的工作過程。如下,將就所述服務器500的工作流程進行詳細描述:步驟s604,接收所述移動終端400所上報的數(shù)據(jù),所述數(shù)據(jù)包括所述操作數(shù)據(jù)和所述審計數(shù)據(jù)。步驟s605,根據(jù)所述審計數(shù)據(jù)判斷所述操作數(shù)據(jù)是否異常。從上文可以看出,所述審計數(shù)據(jù)是對所述操作數(shù)據(jù)進行匯總統(tǒng)計而生成的,該審計數(shù)據(jù)記錄了所述操作數(shù)據(jù)的特征值,所述特征值表征了所述移動終端400所采集的上報數(shù)據(jù)的特征,例如某事件數(shù)據(jù)的條數(shù)等。故。本實施例可以讀取所述審計數(shù)據(jù)內(nèi)所記載的特征值,進而根據(jù)所述特征值校驗核對對應的所述操作數(shù)據(jù)是否與所述審計數(shù)據(jù)的特征值相匹配。若所述操作數(shù)據(jù)與所述審計數(shù)據(jù)的特征值相匹配,則判定所述操作數(shù)據(jù)正常;若所述操作數(shù)據(jù)與所述審計數(shù)據(jù)的特征值不匹配,則判定所述操作數(shù)據(jù)異常,所述異常包括漏報、錯報和上報失敗等。具體而言,參上表1和表2所示,假設所述移動終端400在進行數(shù)據(jù)上報時,同時向所述服務器500上報了上表1中所記錄的操作數(shù)據(jù)和上表2所記載的審計數(shù)據(jù),所述服務器500接收了所述操作數(shù)據(jù)和所述審計數(shù)據(jù),校驗發(fā)現(xiàn),所接收的上報數(shù)據(jù)中事件a的操作數(shù)據(jù)記錄僅上報了一條,則可判定所述移動終端400所上報的數(shù)據(jù)異常,可能存在漏報。優(yōu)選地,當所述移動終端400所上報的數(shù)據(jù)異常時,還可以根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行遍歷查詢和比對,在所述操作數(shù)據(jù)中標識出具體的異常操作數(shù)據(jù),即與所述審計數(shù)據(jù)內(nèi)記載的特征值不匹配的操作數(shù)據(jù)。步驟s606,在所述操作數(shù)據(jù)異常時,根據(jù)所述審計數(shù)據(jù)對所述操作數(shù)據(jù)進行修正。本實施例中,當發(fā)現(xiàn)所述移動終端400所上報的數(shù)據(jù)出現(xiàn)異常時,可以對異常的操作數(shù)據(jù)進行修正。具體地,獲取所述操作數(shù)據(jù)中的異常操作數(shù)據(jù),并從所述審計數(shù)據(jù)中查詢與該異常操作數(shù)據(jù)對應的特征值,進而根據(jù)所述特征值計算出對應的校準值,并將所述校準值以新增字段的形式插入至與所述異常操作數(shù)據(jù)對應的結(jié)果數(shù)據(jù)中,以便于后續(xù)在所述服務器500將所述操作數(shù)據(jù)的結(jié)果輸出時,對所述異常操作數(shù)據(jù)進行特定的處理后再輸出。需要說明的是,所述結(jié)束數(shù)據(jù)是指所述服務器500根據(jù)用戶的設定對所述上報數(shù)據(jù)進行加工處理后所生成的數(shù)據(jù),該數(shù)據(jù)包括但并不僅限于所述操作數(shù)據(jù)。舉例而言,下表3示出了本實施例中的一結(jié)果數(shù)據(jù):事件名稱事件數(shù)據(jù)發(fā)生時間異常修正事件a1次2017-03-27+1次事件b1次2017-03-27表3從上表3可以看出,所述服務器500所接收的上報數(shù)據(jù)內(nèi)與事件a相關(guān)的操作數(shù)據(jù)出現(xiàn)了異常,根據(jù)對應的審計數(shù)據(jù)得出所述事件a的操作數(shù)據(jù)條數(shù)應該為2條,而在所述服務器500生成的結(jié)果數(shù)據(jù)查詢到上報的事件a的操作數(shù)據(jù)僅為1條。因此,可以計算得出所述校準值為1,進而在上表3中與事件a對應的結(jié)果數(shù)據(jù)內(nèi)新增了異常修正字段,在該異常修正字段內(nèi)寫入出了遺漏的事件a的條數(shù)為+1(即需要增加1條,對應的-1表示需要減少1條)。需要補充的是,本實施例中對異常操作數(shù)據(jù)的修正并不僅限于上述的修正方式。在其他實施例中,還可以根據(jù)不同的操作數(shù)據(jù)類型專門預先設定不同的偏差值(例如事件a的偏差值為a%;事件b的偏差值為b%),所述偏差值用于衡量在對應的操作數(shù)據(jù)出現(xiàn)的異常的是否需要修正。具體地,若所述審計數(shù)據(jù)內(nèi)記載的操作數(shù)據(jù)與所述服務器500所接收到的操作數(shù)據(jù)不匹配,且兩者的偏差值未超出預設的偏差值,則不對所述操作數(shù)據(jù)進行上述修正。反之,若所述審計數(shù)據(jù)內(nèi)記載的操作數(shù)據(jù)與所述服務器500所接收到的操作數(shù)據(jù)不匹配,且兩者的偏差值超出預設的偏差值,則對所述操作數(shù)據(jù)進行上述修正。舉例而言,若預設設定的事件a允許的偏差值為2%,且在數(shù)據(jù)上報時所述審計數(shù)據(jù)中記載事件a發(fā)生了100次,而所述服務器500僅接收到了90條事件a的操作數(shù)據(jù)記錄,則經(jīng)計算可以得出此次數(shù)據(jù)上報中事件a的偏差值為10%;由于10%超出了可允許的偏差值2%,故,需要對事件a的操作數(shù)據(jù)進行上述修正。步驟s607,根據(jù)修正后的操作數(shù)據(jù)生成數(shù)據(jù)報表并輸出。從前文可知,所述服務器500通過所述移動終端400對各個應用程序的操作數(shù)據(jù)進行采集的目的,是為了根據(jù)所述操作數(shù)據(jù)分析得出移動終端用戶的使用習慣和應用程序本身的運行狀態(tài)等信息(例如應用程序被使用的頻次較多和被使用頻次較少的都是哪些功能、應用程序運行是否經(jīng)常崩潰等),進而為應用程序的開發(fā)和設計工作提供數(shù)據(jù)支持。因此,當所述移動終端400所上報的數(shù)據(jù)中的異常操作數(shù)據(jù)被修正后,本實施例可以根據(jù)修正后的所述操作數(shù)據(jù)和服務器用戶的輸出設定,生成對應的上報數(shù)據(jù)報表并進行輸出,以便服務器用戶查看。通過上述步驟s601-s607,本發(fā)明所提出的數(shù)據(jù)上報方法,通過集成于應用程序內(nèi)的軟件開發(fā)工具包(sdk)采集移動終端400內(nèi)應用程序的操作數(shù)據(jù),并根據(jù)所采集的操作數(shù)據(jù)生成對應的審計數(shù)據(jù),進而將審計數(shù)據(jù)和操作數(shù)據(jù)一起上報給服務器500。然后,在服務器500接收移動終端400所上報的審計數(shù)據(jù)和操作數(shù)據(jù)后,根據(jù)審計數(shù)據(jù)來校驗操作數(shù)據(jù)是否異常,進而對異常的操作數(shù)據(jù)進行修正和輸出。這樣,通過服務器500和移動終端400的配合,既保證了數(shù)據(jù)上報工作的正常進行,又能夠及時發(fā)現(xiàn)出現(xiàn)漏報、錯報、以及上報失敗的數(shù)據(jù)并修正,提高了上報數(shù)據(jù)的準確性。進一步地,基于上述本發(fā)明數(shù)據(jù)上報方法的第一實施例,提出本發(fā)明數(shù)據(jù)上報方法的第二實施例。如圖8所示,是本發(fā)明數(shù)據(jù)上報方法的第二實施例的實施流程示意圖。本實施例中,所述數(shù)據(jù)上報方法還包括:步驟s801,獲取所述移動終端400內(nèi)應用程序的應用標識,并為所述應用標識配置對應的應用類型和上報策略。本實施例中,所述服務器500可以預先針對于與之通信連接的移動終端400內(nèi)所安裝的應用程序,設定不同的數(shù)據(jù)上報策略,然后將所設定的數(shù)據(jù)上報策略下發(fā)至所述移動終端400,以使該移動終端400的以所下發(fā)的數(shù)據(jù)上報策略來上報所述應用程序的數(shù)據(jù)。其中,不同的應用程序可采用其包名作為其應用程序標識,進而為其設定不同的數(shù)據(jù)上報策略。具體地,在一些實施例中,可以首先獲取所述移動終端400內(nèi)所安裝應用程序,根據(jù)所述應用程序的功能將其分為不同的應用程序類型。所述應用程序類型可包括,但不僅限于,娛樂視頻類應用(例如騰訊視頻、愛奇藝)、通訊類應用(例如qq、微信)、工具類應用(例如天氣、時鐘)等。然后根據(jù)所述服務器用戶的數(shù)據(jù)采集需求,為不同類型的應用程序設定不同的數(shù)據(jù)上報策略。例如,可以設定娛樂視頻類應用和工具類應用的操作數(shù)據(jù)不允許上報,通訊類應用的操作數(shù)據(jù)允許上報并設定特定的上報策略等。這樣,可以滿足服務器用戶對所述移動終端400內(nèi)所安裝的特定類型的應用程序的操作數(shù)據(jù)的數(shù)據(jù)采集需求。需要補充的是,本實施例中,還可以是根據(jù)服務器用戶對不同應用程序操作數(shù)據(jù)的數(shù)據(jù)采集的緊急程度,來為不同的應用程序設定不同的上報策略。具體地,可以服務器用戶的業(yè)務需求,將所述應用程序分的應用類型分為緊急型應用和普通型應用。所述緊急型應用可以是服務器用戶即將開發(fā)新版本或者即將發(fā)布新版本的類型的應用等,針對于該類型的應用,服務器用戶急需采集大量的移動終端用戶操作數(shù)據(jù)來分析判斷是否需要對新版本應用進行發(fā)布或開發(fā)前的最后調(diào)整。因此,針對于所述緊急型應用,可以設定其數(shù)據(jù)上報策略為實時上報,即只要移動終端400采集到所述操作數(shù)據(jù)就將所述操作數(shù)據(jù)和對應的審計數(shù)據(jù)上報至所述服務器500。而就所述普通型應用而言,由于其服務器用戶對其數(shù)據(jù)上報的需求并不迫切,故可以設定一個常規(guī)的頻率進行定期數(shù)據(jù)上報即可(例如一天上報一次等)。進一步地,在另一些實施例中,還可以首先獲取所述移動終端400內(nèi)所安裝應用程序,然后根據(jù)所述服務器用戶的數(shù)據(jù)采集需求,針對于每一款所述應用程序單獨設定數(shù)據(jù)上報策略。例如,針對于qq設定第一上報策略、針對于微信設定第二上報策略等。這樣,可以滿足服務器用戶對所述移動終端400內(nèi)所安裝的每一款應用程序的操作數(shù)據(jù)的數(shù)據(jù)采集需求。一些實施例為所述移動終端400內(nèi)安裝的應用程序設定上報策略的配置表可以如下表4所示:應用名稱應用包名上報策略qqcom.tencent.mobileqq實時上報微信com.tencent.mobileweixin允許上報搜狗輸入法com.sohu.inputmethod.sogou定期上報………………表4步驟s802,在數(shù)據(jù)上報時,獲取應用程序的應用標識和與所述應用標識相對應的上報策略,并根據(jù)所述上報策略將與所述應用標識對應的所述審計數(shù)據(jù)和所述操作數(shù)據(jù)上報至服務器。本實施例中,若所述服務器500預先配置是上報策略是針對于所述移動終端400內(nèi)的每一個應用程序單獨設定的,則在執(zhí)行數(shù)據(jù)上報操作前,首先獲取與所上報數(shù)據(jù)對應的應用程序的應用標識,所述應用標識包括應用程序包名;然后根據(jù)所述應用標識查詢所述服務器500所下發(fā)的上報策略配置表中與所述應用標識對應的上報策略;進而根據(jù)所查詢的上報策略向所述服務器500上報所述應用程序的操作數(shù)據(jù)。若所述服務器500預先配置是上報策略是針對于所述移動終端400內(nèi)的不同類型的應用程序而設定的,則在執(zhí)行數(shù)據(jù)上報操作前,首先獲取與所上報數(shù)據(jù)對應的應用程序的應用標識,所述應用標識包括應用程序包名;然后根據(jù)所述應用標識查詢所述服務器500所下發(fā)的上報策略配置表中與所述應用標識對應的應用程序類型;接著根據(jù)所述應用程序類型查詢對應的上報策略;進而根據(jù)所查詢的上報策略向所述服務器500上報所述應用程序的操作數(shù)據(jù)。需要指出的是,當所述應用類型為緊急型應用時,所述上報策略包括通過預設的緊急接口實時上報所述應用程序的審計數(shù)據(jù)和操作數(shù)據(jù);當所述應用類型為普通型應用時,所述上報策略包括通過預設的普通接口定期上報所述應用程序的審計數(shù)據(jù)和操作數(shù)據(jù)。其中,所述緊急接口和所述普通接口可以預先通過軟件開發(fā)工具包(sdk)進行設置。通過上述步驟s801-s802,本發(fā)明所提出的數(shù)據(jù)上報方法,通過預先在服務器500中針對于移動終端400所安裝的應用程序進行上報策略的配置,使得不同的應用程序的上報數(shù)據(jù)可以采用不同的上報策略來進行數(shù)據(jù)上報工作,滿足了服務器用戶的不同數(shù)據(jù)采集需求。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的
技術(shù)領(lǐng)域:
,均同理包括在本發(fā)明的專利保護范圍內(nèi)。當前第1頁12