2013-11-25 46 views
0

使用ZMQ傳輸數據時,傳輸端口速度快,數據量大,但接收端口處理速度慢,數據在兩個進程間累積。有人知道如何解決這個問題嗎?謝謝。從一個進程到另一個進程的ZMQ數據傳輸延遲?

+0

您想要在接收器非常慢的兩個對等點之間傳輸大量數據?你使用哪種語言綁定? – raffian

+2

請提供更多關於你在做什麼以及你如何實現它的細節。 –

回答

0

而不是一次發送所有數據,而是發送塊。有些事情是這樣的...

  • 客戶端請求文件 'XYZ' 從服務器
  • 服務器,只有文件的大小,前回應:爲10Mb
  • 客戶端進行相應的設置塊大小,例如:1024B
  • 客戶端發送讀取請求到服務器進行數據塊:

    客戶端 - >服務器:給我的文件「XYZ」
    服務器0到1023字節 - >客戶端:1塊
    客戶端 - >服務器:給我1024到2047字節的文件'xyz'
    服務器 - >客戶端:第二塊
    ...等等。

  • 對於每個響應,客戶端將塊保存到磁盤。

該方法允許客戶端節制數據從服務器傳輸的速率。另外,如果發生網絡故障,由於每個塊都被保留,所以不需要從頭開始讀取文件;客戶端可以從最後一次響應失敗之前的點開始請求更多的塊。

您在語言綁定中沒有提及任何內容,但是這種解決方案應該在幾乎任何語言中實現都很簡單。

相關問題