KR102569002B1 - Apparatus and method for automatic optimization of virtual machine in multi-cluster environment - Google Patents

Apparatus and method for automatic optimization of virtual machine in multi-cluster environment Download PDF

Info

Publication number
KR102569002B1
KR102569002B1 KR1020220176750A KR20220176750A KR102569002B1 KR 102569002 B1 KR102569002 B1 KR 102569002B1 KR 1020220176750 A KR1020220176750 A KR 1020220176750A KR 20220176750 A KR20220176750 A KR 20220176750A KR 102569002 B1 KR102569002 B1 KR 102569002B1
Authority
KR
South Korea
Prior art keywords
cluster
resource
node
consumption
high utilization
Prior art date
Application number
KR1020220176750A
Other languages
Korean (ko)
Inventor
정정문
박성훈
김연주
김다현
Original Assignee
스트라토 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스트라토 주식회사 filed Critical 스트라토 주식회사
Priority to KR1020220176750A priority Critical patent/KR102569002B1/en
Application granted granted Critical
Publication of KR102569002B1 publication Critical patent/KR102569002B1/en

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Abstract

본 발명은 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법에 관한 것이다. 본 발명에 따른 멀티 클러스터 환경에서의 자원 최적화 장치의 제어방법은, 클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 기초로 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하고, 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장하는 단계와; 상기 판단된 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 상기 판단된 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 단계와; 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 상기 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 상기 타 클러스터와 동일한 그룹으로 그루핑한 후, 상기 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to an apparatus and method for automatically optimizing virtual machines in a multi-cluster environment. A method for controlling a resource optimization apparatus in a multi-cluster environment according to the present invention determines a cluster high utilization rate period based on a resource utilization rate of at least one node included in a cluster for a predetermined period of time, matches it to the corresponding cluster, and registers it; matching and storing an increasing order and degree of consumption of each resource with a corresponding cluster; Node expansion is processed when the time corresponding to the start of high utilization among the determined high utilization intervals of the corresponding cluster arrives, and node reduction is processed when the time corresponding to the end of high utilization among the determined high utilization intervals of the corresponding cluster arrives. step of doing; For a new cluster with unmatched high usage rate intervals, the increasing order of consumption by resource matches the order of increasing consumption by resource matched to other clusters, and the increasing degree of consumption by resource matches the increasing degree of consumption by resource matched to the other cluster When similar within a predetermined range, grouping the corresponding new cluster into the same group as the other cluster, and then matching and storing the high usage rate section matched to the other cluster to the corresponding new cluster.

Description

멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법{APPARATUS AND METHOD FOR AUTOMATIC OPTIMIZATION OF VIRTUAL MACHINE IN MULTI-CLUSTER ENVIRONMENT}APPARATUS AND METHOD FOR AUTOMATIC OPTIMIZATION OF VIRTUAL MACHINE IN MULTI-CLUSTER ENVIRONMENT}

본 발명은 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법에 관한 것으로, 보다 상세하게는 멀티 클러스터 환경에서 클러스터에 포함된 노드를 자동으로 추가 또는 삭제하도록 하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for automatically optimizing virtual machines in a multi-cluster environment, and more particularly, to an apparatus and method for automatically adding or deleting nodes included in a cluster in a multi-cluster environment.

최근 클라우드 환경에서 다양한 종류의 가상 머신이 동작하도록 하는 기술이 도입되어 많이 이용되고 있다.Recently, a technology for allowing various types of virtual machines to operate in a cloud environment has been introduced and widely used.

가상 머신은 실행 중인 애플리케이션과 운영체제를 포함하여 컴퓨터와 거의 동일한 모든 기능을 수행할 수 있는 컴퓨터의 가상화된 인스턴스라고 할 수 있는데, 하나의 물리적 서버에는 여러 개의 가상 머신이 독자적 환경에서 구동할 수 있어서, 자원 효율성 면에서 상당히 이익이 되므로, 최근 많이 이용되고 있다.A virtual machine is a virtualized instance of a computer that can perform almost all the same functions as a computer, including running applications and operating systems. Several virtual machines can run in their own environment on one physical server, Since it is very beneficial in terms of resource efficiency, it has been widely used recently.

가상 머신을 다른 말로 컨테이너라고도 할 수 있다.A virtual machine can also be referred to as a container.

물론, 가상 머신은 호스트OS에 의해 가상머신(VM)을 가상화 시켜주는 하이퍼바이저(virtual box, Xen, KVM, VMware)들이 존재하는 반면에 컨테이너는 하이퍼바이저에 대응되는 도커 등이 OS에서 제공하는 자원격리 기술을 이용하여 컨테이너를 구성한다는 점에서 차이점은 있지만, 둘 다 독립된 실행환경하에서 별개의 서비스가 운영되도록 한다는 점에서 혼용하여 사용하기도 한다.Of course, virtual machines have hypervisors (virtual box, Xen, KVM, VMware) that virtualize virtual machines (VMs) by the host OS, whereas containers are resources provided by the OS such as Docker corresponding to the hypervisor. Although there is a difference in that a container is configured using an isolation technology, both are used interchangeably in that a separate service is operated under an independent execution environment.

특히 쿠버네티스 아키텍처에서 클러스터Cluster)는 컨테이너 형태의 애플리케이션을 호스팅하는 물리/가상 환경의 노드들로 이루어진 집합을 의미하는데, 여기서 각 노드들은 별개의 서비스를 제공하는 단위에 해당하는데, 하나의 서비스에 복수 개의 노드들이 운영될 수도 있다.In particular, a cluster in the Kubernetes architecture refers to a set of nodes in a physical/virtual environment that hosts container-type applications, where each node corresponds to a unit that provides a separate service. A plurality of nodes may be operated.

이처럼 고객들에게 소정의 서비스를 제공하기 위해 하나의 클러스터 환경에서 적어도 하나의 노드가 실행될 수 있는데, 노드가 이용하는 IT 자원(예를 들어 cpu, 메모리, 네트워크 등)이 부족한 경우에는 추가로 노드를 생성하여 배치해야 하는데, 종래에는 이러한 과정이 관리자에 의한 수동 조작에 의해 이루어졌다.In this way, at least one node may be executed in one cluster environment to provide a predetermined service to customers. If the IT resources used by the node (for example, CPU, memory, network, etc.) However, in the prior art, this process was performed manually by an administrator.

물론 노드 추가 등을 자동화하는 도구가 제시된 바가 있기는 하지만, 이 경우에도 실질적으로 자원이 필요한 시점과 추가 자원이 제공되는 시점 사이에 어느 정도 딜레이가 발생하는 문제가 있었고, 이는 일시적으로 서비스 품질이 저하되는 원인이 되기도 한다.Of course, tools for automating the addition of nodes have been proposed, but even in this case, there is a problem that some delay occurs between when resources are actually needed and when additional resources are provided, which temporarily degrades service quality. may also be a cause of

따라서 클러스터 노드 자원에 대한 확장을 선제적으로 진행함으로써 사용률이 높아지는 시점과 실제 자원을 확장하는 시점 간 차이를 최소화하여 서비스 품질이 일시적으로 저하되는 것을 막는 장치 또는 방법의 제시가 요청되고 있다.Therefore, there is a need to propose an apparatus or method for preventing temporary deterioration in service quality by preemptively expanding cluster node resources and minimizing the difference between the time when the utilization rate increases and the time when actual resources are expanded.

등록특허 제10-2322312호Registered Patent No. 10-2322312

본 발명은 상기한 종래의 요청에 부응하기 위해 안출된 것으로서, 멀티 클러스터 환경에서 노드 자원에 대한 확장을 특정 알고리즘에 따라 선제적으로 진행하되, 자원 이용 효율을 극대화하는 장치 및 방법을 제공하는 것이다.The present invention has been devised to meet the above conventional requests, and provides an apparatus and method for maximizing resource utilization efficiency while preemptively expanding node resources according to a specific algorithm in a multi-cluster environment.

상기한 목적을 달성하기 위해 본 발명에 따른 멀티 클러스터 환경에서의 자원 최적화 장치의 제어방법은, 클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 기초로 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하고, 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장하는 단계와; 상기 판단된 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 상기 판단된 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 단계와; 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 상기 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 상기 타 클러스터와 동일한 그룹으로 그루핑한 후, 상기 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 단계를 포함할 수 있다.In order to achieve the above object, a method for controlling a resource optimization apparatus in a multi-cluster environment according to the present invention determines a cluster high utilization interval based on a resource utilization rate for a predetermined period of at least one node included in a cluster, and determines the corresponding high utilization rate interval. matching and registering with a cluster, and matching and storing the increasing order and degree of consumption for each resource with the corresponding cluster; Node expansion is processed when the time corresponding to the start of high utilization among the determined high utilization intervals of the corresponding cluster arrives, and node reduction is processed when the time corresponding to the end of high utilization among the determined high utilization intervals of the corresponding cluster arrives. step of doing; For a new cluster with unmatched high usage rate intervals, the increasing order of consumption by resource matches the order of increasing consumption by resource matched to other clusters, and the increasing degree of consumption by resource matches the increasing degree of consumption by resource matched to the other cluster If similar within a preset range, grouping the corresponding new cluster into the same group as the other cluster, and then matching and storing the high utilization section matched to the other cluster to the corresponding new cluster.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 멀티 클러스터 환경에서의 자원 최적화 장치는, 클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 모니터링하는 모니터링부와; 상기 모니터링부의 모니터링 결과에 기초하여 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하고, 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장하는 고사용율 구간 판단부; 상기 고사용율 구간 판단부에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 상기 고사용율 구간 판단부에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 노드 관리부와; 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 상기 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 상기 타 클러스터와 동일한 그룹으로 그루핑한 후, 상기 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 그루핑 처리부를 포함할 수 있다.In order to achieve the above object, an apparatus for optimizing resources in a multi-cluster environment according to the present invention includes a monitoring unit for monitoring a resource utilization rate of at least one node included in a cluster for a predetermined period of time; a high usage rate section determination unit for determining a cluster high utilization rate interval based on the monitoring result of the monitoring unit, matching and registering the corresponding cluster, and matching and storing the increasing order and degree of consumption of each resource with the corresponding cluster; Node expansion is processed when the time corresponding to the start of high utilization among the high utilization intervals of the cluster determined by the high utilization interval determination unit arrives, and the end point of high utilization among the high utilization intervals of the corresponding cluster determined by the high utilization interval determination unit a node management unit for processing node reduction when the corresponding time arrives; For a new cluster with unmatched high usage rate intervals, the increasing order of consumption by resource matches the order of increasing consumption by resource matched to other clusters, and the increasing degree of consumption by resource matches the increasing degree of consumption by resource matched to the other cluster A grouping processing unit may be included to group the corresponding new cluster into the same group as the other cluster, and then match and store the high usage rate section matched to the other cluster to the corresponding new cluster, if the cluster is similar within a predetermined range.

삭제delete

삭제delete

삭제delete

삭제delete

이상 설명한 바와 같이 본 발명에 따르면, 이상 설명한 바와 같이 본 발명에 따르면, 클러스터 노드 자원에 대한 확장을 기 설정된 시점에 선제적으로 진행함으로써 사용률이 높아지는 시점과 실제 자원을 확장하는 시점 간 차이를 최소화하여 서비스 품질이 일시적으로 저하되는 것을 막을 수 있어서 사용자 불만을 최소화시킬 수 있다.As described above, according to the present invention, as described above, according to the present invention, the expansion of cluster node resources is preemptively performed at a preset time, thereby minimizing the difference between the time when the utilization rate increases and the time when actual resources are expanded. Temporary deterioration of service quality can be prevented and user dissatisfaction can be minimized.

특히, 고사용률 구간이 아직 할당되지 않은 신규 클러스터에 대해서는 다른 클러스터와의 유사성을 판단하여 그루핑처리하여 고사용률 구간을 미리 할당할 수 있어서 관리의 편의성이 증대된다.In particular, for a new cluster to which a high-usage section has not yet been assigned, the high-usage section can be allocated in advance by judging similarity with other clusters and processing the grouping, thereby increasing management convenience.

도 1은 본 발명의 일 실시예에 따른 자원 최적화 장치의 기능블록도이고,
도 2는 도 1의 전체적인 제어흐름도이다.
1 is a functional block diagram of a resource optimization apparatus according to an embodiment of the present invention;
FIG. 2 is an overall control flow diagram of FIG. 1 .

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

이하 본 발명에 따른 각 실시예는 본 발명의 이해를 돕기 위한 하나의 예에 불과하고, 본 발명이 이러한 실시예에 한정되는 것은 아니다. 특히 본 발명은 각 실시예에 포함되는 개별 구성, 개별 기능, 또는 개별 단계 중 적어도 어느 하나 이상의 조합으로 구성될 수 있다.Hereinafter, each embodiment according to the present invention is only one example to aid understanding of the present invention, and the present invention is not limited to these embodiments. In particular, the present invention may be composed of at least one or more combinations of individual components, individual functions, or individual steps included in each embodiment.

특히, 편의상 청구 범위의 일부 청구항에는 '(a)'와 같은 알파벳을 포함시켰으나, 이러한 알파벳이 각 단계의 순서를 규정하는 것은 아니다.In particular, although alphabets such as '(a)' are included in some claims of the claims for convenience, these alphabets do not prescribe the order of each step.

본 발명의 일 실시예에 따른 자원 최적화 장치(100)의 구체적인 기능 블록의 일 예는 도 1에 도시된 바와 같다.An example of a specific functional block of the resource optimization apparatus 100 according to an embodiment of the present invention is shown in FIG. 1 .

동 도면에 도시된 바와 같이 자원 최적화 장치(100)는, 모니터링부(110), 고사용율 구간 판단부(120), 노드 관리부(130), 그루핑 처리부(140), 사용자 속성 수집부(150), 그룹 대표 속성 관리부(160)를 포함하여 구성될 수 있다.As shown in the figure, the resource optimization device 100 includes a monitoring unit 110, a high usage rate section determination unit 120, a node management unit 130, a grouping processing unit 140, a user property collection unit 150, It may be configured to include a group representative attribute management unit 160 .

여기서 모니터링부(110)는 클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 모니터링하는 기능을 수행한다.Here, the monitoring unit 110 performs a function of monitoring the resource utilization rate of at least one node included in the cluster for a predetermined period.

즉, 클러스터는 적어도 하나의 노드가 모인 것으로서, 하나의 노드가 특정 서비스를 제공하기 위해 실행될 수도 있고, 또는 복수 개의 노드가 특정 서비스를 제공하기 위해 실행될 수도 있다.That is, a cluster is a collection of at least one node, and one node may be executed to provide a specific service or a plurality of nodes may be executed to provide a specific service.

모니터링부(110)는 이러한 각 노드들의 자원 사용률(즉, IT 자원 사용률)을 지속적으로 모니터링하는 기능을 수행하는데, 예를 들어 각 노드들의 cpu 점유량, 메모리 이용량, 네트워크 사용량 등을 모니터링할 수 있다.The monitoring unit 110 performs a function of continuously monitoring the resource usage rate (ie, IT resource usage rate) of each node. For example, it can monitor CPU occupancy, memory usage, network usage, etc. of each node. .

고사용율 구간 판단부(120)는 모니터링부(110)의 모니터링 결과에 기초하여 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하는 기능을 수행한다.The high usage rate section determiner 120 performs a function of determining a cluster high usage rate section based on the monitoring result of the monitoring unit 110, matching the cluster to the corresponding cluster, and registering the high usage rate section.

예를 들어 고사용율 구간 판단부(120)는 클러스터에 포함된 적어도 하나의 노드의 자원 사용률이 기 설정된 제1 임계치를 초과한 경우 해당 시점을 임계치 시작 시점으로 설정하는 하고, 해당 임계치 시작 시점 설정 이후 기 설정된 시간 이내에 상기 적어도 하나의 노드의 자원 사용률이 추가로 상기 제1 임계치를 초과한 횟수가 기 설정된 기준 횟수 이상인 경우 상기 임계치 시작 시점을 상기 클러스터 고사용률 구간의 고사용률 시작 시점으로 등록할 수 있다.For example, when the resource utilization rate of at least one node included in the cluster exceeds a preset first threshold, the high usage rate section determination unit 120 sets the corresponding time as the starting time of the threshold, and after setting the starting time of the corresponding threshold If the number of times that the resource utilization rate of the at least one node exceeds the first threshold within a preset time is equal to or greater than the preset reference number, the threshold start time may be registered as the high utilization start time of the cluster high utilization section. .

여기서 제1 임계치를 초과한 상태를 지속하는 경우에는 고사용율 구간 판단부(120)는 기 설정된 시간 간격으로 카운트하여 제1 임계치를 초과한 횟수에 반영할 수 있음은 물론이다.In the case where the state of exceeding the first threshold is maintained, the high usage rate section determination unit 120 may count at a preset time interval and reflect the count to the number of times the first threshold is exceeded.

복수 개의 노드가 동일한 서비스를 위해 제공되고 있는 경우에는 고사용율 구간 판단부(120)는 이러한 복수 개의 노드의 자원 사용률의 평균을 기초로 고사용율 구간을 판단할 수 있고, 이하 설명에 있어서도 동일하게 적용된다. 물론 다른예로써, 동일한 서비스를 제공하는 자원 중 가장 높은 사용률을 나타내는 노드를 기준으로 고사용율 구간을 판단할 수도 있음은 물론이다. When a plurality of nodes are provided for the same service, the high usage rate section determination unit 120 may determine the high usage rate section based on the average of the resource usage rates of the plurality of nodes, and the same applies to the following description. do. Of course, as another example, a high usage rate interval may be determined based on a node showing the highest usage rate among resources providing the same service.

만일 상술한 바와 같이 임계치 시작 시점 설정 이후 기 설정된 시간 이내에 적어도 하나의 노드의 자원 사용률이 추가로 제1 임계치를 초과한 횟수가 기 설정된 기준 횟수 미만인 경우에는 고사용율 구간 판단부(120)는 임계치 시작 시점을 리셋(초기화)할 수 있다.If, as described above, if the number of times the resource usage rate of at least one node additionally exceeds the first threshold within a preset time after setting the threshold start point is less than the preset reference number, the high usage rate section determiner 120 starts the threshold You can reset (initialize) the viewpoint.

이러한 과정을 거쳐 고사용률 시작 시점이 등록되는 것이다.Through this process, the start point of the high usage rate is registered.

한편, 고사용율 구간 판단부(120)는 고사용률 시작 시점이 등록된 이후에, 적어도 하나의 노드의 자원 사용률이 최초로 기 설정된 제2 임계치 미만이 되는 경우 해당 시점을 임계치 종료 시점으로 설정하고, 해당 임계치 종료 시점 설정 이후 기 설정된 시간 이내에 적어도 하나의 노드의 자원 사용률이 추가로 제1 임계치 미만이 되는 횟수가 기 설정된 기준 횟수 이상인 경우에는 고사용율 구간 판단부(120)는 임계치 종료 시점을 클러스터 고사용률 구간의 고사용률 종료 시점으로 등록할 수 있다.On the other hand, the high usage rate interval determining unit 120 sets the corresponding time as the threshold end time when the resource usage rate of at least one node first becomes less than the preset second threshold after the high usage rate start time is registered, and If the number of times that the resource utilization rate of at least one node is additionally lower than the first threshold value within a preset time after setting the threshold end point is equal to or greater than the preset reference number, the high utilization interval determining unit 120 determines the threshold end point as the cluster high utilization rate It can be registered as the end point of the high usage rate of the section.

만일 상술한 바와 같이 임계치 시작 시점 설정 이후 기 설정된 시간 이내에 적어도 하나의 노드의 자원 사용률이 추가로 제1 임계치 미만이 되는 횟수가 기 설정된 기준 횟수 미만인 경우에는 고사용율 구간 판단부(120)는 임계치 종료 시점을 리셋(초기화)할 수 있다.If, as described above, if the number of times that the resource utilization rate of at least one node is additionally lower than the first threshold value within a preset time after setting the threshold start point is less than the preset reference number, the high utilization interval determining unit 120 terminates the threshold value. You can reset (initialize) the viewpoint.

이러한 과정을 거쳐 고사용률 종료 시점이 등록되는 것이다.Through this process, the high usage rate end point is registered.

고사용률 시작 시점과 고사용률 종료 시점에 의해 고사용율 구간이 결정될 수 있는 것이다.The high usage rate section can be determined by the high usage rate start time and the high usage rate end time point.

한편, 고사용율 구간 판단부(120)는 적어도 하나의 노드에 접속하여 서비스를 제공받는 사용자들의 성별 비율과, 연령별 비율을 등록할 수 있다. 이는 일정 시간동안에 평균내어 등록한 것일 수 있다. 여기서 접속한 사용자들의 성별 비율, 연령별 비율은 로그인 기반 처리의 경우 회원 가입시에 등록한 정보를 이용하여 획득할 수 있다.Meanwhile, the high usage rate section determination unit 120 may register a gender ratio and a ratio by age of users receiving services by accessing at least one node. This may be averaged over a certain period of time and registered. In the case of login-based processing, the gender ratio and age ratio of accessed users can be obtained using information registered at the time of membership registration.

고사용율 구간 판단부(120)가 클러스터 고사용률 구간을 판단함에 있어서 인공 지능 모듈이 이용될 수도 있다. 즉, 고사용율 구간 판단부(120)는 기계 학습에 의해 구축된 인공 지능 모듈의 출력 결과에 기초하여 클러스터 고사용률 구간을 판단할 수 있는 것이다.An artificial intelligence module may be used when the high usage rate section determining unit 120 determines the cluster high usage rate section. That is, the high usage rate section determination unit 120 can determine the cluster high usage rate section based on the output result of the artificial intelligence module built by machine learning.

여기서 인공 지능 모듈은 기 저장된 기계 학습용 데이터를 이용한 주기적인 기계 학습을 수행하여 그 완성도를 높일 수 있음은 물론이다.Of course, the artificial intelligence module can perform periodic machine learning using pre-stored machine learning data to increase its level of completion.

예를 들어 기계 학습을 수행함에 있어서 시간 구간, 자원 사용량 변화량을 입력으로 하고, 신규 노드 추가시 서비스 반응 평균 지연 시간을 출력 위치의 라벨링 데이터로 하는 지도 학습을 수행할 수 있다.For example, in performing machine learning, supervised learning may be performed using a time interval and a change in resource usage as inputs and an average service response delay time when a new node is added as labeling data of an output location.

노드 관리부(130)는 고사용율 구간 판단부(120)에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 고사용율 구간 판단부(120)에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 기능을 수행한다.The node management unit 130 processes node expansion when the time corresponding to the high utilization start time arrives in the high utilization interval of the corresponding cluster determined by the high utilization interval determining unit 120, and processes the node expansion according to the high utilization interval determining unit 120. It performs a function to process node reduction when the time corresponding to the end of the high usage rate arrives during the high usage rate period of the cluster.

노드 관리부(130)는 고사용율 구간 판단부(120)에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 수행한다.The node management unit 130 performs node expansion when the time corresponding to the start time of the high utilization rate among the high utilization intervals of the corresponding cluster determined by the high utilization interval determination unit 120 arrives.

여기서 노드 확장은 기존의 노드에 할당된 자원을 크게 하는(일 예로 cpu 코어 추가, 추가 메모리 할당, 네트워크 용량 확대 등) 방식으로 이루어질 수도 있고, 또는 새로운 노드를 추가하는 방식으로 이루어질 수도 있다.Here, node expansion may be performed by increasing resources allocated to existing nodes (for example, by adding a cpu core, allocating additional memory, expanding network capacity, etc.) or by adding a new node.

이하 본 실시예를 설명함에 있어서는 새로운 노드를 추가하는 것을 일 예로 한다.In the following description of this embodiment, adding a new node is taken as an example.

예를 들어 노드 관리부(130)는 클러스터에 기 매칭된 예약 시간 설정 정책을 추출한 후, 해당 추출된 예약 시간 설정 정책과 고사용율 구간 판단부(120)에서 판단한 고사용률 시작 시점을 이용하여 노드 자원 추가 예약 시간을 판단하고, 해당 노드 자원 추가 예약 시간이 도래하는 경우 새로운 노드의 추가를 처리할 수 있다.For example, the node management unit 130 extracts the reservation time setting policy previously matched with the cluster, and then adds node resources using the extracted reservation time setting policy and the high utilization rate start time determined by the high utilization section determination unit 120. The reservation time is determined, and when the additional reservation time for the corresponding node resource arrives, the addition of a new node may be processed.

여기서 예약 시간 설정 정책은 관리자에 의해 일종의 마진값으로서 일 예로 분단위로 설정된 것일 수 있다.Here, the reservation time setting policy may be set by the manager as a kind of margin value, for example, in units of minutes.

한편, 노드 관리부(130)는 현재 적어도 하나의 노드에 접속하는 성별 비율과 연령별 비율이 앞서 고사용율 구간 판단부(120)에 의해 기 등록된 성별 비율과 연령별 비율과 기 설정된 범위 이내에서 유사한 경우에 한하여, 고사용률 시작 시점에 대응하는 시간 도래시 새로운 노드의 추가를 수행할 수 있다.Meanwhile, the node manager 130 determines that the gender ratio and the age ratio currently connected to at least one node are similar to the gender ratio and age ratio previously registered by the high usage rate section determination unit 120 within a preset range. However, a new node may be added when the time corresponding to the start time of the high usage rate arrives.

즉, 고사용률 구간 판단시에 해당 노드가 제공하는 서비스를 이용하는 사용자들의 성별 비율과 연령별 비율이(이러한 정보는 미리 저장 등록되어 있을 수 있음), 현재 시점 즉, 새로운 노드의 추가 여부를 판단하는 시점의 서비스를 이용하는 사용자들의 성별 비율과 연령별 비율이 유사한 경우에 한하여 해당 고사용률 시작 시점에 대해 신뢰하여 처리하는 것인데, 이러한 방식은 후술하는 노드 축소과정에서도 동일한 방식으로 처리될 수 있다.That is, when determining the high usage rate interval, the gender ratio and age ratio of users using the service provided by the corresponding node (these information may be stored and registered in advance) is the current point in time, that is, the point in time when determining whether to add a new node. Only when the gender ratio and age ratio of users using the service are similar, the high usage rate start time is trusted and processed. This method can be processed in the same way in the node reduction process described later.

특히, 노드 관리부(130)는 현재 적어도 하나의 노드에 접속하는 성별 비율과 연령별 비율 중 어느 하나와 기 등록된 성별 비율과 연령별 비율 중 어느 하나를 비교하여 기 설정된 범위 이상 차이가 발생한 경우에는, 해당 차이가 비중이 더 큰 항목의 증가로 인해 발생한 경우 그 차이에 대응되는 시간만큼 새로운 노드의 추가 시점을 앞당겨 처리할 수 있다.In particular, the node management unit 130 compares any one of the gender ratio and the age-specific ratio currently connected to at least one node and any one of the pre-registered gender ratio and the age-specific ratio, and when a difference of more than a preset range occurs, the corresponding If the difference is caused by the increase of an item with a larger weight, the time point of adding a new node can be advanced by the time corresponding to the difference.

예를 들어 고사용율 시작 시점을 판단하는 당시의 사용자의 연령별 비율(기 설정된 시간 동안의 평균일 수 있음)이 10대는 10%, 20대는 15%, 30대는 55%, 40대는 17%, 50대 이상은 3%라고 가정하면, 현재 서비스를 이용하는 30대의 비중이 10% 증가한 경우에는 해당 차이에 대응되는 시간만큼(일 예로 1%당 1분) 앞당겨서 새로운 노드의 추가를 수행할 수 있는 것이다.For example, the percentage of users by age at the time of determining the start of high usage (which can be an average over a preset period of time) is 10% in their teens, 15% in their 20s, 55% in their 30s, 17% in their 40s, and 50s. Assuming that the above is 3%, if the percentage of people in their 30s currently using the service increases by 10%, it is possible to add a new node earlier by the time corresponding to the difference (for example, 1 minute per 1%).

이러한 노드 추가 시점 변경 판단은 당연히 기 등록된 고사용률 시작 시점이 도래하기 전에 이루어져야 한다.Of course, the decision to change the node addition time must be made before the already registered high utilization start time arrives.

이에 반해 10대의 비중이 10% 증가한 경우에는 노드 관리부(130)는 상술한 바와 같이 노드 추가 시점을 앞당기지는 않고 처리하는 것이다.On the other hand, when the proportion of teenagers increases by 10%, the node management unit 130 does not advance the node addition point as described above and processes it.

한편, 노드 관리부(130)는 노드 관리부(130)에 의해 새로운 노드가 추가된 이후에, 고사용율 구간 판단부(120)에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 수행할 수 있다.Meanwhile, the node manager 130, after a new node is added by the node manager 130, arrives at the time corresponding to the end of the high utilization rate among the high utilization intervals of the cluster determined by the high utilization interval determination unit 120. You can perform node reduction.

여기서 노드 축소는 기존의 노드에 할당된 자원을 줄이는(일 예로 cpu 코어 제거, 할당된 일부 메모리 회수, 네트워크 용량 축소 등) 방식으로 이루어질 수도 있고, 또는 현재 동작 중인 노드 중 적어도 어느 하나를 제거하는 방식으로 이루어질 수도 있다.Here, node reduction may be performed by reducing resources allocated to existing nodes (for example, removing cpu cores, recovering some allocated memory, reducing network capacity, etc.), or removing at least one of currently operating nodes. may be made of

이하 본 실시예를 설명함에 있어서는 노드 삭제 또는 제거하는 것을 일 예로 한다.In the following description of the present embodiment, deleting or removing a node is taken as an example.

예를 들어 노드 관리부(130)는 클러스터에 기 매칭된 예약 시간 설정 정책을 추출한 후, 해당 추출된 예약 시간 설정 정책과 고사용율 구간 판단부(120)에서 판단한 고사용률 종료 시점을 이용하여 노드 자원 해제 예약 시간을 판단할 수 있다.For example, the node management unit 130 extracts the reservation time setting policy previously matched with the cluster, and then releases the node resources using the extracted reservation time setting policy and the high usage rate end point determined by the high usage rate section determining unit 120. Reservation time can be judged.

여기서 예약 시간 설정 정책은 관리자에 의해 일종의 마진값으로서 일 예로 분단위로 설정된 것일 수 있는데, 반드시 노드 관리부(130)에서 이용하는 예약 시간 설정 정책과 동일할 필요는 없다.Here, the reservation time setting policy may be set by the administrator as a kind of margin value, for example, in minutes, but does not necessarily have to be the same as the reservation time setting policy used by the node management unit 130 .

특히, 노드 관리부(130)는 해당 노드 자원 해제 예약 시간이 도래 전 기 설정된 시간 동안의 적어도 하나의 노드의 자원 사용률을 체크하여 기 설정된 조건을 초과하는 경우 노드 자원 해제 예약 시간을 재 산정하고, 해당 노드 자원 해제 예약 시간이 도래 전 기 설정된 시간 동안의 적어도 하나의 노드의 자원 사용률이 기 설정된 조건에 속하는 경우 해당 노드 자원 해제 예약 시간에 현재 구동중인 노드 중 적어도 어느 하나를 삭제할 수 있다.In particular, the node manager 130 checks the resource usage rate of at least one node for a set time before the corresponding node resource release reservation time arrives, recalculates the node resource release reservation time when it exceeds a preset condition, and If the resource usage rate of at least one node for a predetermined time period before the node resource release reservation time arrives is within a preset condition, at least one of the nodes currently running at the corresponding node resource release reservation time may be deleted.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

한편, 그루핑 처리부(140)는 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 소정의 알고리즘에 따라 고사용율 구간을 매칭시키는 기능을 수행한다.On the other hand, the grouping processing unit 140 performs a function of matching a high usage rate section according to a predetermined algorithm with respect to a new cluster in which the high usage rate section is not matched.

예를 들어 관리자가 신규 클러스터를 생성하는 경우, 해당 신규 클러스터에는 앞선 과정 즉, 고사용률 구간을 판단하는 과정들이 아직 이루어지지 않았으므로 고사용율 구간이 매칭되어 있지 못한데, 그루핑 처리부(140)는 이미 고사용률 구간이 매칭된 다른 클러스터와 소정의 방식으로 동일한 그룹으로 묶일 수 있다고 판단한 신규 클러스터에 대해서 기존 클러스터에 매칭된 고사용율 구간을 매칭시키는 것이다.For example, when the administrator creates a new cluster, the previous process, that is, the process of determining the high usage rate section has not yet been performed in the new cluster, so the high usage rate section is not matched, but the grouping processing unit 140 has already The high-usage section matched to the existing cluster is matched to the new cluster that is determined to be grouped in the same group with other clusters matched with the usage-rate section in a predetermined method.

구체적으로, 그루핑 처리부(140)는 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 해당 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 앞서 언급한 타 클러스터와 동일한 그룹으로 그루핑한 후, 해당 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 기능을 수행하는 것이다.Specifically, the grouping processing unit 140 determines that the order of increasing consumption by resource matches the order of increasing consumption by resource matched to other clusters, and that the degree of increase in consumption by resource matches the degree of increase in consumption by resource matched to the corresponding other cluster and within a preset range. In case of similarity within the range, after grouping the new cluster into the same group as the other cluster mentioned above, the function of matching and storing the high usage rate section matched to the other cluster to the corresponding new cluster is performed.

여기서 자원별 소모량 증가 순서라는 것은 CPU 코어의 이용률일 기 설정된 범위 이상 초과한 이후에 네트워크 사용량이 기 설정된 범위 이상 증가하고, 이때 메모리 사용량은 기 설정된 범위 이내인 경우, 자원별 소모량 증가 순서는 "CPU -> 네트워크"가 되는 것이다.Here, the order of increasing consumption by resource means that after the utilization rate of the CPU core exceeds the predetermined range, the network usage increases by more than the predetermined range, and the memory usage is within the predetermined range, the order of increasing consumption by resource is "CPU -> It becomes a "network".

한편, 사용자 속성 수집부(150)는 앞서 처리 과정을 통해 동일한 그룹으로 그루핑된 클러스터들 각각에 대해서 해당 클러스터에 포함된 노드들에 접속하는 접속 경로, 접속 단말기, 사용자 성별, 사용자 연령대를 기초로 적어도 하나의 사용자 속성을 정의하여 각 클러스터에 매칭시켜 저장하는 기능을 수행한다.On the other hand, the user property collection unit 150, for each of the clusters grouped into the same group through the previous processing process, based on at least It performs the function of defining one user attribute, matching it to each cluster, and storing it.

예를 들어 특정 클러스터에 포함된 노드들에 접속하는 사용자들의 평균을 판단한 결과, 키워드 광고 링크 통한 접속이 대부분이고, 스마트폰을 이용하는 비율이 PC를 이용한 비율보다 높으며, 여성 사용자보다 남성 사용자들이 많고, 30대의 연령층이 가장 많이 접속한 경우, 사용자 속성 수집부(150)는 해당 클러스터에 대해서 사용자 속성으로서 '키워드 광고 링크 접속', '스마트폰', '남성', '30대'를 정의하여 매칭시킬 수 있다.For example, as a result of determining the average number of users accessing nodes included in a specific cluster, most of the access is through a keyword advertisement link, the percentage using a smartphone is higher than the percentage using a PC, there are more male users than female users, If the age group in their 30s accesses the most, the user property collection unit 150 defines 'keyword advertisement link access', 'smartphone', 'male', and '30s' as user properties for the corresponding cluster to be matched. can

그룹 대표 속성 관리부(160)는 사용자 속성 수집부(150)에서 매칭한 동일한 그룹내의 각 클러스터별 사용자 속성을 비교하여 중첩되지 않는 속성을 제외하고, 나머지 사용자 속성을 해당 그룹에 대표 속성으로 매칭시켜 저장하는 기능을 수행한다.The group representative attribute management unit 160 compares the user attributes of each cluster in the same group matched by the user attribute collection unit 150, excludes non-overlapping attributes, and matches the remaining user attributes to the corresponding group as representative attributes and stores them. perform the function of

삭제delete

삭제delete

삭제delete

도 2에는 상술한 자원 최적화 장치(100)의 전체적인 제어 흐름이 도시되었다.2 shows the overall control flow of the resource optimization apparatus 100 described above.

자원 최적화 장치(100)는 클러스터에 포함된 노드의 자원 사용률(예를 들어 기 설정된 기간동안의 노드들의 평균 자원 사용률)을 기초로 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록한다(단계 S1).The resource optimization apparatus 100 determines a cluster high utilization rate interval based on the resource utilization rate of nodes included in the cluster (for example, the average resource utilization rate of nodes for a predetermined period), matches it to the corresponding cluster, and registers it (step S1). ).

또한 자원 최적화 장치(100)는 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장한다(단계 S3). 이러한 자원별 소모량 증가 순서 및 증가 정도는 기 설정된 기간 동안의 평균에 해당하는 통계치일 수 있다.In addition, the resource optimization apparatus 100 matches and stores the increasing order and degree of consumption of each resource with the corresponding cluster (step S3). The increasing order and degree of consumption for each resource may be a statistical value corresponding to an average for a predetermined period.

이후, 자원 최적화 장치(100)는 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리할 수 있다(단계 S5).Thereafter, the resource optimization apparatus 100 may process node expansion when the time corresponding to the start time of the high utilization rate among the high utilization rate intervals of the corresponding cluster arrives (step S5).

이후, 자원 최적화 장치(100)는 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리할 수 있다(단계 S7).Thereafter, the resource optimization apparatus 100 may process node reduction when the time corresponding to the end of the high utilization rate among the high utilization rate intervals of the corresponding cluster arrives (step S7).

또한, 자원 최적화 장치(100)는 신규 클러스터(아직 고사용률 구간이 매칭되지 않은 클러스터)가 생성되는 시점에 자원별 소모량 증가 순서가 타 특정 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 타 특정 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 해당 타 특정 클러스터와 동일한 그룹으로 그루핑한 후, 그 타 특정 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장할 수 있다(단계 S9).In addition, the resource optimization apparatus 100 determines that, at the time when a new cluster (a cluster to which a high usage rate period has not yet been matched) is created, the order of increasing consumption for each resource matches the order of increasing consumption for each resource matched to another specific cluster, and for each resource If the degree of increase in consumption is similar to the degree of increase in consumption for each resource matched to another specific cluster within a preset range, the new cluster is grouped into the same group as the other specific cluster, and then the high utilization interval matched to the other specific cluster may be matched to the corresponding new cluster and stored (step S9).

이에 따라 아직 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서도 서비스 제공 시점으로부터 예를 들어 2 시간 동안의 자원별 소모량 증가 순서 및 증가 정도에 기초하여 고사용률 구간을 설정할 수 있어서, 실제 해당 신규 클러스터에 통계처리에 기초하여 보다 정확한 고사용률 구간을 설정되기 전까지도 유사성에 기초하여 임시 노드 확장/축소가 이루어질 수 있어서 관리자 편의성을 증대시킨다.Accordingly, even for a new cluster that has not yet been matched with a high utilization rate interval, it is possible to set a high utilization rate interval based on the increasing order and degree of increase in consumption by resource for, for example, 2 hours from the time of service provision, Temporary node expansion/decrease can be performed based on the similarity even before a more accurate high-usage section is set based on processing, thereby increasing administrator convenience.

특히 노드들 특성을 고려하면 자원별 소모량 증가 순서와 증가 정도만으로도 고사용률 구간에 대한 상당한 정확도를 달성할 수 있다.In particular, considering the characteristics of nodes, it is possible to achieve considerable accuracy for a high-usage section only by increasing the order and degree of consumption by resource.

한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 RAM(Random Access Memory)과 같은 전자적 기록 매체, 하드 디스크와 같은 자기적 기록 매체, CD(Compact Disk)와 같은 광학적 기록 매체 등을 모두 포함한다.Meanwhile, it goes without saying that the process of performing each of the above-described embodiments may be performed by a program or application stored in a predetermined recording medium (for example, computer-readable). Here, the recording medium includes all of an electronic recording medium such as RAM (Random Access Memory), a magnetic recording medium such as a hard disk, an optical recording medium such as a CD (Compact Disk), and the like.

이때, 기록 매체에 저장된 프로그램은 컴퓨터나 스마트폰 등과 같은 하드웨어 상에서 실행되어 상술한 각 실시예를 수행할 수 있다. 특히, 상술한 본 발명에 따른 자원 최적화 장치(100)의 기능 블록 중 적어도 어느 하나는 이러한 프로그램 또는 애플리케이션에 의해 구현될 수 있다.At this time, the program stored in the recording medium may be executed on hardware such as a computer or smart phone to perform each of the above-described embodiments. In particular, at least one of the functional blocks of the resource optimization apparatus 100 according to the present invention described above may be implemented by such a program or application.

또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. In addition, the present invention is not limited to the specific embodiments described above, but can be implemented by various modifications and variations within the scope of the present invention. It will be apparent that such variations and modifications are included in the present invention provided they fall within the scope of the appended claims.

100 : 자원 최적화 장치 110 : 모니터링부
120 : 고사용율 구간 판단부 130 : 노드 관리부
140 : 그루핑 처리부 150 : 사용자 속성 수집부
160 : 그룹 대표 속성 관리부
100: resource optimization device 110: monitoring unit
120: high usage rate section determination unit 130: node management unit
140: grouping processing unit 150: user property collection unit
160: group representative property management unit

Claims (8)

(a) 클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 기초로 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하고, 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장하는 단계와;
(b) 상기 (a) 단계에서 판단된 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 상기 (a) 단계에서 판단된 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 단계와;
(c) 고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 상기 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 상기 타 클러스터와 동일한 그룹으로 그루핑한 후, 상기 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 단계를 포함하는 것을 특징으로 하는 멀티 클러스터 환경에서의 자원 최적화 장치의 제어방법.
(a) Based on the resource usage rate of at least one node included in the cluster for a predetermined period, the cluster high usage rate interval is determined, matched to the corresponding cluster, and registered, and the order and degree of increase in consumption by resource are matched with the corresponding cluster storing;
(b) Node expansion is processed when the time corresponding to the start of the high utilization among the high utilization intervals of the corresponding cluster determined in step (a) above arrives, and the high utilization rate among the high utilization intervals of the cluster determined in step (a) above processing node reduction when a time corresponding to a usage rate end point arrives;
(c) For a new cluster with unmatched high-utilization rate intervals, the increasing order of consumption per resource matches the increasing order of consumption per resource matched to other clusters, and the degree of increase in consumption per resource matches the consumption per resource matched to the other cluster. If the degree of increase is similar within a predetermined range, grouping the new cluster into the same group as the other cluster, and then matching and storing the high usage rate section matched to the other cluster to the new cluster. A control method of a resource optimization device in a multi-cluster environment.
클러스터에 포함된 적어도 하나의 노드의 소정 기간 동안의 자원 사용률을 모니터링하는 모니터링부와;
상기 모니터링부의 모니터링 결과에 기초하여 클러스터 고사용률 구간을 판단하여 해당 클러스터에 매칭시켜 등록하고, 자원별 소모량 증가 순서 및 증가 정도를 해당 클러스터에 매칭시켜 저장하는 고사용율 구간 판단부;
상기 고사용율 구간 판단부에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 시작 시점에 대응되는 시간 도래시 노드 확장을 처리하고, 상기 고사용율 구간 판단부에서 판단한 해당 클러스터의 고사용률 구간 중 고사용률 종료 시점에 대응되는 시간 도래시 노드 축소를 처리하는 노드 관리부와;
고사용률 구간이 매칭되지 않은 신규 클러스터에 대해서, 자원별 소모량 증가 순서가 타 클러스터에 매칭된 자원별 소모량 증가 순서와 일치하고, 자원별 소모량 증가 정도가 상기 타 클러스터에 매칭된 자원별 소모량 증가 정도와 기 설정된 범위 이내에서 유사한 경우, 해당 신규 클러스터를 상기 타 클러스터와 동일한 그룹으로 그루핑한 후, 상기 타 클러스터에 매칭된 고사용률 구간을 해당 신규 클러스터에 매칭시켜 저장하는 그루핑 처리부를 포함하는 것을 특징으로 하는 멀티 클러스터 환경에서의 자원 최적화 장치.
a monitoring unit that monitors a resource utilization rate of at least one node included in the cluster for a predetermined period of time;
a high usage rate section determination unit for determining a cluster high utilization rate interval based on the monitoring result of the monitoring unit, matching and registering the cluster with the corresponding cluster, and matching and storing the increasing order and amount of consumption for each resource with the corresponding cluster;
Node expansion is processed when the time corresponding to the start of high utilization among the high utilization intervals of the cluster determined by the high utilization interval determination unit arrives, and the end point of high utilization among the high utilization intervals of the corresponding cluster determined by the high utilization interval determination unit a node management unit for processing node reduction when the corresponding time arrives;
For a new cluster with unmatched high usage rate intervals, the increasing order of consumption by resource matches the order of increasing consumption by resource matched to other clusters, and the increasing degree of consumption by resource matches the increasing degree of consumption by resource matched to the other cluster A grouping processing unit that groups the new cluster into the same group as the other cluster, and then matches and stores the high usage rate section matched to the other cluster with the new cluster when it is similar within a preset range. A resource optimizer in a multi-cluster environment.
삭제delete 삭제delete 삭제delete 삭제delete 제2항의 자원 최적화 장치의 기능을 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the functions of the resource optimization device of claim 2. 하드웨어와 결합되어 제2항의 자원 최적화 장치의 기능을 수행하기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 응용 프로그램.An application program stored in a computer readable recording medium in order to perform the function of the resource optimization device of claim 2 in combination with hardware.
KR1020220176750A 2022-12-16 2022-12-16 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment KR102569002B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220176750A KR102569002B1 (en) 2022-12-16 2022-12-16 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220176750A KR102569002B1 (en) 2022-12-16 2022-12-16 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment

Publications (1)

Publication Number Publication Date
KR102569002B1 true KR102569002B1 (en) 2023-08-23

Family

ID=87848859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220176750A KR102569002B1 (en) 2022-12-16 2022-12-16 Apparatus and method for automatic optimization of virtual machine in multi-cluster environment

Country Status (1)

Country Link
KR (1) KR102569002B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102213A1 (en) * 2017-09-29 2019-04-04 NEC Laboratories Europe GmbH Intelligent self-configuring decision method for the cloud resources management and orchestration
KR20200044199A (en) * 2018-10-10 2020-04-29 주식회사 케이티 Method and Apparatus for Workload Balancing in Cloud Computing Environment
KR102322312B1 (en) 2021-05-24 2021-11-05 나무기술 주식회사 Container security management system using Kubernetes RBAC
KR20220141070A (en) * 2021-04-12 2022-10-19 한국전자통신연구원 Apparatus for container orchestration in geographically distributed multi cloud environment and method using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102213A1 (en) * 2017-09-29 2019-04-04 NEC Laboratories Europe GmbH Intelligent self-configuring decision method for the cloud resources management and orchestration
KR20200044199A (en) * 2018-10-10 2020-04-29 주식회사 케이티 Method and Apparatus for Workload Balancing in Cloud Computing Environment
KR20220141070A (en) * 2021-04-12 2022-10-19 한국전자통신연구원 Apparatus for container orchestration in geographically distributed multi cloud environment and method using the same
KR102322312B1 (en) 2021-05-24 2021-11-05 나무기술 주식회사 Container security management system using Kubernetes RBAC

Similar Documents

Publication Publication Date Title
US20220291941A1 (en) Compute Platform Recommendations for New Workloads in a Distributed Computing Environment
US11360795B2 (en) Determining configuration parameters to provide recommendations for optimizing workloads
US10460254B2 (en) System and method for reducing state space in reinforced learning by using decision tree classification
CN112395293B (en) Database and table dividing method, database and table dividing device, database and table dividing equipment and storage medium
US10346496B2 (en) Information category obtaining method and apparatus
CN108874502B (en) Resource management method, device and equipment of cloud computing cluster
WO2020034492A1 (en) Method and system for expanding and shrinking capacity of virtual network function
WO2020198610A1 (en) Compute platform recommendations for new workloads in a distributed computing environment
CN109358964B (en) Server cluster resource scheduling method
CN109412865B (en) Virtual network resource allocation method, system and electronic equipment
CN116089477B (en) Distributed training method and system
KR102569002B1 (en) Apparatus and method for automatic optimization of virtual machine in multi-cluster environment
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
CN115151902A (en) Cluster capacity expansion method and device, storage medium and electronic equipment
KR102569001B1 (en) Apparatus and method for automatic optimization of virtual machine of cloud
CN113873025B (en) Data processing method and device, storage medium and electronic equipment
US8225009B1 (en) Systems and methods for selectively discovering storage devices connected to host computing devices
KR102307641B1 (en) Parallel processing control system for cloud operation data analysis
CN112181600B (en) Cloud computing resource management method and system
CN114936106A (en) Method, device and medium for processing host fault
CN117332881B (en) Distributed training method and electronic equipment
CN114461407B (en) Data processing method, data processing device, distribution server, data processing system, and storage medium
CN113271323A (en) Cluster capacity expansion method and device and storage medium
US11627085B2 (en) Non-transitory computer-readable recording medium, service management device, and service management method
CN111144509B (en) Method, device and computer for classifying system application programs

Legal Events

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