KR101147892B1 - 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법 - Google Patents

스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법 Download PDF

Info

Publication number
KR101147892B1
KR101147892B1 KR1020110106740A KR20110106740A KR101147892B1 KR 101147892 B1 KR101147892 B1 KR 101147892B1 KR 1020110106740 A KR1020110106740 A KR 1020110106740A KR 20110106740 A KR20110106740 A KR 20110106740A KR 101147892 B1 KR101147892 B1 KR 101147892B1
Authority
KR
South Korea
Prior art keywords
file
identification value
memory unit
storage device
database
Prior art date
Application number
KR1020110106740A
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 KR1020110106740A priority Critical patent/KR101147892B1/ko
Application granted granted Critical
Publication of KR101147892B1 publication Critical patent/KR101147892B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

스토리지(storage) 장치 및 상기 스토리지 장치의 파일 관리 방법이 개시된다. 본 발명의 실시예들은 다수의 클라이언트 단말들로부터 동일한 파일이 스토리지 장치에 중복 저장될 경우, 실질적으로 상기 스토리지 장치에 파일이 중복 저장되지 않도록 함으로써, 상기 스토리지 장치의 저장 공간이 낭비되는 것을 방지할 수 있는 기술에 대한 것이다.

Description

스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법{STORAGE APPARATUS AND FILE MANAGEMENT METHOD OF THE STORAGE APPARATUS}
본 발명의 실시예들은 스토리지(storage) 장치에 동일한 파일이 중복 저장될 경우, 스토리지 장치의 데이터 저장 공간의 활용을 최적화할 수 있는 기술들과 관련된다.
최근, 스마트 폰이나 태블릿 PC와 같은 다양한 휴대용 기기가 등장하면서, 웹 등을 통해 소정의 데이터 저장 공간을 제공하는 서비스가 급증하고 있다.
이러한 서비스는 클라이언트 단말에 있는 파일을 웹을 통해 원격의 스토리지(storage) 장치에 저장할 수 있다는 점에서 저장 공간의 제한이 있는 휴대용 기기 사용자에게 여러가지 편의를 제공할 수 있다.
또한, 기업 등과 같은 단체에서는 단체에 소속된 인원들 간에 데이터 공유를 위해 중앙의 스토리지 장치에 데이터를 저장하는 경우가 많다.
이렇게 클라이언트 단말에 있는 파일을 중앙의 스토리지 장치에 저장하는 방식이 널리 보급됨에 따라 상기 스토리지 장치의 성능 개선과 관련된 연구의 필요성이 증가하고 있다.
특히, 스토리지 장치의 경우, 다수의 클라이언트 단말들로부터 수신된 데이터를 저장해야 하기 때문에 저장 공간의 확보가 중요한 이슈 중 하나이다.
보통, 중앙의 스토리지 장치에 데이터를 저장하는 클라이언트 단말의 사용자들은 서로 어떤 데이터를 업로드하는지 알지 못하기 때문에 상기 스토리지 장치에 서로 다른 클라이언트 단말들로부터 동일한 데이터가 중복되어 저장되는 경우가 발생할 수 있다.
다시 말해서, 클라이언트 단말 1로부터 “A”라는 파일이 스토리지 장치에 저장될 수 있고, 클라이언트 단말 2로부터도 “A”와 동일한 파일이 상기 스토리지 장치에 저장될 수 있다.
이렇게 다수의 클라이언트 단말들로부터 동일한 파일이 상기 스토리지 장치에 중복 저장되는 경우, 상기 스토리지 장치의 저장 공간이 낭비될 수 있다.
따라서, 다수의 클라이언트 단말들로부터 동일한 파일이 상기 스토리지 장치에 중복 저장될 경우, 상기 스토리지 장치의 저장 공간을 효율적으로 활용할 수 있도록 하는 방안에 대한 연구가 필요하다.
본 발명의 실시예들은 다수의 클라이언트 단말들로부터 동일한 파일이 스토리지(storage) 장치에 중복 저장될 경우, 실질적으로 상기 스토리지 장치에 파일이 중복 저장되지 않도록 함으로써, 상기 스토리지 장치의 저장 공간이 낭비되는 것을 방지하고자 한다.
본 발명의 일실시예에 따른 스토리지(storage) 장치는 상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스, 상기 적어도 하나의 파일이 저장된 제1 메모리부, 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일에 대한 정보를 기록하는 제2 메모리부, 상기 제1 파일에 대한 식별 값을 생성하는 식별 값 생성부, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 판단부 및 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 제어부를 포함한다.
또한, 본 발명의 또 다른 일실시예에 따른 스토리지 장치는 상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스, 상기 적어도 하나의 파일이 저장된 제1 메모리부, 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일을 저장하는 제2 메모리부, 상기 제2 메모리부에서 상기 제1 파일을 삭제하고, 상기 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 메모리 제어부, 상기 제1 파일에 대한 식별 값을 생성하는 식별 값 생성부, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 판단부 및 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 데이터베이스 제어부를 포함한다.
또한, 본 발명의 일실시예에 따른 스토리지 장치의 파일 관리 방법은 상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리하는 단계, 상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리하는 단계, 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 단계, 상기 제1 파일에 대한 식별 값을 생성하는 단계, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 단계 및 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 단계를 포함한다.
또한, 본 발명의 또 다른 일실시예에 따른 스토리지 장치의 파일 관리 방법은 상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리하는 단계, 상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리하는 단계, 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일을 저장하는 단계, 상기 제2 메모리부에서 상기 제1 파일을 삭제하고, 상기 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 단계, 상기 제1 파일에 대한 식별 값을 생성하는 단계, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 단계 및 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 단계를 포함한다.
본 발명의 실시예들은 다수의 클라이언트 단말들로부터 동일한 파일이 스토리지(storage) 장치에 중복 저장될 경우, 실질적으로 상기 스토리지 장치에 파일이 중복 저장되지 않도록 함으로써, 상기 스토리지 장치의 저장 공간이 낭비되는 것을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 스토리지(storage) 장치를 설명하기 위한 전체 시스템 개념도이다.
도 2는 본 발명의 일실시예에 따른 스토리지 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 또 다른 일실시예에 따른 스토리지 장치의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 스토리지 장치의 파일 관리 방법을 도시한 순서도이다.
도 5는 본 발명의 또 다른 일실시예에 따른 스토리지 장치의 파일 관리 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 스토리지(storage) 장치를 설명하기 위한 전체 시스템 개념도이다.
도 1을 참조하면, 스토리지 장치(110), 클라이언트 단말 1(121), 클라이언트 단말 2(122) 및 클라이언트 단말 3(123)이 도시되어 있다.
여기서, 클라이언트 단말 1, 2, 3(121, 122, 123)은 노트북, 데스크탑 컴퓨터, 스마트 폰, 태블릿 PC 등 스토리지 장치(110)와 유선 또는 무선으로 연결되어 스토리지 장치(110)에 데이터를 저장할 수 있는 마이크로프로세서 기반의 단말 장치를 의미한다.
먼저, 스토리지 장치(110)는 제1 메모리부와 제2 메모리부를 포함할 수 있고, 스토리지 장치(110)에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 포함할 수 있다.
이때, 상기 제1 메모리부에는 스토리지 장치(110)에 대해 기 저장 요청되었던 상기 적어도 하나의 파일이 저장되어 있을 수 있다.
만약, 클라이언트 단말 1(121)로부터 스토리지 장치(110)에 대해 “파일 A”에 대한 저장 요청이 수신되는 경우, 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”를 수신하여 상기 제2 메모리부에 대해 “파일 A”에 대한 정보를 기록할 수 있다.
그리고 나서, 스토리지 장치(110)는 “파일 A”에 대한 식별 값을 생성하고, 상기 데이터베이스에 “파일 A”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
여기서, 상기 식별 값이란 파일에 대한 해시 값, 파일의 크기, 검사 합(checksum) 등 파일을 식별할 수 있는 다양한 값들을 모두 통칭하는 개념이다.
만약, 상기 데이터베이스에 “파일 A”에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 스토리지 장치(110)는 “파일 A”가 클라이언트 단말 1(121)이 저장 요청하기 전에 이미 스토리지 장치(110)에 저장 요청된 적이 있는 중복 파일인 것으로 판단하여 상기 데이터베이스에 대해 “파일 A”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
예컨대, 상기 데이터베이스에 “파일 A”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 3회로 저장되어 있는 경우, 스토리지 장치(110)는 상기 중복 저장 횟수를 4회로 증가시킬 수 있다.
결국, 스토리지 장치(110)에는 “파일 A”와 동일한 파일이 4번 중복 저장된 것으로 판단할 수 있다.
스토리지 장치(110)는 상기 중복 저장 횟수를 증가시킨 이후 상기 제2 메모리부에 기록된 “파일 A”에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크(link)를 형성할 수 있다.
이때, 클라이언트 단말 1(121)는 상기 제2 메모리부 상에 저장되어 있는 “파일 A”에 대한 정보를 기초로 자신이 스토리지 장치(110)에 저장 요청하였던 “파일 A”에 대한 액세스를 요청할 수 있다.
이때, 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”에 대한 액세스 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보와 상기 링크를 기초로 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 클라이언트 단말 1(121)의 액세스를 제어할 수 있다.
다시 말해서, 스토리지 장치(110)는 상기 제1 메모리부 상에만 “파일 A”에 대한 원본 파일을 저장해 놓고, 상기 제2 메모리부 상에는 “파일 A”에 대한 정보만을 기록해 놓은 후 클라이언트 단말 1(121)로부터 “파일 A”에 대한 액세스 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보를 기초로 상기 링크를 이용하여 상기 제1 메모리부 상에 저장되어 있는 상기 원본 파일에 대한 액세스를 제어할 수 있다.
만약, 클라이언트 단말 2(122)로부터 스토리지 장치(110)에 대해 “파일 A”와 동일한 식별 값을 갖는 “파일 B”에 대한 저장 요청이 수신되는 경우, 스토리지 장치(110)는 앞서 클라이언트 단말 1(121)에 대해 수행한 동작과 동일하게 상기 제2 메모리부에 대해 “파일 B”에 대한 정보를 기록할 수 있다.
그리고 나서, 스토리지 장치(110)는 “파일 B”에 대한 식별 값을 생성한 후 상기 데이터베이스에 “파일 B”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
여기서, “파일 B”는 앞서 설명한 바와 같이, “파일 A”에 대한 식별 값과 동일하기 때문에 상기 데이터베이스에는 “파일 B”에 대한 식별 값과 동일한 식별 값이 존재한다.
따라서, 스토리지 장치(110)는 상기 데이터베이스에 대해 “파일 B”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
전술한 예에서 클라이언트 단말 1(121)이 스토리지 장치(110)에 대해 “파일 A”에 대한 저장 요청을 수행한 적이 있기 때문에 상기 데이터베이스에는 상기 중복 저장 횟수가 4회로 저장되어 있을 수 있다.
따라서, 스토리지 장치(110)는 상기 데이터베이스에 대해 상기 중복 저장 횟수를 5회로 증가시킬 수 있다.
그리고 나서, 스토리지 장치(110)는 클라이언트 단말 2(122)의 “파일 B”에 대한 액세스를 제어하기 위해, 상기 제2 메모리부 상에 기록된 “파일 B”에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 “파일 B”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성할 수 있다.
이를 통해, 클라이언트 단말 2(122)는 “파일 B”에 대한 정보와 상기 링크를 기초로 “파일 B”에 대한 원본 파일에 액세스할 수 있다.
결국, 본 발명의 일실시예에 따른 스토리지 장치(110)는 상기 제1 메모리부에 원본 파일 1개만 저장해 놓고, 스토리지 장치(110)로 동일한 식별 값을 갖는 파일이 중복 저장 요청되는 경우, 상기 제2 메모리부에 중복 저장 요청된 파일들에 대한 정보만을 기록해 놓은 후 상기 제2 메모리부에 기록된 파일들에 대한 정보와 상기 제1 메모리부에 저장된 원본 파일 1개에 대해 링크를 형성하여 클라이언트 단말의 파일에 대한 액세스를 제어함으로써, 스토리지 장치(110)에 파일이 중복 저장됨에 따라 발생하는 저장 공간의 낭비를 방지할 수 있다.
만약, 클라이언트 단말 1(121)의 사용자가 스토리지 장치(110)에 접속하여 “파일 A”에 대해 수정을 가하는 경우, 스토리지 장치(110)는 상기 제1 메모리부에 대해 “파일 A”에 대한 수정된 파일을 새로 생성하여 저장할 수 있고, 상기 제2 메모리부에 기록된 “파일 A”에 대한 정보를 상기 제1 메모리부 상에 새로 저장된 “파일 A”에 대한 수정된 파일과 링크시킬 수 있다.
클라이언트 단말 3(123)이 스토리지 장치(110)에 대해 이전에 저장 요청된 적이 없는 파일인 “파일 C”에 대한 저장 요청을 수행하는 경우, 스토리지 장치(110)는 우선 상기 제2 메모리부에 “파일 C”에 대한 정보를 기록할 수 있다.
그리고 나서, 스토리지 장치(110)는 “파일 C”에 대한 식별 값을 생성한 후 상기 데이터베이스에 “파일 C”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
이때, “파일 C”는 스토리지 장치(110)에 처음 저장 요청된 파일이므로, 상기 데이터베이스에는 “파일 C”에 대한 식별 값과 동일한 식별 값이 존재하지 않는다.
따라서, 스토리지 장치(110)는 “파일 C”를 상기 제1 메모리부에 저장하고, 상기 데이터베이스에 대해 “파일 C”에 대한 식별 값과 중복 저장 횟수 “1회”를 서로 대응되도록 저장할 수 있다.
그리고 나서, 스토리지 장치(110)는 상기 제2 메모리부 상에 기록된 “파일 C”에 대한 정보와 상기 제1 메모리부 상에 저장된 “파일 C”에 대해 링크를 형성함으로써, 클라이언트 단말 3(123)의 “파일 C”에 대한 액세스를 제어할 수 있다.
이상, 클라이언트 단말 1, 2, 3(121, 122, 123)이 스토리지 장치(110)에 대해 파일을 저장하는 경우에 대해 설명하였다. 이하에서는 클라이언트 단말 1(121)이 스토리지 장치(110)로부터 “파일 A”를 삭제하는 과정을 설명한다.
스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”에 대한 삭제 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보를 삭제할 수 있다.
그리고 나서, 스토리지 장치(110)는 상기 데이터베이스에 대해 “파일 A”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시킬 수 있다.
본 실시예에서는 상기 데이터베이스에 상기 중복 저장 횟수가 4회로 저장되어 있는 것으로 가정하였으므로, 스토리지 장치(110)는 상기 중복 저장 횟수를 3회로 감소시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 스토리지 장치(110)가 상기 중복 저장 횟수를 감소시킨 결과, 상기 중복 저장 횟수가 0회가 되는 경우, 스토리지 장치(110)는 “파일 A”가 중복 저장되지 않은 것으로 판단하여 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 원본 파일을 삭제할 수 있다.
결국, 본 발명의 일실시예에 따른 스토리지 장치(110)는 상기 데이터베이스에 파일에 대한 중복 저장 횟수를 기록함으로써, 클라이언트 단말로부터 파일에 대한 삭제 요청이 수신되면, 상기 파일에 대한 중복 저장 횟수를 체크하여 상기 제1 메모리부 상에 저장되어 있는 원본 파일을 실제로 삭제할 것인지 여부를 판단할 수 있다.
지금까지 본 발명의 일실시예에 따른 스토리지 장치(110)의 동작에 대해 설명하였다. 앞서 설명한 실시예에서는 클라이언트 단말 1, 2, 3(121, 122, 123)이 스토리지 장치로 파일에 대한 저장 요청을 수행하면, 스토리지 장치(110)가 클라이언트 단말 1, 2, 3(121, 122, 123)으로부터 파일을 수신한 후 수신된 파일에 대한 정보를 상기 제2 메모리부 상에 기록하였지만, 본 발명의 다른 실시예에 따르면, 스토리지 장치(110)는 클라이언트 단말 1, 2, 3(121, 122, 123)으로부터 저장 대상 파일을 수신하는 것이 아니라, 저장 대상 파일의 정보만을 수신한 후 수신된 저장 대상 파일의 정보를 상기 제2 메모리부 상에 기록하도록 구현될 수 있다.
또한, 앞서 설명한 실시예에서는 스토리지 장치(110)가 클라이언트 단말 1, 2, 3(121, 122, 123)으로부터 파일에 대한 저장 요청을 수신하면, 상기 제2 메모리부에 상기 파일에 대한 정보를 기록하였지만, 본 발명의 다른 실시예에 따르면, 스토리지 장치(110)는 클라이언트 단말 1, 2, 3(121, 122, 123)으로부터 파일에 대한 저장 요청이 수신되면, 상기 제2 메모리부에 상기 저장 요청된 파일을 우선 저장한 후 추후 상기 제2 메모리부로부터 상기 저장 요청된 파일을 삭제하도록 구현될 수 있다.
따라서, 이하에서는 스토리지 장치(110)가 클라이언트 단말 1, 2, 3(121, 122, 123)으로부터 저장 요청된 파일을 상기 제2 메모리부에 우선 저장한 후 추후 삭제하는 실시예에 대해 설명하기로 한다.
먼저, 스토리지 장치(110)는 제1 메모리부와 제2 메모리부를 포함할 수 있고, 스토리지 장치(110)에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 포함할 수 있다.
이때, 상기 제1 메모리부에는 스토리지 장치(110)에 대해 기 저장 요청되었던 상기 적어도 하나의 파일이 저장되어 있을 수 있다.
만약, 클라이언트 단말 1(121)로부터 스토리지 장치(110)에 대해 “파일 A”에 대한 저장 요청이 수신되는 경우, 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”를 수신하여 상기 제2 메모리부에 대해 “파일 A”를 저장할 수 있다.
그리고 나서, 소정의 시간이 경과한 후 스토리지 장치(110)는 상기 제2 메모리부에서 “파일 A”을 삭제하고, 상기 제2 메모리부에 대해 “파일 A”에 대한 정보를 기록할 수 있다.
그리고, 스토리지 장치(110)는 “파일 A”에 대한 식별 값을 생성하고, 상기 데이터베이스에 “파일 A”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
만약, 상기 데이터베이스에 “파일 A”에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 스토리지 장치(110)는 “파일 A”가 클라이언트 단말 1(121)이 저장 요청하기 전에 이미 스토리지 장치(110)에 저장 요청된 적이 있는 중복 파일인 것으로 판단하여 상기 데이터베이스에 대해 “파일 A”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
예컨대, 상기 데이터베이스에 “파일 A"에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 3회로 저장되어 있는 경우, 스토리지 장치(110)는 상기 중복 저장 횟수를 4회로 증가시킬 수 있다.
결국, 스토리지 장치(110)에는 “파일 A”와 동일한 파일이 4번 중복 저장된 것으로 판단할 수 있다.
스토리지 장치(110)는 상기 중복 저장 횟수를 증가시킨 이후 상기 제2 메모리부에 기록된 “파일 A”에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성할 수 있다.
이때, 클라이언트 단말 1(121)는 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보를 기초로 자신이 스토리지 장치(110)에 저장 요청하였던 “파일 A”에 대한 액세스를 요청할 수 있다.
이때, 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”에 대한 액세스 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보와 상기 링크를 기초로 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 클라이언트 단말 1(121)의 액세스를 제어할 수 있다.
다시 말해서, 스토리지 장치(110)는 상기 제1 메모리부 상에만 “파일 A”에 대한 원본 파일을 저장해 놓고, 상기 제2 메모리부 상에는 “파일 A”에 대한 정보만을 기록해 놓은 후 클라이언트 단말 1(121)로부터 “파일 A”에 대한 액세스 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보를 기초로 상기 링크를 이용하여 상기 제1 메모리부 상에 저장되어 있는 상기 원본 파일에 대한 액세스를 제어할 수 있다.
본 발명의 일실시예에 따르면, 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”를 수신하여 상기 수신된 “파일 A”를 우선 상기 제2 메모리부에 저장해 놓은 후 소정의 시간이 경과하면, 상기 제2 메모리에서 “파일 A”를 삭제하고, “파일 A”의 중복 저장 여부를 확인하는 과정을 수행함으로써, 클라이이언트 단말 1(121)의 사용자가 스토리지 장치(110)에 파일을 저장함에 있어 “파일 A”의 중복 저장 여부를 확인하는 과정이 수행됨에 따라 발생할 수 있는 시간 지연을 방지할 수 있다.
만약, 앞서 설명한 실시예와 같이 클라이언트 단말 1(121)로부터 “파일 A”에 대한 저장 요청이 수신되면, 스토리지 장치(110)가 즉시 “파일 A”에 대한 중복 저장 여부를 확인하는 과정을 수행하는 경우, 클라이언트 단말 1(121)의 사용자는 “파일 A”를 저장하는데 시간이 지체되는 것으로 판단할 수 있다.
따라서, 본 발명의 다른 실시예에 따른 스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”에 대한 저장 요청이 수신되면, 즉시 “파일 A”에 대한 중복 저장 여부를 확인하는 과정을 수행하는 것이 아니라, 일단 상기 제2 메모리부 상에 “파일 A”를 저장해 놓은 후 소정의 시간이 경과한 후나 특정 시간대에 상기 제2 메모리부에서 “파일 A”를 삭제하고, “파일 A”에 대한 중복 저장 여부를 확인하는 과정을 수행함으로써, 클라이언트 단말 1(121)의 사용자에게 신속한 파일 저장 서비스를 제공할 수 있다.
클라이언트 단말 2(122)로부터 스토리지 장치(110)에 대해 “파일 A”와 동일한 식별 값을 갖는 “파일 B”에 대한 저장 요청이 수신되는 경우, 스토리지 장치(110)는 앞서 클라이언트 단말 1(121)에 대해 수행한 동작과 동일하게 상기 제2 메모리부에 대해 “파일 B”를 저장할 수 있다.
그리고 나서, 소정의 시간이 경과한 후 스토리지 장치(110)는 상기 제2 메모리부에서 “파일 B”를 삭제하고, 상기 제2 메모리부에 대해 “파일 B”에 대한 정보를 기록할 수 있다.
그리고, 스토리지 장치(110)는 “파일 B”에 대한 식별 값을 생성한 후 상기 데이터베이스에 “파일 B”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
여기서, “파일 B”는 앞서 설명한 바와 같이, “파일 A”에 대한 식별 값과 동일하기 때문에 상기 데이터베이스에는 “파일 B”에 대한 식별 값과 동일한 식별 값이 존재한다.
따라서, 스토리지 장치(110)는 상기 데이터베이스에 대해 “파일 B”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
전술한 예에서 클라이언트 단말 1(121)이 스토리지 장치(110)에 대해 “파일 A”에 대한 저장 요청을 수행한 적이 있기 때문에 상기 데이터베이스에는 상기 중복 저장 횟수가 4회로 저장되어 있을 수 있다.
따라서, 스토리지 장치(110)는 상기 데이터베이스에 대해 상기 중복 저장 횟수를 5회로 증가시킬 수 있다.
그리고 나서, 스토리지 장치(110)는 클라이언트 단말 2(122)의 “파일 B”에 대한 액세스를 제어하기 위해, 상기 제2 메모리부 상에 기록된 “파일 B”에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 “파일 B”에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성할 수 있다.
이를 통해, 클라이언트 단말 2(122)는 “파일 B”에 대한 정보와 상기 링크를 기초로 “파일 B”에 대한 원본 파일에 액세스할 수 있다.
클라이언트 단말 3(123)이 스토리지 장치(110)에 대해 이전에 저장 요청된 적이 없는 파일인 “파일 C”에 대한 저장 요청을 수행하는 경우, 스토리지 장치(110)는 우선 상기 제2 메모리부에 “파일 C”를 저장할 수 있다.
그리고 나서, 소정의 시간이 경과한 후 스토리지 장치(110)는 상기 제2 메모리부에서 “파일 C”를 삭제하고, 상기 제2 메모리부에 대해 “파일 C”에 대한 정보를 기록할 수 있다.
그리고, 스토리지 장치(110)는 “파일 C”에 대한 식별 값을 생성한 후 상기 데이터베이스에 “파일 C”에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단할 수 있다.
이때, “파일 C”는 스토리지 장치(110)에 처음 저장 요청된 파일이므로, 상기 데이터베이스에는 “파일 C”에 대한 식별 값과 동일한 식별 값이 존재하지 않는다.
따라서, 스토리지 장치(110)는 “파일 C”를 상기 제1 메모리부에 저장하고, 상기 데이터베이스에 대해 “파일 C”에 대한 식별 값과 중복 저장 횟수 “1회”를 서로 대응되도록 저장할 수 있다.
그리고 나서, 스토리지 장치(110)는 상기 제2 메모리부 상에 기록된 “파일 C”에 대한 정보와 상기 제1 메모리부 상에 저장된 “파일 C”에 대해 링크를 형성하여 클라이언트 단말 3(123)의 “파일 C”에 대한 액세스를 제어할 수 있다.
이상, 클라이언트 단말 1, 2, 3(121, 122, 123)이 스토리지 장치(110)에 대해 파일을 저장하는 경우에 대해 설명하였다. 이하에서는 클라이언트 단말 1(121)이 스토리지 장치(110)로부터 “파일 A”를 삭제하는 과정을 설명한다.
스토리지 장치(110)는 클라이언트 단말 1(121)로부터 “파일 A”에 대한 삭제 요청이 수신되는 경우, 상기 제2 메모리부 상에 기록되어 있는 “파일 A”에 대한 정보를 삭제할 수 있다.
그리고 나서, 스토리지 장치(110)는 상기 데이터베이스에 대해 “파일 A”에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시킬 수 있다.
본 실시예에서는 상기 데이터베이스에 상기 중복 저장 횟수가 4회로 저장되어 있는 것으로 가정하였으므로, 스토리지 장치(110)는 상기 중복 저장 횟수를 3회로 감소시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 스토리지 장치(110)가 상기 중복 저장 횟수를 감소시킨 결과, 상기 중복 저장 횟수가 0회가 되는 경우, 스토리지 장치(110)는 “파일 A”가 중복 저장되지 않은 것으로 판단하여 상기 제1 메모리부 상에 저장되어 있는 “파일 A”에 대한 원본 파일을 삭제할 수 있다.
도 2는 본 발명의 일실시예에 따른 스토리지 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 스토리지 장치(210)는 데이터베이스(211), 제1 메모리부(212), 제2 메모리부(213), 식별 값 생성부(214), 판단부(215) 및 제어부(216)를 포함한다.
데이터베이스(211)에는 스토리지 장치(210)에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장되어 있다.
제1 메모리부(212)에는 상기 적어도 하나의 파일이 저장되어 있다.
제2 메모리부(213)는 클라이언트 단말(220)로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일에 대한 정보를 기록한다
식별 값 생성부(214)는 상기 제1 파일에 대한 식별 값을 생성한다.
판단부(215)는 데이터베이스(211)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단한다.
제어부(216)는 데이터베이스(211)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 데이터베이스(211)에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킨다.
이때, 본 발명의 일실시예에 따르면, 제어부(216)는 데이터베이스(211)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 제1 메모리부(212)에 대해 상기 제1 파일을 저장할 수 있다.
본 발명의 일실시예에 따르면, 클라이언트 단말(220)은 제2 메모리부(213) 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청할 수 있다
이때, 본 발명의 일실시예에 따르면, 제2 메모리부(213)는 링크 형성부(217), 액세스 요청 수신부(218) 및 액세스 제어부(219)를 포함할 수 있다.
링크 형성부(217)는 상기 제1 파일에 대한 정보와, 제1 메모리부(212) 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성한다.
액세스 요청 수신부(218)는 클라이언트 단말(220)로부터 상기 제1 파일에 대한 액세스 요청을 수신한다.
액세스 제어부(219)는 상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 클라이언트 단말(220)의 상기 제1 파일에 대한 액세스를 제어한다.
본 발명의 일실시예에 따르면, 제2 메모리부(213)는 클라이언트 단말(220)로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 상기 제1 파일에 대한 정보를 삭제할 수 있다.
이때, 제어부(216)는 데이터베이스(211)에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 제어부(216)는 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 제1 메모리부(212)로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제할 수 있다.
도 3은 본 발명의 또 다른 일실시예에 따른 스토리지 장치의 구조를 도시한 도면이다.
도 3을 참조하면, 스토리지 장치(310)는 데이터베이스(311), 제1 메모리부(312), 제2 메모리부(313), 메모리 제어부(314), 식별 값 생성부(315), 판단부(316) 및 데이터베이스 제어부(317)를 포함한다.
데이터베이스(311)에는 스토리지 장치(310)에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장되어 있다.
제1 메모리부(312)에는 상기 적어도 하나의 파일이 저장되어 있다.
제2 메모리부(313)는 클라이언트 단말(330)로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일을 저장한다.
메모리 제어부(314)는 제2 메모리부(313)에서 상기 제1 파일을 삭제하고, 제2 메모리부(313)에 대해 상기 제1 파일에 대한 정보를 기록한다.
식별 값 생성부(315)는 상기 제1 파일에 대한 식별 값을 생성한다.
판단부(316)는 데이터베이스(311)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단한다.
데이터베이스 제어부(317)는 데이터베이스(311)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 데이터베이스(311)에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킨다.
이때, 본 발명의 일실시예에 따르면, 데이터베이스 제어부(317)는 데이터베이스(311)에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 제1 메모리부(312)에 대해 상기 제1 파일을 저장할 수 있다.
본 발명의 일실시예에 따르면, 클라이언트 단말(330)은 제2 메모리부(313) 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청할 수 있다.
이때, 본 발명의 일실시예에 따르면, 메모리 제어부(314)는 링크 형성부(318), 액세스 요청 수신부(319) 및 액세스 제어부(320)를 포함할 수 있다.
링크 형성부(318)는 제2 메모리부(313) 상에 기록되어 있는 상기 제1 파일에 대한 정보와, 제1 메모리부(312) 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성한다.
액세스 요청 수신부(319)는 클라이언트 단말(330)로부터 상기 제1 파일에 대한 액세스 요청을 수신한다.
액세스 제어부(320)는 상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 클라이언트 단말(330)의 상기 제1 파일에 대한 액세스를 제어한다.
또한, 본 발명의 일실시예에 따르면, 메모리 제어부(314)는 클라이언트 단말(330)로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 제2 메모리부(313)에서 상기 제1 파일에 대한 정보를 삭제할 수 있다.
이때, 데이터베이스 제어부(317)는 데이터베이스(311)에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 데이터베이스 제어부(317)는 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 제1 메모리부(312)로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제할 수 있다.
도 4는 본 발명의 일실시예에 따른 스토리지 장치의 파일 관리 방법을 도시한 순서도이다.
단계(S410)에서는 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리한다.
단계(S420)에서는 상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리한다.
단계(S430)에서는 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록한다.
단계(S440)에서는 상기 제1 파일에 대한 식별 값을 생성한다.
단계(S450)에서는 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단한다.
만약, 단계(S460)에서 단계(S450)에 대한 판단을 수행한 결과, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 단계(S470)에서는 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
하지만, 단계(S460)에서 단계(S450)에 대한 판단을 수행한 결과, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 단계(S480)에서는 상기 제1 메모리부에 대해 상기 제1 파일을 저장할 수 있다.
본 발명의 일실시예에 따르면, 상기 클라이언트 단말은 상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S470)이후에 상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성하는 단계, 상기 클라이언트 단말로부터 상기 제1 파일에 대한 액세스 요청을 수신하는 단계 및 상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 상기 클라이언트 단말의 상기 제1 파일에 대한 액세스를 제어하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S470)이후에 상기 클라이언트 단말로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 상기 제2 메모리부에서 상기 제1 파일에 대한 정보를 삭제하는 단계 및 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시키는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S470)이후에 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 상기 제1 메모리부로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제하는 단계를 더 포함할 수 있다.
도 5는 본 발명의 또 다른 일실시예에 따른 스토리지 장치의 파일 관리 방법을 도시한 순서도이다.
단계(S510)에서는 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리한다.
단계(S520)에서는 상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리한다.
단계(S530)에서는 클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일을 저장한다.
단계(S540)에서는 상기 제2 메모리부에서 상기 제1 파일을 삭제하고, 상기 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록한다.
단계(S550)에서는 상기 제1 파일에 대한 식별 값을 생성한다.
단계(S560)에서는 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단한다.
만약, 단계(S570)에서 단계(S560)에 대한 판단을 수행한 결과, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 단계(S580)에서는 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시킬 수 있다.
하지만, 단계(S570)에서 단계(S560)에 대한 판단을 수행한 결과, 상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 단계(S590)에서는 상기 제1 메모리부에 대해 상기 제1 파일을 저장할 수 있다.
본 발명의 일실시예에 따르면, 상기 클라이언트 단말은 상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S580)이후에 상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크를 형성하는 단계, 상기 클라이언트 단말로부터 상기 제1 파일에 대한 액세스 요청을 수신하는 단계 및 상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 상기 클라이언트 단말의 상기 제1 파일에 대한 액세스를 제어하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S580)이후에 상기 클라이언트 단말로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 상기 제2 메모리부에서 상기 제1 파일에 대한 정보를 삭제하는 단계 및 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시키는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 스토리지 장치의 파일 관리 방법은 단계(S580)이후에 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 상기 제1 메모리부로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 스토리지 장치의 파일 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 스토리지 장치
121: 클라이언트 단말 1 122: 클라이언트 단말 2
123: 클라이언트 단말 3
210: 스토리지 장치
211: 데이터베이스 212: 제1 메모리부
213: 제2 메모리부 214: 식별 값 생성부
215: 판단부 216: 제어부
217: 링크 형성부 218: 액세스 요청 수신부
219: 액세스 제어부
220: 클라이언트 단말
310: 스토리지 장치
311: 데이터베이스 312: 제1 메모리부
313: 제2 메모리부 314: 메모리 제어부
315: 식별 값 생성부 316: 판단부
317: 데이터베이스 제어부 318: 링크 형성부
319: 액세스 요청 수신부 320: 액세스 제어부
330: 클라이언트 단말

Claims (15)

  1. 스토리지 장치에 있어서,
    상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스;
    상기 적어도 하나의 파일이 저장된 제1 메모리부;
    클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일에 대한 정보를 기록하는 제2 메모리부;
    상기 제1 파일에 대한 식별 값을 생성하는 식별 값 생성부;
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 판단부; 및
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 제어부
    를 포함하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 클라이언트 단말은
    상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청하는 스토리지 장치.
  3. 제2항에 있어서,
    상기 제2 메모리부는
    상기 제1 파일에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크(link)를 형성하는 링크 형성부;
    상기 클라이언트 단말로부터 상기 제1 파일에 대한 액세스 요청을 수신하는 액세스 요청 수신부; 및
    상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 상기 클라이언트 단말의 상기 제1 파일에 대한 액세스를 제어하는 액세스 제어부
    를 포함하는 스토리지 장치.
  4. 제1항에 있어서,
    상기 제어부는
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 상기 제1 메모리부에 대해 상기 제1 파일을 저장하는 스토리지 장치.
  5. 제1항에 있어서,
    상기 제2 메모리부는
    상기 클라이언트 단말로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 상기 제1 파일에 대한 정보를 삭제하고,
    상기 제어부는
    상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시키는 스토리지 장치.
  6. 제5항에 있어서,
    상기 제어부는
    상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 상기 제1 메모리부로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제하는 스토리지 장치.
  7. 스토리지 장치에 있어서,
    상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스;
    상기 적어도 하나의 파일이 저장된 제1 메모리부;
    클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 상기 제1 파일을 저장하는 제2 메모리부;
    상기 제2 메모리부에서 상기 제1 파일을 삭제하고, 상기 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 메모리 제어부;
    상기 제1 파일에 대한 식별 값을 생성하는 식별 값 생성부;
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 판단부; 및
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 데이터베이스 제어부
    를 포함하는 스토리지 장치.
  8. 제7항에 있어서,
    상기 클라이언트 단말은
    상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보를 기초로 상기 제1 파일에 대한 액세스를 요청하는 스토리지 장치.
  9. 제8항에 있어서,
    상기 메모리 제어부는
    상기 제2 메모리부 상에 기록되어 있는 상기 제1 파일에 대한 정보와, 상기 제1 메모리부 상에 저장되어 있는 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일에 대해 링크(link)를 형성하는 링크 형성부;
    상기 클라이언트 단말로부터 상기 제1 파일에 대한 액세스 요청을 수신하는 액세스 요청 수신부; 및
    상기 제1 파일에 대한 정보와 상기 형성된 링크를 기초로 상기 클라이언트 단말의 상기 제1 파일에 대한 액세스를 제어하는 액세스 제어부
    를 포함하는 스토리지 장치.
  10. 제7항에 있어서,
    상기 데이터베이스 제어부는
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하지 않는 것으로 판단된 경우, 상기 제1 메모리부에 대해 상기 제1 파일을 저장하는 스토리지 장치.
  11. 제7항에 있어서,
    상기 메모리 제어부는
    상기 클라이언트 단말로부터 상기 제1 파일에 대한 삭제 요청이 수신되는 경우, 상기 제2 메모리부에서 상기 제1 파일에 대한 정보를 삭제하고,
    상기 데이터베이스 제어부는
    상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 감소시키는 스토리지 장치.
  12. 제11항에 있어서,
    상기 데이터베이스 제어부는
    상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수가 “0”이 되는 경우, 상기 제1 메모리부로부터 상기 제1 파일에 대한 식별 값과 동일한 식별 값을 갖는 파일을 삭제하는 스토리지 장치.
  13. 스토리지 장치의 파일 관리 방법에 있어서,
    상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리하는 단계;
    상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리하는 단계;
    클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 단계;
    상기 제1 파일에 대한 식별 값을 생성하는 단계;
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 단계; 및
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 단계
    를 포함하는 스토리지 장치의 파일 관리 방법.
  14. 스토리지 장치의 파일 관리 방법에 있어서,
    상기 스토리지 장치에 대해 기 저장 요청되었던 적어도 하나의 파일에 대한 식별 값과 상기 적어도 하나의 파일에 대한 중복 저장 횟수가 서로 대응되도록 저장된 데이터베이스를 관리하는 단계;
    상기 적어도 하나의 파일이 저장된 제1 메모리부를 관리하는 단계;
    클라이언트 단말로부터 제1 파일에 대한 저장 요청이 수신되는 경우, 제2 메모리부에 대해 상기 제1 파일을 저장하는 단계;
    상기 제2 메모리부에서 상기 제1 파일을 삭제하고, 상기 제2 메모리부에 대해 상기 제1 파일에 대한 정보를 기록하는 단계;
    상기 제1 파일에 대한 식별 값을 생성하는 단계;
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는지 여부를 판단하는 단계; 및
    상기 데이터베이스에 상기 제1 파일에 대한 식별 값과 동일한 식별 값이 존재하는 것으로 판단된 경우, 상기 데이터베이스에 대해 상기 제1 파일에 대한 식별 값과 동일한 식별 값에 대응하는 중복 저장 횟수를 증가시키는 단계
    를 포함하는 스토리지 장치의 파일 관리 방법.
  15. 제13항 또는 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020110106740A 2011-10-19 2011-10-19 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법 KR101147892B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110106740A KR101147892B1 (ko) 2011-10-19 2011-10-19 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110106740A KR101147892B1 (ko) 2011-10-19 2011-10-19 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법

Publications (1)

Publication Number Publication Date
KR101147892B1 true KR101147892B1 (ko) 2012-05-24

Family

ID=46272402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110106740A KR101147892B1 (ko) 2011-10-19 2011-10-19 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법

Country Status (1)

Country Link
KR (1) KR101147892B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062293A (ko) * 1999-10-21 2002-07-25 비전아트 가부시키가이샤 정보 제공 시스템
KR20060073724A (ko) * 2004-12-24 2006-06-29 주식회사 나우콤 파일의 정보를 이용하여 중복된 파일을 저장하고다운로드하는 방법 및 장치
KR20090014754A (ko) * 2007-08-07 2009-02-11 주식회사 코난테크놀로지 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062293A (ko) * 1999-10-21 2002-07-25 비전아트 가부시키가이샤 정보 제공 시스템
KR20060073724A (ko) * 2004-12-24 2006-06-29 주식회사 나우콤 파일의 정보를 이용하여 중복된 파일을 저장하고다운로드하는 방법 및 장치
KR20090014754A (ko) * 2007-08-07 2009-02-11 주식회사 코난테크놀로지 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법

Similar Documents

Publication Publication Date Title
KR102444106B1 (ko) 데이터 웨어하우스로부터 외부 함수를 호출하는 것
US10164833B2 (en) Configuring computing devices using a bootstrap configuration
US9116728B2 (en) Providing a persona-based application experience
JP5999574B2 (ja) データベース管理システム及び計算機システム
US20140379656A1 (en) System and Method for Maintaining a Cluster Setup
CN111475483B (zh) 数据库迁移方法、装置及计算设备
US9483493B2 (en) Method and system for accessing a distributed file system
US8843915B2 (en) Signature-based update management
US20140095889A1 (en) Encrypted search database device, encrypted search data adding/deleting method and adding/deleting program
US9854030B2 (en) Searching content associated with multiple applications
CN104298675B (zh) 用于缓存管理的方法和装置
TW201738781A (zh) 資料表連接方法及裝置
US20150020167A1 (en) System and method for managing files
EP3555767B1 (en) Partial storage of large files in distinct storage systems
KR101531564B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 부하 분산 방법 및 시스템
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
US11394748B2 (en) Authentication method for anonymous account and server
EP3349416B1 (en) Relationship chain processing method and system, and storage medium
US11048547B2 (en) Method and system for routing and executing transactions
US10073657B2 (en) Data processing apparatus, data processing method, and computer program product, and entry processing apparatus
KR101147892B1 (ko) 스토리지 장치 및 상기 스토리지 장치의 파일 관리 방법
WO2012171363A1 (zh) 分布式缓存系统中的数据操作方法和装置
CN103605795A (zh) 一种基于元数据的文件存储方法和装置
KR101589122B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템
KR20160050745A (ko) 실시간 또는 일괄 처리 기반의 데이터 처리방법 및 장치

Legal Events

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

Payment date: 20150512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170508

Year of fee payment: 6