數(shù)據(jù)跟蹤系統(tǒng)與方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及數(shù)據(jù)跟蹤系統(tǒng)與方法,具體涉及一種基于傳輸控制協(xié)議(Transmiss1n Control Protocol, TCP)的數(shù)據(jù)跟蹤系統(tǒng)與方法。
【背景技術(shù)】
[0002]移動(dòng)互聯(lián)網(wǎng)的發(fā)展使我們的生活進(jìn)入了更高層次的移動(dòng)信息化時(shí)代。移動(dòng)應(yīng)用作為移動(dòng)互聯(lián)網(wǎng)時(shí)代的產(chǎn)物,也正在迅速崛起,并逐漸深入到我們生活的方方面面,并扮演者愈來愈重要的角色。
[0003]一般為了了解用戶的需求,或者取得應(yīng)用程式的狀態(tài),應(yīng)用程式會(huì)通知用戶是否同意把終端的運(yùn)行信息數(shù)據(jù)上傳服務(wù)器。目前數(shù)據(jù)收集采用了 HTTP REST方式。REST全名是Representat1nal State Transfer)是一種分散式超媒體系統(tǒng)(如WWW)的軟體架構(gòu)風(fēng)格。位于客戶端的終端通過發(fā)送HTTP請(qǐng)求的方法將數(shù)據(jù)上報(bào)到REST服務(wù)器。
[0004]使用HTTP協(xié)議傳輸數(shù)據(jù)存在一些問題。例如,使用HTTP協(xié)議的數(shù)據(jù)傳輸過程的容易有噪音,因此無形之中就增加了流量,浪費(fèi)了用戶流量,特別是移動(dòng)手機(jī)用戶的付費(fèi)流量。此外,過多的數(shù)據(jù)也會(huì)占用終端的系統(tǒng)負(fù)載、內(nèi)存或者增加耗電量。
[0005]另一個(gè)比較較嚴(yán)重的問題是,如果終端所連接的網(wǎng)絡(luò)狀態(tài)不穩(wěn)定,那么傳遞數(shù)據(jù)的失敗率會(huì)偏高。
[0006]數(shù)據(jù)的傳輸也可以用加密的方式來進(jìn)行,受到SSL保護(hù)的網(wǎng)址會(huì)以https作為開頭,而不是http,因此會(huì)將SSL稱為“HTTPS”。因此,在在數(shù)據(jù)加密的情況下,由于搭載了加密信息導(dǎo)致了所需要的傳送的數(shù)據(jù)量變多,進(jìn)而導(dǎo)致HTTPS的代價(jià)較高。
[0007]因此,如何提供一種數(shù)據(jù)跟蹤系統(tǒng),以減少信息的傳輸量,進(jìn)而降低數(shù)據(jù)跟蹤系統(tǒng)運(yùn)行時(shí)的系統(tǒng)負(fù)載或者電池電量,成為了亟待解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0008]本申請(qǐng)所要解決的技術(shù)問題在于提供一種數(shù)據(jù)跟蹤系統(tǒng),以減少信息的傳輸量,進(jìn)而降低數(shù)據(jù)跟蹤系統(tǒng)運(yùn)行時(shí)的系統(tǒng)負(fù)載或者電池電量。
[0009]為了解決上述問題,本申請(qǐng)揭示了一種數(shù)據(jù)跟蹤系統(tǒng),包括第一用戶端模塊,運(yùn)行于終端中,通過配置的應(yīng)用程序編程接口接收所述終端需要傳送的信息,其中所述信息是以符合TCP協(xié)議的方式編碼;第二用戶端模塊,運(yùn)行于所述終端中,用于收集所述終端之系統(tǒng)環(huán)境信息并接收所述第一用戶端模塊傳送的所述需要傳送的信息,于每隔預(yù)定周期傳送所述需要傳送的信息或所述終端的系統(tǒng)環(huán)境信息,所述系統(tǒng)環(huán)境信息是以符合TCP協(xié)議的方式編碼;至少一 TCP服務(wù)器,用于接收并處理所述所述第二模塊傳送的所述需要傳送的信息或系統(tǒng)環(huán)境信息。
[0010]本申請(qǐng)更揭示了一種數(shù)據(jù)跟蹤方法,包括:通過應(yīng)用程序編程接口接收終端需要傳送的信息,其中所述信息是以符合TCP協(xié)議的方式編碼;收集所述終端之系統(tǒng)環(huán)境信息,所述系統(tǒng)環(huán)境信息是以符合TCP協(xié)議的方式編碼;每隔預(yù)定周期傳送所述需要傳送的信息或所述終端的系統(tǒng)環(huán)境信息。
[0011]與現(xiàn)有技術(shù)相比,本申請(qǐng)所揭示的數(shù)據(jù)跟蹤系統(tǒng)與方法可以獲得包括以下技術(shù)效果:
[0012]I)采用TCP協(xié)議代替HTTP協(xié)議,該方案將有效減少數(shù)據(jù)傳輸?shù)牧髁?,進(jìn)而節(jié)省用戶流量。因此終端系統(tǒng)負(fù)載明顯降低。此外由于數(shù)據(jù)傳輸量減少,因此電池消耗也明顯減少。
[0013]2)由于數(shù)據(jù)傳輸量減少終端可以快速的將數(shù)據(jù)上傳到服務(wù)器端
[0014]3)在終端處于移動(dòng)狀態(tài)時(shí),使用TCP數(shù)據(jù)傳輸明顯要比HTTP穩(wěn)定很多。
[0015]4)當(dāng)網(wǎng)絡(luò)環(huán)境不利于數(shù)據(jù)傳輸時(shí),本申請(qǐng)揭示的系統(tǒng)或方法可以先將所收集到的數(shù)據(jù)存儲(chǔ)于終端中,以便于網(wǎng)絡(luò)環(huán)境利于數(shù)據(jù)傳輸時(shí)重傳
[0016]當(dāng)然,以上技術(shù)效果并不一定要同時(shí)達(dá)成。
【附圖說明】
[0017]此處所說明的附圖用來提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0018]圖1為本申請(qǐng)實(shí)施例的數(shù)據(jù)跟蹤系統(tǒng)的系統(tǒng)示意圖;
[0019]圖2為本申請(qǐng)實(shí)施例的數(shù)據(jù)跟蹤方法的流程圖。
【具體實(shí)施方式】
[0020]以下將配合附圖及實(shí)施例來詳細(xì)說明本申請(qǐng)的實(shí)施方式,藉此對(duì)本申請(qǐng)如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。
[0021]如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來稱呼同一個(gè)組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0022]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
[0023]本申請(qǐng)所揭示的數(shù)據(jù)跟蹤系統(tǒng)與方法,應(yīng)用于用戶端的終端以收集終端的數(shù)據(jù)。所述的終端例如個(gè)人電腦、移動(dòng)電腦、電視、移動(dòng)電話等等,或者智能汽車,或者配置有智能功能的電子裝置。這些終端所運(yùn)行的作業(yè)系統(tǒng)可以是安卓(Android)或者1S作業(yè)系統(tǒng)。
[0024]參考圖1,為本申請(qǐng)揭示的數(shù)據(jù)跟蹤系統(tǒng)的系統(tǒng)架構(gòu)圖。所揭示的數(shù)據(jù)跟蹤系統(tǒng)包括第一用戶端模塊110與第二用戶端模塊120。
[0025]在圖1所示意的系統(tǒng)架構(gòu)中,第一用戶端模塊110,運(yùn)行于終端100中,配置應(yīng)用程序編程接口(Applicat1n Programming Interface,API),通過所述應(yīng)用程序編程接口接收所述終端需要傳送的信息,其中所述信息是以符合TCP協(xié)議的方式編碼。第二用戶端模塊120,也運(yùn)行于所述終端100中,用于收集所述終端之系統(tǒng)環(huán)境信息并接收所述第一用戶端模塊傳送的所述終端的信息,所述系統(tǒng)環(huán)境信息是以符合TCP協(xié)議的方式編碼。其中第二用戶端模塊120每隔預(yù)定周期傳送所述終端需要傳送的信息或所述終端的系統(tǒng)環(huán)境信息。
[0026]符合TCP協(xié)議的方式編碼說明如下。將信息以區(qū)分兩部分,包括信息頭與信息體。信息的長(zhǎng)度,舉例來說,信息頭是5字節(jié),其中I字節(jié)是信息類型,值域在[0,255],后4個(gè)字節(jié)是信息體的長(zhǎng)度,編碼方式是大尾(網(wǎng)絡(luò)字節(jié)順序big-endian)。信息體邏輯上由若干key:value對(duì)組成,key是字符串,value根據(jù)key的不同有不同類型,比如整數(shù)、字符串、浮點(diǎn)數(shù)等。消息體整體采用protocol buffers編碼。
[0027]在終端使用安卓(Android)作業(yè)系統(tǒng)的實(shí)施例中,第一用戶端模塊100與第二用戶端模塊200