2011-03-14 3 views
1

Java에서 문자열의 두 가지 큰 세트를 동기화해야합니다. 하나는 클라이언트에, 다른 하나는 서버에 있습니다. 대부분 클라이언트는 서버로부터 수신해야하는 몇 개의 항목을 누락했습니다. 모든 멤버를 전송하고 싶지는 않지만 서버에서 통신 및 계산을 최소화하고 싶습니다 (클라이언트가 더 어려워 질 수 있음).두 세트를 원격으로 동기화하는 방법은 무엇입니까?

divide-and-conquer 외에 어떤 아이디어가 있습니까?

나는 의사 소통 기술이나 그와 비슷한 것에 대해 묻지 않고, 나는 단지 좋은 알고리즘에만 관심이있다. 나는 version control does이 가장 좋을 것이라고 생각하지만, 나는 그렇게 할 수 없다.

+0

클라이언트가 세트를 수정할 수 있습니다. – Ron

+0

각각은 자체 세트가 있으며 변경 사항은 두 가지가 될 수 있습니다. 갈등은 거의 일어나지 않을 수 있습니다. – maaartinus

+0

은 hub & spoke와 같습니다. 서버의 변경은 다른 클라이언트의 변경으로 인한 것일 수 있습니다. – Ron

답변

3

당신은 유지할 수 있습니다 당신은 또한 JMX 활성 MQ를 사용할 수 있습니다 먼저 모든 회원들에게 추가 한 후 사용자 지정 방법을 사용하여 ANS를 동기화하고 지역 세트의 구성원을 제거하고 다른 쪽 끝으로 데이터를 + 명령을 보낼에서 당신은 소켓을 사용할 수 있습니다 각 세대에 대한 변경 로그와 함께 서버에있는 세트의 생성 카운터. 클라이언트는 마지막 동기화 이후 모든 변경을 요청할 수 있습니다. 그런 다음 변경 사항을 통합 할 수 있으며 적용 가능한 경우 마지막 동기화 이후 남아있는 클라이언트 측 변경 사항을 되돌려 보낼 수 있습니다.

+0

이것이 올바른 일인지 잘 모르겠다. 그것에 대해 더 생각할 필요가있다. 하지만 질문에 대해서는 당신이 옳은 대답을 주었다. – maaartinus

1

관련 문제