在嵌入式设备上序列化和同步数据

时间:2009-06-23 15:24:30

标签: c++ networking serialization synchronization embedded

在我的嵌入式项目中,我必须在两个系统之间移动(同步)数据。 数据结构很复杂,因此需要一些快速的实用程序。我想我应该将我的数据转换为XML格式并使用rsync同步它?

Boost不会出现在我们的嵌入式平台上。

有人可以建议轻量级但高效的库来将我的数据转换为XML吗?

一些搜索建议

libs11nSweet PersistGoogle Protocol Buffers

但不知道哪个符合我的需要。

2 个答案:

答案 0 :(得分:4)

您还应该考虑使用更轻量级的内容,例如YAML

答案 1 :(得分:3)

我之前在嵌入式平台上使用协议缓冲区作为数据传输的方法。由于开销低,所以选择效果很好,特别是与XML相比。

您没有明确说明您的硬件/软件,但我认为您使用的东西可以运行Linux内核并且它可以通过以太网连接进行同步。理论上rsync可以工作,但是你会花费更多的开销(rsync守护进程运行,写入文件等),延迟会受到严重影响。当你说“同步数据结构”时,我认为这需要相对较快地完成,你可能需要实施心跳系统以确保你保持最新状态。这些因素再次排除了写入文件和rsync选项。