我有一个数据结构,我想广播到网络,供其他人免费下载。此数据结构保存有关其他网络参与者也在运行的程序中使用的更复杂数据结构的信息。
对这些数据进行编码的最佳方法是什么,以减少通过线路传输的开销?
例如,“完整”数据结构将如下所示:
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周期(在我的服务器以及其他节点上)另一个参数成本更高。我怎么能确定我是以正确的方式解决这个问题?