Существуют ли какие-либо фреймворки для синхронизации данных генерируется на одном узле со всеми остальными узлами в ненадежной сети?

Мы разрабатываем систему со следующими требованиями.

  • Существует N систем, каждая из которых генерирует данные, уникальные только для себя.
  • Каждой системе для достижения своей конечной цели требуются данные из любой другой системы.
  • Эти системы взаимодействуют друг с другом в ненадежной сети.
  • Ожидается, что некоторые системы будут полностью недоступны в течение длительных периодов времени (но они могут находиться в контакте с некоторыми из своих одноранговых узлов, которые находятся в контакте с остальной частью сети).

Иными словами, каждая система должна реплицировать свои данные на N одноранговых систем. В идеале это должно быть сделано разумным образом.

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

Вопрос в том, знаете ли вы какие-либо фреймворки, которые могли бы помочь решить эту проблему? Или, возможно, способ сформулировать эту проблему, которая может помочь мне найти решение.

Наконец, в идеале эта структура должна быть написана на C++ (и, возможно, на Java).

10
задан Charles 8 March 2012 в 19:34
поделиться