검색 상세

클라이언트-서버 환경에서 단일 로그 기반의 파일 동기화 시스템의 설계와 구현

초록/요약

파일 동기화 시스템은 한 사람이 여러 단말을 사용을 하거나, 여러 사람이 같은 파일을 사용해야 하는 환경에서 효과적으로 변경 내역을 서로에게 공유하고 전달할 수 있으며, 같은 파일은 수정함으로써 발생하는 충돌 사항에 대해서 처리 기준을 제시하고 최대한 데이터의 손실을 막아주는데 의의가 있다. 본 논문에서는 클라이언트의 변경내역을 동기화 서버에서 단 하나의 로그 형식으로 저장을 해서 동기화를 제공하는 시스템을 제안하고 그 유용성을 분석한다. 제안한 방법에서는 변경 내역을 서버에서 처음부터 모두 로그 형식으로 기록을 진행해서 해당 로그의 위치를 기준으로 동기화를 제공하는 시스템을 구현한다. 파일의 모든 변경사항이 기록되고 있기 때문에 클라이언트가 어느 시점으로 복원 되더라고 해당 시점부터 현재까지의 파일 변경 로그를 가지고 동기화를 진행할 수 있게 되었으며, 하나의 변경사항은 단 하나의 로그로만 저장되기 때문에 클라이언트의 갯수가 많아져도 클라이언트별로 변경사항을 저장하는 방법보다 효과적으로 많은 클라이어트의 동기화를 지원할 수 있게 된다. 그에 따라서 서버 상에서 클라이언트의 상태를 별도로 관리해야 하는 역할이 사라지게 되고, 클라이언트가 많아졌을 경우 여러 건의 동일 변경사항을 관리해야하는 데이터베이스 상의 오버헤드도 사라지게 되고, 전체 동기화 속도에서도 성능향상을 가져온다. 단, 서버의 단일 변경 로그는 동기화 사용에 따라 계속 증가하는 관계로 데이터 샤딩등을 고려해서 서비스에 적용되어야 하겠다.

more

초록/요약

A file synchronization system allows users to share and notify modifications on a file when a user uses multiple clients or multiple users reference the same files. The system provides standards on how it deals with collisions when the same files are modified, and helps to minimize the loss of data. This thesis proposes a system which provides a synchronization scheme that saves the file modification history in a log on a synchronization server, and analyzes the performances of the proposed scheme. Because all the modifications of files are tracked, no matter when the client is restored, and the synchronization is processed from the time it is restored to now the most recent status with file modification log, the proposed method provides more efficient synchronization method than the method which saves modifications of each client, even with the growing number of clients. Furthermore, because the proposed method does not need to manage the status of each client on a server, it could decrease the overhead for database access when the number of clients increases. Since the same modification of the same event is saved on all the clients, the overall performance of the system could be enhanced on the side of speed of synchronization. However, because the use of a single modification log is increasing according to the number of synchronization events, an application of data sharding is recommended for better performance.

more