KR101227591B1 - 대량 파일 업로딩 및 다운로딩 시스템 - Google Patents

대량 파일 업로딩 및 다운로딩 시스템 Download PDF

Info

Publication number
KR101227591B1
KR101227591B1 KR1020100134655A KR20100134655A KR101227591B1 KR 101227591 B1 KR101227591 B1 KR 101227591B1 KR 1020100134655 A KR1020100134655 A KR 1020100134655A KR 20100134655 A KR20100134655 A KR 20100134655A KR 101227591 B1 KR101227591 B1 KR 101227591B1
Authority
KR
South Korea
Prior art keywords
file
hashing code
download
server
stored
Prior art date
Application number
KR1020100134655A
Other languages
English (en)
Other versions
KR20120072769A (ko
Inventor
박선민
Original Assignee
뉴21커뮤니티(주)
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 뉴21커뮤니티(주) filed Critical 뉴21커뮤니티(주)
Priority to KR1020100134655A priority Critical patent/KR101227591B1/ko
Publication of KR20120072769A publication Critical patent/KR20120072769A/ko
Application granted granted Critical
Publication of KR101227591B1 publication Critical patent/KR101227591B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드를 이용하여 요청된 파일의 저장여부를 판단하는 업로드서버(100); 및 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드를 이용하여 상기 저장된 업로드 파일의 별도 저장여부를 판단하는 다운로드서버(500);를 포함하는 대량 파일 업로딩 및 다운로딩 시스템이 소개된다.

Description

대량 파일 업로딩 및 다운로딩 시스템 {SYSTEM FOR UPLOADING ANG DOWNLOADING MASS FILES}
본 발명은 대량의 파일을 업로드하거나 다운로드함에 있어서 빠르고 효율적으로 파일들을 관리하고 안정적으로 시스템을 유지할 수 있도록 하는 대량 파일 업로딩 및 다운로딩 시스템에 관한 것이다.
인터넷과 휴대용 통신기기가 발전함에 따라 인터넷을 통한 다양한 서비스가 제공되고 있다. 대표적인 서비스로는 대용량의 다양한 파일을 웹상에서 전송하는 서비스로서, 일명 웹하드라고 불리우는 웹서버를 이용하여 파일의 업로드 및 다운로드가 유저간에 자유로이 실행되도록 하는 것이다.
특히, 최근에는 스마트폰을 이용하여 인터넷을 활용하는 것이 저변화 되었는바, 그러한 파일 전송 서비스가 더욱 활성화되었다.
그러나 사용자가 증대함에 따라 전송되는 파일의 용량, 개수 및 종류가 급격히 증대되고 있는바, 기존의 웹서버 시스템에 따를 경우 업로드 및 다운로드 실행의 과부하가 인가되어 시스템이 정지되거나 느려지는 경우가 많이 발생하고 있는 실정이다.
도 1은 이러한 종래의 웹서버 시스템을 나타낸 도면으로서, 종래의 웹서버 시스템에서는 인터넷에 연결된 하나의 웹서버(10)가 스토리지(30) 및 사용자파일DB(20)와 연계되어 사용자(40)의 업로드 파일을 관리하고, 사용자(50)에게 업로드된 파일을 전송할 수 있게 하였다.
그러나 이러한 종래의 웹서버 시스템에 의하면, 사용자가 적고 이동되는 파일의 수가 적을 경우에는 문제가 되지 않았으나, 사용자가 동시다발적으로 접속한 상태에서 업로드 및 다운로드 되는 파일의 수가 급격히 증대될 경우, 증가하는 태스크의 양에 따라 시스템의 부하 역시 과부하 상태로 진입하여 웹서버(10)의 기능이 심각히 느려지거나 심지어는 정지되는 상태에까지 이르게 된다.
또한, 잦은 트래픽의 증가와 과도한 운용에 의해 스토리지(30)가 고장나고, 이런 경우 스토리지(30)에 저장된 파일을 잃어버리는 경우도 발생하여 시스템의 안정성 측면에서 최근의 수요를 감당하기 어려운 측면이 있었던 것이다.
상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술분야에서 통상의 지식을 가진자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안될 것이다.
본 발명은 이러한 문제점을 해결하기 위하여 제안된 것으로, 다량의 파일을 동시다발적으로 업로드 및 다운로드 하더라도 트래픽과 태스크의 집중을 분산함으로써 속도와 안정성이 모두 보장되는 대량 파일 업로딩 및 다운로딩 시스템을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 대량 파일 업로딩 및 다운로딩 시스템은, 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드를 이용하여 요청된 파일의 저장여부를 판단하는 업로드서버; 및 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드를 이용하여 상기 저장된 업로드 파일의 별도 저장여부를 판단하는 다운로드서버;를 포함한다.
또한, 상기 업로드 요청된 파일이 저장되는 스토리지서버; 및 상기 업로드서버에서 생성된 해싱코드가 저장되는 해싱코드DB;를 더 포함하고, 상기 업로드서버는, 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드가 해싱코드DB에 존재하지 않는 경우, 요청된 파일과 그에 대응되는 해싱코드를 각각 스토리지서버 및 해싱코드DB에 저장할 수 있다.
또한, 상기 업로드 요청된 파일의 요청시간, 파일명 및 그에 대응되는 해싱코드가 저장되는 사용자파일DB;를 더 포함할 수 있다.
상기 업로드서버 및 스토리지서버는 복수개가 마련되고, 복수의 업로드서버 및 스토리지서버는 해싱코드DB 및 사용자파일DB를 공유하도록 할 수 있다.
또한, 다운로드 요청 파일이 저장되는 다운로드 스토리지서버; 및 상기 다운로드 스토리지서버에 저장된 파일에 대응되는 해싱코드가 저장되는 다운로드 해싱코드DB;를 더 포함하고, 상기 다운로드서버는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB에 존재하는 경우 다운로드 스토리지서버의 대응되는 파일을 다운로딩하도록 할 수 있다.
상기 다운로드서버는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB에 존재하지 않는 경우 스토리지서버로부터 파일을 다운로드 스토리지서버에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 다운로드 해싱코드DB에 저장하도록 할 수 있다.
상기 스토리지서버에 저장된 업로드 파일의 변환파일에 대응되는 해싱코드가 저장되는 변화파일 해싱코드DB;를 더 포함하고, 상기 다운로드서버는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB에 존재하는 경우 다운로드 스토리지서버의 대응되는 변환파일을 다운로딩하도록 할 수 있다.
상기 다운로드서버는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB에 존재하지 않는 경우 스토리지서버로부터 파일을 전송받아 변환하여 다운로드 스토리지서버에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 변환파일 해싱코드DB에 저장하도록 할 수 있다.
상술한 바와 같은 구조로 이루어진 대량 파일 업로딩 및 다운로딩 시스템에 따르면, 다량의 파일을 복수의 사용자가 동시에 업로드 및 다운로드 하더라도 서버와 스토리지에 집중되는 트래픽 및 태스크의 양이 감소되어 서버의 운영이 속도적으로 향상되고 파일에 대한 안정성이 증대된다.
또한, 스토리지를 분산하면서도 자동적으로 업데이트 되도록 함으로써 어느 하나의 스토리지가 고장나더라도 전체 시스템이 항상 유지되는바, 안정적인 다운로딩이 이루어질 수 있다.
또한, 스마트폰이나 기타 통신기기에서 필요로 하는 확장자 내지 코덱에 맞추어 자동적으로 변환된 파일을 전송하며, 한번 전송된 파일을 재차 전송시 좀 더 빠르게 전송할 수 있도록 함으로써 컨텐츠의 수요자들에게 다양하고 안정적인 서비스를 제공할 수 있게 된다.
도 1은 종래의 웹서버 시스템을 나타낸 구성도.
도 2는 본 발명의 일 실시예에 따른 대량 파일 업로딩 및 다운로딩 시스템의 개략도.
도 3은 도 2에 도시된 대량 파일 업로딩 및 다운로딩 시스템의 구성도.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 따른 대량 파일 업로딩 및 다운로딩 시스템에 대하여 살펴본다.
도 2는 본 발명의 일 실시예에 따른 대량 파일 업로딩 및 다운로딩 시스템의 개략도이고, 도 3은 도 2에 도시된 대량 파일 업로딩 및 다운로딩 시스템의 구성도이다.
본 발명의 일 실시예에 따른 대량 파일 업로딩 및 다운로딩 시스템은 크게 업로드서버(100), 스토리지서버(300), 다운로드서버(500)로 구성되고, 업로드서버(100)에는 다수의 사용자가 동시에 파일의 업로드를 하고 있는 상태이며, 다운로드서버(500)에서는 업로드된 파일을 다수의 사용자가 동시에 다운로드를 하고 있는 상태이다.
여기서, 업로드하는 사용자는 일반 인터넷 유저도 가능할 것이지만, 웹상에서 정보를 수집하여 서버에 업로드하는 프로그램을 포함하는 개념으로서, 업로드서버에 파일을 업로딩 하는 프로세스를 의미한다.
이러한 업로드서버(100)와 다운로드서버(500)는 모두 스토리지서버(300)와 DB(700)에 연계됨으로써 파일을 관리하고 로그 및 태그를 공유하도록 한다.
구체적으로, 도 3은 도 2에 도시된 대량 파일 업로딩 및 다운로딩 시스템의 구성도로서, 이를 참고하여 본 발명의 일 실시예에 따른 대량 파일 업로딩 및 다운로딩 시스템을 설명한다.
본 발명의 일 실시예에 따른 대량 파일 업로딩 및 다운로딩 시스템은, 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드를 이용하여 요청된 파일의 저장여부를 판단하는 업로드서버(100); 및 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드를 이용하여 상기 저장된 업로드 파일의 별도 저장여부를 판단하는 다운로드서버(500);를 포함한다.
업로드서버(100)에는 다수의 사용자가 접속하여 동시다발적으로 다양한 파일을 업로드 한다. 이를 위해 업로드서버(100)에는 임시저장공간(도면 미도시)을 마련함이 바람직하다.
업로드서버(100)는 임시저장공간에 업로된 파일로부터 해싱코드(hashing code)를 생성한다. 해싱코드란, 임의의 데이터로부터 해시함수를 통해 도출되는 짧은 전자지문을 말하는 것으로서, 데이터를 자르고 치환하거나 위치를 바꾸는 등의 방법을 사용해 결과를 만들어 내며, 이 결과를 흔히 해싱코드라고 한다.
업로드된 파일을 해싱코드로 변환하는 이유는 파일을 태그화 함으로써 쉽게 파일을 관리하고 중복저장을 방지하며 서비스의 속도를 증가시키고 관리를 용이하게 하기 위함이다. 이하의 실시예에서는 해싱코드를 생성하는 방법으로서 MD5 해시함수를 이용한 방법을 설명한다.
MD5는 임의의 길이의 메시지를 입력받아, 128비트짜리 고정 길이의 출력값을 낸다. 입력 메시지는 512 비트 블록들로 쪼개진다. 메시지를 우선 패딩하여 512로 나누어 떨어질 수 있는 길이가 되게 하고, 패딩은 다음과 같이 한다 우선, 첫 단일 비트, 1을 메시지 끝부분에 추가한다. 512의 배수의 길이보다 64 비트가 적은 곳까지 0으로 채운다. 나머지 64 비트는 최초의(오리지널) 메시지의 길이를 나타내는 64 비트 정수 값으로 채움으로써 본래의 파일로부터 해싱코드가 생성되는 것이다.
업로드서버(100)에서는 이와 같이 생성된 해싱코드를 이용하여 업로드 요청 파일의 저장여부를 결정한다. 만약, 이미 다른 사용자에 의해 저장된 파일로서, 해싱코드가 존재하는 경우라면, 중복 저장을 피하기 위해 사용자의 ID, 파일명, 해싱코드만을 저장하고, 업로드 요청 파일은 임시저장공간에서 지우는 것이다.
만일 해싱코드를 대조하였을 때 새로운 해싱코드로 판명되면 업로드 요청 파일을 스토리지서버(300)에 저장하고, 사용자의 ID, 파일명, 해싱코드 역시 저장하여 추후에 일어날 수 있는 중복 저장을 피하게 된다.
이를 위해 업로드서버(100)는 사용자파일DB(720), 해싱코드DB(760), 스토리지서버(300)와 연동되도록 한다.
한편, 다운로드서버(500)는 또 다른 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드를 이용하여 상기 저장된 업로드 파일의 별도 저장여부를 판단한다. 즉, 다운로드서버(500) 역시 다수의 사용자가 접속하여 다양한 파일을 대량으로 다운로드 하는 상태로서, 이를 위해 다운로드서버(500)는 각각 다운로드 해싱코드DB(520)와 다운로드 스토리지서버(560)를 구비한다.
다운로드서버(500)는 사용자의 특정 파일 다운로드 요청시 해당파일의 파일명을 가지고 상기 사용자파일DB(720)를 조회하여 해당파일의 해싱코드를 호출한다. 다운로드서버(500)는 호출된 해싱코드를 다운로드 해싱코드DB(520)로 조회하여 다운로드 이력이 있는지를 판단한다.
만약 한번도 다운로드 되지 않은 파일이라면, 해당 파일을 상기 스토리지서버(300)로부터 불러들여와 다운로드 스토리지서버(560)에 저장하며 해당 파일 및 해싱코드를 다운로드 해싱코드DB(520)에 저장한다. 이와 동시에, 해당 파일은 다운로딩을 요청한 사용자에게 전송하게 된다.
만약, 종래 다운로드가 이루어진 파일이라면, 그 파일에 대하여는 다운로드 스토리지서버(560)와 다운로드 해싱코드DB(520)에 존재하는 것인바, 해싱코드를 이용하여 파일을 다운로드 스토리지서버(560)로부터 사용자에게 전송하는 것이다.
따라서, 이러한 업로드서버(100)와 다운로드서버(500)는 각각 독립적으로 업로딩과 다운로딩을 하되, 파일의 연결고리라고 할 수 있는 사용자파일DB(720) 및 해싱코드DB(760)를 공유함으로써, 각 서버에 발생할 수 있는 트래픽 과부하 및 태스크 과부하를 피할 수 있는 것이다.
또한, 다운로드서버(500)는 스토리지서버(300)로부터 필요시 파일을 공급받는 다운로드 스토리지서버(560)를 별도로 구비하는바, 다운로드 스토리지서버(560)만을 교체함으로써 고장에 대비할 수 있어 안정적으로 업로드와 다운로드가 유지될 수 있는 것이다.
본 발명에 따른 대량 파일 업로딩 및 다운로딩 시스템은 앞서 설명한 바와 같이, 업로드 요청된 파일이 저장되는 스토리지서버(300); 및 상기 업로드서버에서 생성된 해싱코드가 저장되는 해싱코드DB(760);를 더 포함하고, 상기 업로드서버(100)는, 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드가 해싱코드DB(760)에 존재하지 않는 경우, 요청된 파일과 그에 대응되는 해싱코드를 각각 스토리지서버(300) 및 해싱코드DB(760)에 저장하는 것을 특징으로 한다.
또한, 상기 업로드 요청된 파일의 요청시간, 파일명 및 그에 대응되는 해싱코드가 저장되는 사용자파일DB(720);를 더 포함함으로써 업로드 리스트를 작성하고 보관하여 참조할 수 있게 된다. 또한 다운로드에 대응되는 사용자 다운로드DB를 구비함으로써 다운로드 요청된 파일의 요청시간, 파일명 및 그에 대응되는 해싱코드를 저장한다.
이를 통해, 업로드된 파일 자체는 스토리지서버(300)에 저장되며 그 해싱코드는 파일명과 연계되어 사용자파일DB(720) 및 해싱코드DB(760)에 저장되는 것이다. 또한, 해당 파일의 다운로드 요청시에는 다운로드서버(500)가 해당 파일의 파일명이 사용자 다운로드DB(740)에 존재하는지 참조하여, 존재한다면 해당파일의 해싱코드를 이용하여 다운로드 스토리지서버(560)에서 직접 다운로딩하고, 존재하지 않는다면 본래의 스토리지서버(300)에서 파일을 불러와 저장함과 동시에 전송하는 것이다. 해당 파일의 추후 다운로드시에는 이미 그 파일의 해싱토드 및 다운로드 이력이 저장되어 있을 것이므로, 직접 다운로드 스토리지서버(560)에서 전송하는 것이며, 이를 통해 업로드 서버와의 간섭을 피하고 태스크의 집중을 분산하게 되는 것이다.
한편, 상기 업로드서버(100) 및 스토리지서버(300)는 복수개가 마련되고, 복수의 업로드서버(100) 및 스토리지서버(300)는 해싱코드DB(760) 및 사용자파일DB(720)를 공유하도록 할 수 있다. 이 경우에는 운영자의 설정에 따라 업로드서버와 스토리지서버의 관련 규칙을 설정할 수 있을 것이다.
또한, 상기 다운로드서버(500) 역시 복수개 마련할 경우, 각각의 다운로드서버(500,500')에는 중복되어 파일들이 저장될 수 있을 것이나, 일부 다운로드서버가 고장나더라도 해당 파일의 원본은 스토리지서버(300)에 저장되어 있고, 나머지 다운로드서버의 다운로드 스토리지서버를 운용함으로써 사용자의 요청을 안정적으로 수행할 수 있게 된다.
상기 살핀 바와 같이, 다운로드서버(500)는, 다운로드 요청 파일이 저장되는 다운로드 스토리지서버(560); 및 상기 다운로드 스토리지서버(560)에 저장된 파일에 대응되는 해싱코드가 저장되는 다운로드 해싱코드DB(520);를 더 포함하고, 상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB(520)에 존재하는 경우 다운로드 스토리지서버(560)의 대응되는 파일을 다운로딩하는 것을 특징으로 한다.
또한, 상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB(520)에 존재하지 않는 경우 스토리지서버(300)로부터 파일을 다운로드 스토리지서버(560)에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 다운로드 해싱코드DB(520)에 저장하도록 한다.
이러한 다운로드서버(500)는 상기 스토리지서버(300)에 저장된 업로드 파일의 변환파일에 대응되는 해싱코드가 저장되는 변환파일 해싱코드DB(540);를 더 포함하고, 상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB(540)에 존재하는 경우 다운로드 스토리지서버(560)의 대응되는 변환파일을 다운로딩하도록 할 수 있다.
또한, 이에 따라 상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB(540)에 존재하지 않는 경우 스토리지서버(300)로부터 파일을 전송받아 변환하여 다운로드 스토리지서버(560)에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 변환파일 해싱코드DB(540)에 저장하도록 할 수 있다.
스마트폰과 같은 경우에는 화면의 해상도가 작거나, 작은 크기의 파일만으로도 원하는 결과를 출력할 수 있는바, 동영상 파일의 해상도나 코덱을 변환하고, 문서파일의 확장자를 변환할 필요가 있다.
따라서 이에 대응하기 위해 사용자로부터 동일한 파일의 변환파일에 대한 다운로드 요청이 접수될 경우, 다운로드서버(500)는 해당파일의 파일명을 통해 해싱코드를 호출하고, 해당 해싱코드를 변환파일 해싱코드DB(540)에서 조회한 후, 다운로드 이력이 있는 것으로 판단된 경우 바로 다운로드 스토리지서버(560)에서 변환파일을 찾아 전송하고, 전송 이력이 없는 것으로 판명된 경우 스토리지서버(300)로부터 파일을 불러와 변환한 후 변환파일을 다운로드 스토리지서버(560)에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 변환파일 해싱코드DB(540)에 저장한다.
이를 통해 사용자는 요청파일의 변환파일까지도 손쉽게 받아볼 수 있는 것이며, 변환파일 역시 동일한 방법으로 저장되는바, 서비스가 안정적으로 이루어질 수 있는 것이다.
본 발명은 특정한 실시예에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 제공되는 본 발명의 기술적 사상을 벗어나지 않는 한도 내에서, 본 발명이 다양하게 개량 및 변화될 수 있다는 것은 당 업계에서 통상의 지식을 가진 자에게 있어서 자명할 것이다.
100 : 업로드서버 300 : 스토리지서버
500 : 다운로드서버 520 : 다운로드 해싱코드DB
540 : 변환파일 해싱코드DB 560 : 다운로드 스토리지서버
720 : 사용자파일DB 740 : 사용자 다운로드DB
760 : 해싱코드DB

Claims (8)

  1. 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드를 이용하여 요청된 파일의 저장여부를 판단하는 업로드서버(100); 및
    사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드를 이용하여 상기 저장된 업로드 파일의 별도 저장여부를 판단하는 다운로드서버(500);를 포함하는 대량 파일 업로딩 및 다운로딩 시스템.
  2. 청구항 1에 있어서,
    상기 업로드 요청된 파일이 저장되는 스토리지서버(300); 및
    상기 업로드서버에서 생성된 해싱코드가 저장되는 해싱코드DB(760);를 더 포함하고,
    상기 업로드서버(100)는, 사용자의 파일 업로드 요청시 요청된 파일의 해싱코드를 생성하고, 생성된 해싱코드가 해싱코드DB(760)에 존재하지 않는 경우, 요청된 파일과 그에 대응되는 해싱코드를 각각 스토리지서버(300) 및 해싱코드DB(760)에 저장하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  3. 청구항 2에 있어서,
    상기 업로드 요청된 파일의 요청시간, 파일명 및 그에 대응되는 해싱코드가 저장되는 사용자파일DB(720);를 더 포함하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  4. 청구항 3에 있어서,
    상기 업로드서버(100) 및 스토리지서버(300)는 복수개가 마련되고, 복수의 업로드서버(100) 및 스토리지서버(300)는 해싱코드DB(760) 및 사용자파일DB(720)를 공유하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  5. 청구항 1에 있어서,
    다운로드 요청 파일이 저장되는 다운로드 스토리지서버(560); 및
    상기 다운로드 스토리지서버(560)에 저장된 파일에 대응되는 해싱코드가 저장되는 다운로드 해싱코드DB(520);를 더 포함하고,
    상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB(520)에 존재하는 경우 다운로드 스토리지서버(560)의 대응되는 파일을 다운로딩하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  6. 청구항 5에 있어서,
    상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 다운로드 요청시 요청된 파일의 해싱코드를 호출하고, 호출된 해싱코드가 다운로드 해싱코드DB(520)에 존재하지 않는 경우 스토리지서버(300)로부터 파일을 다운로드 스토리지서버(560)에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 다운로드 해싱코드DB(520)에 저장하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  7. 청구항 5에 있어서,
    상기 업로드 요청된 파일이 저장되는 스토리지서버(300); 및
    상기 스토리지서버(300)에 저장된 업로드 파일의 변환파일에 대응되는 해싱코드가 저장되는 변환파일 해싱코드DB(540);를 더 포함하고,
    상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB(540)에 존재하는 경우 다운로드 스토리지서버(560)의 대응되는 변환파일을 다운로딩하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
  8. 청구항 7에 있어서,
    상기 다운로드서버(500)는, 사용자의 상기 저장된 업로드 파일의 변환파일의 다운로드 요청시 요청된 변환파일의 해싱코드를 호출하고, 호출된 해싱코드가 변환파일 해싱코드DB(540)에 존재하지 않는 경우 스토리지서버(300)로부터 파일을 전송받아 변환하여 다운로드 스토리지서버(560)에 저장함과 동시에 다운로딩하며, 대응되는 해싱코드를 변환파일 해싱코드DB(540)에 저장하는 것을 특징으로 하는 대량 파일 업로딩 및 다운로딩 시스템.
KR1020100134655A 2010-12-24 2010-12-24 대량 파일 업로딩 및 다운로딩 시스템 KR101227591B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100134655A KR101227591B1 (ko) 2010-12-24 2010-12-24 대량 파일 업로딩 및 다운로딩 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100134655A KR101227591B1 (ko) 2010-12-24 2010-12-24 대량 파일 업로딩 및 다운로딩 시스템

Publications (2)

Publication Number Publication Date
KR20120072769A KR20120072769A (ko) 2012-07-04
KR101227591B1 true KR101227591B1 (ko) 2013-02-04

Family

ID=46707398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100134655A KR101227591B1 (ko) 2010-12-24 2010-12-24 대량 파일 업로딩 및 다운로딩 시스템

Country Status (1)

Country Link
KR (1) KR101227591B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028587A1 (en) 2001-05-11 2003-02-06 Driscoll Michael C. System and method for accessing and storing data in a common network architecture
KR20060104310A (ko) * 2005-03-30 2006-10-09 (주)이스트소프트 웹 스토리지의 분산 파일관리시스템 및 파일관리방법
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
KR20100122134A (ko) * 2009-05-12 2010-11-22 크로시스(주) 동기화 기술을 이용한 멀티미디어 제작자 지원 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028587A1 (en) 2001-05-11 2003-02-06 Driscoll Michael C. System and method for accessing and storing data in a common network architecture
KR20060104310A (ko) * 2005-03-30 2006-10-09 (주)이스트소프트 웹 스토리지의 분산 파일관리시스템 및 파일관리방법
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
KR20100122134A (ko) * 2009-05-12 2010-11-22 크로시스(주) 동기화 기술을 이용한 멀티미디어 제작자 지원 시스템

Also Published As

Publication number Publication date
KR20120072769A (ko) 2012-07-04

Similar Documents

Publication Publication Date Title
EP2507938B1 (en) System and methods for efficient media delivery using cache
CN102355426B (zh) 实现离线文件传输的方法和系统
US8068512B2 (en) Efficient utilization of cache servers in mobile communication system
CN103841170B (zh) 一种云存储方法和服务器
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
JP2016006671A (ja) データ送受信システム及びデータ送受信方法
CN102413185A (zh) 基于bt技术的云平台自动升级系统
CN103209223A (zh) 分布式应用会话信息共享方法、系统和应用服务器
US8250171B2 (en) Content delivery apparatus, content delivery method, and content delivery program
CN102750324A (zh) 文件存储系统、装置及文件存取方法
JP2008502061A5 (ko)
EP3820107A1 (en) Method and device for transmitting data, and method and apparatus for receiving data
US8086629B2 (en) Content delivery apparatus, content delivery method, and content delivery program
CN103220308B (zh) 一种文件下载方法、装置及系统
CN111045715A (zh) 一种云游戏的热更新方法、系统和可读存储介质
US20160234129A1 (en) Communication system, queue management server, and communication method
KR20100072992A (ko) 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
JP2004310371A (ja) ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体
KR101033813B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
JP2014526098A (ja) フォントファイルをダウンロードする方法およびシステム
JP2015141473A (ja) サーバーシステム、サーバーシステムを制御する方法、プログラム
CN116684468B (zh) 数据处理方法、装置、设备及存储介质
JP2005228183A (ja) プログラム実行方法、および、プログラム実行のための計算機システム
US20190197186A1 (en) Computer-implemented methods, systems comprising computer-readable media, and electronic devices for automated transcode lifecycle buffering

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190123

Year of fee payment: 7