如何在系统之间传递大数据

时间:2015-02-04 04:48:19

标签: python xml json protocol-buffers

我的定价数据以每小时生成的XML格式存储。如果存储为XML,则大小约为100MB。我需要将这些数据发送到我的主系统才能处理。将来,此数据大小也可能在1米内发送。

发送此数据的最佳方式是什么?到目前为止,我的想法是:

- It would be too large to send as JSON to a POST endpoint
- Possible to send it as XML and store it on my server

有更优化的方法吗?

2 个答案:

答案 0 :(得分:2)

正如迈克尔·安德森(Michael Anderson)的回答中所提到的,你可能只能在每个系统中发送变化的差异。

实现此目的的一种方法是引入诸如git之类的协议。

使用git,您可以:

  1. 在第一个系统上生成数据并推送到私人仓库
  2. 让您的第二个系统完成更改
  3. 这比每次拉动整个数据副本效率更高。

    它也会被压缩,并通过加密通道(取决于git服务器/服务)

答案 1 :(得分:1)

假设您已经使用Linux并且数据已经写入文件系统中的某个位置,为什么不在scp条目中执行简单的rsynccrontab

您可能希望在发送之前进行压缩,或在协议中启用压缩。

如果您的数据仅略有变化,您还可以尝试针对先前版本(使用diff生成)而不是整个数据发送补丁,然后在另一端重新生成。