KR20090003405A - 파일 업로드 시스템 및 방법 - Google Patents

파일 업로드 시스템 및 방법 Download PDF

Info

Publication number
KR20090003405A
KR20090003405A KR1020070056066A KR20070056066A KR20090003405A KR 20090003405 A KR20090003405 A KR 20090003405A KR 1020070056066 A KR1020070056066 A KR 1020070056066A KR 20070056066 A KR20070056066 A KR 20070056066A KR 20090003405 A KR20090003405 A KR 20090003405A
Authority
KR
South Korea
Prior art keywords
file
upload
same
server
upload target
Prior art date
Application number
KR1020070056066A
Other languages
English (en)
Inventor
송민철
박영희
이경환
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020070056066A priority Critical patent/KR20090003405A/ko
Publication of KR20090003405A publication Critical patent/KR20090003405A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Abstract

본 발명은 파일 업로드 시스템 및 방법에 관한 것으로서, 이 방법은 업로드 대상 파일에서 추출된 적어도 두 개의 특징값을 이용하여 업로드 대상 파일과 동일한 파일이 서버에 존재하는지 판단하는 단계, 그리고 업로드 대상 파일과 동일한 파일이 서버에 존재하는 것으로 판단하면 업로드 대상 파일을 업로드 하지 않고 업로드 대상 파일이 업로드 된 것으로 처리하는 단계를 포함한다. 본 발명에 따르면 동일한 파일을 서버에 중복 저장할 필요가 없으므로 스토리지 비용을 줄일 수 있으며, 동일한 파일이 서버에 이미 존재하는 경우 사용자 단말이 업로드 대상 파일을 실제 전송할 필요가 없으므로 네트워크 비용을 줄일 수 있다.
서버, 스토리지, 파일, 저장, 업로드, 특징값

Description

파일 업로드 시스템 및 방법 {FILE UPLOAD SYSTEM AND METHOD}
도 1은 본 발명의 실시예에 따른 파일 업로드 시스템을 설명하기 위한 블록도이다.
도 2는 도 1에 도시한 사용자 단말의 한 예를 도시한 블록도이다.
도 3은 도 1에 도시한 서비스 서버의 한 예를 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 사용자 단말의 파일 업로드 동작을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명의 실시예에 따른 파일 업로드 시스템의 동작을 설명하기 위해 제공되는 흐름도이다.
<도면 부호의 설명>
10: 통신망, 100: 파일 업로드 시스템,
110: 서비스 서버, 111: 파일 관리부,
113: 파일 정보 데이터베이스, 115: 파일 수신 처리부,
130: 스토리지 서버, 200: 사용자 단말,
210: 웹 브라우저, 230: 저장부,
250: 파일 업로드 모듈
본 발명은 파일 업로드 시스템 및 방법에 관한 것이다.
최근 초고속 인터넷이 급속도로 보급됨에 따라 인터넷은 현대 생활에 없어서는 안 될 필수품이 되고 있다. 특히 인터넷을 이용하여 대용량 파일을 웹 하드에 업로드 하여 저장한 후 나중에 필요할 때 다운로드 받아 사용하거나 다른 사용자들과 공유하는 사용자가 급격히 늘고 있다. 아울러 메일 시스템의 대용량 파일 첨부 기능을 이용하여 대용량 파일을 메일 서버에 업로드 한 후 수신자의 요청이 있으면 해당 파일을 다운로드 해주는 서비스를 이용하는 사용자도 급격히 늘고 있다.
그런데 사용자들이 업로드 하는 파일들 중에는 완전히 동일한 파일이 많다. 예컨대, 영화 파일이나 음악 파일 등과 같이 시기적으로 유행하는 파일은 사용자들이 동시에 완전히 동일한 파일을 이용하는 경우가 많다.
이와 같이 완전히 동일한 파일임에도 불구하고 사용자 별로 동일한 대용량 파일을 웹 상에서 각각 저장하는 것은 웹 스토리지 활용 측면에서 비효율적이다. 아울러 동일한 파일이 이미 업로드 되어 있음에도 불구하고 사용자 별로 다시 업로드 받는 것은 네트워크 이용 측면에서도 비효율적이다.
따라서 본 발명이 이루고자 하는 기술적 과제는 스토리지 부하 및 네트워크부하를 줄일 수 있는 파일 업로드 시스템 및 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 한 태양에 따른 파일 업로드 방법은, 업로드 대상 파일에서 추출된 적어도 두 개의 특징값을 이용하여 상기 업로드 대상 파일과 동일한 파일이 서버에 존재하는지 판단하는 단계, 그리고 상기 판단 단계에서 상기 업로드 대상 파일과 동일한 파일이 상기 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일을 업로드 하지 않고 상기 업로드 대상 파일이 업로드 된 것으로 처리하는 단계를 포함한다.
상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 제1 및 제2 부분을 각각 해시하여 추출되는 제1 및 제2 특징값을 포함하고, 상기 제2 부분의 용량은 상기 제1 부분의 용량보다 클 수 있다.
상기 판단 단계는, 상기 제1 특징값이 동일한 파일이 상기 서버에 존재하는지 판단하는 단계, 그리고 상기 제1 특징값이 동일한 파일이 상기 서버에 존재하면 상기 제2 특징값이 동일한 파일이 상기 서버에 존재하는지 판단하는 단계를 포함할 수 있다.
상기 제1 특징값이 동일한 파일이 상기 서버에 존재하지 않거나 상기 제2 특징값이 동일한 파일이 상기 서버에 존재하지 않으면 상기 업로드 대상 파일을 업로드 받는 단계를 더 포함할 수 있다.
상기 업로드 대상 파일을 업로드 받는 단계, 그리고 상기 제2 특징값이 동일한 파일이 상기 서버에 존재하면 상기 업로드 대상 파일의 업로드를 중단하는 단계를 더 포함할 수 있다.
상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 파일 크기를 더 포 함할 수 있다.
상기 제2 부분은 상기 업로드 대상 파일 전체일 수 있다.
본 발명의 다른 태양에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명의 다른 태양에 따른 파일 업로드 시스템은, 파일을 저장하는 스토리지 서버, 그리고 업로드 대상 파일에서 추출된 적어도 두 개의 특징값을 이용하여 동일한 파일이 상기 스토리지 서버에 존재하는지 판단하고, 상기 업로드 대상 파일과 동일한 파일이 상기 스토리지 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일을 업로드 하지 않고 상기 업로드 대상 파일이 업로드 된 것으로 처리하는 서비스 서버를 포함한다.
상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 제1 및 제2 부분을 각각 해시하여 추출되는 제1 및 제2 특징값을 포함하고, 상기 제2 부분의 용량은 상기 제1 부분의 용량보다 클 수 있다.
상기 서비스 서버는 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는지 판단하고 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하면 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는지 판단할 수 있다.
상기 서비스 서버는 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하지 않거나 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하지 않으면 상기 업로드 대상 파일을 업로드 받을 수 있다.
상기 서비스 서버는 상기 업로드 대상 파일을 업로드 받는 중 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일의 업로드를 중단할 수 있다.
상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 파일 크기를 더 포함할 수 있다.
상기 제2 부분은 상기 업로드 대상 파일 전체일 수 있다.
상기 서비스 서버는, 상기 스토리지 서버에 저장되어 있는 파일의 제1 및 제2 특징값을 포함하는 파일 정보를 저장하는 파일 정보 데이터베이스, 그리고 상기 스토리지 서버에 저장되어 있는 파일에서 상기 제1 및 제2 특징값을 추출하여 상기 파일 정보 데이터베이스에 기록하는 파일 관리부를 포함할 수 있다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
먼저, 도 1 내지 도 3을 참고하여 본 발명의 실시예에 따른 파일 업로드 시스템에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 파일 업로드 시스템을 설명하기 위한 블록도이고, 도 2는 도 1에 도시한 사용자 단말의 한 예를 도시한 블록도이며, 도 3은 도 1에 도시한 서비스 서버의 한 예를 도시한 블록도이다.
도 1을 참고하면, 본 발명의 실시예에 따른 파일 업로드 시스템(100)은 서로 연결되어 있는 서비스 서버(110)와 스토리지 서버(130)를 포함하며, 통신망(10)을 통해 복수의 사용자 단말(200)에 연결되어 있다.
통신망(10)은 구내 정보 통신망(local area network, LAN), 도시권 통신망(metropolitan area network, MAN), 광역 통신망(wide area network, WAN), 인터넷 등을 가리지 않고, 통신 방식도 유선, 무선을 가리지 않으며 어떠한 통신 방식이라도 상관없다.
사용자 단말(200)은 사용자가 파일 업로드 시스템(100)에 파일을 업로드 하거나 다운로드 받기 위해 사용하는 통신 단말 장치로서, 통신망(10)을 통하여 데이터를 주고받는다. 사용자 단말(200)은 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant, PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 단말기로 이루어질 수 있다.
도 2를 참고하면, 사용자 단말(200)은 웹 브라우저(210), 저장부(230) 및 파일 업로드 모듈(250)을 포함한다.
웹 브라우저(210)는 웹 페이지를 열어 볼 수 있는 응용 프로그램으로서, 서비스 서버(110)에 접속하여 이로부터 웹 페이지 정보를 받아 해당 웹 페이지를 사용자 단말(200)에 표시한다. 여기서 웹 페이지는 사용자에게 블로그 서비스, 카페 서비스, 메일 서비스 또는 웹 하드 서비스 등을 제공하기 위한 웹 페이지를 포함한다.
저장부(230)는 동영상 파일, 음악 파일 및 문서 파일 등과 같은 각종 파일을 저장할 수 있으며, 하드디스크 또는 대용량 플래시 메모리 등과 같은 기록 매체로 구현할 수 있다.
파일 업로드 모듈(250)은 사용자로부터 선택된 파일을 파일 업로드 시스템(100)으로 업로드 하는 기능을 수행하며, 액티브 X(active X) 컴포넌트로 구현될 수 있으나, 이에 한정되지 않는다. 파일 업로드 모듈(250)은 서비스 서버(110)로부터 다운로드 되어 사용자 단말(200)에 설치될 수 있다.
보다 자세하게는 파일 업로드 모듈(250)은 사용자로부터 선택된 업로드 대상 파일에서 제1 특징값 및 제2 특징값을 추출하여 파일 크기와 함께 서비스 서버(110)에 제공한다. 제1 특징값은 제2 특징값보다 고속으로 추출할 수 있는 방법으로 구해진다.
제1 특징값은 업로드 대상 파일의 일정 부분을 해시(Hash)하여 고속으로 구할 수 있다. 제1 특징값은 예를 들어 파일의 앞 부분, 중간 부분 또는 끝 부분의 일부를 해시 하거나 파일의 여러 부분의 데이터(예를 들어 매 1MB마다 1K씩)를 모아서 해시하여 구할 수 있으며, 이들 중 적어도 하나의 조합을 이용하여 구할 수도 있다.
한편 제2 특징값은 업로드 대상 파일 전체를 해시하여 구할 수 있으며, 예를 들어 MD-5(message digest algorithm 5)나 SHA-1(Secure Hash Algorithms 1) 등과 같은 정확도가 검증된 해시 알고리즘을 적용하여 구할 수 있다. 물론 파일 전체가 아니라 제1 특징값을 추출하기 위한 파일의 일정 부분보다 용량이 큰 부분을 해시하여 구하거나 제1 특징값을 추출하기 위한 파일의 일정 부분을 제외한 부분을 해시하여 구하거나 업로드 대상 파일 전체에 준하는 부분을 해시하여 구할 수도 있 다. 또한 복수의 해시 알고리즘으로 해시함으로써 제2 특징값이 복수의 해시값을 포함하도록 할 수도 있다.
파일 업로드 모듈(250)은 서비스 서버(110)에서 업로드 대상 파일과 동일한 파일이 없는 것으로 통지되면 해당 파일을 실제로 업로드 한다. 반면에 동일한 파일이 있는 것으로 통지되면 파일 업로드 모듈(250)은 사용자 단말(200)에 업로드 대상 파일이 성공적으로 업로드 된 것으로 표시하고 실제로는 파일을 업로드 하지 않는다.
다시 도 1을 참고하면, 스토리지 서버(130)는 사용자 단말(200)로부터 업로드 된 각종 파일을 저장한다. 한편 도 1에서 스토리지 서버(130)와 서비스 서버(110)를 구분하여 표시하였으나 일체로 구현할 수도 있다.
서비스 서버(110)는 실시예에 따라 블로그 서비스, 카페 서비스, 메일 서비스 또는 웹 하드 서비스 등을 제공할 수 있으며, 사용자 단말(200)이 접속하면 해당 서비스 제공을 위한 웹 페이지 정보를 통신망(10)을 통해 사용자 단말(200)에 전송한다. 또한 서비스 서버(110)는 사용자 단말(200)로부터 각종 파일을 업로드 받아 스토리지 서버(130)에 저장하고 필요할 때마다 다운로드 해주는 기능을 수행한다.
도 3을 참고하면, 서비스 서버(110)는 파일 관리부(111), 파일 정보 데이터베이스(113) 및 파일 수신 처리부(115)를 포함할 수 있다.
파일 관리부(111)는 스토리지 서버(130)에 저장된 파일을 관리한다. 보다 자세하게는 파일 관리부(111)는 스토리지 서버(130)에 저장된 파일에서 제1 및 제2 특징값을 추출하여 해당 파일의 저장 위치, 파일 크기 등의 파일 정보와 함께 파일 정보 데이터베이스(113)에 기록한다. 파일 관리부(111)는 파일 업로드 모듈(250)이 업로드 하려는 파일의 제1 특징값과 제2 특징값을 추출하는 방법과 동일한 방법으로 스토리지 서버(130)에 저장된 파일의 제1 및 제2 특징값을 추출한다.
파일 정보 데이터베이스(113)는 스토리지 서버(130)에 저장된 파일에 대한 파일 정보를 저장하며, 파일 수신 처리부(115)로부터의 요청에 따라 저장된 파일 정보를 파일 수신 처리부(115)에 제공한다.
파일 수신 처리부(115)는 사용자 단말(200)의 파일 업로드 모듈(250)과 통신하며 파일 업로드 동작을 수행한다. 파일 수신 처리부(115)는 파일 정보 데이터베이스(113)를 참조하여 업로드 대상 파일과 동일한 파일이 스토리지 서버(130)에 저장되어 있는지 확인한다. 파일 수신 처리부(115)는 동일한 파일이 없으면 업로드 대상 파일을 사용자 단말(200)로부터 업로드 하여 스토리지 서버(130)에 저장한다. 한편 동일한 파일이 있으면, 파일 수신 처리부(115)는 업로드 대상 파일을 실제로 업로드 하지 않고 스토리지 서버(130)에 저장된 동일 파일로 대체하고 업로드 한 것으로 처리한다.
서비스 서버(110)는 메일 서비스를 제공하는 경우 전자메일 관리부(도시하지 않음)를 더 포함할 수 있다. 전자메일 관리부는 사용자 단말(200)로부터 송신된 전자 메일과 전자 메일 관련 정보를 관리한다. 전자 메일 관련 정보는 전자 메일 발신자, 수신자, 발신 및 수신 시간 등을 포함하며, 특히 본 발명에 따르면 전자 메일 관련 정보는 전자 메일에 첨부된 파일이 스토리지 서버(130)에 저장된 위 치 정보를 포함한다. 전자메일 관리부는 전자메일 수신자로부터 첨부 파일 다운로드 요청이 있으면 해당 파일을 스토리지 서버(130)에서 다운로드 해준다.
한편 서비스 서버(110)는 웹 하드 서비스를 제공하는 경우 웹 하드 관리부(도시하지 않음)를 더 포함할 수 있다. 웹 하드 관리부는 사용자 단말(200)로부터의 요청에 따라 스토리지 서버(130)에 웹 폴더를 생성하며 업로드 된 파일을 해당 웹 폴더에 저장한다. 또한 서비스 서버(110)는 업로드 대상 파일과 동일한 파일이 이미 다른 웹 폴더에 저장되어 있으면 해당 웹 폴더에 동일 파일에 대한 링크 정보를 생성함으로써 업로드 대상 파일이 저장된 것으로 처리한다.
그러면 도 4를 참고하여 본 발명의 실시예에 따른 사용자 단말(200)의 파일 업로드 동작에 대하여 좀 더 상세하게 설명한다.
도 4는 본 발명의 실시예에 따른 사용자 단말의 파일 업로드 동작을 설명하기 위해 제공되는 흐름도이다.
도 4를 참고하면, 먼저 사용자는 블로그 서비스, 카페 서비스, 메일 서비스 또는 웹 하드 서비스 등을 위한 웹 페이지 상에서 파일 업로드 메뉴를 선택하여 파일 업로드 모듈(250)을 실행한다(S410). 이후 사용자가 업로드 대상 파일을 선택하여 전송을 요청하면(S420), 파일 업로드 모듈(250)은 업로드 대상 파일에서 제1 특징값을 추출하여 파일 크기와 함께 서비스 서버(110)로 전송한다(S430).
이후 서비스 서버(110)로부터 업로드 대상 파일의 제1 특징값 및 파일 크기가 동일한 파일이 존재하는 것으로 통지되면(S440-Y), 파일 업로드 모듈(250)은 업로드 대상 파일의 제2 특징값을 추출하여 서비스 서버(110)로 전송한다(S450).
그런 후 서비스 서버(110)로부터 제2 특징값이 동일한 파일이 존재하는 것으로 통지되면(S460-Y), 파일 업로드 모듈(250)은 업로드 대상 파일이 성공적으로 전송된 것으로 처리하고(S470), 파일 전송 동작을 종료한다.
한편 제1 특징값과 파일 크기가 동일한 파일이 존재하지 않는 것으로 통지되거나(S440-N) 제2 특징값이 동일한 파일이 존재하지 않는 것으로 통지되면(S460-N), 파일 업로드 모듈(250)은 업로드 대상 파일을 실제로 전송한 후(S480), 파일 전송 동작을 종료한다.
그러면 도 5를 참고하여 본 발명의 실시예에 따른 파일 업로드 시스템(100)의 동작에 대하여 좀 더 상세하게 설명한다.
도 5는 본 발명의 실시예에 따른 파일 업로드 시스템의 동작을 설명하기 위해 제공되는 흐름도이다.
도 5를 참고하면, 먼저 서비스 서버(110)는 업로드 대상 파일에서 추출된 제1 특징값 및 제2 특징값을 이용하여 동일한 파일이 스토리지 서버(130)에 존재하는지 판단한다(S510).
좀더 자세하게는 사용자 단말(200)로부터 업로드 대상 파일의 제1 특징값과 파일 크기를 전송 받으면(S511), 파일 수신 처리부(115)는 파일 정보 데이터베이스(113)를 참조하여 업로드 대상 파일과 동일한 제1 특징값 및 파일 크기를 가지는 파일이 스토리지 서버(130)에 존재하는지 확인한다(S513).
업로드 대상 파일과 동일한 제1 특징값과 파일 크기를 가지는 파일이 존재하면(S513-Y), 파일 수신 처리부(115)는 사용자 단말(200)의 파일 업로드 모듈(250) 에 이를 통지하고 업로드 대상 파일의 제2 특징값을 요청한다(S515).
이후 사용자 단말(200)로부터 업로드 대상 파일의 제2 특징값을 전송 받으면, 파일 수신 처리부(115)는 파일 정보 데이터베이스(113)를 참조하여 업로드 대상 파일과 동일한 제2 특징값을 가지는 파일이 스토리지 서버(130)에 존재하는지 확인한다(S517).
업로드 대상 파일의 제2 특징값과 동일한 파일이 스토리지 서버(130)에 존재하면(S517-Y), 파일 수신 처리부(115)는 해당 파일로 업로드 대상 파일을 대체하고 업로드 대상 파일이 정상적으로 업로드 된 것으로 처리한다(S520). 단계(S520)에서 파일 수신 처리부(115)는 업로드 대상 파일과 동일한 파일이 존재하는 것을 사용자 단말(200)에 통지함으로써 사용자 단말(200)이 업로드 대상 파일을 전송하지 않고 전송 동작을 종료하도록 할 수 있다.
한편 업로드 대상 파일의 제1 특징값과 파일 크기가 동일한 파일이 스토리지 서버(130)에 존재하지 않거나(S513-N) 제2 특징값이 동일한 파일이 스토리지 서버(130)에 존재하지 않으면(S517-N), 파일 수신 처리부(115)는 파일 업로드 모듈(250)에 이를 통지하고, 사용자 단말(200)로부터 업로드 대상 파일을 실제로 전송 받아 스토리지 서버(130)에 저장한다(S530).
이와 같이 제1 특징값을 이용하여 이와 동일한 파일이 스토리지 서버(130)에 존재하는지 판단함으로써 업로드 대상 파일이 1차적으로 업로드 대상이 될 수 있는지 빠르게 판정할 수 있으며, 그런 후 제2 특징값을 이용하여 이와 동일한 파일이 스토리지 서버(130)에 존재하는지 판단함으로써 업로드 대상 파일이 실제로 업로드 되어야 하는지 정확하게 판정할 수 있다.
본 실시예에서는 동일한 파일이 스토리지 서버(130)에 존재하지 않는 것을 확인한 후 사용자 단말(200)로부터 업로드 대상 파일을 전송 받는 것으로 설명하였으나, 이와 달리 사용자가 업로드 대상 파일에 대한 전송 요청을 할 때부터 파일 전송을 시작하거나 제1 특징값을 이용한 파일 동일성 검사를 수행한 후에 전송을 시작하도록 할 수도 있다. 이 경우 파일 전송 중에 동일한 파일이 서버에 존재하는 것으로 확인되면 더 이상 파일을 전송 받지 않고 기 저장되어 있는 동일한 파일로 대체한다. 이와 같이 함으로써 동일한 파일이 존재하는지 확인하는 데에 따라 소요되는 지연 시간을 단축할 수 있다.
또한 본 실시예에서 업로드 대상 파일의 제1 특징값과 함께 파일 크기를 수신하고 파일 크기가 같은 파일이 존재하는지 판단하는 것으로 설명하였으나 파일 크기를 수신하고 이와 동일한 파일이 있는지 판단하는 동작은 필수적이지 않고 선택적일 수 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 지금까지 설명한 것과 같이 본 발명의 실시예에 따른 파일 업로드 방법을 실행시키기 위한 프로그램 또는 프로세스를 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메 모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
이와 같이 본 발명에 의하면, 동일한 파일을 중복 저장할 필요가 없으므로 서버의 스토리지 비용을 줄일 수 있다.
또한 동일한 파일이 서버에 이미 존재하는 경우 사용자 단말이 업로드 대상 파일을 실제 전송할 필요가 없으므로 네트워크 비용을 줄일 수 있다.

Claims (16)

  1. 업로드 대상 파일에서 추출된 적어도 두 개의 특징값을 이용하여 상기 업로드 대상 파일과 동일한 파일이 서버에 존재하는지 판단하는 단계, 그리고
    상기 판단 단계에서 상기 업로드 대상 파일과 동일한 파일이 상기 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일을 업로드 하지 않고 상기 업로드 대상 파일이 업로드 된 것으로 처리하는 단계
    를 포함하는 파일 업로드 방법.
  2. 제1항에서,
    상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 제1 및 제2 부분을 각각 해시하여 추출되는 제1 및 제2 특징값을 포함하고,
    상기 제2 부분의 용량은 상기 제1 부분의 용량보다 큰
    파일 업로드 방법.
  3. 제2항에서,
    상기 판단 단계는,
    상기 제1 특징값이 동일한 파일이 상기 서버에 존재하는지 판단하는 단계, 그리고
    상기 제1 특징값이 동일한 파일이 상기 서버에 존재하면 상기 제2 특징값이 동일한 파일이 상기 서버에 존재하는지 판단하는 단계
    를 포함하는 파일 업로드 방법.
  4. 제3항에서,
    상기 제1 특징값이 동일한 파일이 상기 서버에 존재하지 않거나 상기 제2 특징값이 동일한 파일이 상기 서버에 존재하지 않으면 상기 업로드 대상 파일을 업로드 받는 단계를 더 포함하는 파일 업로드 방법.
  5. 제3항에서,
    상기 업로드 대상 파일을 업로드 받는 단계, 그리고
    상기 제2 특징값이 동일한 파일이 상기 서버에 존재하면 상기 업로드 대상 파일의 업로드를 중단하는 단계
    를 더 포함하는 파일 업로드 방법.
  6. 제2항에서,
    상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 파일 크기를 더 포함하는 파일 업로드 방법.
  7. 제2항에서,
    상기 제2 부분은 상기 업로드 대상 파일 전체인 파일 업로드 방법.
  8. 컴퓨터에 제1항 내지 제7항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  9. 파일을 저장하는 스토리지 서버, 그리고
    업로드 대상 파일에서 추출된 적어도 두 개의 특징값을 이용하여 동일한 파일이 상기 스토리지 서버에 존재하는지 판단하고, 상기 업로드 대상 파일과 동일한 파일이 상기 스토리지 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일을 업로드 하지 않고 상기 업로드 대상 파일이 업로드 된 것으로 처리하는 서비스 서버
    를 포함하는 파일 업로드 시스템.
  10. 제9항에서,
    상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 제1 및 제2 부분을 각각 해시하여 추출되는 제1 및 제2 특징값을 포함하고,
    상기 제2 부분의 용량은 상기 제1 부분의 용량보다 큰
    파일 업로드 시스템.
  11. 제10항에서,
    상기 서비스 서버는 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는지 판단하고 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하면 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는지 판단하는 파일 업로드 시스템.
  12. 제11항에서,
    상기 서비스 서버는 상기 제1 특징값이 동일한 파일이 상기 스토리지 서버에 존재하지 않거나 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하지 않으면 상기 업로드 대상 파일을 업로드 받는 파일 업로드 시스템.
  13. 제11항에서,
    상기 서비스 서버는 상기 업로드 대상 파일을 업로드 받는 중 상기 제2 특징값이 동일한 파일이 상기 스토리지 서버에 존재하는 것으로 판단하면 상기 업로드 대상 파일의 업로드를 중단하는 파일 업로드 시스템.
  14. 제10항에서,
    상기 적어도 두 개의 특징값은 상기 업로드 대상 파일의 파일 크기를 더 포함하는 파일 업로드 시스템.
  15. 제10항에서,
    상기 제2 부분은 상기 업로드 대상 파일 전체인 파일 업로드 시스템.
  16. 제9항에서,
    상기 서비스 서버는,
    상기 스토리지 서버에 저장되어 있는 파일의 제1 및 제2 특징값을 포함하는 파일 정보를 저장하는 파일 정보 데이터베이스, 그리고
    상기 스토리지 서버에 저장되어 있는 파일에서 상기 제1 및 제2 특징값을 추출하여 상기 파일 정보 데이터베이스에 기록하는 파일 관리부를 포함하는
    파일 업로드 시스템.
KR1020070056066A 2007-06-08 2007-06-08 파일 업로드 시스템 및 방법 KR20090003405A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070056066A KR20090003405A (ko) 2007-06-08 2007-06-08 파일 업로드 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070056066A KR20090003405A (ko) 2007-06-08 2007-06-08 파일 업로드 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20090003405A true KR20090003405A (ko) 2009-01-12

Family

ID=40486029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070056066A KR20090003405A (ko) 2007-06-08 2007-06-08 파일 업로드 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20090003405A (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068792B1 (ko) * 2009-03-23 2011-09-30 (주) 컨텐츠로드 Hash코드를 이용한 인터넷 공유 사이트에서의 영상 컨텐츠 저작권 보호 방법
KR101106677B1 (ko) * 2009-05-20 2012-01-18 (주)위디랩 컨텐츠 관리 방법 및 이를 이용한 컨텐츠 운영관리 시스템
KR200458074Y1 (ko) * 2010-07-27 2012-01-18 서일전자 주식회사 전선 접속 조립식 단자대의 커넥터
KR20130063332A (ko) * 2011-12-06 2013-06-14 주식회사 케이티 사용자 단말의 콘텐트 저장 정보 표시 방법
KR20140046860A (ko) * 2012-10-11 2014-04-21 주식회사 케이티 해쉬 기반의 콘텐츠 파일의 식별자 생성 장치 및 방법, 및 해쉬 코드 생성 방법
KR20160024037A (ko) 2014-08-22 2016-03-04 김지필 파일 자동업로드 방법
KR20160034839A (ko) * 2014-08-27 2016-03-30 시아오미 아이엔씨. 파일 백업 방법, 장치, 프로그램 및 기록매체
KR20160079733A (ko) * 2016-06-08 2016-07-06 라온위즈기술 주식회사 사용자 서버를 이용한 파일 제어 시스템 및 방법
US20180034940A1 (en) * 2016-07-27 2018-02-01 Beijing Xiaomi Mobile Software Co., Ltd. Method, apparatus and system for uploading a file

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068792B1 (ko) * 2009-03-23 2011-09-30 (주) 컨텐츠로드 Hash코드를 이용한 인터넷 공유 사이트에서의 영상 컨텐츠 저작권 보호 방법
KR101106677B1 (ko) * 2009-05-20 2012-01-18 (주)위디랩 컨텐츠 관리 방법 및 이를 이용한 컨텐츠 운영관리 시스템
KR200458074Y1 (ko) * 2010-07-27 2012-01-18 서일전자 주식회사 전선 접속 조립식 단자대의 커넥터
KR20130063332A (ko) * 2011-12-06 2013-06-14 주식회사 케이티 사용자 단말의 콘텐트 저장 정보 표시 방법
KR20140046860A (ko) * 2012-10-11 2014-04-21 주식회사 케이티 해쉬 기반의 콘텐츠 파일의 식별자 생성 장치 및 방법, 및 해쉬 코드 생성 방법
KR20160024037A (ko) 2014-08-22 2016-03-04 김지필 파일 자동업로드 방법
KR20160034839A (ko) * 2014-08-27 2016-03-30 시아오미 아이엔씨. 파일 백업 방법, 장치, 프로그램 및 기록매체
KR20160079733A (ko) * 2016-06-08 2016-07-06 라온위즈기술 주식회사 사용자 서버를 이용한 파일 제어 시스템 및 방법
WO2017213454A1 (ko) * 2016-06-08 2017-12-14 라온위즈기술 주식회사 사용자 서버를 이용한 파일 제어 시스템 및 방법
US20180034940A1 (en) * 2016-07-27 2018-02-01 Beijing Xiaomi Mobile Software Co., Ltd. Method, apparatus and system for uploading a file
US10694001B2 (en) * 2016-07-27 2020-06-23 Beijing Xiaomi Mobile Software Co., Ltd. Method, apparatus and system for uploading a file

Similar Documents

Publication Publication Date Title
KR20090003405A (ko) 파일 업로드 시스템 및 방법
CN106464572B (zh) 消息附件管理
US8914856B1 (en) Synchronization of networked storage systems and third party systems
CN108234539B (zh) 一种文件上传、下载、传输方法及装置
JP5429912B2 (ja) 認証システム、認証サーバ、サービス提供サーバ、認証方法、及びプログラム
JP6431260B2 (ja) モバイル端末で大容量のファイルが添付されたメールを送信する方法およびシステム
US10965732B2 (en) Streaming zip
JP2007026244A (ja) ソフトウェア・パッケージを再構築する方法
WO2016070718A1 (zh) 进行文件下载的方法、装置和浏览器
JP6506374B2 (ja) キャッシュ管理
US9934081B2 (en) Conditional saving of input data
CN111935227A (zh) 通过浏览器上传文件的方法、浏览器和电子设备
CN111756847B (zh) 网站支持https协议的方法和装置
US8782285B1 (en) Lazy transcoding and re-transcoding of media objects in an online video platform
US8352442B2 (en) Determination of an updated data source from disparate data sources
US10387663B2 (en) System, a method and a computer readable medium for transmitting an electronic file
US20150046988A1 (en) System, control method therefor, and non-transitory computer-readable medium
US20140068006A1 (en) Method, apparatus and system for providing content
US9742832B2 (en) Transmission apparatus, transmission method, computer-readable storage medium storing transmission program, and relay system
US11184423B2 (en) Offloading upload processing of a file in a distributed system using a key that includes a hash created using attribute(s) of a requestor and/or the file
KR100572232B1 (ko) 데이터 전송 방법
CN108063771B (zh) 加密压缩文件的监控方法及装置
US20220069978A1 (en) Method and apparatus for storing evidence collection process video segment
US20220271959A1 (en) Transmission control method, non-transitory computer-readable storage medium for storing transmission control program, and information processing device
JP5948930B2 (ja) 中継装置、方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application