KR20190097844A - File system program and method for controlling data cener using it - Google Patents

File system program and method for controlling data cener using it Download PDF

Info

Publication number
KR20190097844A
KR20190097844A KR1020180017761A KR20180017761A KR20190097844A KR 20190097844 A KR20190097844 A KR 20190097844A KR 1020180017761 A KR1020180017761 A KR 1020180017761A KR 20180017761 A KR20180017761 A KR 20180017761A KR 20190097844 A KR20190097844 A KR 20190097844A
Authority
KR
South Korea
Prior art keywords
data
centers
file system
system program
center
Prior art date
Application number
KR1020180017761A
Other languages
Korean (ko)
Other versions
KR102024846B1 (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 KR1020180017761A priority Critical patent/KR102024846B1/en
Publication of KR20190097844A publication Critical patent/KR20190097844A/en
Application granted granted Critical
Publication of KR102024846B1 publication Critical patent/KR102024846B1/en

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Abstract

The present invention relates to a file system program in which a data generator is mounted. The file system program includes instructions executing the steps of: checking the number of data centers, which will process data requested by a data generator; determining expected work time of each data center using a data transmission time, data storage time, and data analysis time of each data center linked to the data generator; and determining the number of data centers, which will process data, among the data centers linked to the data generator as much as the number of the data centers requested by the data generator using the expected work time.

Description

파일 시스템 프로그램 및 이를 이용한 데이터 센터 제어 방법{FILE SYSTEM PROGRAM AND METHOD FOR CONTROLLING DATA CENER USING IT}FILE SYSTEM PROGRAM AND METHOD FOR CONTROLLING DATA CENER USING IT}

본 발명은 파일 시스템 프로그램 기술에 관한 것이다.The present invention relates to a file system program description.

최근 데이터 생산이 폭발적으로 증가하고 있다. 지금까지 생산된 데이터의 90%가 최근 2년간 생산되었으며, 그 크기는 페타바이트에 이른다. 구체적으로, 날씨 회사는 전세계의 온도 판독값, 풍속, 기압 및 위성 이미지를 저장하기 위해 매일 20테라바이트 이상의 데이터를 생성하고, 다수의 미국 에너지부 산하 연구 기관들은 연간 수백 페타바이트의 시뮬레이션 데이터를 생성하고 있으며, 나아가 2018년까지 생산될 데이터는 1엑사바이트를 초과할 것으로 예상된다.Data production is exploding in recent years. 90% of the data produced so far has been produced in the last two years and is petabytes in size. Specifically, weather companies generate more than 20 terabytes of data each day to store temperature readings, wind speeds, barometric pressure, and satellite images from around the world, and many US Department of Energy research organizations generate hundreds of petabytes of simulation data annually. Furthermore, the data to be produced by 2018 is expected to exceed 1 exabyte.

위와 같이 데이터 양이 기하 급수적으로 증가함에 따라 데이터 분산, 효과적인 공동 작업 및 분석 기능을 향상시키기 위해, 다수의 기관 및 단체는 지리적으로 분산된 데이터 센터(geo-distributed data center)들을 구축하고 이들을 제어하는 파일 시스템 프로그램을 구현하고 있다. 구현된 파일 시스템 프로그램을 통해, 서로 다른 영역에 존재하는 데이터를 공유하고 분석할 수 있으며, 시뮬레이션을 수행하고 그 결과를 검증할 수 있다.As the volume of data grows exponentially, many organizations and organizations build and control geo-distributed data centers to improve data distribution, effective collaboration, and analytics. Implement a file system program. Through the implemented file system program, it is possible to share and analyze data existing in different areas, perform simulations and verify the results.

기존의 파일 시스템 프로그램은 이러한 데이터 공유 및 협업 요구를 처리할 수 있도록 고안되었으나, 다음과 같은 문제점을 가진다.Existing file system programs are designed to handle such data sharing and collaboration needs, but have the following problems.

첫째로, 기존의 파일 시스템 프로그램은 데이터 생성원(data generator)으로부터 생성된 데이터를 이주하기 위해 가장 가까운 데이터 센터를 선택하는데, 이러한 방법은 데이터 센터와 데이터 생성원 간의 스토리지 대역폭 및 네트워크 연결성 등의 자원 가용성에 의존하는 데이터 저장시간을 고려하지 않고, 지리적으로 분산된 통합 데이터 센터에서 자원의 효과적인 이용을 보장할 수 없다는 문제가 있다. 또한, 단순히 데이터 생성원과 데이터 센터와의 거리만을 고려하는 것은 저장된 데이터의 분석과 같은 저장 후 처리를 고려하지 않고, 작업 완료를 위해 단일 데이터센터 만을 사용하는 문제가 있다.First, existing file system programs choose the closest data center to migrate data generated from the data generator, which provides resources such as storage bandwidth and network connectivity between the data center and the data generator. There is a problem in that effective utilization of resources in geographically dispersed integrated data centers cannot be guaranteed without considering data storage time that depends on availability. In addition, simply considering the distance between the data source and the data center does not consider post-storage processing such as analysis of stored data, and uses a single data center to complete a task.

둘째로, 기존 파일 시스템 프로그램은 두 개의 다른 데이터 센터에 저장된 데이터 세트를 단일 데이터 센터에 모으기 위해 통합 네임 스페이스를 이용하는데, 통합 네임 스페이스 이용의 빈도가 높아지면 통합 성능 오버헤드가 커지는 문제가 발생한다.Second, existing file system programs use a unified namespace to aggregate data sets stored in two different data centers into a single data center, which increases the integration performance overhead as the frequency of using unified namespaces increases. .

본 발명이 해결하고자 하는 과제는 요청된 작업 유형과 데이터 센터들 각각의 리소스에 기초하여 데이터를 처리할 데이터 센터를 결정하는 파일 시스템 프로그램 및 이에 의한 데이터 센터 제어 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a file system program for determining a data center to process data based on the requested type of work and the resources of each of the data centers and a data center control method thereby.

본 발명이 해결하고자 하는 다른 과제는 작업 완료 시간이 감소할 수 있는 경우, 통합 네임스페이스를 통하지 않고 데이터 센터들 간에 직접적인 데이터 전송이 가능하도록 제어하는 파일 시스템 프로그램을 제공하는 것이다.Another problem to be solved by the present invention is to provide a file system program for controlling direct data transfer between data centers without the integrated namespace when work completion time can be reduced.

본 발명의 일 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램은 상기 데이터 생성원에 의해 요청된 데이터를 처리할 데이터 센터들의 수를 확인하는 단계, 상기 데이터 생성원에 연동된 각 데이터 센터의 데이터 전송 시간, 데이터 저장 시간 및 데이터 분석 시간을 이용하여, 각 데이터 센터의 예상 작업 시간을 결정하는 단계, 그리고 상기 예상 작업 시간을 이용하여, 상기 데이터 생성원에 연동된 데이터 센터들 중에서 데이터를 처리할 데이터 센터들을 상기 수만큼 결정하는 단계를 실행하는 명령어들을 포함한다.Checking the number of data centers to process the data requested by the data generation source, the file system program mounted on the data generation source according to an embodiment of the present invention, each of the data centers linked to the data generation source Determining an estimated working time of each data center using data transmission time, data storage time, and data analysis time, and processing data among data centers linked to the data generation source using the estimated working time Instructions for executing the step of determining the number of data centers to perform.

상기 데이터 생성원에 탑재된 파일 시스템 프로그램은 상기 데이터를 처리할 데이터 센터들에 할당된 데이터 크기를 상기 데이터 센터들의 사용 가능한 스토리지 용량과 비교하는 단계, 그리고 상기 할당된 데이터 크기가 상기 스토리지 용량보다 큰 경우, 상기 데이터를처리할 데이터 센터들 중에서 스토리지 용량이 가장 작은 데이터 센터 대신 예상 작업 시간을 고려하여 결정된 데이터 센터를 데이터를 처리할 데이터 센터로 결정하는 단계를 실행하는 명령어들을 더 포함한다.A file system program mounted on the data generation source compares the data size allocated to the data centers to process the data with the available storage capacity of the data centers, and the allocated data size is larger than the storage capacity; In the case of the data centers to process the data, further comprising instructions for executing the step of determining the data center determined in consideration of the expected working time instead of the data center having the smallest storage capacity as the data center to process the data.

상기 데이터 생성원에 탑재된 파일 시스템 프로그램은 상기 데이터 생성원에 의해 요청된 작업 유형을 확인하는 단계를 실행하는 명령어들을 더 포함하고, 상기 데이터를 처리할 데이터 센터들을 상기 수만큼 결정하는 단계는 상기 작업 유형을 추가로 고려하여, 상기 데이터를 처리할 데이터 센터들을 상기 수만큼 결정한다.The file system program mounted in the data generation source further includes instructions for executing the step of confirming the job type requested by the data generation source, and determining the number of data centers to process the data by the number. Further considering the type of work, determine the number of data centers to process the data.

상기 요청된 작업 유형은 데이터 배치 요청 또는 데이터 분석 요청 중 적어도 하나를 포함한다.The requested job type includes at least one of a data batch request or a data analysis request.

본 발명의 일 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램은 상기 데이터 생성원에 의해 요청된 작업 유형을 확인하는 단계, 그리고 상기 요청된 작업 유형에 기초하여, 상기 데이터 생성원에 연동된 데이터 센터들 중 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계를 실행하는 명령어들을 포함한다.The file system program mounted in the data generator according to an embodiment of the present invention may be configured to: identify a job type requested by the data generator, and based on the requested job type, interlocked with the data generator. Instructions for executing the step of determining one or more data centers of the data centers to process data.

상기 데이터 생성원에 탑재된 파일 시스템 프로그램은 상기 데이터 생성원에 연동된 데이터 센터들 각각의 사용 가능한 리소스를 결정하는 단계를 실행하는 명령어들을 더 포함하고, 상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는 상기 리소스를 추가로 고려하여, 상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정한다.The file system program mounted in the data generation source further includes instructions for executing the step of determining an available resource of each of the data centers linked to the data generation source, and determining one or more data centers to process the data. The step of further considering the resource, determines one or more data centers to process the data.

상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는 상기 요청된 작업 유형 및 상기 리소스를 이용하여 상기 데이터를 처리할 하나 이상의 데이터 센터들의 후보군을 결정하고, 상기 후보군에 포함된 각 데이터 센터가 상기 데이터를 처리하는데 필요한 예상 작업 시간을 결정하고, 상기 예상 작업 시간에 기초하여 상기 후보군에서 상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정한다.Determining one or more data centers to process the data comprises using the requested job type and the resource to determine a candidate group of one or more data centers to process the data, wherein each data center included in the candidate group is selected by the data center. Determine an expected working time required for processing data and determine one or more data centers in the candidate group to process the data based on the estimated working time.

상기 예상 작업 시간은 상기 후보군에 포함된 각 데이터 센터의 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나에 따라 결정된다.The estimated working time is determined according to at least one of data transmission time, data storage time, or data analysis time of each data center included in the candidate group.

상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는 상기 데이터 생성원에 의해 요청된 데이터를 처리할 데이터 센터들의 수를 확인하고, 상기 후보군에서 상기 수만큼의 데이터 센터를 상기 데이터를 처리할 하나 이상의 데이터 센터들로 결정한다.Determining one or more data centers to process the data includes identifying a number of data centers to process the data requested by the data generator, and determining the number of data centers in the candidate group to process the data. The above data centers are determined.

본 발명의 일 실시예에 따른 데이터 센터에 탑재된 파일 시스템 프로그램은 다른 데이터 센터에 존재하는 데이터에 대해 상기 데이터 센터로 전송을 요청하는 단계, 그리고 상기 데이터 센터의 로컬 네임스페이스를 이용하여, 상기 데이터를 상기 다른 데이터 센터로부터 직접 수신하는 단계를 실행하는 명령어들을 포함한다.A file system program mounted in a data center according to an embodiment of the present invention may include requesting transmission of data existing in another data center to the data center, and using the local namespace of the data center. Instructions for executing the step of directly receiving the data from the other data center.

상기 데이터를 상기 다른 데이터 센터로부터 직접 수신하는 단계는 상기 데이터 센터와 상기 다른 데이터 센터 사이에 상기 로컬 네임스페이스에 따라 구축된 가상 직접 채널을 이용하여, 상기 데이터를 상기 다른 데이터 센터로부터 직접 수신한다.Receiving the data directly from the other data center receives the data directly from the other data center using a virtual direct channel established in accordance with the local namespace between the data center and the other data center.

본 발명에 따르면, 요청된 작업 유형과 각 데이터 센터의 리소스를 고려하여 데이터를 처리할 데이터 센터를 결정하는바, 데이터 센터의 리소스를 효과적으로 이용할 수 있다.According to the present invention, the data center to process the data is determined in consideration of the requested operation type and the resources of each data center, so that the resources of the data center can be effectively used.

또한, 본 발명에 따르면, 데이터 센터들 간에 직접적인 데이터 전송이 가능한바, 파일 시스템 프로그램의 통합 네임스페이스를 빈번하게 이용함으로써 야기되는 성능 오버헤드를 감소시킬 수 있다.In addition, according to the present invention, direct data transfer between data centers is possible, thereby reducing the performance overhead caused by frequent use of the integrated namespace of file system programs.

도 1은 한 실시예에 따른 파일 시스템 프로그램이 구현되는 환경을 나타낸 도면이다.
도 2는 데이터 생성원에 탑재된 파일 시스템 프로그램의 제어에 따라 네트워크 내에서 데이터가 전송되는 방법을 설명하는 도면이다.
도 3은 한 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램이 데이터 센터를 제어하는 방법을 나타낸 순서도이다.
도 4는 한 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램이 데이터 센터를 제어하는 다른 방법을 나타낸 순서도이다.
도 5는 한 실시예에 따른 데이터 센터들에 탑재된 파일 시스템 프로그램이 데이터 센터 간 직접 전송을 제어하는 다른 방법을 나타낸 순서도이다.
1 is a diagram illustrating an environment in which a file system program is implemented, according to an exemplary embodiment.
2 is a view for explaining a method of transmitting data in a network under the control of a file system program mounted in a data generating source.
3 is a flowchart illustrating a method of controlling a data center by a file system program mounted on a data generator, according to an exemplary embodiment.
4 is a flowchart illustrating another method of controlling a data center by a file system program mounted on a data generator, according to an exemplary embodiment.
5 is a flowchart illustrating another method of controlling a direct transfer between data centers by a file system program mounted in data centers according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 파일 시스템 프로그램 및 이를 이용한 데이터 센터 제어 방법에 대해 설명한다.Hereinafter, a file system program and a data center control method using the same will be described with reference to the accompanying drawings.

도 1은 한 실시예에 따른 파일 시스템 프로그램이 구현되는 환경을 나타낸 도면이다.1 is a diagram illustrating an environment in which a file system program is implemented, according to an exemplary embodiment.

도 1을 참고하면, 파일 시스템 프로그램이 구현되는 환경(1000)은 데이터 생성원(100), 파일 시스템 프로그램(210 내지 240) 및 데이터 센터들(300)을 포함한다.Referring to FIG. 1, an environment 1000 in which a file system program is implemented includes a data generation source 100, file system programs 210 to 240, and data centers 300.

데이터 생성원(100)은 특정 목적을 위해 데이터를 생성하는 디바이스를 지칭하며, 생성되는 데이터는 어느 한 유형에 한정되지 않는다.The data generator 100 refers to a device that generates data for a specific purpose, and the data generated is not limited to either type.

예를 들면, 데이터 생성원(100)은 날씨를 관측하기 위해 위성 이미지를 수집하는 인공 위성 디바이스일 수 있으며, 수집한 위성 이미지를 데이터 센터들(300) 중 임의의 데이터 센터에 저장하거나, 수집한 위성 이미지를 데이터 센터들(300) 중 임의의 데이터 센터가 분석할 것을 파일 시스템 프로그램(210)을 통해 요청할 수 있다.For example, the data generator 100 may be a satellite device that collects satellite images to observe the weather, and stores or collects the collected satellite images in any of the data centers 300. File system program 210 may request that any of the data centers 300 analyze satellite images.

비록 도 1에서는 데이터 생성원(100)이 단일하게 도시되었으나, 다양한 실시예에 따라 다수의 데이터 생성원 각각이 독립적으로 파일 시스템 프로그램과 연동되고, 데이터 센터들(300)로 하여금 데이터를 처리할 것을 요청할 수 있음은 물론이다.Although the data generation source 100 is illustrated in FIG. 1 singularly, according to various embodiments, each of the plurality of data generation sources may be independently linked to a file system program, and the data centers 300 may process data. Of course you can ask.

파일 시스템 프로그램(210 내지 240)은 데이터 생성원(100) 또는 복수의 데이터 센터들(310 내지 330)에 탑재된 프로그램으로서, 데이터 생성원(100)과 데이터 센터들(300)을 연동하고, 데이터 생성원(100)에 의한 데이터 처리 요청에 기초하여 데이터 센터들(300) 중에서 데이터를 처리할 데이터 센터를 결정한다.The file system programs 210 to 240 are programs mounted in the data generation source 100 or the plurality of data centers 310 to 330, and interoperate with the data generation source 100 and the data centers 300. A data center to process data is determined among the data centers 300 based on the data processing request by the generation source 100.

파일 시스템 프로그램(210)은 데이터 센터들(300)을 통합 네임스페이스 아래에 통합하며, 이를 통해 데이터 센터들(300)에 접근한다.File system program 210 integrates data centers 300 under an integrated namespace, thereby accessing data centers 300.

데이터 센터들(300)은 컴퓨팅 시스템, 통신 디바이스 및 저장 장치 등이 구현된 디바이스들의 클러스터를 지칭하며, 데이터의 배치 및 분석 등의 기능을 수행한다.The data centers 300 refer to a cluster of devices in which a computing system, a communication device, a storage device, and the like are implemented, and perform functions such as data placement and analysis.

본 발명에서 데이터 센터들(300)은 지리적으로 분산된 데이터 센터들의 클러스터를 의미하며, 데이터 센터들(300) 중에서 파일 시스템 프로그램(210)에 의해 결정된 데이터 센터는 데이터 생성원(100)으로부터 데이터를 수신하고, 수신한 데이터를 배치하거나 저장한다.In the present invention, the data centers 300 refer to a cluster of geographically dispersed data centers, and among the data centers 300, the data center determined by the file system program 210 receives data from the data generation source 100. Receive and place or store the received data.

데이터 센터들(300)을 구성하는 각 데이터 센터(310 내지 330)의 리소스는 서로 독립적인 것으로 가정한다. 구체적으로, 각 데이터 센터(310 내지 330)는 스토리지 용량, 스토리지 대역폭, 연산 성능 및 네트워크 대역폭을 독립적으로 가진다.It is assumed that resources of the data centers 310 to 330 constituting the data centers 300 are independent of each other. Specifically, each data center 310 to 330 independently has storage capacity, storage bandwidth, computational performance, and network bandwidth.

도 2는 데이터 생성원에 탑재된 파일 시스템 프로그램의 제어에 따라 네트워크 내에서 데이터가 전송되는 방법을 설명하는 도면이다.2 is a view for explaining a method of transmitting data in a network under the control of a file system program mounted in a data generating source.

도 2를 참고하면, 네트워크(2000)는 데이터 생성원(100), 데이터 센터들(300) 및 VPN 스위치(400)로 구성된다. 도 1에서 설명한 바와 같이, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 탑재되어 데이터 전송을 제어하는 것으로 가정한다.Referring to FIG. 2, the network 2000 includes a data generator 100, data centers 300, and a VPN switch 400. As described in FIG. 1, it is assumed that the file system program 210 is mounted in the data generation source 100 to control data transmission.

데이터 생성원(100)은 대량의 데이터를 지속적으로 생성하며, VPN 스위치(400)를 통해 데이터 센터(300)에 연결된다.The data generator 100 continuously generates a large amount of data and is connected to the data center 300 through the VPN switch 400.

비록 도 2에서 데이터 생성원(100)은 단일한 것으로 도시되었으나, 다수의 데이터 생성원이 네트워크(2000) 내에 존재하여 각각의 데이터 생성원 마다 독립적으로 아래의 데이터 전송 방법을 수행할 수 있음은 물론이다.Although the data generator 100 is illustrated as a single unit in FIG. 2, a plurality of data generators may exist in the network 2000 to independently perform the following data transmission method for each data generator. to be.

데이터 생성원(100)에 의해 생성된 데이터가 데이터 센터들(300) 모두에 할당되면 최소 작업 실행 시간은 달성되나, 데이터 저장 및 분석 후 데이터 센터들(300) 사이에 데이터 이주에 따른 오버헤드가 증가하게 된다. 따라서, 데이터 생성원(100)은 데이터를 처리할 데이터 센터들의 수

Figure pat00001
를 결정하고, 데이터 생성원(100)에 탑재된 파일 시스템 프로그램(210)은
Figure pat00002
를 확인한다. 예를 들면, 데이터 생성원(100)이 데이터를 처리할 데이터 센터들의 수
Figure pat00003
를 "1"로 결정한 경우, 데이터는 단일 데이터 센터에 저장되고 분석된다.If the data generated by the data generator 100 is allocated to all the data centers 300, the minimum job execution time is achieved, but the overhead of data migration between the data centers 300 after data storage and analysis is Will increase. Thus, the data generation source 100 can determine the number of data centers to process the data.
Figure pat00001
And the file system program 210 mounted on the data generation source 100
Figure pat00002
Check. For example, the number of data centers for which data generation 100 will process data.
Figure pat00003
If is determined to be "1", the data is stored and analyzed in a single data center.

파일 시스템 프로그램(210)은 데이터 센터들(300) 중에서 실제로 데이터를 처리할 하나 이상의 데이터 센터들을 결정하기 위해, 데이터 생성원(100)에 연동된 각 데이터 센터의 전송 시간, 저장 시간 및 분석 시간을 이용하여, 전체 데이터 전송 시간, 전체 데이터 저장 시간 및 전체 데이터 분석 시간을 결정한다.The file system program 210 determines the transmission time, storage time and analysis time of each data center linked to the data generation source 100 to determine one or more data centers among the data centers 300 that will actually process the data. The total data transfer time, the total data storage time and the total data analysis time are determined.

구체적으로, 데이터 생성원(100)이

Figure pat00004
만큼의 데이터를 데이터 센터들(300) 중 임의의 데이터 센터로 전송하는 경우 데이터 조각(slice)의 크기를
Figure pat00005
, 데이터 생성원(100)에서 임의의 데이터 센터로 전송하는데 필요한 조각수를
Figure pat00006
라고 가정하면, 전송되는 총 데이터 양
Figure pat00007
이다. 데이터 생성원(100)에서
Figure pat00008
번째 데이터 센터로 한 조각의 데이터를 전송하는데 걸리는 시간을
Figure pat00009
로 표시하면, 데이터 생성원(100)에서 데이터 센터들(300)에 데이터가 전송되는데 소요되는 전체 데이터 전송 시간
Figure pat00010
은 수학식 1과 같다.Specifically, the data generation source 100
Figure pat00004
If you send as much data to any of the data centers 300 as the size of the data (slice)
Figure pat00005
, The number of pieces needed to transfer from the data source 100 to any data center
Figure pat00006
, The total amount of data transferred
Figure pat00007
to be. In the data generator 100
Figure pat00008
The amount of time it takes to transfer a piece of data to the first data center.
Figure pat00009
In this case, the total data transmission time required for data transmission from the data generation source 100 to the data centers 300.
Figure pat00010
Is the same as Equation 1.

Figure pat00011
Figure pat00011

데이터 생성원(100)에서 전송된 한 조각의 데이터를

Figure pat00012
번째 데이터 센터가 저장하는데 걸리는 시간을 라고 하면, 데이터 센터들(300)이 소모한 전체 데이터 저장 시간
Figure pat00014
는 수학식 2와 같다.A piece of data transmitted from the data generator 100
Figure pat00012
The time it takes for the first data center to store , The total data storage time consumed by the data centers 300
Figure pat00014
Is the same as Equation 2.

Figure pat00015
Figure pat00015

Figure pat00016
번째 데이터 센터가 한 조각의 데이터를 분석하는데 소요되는 시간을
Figure pat00017
라 하고, 분석해야 하는 조각수를
Figure pat00018
라 하면, 데이터 센터들(300)이 소모한 전체 데이터 분석 시간
Figure pat00019
은 수학식 3과 같다.
Figure pat00016
Time for the first data center to analyze a piece of data
Figure pat00017
The number of pieces to analyze
Figure pat00018
That is, the total data analysis time consumed by the data centers 300
Figure pat00019
Is the same as Equation 3.

Figure pat00020
Figure pat00020

또한,

Figure pat00021
,
Figure pat00022
Figure pat00023
에 따라
Figure pat00024
번째 데이터 센터의 예상 작업 시간
Figure pat00025
을 결정할 수 있으며,
Figure pat00026
는 수학식 4와 같다.Also,
Figure pat00021
,
Figure pat00022
And
Figure pat00023
Depending on the
Figure pat00024
Work hours in the first data center
Figure pat00025
Can be determined,
Figure pat00026
Is the same as Equation 4.

Figure pat00027
Figure pat00027

수학식 4에서,

Figure pat00028
는 데이터 배치 시간
Figure pat00029
을 의미한다. 데이터 처리에서는 조각을 단위로 사용하기 때문에, 데이터를 수신한 데이터 센터는 첫번째 조각을 수신하는 즉시 작업을 시작한다. 따라서, 시간 중복을 피하기 위해 최대 전송 시간과 저장 시간을 사용하여 데이터 배치 시간
Figure pat00030
을 결정하며,
Figure pat00031
Figure pat00032
번째 데이터 센터의 데이터 배치 시간을 의미한다.In Equation 4,
Figure pat00028
Data placement time
Figure pat00029
Means. Because data processing uses pieces in units, the data center that receives the data starts working as soon as it receives the first piece. Therefore, data placement time using maximum transfer time and storage time to avoid time duplication
Figure pat00030
To determine
Figure pat00031
Is
Figure pat00032
Data placement time of the first data center.

요청된 작업 유형이 데이터 배치 요청과 데이터 분석 요청을 모두 포함하는 경우, 파일 시스템 프로그램(210)은 예상 작업 시간이 작은 순서대로 데이터 센터를

Figure pat00033
개 결정하고, 결정된 데이터 센터들로 구성된 제1 세트를 결정한다.If the requested job type includes both a data batch request and a data analysis request, the file system program 210 opens the data center in the order of the smallest estimated work time.
Figure pat00033
Determine a first set of determined data centers.

이후, 파일 시스템 프로그램(210)은 제1 세트에 포함된 각 데이터 센터의 예상 작업 시간에 기초하여 각 데이터 센터에 데이터를 배포하고, 제1 세트에 포함된 데이터 센터들이 데이터를 처리하는데 필요한 전체 예상 작업 시간을 계산한다.The file system program 210 then distributes the data to each data center based on the estimated working time of each data center included in the first set, and the overall estimates required for the data centers included in the first set to process the data. Calculate your work time.

만일 제1 세트에 포함된 데이터 센터들에 할당된 데이터 크기가 데이터 센터들의 사용 가능한 스토리지 용량보다 적은 경우, 파일 시스템 프로그램(210)은 초과하는 데이터를 예상 작업 시간이

Figure pat00034
번째로 작은 데이터 센터에 할당하고,
Figure pat00035
를 다시 계산한다. 이후, 파일 시스템 프로그램(210)은 제1 세트에 포함된 데이터 센터들 중 사용 가능한 스토리지 용량이 적은 데이터 센터 대신 예상 작업 시간을 고려하여 결정된 데이터 센터를 추가하여 제2 세트를 구성한다.If the data size allocated to the data centers included in the first set is less than the available storage capacity of the data centers, the file system program 210 may exceed the estimated working time.
Figure pat00034
To the first smallest data center,
Figure pat00035
Recalculate. Thereafter, the file system program 210 configures the second set by adding the data center determined in consideration of the expected working time instead of the data center having less available storage capacity among the data centers included in the first set.

예를 들면, 파일 시스템 프로그램(210)은 제1 세트에 포함된 데이터 센터들 중 사용 가능한 스토리지 용량이 가장 적은 데이터 센터를 제외하고, 예상 작업 시간이

Figure pat00036
번째로 작은 데이터 센터를 추가하여 제2 세트를 구성할 수 있다.For example, the file system program 210 may have an estimated working time except for the data centers having the least available storage capacity among the data centers included in the first set.
Figure pat00036
The second smallest data center can be added to form a second set.

파일 시스템 프로그램(210)은 제2 세트에 포함된 데이터 센터들이 데이터를 처리하는데 필요한 전체 예상 작업 시간을 계산하며, 제2 세트에 포함된 데이터 센터들에 할당된 데이터 크기가 데이터 센터들의 사용 가능한 스토리지 용량보다 적은 경우 상기 과정을 반복한다.The file system program 210 calculates the total estimated working time required for data centers included in the second set to process data, and the data size allocated to the data centers included in the second set is the available storage of the data centers. If less than the dose is repeated.

반대로, 제2 세트에 포함된 데이터 센터들에 할당된 데이터 크기가 데이터 센터들의 사용 가능한 스토리지 용량보다 큰 경우, 파일 시스템 프로그램(210)은 제2 세트에 포함된 데이터 센터들로 하여금 데이터를 배치 및 분석하게 한다.Conversely, if the data size allocated to the data centers included in the second set is larger than the available storage capacity of the data centers, the file system program 210 causes the data centers included in the second set to locate and locate the data. Have them analyze.

만일 요청된 작업 유형이 데이터 배치 요청인 경우, 파일 시스템 프로그램(210)은 데이터 배치 시간이 가장 작은 데이터 센터를 데이터 생성원(100)으로부터 수신한 데이터를 처리할 데이터 센터들의 수만큼 결정하고, 결정된 데이터 센터들로 하여금 데이터를 배치하게 한다.If the requested job type is a data batch request, the file system program 210 determines the data center having the smallest data batch time by the number of data centers to process the data received from the data generator 100, and determines the determined data center. Let data centers place data

만일 요청된 작업 유형이 데이터 분석 요청인 경우, 다른 데이터 센터로 데이터를 이주시켰을 때 분석시간이 향상되지 않는 한 같은 데이터 센터에서 분석을 수행하는 것이 유리하다. 따라서, 데이터가 전송된 데이터 센터의 데이터 분석 시간이 다른 데이터 센터로의 전송 시간과 상기 다른 데이터 센터의 데이터 분석 시간을 합한 시간보다 큰 경우, 파일 시스템 프로그램(210)은 데이터 센터(300) 사이에 데이터 전송이 이루어지도록 한다.If the type of work requested is a data analysis request, it is advantageous to perform the analysis in the same data center unless the analysis time improves when migrating data to another data center. Therefore, if the data analysis time of the data center to which the data is transmitted is greater than the sum of the transfer time to the other data center and the data analysis time of the other data center, the file system program 210 is connected between the data centers 300. Allow data transfer.

도 3은 한 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램이 데이터 센터를 제어하는 방법을 나타낸 순서도이다.3 is a flowchart illustrating a method of controlling a data center by a file system program mounted on a data generator, according to an exemplary embodiment.

도 3을 참고하면, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해 요청된 작업 유형을 확인한다(S100).Referring to FIG. 3, the file system program 210 checks a job type requested by the data generator 100 (S100).

요청된 작업 유형은 데이터 배치 요청 또는 데이터 분석 요청 중 적어도 하나를 포함한다. 구체적으로, 데이터 배치 요청은 임의의 데이터 센터에 데이터를 전송하거나, 스테이징, 공간 할당, 메타 데이터 등록, 데이터 검색 등과 같은 데이터의 이동과 관련된 요청을 지칭할 수 있다. 또한, 데이터 분석 요청은 임의의 데이터 센터에서의 데이터 분석 요청을 지칭할 수 있다.The requested job type includes at least one of a data batch request or a data analysis request. Specifically, a data placement request may refer to a request relating to the transfer of data to any data center or to the movement of data, such as staging, space allocation, metadata registration, data retrieval, and the like. In addition, a data analysis request may refer to a data analysis request at any data center.

파일 시스템 프로그램(210)은 데이터 센터들(300) 각각의 사용 가능한 리소스를 결정한다(S110).The file system program 210 determines available resources of each of the data centers 300 (S110).

구체적으로, 파일 시스템 프로그램(210)은 데이터 처리 요청을 수신할 당시 데이터 센터들(300) 각각의 사용 가능한 스토리지 용량, 스토리지 대역폭, 연산 성능 또는 네트워크 대역폭 중 적어도 하나를 결정한다.Specifically, the file system program 210 determines at least one of available storage capacity, storage bandwidth, computational performance, or network bandwidth of each of the data centers 300 at the time of receiving the data processing request.

이 경우, 파일 시스템 프로그램(210)은 데이터 센터들(300) 각각에 설치된 파일 시스템 프로그램(220 내지 240)으로부터 데이터 센터의 리소스 정보를 수신할 수 있고, 또는 데이터 센터들(300)에 대한 메타데이터(meta data)를 수신하고, 이를 통해 각 데이터 센터의 리소스를 결정할 수도 있다.In this case, the file system program 210 may receive resource information of the data center from the file system programs 220 to 240 installed in each of the data centers 300, or metadata about the data centers 300. (meta data) can be received, through which resources in each data center can be determined.

파일 시스템 프로그램(210)은 데이터 생성원(100)에 연동된 데이터 센터들(300) 중 데이터를 처리할 하나 이상의 데이터 센터들을 결정한다(S120).The file system program 210 determines one or more data centers to process data among the data centers 300 linked to the data generation source 100 (S120).

일 실시예에서, 데이터 센터 결정부(230)는 요청된 작업 유형에 기초하여 데이터 센터들(300) 중 데이터를 처리할 하나 이상의 데이터 센터들을 결정할 수 있다.In one embodiment, the data center determiner 230 may determine one or more data centers to process data among the data centers 300 based on the requested job type.

예를 들면, 요청된 작업 유형이 데이터 분석 요청인 경우, 파일 시스템 프로그램(210)은 데이터 센터들(300) 중 연산 성능이 특정값 이상인 데이터 센터들을 데이터를 처리할 데이터 센터로서 결정하거나, 연산 성능이 높은 특정수의 데이터 센터들을 데이터를 처리할 데이터 센터로서 결정할 수 있다.For example, if the requested job type is a data analysis request, the file system program 210 determines among the data centers 300 data centers whose computational performance is greater than or equal to a certain value as the data center to process the data, or This high specific number of data centers can be determined as the data center to process the data.

이와 유사하게, 요청된 작업 유형이 데이터 배치 요청인 경우, 파일 시스템 프로그램(210)은 데이터 센터들(300) 중 저장 성능이 특정값 이상인 데이터 센터들을 데이터를 처리할 데이터 센터로서 결정하거나, 저장 성능이 높은 특정수의 데이터 센터들을 데이터를 처리할 데이터 센터로서 결정할 수 있다.Similarly, if the requested job type is a data batch request, the file system program 210 determines the data centers of which the storage performance is greater than or equal to a certain value among the data centers 300 as data centers to process the data, or This high specific number of data centers can be determined as the data center to process the data.

다른 실시예에서, 파일 시스템 프로그램(210)은 데이터 센터들(300) 각각의 사용 가능한 리소스를 추가로 고려하여 데이터 센터들(300) 중 데이터를 처리할 하나 이상의 데이터 센터들을 결정할 수 있다.In another embodiment, file system program 210 may determine one or more data centers to process data among data centers 300 by further considering the available resources of each of data centers 300.

구체적으로, 파일 시스템 프로그램(210)은 작업 유형 및 리소스를 이용하여 데이터를 처리할 하나 이상의 데이터 센터들의 후보군을 결정한다. 예를 들면, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해 요청된 작업 유형을 확인하고, 요청된 작업 유형을 수행하는데 필요한 전체 리소스를 결정할 수 있다. 이후, 파일 시스템 프로그램(210)은 결정한 전체 리소스 이상의 사용 가능한 리소스를 가진 데이터 센터들을 후보군으로 결정할 수 있다.In particular, the file system program 210 determines the candidate group of one or more data centers to process the data using the job type and the resource. For example, the file system program 210 may identify the type of work requested by the data generator 100 and determine the total resources required to perform the requested work type. Thereafter, the file system program 210 may determine data centers having available resources more than the determined total resources as candidate groups.

이후, 파일 시스템 프로그램(210)은 후보군에 포함된 각 데이터 센터가 데이터를 처리하는데 필요한 예상 작업 시간을 결정한다.The file system program 210 then determines the estimated work time required for each data center included in the candidate group to process the data.

구체적으로, 파일 시스템 프로그램(210)은 리소스에 기초하여 각 데이터 센터의 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나를 결정한다.In detail, the file system program 210 determines at least one of data transmission time, data storage time, or data analysis time of each data center based on the resource.

여기서, 데이터 전송 시간은 데이터 생성원(100)에서 특정 데이터 센터로 데이터가 전송되는 시간을 지칭하며, 데이터 저장 시간은 데이터 센터가 전송된 데이터를 저장하는 시간을 지칭하고, 데이터 분석 시간은 데이터 센터가 전송된 데이터를 분석하는 시간을 지칭한다.Here, the data transmission time refers to the time at which data is transmitted from the data generation source 100 to a specific data center, the data storage time refers to the time at which the data center stores the transmitted data, and the data analysis time refers to the data center. Refers to the time to analyze the transmitted data.

이후, 파일 시스템 프로그램(210)은 각 데이터 센터 마다 결정된 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나를 이용하여 해당 데이터 센터의 예상 작업 시간을 결정한다.Thereafter, the file system program 210 determines the expected working time of the data center by using at least one of the data transmission time, data storage time, or data analysis time determined for each data center.

예를 들면, 파일 시스템 프로그램(210)은 후보군에 포함된 제1 데이터 센터(310)가 데이터 배치 요청을 처리하는데 필요한 예상 작업 시간을 제1 데이터 센터(310)의 데이터 전송 시간과 데이터 저장 시간을 더한 시간으로 결정할 수 있다.For example, the file system program 210 may calculate the estimated working time required for the first data center 310 included in the candidate group to process the data placement request, and the data transfer time and data storage time of the first data center 310. You can decide by the time.

이후, 파일 시스템 프로그램(210)은 예상 작업 시간에 기초하여, 후보군에 포함된 데이터 센터들 중에서 데이터를 처리할 하나 이상의 데이터 센터들을 결정한다.Thereafter, the file system program 210 determines one or more data centers to process data among the data centers included in the candidate group based on the expected working time.

일 실시예에서, 파일 시스템 프로그램(210)은 예상 작업 시간이 작은 특정수의 데이터 센터들을 데이터를 처리할 하나 이상의 데이터 센터들로 결정할 수 있다.In one embodiment, file system program 210 may determine a particular number of data centers for which the estimated work time is small to one or more data centers to process the data.

다른 실시예에서, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해요청된 데이터를 처리할 데이터 센터들의 수를 확인하고, 후보군에 포함된 데이터 센터들 중에서 결정된 수만큼의 데이터 센터를 데이터를 처리할 하나 이상의 데이터 센터들로 결정할 수 있다.In another embodiment, the file system program 210 identifies the number of data centers to process the data requested by the data generation source 100, and determines the number of data centers determined from among the data centers included in the candidate group. May be determined as one or more data centers to be processed.

예를 들면, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해 요청된 데이터를 처리할 데이터 센터들의 수가 "3"인 경우 데이터 센터 결정부(230)는 후보군에서 예상 작업 시간이 가장 작은 3개의 데이터 센터를 결정할 수 있다.For example, when the number of data centers to process data requested by the data generator 100 is "3", the file system program 210 determines that the estimated work time is smallest in the candidate group. Three data centers can be determined.

본 발명에 따르면, 요청된 작업 유형 및 각 데이터 센터의 리소스를 고려하여 데이터를 처리할 데이터 센터를 결정하는바, 연동된 데이터 센터들의 리소스를 효과적으로 이용할 수 있다.According to the present invention, the data center to process the data is determined in consideration of the requested work type and the resources of each data center, so that the resources of the linked data centers can be effectively used.

데이터를 처리할 하나 이상의 데이터 센터가 결정되면, 파일 시스템 프로그램(210)은 데이터 처리 요청을 전송한 데이터 생성원(100)에서 결정된 데이터 센터로 데이터를 전송 및 처리 요청하도록 한다(S130). 이 경우, 데이터는 파일 시스템 프로그램의 통합 네임스페이스를 통해 전송된다.If one or more data centers to process the data are determined, the file system program 210 transmits and processes the data to the determined data center from the data generation source 100 that has transmitted the data processing request (S130). In this case, the data is transferred through the integrated namespace of the file system program.

도 4는 한 실시예에 따른 데이터 생성원에 탑재된 파일 시스템 프로그램이 데이터 센터를 제어하는 다른 방법을 나타낸 순서도이다.4 is a flowchart illustrating another method of controlling a data center by a file system program mounted on a data generator, according to an exemplary embodiment.

도 4를 참고하면, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해요청된 작업 유형을 확인한다(S200). 이 경우, 작업 유형은 데이터 배치 요청 또는 데이터 분석 요청 중 적어도 하나를 포함한다.Referring to FIG. 4, the file system program 210 checks a job type requested by the data generator 100 (S200). In this case, the job type includes at least one of a data batch request or a data analysis request.

파일 시스템 프로그램(220)은 확인한 작업 유형에 기초하여, 데이터를 처리할 하나 이상의 데이터 센터들을 결정한다.The file system program 220 determines one or more data centers to process the data based on the identified job type.

우선, 파일 시스템 프로그램(210)은 데이터 생성원(100)에 의해 요청된 데이터를 처리할 데이터 센터들의 수를 확인한다(S210).First, the file system program 210 confirms the number of data centers to process data requested by the data generation source 100 (S210).

파일 시스템 프로그램(210)은 데이터 생성원(100)에 연동된 데이터 센터들(300) 각각의 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나를 결정한다(S220).The file system program 210 determines at least one of a data transmission time, a data storage time, or a data analysis time of each of the data centers 300 linked to the data generation source 100 (S220).

구체적으로, 파일 시스템 프로그램(210)은 데이터 센터들(300) 각각의 사용 가능한 스토리지 용량, 스토리지 대역폭, 연산 성능 또는 네트워크 대역폭 중 적어도 하나를 이용하여 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간을 결정한다.Specifically, the file system program 210 determines the data transfer time, data storage time or data analysis time using at least one of available storage capacity, storage bandwidth, computational performance, or network bandwidth of each of the data centers 300. do.

예를 들면, 파일 시스템 프로그램(210)은 네트워크 대역폭을 이용하여 데이터 전송 시간을 결정할 수 있고, 스토리지 용량 및 스토리지 대역폭을 이용하여 데이터 저장 시간을 결정할 수 있으며, 연산 성능을 이용하여 데이터 분석 시간을 결정할 수 있다.For example, the file system program 210 may determine data transmission time using network bandwidth, determine data storage time using storage capacity and storage bandwidth, and determine data analysis time using arithmetic performance. Can be.

파일 시스템 프로그램(210)은 데이터 센터들(300) 각각에 대해 결정한 리소스 및 작업 유형에 기초하여, 단계 S210에서 결정된 수만큼의 데이터 센터들을 데이터를 처리할 하나 이상의 데이터 센터들로 결정한다.The file system program 210 determines the number of data centers determined in step S210 as one or more data centers to process the data, based on the resource and task type determined for each of the data centers 300.

구체적으로, 파일 시스템 프로그램(210)은 작업 유형에 따라 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나에 대한 중요도를 결정한다(S230).In detail, the file system program 210 determines the importance of at least one of the data transmission time, the data storage time, or the data analysis time according to the job type (S230).

예를 들면, 작업 유형이 데이터 배치 요청인 경우 데이터 분석 능력과는 무관하게 높은 스토리지 대역폭을 가진 데이터 센터가 작업을 빨리 완료할 수 있으므로, 파일 시스템 프로그램(210)은 데이터 분석 시간 보다 데이터 저장 시간 및 데이터 전송 시간에 높은 중요도를 설정할 수 있다.For example, if the job type is a data batch request, a data center with a high storage bandwidth can complete the job quickly, regardless of the data analysis capability, so the file system program 210 may be able to store data storage time and data rather than data analysis time. High importance can be set for data transfer time.

반대로, 작업 유형이 데이터 분석 요청인 경우 데이터 분석 능력이 높은 데이터 센터가 작업을 빨리 완료할 수 있으므로, 파일 시스템 프로그램(210)은 데이터 저장 시간 보다는 데이터 분석 시간 및 데이터 저장 시간에 높은 중요도를 설정할 수 있다.Conversely, if the job type is a data analysis request, the data center with high data analysis capability can complete the job quickly, so that the file system program 210 can set high importance on the data analysis time and the data storage time rather than the data storage time. have.

또한, 작업 유형이 데이터 배치와 데이터 분석을 모두 요청하는 경우라면, 데이터 센터의 스토리지 및 데이터 처리 성능을 모두 고려해야 한다. 이 경우, 파일 시스템 프로그램(210)은 데이터 센터들(300) 각각에 할당된 데이터 용량을 고려하여 데이터 저장 시간, 데이터 분석 시간 및 데이터 전송 시간의 중요도 순서를 높게 설정할 수 있다.In addition, if the job type requires both data placement and data analysis, then both the data center's storage and data processing capabilities must be considered. In this case, the file system program 210 may set the order of importance of data storage time, data analysis time, and data transmission time in consideration of the data capacity allocated to each of the data centers 300.

파일 시스템 프로그램(210)은 결정한 중요도 및 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나를 이용하여 데이터 센터들(300) 각각에 대한 예상 작업 시간을 결정한다(S240).The file system program 210 determines an expected working time for each of the data centers 300 using the determined importance and at least one of data transmission time, data storage time, or data analysis time (S240).

예를 들면, 작업 유형이 데이터 배치 요청이어서 데이터 분석 시간에 낮은 중요도가 설정된 경우, 파일 시스템 프로그램(210)은 데이터 저장 시간과 데이터 전송 시간만을 합한 시간을 예상 작업 시간으로 결정할 수 있다.For example, when the job type is a data batch request and a low importance is set for the data analysis time, the file system program 210 may determine the sum of the data storage time and the data transfer time as the expected work time.

이후, 파일 시스템 프로그램(210)은 결정한 예상 작업 시간에 기초하여, 데이터 센터들(300) 중에서 단계 S210에서 결정된 수만큼의 데이터 센터들을 데이터를 처리할 하나 이상의 데이터 센터들로 결정한다(S250).Thereafter, the file system program 210 determines the number of data centers determined in step S210 among the data centers 300 as one or more data centers to process the data, based on the determined working time (S250).

예를 들면, 단계 S210에서 데이터를 처리할 데이터 센터의 개수가 3개로 확인된 경우, 파일 시스템 프로그램(210)은 가장 적은 작업 시간을 가진 데이터 센터 3개를 데이터를 처리할 하나 이상의 데이터 센터들로 결정할 수 있다.For example, when it is determined in step S210 that the number of data centers to process data is three, the file system program 210 transfers three data centers having the least working time to one or more data centers to process the data. You can decide.

파일 시스템 프로그램(210)은 데이터를 데이터 센터들 각각에 할당한다(S260). 데이터를 할당받은 데이터 센터들은 할당된 데이터를 작업 유형에 따라 처리한다.The file system program 210 allocates data to each of the data centers (S260). Data centers assigned data process the assigned data according to the type of work.

도 5는 한 실시예에 따른 데이터 센터들에 탑재된 파일 시스템 프로그램이 데이터 센터 간 직접 전송을 제어하는 다른 방법을 나타낸 순서도이다.5 is a flowchart illustrating another method of controlling a direct transfer between data centers by a file system program mounted in data centers according to an embodiment.

도 5에서는 제2 데이터 센터(320)에 존재하는 데이터에 대해 제1 데이터 센터(310)에서 분석 작업이 필요한 것으로 가정한다.In FIG. 5, it is assumed that an analysis operation is required in the first data center 310 for data existing in the second data center 320.

도 5을 참고하면, 제1 데이터 센터(310)에 탑재된 파일 시스템 프로그램(220)은 제2 데이터 센터(320)에 존재하는 데이터에 대해 제2 데이터 센터(320)로 데이터 전송을 요청한다(S300).Referring to FIG. 5, the file system program 220 mounted in the first data center 310 requests data transmission to the second data center 320 for data existing in the second data center 320 ( S300).

요청을 수신한 제2 데이터 센터(320)는 제1 데이터 센터(310)로 데이터를 전송하고, 제1 데이터 센터(310)는 로컬 네임스페이스를 이용하여 데이터를 수신한다(S310).Upon receiving the request, the second data center 320 transmits data to the first data center 310, and the first data center 310 receives data using a local namespace (S310).

만일 단계 S310에서 제1 데이터 센터(310)가 파일 시스템 프로그램의 통합 인터페이스를 통해 데이터를 수신하는 경우, FUSE 오버헤드 및 NFS 오버헤드가 발생하게 된다.If the first data center 310 receives the data through the integrated interface of the file system program in step S310, FUSE overhead and NFS overhead occurs.

따라서, 제1 데이터 센터(310)는 제1 데이터 센터(310)와 제2 데이터 센터(320) 사이에 로컬 네임스페이스에 따라 구축된 가상 직접 채널을 이용하여 데이터를 수신한다.Accordingly, the first data center 310 receives data using a virtual direct channel established according to a local namespace between the first data center 310 and the second data center 320.

예를 들면, 제1 데이터 센터(310)에 탑재된 파일 시스템 프로그램(220)은 제1 데이터 센터(310)에 가상 직접 채널을 통해 데이터가 송수신될 수 있는 디렉토리를 생성하고, 제2 데이터 센터(320)에서 전송된 데이터가 상기 생성된 디렉토리에 저장되도록 하고, 상기 디렉토리에 저장된 파일에 제1 데이터 센터(310)가 접근하도록 제어할 수 있다.For example, the file system program 220 mounted in the first data center 310 generates a directory in which data can be transmitted and received through the virtual direct channel in the first data center 310, and the second data center ( The data transmitted from 320 may be stored in the generated directory, and the first data center 310 may be accessed to access the file stored in the directory.

제1 데이터 센터(310)는 수신한 데이터를 분석한다(S320).The first data center 310 analyzes the received data (S320).

본 발명에 따르면, 데이터 센터들 간에 직접적인 데이터 전송이 가능한바, 파일 시스템 프로그램의 통합 네임스페이스를 빈번하게 접근하여 야기되는 FUSE 및 NFS로 인한 통합 성능 오버헤드를 감소시킬 수 있다.According to the present invention, direct data transfer between data centers is possible, thereby reducing the integration performance overhead due to FUSE and NFS caused by frequent access to the integrated namespace of file system programs.

이상에서 전술한 본 발명의 실시예에 따른 파일 시스템 프로그램은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.The file system program according to the above-described embodiments of the present invention may be implemented as a program (or an application) to be combined with a computer, which is hardware, and stored in a computer-readable recording medium.

컴퓨터 판독 가능한 기록 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 디바이스에 의해 판독 가능한 매체를 의미한다. 기록 매체의 예시로서, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 본 발명의 실시예에 따른 파일 시스템 프로그램은 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다.The computer-readable recording medium refers to a medium that stores data semi-permanently, not a medium for storing data for a short time such as a register, a cache, a memory, and the like, and is readable by a device. Examples of the recording medium include, but are not limited to, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like. That is, the file system program according to the embodiment of the present invention may be stored in various recording media on various servers accessible by a computer or various recording media on the computer of the user.

본 발명에 따르면, 요청된 작업 유형과 각 데이터 센터의 리소스를 고려하여 데이터를 처리할 데이터 센터를 결정하는바, 데이터 센터의 리소스를 효과적으로 이용할 수 있다.According to the present invention, the data center to process the data is determined in consideration of the requested operation type and the resources of each data center, so that the resources of the data center can be effectively used.

또한, 본 발명에 따르면, 데이터 센터들 간에 직접적인 데이터 전송이 가능한바, 파일 시스템 프로그램의 통합 네임스페이스를 빈번하게 접근하여 야기되는 통합 성능 오버헤드를 감소시킬 수 있다.In addition, according to the present invention, direct data transfer between data centers is possible, thereby reducing integration performance overhead caused by frequent access of the integration namespace of the file system program.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (11)

데이터 생성원에 탑재된 파일 시스템 프로그램으로서,
상기 데이터 생성원에 의해 요청된 데이터를 처리할 데이터 센터들의 수를 확인하는 단계,
상기 데이터 생성원에 연동된 각 데이터 센터의 데이터 전송 시간, 데이터 저장 시간 및 데이터 분석 시간을 이용하여, 각 데이터 센터의 예상 작업 시간을 결정하는 단계, 그리고
상기 예상 작업 시간을 이용하여, 상기 데이터 생성원에 연동된 데이터 센터들 중에서 데이터를 처리할 데이터 센터들을 상기 수만큼 결정하는 단계
를 실행하는 명령어들을 포함하는 파일 시스템 프로그램.
As a file system program mounted in the data generator,
Identifying the number of data centers to process the data requested by the data generator,
Determining an expected working time of each data center by using data transmission time, data storage time and data analysis time of each data center linked to the data generation source, and
Determining the number of data centers to process data from among data centers linked to the data generation source using the estimated working time
A file system program containing instructions for executing a.
제1항에서,
상기 데이터를 처리할 데이터 센터들에 할당된 데이터 크기를 상기 데이터 센터들의 사용 가능한 스토리지 용량과 비교하는 단계, 그리고
상기 할당된 데이터 크기가 상기 스토리지 용량보다 큰 경우, 상기 데이터를처리할 데이터 센터들 중에서 스토리지 용량이 가장 작은 데이터 센터 대신 예상 작업 시간을 고려하여 결정된 데이터 센터를 데이터를 처리할 데이터 센터로 결정하는 단계
를 실행하는 명령어들을 더 포함하는 파일 시스템 프로그램.
In claim 1,
Comparing the data size allocated to the data centers to process the data with the available storage capacity of the data centers, and
If the allocated data size is larger than the storage capacity, determining the determined data center as a data center to process data instead of the data center having the smallest storage capacity among the data centers to process the data.
File system program further comprising instructions for executing.
제1항에서,
상기 데이터 생성원에 의해 요청된 작업 유형을 확인하는 단계를 실행하는 명령어들을 더 포함하고,
상기 데이터를 처리할 데이터 센터들을 상기 수만큼 결정하는 단계는
상기 작업 유형을 추가로 고려하여, 상기 데이터를 처리할 데이터 센터들을 상기 수만큼 결정하는 파일 시스템 프로그램.
In claim 1,
Instructions for executing a step of confirming a job type requested by the data generator;
Determining the number of data centers to process the data is
File system program for determining the number of data centers to process the data, further considering the type of operation.
제3항에서,
상기 요청된 작업 유형은
데이터 배치 요청 또는 데이터 분석 요청 중 적어도 하나를 포함하는 파일 시스템 프로그램.
In claim 3,
The requested job type is
A file system program comprising at least one of a data batch request or a data analysis request.
데이터 생성원에 탑재된 파일 시스템 프로그램으로서,
상기 데이터 생성원에 의해 요청된 작업 유형을 확인하는 단계, 그리고
상기 요청된 작업 유형에 기초하여, 상기 데이터 생성원에 연동된 데이터 센터들 중 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계
를 실행하는 명령어들을 포함하는 파일 시스템 프로그램.
As a file system program mounted in the data generator,
Identifying a job type requested by the data generator, and
Based on the requested job type, determining one or more data centers to process data among data centers linked to the data generation source;
A file system program containing instructions for executing a.
제5항에서,
상기 데이터 생성원에 연동된 데이터 센터들 각각의 사용 가능한 리소스를 결정하는 단계를 실행하는 명령어들을 더 포함하고,
상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는
상기 리소스를 추가로 고려하여, 상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 파일 시스템 프로그램.
In claim 5,
Further comprising instructions for determining an available resource of each of the data centers associated with the data generation source,
Determining one or more data centers to process the data
And further considering the resource, to determine one or more data centers to process the data.
제6항에서,
상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는
상기 요청된 작업 유형 및 상기 리소스를 이용하여 상기 데이터를 처리할 하나 이상의 데이터 센터들의 후보군을 결정하고, 상기 후보군에 포함된 각 데이터 센터가 상기 데이터를 처리하는데 필요한 예상 작업 시간을 결정하고, 상기 예상 작업 시간에 기초하여 상기 후보군에서 상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 파일 시스템 프로그램.
In claim 6,
Determining one or more data centers to process the data
Determine a candidate group of one or more data centers to process the data using the requested job type and the resource, determine an expected working time required for each data center included in the candidate group to process the data, A file system program for determining one or more data centers to process the data in the candidate group based on working time.
제7항에서,
상기 예상 작업 시간은 상기 후보군에 포함된 각 데이터 센터의 데이터 전송 시간, 데이터 저장 시간 또는 데이터 분석 시간 중 적어도 하나에 따라 결정되는 파일 시스템 프로그램.
In claim 7,
And the expected working time is determined according to at least one of data transmission time, data storage time, or data analysis time of each data center included in the candidate group.
제7항에서,
상기 데이터를 처리할 하나 이상의 데이터 센터들을 결정하는 단계는
상기 데이터 생성원에 의해 요청된 데이터를 처리할 데이터 센터들의 수를 확인하고, 상기 후보군에서 상기 수만큼의 데이터 센터를 상기 데이터를 처리할 하나 이상의 데이터 센터들로 결정하는 파일 시스템 프로그램.
In claim 7,
Determining one or more data centers to process the data
Identifying a number of data centers to process data requested by the data generation source, and determining the number of data centers in the candidate group as one or more data centers to process the data.
데이터 센터에 탑재된 파일 시스템 프로그램으로서,
다른 데이터 센터에 존재하는 데이터에 대해 상기 데이터 센터로 전송을 요청하는 단계, 그리고
상기 데이터 센터의 로컬 네임스페이스를 이용하여, 상기 데이터를 상기 다른 데이터 센터로부터 직접 수신하는 단계
를 실행하는 명령어들을 포함하는 파일 시스템 프로그램.
As a file system program installed in the data center,
Requesting transmission to the data center for data residing in another data center, and
Receiving the data directly from the other data center using the local namespace of the data center
A file system program containing instructions for executing a.
제10항에서,
상기 데이터를 상기 다른 데이터 센터로부터 직접 수신하는 단계는
상기 데이터 센터와 상기 다른 데이터 센터 사이에 상기 로컬 네임스페이스에 따라 구축된 가상 직접 채널을 이용하여, 상기 데이터를 상기 다른 데이터 센터로부터 직접 수신하는 파일 시스템 프로그램.
In claim 10,
Receiving the data directly from the other data center
A file system program for receiving said data directly from said other data center using a virtual direct channel established in accordance with said local namespace between said data center and said other data center.
KR1020180017761A 2018-02-13 2018-02-13 File system program and method for controlling data cener using it KR102024846B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180017761A KR102024846B1 (en) 2018-02-13 2018-02-13 File system program and method for controlling data cener using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180017761A KR102024846B1 (en) 2018-02-13 2018-02-13 File system program and method for controlling data cener using it

Publications (2)

Publication Number Publication Date
KR20190097844A true KR20190097844A (en) 2019-08-21
KR102024846B1 KR102024846B1 (en) 2019-09-24

Family

ID=67808462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180017761A KR102024846B1 (en) 2018-02-13 2018-02-13 File system program and method for controlling data cener using it

Country Status (1)

Country Link
KR (1) KR102024846B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223385A (en) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd Data distributing system and method
US20100333105A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Precomputation for data center load balancing
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof
KR20130133989A (en) * 2012-05-30 2013-12-10 삼성에스디에스 주식회사 System and method for parallel file transfer between file storage clusters
KR101629861B1 (en) * 2011-08-25 2016-06-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Quality of service aware captive aggregation with true datacenter testing
KR101656706B1 (en) * 2015-04-02 2016-09-22 두산중공업 주식회사 Job distribution system in high-performance computing environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223385A (en) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd Data distributing system and method
US20100333105A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Precomputation for data center load balancing
KR101629861B1 (en) * 2011-08-25 2016-06-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Quality of service aware captive aggregation with true datacenter testing
KR20130133989A (en) * 2012-05-30 2013-12-10 삼성에스디에스 주식회사 System and method for parallel file transfer between file storage clusters
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof
KR101656706B1 (en) * 2015-04-02 2016-09-22 두산중공업 주식회사 Job distribution system in high-performance computing environment

Also Published As

Publication number Publication date
KR102024846B1 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
US10795905B2 (en) Data stream ingestion and persistence techniques
US10691716B2 (en) Dynamic partitioning techniques for data streams
US9794135B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US9276959B2 (en) Client-configurable security options for data streams
EP3069228B1 (en) Partition-based data stream processing framework
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
US20140372611A1 (en) Assigning method, apparatus, and system
US20150172204A1 (en) Dynamically Change Cloud Environment Configurations Based on Moving Workloads
KR101460062B1 (en) System for storing distributed video file in HDFS(Hadoop Distributed File System), video map-reduce system and providing method thereof
US11080207B2 (en) Caching framework for big-data engines in the cloud
CN109196807B (en) Network node and method of operating a network node for resource distribution
JP2016024612A (en) Data processing control method, data processing control program, and data processing control apparatus
CN114391137A (en) System, method, and computer accessible medium for domain decomposition aware processor allocation in a multi-core processing system
CN107528871B (en) Data analysis in storage systems
Sreedhar et al. A survey on big data management and job scheduling
CN110457307A (en) Metadata management system, user's cluster creation method, device, equipment and medium
KR102024846B1 (en) File system program and method for controlling data cener using it
Soosai et al. Dynamic replica replacement strategy in data grid
US20200242094A1 (en) Information processing apparatus, computer-readable recording medium having stored therein information processing program, and information processing system
KR102054068B1 (en) Partitioning method and partitioning device for real-time distributed storage of graph stream
Varghese et al. Research challenges in query processing and data analytics on the edge.
Huang et al. Resource provisioning with QoS in cloud storage
Mershad et al. A mathematical model to analyze the utilization of a cloud datacenter middleware
KR20120044694A (en) Asymmetric distributed file system, apparatus and method for distribution of computation
Nguyen et al. Mapreduce in the cloud: Data-location-aware vm scheduling

Legal Events

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