













본 발명은 컨테이너 오케스트레이션(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, the
본 명세서에서 템플릿 스크립트 생성 장치(110)는 도시된 것처럼 컨테이너 오케스트레이터(120)와 네트워크(100)로 연결된 서버 형태로 구현될 수 있으며, 실시예에 따라, 컨테이너 오케스트레이터(120)의 내부에 포함되는 모듈 형태로 구현될 수도 있다.The template
템플릿 스크립트 생성 장치(110)는 수집된 UML 설계 자료를 이용하여, 컨테이너 오케스트레이션(120)에서 실행 가능한 YAML 포맷의 템플릿 스크립트를 자동 생성하고, 생성한 템플릿 스크립트를 컨테이너 오케스트레이션(120)으로 출력할 수 있다.The template
컨테이너 오케스트레이터(120)는 템플릿 스크립트 생성 장치(110)로부터 출력되는 템플릿 스크립트를 실행하여 다양한 컨테이너 관리를 수행할 수 있다.The
여기서 컨테이너 오케스트레이터(120)는 컨테이너 관리 및 배포를 수행하는 프로그램으로서, 일례로 쿠버네티스(Kubernetes)를 예시할 수 있다.Here, the
구체적으로, 템플릿 스크립트 생성 장치(110)는 컨테이너 오케스트레이터(120) 또는 관리자로부터 템플릿 스크립트의 생성이 요청되면, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)하고, 사전에 마련된 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별하고, 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성할 수 있다.Specifically, when the generation of the template script is requested from the
여기서 상기 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 template
상기 템플릿 스크립트는 컨테이너 오케스트레이터(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 the
템플릿 스크립트 생성 장치(110)는 상기 매핑 테이블을 이용하여, 각각의 템플릿 스크립트에 필요한 파라미터의 값을 선별적으로 설정할 수 있으므로, 컨테이너 오케스트레이션(120)에서는 각 템플릿 스크립트의 자유로운 실행에 의해 다양한 컨테이너 관리를 빠르게 수행할 수 있다.Since the template
도 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, an
파싱부(210)는 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 템플릿 스크립트의 생성 요청이 발생 함에 따라, 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)한다.The
상기 컨테이너 오케스트레이터는 템플릿 스크립트를 실행하여 다양한 컨테이너 관리 및 배포를 수행하는 프로그램으로서, 일례로 쿠버네티스(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)에서 '추출 값'으로 기록해둘 수도 있다.The
도 7의 테이블(730)을 참조하면, 파싱부(210)는 UML 설계 자료로부터, 클래스 다이어그램을 통해 구성된 마이크로 서비스 정보(마이크로 서비스 이름, 마이크로 서비스 개수)와, 클래스 정보(클래스 설계 이름), 노드(컨테이너)에 관한 노드 정보(노드 이름, 노드 리소스, 노드 OS, 노드 어플리케이션), 노드 간 연결 정보(외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP)에 상응하는 데이터를 추출할 수 있다.Referring to the table 730 of FIG. 7, the
실시예에 따라, 템플릿 스크립트 생성 장치(200)는 수집부(240)를 더 포함하여 구성할 수 있다.According to the embodiment, the template
수집부(240)는 상기 데이터를 파싱할 UML 설계 자료를 수집하고, 수집된 UML 설계 자료를 XMI 파일로 변환하는 역할을 한다.The
수집부(240)는 상기 생성 요청에 의해 상기 UML 설계 자료를 수집하는 대상 시스템이 정해지면, 상기 대상 시스템에서 통합 모델링 언어(UML)로 설계된 클래스 다이어그램 및 배치 다이어그램을, 상기 UML 설계 자료로서 수집할 수 있다.When a target system for collecting the UML design data is determined according to the generation request, the collecting
또한 수집부(240)는 상기 대상 시스템이 적어도 하나의 마이크로 서비스로 구성될 경우, 마이크로 서비스 정보를 포함하여 상기 클래스 다이어그램을 수집할 수 있다.The collecting
상기 마이크로 서비스 정보는 상기 대상 시스템을 구성하는 마이크로 서비스의 이름 및 상기 대상 시스템을 구성하는 마이크로 서비스의 수를 포함할 수 있다.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 template
인터페이스부(250)는 관리자 단말 또는 컨테이너 오케스트레이터로부터 템플릿 스크립트의 생성 명령을 입력 받는 역할을 한다.The
또한 인터페이스부(250)는 상기 UML 설계 자료를 수집할 대상이 되는 대상 시스템을 관리자 단말 또는 컨테이너 오케스트레이터로부터 선택 받거나, 상기 UML 설계 자료가 저장된 경로를 입력 받는 역할을 할 수 있다.In addition, the
파싱부(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 the
파싱부(210)는 UML 설계 자료를 변환한 상기 XMI 파일로부터 지정된 수집 요소 별 데이터를 파싱하여, 상기 컨테이너 오케스트레이터에서 실행 가능한 YAML 파일의 템플릿 스크립트가 생성되도록 할 수 있다.The
일례로 파싱부(210)는 상기 클래스 다이어그램을 변환한 제1 XMI 파일로부터, 마이크로 서비스의 이름과, 마이크로 서비스의 수, 및 클래스의 설계 이름 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱할 수 있다.For example, the
또한 파싱부(210)는 상기 배치 다이어그램을 변환한 제2 XMI 파일로부터, 노드 이름, 노드 OS, 노드 리소스, 노드 어플리케이션, 외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP 중 적어도 하나의 수집 요소에 대응되는 데이터를 파싱할 수 있다.Also, the
예를 들어 도 7을 참조하면 파싱부(210)는 클래스 다이어그램의 'UML1.XMI'(710)로부터 지정된 수집 요소 중 '클래스 설계 이름'에 대응되는 데이터 '학생 관리 클래스 다이어그램'을 파싱할 수 있다.For example, referring to FIG. 7, the
또한 파싱부(210)는 배치 다이어그램의 'UML2.XMI'(720)로부터 지정된 수집 요소 중 '노드 이름', '노드 리소스', '노드 OS' 및 '노드 어플리케이션' 각각에 대응되는 데이터 "DB Server", "1 Core 128 RAM", "Ubuntu 16.04LTS", "mysql-server 5.6V"를 파싱할 수 있다.Also, the
또한 파싱부(210)는 배치 다이어그램의 'UML2.XMI'(720)로부터 지정된 수집 요소 중 '외부 포트', '내부 포트', '연결 프로토콜' 및 '외부 IP' 각각에 대응되는 데이터 "80", "8080", "TCP" 및 "164.125.70.25"를 파싱할 수 있다.In addition, the
또한 파싱부(210)는 수집 요소 중 '마이크로 서비스 이름'과 '마이크로 서비스 개수'를, 상기 '학생 관리 클래스 다이어그램'으로부터 구성된 3개의 마이크로 서비스('학생 정보 생성', '학생 정보 삭제' 및 '학생 정보 수정')(도 4 참조)에 관한 정보로부터 파싱할 수 있다.Also, the
식별부(220)는 매핑 테이블로부터, 상기 수집 요소에 매핑되는 파라미터를 식별한다.The
일례로, 일정 수의 컨테이너를 생성하는 팟(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, the
다른 일례로, 다수의 팟 스크립트를 제어하는 레플리카셋(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 identifying
여기서 레플리카(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, the
처리부(230)는 상기 파싱된 데이터를 상기 파라미터에 대한 값으로 설정한 후, 상기 파라미터를 포함하여 상기 템플릿 스크립트를 생성한다.The
즉 처리부(230)는 매핑 테이블을 기반으로 컨테이너의 관리 및 배포를 위한 'YAML 파일'의 템플릿 스크립트를 자동 생성할 수 있다.That is, the
이에 따라 처리부(230)는 템플릿 스크립트의 코딩에 따른 시간을 줄이고, 관리자가 직접 자료를 확인해야 하는 번거로움을 해소할 수 있으며, 컨테이너 오케스트레이터는 템플릿 스크립트의 실행에 의해 다수의 컨테이너를 원하는 다양한 방식으로 빠르게 관리할 수 있게 된다.Accordingly, the
또한 처리부(230)는 컨테이너 관리에 필요한 요소 별로, 팟 스크립트, 레플리카셋 스크립트, 및 서비스 스크립트와 같은 다양한 템플릿 스크립트의 생성을 자동화 할 수 있다.In addition, the
구체적으로 처리부(230)는 팟 스크립트, 레플리카셋 스크립트 및 서비스 스크립트 각각에 필요한 파라미터와, UML 설계 자료로부터 추출 가능한 수집 요소를 매핑시킨 매핑 테이블을 미리 마련해 둘 수 있다.Specifically, the
처리부(230)는 각각의 템플릿 스크립트에 기술되어야 하는 파라미터에, UML 설계 자료로부터 파싱한 데이터를 상기 매핑 테이블을 이용하여 간단히 입력할 수 있으므로, 파라미터가 상이한 여러 템플릿 스크립트를 간단히 일괄 생성할 수 있다.The
또한 처리부(230)는 구성된 마이크로 서비스의 수 만큼 팟 스크립트를 생성할 수 있고, 클래스 다이어그램의 수 만큼 레플리카셋 스크립트를 생성할 수 있고, 배치 다이어그램의 수 만큼 서비스 스크립트를 생성할 수 있다.In addition, the
일례로 처리부(230)는 상기 마이크로 서비스의 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 이름의 값으로 설정하고, 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 팟 스크립트 라벨의 값으로 설정할 수 있다.For example, the
또한 처리부(230)는 상기 노드 이름에 대응하여 파싱된 데이터를, 상기 컨테이너 이름의 값으로 설정하고, 상기 노드 OS에 대응하여 파싱된 데이터를, 상기 컨테이너 운영체제의 값으로 설정하고, 상기 노드 리소스에 대응하여 파싱된 데이터를, 상기 컨테이너 리소스의 값으로 설정하고, 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 컨테이너 명령어의 값으로 설정할 수 있다.In addition, the
처리부(230)는 상기 값이 설정된 각 파라미터(1110, 1120)를 포함하여, 도 11과 같은 팟 스크립트를 생성할 수 있다.The
이때 처리부(230)는 UML 설계 자료를 수집할 대상 시스템을 구성하는 마이크로 서비스의 수에 상응하여, 팟 스크립트를 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 상기 팟 스크립트의 실행에 의해, 하나의 팟에 포함되는 일정 수 단위의 컨테이너를 생성할 수 있게 된다.At this time, the
다른 일례로, 처리부(230)는 상기 마이크로 서비스의 수에 대응하여 파싱된 데이터를, 상기 레플리카(Replicas)의 값으로 설정하고, 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 레플리카셋 스크립트의 이름, 셀렉터(selector) 및 라벨 중 적어도 하나의 값으로 설정할 수 있다.In another example, the
또한 처리부(230)는 상기 노드 이름, 상기 노드 OS, 상기 노드 리소스, 및 상기 노드 어플리케이션에 대응하여 파싱된 데이터를, 상기 템플릿의 값으로 설정할 수 있다.In addition, the
처리부(230)는 상기 값이 설정된 각 파라미터(1210, 1220)를 포함하여, 도 12와 같은 레플리카셋 스크립트를 생성할 수 있다.The
이처럼 처리부(230)는 상기 팟 스크립트 중, 다수의 팟 스크립트를 제어하는 다양한 레플리카셋 스크립트를 빠르고 자동적으로 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 상기 레플리카셋 스크립트의 실행에 의해, 상기 다수의 팟 스크립트 각각에 포함되는 컨테이너를 관리자가 원하는 방식으로 관리할 수 있다.As described above, the
또 다른 일례로, 처리부(230)는 상기 클래스의 설계 이름에 대응하여 파싱된 데이터를, 상기 서비스 스크립트의 이름, 셀렉터(selector) 및 라벨 중 적어도 하나의 값으로 설정할 수 있다.As another example, the
또한 처리부(230)는 상기 외부 포트에 대응하여 파싱된 데이터를, 상기 소스 포트의 값으로 설정하고, 상기 내부 포트에 대응하여 파싱된 데이터를, 상기 타겟 포트의 값으로 설정하고, 상기 연결 프로토콜에 대응하여 파싱된 데이터를, 상기 프로토콜의 값으로 설정하고, 상기 외부 IP에 대응하여 파싱된 데이터를, 상기 외부 IP(externalIP)의 값으로 설정할 수 있다.The
처리부(230)는 상기 값이 설정된 각 파라미터(1310, 1320)를 포함하여, 도 13과 같은 서비스 스크립트를 생성할 수 있다.The
이처럼, 처리부(230)는 상기 팟 스크립트 중, 특정 팟 스크립트의 외부 클라이언트와의 네트워크 서비스를 제어하는 서비스 스크립트를 손쉽게 생성할 수 있으며, 상기 컨테이너 오케스트레이터는 서비스 스크립트의 실행에 의해, 상기 특정 팟 스크립트에 포함되는 컨테이너의 통신을 용이하게 제어 관리할 수 있다.As described above, the
실시예에 따라, 인터페이스부(250)는 상기 컨테이너 오케스트레이터에서 수행이 요구되는 컨테이너 관리에 따라, 생성하려는 템플릿 스크립트의 종류를 결정할 수 있다.According to the embodiment, the
처리부(230)는 상기 템플릿 스크립트의 종류에 따라 정해지는 개별 파라미터와, 상기 템플릿 스크립트의 종류에 무관하게 공통으로 정해지는 공통 파라미터를 각각 정의하고, 상기 파싱한 데이터를 이용하여, 상기 공통 파라미터에 대한 값을 설정한 후에, 상기 개별 파라미터에 대한 값을 설정 함으로써, 상기 템플릿 스크립트를 생성할 수 있다.The
최종적으로 처리부(230)는 생성된 각 템플릿 스크립트를 컨테이너 오케스트레이터로 출력하여, 팟 스크립트의 실행에 의해 컨테이너 및 어플리케이션을 생성 및 실행하고, 레플리카셋 스크립트의 실행에 의해 다수 팟(Pod)을 자동으로 배포 및 관리할 수 있고, 서비스 스크립트의 실행에 의해 특정 팟의 네트워크 서비스를 제어할 수 있다.Finally, the
이와 같이 본 발명의 일실시예에 따르면 일반화된 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 the
템플릿 스크립트 생성 장치는 템플릿 스크립트(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 the
템플릿 스크립트 생성 장치는 생성하려는 템플릿 스크립트(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 the
이때 템플릿 스크립트 생성 장치는 도 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 the
UML 설계 자료(310)는 대상 시스템(예, '대학 정보 시스템')에 대해 통합 모델링 언어(UML)로 작성된 클래스 다이어그램 또는 배치 다이어그램으로 구성될 수 있다.The
상기 클래스 다이어그램은 대상 시스템을 구현하는 클래스(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 the
도 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 the
UML 설계 자료(510)는 대상 시스템으로 지정된 '대학 정보 시스템'의 경우 '학생 관리' 클래스 다이어그램(511)과, '사용자 관리' 클래스 다이어그램, '수업 및 수강 관리' 클래스 다이어그램 및 '학사 관리' 클래스 다이어그램을 포함한 4개의 클래스 다이어그램으로 구성될 수 있다.The
이때 템플릿 스크립트 생성 장치는 상술한 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 the
도 6에는 배치 다이어그램(610)의 일 노드인 DB 서버(612)에 관한 노드 정보와, 연결 정보(613)를 XMI 포맷으로 변환하는 과정이 도시되어 있다.6 shows a process of converting the node information about the
여기서 DB 서버(612)에 관한 노드 정보는 DB 서버(612)의 이름과 리소스(cpu, RAM), OS 및 어플리케이션에 관한 데이터를 포함하고, 연결 정보(613)는 외부 포트, 내부 포트, 프로토콜 및 외부 연결 IP에 관한 데이터를 포함할 수 있다.Herein, the node information about the
일례로 템플릿 스크립트 생성 장치는 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 the
또한 템플릿 스크립트 생성 장치는 웹 서버(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 for
템플릿 스크립트 생성 장치는 DB 서버(612)의 노드 정보에 대한 엘리멘트 태그(621)와, 연결 정보(613)에 대한 커넥터 태그(622)를 포함하여, 배치 다이어그램(610)의 XMI 변환 파일 'UML2.XMI'(620)을 자동화 하여 생성할 수 있다.The template script generating apparatus includes an
도 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. , "1
또한 템플릿 스크립트 생성 장치는 배치 다이어그램의 'UML2.XMI'(720)로부터 상기 수집 요소 중 '외부 포트', '내부 포트', '연결 프로토콜' 및 '외부 IP' 각각에 대응되는 데이터 "80", "8080", "TCP" 및 "164.125.70.25"를 파싱할 수 있다.In addition, the template script generating
또한 템플릿 스크립트 생성 장치는 상기 수집 요소 중 '마이크로 서비스 이름'과 '마이크로 서비스 개수'를, 상기 '학생 관리 클래스 다이어그램'으로부터 구성된 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' The
즉 템플릿 스크립트 생성 장치는 팟 스크립트(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 the
또한, 템플릿 스크립트 생성 장치는  서비스 스크립트(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 the
마찬가지로, 템플릿 스크립트 생성 장치는 템플릿 스크립트 생성 장치는  레플리카셋 스크립트(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 the
이하에서 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>
또한 템플릿 스크립트 생성 장치는 XMI 파일(720) 내 <element> 태그(721)를 대상으로 노드 정보와 관련된 데이터를 파싱할 수 있다.In addition, the template script generating apparatus can parse data related to the node information about the <element>
즉 템플릿 스크립트 생성 장치는 수집 요소 '노드 이름'을 추출하기 위해 <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>
또한 템플릿 스크립트 생성 장치는 XMI 파일(720) 내 <connector> 태그(722)를 대상으로 연결 정보와 관련된 데이터를 추출할 수 있다.In addition, the template script generating apparatus can extract data related to the connection information on the <connector>
즉 템플릿 스크립트 생성 장치는 수집 요소 '외부 포트'를 추출하기 위해 <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>
템플릿 스크립트 생성 장치는 테이블(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>
또한 템플릿 스크립트 생성 장치는 <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", "1
또한 템플릿 스크립트 생성 장치는 <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>
도 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 a
공통 파라미터(Common Info)(810)는 모든 종류의 템플릿 스크립트에서 기술되어야 하는 요소로서, 생성할 템플릿 스크립트의 버전(apiVersion), 템플릿 스크립트의 종류(kind), 템플릿 스크립트의 이름(name) 및 태그 정보(label)를 예시할 수 있다.
여기서 나열되지는 않았지만, 동일한 클래스 다이어그램을 이용해 생성되는 모든 템플릿 스크립트에는 해당 클래스 다이어그램으로부터 추출한 클래스 설계 이름이 공통적으로 포함되므로, 클래스 설계 이름이 설정되는 변수(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) 스크립트와 같은 각각의 템플릿 스크립트에 따라 다르게 기술되는 요소를 의미한다.The
여기서 팟(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 the
또한 레플리카셋 스크립트는 쿠버네티스 프로그램에서 생성된 여러 개의 팟(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)을 예시할 수 있다.The
또한 서비스 스크립트는 외부 클라이언트와 통신하기 위한 네트워크 서비스를 실행하기 위해 실행되는 템플릿 스크립트로서, 레플리카셋 스크립트와 마찬가지로 라벨 탐색으로 지정한 특정 팟의 네트워크 서비스를 제어할 수 있다.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)를 예시할 수 있다.The
템플릿 스크립트 생성 장치는 공통 파라미터(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 the
도 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 a
구체적으로 템플릿 스크립트 생성 장치는 매핑 테이블(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 the
도 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 defines
상세히 설명하면, 템플릿 스크립트 생성 장치는 공통 파라미터(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 a
이때 템플릿 스크립트 생성 장치는 팟 스크립트 생성을 위한 것이므로 템플릿 스크립트의 종류(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 " 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 defines
템플릿 스크립트 생성 장치는 템플릿 스크립트의 종류(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 the
또한, 템플릿 스크립트 생성 장치는 셀렉터(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 defines
템플릿 스크립트 생성 장치는 템플릿 스크립트의 종류(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 a
또한 템플릿 스크립트 생성 장치는 도 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 template
도 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 template
도 14를 참조하면, 단계(1410)에서, 템플릿 스크립트 생성 장치(200)는 템플릿 스크립트의 생성 요청이 발생하는지 감지한다.Referring to FIG. 14, in
상기 생성 요청의 발생이 감지될 경우, 단계(1420)에서, 템플릿 스크립트 생성 장치(200)는 상기 생성 요청된 템플릿 스크립트에 지정되는 수집 요소에 대응되는 데이터를, UML 설계 자료로부터 파싱(parsing)한다.If the occurrence of the generation request is sensed, in
여기서 상기 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 template
또한 템플릿 스크립트 생성 장치(200)는 클래스 다이어그램을 통해 구성된 마이크로 서비스의 이름과 개수를 파싱할 수 있다.In addition, the template
또한 템플릿 스크립트 생성 장치(200)는 배치 다이어그램을 XMI 포맷으로 변환한 파일로부터, 노드 정보와 관련된 수집 요소 '노드 이름, 노드 리소스, 노드 OS, 노드 어플리케이션'에 대응되는 데이터를 파싱할 수 있다.In addition, the template
또한 템플릿 스크립트 생성 장치(200)는 배치 다이어그램을 XMI 포맷으로 변환한 파일로부터, 노드 간 연결 정보에 관련된 수집 요소 '외부 포트, 내부 포트, 연결 프로토콜 및 외부 IP'에 대응되는 데이터를 파싱할 수 있다.Also, the template
단계(1430, 1440)에서, 템플릿 스크립트 생성 장치(200)는 매핑 테이블로부터, 수집 요소에 매핑되는 파라미터를 식별하고, 상기 파싱한 데이터를 상기 식별한 파라미터의 값으로 설정한다.In
템플릿 스크립트 생성 장치(200)는 컨테이너 오케스트레이터에서 구현하려는 컨테이너 관리에 따라, 팟 스크립트(Pod script), 레플리카셋 스크립트(ReplicaSet script), 및 서비스 스크립트(Service script) 중 적어도 하나의 템플릿 스크립트를 종류 별로 생성할 수 있다.The template
이때 각각의 템플릿 스크립트에는 기술되어야 하는 파라미터가 상이할 수 있으므로, 템플릿 스크립트 생성 장치(200)는 도 9에 도시한 매핑 테이블을 참조하여, 생성하려는 템플릿 스크립트에 포함되어야 하는 파라미터들을 정의한 후, 상기 UML 설계 자료로부터의 수집 요소 별 추출 값을 상기 매핑 테이블에서 각 수집 요소에 매핑되는 파라미터의 값으로 설정 함으로써, 관리자의 개입 없이도 템플릿 스크립트를 종류 별로 간단히 생성할 수 있다.Since the parameters to be described in each template script may differ, the template
단계(1450, 1460)에서, 템플릿 스크립트 생성 장치(200)는 상기 값이 설정된 파라미터를 포함하여 상기 템플릿 스크립트를 컨테이너 오케스트레이터(container orchestrator)에서 실행 가능한 YAML 포맷으로 생성하고, 생성한 템플릿 스크립트를 상기 컨테이너 오케스트레이터로 출력한다.In
즉 템플릿 스크립트 생성 장치(200)는 매핑 테이블 기반으로, 각각의 템플릿 스크립트에 필요한 파라미터의 값을 설정 함으로써 컨테이너 오케스트레이션에서 필요로 하는 템플릿 스크립트를 종류 별로 손쉽게 생성할 수 있다.That is, the template
이처럼 본 발명에 따르면, 컨테이너 관리 및 배포를 위해 컨테이너 오케스트레이션에서 실행되어야 하는 템플릿 스크립트(예, '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 > 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:
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020180162067AKR101985635B1 (en) | 2018-12-14 | 2018-12-14 | Method and system for creating template scripts based container orchestrator | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020180162067AKR101985635B1 (en) | 2018-12-14 | 2018-12-14 | Method and system for creating template scripts based container orchestrator | 
| Publication Number | Publication Date | 
|---|---|
| KR101985635B1true KR101985635B1 (en) | 2019-06-03 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| KR1020180162067AExpired - Fee RelatedKR101985635B1 (en) | 2018-12-14 | 2018-12-14 | Method and system for creating template scripts based container orchestrator | 
| Country | Link | 
|---|---|
| KR (1) | KR101985635B1 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| CN110196714A (en)* | 2019-06-04 | 2019-09-03 | 上海合桀软件技术有限公司 | A kind of conversion restoring method of original directive, storage equipment and terminal | 
| CN111338657A (en)* | 2020-02-26 | 2020-06-26 | 山东汇贸电子口岸有限公司 | Template-based palm parameter batch configuration method | 
| CN113946323A (en)* | 2021-09-15 | 2022-01-18 | 国云科技股份有限公司 | Online development method, device, equipment and storage medium based on micro-service system | 
| KR20220035257A (en)* | 2019-11-08 | 2022-03-21 | 인터내셔널 비지네스 머신즈 코포레이션 | An automated technique for detecting usage of software applications in a computing environment using configuration objects. | 
| KR20230031598A (en)* | 2021-08-27 | 2023-03-07 | 부산대학교 산학협력단 | Deployment broker system and method for container-based microservice | 
| CN116233106A (en)* | 2022-12-01 | 2023-06-06 | 南京新联电能云服务有限公司 | A method for collecting environmental protection data | 
| CN119576329A (en)* | 2025-02-07 | 2025-03-07 | 浙江交投高速公路建设管理有限公司 | A code-free security points management system development method and device | 
| 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부.** | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| CN110196714A (en)* | 2019-06-04 | 2019-09-03 | 上海合桀软件技术有限公司 | A kind of conversion restoring method of original directive, storage equipment and terminal | 
| KR20220035257A (en)* | 2019-11-08 | 2022-03-21 | 인터내셔널 비지네스 머신즈 코포레이션 | An automated technique for detecting usage of software applications in a computing environment using configuration objects. | 
| KR102726543B1 (en)* | 2019-11-08 | 2024-11-06 | 인터내셔널 비지네스 머신즈 코포레이션 | An automated technique for detecting the use of software applications in a computing environment using configuration objects. | 
| CN111338657A (en)* | 2020-02-26 | 2020-06-26 | 山东汇贸电子口岸有限公司 | Template-based palm parameter batch configuration method | 
| CN111338657B (en)* | 2020-02-26 | 2023-12-01 | 山东汇贸电子口岸有限公司 | Template-based palm parameter batch configuration method | 
| KR20230031598A (en)* | 2021-08-27 | 2023-03-07 | 부산대학교 산학협력단 | Deployment broker system and method for container-based microservice | 
| KR102621324B1 (en)* | 2021-08-27 | 2024-01-05 | 부산대학교 산학협력단 | Deployment broker system and method for container-based microservice | 
| CN113946323A (en)* | 2021-09-15 | 2022-01-18 | 国云科技股份有限公司 | Online development method, device, equipment and storage medium based on micro-service system | 
| CN116233106A (en)* | 2022-12-01 | 2023-06-06 | 南京新联电能云服务有限公司 | A method for collecting environmental protection data | 
| CN119576329A (en)* | 2025-02-07 | 2025-03-07 | 浙江交投高速公路建设管理有限公司 | A code-free security points management system development method and device | 
| Publication | Publication Date | Title | 
|---|---|---|
| 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 | 
| Date | Code | Title | Description | 
|---|---|---|---|
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| PA0302 | Request 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 | |
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| E13-X000 | Pre-grant limitation requested | St.27 status event code:A-2-3-E10-E13-lim-X000 | |
| P11-X000 | Amendment of application requested | St.27 status event code:A-2-2-P10-P11-nap-X000 | |
| P13-X000 | Application amended | St.27 status event code:A-2-2-P10-P13-nap-X000 | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | St.27 status event code:A-1-2-D10-D22-exm-PE0701 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | St.27 status event code:A-2-4-F10-F11-exm-PR0701 | |
| PR1002 | Payment of registration fee | St.27 status event code:A-2-2-U10-U11-oth-PR1002 Fee payment year number:1 | |
| PG1601 | Publication of registration | St.27 status event code:A-4-4-Q10-Q13-nap-PG1601 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:4 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:5 | |
| PN2301 | Change 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-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 | |
| PC1903 | Unpaid 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 | |
| PN2301 | Change 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-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 | |
| PC1903 | Unpaid 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 |