동시에 여러사람이 파일을 오픈하여 업데이트를 할때 어떻게 해야 할까요 정보
동시에 여러사람이 파일을 오픈하여 업데이트를 할때 어떻게 해야 할까요본문
로그인후
동시에 한 파일을 두사람 이상이 열어 수정 작업을 하는 변수가 생겼습니다.
이럴 경우 어떻게 해야 할까요?
php, mysql5 를 쓰고 있습니다.
이름을 클릭하면 수정화면이 됩니다.
view화면이 따로 없고 수정모드입니다.
입력 필드를 전부 업데이트 하는 포맷입니다.
update DB set field1= field1, field2=field2 ,,,,
업데이트한 후 다시 수정화면이 보여집니다.
echo "<meta http-equiv=\"refresh\" content=\"0; url=url\">";
url 이 수정화면입니다.
꼭 글쓴이가 아니라도 수정가능합니다.
회사에서 클라이언트의 인포메이션을 업데이트한다든가 하는 경우라서요.
이럴경우 어떻게 해야 두사람이 동시에 파일을 열어 수정을 하여도 정확히 데이타가 업데이트가 될까요?
꼭 도움좀 부탁드립니다.
댓글 전체
좀 커다란 프로젝트가 되어야 할것같은 범위네요...
상당히 어렵습니다.
간단한 팁으로는 힘들겁니다.
한사람이... 파일을 열면.. 파일 내용을 가져와서 읽고
변수로.. 한사람이 읽고 있다고.. 표시해주고,
또다른 한사람이 파일을 열면.. 파일 내용을 가져오고..
사용자수 ++
저장(업데이트)할때에는.. 저장된 파일과, 읽어들인 파일 비교해서.. 업데이트 해주고..
자신의 파일과 diff 같은 기능을 개발해서 비교해주고.. 자신이 수정하고 업데이트 한부분만 업데이트 해서 업로드 해줘야 할것 같네요..
그렇다면...
여기선 엄청난 예외 상황들이.. 발생하겠네요..
두사람이 동시에 업데이트하면 어떻게 처리할거냐?
업데이트 하는 도중에 잘못되면 어떻게 처리할것이냐?
등등 수많은 예외상황들이 발생하겠네요..
구글에서 제공하는 문서공유기능이.. 웹에서 문서 공유기능중에 그나마 가장 뛰어난것 같습니다.
구글에서 제공하는 문서 공유기능으로 여러사람이 편집해보세요..
잘되어 있더라고요..
상당히 어렵습니다.
간단한 팁으로는 힘들겁니다.
한사람이... 파일을 열면.. 파일 내용을 가져와서 읽고
변수로.. 한사람이 읽고 있다고.. 표시해주고,
또다른 한사람이 파일을 열면.. 파일 내용을 가져오고..
사용자수 ++
저장(업데이트)할때에는.. 저장된 파일과, 읽어들인 파일 비교해서.. 업데이트 해주고..
자신의 파일과 diff 같은 기능을 개발해서 비교해주고.. 자신이 수정하고 업데이트 한부분만 업데이트 해서 업로드 해줘야 할것 같네요..
그렇다면...
여기선 엄청난 예외 상황들이.. 발생하겠네요..
두사람이 동시에 업데이트하면 어떻게 처리할거냐?
업데이트 하는 도중에 잘못되면 어떻게 처리할것이냐?
등등 수많은 예외상황들이 발생하겠네요..
구글에서 제공하는 문서공유기능이.. 웹에서 문서 공유기능중에 그나마 가장 뛰어난것 같습니다.
구글에서 제공하는 문서 공유기능으로 여러사람이 편집해보세요..
잘되어 있더라고요..
답변 감사합니다.
저도 쉽지는 않으리라 생각해요.
어쨋거나 다른분들도 도움을 좀 주세요.
저도 쉽지는 않으리라 생각해요.
어쨋거나 다른분들도 도움을 좀 주세요.
수정 대상이 파일인가요? 디비인가요?
디비라면
<form안에
<input type="hidden"으로 prefix old_를 붙혀서
모든 컬럼 값을 복사합니다.
update하는 php에서
old_***와 ***를 비교해서
다른 것만 update합니다.
같은 컬럼을 동시에 수정하게 되는 것은 어쩔 수 없겠지요.
그래서 ownership 문제가 생기게 되지요.
디비라면
<form안에
<input type="hidden"으로 prefix old_를 붙혀서
모든 컬럼 값을 복사합니다.
update하는 php에서
old_***와 ***를 비교해서
다른 것만 update합니다.
같은 컬럼을 동시에 수정하게 되는 것은 어쩔 수 없겠지요.
그래서 ownership 문제가 생기게 되지요.
수정 대상이 file이라면
소스 파일 버전 관리를 이용하시면 됩니다.
소스 파일 버전 관리를 이용하시면 됩니다.