KR101769778B1 - 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템 - Google Patents

파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템 Download PDF

Info

Publication number
KR101769778B1
KR101769778B1 KR1020160055566A KR20160055566A KR101769778B1 KR 101769778 B1 KR101769778 B1 KR 101769778B1 KR 1020160055566 A KR1020160055566 A KR 1020160055566A KR 20160055566 A KR20160055566 A KR 20160055566A KR 101769778 B1 KR101769778 B1 KR 101769778B1
Authority
KR
South Korea
Prior art keywords
inode
file
backup
inodes
information
Prior art date
Application number
KR1020160055566A
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 KR1020160055566A priority Critical patent/KR101769778B1/ko
Priority to US15/583,079 priority patent/US20170322853A1/en
Application granted granted Critical
Publication of KR101769778B1 publication Critical patent/KR101769778B1/ko

Links

Images

Classifications

    • G06F17/3007
    • 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/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/13File access structures, e.g. distributed indices
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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
    • 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
    • G06F16/1815Journaling file systems
    • G06F17/30126
    • G06F17/30144
    • G06F17/30185
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

파일 시스템의 데이터 관리 방법은 아이노드 비트맵(inode bitmap)에 저장된 아이노드들의 사용현황과 아이노드 테이블(inode table)에 저장된 상기 아이노드들의 삭제정보에 기초하여, 상응하는 파일이 삭제되어 현재 사용되고 있지 않은 비할당 아이노드의 정보를 획득하는 단계, 획득한 비할당 아이노드의 정보를 이용하여, 저널 로그(journal log) 영역 내의 상기 비할당 아이노드에 상응하는 백업 아이노드를 검색하는 단계 및 검색된 백업 아이노드에 상응하는 파일의 영구삭제 여부의 선택을 요청하는 단계를 포함한다.

Description

파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템{METHOD FOR MANAGING DATA OF FILE SYSTEM AND COMPUTING SYSTEM USING THE SAME}
본 발명의 기술적 사상은 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템에 관한 것으로, 보다 상세하게는, 아이노드들(inodes)의 사용현황과 삭제정보에 기초하여 영구삭제 후보 파일들의 정보를 출력할 수 있는 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템에 관한 것이다.
컴퓨팅 시스템에서는 하드웨어 저장 장치에 저장된 파일에 쉽게 접근하고, 저장된 파일을 관리할 수 있도록 하기 위하여 파일 시스템(file system)을 두고 있다.
즉, 파일 시스템은 하드웨어 저장 장치에 데이터를 쓰고(write), 읽고(read), 관리하기 위한 규칙을 정리해 놓은 체계를 나타낸다.
파일 시스템은 OS(Operating System)의 일부로 구성되기 때문에, OS의 종류에 따라 서로 다른 형태를 가질 수 있으며 윈도우 기반의 파일 시스템에는 FAT16(File Allocation Table 16), FAT32(File Allocation Table 32), NTFS(NT file system) 등이 있으며, 리눅스 기반의 파일 시스템에는 ext2(Extended File System 2), reiserFS(Reiser File System), ext3(Extended File System 3), ext4(Extended File System 4) 등이 있다.
본 발명의 기술적 사상에 따른 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템이 이루고자 하는 기술적 과제는, 아이노드들(inodes)의 사용현황과 삭제정보에 기초하여 영구삭제 후보 파일들의 정보를 출력할 수 있는 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템을 제공하는 것이다.
본 발명의 기술적 사상에 의한 일 양태에 따른 파일 시스템의 데이터 관리 방법은 아이노드 비트맵(inode bitmap)에 저장된 아이노드들의 사용현황과 아이노드 테이블(inode table)에 저장된 상기 아이노드들의 삭제정보에 기초하여, 상응하는 파일이 삭제되어 현재 사용되고 있지 않은 비할당 아이노드의 정보를 획득하는 단계, 획득한 비할당 아이노드의 정보를 이용하여, 저널 로그(journal log) 영역 내의 상기 비할당 아이노드에 상응하는 백업 아이노드를 검색하는 단계 및 검색된 백업 아이노드에 상응하는 파일의 영구삭제 여부의 선택을 요청하는 단계를 포함한다.
일부 실시 예에서, 상기 아이노드들의 상기 사용현황은 상기 아이노드 비트맵의 상기 아이노드들 각각에 상응하는 비트 값에 따라 판단될 수 있다.
일부 실시 예에서, 상기 아이노드들의 상기 삭제정보는 상기 아이노드 테이블에 저장된 상기 아이노드들 각각의 삭제 시각을 나타내는 비트들의 값에 따라 판단될 수 있다.
일부 실시 예에서, 상기 백업 아이노드를 검색하는 단계는 상기 저널 로그 영역 내에 저장되어 복구가 가능한 상기 백업 아이노드를 검색할 수 있다.
일부 실시 예에서, 상기 백업 아이노드를 검색하는 단계는 파일 사이즈(file size)를 나타내는 비트의 값이 0이 아니고, 삭제 시각을 나타내는 비트의 값이 0인 상기 백업 아이노드를 검색할 수 있다.
일부 실시 예에서, 상기 방법은, 상기 백업 아이노드를 검색하는 단계 이후에 디렉토리 엔트리(directory entry)를 이용하여 상기 백업 아이노드에 상응하는 파일에 관한 정보를 획득하는 단계를 더 포함할 수 있다.
일부 실시 예에서, 상기 영구삭제 여부의 선택을 요청하는 단계는 상기 백업 아이노드에 상응하는 상기 파일의 파일 종류에 기초하여, 우선순위를 정하여 영구삭제 여부의 선택을 요청할 수 있다.
본 발명의 기술적 사상에 의한 일 양태에 따른 컴퓨팅 시스템은 영구삭제 후보 파일들의 정보를 포함하는 파일 목록을 요청하는 어플리케이션 인터페이스(application interface) 및 상기 요청에 따라, 파일 시스템(file system)의 아이노드 비트맵(inode bitmap)에 저장된 아이노드들의 사용현황과 아이노드 테이블(inode table)에 저장된 상기 아이노드들의 삭제정보에 기초하여 상응하는 파일이 삭제되어 현재 사용되고 있지 않은 비할당 아이노드의 정보를 획득하고, 획득한 비할당 아이노드의 정보를 이용하여, 저널 로그(journal log) 영역 내의 상기 비할당 아이노드에 상응하는 백업 아이노드를 검색하여, 검색된 백업 아이노드에 상응하는 파일을 포함하는 상기 영구삭제 후보 파일들의 정보를 출력하는 파일 관리 장치를 포함한다.
일부 실시 예에서, 상기 아이노드들의 상기 사용현황은 상기 아이노드 비트맵의 상기 아이노드들 각각에 상응하는 비트 값에 따라 판단될 수 있다.
일부 실시 예에서, 상기 아이노드들의 상기 삭제정보는 상기 아이노드 테이블에 저장된 상기 아이노드들 각각의 삭제 시각을 나타내는 비트들의 값에 따라 판단될 수 있다.
일부 실시 예에서, 상기 파일 관리 장치는 상기 저널 로그 영역 내에 저장되어 복구가 가능한 상기 백업 아이노드를 검색할 수 있다.
일부 실시 예에서, 상기 파일 관리 장치는 파일 사이즈(file size)를 나타내는 비트의 값이 0이 아니고, 삭제 시각을 나타내는 비트의 값이 0인 상기 백업 아이노드를 검색할 수 있다.
일부 실시 예에서, 상기 컴퓨팅 시스템은 상기 파일 관리 장치로부터 출력된 상기 영구삭제 후보 파일들의 정보에 기초하여 상기 파일 목록을 생성하는 프로세서(processor) 및 생성된 상기 파일 목록을 표시하는 디스플레이(display)를 더 포함할 수 있다.
일부 실시 예에서, 상기 파일 목록은 상기 백업 아이노드에 상응하는 상기 파일의 파일 종류에 기초하여 정해진 우선순위에 따라 파일의 순서 또는 파일의 표시 방법을 달리할 수 있다.
본 발명의 기술적 사상에 의한 실시 예에 따른 방법과 장치는, 삭제 처리 이후에도 저장 장치에 잔존하는 파일을 영구 삭제할 수 있도록 상기 파일에 관한 정보를 사용자에게 제공함으로써 개인정보의 보호 강도를 향상시킬 수 있는 효과가 있다.
또한, 영구삭제 후보 파일들의 파일 종류에 따라 우선순위를 두어 사용자에게 제공되는 파일 목록에서 파일들의 순서 또는 파일의 표시 방법을 달리함에 따라, 사용자가 영구 삭제할 파일을 효율적으로 선택할 수 있도록 하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 파일 시스템의 구조를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 파일 시스템의 데이터 관리 방법의 플로우차트이다.
도 3은 도 1의 파일 시스템에 포함된 아이노드 비트맵(inode bitmap)을 나타낸 도면이다.
도 4는 도 1의 파일 시스템에 포함된 아이노드 테이블(inode table)을 나타낸 도면이다.
도 5는 도 1의 파일 시스템의 디렉토리 및 데이터 블록들(directory and data blocks)에 포함된 디렉토리 엔트리(directory entry)를 나타낸 도면이다.
도 6은 도 4의 아이노드 테이블에 포함된 아이노드의 데이터 포인팅 형태를 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 컴퓨팅 시스템(computing system)의 블록도이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부(유닛)", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 기술적 사상에 따른 실시예들을 차례로 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 파일 시스템의 구조를 나타낸 도면이다.
도 1을 참조하면, 도 1의 파일 시스템(FS)는 ext4(extended file system 4) 구조를 기반으로 설명되지만, 이에 한정되는 것은 아니다.
파일 시스템(file system, FS)은 부트섹터(boot sector)와 여러 개의 블록 그룹들(block group 0~ block group n)로 구성될 수 있다.
부트섹터(boot sector)는 컴퓨팅 시스템(computing system)의 부팅(booting)에 필요한 정보를 담고 있으며, 블록 그룹들(block group 0~ block group n) 각각은 파일 시스템(FS)에서 데이터를 저장하는 단위를 의미한다. 각 블록 그룹들(block group 0~ block group n)의 크기는 파일 시스템(FS) 생성 시 지정될 수 있으며, 이하에서 설명될 슈퍼 블록(super block)에서 지정된 크기를 확인할 수 있다.
블록 그룹들(block group 0~ block group n) 각각은 슈퍼 블록, 그룹 디스크립터 테이블(group descriptor table(GDT)), 블록 비트맵(block bitmap), 아이노드 비트맵(inode bitmap), 아이노드 테이블(inode table), 및 디렉토리/데이터 블록들(directory/data blocks)을 포함할 수 있다.
파일 시스템(FS)의 전체적인 정보는 슈퍼 블록과 그룹 디스크립터 테이블에 저장된다.
슈퍼 블록은 파일 시스템(FS)의 블록 그룹들(block group 0~ block group n)을 대표하는 블록으로서, 파일 시스템(FS)의 주요 설정 정보들이 기록되어 있다. 즉, 슈퍼 블록은 파일 시스템(FS)의 구조 분석 시 가장 기초가 되는 메타데이터(metadata)이다.
슈퍼 블록에 저장되는 주요 데이터에는 블록 그룹들(block group 0~ block group n)의 개수, 총 블록의 개수, 데이터 블록의 크기, 각 블록 그룹(block group 0~ block group n) 내의 블록의 개수, 각 블록 그룹(block group 0~ block group n) 내의 아이노드의 개수, 및 비할당 아이노드의 개수 등이 있다.
그룹 디스크립터 테이블은 슈퍼 블록의 다음 블록부터 시작되며, 블록 그룹들(block group 0~ block group n)에 대한 세부 정보를 포함하고 있다.
그룹 디스크립터 테이블에 저장되는 주요 데이터에는 블록 비트맵의 오프셋(offset), 아이노드 비트맵의 오프셋(offset), 및 아이노드 테이블의 오프셋(offset) 등이 있다.
블록 비트맵은 그룹 디스크립터 테이블의 다음 블록부터 시작되지만, 그룹 디스크립터 테이블의 크기가 일정하지 않기 때문에 그 위치가 정해져 있지는 않다.
블록 비트맵은 각 블록의 사용현황을 비트 값으로 표현한다. 예컨대, 해당 블록이 사용 중이면 '1', 사용 중이 아니면 '0'으로 나타낼 수 있다.
아이노드 비트맵은 해당 블록 그룹이 관리하는 모든 아이노드들의 사용 현황을 비트 값으로 표현한다. 아이노드 비트맵의 구조는 도 3을 참조하여 상세히 설명된다.
아이노드 테이블은 복수의 아이노드들을 포함할 수 있으며, 아이노드 테이블의 구조는 도 4를 참조하여 상세히 설명된다.
디렉토리/데이터 블록들은 파일에 대한 접근 경로를 생성 및 저장하는 디렉토리와 파일의 데이터를 저장하는 데이터 블록들로 구성된다. 특히, 디렉토리/데이터 블록들은 디렉토리들의 리스트를 포함하는 디렉토리 엔트리(directory entry)를 포함하며, 디렉토리 엔트리의 구조는 도 5를 참조하여 상세히 설명된다.
디렉토리/데이터 블록들에는 저널 로그 영역(journal log area)이 포함될 수 있다.
저널 로그 영역은 데이터 백업 기능을 가지는 파일 시스템(FS)에서 데이터가 백업되는 영역이다. 파일 시스템(FS)에서 데이터를 업데이트하기 전에 해당 데이터의 업데이트 내용을 저널 로그 영역에 기록함으로써 파일 시스템(FS)의 신뢰성이 향상된다. 따라서, 명령 실행 중에 의도치 않은 시스템 종료나 프로세스의 충돌이 발생하더라도, 저널 로그 영역에 백업된 데이터를 다시 덮어씌우면, 작업이 정상적으로 재개될 수 있다.
저널 로그 영역의 위치는 아이노드 테이블에 포함된 복수의 아이노드들 중에서, 저널 로그 영역을 포인팅하는 저널 로그 아이노드(journal log inode)에 의해서 판단될 수 있다.
도 2는 본 발명의 실시 예에 따른 파일 시스템의 데이터 관리 방법의 플로우차트이다. 도 3은 도 1의 파일 시스템에 포함된 아이노드 비트맵(inode bitmap)을 나타낸 도면이다. 도 4는 도 1의 파일 시스템에 포함된 아이노드 테이블(inode table)을 나타낸 도면이다. 도 5는 도 1의 파일 시스템의 디렉토리 및 데이터 블록들(directory and data blocks)에 포함된 디렉토리 엔트리(directory entry)를 나타낸 도면이다. 도 6은 도 4의 아이노드 테이블에 포함된 아이노드의 데이터 포인팅 형태를 나타낸 도면이다.
도 1과 도 2를 참조하면, 파일 시스템(FS)을 포함하는 컴퓨팅 시스템은, 영구삭제의 후보가 되는 영구삭제 후보 파일들의 정보를 포함하는 파일 목록 요청에 따라, 먼저 파일 시스템(FS)의 슈퍼 블록을 분석할 수 있다(S10).
S10 단계의 슈퍼 블록의 분석 결과, 블록 그룹들(block group 0~ block group n)의 개수, 총 블록의 개수, 데이터 블록의 크기, 각 블록 그룹(block group 0~ block group n) 내의 블록의 개수, 각 블록 그룹(block group 0~ block group n) 내의 아이노드의 개수, 및 비할당 아이노드의 개수 등에 관한 정보가 획득될 수 있다.
다음으로, 컴퓨팅 시스템은 파일 시스템(FS)의 그룹 디스크립터 테이블을 분석할 수 있다(S12).
S12 단계의 그룹 디스크립터 테이블의 분석 결과, 블록 비트맵의 오프셋(offset), 아이노드 비트맵의 오프셋, 및 아이노드 테이블의 오프셋 등에 관한 정보가 획득될 수 있다.
S10단계와 S12 단계에서 획득된 아이노드 비트맵의 오프셋과 데이터 블록의 크기에 기초하여 아이노드 비트맵의 위치에 관한 정보의 획득이 가능하며, 아이노드 테이블의 오프셋과 상기 데이터 블록의 크기에 기초하여 아이노드 테이블의 위치에 관한 정보의 획득이 가능하다.
아이노드 비트맵과 아이노드 테이블의 위치가 확인되면, 컴퓨팅 시스템은 아이노드 비트맵과 아이노드 테이블을 분석하여, 상응하는 파일이 삭제된 비할당 아이노드를 검색할 수 있다(S14).
S14 단계에서, 상응하는 파일이 삭제된 비할당 아이노드는 아이노드 비트맵에 저장된 아이노드들의 사용현황과 아이노드 테이블에 저장된 아이노드들의 삭제정보에 기초하여 판단될 수 있다.
도 2와 도 3을 참조하면, 아이노드 비트맵은 각 아이노드(Inode 1 ~ Inode m)의 사용현황을 비트 값으로 표시한다. 예컨대, 사용되고 있는 아이노드들, 즉 할당된 아이노드들(예컨대, Inode 1, Inode 3)은 '1'의 비트 값을 가지며, 사용되고 있지 않은, 즉 비할당된 아이노드들(예컨대, Inode 2, Inode m)은 '0'의 비트 값을 가진다.
도 2와 도 4를 참조하면, 아이노드 테이블은 복수의 아이노드들(Inode 1 ~ Inode m)을 포함하며, 복수의 아이노드들(Inode 1 ~ Inode m) 각각은 파일 모드(file mode), UID(User ID), 파일 사이즈(file size), 파일 삭제 시각(dtime), 및 복수의 포인터들(pointer 1 ~ pointer p) 등의 데이터를 포함할 수 있다.
이 중에서, 복수의 아이노드들(Inode 1 ~ Inode m) 각각에 포함된 파일 삭제 시각(dtime)에 관한 비트 값에 기초하여, 해당 아이노드의 상응하는 파일이 삭제되었는지 여부가 판단될 수 있다. 예컨대, 상응하는 파일이 삭제된 아이노드(예컨대, Inode 2)는 파일 삭제 시각(dtime)에 관한 비트 값이 '0'이 아닌 값을 가지며, 상응하는 파일이 삭제되지 않은 아이노드(예컨대, Inode 1, Inode 3, Inode m)는 파일 삭제 시각(dtime)에 관한 비트 값이 '0'의 값을 가진다.
실시 예에 따라, 아이노드 비트맵의 비트 값이 '0'인 아이노드들(예컨대, Inode 2, Inode m) 중에서, 아이노드 테이블에서 파일 삭제 시각(dtime)에 관한 비트 값이 '0'이 아닌 아이노드(예컨대, Inode 2)가 S14 단계에서의 상응하는 파일이 삭제된 비할당 아이노드로서 검색될 수 있다.
실시 예에 따라, 복수의 아이노드들(Inode 1 ~ Inode m) 중의 어느 하나는 저널 로그 영역을 포인팅하는 저널 로그 아이노드(도 1 참조)로 구현될 수 있다.
도 2로 돌아와서, 컴퓨팅 시스템은 파일 시스템(FS)의 저널 로그 영역에서 S14 단계에서 검색된 비할당 아이노드에 상응하는 백업 아이노드를 검색할 수 있다(S16).
실시 예에 따라, S14 단계에서 검색된 비할당 아이노드의 정보(예컨대, 아이노드 번호)와 일치하는 아이노드 정보(예컨대, 아이노드 번호)를 가지는 백업 아이노드가 저널 로그 영역에 존재하는지 여부를 검색할 수 있다.
다른 실시 예에 따라, 컴퓨팅 시스템은 파일 시스템(FS)의 저널 로그 영역에서 S14 단계에서 검색된 비할당 아이노드에 상응하는 백업 아이노드 중에서도 복구가 가능한 백업 아이노드만을 검색할 수 있다.
이 경우, 복구가 가능한 백업 아이노드는 파일 데이터가 존재하고 저널 로그 영역에서 삭제되지 않은 백업 아이노드를 의미할 수 있다. 상기 백업 아이노드는 파일 크기(file size)에 관한 비트 값이 '0'이 아니며(즉, 파일 데이터가 존재함), 파일 삭제 시각(dtime)에 관한 비트 값이 '0'인(즉, 파일이 삭제되지 않음) 백업 아이노드를 의미할 수 있다.
도 1, 도 2, 및 도 5를 참조하면, 컴퓨팅 시스템은 S16 단계에서 검색된 백업 아이노드에 상응하는 파일 정보를 획득할 수 있다. 실시 예에 따라, 컴퓨팅 시스템은 백업 아이노드에 상응하는 파일 정보는 파일 시스템(FS)의 디렉토리/데이터 블록들에 포함된 디렉토리 엔트리(directory entry)를 참조하여 획득할 수 있다.
디렉토리 엔트리는 각 아이노드(Inode 1 ~ Inode m) 별로 디렉토리 엔트리의 길이(directory entry length1 ~ directory entry length m), 파일명의 길이(name length 1 ~ name length m), 파일 타입(file type 1 ~ file type m), 파일명 (file name 1 ~ file name m) 등의 정보를 포함할 수 있다.
도 2로 돌아와서, 컴퓨팅 시스템은 S16 단계에서 검색된 백업 아이노드에 상응하는 파일의 영구삭제 여부의 선택을 사용자에게 요청할 수 있다(S18).
실시 예에 따라, S18 단계에서 컴퓨팅 시스템은 디렉토리 엔트리로부터 획득한 파일 정보에 기초하여, 영구삭제 후보 파일들의 정보를 포함하는 파일 목록을 생성하여 사용자에게 제공할 수 있다.
다른 실시 예에 따라, 파일 시스템은, 백업 아이노드에 상응하는 파일의 파일 종류(파일의 확장자, 파일의 형태(예컨대, 이미지 또는 텍스트) 등)에 따라 우선순위를 정하여 상기 백업 아이노드에 상응하는 파일의 영구삭제 여부의 선택을 사용자에게 요청할 수 있다.
이 경우, 사용자에게 제공되는 영구삭제 후보 파일들의 파일 목록에서 파일들의 순서는 상기 우선순위에 따라 달라질 수 있다. 예컨대, 사용자의 개인정보 보호에 큰 영향을 미칠 수 있는 이미지 파일(jpg, gif 등의 확장자를 가지는 파일)의 우선순위를 높게 설정하고, 이미지 파일을 영구삭제 후보 파일들의 리스트에서 위쪽에 배치하거나, 이미지 파일을 영구삭제 후보 파일들의 리스트에서 강조 표시를 하여 사용자에게 제공할 수 있다.
도 2로 돌아와서, 컴퓨팅 시스템은 사용자의 선택에 따라 선택된 파일을 영구 삭제 할 수 있다(S20).
도 2와 도 6을 참조하면, S20 단계의 영구 삭제를 수행하는 경우, 사용자에 의해 선택된 파일의 아이노드(예컨대, Inode 2)를 참조하여, 해당 아이노드의 직접 블록 포인터(예컨대, pointer 1), 단일 간접 블록 포인터(예컨대, pointer 2), 이중 간접 블록 포인터(예컨대, pointer 3), 삼중 간접 블록 포인터(예컨대, pointer 4)의 깊이(depth of tree)에 따라 상응하는 데이터를 추적하여 해당 데이터를 영구 삭제 할 수 있다.
실시 예에 따라, 데이터의 영구 삭제 시 해당 데이터를 '0','1', 또는 '랜덤(random)' 값으로 덮어씌울 수 있으며, 덮어씌우는 횟수는 복수 회로 설정될 수 있다.
이 경우, 영구삭제 하고자 하는 백업 아이노드의 깊이(depth of tree)에 따라 데이터를 덮어씌우는 횟수를 달리 할 수 있다. 예컨대, 백업 아이노드의 깊이가 깊을수록 데이터를 덮어씌우는 횟수를 높게 설정할 수 있다.
도 7은 본 발명의 실시 예에 따른 컴퓨팅 시스템(computing system)의 블록도이다.
도 1 내지 도 7을 참조하면, 컴퓨팅 시스템(10)은 버스(bus)로 연결된 프로세서(processor, 100), 랜덤 억세스 메모리(Random Access Memory(RAM),200), 어플리케이션 인터페이스(application interface, 300), 저장 장치(storage, 400), 파일 관리 장치(file managing device, 500), 및 디스플레이(display, 700)를 포함할 수 있다.
도 7의 컴퓨팅 시스템(10)의 구성은 일 실시 예에 불과하며, 컴퓨팅 시스템(10)은 실시 예에 따라 일부 구성이 제외되거나 일부 구성이 추가되어 구성될 수도 있다.
프로세서(100)는 컴퓨팅 시스템(10)의 전반적인 동작을 처리하며, 프로세서(100)는 저장 장치(400)에 데이터를 입출력하기 위한 입출력 명령을 생성할 수 있다.
랜덤 억세스 메모리(200)는 프로세서(100)의 동작에 필요한 데이터들을 저장하며, 프로세서(100)는 랜덤 억세스 메모리(200)에 저장된 데이터를 가공, 연산, 또는 처리할 수 있다.
어플리케이션 인터페이스(300)는 사용자 또는 어플리케이션에서 발생한 요청을 프로세서(100)로 전달하고, 프로세서(100)에 의해 처리된 결과를 수신하여 출력할 수 있다.
저장 장치(400)는 데이터를 저장하며, 프로세서(100)의 명령에 따라 저장 장치(400)에 저장된 데이터가 입출력될 수 있다.
파일 관리 장치(500)는 적어도 하나의 파일 시스템(file system, 600)을 사용할 수 있다. 저장 장치(400)로 입출력되는 데이터는 파일 시스템(600)에 의해서 접근 또는 관리될 수 있다. 실시 예에 따라, 도 7의 파일시스템(600)은 도 1의 파일시스템(FS)과 같은 형태로 구현될 수 있다. 다른 실시 예에 따라, 파일 시스템(600)은 Advanced Disc Filing System, AdvFS, Be File System (BFS), Btrfs, CrossDOS, 디스크 파일링 시스템 (DFS), Episode, EFS, exFAT, ext, ext2, ext3, FAT, Files-11, 계층적 파일 시스템(HFS), HFS 플러스, High Performance File System, IBM GPFS, JFS, 매킨토시 파일 시스템, MINIX, 넷웨어 파일 시스템, NILFS, 노벨 스토리지 서비스, NTFS, QFS, QNX4FS, ReiserFS(Reiser4), SpadFS, UBIFS, 유닉스 파일 시스템, Veritas File System (VxFS), VFAT, Write Anywhere File Layout (WAFL), XFS, Xsan, ZFS 등의 다양한 형태로 구현될 수 있다.
디스플레이(700)는 프로세서(100)에 의해 처리된 결과를 화면으로 표시할 수 있다.
실시 예에 따라, 프로세서(100)는 어플리케이션 인터페이스(300)를 통해 영구삭제 후보 파일들의 정보를 포함하는 파일 목록의 요청이 입력된 경우, 프로세서(100)는 도 2의 S10 내지 S18 단계에 따라 요청에 상응하는 파일 정보를 파일 관리 장치(500)의 파일 시스템(600)으로부터 획득하고, 획득한 파일 정보에 기초하여 파일 목록을 작성하여 어플리케이션 인터페이스(300)로 제공할 수 있다.
사용자는 제공된 파일 목록에 따라, 영구 삭제할 파일을 어플리케이션 인터페이스(300)를 통해 선택하고, 프로세서(100)는 선택된 파일이 삭제되도록 파일 관리 장치(500)의 파일 시스템(600)에 명령을 전달하며, 이에 따라 해당 파일이 영구 삭제될 수 있다.
이상, 본 발명의 기술적 사상을 다양한 실시예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
10 : 컴퓨팅 시스템
100: 프로세서
200 : 랜덤 억세스 메모리
300 : 어플리케이션 인터페이스
400 : 저장 장치
500 : 파일 관리 장치
600 : 파일 시스템
700 : 디스플레이

Claims (14)

  1. 아이노드 비트맵(inode bitmap)에 저장된 아이노드들의 사용현황과 아이노드 테이블(inode table)에 저장된 상기 아이노드들의 삭제정보에 기초하여, 상응하는 파일이 삭제되어 현재 사용되고 있지 않은 비할당 아이노드의 정보를 획득하는 단계;
    획득된 비할당 아이노드의 정보를 이용하여, 파일 시스템의 백업 영역인 로그 영역에 대한 백업 아이노드 중에서 상기 비할당 아이노드에 상응하는 백업 아이노드를 검색하는 단계; 및
    검색된 백업 아이노드에 상응하는 파일의 영구삭제 여부의 선택을 요청하는 단계를 포함하는 파일 시스템의 데이터 관리 방법.
  2. 제1항에 있어서,
    상기 아이노드들의 상기 사용현황은,
    상기 아이노드 비트맵의 상기 아이노드들 각각에 상응하는 비트 값에 따라 판단되는, 파일 시스템의 데이터 관리 방법.
  3. 제1항에 있어서,
    상기 아이노드들의 상기 삭제정보는,
    상기 아이노드 테이블에 저장된 상기 아이노드들 각각의 삭제 시각을 나타내는 비트들의 값에 따라 판단되는, 파일 시스템의 데이터 관리 방법.
  4. 제1항에 있어서,
    상기 백업 아이노드를 검색하는 단계는,
    상기 백업 아이노드 중에서 상기 비할당 아이노드에 상응하며 복구 가능한 백업 아이노드를 검색하는, 파일 시스템의 데이터 관리 방법.
  5. 제4항에 있어서,
    상기 백업 아이노드를 검색하는 단계는,
    파일 사이즈(file size)를 나타내는 비트 값과 삭제 시각을 나타내는 비트 값에 근거하여, 상기 백업 아이노드 중에서 상기 비할당 아이노드에 상응하며 복구 가능한 백업 아이노드를 검색하는, 파일 시스템의 데이터 관리 방법.
  6. 제1항에 있어서,
    상기 백업 아이노드를 검색하는 단계 이후에,
    디렉토리 엔트리(directory entry)를 이용하여 상기 검색된 백업 아이노드에 상응하는 파일에 관한 정보를 획득하는 단계를 더 포함하는, 파일 시스템의 데이터 관리 방법.
  7. 제6항에 있어서,
    상기 영구삭제 여부의 선택을 요청하는 단계는,
    상기 검색된 백업 아이노드에 상응하는 상기 파일의 파일 종류에 기초하여, 우선순위를 정하여 영구삭제 여부의 선택을 요청하는, 파일 시스템의 데이터 관리 방법.
  8. 영구삭제 후보 파일들의 정보를 포함하는 파일 목록을 요청하는 어플리케이션 인터페이스(application interface); 및
    상기 요청에 따라, 파일 시스템(file system)의 아이노드 비트맵(inode bitmap)에 저장된 아이노드들의 사용현황과 아이노드 테이블(inode table)에 저장된 상기 아이노드들의 삭제정보에 기초하여 상응하는 파일이 삭제되어 현재 사용되고 있지 않은 비할당 아이노드의 정보를 획득하고, 획득된 비할당 아이노드의 정보를 이용하여, 상기 파일 시스템의 백업 영역인 로그 영역에 대한 백업 아이노드 중에서 상기 비할당 아이노드에 상응하는 백업 아이노드를 검색하고, 검색된 백업 아이노드에 상응하는 파일을 포함하는 상기 영구삭제 후보 파일들의 정보를 출력하는 파일 관리 장치를 포함하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 아이노드들의 상기 사용현황은,
    상기 아이노드 비트맵의 상기 아이노드들 각각에 상응하는 비트 값에 따라 판단되는, 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 아이노드들의 상기 삭제정보는,
    상기 아이노드 테이블에 저장된 상기 아이노드들 각각의 삭제 시각을 나타내는 비트들의 값에 따라 판단되는, 컴퓨팅 시스템.
  11. 제8항에 있어서,
    상기 파일 관리 장치는,
    상기 백업 아이노드 중에서 상기 비할당 아이노드에 상응하며 복구 가능한 백업 아이노드를 검색하는, 컴퓨팅 시스템.
  12. 제11항에 있어서,
    상기 파일 관리 장치는,
    파일 사이즈(file size)를 나타내는 비트 값과 삭제 시각을 나타내는 비트 값에 근거하여, 상기 백업 아이노드 중에서 상기 비할당 아이노드에 상응하며 복구 가능한 백업 아이노드를 검색하는, 컴퓨팅 시스템.
  13. 제8항에 있어서,
    상기 파일 관리 장치로부터 출력된 상기 영구삭제 후보 파일들의 정보에 기초하여 상기 파일 목록을 생성하는 프로세서(processor); 및
    생성된 상기 파일 목록을 표시하는 디스플레이(display)를 더 포함하는, 컴퓨팅 시스템.
  14. 제13항에 있어서,
    상기 파일 목록은,
    상기 검색된 백업 아이노드에 상응하는 상기 파일의 파일 종류에 기초하여 정해진 우선순위에 따라 파일의 순서 또는 파일의 표시 방법을 달리하는, 컴퓨팅 시스템.
KR1020160055566A 2016-05-04 2016-05-04 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템 KR101769778B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160055566A KR101769778B1 (ko) 2016-05-04 2016-05-04 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템
US15/583,079 US20170322853A1 (en) 2016-05-04 2017-05-01 Method of managing data of file system and computing system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160055566A KR101769778B1 (ko) 2016-05-04 2016-05-04 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR101769778B1 true KR101769778B1 (ko) 2017-08-21

Family

ID=59757381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160055566A KR101769778B1 (ko) 2016-05-04 2016-05-04 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템

Country Status (2)

Country Link
US (1) US20170322853A1 (ko)
KR (1) KR101769778B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984422B (zh) * 2018-07-31 2023-04-14 成都傲梅科技有限公司 一种基于ntfs和fat32文件系统簇管理节省内存的方法
JP2022051086A (ja) * 2020-09-18 2022-03-31 キオクシア株式会社 メモリシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556300B1 (ko) * 2014-12-15 2015-09-30 아주대학교산학협력단 리눅스 파일 시스템에서의 파일 복원 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877109B2 (en) * 2001-11-19 2005-04-05 Lsi Logic Corporation Method for the acceleration and simplification of file system logging techniques using storage device snapshots
US7225204B2 (en) * 2002-03-19 2007-05-29 Network Appliance, Inc. System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7546319B1 (en) * 2003-04-28 2009-06-09 Ibrix, Inc. File system consistency checking in a distributed segmented file system
AU2007318257A1 (en) * 2006-05-08 2008-05-15 Bell Helicopter Textron Inc. Ballistically tolerant linear hydraulic actuator
US7633336B2 (en) * 2007-08-24 2009-12-15 Texas Instruments Incorporated Audio amplifier and methods of generating audio signals
US8180811B2 (en) * 2010-10-19 2012-05-15 Symantec Corporation Identifying unreferenced file system components
US9442955B1 (en) * 2012-12-28 2016-09-13 Emc Corporation Managing delete operations in files of file systems
US10216757B1 (en) * 2014-12-23 2019-02-26 EMC IP Holding Company LLC Managing deletion of replicas of files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556300B1 (ko) * 2014-12-15 2015-09-30 아주대학교산학협력단 리눅스 파일 시스템에서의 파일 복원 장치 및 방법

Also Published As

Publication number Publication date
US20170322853A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
US9817835B2 (en) Efficient data synchronization for storage containers
US7809779B2 (en) Method of creating symbolic link capable of being compatible with file system, and method and apparatus for accessing file or directory by using symbolic link
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
KR101403305B1 (ko) 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US20070276848A1 (en) Apparatus and method for managing data
US8095678B2 (en) Data processing
US9921765B2 (en) Partial snapshots in virtualized environments
US9430492B1 (en) Efficient scavenging of data and metadata file system blocks
US9069707B1 (en) Indexing deduplicated data
Lee et al. Improved deleted file recovery technique for Ext2/3 filesystem
US11650967B2 (en) Managing a deduplicated data index
US20230376385A1 (en) Reducing bandwidth during synthetic restores from a deduplication file system
Salunkhe et al. In search of a scalable file system state-of-the-art file systems review and map view of new Scalable File system
US9971789B2 (en) Selective disk volume cloning for virtual disk creation
KR101769778B1 (ko) 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템
US9886446B1 (en) Inverted index for text searching within deduplication backup system
CN106709014B (zh) 一种文件系统转换方法及装置
CN115840731A (zh) 文件处理方法、计算设备及计算机存储介质
US8176087B2 (en) Data processing
KR100809318B1 (ko) 파일 관리 장치 및 방법
Hilgert et al. Forensic analysis of multiple device BTRFS configurations using The Sleuth Kit
KR101836380B1 (ko) 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템
KR100912126B1 (ko) 객체 기반 파일 시스템의 파일셋의 스냅샷 제공 방법
Currier The Flash-Friendly File System (F2FS)

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant