移動設(shè)備的流量統(tǒng)計方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種移動設(shè)備的流量統(tǒng)計方法及裝置。
【背景技術(shù)】
[0002]隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展,以及手機、平板電腦、穿戴設(shè)備等移動設(shè)備智能化水平的提高,人們越來越多的使用移動設(shè)備獲得網(wǎng)絡(luò)服務(wù)。由于運營商一般根據(jù)移動設(shè)備產(chǎn)生的流量收取費用,因此流量的使用情況就成為用戶、移動設(shè)備上應(yīng)用程序開發(fā)者需要關(guān)注的問題。
[0003]現(xiàn)有技術(shù)中,可以在移動設(shè)備上安裝流量監(jiān)測工具,來統(tǒng)計出某個應(yīng)用程序在某個時間段內(nèi)(一小時、一天、一個月等)的流量。對于用戶而言,可以通過減少使用流量消耗大的應(yīng)用程序來限制流量,但是對應(yīng)用程序的開發(fā)者而言,只能得出某個時間段流量較大的結(jié)論,卻難以定位流量消耗大的環(huán)節(jié)在哪里。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本申請?zhí)峁┮环N移動設(shè)備的流量統(tǒng)計方法,包括:
[0005]獲取用戶操作的相關(guān)信息,包括操作的發(fā)生時間和運行對象;
[0006]獲取移動設(shè)備接收和發(fā)送報文的信息,包括報文的大小、發(fā)生時間和運行對象;
[0007]根據(jù)發(fā)生時間,將具有相同運行對象的用戶操作與其觸發(fā)的報文關(guān)聯(lián)起來;
[0008]由所關(guān)聯(lián)的報文的大小統(tǒng)計某個用戶操作所觸發(fā)的流量。
[0009]本申請還提供了一種移動設(shè)備的流量統(tǒng)計裝置,包括:
[0010]操作信息獲取單元,用于獲取用戶操作的相關(guān)信息,包括操作的發(fā)生時間和運行對象;
[0011]報文信息獲取單元,用于獲取移動設(shè)備接收和發(fā)送報文的信息,包括報文的大小、發(fā)生時間和運行對象;
[0012]關(guān)聯(lián)單元,用于根據(jù)發(fā)生時間,將具有相同運行對象的用戶操作與其觸發(fā)的報文關(guān)聯(lián)起來;
[0013]統(tǒng)計單元,用于由所關(guān)聯(lián)的報文的大小統(tǒng)計某個用戶操作所觸發(fā)的流量。
[0014]由以上技術(shù)方案可見,本申請的實施例通過發(fā)生時間,將同一運行對象的用戶操作與其觸發(fā)的報文收發(fā)關(guān)聯(lián)起來,進(jìn)而統(tǒng)計出某個用戶操作所導(dǎo)致的流量。這樣,應(yīng)用程序的開發(fā)測試人員可以準(zhǔn)確定位流量消耗大的環(huán)節(jié),從而為降低移動設(shè)備的流量提供良好的前提條件。
【附圖說明】
[0015]圖1是本申請實施例一中移動設(shè)備的流量統(tǒng)計方法的流程圖;
[0016]圖2是本申請實施例二中移動設(shè)備采集截屏數(shù)據(jù)的流程圖;
[0017]圖3是一個例子中用戶的一次支付操作所觸發(fā)的流量示意圖;
[0018]圖4是移動設(shè)備或服務(wù)器的一種硬件結(jié)構(gòu)圖;
[0019]圖5是本申請實施例中一種移動設(shè)備的流量統(tǒng)計裝置的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0020]本申請的實施例提出一種移動設(shè)備的流量統(tǒng)計方法,統(tǒng)計由用戶的某個操作觸發(fā)的流量,以解決現(xiàn)有技術(shù)中存在的問題。本申請的實施例的方法可以應(yīng)用在移動設(shè)備上,由移動設(shè)備進(jìn)行信息的采集和流量統(tǒng)計;也可以應(yīng)用在移動設(shè)備和服務(wù)器上,由移動設(shè)備進(jìn)行信息的采集,移動設(shè)備和服務(wù)器協(xié)同完成流量的統(tǒng)計。實施例一中,對移動設(shè)備上的流量進(jìn)行統(tǒng)計方法的流程如圖1所示。
[0021]步驟110,獲取用戶操作的相關(guān)信息,包括操作的發(fā)生時間和運行對象。
[0022]本實施例中,運行對象指用戶操作和流量統(tǒng)計的對象,如果關(guān)注的是某個應(yīng)用程序的流量,則可以將應(yīng)用程序作為運行對象;如果關(guān)注的是某個進(jìn)程的流量,則可將進(jìn)程作為運行對象。
[0023]可以通過各種方式來得到用戶操作的相關(guān)信息,例如,通過攔截移動設(shè)備操作系統(tǒng)的接口來得知用戶進(jìn)行了哪個操作、操作的發(fā)生時間和操作所針對的運行對象。
[0024]在一種實施方式中,可以通過截屏的方式來獲得用戶操作的信息。具體而言,以預(yù)定周期對移動設(shè)備進(jìn)行截屏,去除屏幕的標(biāo)題欄后得到截屏圖像;記錄截屏圖像的信息,包括截屏?xí)r間和運行對象;通過截屏圖像的變化識別用戶操作,以用戶操作完成時截屏圖像的截屏?xí)r間和運行對象作為用戶操作的發(fā)生時間和運行對象。
[0025]可以采用現(xiàn)有技術(shù)中已有的插件、第三方程序等進(jìn)行截屏,在截屏?xí)r通過操作系統(tǒng)接口可以得到當(dāng)前活躍窗口的進(jìn)程名或應(yīng)用程序名,即是用戶操作所針對的運行對象。例如,在Android(安卓)系統(tǒng)中,根據(jù)操作系統(tǒng)中Activity (交互界面)堆棧最上方的Activity的屬性中可以得到該Activity所屬的進(jìn)程名或應(yīng)用程序名。由于移動設(shè)備屏幕的標(biāo)題欄中通常會顯示無線信號強度、電池電量、時間等內(nèi)容,可能影響對用戶操作進(jìn)行識另IJ,因而在截屏后去除標(biāo)題欄得到截屏圖像,記錄截屏圖像的截屏?xí)r間和運行對象等信息。根據(jù)各幀圖像的變化,可以識別用戶進(jìn)行了怎樣的操作,并將用戶操作完成時截屏圖像的截屏?xí)r間和運行對象作為用戶操作的發(fā)生時間和運行對象。
[0026]步驟120,獲取移動設(shè)備接收和發(fā)送報文的信息,包括報文的大小、發(fā)生時間和運行對象。
[0027]可以通過各種方式來獲得移動設(shè)備接收和發(fā)送報文的信息,例如,可以通過修改操作系統(tǒng)的通信接口、通過插件攔截操作系統(tǒng)的通信接口的方式來得到所有接收和發(fā)送的報文的大小、接收或發(fā)送報文的時間、接收或發(fā)送報文的運行對象,這兩種方式可以對所有應(yīng)用程序收發(fā)的報文進(jìn)行信息采集;如果只需要統(tǒng)計少數(shù)幾個應(yīng)用程序的流量,也可以通過修改應(yīng)用程序的通信程序,來采集該應(yīng)用程序接收和發(fā)送的所有報文,以及接收或發(fā)送報文的時間、進(jìn)程等信息。
[0028]可獲取的報文信息還可以包括:報文類型,如http (HyperText TransferProtocol,超文本傳輸協(xié)議)報文、socket (套接字)報文;報文內(nèi)容等。
[0029]需要說明的是,步驟110和120沒有時序關(guān)系。
[0030]步驟130,根據(jù)發(fā)生時間,將具有相同運行對象的用戶操作與其觸發(fā)的報文關(guān)聯(lián)起來。
[0031]通常而言,當(dāng)用戶針對某個運行對象進(jìn)行操作,如果該操作導(dǎo)致移動設(shè)備的流量變化,則該運行對象會在該用戶操作完成后進(jìn)行報文的收發(fā)。換言之,當(dāng)具有相同運行對象的用戶操作和報文的發(fā)生時間相匹配時,可以認(rèn)為是該用戶操作導(dǎo)致了報文的收發(fā),這些報文即是該用戶操作觸發(fā)的流量。
[0032]在通過截屏的方式來獲得用戶操作信息的實施方式中,可以采用如下的方法來進(jìn)行用戶操作與報文的關(guān)聯(lián):把某個用戶操作完成時作為設(shè)定關(guān)聯(lián)時段的開始,把截屏圖像不變并且在預(yù)置等待時長內(nèi)移動設(shè)備的流量不變的時點作為設(shè)定關(guān)聯(lián)時段的結(jié)束;把設(shè)定關(guān)聯(lián)時段內(nèi)某個運行對象收發(fā)的報文與針對該運行對象的用戶操作關(guān)聯(lián)起來。由于一個用戶操作可能導(dǎo)致多個業(yè)務(wù)過程,例如發(fā)生頁面重定向等,而這些業(yè)務(wù)過程往往伴隨著顯示界面的變化和/或與網(wǎng)絡(luò)服務(wù)提供方之間的報文交互,當(dāng)截屏圖像不變并且在一定時間內(nèi)不再有流量發(fā)生時,可以認(rèn)為該用戶操作所觸發(fā)的流量已經(jīng)結(jié)束。
[0033]在一種實施方式中,可以進(jìn)一步對以請求-響應(yīng)模式進(jìn)行的業(yè)務(wù)過程中發(fā)生的流量進(jìn)行統(tǒng)計。請求-響應(yīng)模式的業(yè)務(wù)過程中,移動設(shè)備向網(wǎng)絡(luò)服務(wù)提供方發(fā)送請求報文;網(wǎng)絡(luò)服務(wù)提供方對該請求進(jìn)行響應(yīng),向移動設(shè)備回復(fù)響應(yīng)報文。對http類型的報文,移動設(shè)備向網(wǎng)絡(luò)服務(wù)提供方發(fā)送HTTP_GET請求或者HTTP_P0ST請求,網(wǎng)絡(luò)服務(wù)提供方回復(fù)HTTP響應(yīng);對socket類型的報文,移動設(shè)備向網(wǎng)絡(luò)服務(wù)提供方發(fā)送socket請求,網(wǎng)絡(luò)服務(wù)提供方回復(fù)socket響應(yīng)。可以將與某個用戶操作關(guān)聯(lián)的報文中同一業(yè)務(wù)過程的請求報文和響應(yīng)報文進(jìn)行匹配,由請求報文和對應(yīng)的響應(yīng)報文的大小來統(tǒng)計該業(yè)務(wù)過程的流量。
[0034]可以根據(jù)發(fā)生時間來進(jìn)行請求報文與響應(yīng)報文的匹配。具體而言,在與某個用戶操作關(guān)聯(lián)的報文中,將發(fā)送方和接收方相同、報文類型相同、尚未匹配的最早發(fā)出的請求報文與尚未匹配的最早接收的響應(yīng)報文進(jìn)行匹配。換言之,默認(rèn)同一個運行對象向同一個網(wǎng)絡(luò)服務(wù)提供方最早發(fā)出的請求報文將最先收到響應(yīng),則可以按照請求和響應(yīng)報文的發(fā)生時間來進(jìn)行配對。
[0035]還可以采用為請求報文添加標(biāo)記的方式來與響應(yīng)報文進(jìn)行更為準(zhǔn)確的匹配。具體而言,在移動設(shè)備發(fā)送的請求報文的預(yù)定字段中添加對應(yīng)于該請求報文的標(biāo)記;提取響應(yīng)報文的預(yù)定字段,將該響應(yīng)報文與具有相同標(biāo)記的請求報文進(jìn)行匹配。在移動設(shè)備發(fā)送請求報文前,在請求報文中的預(yù)定字段添加該請求報文的標(biāo)記,該標(biāo)記對應(yīng)于該請求報文并且能將該請求報文與其他請求報文區(qū)別開來。網(wǎng)絡(luò)服務(wù)提供方在收到該請求報文后,回復(fù)的響應(yīng)報文中將在預(yù)定字段攜帶該請求報文中的標(biāo)記。這樣,當(dāng)移動設(shè)備收到響應(yīng)報文后,通過預(yù)定字段的標(biāo)記即可識別這是對應(yīng)于哪個請求報文的響應(yīng)報文。
[0036]步驟140,由所關(guān)聯(lián)的報文的大小統(tǒng)計某個用戶操作所觸發(fā)的流量。
[0037]在將用戶操作與該用戶操作觸發(fā)的報文收發(fā)關(guān)聯(lián)起來后,這些關(guān)聯(lián)報文的總量即是該用戶操作觸發(fā)的流量。