Рекомендации по проектированию Распределенные вычисления

У меня есть программная система, которая выполняет распознавание текста на нескольких машинах одновременно. Текущая система работает следующим образом:

  1. Все документы, которые необходимо записать, вставляются в таблицу в базе данных.
  2. Каждая клиентская машина ocr объединяет эту таблицу и всякий раз, когда обнаруживаются данные для ocr, она блокирует таблицу и выбирает номер. файлов для ocr. Блокировка используется для атомарности.
  3. После того, как каждый документ записан, статус документа обновляется как завершенный.

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

Итак, мой вопрос: как лучше спроектировать такую ​​систему? Я хочу, чтобы база данных использовалась только в качестве устройства хранения, а не в качестве места синхронизации. Я хочу услышать твои мысли.

6
задан crypted 29 September 2010 в 06:20
поделиться