2012-08-09 30 views
2

我工作的一個項目,我們就可以有100 Mbps的輸入數據流處理數據。如何處理100 Mbps的輸入流時,我的程序只能在1 Mbps的速率

我的程序可以在一夜之間用於捕捉這些數據,因此會產生大量的數據文件。我解釋這些數據的程序邏輯非常複雜,每秒只能處理1 Mb數據。

我們還轉儲字節得到處理後,一些日誌文件。我們不想丟失任何傳入的數據,同時希望我的程序能夠實時工作。我們正在維護一個像緩存一樣的循環緩衝區。

現在只迷路保存輸入數據的方式是增加該緩衝區的大小。

請提出更好的辦法來做到這一點,還什麼是緩存的另一種方法,我可以試試嗎?

+0

我想你的意思是100 Mbps的(100兆比特每秒)不是100(每秒100個millibits)? – 2012-08-09 10:43:39

+0

@Paul是的,它是每秒100兆比特。我糾正了這個問題。 – learningstack 2012-08-09 10:50:41

回答

3

將輸入流式傳輸到文件。真的,沒有別的選擇。它的速度超過了你的處理速度。

您可以每秒創建一個文件的輸入數據。這樣,當新文件在磁盤上進行流式傳輸時,您可以直接開始處理舊文件。

+0

像一個緩衝區?多線程? – 2012-08-09 10:45:55

+0

@tuğrulbüyükışık,這將是有道理的。由於數據量很大,OP需要流式傳輸到磁盤。 – usr 2012-08-09 10:50:22

+0

我認爲文件會降低性能。所以,我想用一些緩存來處理它。我知道如果我們一直以相同的速度獲取數據,傳入的數據將會丟失。但有可能傳入的數據速度不會始終如此高。 – learningstack 2012-08-09 10:53:03

相關問題