2013-11-25 48 views
0

使用ZMQ传输数据时,传输端口速度快,数据量大,但接收端口处理速度慢,数据在两个进程间累积。有人知道如何解决这个问题吗?谢谢。从一个进程到另一个进程的ZMQ数据传输延迟?

+0

您想要在接收器非常慢的两个对等点之间传输大量数据?你使用哪种语言绑定? – raffian

+2

请提供更多关于你在做什么以及你如何实现它的细节。 –

回答

0

而不是一次发送所有数据,而是发送块。有些事情是这样的...

  • 客户端请求文件 'XYZ' 从服务器
  • 服务器,只有文件的大小,前回应:为10Mb
  • 客户端进行相应的设置块大小,例如:1024B
  • 客户端发送读取请求到服务器进行数据块:

    客户端 - >服务器:给我的文件“XYZ”
    服务器0到1023字节 - >客户端:1块
    客户端 - >服务器:给我1024到2047字节的文件'xyz'
    服务器 - >客户端:第二块
    ...等等。

  • 对于每个响应,客户端将块保存到磁盘。

该方法允许客户端节制数据从服务器传输的速率。另外,如果发生网络故障,由于每个块都被保留,所以不需要从头开始读取文件;客户端可以从最后一次响应失败之前的点开始请求更多的块。

您在语言绑定中没有提及任何内容,但是这种解决方案应该在几乎任何语言中实现都很简单。

相关问题