2009-06-23 5 views
0

В моем встроенном проекте мне нужно переместить (синхронизировать) данные между двумя системами. Структура данных сложна и, следовательно, нужна быстрая утилита. Думаю, я должен преобразовать свои данные в формат XML и синхронизировать их с помощью rsync?Сериализация и синхронизация данных на встроенном устройстве

Boost не будет находиться на нашей встроенной платформе.

Может ли кто-нибудь предложить легкую, но эффективную библиотеку для преобразования моих данных в XML?

некоторые поиск предложить

libs11n, Sweet Persist, Google Protocol Buffers

, но не знаю, который будет соответствовать моим потребностям.

+0

Просьба предоставить более подробную информацию о вашей встроенной системе, например. какие процессоры, сколько флеш-памяти и оперативной памяти и т. д. –

ответ

4

Вы также должны рассмотреть возможность использования чего-то более легкого, например, YAML.

3

Я использовал протокольные буферы на встроенных платформах как метод передачи данных раньше. Отлично работает и был выбран из-за низких накладных расходов, особенно по сравнению с XML.

Вы явно не указываете свое оборудование/программное обеспечение, но я предполагаю, что вы используете что-то, что может запускать ядро ​​Linux, и что его синхронизация осуществляется через соединение ethernet. rsync в теории может работать, но вы будете платить больше накладные расходы (демон rsync работает, записывается в файл и т. д.), и латентность будет сильно страдать. Когда вы говорите «синхронизировать структуру данных», я предполагаю, что это нужно сделать относительно быстро и вам, вероятно, понадобится внедрить систему сердечных сокращений, чтобы вы были в курсе последних событий. Эти факторы снова исключают параметр write to file и rsync.

Смежные вопросы