国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于異或運(yùn)算的流計算跟蹤方法及系統(tǒng)的制作方法

      文檔序號:9420198閱讀:419來源:國知局
      一種基于異或運(yùn)算的流計算跟蹤方法及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種基于異或運(yùn)算的流計算跟蹤方法及系統(tǒng)。
      【背景技術(shù)】
      [0002]流數(shù)據(jù)是一組順序、大量、快速、連續(xù)到達(dá)的數(shù)據(jù)序列,一般情況下,數(shù)據(jù)流可被視為一個隨時間延續(xù)而無限增長的動態(tài)數(shù)據(jù)集合。應(yīng)用于網(wǎng)絡(luò)監(jiān)控、傳感器網(wǎng)絡(luò)、航空航天、氣象測控和金融服務(wù)等領(lǐng)域。
      [0003]流數(shù)據(jù)具有四個特點(diǎn):
      [0004]I)數(shù)據(jù)實(shí)時到達(dá);
      [0005]2)數(shù)據(jù)到達(dá)次序獨(dú)立,不受應(yīng)用系統(tǒng)所控制;
      [0006]3)數(shù)據(jù)規(guī)模宏大且不能預(yù)知其最大值;
      [0007]4)數(shù)據(jù)一經(jīng)處理,除非特意保存,否則不能被再次取出處理,或者再次提取數(shù)據(jù)代價昂貴。
      [0008]過去的網(wǎng)絡(luò)服務(wù)提供商主要用傳統(tǒng)的網(wǎng)絡(luò)流量監(jiān)控方法,就是采用離線分析,SP先保存,在對其進(jìn)行數(shù)據(jù)挖掘等處理。但實(shí)際中的一些需求是:用戶要知道當(dāng)前網(wǎng)絡(luò)中的流量現(xiàn)狀。進(jìn)而根據(jù)當(dāng)前狀況采取可以提高服務(wù)性能的有利措施或者對有害行為進(jìn)行預(yù)警等。而要在監(jiān)控對象是實(shí)時、大量流數(shù)據(jù)的前提下,實(shí)現(xiàn)以上的需求,傳統(tǒng)的方法是不合適的。

      【發(fā)明內(nèi)容】

      [0009]本發(fā)明所要解決的技術(shù)問題是提供一種基于異或運(yùn)算的基本原理,通過對流數(shù)據(jù)進(jìn)行數(shù)據(jù)標(biāo)記,增加跟蹤器,來達(dá)到監(jiān)控整個數(shù)據(jù)流是否被完全處理的目的基于異或運(yùn)算的流計算跟蹤方法及系統(tǒng)。
      [0010]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于異或運(yùn)算的流計算跟蹤方法,具體包括以下步驟:
      [0011]步驟1:流生成器生成一個流數(shù)據(jù),并為所述流數(shù)據(jù)匹配一個唯一對應(yīng)的rootid,對所述流數(shù)據(jù)進(jìn)行處理,生成至少兩個子流數(shù)據(jù)和母id ;
      [0012]步驟2:將rootid和母id發(fā)送到流跟蹤器,并將所有子流數(shù)據(jù)分別發(fā)送到不同的流處理器中,同時將rootid發(fā)送到每個流處理器中;
      [0013]步驟3:按序選取一個流處理器作為當(dāng)前流處理器,將傳輸?shù)疆?dāng)前流處理器中的所有子流數(shù)據(jù)進(jìn)行處理生成新數(shù)據(jù),將新數(shù)據(jù)傳輸至下一個流處理器,同時將子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得第一子id,將rootid和第一子id發(fā)送到流跟蹤器;
      [0014]步驟4:流跟蹤器將母id與第一子id做異或運(yùn)算,得到第一跟蹤id ;
      [0015]步驟5:將接收新數(shù)據(jù)的下一個流處理器作為當(dāng)前流處理器;
      [0016]步驟6:將傳輸?shù)疆?dāng)前流處理器中的所有新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行處理生成更新數(shù)據(jù),將更新數(shù)據(jù)傳輸至下一個流處理器,同時將新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得當(dāng)前子id,將rootid和當(dāng)前子id發(fā)送到流跟蹤器;
      [0017]步驟7:流跟蹤器將第一跟蹤id與當(dāng)前子id做異或運(yùn)算,得到當(dāng)前跟蹤id,判斷當(dāng)前跟蹤id是否為零,如果是,執(zhí)行步驟8 ;否則,將更新數(shù)據(jù)作為新數(shù)據(jù)傳輸至下一個流處理器,執(zhí)行步驟5;
      [0018]步驟8:當(dāng)前更新數(shù)據(jù)為空,對應(yīng)所述rootid的流數(shù)據(jù)處理完成。
      [0019]本發(fā)明的有益效果是:本發(fā)明通過對數(shù)據(jù)增加跟蹤器,進(jìn)行數(shù)據(jù)標(biāo)記,通過簡單的異或運(yùn)算,解決了流數(shù)據(jù)處理中數(shù)據(jù)是否在制定的時間內(nèi)完全被處理的難題。本發(fā)明運(yùn)算量小,速度快,思路簡單巧妙,可用于所有流計算處理平臺。
      [0020]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
      [0021]進(jìn)一步,所述rootid將傳遞到流數(shù)據(jù)跟蹤器以及每一個流處理器,用于作為所述流數(shù)據(jù)的唯一標(biāo)識。
      [0022]進(jìn)一步,所述流跟蹤器可同時處理多個流數(shù)據(jù),當(dāng)同時處理多個流數(shù)據(jù)時,將rootid作為唯一標(biāo)識識別是否為同一流數(shù)據(jù)。
      [0023]進(jìn)一步,所述母id和所有子id采用64位整數(shù)進(jìn)行表示。
      [0024]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于異或運(yùn)算的流計算跟蹤系統(tǒng),包括生成模塊、發(fā)送模塊、處理模塊、運(yùn)算模塊、設(shè)定模塊、更新模塊和判斷模塊;
      [0025]所述生成模塊用于流生成器生成一個流數(shù)據(jù),并為所述流數(shù)據(jù)匹配一個唯一對應(yīng)的rootid,對所述流數(shù)據(jù)進(jìn)行處理,生成至少兩個子流數(shù)據(jù)和母id ;
      [0026]所述發(fā)送模塊用于將rootid和母id發(fā)送到流跟蹤器,并將所有子流數(shù)據(jù)分別發(fā)送到不同的流處理器中,同時將rootid發(fā)送到每個流處理器中;
      [0027]所述處理模塊用于按序選取一個流處理器作為當(dāng)前流處理器,將傳輸?shù)疆?dāng)前流處理器中的所有子流數(shù)據(jù)進(jìn)行處理生成新數(shù)據(jù),將新數(shù)據(jù)傳輸至下一個流處理器,同時將子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得第一子id,將rootid和第一子id發(fā)送到流跟蹤器;
      [0028]所述運(yùn)算模塊用于流跟蹤器將母id與第一子id做異或運(yùn)算,得到第一跟蹤id ;
      [0029]所述設(shè)定模塊用于將接收新數(shù)據(jù)的下一個流處理器作為當(dāng)前流處理器;
      [0030]所述更新模塊用于將傳輸?shù)疆?dāng)前流處理器中的所有新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行處理生成更新數(shù)據(jù),將更新數(shù)據(jù)傳輸至下一個流處理器,同時將新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得當(dāng)前子id,將rootid和當(dāng)前子id發(fā)送到流跟蹤器;
      [0031]所述判斷模塊用于流跟蹤器將第一跟蹤id與當(dāng)前子id做異或運(yùn)算,得到當(dāng)前跟蹤id,判斷當(dāng)前跟蹤id是否為零,如果是,當(dāng)前更新數(shù)據(jù)為空,對應(yīng)所述rootid的流數(shù)據(jù)處理完成;否則,將更新數(shù)據(jù)作為新數(shù)據(jù)傳輸至下一個流處理器,觸發(fā)設(shè)定模塊。
      [0032]本發(fā)明的有益效果是:本發(fā)明通過對數(shù)據(jù)增加跟蹤器,進(jìn)行數(shù)據(jù)標(biāo)記,通過簡單的異或運(yùn)算,解決了流數(shù)據(jù)處理中數(shù)據(jù)是否在制定的時間內(nèi)完全被處理的難題。本發(fā)明運(yùn)算量小,速度快,思路簡單巧妙,可用于所有流計算處理平臺。
      [0033]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
      [0034]進(jìn)一步,所述rootid將傳遞到流數(shù)據(jù)跟蹤器以及每一個流處理器,用于作為所述流數(shù)據(jù)的唯一標(biāo)識。
      [0035]進(jìn)一步,所述流跟蹤器可同時處理多個流數(shù)據(jù),當(dāng)同時處理多個流數(shù)據(jù)時,將rootid作為唯一標(biāo)識識別是否為同一流數(shù)據(jù)。
      [0036]進(jìn)一步,所述母id和所有子id采用64位整數(shù)進(jìn)行表示。
      [0037]在流數(shù)據(jù)處理系統(tǒng)中,每一個生成流數(shù)據(jù)的數(shù)據(jù)生成器會給生成的每一條數(shù)據(jù)對應(yīng)一個64位的整數(shù),作為rootid,rootid會傳遞給流數(shù)據(jù)跟蹤器以及每一個流數(shù)據(jù)器來作為該數(shù)據(jù)的唯一標(biāo)示。同時,無論是流數(shù)據(jù)生成器還是處理器,當(dāng)他基于輸入的數(shù)據(jù)有產(chǎn)生一個新的數(shù)據(jù)時,都會賦予新數(shù)據(jù)一個64位的整數(shù)id。當(dāng)數(shù)據(jù)生成器將數(shù)據(jù)傳遞給數(shù)據(jù)處理器的時候,會告知數(shù)據(jù)跟蹤器自己發(fā)送數(shù)據(jù)的rootid和生成的數(shù)據(jù)id,而數(shù)據(jù)處理器每次接收到一個數(shù)據(jù)并且處理完畢后,會告知數(shù)據(jù)跟蹤器自己處理的輸入數(shù)據(jù)的id和新生成的數(shù)據(jù)的id。數(shù)據(jù)跟蹤器只要對這些id做一個簡單的異或運(yùn)算,就能判斷出該rootid對應(yīng)的數(shù)據(jù)是否處理完畢。
      [0038]本發(fā)明數(shù)學(xué)原理:
      [0039]A xor A = 0.
      [0040]A xor B…xor B xor A = 0,其中每一個操作數(shù)出現(xiàn)且僅出現(xiàn)兩次;
      [0041]xor代表異或運(yùn)算。
      【附圖說明】
      [0042]圖1為本發(fā)明所述的一種基于異或運(yùn)算的流計算跟蹤方法流程圖;
      [0043]圖2為本發(fā)明所述的一種基于異或運(yùn)算的流計算跟蹤系統(tǒng)結(jié)構(gòu)框圖;
      [0044]圖3為本發(fā)明具體實(shí)施例2的流生成器的數(shù)據(jù)流向圖;
      [0045]圖4為本發(fā)明具體實(shí)施例2的流處理器的數(shù)據(jù)流向圖;
      [0046]圖5為本發(fā)明具體實(shí)施例2的另一個流生成器的數(shù)據(jù)流向圖;
      [0047]圖6為本發(fā)明具體實(shí)施例2的第三個流生成器的數(shù)據(jù)流向圖。
      [0048]附圖中,各標(biāo)號所代表的部件列表如下:
      [0049]1、生成模塊,2、發(fā)送模塊,3、處理模塊,4、運(yùn)算模塊,5、設(shè)定模塊,6、更新模塊,7、
      判斷模塊。
      【具體實(shí)施方式】
      [0050]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
      [0051]如圖1所示,為本發(fā)明所述的一種基于異或運(yùn)算的流計算跟蹤方法,具體包括以下步驟:
      [0052]步驟1:流生成器生成一個流數(shù)據(jù),并為所述流數(shù)據(jù)匹配一個唯一對應(yīng)的rootid,對所述流數(shù)據(jù)進(jìn)行處理,生成至少兩個子流數(shù)據(jù)和母id ;
      [0053]步驟2:將rootid和母id發(fā)送到流跟蹤器,并將所有子流數(shù)據(jù)分別發(fā)送到不同的流處理器中,同時將rootid發(fā)送到每個流處理器中;
      [0054]步驟3:按序選取一個流處理器作為當(dāng)前流處理器,將傳輸?shù)疆?dāng)前流處理器中的所有子流數(shù)據(jù)進(jìn)行處理生成新數(shù)據(jù),將新數(shù)據(jù)傳輸至下一個流處理器,同時將子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得第一子id,將rootid和第一子id發(fā)送到流跟蹤器;
      [0055]步驟4:流跟蹤器將母id與第一子id做異或運(yùn)算,得到第一跟蹤id ;
      [0056]步驟5:將接收新數(shù)據(jù)的下一個流處理器作為當(dāng)前流處理器;
      [0057]步驟6:將傳輸?shù)疆?dāng)前流處理器中的所有新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行處理生成更新數(shù)據(jù),將更新數(shù)據(jù)傳輸至下一個流處理器,同時將新數(shù)據(jù)和/或子流數(shù)據(jù)進(jìn)行異或運(yùn)算獲得當(dāng)前子id,將rootid和當(dāng)前子id發(fā)送到流跟蹤器;
      [0058]步驟7:流跟蹤器將第一跟蹤id與當(dāng)前子id做異或運(yùn)算,得到當(dāng)前跟蹤id,判斷當(dāng)前跟蹤id是否為零,如果是,執(zhí)行步驟8 ;否則,將更新數(shù)據(jù)作為新數(shù)據(jù)傳輸至下一個流處理器,執(zhí)行步驟5;
      [0059]步驟8:當(dāng)前更新數(shù)據(jù)為空,對應(yīng)所述rootid的流數(shù)據(jù)處理完成。
      [0060]所述rootid將傳遞到流數(shù)據(jù)跟蹤器以及每一個流處理器,用于作為所述流數(shù)據(jù)的唯一標(biāo)識。
      [0061]所述流跟蹤器可同時處理多個流數(shù)據(jù),當(dāng)同時處理多個流數(shù)據(jù)時,將rootid作為唯一標(biāo)識識別是否為同一流數(shù)據(jù)。
      [0062]所述母id和所有子id采用64位整數(shù)進(jìn)行表示。
      [0063]如圖2所示,為
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1