KR20190015370A - 적응식 리소스 할당 방법 및 장치 - Google Patents
적응식 리소스 할당 방법 및 장치 Download PDFInfo
- Publication number
- KR20190015370A KR20190015370A KR1020187037792A KR20187037792A KR20190015370A KR 20190015370 A KR20190015370 A KR 20190015370A KR 1020187037792 A KR1020187037792 A KR 1020187037792A KR 20187037792 A KR20187037792 A KR 20187037792A KR 20190015370 A KR20190015370 A KR 20190015370A
- Authority
- KR
- South Korea
- Prior art keywords
- time
- service statement
- sum
- resource allocation
- statement
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 출원은 적응식 리소스 할당 방법 및 장치를 제공한다. 방법은: 시간 기간 동안 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하는 것; 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 시간 기간의 시간 세그먼트를 결정하는 것; 및 각각의 서비스 명령문의 타입을 결정하고, 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하는 것을 포함한다. 본 출원에 기초하면, 시스템은, 코어 서비스(예를 들면, 트랜잭션 서비스)의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하기 위해, 실행 시간 동안 수신되는 서비스 요청 타입 및 상이한 타입의 서비스 요청의 부하 상태에 기초하여, 상이한 시간 세그먼트에서의 상이한 타입의 서비스의 리소스 구성 비율을 적응적으로 조정할 수 있다.
Description
본 출원은 2016년 6월 1일자로 출원된 발명의 명칭이 "ADAPTIVE RESOURCE ALLOCATION METHOD AND APPARATUS"인 중국 특허 출원 제201610382326.4호에 대한 우선권을 주장하는데, 상기 중국 출원은 참조에 의해 그 전체가 본원에 통합된다.
본 출원은 정보 프로세싱 기술의 분야에 관한 것으로, 특히 적응식 리소스 할당 방법 및 장치에 관한 것이다.
온라인 트랜잭션 데이터베이스는 일반적으로 온라인 트랜잭션 프로세싱(online transaction processing; OLTP) 데이터를 저장하는 데이터베이스를 지칭한다. 온라인 트랜잭션 데이터베이스는 온라인 트랜잭션 서비스를 제공하며 요청의 응답 시간은 민감할 수 있다.
데이터 웨어하우스는, 온라인 분석 프로세싱(online analytical processing; OLAP) 기능 및 비즈니스 인텔리전스(business intelligence; BI) 기능을 제공하기 위한 데이터베이스를 일반적으로 지칭한다. 온라인 트랜잭션 데이터베이스와 비교하여, 데이터 웨어하우스는 요청에 의해 액세스되는 매우 큰 데이터 볼륨을 특징으로 하며 응답 시간에 그만큼 민감하지 않다.
일반적으로, 데이터베이스 시스템은 두 개의 주요 서비스 요건을 충족시키기 위해 사용된다. 첫째, 데이터베이스 시스템은 핵심 온라인 트랜잭션 서비스의 요건을 충족시키기 위해 사용된다. 이 경우, 데이터베이스 시스템은, 요청의 짧은 응답 시간에 원자성, 일관성, 격리, 내구성(Atomicity, Consistency, Isolation, Durability; ACID) 피쳐를 가진 트랜잭션을 지원해야 하며, 상대적으로 높은 처리량을 필요로 한다. 둘째, 데이터베이스 시스템은 데이터 마이닝 및 BI와 같은 분석 서비스의 요건을 충족시키기 위해 사용된다. 분석 서비스는 트랜잭션에 대한 상대적으로 낮은 요건을 갖는다. 그러나, 단일의 요청에 의해 액세스되는 데이터 볼륨은 크고(수만 줄, 또는 심지어 수천만 줄), 명령문(statement)은 복잡하다. 단일의 요청이 실행될 때 많은 양의 리소스가 소비되며, 응답 시간은 상대적으로 긴 데, 수 분에서 수 시간의 범위에 이른다. 데이터 웨어하우스 내의 데이터가 보통은 온라인 트랜잭션 데이터베이스로부터 주기적으로 임포팅되기(imported) 때문에, 데이터 웨어하우스는 온라인 트랜잭션 데이터베이스보다 더 열악한 타임라인을 갖는다.
현재, 대부분의 기업에서, 앞선 두 개의 데이터베이스 시스템(온라인 트랜잭션 데이터베이스 및 데이터 웨어하우스)은 상호 독립적이다. 온라인 트랜잭션 데이터베이스의 데이터는, ETL 시스템 및 도구를 사용하는 것에 의해, 분석을 위해 데이터 웨어하우스로 주기적으로 임포팅된다. 서비스 개발에 따라, 데이터베이스 시스템이 온라인 트랜잭션 서비스 및 분석 서비스를 둘 모두 지원하여, 데이터 전송 및 중복 저장을 감소시킬 수 있고, 동시에 최신 트랜잭션 데이터를 실시간으로 분석할 수 있기를 더 많은 유저가 기대한다.
온라인 트랜잭션 데이터베이스 및 데이터 웨어하우스의 통합에 의해 야기되는 문제점은, 시스템 리소스의 제한된 총량과 분석적 질의 요청에 의해 끊임 없이 소비되는 많은 양의 시스템 리소스 때문에, 온라인 트랜잭션 애플리케이션이 영향을 받는다는 것이다. 예를 들면, 지연에 매우 민감한 온라인 트랜잭션은 만료되거나 또는 비축되어, 핵심 서비스에 대한 손실을 야기한다.
이 문제를 해결하기 위해, 몇몇 데이터베이스 판매자는 솔루션을 제공한다. 널리 사용되는 솔루션은, 유저 리소스 관리를 수행하여 상이한 유저를 위해 유휴 리소스 풀(idle resource pool)을 정적으로 설정하는 것이다. 리소스 풀은, 중앙 프로세싱 유닛(central processing unit; CPU), 메모리, 및 초당 입출력 동작(input/output operations per second; IOPS)과 같은 리소스를 포함한다. 혼합 서비스가 배치되는 데이터베이스 시스템에서, 트랜잭션 서비스 유저 및 분석 서비스 유저를 위해 상이한 리소스 풀이 구성된다. 솔루션이 잘 구현된 시스템에서는 두 가지 타입의 서비스에 대해 기본적으로 리소스 사용의 상호 간섭이 제거될 수 있다.
정적 리소스 사전 구성 솔루션은, 상이한 타입의 서비스 사이의 상호 간섭의 문제를 부분적으로 해결할 수 있지만, 그러나 명백한 단점을 또한 갖는다.
첫째, 관리자는 상이한 서비스 사이에서 리소스를 적절히 할당할 수 없다. 적절한 리소스 할당은, 두 가지 타입의 서비스가 실행될 때, 리소스 소비의 정확한 측정을 필요로 한다. 그러나, 서비스의 복잡성 및 가변성으로 인해, 리소스 소비는 안정적인 값이 아니다. 대신, 리소스 소비는 일반적으로 시간에 따라 변한다. 간단한 예는, 각각의 타입의 서비스가 피크(peak) 기간 및 피크 외(off-peak) 기간을 갖는 것이다. 서비스 피크 기간의 값에 기초하여 결정되는 서비스 타입의 할당은, 서비스 피크 외 기간의 값에 기초하여 결정되는 것과는 구별된다.
둘째, 사전 구성된 리소스 할당량(quota)은 리소스의 완전한 활용에 이바지하지 않는다. 온라인 트랜잭션 서비스 및 분석 서비스가 예로서 사용된다. 두 가지 타입의 서비스 둘 모두는 명백한 주기적 특성을 갖는다. 프로모션과 같은 특별한 시점에 관계 없이, 온라인 트랜잭션 서비스의 피크 기간은 일반적으로 낮 시간이며, 온라인 트랜잭션 서비스의 피크 외 기간은 일반적으로 야간이다. 그러나, 분석 서비스는, 예를 들면, 일별 정산 또는 월별 정산와 같은 주기적 통계 수집을 위해 일반적으로 사용되기 때문에, 분석 서비스의 피크 기간은 대부분 야간이다.
따라서, 대부분의 상황에서, 온라인 트랜잭션 서비스 및 분석 서비스의 실제 리소스 사용량 상태(usage status)는 미리 결정될 수 없다. 또한, 두 가지 타입의 서비스 둘 모두는 피크 기간 및 피크 외 기간을 가지며, 피크 기간의 리소스 요건은 피크 외 기간에서의 리소스 요건과는 다르다. 시스템 관리자가 리소스 할당량을 사전에 적절히 설정하는 것은 매우 어렵다.
리소스 할당량은 종래의 정적 리소스 사전 구성 솔루션에서의 리소스 사용량 상태에 기초하여 실시간으로 조정될 수 없다. 문제에 대한 어떠한 효과적인 솔루션도 현재 제시되어 있지 않다.
본 출원의 목적은, 적응식 리소스 할당 방법 및 장치를 제공하는 것, 상이한 타입의 서비스의 리소스 할당량을 상이한 시간 세그먼트에서 적응적으로 조정하는 것 및 코어 서비스의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하는 것이다.
본 출원은 적응식 리소스 할당 방법 및 장치를 제공한다.
다음을 포함하는 적응식 리소스 할당 방법이 제공된다: 시간 기간(time period)에서의 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하는 것; 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 시간 기간의 시간 세그먼트를 결정하는 것; 및 각각의 서비스 명령문의 타입을 결정하고, 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하는 것.
다음을 포함하는 적응식 리소스 할당 장치가 제공된다: 시간 기간 동안 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하도록 구성되는 통계치 수집 유닛; 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 시간 기간의 시간 세그먼트를 결정하도록 구성되는 분할 유닛; 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여, 각각의 서비스 명령문의 타입을 결정하도록 구성되는 타입 결정 유닛; 및 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하도록 구성되는 조정 유닛.
본 출원에서 제공되는 적응식 리소스 할당 방법 및 장치에 기초하여, 시스템은, 코어 서비스(예를 들면, 트랜잭션 서비스)의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하기 위해, 실행 시간 동안 수신되는 서비스 요청 타입 및 상이한 타입의 서비스 요청의 부하 상태에 기초하여, 상이한 시간 세그먼트에서의 상이한 타입의 서비스의 리소스 구성 비율을 적응적으로 조정할 수 있다.
본 출원의 구현예에서의 또는 현존하는 기술에서의 기술적 솔루션을 더욱 명확하게 설명하기 위해, 다음의 내용은, 구현예 또는 현존하는 기술을 설명하기 위한 첨부의 도면을 간략히 설명한다. 명백하게, 다음의 설명에서의 첨부의 도면은 단지 본 출원의 몇몇 구현예를 도시하는 것에 불과하며, 기술 분야에서 통상의 기술을 가진 자는 창조적인 노력 없이도 이들 첨부의 도면에 기초하여 다른 도면을 여전히 유도할 수 있다.
도 1은, 본 출원에 따른, 적응식 리소스 할당 방법의 구현예를 예시하는 방법 플로우차트이다;
도 2는, 본 출원에 따른, 적응식 리소스 할당 장치의 한 구현예를 예시하는 개략적인 구조도이다;
도 3은, 본 출원에 따른, 타입 결정 유닛의 구현예를 예시하는 개략적인 구조도이다;
도 4는, 본 출원에 따른, 조정 유닛의 구현예를 예시하는 개략적인 구조도이다; 그리고
도 5는, 본 출원에 따른, 적응식 리소스 할당 솔루션의 시스템을 예시하는 개략적인 구조도이다.
도 1은, 본 출원에 따른, 적응식 리소스 할당 방법의 구현예를 예시하는 방법 플로우차트이다;
도 2는, 본 출원에 따른, 적응식 리소스 할당 장치의 한 구현예를 예시하는 개략적인 구조도이다;
도 3은, 본 출원에 따른, 타입 결정 유닛의 구현예를 예시하는 개략적인 구조도이다;
도 4는, 본 출원에 따른, 조정 유닛의 구현예를 예시하는 개략적인 구조도이다; 그리고
도 5는, 본 출원에 따른, 적응식 리소스 할당 솔루션의 시스템을 예시하는 개략적인 구조도이다.
기술 분야의 숙련된 자가 본 출원의 기술적 솔루션을 더욱 잘 이해하게 만들기 위해, 다음의 내용은, 본 출원의 구현예의 첨부의 도면을 참조하여 본 출원의 구현예에서의 기술적 솔루션을 명확하고 완전하게 설명한다. 명백하게, 설명된 구현예는 본 출원의 구현예의 전체가 아닌 일부에 불과하다. 창의적인 노력 없이 본 출원의 구현예에 기초하여 기술 분야에서 통상의 기술을 가진 자에 의해 획득되는 다른 모든 구현예는 본 출원의 보호 범위 내에 속할 것이다.
본 명세서에서 사용되는 "제1", "제2", 등등은, 순서 또는 시퀀스를 나타내도록 특별히 의도되는 것은 아니며, 본 발명을 제한하는 것이 아니라, 동일한 기술적 용어를 사용하는 것에 의해 설명되는 엘리먼트 또는 동작 사이를 구별하도록 의도된다.
트랜잭션 서비스 및 분석 서비스에 대한 리소스 할당의 경우, 대부분의 상황에서 두 가지 타입의 서비스의 실제 리소스 사용량 상태가 미리 결정될 수 없기 때문에, 시스템 관리자가 리소스 할당량을 미리 적절하게 설정하는 것은 어렵다. 시스템의 실제 실행 동안, 트랜잭션 서비스의 시간 기간은 분석 서비스를 잘 보완할 수 있다. 정적인 리소스 사전 구성 할당 솔루션보다 우수한 솔루션은, 서비스의 시간 기간에 기초하여 시스템이 리소스 할당을 동적으로 조정하는 것을 가능하게 하는 것이다: 트랜잭션 서비스의 피크 기간에는, 더 많은 리소스가 트랜잭션 서비스에 할당될 수 있고, 분석 서비스를 위해 사용되는 리소스의 총량은 제한된다; 트랜잭션 서비스의 피크 외 기간에는, 의사 결정을 위한 분석 결과를 획득하기 위해, 리소스를 완전히 사용하도록 그리고 분석 작업을 신속하게 완료하도록 더 많은 리소스가 분석 서비스에 할당될 수 있다. 상기에 기초하여, 본 출원은 적응식 리소스 할당 방법 및 장치를 제공한다.
이하에서는, 첨부의 도면을 참조하여 본 출원에서의 적응식 리소스 할당 방법 및 장치를 상세히 설명한다. 도 1은, 본 출원의 구현예에 따른, 적응식 리소스 할당 방법의 구현예를 예시하는 방법 플로우차트이다. 비록 본 출원이 이하의 구현예 또는 첨부의 도면에서 도시되는 방법의 동작 단계 또는 장치의 구조를 제공하지만, 방법 또는 장치는, 종래의 또는 비창조적인 노력을 통해 더 많은 또는 더 적은 동작 단계 또는 모듈 구조를 포함할 수 있다. 필요한 논리적 인과 관계를 갖지 않는 단계 또는 구조의 경우, 단계의 실행 시퀀스 또는 장치의 모듈 구조가 본 출원의 구현예에서 도시되는 실행 시퀀스 또는 모듈 구조로 제한되지는 않는다. 실제의 적용에서 장치 또는 단말 제품에 의해 방법 또는 모듈 구조가 실행되는 경우, 방법 또는 모듈 구조는 구현예 또는 첨부의 도면에서의 방법 또는 모듈 구조의 시퀀스에 기초하여 실행될 수 있거나 또는 병렬로 실행될 수 있다(예를 들면, 병렬 프로세서 또는 멀티 스레딩 환경). 도 1에서 도시되는 바와 같이, 본 출원에서 제공되는 적응식 리소스 할당 방법의 구현예는 다음을 포함할 수 있다:
단계 S102: 일정 시간 기간 동안 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집함.
단계 S104: 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 시간 기간의 시간 세그먼트를 결정함. 구체적으로 말하면, 각각의 서비스 명령문의 요청 시간의 시간 세그먼트가 결정되는 경우, 서비스 명령문이 그 시간 세그먼트에 속한다는 것을 결정함.
단계 S106: 각각의 서비스 명령문의 타입을 결정하고, 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정함.
적응식 리소스 할당 방법 및 장치에 기초하여, 시스템은, 코어 서비스(예를 들면, 트랜잭션 서비스)의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하기 위해, 실행 시간 동안 수신되는 서비스 요청 타입 및 상이한 타입의 서비스 요청의 부하 상태에 기초하여, 상이한 시간 세그먼트에서의 상이한 타입의 서비스의 리소스 구성 비율을 적응적으로 조정할 수 있다.
일반적으로, 시간 기간은 24 개의 시간 세그먼트를 포함하는 하루로 설정될 수 있고, 각각의 시간 세그먼트는 1 시간이다. 대안적으로, 시간 기간은 1 주일로 설정될 수 있고, 각각의 시간 세그먼트는 하루이다; 또는 시간 기간은 1개월로 설정될 수 있고, 각각의 시간 세그먼트는 하루이다; 또는 시간 기간은 1년으로 설정될 수 있고, 각각의 시간 세그먼트는 1개월이다. 물론, 시간 기간의 특정한 지속 기간 및 대응하는 시간 세그먼트는 실제 필요에 기초하여 설정될 수 있다. 본 출원은 이에 대해 제한을 설정하지 않는다. 일반적으로, 시간 기간의 더 짧은 지속 기간 및 대응하는 시간 세그먼트의 더 짧은 지속 기간은, 시스템이 리소스를 적응적으로 할당하는 더 높은 정확도를 나타낸다.
본 출원에서, 서비스 명령문의 타입은 트랜잭션 서비스 명령문 및 분석 서비스 명령문을 포함할 수 있다. 물론, 서비스 명령문의 타입은, 실제 요구에 기초하여 설정될 수 있는 다른 타입의 서비스 명령문을 더 포함할 수 있다. 다른 타입의 서비스 명령문의 리소스 할당량이 적응적으로 조정될 필요가 있는 경우, 적응식 리소스 할당 방법은 또한 특정 구현예에 적용 가능하다. 트랜잭션 서비스 명령문 및 분석 서비스 명령문이 본 출원에서의 설명을 위한 예로서 주로 사용된다.
각각의 서비스 명령문이 속하는 시간 세그먼트가 결정된 이후, 각각의 서비스 명령문의 타입은, 다음의 바람직한 구현예를 사용하는 것에 의해 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간에 기초하여 결정될 수 있다: 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간이 실행 시간 임계치보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 서비스 명령문이 분석 서비스 명령문이라는 것을 결정하거나; 또는 만약 그렇지 않다면, 서비스 명령문이 트랜잭션 서비스 명령문이라는 것을 결정함. 이전의 바람직한 구현예에서, 서비스 명령문의 타입은 신속하고 정확하게 결정될 수 있고, 실행 시간 임계치는 실제 상황에 기초하여 설정될 수 있거나 또는 조정될 수 있다.
각각의 서비스 명령문의 타입이 결정된 이후, 다음 시간 기간의 동일한 시간 세그먼트 내에서의 상이한 타입의 서비스 명령문의 리소스 할당량은, 후속하는 바람직한 구현예를 사용하는 것에 의해 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여 조정될 수 있다.
단계 1: 각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 실제 실행 시간 합을 획득하고; 각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 응답 시간 합을 획득함.
단계 2: 각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 실제 실행 시간 합을 획득하고; 각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 응답 시간 합을 획득함.
단계 3: 제1 실제 실행 시간 합, 제1 응답 시간 합, 제2 실제 실행 시간 합, 및 제2 응답 시간 합에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 트랜잭션 서비스 명령문의 리소스 할당량 및 분석 서비스 명령문의 리소스 할당량을 조정함.
제3 단계의 특정한 동작은, 다음의 바람직한 구현예를 사용하는 것에 의해 구현될 수 있다: 제1 응답 시간 합이 제1 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 트랜잭션 서비스 명령문의 리소스 할당량이 과도하게 적다는 것을 결정하고, 분석 서비스 명령문의 리소스 할당량을 감소시키고, 예를 들면, 분석 서비스 명령문의 리소스 할당량을, 분석 서비스 명령문의 미리 결정된 최소 리소스 할당량으로 감소시키고; 그리고 제2 응답 시간 합이 제2 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 분석 서비스 명령문의 리소스 할당량이 과도하게 적다는 것을 결정하고, 트랜잭션 서비스 명령문의 리소스 할당량을 감소시키고, 예를 들면, 트랜잭션 서비스 명령문의 리소스 할당량을, 다음의 것, 트랜잭션 서비스 명령문의 미리 결정된 최소 리소스 할당량 및 제1 실제 실행 시간 기간 동안 실제로 소비되는 리소스 할당량: 중 더 큰 것보다 더 크거나 또는 동일하게 되도록, 감소시킴.
분석 서비스 명령문의 최소 리소스 할당량 및 트랜잭션 서비스 명령문의 최소 리소스 할당량은 실제 필요에 기초하여 설정될 수 있거나 또는 조정될 수 있다.
앞선 바람직한 구현예에서, 시스템은, 상이한 타입의 서비스 명령문의 부하 상태에 기초하여, 상이한 타입의 서비스 명령문의 리소스 할당량을 적응적으로 조정할 수 있다. 따라서, 리소스 할당량 조정 동작은 상대적으로 정확하게 수행되어, 시스템 리소스를 완전히 사용하고, 상이한 타입의 서비스의 원활한 실행을 보장하고, 리소스의 낭비를 감소시킨다.
상이한 타입의 서비스는 상이한 애플리케이션 시나리오에서 상이한 레벨의 중요도를 가질 수 있다는 점을 유의할 필요가 있다. 예를 들면, 프로모션 동안, 트랜잭션 서비스의 원활한 실행이 우선적으로 보장될 필요가 있다. 이것을 고려하여, 본 출원은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문에 우선 순위를 부여하는 바람직한 구현예를 제공한다. 트랜잭션 서비스 명령문은 분석 서비스 명령문보다 더 높은 우선 순위를 갖는다. 특정한 시나리오에서, 미리 결정된 시간에서의 트랜잭션 서비스 명령문의 요청량이 임계치를 초과하면, 트랜잭션 서비스 명령문의 요청량이 임계치 미만이 될 때까지, 분석 서비스 명령문의 리소스 할당량은 제로로 감소된다. 임계치는 실제 필요에 기초하여 설정될 수 있거나 또는 조정될 수 있다. 앞선 바람직한 구현예에서, 몇몇 특정한 시나리오에서 어떤 타입의 서비스가 우선적으로 실행되는 것을 보장하기 위해서, 상이한 타입의 서비스 명령문은 상이한 타입의 서비스의 중요도에 기초하여 우선 순위가 매겨질 수 있다. 일반적으로, 트랜잭션 서비스 명령문의 우선 순위 및 분석 서비스 명령문의 우선 순위는 시스템 관리자에 의해 설정되며, 관리자는 시스템에 의해 주로 지원되는 서비스 타입에 기초하여 우선 순위 부여(prioritization)를 수행한다.
또한, 시스템 리소스가 부족한 경우, 상이한 타입의 서비스의 우선 순위에 기초하여 소정 타입의 서비스가 실행을 위해 우선적으로 선택될 수 있다. 이것을 고려하여, 본 출원은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문에 우선 순위를 부여하기 위한; 그리고 시스템 리소스의 양이 리소스 임계치보다 더 적은 경우, 높은 우선 순위를 갖는 서비스 명령문에 리소스 할당량을 할당하고 및/또는 낮은 우선 순위를 갖는 서비스 명령문의 리소스 할당량을 제로로 감소시기 위한 바람직한 구현예를 제공한다.
앞선 적응식 리소스 할당 방법과 동일한 독창적인 개념에 기초하여, 본 출원은, 다음의 구현예에서 설명되는 것과 같은 적응식 리소스 할당 장치를 제공한다. 적응식 리소스 할당 장치가 적응식 리소스 할당 방법과 유사한 문제 해결 원리를 갖는다는 것을 고려하면, 적응식 리소스 할당 장치의 구현예에 대해, 적응식 리소스 할당 방법의 구현예에 대한 참조가 이루어질 수 있다. 반복된 설명은 제공되지 않는다.
도 2는, 본 출원에 따른, 적응식 리소스 할당 장치의 한 구현예를 예시하는 개략적인 구조도이다. 도 2에서 도시되는 바와 같이, 장치는, 통계치 수집 유닛(10), 분할 유닛(20), 타입 결정 유닛(30), 및 조정 유닛(40)을 포함할 수 있다.
통계치 수집 유닛(10)은 시간 기간 동안 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하도록 구성된다. 통계치 수집 유닛(10)은 적응식 리소스 할당 장치에서 시간 정보를 수집하기 위한 부분이며, 소프트웨어, 하드웨어 또는 이들의 조합, 예를 들면, 시간 정보 수집 기능을 구현하는 프로세싱 칩 또는 입/출력 인터페이스와 같은 컴포넌트일 수 있다.
분할 유닛(20)은, 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 시간 기간의 시간 세그먼트를 결정하도록 구성된다. 분할 유닛(20)은 적응식 리소스 할당 장치에서 시간 세그먼트를 결정하기 위한 부분이며, 소프트웨어, 하드웨어 또는 이들의 조합, 예를 들면, 시간 세그먼트 결정 기능을 구현하는 프로세싱 칩 또는 입/출력 인터페이스와 같은 컴포넌트일 수 있다.
타입 결정 유닛(30)은, 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간 및 응답 시간에 기초하여, 각각의 서비스 명령문의 타입을 결정하도록 구성된다. 타입 결정 유닛(30)은 적응식 리소스 할당 장치에서 시간 세그먼트를 결정하기 위한 부분이며, 소프트웨어, 하드웨어 또는 이들의 조합, 예를 들면, 시간 세그먼트 결정 기능을 구현하는 프로세싱 칩 또는 입/출력 인터페이스와 같은 컴포넌트일 수 있다.
조정 유닛(40)은 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하도록 구성된다. 조정 유닛(40)은 적응식 리소스 할당 장치에서 리소스 할당량을 조정하기 위한 부분이며, 소프트웨어, 하드웨어 또는 이들의 조합, 예를 들면, 리소스 할당량 조정 기능을 구현하는 프로세싱 칩 또는 입/출력 인터페이스와 같은 컴포넌트일 수 있다.
적응식 리소스 할당 장치에 기초하여, 시스템은, 코어 서비스(예를 들면, 트랜잭션 서비스)의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하기 위해, 실행 시간 동안 수신되는 서비스 요청 타입 및 상이한 타입의 서비스 요청의 부하 상태에 기초하여, 상이한 시간 세그먼트에서의 상이한 타입의 서비스의 리소스 구성 비율을 적응적으로 조정할 수 있다.
일반적으로, 시간 기간은 24 개의 시간 세그먼트를 포함하는 하루로 설정될 수 있고, 각각의 시간 세그먼트는 1 시간이다. 대안적으로, 시간 기간은 1 주일로 설정될 수 있고, 각각의 시간 세그먼트는 하루이다; 또는 시간 기간은 1개월로 설정될 수 있고, 각각의 시간 세그먼트는 하루이다; 또는 시간 기간은 1년으로 설정될 수 있고, 각각의 시간 세그먼트는 1개월이다. 물론, 시간 기간의 특정한 지속 기간 및 대응하는 시간 세그먼트는 실제 필요에 기초하여 설정될 수 있다. 본 출원은 이에 대해 제한을 설정하지 않는다. 일반적으로, 더 짧은 시간 기간 및 대응하는 시간 세그먼트는, 시스템이 리소스를 적응적으로 할당하는 더 높은 정확도를 나타낸다.
본 출원에서, 서비스 명령문의 타입은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문을 포함할 수 있다. 물론, 서비스 명령문의 타입은, 실제 요구에 기초하여 설정될 수 있는 다른 타입의 서비스 명령문을 더 포함할 수 있다.
각각의 서비스 명령문이 속하는 시간 세그먼트가 결정된 이후, 각각의 서비스 명령문의 타입은, 다음의 바람직한 구현예를 사용하는 것에 의해 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간에 기초하여 결정될 수 있다. 장치는, 실행 시간 임계치를 설정하도록 구성되는 임계치 설정 유닛을 더 포함할 수 있다. 실행 시간 임계치는 실제 상황에 기초하여 설정될 수 있거나 또는 조정될 수 있다. 도 3은, 본 출원에 따른, 타입 결정 유닛의 구현예를 예시하는 개략적인 구조도이다. 도 3에서 도시되는 바와 같이, 앞선 타입 결정 유닛(30)은 다음을 포함할 수 있다: 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 실제 실행 시간이 실행 시간 임계치보다 더 큰지의 여부를 결정하도록 구성되는 결정 모듈(31); 결정 모듈(31)의 결정 결과가 '예(yes)'인 경우 서비스 명령문은 분석 서비스 명령문이라는 것을 결정하도록 구성되는 제1 프로세싱 모듈(32); 및 결정 모듈(31)의 결정 결과가 '아니오(no)'인 경우, 서비스 명령문은 트랜잭션 서비스 명령문이라는 것을 결정하는 제2 프로세싱 모듈(33). 앞선 바람직한 구현예에서, 서비스 명령문의 타입은 신속하고 정확하게 결정될 수 있다.
도 4는, 본 출원에 따른, 조정 유닛의 구현예를 예시하는 개략적인 구조도이다. 도 4에서 도시되는 바와 같이, 조정 유닛(40)은 다음을 포함한다: 각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 실제 실행 시간 합을 획득하도록 구성되는 제1 계산 모듈(41); 각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 응답 시간 합을 획득하도록 구성되는 제2 계산 모듈(42); 각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 실제 실행 시간 합을 획득하도록 구성되는 제3 계산 모듈(43); 각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 응답 시간 합을 획득하도록 구성되는 제4 계산 모듈(44); 및 제1 실제 실행 시간 합, 제1 응답 시간 합, 제2 실제 실행 시간 합, 및 제2 응답 시간 합에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 트랜잭션 서비스 명령문의 리소스 할당량 및 분석 서비스 명령문의 리소스 할당량을 조정하도록 구성되는 리소스 조정 모듈(45).
앞선 리소스 조정 모듈(45)은 다음을 포함할 수 있다: 제1 응답 시간 합이 제1 실제 실행 시간 합보다 더 큰지의 여부를 결정하도록; 만약 그렇다면, 트랜잭션 서비스 명령문의 리소스 할당량이 과도하게 적다는 것을 결정하고, 분석 서비스 명령문의 리소스 할당량을 감소시키도록, 확실히 말하면, 분석 서비스 명령문의 리소스 할당량을, 분석 서비스 명령문의 미리 결정된 최소 리소스 할당량으로 감소시키도록 구성되는 제1 조정 서브모듈; 및 제2 응답 시간 합이 제2 실제 실행 시간 합보다 더 큰지의 여부 결정하도록; 만약 그렇다면, 분석 서비스 명령문의 리소스 할당량이 과도하게 적다는 것을 결정하고, 트랜잭션 서비스 명령문의 리소스 할당량을 감소시키도록, 확실히 말하면, 트랜잭션 서비스 명령문의 리소스 할당량을, 다음의 것, 트랜잭션 서비스 명령문의 미리 결정된 최소 리소스 할당량 및 제1 실제 실행 시간 합에 의해 실제로 소비되는 리소스 할당량; 중 최대 값보다 더 크거나 또는 동일하게 되도록 감소시키도록 구성되는 제2 조정 서브모듈. 분석 서비스 명령문에 대한 최소 리소스 할당량 및 트랜잭션 서비스 명령문의 최소 리소스 할당량은, 실제 필요에 기초하여 설정될 수 있거나 또는 조정될 수 있다.
앞선 바람직한 구현예에서, 시스템은, 상이한 타입의 서비스 명령문의 부하 상태에 기초하여, 상이한 타입의 서비스 명령문의 리소스 할당량을 적응적으로 조정할 수 있다. 따라서, 리소스 할당량 조정 동작은 상대적으로 정확하게 수행되어, 시스템 리소스를 완전히 사용하고, 상이한 타입의 서비스의 원활한 실행을 보장하고, 리소스의 낭비를 감소시킨다.
상이한 타입의 서비스는 상이한 애플리케이션 시나리오에서 상이한 중요도를 가질 수 있다는 점을 유의할 필요가 있다. 예를 들면, 프로모션 동안, 트랜잭션 서비스의 원활한 실행이 우선적으로 보장될 필요가 있다. 이것을 고려하여, 본 출원은, 장치가, 트랜잭션 서비스 명령문 및 분석 서비스 명령문에 우선 순위를 부여하도록 구성되는 제1 우선 순위 부여 유닛(prioritizing unit)을 더 포함하는 바람직한 구현예를 제공하는데, 여기서, 트랜잭션 서비스 명령문은 분석 서비스 명령문보다 더 높은 우선 순위를 갖는다. 특정한 시나리오에서, 미리 결정된 시간에서의 트랜잭션 서비스 명령문의 요청량이 임계치를 초과하면, 트랜잭션 서비스 명령문의 요청량이 임계치 미만이 될 때까지, 분석 서비스 명령문의 리소스 할당량을 제로로 감소시킨다. 앞선 바람직한 구현예에서, 몇몇 특정한 시나리오에서 어떤 타입의 서비스가 우선적으로 실행되는 것을 보장하기 위해서, 상이한 타입의 서비스 명령문은 상이한 타입의 서비스의 중요도에 기초하여 우선 순위가 매겨질 수 있다.
시스템 리소스가 부족한 경우, 상이한 타입의 서비스의 우선 순위에 기초하여 소정 타입의 서비스가 실행을 위해 우선적으로 선택될 수 있다. 이것을 고려하여, 본 출원은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문에 우선 순위를 부여하도록; 그리고 시스템 리소스의 양이 리소스 임계치보다 더 적은 경우, 높은 우선 순위를 갖는 서비스 명령문에 리소스 할당량을 할당하고 및/또는 낮은 우선 순위를 갖는 서비스 명령문의 리소스 할당량을 제로로 감소시키도록 구성되는 제2 우선 순위 부여 유닛을 장치가 더 포함하는 바람직한 구현예를 제공한다.
다음의 내용은, 바람직한 구현예 및 첨부의 도면을 사용하는 것에 의해, 본 출원의 기술적 솔루션을 더욱 상세하게 설명한다.
본 출원의 적응식 리소스 할당 솔루션은 주로 다음의 부분을 포함한다:
(1) 시스템 초기화 구성
시스템 관리자는, 다음을 주로 포함하는 시스템에 대한 초기 파라미터를 구성한다:
a. 상이한 타입의 서비스 명령문 사이를 구별하기 위해 사용되는 결정 근거를 설정함. 실행 시간 임계치(large_query_threshold)가 실제 상황에 기초하여 미리 결정될 수 있다. 서비스 명령문의 실제 실행 시간이 실행 시간 임계치보다 더 큰 경우, 서비스 명령문은 분석 서비스 명령문이라는 것이 간주되고; 또는 서비스 명령문의 실제 실행 시간이 실행 시간 임계치보다 더 작으면, 서비스 명령문은 트랜잭션 서비스 명령문이라는 것이 간주된다.
b. 상이한 타입의 서비스 명령문의 우선 순위를 설정함. 우선 순위 부여는 상이한 타입의 서비스 명령문의 중요도에 기초하여 수행될 수 있고, 그 결과, 상대적으로 높은 우선 순위를 갖는 서비스 명령문은 우선적으로 프로세싱될 수 있고 및/또는 상대적으로 낮은 우선 순위를 갖는 서비스 명령문은 시스템 리소스가 심각하게 불충분할 때 능동적으로 중단될 수 있다. 일반적으로, 트랜잭션 서비스는 혼합 서비스를 갖는 시스템에서 우선적으로 프로세싱된다.
c. 상이한 타입의 서비스 명령문에 대한 최소 리소스 할당량(min_oltp_time/min_olap_time)을 설정함. 시스템이 실행 중인 경우, 과거의 수집된 데이터에 기초하여, 피크 외 기간에 상대적으로 높은 우선 순위를 갖는 서비스 명령문에 대해 아주 적은 양의 리소스가 사용된다. 이것을 고려하여, 상대적으로 높은 우선 순위를 갖는 서비스 명령문의 리소스 할당량이 적절하게 감소될 수 있다. 그러나, 상대적으로 높은 우선 순위를 갖는 서비스 명령문의 서비스 품질을 보장하기 위해, 서비스 명령문에 할당되는 리소스 할당량은, 이전에 설정된 최소 리소스 할당량보다 더 작다. 특별한 시나리오 예컨대 제한된 리소스를 갖는 시나리오 또는 프로모션 시나리오에서, 상대적으로 낮은 우선 순위를 갖는 서비스 명령문의 리소스 할당량은 제로로 감소될 수 있다.
(2) 실행 통계치 정보 수집
도 5는, 본 출원에 따른, 적응식 리소스 할당 솔루션의 시스템을 예시하는 개략적인 구조도이다. 도 5에서 도시되는 바와 같이, 시스템이 실행 중인 경우, 실행 디바이스는, 서비스 명령문이 실행될 때 서비스 명령문의 실행 상태 정보를 수집한다. 실행 상태 정보는 다음의 콘텐츠를 주로 포함한다: 시스템이 서비스 명령문의 요청을 수신하는 시간(T_start), 실제 실행 시간(T_actual), 및 응답 시간(T_elapse). 실제 실행 시간(T_actual)은, 스케줄러에 의해 서비스 명령문에 할당되는 총 실행 시간을 의미한다. 스케줄러에 의해 할당되는 시간이 만료하기 이전에 실행이 종료되면, 실제 실행 시간은, 실행을 위해 사용된 실제 시간을 의미하고, 응답 시간(T_elapse)은, 시스템이 서비스 명령문을 수신한 시점부터 시작하여 실행이 종료되는 시점까지의 지속 기간을 의미한다.
이전 정보를 수집한 이후, 실행기(executor)는 통계치 수집 및 분석 모듈에 삼중항(triplet)(T_start, T_actual, T_elapse)을 보고한다. 통계치 수집 및 분석 모듈의 기능은, 이전 적응식 리소스 할당 장치의 통계치 수집 유닛, 분할 유닛, 및 타입 결정 유닛의 기능과 동등하다.
스케줄러는 시스템의 스케줄링 프론트 엔드에 의해 전송되는 요청을 보유하는(bearing) 모듈이라는 것을 유의할 필요가 있으며, 스케줄러는, 상이한 타입의 작업의 리소스 할당량 상태에 기초하여, 소정의 작업의 실행을 시작할지, 일시 정지할지, 또는 심지어 종료할지의 여부를 결정한다. 이전 실행기는 시스템의 프론트 엔드에 의해 요청되는 작업을 실제로 완료하는 모듈이다. 실행 프로세스에서, 실행기는, 스케줄러의 지시에 기초하여, 실행을 인터럽트할 수 있거나 또는 종료할 수 있고, 실행이 종료된 이후, 대응하는 실행 상태 정보를 획득할 수 있다.
(3) 수집된 데이터의 분석 및 피드백
통계치 수집 및 분석 모듈은, 시간 기간 동안 각각의 시간 세그먼트(예를 들면, 하루 중 각각의 시간)에서 요청 분포 상태를 수집한다. 먼저, 통계치 수집 및 분석 모듈은, 요청 시간(T_start)에 기초하여 하루에 모든 삼중항을 그룹화하고 각각의 그룹에 대해 각각의 시간의 요청 세트: ReqSet(h0), ReqSet(h1), ..., ReqSet(h23)을 획득하고; 그 다음, 각각의 시간의 요청 세트 ReqSet(hi)의 삼중항에서 실행 시간 임계치(large_query_threshold)보다 더 작은 실제 실행 시간(T_actual)을 갖는 모든 튜플(tuple)을 찾아서, 새로운 세트 ReqSetOltp(hi)를 형성한다. 이 세트는, 각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 세트이며, 나머지는 각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 세트 ReqSetOlap(hi)이다.
두 개의 튜플 ReqSetOltp (hi) 및 ReqSetOlap (hi)의 각각에서의 실제 실행 시간(T_actual) 및 응답 시간(T_elapse)의 합이 계산되어, 다음의 네 개의 시간 값을 획득한다: 제1 실제 실행 시간 TotalAtimeOltp (hi), 제1 응답 시간 합 TotalEtimeOltp (hi), 제2 실제 실행 시간 합 TotalAtimeOlap (hi), 및 제2 응답 시간 합 TotalEtimeOlap (hi). 1 시간에서의 시스템의 리소스 사용량 상태는 네 개의 시간 값에 기초하여 결정될 수 있는데(연속적으로 업데이트되는 리소스 할당 테이블이 구성될 수 있음), 이것은 주로 다음의 두 경우를 포함한다:
a. 경우 1: 제1 응답 시간 합 TotalEtimeOltp (hi) > 제1 실제 실행 시간 합 TotalAtimeOltp (hi) * (1 + α), 여기서, α는, 본 출원에서 수용 가능한 통계치 및 타이밍 에러를 나타낸다.
이 경우, 그것은, 시스템이 트랜잭션 서비스 명령문을 실행하기 위한 리소스가 불충분하다는 것을 나타낸다. 결과적으로, 몇몇 요청은 제때 실행되지 않거나 또는 실행되는 중에 중단되어, 실제 실행에 필요한 시간보다 훨씬 더 긴, 트랜잭션 서비스 명령문의 응답 시간을 야기한다.
b. 경우 2: 제2 응답 시간 합 TotalEtimeOlap(hi) > 제2 실제 실행 시간 합 TotalAtimeOlap(hi) * (1 + α).
이 경우, 그것은, 시스템이 분석 서비스 명령문을 실행하기 위한 리소스가 불충분하다는 것을 나타낸다. 결과적으로, 몇몇 요청은 제때 실행되지 않거나 또는 실행되는 중에 중단되어, 실제 실행에 필요한 시간보다 훨씬 더 긴, 분석 서비스 명령문의 응답 시간을 야기한다.
두 경우가 공존하는 경우, 그것은, 두 가지 타입의 서비스 명령문이 제때 응답되지 않고 시스템이 명백하게 과부하가 걸린다는 것을 나타낸다. 한 타입의 서비스 명령문의 리소스 할당량은 우선 순위에 기초하여 감소될 수 있거나, 또는 두 가지 타입의 서비스 명령문의 리소스 할당량은 동일한 비율 또는 상이한 비율에 기초하여 감소될 수 있다.
두 경우 중 어느 것도 존재하지 않으면, 그것은, 시스템에 대한 부하가 가볍고 두 가지 타입의 서비스 명령문이 원활하게 실행될 수 있다는 것을 나타낸다.
두 경우 중 하나만 존재하는 경우, 그것은, 시스템에서의 리소스 할당이 한 타입의 서비스 명령문이 제때 응답되는 것을 가능하게 하고, 다른 타입의 서비스 명령문을 실행하기에는 충분한 리소스가 이용 가능하지 않다는 것을 나타낸다. 이 경우, 다음 시간 기간의 동일한 시간 세그먼트(둘째 날의 동일한 시간)에서의 리소스 할당량은, 시간 세그먼트에서 두 가지 타입의 서비스 명령문에 시스템에 의해 할당되는 리소스 할당량 AssignTimeOltp (hi) 및 AssignTimeOlap (hi)에 기초하여 조정된다.
현재 사용되는 상대적으로 간단한 조정 정책은 다음과 같다: 트랜잭션 서비스 명령문의 리소스 할당량이 과도하게 적은 경우, 분석 서비스 명령문의 리소스 할당량은 감소되고; 분석 서비스 명령문의 리소스 할당량이 과도하게 적은 경우, 트랜잭션 서비스 명령문의 리소스 할당량은 감소된다.
시스템의 구현예에서, 더욱 상세한 조정 정책이 선택될 수 있다: a. 트랜잭션 서비스 명령문의 리소스 할당량이 충분하지 않으면, 분석 서비스 명령문에 대한 리소스 할당량은 분석 서비스 명령문의 미리 결정된 최소 리소스 할당량(min_olap_time)까지 바로 감소될 수 있다. b. 분석 서비스 명령문에 대한 리소스 할당량이 불충분한 경우, 조정된 리소스 할당량이, 제2 응답 시간 합 TotalEOltp (hi) 에 의해 실제로 소비되는 리소스 할당량 및 트랜잭션 서비스 명령문의 미리 결정된 최소 리소스 할당량(min_oltp_time)에서의 최대 값보다 더 크거나 또는 동일하다면, 트랜잭션 서비스 명령문의 리소스 할당량은 소정의 양(예를 들면, 10 %)만큼 감소된다.
(4) 리소스 할당량 스케줄링
다음 시간 기간(예를 들면, 둘째 날)에, 시스템은 리소스 할당량을 조정하고, 이전 시간 기간(예를 들면, 첫째 날)의 대응하는 시간 세그먼트에서(시간마다) 계산되는 값 및 앞서 설명된 정책에 기초하여, 상이한 타입의 서비스의 리소스 비율을 리셋한다. 또한, 두 가지 타입의 서비스 명령문의 새로운 부하 상태가 보고되고 실행 프로세스에서 분석된다.
휴가 시즌 프로모션 이벤트(예를 들면, 광군절(double 11) 또는 블랙 프라이데이(Black Friday))와 같은 시나리오에서, 트랜잭션 서비스가 트랜잭션 서비스보다 더 높은 우선 순위를 갖는 경우, 시스템은, 실시간 수집된 정보에 기초하여, 시간 세그먼트(예를 들면, 1 분) 동안 지속하고 있는 트랜잭션 서비스 명령문의 요청량이 임계치를 초과하는지의 여부를 결정할 수 있고, 트랜잭션 서비스 명령문의 요청량이 보통 레벨로 돌아올 때까지, 시간 세그먼트에서의 분석 서비스 명령문의 리소스 할당량을 바로 감소시킬 수 있거나 또는 취소할 수 있다는 것을 유의해야 한다.
본 출원에서, 상이한 타입의 서비스 명령문에 대한 리소스는 요청을 실행하는 데 필요한 CPU, 메모리, 스토리지, 및 네트워크 리소스이고, CPU는 본 출원에서 메인 리소스이다. 마찬가지로, 스토리지 사용량, IO 사용량, 네트워크 리소스, 등등에 기초한 적응식 조정도 또한 본 출원의 기술 솔루션에 적용 가능하다.
앞선 설명으로부터, 본 출원은 다음의 솔루션을 제공할 수 있다는 것을 알 수 있다: 초기 파라미터 구성이 시스템 상에서 수행된 이후, 시스템 관리자는, 코어 서비스의 안정적인 실행을 보장하고 시스템 리소스를 완전히 사용하기 위해, 과거 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 사용량 상태에 기초하여 미래의 대응하는 시간 세그먼트에서의 시스템의 리소스 할당을 적응적으로 조정한다.
본 출원의 구현예에서의 상기 설명은, 단지 본 출원의 몇몇 구현예의 적용에 불과하고, 몇몇 표준, 모델 및 방법에 기초하여 약간 수정되는 구현예도 본 출원의 구현예의 솔루션을 구현하기 위해 또한 사용될 수 있다. 물론, 본 출원의 구현예에서의 프로세싱 방법의 단계에 따른 다른 비창조적인 변경도 동일한 애플리케이션을 구현하는 데 여전히 사용될 수 있다. 세부 사항은 여기서는 설명되지 않는다.
비록 본 출원이 구현예 또는 플로우차트에서 방법 동작 단계를 제공하지만, 종래의 또는 비창조적인 노력에 기초하여 더 많은 또는 더 적은 동작 단계가 포함될 수 있다. 구현예에서 나열되는 단계의 시퀀스는 수많은 단계 실행 시퀀스 중 하나에 불과하며, 고유한 실행 시퀀스를 나타내는 것은 아니다. 실제 디바이스 또는 클라이언트 제품의 경우, 단계는 구현예 또는 첨부의 도면에서 예시되는 시퀀스에 기초하여 실행될 수 있거나 또는 (예를 들면, 병렬 프로세서 또는 멀티 스레드 프로세싱 환경에서) 병렬로 실행될 수 있다.
이전 구현예에서 설명되는 장치 또는 모듈은 컴퓨터 칩 또는 엔티티에 의해 구현될 수 있거나, 또는 소정의 기능을 갖는 제품에 의해 구현될 수 있다. 설명의 용이성을 위해, 앞선 디바이스는 기능을 다양한 모듈로 분할하는 것에 의해 설명된다. 물론, 본 출원이 구현될 때, 모든 모듈의 기능은, 하나 이상의 단편(piece)의 소프트웨어 및/또는 하드웨어에서 구현될 수 있다. 물론, 소정의 기능을 구현하는 모듈은, 복수의 서브모듈 또는 서브유닛의 조합을 사용하는 것에 의해 구현될 수 있다.
본 출원에서의 방법, 장치, 또는 모듈은, 컴퓨터 판독 가능 프로그램 코드를 사용하는 것에 의해 구현될 수 있다. 컨트롤러가 임의의 적절한 방식으로 구현될 수 있다. 예를 들면, 컨트롤러는, 예를 들면, 마이크로프로세서, 프로세서, 마이크로프로세서 또는 프로세서에 의해 실행될 수 있는 컴퓨터 판독 가능 프로그램 코드(예를 들면, 소프트웨어 또는 펌웨어)를 저장하는 컴퓨터 판독 가능 매체, 논리 게이트, 스위치, 주문형 반도체(Application Specific Integrated Circuit; ASIC), 프로그래머블 로직 컨트롤러, 및 임베딩된 마이크로컨트롤러의 형태를 취할 수 있다. 컨트롤러의 예는 다음의 마이크로컨트롤러를 포함하지만 그러나 이들로 제한되지는 않는다: ARC 625D, Atmel(아트멜) AT91SAM, Microchip(마이크로칩) PIC18F26K20, 및 Silicone Labs(실리콘 랩스) C8051F320. 메모리 컨트롤러는 또한 메모리의 제어 로직의 일부로서 구현될 수 있다. 기술 분야의 숙련된 자는 또한, 컴퓨터 판독가능 프로그램 코드를 사용하는 것에 의해 컨트롤러를 구현하는 것 이외에, 논리 게이트, 스위치, ASIC, 프로그래머블 로직 컨트롤러, 또는 임베딩된 마이크로컨트롤러의 형태로 컨트롤러가 동일한 기능을 구현하는 것을 가능하게 하기 위해, 방법 단계에 대해 로직 프로그래밍이 수행될 수 있다는 것을 알고 있다. 따라서, 컨트롤러는 하드웨어 컴포넌트로서 간주될 수 있고, 컨트롤러에 포함되며 다양한 기능을 구현하기 위해 구성되는 장치도 하드웨어 컴포넌트에서의 구조체로서 또한 간주될 수 있다. 대안적으로, 심지어, 다양한 기능을 구현하도록 구성되는 장치도, 방법을 구현하는 소프트웨어 모듈 및 하드웨어 컴포넌트에서의 구조체 둘 모두로서 간주될 수 있다.
본 출원의 장치의 몇몇 모듈은, 컴퓨터, 예를 들면, 프로그램 모듈에 의해 실행되는 컴퓨터 실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은, 특정한 작업을 실행하는 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조, 타입, 등등을 포함한다. 본 출원은 분산 컴퓨팅 환경에서도 또한 실시될 수 있다. 분산 컴퓨팅 환경에서, 작업은, 통신 네트워크를 통해 연결되는 원격 프로세싱 디바이스에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 스토리지 디바이스를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 모두에 위치될 수 있다.
구현예의 설명으로부터, 기술 분야의 숙련된 자는, 소프트웨어 및 필요한 하드웨어를 사용하는 것에 의해 본 출원이 구현될 수 있다는 것을 명확히 이해할 수 있다는 것을 알 수 있다. 이러한 이해에 기초하여, 본질적으로 본 출원에서의 기술적 솔루션, 또는 현존하는 기술에 기여하는 부분은, 소프트웨어 제품의 형태로 구현될 수 있거나 또는 데이터 전송 구현 프로세스 동안 구현될 수 있다. 컴퓨터 소프트웨어 제품은 ROM/RAM, 자기 디스크, 또는 광학 디스크와 같은 저장 매체에 저장될 수 있고, 컴퓨터 디바이스(이것은 퍼스널 컴퓨터, 이동 단말, 서버, 네트워크 디바이스, 등등일 수 있음)에게, 본 출원의 구현예에서 또는 구현예의 몇몇 부분에서 설명되는 방법을 수행할 것을 지시하기 위한 여러가지 명령어를 포함한다.
본 명세서에서의 구현예는 점진적인 방법으로 설명된다. 구현예에서의 동일한 또는 유사한 부분의 경우, 서로에 대해 참조가 이루어질 수 있다. 각각의 구현예는 다른 구현예와의 차이점에 중점을 둔다. 본 출원의 전체 또는 일부는, 많은 범용 또는 전용 컴퓨터 시스템 환경 또는 구성, 예를 들면, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 디바이스, 휴대용 디바이스, 태블릿 디바이스, 이동 통신 단말, 멀티프로세서 시스템, 마이크로프로세서 시스템, 프로그래머블 전자 디바이스, 네트워크 PC, 소형 컴퓨터, 메인프레임 컴퓨터, 및 상기 시스템 또는 디바이스 중 임의의 것을 포함하는 분산 컴퓨팅 환경에서 사용될 수 있다.
비록 본 출원이 구현예를 사용하는 것에 의해 설명되지만, 기술 분야에서 통상의 기술을 가진 자는, 본 출원의 취지를 벗어나지 않으면서 본 출원의 많은 수정 및 변형이 이루어질 수 있다는 것을 알고 있다. 청구범위는 본 출원의 취지를 벗어나지 않는 이들 수정 및 변형을 포함한다는 것이 의도된다.
Claims (18)
- 적응식 리소스 할당 방법(adaptive resource allocation method)으로서,
시간 기간(time period) 동안 각각의 서비스 명령문(statement)의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하는 단계;
상기 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 상기 시간 기간의 시간 세그먼트를 결정하는 단계; 및
각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간 및 상기 응답 시간에 기초하여, 각각의 서비스 명령문의 타입을 결정하고, 다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하는 단계
를 포함하는, 적응식 리소스 할당 방법. - 제1항에 있어서,
상기 서비스 명령문의 상기 타입은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문을 포함하는 것인, 적응식 리소스 할당 방법. - 제2항에 있어서,
상기 방법은, 실행 시간 임계치를 설정하는 단계를 더 포함하고;
상기 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간에 기초하여 각각의 서비스 명령문의 타입을 결정하는 단계는,
각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간이 상기 실행 시간 임계치보다 더 큰지의 여부를 결정하는 단계; 및
만약 그렇다면, 상기 서비스 명령문이 분석 서비스 명령문이라는 것을 결정하는 단계; 또는
만약 그렇지 않다면, 상기 서비스 명령문이 트랜잭션 서비스 명령문이라는 것을 결정하는 단계
를 포함하는 것인, 적응식 리소스 할당 방법. - 제3항에 있어서,
상기 각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간 및 상기 응답 시간에 기초하여, 다음 시간 기간의 동일한 시간 세그먼트에서의 서비스 명령문의 상이한 타입의 리소스 할당량을 조정하는 단계는,
각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 실제 실행 시간 합을 획득하는 단계;
각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 응답 시간 합을 획득하는 단계;
각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 실제 실행 시간 합을 획득하는 단계;
각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 응답 시간 합을 획득하는 단계; 및
상기 제1 실제 실행 시간 합, 상기 제1 응답 시간 합, 상기 제2 실제 실행 시간 합, 및 상기 제2 응답 시간 합에 기초하여, 상기 다음 시간 기간의 상기 동일한 시간 세그먼트에서의 상기 트랜잭션 서비스 명령문의 리소스 할당량 및 상기 분석 서비스 명령문의 리소스 할당량을 조정하는 단계
를 포함하는 것인, 적응식 리소스 할당 방법. - 제4항에 있어서,
상기 제1 실제 실행 시간 합, 상기 제1 응답 시간 합, 상기 제2 실제 실행 시간 합, 및 상기 제2 응답 시간 합에 기초하여, 상기 다음 시간 기간의 상기 동일한 시간 세그먼트에서의 상기 트랜잭션 서비스 명령문의 리소스 할당량 및 상기 분석 서비스 명령문의 리소스 할당량을 조정하는 단계는,
상기 제1 응답 시간 합이 상기 제1 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량이 과도하게 적다는 것을 결정하고, 상기 분석 서비스 명령문의 상기 리소스 할당량을 감소시키는 단계; 및
상기 제2 응답 시간 합이 상기 제2 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 상기 분석 서비스 명령문의 상기 리소스 할당량이 과도하게 적다는 것을 결정하고, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키는 단계
를 포함하는 것인, 적응식 리소스 할당 방법. - 제5항에 있어서,
상기 분석 서비스 명령문의 상기 리소스 할당량을 감소시키는 단계는, 상기 분석 서비스 명령문의 상기 리소스 할당량을, 상기 분석 서비스 명령문의 미리 결정된 최소 리소스 할당량까지 감소시키는 단계를 포함하고;
상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키는 단계는, 상기 트랜잭션 서비스 명령문의 미리 결정된 최소 리소스 할당량 및 상기 제1 실제 실행 시간 합에 의해 실제로 소비되는 리소스 할당량 중 최대 값보다 더 크거나 또는 동일하게 되도록, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키는 단계를 포함하는 것인, 적응식 리소스 할당 방법. - 제2항에 있어서,
상기 방법은,
상기 트랜잭션 서비스 명령문 및 상기 분석 서비스 명령문 - 상기 트랜잭션 서비스 명령문은 상기 분석 서비스 명령문보다 더 높은 우선 순위를 가짐 - 에 우선 순위를 부여하는(prioritizing) 단계; 및
특정한 시나리오에서, 미리 결정된 시간에서의 상기 트랜잭션 서비스 명령문의 요청량이 임계치를 초과하면, 상기 트랜잭션 서비스 명령문의 상기 요청량이 상기 임계치 미만이 될 때까지, 상기 분석 서비스 명령문의 리소스 할당량을 제로(zero)로 감소시키는 단계
를 더 포함하는, 적응식 리소스 할당 방법. - 제2항에 있어서,
상기 방법은,
상기 트랜잭션 서비스 명령문 및 상기 분석 서비스 명령문에 우선 순위를 부여하는 단계; 및
시스템 리소스의 양이 리소스 임계치보다 더 적으면, 높은 우선 순위를 갖는 서비스 명령문에 리소스 할당량을 할당하는 것 및 낮은 우선 순위를 갖는 서비스 명령문의 리소스 할당량을 제로로 감소시키는 것 중 적어도 하나를 수행하는 단계
를 더 포함하는, 적응식 리소스 할당 방법. - 제1항에 있어서,
상기 시간 기간은 하루이고, 각각의 시간 세그먼트는 1 시간인 것인, 적응식 리소스 할당 방법. - 적응식 리소스 할당 장치로서,
시간 기간 동안 각각의 서비스 명령문의 요청 시간, 실제 실행 시간, 및 응답 시간에 관한 통계치를 수집하도록 구성되는 통계치 수집 유닛;
상기 요청 시간에 기초하여, 각각의 서비스 명령문이 속하는 상기 시간 기간의 시간 세그먼트를 결정하도록 구성되는 분할 유닛;
각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간 및 상기 응답 시간에 기초하여, 각각의 서비스 명령문의 타입을 결정하도록 구성되는 타입 결정 유닛; 및
다음 시간 기간의 동일한 시간 세그먼트에서의 상이한 타입의 서비스 명령문의 리소스 할당량을 조정하도록 구성되는 조정 유닛
을 포함하는, 적응식 리소스 할당 장치. - 제10항에 있어서,
상기 서비스 명령문의 상기 타입은, 트랜잭션 서비스 명령문 및 분석 서비스 명령문을 포함하는 것인, 적응식 리소스 할당 장치. - 제11항에 있어서,
상기 장치는, 실행 시간 임계치를 설정하도록 구성되는 임계치 설정 유닛을 더 포함하고;
상기 타입 결정 유닛은,
각각의 시간 세그먼트에서의 각각의 서비스 명령문의 상기 실제 실행 시간이 상기 실행 시간 임계치보다 더 큰지의 여부를 결정하도록 구성되는 결정 모듈;
상기 결정 모듈의 결정 결과가 긍정인(yes) 경우, 상기 서비스 명령문이 분석 서비스 명령문이라는 것을 결정하도록 구성되는 제1 프로세싱 모듈; 및
상기 결정 모듈의 결정 결과가 부정인(no) 경우, 상기 서비스 명령문이 트랜잭션 서비스 명령문이라는 것을 결정하도록 구성되는 제2 프로세싱 모듈
을 포함하는 것인, 적응식 리소스 할당 장치. - 제12항에 있어서,
상기 조정 유닛은,
각각의 시간 세그먼트에서의 모든 트랜잭션 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 실제 실행 시간 합을 획득하도록 구성되는 제1 계산 모듈;
각각의 시간 세그먼트에서의 모든 상기 트랜잭션 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제1 응답 시간 합을 획득하도록 구성되는 제2 계산 모듈;
각각의 시간 세그먼트에서의 모든 분석 서비스 명령문의 실제 실행 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 실제 실행 시간 합을 획득하도록 구성되는 제3 계산 모듈;
각각의 시간 세그먼트에서의 모든 상기 분석 서비스 명령문의 응답 시간의 합을 계산하여, 각각의 시간 세그먼트에서의 제2 응답 시간 합을 획득하도록 구성되는 제4 계산 모듈; 및
상기 제1 실제 실행 시간 합, 상기 제1 응답 시간 합, 상기 제2 실제 실행 시간 합, 및 상기 제2 응답 시간 합에 기초하여, 상기 다음 시간 기간의 상기 동일한 시간 세그먼트에서의 상기 트랜잭션 서비스 명령문의 리소스 할당량 및 상기 분석 서비스 명령문의 리소스 할당량을 조정하도록 구성되는 리소스 조정 모듈
을 포함하는 것인, 적응식 리소스 할당 장치. - 제13항에 있어서,
상기 리소스 조정 모듈은,
상기 제1 응답 시간 합이 상기 제1 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량이 과도하게 적다는 것을 결정하고, 상기 분석 서비스 명령문의 상기 리소스 할당량을 감소시키도록 구성되는 제1 조정 서브모듈; 및
상기 제2 응답 시간 합이 상기 제2 실제 실행 시간 합보다 더 큰지의 여부를 결정하고; 만약 그렇다면, 상기 분석 서비스 명령문의 상기 리소스 할당량이 과도하게 적다는 것을 결정하고, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키도록 구성되는 제2 조정 서브모듈
을 포함하는 것인, 적응식 리소스 할당 장치. - 제14항에 있어서,
상기 제1 조정 서브모듈은 특히, 상기 분석 서비스 명령문의 상기 리소스 할당량을 상기 분석 서비스 명령문의 미리 결정된 최소 리소스 할당량으로 감소시키도록 구성되고;
상기 제2 조정 서브모듈은 특히, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키도록 구성되고, 상기 트랜잭션 서비스 명령문의 미리 결정된 최소 리소스 할당량 및 상기 제1 실제 실행 시간 합에 의해 실제로 소비되는 리소스 할당량 중 최대 값보다 더 크거나 또는 동일하게 되도록, 상기 트랜잭션 서비스 명령문의 상기 리소스 할당량을 감소시키는 것을 포함하는 것인, 적응식 리소스 할당 장치. - 제11항에 있어서,
상기 장치는,
상기 트랜잭션 서비스 명령문 및 상기 분석 서비스 명령문에 우선 순위를 부여하도록 - 상기 트랜잭션 서비스 명령문은 상기 분석 서비스 명령문보다 더 높은 우선 순위를 가짐 - ; 그리고 특정한 시나리오에서, 미리 결정된 시간에서의 상기 트랜잭션 서비스 명령문의 요청량이 임계치를 초과하면, 상기 트랜잭션 서비스 명령문의 상기 요청량이 상기 임계치 미만이 될 때까지, 상기 분석 서비스 명령문의 리소스 할당량을 제로로 감소시키도록 구성되는 제1 우선 순위 부여 유닛(prioritizing unit)을 더 포함하는, 적응식 리소스 할당 장치. - 제11항에 있어서,
상기 장치는,
상기 트랜잭션 서비스 명령문 및 상기 분석 서비스 명령문에 우선 순위를 부여하도록; 그리고 시스템 리소스의 양이 리소스 임계치보다 더 적은 경우, 높은 우선 순위를 갖는 서비스 명령문에 리소스 할당량을 할당하는 것 및 낮은 우선 순위를 갖는 서비스 명령문의 리소스 할당량을 제로로 감소시키는 것 중 적어도 하나를 수행하도록 구성되는 제2 우선 순위 부여 유닛을 더 포함하는, 적응식 리소스 할당 장치. - 제10항에 있어서,
상기 시간 기간은 하루이고, 각각의 시간 세그먼트는 1 시간인 것인, 적응식 리소스 할당 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610382326.4A CN106911592B (zh) | 2016-06-01 | 2016-06-01 | 一种自适应资源分配方法及装置 |
CN201610382326.4 | 2016-06-01 | ||
PCT/CN2017/085285 WO2017206749A1 (zh) | 2016-06-01 | 2017-05-22 | 一种自适应资源分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190015370A true KR20190015370A (ko) | 2019-02-13 |
KR102281053B1 KR102281053B1 (ko) | 2021-07-23 |
Family
ID=59206193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187037792A KR102281053B1 (ko) | 2016-06-01 | 2017-05-22 | 적응식 리소스 할당 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11341164B2 (ko) |
EP (2) | EP3468121B1 (ko) |
JP (1) | JP7018554B2 (ko) |
KR (1) | KR102281053B1 (ko) |
CN (1) | CN106911592B (ko) |
TW (1) | TWI697787B (ko) |
WO (1) | WO2017206749A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911592B (zh) | 2016-06-01 | 2020-06-12 | 创新先进技术有限公司 | 一种自适应资源分配方法及装置 |
CN108196959B (zh) * | 2018-02-07 | 2021-06-01 | 聚好看科技股份有限公司 | Etl系统的资源管理方法及装置 |
CN110874352B (zh) * | 2018-08-29 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 数据库管理方法及系统 |
CN110890951B (zh) * | 2018-09-11 | 2022-11-22 | 中国移动通信有限公司研究院 | 用户业务时间的分配方法、装置及系统 |
CN109559178B (zh) * | 2018-10-19 | 2024-05-17 | 中国平安人寿保险股份有限公司 | 电子发票批量开票方法、电子装置及可读存储介质 |
CN109523184A (zh) * | 2018-11-28 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种资源调度的方法及装置 |
CN110034946A (zh) * | 2019-01-03 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 自适应服务降级方法和装置 |
CN111028931B (zh) * | 2019-12-11 | 2023-08-22 | 医渡云(北京)技术有限公司 | 医疗数据处理方法及装置、电子设备、存储介质 |
CN111222161A (zh) * | 2019-12-31 | 2020-06-02 | 航天信息股份有限公司 | 一种基于权限控制的图片库管理方法及装置 |
CN113296874B (zh) * | 2020-05-29 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 一种任务的调度方法、计算设备及存储介质 |
CN111858030B (zh) * | 2020-06-17 | 2024-03-22 | 北京百度网讯科技有限公司 | 作业的资源处理方法、装置、电子设备及可读存储介质 |
CN111798113B (zh) * | 2020-06-28 | 2024-07-05 | 北京小米松果电子有限公司 | 资源分配方法、装置、存储介质和电子设备 |
CN113296946B (zh) * | 2021-05-24 | 2023-11-17 | 南京大学 | 边端协同的并发实时流式数据分析任务处理方法及设备 |
CN115981817B (zh) * | 2022-12-30 | 2023-09-05 | 深圳计算科学研究院 | 一种面向htap的任务资源调度方法及其系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089511A1 (en) * | 2012-09-27 | 2014-03-27 | Kent McLean | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082926A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散アプリケーション試験・運用管理システム |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
US7453801B2 (en) * | 2001-11-08 | 2008-11-18 | Qualcomm Incorporated | Admission control and resource allocation in a communication system supporting application flows having quality of service requirements |
CN1237767C (zh) * | 2004-07-09 | 2006-01-18 | 清华大学 | 一种共享资源访问的调度控制方法及装置 |
US20060200496A1 (en) | 2005-02-22 | 2006-09-07 | Transparency Software, Inc. | Organization action incidents |
US7899817B2 (en) * | 2005-10-05 | 2011-03-01 | Microsoft Corporation | Safe mode for inverse query evaluations |
US8447859B2 (en) * | 2007-12-28 | 2013-05-21 | International Business Machines Corporation | Adaptive business resiliency computer system for information technology environments |
US8250212B2 (en) * | 2008-06-10 | 2012-08-21 | International Business Machines Corporation | Requester-side autonomic governor |
FR2937439B1 (fr) * | 2008-10-17 | 2012-04-20 | Commissariat Energie Atomique | Procede d'execution deterministe et de synchronisation d'un systeme de traitement de l'information comportant plusieurs coeurs de traitement executant des taches systemes. |
CN102083208B (zh) * | 2009-11-30 | 2013-09-25 | 普天信息技术研究院有限公司 | 资源分配方法和装置 |
US8667385B1 (en) * | 2009-12-07 | 2014-03-04 | Google Inc. | Method and system for generating and sharing analytics annotations |
US9576307B2 (en) * | 2011-05-05 | 2017-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for controlling charging of a service |
CN103067297B (zh) * | 2013-01-25 | 2015-10-07 | 中国科学院声学研究所 | 一种基于资源消耗预测的动态负载均衡方法及装置 |
US9760847B2 (en) * | 2013-05-29 | 2017-09-12 | Sap Se | Tenant selection in quota enforcing request admission mechanisms for shared applications |
US10963810B2 (en) * | 2014-06-30 | 2021-03-30 | Amazon Technologies, Inc. | Efficient duplicate detection for machine learning data sets |
CN104360905B (zh) * | 2014-10-29 | 2019-01-29 | 中国建设银行股份有限公司 | 一种应用于it系统的自适应控制方法和装置 |
CN104809070B (zh) * | 2015-05-13 | 2017-07-28 | 上海新炬网络信息技术有限公司 | 基于数据库交易类中间件的性能分析方法 |
US10362099B2 (en) * | 2015-06-23 | 2019-07-23 | Amazon Technologies, Inc. | Multiple instance types serving a single workload or application |
CN106911592B (zh) | 2016-06-01 | 2020-06-12 | 创新先进技术有限公司 | 一种自适应资源分配方法及装置 |
CN107239479B (zh) * | 2017-03-28 | 2020-03-13 | 创新先进技术有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
-
2016
- 2016-06-01 CN CN201610382326.4A patent/CN106911592B/zh active Active
-
2017
- 2017-04-12 TW TW106112255A patent/TWI697787B/zh active
- 2017-05-22 EP EP17805694.1A patent/EP3468121B1/en active Active
- 2017-05-22 EP EP21188934.0A patent/EP3920490B1/en active Active
- 2017-05-22 JP JP2018563444A patent/JP7018554B2/ja active Active
- 2017-05-22 KR KR1020187037792A patent/KR102281053B1/ko active IP Right Grant
- 2017-05-22 WO PCT/CN2017/085285 patent/WO2017206749A1/zh unknown
-
2018
- 2018-11-30 US US16/205,397 patent/US11341164B2/en active Active
-
2019
- 2019-12-23 US US16/724,713 patent/US11550821B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089511A1 (en) * | 2012-09-27 | 2014-03-27 | Kent McLean | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources |
Also Published As
Publication number | Publication date |
---|---|
US11550821B2 (en) | 2023-01-10 |
EP3468121A1 (en) | 2019-04-10 |
EP3468121B1 (en) | 2021-08-04 |
WO2017206749A1 (zh) | 2017-12-07 |
EP3920490A1 (en) | 2021-12-08 |
KR102281053B1 (ko) | 2021-07-23 |
JP7018554B2 (ja) | 2022-02-14 |
EP3920490B1 (en) | 2023-01-18 |
EP3468121A4 (en) | 2019-06-19 |
US11341164B2 (en) | 2022-05-24 |
US20190102343A1 (en) | 2019-04-04 |
CN106911592A (zh) | 2017-06-30 |
JP2019520646A (ja) | 2019-07-18 |
US20200201885A1 (en) | 2020-06-25 |
TW201743223A (zh) | 2017-12-16 |
TWI697787B (zh) | 2020-07-01 |
CN106911592B (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102281053B1 (ko) | 적응식 리소스 할당 방법 및 장치 | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
US11016808B2 (en) | Multi-tenant license enforcement across job requests | |
US10162684B2 (en) | CPU resource management in computer cluster | |
US20140089511A1 (en) | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources | |
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
Shastri et al. | Transient guarantees: Maximizing the value of idle cloud capacity | |
WO2013082119A1 (en) | Cloud provisioning accelerator | |
US10102490B2 (en) | Optimization of workload placement | |
Dimopoulos et al. | Justice: A deadline-aware, fair-share resource allocator for implementing multi-analytics | |
Luo et al. | Erms: Efficient resource management for shared microservices with SLA guarantees | |
HoseinyFarahabady et al. | Q-flink: A qos-aware controller for apache flink | |
Kalim et al. | Henge: Intent-driven multi-tenant stream processing | |
CN105404554B (zh) | 用于Storm流计算框架的方法和装置 | |
CN112181498A (zh) | 并发控制方法、装置和设备 | |
Luo et al. | Optimizing resource management for shared microservices: a scalable system design | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
CN114816703A (zh) | 一种任务处理方法、装置、设备及介质 | |
HoseinyFarahabady et al. | A dynamic resource controller for resolving quality of service issues in modern streaming processing engines | |
Zhou et al. | Fine-grained scheduling in multi-resource clusters | |
Fernández-Cerero et al. | Quality of cloud services determined by the dynamic management of scheduling models for complex heterogeneous workloads | |
Shao et al. | A market-oriented heuristic algorithm for scheduling parallel applications in big data service platform | |
HoseinyFarahabady et al. | Dynamic control of CPU cap allocations in stream processing and data-flow platforms | |
Rankhambe et al. | Analysis of Earliest Deadline First Scheduler in Hadoop Mapreduce Environments | |
Ghiţ et al. | Capri: Achieving Predictable Performance in Cloud Spot Markets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |