【问题标题】:Apache Thrift - Compression of Matrix (float arrays) Data Structures?Apache Thrift - 矩阵(浮点数组)数据结构的压缩?
【发布时间】:2014-04-07 04:42:42
【问题描述】:

我正在尝试使用 Apache Thrift 将大量数字(矩阵数组)数据从 Linux 服务器发送到 Windows 客户端 (C#)。基本数据结构是一个二维浮点数组,它很可能是稀疏的。总的来说,数据集很大——比如千兆字节。

Thrift(使用 TBinaryProtocol 或 TCompactProtocol)是否在发送数据之前对其进行压缩?因为我正在尝试实时可视化数据的“切片”,所以速度很重要。我想知道在发送之前是否有压缩这些数据的方法?

谢谢!

【问题讨论】:

  • What have you tried? 如果您能告诉我们您尝试过什么,为什么没有成功,以及应该如何工作,我们可以帮助您回答您的问题
  • 目前,我只是使用 TBinaryProtocol。我应该通过 Lempel-Ziv 或“DEFLATE”方法等 3rd 方库压缩数据,然后通过 Thrift 发送吗?或者 Thrift 是否有任何自然的插件/扩展可以做到这一点?

标签: c# networking io thrift


【解决方案1】:

有一个TZlibTransport,遗憾的是它只适用于少数语言绑定,例如 C++。二进制和紧凑协议不压缩数据。

因此,您要么尝试为 C# 编写(贡献?)这样的传输,要么只是在前后压缩数据。

对于大型二进制数据,建议使用binary 而不是list<byte>,如果您还没有这样做的话。然而,如果矩阵是稀疏的,最好只通过线路发送非空单元格。这取决于你的情况。

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    相关资源
    最近更新 更多