2013-07-04 3 views
1

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

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

Так есть идея, как я могу рассчитать эту дельту? Спасибо.

+3

Для этого вы можете использовать «MapDifference» Guava. – fge

ответ

0

Как вы передаете карту на сервер?

Исходным решением было бы клонировать исходную карту непосредственно перед отправкой. Если в первый раз, отправьте полный клон. Если нет, сравните текущий клон с предыдущим и отправьте различия. Замените предыдущий клон на новый и сделайте то же самое на следующей итерации.