日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種基于高分散哈希算法的數(shù)據(jù)采集策略方法及裝置的制造方法

文檔序號:9455964閱讀:792來源:國知局
一種基于高分散哈希算法的數(shù)據(jù)采集策略方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及移動互聯(lián)網領域,設計并實現(xiàn)了一種利用移動終端的高離散性性質,在非實時計算要求的數(shù)據(jù)采集系統(tǒng)中,降低服務器負載的方法及裝置。
【背景技術】
[0002]近年來,隨著移動互聯(lián)網的迅速發(fā)展,目前移動終端設備數(shù)量呈爆炸級的速度上升,從而帶來了移動應用數(shù)量的大規(guī)模增長,截止至2014年底,我國移動智能終端用戶規(guī)模達10.6億,較2013年增長231.7%,增速遠超全球同期市場。因此在這種終端設備越來越多的環(huán)境下,應用的運維人員急需了解自身應用的用戶每天到底在做哪些事情,急需對用戶的行為進行數(shù)據(jù)采集,以用來輔助App的運維決策。
[0003]目前在移動終端上進行數(shù)據(jù)采集主要依靠于在移動應用內嵌入一個采集裝置,通過調用此裝置提供的接口進行數(shù)據(jù)采集,但對于采集到用戶行為數(shù)據(jù),不同廠商的裝置會有不同的處理策略和方法,目前大致可以分成如下三種:
[0004]實時回傳策略方法,該策略方法優(yōu)點在于數(shù)據(jù)的實時性很強,用戶的行為數(shù)據(jù)在產生后立刻可以采集回系統(tǒng);缺陷在于大量的用戶數(shù)據(jù)會給數(shù)據(jù)采集后臺造成很大的負載壓力,系統(tǒng)不得不為實時性而進行擴容,以解決高并發(fā)帶來的負載問題。
[0005]啟動回傳策略方法,該策略主要將數(shù)據(jù)累計到一定的量才傳輸?shù)綌?shù)據(jù)采集系統(tǒng),回傳的時間點在應用啟動的時候或者是在應用關閉的時候,因此優(yōu)點是可以將少量的用戶操作進行合并,減少對系統(tǒng)的并發(fā)影響;缺陷在于系統(tǒng)壓力仍然有可能隨著接入終端數(shù)量的上升而上升,根據(jù)用戶的實際使用行為,并發(fā)有可能會集中在特定的幾個時間段爆發(fā)(如早上9點、中午12點、下午4點等時間),也對系統(tǒng)造成很大的負載,同時由于用戶的使用習慣不一樣,如應用有可能幾天才打開一次,因此可能會帶來數(shù)據(jù)很大的延時。
[0006]定時/延時回傳策略方法:一般服務器的空閑時間在凌晨時分,因此該策略方法采用了將回傳時間設置在這個時候,定時發(fā)送批量的采集數(shù)據(jù)到服務器,該策略好處在于能合理利用了服務器的空閑時間段;又或者采用隨機的回傳時間方法將數(shù)據(jù)回傳,但問題在于如果接入設備量大的情況下,仍然避免不了海量的請求引起服務器的負載過量。

【發(fā)明內容】

[0007]本發(fā)明的目的是提出一種基于高分散性哈希算法的移動數(shù)據(jù)采集回傳策略方法及裝置,在Android移動終端中應用,為移動用戶行為數(shù)據(jù)采集服務奠定基礎。
[0008]本發(fā)明提出的一種基于高分散性哈希算法的移動數(shù)據(jù)采集回傳策略方法及裝置,其特征包括如下:
[0009]—種基于高分散性哈希算法的移動數(shù)據(jù)采集回傳策略裝置,該裝置包括用戶行為采集模塊、時間種子生成器、哈?;貍鲿r間生成器、時間校正器、定時服務模塊、數(shù)據(jù)傳輸模塊、文件緩存模塊、后臺接收服務模塊;所述數(shù)據(jù)傳輸模塊由數(shù)據(jù)加密器組成;
[0010]文件緩存模塊包括傳輸計數(shù)器、啟動計數(shù)器、回傳時間模塊、用戶數(shù)據(jù)緩存模塊;
[0011]具體而言,用戶行為采集模塊與文件緩存模塊連接,文件緩存模塊與時間校正器、數(shù)據(jù)傳輸模塊連接;時間種子生成器與哈?;貍鲿r間生成器連接;哈?;貍鲿r間生成器、時間校正器與定時服務模塊連接;定時服務模塊與數(shù)據(jù)傳輸模塊相互交互;數(shù)據(jù)傳輸模塊與后臺接收服務模塊連接;哈?;貍鲿r間生成器與文件緩存模塊連接。
[0012]基于上述裝置的一種基于高分散性哈希算法的移動數(shù)據(jù)采集回傳策略方法,該方法通過如下步驟實現(xiàn):
[0013](I)通過植入在Android系統(tǒng)中的jar包裝置,在AndroidApp內通過用戶行為采集模塊采集用戶行為數(shù)據(jù),并把記錄的用戶數(shù)據(jù)通過http方式,加密后提交到后臺接收服務。
[0014](2)采集用戶行為數(shù)據(jù)利用生命周期事件及主動攔截方式進行采集,并送到App緩存中暫存起來。
[0015](3) Jar植入后,在App第一次啟動時,使用時間種子生成器生成設備的唯一標不,然后使用加密器對時間種子生成器生成的唯一標示進行加密處理;同時發(fā)起請求通知服務端設備信息,以后將不再通知。
[0016](4)將時間種子生成器生成的唯一標示加密結果使用哈?;貍鲿r間生成器進行處理計算,得到一個時間點,該時間點為每天該設備向服務端回傳數(shù)據(jù)的時間點,單位為秒,由植入程序進行管理。
[0017](5)植入程序在得到回傳數(shù)據(jù)的時間點后,啟動定時服務模塊的定時器在指定時間,讀取緩存的用戶行為數(shù)據(jù),以JSON形式的進行拼接,發(fā)動后臺服務,使用數(shù)據(jù)加密器對數(shù)據(jù)進行加密后回傳到服務端,回傳成功在計數(shù)器中記錄成功次數(shù),同時計算出回傳成功偏移量。
[0018](6)植入程序會對回傳時間生成器生成的時間點進行適度校正,校正的前提是如發(fā)現(xiàn)回傳數(shù)據(jù)不能及時處理,將使用時間校正模塊,基于回傳成功率對該時間點進行重新計算,得到新的回傳時間點。
[0019]所述步驟(3)中種子生成器采用基于MD5算法實現(xiàn),從android系統(tǒng)中獲取imei (有可能獲取不到)+mac地址,兩數(shù)值以字符串形式拼接后通過MD5算法加密,生成設備種子標示。
[0020]所述步驟(4)中,回傳時間生成器使用FNV-1算法對種子標示進行計算,首先生成32bit的結果,其中offset_basis和FNV_prime選擇中,F(xiàn)NV-1基礎偏移量offset_basis選擇為2166136261,32bitFNV_prime初始值為16777619,對輸入的種子標示的每一個字節(jié),先使用offset_basis乘以FNV_prime得到結果hash,然后將當前標示種子中取來的字節(jié)和當前的hash值做異或運算,如此循環(huán),直至標示種子按字節(jié)循環(huán)完畢得到最后的結果η。將得到的結果R,將結果η對86400取模,86400是通過將24小時轉成秒得到結果,結果η對86400取模后,得到一個整型的數(shù)N,該數(shù)據(jù)即為一天中的第N秒。
[0021]所述步驟(5)中定時器采用后臺服務形式定時運行,將步驟(4)獲取到的數(shù)據(jù)N定義為每天數(shù)據(jù)回傳的時間,發(fā)起請求時將JSON數(shù)據(jù)放在Http數(shù)據(jù)包的報文中,并使用加密模塊的DES對稱算法進行加密傳輸,每天只要傳輸成功,傳輸計數(shù)器自增長I,初始值為I;每天植入程序記錄啟動日,啟動日計數(shù)定義為當日啟動次數(shù)如大于等于1,,按I記錄至啟動計數(shù)器,初始值為I。一旦成功回傳后,將傳輸計數(shù)器與啟動計數(shù)器恢復初始值。
[0022]所述步驟(6)中的時間校正模塊,用于將回傳時間進行時間重新調配,調配發(fā)生時間在App啟動時,植入程序發(fā)起檢測,判斷是否需要校正時間,啟動條件如下:首先計算成功率,成功率=傳輸成功次數(shù)/啟動日數(shù),如果成功率小于50%,啟動校正。校正規(guī)則如下:第一次,使用86400減去回傳時間N(時間翻轉)得到NI,記入時間校正計數(shù)器X ;此后每次校正,計算I N’ - 3600*X I得到校正后時間NX,若NX>86400,對86400取模。目的是提取用戶的常連通服務器時間。
[0023]本發(fā)明與現(xiàn)有技術相比,具有以下明顯的優(yōu)勢和有益效果:
[0024]因為在對實時性要求不高的移動互聯(lián)網數(shù)據(jù)采集系統(tǒng)中,允許一定時間的延時(數(shù)據(jù)一天一算等)的前提下,本發(fā)明成為了一種適宜在這類系統(tǒng)上進行數(shù)據(jù)采集時降低服務器負載的方法,它利用高分散性哈希算法的天然特質,針對于在移動互聯(lián)網用戶行為采集方面使用,效果明顯。這樣將大量的設備發(fā)送請求進行了分散疏導,從終端這個層次去解決了大量設備接入問題,能夠很合理的利用服務器的資源情況,將其服務能力平均化,同時也可以將數(shù)據(jù)回傳的延時降到最低,實現(xiàn)系統(tǒng)的均衡、穩(wěn)定的目標。
【附圖說明】
[0025]圖1本發(fā)明所述實施實例的數(shù)據(jù)采集裝置結構框圖。
[0026]圖2本發(fā)明所述實施實例的生成數(shù)據(jù)回傳時間流程圖。
【具體實施方式】
[0027]本發(fā)明裝置整體中,用戶行為采集模塊提供軟件接口,供App調用,調用后將進行用戶行為的采集;時間種子生成器、哈希回傳時間生成器、時間校正器以及定時服務主要對用戶行為數(shù)據(jù)被采集后,使用本發(fā)明中的算法邏輯精確計算出數(shù)據(jù)上傳到后臺接收服務的時間點;數(shù)據(jù)傳輸模塊包括內含的數(shù)據(jù)加密器,主要用以將采集到用戶行為數(shù)據(jù)加密后通過https協(xié)議方式回傳至后臺接收服務。
[0028]以下結合說明書附圖對本發(fā)明的具體實施例加以說明。
[0029]請參閱圖1所示,為本發(fā)明的最佳實施案例提供的基于高分散哈希算法的數(shù)據(jù)采集策略方法的可植入式裝置。其包括以下步驟:
[0030]1、通過JAVA實現(xiàn)的jar包,供第三方應用進行植入,通過內置的用戶行為采集模塊,對設備的分辨率、品牌、型號、網絡類型、操作系統(tǒng)、操作系統(tǒng)版本號、識別碼、經瑋度、ip地址等進行收集,另外提供接口允許用戶采集使用App的情況:如點擊事件、閱讀、注冊、評論、分享等,此外通過自動捕獲技術獲取App內的錯誤情況;
[0031]2、將采集到的數(shù)據(jù)緩存在文件系統(tǒng)中;
[0032]3、App啟動過程中,生成回傳時間,并永久保存至文件緩存中,請參閱圖2所示:
[0033]a)如果是第一次啟動,將通過時間種子生成器生成如下種子標示:f9bl763c6dlc33cldf058d31898d895f,使用哈?;貍鲿r間生成器對種子標示進行計算處理,得到22536,即回傳時間點為06:15:36。
[0034]b)如果不是第一次啟動,將檢測傳輸成功率,如果傳輸成功率小于50%,那么需要較正,使用時間校正器對22536進行處理,處理結果如下:
[0035]1.如果是第一次進行處理那么,使用86400-22536 = 63864,即回傳時間為17:44:24。
[0036]i1.若非第一次校正,如第二次校正,則使用上述說明中辦法進行處理,63864-3600*1|mod 86400 = 60264,即 16:44:24。
[0037]c)使用AlarmManager定義延時鬧鈴,通過鬧鈴啟動Android Intent,延時時長根據(jù)上述計算時間與本地時間進行相減獲取。
[0038]4、定時服務時間到后,啟動數(shù)據(jù)傳輸模塊,同時
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1