KR20230057084A - Apparatus and method for optimizing blockchain resources - Google Patents

Apparatus and method for optimizing blockchain resources Download PDF

Info

Publication number
KR20230057084A
KR20230057084A KR1020210141082A KR20210141082A KR20230057084A KR 20230057084 A KR20230057084 A KR 20230057084A KR 1020210141082 A KR1020210141082 A KR 1020210141082A KR 20210141082 A KR20210141082 A KR 20210141082A KR 20230057084 A KR20230057084 A KR 20230057084A
Authority
KR
South Korea
Prior art keywords
container
resource
pod
resources
blockchain
Prior art date
Application number
KR1020210141082A
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 KR1020210141082A priority Critical patent/KR20230057084A/en
Publication of KR20230057084A publication Critical patent/KR20230057084A/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/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/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/505Allocation 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 the load
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An objective of the present invention is to provide a method configured to optimize resources allocated to containers constituting a blockchain network and a method performed by the device. The present disclosure relates to a blockchain resource optimizing method and a device therefor. According to several embodiments of the present disclosure, the blockchain resource optimizing method, which is a method performed by a computing device, may comprise: filtering resource usage of a first container for a one-time process, wherein the first container is a process execution unit included in a pod, and the pod is an application execution unit included in a blockchain network; calculating, based on the filtering result, a resource utilization rate of the first container for a transaction process; calculating an optimal resource allocation amount for the first container based on the resource utilization rate; and adjusting, based on the optimal resource allocation, resources of the pod containing the first container.

Description

블록체인 리소스 최적화 방법 및 그 장치{APPARATUS AND METHOD FOR OPTIMIZING BLOCKCHAIN RESOURCES}Blockchain resource optimization method and its device {APPARATUS AND METHOD FOR OPTIMIZING BLOCKCHAIN RESOURCES}

본 개시는 블록체인 리소스를 최적화하는 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 일회성 프로세스에 대한 리소스 사용을 필터링함으로써, 블록체인 네트워크를 구성하는 컨테이너에 최적의 리소스를 할당하는 방법 및 장치에 관한 것이다.The present disclosure relates to a method and apparatus for optimizing blockchain resources. More specifically, it relates to a method and apparatus for allocating optimal resources to containers constituting a blockchain network by filtering resource usage for one-time processes.

종래에는, 하나의 물리 서버에서 다수의 애플리케이션이 실행됨에 따라, 어느 하나의 애플리케이션이 물리 서버의 리소스를 대다수 사용하는 경우 다른 애플리케이션의 성능이 저하되었다. 이에 대한 대안으로, 다수의 물리 서버를 이용해 각각의 애플리케이션을 실행하는 방식이 도출되었으나, 이러한 방식은 다수의 물리 서버 각각의 리소스가 충분히 활용되지 않았다.Conventionally, as a plurality of applications are executed in one physical server, when one application uses most of the resources of the physical server, the performance of other applications is degraded. As an alternative to this, a method of executing each application using a plurality of physical servers has been devised, but this method does not fully utilize the resources of each of the plurality of physical servers.

하나의 물리 서버에서 복수의 가상 머신(VM, Virtual Machine)을 실행하는 가상화 방식은, 각각의 가상 머신에서 실행되는 애플리케이션을 격리함에 따라 종래보다 효율적으로 리소스를 활용할 수 있었으나, 가상화 방식의 격리성으로 인하여 각 가상 머신마다 별도의 운영 체제(OS, Operating System)가 요구되었다.The virtualization method of running multiple virtual machines (VMs) on one physical server was able to utilize resources more efficiently than before by isolating applications running on each virtual machine, but due to the isolation of the virtualization method A separate operating system (OS) was required for each virtual machine.

이에 가상화 방식과 유사하나, 가상화 방식의 격리성을 다소 완화하여 애플리케이션 사이의 운영 체제를 공유하는 쿠버네티스(Kubernetes) 방식이 활용되고 있다. 특히, 쿠버네티스 방식은 분산 컴퓨팅을 탄력적으로 실행하기 위한 환경을 제공함으로써, 분산 데이터베이스의 일례인 블록체인 네트워크가 쿠버네티스 방식으로 구현되고 있다.Therefore, the Kubernetes method, which is similar to the virtualization method but somewhat alleviates the isolation of the virtualization method to share the operating system between applications, is being used. In particular, the Kubernetes method provides an environment for flexibly executing distributed computing, so a blockchain network, which is an example of a distributed database, is being implemented in the Kubernetes method.

그러나, 상술한 쿠버네티스 방식이 분산 컴퓨팅을 탄력적으로 실행하기 위한 환경을 제공하고 있다고는 하나, 리소스의 할당은 순전히 관리자의 경험에 의존하고 있으므로, 여전히 쿠버네티스 환경을 구성하는 컨테이너(container)에 유휴 리소스 또는 부족 리소스가 발생되었다.However, although the above-mentioned Kubernetes method provides an environment for elastically running distributed computing, the allocation of resources is purely dependent on the administrator's experience, so the containers that make up the Kubernetes environment are still An idle resource or insufficient resource occurred.

따라서, 적어도 하나의 컨테이너를 포함하는 파드(pod)에 최적 리소스 할당량을 제공함으로써, 컨테이너의 리소스를 최적화하는 기술이 요구된다.Therefore, a technique for optimizing the resources of a container by providing an optimal resource allocation amount to a pod including at least one container is required.

한국등록특허 제10-2191586호 (2020.05.15 공개)Korean Patent Registration No. 10-2191586 (published on May 15, 2020)

본 개시의 몇몇 실시예를 통해 해결하고자 하는 기술적 과제는, 블록체인 네트워크를 구성하는 컨테이너에 할당되는 리소스를 최적화하는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.A technical problem to be solved through some embodiments of the present disclosure is to provide a device for optimizing resources allocated to containers constituting a blockchain network and a method performed by the device.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 컨테이너(container)에 최적의 리소스가 할당됨으로써, 컨테이너에서 수행되는 프로세스의 성능을 향상시키는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide an apparatus for improving the performance of a process performed in a container by allocating optimal resources to a container, and a method performed in the apparatus. .

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 파드에 포함된 컨테이너에 최적의 리소스가 할당됨으로써, 유휴 리소스에 의해 소모되는 비용을 감소시키는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a device and a method performed by the device for reducing costs consumed by idle resources by allocating optimal resources to containers included in a pod. is to do

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 블록체인 네트워크를 통해 제공되는 서비스의 중단 없이도 파드의 리소스를 조정하는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a device for adjusting a resource of a pod without interruption of a service provided through a blockchain network and a method performed by the device.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 컨테이너의 리소스 사용률 산출의 정확도를 높일 수 있는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a device capable of increasing the accuracy of calculating a resource utilization rate of a container and a method performed by the device.

본 개시의 몇몇 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 리소스 배포의 우선 순위를 결정할 수 있는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide an apparatus capable of prioritizing resource distribution and a method performed by the apparatus.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 일회성 프로세스에 대한 제1 컨테이너의 리소스 사용을 필터링하는 단계 - 상기 제1 컨테이너는 파드(pod)에 포함되는 프로세스 실행 단위이고, 상기 파드는 블록체인 네트워크에 포함되는 애플리케이션 실행 단위임 -, 상기 필터링의 결과에 기초하여, 상기 트랜잭션 프로세스에 대한 상기 제1 컨테이너의 리소스 사용률을 산출하는 단계, 상기 리소스 사용률에 기초하여, 상기 제1 컨테이너의 최적 리소스 할당량을 산출하는 단계 및 상기 최적 리소스 할당량에 기초하여, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계를 포함할 수 있다.In order to solve the above technical problem, a method for optimizing blockchain resources according to some embodiments of the present disclosure is a method performed by a computing device, the step of filtering resource use of a first container for a one-time process - the first 1 container is a process execution unit included in a pod, and the pod is an application execution unit included in a blockchain network - Based on the result of the filtering, the resource utilization of the first container for the transaction process calculating an optimal resource allocation amount of the first container based on the resource utilization rate, and adjusting a resource of the Pod including the first container based on the optimal resource allocation amount. can do.

몇몇 실시예에서, 상기 블록체인 네트워크는, 퍼미션(permission) 기반의 블록체인 네트워크일 수 있다.In some embodiments, the blockchain network may be a permission-based blockchain network.

몇몇 실시예에서, 상기 필터링하는 단계는, 프로세스의 시작 시간 또는 종료 시간에 기초하여 결정된 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 리소스 사용을 필터링하는 단계를 포함하거나 프로세스의 종류에 기초하여 결정된 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 상기 리소스 사용을 필터링하는 단계를 포함할 수 있다.In some embodiments, the filtering step includes filtering the resource usage of the first container for the one-time process determined based on the start time or end time of the process or the one-time value determined based on the type of process. and filtering the resource usage of the first container for a process.

몇몇 실시예에서, 상기 리소스 사용률을 산출하는 단계는, 상기 제1 컨테이너의 리소스 할당량 및 리소스 사용량에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함하거나 상기 제1 컨테이너에서 처리된 트랜잭션 데이터의 개수에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함하거나 상기 제1 컨테이너의 지연 시간에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함할 수 있다.In some embodiments, calculating the resource utilization may include calculating the resource utilization based on the resource allocation and resource usage of the first container, or based on the number of transaction data processed in the first container. or calculating the resource utilization rate based on the delay time of the first container.

몇몇 실시예에서, 상기 최적 리소스 할당량을 산출하는 단계는, 상기 리소스 사용률이 상한 임계치를 초과하면, 상기 리소스 사용률이 감소되기 위한 상기 최적 리소스 할당량을 산출하는 단계를 포함할 수 있다. 여기서, 상기 최적 리소스 할당량은, 상기 리소스 사용률의 상한 임계치 및 하한 임계치에 기초하여 결정될 수 있다. 또한, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계는, 상기 최적 리소스 할당량과 상기 제1 컨테이너의 리소스 할당량의 차이에 기초하여, 상기 파드에 리소스를 배포하는 단계를 포함할 수 있다.In some embodiments, calculating the optimal resource allocation amount may include calculating the optimal resource allocation amount for reducing the resource usage rate when the resource usage rate exceeds an upper limit threshold. Here, the optimal resource allocation amount may be determined based on an upper limit threshold value and a lower limit threshold value of the resource utilization rate. The adjusting of the resources of the pod including the first container may include distributing resources to the pod based on a difference between the optimal resource allocation amount and the resource allocation amount of the first container. .

몇몇 실시예에서, 상기 최적 리소스 할당량을 산출하는 단계는, 상기 리소스 사용률이 하한 임계치 미만이면, 상기 리소스 사용률이 증가되기 위한 상기 최적 리소스 할당량을 산출하는 단계를 포함할 수 있다. 여기서, 상기 최적 리소스 할당량은, 상기 리소스 사용률의 상한 임계치 및 하한 임계치에 기초하여 결정될 수 있다. 또한, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계는, 상기 최적 리소스 할당량과 상기 제1 컨테이너의 리소스 할당량의 차이에 기초하여, 상기 파드의 리소스를 회수하는 단계를 포함할 수 있다.In some embodiments, calculating the optimal resource allocation amount may include calculating the optimal resource allocation amount for increasing the resource utilization rate when the resource utilization rate is less than a lower limit threshold. Here, the optimal resource allocation amount may be determined based on an upper limit threshold value and a lower limit threshold value of the resource utilization rate. The adjusting of the resources of the pod including the first container may include recovering the resources of the pod based on a difference between the optimal resource allocation amount and the resource allocation amount of the first container. .

몇몇 실시예에서, 관리자의 입력에 응답하여, 블록체인 리소스 최적화를 수행하는 단계를 더 포함하되, 상기 필터링하는 단계는, 상기 관리자의 입력에 기초하여 결정된 시구간에 존재하는 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 리소스 사용을 필터링하는 단계를 포함하고, 상기 리소스 사용률을 산출하는 단계는, 상기 시구간에 대응되는 상기 리소스 사용률을 산출하는 단계를 포함하고, 상기 최적 리소스 할당량을 산출하는 단계는, 상기 시구간에 대응되는 상기 최적 리소스 할당량을 산출하는 단계를 포함할 수 있다.In some embodiments, further comprising performing blockchain resource optimization in response to an administrator's input, wherein the filtering may include the first step for the one-time process existing in the time period determined based on the administrator's input. The step of filtering the resource usage of one container, wherein the step of calculating the resource usage rate includes the step of calculating the resource usage rate corresponding to the time period, and the step of calculating the optimal resource allocation amount includes the step of calculating the hour period. and calculating the optimal resource allocation amount corresponding to the liver.

몇몇 실시예에서, 상기 파드는, 상기 제1 컨테이너 및 상기 제1 컨테이너와 구별되는 제2 컨테이너를 포함하고, 상기 파드의 리소스를 조정하는 단계는, 상기 파드에 포함된 상기 제1 컨테이너 및 상기 제2 컨테이너 중 적어도 하나의 리소스의 조정이 요구되면, 상기 파드의 리소스를 조정하는 단계를 포함할 수 있다.In some embodiments, the Pod includes the first container and a second container distinct from the first container, and adjusting the resource of the Pod includes the first container and the second container included in the Pod. If adjustment of at least one resource of the two containers is requested, adjusting the resource of the Pod may be included.

본 개시의 다른 몇몇 실시예에 따른 블록체인 리소스 최적화 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 최적 리소스 할당량의 산출이 완료된 복수의 파드(pod)의 리스트를 얻는 단계 - 상기 최적 리소스 할당량은, 상기 복수의 파드 각각에 포함된 적어도 하나의 컨테이너의 리소스 사용률을 개선하기 위한 리소스 할당량이고, 상기 파드는 블록체인 네트워크에 포함된 애플리케이션 실행 단위이고, 상기 컨테이너는 프로세스 실행 단위임 -, 상기 리스트에 포함된 상기 복수의 파드 중 제1 파드의 리소스를 회수하는 단계 - 상기 제1 파드는, 상기 최적 리소스 할당량에 기초하여 리소스의 하향 조정이 요구되는 파드임 -, 상기 리스트에 포함된 상기 복수의 파드 중 제2 파드의 리소스 배포의 우선 순위를 결정하는 단계 - 상기 제2 파드는, 상기 최적 리소스 할당량에 기초하여 리소스의 상향 조정이 요구되는 파드임 - 및 상기 우선 순위에 기초하여, 상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계를 포함할 수 있다.A blockchain resource optimization method according to some other embodiments of the present disclosure is a method performed by a computing device, comprising obtaining a list of a plurality of pods for which calculation of an optimal resource allocation amount has been completed - the optimal resource allocation amount is , A resource allocation amount for improving the resource utilization of at least one container included in each of the plurality of pods, the pod is an application execution unit included in a blockchain network, and the container is a process execution unit -, in the list Reclaiming resources of a first pod among the plurality of pods included in the list - the first pod is a pod for which a downward adjustment of resources is required based on the optimal resource allocation amount -, the plurality of pods included in the list Determining the resource distribution priority of the second pod of the second pod - the second pod is a pod requiring upward adjustment of resources based on the optimal resource allocation amount - and based on the priority, the first pod distributing the resources recovered from the second pod to the second pod.

다른 몇몇 실시예에서, 상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계는, 상기 리스트에 포함된 상기 복수의 파드에 대한 분류가 완료되면, 상기 우선 순위에 기초하여 상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계를 포함할 수 있다.In some other embodiments, distributing the resource recovered from the first Pod to the second Pod may include, when classification of the plurality of Pods included in the list is completed, the first Pod based on the priority. Distributing the resource recovered from the Pod to the second Pod.

다른 몇몇 실시예에서, 상기 우선 순위는, 상기 리소스의 상향 조정의 양이 클수록 높게 결정될 수 있다. 여기서, 상기 리소스는, 메모리 및 CPU(Central Processing Unit)를 포함하고, 상기 우선 순위는, 상기 메모리의 제1 상향 조정의 양 및 상기 CPU의 제2 상향 조정의 양 각각에 적용되는 가중치에 기초하여 결정되고, 상기 제2 상향 조정의 양에 적용되는 제2 가중치는, 상기 제1 상향 조정의 양에 적용되는 제1 가중치 보다 높게 설정될 수 있다.In some other embodiments, the priority may be determined higher as the amount of upward adjustment of the resource increases. Here, the resource includes a memory and a central processing unit (CPU), and the priority is based on a weight applied to each of the first upward adjustment amount of the memory and the second upward adjustment amount of the CPU. The determined second weight applied to the amount of the second upward adjustment may be set higher than the first weight applied to the amount of the first upward adjustment.

본 개시의 또 다른 몇몇 실시예에 따른 블록체인 리소스 최적화 장치는, 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 일회성 프로세스에 대한 제1 컨테이너의 리소스 사용을 필터링하는 인스트럭션(instruction) - 상기 제1 컨테이너는 파드(pod)에 포함되는 프로세스 실행 단위이고, 상기 파드는 블록체인 네트워크에 포함되는 애플리케이션 실행 단위임 -, 상기 필터링의 결과에 기초하여, 상기 트랜잭션 프로세스에 대한 상기 제1 컨테이너의 리소스 사용률을 산출하는 인스트럭션, 상기 리소스 사용률에 기초하여, 상기 제1 컨테이너의 최적 리소스 할당량을 산출하는 인스트럭션 및 상기 최적 리소스 할당량에 기초하여, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 인스트럭션을 포함할 수 있다.An apparatus for optimizing blockchain resources according to another embodiment of the present disclosure includes a processor, a network interface, a memory, and a computer program loaded into the memory and executed by the processor, the computer program comprising: An instruction for filtering resource usage of a first container for a one-time process, wherein the first container is a process execution unit included in a pod, and the pod is an application execution unit included in a blockchain network; instructions for calculating the resource utilization rate of the first container for the transaction process based on the result of the filtering; instructions for calculating an optimal resource allocation amount of the first container based on the resource utilization rate; Based on this, it may include instructions for adjusting the resources of the Pod that includes the first container.

도 1은 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치가 적용될 수 있는 예시적인 환경을 도시한다.
도 2는 본 개시의 몇몇 실시예에서 참조될 수 있는 쿠버네티스 환경을 설명하기 위한 예시적인 도면이다.
도 3은 도 1을 참조하여 설명된 블록체인 리소스 최적화 장치의 동작을 보다 구체적으로 설명하기 위한 예시적인 도면이다.
도 4 및 도 5는 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 방법을 설명하기 위한 예시적인 순서도이다.
도 6은 본 개시의 몇몇 실시예에서 참조될 수 있는 컨테이너의 리소스 사용률을 설명하기 위한 예시적인 도면이다.
도 7은 본 개시의 몇몇 실시예에서 참조될 수 있는 컨테이너의 리소스 최적화를 설명하기 위한 예시적인 도면이다.
도 8은 본 개시의 다양한 실시예에 따른 장치 및/또는 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
1 illustrates an exemplary environment to which an apparatus for optimizing blockchain resources according to some embodiments of the present disclosure may be applied.
2 is an exemplary diagram for describing a Kubernetes environment that may be referenced in some embodiments of the present disclosure.
3 is an exemplary diagram for explaining the operation of the block chain resource optimization device described with reference to FIG. 1 in more detail.
4 and 5 are exemplary flowcharts for describing a method for optimizing blockchain resources according to some embodiments of the present disclosure.
6 is an exemplary diagram for explaining a resource utilization rate of a container that may be referred to in some embodiments of the present disclosure.
7 is an exemplary diagram for explaining resource optimization of a container that may be referred to in some embodiments of the present disclosure.
8 depicts an example computing device on which devices and/or systems in accordance with various embodiments of the present disclosure may be implemented.

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

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present disclosure. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.

또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Also, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the present disclosure. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.

본 명세서에서 사용되는 "파드(pod)"는, 쿠버네티스(kubernetes) 환경에서 생성하고 관리될 수 있는 배포 가능한 가장 작은 컴퓨팅 단위일 수 있다. 예를 들어, 블록체인 네트워크가 쿠버네티스로 구현되는 경우, 파드는 블록체인 네트워크에 포함될 수 있는 애플리케이션의 실행 단위일 수 있다. 또한, 본 명세서에서 사용되는 "컨테이너(container)"는, 파드에 포함되는 것으로써, 애플리케이션 프로세스의 실행 단위일 수 있다.As used herein, a "pod" may be the smallest deployable computing unit that can be created and managed in a Kubernetes environment. For example, when a blockchain network is implemented with Kubernetes, a pod can be an execution unit of an application that can be included in a blockchain network. Also, a “container” used in this specification is included in a pod, and may be an execution unit of an application process.

상술한 "파드" 및 "컨테이너"는, 쿠버네티스 환경과 유사한 환경의 다른 용어들로 얼마든지 대체되어 해석될 수 있으며, 본 개시의 범위가 쿠버네티스 환경으로 한정되어 해석되는 것은 아님을 유의해야 한다.Note that the above-described “pod” and “container” may be interpreted as being replaced with other terms in an environment similar to the Kubernetes environment, and the scope of the present disclosure is not limited to the Kubernetes environment. Should be.

이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명하기로 한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치(100)가 적용될 수 있는 예시적인 환경을 도시한다. 도 1은 블록체인 리소스 최적화 장치(100)에 3개의 파드(200, 300, 400)가 적용된 것을 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 예시적인 것일 뿐이고, 파드의 개수는 얼마든지 달라질 수 있다. 또한, 도 1은 블록체인 리소스 최적화 장치(100)가 퍼미션(permission) 기반의 블록체인 네트워크에 연결된 것을 도시하고 있으나, 퍼블릭 블록체인 네트워크를 구현하는 경우라면, CA 파드(Certificate Authority 파드, 400)가 생략되어 구현될 수도 있다.1 illustrates an exemplary environment to which a blockchain resource optimization apparatus 100 according to some embodiments of the present disclosure may be applied. Figure 1 shows that three pods (200, 300, 400) are applied to the block-chain resource optimization apparatus 100, but this is only an example to provide convenience of understanding, and the number of pods can vary. there is. In addition, although FIG. 1 shows that the blockchain resource optimization device 100 is connected to a permission-based blockchain network, in the case of implementing a public blockchain network, the CA pod (Certificate Authority pod, 400) It may be implemented by omitting it.

이하, 도 1에 도시된 블록체인 리소스 최적화 장치(100)가 적용될 수 있는 예시적인 환경의 각 구성 요소에 대해 보다 구체적으로 설명하기로 한다.Hereinafter, each component of an exemplary environment to which the block chain resource optimization apparatus 100 shown in FIG. 1 can be applied will be described in more detail.

블록체인 리소스 최적화 장치(100)는 파드(200, 300, 400)에 포함된 컨테이너(210, 310, 330, 410) 각각이 수행하는 프로세스에 따른 리소스 사용률을 산출할 수 있다. 여기서, 블록체인 리소스 최적화 장치(100)는 컨테이너(210, 310, 330, 410)들이 수행하는 다양한 프로세스 중 적어도 일부의 프로세스의 리소스 사용을 필터링할 수 있으며, 필터링된 프로세스의 리소스 사용을 제외하고, 각각의 컨테이너(210, 310, 330, 410)의 리소스 사용률을 산출할 수 있다. 또한, 블록체인 리소스 최적화 장치(100)는 산출된 리소스 사용률에 따라 각각의 컨테이너(210, 310, 330, 410)의 최적 리소스 할당량을 산출할 수 있으며, 산출된 최적 리소스 할당량에 기초하여 파드(200, 300, 400)의 리소스를 조정(e.g., 리소스 회수 또는 리소스 배포)할 수 있다. The blockchain resource optimization apparatus 100 may calculate a resource utilization rate according to a process performed by each of the containers 210, 310, 330, and 410 included in the pods 200, 300, and 400. Here, the block chain resource optimization device 100 may filter the resource use of at least some of the various processes performed by the containers 210, 310, 330, and 410, except for the resource use of the filtered process, A resource utilization rate of each container 210 , 310 , 330 , and 410 may be calculated. In addition, the blockchain resource optimization device 100 may calculate the optimal resource allocation amount of each container 210, 310, 330, and 410 according to the calculated resource utilization rate, and based on the calculated optimal resource allocation amount, the pod 200 , 300, 400) resources can be adjusted (e.g., resource recovery or resource distribution).

즉, 블록체인 리소스 최적화 장치(100)는 파드(200, 300, 400)에 포함된 컨테이너(210, 310, 330, 410)의 리소스 사용률로부터 최적 리소스 할당량을 산출하고, 파드(200, 300, 400)의 리소스를 조정함으로써, 컨테이너(210, 310, 330, 410)의 리소스를 최적화할 수 있다. 블록체인 리소스 최적화 장치(100)가 최적화를 수행하는 방법에 관해서는, 추후 도 3 이하의 도면을 참조하여 상세하게 설명하도록 한다.That is, the blockchain resource optimization device 100 calculates the optimal resource allocation amount from the resource utilization rate of the containers 210, 310, 330, and 410 included in the pods 200, 300, and 400, and ), it is possible to optimize the resources of the containers 210, 310, 330, and 410. A method for performing optimization by the block-chain resource optimization apparatus 100 will be described in detail later with reference to the drawings below in FIG. 3 .

다음으로, 블록 생성 파드(200)는 블록을 생성하고, 생성된 블록을 피어 파드(Peer 파드, 300)에 전파할 수 있다. 이러한 블록 생성 파드(200)는 블록 생성 프로세스를 수행하는 적어도 하나의 블록 생성 컨테이너(210)를 포함할 수 있다.Next, the block creation pod 200 may create a block and propagate the generated block to the peer pod 300 . This block generation pod 200 may include at least one block generation container 210 that performs a block generation process.

다음으로, 피어 파드(300)는 전파된 블록에 따라 원장을 관리 및 저장할 수 있다. 이러한 피어 파드(300)는 원장 관리 프로세스를 수행하는 적어도 하나의 원장 관리 컨테이너(310)를 포함할 수 있으며, 경우에 따라서, 스마트 계약(smart contract)을 관리 프로세스를 수행하는 적어도 하나의 스마트 계약 관리 컨테이너(330)를 포함할 수도 있다. 또한, 피어 파드(300)는 원장을 저장하기 위한 적어도 하나의 원장 데이터베이스(320)를 포함할 수도 있다.Next, the peer pod 300 can manage and store the ledger according to the propagated blocks. This peer pod 300 may include at least one ledger management container 310 that performs a ledger management process, and in some cases, at least one smart contract management that performs a smart contract management process. A container 330 may also be included. Additionally, the peer pod 300 may include at least one ledger database 320 for storing ledgers.

다음으로, CA 파드(400)는 퍼미션 기반의 블록체인 네트워크에서 발행되는 인증서를 관리 및 저장할 수 있다. 이러한 CA 파드(400)는 인증서 관리 프로세스를 수행하는 적어도 하나의 인증서 관리 컨테이너(410)를 포함할 수 있으며, 여기서, 인증서를 저장하기 위한 적어도 하나의 인증서 데이터베이스(420)를 포함할 수 있다.Next, the CA pod 400 can manage and store certificates issued in the permission-based blockchain network. This CA pod 400 may include at least one certificate management container 410 that performs a certificate management process, and may include at least one certificate database 420 for storing certificates.

한편, 도 1은 본 개시의 목적을 달성하기 위한 바람직한 실시예를 도시하고 있을 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있다. 또한, 도 1에 도시된 예시적인 환경의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 또한, 리소스의 최적화를 수행하는 블록체인 리소스 최적화 장치(100) 외의 다른 구성은 얼마든지 다른 구성으로 대체될 수 있으며, 본 개시의 요지를 흐리지 않기 위해 블록 생성 파드(200), 피어 파드(300) 및 CA 파드(400)가 수행하는 보다 구체적인 기능들에 대해서는 설명을 생략하기로 한다.Meanwhile, FIG. 1 only illustrates a preferred embodiment for achieving the object of the present disclosure, and some components may be added or deleted as necessary. In addition, it should be noted that components of the exemplary environment shown in FIG. 1 represent functionally differentiated functional elements, and a plurality of components may be implemented in a form integrated with each other in an actual physical environment. In addition, components other than the block chain resource optimization device 100 that performs resource optimization can be replaced with other configurations, and in order not to obscure the gist of the present disclosure, the block generating pod 200 and the peer pod 300 And descriptions of more specific functions performed by the CA pod 400 will be omitted.

지금까지 도 1을 참조하여, 블록체인 리소스 최적화 장치(100)가 적용될 수 있는 예시적인 환경을 설명하였다. 여기서, 블록체인 리소스 최적화 장치(100)는 하나 이상의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 블록체인 리소스 최적화 장치(100)의 모든 기능은 단일 컴퓨팅 장치에서 구현될 수 있다. 다른 예로써, 블록체인 리소스 최적화 장치(100)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 블록체인 리소스 최적화 장치(100)가 다양한 파드(200, 300, 400)과 연동하여 파드들의 리소스를 최적화해야 되는 환경이라면, 블록체인 리소스 최적화 장치(100)는 고성능의 서버급 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다. 컴퓨팅 장치의 일례에 대해서는 추후 도 8을 참조하도록 한다. So far, with reference to FIG. 1 , an exemplary environment to which the blockchain resource optimization apparatus 100 can be applied has been described. Here, the block chain resource optimization device 100 may be implemented with one or more computing devices. For example, all functions of the block chain resource optimization device 100 may be implemented in a single computing device. As another example, the first function of the apparatus 100 for optimizing blockchain resources may be implemented in a first computing device, and the second function may be implemented in a second computing device. Here, the computing device may be a notebook, a desktop, or a laptop, but is not limited thereto and may include any type of device equipped with a computing function. However, in an environment where the blockchain resource optimizer 100 needs to optimize the resources of pods in conjunction with various pods 200, 300, and 400, the blockchain resource optimizer 100 is implemented as a high-performance server-class computing device. may be desirable. For an example of a computing device, reference will be made to FIG. 8 later.

또한, 블록체인 리소스 최적화 장치(100)는 도 1에 도시된 파드(200, 300, 400)와 마찬가지로, 파드로 구현될 수도 있으며, 도 2를 참조하여 쿠버네티스 아키텍처를 보다 구체적으로 설명하기로 한다.In addition, the blockchain resource optimization apparatus 100 may be implemented as a pod, similar to the pods 200, 300, and 400 shown in FIG. 1, and the Kubernetes architecture will be described in more detail with reference to FIG. do.

도 2는 본 개시의 몇몇 실시예에서 참조될 수 있는 쿠버네티스 환경을 설명하기 위한 예시적인 도면이다. 도 2에 도시된 쿠버네티스 클러스터(1000)에 포함된 노드(10, 20) 각각은 물리적으로 분리 구현된 컴퓨팅 장치를 의미할 수 있다. 2 is an exemplary diagram for describing a Kubernetes environment that may be referenced in some embodiments of the present disclosure. Each of the nodes 10 and 20 included in the Kubernetes cluster 1000 shown in FIG. 2 may mean a physically separated computing device.

도 2에 도시된 노드(10, 20)는, 적어도 하나의 파드(500, 600, 700)를 포함할 수 있다. 예를 들어 도 2와 같이, 제1 노드(10)는 제1 파드(500)와 제2 파드(600)를 포함할 수 있으며, 제2 노드(20)는 제3 파드(700)를 포함할 수 있다. 다른 예를 들어, 도 2와 달리 하나의 노드(10, 20)에 얼마든지 다른 개수의 파드가 포함될 수도 있다. Nodes 10 and 20 shown in FIG. 2 may include at least one pod 500, 600, and 700. For example, as shown in FIG. 2 , the first node 10 may include a first pod 500 and a second pod 600, and the second node 20 may include a third pod 700. can For another example, different numbers of pods may be included in one node 10 or 20 unlike FIG. 2 .

또한, 도 2에 도시된 파드(500, 600, 700)는 적어도 하나의 컨테이너(610, 620, 630)를 포함할 수 있다. 도 2와 달리 하나의 파드(500, 600, 700)에 얼마든지 다른 개수의 컨테이너가 포함될 수도 있다. 또한, 도 2에 도시된 파드(500, 600, 700) 중 어느 하나에 도 1에 도시된 블록체인 리소스 최적화 장치(100)가 구현될 수 있음을 유의해야 한다.In addition, the pods 500, 600, and 700 shown in FIG. 2 may include at least one container 610, 620, and 630. Unlike FIG. 2, one pod (500, 600, 700) may contain any number of different containers. In addition, it should be noted that the blockchain resource optimization device 100 shown in FIG. 1 may be implemented in any one of the pods 500, 600, and 700 shown in FIG. 2.

지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치(100)가 적용될 수 있는 예시적인 환경에 대하여 설명하였다. 이하에서는, 도 3을 참조하여 블록체인 리소스 최적화 장치(100)의 구성 및 동작에 대하여 설명하도록 한다.So far, exemplary environments to which the apparatus 100 for optimizing blockchain resources according to some embodiments of the present disclosure can be applied have been described with reference to FIGS. 1 and 2 . Hereinafter, the configuration and operation of the blockchain resource optimization device 100 will be described with reference to FIG. 3 .

도 3에 도시된 바와 같이, 블록체인 리소스 최적화 장치(100)는 리소스 사용률 산출부(110), 최적 리소스 할당량 산출부(120) 및 파드 리소스 조정부(130)를 포함할 수 있다. 다만, 도 3에는 본 개시의 실시예와 관련 있는 구성 요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 3에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 3에 도시된 블록체인 리소스 최적화 장치(100)가 파드로 구현되는 환경이라면, 블록체인 리소스 최적화 장치(100)의 각각의 구성 요소들은 컨테이너로 구현될 수 있음을 유의해야 한다. 이하, 각 구성 요소가 수행하는 기능에 대해서 구체적으로 설명하기로 한다.As shown in FIG. 3 , the block-chain resource optimization apparatus 100 may include a resource usage rate calculation unit 110, an optimal resource allocation amount calculation unit 120, and a pod resource adjustment unit 130. However, only components related to the embodiment of the present disclosure are shown in FIG. 3 . Accordingly, those skilled in the art to which the present disclosure belongs may know that other general-purpose components may be further included in addition to the components shown in FIG. 3 . In addition, if the blockchain resource optimization apparatus 100 shown in FIG. 3 is implemented as a pod, it should be noted that each component of the blockchain resource optimization apparatus 100 may be implemented as a container. Hereinafter, functions performed by each component will be described in detail.

우선, 리소스 사용률 산출부(110)는 블록체인 네트워크를 구성하는 파드에 포함된 컨테이너 각각의 리소스 사용을 모니터링할 수 있다. 여기서, 리소스 사용률 산출부(110)는 일회성 프로세스를 수행하는 컨테이너의 리소스 사용을 필터링할 수 있다. 이때, 일회성 프로세스는 트랜잭션 프로세스를 구성하지 않는 프로세스로써, 예를 들어, 신규 노드의 추가에 따른 인증서 발급 등과 같은 일회성으로 수행되는 프로세스를 의미할 수 있다. 본 실시예에 따르면, 트랜잭션 프로세스를 구성하지 않는 일회성 프로세스들이 필터링에 기초하여 노이즈로 제거됨으로써, 컨테이너의 리소스 사용률을 보다 정확히 산출할 수 있다.First, the resource utilization calculation unit 110 may monitor resource use of each container included in a pod constituting a blockchain network. Here, the resource utilization calculation unit 110 may filter resource use of a container performing a one-time process. In this case, the one-time process is a process that does not constitute a transaction process, and may mean a one-time process such as issuance of a certificate according to the addition of a new node. According to this embodiment, since one-time processes that do not constitute transaction processes are removed as noise based on filtering, the resource utilization rate of the container can be more accurately calculated.

리소스 사용률 산출부(110)는 컨테이너가 수행하는 프로세스의 리소스 사용을 필터링하기 위해 다양한 항목을 참조할 수 있다. 예를 들어, 프로세스의 시작 시간, 프로세스의 종료 시간 및 프로세스의 종류 중 적어도 하나를 참조할 수 있다. 여기서, 리소스 사용률 산출부(110)가 프로세스의 시작 시간, 프로세스의 종류 시간 및 프로세스의 종류 중 적어도 하나를 참조하여 특정 프로세스를 일회성 프로세스로 결정하기 위해, 미리 저장된 테이블이 참조될 수도 있다. 구체적인 예를 들어, 특정 시간에 트리거되어 반복적으로 시작되는 일회성 프로세스가 미리 저장된 테이블에 기록되어 있는 경우, 리소스 사용률 산출부(110)는 미리 저장된 테이블을 참조할 수 있다. 다른 예를 들어, 특정 시간에 트리거되어 반복적으로 종료되는 일회성 프로세스가 미리 저장된 테이블에 기록되어 있는 경우, 리소스 사용률 산출부(110)는 미리 저장된 테이블을 참조할 수 있다. 또 다른 예를 들어, 미리 저장된 테이블에 특정 프로세스의 종류가 일회성 프로세스로 정의되어 있는 경우, 리소스 사용률 산출부(110)는 미리 저장된 테이블을 참조할 수 있다.The resource utilization calculation unit 110 may refer to various items in order to filter resource use of a process performed by a container. For example, at least one of a start time of a process, an end time of a process, and a type of process may be referred to. Here, a pre-stored table may be referred to in order for the resource utilization calculation unit 110 to determine a specific process as a one-time process by referring to at least one of a process start time, a process type time, and a process type. For example, when a one-time process triggered and repeatedly started at a specific time is recorded in a pre-stored table, the resource utilization calculation unit 110 may refer to the pre-stored table. For another example, when a one-time process triggered at a specific time and repeatedly terminated is recorded in a pre-stored table, the resource utilization calculation unit 110 may refer to the pre-stored table. For another example, when a specific process type is defined as a one-time process in a pre-stored table, the resource usage rate calculator 110 may refer to the pre-stored table.

또한, 리소스 사용률 산출부(110)는 필터링의 결과에 기초하여 트랜잭션 프로세스에 대한 컨테이너의 리소스 사용률을 산출할 수 있다. 여기서, 리소스 사용률은 컨테이너의 리소스 할당량 대비 컨테이너의 리소스 사용량에 기초하여 산출될 수 있다. 이와 관련된 보다 구체적인 설명을 위해 도 6을 참조하여 설명하기로 한다.Also, the resource utilization rate calculation unit 110 may calculate the resource utilization rate of the container for the transaction process based on the filtering result. Here, the resource utilization rate may be calculated based on the resource usage of the container compared to the resource allocation of the container. For a more detailed explanation related to this, it will be described with reference to FIG. 6 .

도 6은 본 개시의 몇몇 실시예에서 참조될 수 있는 컨테이너의 리소스 사용률을 설명하기 위한 예시적인 도면이다. 도 6에 도시된 리소스는 CPU(Central Processing Unit) 및 메모리이나, 리소스가 도 6에 도시된 예시에 한정되는 것은 아님을 유의해야 한다.6 is an exemplary diagram for explaining a resource utilization rate of a container that may be referred to in some embodiments of the present disclosure. The resources shown in FIG. 6 are CPU (Central Processing Unit) and memory, but it should be noted that the resources are not limited to the example shown in FIG. 6 .

도 6을 참조하면, 제2 파드(600)는 제1 컨테이너(610), 제2 컨테이너(620) 및 제3 컨테이너(630)를 포함할 수 있다. 이때, 도 6에 도시된 제2 파드(600)에 포함된 각각의 컨테이너(610, 620, 630)의 리소스 사용률이, 컨테이너(610, 620, 630) 각각의 리소스 할당량 대비 컨테이너(610, 620, 630) 각각의 리소스 사용량으로 표시될 수 있다. 이러한 도 6은 관리자에게 제공될 수 있는 화면의 일례이고, 경우에 따라서 리소스 사용률을 나타내는 제1 텍스트, 리소스 사용량을 나타내는 제2 텍스트 및 리소스 할당량을 나타내는 제3 텍스트가 화면에 더 추가되어 관리자에게 제공될 수 있다. 또한, 도 6은 쿠버네티스 클러스터에 포함된 하나의 파드의 리소스 사용률에 대한 화면의 일례이나, 도 6과 달리 쿠버네티스 클러스터에 포함된 복수의 파드의 리소스 사용률에 대한 화면이 관리자에게 제공될 수 있음을 유의해야 한다.Referring to FIG. 6 , a second pod 600 may include a first container 610 , a second container 620 and a third container 630 . At this time, the resource utilization rate of each of the containers 610, 620, and 630 included in the second pod 600 shown in FIG. 630) may be displayed as each resource usage. 6 is an example of a screen that can be provided to a manager, and in some cases, a first text indicating a resource usage rate, a second text indicating a resource usage amount, and a third text indicating a resource allocation amount are added to the screen and provided to the administrator. It can be. 6 is an example of a screen for resource utilization of one pod included in a Kubernetes cluster, but unlike FIG. 6, a screen for resource utilization of a plurality of pods included in a Kubernetes cluster is provided to the administrator It should be noted that there may be

또한, 리소스 사용률은 일종의 컨테이너의 리소스에 대한 평가 지표로써, 컨테이너의 리소스 할당량 대비 컨테이너의 리소스 사용량 외에 다양한 항목을 참조하여 산출될 수도 있다. 리소스 사용률 산출부(110)가 리소스 사용률을 산출하는 보다 구체적인 동작을 설명하기로 한다.In addition, the resource utilization rate is a kind of evaluation index for a container's resources, and may be calculated by referring to various items other than the container's resource allocation versus the container's resource usage. A more detailed operation of the resource utilization calculation unit 110 calculating the resource utilization rate will be described.

리소스 사용률의 산출과 관련된 몇몇 실시예에서, 리소스 사용률 산출부(110)는 컨테이너에서 처리된 트랜잭션 데이터의 개수에 기초하여 리소스 사용률을 산출할 수 있다. 예를 들어, 리소스 사용률을 산출하기 위해 컨테이너의 단위 시간당 트랜잭션 데이터 처리 개수가 참조될 수 있으며, 다른 예를 들어, 특정 시구간에 대응되는 컨테이너의 트랜잭션 데이터 처리 개수가 참조될 수도 있다.In some embodiments related to resource utilization calculation, the resource utilization calculation unit 110 may calculate a resource utilization rate based on the number of transaction data processed in a container. For example, the number of transaction data processed per unit time of a container may be referred to in order to calculate the resource utilization rate. For another example, the number of transaction data processed by a container corresponding to a specific time period may be referred to.

리소스 사용률의 산출과 관련된 다른 몇몇 실시예에서, 리소스 사용률 산출부(110)는 컨테이너의 지연 시간(latency time)에 기초하여 리소스 사용률을 산출할 수 있다. 예를 들어, 지연 시간이 길수록 리소스 사용률이 높은 것으로 산출할 수 있고, 지연 시간이 짧을수록 리소스 사용률이 낮은 것으로 산출할 수 있다. 또한, 리소스 사용률 산출부(110)가 컨테이너의 리소스 사용률을 산출하기 위해, 사전에 저장된 지연 시간과 리소스 사용률의 매핑 테이블을 참조할 수도 있다. In some other embodiments related to resource utilization calculation, the resource utilization calculation unit 110 may calculate the resource utilization rate based on the latency time of the container. For example, the longer the delay time, the higher the resource utilization rate, and the shorter the delay time, the lower the resource utilization rate. In addition, the resource utilization calculation unit 110 may refer to a previously stored mapping table of delay times and resource utilization rates in order to calculate the resource utilization rates of containers.

지금까지 리소스 사용률의 산출과 관련하여 설명된 본 개시의 다양한 실시예들에 따르면, 컨테이너의 리소스를 평가할 수 있는 다양한 동작들이 제공될 수 있다. 이러한 다양한 동작들에 따라 컨테이너의 리소스 사용률을 정확하게 평가됨으로써, 컨테이너의 최적 리소스 할당량을 보다 정확히 산출할 수 있다.According to various embodiments of the present disclosure described so far in relation to resource utilization calculation, various operations capable of evaluating a resource of a container may be provided. By accurately evaluating the resource utilization rate of the container according to these various operations, it is possible to more accurately calculate the optimal resource allocation amount of the container.

다시 도 3을 참조하여 설명하기로 한다.It will be described with reference to FIG. 3 again.

다음으로, 최적 리소스 할당량 산출부(120)는 리소스 사용률 산출부(110)가 산출한 리소스 사용률에 기초하여, 컨테이너의 최적 리소스 할당량을 산출할 수 있다. 여기서, 최적 리소스 할당량은 컨테이너의 리소스 사용률에 따라 결정되는 값으로써, 컨테이너의 최적의 성능을 담보할 수 있는 리소스의 할당량을 의미할 수 있다.Next, the optimal resource allocation amount calculation unit 120 may calculate the optimal resource allocation amount of the container based on the resource utilization rate calculated by the resource utilization rate calculation unit 110 . Here, the optimal resource allocation amount is a value determined according to the resource utilization rate of the container, and may mean an allocation amount of resources capable of ensuring optimal performance of the container.

최적 리소스 할당량 산출부(120)가 컨테이너의 최적 리소스 할당량을 산출하기 위한 다양한 방식을 이용할 수 있다. 예를 들어, 회귀 분석 모델이 이용될 수 있다. 여기서, 회귀 분석 모델은, 특정 시구간에 샘플링된 컨테이너의 리소스 사용률에 기초하여 최적 리소스 할당량을 산출하는 모델이며, 리소스 사용률을 산출하기 위해 참조되는 항목(e.g., 컨테이너의 리소스 사용량, 컨테이너에서 처리된 트랜잭션의 개수, 컨테이너의 지연 시간)의 개수에 따라 다중 회귀 분석 모델로 구현될 수도 있다. 이외에도 다른 다양한 방식이 이용될 수 있으며, 최적 리소스 할당량 산출부(120)가 최적 리소스 할당량을 산출하는 보다 구체적인 동작을 설명하기로 한다.The optimal resource allocation amount calculation unit 120 may use various methods for calculating the optimal resource allocation amount of a container. For example, a regression analysis model may be used. Here, the regression analysis model is a model that calculates an optimal resource allocation amount based on the resource utilization rate of a container sampled in a specific time period, and refers to items (e.g., resource usage of a container, transaction processed in the container) to calculate the resource utilization rate. It may be implemented as a multi-regression analysis model according to the number of delay times of containers). In addition, various other methods may be used, and a more specific operation of calculating the optimal resource allocation amount by the optimal resource allocation amount calculation unit 120 will be described.

최적 리소스 할당량의 산출과 관련된 몇몇 실시예에서, 최적 리소스 할당량 산출부(120)는 컨테이너의 리소스 사용률이 미리 설정된 상한 임계치를 초과하면, 리소스 사용률이 감소되기 위한 최적 리소스 할당량을 산출할 수 있다. 여기서, 최적 리소스 할당량은, 미리 설정된 상한 임계치 및 하한 임계치에 기초하여 결정될 수 있다. 또한, 최적 리소스 할당량 산출부(120)는 컨테이너의 리소스 사용률이 미리 설정된 하한 임계치 미만이면, 리소스 사용률이 증가되기 위한 최적 리소스 할당량을 산출할 수 있다. 여기서, 최적 리소스 할당량은, 미리 설정된 상한 임계치 및 하한 임계치에 기초하여 결정될 수 있다. 이와 관련된 보다 구체적인 설명을 위해 도 7을 참조하여 설명하기로 한다.In some embodiments related to the calculation of the optimal resource allocation amount, the optimal resource allocation amount calculation unit 120 may calculate the optimal resource allocation amount for decreasing the resource usage rate when the resource usage rate of the container exceeds a preset upper limit threshold. Here, the optimal resource allocation amount may be determined based on a preset upper limit threshold and a lower limit threshold. In addition, the optimal resource allocation amount calculation unit 120 may calculate an optimal resource allocation amount for increasing the resource usage rate when the resource usage rate of the container is less than a preset lower limit threshold. Here, the optimal resource allocation amount may be determined based on a preset upper limit threshold and a lower limit threshold. For a more detailed explanation related to this, it will be described with reference to FIG. 7 .

도 7은 본 개시의 몇몇 실시예에서 참조될 수 있는 컨테이너의 리소스 최적화를 설명하기 위한 예시적인 도면이다. 예를 들어, 리소스 조정 전 제1 컨테이너(50a)의 리소스 사용률은 하한 임계치(70) 미만일 수 있으며, 리소스 조정 전 제1 컨테이너(50a)의 리소스 사용률이 리소스 조정 후 제1 컨테이너(50b)의 리소스 사용률과 같이, 최적 리소스 사용률(90)이 되도록 제1 컨테이너의 리소스가 조정될 수 있다. 이 경우, 추후 설명될 파드 리소스 조정부(130)에 의해, 리소스 조정 전 제1 컨테이너(50a)를 포함하는 파드의 리소스가 회수됨으로써, 제1 컨테이너의 리소스가 조정될 수 있다. 다른 예를 들어, 리소스 조정 전 제2 컨테이너(60a)의 리소스 사용률은 상한 임계치(80)를 초과할 수 있으며, 리소스 조정 전 제2 컨테이너(60a)의 리소스 사용률이 리소스 조정 후 제2 컨테이너(60b)의 리소스 사용률과 같이, 최적 리소스 사용률(90)이 되도록 제2 컨테이너의 리소스가 조정될 수 있다. 이 경우, 추후 설명될 파드 리소스 조정부(130)에 의해, 리소스 조정 전 제2 컨테이너(60a)를 포함하는 파드에 리소스가 배포됨으로써, 제2 컨테이너의 리소스가 조정될 수 있다. 7 is an exemplary diagram for explaining resource optimization of a container that may be referred to in some embodiments of the present disclosure. For example, the resource utilization rate of the first container 50a before resource adjustment may be less than the lower limit threshold 70, and the resource utilization rate of the first container 50a before resource adjustment is the resource utilization rate of the first container 50b after resource adjustment. Like the utilization rate, the resources of the first container may be adjusted to achieve an optimal resource utilization rate 90 . In this case, the resources of the pod including the first container 50a may be recovered by the pod resource adjusting unit 130 to be described later, and thus the resources of the first container may be adjusted. For another example, the resource utilization rate of the second container 60a before resource adjustment may exceed the upper limit threshold 80, and the resource utilization rate of the second container 60a before resource adjustment may be higher than the second container 60b after resource adjustment. ), the resource of the second container may be adjusted to an optimal resource utilization rate (90). In this case, the resource of the second container may be adjusted by distributing the resource to the pod including the second container 60a before resource adjustment by the pod resource adjustment unit 130 to be described later.

또한, 도 7에 도시된 최적 리소스 사용률(90)은, 하한 임계치(70)와 상한 임계치(80)의 평균값일 수 있다. 보다 구체적인 예를 들어, 컨테이너의 메모리 할당량이 100MB이고, 메모리 사용량이 10MB이고, 상한 임계치가 90%, 하한 임계치가 50%이면, 최적 리소스 사용률은 상한 임계치와 하한 임계치의 평균값인 70%일 수 있다. 이 경우, 컨테이너의 최적 메모리 할당량은 14.3MB일 수 있으며, 파드의 메모리가 회수됨으로써, 컨테이너의 메모리 할당량이 14.3MB로 조정될 수 있다. 다른 예를 들어, 컨테이너의 메모리 할당량이 100MB이고, 메모리 사용량이 100MB이고, 상한 임계치가 90%, 하한 임계치가 50%이면, 최적 리소스 사용률은 상한 임계치와 하한 임계치의 평균값인 70%일 수 있다. 이 경우, 컨테이너의 최적 메모리 할당량은 142.9MB일 수 있으며, 파드에 메모리가 배포됨으로써, 컨테이너의 메모리 할당량이 142.9MB로 조정될 수 있다. Also, the optimal resource utilization rate 90 shown in FIG. 7 may be an average value of the lower limit threshold 70 and the upper limit threshold 80 . As a more specific example, if the memory allocation of the container is 100MB, the memory usage is 10MB, the upper threshold is 90%, and the lower threshold is 50%, the optimal resource utilization may be 70%, which is the average value of the upper and lower thresholds. . In this case, the container's optimal memory allocation may be 14.3 MB, and as the Pod's memory is reclaimed, the container's memory allocation may be adjusted to 14.3 MB. For another example, if the memory allocation of the container is 100MB, the memory usage is 100MB, the upper threshold is 90%, and the lower threshold is 50%, the optimal resource utilization may be 70%, which is an average value of the upper and lower thresholds. In this case, the container's optimal memory allocation may be 142.9MB, and the container's memory allocation may be adjusted to 142.9MB by distributing the memory to the Pods.

도 7에 도시된 최적 리소스 사용률(90)과 관련하여, 최적 리소스 사용률(90)은 하한 임계치(70)와 상한 임계치(80)의 평균값 외에도 얼마든지 다른 값으로 결정될 수 있다. 즉, 하한 임계치(70)와 상한 임계치(80) 사이의 리소스 사용률이라면, 얼마든지 최적 리소스 사용률이 될 수 있으며, 블록체인 리소스 최적화 장치가 적용된 환경에 따라 휴리스틱(heuristic)한 방식으로 최적 리소스 사용률이 결정될 수 있음이 이해될 수 있다.Regarding the optimal resource utilization rate 90 shown in FIG. 7 , the optimal resource utilization rate 90 may be determined as any other value in addition to the average value of the lower limit threshold value 70 and the upper limit threshold value 80 . That is, any resource utilization rate between the lower limit threshold 70 and the upper limit threshold 80 can be the optimal resource utilization rate, and the optimal resource utilization rate can be determined in a heuristic way according to the environment to which the blockchain resource optimization device is applied. It can be understood that it can be determined.

다시 도 3을 참조하여 설명하기로 한다.It will be described with reference to FIG. 3 again.

다음으로, 파드 리소스 조정부(130)는 최적 리소스 할당량 산출부(120)에서 산출된 최적 리소스 할당량에 기초하여, 컨테이너를 포함하는 파드의 리소스를 조정할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 제1 노드(30)에 포함된 파드의 리소스를 회수할 수 있으며, 제2 노드(40)에 포함된 파드에 리소스를 배포할 수 있다.Next, the Pod resource adjustment unit 130 may adjust the resources of the Pod including the container based on the optimal resource allocation amount calculated by the optimal resource allocation amount calculation unit 120 . For example, as shown in FIG. 3 , resources of pods included in the first node 30 may be recovered, and resources may be distributed to pods included in the second node 40 .

리소스의 조정과 관련된 몇몇 실시예에서, 파드에 포함된 적어도 하나의 컨테이너의 조정이 요구되면, 파드의 리소스가 조정될 수 있다. 즉, 파드에 포함된 컨테이너 각각의 최적 리소스 할당량이 산출되면, 그에 대응되도록 컨테이너를 포함하는 파드의 리소스가 조정될 수 있다. 이는 파드가, 쿠버네티스 환경에서 생성하고 관리될 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이기 때문인 것으로써, 파드의 리소스를 조정하여 컨테이너의 리소스를 최적화할 수 있다.In some implementations related to resource scaling, a Pod's resources may be scaled if at least one container included in the Pod is requested to scale. That is, when the optimal resource allocation amount for each container included in a pod is calculated, the resources of the pod including the container can be adjusted accordingly. This is because a pod is the smallest deployable unit of compute that can be created and managed in a Kubernetes environment, and you can optimize a container's resources by tuning the resources of a pod.

리소스의 조정과 관련된 다른 몇몇 실시예에서, 최적 리소스 할당량의 산출이 완료된 복수의 파드의 우선 순위가 결정될 수 있다. 즉, 복수의 파드 각각의 리소스의 회수 및 배포에 순서가 정해질 수 있으며, 본 실시예에 따르면, 가용한 리소스 내에서 효율적으로 파드의 리소스 조정을 스케쥴링할 수 있다. 이와 관련된 보다 구체적인 설명은, 추후 도 5를 참조하여 보다 구체적으로 설명하기로 한다.In some other embodiments related to the coordination of resources, the priority of a plurality of pods for which the optimal resource allocation has been calculated may be determined. That is, an order can be determined for the collection and distribution of resources of each of a plurality of pods, and according to the present embodiment, resource adjustment of pods can be efficiently scheduled within available resources. A more detailed description related to this will be described later in detail with reference to FIG. 5 .

도 3에는 도시되지 않았으나, 블록체인 리소스 최적화 장치(100)에 최적화 수행 트리거부(미도시)가 더 포함될 수 있다. 여기서, 최적화 수행 트리거부는, 관리자의 입력에 응답하여, 블록체인 리소스 최적화 수행을 개시할 수 있다. 여기서, 관리자의 입력에는 리소스 사용률을 산출하기 위한 시구간의 설정 값이 포함될 수 있다. 또한, 최적화 수행 트리거부는, 관리자의 입력 없이도 관리자가 사전에 설정한 주기에 따라 블록체인 리소스 최적화 수행을 개시할 수도 있다.Although not shown in FIG. 3 , an optimization performance trigger unit (not shown) may be further included in the block chain resource optimization device 100 . Here, the optimization performance trigger unit may initiate execution of blockchain resource optimization in response to an input from a manager. Here, the administrator's input may include a set value of a time period for calculating a resource utilization rate. In addition, the optimization execution trigger unit may start performing blockchain resource optimization according to a period set in advance by the manager without input from the manager.

구체적으로, 최적화 수행 트리거부의 최적화 수행의 개시에 따라, 리소스 사용률 산출부(110)는 관리자의 입력에 기초하여 결정된 시구간에 존재하는 일회성 프로세스에 대한 컨테이너의 리소스 사용을 필터링할 수 있고, 시구간에 대응되는 리소스 사용률을 산출할 수도 있다. 여기서, 최적 리소스 할당량 산출부(120)는, 산출된 리소스 사용률을 이용하여, 시구간에 대응되는 최적 리소스 할당량을 산출할 수 있으며, 파드 리소스 조정부(130)는, 산출된 최적 리소스 할당량을 이용하여, 파드의 리소스를 조정할 수 있다.Specifically, according to the start of optimization of the optimization triggering unit, the resource utilization calculation unit 110 may filter resource usage of containers for one-time processes existing in the time period determined based on the manager's input, and in the time period A corresponding resource utilization rate may be calculated. Here, the optimal resource allocation amount calculation unit 120 may calculate an optimum resource allocation amount corresponding to the time period using the calculated resource utilization rate, and the pod resource adjustment unit 130 may use the calculated optimal resource allocation amount, You can adjust the Pod's resources.

이러한 최적화 수행 트리거부에 따르면, 블록체인 네트워크를 통해 제공되는 서비스에 대한 사용자의 서비스 이용이 적은 시간에 관리자의 입력에 응답하여 파드의 리소스를 조정함으로써, 서비스 제공의 중단 없이도 파드의 리소스를 최적화할 수 있다.According to this optimization execution trigger unit, pod resources can be optimized without interruption of service provision by adjusting the pod resources in response to the administrator's input during times when the user's service use for services provided through the blockchain network is low. can

지금까지 도 3을 참조하여 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치(100)의 구성 및 동작에 대하여 설명하였다. 이하에서는, 본 개시의 다양한 실시예에 따른 방법들에 대하여 상세하게 설명하도록 한다.So far, the configuration and operation of the block chain resource optimization device 100 according to some embodiments of the present disclosure have been described with reference to FIG. 3 . Hereinafter, methods according to various embodiments of the present disclosure will be described in detail.

후술될 방법들의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 방법들의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 또한, 방법들에 포함되는 모든 단계는 하나의 물리적인 컴퓨팅 장치에 의하여 실행될 수도 있을 것이나, 방법의 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다. 이하에서는, 방법들의 각 단계가 도 1 및 도 3에 예시된 블록체인 리소스 최적화 장치(100)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 다만, 설명의 편의상, 방법들에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다.Each step of the methods described below may be performed by a computing device. In other words, each step of the methods may be implemented as one or more instructions executed by a processor of a computing device. Additionally, all steps included in the methods could be executed by one physical computing device, but first steps of the method are performed by a first computing device and second steps of the method are performed by a second computing device. may be performed. Hereinafter, description will be continued assuming that each step of the methods is performed by the block chain resource optimization apparatus 100 illustrated in FIGS. 1 and 3 . However, for convenience of description, the description of the subject of operation of each step included in the methods may be omitted.

도 4는 도 3을 참조하여 설명된 블록체인 리소스 최적화 장치(100)에서 수행될 수 있는 파드의 리소스 조정 방법에 관한 예시적인 순서도이다.FIG. 4 is an exemplary flowchart of a method for adjusting pod resources that can be performed in the apparatus 100 for optimizing blockchain resources described with reference to FIG. 3 .

도 4를 참조하면 단계 S110에서, 관리자의 입력에 응답하여 블록체인 리소스 최적화가 수행될 수 있다. 단계 S110과 관련된 구체적인 설명은 도 3을 참조하여 설명된 최적화 수행 트리거부(미도시)의 설명을 참조하기로 한다. 다음으로 단계 S120에서, 일회성 프로세스에 대한 컨테이너의 리소스 사용이 필터링될 수 있고, 단계 S130에서, 트랜잭션 프로세스에 대한 컨테이너의 리소스 사용률이 산출될 수 있다. 단계 S120 및 단계 S130과 관련된 구체적인 설명은 도 3을 참조하여 설명된 리소스 사용률 산출부(110)의 설명을 참조하기로 한다. 다음으로 단계 S140에서, 컨테이너의 최적 리소스 할당량이 산출될 수 있다. 단계 S140과 관련된 구체적인 설명은 도 3을 참조하여 설명된 최적 리소스 할당량 산출부(120)의 설명을 참조하기로 한다. 다음으로 단계 S150에서, 파드의 리소스가 조정될 수 있다. 단계 S150과 관련된 구체적인 설명은 도 3을 참조하여 설명된 파드 리소스 조정부(130)의 설명을 참조하기로 한다.Referring to FIG. 4 , in step S110, blockchain resource optimization may be performed in response to an administrator's input. For a detailed description of step S110, refer to the description of the optimization triggering unit (not shown) described with reference to FIG. 3 . Next, in step S120, the container's resource usage for the one-time process may be filtered, and in step S130, the container's resource usage for the transactional process may be calculated. For detailed descriptions related to steps S120 and S130, refer to the description of the resource usage rate calculation unit 110 described with reference to FIG. 3 . Next, in step S140, the optimal resource allocation amount of the container may be calculated. For a detailed description of step S140, refer to the description of the optimum resource allocation amount calculation unit 120 described with reference to FIG. 3 . Next, in step S150, the Pod's resources may be adjusted. For a detailed description of step S150, refer to the description of the pod resource adjustment unit 130 described with reference to FIG. 3 .

도 5는 도 3을 참조하여 설명된 블록체인 리소스 최적화 장치(100)의 파드 리소스 조정부(130)에서 수행될 수 있는 파드의 리소스 조정 방법에 관한 다른 예시적인 순서도이다. 후술될 본 실시예에 따르면, 최적 리소스 할당량의 산출이 완료된 파드가 적어도 일부 존재하는 경우라도, 블록체인 네트워크에서 가용한 리소스를 효율적으로 분배하기 위해, 블록체인 네트워크에 존재하는 전체 파드의 최적 리소스 할당량의 산출이 완료될 때까지, 파드의 리소스의 회수 및 배포가 수행되지 않을 수 있다.FIG. 5 is another exemplary flowchart of a pod resource adjustment method that can be performed in the pod resource adjustment unit 130 of the block chain resource optimization apparatus 100 described with reference to FIG. 3 . According to this embodiment, which will be described later, even if there are at least some pods for which the calculation of the optimal resource allocation amount has been completed, in order to efficiently distribute the resources available in the blockchain network, the optimal resource allocation amount of all pods existing in the blockchain network Until the computation of is completed, the pod's resource recovery and distribution may not be performed.

도 5를 참조하면 단계 S210에서, 최적 리소스 할당량의 산출이 완료된 복수의 파드의 리스트가 얻어질 수 있다. 상술한 리스트는 예를 들어, 도 3의 최적 리소스 할당량 산출부(120)에서 생성될 수 있으나, 본 개시의 범위는 리스트가 생성되는 위치에 따라 한정되지 않음을 유의해야 한다.Referring to FIG. 5 , in step S210, a list of a plurality of pods for which calculation of an optimal resource allocation amount has been completed may be obtained. The above list may be generated by, for example, the optimum resource allocation amount calculation unit 120 of FIG. 3 , but it should be noted that the scope of the present disclosure is not limited depending on the location where the list is generated.

다음으로, 리스트에 기록된 파드의 순서대로 후술될 단계(S220 내지 S240)이 수행될 수 있으며, 단계 S250에서 리스트 내의 다음 파드가 존재하지 않을 때까지 후술될 단계(S220 내지 S240)들이 반복될 수 있다. 즉, 단계 S220에서, 파드의 리소스의 하향 조정이 요구되면, 하향 조정이 요구되는 파드의 리소스가 회수(S240)될 수 있고, 파드의 리소스의 상향 조정이 요구되면, 상향 조정이 요구되는 파드에 회수된 리소스를 먼저 배포하지 않고, 리소스 배포의 우선 순위만 결정(S230)될 수 있다.Next, steps (S220 to S240) may be performed in the order of the pods recorded in the list, and steps (S220 to S240) may be repeated until the next pod in the list does not exist in step S250. there is. That is, in step S220, if downward scaling of Pod resources is requested, the resources of the Pod for which downward scaling is requested can be recovered (S240), and when upward scaling of Pod resources is requested, the Pod for which upward scaling is requested. Only the priority of resource distribution may be determined (S230) without distributing the recovered resource first.

단계 S250에서 리스트 내의 다음 파드가 존재하지 않으면, 단계 S260에서, 결정된 우선 순위에 기초하여, 리소스의 상향 조정이 필요한 파드에 리소스의 하향 조정이 필요한 파드로부터 회수된 리소스가 순서대로 배포될 수 있다.If the next pod in the list does not exist in step S250, in step S260, the resources retrieved from the pod requiring upward adjustment of resources may be sequentially distributed to the pod in need of upward adjustment of resources based on the determined priority order.

우선 순위와 관련된 몇몇 실시예예서, 우선 순위는 리소스의 상향 조정의 양이 클수록 높게 결정될 수 있다. 예를 들어, 메모리의 상향 조정의 양이 50MB인 파드보다 메모리의 상향 조정의 양이 100MB인 파드의 우선 순위가 높게 결정될 수 있다.In some embodiments related to priority, the priority may be determined to be higher as the amount of upward adjustment of the resource is greater. For example, a Pod with 100 MB of memory upgrade may have a higher priority than a Pod with 50 MB of memory upgrade.

우선 순위와 관련된 다른 몇몇 실시예에서, 우선 순위는 제1 리소스의 제1 상향 조정의 양과 제2 리소스의 제2 상향 조정의 양 각각에 적용되는 가중치에 기초하여 결정될 수 있다. 예를 들어, 메모리의 제1 상향 조정의 양과 CPU의 제2 상향 조정의 양 각각에 적용되는 가중치에 기초하여, 우선 순위가 결정될 수 있다. 여기서, 제1 상향 조정의 양에 적용되는 가중치와 제2 상향 조정의 양에 적용되는 가중치는 서로 다른 값일 수 있다. 예를 들어, CPU의 상향 조정의 양에 적용되는 가중치가 메모리의 상향 조정의 양에 적용되는 가중치 보다 클 수 있으며, 이는 일반적으로, CPU의 배포에 의한 컨테이너의 성능 향상이 메모리의 배포에 의한 컨테이너의 성능 향상 보다 더 두드러지므로, CPU가 부족한 컨테이너에 CPU를 우선적으로 배포할 수 있기 때문이다. 다만, 경우에 따라서 리소스의 상향 조정의 양에 적용될 수 있는 각각의 가중치는, 블록체인 네트워크의 환경에 따라 얼마든지 달라질 수 있음을 이해할 수 있다.In some other embodiments related to priorities, the priority may be determined based on a weight applied to each of the first upward adjustment amount of the first resource and the second upward adjustment amount of the second resource. For example, the priority may be determined based on a weight applied to each of the first up-regulation amount of the memory and the second up-regulation amount of the CPU. Here, the weight applied to the first upward adjustment amount and the weight applied to the second upward adjustment amount may have different values. For example, the weight applied to the amount of CPU upscaling may be greater than the weight applied to the amount of memory upscaling, which means that in general, the performance improvement of the container by the distribution of CPU is not the same as the container performance by distribution of memory. This is because the CPU can be preferentially distributed to containers that are low on CPU. However, in some cases, it can be understood that each weight that can be applied to the amount of upward adjustment of resources can vary depending on the environment of the blockchain network.

지금까지 도 4 및 5를 참조하여 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 방법들에 대하여 설명하였다. 상술한 방법들에 따르면, 블록체인 네트워크를 구성하는 컨테이너에 할당되는 리소스를 최적화할 수 있다. 즉, 컨테이너에 최적의 리소스가 할당됨으로써, 컨테이너에서 수행될 수 있는 프로세스의 성능이 향상될 수 있고, 유휴 리소스에 의해 소모되는 비용이 감소될 수 있다. 또한, 리소스의 상향 조정이 요구되는 파드에 리소스를 배포하기 전에, 리소스의 하향 조정이 요구되는 파드의 리소스를 우선적으로 회수하고, 리소스의 상향 조정이 요구되는 파드의 우선 순위를 결정함으로써, 리소스의 배포가 불가능한 경우를 최소화하여 블록체인 네트워크 내의 가용한 자원을 효율적으로 배치할 수 있다.So far, methods for optimizing blockchain resources according to some embodiments of the present disclosure have been described with reference to FIGS. 4 and 5 . According to the above methods, resources allocated to containers constituting a blockchain network can be optimized. That is, by allocating optimal resources to containers, the performance of processes that can be performed in containers can be improved, and costs consumed by idle resources can be reduced. In addition, prior to distributing resources to the Pods whose resources are required to be scaled up, the resources of the Pods whose resources are to be scaled up are first retrieved, and the priority of the Pods whose resources are to be scaled up is determined. By minimizing cases where distribution is impossible, available resources within the blockchain network can be efficiently deployed.

이하, 도 8을 참조하여 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치를 구현할 수 있는 예시적인 컴퓨팅 장치(1500)를 보다 구체적으로 설명하기로 한다.Hereinafter, an exemplary computing device 1500 capable of implementing an apparatus for optimizing blockchain resources according to some embodiments of the present disclosure will be described in more detail with reference to FIG. 8 .

컴퓨팅 장치(1500)는 하나 이상의 프로세서(1510), 버스(1550), 통신 인터페이스(1570), 프로세서(1510)에 의하여 수행되는 컴퓨터 프로그램(1591)을 로드(load)하는 메모리(1530)와, 컴퓨터 프로그램(1591)을 저장하는 스토리지(1590)를 포함할 수 있다. 다만, 도 8에는 본 개시의 실시예와 관련 있는 구성 요소들 만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 8에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.The computing device 1500 includes one or more processors 1510, a bus 1550, a communication interface 1570, a memory 1530 for loading a computer program 1591 executed by the processor 1510, and a computer A storage 1590 for storing the program 1591 may be included. However, only components related to the embodiment of the present disclosure are shown in FIG. 8 . Accordingly, those skilled in the art to which the present disclosure pertains can know that other general-purpose components may be further included in addition to the components shown in FIG. 8 .

프로세서(1510)는 컴퓨팅 장치(1500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(1510)는 본 개시의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1500)는 하나 이상의 프로세서를 구비할 수 있다.The processor 1510 controls the overall operation of each component of the computing device 1500 . The processor 1510 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art of the present disclosure. It can be. Also, the processor 1510 may perform an operation for at least one application or program for executing a method according to embodiments of the present disclosure. Computing device 1500 may include one or more processors.

메모리(1530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1530)는 본 개시의 실시예들에 따른 방법을 실행하기 위하여 스토리지(1590)로부터 하나 이상의 프로그램(1591)을 로드 할 수 있다. 메모리(1530)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Memory 1530 stores various data, commands and/or information. Memory 1530 may load one or more programs 1591 from storage 1590 to execute a method according to embodiments of the present disclosure. The memory 1530 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(1550)는 컴퓨팅 장치(1500)의 구성 요소 간 통신 기능을 제공한다. 버스(1550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 1550 provides a communication function between components of the computing device 1500 . The bus 1550 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.

통신 인터페이스(1570)는 컴퓨팅 장치(1500)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1570)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 1570 supports wired and wireless Internet communication of the computing device 1500 . Also, the communication interface 1570 may support various communication methods other than Internet communication. To this end, the communication interface 1570 may include a communication module well known in the art of the present disclosure.

몇몇 실시예들에 따르면, 통신 인터페이스(1570)는 생략될 수도 있다.According to some embodiments, communication interface 1570 may be omitted.

스토리지(1590)는 상기 하나 이상의 프로그램(1591)과 각종 데이터를 비임시적으로 저장할 수 있다. The storage 1590 may non-temporarily store the one or more programs 1591 and various data.

스토리지(1590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 1590 may be non-volatile memory, such as read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, etc., a hard disk, a removable disk, or as is well known in the art. It may be configured to include any known type of computer-readable recording medium.

컴퓨터 프로그램(1591)은 메모리(1530)에 로드 될 때 프로세서(1510)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(1510)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다.Computer program 1591 may include one or more instructions that when loaded into memory 1530 cause processor 1510 to perform methods/operations in accordance with various embodiments of the present disclosure. That is, the processor 1510 may perform methods/operations according to various embodiments of the present disclosure by executing the one or more instructions.

위와 같은 경우, 컴퓨팅 장치(1500)를 통해 본 개시의 몇몇 실시예에 따른 블록체인 리소스 최적화 장치가 구현될 수 있다.In the above case, the block chain resource optimization device according to some embodiments of the present disclosure may be implemented through the computing device 1500 .

지금까지 도 1 내지 도 8을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 명세서의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present disclosure and effects according to the embodiments have been described with reference to FIGS. 1 to 8 . Effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the specification.

지금까지 도 1 내지 도 8을 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described with reference to FIGS. 1 to 8 so far may be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.

이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiments of the present disclosure have been described as being combined or operated as one, the technical idea of the present disclosure is not necessarily limited to these embodiments. That is, within the scope of the purpose of the present disclosure, all of the components may be selectively combined with one or more to operate.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a particular order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all shown actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present disclosure have been described with reference to the accompanying drawings, those skilled in the art may implement the present disclosure in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The protection scope of the present disclosure should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of rights of the technical ideas defined by the present disclosure.

Claims (20)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
일회성 프로세스에 대한 제1 컨테이너의 리소스 사용을 필터링하는 단계 - 상기 제1 컨테이너는 파드(pod)에 포함되는 프로세스 실행 단위이고, 상기 파드는 블록체인 네트워크에 포함되는 애플리케이션 실행 단위임 -;
상기 필터링의 결과에 기초하여, 트랜잭션 프로세스에 대한 상기 제1 컨테이너의 리소스 사용률을 산출하는 단계;
상기 리소스 사용률에 기초하여, 상기 제1 컨테이너의 최적 리소스 할당량을 산출하는 단계; 및
상기 최적 리소스 할당량에 기초하여, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
In a method performed by a computing device,
Filtering resource usage of a first container for one-time processes, wherein the first container is a process execution unit included in a pod, and the pod is an application execution unit included in a blockchain network;
calculating a resource utilization rate of the first container for a transaction process based on a result of the filtering;
calculating an optimal resource allocation amount of the first container based on the resource utilization rate; and
Adjusting the resources of the Pod containing the first container based on the optimal resource allocation amount.
How to optimize blockchain resources.
제1항에 있어서,
상기 블록체인 네트워크는,
퍼미션(permission) 기반의 블록체인 네트워크인,
블록체인 리소스 최적화 방법.
According to claim 1,
The blockchain network,
A permission-based blockchain network,
How to optimize blockchain resources.
제1항에 있어서,
상기 필터링하는 단계는,
프로세스의 시작 시간 또는 종료 시간에 기초하여 결정된 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 리소스 사용을 필터링하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
The filtering step is
Filtering the resource usage of the first container for the one-time process determined based on the start time or end time of the process.
How to optimize blockchain resources.
제1항에 있어서,
상기 필터링하는 단계는,
프로세스의 종류에 기초하여 결정된 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 상기 리소스 사용을 필터링하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
The filtering step is
Filtering the resource usage of the first container for the one-time process determined based on the type of process.
How to optimize blockchain resources.
제1항에 있어서,
상기 리소스 사용률을 산출하는 단계는,
상기 제1 컨테이너의 리소스 할당량 및 리소스 사용량에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
Calculating the resource utilization rate,
Comprising the step of calculating the resource utilization based on the resource allocation and resource usage of the first container,
How to optimize blockchain resources.
제1항에 있어서,
상기 리소스 사용률을 산출하는 단계는,
상기 제1 컨테이너에서 처리된 트랜잭션 데이터의 개수에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
Calculating the resource utilization rate,
Comprising the step of calculating the resource utilization based on the number of transaction data processed in the first container,
How to optimize blockchain resources.
제1항에 있어서,
상기 리소스 사용률을 산출하는 단계는,
상기 제1 컨테이너의 지연 시간에 기초하여, 상기 리소스 사용률을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
Calculating the resource utilization rate,
Comprising the step of calculating the resource utilization based on the delay time of the first container,
How to optimize blockchain resources.
제1항에 있어서,
상기 최적 리소스 할당량을 산출하는 단계는,
상기 리소스 사용률이 상한 임계치를 초과하면, 상기 리소스 사용률이 감소되기 위한 상기 최적 리소스 할당량을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
The step of calculating the optimal resource allocation amount,
If the resource utilization rate exceeds an upper limit threshold, calculating the optimal resource allocation amount for reducing the resource utilization rate,
How to optimize blockchain resources.
제8항에 있어서,
상기 최적 리소스 할당량은, 상기 리소스 사용률의 상한 임계치 및 하한 임계치에 기초하여 결정되는,
블록체인 리소스 최적화 방법.
According to claim 8,
The optimal resource allocation amount is determined based on the upper limit threshold and the lower limit threshold of the resource utilization rate.
How to optimize blockchain resources.
제8항에 있어서,
상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계는,
상기 최적 리소스 할당량과 상기 제1 컨테이너의 리소스 할당량의 차이에 기초하여, 상기 파드에 리소스를 배포하는 단계를 포함하는,
블록체인 리스소 최적화 방법.
According to claim 8,
Adjusting the resources of the Pod including the first container,
Distributing resources to the Pod based on the difference between the optimal resource allocation amount and the resource allocation amount of the first container.
How to optimize blockchain resources.
제1항에 있어서,
상기 최적 리소스 할당량을 산출하는 단계는,
상기 리소스 사용률이 하한 임계치 미만이면, 상기 리소스 사용률이 증가되기 위한 상기 최적 리소스 할당량을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
The step of calculating the optimal resource allocation amount,
If the resource utilization rate is less than a lower limit threshold, calculating the optimal resource allocation amount for increasing the resource utilization rate.
How to optimize blockchain resources.
제11항에 있어서,
상기 최적 리소스 할당량은, 상기 리소스 사용률의 상한 임계치 및 하한 임계치에 기초하여 결정되는,
블록체인 리소스 최적화 방법.
According to claim 11,
The optimal resource allocation amount is determined based on the upper limit threshold and the lower limit threshold of the resource utilization rate.
How to optimize blockchain resources.
제11항에 있어서,
상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 단계는,
상기 최적 리소스 할당량과 상기 제1 컨테이너의 리소스 할당량의 차이에 기초하여, 상기 파드의 리소스를 회수하는 단계를 포함하는,
블록체인 리스소 최적화 방법.
According to claim 11,
Adjusting the resources of the Pod including the first container,
Reclaiming the resources of the Pod based on the difference between the optimal resource allocation amount and the resource allocation amount of the first container.
How to optimize blockchain resources.
제1항에 있어서,
관리자의 입력에 응답하여, 블록체인 리소스 최적화를 수행하는 단계를 더 포함하되,
상기 필터링하는 단계는,
상기 관리자의 입력에 기초하여 결정된 시구간에 존재하는 상기 일회성 프로세스에 대한 상기 제1 컨테이너의 리소스 사용을 필터링하는 단계를 포함하고,
상기 리소스 사용률을 산출하는 단계는,
상기 시구간에 대응되는 상기 리소스 사용률을 산출하는 단계를 포함하고,
상기 최적 리소스 할당량을 산출하는 단계는,
상기 시구간에 대응되는 상기 최적 리소스 할당량을 산출하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
Further comprising performing blockchain resource optimization in response to an administrator's input,
The filtering step is
Filtering resource usage of the first container for the one-time process existing in a time period determined based on the manager's input;
Calculating the resource utilization rate,
Calculating the resource utilization rate corresponding to the time period;
The step of calculating the optimal resource allocation amount,
Comprising the step of calculating the optimal resource allocation amount corresponding to the time period,
How to optimize blockchain resources.
제1항에 있어서,
상기 파드는,
상기 제1 컨테이너 및 상기 제1 컨테이너와 구별되는 제2 컨테이너를 포함하고,
상기 파드의 리소스를 조정하는 단계는,
상기 파드에 포함된 상기 제1 컨테이너 및 상기 제2 컨테이너 중 적어도 하나의 리소스의 조정이 요구되면, 상기 파드의 리소스를 조정하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 1,
The pod,
Including the first container and a second container distinct from the first container,
The step of adjusting the resource of the Pod,
Adjusting the resource of the Pod when an adjustment of at least one resource of the first container and the second container included in the Pod is requested.
How to optimize blockchain resources.
컴퓨팅 장치에 의해 수행되는 방법에 있어서,
최적 리소스 할당량의 산출이 완료된 복수의 파드(pod)의 리스트를 얻는 단계 - 상기 최적 리소스 할당량은, 상기 복수의 파드 각각에 포함된 적어도 하나의 컨테이너의 리소스 사용률을 개선하기 위한 리소스 할당량이고, 상기 파드는 블록체인 네트워크에 포함된 애플리케이션 실행 단위이고, 상기 컨테이너는 프로세스 실행 단위임 -;
상기 리스트에 포함된 상기 복수의 파드 중 제1 파드의 리소스를 회수하는 단계 - 상기 제1 파드는, 상기 최적 리소스 할당량에 기초하여 리소스의 하향 조정이 요구되는 파드임 -;
상기 리스트에 포함된 상기 복수의 파드 중 제2 파드의 리소스 배포의 우선 순위를 결정하는 단계 - 상기 제2 파드는, 상기 최적 리소스 할당량에 기초하여 리소스의 상향 조정이 요구되는 파드임 -; 및
상기 우선 순위에 기초하여, 상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
In a method performed by a computing device,
Obtaining a list of a plurality of pods for which calculation of the optimal resource allocation amount has been completed - the optimal resource allocation amount is a resource allocation amount for improving the resource utilization of at least one container included in each of the plurality of pods, and the pod is an application execution unit included in a blockchain network, and the container is a process execution unit;
recovering resources of a first pod among the plurality of pods included in the list, wherein the first pod is a pod for which downward adjustment of resources is requested based on the optimal resource allocation amount;
determining a resource distribution priority of a second pod among the plurality of pods included in the list, wherein the second pod is a pod requiring upward adjustment of resources based on the optimal resource allocation amount; and
distributing the resources recovered from the first Pod to the second Pod based on the priority,
How to optimize blockchain resources.
제16항에 있어서,
상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계는,
상기 리스트에 포함된 상기 복수의 파드에 대한 분류가 완료되면, 상기 우선 순위에 기초하여 상기 제1 파드로부터 회수된 리소스를 상기 제2 파드에 배포하는 단계를 포함하는,
블록체인 리소스 최적화 방법.
According to claim 16,
The step of distributing the resources recovered from the first Pod to the second Pod,
Distributing resources recovered from the first pod to the second pod based on the priority order when classification of the plurality of pods included in the list is completed.
How to optimize blockchain resources.
제16항에 있어서,
상기 우선 순위는,
상기 리소스의 상향 조정의 양이 클수록 높게 결정되는,
블록체인 리소스 최적화 방법.
According to claim 16,
The priority is,
The higher the amount of upward adjustment of the resource, the higher it is determined.
How to optimize blockchain resources.
제18항에 있어서,
상기 리소스는, 메모리 및 CPU(Central Processing Unit)를 포함하고,
상기 우선 순위는, 상기 메모리의 제1 상향 조정의 양 및 상기 CPU의 제2 상향 조정의 양 각각에 적용되는 가중치에 기초하여 결정되고,
상기 제2 상향 조정의 양에 적용되는 제2 가중치는,
상기 제1 상향 조정의 양에 적용되는 제1 가중치 보다 높게 설정되는,
블록체인 리소스 최적화 방법.
According to claim 18,
The resource includes memory and a central processing unit (CPU),
The priority is determined based on a weight applied to each of the first upward adjustment amount of the memory and the second upward adjustment amount of the CPU,
The second weight applied to the amount of the second upward adjustment is,
Set higher than the first weight applied to the amount of the first upward adjustment,
How to optimize blockchain resources.
프로세서;
네트워크 인터페이스;
메모리; 및
상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
상기 컴퓨터 프로그램은,
일회성 프로세스에 대한 제1 컨테이너의 리소스 사용을 필터링하는 인스트럭션(instruction) - 상기 제1 컨테이너는 파드(pod)에 포함되는 프로세스 실행 단위이고, 상기 파드는 블록체인 네트워크에 포함되는 애플리케이션 실행 단위임 -;
상기 필터링의 결과에 기초하여, 트랜잭션 프로세스에 대한 상기 제1 컨테이너의 리소스 사용률을 산출하는 인스트럭션;
상기 리소스 사용률에 기초하여, 상기 제1 컨테이너의 최적 리소스 할당량을 산출하는 인스트럭션; 및
상기 최적 리소스 할당량에 기초하여, 상기 제1 컨테이너를 포함하는 상기 파드의 리소스를 조정하는 인스트럭션을 포함하는,
블록체인 리소스 최적화 장치.
processor;
network interface;
Memory; and
A computer program loaded into the memory and executed by the processor,
The computer program,
instructions for filtering resource usage of a first container for one-time processes, wherein the first container is a process execution unit included in a pod, and the pod is an application execution unit included in a blockchain network;
instructions for calculating a resource utilization of the first container for a transactional process based on a result of the filtering;
an instruction for calculating an optimal resource allocation amount of the first container based on the resource utilization rate; and
Based on the optimal resource allocation amount, comprising instructions for adjusting the resources of the Pod containing the first container.
Blockchain resource optimizer.
KR1020210141082A 2021-10-21 2021-10-21 Apparatus and method for optimizing blockchain resources KR20230057084A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210141082A KR20230057084A (en) 2021-10-21 2021-10-21 Apparatus and method for optimizing blockchain resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210141082A KR20230057084A (en) 2021-10-21 2021-10-21 Apparatus and method for optimizing blockchain resources

Publications (1)

Publication Number Publication Date
KR20230057084A true KR20230057084A (en) 2023-04-28

Family

ID=86143363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210141082A KR20230057084A (en) 2021-10-21 2021-10-21 Apparatus and method for optimizing blockchain resources

Country Status (1)

Country Link
KR (1) KR20230057084A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191586B1 (en) 2018-10-23 2020-12-15 포항공과대학교 산학협력단 Fog computing method with blockchain-based idle resoure sharing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191586B1 (en) 2018-10-23 2020-12-15 포항공과대학교 산학협력단 Fog computing method with blockchain-based idle resoure sharing

Similar Documents

Publication Publication Date Title
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
US10108460B2 (en) Method and system for integrated deployment planning for virtual appliances
US9588789B2 (en) Management apparatus and workload distribution management method
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
US10055244B2 (en) Boot control program, boot control method, and boot control device
EP3403179A1 (en) Method, system, and device for allocating resources in a server
US20160156568A1 (en) Computer system and computer resource allocation management method
KR20120026046A (en) Application efficiency engine
US9858120B2 (en) Modifying memory space allocation for inactive tasks
JP6172649B2 (en) Information processing apparatus, program, and information processing method
US20170019345A1 (en) Multi-tenant resource coordination method
JP2012094030A (en) Computer system and processing control method
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
CN110018883A (en) A kind of virtual machine delet method, device, equipment and storage medium
US11188370B2 (en) Memory scheduler using guest-originated statistics
JP2017041191A (en) Resource management apparatus, resource management program, and resource management method
WO2024148864A1 (en) Virtual machine memory adjustment method and device, non-volatile readable storage medium, and electronic device
KR20230057084A (en) Apparatus and method for optimizing blockchain resources
US10592297B2 (en) Use minimal variance to distribute disk slices to avoid over-commitment
KR20160043706A (en) Virtual machine scaling apparatus and method for thereof
Ruiu et al. Automatic dynamic allocation of cloud storage for scientific applications
CN113918271A (en) Resource management method and device, electronic equipment and storage medium
US20140059008A1 (en) Resource allocation analyses on hypothetical distributed computer systems
JP7550849B2 (en) Methods for concurrent execution of database operations

Legal Events

Date Code Title Description
A201 Request for examination