多くのネットフロー データが(i.e src_ip, dest_ip, beg_time, end_time, data_size, etc)
あり、そのうちのいくつかは定期的に発生しており、調べたいと思っています。
n 個のネットフロー (おそらく 10^6 前後) があり、そのうちのm 個が定期的であると考えてください。どれが周期的であるかをどのように見つけることができますか?
私はコードを書くことができますが、それは少なくとも O(n^3 logn) になり、10^4 数のネットフローの後に永遠にかかります。
私はそれについて検索しましたが、何も見つかりませんでした。
注: データは開始時刻に従ってソートされ、開始時刻は 32 ビット符号なし int (c++ では uint32) であると考えることができます。
訂正:src_ip
一意であり、一意でdest_ip
はなく、time for periodicity
不明です。5分かもしれないし、5日かもしれない。src_ip, dest_ip, end_time, data_size
フローのその他の属性を忘れることができます。開始時刻が周期的であり、考慮できるイベントのみを探しています。さまざまな src_ip のように無関係なイベントを除外しました...
どんな助けでも大歓迎です、
ありがとう