2009-04-28 6 views
0

Veuillez me donner quelques indications sur mon problème.Création d'une file d'attente haute performance et back-out

Je construis une structure de données de file d'attente:

  1. a une sauvegarde sur le disque dur en temps réel
  2. et puis restaurer la sauvegarde
  3. peut répondre à enqueue massif/demande dequeue

Merci beaucoup!

+0

Une base de données fonctionnerait probablement bien, à moins d'informations et de détails supplémentaires. – Brian

Répondre

4

Est-ce un exercice que vous faites. Si ce n'est pas le cas, vous devriez probablement regarder certaines des technologies de mise en file d'attente des messages de production (par exemple MSMQ pour Windows) qui prennent en charge la persistance des files d'attente sur le disque et non simplement les stocker en mémoire.

En termes de vos besoins

1. has a backup on hard disk at realtime 

Oui MSMQs peut le faire.

2. and can restore the backup 

Et cela.

3. Can respond to massive enqueue/dequeue request 

Et ce ...

+0

Voici mon exercice. – user50819

4

Si vous ne pouvez l'éviter, ne pas rouler votre propre. Pour Java, essayez ActiveMQ.

1

Vous cherchez probablement quelque chose de plus complexe qu'une simple bibliothèque.

Comme il s'agit d'un exercice (vous souhaitant probablement réfléchir aux structures de données sous-jacentes), vous pouvez commencer la procédure en mettant en file d'attente dans une base de données mySQL. Vos performances seront nulles par rapport aux logiciels de files d'attente dédiés, mais vous pouvez au moins faire fonctionner le reste de l'infrastructure. Ensuite, vous examinerez probablement une forme de format de fichier personnalisé et un serveur multithread par-dessus. Vous pourriez être en mesure de le retirer en utilisant quelque chose comme BDB ou SQLite pour la couche d'E/S, vous épargnant ainsi la peine d'écrire les routines de disque réelles.

Questions connexes