KR101189766B1 - 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법 - Google Patents

데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법 Download PDF

Info

Publication number
KR101189766B1
KR101189766B1 KR1020080131277A KR20080131277A KR101189766B1 KR 101189766 B1 KR101189766 B1 KR 101189766B1 KR 1020080131277 A KR1020080131277 A KR 1020080131277A KR 20080131277 A KR20080131277 A KR 20080131277A KR 101189766 B1 KR101189766 B1 KR 101189766B1
Authority
KR
South Korea
Prior art keywords
data
entry
access
hot
hot data
Prior art date
Application number
KR1020080131277A
Other languages
English (en)
Other versions
KR20100072770A (ko
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 KR1020080131277A priority Critical patent/KR101189766B1/ko
Priority to US12/507,327 priority patent/US8126997B2/en
Publication of KR20100072770A publication Critical patent/KR20100072770A/ko
Application granted granted Critical
Publication of KR101189766B1 publication Critical patent/KR101189766B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 비대칭 스토리지 시스템에서 효율적으로 핫 데이터를 관리하여 핫 데이터로 인한 데이터 서버의 부하 집중을 방지할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법을 제공하는 것으로서, 복수 개의 데이터 서버가 자신이 저장 및 관리하는 데이터에 대한 데이터 접근 횟수를 일정 기간 동안 유지하는 단계와, 상기 복수 개의 데이터 서버가 상기 일정 주기마다 상기 저장된 데이터에 대한 상기 데이터 접근 횟수를 관리 서버에게 전송하는 단계와, 상기 관리 서버가 일정 주기별로, 매 주기 시간 내에 각 데이터 서버별로의 접근 횟수가 미리 설정한 임계치를 초과한 데이터를 해당 핫 데이터로 인식하고, 핫 파일의 데이터를 상기 복수 개의 데이터 중 하나 이상의 데이터 서버에 추가적으로 복제하는 단계를 포함하는 것을 특징으로 하며, 감지된 핫 데이터는 추가 복제 하여 원활한 데이터 서비스를 가능하게 하고 더 이상 핫 데이터가 아닌 경우에는 복제본을 제거하여 스토리지 낭비를 방지할 수 있다.
저장장치, 비대칭 스토리지 시스템, 데이터 서버, 접근 횟수

Description

데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법{Hot Data Management Based on Hit Counter from Data Servers in Parallelism}
본 발명은 비대칭 스토리지 시스템에 관한 것으로서, 구체적으로는 비대칭 스토리지 시스템에서 효율적으로 핫 데이터를 관리하여 핫 데이터로 인한 데이터 서버의 부하 집중을 방지할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-02, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
대부분의 대용량 스토리지 시스템은 높은 확장성을 보장하기 위해서 메타데이터와 데이터를 분리하여 처리하며, 메타데이터를 메타데이터 서버가 관리하고 데이터를 데이터 서버가 관리하는 비대칭 구조를 채택하고 있다. 여기서, 메타데이터는 파일의 실제적인 데이터를 저장하는 데이터 서버의 위치 정보를 의미한다.
각 데이터를 저장 및 관리하는 데이터 서버는 사용자의 요청에 의해 디스크에 저장된 실제 데이터를 네트워크를 통해서 제공하는데, 데이터 서버의 디스크 성능이나 네트워크의 전송 성능에 따라, 하나의 데이터 서버를 통해 서비스할 수 있는 성능의 한계가 존재한다.
예컨대, UCC(User Created Contents)와 같은 대규모 동영상 서비스가 제공되는 경우에, 일정 기간에 특정 동영상 파일에 많은 접근이 발생하면, 해당 데이터를 저장 및 관리하는 데이터 서버에 많은 읽기 요청들이 발생한다. 그러나, 디스크 또는 네트워크의 최고 성능까지만 데이터 서비스가 제공하므로, 추가적인 데이터 서비스뿐만 아니라 기존에 발생한 사용자의 동영상 서비스에까지 장애(예, 동영상의 끊김)가 발생한다.
비대칭 스토리지 시스템에서, 많은 사용자들에 의해 특정 파일에 대해 일정한 기간에 집중적인 읽기 요청이 발생할 때(이하, 핫 데이터로 칭함), 상기 특정 파일의 데이터를 저장 및 관리하는 데이터 서버의 물리적 성능(즉, 디스크 및 네트워크의 성능)의 한계로 인해 원활한 데이터 서비스가 제공되지 못한다. 이를 해결하기 위해서, 데이터 서버가 아닌 단일 메타데이터 서버의 메타데이터 접근 횟수로 핫 데이터를 감지 및 해결 하고자 하면, 데이터의 실제 부하인 파일 읽기 요청의 횟수를 추적할 수 없다. 또한, 메타데이터를 접근할 때마다 매번 접근 횟수 값의 갱신이 이루어져야 하므로, 많은 부하가 발생 된다.
또한, 핫 데이터는 한 번 핫 데이터가 되더라도, 일정한 시간이 지나면 계속 핫 데이터가 계속 유지되지 않는 특성을 지니고 있다. 이러한 핫 데이터의 특성을 고려하지 않으면, 핫 데이터를 해결하기 위해서 추가적으로 복제된 데이터는 스토리지를 낭비시킨다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 비대칭 스토리지 시스템에서 효율적으로 핫 데이터를 관리하여 핫 데이터로 인한 데이터 서버의 부하 집중을 방지할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법을 제공하는 데 본 발명의 목적이 있다.
본 발명의 다른 목적은 비대칭 스토리지 시스템에서 일정한 시간에 많은 사용자 요청이 발생하더라도 부하의 효율적인 분산을 통해 핫 데이터를 감지 및 해결함으로써, 안정적인 데이터 서비스를 제공할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 각 데이터 서버에서 데이터 접근 횟수를 수집하고 일정한 기간에 메타데이터 서버에게 보내어 핫 데이터를 감지, 해결 및 추적함으로써, 핫 데이터가 발생하더라도 사용자에게 읽기 데이터 서비스를 원활하게 제공할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 복제를 통해 이미 해결된 핫 데이터 리스트를 추적 관리하여 더 이상 핫 데이터가 아닌 경우에는 할당된 데이터를 횟수함으로써, 스토리지의 낭비를 방지할 수 있는 접근 횟수 기반의 핫 데이터 관리 방법을 제공하는 데 있다.
이와 같은 목적을 달성하기 위하여, 본 발명은 비대칭 스토리지 시스템의 각 데이터 서버가 자신이 저장하는 데이터에 대한 접근 회수를 감시하여, 상기 데이터별 접근 횟수 정보를 최근 상태로 유지하는 단계와, 상기 각 데이터 서버가 소정 주기별로 상기 접근 횟수 정보를 메타데이터 서버에 전송하는 단계와, 상기 각 데이터 서버가 상기 메타데이터 서버의 결정에 따라 데이터의 복제 또는 복제본의 삭제를 수행하는 단계를 포함하는 접근 횟수 기반의 핫 데이터 관리 방법을 제공한다.
본 발명의 다른 면에 따라, 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와, 하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와, 상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와, 소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와, 핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와, 더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하는 접근 횟수 기반의 핫 데이터 관리 방법을 제공한다.
본 발명의 또 다른 면에 따라, 복수 개의 데이터 서버가 자신이 저장 및 관리하는 데이터에 대한 데이터 접근 횟수를 일정 기간 동안 유지하는 단계와, 상기 복수 개의 데이터 서버가 상기 일정 주기마다 상기 저장된 데이터에 대한 상기 데이터 접근 횟수를 관리 서버에게 전송하는 단계와, 상기 관리 서버가 상기 전송된 데이터 접근 횟수를 수집하여 저장하는 단계와, 상기 관리 서버가 일정 주기별로, 매 주기 시간 내에 각 데이터 서버별로의 접근 횟수가 미리 설정한 임계치를 초과한 데이터를 해당 핫 데이터로 인식하고, 핫 파일의 데이터를 상기 복수 개의 데이터 중 하나 이상의 데이터 서버에 추가적으로 복제하는 단계를 포함하는 핫 데이터 관리 방법을 제공한다.
본 발명에 따르면, 비대칭 스토리지 시스템에서 일정한 시간에 많은 사용자 요청이 발생하더라도 부하의 효율적인 분산을 통해 핫 데이터를 감지 및 해결함으로써, 안정적인 데이터 서비스를 제공할 수 있다.
또한, 각 데이터 서버에서 데이터 접근 횟수를 수집하고 일정한 기간에 메타데이터 서버에게 보내어 핫 데이터를 감지, 해결 및 추적함으로써, 핫 데이터가 발생하더라도 사용자에게 읽기 데이터 서비스를 원활하게 제공할 수 있다.
아울러, 복제를 통해 이미 해결된 핫 데이터 리스트를 추적 관리하여 더 이상 핫 데이터가 아닌 경우에는 할당된 데이터를 횟수함으로써, 스토리지의 낭비를 방지할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 실시예들이 적용되는 비대칭 스토리지 시스템의 구성도이 다.
도 1을 참조하면, 본 발명의 실시예들이 적용되는 비대칭 스토리지 시스템은, n개의 사용자 파일 시스템들(110-1 내지 110-n), 메타데이터 서버(120), 그리고 m개의 데이터 서버들(130-1 내지 130-m)을 구비한다.
사용자 파일 시스템들(110-1 내지 110-n)은 파일 관련 사용자의 요청을 수신한다. 이때, 사용자 파일 시스템들(110-1 내지 110-n)은 사용자의 요청에 따라 메타데이터 서버(120)에게 메타데이터를 요구하고, 그리고 데이터 서버들(130-1 내지 130-m)에게 파일의 실제 데이터를 요구한다.
파일의 실제 데이터에 대한 위치정보를 관리하는 메타데이터 서버(120)는 사용자 파일 시스템들(110-1 내지 110-n) 중 특정 사용자 파일 시스템의 요청의 타당성을 검사하고, 요청된 메타데이터(즉, 파일 데이터의 위치 정보)를 네트워크를 통해 상기 특정 사용자 파일 시스템에게 전송한다.
파일의 실제 데이터를 관리하는 데이터 서버들(130-1 내지 130-m)은 상기 특정 사용자 파일 시스템의 요청에 따라 디스크의 데이터를 상기 특정 사용자 파일 시스템에게 전달한다.
읽기 부하의 발생에 관한 정보를 수집하기 위하여, 데이터 서버들(130-1 내지 130-m)은 도 2에 도시된 바와 같은 구성으로 사용자의 데이터 읽기 요청에 대하여 데이터 접근 횟수를 유지한다.
데이터 접근 횟수 엔트리들(210 내지 212)은 데이터를 구별하기 위한 디스크 식별자 필드 및 데이터 식별자 필드, 접근 횟수를 기록하기 위한 접근 횟수 필드, 해쉬 리스트 필드 및 톱 리스트 필드를 포함하며, 사용자의 읽기 요청에 따라 빠른 데이터 접근 횟수 엔트리를 검색하기 위한 해쉬(hash) 함수(201), 그리고 MAX개의 해쉬 헤드를 구비한 해쉬 테이블(202)이 이용된다.
해쉬 함수(201)는 사용자 요청의 데이터 식별자를 가지며, 그리고 데이터 식별자를 MAX로 나눈(데이터 식별자 % MAX) 결과 값을 얻는다. 이 해쉬 결과값은 해쉬 테이블(202)의 하나의 엔트리의 값이 된다.
만약, 다른 데이터 식별자를 MAX로 나눈 결과 값과 동일한 해쉬 결과값이 나오면, 데이터 접근 횟수 엔트리들은 도 2에 도시된 데이터 접근 횟수 엔트리(210) 및 데이터 접근 횟수 엔트리(211)와 같이 이전(prev) 엔트리 및 다음(next) 엔트리 정보를 포함하는 해쉬 리스트 필드를 통해 체인으로 연결된다.
각 데이터의 접근 횟수의 순위를 유지하기 위해서, 데이터 접근 횟수 엔트리들(210 내지 212)은 톱(top) 리스트 헤드를 시작으로 각 데이터 접근 횟수 엔트리의 이전(prev) 엔트리와 다음(next) 엔트리 정보를 포함하는 톱(top) 리스트 필드를 이용하여 연결관계를 형성한다.
도 2에 도시된 예에서는, 톱 리스트 헤드에 이어 데이터 접근 횟수 엔트리(211)이 위치하고, 그 다음으로 데이터 접근 횟수 엔트리(212), 데이터 접근 횟수 엔트리(210)이 순차적으로 연쇄되는데, 톱 리스트 헤드에 가까운 데이터 접근 횟수 엔트리(211)일 수록 우선순위가 높은, 즉 접근횟수가 많은 파일에 대한 데이터 접근 횟수 엔트리가 되도록 구성함이 바람직하다.
도 3은 본 발명의 일실시예에 따른 데이터 접근 횟수의 처리 방법을 나타낸 흐름도이다. 이하에서, 데이터 서버는 도 1의 데이터 서버들(130-1 내지 130-m) 중 어느 하나의 데이터 서버이다.
도 3에 도시된 바와 같이, 상기 데이터 서버가 기동되면, 상기 데이터 서버는 상기 해쉬 테이블을 초기화하고(S301), 사용자 요청을 기다린다(S302). 이때, 읽기 또는 삭제에 관한 사용자 요청이 수신되면(S310), 이하에 기재한 과정을 수행하여 데이터 접근 횟수를 갱신한다.
즉, 데이터 서버는 상기 해쉬 함수에 상기 데이터 식별자를 대입하여 해쉬 결과값을 얻는다(S311). 이어서, 상기 데이터 서버는 상기 해쉬 결과값으로 해쉬 테이블의 엔트리, 즉 해쉬 리스트 헤드를 얻은 후(S312), 다음(next) 엔트리를 임시 엔트리에 넣는다(S313).
상기 데이터 서버는 임시 엔트리와 해쉬 리스트 헤드가 같은 지를 판단하여(S320), 판단결과 같으면, 사용자의 요청의 디스크 식별자와 데이터 식별자가 같은지를 판단한다(S330). 판단결과 디스크 식별자와 데이터 식별자가 같으면, 상기 데이터 서버는 사용자 요청이 삭제 요청 또는 읽기 요청인지를 판단한다(S340).
판단결과 사용자 요청이 삭제 요청이면, 상기 데이터 서버는 해당 데이터 접근 횟수 엔트리를 해쉬 리스트로부터 제거하고(S341), 또한 해당 데이터 접근 횟수 엔트리를 톱(top) 리스트로부터 제거한다(S342). 그리고, 상기 데이터 서버는 해당 데이터 접근 횟수 엔트리를 제거한다(S343).
판단 과정(S340)에서의 판단결과 사용자 요청이 읽기 요청이면, 상기 데이터 서버는 해당 데이터 접근 횟수 엔트리의 접근 횟수를 1회 증가시키고(S351), 해당 데이터 접근 횟수 엔트리의 톱 리스트를 갱신한다(S352).
판단 과정(S320)에서의 판단결과 임시 엔트리와 해쉬 리스트 헤드가 같으면, 상기 데이터 서버는 새로운 데이터 접근 횟수 엔트리를 생성하고, 생성된 데이터 접근 횟수 엔트리에 디스크 식별자와 데이터 식별자를 넣고, 생성된 데이터 접근 횟수 엔트리의 접근 횟수를 '1'로 초기화한다(S361). 이어서, 상기 데이터 서버는 생성된 데이터 접근 횟수 엔트리의 해쉬 리스트를 해쉬 리스트 헤드에 넣고(S362), 생성된 데이터 접근 횟수 엔트리의 톱 리스트를 톱 리스트 헤드의 마지막 부분에 넣는다(S363).
판단 과정(S330)에서의 판단결과 디스크 식별자와 데이터 식별자가 같으면, 상기 데이터 서버는 다음 엔트리를 임시 데이터 접근 횟수 엔트리에 넣고(S371), 판단 과정(S320)으로 넘어간다.
정리하면, 데이터 서버는 데이터 읽기 또는 삭제 요청이 수신되면, 해쉬 함수에 데이터 식별자를 넣어서 결과값을 얻은 후, 해쉬 테이블의 엔트리, 즉 해쉬 리스트 헤드에서 해당 데이터 식별자가 있는 데이터 접근 횟수 엔트리가 있는지 검사한다. 그 다음 엔트리가 존재하고 읽기 요청이면 접근 횟수 필드를 하나 증가시키고, 엔트리의 톱 리스트를 갱신하며, 엔트리가 존재하지 않는 경우에는 새로운 데이터 접근 횟수 엔트리를 하나 생성하여 초기화한 후에 해쉬 리스트 헤드에 넣는다. 엔트리가 존재하며 삭제 요청이면, 해당 데이터 접근 횟수 엔트리를 제거한다.
도 4는 본 발명의 일실시예에 따른 데이터 접근 횟수의 순위를 변경하는 방법을 나타낸 흐름도이다.
도 4를 참조하면, 데이터 서버는 증가된 데이터 접근 횟수를 갖는 해당 데이터 접근 횟수 엔트리의 톱 리스트로부터 이전 엔트리를 가져오고(S401), 이전 엔트리를 임시 엔트리에 넣는다(S402).
상기 데이터 서버는 임시 엔트리가 톱 리스트 헤드와 같은지를 판단하여(S410), 판단결과 같지 않으면, 임시 엔트리의 접근 횟수가 데이터 접근 횟수 엔트리의 접근 횟수보다 크거나 같은지를 판단한다(S420).
판단결과, 접근 횟수가 크거나 같은 임시 엔트리를 찾으면 임시 엔트리(정확히는 현재 임시 엔트리에 넣어진 데이터 접근 횟수 엔트리)의 톱 리스트의 다음(next)에 해당 데이터 접근 횟수 엔트리를 지정한다(S423). 이에 더하여, 해당 데이터 접근 횟수 엔트리의 이전(prev)에 임시 엔트리를 지정한다. 이 과정을 통하여 데이터 접근 횟수 엔트리간의 순위를 변경할 수 있다.
판단 과정(S420)에서의 판단결과 접근 횟수가 크거나 같은 엔트리를 찾지 못하면, 상기 데이터 서버는 임시 엔트리의 톱 리스트로부터 이전 엔트리를 가져오고(S421), 가져온 이전 엔트리를 임시 엔트리에 넣는다(S422). 이와 같은 방식으로 우선 순위가 높은, 즉 접근 횟수가 더 많은 엔트리들을 탐색한다.
톱 리스트 헤드에 이르기까지 해당 데이터 접근 횟수 엔트리보다 같거나 높은 접근 횟수를 가지는 엔트리를 못 찾으면 해당 데이터 접근 횟수 엔트리가 최 우선 순위를 가지는 엔트리가 되므로, 데이터 서버는 데이터 접근 횟수 엔트리의 톱 리스트의 현재 내용를 제거하고(S431), 데이터 접근 횟수 엔트리의 톱 리스트를 톱 리스트 헤드의 다음 엔트리로 지정한다(S432).
도 5는 본 발명의 일실시예에 따른 데이터 접근 횟수의 전송 처리 방법을 나타낸 흐름도이다.
각 데이터 서버는 데이터 접근 횟수를 수집하여(S510), 사전에 설정한 주기에 도달하였는지를 판단하고(S520), 설정 주기에 도달하면 최대 전송 개수를 확인하여(S530), 이 수만큼 메타데이터 서버에 접근 횟수 정보를 전송한다(S540). 그 후, 접근 횟수 엔트리를 초기화한다(S550).
한편, 최대 전송 개수를 확인하는 단계(S530)은 매번 수행할 필요가 없음은 물론이다.
도 6은 본 발명의 일실시예에 따라 접근 횟수 정보를 수신한 메타데이터 서버가 핫 데이터 관리 테이블의 구성을 나타낸 도면이다.
도 6에 도시된 바와 같이, 상기 메타데이터 서버에 구비된 데이터베이스(DB)에 저장될 상기 핫 데이터 관리 테이블은 파일(아이노드) 식별자 필드(601), 최근 접근 시간 필드(602), 접근 횟수 필드(603), 그리고 추가 복제 유무 필드(604)를 구비한다.
파일 식별자 필드(601)는 파일을 구별하는 값으로, 가상 파일 시스템(VFS: Virtual File System)에서는 아이노드 식별자이다.
최근 접근 시간 필드(602)는 상기 각 데이터 서버로부터 수신한 파일 데이터의 접근 횟수 값을 갱신한 최근 시간 정보를 유지한다.
상기 추가복제 유무 필드(604)는 핫 데이터의 추적 및 관리를 위한 것으로, 핫 데이터를 해결하기 위해 추가 복제를 나타낸다.
도면 부호 620은 접근 횟수 필드(603)의 구성을 나타낸다. 필드들(621-1 내지 621-60)인 min[0], min[1] ~ min[59]는 last_min(621) 시간을 기준으로 매분 마다 파일 접근 횟수 값을 나타낸다.. 필드들(631-1 내지 631-24)인 hour[0] 내지 hour[23]은 last_hour(631) 시간을 기준으로 매시간 마다 파일 접근 횟수 값을 나타낸다. 필드들(641-1 내지 641-365)인 day[0] 내지 day[364]는 last_day(641) 시간을 기준으로 매일 마다의 파일 접근 횟수 값을 나타낸다.
도 7은 본 발명의 일실시예에 따른 데이터 접근 횟수 정보의 저장 방법을 나타낸 흐름도이다. 즉, 도 7은 상기 각 데이터 서버로부터 수신받은 데이터 접근 횟수 정보(예를 들어, 디스크 식별자, 데이터 식별자 및 접근 횟수)를 상기 핫 데이터 관리 테이블에 저장하는 과정을 나타낸 것이다. 이하에서, 메타데이터 서버는 도 1의 메타데이터 서버(120)와 동일한 서버이고, 데이터 서버는 도 1의 데이터 서버들(130-1 내지 130-m) 중 어느 하나의 데이터 서버이다.
도 7을 참조하면, 상기 메타데이터 서버는 상기 데이터 서버로부터 데이터 접근 횟수 값을 수신하고(S701), 디스크 식별자와 데이터 식별자가 속한 파일 식별자를 구한다(S702).
그 다음, 디스크 식별자 및 데이터 식별자에 대응하는 파일 식별자가 존재하는지 여부를 판단하여(S710), 존재하지 않으면 삭제된 파일로 간주하고, 수신 과정(S701)으로 되돌아가서 다른 데이터 접근 횟수 정보를 얻는다.
판단결과 파일 식별자가 존재하면, 상기 메타데이터 서버는 소정의 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 데이터 접근 횟수 엔트리가 존재하는 지를 판단한다(S720).
판단결과 상기 파일 식별자를 가진 데이터 접근 횟수 엔트리가 존재하면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블의 접근 횟수 필드를 가져오고(S721), 접근 횟수 필드의 특정 필드들, 예컨대 min[0] 값, hour[0] 값 및 day[0] 값을 데이터 접근 횟수 값만큼 증가시키고(S722), 최근 접근 시간을 현재 시간으로 갱신하여(S723), 접근 횟수 필드를 갱신한다.
판단 과정(S720)에서의 판단결과 상기 파일 식별자를 가진 데이터 접근 횟수 엔트리가 존재하지 않으면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 새로운 데이터 접근 횟수 엔트리를 추가한다(S731). 상기 메타데이터 서버는 새로운 데이터 접근 횟수 엔트리의 접근 횟수 필드의 모든 필드들, 즉 min[0] 내지 min[63], hour[0] 내지 hour[23] 및 day[0] 내지 day[364]들을 '0'으로 초기화한다(S732). 이어서, 상기 메타데이터 서버는 새로운 데이터 접근 횟수 엔트리의 접근 횟수 필드의 last_min, last_hour 및 last_day를 현재 시간으로 설정하고(S733), 필드의 증가 과정(S722)을 진행한다.
도 8은 본 발명의 일실시예에 따른 접근 횟수 필드의 갱신 방법을 나타낸 흐름도이다. 즉, 도 8은 상기 핫 데이터 관리 테이블의 접근 횟수 필드(즉, min[0] 내지 min[59], hour[0] 내지 hour[23] 및 day[0] 내지 day[364])를 현재 시간을 기준으로 갱신하는 과정을 나타낸 것이다. 이하에서, 메타데이터 서버는 도 1의 메타데이터 서버(120)와 동일한 서버이다.
도 8을 참조하면, 상기 메타데이터 서버는 현재 시간과 접근 횟수 필드의 last_day를 비교하여 last_day가 하루 이상 경과되었는지를 판단한다(S810).
판단결과 하루 이상 경과하였으면, 상기 메타데이터 서버는 접근 횟수 필드의 day[0] 내지 day[364]를 경과일(day)만큼 오른쪽으로 시프트시키고(S811), day[0] 부터 day[경과일 - 1]까지의 필드를 '0'으로 초기화한다(S812). 그리고, 상기 메타데이터 서버는 접근 횟수 필드의 min[0] 내지 min[59] 및 hour[0] 내지 hour[23]을 '0'으로 초기화하고(S813), last_min, last_hour 및 last_day를 현재 시간으로 갱신한다(S814).
판단 과정(S810)에서의 판단결과 하루 이상 경과하지 않았으면, 상기 메타데이터 서버는 현재 시간과 접근 횟수 필드의 last_hour를 비교하여 last_hour가 한 시간 이상 경과 되었는지를 판단한다(S820).
판단 과정(S820)에서의 판단결과 한 시간 이상 경과 하였으면, 상기 메타데이터 서버는 접근 횟수 필드의 hour[0] 내지 hour[23]을 경과된 시간(hour)만큼 오른쪽으로 시프트시키고(S821), hour[0] 내지 hour[경과된 시간 - 1]를 '0'으로 초기화한다(S822). 그리고, 접근 횟수 필드의 min[0] 내지 min[59]를 '0'으로 초기화하고(S823), last_min 및 last_hour를 현재 시간으로 갱신한다(S824).
판단 과정(S820)에서의 판단결과 한 시간 이상 경과하지 않았으면, 상기 메타데이터 서버는 현재 시간과 접근 횟수 필드의 last_min을 비교하여 last_min이 1분 이상 경과 되었는지를 판단한다(S830). 판단결과 1분 이상 경과되지 않았으면, 상기 메타데이터 서버는 접근 횟수 필드의 갱신을 종료한다.
판단 과정(S830)에서의 판단결과 1분 이상 경과 하였으면, 상기 메타데이터 서버는 접근 횟수 필드의 min[0] 내지 min[59]을 경과분(minute)만큼 오른쪽으로 시프트시키고(S831), min[0] 내지 minute[경과분 - 1]을 '0'으로 초기화한다(S832). 그리고, 상기 메타데이터 서버는 last_min을 현재 시간으로 갱신한다(S833).
도 9는 본 발명의 일실시예에 따른 핫 데이터의 감지 및 복제 방법을 나타낸 흐름도이다. 이하에서, 메타데이터 서버는 도 1의 메타데이터 서버(120)와 동일한 서버이다.
도 9를 참조하면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블로부터 검사실행주기를 가져오고(S901), 핫 데이터의 감지를 위해서 상기 핫 데이터 관리 테이블로부터 검사 주기와 접근 횟수 문턱값(threshold)을 가져온다(S902). 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블로부터 최근 접근 시간이 현재 시간부터 검사 주기내에 있는 모든 엔트리들을 가져오고(S903), 가져온 엔트리들을 하나씩 확인하여(S904), 핫 데이터 인지를 검사한다(S910). 검사결과 핫 데이터가 아니면, 상기 메타데이터 서버는 검사실행주기만큼 슬립모드를 유지하고(S920), 엔트리를 가져오는 과정(S903)으로 되돌아간다.
검사결과 핫 데이터이면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블의 접근 횟수 필드를 가져오고(S911), 현재 시간을 기준으로 접근 횟수 필드를 변경한다(S912). 상기 메타데이터 서버는 핫 데이터의 검사 주기가 1일 단위 인지를 판단하여(S930), 검사 주기가 1일 단위이면, 상기 메타데이터 서버는 접근 횟수 필드의 day[0] 내지 day[검사주기] 값들을 합하여 합산 값을 접근 횟수(hit counter) 변수에 넣는다(S931). 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블의 엔트리의 파일의 현재 복사 제본 갯수를 얻고(S960), 접근 횟수를 현재 복사본 갯수로 나눈 값이 문턱값보다 큰지를 판단한다(S970). 판단결과 문턱값이 크지 않으면, 상기 메타데이터 서버는 엔트리의 확인 과정(S904)으로 넘어간다.
판단 과정(S970)에서의 판단결과 문턱값이 더 크면, 상기 메타데이터 서버는 파일의 접근 횟수 값을 핫 데이터로 인식하고 파일의 복제본을 새로운 데이터 서버에 복제하고(S971), 파일 복제본의 갯수를 1만큼 증가시킨다(S972). 이어서, 상기 메타데이터 서버는 핫 데이터 관리 테이블의 엔트리의 추가 복제 유무 필드를 참(true)으로 갱신한다(S973).
판단 과정(S930)에서의 판단결과 1일 단위가 아니면, 상기 메타데이터 서버는 핫 데이터의 검사 주기가 시간 단위 인지를 판단한다(S940). 판단결과 시간 단위이면, 상기 메타데이터 서버는 접근 횟수 필드의 hour[0] 내지 hour[검사 주기] 값들을 합하여 합산 값을 접근 횟수(hit counter) 변수에 넣은 후(S941), 현재 복사 제본 갯수를 얻는 단계(S960)의 이후 과정을 수행한다.
판단 과정(S940)에서의 판단결과 검사 주기가 시간 단위가 아니면, 상기 메타데이터 서버는 핫 데이터의 검사 주기가 분 단위 인지를 판단한다(S950). 판단결과 분 단위이면, 상기 메타데이터 서버는 접근 횟수 필드의 min[0] 내지 min[검사주기] 값들을 합하여 합산 값을 접근 횟수(hit counter) 변수에 넣은 후(S951), 현재 복사 제본 갯수를 얻는 단계(S960) 이후 과정을 진행한다.
판단 과정(S950)에서의 판단결과 검사 주기가 분 단위가 아니면, 상기 메타 데이터 서버는 핫 데이터의 검사 주기 값에 오류가 발생하였음을 출력한다(S980).
도 10은 본 발명의 일실시예에 따른 파일의 추가 복제를 횟수하는 과정을 나타낸 흐름도이다. 이하에서, 메타데이터 서버는 도 1의 메타데이터 서버(120)와 동일한 서버이다.
도 10을 참조하면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블로부터 검사실행주기를 가져오고(S1001), 핫 데이터의 감지를 위해서 상기 핫 데이터 관리 테이블로부터 검사 주기 값을 가져온다(S1002). 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블로부터 최근 접근 시간이 현재 시간부터 검사 주기에 있지 않은 모든 엔트리들을 가져오고(S1003), 가져온 엔트리들을 하나씩 확인하여(S1004), 핫 데이터로 표시되어 있는지를 검사한다(S1010). 검사결과 핫 데이터가 아니면, 상기 메타데이터 서버는 검사실행주기만큼 슬립모드를 유지하고(S1050), 엔트리를 가져오는 과정(S1003)으로 되돌아간다.
검사결과 핫 데이터이면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블에 추가 복제 필드가 설정되어 있는지를 판단한다(S1020).
판단 과정(S1020)에서의 판단결과 추가 복제 필드가 설정되어 있으면, 상기 메타데이터 서버는 엔트리의 파일의 복제본 수를 1만큼 감소시킨 후(S1021), 상기 데이터 서버에 저장된 복제본들 중 하나의 복제본을 삭제한다(S1022).
메타데이터 서버는 엔트리의 파일 복제본 수가 소정의 기준 복제본 수와 같은지를 판단하여(S1030), 판단결과 복제본 수들이 같으면, 엔트리의 추가 복제 필드 값을 초기화하고(S1031), 엔트리 확인 과정(S1004)으로 돌아간다. 판단결과 복 제본 수들이 같지 않으면, 곧바로 엔트리 확인 과정(S1004)으로 넘어간다.
판단 과정(S1020)에서의 판단결과 추가 복제 필드가 설정되어 있지 않으면, 상기 메타데이터 서버는 상기 핫 데이터 관리 테이블로부터 엔트리를 제거하고(S1040), 엔트리 확인 과정(S1004)으로 돌아간다.
즉, 단계(S1003)에서 엔트리를 가져올 때 현재시간으로부터 검사주기까지에 접근이 없었던 엔트리들을 가져오게 되므로, 이후의 과정(S1004 내지 S1040)에서 핫 데이터관련 엔트리라고 판단되면, 과거에는 핫 데이터였으나 현재는 핫 데이터가 아니라고 판단하여 전술한 과정을 수행하는 것이다.
즉, 도 10의 실시예를 통하여 과거에는 핫 데이터였으나 현재는 핫 데이터가 아닌 데이터를 파악하여 이에 관한 복제 데이터를 제거하여 스토리지의 낭비를 줄일 수 있다.
이상, 본 발명의 기술사상을 상기 바람직한 실시예와 첨부 도면을 참고하여 구체적으로 기술하였으나, 이는 예시에 불과한 것으로서 본 발명을 제한하거나 한정하는 것이 아님을 주의하여야 한다. 본 발명의 기술분야의 통상의 전문가라면 전술한 기재를 지득하여 본 발명의 기술사상의 범위에서 다양한 변형과 변경을 할 수 있을 것인바, 본 발명의 보호 범위는 이하의 특허청구범위의 기재에 의하여 정하여져야 할 것이다.
도 1은 본 발명의 실시예들이 적용되는 비대칭 스토리지 시스템의 구성도.
도 2는 본 발명의 일실시예에 따른 데이터 접근 횟수 엔트리의 구성을 나타낸 도면.
도 3은 본 발명의 일실시예에 따른 데이터 접근 횟수의 처리 방법을 나타낸 흐름도.
도 4는 본 발명의 일실시예에 따른 데이터 접근 횟수의 순위 변경 방법을 나타낸 흐름도.
도 5는 본 발명의 일실시예에 따른 데이터 접근 횟수의 전송 처리 방법을 나타낸 흐름도.
도 6은 본 발명의 일실시예에 따른 핫 데이터 관리 테이블의 구성을 나타낸 도면.
도 7은 본 발명의 일실시예에 따른 데이터 접근 횟수 정보의 저장 방법을 나타낸 흐름도.
도 8은 본 발명의 일실시예에 따른 접근 횟수 필드의 갱신 방법을 나타낸 흐름도.
도 9는 본 발명의 일실시예에 따른 핫 데이터의 감지 및 복제 방법을 나타낸 흐름도.
도 10은 본 발명의 일실시예에 따른 파일의 추가 복제를 횟수하는 과정을 나타낸 흐름도.

Claims (20)

  1. 삭제
  2. 삭제
  3. 비대칭 스토리지 시스템의 각 데이터 서버가 자신이 저장하는 데이터에 대한 접근 횟수를 감시하여, 상기 데이터에 대한 접근 횟수 정보를 최근 상태로 유지하는 단계와,
    상기 각 데이터 서버가 소정 주기별로 상기 접근 횟수 정보를 메타데이터 서버에 전송하는 단계와,
    상기 각 데이터 서버가 상기 메타데이터 서버의 결정에 따라 데이터의 복제 또는 복제본의 삭제를 수행하는 단계를 포함하되,
    상기 최근 상태로 유지하는 단계는
    데이터를 구별하기 위한 디스크 식별자 필드 및 데이터 식별자 필드, 접근 횟수를 기록하기 위한 접근 횟수 필드 및 톱 리스트 필드를 포함하는 하나 이상의 데이터 접근 횟수 엔트리를 형성하는 단계와,
    상기 접근 횟수 엔트리의 빠른 식별을 위하여, 미리 설정한 수의 해쉬 헤드를 포함하는 해쉬 테이블을 준비하는 단계와,
    상기 데이터 접근 횟수 엔트리와 상기 해쉬 테이블을 이용하여 데이터별 접근 횟수를 관리하는 단계를 포함하되,
    상기 데이터별 접근 횟수를 관리하는 단계는
    데이터 읽기 또는 삭제 요청이 수신되면, 해쉬 함수에 데이터 식별자를 넣어서 결과값을 얻은 후, 상기 해쉬 헤드에서 해당 데이터 식별자가 있는 데이터 접근 횟수 엔트리가 있는지 검사하는 단계와,
    데이터 접근 횟수 엔트리가 존재하고 읽기 요청이면 접근 횟수 필드를 하나 증가시키는 단계와,
    데이터 접근 횟수 엔트리가 존재하지 않고 읽기 요청이면 새로운 데이터 접근 횟수 엔트리를 생성하는 단계와,
    데이터 접근 횟수 엔트리가 존재하며 삭제 요청이면, 해당 데이터 접근 횟수 엔트리를 제거하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  4. 제3항에 있어서,
    상기 데이터 접근 횟수 엔트리의 데이터 접근 횟수의 증가시 상기 데이터 접근 횟수 엔트리의 순위를 변경하는 단계를 더 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  5. 제4항에 있어서, 상기 순위를 변경하는 단계는
    증가된 데이터 접근 횟수를 갖는 상기 데이터 접근 횟수 엔트리보다 높은 우선 순위의 데이터 접근 횟수 엔트리를 탐색하는 단계와,
    탐색되면 상기 탐색된 데이터 접근 횟수 엔트리의 바로 후순위로 상기 데이터 접근 횟수 엔트리의 순위를 조정하고, 탐색되지 않으면 상기 데이터 접근 횟수 엔트리를 최상위 우선 순위를 가지는 엔트리로 조정하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  6. 제4항에 있어서, 상기 순위를 변경하는 단계는
    증가된 데이터 접근 횟수를 갖는 데이터 접근 횟수 엔트리의 톱 리스트로부터 이전 데이터 접근 횟수 엔트리를 확인하는 단계와,
    상기 이전 데이터 접근 횟수 엔트리를 임시 엔트리로 하는 단계와,
    상기 임시 엔트리의 데이터 접근 횟수가 상기 데이터 접근 횟수 엔트리의 데이터 접근 횟수보다 크거나 같으면, 상기 데이터 접근 횟수 엔트리를 상기 임시 엔트리의 다음 엔트리로 설정하는 단계와,
    상기 임시 엔트리의 데이터 접근 횟수가 상기 데이터 접근 횟수 엔트리의 데이터 접근 횟수보다 작으면, 상기 임시 엔트리의 톱 리스트상의 이전 엔트리를 임시 엔트리로 갱신하고, 상기 임시 엔트리의 데이터 접근 횟수가 상기 데이터 접근 횟수 엔트리의 데이터 접근 횟수보다 크거나 같을 때까지 이를 반복하는 단계
    를 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  7. 제3항에 있어서, 상기 새로운 데이터 접근 횟수 엔트리를 생성하는 단계는
    디스크 식별자 필드 및 데이터 식별자 필드, 접근 횟수를 기록하기 위한 데이터 접근 횟수 필드, 각 데이터 접근 횟수 엔트리들을 연결하기 위한 톱 리스트 필드를 포함하는 데이터 구조체를 생성하는 단계와,
    해당 데이터에 관한 디스크 식별자 및 데이터 식별자를 디스크 식별자 필드 및 데이터 식별자 필드에 넣는 단계와,
    상기 데이터 접근 횟수 필드를 '1'로 초기화하는 단계와,
    상기 데이터 식별자의 해쉬 결과값을 상기 해쉬 테이블 중 하나의 해쉬 헤드에 넣는 단계와,
    최하위 우선 순위를 가지도록 상기 톱 리스트 필드값을 정하는 단계
    를 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  8. 제3항에 있어서, 상기 전송하는 단계는
    데이터의 접근 횟수가 많은 순서대로, 미리 설정한 최대 전송 개수만큼, 해당 데이터에 대한 접근 횟수 정보를 전송하는 단계와,
    상기 데이터 접근 횟수 엔트리를 초기화하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  9. 삭제
  10. 삭제
  11. 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와,
    하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와,
    상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와,
    소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와,
    핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와,
    더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하되,
    상기 핫 데이터 관리 테이블을 갱신하는 단계는
    상기 수집된 접근 횟수 정보에 포함된 디스크 식별자와 데이터 식별자로부터 파일 식별자를 얻는 단계와,
    상기 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 엔트리가 존재하면, 상기 접근 횟수 정보에 기초하여 해당 엔트리를 갱신하는 단계와,
    상기 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 엔트리가 존재하지 않으면, 새로운 엔트리를 추가하고 초기화하는 단계를 포함하되,
    상기 해당 엔트리를 갱신하는 단계는,
    직전 갱신 시간으로부터 현재 시점까지의 경과일, 경과시 또는 경과분을 구하는 단계와,
    각각 상기 접근 횟수 필드를 구성하는 min[0] 내지 min[63], hour[0] 내지 hour[23], 또는 day[0] 내지 day[364] 배열을 상기 경과분, 경과시 또는 경과일 만큼 우측으로 쉬프트하는 단계와,
    상기 min[0] 값, hour[0] 값 또는 day[0] 값을 상기 데이터 접근 횟수 값만큼 증가시키는 단계와,
    최근 접근 시간을 현재 시간으로 갱신하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  12. 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와,
    하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와,
    상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와,
    소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와,
    핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와,
    더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하되,
    상기 핫 데이터 관리 테이블을 갱신하는 단계는
    상기 수집된 접근 횟수 정보에 포함된 디스크 식별자와 데이터 식별자로부터 파일 식별자를 얻는 단계와,
    상기 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 엔트리가 존재하면, 상기 접근 횟수 정보에 기초하여 해당 엔트리를 갱신하는 단계와,
    상기 핫 데이터 관리 테이블에 상기 파일 식별자를 가진 엔트리가 존재하지 않으면, 새로운 엔트리를 추가하고 초기화하는 단계를 포함하되,
    상기 새로운 엔트리를 추가하고 초기화하는 단계는
    상기 새로운 엔트리의 접근 횟수 필드의 min[0] 내지 min[63], hour[0] 내지 hour[23] 및 day[0] 내지 day[364]들을 '0'으로 초기화하는 단계와,
    상기 새로운 엔트리의 접근 횟수 필드의 last_min, last_hour 및 last_day를 현재 시간으로 설정하는 단계와,
    상기 핫 데이터 관리 테이블에 상기 새로운 엔트리를 넣는 단계
    를 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  13. 삭제
  14. 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와,
    하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와,
    상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와,
    소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와,
    핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와,
    더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하되,
    상기 핫 데이터 여부를 판단하는 단계는
    검사실행주기를 확인하는 단계와,
    상기 핫 데이터 관리 테이블내의 엔트리 중 현재 시간을 기준으로 상기 검사실행주기 내에 갱신된 엔트리에 대해서, 현재 시간을 기준으로 상기 검사실행주기 내의 기간 동안의 접근 횟수를 계산하는 단계와,
    상기 엔트리에 대응하는 데이터 파일의 복제본 수를 확인하는 단계와,
    상기 접근횟수를 상기 복제본 수로 나눈 값이 소정의 임계치를 상회하는지를 확인하는 단계와,
    상회하면, 상기 엔트리에 대응되는 데이터를 핫 데이터로 판단하는 단계를 포함하되,
    상기 계산하는 단계는
    상기 검사실행주기가 1일 단위이면, 상기 접근 횟수 필드의 day[0] 내지 day[검사주기] 값들을 합하여 접근 횟수를 구하는 단계와,
    상기 검사실행주기가 시간 단위이면, 상기 접근 횟수 필드의 hour[0] 내지 hour[검사주기] 값들을 합하여 접근 횟수를 구하는 단계와,
    상기 검사실행주기가 분 단위이면, 상기 접근 횟수 필드의 min[0] 내지 min[검사주기] 값들을 합하여 접근 횟수를 구하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  15. 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와,
    하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와,
    상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와,
    소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와,
    핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와,
    더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하되,
    상기 복제하는 단계는
    핫 데이터로 판단된 데이터를 새로운 데이터 서버에 복제하는 단계와,
    파일 복제본 갯수의 값을 1 증가시키는 단계와,
    상기 핫 데이터 관리 테이블의 엔트리의 추가 복제 유무 필드를 참(true)으로 설정하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  16. 각 데이터 별 접근 횟수 필드를 포함하는 핫 데이터 관리 테이블을 구성하는 단계와,
    하나 이상의 데이터 서버로부터 각 데이터 서버가 저장하는 데이터에 대한 접근 횟수 정보를 수집하는 단계와,
    상기 접근 횟수 정보에 따라 상기 핫 데이터 관리 테이블을 갱신하는 단계와,
    소정 주기로 상기 핫 데이터 관리 테이블을 확인하여 핫 데이터 여부를 판단하는 단계와,
    핫 데이터로 판단된 데이터 파일을 새로운 데이터 서버에 복제하는 단계와,
    더 이상 핫 데이터가 아닌 것으로 판단된 데이터 파일의 복제본을 삭제하는 단계를 포함하되,
    상기 복제본을 삭제하는 단계는
    상기 핫 데이터 관리 테이블의 엔트리 중 과거에 핫 데이터였으나 현재는 핫 데이터가 아닌 엔트리를 확인하는 단계와,
    상기 확인된 엔트리에 대응되는 파일의 복제본 수를 1만큼 감소시키는 단계; 및
    기존의 복제본들 중 하나의 복제본을 삭제하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  17. 제16항에 있어서,
    상기 파일의 복제본 수가 소정의 기준 복제본 수와 같으면, 상기 엔트리의 추가 복제 필드 값을 초기화하는 단계
    를 더 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  18. 제16항에 있어서,
    상기 확인된 엔트리에 추가 복제 필드가 설정되어 있지 않으면, 상기 핫 데이터 관리 테이블로부터 상기 확인된 엔트리를 제거하는 단계
    를 더 포함하는 접근 횟수 기반의 핫 데이터 관리 방법.
  19. 제16항에 있어서, 상기 확인하는 단계는
    상기 핫 데이터 관리 테이블 내의 각 엔트리의 최근 접근 시간 필드의 값을 확인하는 단계와,
    상기 확인된 최근 접근 시간 필드의 값이 현재 시간에서부터 검사주기 내에 속하지 않는 엔트리를 선별하는 단계
    를 포함하는 것인 접근 횟수 기반의 핫 데이터 관리 방법.
  20. 삭제
KR1020080131277A 2008-12-22 2008-12-22 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법 KR101189766B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080131277A KR101189766B1 (ko) 2008-12-22 2008-12-22 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법
US12/507,327 US8126997B2 (en) 2008-12-22 2009-07-22 Hot data management method based on hit counter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131277A KR101189766B1 (ko) 2008-12-22 2008-12-22 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20100072770A KR20100072770A (ko) 2010-07-01
KR101189766B1 true KR101189766B1 (ko) 2012-10-10

Family

ID=42267687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131277A KR101189766B1 (ko) 2008-12-22 2008-12-22 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법

Country Status (2)

Country Link
US (1) US8126997B2 (ko)
KR (1) KR101189766B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430637B1 (ko) 2012-12-11 2014-08-18 서울대학교산학협력단 불휘발성 메모리 장치 및 그것의 데이터 관리 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662173B1 (ko) * 2010-07-21 2016-10-04 에스케이텔레콤 주식회사 분산 파일 관리 장치 및 방법
KR101527058B1 (ko) * 2010-07-29 2015-06-09 에스케이텔레콤 주식회사 분산 파일 관리 장치 및 방법
CN102521260B (zh) * 2011-11-18 2014-04-02 华为技术有限公司 数据预热方法及装置
KR101371202B1 (ko) * 2012-04-19 2014-03-10 케이티하이텔 주식회사 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법
US9846711B2 (en) 2012-12-28 2017-12-19 Facebook, Inc. LSM cache
KR102023351B1 (ko) 2013-03-19 2019-11-04 삼성전자 주식회사 저장 장치 내 할당 촉진을 위한 데이터 분석 방법 및 장치
CN104156551B (zh) * 2013-05-14 2017-12-15 腾讯科技(深圳)有限公司 基于时间间隔动态调整目标数据命中的方法和装置
KR20150134718A (ko) * 2014-05-22 2015-12-02 에스케이플래닛 주식회사 압축 방식을 이용한 데이터 소스 관리 장치 및 방법
KR101790701B1 (ko) * 2016-01-11 2017-11-21 충북대학교 산학협력단 분산 인-메모리 환경에서 데이터 복제 및 이주를 이용한 부하 분산 시스템
US10275468B2 (en) * 2016-02-11 2019-04-30 Red Hat, Inc. Replication of data in a distributed file system using an arbiter
CN106204873B (zh) * 2016-07-20 2018-10-12 兰州智豆信息科技有限公司 基于参与时间的幸运用户抽取方法及***
CN106569962A (zh) * 2016-10-19 2017-04-19 暨南大学 一种基于增强时间局部性的热点数据识别方法
US10198190B2 (en) 2016-10-31 2019-02-05 International Business Machines Corporation Performance oriented data deduplication and duplication
CN107018185B (zh) * 2017-03-28 2020-04-07 清华大学 云存储***的同步方法和装置
US11283680B2 (en) * 2017-06-19 2022-03-22 Cisco Technology, Inc. Identifying components for removal in a network configuration
CN108228101B (zh) * 2017-12-28 2022-03-15 北京盛和大地数据科技有限公司 一种管理数据的方法和***
CN111694505B (zh) 2019-03-15 2021-11-02 北京京东尚科信息技术有限公司 数据存储管理方法、装置和计算机可读存储介质
CN111459900B (zh) * 2020-04-22 2023-07-18 广州虎牙科技有限公司 大数据生命周期设置方法、装置、存储介质及服务器
KR20220160841A (ko) 2021-05-28 2022-12-06 삼성에스디에스 주식회사 파일 관리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832520A (en) * 1996-07-03 1998-11-03 Miller, Call, Plauck And Miller Automatic file differencing and updating system
JP2002082775A (ja) * 2000-07-06 2002-03-22 Hitachi Ltd 計算機システム
US20040088412A1 (en) * 2002-07-24 2004-05-06 Ranjit John System and method for highly-scalable real-time and time-based data delivery using server clusters
US20060112242A1 (en) * 2004-11-19 2006-05-25 Mcbride Gregory E Application transparent autonomic data replication improving access performance for a storage area network aware file system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7177945B2 (en) * 2000-08-04 2007-02-13 Avaya Technology Corp. Non-intrusive multiplexed transaction persistency in secure commerce environments
WO2002071191A2 (en) * 2001-03-02 2002-09-12 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US7912954B1 (en) * 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US8363519B2 (en) * 2006-06-30 2013-01-29 Seagate Technology Llc Hot data zones

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832520A (en) * 1996-07-03 1998-11-03 Miller, Call, Plauck And Miller Automatic file differencing and updating system
JP2002082775A (ja) * 2000-07-06 2002-03-22 Hitachi Ltd 計算機システム
US20040088412A1 (en) * 2002-07-24 2004-05-06 Ranjit John System and method for highly-scalable real-time and time-based data delivery using server clusters
US20060112242A1 (en) * 2004-11-19 2006-05-25 Mcbride Gregory E Application transparent autonomic data replication improving access performance for a storage area network aware file system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430637B1 (ko) 2012-12-11 2014-08-18 서울대학교산학협력단 불휘발성 메모리 장치 및 그것의 데이터 관리 방법

Also Published As

Publication number Publication date
KR20100072770A (ko) 2010-07-01
US20100161780A1 (en) 2010-06-24
US8126997B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
KR101189766B1 (ko) 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법
KR102454779B1 (ko) 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치
US7849227B2 (en) Stream data processing method and computer systems
US8924460B2 (en) Method and system of administrating a peer-to-peer file sharing network
JP4997950B2 (ja) ネットワーク管理システム、ネットワーク管理プログラムおよびネットワーク管理方法
US9842153B2 (en) Usage and bandwidth utilization collection mechanism for a distributed storage system
CN111464353B (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
KR101694288B1 (ko) 비대칭형 클러스터 파일 시스템의 데이터 관리 방법
CN109298835B (zh) 区块链的数据归档处理方法、装置、设备及存储介质
JP2022511326A (ja) ブロックチェーンに基づくコンテンツ処理方法、装置、デバイス及び記憶媒体
WO2013010414A1 (zh) 构建索引的方法、检索方法、装置及***
EP4231167A1 (en) Data storage method and apparatus based on blockchain network
Qin et al. Applying private information retrieval to lightweight bitcoin clients
Ye et al. Secure, dependable, and high performance cloud storage
CN109600410A (zh) 数据存储***以及方法
CN114707043A (zh) 基于元宇宙区块链技术的档案管理方法与***
KR20090062011A (ko) 액티브 노드와 유사한 특성을 가지는 이웃 노드의 관리방법, 장치 및 그 방법을 구현하기 위한 프로그램이 기록된기록매체
CN113411376A (zh) 基于区块链分片存储的传感器数据处理方法及装置
CN110795026B (zh) 热点数据的识别方法、装置、设备及存储介质
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
CN112905554B (zh) 基于区块链的数据共享方法和装置
CN105791350B (zh) 项目数据处理方法和***
Afonso Key-Value Storage for handling data in mobile devices
CN115687505A (zh) 日志记录和查询方法、装置、计算机设备和存储介质
JP5445503B2 (ja) 情報通信システム、情報通信方法

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: 20150925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 7