KR102258115B1 - 마이크로서비스 관리 장치 및 그 방법 - Google Patents

마이크로서비스 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR102258115B1
KR102258115B1 KR1020180145892A KR20180145892A KR102258115B1 KR 102258115 B1 KR102258115 B1 KR 102258115B1 KR 1020180145892 A KR1020180145892 A KR 1020180145892A KR 20180145892 A KR20180145892 A KR 20180145892A KR 102258115 B1 KR102258115 B1 KR 102258115B1
Authority
KR
South Korea
Prior art keywords
microservice
microservices
gateway
processor
data
Prior art date
Application number
KR1020180145892A
Other languages
English (en)
Other versions
KR20200060834A (ko
Inventor
김재인
김근용
유학
김량수
김희도
손병희
윤기하
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020180145892A priority Critical patent/KR102258115B1/ko
Publication of KR20200060834A publication Critical patent/KR20200060834A/ko
Application granted granted Critical
Publication of KR102258115B1 publication Critical patent/KR102258115B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 마이크로서비스(microservice)를 관리하는 장치 및 그 방법에 관한 것이다.
본 발명에 따른 마이크로서비스 관리 장치는 마이크로서비스 관리 UI 프로그램이 저장된 메모리 및 프로그램을 실행시키는 프로세서를 포함하되, 프로세서는 마이크로서비스의 기능에 따라 그룹을 나누어 게이트웨이에 적재하는 것을 특징으로 한다.

Description

마이크로서비스 관리 장치 및 그 방법{APPARATUS AND METHOD FOR MANAGING MICROSERVICES}
본 발명은 마이크로서비스(microservice)를 관리하는 장치 및 그 방법에 관한 것이다.
범용 운용 소프트웨어 플랫폼은 게이트웨이와 같은 시스템 운용에 있어서, 사용자의 편의성을 제공하기 위하여 마이크로서비스(Microservice)라고 불리우는 소프트웨어 모듈로 개발되고 있다.
마이크로서비스는 게이트웨이에서 동작하는 소프트웨어 모듈로써, 사용자가 해당 모듈을 사용함으로써 게이트웨이의 해당 기능을 수행할 수 있게 된다.
종래 기술에 따른 마이크로서비스 관리 방법은 관리 명령어를 직접 입력하는 방식으로, 일반적인 사용자가 사용하기에 불편한 점이 있으며, 잘못된 명령어가 입력되는 경우 게이트웨이 전체에 심각한 오류를 발생시키게 되는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 게이트웨이의 마이크로서비스 관리 UI를 제공하여, 마이크로서비스들 간의 상호 연결 관계 및 데이터 전달 상태를 가시화하는 것이 가능한 마이크로서비스 관리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명에 따른 마이크로서비스 관리 장치는 마이크로서비스 관리 UI 프로그램이 저장된 메모리 및 프로그램을 실행시키는 프로세서를 포함하되, 프로세서는 마이크로서비스의 기능에 따라 그룹을 나누어 게이트웨이에 적재하는 것을 특징으로 한다.
본 발명에 따른 마이크로서비스 관리 방법은 마이크로서비스 리스트를 수신하는 단계와, 마이크로서비스 리스트에 포함된 마이크로서비스를 기능에 따라 그룹을 나누어 게이트웨이에 적재하는 단계 및 게이트웨이에 적재된 마이크로서비스 간에 송수신되는 데이터 흐름을 표시하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시예에 따르면, 드래그 앤 드롭 기능을 기반으로 동작하여, GUI 기반의 편리한 마이크로서비스 관리 방법을 제공하는 것이 가능한 효과가 있다.
본 발명의 실시예에 따르면, 마이크로서비스의 상태 정보를 제공하는 것이 가능하고, 마이크로서비스들 간의 연결 관계 및 데이터 전달 상태를 쉽게 가시화하는 UII를 제공하여 사용자 편의성을 높이는 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 마이크로서비스 관리 장치를 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 마이크로서비스의 구조를 도시한다.
도 3a 및 도 3b는 본 발명의 실시예에 따른 마이크로서비스의 구성 방식을 도시한다.
도 4a 내지 도 4c는 본 발명의 실시예에 따른 마이크로서비스 관리 UI의 구성도를 나타낸다.
도 5는 본 발명의 실시예에 따른 그룹 기반 마이크로서비스 관리 UI 화면의 구성을 나타내는 예시도이다.
도 6은 본 발명의 실시예에 따른 마이크로서비스의 UI 표시예를 도시한다.
도 7은 본 발명의 실시예에 따른 UI에서의 마이크로서비스 간의 데이트 흐름 표시예를 도시한다.
도 8은 본 발명의 실시예에 따른 UI에서의 마이크로서비스 설정예를 도시한다.
도 9는 본 발명의 실시예에 따른 마이크로서비스 관리 방법을 나타내는 순서도이다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
이하에서는, 당업자의 이해를 돕기 위하여 본 발명이 제안된 배경에 대하여 먼저 서술하고, 본 발명의 실시예에 대하여 서술하기로 한다.
IoT(Internet Of Things) 및 IIoT(Industrial Internet Of Things)에서는 센서의 데이터를 수집하여 서버로 전달하고, 서버로부터 제어 명령을 수신하여 액츄에이터를 제어하기 위한 게이트웨이(Gateway) 단말 장치가 사용된다.
이러한 게이트웨이는 다종의 센서 및 액츄에이터와 통신하기 위한 하드웨어 모듈을 포함하기 때문에 다양한 형태의 하드웨어로 구성되며, 하드웨어를 기반으로 운용 소프트웨어가 개발된다.
게이트웨이는 특수한 어플리케이션에 사용되기 위하여 특정 센서 장치 및 액츄에이터와 통신하는 모듈을 포함하고, 각종 데이터를 저장하기 위한 저장소를 포함하기도 하며, 서버와 다양한 방식으로 통신하기 위하여 LTE, Wifi, LoRa와 같은 통신을 지원하기 위한 통신 모듈을 포함한다.
즉, 특수 목적의 게이트웨이는 그 목적에 맞는 센서 및 액츄에이터를 지원하기 위한 기능을 포함하여 하드웨어가 개발되며, 이러한 하드웨어에 맞추어 별도의 소프트웨어가 개발된다.
이러한 특수 목적의 게이트웨이 개발은 하드웨어 및 소프트웨어의 요구사항을 만족하기 위하여 다양한 버전으로 개발이 이루어지고 있어, 개발 및 유지 보수에 많은 비용이 발생되는 문제점이 있다.
최근 이러한 문제를 해소하기 위하여, 대기업을 중심으로 센서 및 액츄에이터와 통신할 수 있는 몇 개의 범용 모듈(RS232, RS485, Ethernet 등)을 포함하고, 저장소 및 서버용 범용 통신 모듈(Wifi 등)을 포함하는 범용 게이트웨이가 출시되고 있으며, 이러한 범용 게이트웨이를 위한 범용 운용 소프트웨어가 적용되고 있다.
범용 운용 소프트웨어는 일종의 플랫폼으로, 운영체제(OS) 및 미들웨어, 그리고 각종 게이트웨이 기능을 수행하기 위한 응용 소프트웨어가 다양한 타입의 하드웨어에서 별도의 수정 작업 없이 동작할 수 있도록 구현된다.
범용 운용 소프트웨어 플랫폼은 게이트웨이와 같은 시스템 운용에 있어서 사용자의 편의성을 제공하기 위하여, 마이크로서비스(Microservice)라고 불리우는 소프트웨어 모듈로 개발되고 있다.
마이크로서비스는 게이트웨이에서 동작하는 소프트웨어 모듈로써, 사용자는 해당 모듈을 사용하여 게이트웨이의 해당 기능을 수행할 수 있다.
마이크로서비스는 일반적으로 운영체제와 미들웨어에 독립적으로 동작하며, 스스로 완전하게 동작하기 위하여 다른 마이크로서비스와 각종 데이터를 주고 받을 수 있는 인터페이스를 가지고 있으며, 자신의 상태 정보 및 설정 정보를 제공하는 인터페이스를 포함한다.
마이크로서서비스 개념은 단일 서비스로 개발하는 기존 모놀리식(Monolithic) 방식과는 반대되는 개념이며, 서비스 지향 아키텍쳐(SOA: Service-Orientd Archetecture) 방식보다 더 세분화 되어 있다.
예를 들어, RS232, RS485, Ethernet 통신 모듈을 포함하는 범용 게이트웨이에서 사용자가 RS232 기능만을 사용하고자 하는 경우, RS232 기능을 수행하는 마이크로서비스를 서버로부터 게이트웨이로 다운로드하여 구동시킴으로써 해당 기능을 수행하게 되는 것이다.
만약 RS232 기능을 사용하지 않는 경우, 해당 마이크로서비스를 정지시키거나 제거함으로써 이 기능을 사용하지 않을 수 있다.
즉, 게이트웨이의 하드웨어는 범용 센서 및 액츄에이터와 통신할 수 있도록 물리적 모듈을 갖춘 상태로 동일한 플랫폼으로 개발되고, 범용 운용 소프트웨어 플랫폼을 통해서 필요한 마이크로서비스를 탑재하여 구동시킴으로써 사용자의 다양한 목적을 수용할 수 있는 유연한 운용 방법을 제공할 수 있다.
플랫폼화된 소프트웨어는 여러 버전으로 개발되어야 하는 소프트웨어의 개발 비용을 최소화 할 수 있고, 버전 별 소스코드 유지 보수에 소요되는 비용을 줄일 수 있기 때문에 게이트웨이의 소프트웨어의 플랫폼화는 지속될 것으로 예상된다.
게이트웨이에 탑재되는 소프트웨어 플랫폼은 기본적으로 운영체제와 미들웨어, 그리고 응용 소프트웨어로 구성된다.
운영체제는 하드웨어 사양에 맞추어 탑재되는데, 일반적으로 Window 계열의 OS와 Linux 계열의 OS가 사용되며, 안드로이드 계열의 OS가 사용되기도 한다.
미들웨어는 게이트웨이의 각종 기능을 수행하는 응용 소프트웨어를 구동시켜는 기능을 수행하는 것이며, 그 예로서 C언어기반으로 작성된 응용 소프트웨어를 구동하는 GCC, JAVA 기반으로 작성된 응용 소프트웨어를 구동하는 JVM 등이 있다.
응용 소프트웨어는 게이트웨이의 실제 기능이 동작될 수 있도록 실행되는 소프트웨어로써, 일반적으로 IoT 및 IIoT 분야에서는 센서 데이터의 수집, 처리, 저장, 전달 등의 기능을 수행한다.
하나의 게이트웨이에는 다양한 기능을 수행하는 하나의 응용 소프트웨어가 탑재되어 구동될 수 있으며, 하나의 응용 소프트웨어에서 처리된 결과값이 다른 응용 소프트웨어의 입력값으로 사용되기도 하기 때문에, 동시에 여러 응용 소프트웨어가 구동되기도 한다.
일반적으로, 이러한 응용 소프트웨어는 운영체제와 미들웨어에 종속되어 개발되고 구동된다.
즉, 각각 서로 다른 운영체제와 미들웨어를 탑재한 게이트웨이가 있을 때, 동일한 기능을 수행하는 응용 소프트웨어일지라도 각각의 운영체제와 미들웨어의 환경에 맞도록 수정되어야 한다.
이러한 환경으로 인해, 다양한 응용 소프트웨어가 동시에 구동되어야 하는 게이트웨이 환경에서, 각각의 운영체제와 미들웨어의 환경을 고려하여 응용 소프트웨어를 구동하고 관리하는 일반적인 사용자에게 매우 어려운 일이 되고 있다.
특히, 게이트웨이가 매우 많은 기능을 수행하거나 새로운 기능을 추가/불필요한 기능을 삭제해야 하는 경우 사용자는 응용 소프트웨어 관리에 매우 큰 부담을 갖게 된다.
종래 기술에 따르면, 게이트웨이의 터미널(CLI 또는 명령어 모드)에 접속하여 각각의 마이크로서비스에 대한 관리(다운로드, 삭제, 시작, 종료 등) 명령어를 직접 실행하는 방법이 사용된다.
그런데, 명령어를 입력하여 직접 마이크로서비스를 관리하는 종래의 방식은 일반적인 사용자가 사용하기에는 다소 불편한 점이 있으며, 명령어 입력에 오탈자가 발생하는 경우 게이트웨이 전체에 심각한 오류를 발생시키게 되는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 게이트웨이의 마이크로서비스를 편리하고 직관적으로 관리할 수 있는 장치 및 방법을 제공하고, 마이크로서비스들 간의 연결 관계 및 데이터 전달 상태를 가시화하여 사용자 편의성을 높이는 UI를 제공하기 위해 제안된 것이다.
도 1은 본 발명의 실시예에 따른 마이크로서비스 관리 장치를 나타내는 블록도이다.
본 발명의 실시예에 따른 마이크로서비스 관리 장치는 마이크로서비스 관리 UI 프로그램이 저장된 메모리(110) 및 프로그램을 실행시키는 프로세서(120)를 포함하고, 프로세서(120)는 마이크로서비스의 기능에 따라 그룹을 나누어 게이트웨이에 적재시킨다.
프로세서(120)는 원격지 서버로부터 게이트웨이에서 수행 가능한 마이크로서비스를 수신하여 리스트를 표출시키고, 드래그앤 드랍 방식으로 리스트 상의 마이크로서비스를 그룹별 영역으로 이동시켜 게이트웨이에 적재시킨다.
프로세서(120)는 게이트웨이에 적재된 마이크로서비스를 아이콘 형태로 표시하되, 마이크로서비스의 동작 상태와 관련한 제어 버튼을 표시한다.
프로세서(120)는 기분류된 그룹 외에 새로운 서비스를 제공하는 마이크로서비스를 적재하는 경우, 새로운 서비스를 제공하는 마이크로서비스의 그룹을 그 서비스 내용에 따라 기분류된 그룹의 체계 내에 포함시킨다.
프로세서(120)는 마이크로서비스의 입출력 데이터 설정에 따라, 복수의 마이크로서비스 간에 송수신되는 데이터의 흐름을 표시하는데, 제공되는 서비스의 내용에 따라 데이터의 흐름을 구분하여 표시한다.
프로세서(120)는 입력 데이터 선택 영역, 조건 설정 영역, 출력 데이터의 목적지 영역을 포함하여, 입출력 데이터 설정 화면을 제공한다.
프로세서(120)는 마이크로서비스 리스트를 참조하여, 신규 마이크로서비스 또는 상기 신규 마이크로서비스의 제공을 위한 디바이스를 추천한다.
본 발명에 따르면, IoT 및 IIoT 게이트웨이에서 동작하는 마이크로서비스들을 관리하는 장치 및 방법을 제공하며, 일반적인 사용자가 각 마이크로서비스를 편리하게 관리하고, 마이크로서비스간에 주고받는 데이터의 흐름을 쉽게 확인할 수 있도록 하는 UI를 제공한다.
도 2는 본 발명의 실시예에 따른 마이크로서비스의 구조를 도시한다.
본 발명의 실시예에 따른 마이크로서비스는 고유 기능을 수행하는 마이크로서비스 코어(140) 및 마이크로서비스 코어(140)에 처리할 데이터를 전달하거나, 처리된 결과 값을 전달받을 Data API(130)를 포함한다.
또한, 마이크로서비스 코어(140) 의 동작 설정, 마이크로서비스의 상태 정보를 조회하기 위한 Config API(150)를 포함한다.
Data API(130) 및 Config API(150)는 일반적으로 http 기반의 Restful API 형태로 작성되어 인터페이싱 되며, 웹 소켓(Web Socket)이나 MQTT 등과 같은 소프트웨어 기술 기반으로 작성되는 것 역시 가능하다.
마이크로서비스는 도 3a에서 도시한 바와 같이, Docker와 같은 미들웨어를 기반으로 동작할 수 있고, 개발자가 완전하게 마이크로서비스 코어, Data API, Config API를 운영체제에 상관 없이 독립적으로 동작하도록 구현하는 경우 도 3b에 도시한 바와 같이 시스템에 탑재되는 것이 가능하다.
이때, 도 3a 및 도 3b에 도시한 바와 같이, 마이크로서비스 매니저(190)는 각 마이크로서비스의 Config API를 이용하여 마이크로서비스들을 관리한다.
도 4a 내지 도 4c를 참조하면, 본 발명의 실시예에 따른 UI 서비스는 도 4a에 도시한 바와 같이 마이크로서비스 매니저(19) 내부에 위치할 수 있고, 도 4b에 도시한 바와 같이 마이크로서비스 매니저(190)가 별도의 API를 제공하는 경우 마이크로서비스 매니저(190)와 별도로 구동될 수 있고, 도 4c에 도시한 바와 같이 마이크로서비스의 Config API 및 마이크로서비스 매니저의 API가 외부 접속을 허용하는 경우, 동일 게이트웨이가 아닌 외부의 특정 시스템에서 구동되는 것이 가능하다.
본 발명의 실시예에 따른 마이크로서비스 관리 UI는 웹이나 기타 다양한 프로그래밍 언어를 기반으로 다양한 형태로 구현될 수 있다.
도 5는 본 발명의 실시예에 따른 그룹 기반 마이크로서비스 관리 UI 화면의 구성을 나타내는 예시도이다.
본 발명의 실시예에 따르면, 도 5에 도시한 바와 같이 마이크로서비스의 기능에 따라 그룹을 나눠 마이크로서비스를 관리한다.
예를 들어, 게이트웨이에 장착된 각종 장치들을 제어하는 마이크로서비스의 경우, 장치 서비스(Device service) 그룹으로 그룹핑되고, 게이트웨이에서 처리된 데이터를 클라우드로 전달하는 마이크로서비스의 경우 익스포트 서비스(Export service) 그룹으로 그룹핑된다.
장치 서비스 그룹, 익스포트 서비스 그룹 외에도, 게이트웨이의 각종 데이터를 처리하는 다양한 서비스를 그룹으로 묶어 나타내는 것이 가능하다.
예컨대, 게이트웨이에 부착된 센서로부터 특정 데이터가 입력되는 경우, 특정 데이터의 입력을 탐지하고 이를 알람 메시지로 익스포트하는 마이크로서비스가 있을 때, 이러한 알람서비스는 새로운 그룹이 되어 장치 서비스와 익스포트 서비스 사이에 다른 이름의 그룹으로 나타낼 수 있다.
도 5를 참조하면, 마이크로서비스 관리 UI의 오른편에는 현재 게이트웨이가 수용할 수 있는 마이크로서비스의 종류가 리스트업 된다.
즉, 사용자가 장치 서비스에 관련한 마이크로서비스를 추가하고자 할 때, 장치 서비스에 추가할 수 있는 마이크로서비스들의 리스트를 조회하고, 사용 가능한 마이크로서비스 리스트에서 마우스 등으로 이를 드래그하여 장치 서비스의 슬롯에 드랍한다.
본 발명의 실시예에 따르면, 마이크로서비스 리스트를 참조하여, 신규 마이크로서비스 또는 신규 마이크로서비스의 제공을 위한 디바이스를 추천한다.
사용 중인 마이크로서비스를 드래그하여 우측 마이크로서비스 리스트 영역으로 드랍함으로써, 사용 중인 마이크로서비스를 삭제할 수 있고, 해당 마이크로서비스에서 이를 삭제하는 메뉴를 클릭하는 방식으로 마이크로서비스를 삭제하는 것이 가능하다.
도 6은 본 발명의 실시예에 따른 마이크로서비스의 UI 표시예를 도시하는 것으로, 사용 중인 마이크로서비스의 각종 상태 정보를 나타내는 모습과 시작, 종료 등 컨트롤을 할 수 있는 버튼의 모습을 도시한다.
마이크로서비스의 UI 표시예는 해당 마이크로서비스가 제공하는 Config API 에 따라서 다양하게 표현될 수 있으며, 사용자가 복잡한 명령어를 직접 입력하는 대신 간단한 조작(클릭 또는 드래그)을 통해서 마이크로서비스를 관리할 수 있어, 직관적이면서 관리 효율성이 증대되는 효과가 있다.
본 발명의 실시예에 따르면, 다양한 센서가 부착된 게이트웨이에서, 특정 이벤트를 탐지하는 마이크로서비스를 구동시키고, 구글 IoT 서버/마이크로서비스 Azure/아마존 AWS/사설 MQTT 등 다양한 클라우드 서비스로 데이터를 전송하고자 하는 경우, 마이크로서비스들 간에 주고받는 데이터의 흐름을 도시화함으로써, 사용자의 편의성 및 관리의 용이성을 증대시키는 효과가 있다.
도 7은 본 발명의 실시예에 따른 UI에서의 마이크로서비스 간의 데이트 흐름 표시예를 도시한다.
도 7을 참조하면, 예컨대 온도 센서로부터 수집한 Temp-01 데이터의 Raw 데이터 저장을 위해 저장소 MQTT로 전달하는 흐름(점선 화살표) 및, Temp-01 데이터 중에서 알람 서비스에서 검출한 특정 이벤트에 해당하는 데이터를 Azure 클라우드로 전달하는 데이터 흐름(실선 화살표)을 나타낸다.
이러한 데이터 흐름을 UI를 통해 제공하기 위하여, 각 마이크로서비스는 입력 데이터 및 출력 데이터에 대한 설정이 가능하도록 UI를 제공하며, 도 8은 본 발명의 실시예에 따른 UI에서의 마이크로서비스 설정예를 도시한다.
도 8을 참조하면, 어떤 센서 데이터를 입력으로 받을 것인지를 선택하는 영역(Device Service), 입력 데이터 중 알람으로 전달할 조건을 입력하는 영역(Condition), 알람으로 검출된 데이터를 어느 마이크로서비스로 전달할지를 선택하는 영역(Destination Service)을 포함하여, 마이크로서비스를 설정하는 것이 가능하다.
본 발명의 실시예에 따르면, 마이크로서비스의 설정은 해당 마이크로서비스의 기능 동작에 따라서 다양한 형태의 UI로 구성될 수 있지만 마이크로서비스간 데이터 흐름을 나타내기 위하여 입력 데이터 선택부, 각종 기능을 수행할 조건식 또는 설정값 입력부, 출력 데이터 선택부를 포함한다.
본 발명의 실시예에 따르면, 데이터의 흐름을 나타내는 선은 상호 구분을 위해 다양한 형태 및 색상을 적용하여 디스플레이할 수 있고, 데이터의 흐름이 중복되는 지점에서의 선은 하나의 선으로 표현하거나 특정 표식을 추가하여 이를 표현하는 것이 바람직하다.
도 9는 본 발명의 실시예에 따른 마이크로서비스 관리 방법을 나타내는 순서도이다.
본 발명의 실시예에 따른 마이크로서비스 관리 방법은 마이크로서비스 리스트를 수신하는 단계(S910)와, 마이크로서비스 리스트에 포함된 마이크로서비스를 기능에 따라 그룹을 나누어 게이트웨이에 적재하는 단계(S920) 및 게이트웨이에 적재된 마이크로서비스 간에 송수신되는 데이터 흐름을 표시하는 단계(S930)를 포함한다.
S910 단계는 원격지 서버로부터 마이크로서비스 리스트를 수신하여 표출하되, 마이크로서비스가 포함되는 그룹에 대한 정보를 함께 표출한다.
즉, 마이크로서비스 리스트에 포함되는 마이크로서비스는, 각각이 포함되어야 할 그룹에 대해 아이콘의 형상/색상 등으로 그룹 정보를 표시한다.
S920단계에서는, 드래그앤 드랍 방식으로 마이크로서비스 리스트 상의 마이크로서비스를 그룹별 영역으로 이동시켜 게이트웨이에 적재한다.
S920단계는 게이트웨이에 적재된 마이크로서비스의 동작 상태 및 그와 관련한 제어 버튼을 표시하는 것으로, 동작 중 표시, 정지 중 표시, 중지버튼, 시작 버튼, 설정 버튼을 포함하여 표시한다.
S930 단계는 마이크로서비스의 입출력 데이터 설정에 따라, 데이터 흐름을 그 서비스 내용에 따라 구분하여 표시한다.
한편, 본 발명의 실시예에 따른 마이크로서비스 관리 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 마이크로서비스 관리 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 마이크로서비스 관리 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 관리 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 마이크로서비스 관리 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이제까지 본 발명의 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
110: 메모리 120: 프로세서
130: Data API 140: 마이크로서비스 코어
150: Config API 160: 게이트웨이 하드웨어
170: OS 180: 마이크로서비스
190: 마이크로서비스 매니저

Claims (13)

  1. 마이크로서비스 관리 UI 프로그램이 저장된 메모리; 및
    상기 프로그램을 실행시켜 마이크로서비스의 기능에 따라 그룹을 나누어 게이트웨이에 적재하는 프로세서를 포함하고,
    상기 프로세서는 원격지 서버로부터 상기 게이트웨이에서 수행 가능한 마이크로서비스를 수신하여 상기 마이크로서비스의 리스트를 표출시키고, 드래그앤 드랍 방식으로 리스트 상의 마이크로서비스를 기능에 따라 그룹핑된 서비스 그룹별 영역으로 이동시켜 상기 게이트웨이에 적재하고, 상기 게이트웨이에 적재되어 사용 중인 상기 마이크로서비스의 동작 중 표시, 정지 중 표시, 시작 버튼, 중지 버튼, 설정버튼, 상세정보 조회 버튼을 표시하는 것
    인 마이크로서비스 관리 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 프로세서는 기분류된 그룹 외에 새로운 서비스를 제공하는 마이크로서비스를 적재하는 경우, 새로운 서비스를 제공하는 마이크로서비스의 그룹을 그 서비스 내용에 따라 상기 기분류된 그룹의 체계 내에 포함시키는 것
    인 마이크로서비스 관리 장치.
  5. 제1항에 있어서,
    상기 프로세서는 상기 마이크로서비스의 입출력 데이터 설정에 따라, 복수의 마이크로서비스 간에 송수신되는 데이터의 흐름을 표시하는 것
    인 마이크로서비스 관리 장치.
  6. 제5항에 있어서,
    상기 프로세서는 입력 데이터 선택 영역, 조건 설정 영역, 출력 데이터의 목적지 영역을 포함하여, 상기 입출력 데이터 설정 화면을 제공하는 것
    인 마이크로서비스 관리 장치.
  7. 제5항에 있어서,
    상기 프로세서는 제공되는 서비스의 내용에 따라 상기 데이터의 흐름을 구분하여 표시하는 것
    인 마이크로서비스 관리 장치.
  8. 제1항에 있어서,
    상기 프로세서는 상기 리스트를 참조하여, 신규 마이크로서비스 또는 상기 신규 마이크로서비스의 제공을 위한 디바이스를 추천하는 것
    인 마이크로서비스 관리 장치.
  9. (a) 원격지 서버로부터 마이크로서비스 리스트를 수신하여 표출하되, 상기 마이크로서비스가 포함되는 그룹에 대한 정보를 함께 표출하는 단계;
    (b) 상기 마이크로서비스 리스트에 포함된 마이크로서비스를 기능에 따라 그룹핑된 서비스 그룹별 영역으로 이동시켜 게이트웨이에 적재하고, 상기 게이트웨이에 적재되어 사용 중인 상기 마이크로서비스의 동작 중 표시, 정지 중 표시, 시작 버튼, 중지 버튼, 설정버튼, 상세정보 조회 버튼을 표시하는 단계; 및
    (c) 상기 게이트웨이에 적재된 마이크로서비스 간에 송수신되는 데이터 흐름을 표시하는 단계
    를 포함하는 마이크로서비스 관리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제9항에 있어서,
    상기 (c) 단계는 상기 마이크로서비스의 입출력 데이터 설정에 따라, 상기 데이터 흐름을 그 서비스 내용에 따라 구분하여 표시하는 것
    인 마이크로서비스 관리 방법.
KR1020180145892A 2018-11-23 2018-11-23 마이크로서비스 관리 장치 및 그 방법 KR102258115B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180145892A KR102258115B1 (ko) 2018-11-23 2018-11-23 마이크로서비스 관리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180145892A KR102258115B1 (ko) 2018-11-23 2018-11-23 마이크로서비스 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200060834A KR20200060834A (ko) 2020-06-02
KR102258115B1 true KR102258115B1 (ko) 2021-05-31

Family

ID=71090812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180145892A KR102258115B1 (ko) 2018-11-23 2018-11-23 마이크로서비스 관리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102258115B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102521906B1 (ko) * 2022-03-23 2023-04-14 오픈마루 주식회사 마이크로서비스 아키텍처를 구성하는 미들웨어의 성능 상의 문제점에 대하여 사용자의 인터랙션을 유도하고 문제점에 대한 해결절차를 제공하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885586B1 (ko) * 2017-05-04 2018-08-06 에스케이브로드밴드주식회사 마이크로서비스관리장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740117B2 (en) * 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
KR20150013416A (ko) * 2014-12-29 2015-02-05 남서울대학교 산학협력단 데이터 시각화를 통한 데이터 분석 장치 및 그 방법
KR20180120991A (ko) * 2017-04-28 2018-11-07 한국전자통신연구원 마이크로서비스 응용의 분산 설치 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885586B1 (ko) * 2017-05-04 2018-08-06 에스케이브로드밴드주식회사 마이크로서비스관리장치 및 방법

Also Published As

Publication number Publication date
KR20200060834A (ko) 2020-06-02

Similar Documents

Publication Publication Date Title
US9641647B2 (en) Communication protocol and system for network communications
JP7481421B2 (ja) Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング
US10728340B2 (en) Internet of things (IOT) platform for device configuration management and support
US10708135B1 (en) Unified and automated installation, deployment, configuration, and management of software-defined storage assets
EP2840813B1 (en) Service method and system using instance interface of virtualization object in internet of things environment
US9330102B2 (en) Multi-tenant platform-as-a-service (PaaS) system implemented in a cloud computing environment
EP2661014B1 (en) Polling sub-system and polling method for communication network system and communication apparatus
US20130332524A1 (en) Data service on a mobile device
CN107787481B (zh) 用于自动化环境中的连接的软件应用的接口
US11403196B2 (en) Widget provisioning of user experience analytics and user interface / application management
US10951469B2 (en) Consumption-based elastic deployment and reconfiguration of hyper-converged software-defined storage
RU2605918C2 (ru) Способ предоставления функций в промышленной системе автоматизации и промышленная система автоматизации
JP2021502624A (ja) ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム
KR102258115B1 (ko) 마이크로서비스 관리 장치 및 그 방법
KR101570619B1 (ko) 인스턴스 호스팅 환경에서의 성능 개선 방법 및 서비스 시스템
KR20150023198A (ko) 사물 정보의 가상객체 생성을 위한 인스턴스 프로파일 스키마를 이용한 서비스 방법 및 시스템
US20160352577A1 (en) Multiple gateway virtualization
KR101494096B1 (ko) 가상화된 객체의 동작 환경을 제공하기 위한 서비스 방법 및 시스템
KR101493166B1 (ko) IoT 환경에서 가상화된 객체의 인스턴스를 관리하기 위한 웹 기반 사용자 인터페이스를 제공하는 서비스 방법 및 시스템
KR101399800B1 (ko) 인스턴스 호스팅을 위한 서비스 제공 방법 및 서비스 제공 시스템
US10078314B2 (en) Method for providing functions within an industrial automation system, and industrial automation system
KR101494097B1 (ko) IoT 환경에서 가상화 오브젝트의 인스턴스 인터페이스를 이용한 서비스 방법 및 시스템
US9792100B1 (en) Application deployment system and method for a computing infrastructure
KR102056450B1 (ko) 변경된 품질을 갖는 이미지를 포함하는 콘텐츠를 제공하는 방법 및 장치
EP3542271B1 (en) Systems and methods for filesystem-based computer application communication

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant