国产精品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>

      一種基于Flink自適應(yīng)窗口的事件時間處理方法及裝置與流程

      文檔序號:39620343發(fā)布日期:2024-10-11 13:38閱讀:9來源:國知局
      一種基于Flink自適應(yīng)窗口的事件時間處理方法及裝置與流程

      本發(fā)明涉及通信領(lǐng)域,尤其是一種基于flink自適應(yīng)窗口的事件時間處理方法及裝置。


      背景技術(shù):

      1、現(xiàn)有的技術(shù)方法是使用固定的滾動窗口的方式,存在的問題就是在流量不均勻的情況下,比如流量高峰,流量可能是低谷(凌晨時間段)的幾十倍,此時使用固定的滾動窗口的情況下會導(dǎo)致窗口內(nèi)積壓的數(shù)據(jù)量過大,不僅對內(nèi)存有較大的壓力,且計算的耗時比較久,導(dǎo)致數(shù)據(jù)積壓在flink窗口計算之前,從而出現(xiàn)數(shù)據(jù)的反壓,計算結(jié)果由此會產(chǎn)生較大的偏差,嚴(yán)重的時候還會導(dǎo)致內(nèi)存耗盡,服務(wù)假死等情況。

      2、使用flink實時流處理網(wǎng)絡(luò)流量數(shù)據(jù)的過程中,由于網(wǎng)絡(luò)流量數(shù)據(jù)的忽大忽小,對于flink窗口計算的性能存在較大的影響,而flink的性能問題直接導(dǎo)致了其反壓,最終造成了計算結(jié)果不準(zhǔn)確和計算滯后的不良后果。


      技術(shù)實現(xiàn)思路

      1、為解決現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種基于flink自適應(yīng)窗口的事件時間處理方法及裝置,根據(jù)實時的流量大小動態(tài)的去調(diào)整窗口的大小,避免不必要的資源浪費,從而達(dá)到flink計算耗時的動態(tài)平衡,保證系統(tǒng)的穩(wěn)定運行。

      2、為實現(xiàn)上述目的,本發(fā)明采用下述技術(shù)方案:

      3、在本發(fā)明一實施例中,提出了一種基于flink自適應(yīng)窗口的事件時間處理方法,該方法包括:

      4、s01、采用kafka作為實時流計算引擎的數(shù)據(jù)源,并以不同速率模擬網(wǎng)絡(luò)流量往kafka中生產(chǎn)netflow數(shù)據(jù);

      5、s02、定義自適應(yīng)窗口的調(diào)整規(guī)則,設(shè)置flink的fps處理閾值,定義最大窗口長度和最小窗口長度,fps大于閾值則縮小窗口,而fps小于閾值則增大窗口;

      6、進(jìn)一步地,所述窗口為滾動時間窗口。

      7、s03、構(gòu)建flink處理流程,建立輸入、窗口、處理、輸出模塊,初始窗口大小為最大窗口大??;

      8、s04、建立自適應(yīng)時間窗口觸發(fā)器實現(xiàn)類dynamicwindowsizetri?gger,繼承trigger類并重寫onelement和onprocessingtime方法,所述onelement方法邏輯為監(jiān)聽窗口事件的變化,及時調(diào)整窗口的大小,所述onprocessingtime方法邏輯為動態(tài)更新滾動窗口;

      9、進(jìn)一步地,所述onelement方法是在每次有事件進(jìn)入滾動時間窗口的觸發(fā),即每一條netflow數(shù)據(jù)進(jìn)入滾動時間窗口都會觸發(fā)該方法。

      10、進(jìn)一步地,所述s04包括:

      11、s041、自定義實現(xiàn)一個觸發(fā)器,實現(xiàn)觸發(fā)器接口的方法,并監(jiān)聽窗口事件的進(jìn)入;

      12、s042、對單位時間內(nèi)進(jìn)入窗口的數(shù)據(jù)進(jìn)行計數(shù);

      13、s043、累計一定時間段內(nèi)的事件數(shù)量,并與時間間隔相除得到單位時間的事件數(shù)量即fps;

      14、s044、將fps的數(shù)值與定義的處理閾值進(jìn)行比較,如果大于閾值,則適當(dāng)調(diào)小窗口,如果小于閾值則適當(dāng)調(diào)大窗口,來保證flink在單位時間內(nèi)處理事件的數(shù)量,讓業(yè)務(wù)平穩(wěn)運行。

      15、s05、啟動flink程序,以s01中所述的不同的速率向kafka中生產(chǎn)數(shù)據(jù),觀察窗口輸出間隔的變化。

      16、進(jìn)一步地,所述s05中窗口fps小于設(shè)置的閾值,窗口時間為設(shè)置的最大值,則保持當(dāng)前窗口執(zhí)行,不進(jìn)行調(diào)整。

      17、在本發(fā)明一實施例中,還提出了一種基于flink自適應(yīng)窗口的事件時間處理裝置,該裝置包括:

      18、數(shù)據(jù)模擬模塊,采用kafka作為實時流計算引擎的數(shù)據(jù)源,并以不同速率模擬網(wǎng)絡(luò)流量往kafka中生產(chǎn)netflow數(shù)據(jù);

      19、自適應(yīng)規(guī)則模塊,定義自適應(yīng)窗口的調(diào)整規(guī)則,設(shè)置flink的fps處理閾值,定義最大窗口長度和最小窗口長度,fps大于閾值則縮小窗口,而fps小于閾值則增大窗口;

      20、flink處理流程構(gòu)建模塊,建立輸入、窗口、處理、輸出模塊,初始窗口大小為最大窗口大??;

      21、觸發(fā)模塊,建立自適應(yīng)時間窗口觸發(fā)器實現(xiàn)類dynamicwindowsi?zetrigger,繼承trigger類并重寫onelement和onprocessingtime方法,所述onelement方法邏輯為監(jiān)聽窗口事件的變化,及時調(diào)整窗口的大小,所述onprocessingtime方法邏輯為動態(tài)更新滾動窗口;

      22、flink程序啟動模塊,以數(shù)據(jù)模擬模塊中所述的不同的速率向kafka中生產(chǎn)數(shù)據(jù),觀察窗口輸出間隔的變化。

      23、在本發(fā)明一實施例中,還提出了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)前述基于flink自適應(yīng)窗口的事件時間處理方法。

      24、在本發(fā)明一實施例中,還提出了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有執(zhí)行基于flink自適應(yīng)窗口的事件時間處理方法的計算機程序。

      25、有益效果:

      26、本發(fā)明一種基于flink自適應(yīng)窗口的事件時間處理方法及裝置,通過實時監(jiān)測數(shù)據(jù)流的特性,如元素數(shù)量、數(shù)據(jù)分布等,動態(tài)調(diào)整窗口大小,使系統(tǒng)能夠更靈活地適應(yīng)不同的數(shù)據(jù)流模式,提高了處理性能;引入了事件時間處理的概念,根據(jù)數(shù)據(jù)流中的事件時間戳而非數(shù)據(jù)進(jìn)入系統(tǒng)的時間戳進(jìn)行處理,這一特性增強了系統(tǒng)對亂序事件的容忍性,提高了數(shù)據(jù)處理的準(zhǔn)確性,尤其適用于需要考慮數(shù)據(jù)產(chǎn)生時間的場景。



      技術(shù)特征:

      1.一種基于flink自適應(yīng)窗口的事件時間處理方法,其特征在于,該方法包括:

      2.根據(jù)權(quán)利要求1所述的基于flink自適應(yīng)窗口的事件時間處理方法,其特征在于,所述窗口為滾動時間窗口。

      3.根據(jù)權(quán)利要求1所述的基于flink自適應(yīng)窗口的事件時間處理方法,其特征在于,所述onelement方法的觸發(fā)機制為:有事件進(jìn)入滾動時間窗口觸發(fā),即每一條netflow數(shù)據(jù)進(jìn)入滾動時間窗口都會觸發(fā)該方法。

      4.根據(jù)權(quán)利要求1所述的基于flink自適應(yīng)窗口的事件時間處理方法,其特征在于,所述s04包括:

      5.根據(jù)權(quán)利要求1所述的基于flink自適應(yīng)窗口的事件時間處理方法,其特征在于,所述s05中窗口fps小于設(shè)置的閾值,窗口時間為設(shè)置的最大值,則保持當(dāng)前窗口執(zhí)行,不進(jìn)行調(diào)整。

      6.一種基于flink自適應(yīng)窗口的事件時間處理裝置,其特征在于,該裝置包括:

      7.一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1-5任一項所述方法。

      8.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有執(zhí)行權(quán)利要求1-5任一項所述方法的計算機程序。


      技術(shù)總結(jié)
      本發(fā)明公開一種基于Flink自適應(yīng)窗口的事件時間處理方法及裝置,其中方法包括:S01、采用kafka作為實時流計算引擎的數(shù)據(jù)源,并以不同速率模擬網(wǎng)絡(luò)流量往kafka中生產(chǎn)netflow數(shù)據(jù);S02、定義自適應(yīng)窗口的調(diào)整規(guī)則,設(shè)置Flink的fps處理閾值,定義最大窗口長度和最小窗口長度;S03、構(gòu)建Flink處理流程;S04、建立自適應(yīng)時間窗口觸發(fā)器實現(xiàn)類DynamicWindowSizeTrigger,繼承Trigger類并重寫onElement和onProcessingTime方法;S05、啟動Flink程序,以S01中所述的不同的速率向kafka中生產(chǎn)數(shù)據(jù),觀察窗口輸出間隔的變化。本發(fā)明一種基于Flink自適應(yīng)窗口的事件時間處理方法及裝置,根據(jù)實時的流量大小動態(tài)的去調(diào)整窗口的大小,避免不必要的資源浪費,從而達(dá)到Flink計算耗時的動態(tài)平衡,保證系統(tǒng)的穩(wěn)定運行。

      技術(shù)研發(fā)人員:陳天瑤
      受保護(hù)的技術(shù)使用者:中盈優(yōu)創(chuàng)資訊科技有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/10/10
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1