KR20120009800A - Distributed file management apparatus and method - Google Patents

Distributed file management apparatus and method Download PDF

Info

Publication number
KR20120009800A
KR20120009800A KR1020100070503A KR20100070503A KR20120009800A KR 20120009800 A KR20120009800 A KR 20120009800A KR 1020100070503 A KR1020100070503 A KR 1020100070503A KR 20100070503 A KR20100070503 A KR 20100070503A KR 20120009800 A KR20120009800 A KR 20120009800A
Authority
KR
South Korea
Prior art keywords
file
accesses
access information
files
distributed
Prior art date
Application number
KR1020100070503A
Other languages
Korean (ko)
Other versions
KR101662173B1 (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 KR1020100070503A priority Critical patent/KR101662173B1/en
Publication of KR20120009800A publication Critical patent/KR20120009800A/en
Application granted granted Critical
Publication of KR101662173B1 publication Critical patent/KR101662173B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

PURPOSE: A file distribution managing device and a method thereof are provided to generate and update access information based on the number of access to files, thereby dynamically determining the number of a replica of the files. CONSTITUTION: File servers(170,180,190) distributes the original file and a replica file to store. A file access inspecting unit(130) counts the number of access to the original and the replica files to generate or update file access information. A file distributing unit(150) reads the file access information to transmit file usage status information to a monitoring terminal or a system manager. A control unit(160) selects a file server to store the original and the replica files, and controls the number of the files storage up to a fixed number.

Description

분산 파일 관리 장치 및 방법{DISTRIBUTED FILE MANAGEMENT APPARATUS AND METHOD}DISTRIBUTED FILE MANAGEMENT APPARATUS AND METHOD}

본 발명은 분산 파일 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 데이터 안정성 및 성능 향상을 위해 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리하는 분산 파일 관리 장치에서 각 파일별로 접근 횟수를 계수하여 파일 접근 정보를 생성 및 갱신함으로써 파일별로 누적된 접근 정보를 기준으로 하여 각 파일별 복제본의 개수를 동적으로 결정할 수 있도록 한 분산 파일 관리 장치 및 방법에 관한 것이다.The present invention relates to a distributed file management apparatus and method, and more particularly, to count the number of accesses for each file in a distributed file management apparatus that creates and manages copies of the replicas in various storage spaces for improving data stability and performance. The present invention relates to a distributed file management apparatus and method for dynamically determining the number of replicas for each file based on accumulated access information for each file by generating and updating file access information.

일반적으로, 범용 하드웨어 기반의 분산 파일 관리 장치에서는 데이터 안정성 및 성능 향상을 위해 파일별로 복제본(replica)들을 여러 컴퓨터에 각각 분산하여 생성 및 관리한다.In general, a distributed file management apparatus based on general-purpose hardware distributes and creates and manages replicas to each computer for each file in order to improve data stability and performance.

종래 기술에 따른 분산 파일 관리 장치에서는 데이터 읽기와 쓰기의 실행 속도, 스토리지 요구량 등을 종합적으로 검토하여 복제본의 개수를 결정하며, 결정한 복제본의 개수는 전체 파일에 일관되게 적용하고 있다.In the distributed file management apparatus according to the related art, the number of replicas is determined by comprehensively examining the execution speed of data read and write, storage requirements, and the like, and the determined number of replicas is consistently applied to all files.

따라서, 전체적으로는 파일의 분산 관리에 따르는 데이터 안정성 및 성능 향상의 효과를 기대할 수 있었지만 개별의 파일별로 살펴보면 각각의 파일 연산 특성 분포가 상이하므로 최적의 효과를 발휘하지 못하는 문제점이 있었다.Therefore, the overall data stability and performance improvement can be expected according to the distributed management of the file, but when looking at the individual files, there is a problem that the optimal effect is not shown because the distribution of each file operation characteristic is different.

복제본의 개수를 늘리면 데이터 읽기 연산 시에 빠른 실행 속도를 보장하는 장점이 있으나, 데이터 쓰기 연산에 동반되는 데이터 동기화의 실행 시간은 복제본의 개수에 비례하여 증가하며, 중복된 데이터의 저장으로 스토리지 요구량도 병행하여 증가하기 때문이다.Increasing the number of replicas has the advantage of ensuring fast execution speed during data read operations.However, the execution time of data synchronization accompanying data write operations increases in proportion to the number of replicas. This is because it increases in parallel.

반대로 복제본의 개수를 줄이면 데이터 쓰기 연산에는 실행 시간 감소의 장점 및 스토리지 사용량 절감 등의 장점이 있으나 읽기 연산이 집중될 경우에는 성능 향상을 기대할 수 없는 문제가 있다..Conversely, reducing the number of replicas has the advantages of reducing execution time and reducing storage usage for data write operations, but there is a problem that performance improvements cannot be expected when read operations are concentrated.

특히, 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지(cloud storage)의 경우에는 매우 많은 개수의 파일들이 존재하며, 이들의 활용 용도는 각각 파일 특성별로 다양하고, 동일한 파일도 시간의 흐름에 따라 주요 사용 패턴이 달라질 수 있기 때문에 복제본의 개수를 전체 파일에 일관되게 적용함에 따르는 문제점이 심화된다.In particular, there are a large number of files in the case of cloud storage that provides virtualized storage resources through a network according to a user's needs, and their use is varied according to file characteristics, and the same file is also used. Over time, major usage patterns can change, which exacerbates the problem of consistently applying the number of replicas to the entire file.

본 발명은 이와 같은 종래 기술의 문제점을 해결하기 위해 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리하는 분산 파일 관리 장치에서 각 파일별로 접근 횟수를 계수하여 파일 접근 정보를 생성 및 갱신함으로써 파일별로 누적된 접근 정보를 기준으로 하여 각 파일별 복제본의 개수를 동적으로 결정할 수 있도록 한 분산 파일 관리 장치 및 방법을 제공한다.The present invention is to solve the problems of the prior art by counting the number of access for each file in the distributed file management apparatus that creates and manages the distribution of copies to multiple storage space for each file by generating and updating the file access information Provided is a distributed file management apparatus and method for dynamically determining the number of replicas for each file based on accumulated access information.

본 발명의 제 1 관점으로서 분산 파일 관리 장치는, 원본 파일과 복제본 파일을 분산 저장하는 복수의 파일 서버와, 상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수해서 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 파일 접근 검사부와, 상기 파일 접근 검사부가 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 접근 정보 데이터베이스와, 상기 접근 정보 데이터베이스에 누적된 상기 파일 접근 정보를 읽어 들여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하는 파일 분산 처리부와, 상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 기 설정된 개수만큼의 상기 복제본 파일과 상기 원본 파일에 대한 저장을 제어하는 제어부를 포함할 수 있다.In accordance with a first aspect of the present invention, a distributed file management apparatus includes counting and counting the number of accesses of a plurality of file servers for distributing and storing original files and replica files, and the number of times of access to the original files and the replica files stored in the plurality of file servers. A file access checker for generating or updating file access information including the number of accesses; an access information database storing the file access information generated or updated by the file access checker in a database for each file; and in the access information database. A file distribution processor that reads the accumulated file access information and transmits usage status information for each file to a monitoring terminal or a system administrator through a predetermined path; and at least one to store the original file and the duplicate file among the plurality of file servers. Select a file server to preset And a controller for controlling the number of copies of the duplicated files and the storage of the original files.

여기서, 상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.Here, the file access checker may assign an integer variable to each file internally, and then increase or decrease an integer variable when the read () function and the write () function are called to count the number of accesses.

상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에 가중치를 부여하여 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.The file access checker allocates an integer variable internally for each file and then assigns a weight to a continuous read () function or a continuous write () function to increase or decrease the integer variable to count the number of accesses. can do.

상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋할 수 있다.The file access checker may reset the value counting the number of accesses at predetermined time intervals.

상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다.The file access checker may count the number of accesses by assigning a weight that is changed as time passes by counting the number of accesses.

본 발명의 제 2 관점으로서 분산 파일 관리 장치는, 원본 파일과 복제본 파일을 분산 저장하는 복수의 파일 서버와, 상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수해서 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 파일 접근 검사부와, 상기 파일 접근 검사부가 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 접근 정보 데이터베이스와, 상기 접근 정보 데이터베이스에 누적된 상기 파일 접근 정보를 읽어 들여 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하는 파일 분산 처리부와, 상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 상기 파일 분산 처리부에서 산정한 상기 복제값에 대응하는 개수만큼의 상기 복제본 파일과 상기 원본 파일에 대한 저장을 제어하는 제어부를 포함할 수 있다. As a second aspect of the present invention, a distributed file management apparatus includes a plurality of file servers configured to distribute and store original files and replica files, and counts and counts the number of times of access of the original files and the duplicate files stored in the plurality of file servers. A file access checker for generating or updating file access information including the number of accesses; an access information database storing the file access information generated or updated by the file access checker in a database for each file; and in the access information database. A file distribution processor for dynamically determining the number of replicas of each file by reading the accumulated file access information and calculating a replica value according to a preset replication value calculation rule; and the original file and the replica of the plurality of file servers. Select one or more file servers to store the files It may include the replica files as many as the number corresponding to the value calculated from the duplicate file distribution processing and control unit for controlling the storage of the original file.

여기서, 상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.Here, the file access checker may assign an integer variable to each file internally, and then increase or decrease an integer variable when the read () function and the write () function are called to count the number of accesses.

상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에 가중치를 부여하여 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.The file access checker allocates an integer variable internally for each file and then assigns a weight to a continuous read () function or a continuous write () function to increase or decrease the integer variable to count the number of accesses. can do.

상기 파일 분산 처리부는, 상기 접근 횟수를 계수한 값과 기준값과의 비교 결과에 따라 상기 복제값을 증감시킬 수 있다. The file distribution processor may increase or decrease the copy value according to a result of comparing the counted number of accesses with a reference value.

상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋할 수 있다. The file access checker may reset the value counting the number of accesses at predetermined time intervals.

상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다. The file access checker may count the number of accesses by assigning a weight that is changed as time passes by counting the number of accesses.

본 발명의 제 3 관점으로서 분산 파일 관리 방법은, 복수의 파일 서버 중에서 원본 파일과 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 기 설정된 개수만큼의 상기 복제본 파일과 상기 원본 파일을 저장하는 단계와, 상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수해서 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 단계와, 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계와, 누적된 상기 파일 접근 정보에 의거하여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided a distributed file management method comprising: selecting one or more file servers to store original files and replica files from a plurality of file servers, and storing the replica files and the original files by a predetermined number; Generating or updating file access information including the access number counted by counting the number of accesses of the original file and the copy file stored in the plurality of file servers, and generating and updating the file access information for each file. And storing the data in a database, and transmitting usage status information for each file to a monitoring terminal or a system administrator through a predetermined path based on the accumulated file access information.

여기서, 상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.In the generating or updating of the file access information, an integer variable for each file may be allocated internally, and then the number of accesses may be counted by increasing or decreasing an integer variable when a read () function or a write () function is called. have.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에는 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다.The generating or updating of the file access information may include assigning an integer variable to each file internally and counting the number of accesses by assigning a weight value when calling a continuous read () function or calling a continuous write () function. can do.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋할 수 있다.In the generating or updating of the file access information, the value counting the number of accesses may be reset every preset time.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다.In the generating or updating of the file access information, the number of accesses may be counted by assigning a weight that is changed as time passes by counting the access times.

본 발명의 제 4 관점으로서 분산 파일 관리 방법은, 복수의 파일 서버에 저장된 원본 파일과 복제본 파일의 접근 횟수를 계수해서 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 단계와, 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계와, 누적된 상기 파일 접근 정보 및 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하는 단계와, 상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택한 후에 상기 복제값에 대응하는 개수만큼의 상기 복제본 파일과 상기 원본 파일을 저장하는 단계를 포함할 수 있다.In accordance with a fourth aspect of the present invention, there is provided a distributed file management method, including generating or updating file access information including the number of accesses counting and counting the number of accesses of a source file and a replica file stored in a plurality of file servers; Or storing the updated file access information by database for each file, and dynamically calculating the number of replicas for each file by calculating a replication value according to the accumulated file access information and a preset replication value calculation rule. And selecting one or more file servers to store the original file and the duplicate file from among the plurality of file servers, and storing the number of the duplicate file and the original file corresponding to the copy value.

여기서, 상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 정수형 변수를 증감시켜서 상기 접근 횟수를 계수할 수 있다.In the generating or updating of the file access information, an integer variable for each file may be allocated internally, and then the number of accesses may be counted by increasing or decreasing an integer variable when a read () function or a write () function is called. have.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에는 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다.The generating or updating of the file access information may include assigning an integer variable to each file internally and counting the number of accesses by assigning a weight value when calling a continuous read () function or calling a continuous write () function. can do.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋할 수 있다.In the generating or updating of the file access information, the value counting the number of accesses may be reset every preset time.

상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수할 수 있다.In the generating or updating of the file access information, the number of accesses may be counted by assigning a weight that is changed as time passes by counting the access times.

본 발명의 실시예에 의하면, 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리하는 분산 파일 관리 장치에서 각 파일별로 접근 횟수를 계수하여 파일 접근 정보를 생성 및 갱신함으로써 시스템 관리자가 파일별로 누적된 접근 정보를 기준으로 하여 각 파일별 복제본의 개수를 동적으로 결정할 수 있도록 한다.According to an embodiment of the present invention, a system administrator accumulates file by file by generating and updating file access information by counting the number of accesses for each file in a distributed file management apparatus that creates and manages copies of the copies in various storage spaces. Dynamically determine the number of replicas for each file based on access information.

또는, 각 파일별로 접근 횟수를 계수하여 파일 접근 정보를 생성 및 갱신한 후에 누적된 파일 접근 정보 및 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하며, 산정한 복제값에 대응하는 개수만큼의 복제본 파일과 원본 파일을 분산 저장할 수 있다.Alternatively, after generating and updating the file access information by counting the number of accesses for each file, the replication value is calculated according to the accumulated file access information and the preset replication value calculation rule to dynamically determine the number of replicas for each file. You can distribute and store as many copy files and original files as the number of copies.

따라서, 전체적으로 파일을 분산 관리할 수 있을 뿐만 아니라 개별의 파일별로 각각의 파일 연산 특성에 맞게 분산 관리할 수 있어서 데이터 안정성 및 성능 향상이 제고되는 효과가 있다.Therefore, not only can the file be distributedly managed as a whole, but also can be distributedly managed according to each file operation characteristic of each file, thereby improving data stability and performance.

특히, 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지의 경우에는 굉장히 많은 개수의 파일들이 존재하며, 이들의 활용 용도는 각각 파일 특성별로 다양하고, 동일한 파일도 시간의 흐름에 따라 주요 사용 패턴이 달라질 수 있는데, 본 발명의 실시예에 의하면 파일 특성별 또는 시간 흐름별로 각각의 특성에 맞게 파일을 분산 관리할 수 있어서 데이터 안정성 및 성능 향상이 더욱 두드러지게 나타난다.In particular, there are a large number of files in the case of cloud storage that provides virtualized storage resources through a network according to user's needs, and their use is varied according to file characteristics, and the same files also change over time. According to an embodiment of the present invention, files can be distributedly managed according to characteristics of each file or time, so that data stability and performance improvement are more prominent.

도 1은 본 발명의 실시예에 따른 분산 파일 관리 장치를 적용할 수 있는 분산 파일 시스템의 구성도,
도 2는 본 발명의 실시예에 따른 분산 파일 관리 장치의 세부적인 블록 구성도,
도 3은 본 발명의 실시예에 따른 분산 파일 관리 장치에 의한 분산 파일 관리 방법을 예시적으로 설명하기 위한 흐름도.
1 is a configuration diagram of a distributed file system to which a distributed file management apparatus according to an embodiment of the present invention can be applied;
2 is a detailed block diagram of a distributed file management apparatus according to an embodiment of the present invention;
3 is a flowchart illustrating a distributed file management method by a distributed file management apparatus according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Combinations of each block of the accompanying block diagram and each step of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

도 1은 본 발명의 실시예에 따른 분산 파일 관리 장치를 적용할 수 있는 분산 파일 시스템의 구성도이다. 도 1을 참조하면 실시예에 따른 분산 파일 시스템은 분산 파일 관리 장치(100)가 인터넷, 전용회선, 무선망 등과 같은 통신망(200)을 통해 다수의 사용자 단말기(310, 320, 330)와 연결된다. 여기서, 도 1에서는 분산 파일 관리 장치(100)가 3대의 사용자 단말기(310, 320, 330)와 연결되는 경우를 예시하였으나, 웹하드, 인터넷하드 등의 용어로 불리는 데이터 저장 서비스를 제공하는 시스템들처럼 매우 많은 사용자 단말기들과 연결될 수 있다. 따라서 사용자 단말기(310, 320, 330)와 접속하여 사용자 인증을 하고, 데이터의 저장과 관리, 비용결제 등을 처리할 수 있는 구성요소를 포함할 수 있으나, 이러한 구성요소는 본 발명의 핵심은 아니므로 이에 대한 자세한 설명은 생략한다.1 is a configuration diagram of a distributed file system to which a distributed file management apparatus according to an exemplary embodiment of the present invention may be applied. Referring to FIG. 1, in the distributed file system according to an exemplary embodiment, the distributed file management apparatus 100 is connected to a plurality of user terminals 310, 320, and 330 through a communication network 200 such as the Internet, a dedicated line, and a wireless network. . Here, although FIG. 1 illustrates a case in which the distributed file management apparatus 100 is connected to three user terminals 310, 320, and 330, systems for providing a data storage service called terms such as web hard and internet hard are provided. Like so many user terminals can be connected. Therefore, the user terminal 310, 320, 330 can be connected to the user authentication, and may include components that can handle the storage and management of data, payment, etc., but these components are not the core of the present invention. Detailed description thereof will be omitted.

도 2는 본 발명의 실시예에 따른 분산 파일 관리 장치의 세부적인 블록 구성도이다. 도 2를 참조하면 실시예에 따른 분산 파일 관리 장치(100)는 파일 목록 관리부(110), 파일 목록 데이터베이스(120), 파일 접근 검사부(130), 접근 정보 데이터베이스(140), 파일 분산 처리부(150), 제어부(160), 제 1 파일 서버(170)와 제 2 파일 서버(180) 내지 제 n 파일 서버(190)로 표현할 수 있는 복수의 파일 서버 등을 포함할 수 있다.2 is a detailed block diagram of a distributed file management apparatus according to an embodiment of the present invention. Referring to FIG. 2, the distributed file management apparatus 100 according to the embodiment may include a file list manager 110, a file list database 120, a file access checker 130, an access information database 140, and a file distribution processor 150. ), The controller 160, the first file server 170, and the plurality of file servers represented by the second file server 180 to the n th file server 190 may be included.

파일 목록 관리부(110)는 제 1 파일 서버(170) 내지 제 n 파일 서버(190)에 저장된 파일의 목록을 생성하고, 파일 목록 데이터베이스(120)는 파일 목록 관리부(110)에서 생성한 파일 목록을 저장한다. 예컨대, 사용자 단말기(310)로부터 업로드 되어 제 1 파일 서버(170)에 저장되는 파일의 위치를 디렉토리의 형태로 표시할 수 있다. 이러한 파일 목록 관리부(110) 및 파일 목록 데이터베이스(120)는 실제로 파일을 저장하는 제 1 파일 서버(170) 내지 제 n 파일 서버(190)에 각각 설치하여 제어부(160)가 관리 및 운용할 수도 있다.The file list manager 110 generates a list of files stored in the first file server 170 to the n th file server 190, and the file list database 120 generates the file list generated by the file list manager 110. Save it. For example, the location of the file uploaded from the user terminal 310 and stored in the first file server 170 may be displayed in the form of a directory. The file list managing unit 110 and the file list database 120 may be installed in the first file server 170 to the n th file server 190 which actually store files, and may be managed and operated by the controller 160. .

파일 목록 관리부(110)는 주기적으로 제 1 파일 서버(170) 내지 제 n 파일 서버(190)에 저장된 파일의 목록을 갱신한다. 예컨대, 파일 목록 관리부(110)는 최종적으로 제 1 파일 서버(170) 내지 제 n 파일 서버(190)와의 동기화를 맞출 수 있다.The file list manager 110 periodically updates a list of files stored in the first file server 170 to the nth file server 190. For example, the file list manager 110 may finally synchronize with the first file server 170 to the n th file server 190.

제 1 파일 서버(170)는 저장할 파일을 기록하는 제 1 파일 관리부(171)와 파일을 실제로 저장하는 제 1 파일 데이터베이스(173)를 포함할 수 있으며, 제 2 파일 서버(180)는 저장할 파일을 기록하는 제 2 파일 관리부(181)와 파일을 실제로 저장하는 제 2 파일 데이터베이스(183)를 포함할 수 있고, 마찬가지로 제 n 파일 서버(190)는 저장할 파일을 기록하는 제 n 파일 관리부(191)와 파일을 실제로 저장하는 제 n 파일 데이터베이스(194)를 포함할 수 있다.The first file server 170 may include a first file manager 171 for recording a file to be stored and a first file database 173 for actually storing the file, and the second file server 180 may store a file to be stored. The second file manager 181 to record and the second file database 183 to actually store the file, and likewise the n-th file server 190 and the n-th file manager 191 to record the file to be stored And an nth file database 194 that actually stores the file.

이처럼 제 1 파일 서버(170), 제 2 파일 서버(180) 내지 제 n 파일 서버(190)로 표현할 수 있는 복수의 파일 서버의 개수는 저장 용량, 사용자의 수, 시스템의 상태 등에 따라 다양하게 변화될 수 있다.As described above, the number of file servers that can be represented by the first file server 170, the second file server 180, or the n-th file server 190 varies in accordance with the storage capacity, the number of users, and the state of the system. Can be.

파일 접근 검사부(130)는 제 1 파일 서버(170) 내지 제 n 파일 서버(190)에 저장된 파일의 접근 상황을 검사하여 접근 횟수를 계수하며, 파일 연산이 종료되면 계수한 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신한다. 분산 파일 시스템은 파일 입출력을 위해 read() 함수 및 write() 함수를 지원하여야 한다. 이에 예컨대 각 파일별로 64비트(bits)의 정수형(integer) 변수를 내부에 할당하여 read() 함수 호출 시에는 1씩 증가시키고 write() 함수 호출 시에 1씩 감소시켜서 파일별 접근 횟수를 계수할 수 있다. 이때, 연속된 read() 함수 호출 시에는 가중치를 부여하여 변수를 증가시킬 수 있으며, 연속된 write() 함수 호출 시에는 가중치를 부여하여 변수를 감소시킬 수 있다. 예컨대, 파일 접근 검사부(130)는 기 설정 시간마다 계수하였던 접근 횟수를 리셋하여 비교적 최근에 발생한 파일 접근 상황이 파일 접근 정보에 반영되도록 할 수 있다. 아울러, 기 설정된 시간이 경과한 파일 접근 상황보다 비교적 최근에 발생한 파일 접근 상황에 가중치를 부여하여 비교적 최근에 발생한 파일 접근 상황이 더 많은 비중으로 파일 접근 정보에 반영되도록 할 수도 있다. 예컨대, 접근 횟수를 계수하는 시간의 경과에 따라서 변경된 가중치를 부여하여 변수를 증감시키고 기 설정된 시간이 도래하면 계수한 접근 횟수를 리셋한 후에 접근 횟수의 계수를 다시 시작할 수 있다. 즉, 최근의 접근 횟수가 많은 영향을 미치도록 시간 흐름에 따라 변화되는 가중치를 부여하여 변수를 증감시킬 수 있다.The file access checker 130 checks the access status of the files stored in the first file server 170 to the n th file server 190 and counts the number of accesses, and the file including the counted access counts when the file operation is completed. Create or update access information. Distributed file systems must support read () and write () functions for file I / O. For example, a 64-bit integer variable is allocated internally for each file, which is increased by 1 when calling the read () function and decremented by 1 when the write () function is called. Can be. In this case, the variable may be increased by assigning a weight when the continuous read () function is called, and the variable may be decreased by assigning a weight when the continuous write () function is called. For example, the file access checker 130 may reset the number of accesses counted for each preset time so that a relatively recent file access situation is reflected in the file access information. In addition, the file access situation may be weighted more recently than the file access situation after a predetermined time so that the relatively recent file access situation may be reflected in the file access information with a greater weight. For example, the variable may be added or changed according to the passage of time for counting the number of accesses, and when the preset time arrives, the counting of the number of accesses may be restarted after resetting the counted access times. That is, the variable may be increased or decreased by giving a weight that changes over time so that the number of recent accesses has a large influence.

접근 정보 데이터베이스(140)는 파일 접근 검사부(130)가 생성 또는 갱신한 파일 접근 정보를 파일별로 데이터베이스화하여 저장한다.The access information database 140 stores the file access information generated or updated by the file access checker 130 as a database for each file.

파일 분산 처리부(150)는 접근 정보 데이터베이스(140)에 누적된 파일 접근 정보를 읽어 들여 기 설정된 경로를 통해 모니터링 단말(미도시) 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하거나 알려서 파일별로 누적된 접근 정보를 기준으로 하여 각 파일별 복제본의 개수를 동적으로 결정할 수 있도록 한다. 또는, 파일 분산 처리부(150)는 접근 정보 데이터베이스(140)에 누적된 파일 접근 정보를 읽어 들여 기 설정된 복제값 산정 규칙에 따라 각 파일별 복제본의 개수를 동적으로 결정하여 제어부(160)에게 전달한다. 예컨대, 누적된 접근 정보의 변수값이 크면 그만큼 읽기 연산이 많이 수행된 것이기에 빠른 실행 속도를 보장하기 위하여 복제본의 개수를 증가시켜야 하므로 복제값을 증가시키고, 누적된 접근 정보의 변수값이 작으면 그만큼 쓰기 연산이 많이 수행된 것이기에 쓰기 연산의 실행 시간의 감소 및 스토리지 사용량 절감이 유리하도록 복제본의 개수를 감소시켜야 하므로 복제값을 감소시킨다.The file distribution processing unit 150 accumulates the file access information accumulated in the access information database 140 and transmits or informs the usage information of each file to a monitoring terminal (not shown) or a system administrator through a preset path, or accumulates the file access information. Dynamically determine the number of replicas for each file based on access information. Alternatively, the file distribution processing unit 150 reads the file access information accumulated in the access information database 140 and dynamically determines the number of replicas for each file according to a preset replication value calculation rule and transmits the number of replicas to each control unit 160. . For example, if the variable value of the accumulated access information is large, the number of replicas must be increased to ensure fast execution speed because the read operation is performed much, and if the variable value of the accumulated access information is small, the number of replicas is increased. Since a large number of write operations are performed, the number of replicas must be reduced so that the execution time of the write operations and the storage usage can be reduced, thereby reducing the replication value.

제어부(160)는 분산 파일 관리 장치(100)에 포함된 각종 구성요소를 제어하며, 제 1 파일 서버(170) 내지 제 n 파일 서버(190) 중에서 원본 파일과 복제본 파일을 저장할 파일 서버를 선택하고, 파일 분산 처리부(150)에서 산정한 복제값에 의거한 개수만큼의 복제본 파일과 원본 파일에 대한 저장을 제어하거나 시스템 관리자에 의해 기 설정된 개수만큼의 복제본 파일과 원본 파일에 대한 저장을 제어한다.The controller 160 controls various components included in the distributed file management apparatus 100, and selects a file server to store an original file and a replica file among the first file server 170 to the n th file server 190. In addition, the file distribution processor 150 controls the storage of the number of copies and the original file as many as the number of copies based on the replication value calculated by the system administrator or controls the storage of the number of copies and the original file preset by the system administrator.

도 3은 본 발명의 실시예에 따른 분산 파일 관리 장치에 의한 분산 파일 관리 방법을 예시적으로 설명하기 위한 흐름도이다. 도 3을 통해 본 발명의 두 가지 실시예를 살펴볼 수 있다.3 is a flowchart illustrating a distributed file management method by a distributed file management apparatus according to an exemplary embodiment of the present invention. 3, two embodiments of the present invention will be described.

첫 번째 실시예에 따른 분산 파일 관리 방법은, 복수의 파일 서버 중에서 원본 파일과 복제본 파일을 저장할 파일 서버를 선택하여 기 설정된 개수만큼의 복제본 파일과 원본 파일을 저장하는 단계(S401)와, 복수의 파일 서버에 저장된 원본 파일과 복제본 파일의 접근 상황을 검사하여 접근 횟수를 계수해서 계수한 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하고, 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계(S403 내지 S411)와, 누적된 파일 접근 정보에 의거하여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하는 단계(도시 생략함) 등을 포함한다.The distributed file management method according to the first embodiment includes selecting a file server to store original files and replica files from among a plurality of file servers, and storing a predetermined number of duplicate files and original files (S401), and a plurality of file servers. Examine the access status of the original file and the replica file stored in the file server to generate or update the file access information including the number of access counted by counting the number of access, and to database the file access information generated or updated by file Storing (S403 to S411), and transmitting usage status information for each file to a monitoring terminal or a system administrator through a predetermined path based on the accumulated file access information (not shown).

두 번째 실시예에 따른 분산 파일 관리 방법은, 복수의 파일 서버에 저장된 원본 파일과 복제본 파일의 접근 상황을 검사하여 접근 횟수를 계수해서 계수한 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하고, 생성 또는 갱신한 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계(S401 내지 S411)와, 누적된 파일 접근 정보 및 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하는 단계(S413 내지 S415)와, 복수의 파일 서버 중에서 원본 파일과 복제본 파일을 저장할 파일 서버를 선택한 후에 복제값에 대응하는 개수만큼의 복제본 파일과 원본 파일을 저장하는 단계(S417) 등을 포함한다.In the distributed file management method according to the second embodiment, the file access information including the number of accesses counted by counting the number of accesses by inspecting the access status of the original files and the replica files stored in the plurality of file servers, (S401 to S411) storing the generated or updated file access information for each file in a database, and calculating a replication value according to the accumulated file access information and a predetermined replication value calculation rule to dynamically calculate the number of replicas for each file. (S413 to S415), selecting a file server to store the original file and the replica file from among the plurality of file servers, and storing as many replica files and the original file as the number corresponding to the replication value (S417). Include.

이하에서는 도 1 내지 도 3을 참조하여 본 발명의 실시예에 따른 분산 파일 관리 장치에 의한 분산 파일 관리 과정에 대해 예시적으로 살펴보기로 한다.Hereinafter, a distributed file management process by the distributed file management apparatus according to an exemplary embodiment of the present invention will be described with reference to FIGS. 1 to 3.

먼저, 제어부(160)는 제 1 파일 서버(170) 내지 제 n 파일 서버(190) 중에서 원본 파일과 복제본 파일을 저장할 파일 서버를 선택하여 기본 복제값, 즉 기 설정된 개수만큼의 복제본 파일과 원본 파일에 대한 저장을 제어하며, 제 1 파일 서버(170) 내지 제 n 파일 서버(190) 중에서 해당 파일 서버는 제어부(160)의 제어에 따라 기 설정된 개수만큼의 복제본 파일과 원본 파일을 분산 저장한다(S401).First, the control unit 160 selects a file server to store the original file and the replica file from the first file server 170 to the n-th file server 190, the default replication value, that is, a predetermined number of replica files and source files Control the storage of the file server, and among the first file server 170 to the n th file server 190, the corresponding file server distributes and stores a predetermined number of duplicate files and original files under the control of the controller 160 ( S401).

파일 접근 검사부(130)는 제 1 파일 서버(170) 내지 제 n 파일 서버(190)에 저장된 원본 파일과 복제본 파일의 접근 상황을 검사(S403)하여 파일 접근으로 판단(S405)되면 접근 횟수를 계수하며(S407), 파일 연산이 종료(S409)되면 계수한 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하여 파일별로 데이터베이스화한 후에 접근 정보 데이터베이스(140)에 저장한다(S411). 예컨대, 파일 접근 검사부(130)는 각 파일별로 64비트(bits)의 정수형 변수를 내부에 할당하여 read() 함수 호출 시에는 1씩 증가시키고 write() 함수 호출 시에 1씩 감소시켜서 파일별 접근 횟수를 계수하며, 연속된 read() 함수 호출 시에는 가중치를 부여하여 변수를 증가시키고, 연속된 write() 함수 호출 시에는 가중치를 부여하여 변수를 감소시킨다. 여기서, 파일 접근 검사부(130)는 기 설정 시간마다 계수하였던 접근 횟수를 리셋하여 비교적 최근에 발생한 파일 접근 상황이 파일 접근 정보에 반영되도록 할 수 있다. 아울러, 기 설정된 시간이 경과한 파일 접근 상황보다 비교적 최근에 발생한 파일 접근 상황에 가중치를 부여하여 비교적 최근에 발생한 파일 접근 상황이 더 많은 비중으로 파일 접근 정보에 반영되도록 할 수도 있다. 예컨대, 접근 횟수를 계수하는 시간의 경과에 따라서 변경된 가중치를 부여하여 변수를 증감시키고 기 설정된 시간이 도래하면 계수한 접근 횟수를 리셋한 후에 접근 횟수의 계수를 다시 시작할 수 있다.The file access checker 130 checks the access status of the original file and the replica file stored in the first file server 170 to the n th file server 190 (S403), and counts the number of accesses when it is determined as a file access (S405). When the file operation is finished (S407), the file access information including the counted number of accesses is generated or updated to be databased for each file and stored in the access information database 140 (S411). For example, the file access checker 130 allocates a 64-bit integer variable internally for each file, increments by 1 when calling the read () function, and decreases by 1 when calling the write () function to access each file. It counts the number of times, and increases the variable by giving a weight when calling the continuous read () function, and decreases the variable by giving a weight when calling the continuous write () function. Here, the file access checker 130 may reset the number of accesses counted for each preset time so that the relatively recent file access situation is reflected in the file access information. In addition, the file access situation may be weighted more recently than the file access situation after a predetermined time so that the relatively recent file access situation may be reflected in the file access information with a greater weight. For example, the variable may be added or changed according to the passage of time for counting the number of accesses, and when the preset time arrives, the counting of the number of accesses may be restarted after resetting the counted access times.

이후, 파일 분산 처리부(150)는 기 설정된 복제값 갱신 조건이 만족할 경우에 접근 정보 데이터베이스(140)에 누적된 파일 접근 정보에 의거하여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송한다. 예컨대, 파일에 대한 접근 횟수가 적거나 없는 심야 시간을 미리 설정하여 매일 설정된 시간이 도래하였을 때에 복제값 갱신 조건이 만족하는 것을 판정할 수 있다. 이로써, 시스템 관리자는 각 파일별로 사용 현황을 파악할 수 있으며, 이에 근거하여 복제본 파일의 개수에 해당하는 복제값을 변경할 수 있다. 이러한 복제값의 수동 설정 과정은 도 3의 예시에서 도시를 생략하였다.Subsequently, the file distribution processing unit 150 uses file information on each file to the monitoring terminal or the system administrator through a preset path based on the file access information accumulated in the access information database 140 when the preset replication value update condition is satisfied. Send it. For example, a late night time with little or no access to a file may be set in advance to determine whether the copy value update condition is satisfied when the set time arrives every day. As a result, the system administrator can grasp the usage status of each file, and can change the replication value corresponding to the number of replica files based on this. The manual setting process of the duplicated values is omitted in the example of FIG. 3.

또는, 파일 분산 처리부(150)는 기 설정된 복제값 갱신 조건이 만족할 경우에 접근 정보 데이터베이스(140)에 누적된 파일 접근 정보 및 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하며, 결정한 복제값을 제어부(160)에게 전송할 수 있다(S415).Alternatively, when the preset replication value update condition is satisfied, the file distribution processor 150 calculates a replication value according to the file access information accumulated in the access information database 140 and a preset replication value calculation rule to determine the replica of each file. The number may be determined dynamically, and the determined copy value may be transmitted to the controller 160 (S415).

그러면, 제어부(160)는 제 1 파일 서버(170) 내지 제 n 파일 서버(190) 중에서 원본 파일과 복제본 파일을 저장할 파일 서버를 선택한 후에 제어부(160)로부터 전송받은 복제값에 대응하는 개수만큼의 복제본 파일과 원본 파일에 대한 저장을 제어하며, 제 1 파일 서버(170) 내지 제 n 파일 서버(190) 중에서 해당 파일 서버는 제어부(160)의 제어에 따라 복제값에 대응하는 개수만큼의 복제본 파일과 원본 파일을 분산 저장한다(S417).Then, the controller 160 selects a file server to store the original file and the replica file from the first file server 170 to the n-th file server 190, and as many as the number corresponding to the replication value received from the controller 160 Controls the storage of the replica file and the original file, and among the first file server 170 to the n th file server 190, the corresponding file server is controlled by the control unit 160 as many as the number of duplicate files. And stores the original file (S417).

본 발명의 실시예는, 웹하드와 인터넷하드 등의 용어로 불리는 데이터 저장 서비스 서버와 이를 이용한 서비스 시스템 및 그 운용 방법, 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지 서버 와 이를 이용한 서비스 시스템 및 그 운용 방법, 복수의 IDC를 운영하는 것이 보편적인 유선 통신 또는 무선 통신 서비스 시스템과 그 서비스 방법 등과 같이 데이터 안정성 및 성능 향상을 위해 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리하는 기술 분야에 이용할 수 있다.Embodiments of the present invention provide a data storage service server called a term such as web hard and internet hard, a service system using the same, a method of operating the same, and a cloud storage server providing virtualized storage resources according to a user's request. The service system and its operation method using the same, and a plurality of IDC is distributed and distributed to multiple storage spaces to improve data stability and performance, such as a wired or wireless communication service system and its service method is common to operate It can be used for technical field to manage.

100 : 분산 파일 관리 장치 110 : 파일 목록 관리부
120 : 파일 목록 데이터베이스 130 : 파일 접근 검사부
140 : 접근 정보 데이터베이스 150 : 파일 분산 처리부
160 : 제어부 170 : 제 1 파일 서버
171 : 제 1 파일 관리부 173 : 제 1 파일 데이터베이스
180 : 제 2 파일 서버 181 : 제 2 파일 관리부
183 : 제 2 파일 데이터베이스 190 : 제 n 파일 서버
191 : 제 n 파일 관리부 193 : 제 n 파일 데이터베이스
100: distributed file management device 110: file list management unit
120: file list database 130: file access check unit
140: access information database 150: file distribution processing unit
160: control unit 170: the first file server
171: First File Manager 173: First File Database
180: second file server 181: second file management unit
183: second file database 190: nth file server
191: n-th file management unit 193: n-th file database

Claims (22)

원본 파일과 복제본 파일을 분산 저장하는 복수의 파일 서버와,
상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수하고, 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 파일 접근 검사부와,
상기 파일 접근 검사부가 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 접근 정보 데이터베이스와,
상기 접근 정보 데이터베이스에 누적된 상기 파일 접근 정보를 읽어 들여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하는 파일 분산 처리부와,
상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 기 설정된 개수만큼의 상기 복제본 파일과 상기 원본 파일에 대한 저장을 제어하는 제어부를 포함하는
분산 파일 관리 장치.
Multiple file servers for distributing and storing original files and replica files;
A file access checker for counting the number of accesses of the original file and the replica file stored in the plurality of file servers, and generating or updating file access information including the counted number of accesses;
An access information database storing the file access information generated or updated by the file access checker in a database for each file;
A file distribution processing unit which reads the file access information accumulated in the access information database and transmits usage status information for each file to a monitoring terminal or a system administrator through a predetermined path;
A control unit for selecting one or more file servers to store the original file and the duplicate file from among the plurality of file servers to control the storage of the duplicate file and the original file by a preset number;
Distributed File Management Device.
제 1 항에 있어서,
상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method of claim 1,
The file access checker allocates an integer variable internally for each file and increments the integer variable when the read () and write () functions are called to count the number of accesses.
Distributed File Management Device.
제 1 항에 있어서,
상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에 가중치를 부여하여 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method of claim 1,
The file access checker allocates an integer variable internally for each file and then assigns a weight to a continuous read () function or a continuous write () function to increase or decrease the integer variable to count the number of accesses. doing
Distributed File Management Device.
제 1 항에 있어서,
상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋하는
분산 파일 관리 장치.
The method of claim 1,
The file access checker resets a value counting the number of accesses every preset time.
Distributed File Management Device.
제 1 항에 있어서
상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method of claim 1
The file access checker is configured to count the number of accesses by assigning weights changed as time passes by counting the number of accesses.
Distributed File Management Device.
원본 파일과 복제본 파일을 분산 저장하는 복수의 파일 서버와,
상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수하고, 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 파일 접근 검사부와,
상기 파일 접근 검사부가 생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 접근 정보 데이터베이스와,
상기 접근 정보 데이터베이스에 누적된 상기 파일 접근 정보를 읽어 들여 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하는 파일 분산 처리부와,
상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 상기 파일 분산 처리부에서 산정한 상기 복제값에 대응하는 개수만큼의 상기 복제본 파일과 상기 원본 파일에 대한 저장을 제어하는 제어부를 포함하는
분산 파일 관리 장치.
Multiple file servers for distributing and storing original files and replica files;
A file access checker for counting the number of accesses of the original file and the replica file stored in the plurality of file servers, and generating or updating file access information including the counted number of accesses;
An access information database storing the file access information generated or updated by the file access checker in a database for each file;
A file distribution processing unit which reads the file access information accumulated in the access information database, calculates a replication value according to a preset replication value calculation rule, and dynamically determines the number of replicas for each file;
Select one or more file servers to store the original file and the duplicate file from among the plurality of file servers to control storage of the duplicate file and the original file as many as the number corresponding to the duplicate value calculated by the file distribution processor. Containing a control unit
Distributed File Management Device.
제 6 항에 있어서,
상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method according to claim 6,
The file access checker allocates an integer variable internally for each file and increments the integer variable when the read () and write () functions are called to count the number of accesses.
Distributed File Management Device.
제 6 항에 있어서,
상기 파일 접근 검사부는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에 가중치를 부여하여 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method according to claim 6,
The file access checker allocates an integer variable internally for each file and then assigns a weight to a continuous read () function or a continuous write () function to increase or decrease the integer variable to count the number of accesses. doing
Distributed File Management Device.
제 6 항에 있어서,
상기 파일 분산 처리부는, 상기 접근 횟수를 계수한 값과 기준값과의 비교 결과에 따라 상기 복제값을 증감시키는
분산 파일 관리 장치.
The method according to claim 6,
The file distribution processor is configured to increase or decrease the copy value according to a result of comparing the counted number of accesses with a reference value.
Distributed File Management Device.
제 6 항에 있어서,
상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋하는
분산 파일 관리 장치.
The method according to claim 6,
The file access checker resets a value counting the number of accesses every preset time.
Distributed File Management Device.
제 6 항에 있어서
상기 파일 접근 검사부는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수하는
분산 파일 관리 장치.
The method of claim 6
The file access checker is configured to count the number of accesses by assigning weights changed as time passes by counting the number of accesses.
Distributed File Management Device.
복수의 파일 서버 중에서 원본 파일과 복제본 파일을 저장할 하나 이상의 파일 서버를 선택하여 기 설정된 개수만큼의 상기 복제본 파일과 상기 원본 파일을 저장하는 단계와,
상기 복수의 파일 서버에 저장된 상기 원본 파일과 상기 복제본 파일의 접근 횟수를 계수하고, 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 단계와,
생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계와,
누적된 상기 파일 접근 정보에 의거하여 기 설정된 경로를 통해 모니터링 단말 또는 시스템 관리자에게 파일별 사용 현황 정보를 전송하는 단계를 포함하는
분산 파일 관리 방법.
Selecting one or more file servers to store original files and replica files from among a plurality of file servers, and storing the replica files and the original files by a predetermined number;
Counting the number of accesses of the original file and the copy file stored in the plurality of file servers, and generating or updating file access information including the counted number of accesses;
Storing the file access information generated or updated in a database for each file, and
Transmitting usage status information for each file to a monitoring terminal or a system administrator through a predetermined path based on the accumulated file access information.
How to manage distributed files.
제 12 항에 있어서,
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 12,
The generating or updating the file access information may include assigning an integer variable internally to each file, and then incrementing or decrementing the integer variable when calling read () and write () functions to count the number of accesses.
How to manage distributed files.
제 12 항에 있어서,
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에 가중치를 부여하여 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 12,
The generating or updating of the file access information may include assigning an integer variable to each file internally and then increasing or decreasing the integer variable by assigning a weight to a continuous read () function call or a continuous write () function call. To count the number of accesses
How to manage distributed files.
제 12 항에 있어서
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋하는
분산 파일 관리 방법.
The method of claim 12
The generating or updating of the file access information may include resetting a value counting the number of accesses every preset time.
How to manage distributed files.
제 12 항에 있어서
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수하는 시간의 경과에 따라서 변경된 가중치를 부여하여 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 12
In the generating or updating of the file access information, the number of accesses is counted by assigning a weight that is changed according to the passage of time for counting the access times.
How to manage distributed files.
복수의 파일 서버에 저장된 원본 파일과 복제본 파일의 접근 횟수를 계수해서 계수한 상기 접근 횟수를 포함하는 파일 접근 정보를 생성 또는 갱신하는 단계와,
생성 또는 갱신한 상기 파일 접근 정보를 파일별로 데이터베이스화하여 저장하는 단계와,
누적된 상기 파일 접근 정보 및 기 설정된 복제값 산정 규칙에 따라 복제값을 산정하여 각 파일별 복제본의 개수를 동적으로 결정하는 단계와,
상기 복수의 파일 서버 중에서 상기 원본 파일과 상기 복제본 파일을 저장할 하나 이상의 파일 서버를 선택한 후에 상기 복제값에 대응하는 개수만큼의 상기 복제본 파일과 상기 원본 파일을 저장하는 단계를 포함하는
분산 파일 관리 방법.
Generating or updating file access information including the access number counted by counting the number of accesses of original files and replica files stored in a plurality of file servers;
Storing the file access information generated or updated in a database for each file, and
Dynamically determining the number of replicas for each file by calculating a replication value according to the accumulated file access information and a preset replication value calculation rule;
Selecting one or more file servers to store the original file and the duplicate file from among the plurality of file servers, and storing the number of the duplicate file and the original file corresponding to the copy value;
How to manage distributed files.
제 17 항에 있어서,
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 read() 함수와 write() 함수의 호출 시에 상기 정수형 변수를 증감시켜서 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 17,
The generating or updating the file access information may include assigning an integer variable internally to each file, and then incrementing or decrementing the integer variable when calling read () and write () functions to count the number of accesses.
How to manage distributed files.
제 17 항에 있어서,
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 각 파일별로 정수형 변수를 내부에 할당한 후 연속된 read() 함수 호출 시 또는 연속된 write() 함수 호출 시에는 가중치를 부여하여 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 17,
The generating or updating of the file access information may include assigning an integer variable to each file internally and counting the number of accesses by assigning a weight value when calling a continuous read () function or calling a continuous write () function. doing
How to manage distributed files.
제 17 항에 있어서,
상기 각 파일별 복제본의 개수를 동적으로 결정하는 단계는, 상기 접근 횟수를 계수한 값과 기준값과의 비교 결과에 따라 상기 복제값을 증감시키는
분산 파일 관리 방법.
The method of claim 17,
Dynamically determining the number of replicas for each file may increase or decrease the replica value according to a result of comparing the number of access counts with a reference value.
How to manage distributed files.
제 17 항에 있어서
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 값을 기 설정 시간마다 리셋하는
분산 파일 관리 방법.
The method of claim 17
The generating or updating of the file access information may include resetting a value counting the number of accesses every preset time.
How to manage distributed files.
제 17 항에 있어서
상기 파일 접근 정보를 생성 또는 갱신하는 단계는, 상기 접근 횟수를 계수한 시간의 경과에 따라 변경된 가중치를 부여하여 상기 접근 횟수를 계수하는
분산 파일 관리 방법.
The method of claim 17
In the generating or updating of the file access information, the number of accesses may be counted by assigning a weight that is changed as time passes by counting the access times.
How to manage distributed files.
KR1020100070503A 2010-07-21 2010-07-21 Distributed file management apparatus and method KR101662173B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100070503A KR101662173B1 (en) 2010-07-21 2010-07-21 Distributed file management apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100070503A KR101662173B1 (en) 2010-07-21 2010-07-21 Distributed file management apparatus and method

Publications (2)

Publication Number Publication Date
KR20120009800A true KR20120009800A (en) 2012-02-02
KR101662173B1 KR101662173B1 (en) 2016-10-04

Family

ID=45834535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100070503A KR101662173B1 (en) 2010-07-21 2010-07-21 Distributed file management apparatus and method

Country Status (1)

Country Link
KR (1) KR101662173B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof
WO2014051928A1 (en) * 2012-09-28 2014-04-03 Vmware, Inc. Automated document replication in a distributed computing system
KR101955517B1 (en) * 2018-11-26 2019-05-30 한국과학기술정보연구원 An apparatus and a method for distributed cloud orchestration based on locations and resources
WO2022005744A1 (en) * 2020-07-01 2022-01-06 Oracle International Corporation Fully coherent efficient non-local storage cluster file system
US11573719B2 (en) 2020-03-26 2023-02-07 Oracle International Corporation PMEM cache RDMA security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061517A (en) * 2007-12-11 2009-06-16 한국전자통신연구원 System and method for updating file
JP2009217602A (en) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd Method for determining necessity of file duplication, communication device, computer program, and peer-to-peer communication system
JP2010061559A (en) * 2008-09-05 2010-03-18 Hitachi Ltd Information processing system, and data update method and data update program
KR20100072770A (en) * 2008-12-22 2010-07-01 한국전자통신연구원 Hot data management based on hit counter from data servers in parallelism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061517A (en) * 2007-12-11 2009-06-16 한국전자통신연구원 System and method for updating file
JP2009217602A (en) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd Method for determining necessity of file duplication, communication device, computer program, and peer-to-peer communication system
JP2010061559A (en) * 2008-09-05 2010-03-18 Hitachi Ltd Information processing system, and data update method and data update program
KR20100072770A (en) * 2008-12-22 2010-07-01 한국전자통신연구원 Hot data management based on hit counter from data servers in parallelism

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof
WO2014042415A1 (en) * 2012-09-13 2014-03-20 효성아이티엑스(주) Intelligent distributed storage service system and method
WO2014051928A1 (en) * 2012-09-28 2014-04-03 Vmware, Inc. Automated document replication in a distributed computing system
US9619539B2 (en) 2012-09-28 2017-04-11 Vmware, Inc. Automated document replication in a distributed computing system
KR101955517B1 (en) * 2018-11-26 2019-05-30 한국과학기술정보연구원 An apparatus and a method for distributed cloud orchestration based on locations and resources
WO2020111525A1 (en) * 2018-11-26 2020-06-04 한국과학기술정보연구원 Device and method for sdn and distributed cloud orchestration based on location and load
US11573719B2 (en) 2020-03-26 2023-02-07 Oracle International Corporation PMEM cache RDMA security
WO2022005744A1 (en) * 2020-07-01 2022-01-06 Oracle International Corporation Fully coherent efficient non-local storage cluster file system

Also Published As

Publication number Publication date
KR101662173B1 (en) 2016-10-04

Similar Documents

Publication Publication Date Title
US20220075641A1 (en) Tenant-controlled cloud updates
US11016808B2 (en) Multi-tenant license enforcement across job requests
US10353634B1 (en) Storage tier-based volume placement
US20200364608A1 (en) Communicating in a federated learning environment
US9607071B2 (en) Managing a distributed database across a plurality of clusters
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
CN105468473B (en) Data migration method and data migration device
CN108431796B (en) Distributed resource management system and method
CN108667867B (en) Data storage method and device
US20170149681A1 (en) Assessment and dynamic provisioning of computing resources for multi-tiered application
CN110249310A (en) The resource management for virtual machine in cloud computing system
CN109565515A (en) System, equipment and the process of dynamic tenant's structural adjustment in distributed resource management system
US20160378846A1 (en) Object based storage cluster with multiple selectable data handling policies
US10616134B1 (en) Prioritizing resource hosts for resource placement
KR101662173B1 (en) Distributed file management apparatus and method
US10659531B2 (en) Initiator aware data migration
CN109802976A (en) Cloud hard disk dynamic dispatching method, device and the electronic system of Open Stack cloud platform
JP7347007B2 (en) Information processing device, information processing system, and information processing program
US10748161B1 (en) System and method for managing computing resource orders
EP2940587A1 (en) Computer, control device for computer system, and recording medium
CN106254516B (en) Load balancing method and device
JP5792325B2 (en) Computer system, data management method and program
WO2023093194A1 (en) Cloud monitoring method and cloud management platform
CN114930281A (en) Dynamic adaptive partition partitioning
KR20120011574A (en) Distributed file management apparatus and method

Legal Events

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

Payment date: 20190819

Year of fee payment: 4