KR101157903B1 - System and method for scanning large-scale directories - Google Patents

System and method for scanning large-scale directories Download PDF

Info

Publication number
KR101157903B1
KR101157903B1 KR1020110104590A KR20110104590A KR101157903B1 KR 101157903 B1 KR101157903 B1 KR 101157903B1 KR 1020110104590 A KR1020110104590 A KR 1020110104590A KR 20110104590 A KR20110104590 A KR 20110104590A KR 101157903 B1 KR101157903 B1 KR 101157903B1
Authority
KR
South Korea
Prior art keywords
directory
directory information
target
information
stored
Prior art date
Application number
KR1020110104590A
Other languages
Korean (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 KR1020110104590A priority Critical patent/KR101157903B1/en
Application granted granted Critical
Publication of KR101157903B1 publication Critical patent/KR101157903B1/en

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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

PURPOSE: A system and a method for scanning large-scale directories are provided to prevent the generation of stack overflow or out-of memory in the processing of bulk directory. CONSTITUTION: In case a non-saved lower directory among lower directories of a target directory exists, a directory information storage module determines whether an empty entry exists in primary memory devices(206,208). In case the empty entry exists, the module stores selected lower directory information in the empty entry(210). In case a directory information file set as an output mode exists, the module stores selected lower directory information in directory information files(212,214).

Description

대용량 디렉토리 탐색 시스템 및 방법{SYSTEM AND METHOD FOR SCANNING LARGE-SCALE DIRECTORIES}SYSTEM AND METHOD FOR SCANNING LARGE-SCALE DIRECTORIES}

본 발명은 시스템 내의 디렉토리를 그 용량에 관계 없이 효과적으로 탐색하기 위한 기술과 관련된다.
The present invention relates to a technique for effectively navigating a directory within a system regardless of its capacity.

하드웨어의 발전으로 대용량 파일 시스템이 일반화되어, 한 시스템에 존재하는 디렉토리 및 파일의 개수가 과거에 비해 기하급수적으로 증가하고 있다. 또한, 이러한 디렉토리 및 파일의 증가에 따라 시스템에 영향을 주는 악성 코드를 탐지해야 하는 대상 또한 증가하게 되었다.With the development of hardware, large file systems have become commonplace, and the number of directories and files existing in one system is increasing exponentially. In addition, the growth of these directories and files has also increased the need to detect malicious code that affects the system.

악성 코드 등의 탐지 프로그램은 그 특성상, 탐지 대상 시스템의 대상 디렉토리 전체를 지속적으로 핸들링할 필요가 있다. 일반적으로 디렉토리 핸들링 방식으로는 재귀호출을 이용한 핸들링 방식이 사용된다. 재귀호출을 이용한 방식은, 예를 들어 대상 시스템의 최상위 디렉토리부터 각각의 하위 디렉토리를 재귀적으로(recursively) 호출하는 방식으로 대상 시스템의 디렉토리 전체를 탐색하게 된다. 이 방식은 대상 시스템의 디렉토리 전체 구조를 저장할 필요가 없이 어떠한 디렉토리 구조에 대해서도 용이하게 적용 가능하다는 장점이 있다. 그러나, 탐지해야 할 디렉토리 구조가 넓고 깊은 경우, 즉 대용량 디렉토리를 처리해야 할 경우에는 메모리 영역에 너무 많은 용량의 디렉토리 정보가 쌓이게 되어 스택 오버플로우(stack overflow) 또는 아웃 오브 메모리(out of memory)가 발생하게 되는 문제가 있다. 또한, 지속적인 함수 호출로 인하여 전체적인 탐지 성능에도 영향을 미치게 된다.Due to its characteristics, a detection program such as malicious code needs to continuously handle the entire target directory of the detection target system. In general, as a directory handling method, a handling method using a recursive call is used. The recursive approach uses the entire directory of the target system, for example, by recursively calling each subdirectory from the top directory of the target system. This method has the advantage that it can be easily applied to any directory structure without having to store the entire directory structure of the target system. However, if the directory structure to be detected is large and deep, that is, if a large directory is to be processed, too much directory information can accumulate in the memory area, leading to stack overflow or out of memory. There is a problem that occurs. In addition, continuous function calls affect overall detection performance.

재귀 호출을 이용하지 않고 디렉토리를 핸들링 하기 위한 방법으로는 반복문(while loop 또는 for loop)을 이용한 방식이 있다. 그러나 이 방식의 경우 사전에 대상 시스템의 디렉토리 구조를 저장하고 있어야 하며, 이를 위해 메모리에 디렉토리 구조를 저장할 경우에는 디렉토리 용량에 따라 마찬가지로 스택 오버플로우 또는 아웃 오브 메모리가 발생할 수 있다. 이를 방지하기 위하여 메모리 등의 주기억 장치가 아닌 하드디스크 등의 보조 기억 장치에 파일 형태로 디렉토리 구조를 저장하는 방식을 생각할 수 있으나, 이 경우에는 디렉토리 구조만큼의 파일 I/O가 발생하게 되므로 탐색 성능이 매우 떨어지게 된다.
One way to handle directories without using recursive calls is to use a loop (while loop or for loop). In this method, however, the directory structure of the target system must be stored in advance. For this purpose, if the directory structure is stored in memory, stack overflow or out-of-memory may occur according to the directory capacity. In order to prevent this, a method of storing a directory structure in the form of a file in an auxiliary storage device such as a hard disk, rather than a main memory device such as a memory, may be considered. This is very falling.

본 발명은 상기와 같은 문제를 해결하기 위한 것으로서, 본 발명은 디렉토리 탐색 시 하드디스크 등의 보조 기억 장치의 의존도를 최소화하면서 대용량의 디렉토리에도 용이하게 적용 가능한 새로운 디렉토리 탐색 기법을 제공하는 데 그 목적이 있다.
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a new directory search technique that can be easily applied to a large directory while minimizing the dependency of an auxiliary storage device such as a hard disk when searching a directory. have.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 디렉토리 탐색 방법은, 주기억 장치 및 보조 기억 장치를 포함하는 디렉토리 탐색 시스템에서, 대상 시스템의 디렉토리를 탐색하기 위한 방법으로서, 상기 디렉토리 탐색 시스템에서, 상기 대상 시스템 내부의 디렉토리 중 하나의 대상 디렉토리를 선정하는 제1단계; 상기 디렉토리 탐색 시스템에서, 선정된 상기 대상 디렉토리의 하위 디렉토리 중 하나를 선택하는 제2단계; 상기 디렉토리 탐색 시스템에서, 상기 주기억 장치의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하는 제3단계; 상기 디렉토리 탐색 시스템에서, 상기 제3단계의 판단 결과 빈 엔트리가 존재하는 경우 선택된 상기 하위 디렉토리 정보를 상기 빈 엔트리에 저장하고, 빈 엔트리가 존재하지 않는 경우 선택된 상기 하위 디렉토리 정보를 상기 보조 기억 장치의 디렉토리 정보 파일에 저장하는 제4단계; 및 상기 디렉토리 탐색 시스템에서, 상기 대상 디렉토리의 모든 하위 디렉토리가 선택될 때까지, 상기 제2단계 내지 제4단계를 반복 수행하는 제5단계를 포함한다.
A directory search method according to an embodiment of the present invention for solving the above problems is a method for searching a directory of a target system in a directory search system including a main memory device and an auxiliary storage device, in the directory search system, A first step of selecting one target directory among directories in the target system; In the directory search system, selecting one of sub-directories of the selected target directory; Determining, by the directory search system, whether an empty entry exists in a directory information area of the main memory device; In the directory search system, if the empty entry exists, the selected subdirectory information is stored in the empty entry, and if the empty entry does not exist, the selected subdirectory information is stored in the auxiliary storage device. A fourth step of storing in a directory information file; And a fifth step of repeating the second to fourth steps until all subdirectories of the target directory are selected in the directory search system.

한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 디렉토리 탐색 시스템은, 상기 대상 시스템의 디렉토리 중 하나의 디렉토리를 대상 디렉토리로 선정하는 대상 디렉토리 선정 모듈; 선정된 상기 대상 디렉토리의 하위 디렉토리 정보를 추출하는 하위 디렉토리 추출 모듈; 및 상기 디렉토리 탐색 시스템에 포함된 주기억 장치의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하고, 빈 엔트리가 존재하는 경우 상기 하위 디렉토리 정보를 상기 빈 엔트리에 저장하며, 빈 엔트리가 존재하지 않는 경우 상기 하위 디렉토리 정보를 상기 디렉토리 탐색 시스템에 포함된 보조 기억 장치의 디렉토리 정보 파일에 저장하는 디렉토리 정보 저장 모듈을 포함한다.
On the other hand, the directory search system according to an embodiment of the present invention for solving the above problems, the target directory selection module for selecting one directory of the directory of the target system as a target directory; A subdirectory extraction module for extracting subdirectory information of the selected target directory; And determining whether an empty entry exists in the directory information area of the main memory device included in the directory search system, and when the empty entry exists, storing the subdirectory information in the empty entry, and when the empty entry does not exist. And a directory information storage module for storing the sub directory information in a directory information file of an auxiliary storage device included in the directory search system.

본 발명의 실시예에 따를 경우, 디렉토리 탐색 시 재귀호출을 사용하지 않으므로 대용량 디렉토리의 처리에 있어서도 스택 오버플로우 또는 아웃 오브 메모리가 발생하는 것을 방지할 수 있다. 또한, 디렉토리의 용량에 관계 없이 주기억 장치의 일정 영역만을 사용하므로 주기억 장치의 용량을 과도하게 사용하는 것을 방지할 수 있으며, 동시에 보조 기억 장치의 의존도를 최소화함으로써 대용량의 디렉토리 탐지에 있어서도 탐지 성능 저하를 최소화할 수 있다.
According to an exemplary embodiment of the present invention, since recursive calling is not used when searching a directory, stack overflow or out-of-memory may be prevented even when processing a large directory. In addition, since only a certain area of the main memory is used regardless of the directory capacity, excessive use of the capacity of the main memory can be prevented, and at the same time, minimizing the dependence of the auxiliary storage device, the detection performance is reduced even in a large directory detection. It can be minimized.

도 1은 본 발명의 일 실시예에 따른 디렉토리 탐색 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 디렉토리 탐색 및 디렉토리 정보 저장 방법을 나타낸 순서도이다.
도 3은 본 발명의 일 실시예에 따른 디렉토리 탐색 방법에서 대상 디렉토리를 선정하는 단계의 상세 구성을 도시한 순서도이다.
도 4는 디렉토리 탐색 시스템에서의 구체적인 디렉토리 탐색 과정을 설명하기 위한 대상 시스템의 디렉토리 구조를 예시한 것이다.
1 is a block diagram illustrating a directory search system according to an embodiment of the present invention.
2 is a flowchart illustrating a directory search and directory information storage method according to an embodiment of the present invention.
3 is a flowchart illustrating a detailed configuration of selecting a target directory in the directory search method according to an embodiment of the present invention.
4 illustrates a directory structure of a target system for explaining a specific directory search process in the directory search system.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical spirit of the present invention is determined by the claims, and the following embodiments are merely means for efficiently explaining the technical spirit of the present invention to those skilled in the art.

도 1은 본 발명의 일 실시예에 따른 디렉토리 탐색 시스템(100)을 설명하기 위한 블록도이다. 본 발명에서, 디렉토리 탐색 시스템(100)은 대상 시스템의 디렉토리 구조를 탐색하기 위한 시스템이다. 상기 대상 시스템은 예를 들어 웹 서버 또는 어플리케이션 서버 등이 될 수 있으며, 디렉토리 탐색 시스템(100)은 상기 웹 서버 또는 어플리케이션 서버 내의 디렉토리를 순차적으로 탐색하면서 웹쉘 또는 바이러스 등의 악성 코드 또는 유해 코드의 존재 여부를 탐지하기 위한 시스템일 수 있다.1 is a block diagram illustrating a directory search system 100 according to an embodiment of the present invention. In the present invention, the directory search system 100 is a system for searching the directory structure of the target system. The target system may be, for example, a web server or an application server, and the directory search system 100 sequentially searches directories in the web server or application server, and includes malicious or harmful code such as a web shell or a virus. It may be a system for detecting whether or not.

도시된 바와 같이, 본 발명의 일 실시예에 따른 디렉토리 탐색 시스템(100)은 주기억 장치(102), 보조 기억 장치(104), 대상 디렉토리 선정 모듈(106), 하위 디렉토리 추출 모듈(108) 및 디렉토리 정보 저장 모듈(110)을 포함한다.As shown, the directory search system 100 according to an embodiment of the present invention includes a main memory 102, an auxiliary memory 104, a target directory selection module 106, a subdirectory extraction module 108, and a directory. The information storage module 110 is included.

주기억 장치(102)는 디렉토리 탐색 시스템(100)이 대상 시스템의 디렉토리를 탐색하는 과정에서 획득되는 디렉토리 정보가 일차적으로 저장되는 공간이다. 주기억 장치(102)는 디렉토리 정보의 저장 및 탐색이 빈번하게 일어나므로 매우 속도가 빠른 DRAM 등의 휘발성 메모리 등이 사용되는 것이 바람직하다. 상기 디렉토리 정보의 저장을 위하여, 주기억 장치(102) 내의 일정 공간은 디렉토리 정보 영역으로 할당된다. 상기 디렉토리 정보 영역은 후술할 디렉토리 정보 저장 모듈(110)에 의하여 상기 대상 시스템의 디렉토리 정보가 저장되는 공간이다. 이때 상기 디렉토리 정보는 대상 시스템 내의 특정 디렉토리를 식별하기 위한 정보로서, 해당 디렉토리의 경로 또는 이의 해쉬값 등이 포함될 수 있다.The main memory device 102 is a space in which directory information obtained while the directory search system 100 searches a directory of the target system is primarily stored. Since the main memory device 102 frequently stores and searches directory information, it is preferable to use a volatile memory such as DRAM, which is very fast. In order to store the directory information, a predetermined space in the main memory device 102 is allocated to the directory information area. The directory information area is a space in which directory information of the target system is stored by the directory information storage module 110 to be described later. In this case, the directory information is information for identifying a specific directory in the target system, and may include a path of the corresponding directory or a hash value thereof.

주기억 장치(102) 내의 디렉토리 정보 영역은 고정된 크기를 가지며, 상기 디렉토리 정보 영역에 더 이상 디렉토리 정보를 저장할 엔트리가 존재하지 않을 경우, 디렉토리 정보 저장 모듈(110)은 새로운 디렉토리 정보를 후술할 보조 기억 장치(104)에 저장하도록 구성된다. 즉, 본 발명은 디렉토리 정보의 저장 및 탐색을 위하여 속도가 빠른 주기억 장치(102)를 최대한 활용하는 한편, 주기억 장치(102)의 디렉토리 정보 저장을 위해 할당된 영역(디렉토리 정보 영역)의 크기를 고정함으로써 디렉토리 정보 영역이 메모리 내에서 과도하게 확장됨으로써 시스템 내 다른 작업에 지장을 주거나 하는 것을 방지하도록 구성된다. 또한, 이와 동시에 넘치는 디렉토리 정보의 경우에는 보조 기억 장치(104)를 적절히 활용함으로써 메모리 오버플로우 등의 발생을 사전에 방지하도록 구성되며, 이와 관련한 구성에 대해서는 이하에서 상세히 설명한다.The directory information area in the main memory device 102 has a fixed size, and when there are no more entries to store directory information in the directory information area, the directory information storage module 110 stores the auxiliary directory for the new directory information. Configured to store on device 104. That is, the present invention maximizes the speed of the main memory device 102 for storing and searching directory information while fixing the size of the area (directory information area) allocated for storing the directory information of the main memory device 102. Thereby overly expanding the directory information area in memory to prevent disruption to other operations in the system. At the same time, in the case of the overflowed directory information, the auxiliary storage device 104 is appropriately utilized to prevent the occurrence of a memory overflow in advance, and the related configuration will be described in detail below.

보조 기억 장치(104)는 디렉토리 탐색 시스템(100)이 대상 시스템의 디렉토리를 탐색하는 과정에서 획득되는 디렉토리 정보 중 주기억 장치(102)에 할당된 용량을 초과하는 정보들이 이차적으로 저장되는 공간이다. 보조 기억 장치(104)는, 예를 들어 하드디스크 등의 비휘발성 저장 매체로 구성될 수 있다. 즉, 주기억 장치(102)에 비하여 큰 용량을 가지나 그 처리 속도는 주기억 장치(102)에 비해 느린 저장 매체가 보조 기억 장치(104)로 사용될 수 있다.The auxiliary storage device 104 is a space in which information exceeding the capacity allocated to the main memory device 102 is secondarily stored among the directory information obtained by the directory search system 100 searching the directory of the target system. The auxiliary storage device 104 may be configured of, for example, a nonvolatile storage medium such as a hard disk. That is, a storage medium having a larger capacity than the main memory 102 but slower than the main memory 102 may be used as the auxiliary memory 104.

디렉토리 탐색 시스템(100)이 대상 디렉토리를 탐색하는 과정에서 주기억 장치(102)에 포함된 디렉토리 저장 영역이 가득 찰 경우, 디렉토리 탐색 시스템(100)은 보조 기억 장치(104)에 디렉토리 정보 저장을 위한 파일(디렉토리 정보 파일)을 생성한다. 이러한 디렉토리 정보 파일은 보조 기억 장치(104)의 내부에서 하나 이상 생성될 수 있으며, 다음의 두 가지 모드(mode)를 가질 수 있다.
If the directory storage area included in the main memory 102 becomes full while the directory search system 100 searches the target directory, the directory search system 100 stores a file for storing directory information in the auxiliary storage 104. Create a directory information file. One or more such directory information files may be generated inside the auxiliary storage device 104 and may have two modes.

- 출력 모드(output mode): 디렉토리 정보를 저장(write)만 할 수 있으며, 기 저장된 디렉토리 정보를 읽을 수는 없는 모드이다. 디렉토리 탐색 시스템(100)에서 생성되는 디렉토리 정보 파일은 모두 기본적으로 출력 모드로 설정된다.Output mode: This mode can only write directory information, and cannot read directory information. All directory information files generated by the directory search system 100 are set to an output mode by default.

- 입력 모드(input mode): 디렉토리 정보를 저장(write)할 수 없고, 기 저장된 디렉토리의 처리를 위해 디렉토리 정보를 읽을(read) 수만 있는 모드이다. 이 경우 읽혀진 디렉토리 정보는 삭제된다. 최초 출력 모드로 설정된 디렉토리 정보 파일은 디렉토리 정보를 읽어야할 시점에서 입력 모드로 변환되며, 기 저장된 디렉토리 정보를 모두 읽어들인 이후 해당 디렉토리 정보 파일은 삭제된다.
-Input mode: A mode in which directory information cannot be written, and only directory information can be read for processing a previously stored directory. In this case, the read directory information is deleted. The directory information file set in the first output mode is converted to the input mode when the directory information should be read, and the directory information file is deleted after reading all the stored directory information.

대상 디렉토리 선정 모듈(106)은 대상 시스템의 디렉토리 중 하나의 디렉토리를 대상 디렉토리로 선정하기 위한 모듈이다. 대상 시스템에 대한 최초 디렉토리 탐색 시, 대상 디렉토리 선정 모듈(106)은 상기 대상 시스템의 탐색 대상 디렉토리 중 최상위 디렉토리를 가장 먼저 대상 디렉토리로 선정하며, 이후에는 주기억 장치(102)의 디렉토리 정보 영역에 저장된 디렉토리, 또는 보조 기억 장치(104)의 디렉토리 정보 파일에 저장된 디렉토리 중 하나를 대상 디렉토리로 선정한다.The target directory selecting module 106 is a module for selecting one directory among the directories of the target system as the target directory. When searching the first directory for the target system, the target directory selecting module 106 selects the highest directory among the search target directories of the target system as the first target directory, and thereafter, the directory stored in the directory information area of the main memory device 102. Or one of the directories stored in the directory information file of the auxiliary storage device 104 is selected as the target directory.

하위 디렉토리 추출 모듈(108)은 선정된 대상 디렉토리의 하위 디렉토리 정보를 추출한다.The subdirectory extraction module 108 extracts subdirectory information of the selected target directory.

디렉토리 정보 저장 모듈(110)은 하위 디렉토리 추출 모듈(108)에서 추출된 상기 하위 디렉토리 정보를 저장하기 위한 모듈이다. 디렉토리 정보 저장 모듈(110)은 일차적으로 주기억 장치(102)의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하고, 빈 엔트리가 존재하는 경우 하위 디렉토리 정보를 상기 빈 엔트리에 저장한다. 그러나 만약 빈 엔트리가 존재하지 않는 경우 하위 디렉토리 정보를 디렉토리 탐색 시스템에 포함된 보조 기억 장치(104)의 디렉토리 정보 파일에 저장한다.
The directory information storage module 110 is a module for storing the sub directory information extracted by the sub directory extraction module 108. The directory information storage module 110 primarily determines whether an empty entry exists in the directory information area of the main memory device 102, and if there is an empty entry, stores directory information in the empty entry. However, if an empty entry does not exist, the subdirectory information is stored in the directory information file of the auxiliary storage device 104 included in the directory search system.

도 2는 본 발명의 일 실시예에 따른 디렉토리 탐색 및 디렉토리 정보 저장 방법(200)을 나타낸 순서도이다.2 is a flowchart illustrating a directory search and directory information storage method 200 according to an embodiment of the present invention.

먼저, 대상 디렉토리 선정 모듈(106)에서 대상 디렉토리를 선정하면(202), 하위 디렉토리 추출 모듈(108)은 선정된 상기 대상 디렉토리의 하위 디렉토리를 검색하여 검색된 하위 디렉토리 중 저장되지 않은 디렉토리를 선택한다(204, 206). 만약 대상 디렉토리의 하위 디렉토리 중 주기억 장치(102) 또는 보조 기억 장치(104)에 저장되지 않은 하위 디렉토리가 존재하지 않은 경우는 대상 디렉토리의 모든 하위 디렉토리를 모두 스캔한 것이므로 본 과정은 종료되며, 새로 선정된 대상 디렉토리의 하위 디렉토리에 대하여 본 과정이 반복 수행된다.First, when the target directory is selected by the target directory selecting module 106 (202), the subdirectory extracting module 108 searches the subdirectories of the selected target directory and selects an unstored directory among the searched subdirectories ( 204, 206). If there are no subdirectories not stored in the main memory 102 or the auxiliary memory 104 among the subdirectories of the target directory, all the subdirectories of the target directory have been scanned. This process is repeated for subdirectories of the target directory.

한편, 대상 디렉토리의 하위 디렉토리 중 저장되지 않은 하위 디렉토리가 존재하는 경우, 디렉토리 정보 저장 모듈(110)은 주기억 장치(102)의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하고(208), 206 단계의 판단 결과 빈 엔트리가 존재하는 경우 선택된 하위 디렉토리 정보를 상기 빈 엔트리에 저장한다(210).On the other hand, if there is an unsaved subdirectory among the subdirectories of the target directory, the directory information storage module 110 determines whether an empty entry exists in the directory information area of the main memory 102 (208), and 206. If the empty entry exists, the selected subdirectory information is stored in the empty entry (210).

한편, 상기 206 단계의 판단 결과 빈 엔트리가 존재하지 않는 경우 디렉토리 정보 저장 모듈(110)은 선택된 하위 디렉토리 정보를 보조 기억 장치(104)의 디렉토리 정보 파일, 그 중에서도 출력 모드로 설정된 디렉토리 정보 파일에 저장한다.On the other hand, if the empty entry does not exist as a result of the determination in step 206, the directory information storage module 110 stores the selected subdirectory information in a directory information file of the auxiliary storage device 104, especially a directory information file set to an output mode. do.

구체적으로, 디렉토리 정보 저장 모듈(110)은 보조 기억 장치(104)에 출력 모드(output mode)로 설정된 디렉토리 정보 파일이 존재하는지의 여부를 판단한다(212). 만약 출력 모드로 설정된 디렉토리 정보 파일이 존재하는 경우, 디렉토리 정보 저장 모듈(110)은 해당 디렉토리 정보 파일에 상기 선택된 하위 디렉토리 정보를 저장한다(214).In detail, the directory information storage module 110 determines whether or not a directory information file set in an output mode exists in the auxiliary storage device 104 (operation 212). If the directory information file set to the output mode exists, the directory information storage module 110 stores the selected subdirectory information in the directory information file (214).

그러나, 이와 달리 출력 모드로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 디렉토리 정보 저장 모듈(110)은 보조 기억 장치(104)에 새로운 디렉토리 정보 파일을 생성하고 생성된 디렉토리 정보 파일을 출력 모드로 설정한 뒤(216), 생성된 상기 디렉토리 정보 파일에 상기 선택된 하위 디렉토리 정보를 저장한다(212).However, if there is no directory information file set in the output mode, the directory information storage module 110 generates a new directory information file in the auxiliary storage device 104 and sets the generated directory information file in the output mode. After that, the selected subdirectory information is stored in the generated directory information file (212).

이와 같은 대상 디렉토리의 하위 디렉토리의 저장 단계, 즉 208 내지 216 단계는 선정된 대상 디렉토리의 모든 하위 디렉토리가 선택될 때까지 반복 수행되며, 모든 하위 디렉토리가 저장된 이후에는 새로운 대상 디렉토리를 선정하여 상기 단계들이 반복된다. 이와 같은 과정을 거침으로써 대상 시스템의 모든 디렉토리들을 순차적으로 탐색할 수 있게 된다.
The storing of subdirectories of the target directory, that is, steps 208 to 216 are repeated until all the subdirectories of the selected target directory are selected. After all the subdirectories are stored, the new target directory is selected by selecting the new target directory. Is repeated. Through this process, all directories of the target system can be sequentially searched.

도 3은 본 발명의 일 실시예에 따른 디렉토리 탐색 방법에서 대상 디렉토리를 선정하는 단계(202)의 상세 구성을 도시한 순서도이다.3 is a flowchart illustrating a detailed configuration of selecting a target directory 202 in the directory search method according to an embodiment of the present invention.

먼저, 대상 디렉토리 선정 모듈(106)은 주기억 장치(102)의 디렉토리 정보 영역을 탐색하여 상기 디렉토리 정보 영역에 기 저장된 디렉토리 정보가 존재하는 지 여부를 판단한다(300).First, the target directory selecting module 106 searches the directory information area of the main memory device 102 to determine whether there is directory information previously stored in the directory information area (300).

만약 상기 300 단계의 판단 결과, 기 저장된 디렉토리 정보가 존재하는 경우, 대상 디렉토리 선정 모듈(106)은 디렉토리 정보 영역에 저장된 디렉토리 정보 중 하나의 디렉토리 정보를 추출하고(302), 302 단계에서 추출된 디렉토리 정보에 대응하는 디렉토리를 대상 디렉토리로 선정한다(304).If, as a result of the determination in step 300, there is already stored directory information, the target directory selecting module 106 extracts one directory information among directory information stored in the directory information area (302), and the directory extracted in step 302. A directory corresponding to the information is selected as the target directory (304).

그러나 이와 달리 상기 300 단계의 판단 결과 기 저장된 디렉토리 정보가 존재하지 않는 경우, 대상 디렉토리 선정 모듈(106)은 보조 기억 장치(104)의 디렉토리 정보 파일로부터 디렉토리 정보를 추출하게 된다.On the contrary, in the case where the previously stored directory information does not exist, the target directory selecting module 106 extracts the directory information from the directory information file of the auxiliary storage device 104.

구체적으로, 대상 디렉토리 선정 모듈(106)은 보조 기억 장치(104)에 저장된 디렉토리 정보 파일 중, 입력 모드(input mode)로 설정된 디렉토리 정보 파일이 존재하는지의 여부를 판단한다(306).Specifically, the target directory selecting module 106 determines whether or not a directory information file set to an input mode exists among directory information files stored in the auxiliary storage device 104 (306).

만약 입력 모드로 설정된 디렉토리 정보 파일이 존재하는 경우, 대상 디렉토리 선정 모듈(106)은 해당 디렉토리 정보 파일로부터 디렉토리 정보를 추출하고(308), 308 단계에서 추출된 디렉토리 정보에 대응하는 디렉토리를 대상 디렉토리로 선정한다(304).If the directory information file set to the input mode exists, the target directory selection module 106 extracts directory information from the directory information file (308), and converts the directory corresponding to the directory information extracted in step 308 into the target directory. (304).

그러나 만약 보조 기억 장치(104)에 입력 모드로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 대상 디렉토리 선정 모듈(106)은 출력 모드로 설정된 디렉토리 정보 파일이 존재하는지의 여부를 판단하고(310), 만약 존재하는 경우 출력 모드로 설정된 디렉토리 정보 파일을 입력 모드로 재설정한다(312). 이 경우, 전술한 바와 같이 입력 모드로 재설정된 디렉토리 정보 파일은 더 이상 디렉토리 정보를 추가하는 것이 불가능하며 기 저장된 디렉토리 정보를 읽는 것만이 가능하다. 이후, 대상 디렉토리 선정 모듈(106)은 입력 모드로 변경된 디렉토리 정보 파일로부터 디렉토리 정보를 추출하고(308), 추출된 디렉토리를 대상 디렉토리로 선정한다(304).However, if the directory information file set to the input mode does not exist in the auxiliary storage device 104, the target directory selecting module 106 determines whether or not the directory information file set to the output mode exists (310). If present, the directory information file set to the output mode is reset to the input mode (312). In this case, as described above, the directory information file reset to the input mode can no longer add directory information, and can only read pre-stored directory information. Then, the target directory selecting module 106 extracts directory information from the directory information file changed to the input mode (308), and selects the extracted directory as the target directory (304).

만약, 상기 310 단계에서 출력 모드로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 대상 디렉토리 선정 모듈(106)은 대상 시스템의 모든 디렉토리를 탐색한 것으로 판단하여 탐색 과정을 종료하게 된다.
If the directory information file set to the output mode does not exist in step 310, the target directory selecting module 106 determines that all directories of the target system have been searched and ends the search process.

이하에서는, 상술한 디렉토리 탐색 시스템(100)에서의 구체적인 디렉토리 탐색 과정을 예로 들어 설명한다. 예를 들어 대상 시스템이 도 4와 같은 디렉토리 구조를 가진다고 가정하기로 한다. 즉, 최상위 디렉토리 D1이 하고, 상기 D1의 하위 디렉토리로 D2, D3 및 D4가 존재하며, D3의 하위 디렉토리로는 D5, D6 및 D7이 존재한다. 이해를 돕기 위하여, 주기억 장치(102) 내의 디렉토리 정보 영역은 하나의 엔트리(디렉토리 정보 저장 공간)만을 가진다고 가정하자. 보조 기억 장치(104) 내에 생성되는 디렉토리 정보 파일의 경우 용량 제한이 없으며, 필요한 만큼 디렉토리 정보를 추가할 수 있다고 가정한다.Hereinafter, a specific directory search process in the directory search system 100 described above will be described as an example. For example, assume that the target system has a directory structure as shown in FIG. That is, the top directory D1 is located, D2, D3, and D4 exist as subdirectories of D1, and D5, D6, and D7 exist as subdirectories of D3. For the sake of understanding, assume that the directory information area in the main memory device 102 has only one entry (directory information storage space). In the case of the directory information file generated in the auxiliary storage device 104, there is no capacity limitation, and it is assumed that directory information can be added as necessary.

먼저, 최초 대상 디렉토리 탐색 시 대상 디렉토리 선정 모듈(106)은 대상 디렉토리 중 최상위 디렉토리(D1)를 대상 디렉토리(D)로 선정하고, D1의 하위 디렉토리인 D2, D3, D4에 대한 정보를 저장한다. 이때, 첫 번째 하위 디렉토리인 D2는 주기억 장치(102)의 디렉토리 정보 영역(M)에 저장된다. 그러나 D3 및 D4의 경우 더 이상 주기억 장치의 디렉토리 정보 영역(M)에 저장될 엔트리가 없으므로, 디렉토리 정보 저장 모듈(110)은 보조 기억 장치(104)에 출력 모드의 제1 디렉토리 정보 파일(O1)을 생성하고, 생성된 파일에 D3 및 D4의 정보를 저장한다. 이 경우 디렉토리 정보 영역(M) 및 제1 디렉토리 정보 파일(O1)에 저장된 디렉토리 정보는 다음과 같다.
First, when searching the first target directory, the target directory selecting module 106 selects the highest directory D1 among the target directories as the target directory D, and stores information about D2, D3, and D4, which are subdirectories of D1. In this case, the first subdirectory D2 is stored in the directory information area M of the main memory 102. However, in the case of D3 and D4, since there is no longer an entry to be stored in the directory information area M of the main memory device, the directory information storage module 110 stores the first directory information file O1 of the output mode in the auxiliary storage device 104. Create and store the information of D3 and D4 in the generated file. In this case, the directory information stored in the directory information area M and the first directory information file O1 is as follows.

1. 대상 디렉토리(D): D11.Destination directory (D): D1

디렉토리 정보 영역(M): D2Directory information area (M): D2

제1 디렉토리 정보 파일(O1): D3, D4
First directory information file (O1): D3, D4

다음으로, 대상 디렉토리 선정 모듈(106)은 디렉토리 정보 영역(M)에 저장된 디렉토리인 D2를 추출하여 다음 대상 디렉토리로 선정한다.
Next, the target directory selecting module 106 extracts D2, which is a directory stored in the directory information area M, and selects the next target directory.

2. D: D22.D: D2

M: noneM: none

O1: D3, D4
O1: D3, D4

다음으로, 대상 디렉토리 선정 모듈(106)은 디렉토리 정보 영역(M)에 저장된 디렉토리가 존재하지 않으므로, 출력 모드 디렉토리 정보 파일인 O1을 입력 모드(I1)으로 변경하고, 이로부터 디렉토리(D3)를 추출하여 다음 대상 디렉토리로 선정한다.
Next, since the directory stored in the directory information area M does not exist, the target directory selecting module 106 changes the output mode directory information file O1 to the input mode I1, and extracts the directory D3 therefrom. To select the next target directory.

3. D: D33.D: D3

M: noneM: none

(O1 -> 입력 모드(I1)로 변경): D4
(Change from O1-> input mode (I1)): D4

다음으로, 하위 디렉토리 추출 모듈(108)은 대상 디렉토리인 D3의 하위 디렉토리 정보(D5, D6, D7)를 추출하고, 디렉토리 정보 저장 모듈(110)은 추출된 정보를 저장한다. 이때, 첫 번째 하위 디렉토리인 D5는 주기억 장치(102)의 디렉토리 정보 영역(M)에 저장된다. 그러나 D3 및 D4의 경우 더 이상 주기억 장치의 디렉토리 정보 영역(M)에 저장될 엔트리가 없으므로, 디렉토리 정보 저장 모듈(110)은 보조 기억 장치(104)에 출력 모드의 디렉토리 정보 파일이 존재하는지를 판단한다. 이 경우 보조 기억 장치(104)에는 입력 모드의 디렉토리 정보 파일(I1)만이 존재하므로, 디렉토리 정보 저장 모듈(110)은 새로운 출력 모드의 디렉토리 정보 파일(O2)를 생성하고, 생성된 디렉토리 정보 파일(O2)에 D6 및 D7의 정보를 저장한다.
Next, the subdirectory extraction module 108 extracts subdirectory information D5, D6, and D7 of the target directory D3, and the directory information storage module 110 stores the extracted information. At this time, the first subdirectory D5 is stored in the directory information area M of the main memory device 102. However, in the case of D3 and D4, since there are no more entries to be stored in the directory information area M of the main memory device, the directory information storage module 110 determines whether the directory information file of the output mode exists in the auxiliary storage device 104. . In this case, since only the directory information file I1 of the input mode exists in the auxiliary storage device 104, the directory information storage module 110 generates the directory information file O2 of the new output mode and generates the generated directory information file ( Information of D6 and D7 is stored in O2).

4. D: D34.D: D3

M: D5M: D5

I1: D4I1: D4

제2 디렉토리 정보 파일(O2): D6, D7
Second directory information file (O2): D6, D7

다음으로, 대상 디렉토리 선정 모듈(106)은 디렉토리 정보 영역(M)에 저장된 디렉토리인 D5를 추출하여 다음 대상 디렉토리로 선정한다.
Next, the target directory selecting module 106 extracts D5, which is a directory stored in the directory information area M, and selects the next target directory.

5. D: D55.D: D5

M: noneM: none

I1: D4I1: D4

O2: D6, D7
O2: D6, D7

이후, 대상 디렉토리 선정 모듈(106)은 디렉토리 정보 영역(M)에 저장된 디렉토리가 존재하지 않으므로, 입력 모드 디렉토리 정보 파일인 I1으로부터 디렉토리(D4)를 추출하여 다음 대상 디렉토리로 선정한다. 이때, I1은 더 이상 저장된 디렉토리가 남아 있지 않으므로 삭제된다.
Then, since the directory stored in the directory information area M does not exist, the target directory selecting module 106 extracts the directory D4 from the input mode directory information file I1 and selects the next target directory. At this time, I1 is deleted because no more stored directories remain.

6. D: D46.D: D4

M: noneM: none

I1: 삭제I1: delete

O2: D6, D7
O2: D6, D7

다음으로, 대상 디렉토리 선정 모듈(106)은 O2를 입력 모드(I2)로 변경하고, 저장된 디렉토리(D6, D7)를 순차적으로 읽어들여 대상 디렉토리로 선정한다. D7이 대상 디렉토리로 선정된 이후에는 I2에 더 이상 디렉토리가 남아 있지 않으므로 I2는 삭제되며, 더 이상 탐지해야 할 디렉토리가 남아 있지 않으므로 디렉토리 탐색은 종료된다.
Next, the target directory selecting module 106 changes O2 to the input mode I2 and sequentially reads the stored directories D6 and D7 and selects the target directory. After D7 is selected as the target directory, I2 is deleted because there are no more directories left in I2, and directory search is terminated because there are no more directories to detect.

7. D: D67.D: D6

M: noneM: none

O2->I2: D7
O2-> I2: D7

8. D: D78.D: D7

M: noneM: none

I2: 삭제
I2: delete

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
Meanwhile, an embodiment of the present invention may include a computer readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.

그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100: 디렉토리 탐색 시스템
102: 주기억 장치
104: 보조 기억 장치
106: 대상 디렉토리 선정 모듈
108: 하위 디렉토리 추출 모듈
110: 디렉토리 정보 저장 모듈
100: directory navigation system
102: main memory
104: auxiliary memory
106: destination directory selection module
108: subdirectory extraction module
110: directory information storage module

Claims (15)

주기억 장치 및 보조 기억 장치를 포함하는 디렉토리 탐색 시스템에서, 대상 시스템의 디렉토리를 탐색하기 위한 방법으로서,
상기 디렉토리 탐색 시스템에서, 상기 대상 시스템 내부의 디렉토리 중 하나의 대상 디렉토리를 선정하되, 상기 주기억 장치의 디렉토리 정보 영역에 기 저장된 디렉토리 정보가 존재하는 경우 상기 디렉토리 정보 영역에 저장된 디렉토리 중 하나를 상기 대상 디렉토리로 선정하고, 존재하지 않는 경우 상기 보조 기억 장치의 입력 모드(input mode)로 설정된 디렉토리 정보 파일에 저장된 디렉토리 중 하나를 상기 대상 디렉토리로 선정하는 제1단계;
상기 디렉토리 탐색 시스템에서, 선정된 상기 대상 디렉토리의 하위 디렉토리 중 하나를 선택하는 제2단계;
상기 디렉토리 탐색 시스템에서, 상기 주기억 장치의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하는 제3단계;
상기 디렉토리 탐색 시스템에서, 상기 제3단계의 판단 결과 빈 엔트리가 존재하는 경우 선택된 상기 하위 디렉토리 정보를 상기 빈 엔트리에 저장하고, 빈 엔트리가 존재하지 않는 경우 선택된 상기 하위 디렉토리 정보를 상기 보조 기억 장치의 출력 모드(output mode)로 설정된 디렉토리 정보 파일에 저장하는 제4단계; 및
상기 디렉토리 탐색 시스템에서, 상기 대상 디렉토리의 모든 하위 디렉토리가 선택될 때까지, 상기 제2단계 내지 제4단계를 반복 수행하는 제5단계를 포함하는 디렉토리 탐색 방법.
A directory search system comprising a main memory device and an auxiliary memory device, the method for searching a directory of a target system, comprising:
In the directory search system, a target directory of one of the directories in the target system is selected, and if there is directory information previously stored in the directory information area of the main memory device, one of the directories stored in the directory information area is selected. Selecting one of the directories stored in the directory information file set to an input mode of the auxiliary storage device as the target directory if not present;
In the directory search system, selecting one of sub-directories of the selected target directory;
Determining, by the directory search system, whether an empty entry exists in a directory information area of the main memory device;
In the directory search system, if the empty entry exists, the selected subdirectory information is stored in the empty entry, and if the empty entry does not exist, the selected subdirectory information is stored in the auxiliary storage device. A fourth step of storing in a directory information file set to an output mode; And
And a fifth step of repeating the second to fourth steps until all subdirectories of the target directory are selected in the directory search system.
삭제delete 청구항 1에 있어서,
상기 제4단계는, 상기 보조 기억 장치에 출력 모드(output mode)로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 상기 보조 기억 장치에 새로운 디렉토리 정보 파일을 생성하고, 생성된 상기 디렉토리 정보 파일을 출력 모드로 설정하는, 디렉토리 탐색 방법.
The method according to claim 1,
In the fourth step, when there is no directory information file set to an output mode in the auxiliary storage device, a new directory information file is generated in the auxiliary storage device, and the generated directory information file is output to the output mode. Directory search method.
청구항 1에 있어서,
상기 제1단계는, 상기 주기억 장치의 디렉토리 정보 영역에 기 저장된 디렉토리 정보가 존재하는 지 여부를 판단하는 제1-1단계;
상기 제1-1단계의 판단 결과, 기 저장된 디렉토리 정보가 존재하는 경우, 상기 디렉토리 정보 영역에 저장된 디렉토리 정보 중 하나의 디렉토리 정보를 추출하는 제1-2단계; 및
상기 제1-2단계에서 추출된 상기 디렉토리 정보에 대응하는 디렉토리를 상기 대상 디렉토리로 선정하는 제1-3단계를 더 포함하는 디렉토리 탐색 방법.
The method according to claim 1,
The first step may include: determining whether the directory information previously stored in the directory information area of the main memory device exists;
A first step of extracting one directory information among the directory information stored in the directory information area when there is already stored directory information as a result of the determination in step 1-1; And
And a first to third step of selecting a directory corresponding to the directory information extracted in steps 1-2 as the target directory.
청구항 4에 있어서,
상기 제1-1단계의 판단 결과, 기 저장된 디렉토리 정보가 존재하지 않는 경우, 상기 보조 기억 장치의 입력 모드로 설정된 디렉토리 정보 파일에 저장된 디렉토리 중 하나의 디렉토리 정보를 추출하는 제1-3단계; 및
상기 제1-3단계에서 추출된 상기 디렉토리 정보에 대응하는 디렉토리를 상기 대상 디렉토리로 선정하는 제1-4단계를 더 포함하는 디렉토리 탐색 방법.
The method of claim 4,
A first to third step of extracting directory information of one of directories stored in a directory information file set to an input mode of the auxiliary storage device when there is no previously stored directory information as a result of the determination in the first-first step; And
And a first to fourth step of selecting a directory corresponding to the directory information extracted in steps 1-3 as the target directory.
삭제delete 청구항 5에 있어서,
상기 제1-3단계는, 상기 보조 기억 장치에 입력 모드로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 출력 모드로 설정된 디렉토리 정보 파일을 입력 모드로 재설정하는, 디렉토리 탐색 방법.
The method according to claim 5,
In the step 1-3, if the directory information file set in the input mode does not exist in the auxiliary storage device, the directory information file set in the output mode is reset to the input mode.
청구항 1 또는 청구항 3 내지 5 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 1 and 3 to 5 on a computer.
대상 시스템의 디렉토리를 탐색하기 위한 디렉토리 탐색 시스템으로서,
상기 대상 시스템 내부의 디렉토리 중 하나의 대상 디렉토리를 선정하되, 상기 디렉토리 탐색 시스템에 포함된 주기억 장치의 디렉토리 정보 영역에 기 저장된 디렉토리 정보가 존재하는 경우 상기 디렉토리 정보 영역에 저장된 디렉토리 중 하나의 디렉토리를 상기 대상 디렉토리로 선정하고, 존재하지 않는 경우 상기 디렉토리 탐색 시스템에 포함된 보조 기억 장치의 입력 모드로 설정된 디렉토리 정보 파일에 저장된 디렉토리 중 하나의 디렉토리를 상기 대상 디렉토리로 선정하는 대상 디렉토리 선정 모듈;
선정된 상기 대상 디렉토리의 하위 디렉토리 정보를 추출하는 하위 디렉토리 추출 모듈; 및
상기 주기억 장치의 디렉토리 정보 영역에 빈 엔트리가 존재하는지 여부를 판단하고, 빈 엔트리가 존재하는 경우 상기 하위 디렉토리 정보를 상기 빈 엔트리에 저장하며, 빈 엔트리가 존재하지 않는 경우 상기 하위 디렉토리 정보를 상기 보조 기억 장치의 출력 모드(output mode)로 설정된 디렉토리 정보 파일에 저장하는 디렉토리 정보 저장 모듈을 포함하는 디렉토리 탐색 시스템.
A directory search system for searching a directory on a target system,
Selecting one target directory among directories in the target system, and when there is directory information previously stored in the directory information area of the main memory device included in the directory search system, selecting one directory among the directories stored in the directory information area; A target directory selecting module that selects one of the directories stored in the directory information file set as an input mode of the auxiliary storage device included in the directory search system as the target directory, if the target directory is selected;
A subdirectory extraction module for extracting subdirectory information of the selected target directory; And
It is determined whether an empty entry exists in the directory information area of the main memory device, and if the empty entry exists, the subdirectory information is stored in the empty entry, and if the empty entry does not exist, the subdirectory information is stored in the auxiliary information. A directory search system including a directory information storage module for storing in a directory information file set to an output mode of a storage device.
삭제delete 청구항 9에 있어서,
상기 디렉토리 정보 저장 모듈은, 상기 보조 기억 장치에 출력 모드(output mode)로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 상기 보조 기억 장치에 새로운 디렉토리 정보 파일을 생성하고, 생성된 상기 디렉토리 정보 파일을 출력 모드로 설정하는, 디렉토리 탐색 시스템.
The method according to claim 9,
The directory information storage module generates a new directory information file in the auxiliary storage device and outputs the generated directory information file when there is no directory information file set in an output mode in the auxiliary storage device. Directory search system, set to mode.
삭제delete 삭제delete 삭제delete 청구항 9에 있어서,
상기 대상 디렉토리 선정 모듈은, 상기 보조 기억 장치에 입력 모드로 설정된 디렉토리 정보 파일이 존재하지 않는 경우, 출력 모드로 설정된 디렉토리 정보 파일을 입력 모드로 재설정하는, 디렉토리 탐색 시스템.
The method according to claim 9,
And the target directory selecting module resets the directory information file set in the output mode to the input mode when the directory information file set in the input mode does not exist in the auxiliary storage device.
KR1020110104590A 2011-10-13 2011-10-13 System and method for scanning large-scale directories KR101157903B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110104590A KR101157903B1 (en) 2011-10-13 2011-10-13 System and method for scanning large-scale directories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110104590A KR101157903B1 (en) 2011-10-13 2011-10-13 System and method for scanning large-scale directories

Publications (1)

Publication Number Publication Date
KR101157903B1 true KR101157903B1 (en) 2012-06-22

Family

ID=46689167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110104590A KR101157903B1 (en) 2011-10-13 2011-10-13 System and method for scanning large-scale directories

Country Status (1)

Country Link
KR (1) KR101157903B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0146051A2 (en) * 1983-12-16 1985-06-26 Hewlett-Packard Company Stand-off device with special fluid
US20040215643A1 (en) * 2001-04-18 2004-10-28 Microsoft Corporation Managing user clips
US20050050107A1 (en) 2003-09-03 2005-03-03 Mane Virendra M. Using a file for associating the file with a tree quota in a file server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0146051A2 (en) * 1983-12-16 1985-06-26 Hewlett-Packard Company Stand-off device with special fluid
US20040215643A1 (en) * 2001-04-18 2004-10-28 Microsoft Corporation Managing user clips
US20050050107A1 (en) 2003-09-03 2005-03-03 Mane Virendra M. Using a file for associating the file with a tree quota in a file server

Similar Documents

Publication Publication Date Title
US9501225B2 (en) Shrinking virtual hard disk image
CN107038206B (en) LSM tree establishing method, LSM tree data reading method and server
US10783115B2 (en) Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset
JP5039948B2 (en) Compiler that optimizes programs
US20170124345A1 (en) Reducing Resource Consumption Associated with Storage and Operation of Containers
US20090307241A1 (en) Optimizing complex path endpoint resolution
CN108021590B (en) Target object attribute determining method, attribute updating method and device
KR20090101665A (en) Memory system and data access method thereof
JP2006313548A (en) Device and method for storing and managing additional information in file system
CN110888837A (en) Object storage small file merging method and device
CN110109891B (en) Method, apparatus and storage medium for data migration
JP2015079473A (en) Data management method, and system supporting the same
KR101157903B1 (en) System and method for scanning large-scale directories
CN104317955A (en) File scanning method and device for storage space of mobile terminal
KR101693108B1 (en) Database read method and apparatus using t-tree index for improving read performance
WO2019228009A1 (en) Lsm tree optimization method and device and computer equipment
US8533135B2 (en) Model generating device and model generating method
US8775746B2 (en) Information processing system and method
US9442863B1 (en) Cache entry management using read direction detection
KR20230043206A (en) 3-color bitmap array for garbage collection
CN113312314A (en) Method, device and equipment for android platform repeated file retrieval
JPWO2012073333A1 (en) Analysis support apparatus, analysis support method, and analysis support program
KR101318420B1 (en) Method, system and computer-readable recording medium for searching position of metadata
CN117349236B (en) File reading method, device, equipment and storage medium
CN105989008B (en) Method and equipment for writing data into mirror image file

Legal Events

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

Payment date: 20150529

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee