我有一个数据结构我想广播到网络上供其他人免费下载。该数据结构包含有关其他网络参与者也在运行的程序中使用的更复杂数据结构的信息。
对这些数据进行编码以减少通过线路传输的开销的最佳方法是什么?
例如,“完整”数据结构将如下所示:
fullData = array(
0 => array(1, 2, 3, 4, 77, 6),
1 => array(89, 2, 3, 4, 5, 6),
2 => array(1, 2, 3, 4, 5, 6),
3 => array(102, 22, 16, 4, 5, 6),
4 => array(1, 2, 55, 4, 5, 27)...
...等等等等。
我广播的数据本质上是这个数组中“重要”数据的索引——所以网络上的“轻量级”节点不负责解析千兆字节的数据以寻找重要信息——我的“主”程序就是这样做的为他们。但是我需要向网络报告“重要”数据,所以我正在考虑对这样的数组进行编码:
importantData = array(
0 => array(4),
1 => array(0),
3 => array(0, 1, 2),
4 => array(2, 5)...
...等等等等。
JSON 是一种对这些数据进行编码和发送的好方法吗?我想尽可能多地节省传输成本,除非另一个参数在磁盘空间或 CPU 周期方面成本更高(在我的服务器以及其他节点上)。我怎样才能确定我以正确的方式解决这个问题?