2012-04-12 5 views
1

여기에 문제가 있습니다. Android에서 코드 DHT를 구현 중입니다. 5554에 서버를 시작했는데 그 곳에서 모든 새 노드가 서클에 가입하라는 요청을 받았습니다. 이제 5554에서 새 노드의 식별자 해시와 노드의 해시를 비교하고 두 노드의 후속 노드와 전임 노드를 업데이트합니다.이 작업을 올바르게 수행하고 있습니다.Android + Java의 코드 구현

내 문제는 다른 노드가 들어 오면 3 노드의 전신기와 후임자를 업데이트해야한다는 것입니다. 어떻게 업데이트합니까? 나는 자바를 사용한다. 나는 코드를 묻지 않을 것이다. 나는 이것을 구현할 논리를 묻는다. 미리 감사드립니다.

답변

1

stableize() 메서드를 구현하고 정기적으로 호출해야합니다. 주기적으로 그리고/또는 링 토폴로지가 변경된 후에도 가능합니다. 나 자신도 노드의 아이디어를 얻는 방법을 구현했다. 그 아이디어는 전임자 (stableize() 메소드에서 사용됨)이다. 아직 다른 사람이 있다면 다른 implementations을 봐야합니다.

+0

stabilize() 메소드에 대해 좀 더 설명 할 수 있습니까? – Crusher

+0

http://en.wikipedia.org/wiki/Chord_(peer-to-peer)#Chord_protocol – mcbuddha