2013-07-04 2 views
1

Java에서 ConcurrentHashmap을 사용하고 있습니다. 이제이 해시 맵을 서버에서 실행되는 다른 변수에 복사하려고합니다. 그러면 먼저 전체 해시 맵을 복사 하겠지만, 해시 맵의 델타를 전송하십시오.Java에서 ConcurrentHashmap의 델타 계산하기

예를 들어 20 개의 항목과 2 개의 항목이 변경됩니다. 그런 다음 서버에서 동일한 해시 맵을 가져오고 과부하를 줄이기 위해 두 항목 만 변경되었다는 메시지를 보내려고합니다.

이 델타를 어떻게 계산할 수 있습니까? 감사합니다. .

+3

Guava의 'MapDifference'를 사용할 수 있습니다. – fge

답변

0

지도를 서버로 어떻게 옮깁니 까?

초기 솔루션은 전송하기 직전에 원본 맵을 복제하는 것입니다. 처음으로 전체 클론을 보내십시오. 그렇지 않은 경우 현재 복제본을 이전 복제본과 비교하여 차이점을 보냅니다. 이전 복제본을 새 복제본으로 바꾸고 다음 복제에서 동일하게 수행하십시오.