2009-04-28 3 views
0

Прошу дать мне несколько советов по моей проблеме.Создание высокопроизводительной очереди и автоматически резервной копии

Я строй структур данных очереди, что:

  1. имеет резервную копию на жестком диске в режиме реального времени
  2. и могу восстановить резервную копию
  3. может ответить на массивный Епдиеем/DEQUEUE запросу

Спасибо!

+0

База данных, вероятно, будет работать хорошо, за исключением дополнительной информации и деталей. – Brian

ответ

4

Это упражнение, которое вы делаете. В противном случае вам, вероятно, стоит взглянуть на некоторые из технологий создания массовых сообщений (например, MSMQ для Windows), которые поддерживают сохранение очередей на диске, а не только их хранение в памяти.

С точки зрения ваших требований

1. has a backup on hard disk at realtime 

Да MSMQs может сделать это.

2. and can restore the backup 

И что.

3. Can respond to massive enqueue/dequeue request 

И это ...

+0

Это мое упражнение. – user50819

4

Если вы можете избежать этого, не свернуть свой собственный. Для Java попробуйте ActiveMQ.

1

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

Поскольку это упражнение (возможно, вам нужно подумать о базовых структурах данных), вы можете запустить простой способ, поставив очередь в базу данных mySQL. Ваша производительность будет сосать по сравнению с выделенным программным обеспечением для массового обслуживания, но вы, по крайней мере, можете использовать остальную инфраструктуру.

После этого вы, вероятно, будете смотреть на какой-то формат пользовательского файла и многопоточный сервер поверх него. Вы могли бы использовать его, используя BDB или SQLite для уровня ввода-вывода, тем самым избавляя вас от необходимости записывать фактические дисковые процедуры.

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