Question

Je dois écrire une application qui récupère la paire nom-élément (données de série chronologique) de toute source xml, qu’il s’agisse d’un fichier, d’un serveur Web ou de tout autre serveur. l’application consomme le XML et supprime les valeurs d’intérêt; elle doit être très rapide (disons 50000 événements / seconde ou plus). La taille du document XML est également énorme et la fréquence de ces documents également élevée (pour par exemple 2500 fichiers / min - plus de 500 Mo de données XML / fichier).

Je veux juste voir comment vous avez expérimenté les gens que je devrais aborder cela. Je suis un novice qui vient de commencer bien que je puisse apporter toute solution que vous me suggérez, peu importe la difficulté.

Merci beaucoup.

Était-ce utile?

La solution

Si vous utilisez l'analyse SAX, votre goulot d'étranglement correspond aux E / S impliquées, pas au traitement de chaîne XML. Et compte tenu de votre nombre de 500 Mo, je dirais que vous auriez à l’analyser SAX au lieu de l’analyser DOM. Donc, tout ce qui a une interface de type SAX devrait aller très bien.

Autres conseils

Je suis un fan de Xerces , je pense que vous allez devoir essayez-les pour voir quelle est la meilleure performance pour votre application. Comme Warren l'a dit, vous voudrez utiliser le traitement SAX. De manière réaliste, si vous avez vraiment besoin de performances, vous devez utiliser un appareil XML spécialisé pour effectuer le traitement.

J'utilise libxml2 dans nos projets. Il supporte à la fois SAX et DOM. Comme l'a dit Warren Young, vous devriez utiliser SAX. Vous pouvez essayer Expat.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top