Movatterモバイル変換


[0]ホーム

URL:


KR101985635B1 - Method and system for creating template scripts based container orchestrator - Google Patents

Method and system for creating template scripts based container orchestrator
Download PDF

Info

Publication number
KR101985635B1
KR101985635B1KR1020180162067AKR20180162067AKR101985635B1KR 101985635 B1KR101985635 B1KR 101985635B1KR 1020180162067 AKR1020180162067 AKR 1020180162067AKR 20180162067 AKR20180162067 AKR 20180162067AKR 101985635 B1KR101985635 B1KR 101985635B1
Authority
KR
South Korea
Prior art keywords
script
template
name
container
pot
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020180162067A
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 부산대학교 산학협력단filedCritical부산대학교 산학협력단
Priority to KR1020180162067ApriorityCriticalpatent/KR101985635B1/en
Application grantedgrantedCritical
Publication of KR101985635B1publicationCriticalpatent/KR101985635B1/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 방법 및 템플릿 스크립트 생성 장치가 개시된다. 본 발명의 일실시예에 따른 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 방법은, 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 템플릿 스크립트의 생성 요청이 발생 함에 따라, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)하는 단계와, 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하는 단계; 및 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성하는 단계를 포함한다.A container script generating method and a template script generating apparatus based on a container orchestrator are disclosed. The method for generating a template script based on a container orchestrator according to an embodiment of the present invention is a method for generating a template script based on a container orchestrator, Parsing the data corresponding to the collection element from the UML design data; identifying, from the mapping table, the parameter to be mapped to the collection element; And setting the parsed data as a value for the parameter, and generating the template script including the parameter.

Figure 112018125913992-pat00002
Figure 112018125913992-pat00002

Description

Translated fromKorean
컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 방법 및 템플릿 스크립트 생성 장치{METHOD AND SYSTEM FOR CREATING TEMPLATE SCRIPTS BASED CONTAINER ORCHESTRATOR}METHOD AND SYSTEM FOR CREATING TEMPLATE SCRIPTS BASED CONTAINER ORCHESTRATOR [0002]

본 발명은 컨테이너 오케스트레이션(CONTAINER ORCHESTRATOR) 환경에서 컨테이너 관리 및 배포에 필요한 템플릿 스크립트(TEMPLATE SCRIPTS)를 자동 생성하는 기술에 관한 것이다.TECHNICAL FIELD The present invention relates to a technique for automatically generating template scripts (TEMPLATE SCRIPTS) required for container management and distribution in a container orchestration environment.

컨테이너(container) 관리에 관한 여러 문헌이 제시되고 있다. 일례로, 클라우드 플랫폼에서 어플리케이션을 컨테이너화 하는 방법에 관한 등록특허 제1807806호, 컨테이너 기반의 분산 애플리케이션 관리 시스템 및 방법에 관한 공개특허 제2018-0044579호, 및 다중 오케스트레이터 기반 컨테이너 클러스터 서비스 제공 방법에 관한 등록특허 제1876918호와 같은 문헌들이 제시되어 있다.Several documents on container management are presented. For example, EP 1807806 for a method of containerizing an application in a cloud platform, Open Patent Application No. 2018-0044579 for a container based distributed application management system and method, and a method for providing a multi-orchestrator-based container cluster service Documents such as Patent No. 1876918 are presented.

상기 문헌들에는 일반적인 클라우드 환경에서 애플리케이션 종류 별로 컨테이너를 관리하거나, 분산된 애플리케이션과 클러스터의 수를 확인해 다중 컨테이너를 저장 및 관리하기 위한 컨테이너 관리 기법이 개시되어 있다.The above documents disclose a container management technique for managing containers according to application types in a general cloud environment or storing and managing multiple containers by checking the number of distributed applications and clusters.

한편 컨테이너 관리를 수행하는 컨테이너 오케스트레이션 프로그램의 일례로 쿠버네티스(Kubernetes)를 예시할 수 있다. 쿠버네티스 프로그램에서는 관리자가 여러 자료를 일일이 확인해서 직접 코딩한 템플릿 스크립트의 실행에 의해 컨테이너 관리가 수행되고 있다.An example of a container orchestration program that performs container management is Kubernetes. In the Cubanetis program, the container management is performed by executing a template script that the administrator checks various data and codes directly.

하지만 템플릿 스크립트를 수동으로 작성하는 데 시간이 소요되고 자료를 일일이 확인해야 하는 번거로움이 있기 때문에, 컨테이너를 원하는 방식으로 빠르게 관리하기 어렵고, 마이크로 서비스의 컨테이너화에 의한 구현에도 한계가 있을 수 있다.However, since it takes time to manually write the template script and it is troublesome to check the data, it is difficult to manage the container in a desired manner quickly and there is a limit to the implementation by the containerization of micro services.

본 발명의 실시예는 컨테이너 오케스트레이션에서 실행 가능한 형태의 템플릿 스크립트를 자동 생성 함으로써, 상기 템플릿 스크립트의 실행에 의해 컨테이너 관리 및 배포가 용이하게 수행될 수 있도록 하는 것을 목적으로 한다.It is an object of the present invention to automatically generate a template script executable in a container orchestration so that container management and distribution can be easily performed by execution of the template script.

또한 본 발명의 실시예는 템플릿 스크립트에 포함되어야 하는 각 파라미터를 정의하고, UML 설계 자료로부터 추출한 값을 매핑 테이블 기반으로 각 파라미터에 설정하여 템플릿 스크립트의 생성 과정을 자동화 함으로써, 관리자의 코딩 작업의 번거로움을 해소하고, 컨테이너 관리를 빠르게 구현하는 것을 목적으로 한다.Further, in the embodiment of the present invention, the parameters to be included in the template script are defined, and the values extracted from the UML design data are set in the respective parameters based on the mapping table to automate the generation process of the template script, And to realize container management quickly.

또한 본 발명의 실시예는 팟 스크립트(Pod script), 레플리카셋 스크립트(ReplicaSet script), 및 서비스 스크립트(Service script)와 같은 여러 종류의 템플릿 스크립트를, 매핑 테이블 기반으로 자동 생성해 컨테이너 오케스트레이션으로 출력 함으로써, 컨테이너 오케스트레이션 상에서 각 템플릿 스크립트의 자유로운 실행에 의해 다양한 컨테이너 관리가 수행될 수 있게 하는 것을 목적으로 한다.In the embodiment of the present invention, various types of template scripts such as a Pod script, a ReplicaSet script, and a Service script are automatically generated based on a mapping table and output as a container orchestration , And various container management can be performed by free execution of each template script in a container orchestration.

본 발명의 일실시예에 따른 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 방법은, 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 템플릿 스크립트의 생성 요청이 발생 함에 따라, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)하는 단계와, 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하는 단계; 및 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성하는 단계를 포함할 수 있다.The method for generating a template script based on a container orchestrator according to an embodiment of the present invention is a method for generating a template script based on a container orchestrator, Parsing the data corresponding to the collection element from the UML design data; identifying, from the mapping table, the parameter to be mapped to the collection element; And setting the parsed data as a value for the parameter, and generating the template script including the parameter.

또한, 본 발명의 실시예에 따른 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 장치는, 컨테이너 오케스트레이터에서 실행 가능한 템플릿 스크립트의 생성 요청이 발생 함에 따라, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱하는 파싱부와, 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하는 식별부, 및 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성하는 처리부를 포함할 수 있다.In addition, the apparatus for generating a template script based on a container orchestrator according to an embodiment of the present invention may further include a controller for generating a template script that can be executed by the container orchestrator, A parsing unit for parsing the data from the UML design data; an identification unit for identifying, from the mapping table, the parameter mapped to the collection element; and setting the parsed data to a value for the parameter, And a processing unit for generating the template script.

본 발명의 일실시예에 따르면, 컨테이너 관리 및 배포를 위해 컨테이너 오케스트레이션에서 실행 가능한 'YAML' 포맷의 템플릿 스크립트를 자동 생성 함으로써, 컨테이너 오케스트레이션에서 상기 템플릿 스크립트의 실행에 의해 컨테이너 관리를 간편하게 수행하도록 할 수 있다.According to an embodiment of the present invention, a template script in a 'YAML' format that can be executed in a container orchestration is automatically generated for container management and distribution, so that container management can be easily performed by executing the template script in a container orchestration have.

본 발명의 일실시예에 따르면, 팟 스크립트, 레플리카셋 스크립트 및 서비스 스크립트 각각에 필요한 파라미터와, UML 설계 자료로부터 추출 가능한 수집 요소를 매핑시킨 매핑 테이블을 미리 마련해 두고, 상기 매핑 테이블을 이용하여, 컨테이너 오케스트레이션에서 실행 가능한 다양한 템플릿 스크립트를 일괄적으로 자동 생성할 수 있다.According to an embodiment of the present invention, a mapping table in which parameters necessary for each of a pot script, a replica set script, and a service script are mapped and a collecting element extractable from UML design data is mapped is prepared in advance, Various template scripts that can be executed in an orchestration can be created automatically in batch.

본 발명의 일실시예에 따르면, 컨테이너 오케스트레이션(일례로 '쿠버네티스') 환경에서, 자동 생성된 팟 스크립트를 실행하여 컨테이너(예, 가상머신과 같은 애플리케이션)을 자동으로 생성할 수 있다.According to one embodiment of the present invention, in a container orchestration environment (e.g., a 'cookery service') environment, an automatically generated pot script can be executed to automatically create a container (eg, an application such as a virtual machine).

본 발명의 일실시예에 따르면, 컨테이너 오케스트레이션 환경에서, 자동 생성된 레플리카셋 스크립트를 실행하여 다수의 팟 스크립트를 제어, 관리 함으로써, 마이크로 서비스의 컨테이너화를 구현할 수 있다.According to an embodiment of the present invention, in a container orchestration environment, micro-service containerization can be implemented by controlling and managing a plurality of pot scripts by executing an automatically generated replica set script.

본 발명의 일실시예에 따르면, 컨테이너 오케스트레이션 환경에서, 자동 생성된 서비스 스크립트를 실행하여 특정 팟 스크립트의 외부 클라이언트 단말과의 통신을 제어, 관리할 수 있다.According to an embodiment of the present invention, in a container orchestration environment, an automatically generated service script can be executed to control and manage communication with an external client terminal of a specific pot script.

도 1은 본 발명의 일실시예에 따른 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 장치를 포함하는 네트워크를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치의 내부 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료를 이용하여 템플릿 스크립트를 생성하는 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 마이크로 서비스로 구성되는 대학 정보 시스템에 관한 UML 설계 자료를 예시한 도면이다.
도 5는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료 중 클래스 다이어그램에 대한 XMI 변환 파일의 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료 중 배치 다이어그램에 대한 XMI 변환 파일의 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, XMI 변환 파일로부터의 추출값으로 각 템플릿 스크립트를 생성하는 일례를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 각 템플릿 스크립트에 포함되어야 하는 파라미터를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 매핑 테이블을 도시한 도면이다.
도 10은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 매핑 테이블을 기반으로, UML 설계 자료로부터의 추출값을 각 템플릿 스크립트의 파라미터에 입력하는 일례를 도시한 도면이다.
도 11은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 팟 스크립트의 일례를 도시한 도면이다.
도 12는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 레플리카셋 스크립트의 일례를 도시한 도면이다.
도 13은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 서비스 스크립트의 일례를 도시한 도면이다.
도 14는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 방법의 순서를 도시한 흐름도이다.
FIG. 1 is a diagram illustrating a network including a container script generator-based template script generating apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of a template script generating apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a process of generating a template script using UML design data in a template script generating apparatus according to an embodiment of the present invention.
4 is a diagram illustrating UML design data related to a university information system constituted by micro-services in the template script generating apparatus according to an embodiment of the present invention.
5 is a diagram showing an example of an XMI transform file for a class diagram among UML design data in the template script generating apparatus according to an embodiment of the present invention.
6 is a diagram illustrating an example of an XMI transform file for a layout diagram among UML design data in the template script generating apparatus according to an embodiment of the present invention.
7 is a diagram illustrating an example of generating each template script as an extracted value from an XMI conversion file in the template script generating apparatus according to an embodiment of the present invention.
8 is a diagram showing parameters to be included in each template script in the template script generating apparatus according to an embodiment of the present invention.
9 is a diagram showing a mapping table in the template script generating apparatus according to an embodiment of the present invention.
10 is a diagram illustrating an example of inputting extracted values from UML design data to parameters of each template script based on a mapping table in an apparatus for generating template scripts according to an embodiment of the present invention.
11 is a diagram showing an example of a pot script in the template script generating apparatus according to an embodiment of the present invention.
12 is a diagram showing an example of a replica set script in the template script generating apparatus according to an embodiment of the present invention.
13 is a diagram showing an example of a service script in the template script generating apparatus according to an embodiment of the present invention.
14 is a flowchart illustrating a procedure of a template script generation method according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made in the embodiments, and the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and alternatives to the embodiments are included in the scope of the right.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for descriptive purposes only and are not to be construed as limiting. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

도 1은 본 발명의 일실시예에 따른 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 장치를 포함하는 네트워크를 도시한 도면이다.FIG. 1 is a diagram illustrating a network including a container script generator-based template script generating apparatus according to an embodiment of the present invention.

도 1을 참조하면, 네트워크(100)는 템플릿 스크립트 생성 장치(110) 및 컨테이너 오케스트레이터(container orchestrator)(120)를 포함하여 구성될 수 있다.Referring to FIG. 1, thenetwork 100 may include a templatescript generating apparatus 110 and acontainer orchestrator 120.

본 명세서에서 템플릿 스크립트 생성 장치(110)는 도시된 것처럼 컨테이너 오케스트레이터(120)와 네트워크(100)로 연결된 서버 형태로 구현될 수 있으며, 실시예에 따라, 컨테이너 오케스트레이터(120)의 내부에 포함되는 모듈 형태로 구현될 수도 있다.The templatescript generating apparatus 110 may be implemented in the form of a server connected to thenetwork 100 through thecontainer orchestrator 120 as shown in the figure and may be included in thecontainer orchestrator 120 Or may be implemented in a module form.

템플릿 스크립트 생성 장치(110)는 수집된 UML 설계 자료를 이용하여, 컨테이너 오케스트레이션(120)에서 실행 가능한 YAML 포맷의 템플릿 스크립트를 자동 생성하고, 생성한 템플릿 스크립트를 컨테이너 오케스트레이션(120)으로 출력할 수 있다.The templatescript generating apparatus 110 can automatically generate a template script of a YAML format executable in thecontainer orchestration 120 using the collected UML design data and output the generated template script to thecontainer orchestration 120 .

컨테이너 오케스트레이터(120)는 템플릿 스크립트 생성 장치(110)로부터 출력되는 템플릿 스크립트를 실행하여 다양한 컨테이너 관리를 수행할 수 있다.Thecontainer orchestrator 120 can execute various template management by executing the template script output from the templatescript generating apparatus 110. [

여기서 컨테이너 오케스트레이터(120)는 컨테이너 관리 및 배포를 수행하는 프로그램으로서, 일례로 쿠버네티스(Kubernetes)를 예시할 수 있다.Here, thecontainer orchestrator 120 is a program for performing container management and distribution, for example, kubernetes.

구체적으로, 템플릿 스크립트 생성 장치(110)는 컨테이너 오케스트레이터(120) 또는 관리자로부터 템플릿 스크립트의 생성이 요청되면, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)하고, 사전에 마련된 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하고, 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성할 수 있다.Specifically, when the generation of the template script is requested from thecontainer orchestrator 120 or the administrator, the templatescript generation device 110 parses the data corresponding to the collection element designated in the template script requested to be generated from the UML design data from the previously prepared mapping table, identifying the parameter mapped to the collection element, setting the parsed data to a value for the parameter, and generating the template script including the parameter have.

여기서 상기 UML 설계 자료는 일종의 오픈소스처럼 통합 모델링 언어(UML)로 설계된 SW 데이터로서, 지정된 대상 시스템(예, '대학 정보 시스템')을 구현하는데 사용된 클래스 다이어그램이나 배치 다이어그램 및 마이크로 서비스 정보를 포함할 수 있다.Here, the UML design data is SW data designed in a unified modeling language (UML) as a kind of open source, and includes class diagrams, layout diagrams, and microservice information used to implement a designated target system can do.

템플릿 스크립트 생성 장치(110)는 생성하려는 템플릿 스크립트에 포함되어야 하는 파라미터들을 정의한 후, 상기 UML 설계 자료로부터 추출한 값을 도 9에 도시한 매핑 테이블에 따라 각 파라미터에 설정하여, 관리자의 개입 없이 템플릿 스크립트를 간단히 생성할 수 있다.The templatescript generating apparatus 110 defines parameters to be included in the template script to be generated and then sets the values extracted from the UML design data in the respective parameters according to the mapping table shown in FIG. Can be simply generated.

상기 템플릿 스크립트는 컨테이너 오케스트레이터(120)에서 구현하려는 컨테이너 관리에 따라, 팟 스크립트(Pod script), 레플리카셋 스크립트(ReplicaSet script), 및 서비스 스크립트(Service script)로 구분될 수 있다.The template script may be classified into a pod script, a replica set script, and a service script according to the container management to be implemented by thecontainer orchestrator 120.

템플릿 스크립트 생성 장치(110)는 상기 매핑 테이블을 이용하여, 각각의 템플릿 스크립트에 필요한 파라미터의 값을 선별적으로 설정할 수 있으므로, 컨테이너 오케스트레이션(120)에서는 각 템플릿 스크립트의 자유로운 실행에 의해 다양한 컨테이너 관리를 빠르게 수행할 수 있다.Since the templatescript generating apparatus 110 can selectively set the values of the parameters required for each template script using the mapping table, thecontainer orchestration 120 can perform various container management You can do it quickly.

도 2는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치의 내부 구성을 도시한 블록도이다.2 is a block diagram illustrating an internal configuration of a template script generating apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치(200)는 파싱부(210), 식별부(220) 및 처리부(230)를 포함하여 구성할 수 있다. 또한, 실시예에 따라 템플릿 스크립트 생성 장치(200)는 수집부(240), 및 인터페이스부(250)를 각각 추가하여 구성할 수 있다.Referring to FIG. 2, anapparatus 200 for generating a template script according to an exemplary embodiment of the present invention may include aparser 210, anidentifier 220, and aprocessor 230. In addition, according to the embodiment, the templatescript generating apparatus 200 can be configured by adding thecollecting unit 240 and theinterface unit 250, respectively.

파싱부(210)는 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 템플릿 스크립트의 생성 요청이 발생 함에 따라, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)한다.Theparsing unit 210 parses the data corresponding to the collection element designated in the template script requested to be generated from the UML design data in response to a request for generating a template script executable in the container orchestrator, )do.

상기 컨테이너 오케스트레이터는 템플릿 스크립트를 실행하여 다양한 컨테이너 관리 및 배포를 수행하는 프로그램으로서, 일례로 쿠버네티스(Kubernetes)를 예시할 수 있다.The container orchestrator is a program that executes a template script to perform various container management and distribution, for example, kubernetes.

파싱부(210)는 쿠버네티스 프로그램에서 실행하기 위해 생성하려는 템플릿 스크립트의 종류에 따라 수집이 필요한 요소의 데이터만 추출할 수도 있고, 템플릿 스크립트의 종류에 관계 없이 지정된 모든 수집 요소의 데이터를 일괄 추출해서 도 7의 테이블(730)에서 '추출 값'으로 기록해둘 수도 있다.Theparsing unit 210 may extract only the data of the elements that need to be collected according to the type of the template script to be generated for execution in the cooker's program, And may be recorded as an 'extracted value' in the table 730 of FIG.

도 7의 테이블(730)을 참조하면, 파싱부(210)는 UML 설계 자료로부터, 클래스 다이어그램을 통해 구성된 마이크로 서비스 정보(마이크로 서비스 이름, 마이크로 서비스 개수)와, 클래스 정보(클래스 설계 이름), 노드(컨테이너)에 관한 노드 정보(노드 이름, 노드 리소스, 노드 OS, 노드 어플리케이션), 노드 간 연결 정보(외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP)에 상응하는 데이터를 추출할 수 있다.Referring to the table 730 of FIG. 7, theparser 210 extracts, from the UML design data, micro service information (micro service name, micro service number), class information (class design name) (Node name, node resource, node OS, node application) related to the container (container), and inter-node connection information (external port, internal port, connection protocol and external IP).

실시예에 따라, 템플릿 스크립트 생성 장치(200)는 수집부(240)를 더 포함하여 구성할 수 있다.According to the embodiment, the templatescript generating apparatus 200 may further include acollecting unit 240. [

수집부(240)는 상기 데이터를 파싱할 UML 설계 자료를 수집하고, 수집된 UML 설계 자료를 XMI 파일로 변환하는 역할을 한다.Thecollecting unit 240 collects the UML design data to be parsed and converts the collected UML design data into an XMI file.

수집부(240)는 상기 생성 요청에 의해 상기 UML 설계 자료를 수집하는 대상 시스템이 정해지면, 상기 대상 시스템에서 통합 모델링 언어(UML)로 설계된 클래스 다이어그램 및 배치 다이어그램을, 상기 UML 설계 자료로서 수집할 수 있다.When a target system for collecting the UML design data is determined according to the generation request, the collectingunit 240 collects the class diagram and layout diagram designed in the integrated modeling language (UML) in the target system as the UML design data .

또한 수집부(240)는 상기 대상 시스템이 적어도 하나의 마이크로 서비스로 구성될 경우, 마이크로 서비스 정보를 포함하여 상기 클래스 다이어그램을 수집할 수 있다.The collectingunit 240 may collect the class diagram including the microservice information when the target system is composed of at least one microservice.

상기 마이크로 서비스 정보는 상기 대상 시스템을 구성하는 마이크로 서비스의 이름 및 상기 대상 시스템을 구성하는 마이크로 서비스의 수를 포함할 수 있다.The microservice information may include a name of a microservice constituting the target system and a number of microservices constituting the target system.

실시예에 따라 템플릿 스크립트 생성 장치(200)는 인터페이스부(250)를 더 포함하여 구성할 수 있다.The templatescript generating apparatus 200 may further include aninterface unit 250 according to an embodiment of the present invention.

인터페이스부(250)는 관리자 단말 또는 컨테이너 오케스트레이터로부터 템플릿 스크립트의 생성 명령을 입력 받는 역할을 한다.Theinterface unit 250 receives a command for generating a template script from an administrator terminal or a container orchestrator.

또한 인터페이스부(250)는 상기 UML 설계 자료를 수집할 대상이 되는 대상 시스템을 관리자 단말 또는 컨테이너 오케스트레이터로부터 선택 받거나, 상기 UML 설계 자료가 저장된 경로를 입력 받는 역할을 할 수 있다.In addition, theinterface unit 250 may select a target system to which the UML design data is to be collected from an administrator terminal or a container orchestrator, or may receive a path where the UML design data is stored.

파싱부(210)는 인터페이스부(250)를 통해 상기 템플릿 스크립트의 생성 요청이 발생될 때 UML 설계 자료가 저장된 경로가 입력되면, 상기 입력된 경로에 따라 저장된 UML 설계 자료로부터 수집 요소에 대응되는 데이터를 파싱할 수 있다.When a path for storing the UML design data is input when a request for generating the template script is generated through theinterface unit 250, theparsing unit 210 extracts data corresponding to the collection element from the UML design data stored according to the input path, Can be parsed.

파싱부(210)는 UML 설계 자료를 변환한 상기 XMI 파일로부터 지정된 수집 요소 별 데이터를 파싱하여, 상기 컨테이너 오케스트레이터에서 실행 가능한 YAML 파일의 템플릿 스크립트가 생성되도록 할 수 있다.Theparsing unit 210 may generate the template script of the YAML file executable by the container orchestrator by parsing the data of the collection element specified from the XMI file into which the UML design data is converted.

일례로 파싱부(210)는 상기 클래스 다이어그램을 변환한 제1 XMI 파일로부터, 마이크로 서비스의 이름과, 마이크로 서비스의 수, 및 클래스의 설계 이름 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱할 수 있다.For example, theparsing unit 210 can parse data corresponding to at least one collection element among the name of the micro-service, the number of micro-services, and the design name of the class from the first XMI file converted from the class diagram have.

또한 파싱부(210)는 상기 배치 다이어그램을 변환한 제2 XMI 파일로부터, 노드 이름, 노드 OS, 노드 리소스, 노드 어플리케이션, 외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱할 수 있다.Also, theparsing unit 210 corresponds to at least one collection element of the node name, the node OS, the node resource, the node application, the external port, the internal port, the connection protocol, and the external IP from the second XMI file converted from the layout diagram Can be parsed.

예를 들어 도 7을 참조하면 파싱부(210)는 클래스 다이어그램의 'UML1.XMI'(710)로부터 지정된 수집 요소 중 '클래스 설계 이름'에 대응되는 데이터 '학생 관리 클래스 다이어그램'을 파싱할 수 있다.For example, referring to FIG. 7, theparsing unit 210 may parse data 'student management class diagram' corresponding to 'class design name' among collection elements specified from 'UML1.XMI' 710 of the class diagram .

또한 파싱부(210)는 배치 다이어그램의 'UML2.XMI'(720)로부터 지정된 수집 요소 중 '노드 이름', '노드 리소스', '노드 OS' 및 '노드 어플리케이션' 각각에 대응되는 데이터 "DB Server", "1 Core 128 RAM", "Ubuntu 16.04LTS", "mysql-server 5.6V"를 파싱할 수 있다.Also, theparsing unit 210 extracts data corresponding to each of the 'node name', 'node resource', 'node OS' and 'node application' among the collection elements designated from the 'UML2.XMI' "," 1Core 128 RAM "," Ubuntu 16.04LTS ", and" mysql-server 5.6V ".

또한 파싱부(210)는 배치 다이어그램의 'UML2.XMI'(720)로부터 지정된 수집 요소 중 '외부 포트', '내부 포트', '연결 프로토콜' 및 '외부 IP' 각각에 대응되는 데이터 "80", "8080", "TCP" 및 "164.125.70.25"를 파싱할 수 있다.In addition, theparsing unit 210extracts data 80 from the 'UML2.XMI' 720 of the layout diagram corresponding to 'external port', 'internal port', 'connection protocol' , "8080", "TCP", and "164.125.70.25".

또한 파싱부(210)는 수집 요소 중 '마이크로 서비스 이름'과 '마이크로 서비스 개수'를, 상기 '학생 관리 클래스 다이어그램'으로부터 구성된 3개의 마이크로 서비스('학생 정보 생성', '학생 정보 삭제' 및 '학생 정보 수정')(도 4 참조)에 관한 정보로부터 파싱할 수 있다.Also, theparsing unit 210 stores the 'micro service name' and the 'micro service number' among the collection elements into three micro services ('create student information', 'delete student information' and ' Student information modification ') (see FIG. 4).

식별부(220)는 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별한다.Theidentification unit 220 identifies, from the mapping table, the parameters mapped to the collection element.

일례로, 일정 수의 컨테이너를 생성하는 팟(Pod) 스크립트의 생성이 요청된 경우, 상기 마이크로 서비스의 이름, 상기 클래스의 설계 이름, 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스 및 상기 노드 어플리케이션 중 적어도 하나의 수집 요소가 지정될 수 있다.For example, if the creation of a pod script to create a certain number of containers is requested, the name of the micro service, the design name of the class, the node name, the node OS, the node resource, At least one collection element may be specified.

이 경우 도 9를 참조하면 식별부(220)는 매핑 테이블(900)로부터 상기 수집 요소에 매핑되는, 팟 스크립트의 이름, 팟 스크립트의 라벨, 컨테이너 이름, 컨테이너 운영체제, 컨테이너 리소스, 및 컨테이너 명령어 중 적어도 하나의 상기 파라미터를 식별할 수 있다.In this case, referring to FIG. 9, theidentification unit 220 identifies at least one of a name of a pot script, a label of a pot script, a container name, a container operating system, a container resource, and a container command, which are mapped from the mapping table 900 to the collecting element One such parameter may be identified.

다른 일례로, 다수의 팟 스크립트를 제어하는 레플리카셋(ReplicaSet) 스크립트의 생성이 요청된 경우, 상기 마이크로 서비스의 수, 상기 클래스의 설계 이름, 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 및 상기 노드 어플리케이션 중 적어도 하나의 수집 요소가 지정될 수 있다.In another example, when generation of a replica set script controlling a plurality of pot scripts is requested, the number of micro services, the design name of the class, the node name, the node OS, the node resource, At least one collection element of the node application may be specified.

이 경우 식별부(220)는 매핑 테이블(900)로부터 상기 수집 요소에 매핑되는, 레플리카셋 스크립트의 레플리카(Replicas), 이름, 셀렉터, 라벨(label), 및 템플릿(tamplate) 중 적어도 하나의 상기 파라미터를 식별할 수 있다.In this case, the identifyingunit 220 identifies at least one of the replicas, the name, the selector, the label, and the template of the replica set script, which is mapped to the collecting element from the mapping table 900, Can be identified.

여기서 레플리카(Replicas) 변수는, 레플리카셋 스크립트의 실행에 의해 유지되게 하려는 팟(Pod)의 수(팟 스크립트의 수)를 나타내는 변수이고, 셀렉터는 라벨 탐색을 통해 특정 팟(팟 스크립트)를 선택하기 위한 변수이고, 템플릿은 팟 스크립트를 생성할 필요 없이 동일한 형태의 팟을 추가하기 위해 미리 정의해 둔 변수를 나타낼 수 있다.Here, the replicas variable is a variable indicating the number of pods (number of pot scripts) to be maintained by execution of the replica set script, and the selector selects a specific pot (pot script) through the label search , And the template can represent a predefined variable to add the same type of pot without having to generate a pot script.

또 다른 일례로, 특정 팟 스크립트의 외부 클라이언트와의 네트워크 서비스를 제어하는 서비스(Service) 스크립트의 생성이 요청된 경우, 상기 클래스의 설계 이름, 상기 외부 포트, 상기 내부 포트, 상기 연결 프로토콜 및 상기 외부 IP 중 적어도 하나의 수집 요소가 지정될 수 있다.As another example, when a service script for controlling a network service with an external client of a specific pot script is requested to be generated, the design name of the class, the external port, the internal port, the connection protocol, At least one collection element of IP can be specified.

이 경우 식별부(220)는 매핑 테이블(900)로부터 상기 수집 요소에 매핑되는, 서비스 스크립트의 이름, 셀렉터, 라벨, 소스 포트(source port), 타겟 포트(target port), 프로토콜, 및 외부 IP(externalIP) 중 적어도 하나의 상기 파라미터를 식별할 수 있다.In this case, theidentification unit 220 identifies the name of the service script, the selector, the label, the source port, the target port, the protocol, and the external IP (which is mapped to the collection element from the mapping table 900) externalIP). < / RTI >

처리부(230)는 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성한다.Theprocessing unit 230 sets the parsed data to a value for the parameter, and generates the template script including the parameter.

즉 처리부(230)는 매핑 테이블을 기반으로 컨테이너의 관리 및 배포를 위한 'YAML 파일'의 템플릿 스크립트를 자동 생성할 수 있다.That is, theprocessing unit 230 can automatically generate the template script of the 'YAML file' for managing and distributing the container based on the mapping table.

이에 따라 처리부(230)는 템플릿 스크립트의 코딩에 따른 시간을 줄이고, 관리자가 직접 자료를 확인해야 하는 번거로움을 해소할 수 있으며, 컨테이너 오케스트레이터는 템플릿 스크립트의 실행에 의해 다수의 컨테이너를 원하는 다양한 방식으로 빠르게 관리할 수 있게 된다.Accordingly, theprocessing unit 230 can reduce the time required for the coding of the template script and can eliminate the trouble of the administrator directly confirming the data. The container orchestrator can execute a variety of methods As shown in FIG.

또한 처리부(230)는 컨테이너 관리에 필요한 요소 별로, 팟 스크립트, 레플리카셋 스크립트, 및 서비스 스크립트와 같은 다양한 템플릿 스크립트의 생성을 자동화 할 수 있다.In addition, theprocessing unit 230 can automate the generation of various template scripts such as a pot script, a replica set script, and a service script for each element necessary for container management.

구체적으로 처리부(230)는 팟 스크립트, 레플리카셋 스크립트 및 서비스 스크립트 각각에 필요한 파라미터와, UML 설계 자료로부터 추출 가능한 수집 요소를 매핑시킨 매핑 테이블을 미리 마련해 둘 수 있다.Specifically, theprocessing unit 230 may provide a mapping table in which parameters necessary for each of the pot script, the replica set script, and the service script, and a collection element extractable from the UML design data are mapped.

처리부(230)는 각각의 템플릿 스크립트에 기술되어야 하는 파라미터에, UML 설계 자료로부터 파싱한 데이터를 상기 매핑 테이블을 이용하여 간단히 입력할 수 있으므로, 파라미터가 상이한 여러 템플릿 스크립트를 간단히 일괄 생성할 수 있다.Theprocessing unit 230 can simply input the data parsed from the UML design data into the parameters to be described in the respective template scripts using the mapping table. Thus, it is possible to collectively generate various template scripts having different parameters.

또한 처리부(230)는 구성된 마이크로 서비스의 수 만큼 팟 스크립트를 생성할 수 있고, 클래스 다이어그램의 수 만큼 레플리카셋 스크립트를 생성할 수 있고, 배치 다이어그램의 수 만큼 서비스 스크립트를 생성할 수 있다.In addition, theprocessor 230 can generate as many pot scripts as the number of micro services, generate replica set scripts as many as the number of class diagrams, and generate service scripts as many as the batch diagrams.

일례로 처리부(230)는 상기 마이크로 서비스의 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 이름의 값으로 설정하고, 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 라벨의 값으로 설정할 수 있다.For example, theprocessing unit 230 sets the parsed data corresponding to the name of the micro-service as the value of the pot script name, and parses the data corresponding to the design name of the class as the value of the pot script label Can be set.

또한 처리부(230)는 상기 노드 이름에 대응하여 파싱된 데이터를, 상기 컨테이너 이름의 값으로 설정하고, 상기 노드 OS에 대응하여 파싱된 데이터를, 상기 컨테이너 운영체제의 값으로 설정하고, 상기 노드 리소스에 대응하여 파싱된 데이터를, 상기 컨테이너 리소스의 값으로 설정하고, 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 컨테이너 명령어의 값으로 설정할 수 있다.In addition, theprocessing unit 230 sets the parsed data corresponding to the node name as the value of the container name, sets the parsed data corresponding to the node OS as the value of the container operating system, The parsed data may be set to the value of the container resource, and the parsed data corresponding to the node application may be set to the value of the container command.

처리부(230)는 상기 값이 설정된 각 파라미터(1110, 1120)를 포함하여, 도 11과 같은 팟 스크립트를 생성할 수 있다.Theprocessing unit 230 may generate the pot script shown in FIG. 11 by including theparameters 1110 and 1120 for which the value is set.

이때 처리부(230)는 UML 설계 자료를 수집할 대상 시스템을 구성하는 마이크로 서비스의 수에 상응하여, 팟 스크립트를 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 상기 팟 스크립트의 실행에 의해, 하나의 팟에 포함되는 일정 수 단위의 컨테이너를 생성할 수 있게 된다.At this time, theprocessing unit 230 may generate a pot script corresponding to the number of micro services constituting a target system for collecting UML design data, and the container orchestrator may generate a pot script It is possible to create a container of a certain number of units included.

다른 일례로, 처리부(230)는 상기 마이크로 서비스의 수에 대응하여 파싱된 데이터를, 상기 레플리카(Replicas)의 값으로 설정하고, 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 레플리카셋 스크립트의 이름, 셀렉터(selector) 및 라벨 중 적어도 하나의 값으로 설정할 수 있다.In another example, theprocessing unit 230 sets the parsed data corresponding to the number of micro-services to the value of the replicas, and parses the parsed data corresponding to the design name of the class into the replica set script A name, a selector, and a label.

또한 처리부(230)는 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 및 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 템플릿의 값으로 설정할 수 있다.In addition, theprocessing unit 230 may set the node name, the node OS, the node resource, and data parsed corresponding to the node application as the value of the template.

처리부(230)는 상기 값이 설정된 각 파라미터(1210, 1220)를 포함하여, 도 12와 같은 레플리카셋 스크립트를 생성할 수 있다.Theprocessing unit 230 may generate the replica set script shown in FIG. 12 by including theparameters 1210 and 1220 for which the value is set.

이처럼 처리부(230)는 상기 팟 스크립트 중, 다수의 팟 스크립트를 제어하는 다양한 레플리카셋 스크립트를 빠르고 자동적으로 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 상기 레플리카셋 스크립트의 실행에 의해, 상기 다수의 팟 스크립트 각각에 포함되는 컨테이너를 관리자가 원하는 방식으로 관리할 수 있다.As described above, theprocessing unit 230 can quickly and automatically generate various replica set scripts for controlling a plurality of pot scripts among the pot scripts, and the container orchestrator can execute the replica set scripts by executing the replica set script, The containers included in each can be managed in a manner desired by the administrator.

또 다른 일례로, 처리부(230)는 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 서비스 스크립트의 이름, 셀렉터(selector) 및 라벨 중 적어도 하나의 값으로 설정할 수 있다.As another example, theprocessing unit 230 may set the parsed data corresponding to the design name of the class to at least one of the name, the selector, and the label of the service script.

또한 처리부(230)는 상기 외부 포트에 대응하여 파싱된 데이터를, 상기 소스 포트의 값으로 설정하고, 상기 내부 포트에 대응하여 파싱된 데이터를, 상기 타겟 포트의 값으로 설정하고, 상기 연결 프로토콜에 대응하여 파싱된 데이터를, 상기 프로토콜의 값으로 설정하고, 상기 외부 IP에 대응하여 파싱된 데이터를, 상기 외부 IP(externalIP)의 값으로 설정할 수 있다.Theprocessing unit 230 sets the parsed data corresponding to the external port as the value of the source port, sets the parsed data corresponding to the internal port as the value of the target port, The parsed data may be set as the value of the protocol, and the parsed data corresponding to the external IP may be set as the value of the external IP (externalIP).

처리부(230)는 상기 값이 설정된 각 파라미터(1310, 1320)를 포함하여, 도 13과 같은 서비스 스크립트를 생성할 수 있다.Theprocessing unit 230 may generate the service script as shown in FIG. 13, including theparameters 1310 and 1320 for which the value is set.

이처럼, 처리부(230)는 상기 팟 스크립트 중, 특정 팟 스크립트의 외부 클라이언트와의 네트워크 서비스를 제어하는 서비스 스크립트를 손쉽게 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 서비스 스크립트의 실행에 의해, 상기 특정 팟 스크립트에 포함되는 컨테이너의 통신을 용이하게 제어 관리할 수 있다.As described above, theprocessing unit 230 can easily generate a service script for controlling a network service with an external client of a specific pot script among the pot scripts, and the container orchestrator can easily generate a service script, It is possible to easily control and manage the communication of the container included in the container.

실시예에 따라, 인터페이스부(250)는 상기 컨테이너 오케스트레이터에서 수행이 요구되는 컨테이너 관리에 따라, 생성하려는 템플릿 스크립트의 종류를 결정할 수 있다.According to the embodiment, theinterface unit 250 can determine the type of the template script to be generated according to the container management required to be performed by the container orchestrator.

처리부(230)는 상기 템플릿 스크립트의 종류에 따라 정해지는 개별 파라미터와, 상기 템플릿 스크립트의 종류에 무관하게 공통으로 정해지는 공통 파라미터를 각각 정의하고, 상기 파싱한 데이터를 이용하여, 상기 공통 파라미터에 대한 값을 설정한 후에, 상기 개별 파라미터에 대한 값을 설정 함으로써, 상기 템플릿 스크립트를 생성할 수 있다.Theprocessing unit 230 defines individual parameters determined according to the type of the template script and common parameters commonly determined irrespective of the type of the template script, and uses the parsed data to calculate the common parameter After setting the value, the template script can be generated by setting a value for the individual parameter.

최종적으로 처리부(230)는 생성된 각 템플릿 스크립트를 컨테이너 오케스트레이터로 출력하여, 팟 스크립트의 실행에 의해 컨테이너 및 어플리케이션을 생성 및 실행하고, 레플리카셋 스크립트의 실행에 의해 다수 팟(Pod)을 자동으로 배포 및 관리할 수 있고, 서비스 스크립트의 실행에 의해 특정 팟의 네트워크 서비스를 제어할 수 있다.Finally, theprocessing unit 230 outputs each generated template script to the container orchestrator, creates and executes the container and the application by execution of the pot script, automatically executes a plurality of pods by executing the replica set script And can control the network service of a specific pot by execution of the service script.

이와 같이 본 발명의 일실시예에 따르면 일반화된 UML 설계 자료로부터 파싱한 데이터를 이용하여, 컨테이너 오케스트레이션 프로그램에서 컨테이너 관리 및 배포에 필요한 여러 템플릿 스크립트의 생성 과정을 자동화 함으로써, 컨테이너 관리가 자동화 되도록 할 수 있다.As described above, according to the embodiment of the present invention, it is possible to automate the container management by automating the generation process of the template scripts required for container management and distribution in the container orchestration program using the parsed data from the generalized UML design data have.

도 3은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료를 이용하여 템플릿 스크립트를 생성하는 과정을 도시한 도면이다.3 is a diagram illustrating a process of generating a template script using UML design data in a template script generating apparatus according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치는 UML 설계 자료(310)를 분석하여, 컨테이너 오케스트레이터에서 컨테이너 관리를 위해 실행 가능한 템플릿 스크립트(330)를 자동 생성할 수 있다.Referring to FIG. 3, the template script generating apparatus according to an embodiment of the present invention analyzes theUML design data 310 and automatically generates atemplate script 330 executable for container management in the container orchestrator .

템플릿 스크립트 생성 장치는 템플릿 스크립트(330)의 생성 요청 시 지정되는 대상 시스템(예, '대학 정보 시스템')으로부터 클래스 다이어그램과, 배치 다이어그램 및 마이크로 서비스 정보를 UML 설계 자료(310)로서 수집할 수 있다.The template script generating apparatus can collect the class diagram, layout diagram, and micro service information from the target system (e.g., 'university information system') designated at the time of the generation of thetemplate script 330 asUML design data 310 .

템플릿 스크립트 생성 장치는 생성하려는 템플릿 스크립트(330)에 포함되어야 하는 각 파라미터를 정의하고, 각 파라미터의 값을 설정하기 위해 상기 UML 설계 자료(310)를 데이터의 추출이 가능한 XMI 포맷으로 변환(Export)하고, 변환된 XMI 파일(예, 'UML.xmi')(320)로부터 지정된 수집 요소에 대응되는 데이터를 파싱(parsing)하고, 파싱한 데이터를 도 9에 도시된 매핑 테이블에 따라 각 파라미터에 설정하여, YML 포맷의 템플릿 스크립트(330)를 생성할 수 있다.The template script generating apparatus defines each parameter to be included in thetemplate script 330 to be generated and converts theUML design data 310 into an XMI format capable of extracting data in order to set a value of each parameter, , Parses the data corresponding to the specified collection element from the converted XMI file (e.g., 'UML.xmi') 320, and sets the parsed data to each parameter according to the mapping table shown in FIG. 9 , Thereby generating atemplate script 330 in YML format.

이때 템플릿 스크립트 생성 장치는 도 9에 도시된 매핑 테이블에서 템플릿 스크립트(330)의 종류 별로 지정된 수집 요소를 식별하고, 식별한 상기 수집 요소에 대응되는 데이터를 XMI 파일(320)로부터 파싱하여, 템플릿 스크립트(330)를 종류('pod.yml', 'replicaset.yml', 'service.yml') 별로 생성할 수 있다.At this time, the template script generation device identifies the collection element specified by the type of thetemplate script 330 in the mapping table shown in FIG. 9, parses the data corresponding to the identified collection element from theXMI file 320, ('Pod.yml', 'replicaset.yml', and 'service.yml').

UML 설계 자료(310)는 대상 시스템(예, '대학 정보 시스템')에 대해 통합 모델링 언어(UML)로 작성된 클래스 다이어그램 또는 배치 다이어그램으로 구성될 수 있다.TheUML design material 310 may comprise a class diagram or layout diagram written in an integrated modeling language (UML) for a target system (e.g., a 'college information system').

상기 클래스 다이어그램은 대상 시스템을 구현하는 클래스(class)에 관한 정보와, 상기 클래스를 이용해 구성된 마이크로 서비스에 관한 정보로 분류될 수 있다.The class diagram may be classified into information on a class that implements a target system and information on a micro-service configured using the class.

마이크로 서비스 정보에는 상기 클래스를 이용해 구성된 마이크로 서비스의 이름과 개수에 관한 데이터가 포함되고, 클래스 정보에는 클래스 설계 이름에 관한 데이터가 포함될 수 있다.The micro service information includes data on the name and the number of micro-services configured using the class, and the class information may include data on the class design name.

상기 배치 다이어그램은 상기 대상 시스템에서 사용되는 어플리케이션의 배포 정보로서, 클래스 간 관계를 나타내는 노드 정보와 연결 정보로 분류될 수 있다.The deployment diagram may be classified into node information and connection information indicating the relationship between classes as distribution information of an application used in the target system.

노드 정보에는 노드 이름, 노드 리소스, 노드 OS, 및 노드 어플리케이션에 관한 데이터가 포함되고, 연결 정보에는 외부 포트, 내부 포트, 프로토콜, 및 외부 연결 IP에 관한 데이터가 포함될 수 있다.The node information includes data on the node name, the node resource, the node OS, and the node application, and the connection information may include data on the external port, the internal port, the protocol, and the external connection IP.

템플릿 스크립트 생성 장치는 UML 설계 자료(310)로부터 지정된 수집 요소에 대응되는 데이터를 파싱하기 위해, 상기 클래스 다이어그램과 상기 배치 다이어그램을 각각 XMI 포맷의 파일로 변환할 수 있다.The template script generating device may convert the class diagram and the layout diagram into a file in the XMI format, respectively, in order to parse the data corresponding to the designated collection element from theUML design data 310. [

도 4는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 대학 정보 시스템에 관한 UML 설계 자료를 예시한 도면이다.4 is a diagram illustrating UML design data related to a university information system in the template script generating apparatus according to an embodiment of the present invention.

도 4를 참조하면, '대학 정보 시스템'에 관한 UML 설계 자료는 '학생 관리'에 관한 클래스 다이어그램 및 배치 다이어그램을 포함하여 구성될 수 있다.Referring to FIG. 4, the UML design data on the 'university information system' may include class diagrams and layout diagrams for 'student management'.

클래스 다이어그램은 '학생 관리'에 사용되는 클래스(class)에 관한 정보를 포함하고, 배치 다이어그램은 '학생 관리'에 사용되는 어플리케이션의 배포 정보를 포함할 수 있다.The class diagram includes information about classes used in 'student management', and the deployment diagram can include deployment information of applications used in 'student management'.

이때 상기 '학생 관리'에 관한 클래스 다이어그램으로부터, '학생 관리'에 관한 마이크로 서비스가 구성될 경우, 구성된 마이크로 서비스의 개수('3개')와, 각 마이크로 서비스의 이름('학생 정보 생성', '학생 정보 삭제' 및 '학생 정보 수정')이 상기 UML 설계 자료에 더 포함될 수 있다.In this case, when the micro-service related to 'student management' is configured from the class diagram related to 'student management', the number ('3') of the configured micro services and the name of each micro service &Quot; Delete student information " and " Modify student information ") may be further included in the UML design document.

템플릿 스크립트 생성 장치는 상기 UML 설계 자료를 이루는 '학생 관리'에 관한 클래스 다이어그램과 배치 다이어그램을 각각 도 5 및 도 6과 같이 XMI 포맷의 파일로 변환하고, 각각의 XMI 파일에서 수집 요소에 대응되는 데이터를 도 7과 같이 파싱(추출)할 수 있다.The template script generating apparatus converts the class diagram and the layout diagram of 'student management' constituting the UML design data into a file of the XMI format as shown in FIGS. 5 and 6, respectively, and stores data corresponding to the collection element in each XMI file (Extracted) as shown in FIG.

도 5는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료 중 클래스 다이어그램에 대한 XMI 변환 파일의 일례를 도시한 도면이다.5 is a diagram showing an example of an XMI transform file for a class diagram among UML design data in the template script generating apparatus according to an embodiment of the present invention.

도 5를 참조하면, 템플릿 스크립트 생성 장치는 UML 설계 자료(510)로부터 수집 요소 별로 데이터를 파싱(parsing)하기 전에, UML 설계 자료(510)에 포함되는 클래스 다이어그램을 XMI 포맷의 파일로 변환할 수 있다.Referring to FIG. 5, the template script generating apparatus may convert the class diagram included in theUML design document 510 into a file in the XMI format before parsing the data for each acquisition element from theUML design data 510 have.

UML 설계 자료(510)는 대상 시스템으로 지정된 '대학 정보 시스템'의 경우 '학생 관리' 클래스 다이어그램(511)과, '사용자 관리' 클래스 다이어그램, '수업 및 수강 관리' 클래스 다이어그램 및 '학사 관리' 클래스 다이어그램을 포함한 4개의 클래스 다이어그램으로 구성될 수 있다.TheUML design document 510 includes a class diagram 511 for a 'college information system' designated as a target system, a class diagram for 'user management', a class diagram for 'class and attendance management' It can be composed of four class diagrams including diagrams.

이때 템플릿 스크립트 생성 장치는 상술한 4개의 클래스 다이어그램을 모두 XMI 포맷으로 변환할 수도 있으나, 관리자 단말에 의해 선택된 어느 하나의 클래스 다이어그램 또는 도 4에서와 같이 3개의 마이크로 서비스('학생 정보 생성', '학생 정보 삭제' 및 '학생 정보 수정')가 구성된 '학생 관리' 클래스 다이어그램(511)을 선택적으로 XMI 포맷으로 변환할 수도 있다.At this time, the template script generating device may convert all of the above four class diagrams into the XMI format, but it is possible to use any one of the class diagrams selected by the administrator terminal or three micro-services ('student information creation', ' Student management " class diagram 511 including the " delete student information " and " modify student information "

템플릿 스크립트 생성 장치는 클래스 다이어그램 내 클래스 정보(다이어그램 이름 및 다이어그램 종류)를 참조하여 다이어그램 태그('<diagram>~</diagram>') 의 내부 어트리뷰트(Attribute)를 작성함으로써, 상기 클래스 다이어그램에 대한 XM 파일을 생성할 수 있다.The template script generation apparatus generates an internal attribute of the diagram tag ('<diagram> ~ </ diagram>') by referring to the class information (diagram name and diagram type) in the class diagram, File can be generated.

예를 들면 템플릿 스크립트 생성 장치는 다이어그램 태그의 'name'에 '학생 관리' 클래스 다이어그램(511)의 이름을 설정하고, 다이어그램 태그의 'type'에 '학생 관리' 클래스 다이어그램(511)의 종류('Logical')를 설정하여, 학생 관리' 클래스 다이어그램(511)의 XMI 변환 파일 'UML1.XMI'(520)을 자동적으로 생성할 수 있다.For example, the template script generating apparatus sets the name of the 'student management' class diagram 511 in the 'name' of the diagram tag and sets the type of the 'student management' class diagram 511 ' Logical ') to automatically generate the XMI transform file' UML1.XMI '520 of the student management' class diagram 511 '.

도 6은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, UML 설계 자료 중 배치 다이어그램에 대한 XMI 변환 파일의 일례를 도시한 도면이다.6 is a diagram illustrating an example of an XMI transform file for a layout diagram among UML design data in the template script generating apparatus according to an embodiment of the present invention.

도 6을 참조하면, 템플릿 스크립트 생성 장치는 UML 설계 자료로부터 수집 요소 별로 데이터를 파싱(parsing)하기 전에, UML 설계 자료에 포함되는 배치 다이어그램(610)도 파싱이 가능한 XMI 포맷으로 변환할 수 있다.Referring to FIG. 6, the template script generation apparatus may convert the layout diagram 610 included in the UML design data into the parsable XMI format before parsing the data by the collection element from the UML design data.

배치 다이어그램(610)은 노드(디바이스)에 관한 노드 정보와, 노드 간 통신 연결에 관한 연결 정보를 포함할 수 있으며, 도 6에 도시된 것처럼 '대학 정보 시스템'에 관한 배치 다이어그램(610)의 경우, 웹 서버(Web Server)(611)에 관한 노드 정보와, DB 서버(DB Server)(612)에 관한 노드 정보 및 두 노드를 연결하는 연결 정보(613)를 포함하여 구성될 수 있다.The deployment diagram 610 may include node information about the node (device) and connection information regarding the inter-node communication connection, and in the case of the deployment diagram 610 for the 'university information system' as shown in FIG. 6 Node information about theWeb server 611, node information about theDB server 612, andconnection information 613 for connecting the two nodes.

도 6에는 배치 다이어그램(610)의 일 노드인 DB 서버(612)에 관한 노드 정보와, 연결 정보(613)를 XMI 포맷으로 변환하는 과정이 도시되어 있다.6 shows a process of converting the node information about theDB server 612, which is one node of the deployment diagram 610, and theconnection information 613 into the XMI format.

여기서 DB 서버(612)에 관한 노드 정보는 DB 서버(612)의 이름과 리소스(cpu, RAM), OS 및 어플리케이션에 관한 데이터를 포함하고, 연결 정보(613)는 외부 포트, 내부 포트, 프로토콜 및 외부 연결 IP에 관한 데이터를 포함할 수 있다.Herein, the node information about theDB server 612 includes the name of theDB server 612, the resource (cpu, RAM), the OS and application data, and theconnection information 613 includes external port, internal port, And may include data regarding the external connection IP.

일례로 템플릿 스크립트 생성 장치는 DB 서버(612)의 노드 정보에 대해, 엘리멘트 태그('<element>~</element>'(621)를 정의한 후, 태그 내부에 어트리뷰트('name', 'sterotype', 'type', 'value')를 정의하고, 각 어트리뷰트에, DB 서버(612)의 이름("DB Server")과 스테레오 타입("device"), 버전/리소스("cpu" or "RAM") 및 버전/리소스에 대한 값("1 Core" or "128 MB")을 설정할 수 있다.For example, the template script generating apparatus defines an element tag ('<element> ~ </ element>' 621) with respect to the node information of theDB server 612, ("DB Server") and stereotype ("device"), version / resource ("cpu" or "RAM" ) And a version / resource value ("1 Core" or "128 MB").

또한 템플릿 스크립트 생성 장치는 웹 서버(611)와 DB 서버(612)를 통신 연결하는 연결 정보(613)에 대해, 커넥터 태그('<connector>~</connector>')(622)를 정의하고, 태그 내부에 어티르뷰트('sterotype', 'name', 'type', 'value')를 정의하고, 어트리뷰트 각각에, 연결 정보(613)의 스테레오 타입("protocol")과 이름("TCP/IP"), 외부 연결("external") 및 외부 연결 IP("164.125.70.25")를 설정할 수 있다.The template script generating apparatus defines a connector tag ('<connector> to </ connector>') 622 forconnection information 613 for communicatively connecting theweb server 611 and theDB server 612, ("Protocol") and the name ("TCP / IP") of theconnection information 613 are defined in each of the attributes, IP "), an external connection (" external "), and an external connection IP (" 164.125.70.25 ").

템플릿 스크립트 생성 장치는 DB 서버(612)의 노드 정보에 대한 엘리멘트 태그(621)와, 연결 정보(613)에 대한 커넥터 태그(622)를 포함하여, 배치 다이어그램(610)의 XMI 변환 파일 'UML2.XMI'(620)을 자동화 하여 생성할 수 있다.The template script generating apparatus includes anelement tag 621 for the node information of theDB server 612 and aconnector tag 622 for theconnection information 613 so that the XMI transform file 'UML2. XMI '(620).

도 7은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, XMI 변환 파일로부터의 추출값으로 템플릿 스크립트의 생성하는 일례를 도시한 도면이다.FIG. 7 is a diagram showing an example of generating a template script as an extraction value from an XMI conversion file in the template script generating apparatus according to an embodiment of the present invention. FIG.

도 7을 참조하면, 템플릿 스크립트 생성 장치는 클래스 다이어그램의 'UML1.XMI'(710)와, 배치 다이어그램의 'UML2.XMI'(720)로부터 수집 요소에 해당되는 데이터를 파싱하고, 파싱된 데이터를, 템플릿 스크립트에 포함되어야 하는 파라미터의 값으로 설정함으로써, 상기 템플릿 스크립트를 생성할 수 있다.Referring to FIG. 7, the template script generating apparatus parses data corresponding to the collection element from 'UML1.XMI' 710 of the class diagram and 'UML2.XMI' 720 of the layout diagram, , And setting the value of the parameter to be included in the template script, the template script can be generated.

테이블(730)을 참조하면 수집 요소의 일례로, 마이크로 서비스 이름, 마이크로 서비스 개수, 클래스 설계 이름, 노드 이름, 노드 리소스, 노드 OS, 노드 어플리케이션, 외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP가 지정될 수 있다.Referring to table 730, a micro-service name, a number of micro-services, a class design name, a node name, a node resource, a node OS, a node application, an external port, an internal port, a connection protocol, .

템플릿 스크립트 생성 장치는 클래스 다이어그램의 'UML1.XMI'(710)로부터 상기 수집 요소 중 '클래스 설계 이름'에 대응되는 데이터 '학생 관리 클래스 다이어그램'을 파싱할 수 있다.The template script generating apparatus can parse the data 'student management class diagram' corresponding to the 'class design name' among the collection elements from 'UML1.XMI' 710 of the class diagram.

또한 템플릿 스크립트 생성 장치는 배치 다이어그램의 'UML2.XMI'(720)로부터 상기 수집 요소 중 '노드 이름', '노드 리소스', '노드 OS' 및 '노드 어플리케이션' 각각에 대응되는 데이터 "DB Server", "1 Core 128 RAM", "Ubuntu 16.04LTS", "mysql-server 5.6V"를 파싱할 수 있다.In addition, the template script generating apparatus extracts data DB Server corresponding to each of the above-mentioned collecting elements 'node name', 'node resource', 'node OS' and 'node application' from 'UML2.XMI' 720 of the layout diagram. , "1Core 128 RAM", "Ubuntu 16.04LTS", and "mysql-server 5.6V".

또한 템플릿 스크립트 생성 장치는 배치 다이어그램의 'UML2.XMI'(720)로부터 상기 수집 요소 중 '외부 포트', '내부 포트', '연결 프로토콜' 및 '외부 IP' 각각에 대응되는 데이터 "80", "8080", "TCP" 및 "164.125.70.25"를 파싱할 수 있다.In addition, the template script generatingapparatus extracts data 80 from the 'UML2.XMI' 720 of the deployment diagram corresponding to 'external port', 'internal port', 'connection protocol' &Quot; 8080 &quot;, " TCP ", and " 164.125.70.25 ".

또한 템플릿 스크립트 생성 장치는 상기 수집 요소 중 '마이크로 서비스 이름'과 '마이크로 서비스 개수'를, 상기 '학생 관리 클래스 다이어그램'으로부터 구성된 3개의 마이크로 서비스('학생 정보 생성', '학생 정보 삭제' 및 '학생 정보 수정')(도 4 참조)에 관한 정보로부터 파싱할 수 있다.In addition, the template script generating device may be configured to classify the 'micro service name' and 'micro service number' among the collection elements into three micro services ('create student information', 'delete student information' Student information modification ') (see FIG. 4).

이때 템플릿 스크립트 생성 장치는 생성하려는 템플릿 스크립트의 종류에 따라 필요한 파라미터가 다르기 때문에, 지정된 수집 요소에 대응되는 데이터를 모두 파싱(추출)하여 '추출 값'으로서 테이블(730)에 기록해 두고, 테이블(730)의 추출 값을 참조하여 팟 스크립트(740), 레플리카셋 스크립트(750), 서비스 스크립트를 일괄적으로 간편하게 생성할 수 있다.At this time, since the required parameters are different according to the type of the template script to be generated, the template script generating device parses (extracts) all the data corresponding to the designated collection element and records the extracted data in the table 730 as the 'extracted value' Thereplica set script 750, and the service script can be collectively and simply generated with reference to the extracted values of thepot script 740, thereplica set script 750, and the service script.

즉 템플릿 스크립트 생성 장치는 팟 스크립트(Pod.yaml)(740)를 생성하기 위해, 팟 스크립트(740)에 포함되어야 하는 각 파라미터에 매핑되는 수집 요소('클래스 설계 이름', '노드 이름', '노드 리소스', '노드 OS' 및 '노드 어플리케이션')를 도 9에 도시된 매핑 테이블(900)로부터 식별하고, 식별한 수집 요소의 추출 값을 테이블(730)로부터 찾아서, 상기 각 파라미터의 값으로 설정하고, 상기 값이 설정된 각 파라미터를 포함하여 팟 스크립트(740)를 생성할 수 있다.That is, the template script generating device generates an acquisition element ('class design name', 'node name', 'node name', etc.) mapped to each parameter that should be included in thepot script 740 to generate a pot script (Pod.yaml) 9 from the mapping table 900 shown in FIG. 9, searches the table 730 for the extracted values of the acquired collection elements, and stores the values of the respective parameters as the values of the respective parameters And generates thepot script 740 including each parameter for which the value is set.

또한, 템플릿 스크립트 생성 장치는 서비스 스크립트(Service.yaml)(750)를 생성하기 위해, 서비스 스크립트(750)에 포함되어야 하는 각 파라미터에 매핑되는 수집 요소('클래스 설계 이름', '외부 포트', '내부 포트', '연결 프로토콜' 및 '외부 IP')를 매핑 테이블(900)로부터 식별하고, 식별한 수집 요소의 추출 값을 테이블(730)로부터 찾아서, 상기 각 파라미터의 값으로 설정하고, 상기 값이 설정된 각 파라미터를 포함하여 서비스 스크립트(750)를 생성할 수 있다.In addition, the template script generation device may include a collection element (a 'class design name', an 'external port', and a 'class design name') that is mapped to each parameter that should be included in theservice script 750 to generate a service script (Service.yaml) From the mapping table 900, extracts the extracted values of the collected elements from the table 730, sets them as the values of the respective parameters, Aservice script 750 can be generated including each parameter whose value is set.

마찬가지로, 템플릿 스크립트 생성 장치는 템플릿 스크립트 생성 장치는 레플리카셋 스크립트(ReplicaSet.yaml)를 생성하기 위해, 레플리카셋 스크립트에 포함되어야 하는 각 파라미터에 매핑되는 수집 요소('마이크로 서비스 수', '클래스 설계 이름', '노드 이름', '노드 리소스', '노드 OS' 및 '노드 어플리케이션')를 매핑 테이블(900)로부터 식별하고, 식별한 수집 요소의 추출 값을 테이블(730)로부터 찾아서, 상기 각 파라미터의 값으로 설정하고, 상기 값이 설정된 각 파라미터를 포함하여 서비스 스크립트(750)를 생성할 수 있다.Likewise, the template script generating device includes a template script generating device for generating a replica set script (ReplicaSet.yaml), an acquisition element ('micro service number', 'class design name Node name "," node resource "," node OS ", and" node application ") from the mapping table 900 and searches the table 730 for the extracted value of the identified collecting element, And generates theservice script 750 including the parameters having the above values.

이하에서 XMI 파일(710, 720)로부터 수집 요소 별 데이터를 파싱하는 과정을 상세히 설명한다Hereinafter, the process of parsing the data for each acquisition element from the XMI files 710 and 720 will be described in detail

먼저 템플릿 스크립트 생성 장치는 수집 요소 '클래스 설계 이름'을 추출하기 위해 XMI 파일(710) 내 <diagram> 태그(711)에서 'type'의 값이 "Logical"인 'name'의 값 "학생 관리"를 추출할 수 있다.First, in order to extract the collecting element 'class design name', the template script generating apparatus generates a value of 'name' having the value 'type' of 'Logical' in the <diagram>tag 711 in theXMI file 710, Can be extracted.

또한 템플릿 스크립트 생성 장치는 XMI 파일(720) 내 <element> 태그(721)를 대상으로 노드 정보와 관련된 데이터를 파싱할 수 있다.In addition, the template script generating apparatus can parse data related to the node information about the <element>tag 721 in theXMI file 720.

즉 템플릿 스크립트 생성 장치는 수집 요소 '노드 이름'을 추출하기 위해 <element> 태그(721)에서 'stereotype'의 값이 "device"인 'name'의 값 "DB Server"을 추출하고, '노드 리소스'를 추출하기 위해 'stereotype'의 값이 "device"인 'value'의 값 "1 Core", "128 MB"를 각각 추출하고, '노드 OS'를 추출하기 위해 'stereotype'의 값이 "excution enviorment" 또는 "OS"인 'value'의 값 "Ubuntu 16.04 LTS"을 추출하고, '노드 어플리케이션'을 추출하기 위해 'stereotype'의 값이 "AppServer" 또는 "Application"인 'value'의 값 "mysql-server5.6v"를 추출할 수 있다.Namely, in order to extract the collection element 'node name', the template script generating apparatus extracts the value 'DB Server' of 'name' having the value of 'stereotype' in the <element>tag 721, 1 Core "and" 128 MB "of" value "having a value of" stereotype "as" device "in order to extract 'node OS' value of "value" of "stereotype" is "AppServer" or "application" in order to extract the value "Ubuntu 16.04 LTS" of "value" -server5.6v &quot; can be extracted.

또한 템플릿 스크립트 생성 장치는 XMI 파일(720) 내 <connector> 태그(722)를 대상으로 연결 정보와 관련된 데이터를 추출할 수 있다.In addition, the template script generating apparatus can extract data related to the connection information on the <connector>tag 722 in theXMI file 720.

즉 템플릿 스크립트 생성 장치는 수집 요소 '외부 포트'를 추출하기 위해 <connector> 태그(722)의 내부 태그인 <target> 태그로부터 'value'의 값 "80"을 추출하고, '내부 포트'를 추출하기 위해 <connector> 태그(722)의 내부 태그인 <source> 태그로부터 'value'의 값 "8080"을 추출하고, '연결 프로토콜'을 추출하기 위해 <connector> 태그(722)에서 'stereotype'의 값이 "protocol"인 'name'의 값 "TCP"를 추출하고, '외부 IP'를 추출하기 위해 <source> 태그의 내부 태그인 <documentation> 태그로부터 'type'의 값이 "external"인 'value'의 값 "164.125.70.25"를 추출할 수 있다.That is, in order to extract the collection element 'external port', the template script generation device extracts the value '80' of the 'value' from the <target> tag which is the internal tag of the <connector>tag 722, extracts the 'internal port'Tag 722 in order to extract thevalue 8080 of value from the internal tag of the <connector>tag 722 and extract the value of the 'connection protocol' In order to extract the value "TCP" of "name" with the value "protocol" and to extract the 'external IP', the value of 'type' from the <documentation> quot; value of &quot; value &quot; 164.125.70.25 ".

템플릿 스크립트 생성 장치는 테이블(730) 내 추출 값들을 매핑 테이블 기반으로 나열하여 종류 별 템플릿 스크립트를 생성할 수 있다.The template script generating apparatus can generate template scripts for each type by listing the extracted values in the table 730 based on the mapping table.

즉 템플릿 스크립트 생성 장치는 <diagram> 태그(711)로부터의 추출 값("학생 관리(StudentManagement)")을 팟 스크립트(740)의 라벨(labels)의 값으로 설정할 수 있다.That is, the template script generating apparatus can set the extracted value ("StudentManagement") from the <diagram>tag 711 as the value of the labels of thepot script 740.

또한 템플릿 스크립트 생성 장치는 <connector> 태그(722)로부터의 추출 값("DB Server", "Ubuntu 16.04 LTS", "mysql-server5.6v", "1 Core 128 MB")을 팟 스크립트(740)에서 컨테이너(Containers)의 이름(name)과, 이미지(image), 명령어(command), 리소스(resource)의 값으로 각각 설정할 수 있다.In addition, the template script generating apparatus transmits the extracted values ("DB Server", "Ubuntu 16.04 LTS", "mysql-server5.6v", "1Core 128 MB") from the <connector>tag 722 to the pot script 740 A name of a container, an image, a command, and a resource, respectively.

또한 템플릿 스크립트 생성 장치는 <connector> 태그(722)로부터의 추출 값("TCP", "80", "8080", "164.125.70.25")을 서비스 스크립트(750)에서 프로토콜(protocol), 소스 포트(port), 타겟 포트(targetport), 외부 IP(externalIPs)의 값으로 각각 설정할 수 있다.In addition, the template script generation device extracts the extracted values ("TCP", "80", "8080", "164.125.70.25") from the <connector>tag 722 from theservice script 750, (port), target port (target port), and external IP (externalIPs).

도 8은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 각 템플릿 스크립트에 포함되어야 하는 파라미터를 도시한 도면이다.8 is a diagram showing parameters to be included in each template script in the template script generating apparatus according to an embodiment of the present invention.

도 8을 참조하면, 템플릿 스크립트에 포함되는 파라미터는 공통 파라미터(810)와 개별 파라미터(820 내지 840)로 구분될 수 있다.Referring to FIG. 8, the parameters included in the template script can be divided into acommon parameter 810 andindividual parameters 820 to 840.

공통 파라미터(Common Info)(810)는 모든 종류의 템플릿 스크립트에서 기술되어야 하는 요소로서, 생성할 템플릿 스크립트의 버전(apiVersion), 템플릿 스크립트의 종류(kind), 템플릿 스크립트의 이름(name) 및 태그 정보(label)를 예시할 수 있다.Common parameter 810 is an element that should be described in all kinds of template scripts. Thecommon parameter 810 includes a version (apiVersion) of a template script to be generated, a kind of a template script, a name of a template script, (label) can be exemplified.

여기서 나열되지는 않았지만, 동일한 클래스 다이어그램을 이용해 생성되는 모든 템플릿 스크립트에는 해당 클래스 다이어그램으로부터 추출한 클래스 설계 이름이 공통적으로 포함되므로, 클래스 설계 이름이 설정되는 변수(App) 역시 공통의 파라미터로 간주될 수 있다.Although not listed here, all template scripts generated using the same class diagram commonly include the class design names extracted from the class diagram, so that the variable (App) in which the class design name is set can also be regarded as a common parameter .

개별 파라미터(820 내지 840)는 팟(Pod) 스크립트, 레플리카셋(ReplicaSet) 스크립트, 서비스(Service) 스크립트와 같은 각각의 템플릿 스크립트에 따라 다르게 기술되는 요소를 의미한다.Theindividual parameters 820 to 840 indicate elements differently described according to respective template scripts such as a Pod script, a ReplicaSet script, and a Service script.

여기서 팟(Pod)은 컨테이너 오케스트레이터의 일례인 쿠버네티스(Kubernets) 프로그램에서 컨테이너를 묶는 최소 단위를 의미하기 때문에, 컨테이너를 일정 수 단위로 묶어 팟을 생성하기 위해 실행되는 팟 스크립트에는 내부 컨테이너들에 관한 정보가 기술될 필요가 있다.Here, since a pod represents a minimum unit for binding a container in a Kubernets program, which is an example of a container orchestrator, a pot script executed to generate a pot by grouping a certain number of containers includes internal containers Should be described.

이에 따른 팟 스크립트의 개별 파라미터(820)로는 컨테이너 이름(container name), 컨테이너 이미지(container image), 컨테이너 실행 명령어(container command), 컨테이너 리소스(container resources)를 예시할 수 있다.A container name, a container image, a container command, and container resources may be exemplified as theindividual parameters 820 of the pot script.

또한 레플리카셋 스크립트는 쿠버네티스 프로그램에서 생성된 여러 개의 팟(Pod)를 제어하고 관리하기 위해 실행되는 템플릿 스크립트로서, 일례로 관리자가 지정한 수(replicas)의 팟을 유지하거나, 라벨 탐색으로 지정한 특정 팟을 제어하거나, 별도의 팟 스크립트를 생성할 필요 없이 미리 정의한 템플릿으로 동일한 형태의 팟을 추가하는 기능을 수행할 수 있다.In addition, the replica set script is a template script that is executed to control and manage multiple pods generated by the couverntis program. For example, the replica set script can keep the pot of the replicas specified by the administrator, It is possible to perform the function of adding the same type of pot to a predefined template without controlling the pot or generating a separate pot script.

이를 위한 레플리카셋 스크립트의 개별 파라미터(830)로는 팟 스크립트의 수(replicas), 라벨 탐색을 위한 셀렉터(selector), 및 노드에 관한 정보(이름, 리소스, OS, 어플리케이션)을 미리 정의한 템플릿(template)을 예시할 수 있다.Theindividual parameters 830 of the replica set script for this purpose include a template that defines a number of pot scripts, a selector for label search, and information (name, resource, OS, application) Can be exemplified.

또한 서비스 스크립트는 외부 클라이언트와 통신하기 위한 네트워크 서비스를 실행하기 위해 실행되는 템플릿 스크립트로서, 레플리카셋 스크립트와 마찬가지로 라벨 탐색으로 지정한 특정 팟의 네트워크 서비스를 제어할 수 있다.The service script is a template script that is executed to execute a network service to communicate with an external client. Like the replica set script, the service script can control the network service of a specific spot designated by the label search.

이러한 서비스 스크립트의 개별 파라미터(840)로는 라벨 탐색을 위한 셀렉터(selector)와, 포트 정보인 소스 포트(source port) 및 타겟 포트(target port), 프로토콜(protocol), 및 외부 IP(externalIP)를 예시할 수 있다.Theindividual parameter 840 of the service script includes a selector for searching for a label, a source port and a target port as port information, a protocol, and an external IP (externalIP) can do.

템플릿 스크립트 생성 장치는 공통 파라미터(810)와 개별 파라미터(820)를 포함하여 도 11에 도시된 팟 스크립트(P)를 생성하고, 공통 파라미터(810)와 개별 파라미터(830)를 포함하여 도 12에 도시된 레플리카셋 스크립트를 생성하고, 공통 파라미터(810)와 개별 파라미터(840)를 포함하여 도 13에 도시된 서비스 스크립트를 생성할 수 있다.The template script generating apparatus generates the pot script P shown in Fig. 11 including thecommon parameter 810 and theindividual parameter 820 and generates the pot script P shown in Fig. 12 including thecommon parameter 810 and theindividual parameter 830 The generated replica set script can be generated and the service script shown in Fig. 13 can be generated including thecommon parameter 810 and theindividual parameter 840. [

도 9는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 매핑 테이블을 도시한 도면이다.9 is a diagram showing a mapping table in the template script generating apparatus according to an embodiment of the present invention.

도 9를 참조하면, 템플릿 스크립트 생성 장치는 UML 설계 자료(910)로부터 수집 가능한 수집 요소(920) 및 템플릿 스크립트의 종류 별로 기술되어야 하는 파라미터(930 내지 950)를 서로 매핑시킨 매핑 테이블(900)을 사전에 마련해 두고, 매핑 테이블(900)을 기반으로, UML 설계 자료(910)로부터의 추출 값을 각 템플릿 스크립트의 파라미터(930 내지 950) 값으로 설정함으로써 종류 별 템플릿 스크립트를 자동화 하여 생성할 수 있다.9, the template script generation apparatus includes a mapping table 900 in which acollection element 920 that can be collected from theUML design data 910 andparameters 930 to 950 to be described for each type of template script are mapped to each other A template script for each type can be automatically generated by setting an extraction value from theUML design data 910 as aparameter 930 to 950 of each template script based on the mapping table 900 .

구체적으로 템플릿 스크립트 생성 장치는 매핑 테이블(900)을 기반으로, 마이크로 서비스의 이름에 관한 추출 값을 팟 스크립트의 이름(name)의 값으로 설정하고, 마이크로 서비스의 수에 관한 추출 값을 레플리카셋 스크립트에서 replicas 변수의 값으로 설정할 수 있다. 상기 replicas 변수는 레플리카셋 스크립트의 실행에 의해 유지시키려는 팟 스크립트의 수를 지정할 수 있다.Specifically, the template script generating apparatus sets an extracted value of the name of the pot script as the value of the name of the pot script, based on the mapping table 900, and outputs the extracted value of the number of micro services to the replica set script Can be set to the value of the replicas variable. The replicas variable can specify the number of pot scripts to keep by executing the replica set script.

또한 템플릿 스크립트 생성 장치는 각각의 템플릿 스크립트에서 기술되는 이름(name), 셀렉터(selector) 및 라벨(label) 중 적어도 하나의 값을, 클래스 다이어그램으로부터 추출한 클래스 설계 이름으로 동일하게 설정함으로써, 같은 클래스 다이어그램을 이용해 생성되는 모든 템플릿 스크립트에 같은 클래스 설계 이름이 포함되도록 할 수 있다.In addition, the template script generating apparatus sets at least one value of a name, a selector, and a label described in each template script to the same class design name extracted from the class diagram, Can be used to include the same class design name in all generated template scripts.

또한 템플릿 스크립트 생성 장치는 노드 정보(노드 이름, 노드 OS, 노드 리소스, 노드 어플리케이션)에 관한 추출 값을, 컨테이너 생성을 위한 팟 스크립트 또는 컨테이너 제어를 위한 레플리카셋 스크립트에서 각 컨테이너 변수(container name, container image, container command, container resources)의 값으로 설정할 수 있고, 또한 레플리카셋 스크립트에서 미리 정의된 템플릿 변수의 값으로 설정할 수도 있다.In addition, the template script generation device extracts extracted values of node information (node name, node OS, node resource, node application) from a pot script for container creation or a replica set script for container control, image, container command, container resources), and can also be set to the value of a predefined template variable in the replica set script.

또한 템플릿 스크립트 생성 장치는 연결 정보(외부 포트, 내부 포트, 연결 프로토콜, 외부 IP)에 관한 추출 값을, 서비스 스크립트에서 소스 포트(source port), 타겟 포트(target port), 프로토콜(protocol) 및 외부 IP(externalIP)의 값으로 설정할 수 있다.In addition, the template script generation device extracts extracted values of the connection information (external port, internal port, connection protocol, external IP) from the service script in a source port, a target port, It can be set to the value of IP (externalIP).

도 10은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 매핑 테이블을 기반으로, UML 설계 자료로부터의 추출값을 각 템플릿 스크립트의 파라미터에 입력하는 일례를 도시한 도면이다.10 is a diagram illustrating an example of inputting extracted values from UML design data to parameters of each template script based on a mapping table in an apparatus for generating template scripts according to an embodiment of the present invention.

도 10에는 수집 요소 별 추출 값을 도 9의 매핑 테이블(900)을 기반으로 각 템플릿 스크립트의 파라미터에 대입하여 생성한 테이블이 도시되어 있다.FIG. 10 shows a table generated by substituting extracted values for each acquisition element into parameters of each template script based on the mapping table 900 shown in FIG.

템플릿 스크립트 생성 장치는 수집 요소 별 추출 값을, 팟 스크립트, 레플리카셋 스크립트 및 서비스 스크립트에 기술되는 파라미터(1010, 1020, 1030)에 따라 나눠서 도 10과 같이 대입하고, 각 파라미터에 대입된 값을 각 파라미터가 나열된 순으로 포함하여 각각의 템플릿 스크립트를 자동적으로 일괄 생성할 수 있다.The template script generation apparatus divides the extraction values for each acquisition element according to the parameters (1010, 1020, 1030) described in the pot script, the replica set script and the service script, and substitutes the values as shown in FIG. 10, Each template script can be created automatically in batch, including the order in which the parameters are listed.

템플릿 스크립트 생성 장치는 파라미터(1010)의 값을 파라미터(1010)가 정의된 순서대로 포함하여 도 11의 팟 스크립트를 생성하고, 파라미터(1020)의 값을 파라미터(1020)가 정의된 순서대로 포함하여 도 12의 팟 스크립트를 생성하고, 파라미터(1030)의 값을 파라미터(1030)가 정의된 순서대로 포함하여 도 13의 팟 스크립트를 생성할 수 있다.The template script generating apparatus generates the pot scripts of FIG. 11 by including the values of theparameters 1010 in the order in which theparameters 1010 are defined and includes the values of theparameters 1020 in the order in which theparameters 1020 are defined The pot script shown in FIG. 12 can be generated and the pot script shown in FIG. 13 can be generated by including the values of theparameter 1030 in the order in which theparameters 1030 are defined.

도 11은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 팟 스크립트의 일례를 도시한 도면이다.11 is a diagram showing an example of a pot script in the template script generating apparatus according to an embodiment of the present invention.

도 11을 참조하면, 템플릿 스크립트 생성 장치는 팟 스크립트의 생성 요청에 따라, 공통 파라미터(1110) 및 팟 스크립트의 개별 파라미터(1120)를 정의하고, 정의한 각 파라미터에 UML 설계 자료로부터의 추출 값을 매핑 테이블을 기반으로 설정 함으로써, 팟 스크립트('Pod1.yaml)를 생성할 수 있다.Referring to FIG. 11, the template script generation device definescommon parameters 1110 andindividual parameters 1120 of pot scripts according to a request for generating a pot script, and maps extracted values from UML design data to each defined parameter By setting the table based, you can create a pot script ('Pod1.yaml).

상세히 설명하면, 템플릿 스크립트 생성 장치는 공통 파라미터(1110)로서 템플릿 스크립트의 버전(apiVersion), 템플릿 스크립트의 종류(kind), 템플릿 스크립트의 이름(name) 및 태그 정보(label)를 정의할 수 있다.More specifically, the template script generating apparatus can define a version (apiVersion) of a template script, a kind of a template script, a name of a template script, and tag information (label) as acommon parameter 1110.

이때 템플릿 스크립트 생성 장치는 팟 스크립트 생성을 위한 것이므로 템플릿 스크립트의 종류(kind)의 값을 "Pod"로 설정하고, 템플릿 스크립트의 이름(name)에는 마이크로 서비스의 이름 "학생 정보 생성(studentinfoCreate)"을 설정하고, 클래스 다이어그램으로부터 추출한 클래스 설계 이름 "studentmanagement"을 앱(app)의 값으로 설정할 수 있다.At this time, since the template script generating device is for generating the pot script, set the kind of the template script as "Pod" and the name of the template script as the name of the micro service "studentinfoCreate" , And set the class design name "studentmanagement" extracted from the class diagram as the value of the app (app).

이어서, 템플릿 스크립트 생성 장치는 개별 파라미터(1120)로서 'DB 서버'에 관한 컨테이너 변수(name, image, command, resources)(1130) 및 '웹 서버'에 관한 컨테이너 변수(name, image, command, resources)(1140)를 각각 정의한 후, 도 7에서 마련해 둔 테이블(730)로부터 각 컨테이너 변수와 매핑되는 수집 요소의 추출 값을 찾아 설정할 수 있다.Next, the template script generating apparatus generates a container parameter (name, image, command, resources) 1130 related to 'DB server' and a container variable (name, image, command, resources ) 1140, and then extracts the collection element mapped to each container variable from the table 730 provided in FIG.

이처럼 템플릿 스크립트 생성 장치는 UML 설계 자료로부터 파싱한 수집 요소 별 데이터를 매핑 테이블을 기반으로 나열하여 팟 스크립트를 자동적으로 생성할 수 있으며, 생성된 팟 스크립트의 실행에 의해, 컨테이너 오케스트레이터에서 '학생 정보 생성'을 수행하기 위한 컨테이너가 생성되도록 할 수 있다.In this way, the template script generating device can automatically generate the pot scripts by listing the data of the collecting elements parsed from the UML design data on the basis of the mapping table, and by executing the created pot scripts, Quot; creation &quot; can be generated.

도 12는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 레플리카셋 스크립트의 일례를 도시한 도면이다.12 is a diagram showing an example of a replica set script in the template script generating apparatus according to an embodiment of the present invention.

도 12를 참조하면, 템플릿 스크립트 생성 장치는 레플리카셋 스크립트의 생성 요청에 따라, 공통 파라미터(1210) 및 레플리카셋 스크립트의 개별 파라미터(1220)를 정의하고, 정의한 각 파라미터에 UML 설계 자료로부터의 추출 값을 매핑 테이블을 기반으로 설정 함으로써, 레플리카셋 스크립트('Replicaset.yaml)를 생성할 수 있다.12, the template script generation device definescommon parameters 1210 andindividual parameters 1220 of the replica set script in response to a request to generate a replica set script, and extracts extracted values from the UML design data Can be generated based on the mapping table, thereby generating a replica set script ('Replicaset.yaml').

템플릿 스크립트 생성 장치는 템플릿 스크립트의 종류(kind)의 값을 "ReplicaSet"으로 설정하고, 클래스 다이어그램으로부터 추출한 클래스 설계 이름 "studentmanagement"을 앱(app)의 값으로 설정할 수 있다.The template script generation apparatus can set the value of the kind of the template script as "ReplicaSet" and set the class design name "studentmanagement" extracted from the class diagram as the value of the app (app).

또한, 템플릿 스크립트 생성 장치는 도 7에서 마련해 둔 테이블(730)로부터 마이크로 서비스의 수('3')를 찾아서, 유지하려는 팟 스크립트의 수에 관한 replicas 변수(1221)의 값으로 설정할 수 있다.In addition, the template script generating apparatus can find the number ('3') of micro services from the table 730 provided in FIG. 7 and set the value of the replicas variable 1221 with respect to the number of pot scripts to be maintained.

또한, 템플릿 스크립트 생성 장치는 'DB 서버'에 관한 추출 값을 테이블(730)로부터 찾아 'DB 서버'에 관한 컨테이너 변수(name, image, command, resources)(1224)의 값으로 설정하고, '웹 서버'에 관한 추출 값을 테이블(730)로부터 찾아 '웹 서버'에 관한 컨테이너 변수(name, image, command, resources)(1225)의 값으로 설정할 수 있다.In addition, the template script generating apparatus searches the table 730 for the extracted value of the 'DB server', sets the value of the container variable (name, image, command, resources) 1224 related to 'DB server' (Name, image, command, resources) 1225 related to the 'Web server' from the table 730 by using the extracted values of the server '

이때 템플릿 스크립트 생성 장치는 컨테이너 변수(1224, 1225)의 값을 설정하는 대신에, 각 컨테이너에 관한 노드 정보(이름, 리소스, OS, 어플리케이션)을 미리 정의한 템플릿(template) 변수(1223)의 값을 설정할 수도 있다.At this time, instead of setting the values of thecontainer variables 1224 and 1225, the template script generating device sets a value of atemplate parameter 1223 that defines node information (name, resource, OS, application) It can also be set.

또한, 템플릿 스크립트 생성 장치는 셀렉터(selector) 변수(1222)의 값을 설정하여 라벨 탐색을 통해 특정 팟 스크립트를 포함한 다수 팟 스크립트를 제어할 수도 있다.In addition, the template script generating apparatus may set a value of a selector variable 1222 to control a plurality of pot scripts including a specific pot script through a label search.

이처럼 템플릿 스크립트 생성 장치는 다수의 팟을 제어하려는 방식에 따라 다양한 레플리카셋 스크립트를 빠르게 생성할 수 있으므로 컨테이너 오케스트레이터에서의 다수의 팟에 대한 제어 관리가 자동화 되도록 할 수 있다.As such, the template script generating device can quickly generate various replica set scripts according to a method of controlling a plurality of pods, so that control management of a plurality of pods in a container orchestrator can be automated.

도 13은 본 발명의 일실시예에 따른 템플릿 스크립트 생성 장치에서, 서비스 스크립트의 일례를 도시한 도면이다.13 is a diagram showing an example of a service script in the template script generating apparatus according to an embodiment of the present invention.

도 13을 참조하면, 템플릿 스크립트 생성 장치는 서비스 스크립트의 생성 요청에 따라, 공통 파라미터(1310) 및 서비스 스크립트의 개별 파라미터(1320)를 정의하고, 정의한 각 파라미터에 UML 설계 자료로부터의 추출 값을 매핑 테이블을 기반으로 설정 함으로써, 서비스 스크립트('Service.yaml)를 생성할 수 있다.Referring to FIG. 13, the template script generation device definescommon parameters 1310 andindividual parameters 1320 of the service script in response to a service script creation request, and maps extracted values from the UML design data to each defined parameter By setting the table as a base, a service script ('Service.yaml') can be created.

템플릿 스크립트 생성 장치는 템플릿 스크립트의 종류(kind)의 값을 "Service"로 설정하고, 클래스 다이어그램으로부터 추출한 클래스 설계 이름 "studentmanagement"을 앱(app)의 값으로 설정할 수 있다.The template script generating apparatus can set the kind of the template script as "Service" and set the class design name "studentmanagement" extracted from the class diagram as the value of the app (app).

또한 특정 팟 스크립트에 대한 네트워크 통신 서비스 제어를 위해서도 라벨 탐색이 수행되므로 템플릿 스크립트 생성 장치는 특정 팟 스크립트의 선택을 위한 셀렉터(selector) 변수(1321)의 값을 설정할 수 있다.Also, since the label search is performed for controlling the network communication service for the specific pot scripts, the template script generating apparatus can set the value of aselector variable 1321 for selecting a specific pot script.

또한 템플릿 스크립트 생성 장치는 도 7에서 마련해 둔 테이블(730)로부터 연결 정보에 관한 추출 값("TCP", "80", "8080", "164.125.70.25")을 찾아서, 파라미터(protocol, port, targetPort, externalIPs)(1322)의 값으로 각각 설정할 수 있다.Further, the template script generating apparatus finds the extracted values ("TCP", "80", "8080", "164.125.70.25") concerning the connection information from the table 730 prepared in FIG. targetPort, externalIPs) 1322, respectively.

이처럼 템플릿 스크립트 생성 장치는 서비스 스크립트의 생성에 의해, 컨테이너 오케스트레이터에서의 특정 팟 서비스에 대한 네트워크 서비스 제어 역시 자동화 되도록 할 수 있다.As such, the template script generating device can also be configured to automatically control the network service for the specific pot service in the container orchestrator by creating the service script.

이하, 도 14에서는 본 발명의 실시예들에 따른 템플릿 스크립트 생성 장치(200)의 작업 흐름을 상세히 설명한다.Hereinafter, the operation flow of the templatescript generating apparatus 200 according to the embodiments of the present invention will be described in detail with reference to FIG.

도 14는 본 발명의 일실시예에 따른 템플릿 스크립트 생성 방법의 순서를 도시한 흐름도이다.14 is a flowchart illustrating a procedure of a template script generation method according to an embodiment of the present invention.

본 실시예에 따른 템플릿 스크립트 생성 방법은 상술한 템플릿 스크립트 생성 장치(200)에 의해 수행될 수 있다.The template script generation method according to the present embodiment can be performed by the above-described templatescript generation apparatus 200. [

도 14를 참조하면, 단계(1410)에서, 템플릿 스크립트 생성 장치(200)는 템플릿 스크립트의 생성 요청이 발생하는지 감지한다.Referring to FIG. 14, instep 1410, the templatescript generating apparatus 200 detects whether a request for generating a template script occurs.

상기 생성 요청의 발생이 감지될 경우, 단계(1420)에서, 템플릿 스크립트 생성 장치(200)는 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)한다.If the occurrence of the generation request is sensed, instep 1420, the templatescript generation apparatus 200 parses the data corresponding to the collection element designated in the template script requested to be generated, from the UML design data .

여기서 상기 UML 설계 자료는 통합 모델링 언어(UML)로 설계된 일종의 오픈소스로서, 클래스 다이어그램, 배치 다이어그램 및 마이크로 서비스에 관한 정보를 포함할 수 있다.Here, the UML design data is a kind of open source designed in an integrated modeling language (UML), and can include information on class diagrams, layout diagrams, and micro-services.

예를 들어 도 7을 참조하면 템플릿 스크립트 생성 장치(200)는 클래스 다이어그램을 XMI 포맷으로 변환한 파일로부터, 수집 요소 '클래스 설계 이름'에 대응되는 데이터를 파싱(추출)할 수 있다.For example, referring to FIG. 7, the templatescript generating apparatus 200 may extract (extract) data corresponding to the collection element 'class design name' from a file obtained by converting the class diagram into the XMI format.

또한 템플릿 스크립트 생성 장치(200)는 클래스 다이어그램을 통해 구성된 마이크로 서비스의 이름과 개수를 파싱할 수 있다.In addition, the templatescript generating apparatus 200 can parse the name and the number of micro-services configured through the class diagram.

또한 템플릿 스크립트 생성 장치(200)는 배치 다이어그램을 XMI 포맷으로 변환한 파일로부터, 노드 정보와 관련된 수집 요소 '노드 이름, 노드 리소스, 노드 OS, 노드 어플리케이션'에 대응되는 데이터를 파싱할 수 있다.In addition, the templatescript generating apparatus 200 can parse data corresponding to the collecting element 'node name, node resource, node OS, node application' related to the node information from the file obtained by converting the layout diagram into the XMI format.

또한 템플릿 스크립트 생성 장치(200)는 배치 다이어그램을 XMI 포맷으로 변환한 파일로부터, 노드 간 연결 정보에 관련된 수집 요소 '외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP'에 대응되는 데이터를 파싱할 수 있다.Also, the templatescript generating apparatus 200 can parse data corresponding to the collecting element 'external port, internal port, connection protocol, and external IP' related to the inter-node connection information from the file in which the layout diagram is converted into the XMI format .

단계(1430, 1440)에서, 템플릿 스크립트 생성 장치(200)는 매핑 테이블로부터, 수집 요소에 매핑되는 파라미터를 식별하고, 상기 파싱한 데이터를 상기 식별한 파라미터의 값으로 설정한다.Insteps 1430 and 1440, the templatescript generation device 200 identifies, from the mapping table, a parameter mapped to the collection element and sets the parsed data to the value of the identified parameter.

템플릿 스크립트 생성 장치(200)는 컨테이너 오케스트레이터에서 구현하려는 컨테이너 관리에 따라, 팟 스크립트(Pod script), 레플리카셋 스크립트(ReplicaSet script), 및 서비스 스크립트(Service script) 중 적어도 하나의 템플릿 스크립트를 종류 별로 생성할 수 있다.The templatescript generating apparatus 200 generates at least one template script of a Pod script, a ReplicaSet script, and a Service script according to the container management to be implemented by the container orchestrator, Can be generated.

이때 각각의 템플릿 스크립트에는 기술되어야 하는 파라미터가 상이할 수 있으므로, 템플릿 스크립트 생성 장치(200)는 도 9에 도시한 매핑 테이블을 참조하여, 생성하려는 템플릿 스크립트에 포함되어야 하는 파라미터들을 정의한 후, 상기 UML 설계 자료로부터의 수집 요소 별 추출 값을 상기 매핑 테이블에서 각 수집 요소에 매핑되는 파라미터의 값으로 설정 함으로써, 관리자의 개입 없이도 템플릿 스크립트를 종류 별로 간단히 생성할 수 있다.Since the parameters to be described in each template script may differ, the templatescript generating apparatus 200 refers to the mapping table shown in FIG. 9, defines parameters to be included in the template script to be generated, By setting the extraction value for each collection element from the design data to the value of the parameter mapped to each collection element in the mapping table, it is possible to easily generate the template script for each kind without administrator intervention.

단계(1450, 1460)에서, 템플릿 스크립트 생성 장치(200)는 상기 값이 설정된 파라미터를 포함하여 상기 템플릿 스크립트를 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 YAML 포맷으로 생성하고, 생성한 템플릿 스크립트를 상기 컨테이너 오케스트레이터로 출력한다.Insteps 1450 and 1460, the templatescript generating apparatus 200 generates the template script in the YAML format executable in the container orchestrator, including the parameter for which the value is set, Output to the container orchestrator.

즉 템플릿 스크립트 생성 장치(200)는 매핑 테이블 기반으로, 각각의 템플릿 스크립트에 필요한 파라미터의 값을 설정 함으로써 컨테이너 오케스트레이션에서 필요로 하는 템플릿 스크립트를 종류 별로 손쉽게 생성할 수 있다.That is, the templatescript generating apparatus 200 can easily generate the template scripts required for the container orchestration by setting the values of the parameters required for the respective template scripts on the basis of the mapping table.

이처럼 본 발명에 따르면, 컨테이너 관리 및 배포를 위해 컨테이너 오케스트레이션에서 실행되어야 하는 템플릿 스크립트(예, 'YAML 파일')의 생성 과정을 자동화 하여, 컨테이너 관리가 용이해지도록 할 수 있고, 마이크로 서비스의 컨테이너화를 구현할 수 있다.As described above, according to the present invention, it is possible to automate the process of generating a template script (e.g., a 'YAML file') to be executed in a container orchestration for container management and distribution, to facilitate container management, Can be implemented.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

200: 템플릿 스크립트 생성 장치
210: 파싱부
220: 식별부
230: 처리부
240: 수집부
250: 인터페이스부
200: Template script generator
210: parsing unit
220:
230:
240: collecting section
250:

Claims (15)

Translated fromKorean
템플릿 스크립트의 생성 요청이 발생 함에 따라,
상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)하는 단계;
매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하는 단계;
상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여, 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 템플릿 스크립트로서, 팟(pod) 스크립트를 생성하는 단계 -상기 팟 스크립트는 상기 UML 설계 자료를 수집할 대상 시스템을 구성하는 마이크로 서비스의 수에 상응하여 생성됨-; 및
상기 팟 스크립트가 생성됨에 따라, 상기 컨테이너 오케스트레이터에 의한 상기 팟 스크립트의 실행에 의해, 일정 수 단위의 컨테이너를 생성 함으로써, 상기 마이크로 서비스의 컨테이너화를 구현하는 단계
를 포함하고,
상기 파라미터를 식별하는 단계는,
상기 팟 스크립트에서, 상기 마이크로 서비스의 이름, 클래스의 설계 이름, 노드 이름, 노드 OS, 노드 리소스 및 노드 어플리케이션 중 적어도 하나의 수집 요소가 지정 됨에 따라,
상기 매핑 테이블로부터, 상기 수집 요소에 매핑되는, 팟 스크립트의 이름, 팟 스크립트의 라벨, 컨테이너 이름, 컨테이너 운영체제, 컨테이너 리소스, 및 컨테이너 명령어 중 적어도 하나의 상기 파라미터를 식별하는 단계
를 포함하고,
상기 팟 스크립트를 생성하는 단계는,
상기 마이크로 서비스의 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 이름의 값으로 설정하는 단계;
상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 라벨의 값으로 설정하는 단계;
상기 노드 이름에 대응하여 파싱된 데이터를, 상기 컨테이너 이름의 값으로 설정하는 단계;
상기 노드 OS에 대응하여 파싱된 데이터를, 상기 컨테이너 운영체제의 값으로 설정하는 단계;
상기 노드 리소스에 대응하여 파싱된 데이터를, 상기 컨테이너 리소스의 값으로 설정하는 단계;
상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 컨테이너 명령어의 값으로 설정하는 단계; 및
상기 값이 설정된 각 파라미터를 포함하여, 상기 팟 스크립트를 생성하는 단계
를 포함하는 컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 방법.
As the creation of the template script occurs,
Parsing, from UML design data, data corresponding to the collection element designated in the generated template script;
Identifying, from a mapping table, a parameter that is mapped to the collection element;
Generating a pod script as a template script executable by a container orchestrator after setting the parsed data to a value for the parameter and including the parameter, Generated corresponding to the number of micro-services that make up the target system for which UML design data will be collected; And
Implementing containerization of the micro-service by creating a container of a predetermined number of units by executing the pot script by the container orchestrator as the pot script is generated,
Lt; / RTI &gt;
Wherein identifying the parameter comprises:
In the pot script, as the collection element of at least one of the name of the micro service, the design name of the class, the node name, the node OS, the node resource and the node application is designated,
Identifying, from the mapping table, the parameter of at least one of a name of a pot script, a label of a pot script, a container name, a container operating system, a container resource, and a container instruction,
Lt; / RTI &gt;
The generating of the pot script comprises:
Setting parsed data corresponding to a name of the micro-service to a value of the pot script name;
Setting parsed data corresponding to a design name of the class to a value of the pot script label;
Setting the parsed data corresponding to the node name as the value of the container name;
Setting parsed data corresponding to the node OS to a value of the container operating system;
Setting the parsed data corresponding to the node resource as the value of the container resource;
Setting parsed data corresponding to the node application as a value of the container instruction; And
Generating the pot script including each parameter for which the value is set;
A container script generator for generating a template script based on a container orchestrator;
제1항에 있어서,
상기 생성 요청에 의해 상기 대상 시스템이 정해지면,
상기 템플릿 스크립트 생성 방법은,
상기 대상 시스템에서 통합 모델링 언어(UML)로 설계된 클래스 다이어그램 및 배치 다이어그램을, 상기 UML 설계 자료로서 수집하는 단계;
수집한 상기 UML 설계 자료를 XMI 파일로 변환하는 단계; 및
상기 XMI 파일로부터 파싱한 상기 데이터를 상기 파라미터와 함께 나열하여, YAML 파일의 상기 템플릿 스크립트를 생성하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
The method according to claim 1,
When the target system is determined by the generation request,
The template script generation method includes:
Collecting a class diagram and a deployment diagram designed in an integrated modeling language (UML) in the target system as the UML design data;
Converting the collected UML design data into an XMI file; And
Listing the data parsed from the XMI file with the parameter and generating the template script of the YAML file
A template script generation step of generating a template script,
제2항에 있어서,
상기 대상 시스템이 적어도 하나의 마이크로 서비스로 구성될 경우,
상기 템플릿 스크립트 생성 방법은,
마이크로 서비스 정보를 포함하여 상기 클래스 다이어그램을 수집하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
3. The method of claim 2,
If the target system comprises at least one micro-service,
The template script generation method includes:
Collecting the class diagram including micro service information
A template script generation step of generating a template script,
제3항에 있어서,
상기 파싱하는 단계는,
상기 클래스 다이어그램을 변환한 제1 XMI 파일로부터, 상기 마이크로 서비스의 이름과, 상기 마이크로 서비스의 수, 및 상기 클래스의 설계 이름 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱하는 단계; 및
상기 배치 다이어그램을 변환한 제2 XMI 파일로부터, 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 상기 노드 어플리케이션, 외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱하는 단계
를 포함하는 템플릿 스크립트 생성 방법.
The method of claim 3,
Wherein the parsing comprises:
Parsing data corresponding to at least one collection element of a name of the micro-service, a number of the micro-services, and a design name of the class from a first XMI file into which the class diagram is converted; And
Data corresponding to at least one of the node name, the node OS, the node resource, the node application, the external port, the internal port, the connection protocol, and the external IP from the second XMI file into which the layout diagram has been converted, Parsing step
To generate a template script.
삭제delete제4항에 있어서,
레플리카셋(ReplicaSet) 스크립트의 생성이 요청된 경우,
상기 파라미터를 식별하는 단계는,
상기 레플리카셋 스크립트에서, 상기 마이크로 서비스의 수, 상기 클래스의 설계 이름, 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 및 상기 노드 어플리케이션 중 적어도 하나의 수집 요소가 지정 됨에 따라,
상기 매핑 테이블로부터, 상기 수집 요소에 매핑되는, 레플리카셋 스크립트의 레플리카(Replicas), 이름, 셀렉터, 라벨, 및 템플릿 중 적어도 하나의 상기 파라미터를 식별하는 단계
를 더 포함하고,
상기 템플릿 스크립트 생성 방법은,
상기 마이크로 서비스의 수에 대응하여 파싱된 데이터를, 상기 레플리카(Replicas)의 값으로 설정하는 단계;
상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 레플리카셋 스크립트의 이름, 셀렉터(selector) 및 라벨 중 적어도 하나의 값으로 설정하는 단계;
상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 및 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 템플릿의 값으로 설정하는 단계; 및
상기 값이 설정된 각 파라미터를 포함하여, 다수의 팟 스크립트를 제어하는 상기 템플릿 스크립트로서, 상기 레플리카셋 스크립트를 생성하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
5. The method of claim 4,
If the creation of a ReplicaSet script is requested,
Wherein identifying the parameter comprises:
In the replica set script, as the collection element of at least one of the number of the micro services, the design name of the class, the node name, the node OS, the node resource,
Identifying, from said mapping table, said parameter of at least one of replicas, a name, a selector, a label, and a template of a replica set script that is mapped to said collection element
Further comprising:
The template script generation method includes:
Setting the parsed data corresponding to the number of micro-services to a value of the replicas;
Setting the parsed data corresponding to the design name of the class to at least one of a name, a selector, and a label of the replica set script;
Setting the node name, the node OS, the node resource, and data parsed corresponding to the node application as a value of the template; And
The template script controlling a plurality of pot scripts including each parameter for which the value is set, the method comprising: generating the replica set script
A template script generation step of generating a template script,
제4항에 있어서,
서비스(Service) 스크립트의 생성이 요청된 경우,
상기 파라미터를 식별하는 단계는,
상기 서비스 스크립트에서, 상기 클래스의 설계 이름, 상기 외부 포트, 상기 내부 포트, 상기 연결 프로토콜 및 상기 외부 IP 중 적어도 하나의 수집 요소가 지정 됨에 따라,
상기 매핑 테이블로부터, 상기 수집 요소에 매핑되는, 서비스 스크립트의 이름, 셀렉터, 라벨, 소스 포트(source port), 타겟 포트(target port), 프로토콜, 및 외부 IP(externalIP) 중 적어도 하나의 상기 파라미터를 식별하는 단계
를 더 포함하고,
상기 템플릿 스크립트 생성 방법은,
상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 서비스 스크립트의 이름, 셀렉터 및 라벨 중 적어도 하나의 값으로 설정하는 단계;
상기 외부 포트에 대응하여 파싱된 데이터를, 상기 소스 포트의 값으로 설정하는 단계;
상기 내부 포트에 대응하여 파싱된 데이터를, 상기 타겟 포트의 값으로 설정하는 단계;
상기 연결 프로토콜에 대응하여 파싱된 데이터를, 상기 프로토콜의 값으로 설정하는 단계;
상기 외부 IP에 대응하여 파싱된 데이터를, 상기 외부 IP의 값으로 설정하는 단계; 및
상기 값이 설정된 각 파라미터를 포함하여, 특정 팟 스크립트의 외부 클라이언트와의 네트워크 서비스를 제어하는 상기 템플릿 스크립트로서, 상기 서비스 스크립트를 생성하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
5. The method of claim 4,
If creation of a service script is requested,
Wherein identifying the parameter comprises:
In the service script, as at least one of the design name of the class, the external port, the internal port, the connection protocol, and the external IP is designated,
From the mapping table, at least one parameter of at least one of a name of a service script, a selector, a label, a source port, a target port, a protocol, and an external IP (externalIP) Steps to identify
Further comprising:
The template script generation method includes:
Setting data parsed corresponding to a design name of the class to at least one of a name, a selector and a label of the service script;
Setting data parsed corresponding to the external port to a value of the source port;
Setting the parsed data corresponding to the internal port to a value of the target port;
Setting data parsed corresponding to the connection protocol to a value of the protocol;
Setting data parsed corresponding to the external IP as a value of the external IP; And
The template script for controlling a network service with an external client of a specific pot script including each parameter for which the value is set,
A template script generation step of generating a template script,
제1항에 있어서,
상기 템플릿 스크립트 생성 방법은,
상기 컨테이너 오케스트레이터에서 수행이 요구되는 컨테이너 관리에 따라, 생성하려는 템플릿 스크립트의 종류를 결정하는 단계;
상기 템플릿 스크립트의 종류에 따라 정해지는 개별 파라미터와, 상기 템플릿 스크립트의 종류에 무관하게 공통으로 정해지는 공통 파라미터를 각각 정의하는 단계; 및
상기 파싱한 데이터를 이용하여, 상기 공통 파라미터에 대한 값을 설정한 후에, 상기 개별 파라미터에 대한 값을 설정 함으로써, 상기 템플릿 스크립트를 생성하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
The method according to claim 1,
The template script generation method includes:
Determining a type of a template script to be generated according to container management required to be performed by the container orchestrator;
Defining individual parameters determined according to the type of the template script and common parameters commonly determined irrespective of the type of the template script; And
Generating the template script by setting a value for the common parameter using the parsed data and then setting a value for the individual parameter;
A template script generation step of generating a template script,
제1항에 있어서,
상기 템플릿 스크립트 생성 방법은,
상기 템플릿 스크립트로서, 다수의 팟 스크립트를 제어하는 레플리카셋 스크립트를 생성하는 단계; 및
상기 레플리카셋 스크립트가 생성됨에 따라, 상기 컨테이너 오케스트레이터에 의한 상기 레플리카셋 스크립트의 실행에 의해, 상기 다수의 팟 스크립트 각각에 포함되는 컨테이너를 관리하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
The method according to claim 1,
The template script generation method includes:
Generating, as the template script, a replica set script for controlling a plurality of pot scripts; And
Managing a container included in each of the plurality of pot scripts by executing the replica set script by the container orchestrator as the replica set script is generated,
A template script generation step of generating a template script,
제1항에 있어서,
상기 템플릿 스크립트 생성 방법은,
상기 템플릿 스크립트로서, 특정 팟 스크립트의 외부 클라이언트와의 네트워크 서비스를 제어하는 서비스 스크립트를 생성하는 단계; 및
상기 서비스 스크립트가 생성됨에 따라, 상기 컨테이너 오케스트레이터에 의한 상기 서비스 스크립트의 실행에 의해, 상기 특정 팟 스크립트에 포함되는 컨테이너의 통신을 관리하는 단계
를 더 포함하는 템플릿 스크립트 생성 방법.
The method according to claim 1,
The template script generation method includes:
Generating, as the template script, a service script for controlling a network service with an external client of a specific pot script; And
Managing the communication of the container included in the specific pot script by execution of the service script by the container orchestrator as the service script is generated,
A template script generation step of generating a template script,
컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 장치에 있어서,
템플릿 스크립트의 생성 요청이 발생 함에 따라,
상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱하는 파싱부;
매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하는 식별부; 및
상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여, 컨테이너 오케스트레이터에서 실행 가능한 상기 템플릿 스크립트로서, 팟 스크립트를 생성하는 처리부 -상기 팟 스크립트는 상기 UML 설계 자료를 수집할 대상 시스템을 구성하는 마이크로 서비스의 수에 상응하여 생성됨-
를 포함하고,
상기 팟 스크립트에서, 상기 마이크로 서비스의 이름, 클래스의 설계 이름, 노드 이름, 노드 OS, 노드 리소스 및 노드 어플리케이션 중 적어도 하나의 수집 요소가 지정 됨에 따라,
상기 식별부는,
상기 매핑 테이블로부터, 상기 수집 요소에 매핑되는, 팟 스크립트의 이름, 팟 스크립트의 라벨, 컨테이너 이름, 컨테이너 운영체제, 컨테이너 리소스, 및 컨테이너 명령어 중 적어도 하나의 상기 파라미터를 식별하고,
상기 처리부는,
상기 마이크로 서비스의 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 이름의 값으로 설정하고, 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 라벨의 값으로 설정하고, 상기 노드 이름에 대응하여 파싱된 데이터를, 상기 컨테이너 이름의 값으로 설정하고, 상기 노드 OS에 대응하여 파싱된 데이터를, 상기 컨테이너 운영체제의 값으로 설정하고, 상기 노드 리소스에 대응하여 파싱된 데이터를, 상기 컨테이너 리소스의 값으로 설정하고, 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 컨테이너 명령어의 값으로 설정하고, 상기 값이 설정된 각 파라미터를 포함하여, 상기 팟 스크립트를 생성하고,
상기 템플릿 스크립트 생성 장치는,
상기 팟 스크립트가 생성됨에 따라, 상기 컨테이너 오케스트레이터에 의한 상기 팟 스크립트의 실행에 의해, 일정 수 단위의 컨테이너를 생성 함으로써, 상기 마이크로 서비스의 컨테이너화를 구현하는
컨테이너 오케스트레이터 기반의 템플릿 스크립트 생성 장치.
An apparatus for generating a template script based on a container orchestrator,
As the creation of the template script occurs,
A parser for parsing data corresponding to the collection element specified in the template script generated from the UML design data;
An identification unit for identifying, from a mapping table, a parameter mapped to the collection element; And
A processing unit configured to set the parsed data as a value for the parameter, and to generate a pot script as the template script executable in the container orchestrator, including the parameter, the pot script collecting the UML design data Generated corresponding to the number of micro-services that make up the target system -
Lt; / RTI &gt;
In the pot script, as the collection element of at least one of the name of the micro service, the design name of the class, the node name, the node OS, the node resource and the node application is designated,
Wherein,
Identifying, from the mapping table, the parameter of at least one of a name of a pot script, a label of a pot script, a container name, a container operating system, a container resource, and a container command,
Wherein,
Setting the parsed data corresponding to the name of the micro service to the value of the pot script name, setting the parsed data corresponding to the design name of the class to the value of the pot script label, Setting the parsed data as the value of the container name, setting the parsed data corresponding to the node OS as the value of the container operating system, and parsing the parsed data corresponding to the node resource, Setting the parsed data corresponding to the node application as the value of the container command, generating the pot script including each parameter for which the value is set,
Wherein the template script generating device comprises:
As the pot scripts are created, containers of a certain number of units are created by executing the pot scripts by the container orchestrator, thereby realizing containerization of the micro services
Container orchestrator based template script generator.
제11항에 있어서,
상기 생성 요청에 의해 상기 대상 시스템이 정해지면,
상기 템플릿 스크립트 생성 장치는,
상기 대상 시스템에서 통합 모델링 언어(UML)로 설계된 클래스 다이어그램 및 배치 다이어그램을, 상기 UML 설계 자료로서 수집하고, 수집한 상기 UML 설계 자료를 XMI 파일로 변환하는 수집부
를 더 포함하고,
상기 처리부는,
상기 XMI 파일로부터 파싱한 상기 데이터를 상기 파라미터와 함께 나열하여, YAML 파일의 상기 템플릿 스크립트를 생성하는
템플릿 스크립트 생성 장치.
12. The method of claim 11,
When the target system is determined by the generation request,
Wherein the template script generating device comprises:
A collection module for collecting, as the UML design data, class diagrams and layout diagrams designed in an integrated modeling language (UML) in the target system, and converting the collected UML design data into an XMI file;
Further comprising:
Wherein,
The data parsed from the XMI file is listed together with the parameter to generate the template script of the YAML file
Template script generator.
제12항에 있어서,
상기 대상 시스템이 적어도 하나의 마이크로 서비스로 구성될 경우,
상기 수집부는,
마이크로 서비스 정보를 포함하여 상기 클래스 다이어그램을 수집하는
템플릿 스크립트 생성 장치.
13. The method of claim 12,
If the target system comprises at least one micro-service,
Wherein,
Collecting the class diagram including micro service information
Template script generator.
제13항에 있어서,
상기 파싱부는,
상기 클래스 다이어그램을 변환한 제1 XMI 파일로부터, 상기 마이크로 서비스의 이름과, 상기 마이크로 서비스의 수, 및 상기 클래스의 설계 이름 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱하고,
상기 배치 다이어그램을 변환한 제2 XMI 파일로부터, 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 상기 노드 어플리케이션, 외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱하는
템플릿 스크립트 생성 장치.
14. The method of claim 13,
The parsing unit,
Parsing the data corresponding to at least one collection element of the name of the micro-service, the number of micro-services, and the design name of the class from the first XMI file into which the class diagram has been converted,
Data corresponding to at least one of the node name, the node OS, the node resource, the node application, the external port, the internal port, the connection protocol, and the external IP from the second XMI file into which the layout diagram has been converted, Parsing
Template script generator.
제11항에 있어서,
상기 템플릿 스크립트 생성 장치는,
상기 컨테이너 오케스트레이터에서 수행이 요구되는 컨테이너 관리에 따라, 생성하려는 템플릿 스크립트의 종류를 결정하는 인터페이스부
를 더 포함하고,
상기 처리부는,
상기 템플릿 스크립트의 종류에 따라 정해지는 개별 파라미터와, 상기 템플릿 스크립트의 종류에 무관하게 공통으로 정해지는 공통 파라미터를 각각 정의하고,
상기 파싱한 데이터를 이용하여, 상기 공통 파라미터에 대한 값을 설정한 후에, 상기 개별 파라미터에 대한 값을 설정 함으로써, 상기 템플릿 스크립트를 생성하는
템플릿 스크립트 생성 장치.
12. The method of claim 11,
Wherein the template script generating device comprises:
An interface unit for determining a type of a template script to be generated according to a container management required to be performed by the container orchestrator,
Further comprising:
Wherein,
A common parameter determined in accordance with the type of the template script and a common parameter determined in common regardless of the type of the template script,
Generating a template script by setting a value for the common parameter using the parsed data and then setting a value for the individual parameter;
Template script generator.
KR1020180162067A2018-12-142018-12-14Method and system for creating template scripts based container orchestratorExpired - Fee RelatedKR101985635B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020180162067AKR101985635B1 (en)2018-12-142018-12-14Method and system for creating template scripts based container orchestrator

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020180162067AKR101985635B1 (en)2018-12-142018-12-14Method and system for creating template scripts based container orchestrator

Publications (1)

Publication NumberPublication Date
KR101985635B1true KR101985635B1 (en)2019-06-03

Family

ID=66848968

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020180162067AExpired - Fee RelatedKR101985635B1 (en)2018-12-142018-12-14Method and system for creating template scripts based container orchestrator

Country Status (1)

CountryLink
KR (1)KR101985635B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110196714A (en)*2019-06-042019-09-03上海合桀软件技术有限公司A kind of conversion restoring method of original directive, storage equipment and terminal
CN111338657A (en)*2020-02-262020-06-26山东汇贸电子口岸有限公司Template-based palm parameter batch configuration method
CN113946323A (en)*2021-09-152022-01-18国云科技股份有限公司Online development method, device, equipment and storage medium based on micro-service system
KR20220035257A (en)*2019-11-082022-03-21인터내셔널 비지네스 머신즈 코포레이션 An automated technique for detecting usage of software applications in a computing environment using configuration objects.
KR20230031598A (en)*2021-08-272023-03-07부산대학교 산학협력단Deployment broker system and method for container-based microservice
CN116233106A (en)*2022-12-012023-06-06南京新联电能云服务有限公司 A method for collecting environmental protection data
CN119576329A (en)*2025-02-072025-03-07浙江交投高速公路建设管理有限公司 A code-free security points management system development method and device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Alexander Bergmayr et al, "From Architecture Modeling to Application Provisioning for the Cloud by Combining UML and TOSCA", CLOSER 2016, pp. 97-108(2016.04.) 1부.**
Alexander Bergmayr, "An Architecture Style for Cloud Application Modeling"(2016.04.) 1부.**
박민재 외, "클라우드 어플리케이션 오케스트레이션을 위한 TOSCA에서 쿠버네테스로의 맵핑", 2017년 한국컴퓨터종합학술대회 논문집, pp. 680-682(2017.12.) 1부.**

Cited By (10)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110196714A (en)*2019-06-042019-09-03上海合桀软件技术有限公司A kind of conversion restoring method of original directive, storage equipment and terminal
KR20220035257A (en)*2019-11-082022-03-21인터내셔널 비지네스 머신즈 코포레이션 An automated technique for detecting usage of software applications in a computing environment using configuration objects.
KR102726543B1 (en)*2019-11-082024-11-06인터내셔널 비지네스 머신즈 코포레이션 An automated technique for detecting the use of software applications in a computing environment using configuration objects.
CN111338657A (en)*2020-02-262020-06-26山东汇贸电子口岸有限公司Template-based palm parameter batch configuration method
CN111338657B (en)*2020-02-262023-12-01山东汇贸电子口岸有限公司Template-based palm parameter batch configuration method
KR20230031598A (en)*2021-08-272023-03-07부산대학교 산학협력단Deployment broker system and method for container-based microservice
KR102621324B1 (en)*2021-08-272024-01-05부산대학교 산학협력단Deployment broker system and method for container-based microservice
CN113946323A (en)*2021-09-152022-01-18国云科技股份有限公司Online development method, device, equipment and storage medium based on micro-service system
CN116233106A (en)*2022-12-012023-06-06南京新联电能云服务有限公司 A method for collecting environmental protection data
CN119576329A (en)*2025-02-072025-03-07浙江交投高速公路建设管理有限公司 A code-free security points management system development method and device

Similar Documents

PublicationPublication DateTitle
KR101985635B1 (en)Method and system for creating template scripts based container orchestrator
US9065746B2 (en)Compliance testing engine for integrated computing system
US9424003B1 (en)Schema-less system output object parser and code generator
KR100453824B1 (en)XML based network management system and method for configuration management of heterogeneous network devices
US10284418B2 (en)Network switch management via embedded management controller using management information base (MIB) to JSON parser
CN108964968A (en)Service access management method and system under a kind of container cloud environment
EP2541867A1 (en)Method and device for terminal management based on right control
CN113467782B (en)Method, device and equipment for determining business process
CN113568614A (en)Task issuing method, electronic device and storage medium
US20080117808A1 (en)Automatic configuration of network elements based on service contract definitions
CN101136780A (en) Method and system for acquiring user command information and device for registering user commands
CN112866049B (en)Method and system for collecting index of server host
CN117763198A (en) Data conversion methods, devices and equipment
CN111240920A (en) Performance testing method, device, server and storage medium
KR101482668B1 (en)System and method for generating database based on SCL
CN111314805B (en)Debugging method and device for intercommunication OMCI (OMCI) messages of GPON (gigabit passive optical network) system
CN109981342A (en)A kind of method and system of batch processing network device operation order
US20180032354A1 (en)Information processing apparatus, information processing system, computer-readable non-transitory recording medium having a program stored therein, and information processing method
CN116126819A (en) System log processing method, device and medium
CN117459381A (en)Method and device for generating configuration file, electronic equipment and storage medium
KR102006212B1 (en)Method and apparatus for generating python script used in first simulator by converting xml script used in second simulator
CN113918150A (en)Method for automatically configuring interface front-end code
US20210367863A1 (en)Management device and network management method
CN112582014B (en)Solid state disk batch production method, device, equipment and medium
KR101533020B1 (en)Apparatus and method for security policy management

Legal Events

DateCodeTitleDescription
PA0109Patent application

St.27 status event code:A-0-1-A10-A12-nap-PA0109

PA0201Request for examination

St.27 status event code:A-1-2-D10-D11-exm-PA0201

PA0302Request for accelerated examination

St.27 status event code:A-1-2-D10-D17-exm-PA0302

St.27 status event code:A-1-2-D10-D16-exm-PA0302

PE0902Notice of grounds for rejection

St.27 status event code:A-1-2-D10-D21-exm-PE0902

E13-X000Pre-grant limitation requested

St.27 status event code:A-2-3-E10-E13-lim-X000

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

E701Decision to grant or registration of patent right
PE0701Decision of registration

St.27 status event code:A-1-2-D10-D22-exm-PE0701

GRNTWritten decision to grant
PR0701Registration of establishment

St.27 status event code:A-2-4-F10-F11-exm-PR0701

PR1002Payment of registration fee

St.27 status event code:A-2-2-U10-U11-oth-PR1002

Fee payment year number:1

PG1601Publication of registration

St.27 status event code:A-4-4-Q10-Q13-nap-PG1601

P22-X000Classification modified

St.27 status event code:A-4-4-P10-P22-nap-X000

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:4

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:5

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

R18-X000Changes to party contact information recorded

St.27 status event code:A-5-5-R10-R18-oth-X000

PC1903Unpaid annual fee

St.27 status event code:A-4-4-U10-U13-oth-PC1903

Not in force date:20240529

Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

R18-X000Changes to party contact information recorded

St.27 status event code:A-5-5-R10-R18-oth-X000

PC1903Unpaid annual fee

St.27 status event code:N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date:20240529


[8]ページ先頭

©2009-2025 Movatter.jp