2009-06-23 6 views
0

Dans mon projet intégré, je dois déplacer (synchroniser) les données entre deux systèmes. La structure de données est complexe et donc besoin d'une utilité rapide. Je suppose que je devrais convertir mes données au format XML et le synchroniser en utilisant rsync? Boost ne sera pas là sur notre plate-forme embarquée.sérialiser et synchroniser les données sur le périphérique intégré

Quelqu'un pourrait-il suggérer une bibliothèque légère mais efficace pour convertir mes données en XML?

quelques recherches suggèrent

libs11n, Sweet Persist, Google Protocol Buffers

mais ne savent pas ce qui correspondrait à mes besoins.

+0

Veuillez fournir plus d'informations sur votre système embarqué, par ex. quels processeurs, combien flash et RAM, etc. –

Répondre

4

Vous devriez également envisager d'utiliser quelque chose de plus léger comme YAML à la place.

3

J'ai utilisé des tampons de protocole sur des plateformes embarquées comme méthode de transmission de données auparavant. Fonctionne très bien et a été choisi en raison de la faible surcharge, en particulier par rapport à XML.

Vous n'indiquez pas explicitement votre matériel/logiciel mais je suppose que vous utilisez quelque chose qui peut exécuter un noyau linux et que sa synchronisation à travers une connexion ethernet. rsync en théorie pourrait fonctionner, mais vous paieriez plus en overhead (le démon rsync en cours d'exécution, en écrivant dans un fichier, etc.) et la latence en souffrirait gravement. Quand vous dites "synchroniser une structure de données", je suppose que cela doit être fait relativement rapidement et que vous avez probablement besoin de mettre en place un système de rythme cardiaque pour vous assurer de rester à jour. Ces facteurs excluent à nouveau l'option write to file et rsync.

Questions connexes