KR20240075058A - 클라우드의 api의 변경을 분석하는 방법 - Google Patents

클라우드의 api의 변경을 분석하는 방법 Download PDF

Info

Publication number
KR20240075058A
KR20240075058A KR1020220155863A KR20220155863A KR20240075058A KR 20240075058 A KR20240075058 A KR 20240075058A KR 1020220155863 A KR1020220155863 A KR 1020220155863A KR 20220155863 A KR20220155863 A KR 20220155863A KR 20240075058 A KR20240075058 A KR 20240075058A
Authority
KR
South Korea
Prior art keywords
api
document
event
control unit
collection module
Prior art date
Application number
KR1020220155863A
Other languages
English (en)
Inventor
조근석
곽동익
Original Assignee
(주)아스트론시큐리티
Filing date
Publication date
Application filed by (주)아스트론시큐리티 filed Critical (주)아스트론시큐리티
Priority to US17/994,735 priority Critical patent/US20240168826A1/en
Priority to JP2022190736A priority patent/JP7470769B1/ja
Publication of KR20240075058A publication Critical patent/KR20240075058A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Abstract

본 발명의 일 실시예에 있어서, 클라우드의 API의 변경을 분석하는 방법은
상기 서버가, 네트워크를 통해 도큐먼트를 수집하는 도큐먼트 수집 모듈, 사용자의 이벤트에 대한 정보를 수집하는 이벤트 수집 모듈, API에 대한 정보를 저장하는 데이터베이스 및 상기 도큐먼트 수집 모듈 및 상기 이벤트 수집 모듈을 제어하는 제어부를 포함하고, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제1 시점에 제1a 도큐먼트를 수집하는 단계 - 상기 제1a 도큐먼트는 상기 제1 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집하는 단계 - 상기 제1b 도큐먼트는 상기 제2 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 제어부가 상기 제1a 도큐먼트와 상기 제1b 도큐먼트를 비교하여 상기 제1 API에 대한 변경여부를 판단하는 단계, 상기 제1 API에 대한 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제1 API의 변경점을 파악하는 단계, 상기 제어부가 상기 데이터베이스에 상기 제1 API의 변경점에 대한 내용을 반영하는 단계, 상기 이벤트 수집 모듈이 제3 시점에 제1a 이벤트를 수집하는 단계 - 상기 제1a 이벤트는 상기 제3 시점에 수집한 제2 API에 대한 이벤트임 -, 상기 이벤트 수집 모듈이 제4 시점에 제1b 이벤트를 수집하는 단계 - 상기 제1b 이벤트는 상기 제4 시점에 수집한 상기 제2 API에 대한 이벤트임 -, 상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경여부를 판단하는 단계, 상기 제2 API의 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제2 API의 변경점을 파악하는 단계, 및 상기 제어부가 상기 데이터베이스에 상기 제2 API의 변경점에 대한 내용을 반영하는 단계를 포함한다.

Description

클라우드의 API의 변경을 분석하는 방법{Method of analyzing changes in API in the cloud}
본 발명은 클라우드의 API의 변경을 분석하는 기술에 관한 것으로, 보다 상세하게는 클라우드 컴퓨팅 환경에서 클라우드 API를 통해 수신하는 모든 이벤트 정보에 대해 변경점을 감지하고, 적용할 수 있게 하는 시스템에 관한 것이다.
최근 클라우드의 기술의 발달 및 활용 극대화에 따라 SaaS(Software as a Service)형 클라우드 컴퓨팅 서비스가 보편화되어 있다. 그에 따라, 클라우드의 기능, 관리 및 개선을 위해 다양한 클라우드 사업자로부터 제공받는 API를 파악하는 일의 중요성은 증가하고 있다.
그러나 각각의 클라우드마다 다른 정책 관리와 실시간으로 생성되고 삭제되는 클라우드 API를 빠른 시간에 감지하기 어렵고, 다양한 API를 원활하게 반영하기 어렵다는 문제가 있다. 또한 변경점을 솔루션에 적용하지 않으면, 클라우드 API의 중요도에 따라 잘못된 데이터로 인해 솔루션 오작동이 발생하고, 기업에 큰 피해가 발생할 수 있다.
따라서 클라우드의 실시간 API 변경점을 보다 효과적으로 제공받을 수 있는 방법에 대한 요구가 증대되고 있다.
대한민국 공개특허공보 제10-2022-0112995호(2022년08월12일 공개)
본 발명은 클라우드의 API의 변경점을 용이하게 파악하고 효율적으로 관리할 수 있는 클라우드의 API의 변경을 분석하는 방법을 제공하는 것에 목적이 있다.
또한, 본 발명은 클라우드의 API 변경점 중요도가 알림 임계조건을 만족할 경우 서버관리자가 서버 관리를 원활하게 할 수 있도록 알림을 제공하는 클라우드의 API의 변경을 분석하는 방법을 제공하는 것에 목적이 있다.
본 발명의 일 실시예에 있어서, 클라우드의 API의 변경을 분석하는 방법은
상기 서버가, 네트워크를 통해 도큐먼트를 수집하는 도큐먼트 수집 모듈, 사용자의 이벤트에 대한 정보를 수집하는 이벤트 수집 모듈, API에 대한 정보를 저장하는 데이터베이스 및 상기 도큐먼트 수집 모듈 및 상기 이벤트 수집 모듈을 제어하는 제어부를 포함하고, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제1 시점에 제1a 도큐먼트를 수집하는 단계 - 상기 제1a 도큐먼트는 상기 제1 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집하는 단계 - 상기 제1b 도큐먼트는 상기 제2 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 제어부가 상기 제1a 도큐먼트와 상기 제1b 도큐먼트를 비교하여 상기 제1 API에 대한 변경여부를 판단하는 단계, 상기 제1 API에 대한 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제1 API의 변경점을 파악하는 단계, 상기 제어부가 상기 데이터베이스에 상기 제1 API의 변경점에 대한 내용을 반영하는 단계, 상기 이벤트 수집 모듈이 제3 시점에 제1a 이벤트를 수집하는 단계 - 상기 제1a 이벤트는 상기 제3 시점에 수집한 제2 API에 대한 이벤트임 -, 상기 이벤트 수집 모듈이 제4 시점에 제1b 이벤트를 수집하는 단계 - 상기 제1b 이벤트는 상기 제4 시점에 수집한 상기 제2 API에 대한 이벤트임 -, 상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경여부를 판단하는 단계, 상기 제2 API의 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제2 API의 변경점을 파악하는 단계, 및 상기 제어부가 상기 데이터베이스에 상기 제2 API의 변경점에 대한 내용을 반영하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 클라우드의 API의 변경을 분석하는 방법은 서비스형 소프트웨어(SAAS, Software-as-a-Service) 방식으로 제공될 수 있다.
또한, 상기 제2 API의 변경점을 파악하는 단계는, 상기 도큐먼트 수집 모듈이 상기 제2 API에 대한 제2 도큐먼트를 수집하는 단계, 및 상기 제어부가 상기 제2 도큐먼트에 기반하여 상기 제2 API의 변경점을 파악하는 단계를 더 포함할 수 있다.
또한, 상기 제2 API의 변경점을 파악하는 단계에서, 상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경점을 파악하도록 더 구성할 수 있다.
본 발명의 일 실시예에 있어서, 상기 이벤트 수집 모듈이 제2 이벤트를 수집하는 단계 - 상기 제2 이벤트는 제3 API에 대한 이벤트임 -, 상기 제어부가 상기 데이터베이스에 상기 제3 API에 대한 정보가 없음을 판단하는 단계, 상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 API에 대한 제3 도큐먼트를 탐색하는 단계, 상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 도큐먼트를 수집하는 단계, 상기 제어부가 상기 데이터베이스에 상기 제3 API의 항목을 생성하고, 상기 제3 도큐먼트에 기반하여 상기 제3 API에 대한 내용을 반영하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 도큐먼트 수집 모듈이 제3 API에 대한 제3 도큐먼트에 대한 정보를 수집하는 단계, 상기 제어부가 상기 데이터베이스에 상기 제3 API에 대한 정보가 없음을 판단하는 단계, 상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 API에 대한 제3 도큐먼트를 탐색하는 단계, 상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 도큐먼트를 수집하는 단계 및 상기 제어부가 상기 데이터베이스에 상기 제3 API의 항목을 생성하고, 상기 제3 도큐먼트에 기반하여 상기 제3 API에 대한 내용을 반영하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 제어부가 상기 제1 API의 변경점 및 상기 제2 API의 변경점 중 어느 하나에 대한 중요도를 판단하는 단계, 상기 제어부가 상기 중요도가 알림 임계조건을 만족하는지 여부를 판단하는 단계, 및 상기 제어부가 관리자 단말에 상기 제1 API의 변경점 및 상기 제2 API의 변경점 중 어느 하나에 대한 알림을 제공하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터베이스는 복수의 API가 미리 정해진 기준에 따라 분류된 복수의 분류 그룹을 저장하고 있고, 상기 제어부가 상기 복수의 분류 그룹 중 상기 제1 API가 속하는 분류 그룹에 기반하여 상기 제1 시점 및 상기 제2 시점에 대한 시간 주기 및 시간 간격 중 적어도 하나를 결정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 클라우드의 API의 변경을 분석하는 방법은 메모리, 상기 메모리와 연결되고, 상기 메모리에 포함된 명령들을 실행하도록 구성된 프로세서, 네트워크를 통해 도큐먼트를 수집하는 도큐먼트 수집 모듈, 사용자의 이벤트에 대한 정보를 수집하는 이벤트 수집 모듈, API에 대한 정보를 저장하는 데이터베이스 및 상기 도큐먼트 수집 모듈 및 상기 이벤트 수집 모듈을 제어하는 제어부를 포함하고, 상기 프로세서는, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제1 시점에 제1a 도큐먼트를 수집하는 단계 - 상기 제1a 도큐먼트는 상기 제1 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 도큐먼트 수집 모듈이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집하는 단계 - 상기 제1b 도큐먼트는 상기 제2 시점에 수집한 제1 API에 대한 도큐먼트임 -, 상기 제어부가 상기 제1a 도큐먼트와 상기 제1b 도큐먼트를 비교하여 상기 제1 API에 대한 변경여부를 판단하는 단계, 상기 제1 API에 대한 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제1 API의 변경점을 파악하는 단계, 상기 제어부가 상기 데이터베이스에 상기 제1 API의 변경점에 대한 내용을 반영하는 단계, 상기 이벤트 수집 모듈이 제3 시점에 제1a 이벤트를 수집하는 단계 - 상기 제1a 이벤트는 상기 제3 시점에 수집한 제2 API에 대한 이벤트임 -, 상기 이벤트 수집 모듈이 제4 시점에 제1b 이벤트를 수집하는 단계 - 상기 제1b 이벤트는 상기 제4 시점에 수집한 상기 제2 API에 대한 이벤트임 -, 상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경여부를 판단하는 단계, 상기 제2 API의 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제2 API의 변경점을 파악하는 단계 및 상기 제어부가 상기 데이터베이스에 상기 제2 API의 변경점에 대한 내용을 반영하는 단계를 포함한다.
본 발명의 클라우드의 API의 변경을 분석하는 방법은 클라우드의 API의 변경점을 용이하게 파악하고 효율적으로 관리할 수 있다는 장점이 있다.
또한, 본 발명의 클라우드의 API의 변경을 분석하는 방법은 클라우드의 API 변경점 중요도가 알림 임계조건을 만족할 경우 서버관리자가 서버 관리를 원활하게 할 수 있도록 알림을 제공할 수 있다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 변경점 분석 서버의 구성요소이다.
도 3은 본 발명의 일 실시예에 따른 도큐먼트 수집 모듈의 동작에 대한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 이벤트 수집 모듈의 동작에 대한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 제어부가 이벤트와 이벤트를 비교하여 API의 변경여부를 판단했을 때 변경점을 파악하는 방법을 설명하기 위한 순서도이다.
도 6는 본 발명의 일 실시예에 따른 API의 생성 감지에 대한 순서도이다.
도 7는 본 발명의 일 실시예에 따른 제어부가 도큐먼트 서버에서 제공받은 도큐먼트를 비교하는 방법을 설명하기 위한 예시 화면이다.
도 8는 본 발명의 일 실시예에 따른 제어부가 이벤트 수집 모듈이 수집한 이벤트를 비교하는 방법을 설명하기 위한 예시 화면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, 설명되는 각 단계들은 특별한 인과관계에 의해 나열된 순서에 따라 수행되어야 하는 경우를 제외하고, 나열된 순서와 상관없이 수행될 수 있다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부된 도면들을 참조하여 본 발명에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 1에 도시된 본 발명의 일 실시예에 따른 네트워크 환경은 서버(10), 도큐먼트 서버(20), 변경점 분석 서버(30) 및 사용자 단말(40)을 포함할 수 있다.
서버(10)는 미리 정해진 규칙 또는 사용자의 요청에 의해 API(Application Programming Interface)를 실행하는 장치를 의미한다. 서버(10)에서 API가 실행되면 API에 대응되는 이벤트가 생성된다. 이벤트 정보는 실행된 API의 이벤트 이름, API의 실행 시각, API의 실행 주체 및 이벤트의 응답 신택스(Response Syntax)를 포함한다. 여기서, 응답 신택스는 서버가 API를 실행함에 따라 생성하는 정보의 문법을 의미한다. 서버(10)는 이러한 응답 신택스를 사용자 단말에 제공할 수 있다.
서버(10)는 API의 실행 결과에 대한 정보를 저장하는 이벤트 기록부를 포함할 수 있다. 이벤트 기록부는 해당 서버가 실행한 API에 대응하는 이벤트 정보를 데이터베이스 형태로 저장할 수 있다. 이러한 이벤트 기록부는 예를 들어, 해당 서버가 AWS(Amazon Web Services)인 경우, 클라우드 트레일(CloudTrail)로 지칭될 수 있다.
도큐먼트 서버(20)는 API에 대한 도큐먼트를 저장하고 있는 서버를 의미한다. 여기서, API에 대한 도큐먼트는 API의 이름, 정의, 기능, 요청 신택스(Request Syntax)의 형식, API가 실행됨에 따라 생성 또는 제공되는 파라미터에 대한 설명 및 응답 신택스의 형식 등을 설명하는 문서 정보일 수 있다. 예를 들어, API의 출력 형식은 JSON, YAML, YAML stream, Text, Table, CSV 등이 될 수 있다.
이러한 API에 대한 도큐먼트는 도큐먼트 서버에 의해 웹페이지 형태로 제공되거나, 다운로드 가능한 문서 형태로 제공될 수 있다. 이러한 API에 대한 도큐먼트는 API의 이름 또는 이벤트의 이름에 의해 구분되어 검색 가능하도록 제공되거나 목록화 되어 제공될 수 있다. 예를 들어, AWS 클라우드 트레일의 룩업 이벤트(LookupEvents) API를 호출하여 출력되는 구문이 "cloudtrail:LookupEvents with an explicit deny"일 경우, 연결된 자격 증명 및 엑세스 관리(Identity and Access Management, IAM) 정책이 올바르지 않음을 알 수 있고, 출력 구문이 "cloudtrail:LookupEvents because no identity-based policy allows" 인 경우, 자격 증명 기반 정책이 API 작업을 허용하지 않아 생기는 오류임을 알 수 있다.
도큐먼트 서버(20)는 제공하는 도큐먼트의 API를 실행하는 서버(10)와 동일 또는 연관 주체에 의해 생성되고 관리될 수 있다. 따라서 도큐먼트 서버(20)는 관련된 서버(10)에서 실행 가능한 API의 도큐먼트를 선택적으로 저장할 수 있다. 예를 들어, 서버(10)가 AWS 서버인 경우 도큐먼트 서버(20)는 AWS Documentation의 API Reference 항목을 제공하는 서버일 수 있다. 여기서, 도큐먼트 서버를 생성하고 관리하는 연관 주체는 클라우드 컴퓨팅 서비스를 운영하는 아마존, 구글, 마이크로소프트, 오라클 및 네이버 등을 포함하는 클라우드 사업자로 이해될 수 있다.
변경점 분석 서버(30)는 본 발명의 API의 변경을 분석하는 방법을 수행하는 주체가 될 수 있다. 변경점 분석 서버(30)는 서버(10)의 이벤트 기록부로부터 이벤트 정보를 수집할 수 있다. 변경점 분석 서버(30)는 도큐먼트 서버(20)로부터 API에 대한 도큐먼트를 수집할 수 있다. 변경점 분석 서버(30)는 수집한 이벤트 정보 및 도큐먼트에 기반하여 API에 대한 변경여부 및 API의 신규 생성여부를 판단할 수 있다. 이후, 변경점 분석 서버(30)는 API의 변경점 및 신규 생성 정보 등을 데이터베이스에 저장하여 관리하게 된다.
여기서, 변경점 분석 서버(30)는 클라우드 애플리케이션, IT 인프라 및 플랫폼을 인터넷 브라우저를 통해 API 변경 서비스를 사용자 단말에 제공하는 서비스로서의 소프트웨어(Software-as-a-Service, SaaS)로 이해될 수 있다.
사용자 단말(40)은 변경점 분석 서버(30)가 제공하는 API의 변경을 분석하는 서비스를 제공받는 단말을 의미한다. 또한, 사용자 단말(40)은 미리 정해진 규칙 또는 사용자의 요청을 서버(10)와 통신을 실행하여 API 호출할 수 있다. 사용자 단말(40)의 호출에 의해 서버(10)가 실행한 API에 대한 결과는 서버(10)의 이벤트 기록부에 저장될 수 있다.
도 2는 본 발명의 일 실시예에 따른 변경점 분석 서버(30)의 구성요소이다.
도 2에 도시된 본 발명의 일 실시예에 따른 변경점 분석 서버(30)는 도큐먼트 수집 모듈(31), 이벤트 수집 모듈(32), 데이터베이스(33) 및 제어부(34)를 포함할 수 있다.
도큐먼트 수집 모듈(31)은 도큐먼트 서버(20)로부터 API에 대한 도큐먼트를 수집하는 부분이다. 도큐먼트 수집 모듈(31)은 동일한 도큐먼트를 서로 다른 시점에 수집할 수 있다. 여기서, 서로 다른 시점은 미리 정해진 주기 및 시간 간격에 의해 정해질 수 있다. 미리 정해진 주기 및 시간 간격은 도큐먼트에 해당하는 API의 중요도, 사용빈도, 도큐먼트 서버(20)상황 등에 의해서 결정될 수 있다.
이벤트 수집 모듈(32)은 서버(10)에 API의 실행 결과에 대한 정보를 데이터베이스 형태로 저장된 이벤트 기록부에 접속하여 실행된 API에 대응되는 이벤트 정보를 미리 정해진 주기, 시간 간격 또는 실시간으로 수집할 수 있다. 여기서 이벤트 정보를 수집하는 것은 트래픽 또는 데이터 병목 오류를 방지하기 위해 해당 서버의 이벤트 기록부의 조회 요청 속도를 반영하여 정해질 수 있다. 또한, 클라우드 트레일로부터 조회 요청 속도 정보도 함께 수신할 수 있다. 예를 들어, 이벤트 기록부가 AWS의 클라우드 트레일인 경우, 리전별, 계정별로 초당 2회 이하로 제한되고, 클라우드 트레일을 통해 결과가 제공되는 데 최대 15분이 소요될 수 있다. 따라서 클라우드 트레일로부터 API를 수집하기위한 간격은 제한 조건을 만족시키는 범위내에서 결정될 수 있다.
데이터베이스(33)는 서버(10)에서 실행되는 API에 대한 정보를 저장할 수 있다. 이러한 API에 대한 정보는 도큐먼트 수집 모듈(31)이 수집한 API에 대한 도큐먼트 및 이벤트 수집 모듈(32)이 수집한 API에 대한 이벤트 정보에 기반하여 생성될 수 있다. 또한, 이러한 API에 대한 변경 및 신규 생성이 확인되면, 데이터베이스(33)는 저장하고 있는 API에 대한 정보를 변경 또는 신규 생성하여 저장할 수 있다.
데이터베이스(33)는 복수의 API에 대한 정보를 저장할 수 있다. 이러한 복수의 API는 미리 정해진 기준에 따라 복수의 분류 그룹으로 분류되어 있을 수 있다. 이러한 복수의 분류 그룹은 API의 중요도, API의 사용빈도, API의 기능, API가 실행될 때 요구되는 권한 등에 따라 구분될 수 있다. 이러한 복수의 분류 그룹에 따라 후술할 제1 시점과 제2 시점 사이 및 제3 시점과 제4 시점 사이의 주기 및 시간 간격이 정해질 수 있다.
제어부(34)는 도큐먼트 수집 모듈(31), 이벤트 수집 모듈(32) 및 데이터베이스(33)와 연동되어 정보의 수집 및 비교 등을 제어할 수 있다. 제어부(34)는 도큐먼트 수집 모듈(31)이 수집한 API에 대한 도큐먼트 및 이벤트 수집 모듈(32)이 수집한 API에 대한 이벤트 정보를 분석하여 API의 변경여부, API의 신규 생성여부를, 계정 활동, 판단할 수 있다. 그리고 API의 변경 및 API의 신규 생성이 확인된다면, 이러한 변경점 및 신규 생성 정보가 데이터베이스(33)에 반영되도록 제어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 도큐먼트 수집 모듈의 동작에 대한 순서도이다.
단계(S110)에서, 도큐먼트 수집 모듈(31)이 네트워크를 통해 도큐먼트 서버(20)에 접속하여 제1 시점에 제1a 도큐먼트를 수집한다.
도큐먼트 수집 모듈(31)은 미리 정해진 규칙 또는 주기에 따라 도큐먼트 서버(20)에 접속하여 API에 대한 도큐먼트를 수집한다. 예를 들어, 도큐먼트 수집 모듈(31)은 매일 6시간 간격으로, 미리 정해진 시각에 또는 사용자가 별도로 요청한 때 도큐먼트 서버(20)에 접속하여 API에 대한 도큐먼트를 수집할 수 있다.
여기서, 제1a 도큐먼트는 도큐먼트 수집 모듈(31)이 제1 시점에 수집한 제1 API에 대한 도큐먼트이다.
본 발명에서 제1 시점, 제2 시점, 제3 시점 및 제4 시점 등과 같은 설명은 특정한 시점을 설명하기 위해 사용되는 용어로 나열된 순서에 따라 선후 관계 등이 결정되는 것은 아니다.
경우에 따라, 각 시점들 간의 시간 간격 및 주기 등은 API의 중요도, API의 사용빈도, API의 기능, API가 실행될 때 요구되는 권한 등에 기반하여 결정될 수 있다.
단계(S120)에서, 도큐먼트 수집 모듈(31)이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집한다.
여기서, 제2 시점은 제1 시점과 구분되는 다른 시점을 의미한다. 제2 시점은 제1 시점 이후의 시점일 수 있다. 여기서, 제1b 도큐먼트는 도큐먼트 수집 모듈(31)이 제2 시점에 수집한 제1 API에 대한 도큐먼트이다.
단계(S130)에서, 제어부(34)가 제1a 도큐먼트와 제1b 도큐먼트를 비교하여 제1 API에 대한 변경여부를 판단한다.
도큐먼트 서버(20)는 다양한 이유에 의해 도큐먼트 서버(20)에 저장된 제1 API에 대한 도큐먼트를 변경할 수 있다. 이러한 변경이 제1 시점과 제2 시점 사이에 수행되면, 제1a 도큐먼트와 제1b 도큐먼트는 서로 다른 정보를 가질 수 있다.
여기서, 다양한 이유는 API의 이름, 기능, 신택스에 대한 변경 등에 해당할 수 있다. 또한, 경우에 따라 API 자체에 대한 변경은 없더라도, API를 설명하는 설명 문구 등이 변경될 수도 있다.
제1a 도큐먼트와 제1b 도큐먼트의 변경점은 도큐먼트 서버(20)를 통해 수집된 데이터를 NLP(Natural Language Processing) 기반 인공지능 모델을 사용하여 감지될 수 있다. 여기서 NLP 기반 인공지능 모델은 문장길이 비교, 형태소 분석 및 테이블 파싱 기능 등을 포함할 수 있다.
단계(S140)에서, 제어부(34)가 제1 API에 대한 변경여부를 판단하는 단계(S130)에서 변경이 있다고 판단되면, 제1 API의 변경점을 파악할 수 있다.
구체적으로, 제어부(34)는 제1 API의 변경점의 내용 및 종류 등을 파악할 수 있다. 예를 들어, 제어부(34)는 도큐먼트의 단어 변경, 문장 변경 및 문단 변경 등에 대한 정보 및 변경의 의미 정보를 파악할 수 있다.
단계(S150)에서, 제어부(34)가 데이터베이스(33)에 제1 API의 변경점에 대한 내용을 반영한다.
제어부(34)는 단계(S140)에서 API의 변경점 및 그 변경의 의미가 확인된다면, 데이터베이스(33) 중 제1 API에 대한 설명 부분에서 이러한 변경점이 반영되도록 제어할 수 있다.
도 4는 본 발명의 일 실시예에 따른 이벤트 수집 모듈(32)의 동작에 대한 순서도이다.
단계(S210)에서, 이벤트 수집 모듈(32)이 제3 시점에 제1a 이벤트를 수집한다. 제1a 이벤트는 이벤트 수집 모듈(32)이 제1 시점에 수집한 제2 API에 대한 이벤트이다. 여기서, 제3 시점은 상술한 제1 시점과 동일한 시점을 포함할 수 있다.
이벤트 수집 모듈(32)이 수집한 제2 API에 대한 이벤트는 실행된 API의 이름, API의 실행 시각, API의 실행 주체, 데이터의 위치, 사용자, 수행하는 작업 및 응답 신택스를 포함할 수 있다.
단계(S220)에서, 이벤트 수집 모듈(32)이 제4 시점에서 제1b 이벤트를 수집한다. 여기서 제1a 이벤트와 제1b 이벤트는 동일한 제2 API에 대한 다른 시점의 이벤트이다.
단계(S230)에서, 제어부(34)가 제1a 이벤트와 제1b 이벤트를 비교하여 제2 API에 대한 변경여부를 판단한다. 여기서, 제어부(34)는 변경여부만 판단하는 것일 뿐, 세부적인 변경점은 도큐먼트 수집 모듈(31) 또는 이벤트 수집 모듈(32)에서 파악할 수 있다. 이에 대한 상세한 내용은 도 5를 참조하여 설명하도록 한다.
단계(S240)에서, 제어부(34)는 제2 API의 변경여부를 판단하는 단계(S230)에서 변경점이 있다고 판단되면, 제2 API의 변경점을 파악한다. 여기서, 제2 API에 대한 변경점이 없어도 수집한 이벤트 정보를 데이터베이스(33)에 반영할 수 있다.
단계(S250)에서, 제어부(34)가 데이터베이스(33)에 제2 API의 변경점에 대한 내용을 반영한다. 단계(S250)는 단계(S150)와 대상만 다르고 세부적인 내용은 실질적으로 동일할 수 있다.
변경점에 대한 내용은 API, 텍스트 문서, URL, 바뀐 전후 문장 내용, 문장 구성, 데이터, 삭제된 데이터에 대한 내용 및 메타데이터에 대한 정보를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 제어부(34)가 제1a 이벤트와 제1b 이벤트를 비교하여 API의 변경여부를 판단했을 때 변경점을 파악하는 방법을 설명하기 위한 순서도이다.
제어부(34)는 제2 API의 변경점을 파악하기 위한 단계(S230) 이후 도큐먼트에 기반하여 제2 API의 변경점을 파악하는지, 이벤트를 비교하여 제2 API의 변경점을 파악하는지에 따라 서로 다른 단계를 수행한다. 여기서, 수행 시점은 같은 시점, 미리 정해진 주기 및 시간 간격으로 수행될 수 있다.
도큐먼트에 기반하여 제2 API의 변경점을 파악하는 경우, 후술할 단계(S241) 및 단계(S242)가 수행된다.
단계(S241)에서, 도큐먼트 수집 모듈(31)이 제2 API에 대한 도큐먼트를 수집한다. 여기서, 제어부(34)는 데이터베이스(33)에 저장된 제2 API에 대한 정보에 기반하여 도큐먼트를 수집할 수 있다.
단계(S242)에서, 제어부(34)가 제2 도큐먼트에 기반하여 제2 API의 변경점을 파악한다. 여기서, 제2 도큐먼트에서 제2 API의 변경점을 파악하지 못할 경우, 제어부는 미리 정해진 주기 및 시간 간격에 따라 단계(S241)에서 제2 도큐먼트 수집을 반복할 수 있다.
이벤트를 비교하여 제2 API의 변경점을 파악하는 경우, 후술할 단계(S243) 가 수행된다.
단계(S243)에서, 제어부(34)가 제1a 이벤트와 제1b 이벤트를 비교하여 제2 API에 대한 변경점을 파악한다. 여기서, 제1a 이벤트와 제1b 이벤트를 비교하여 서버(10)전반에서 이벤트의 업데이트, 계정 활동, 수행 작업, 리소스 사용, 발생 시간 및 다운로드 여부를 판단할 수 있다. 또한 다른 시점의 이벤트 간의 비교뿐만 아니라 데이터베이스(33)에 미리 저장된 이벤트 정보 와 이벤트 비교 역시 포함될 수 있다.
단계(S243)에서 변경점을 파악하기 위해 수집한 이벤트는 단계(S242)에서 파악된 변경점을 기반으로 수집될 수 있다. 또한, 단계(S241)에서 변경점을 파악하기 위해 수집한 도큐먼트는 단계(S243)에서 파악된 변경점을 기반으로 수집될 수 있다.
도 6는 본 발명의 일 실시예에 따른 신규 API가 생성된 것을 감지하는 것에 대한 순서도이다.
신규 API가 생성된 것을 감지하는 방식을 이벤트 수집 모듈(32)이 신규 API에 의해 생성된 이벤트를 수신하는 것을 통해 감지될 수도 있고, 도큐먼트 수집 모듈(31)이 신규 API에 대한 도큐먼트를 수집하는 것을 통해 감지될 수도 있다. 상술한 두 방법은 모두 수행될 수도 있고, 경우에 따라 둘 중 하나만 수행되는 것도 가능하다.
단계(S310)은 신규 API가 생성된 것을 감지하는 방식을 이벤트 수집 모듈(32)이 신규 API에 의해 생성된 이벤트를 수신하는 것을 통해 감지하는 방법에 관한 것이다.
단계(S310)에서, 이벤트 수집 모듈(32)이 제3 API에 대한 제2 이벤트를 수집할 수 있다.
단계(S320)은 신규 API가 생성된 것을 감지하는 방식을 도큐먼트 수집 모듈(31)이 신규 API에 대한 도큐먼트를 수집하는 것을 통해 감지하는 방법에 관한 것이다.
단계(S320)에서, 도큐먼트 수집 모듈(31)이 제3 API에 대한 제3 도큐먼트에 대한 정보를 수집할 수 있다. 여기서, 단계(S310)와 단계(S320)은 동시에 진행될 수도 있다.
단계(S330)에서, 제어부(34)는 데이터베이스(33)을 기반으로 제3 API에 대한 정보가 없음을 판단할 수 있다. 여기서, 데이터베이스(33)는 도큐먼트 수집 모듈(31)과 이벤트 수집 모듈(32)이 기존에 수집한 정보에 기반하여 API에 대한 정보를 포함할 수 있다. 제어부(34)는 단계(S310) 또는 단계(S320)에서 수집된 정보에 기반하여 식별한 제3 API에 대한 정보가 데이터베이스(33)에 있는지 여부를 판단한다. 만약, 데이터베이스(33)에 제3 API에 대한 정보가 없다면, 제어부(34)는 제3 API가 기존에 데이터베이스(33)에서 관리되지 않은 신규 API라고 판단할 수 있다.
단계(S340)에서, 도큐먼트 수집 모듈(31)이 네트워크를 통해 제3 API에 대한 제3 도큐먼트를 탐색할 수 있다. 이는 제3 API가 신규 API라고 판단되는 경우, 제3 API에 대한 제3 도큐먼트를 수집하여, 데이터베이스(33)에 제3 API에 대한 정보를 관리하기 위함이다.
여기서, 단계(S330)에서 제3 API가 신규 API라고 판단된 경우라 하더라도 도큐먼트 수집 모듈(31)이 도큐먼트 서버(20)에서 제3 API에 해당하는 제3 도큐먼트를 탐색하지 못할 경우가 발생할 수 있다. 이는 단계(S310)에서 제3 API에 의해 생성된 제2 이벤트가 감지되었다고 하더라도 도큐먼트 서버(20)에는 아직 제3 API에 대한 도큐먼트가 생성되지 않을 수 있기 때문이다. 이러한 경우, 도큐먼트 수집 모듈(31)은 단계(S340)을 미리 정해진 주기 및 시간 간격에 따라 재탐색할 수 있다. 상술한 것과 같이 신규 API가 생성되어 이에 의해 생성된 이벤트가 감지된 경우, 소정의 시간이 경과된 후, 도큐먼트 서버(20)에 해당 신규 API에 대한 도큐먼트가 생성되어 제공되는 경우가 있다, 상술한 방법에 의하면 미리 정해진 주기 및 시간 간격에 따라 재탐색을 수회 반복하면 신규 API에 대한 도큐먼트를 탐색할 수 있다.
도큐먼트 수집 모듈(31)이 제3 API에 대한 제3 도큐먼트를 탐색하는 것은 다양한 방법에 의해 수행될 수 있다. 예를 들어, 도큐먼트 수집 모듈(31)은 도큐먼트 서버(20)의 도큐먼트 리스트를 검토하여, 탐색하고자 하는 제3 API에 대한 제3 도큐먼트 항목이 리스트에 존재하는지 여부를 판단할 수 있다. 또한, 다른 예로서 도큐먼트 수집 모듈(31)은 제3 API의 이름과 같은 기본 정보에 기반하여 제3 도큐먼트가 제공될 것으로 예상되는 경로 정보를 생성하여 해당 경로 정보에 접근을 시도할 수 있다.
도큐먼트 수집 모듈(31)이 제3 API에 대한 제3 도큐먼트를 탐색하는 구체적인 방법은 도큐먼트 수집 모듈(31)이 API에 대한 도큐먼트를 관리하는 데이터베이스 관리 형태 또는 제공하는 방법에 따라 다르게 결정될 수 있다.
단계(S350)에서, 도큐먼트 수집 모듈(31)이 네트워크를 통해 탐색된 제3 도큐먼트를 수집할 수 있다. 도큐먼트 수집 모듈(31)은 제3 도큐먼트 자체를 수집하여 저장할 수도 있고, 제3 도큐먼트에서 필요한 부분만 발췌하여 식별하는 것도 가능하다.
단계(S360)에서, 제어부(34)가 데이터베이스(33)에 제3 API의 항목을 생성하고, 제3 도큐먼트에 기반하여 제3 API에 대한 내용을 반영할 수 있다. 여기서, 제어부(34)가 데이터베이스(33)에 생성하는 항목은 API가 속하는 분류 또는 미리 정해진 기준에 따라 생성될 수 있다. 예를 들어, 도큐먼트 서버(20)가 API에 대한 정책을 신규 생성 및 삭제할 경우, 신규 및 삭제된 정책에 해당하는 API 항목 또는 분류를 업데이트된 버전으로 바꾸어 저장할 수 있다.
도 7는 본 발명의 일 실시예에 따른 도큐먼트 서버(20)에서 제공받은 도큐먼트를 비교하는 방법을 설명하기 위한 예시 화면이다.
도 7을 참조하면, 도큐먼트 수집 모듈(31)은 도큐먼트 서버(20)로부터 제1 시점에 "LookupEvents"라는 이름의 API에 대한 도큐먼트를 수집할 수 있다. 제1 시점에 수집된 도큐먼트는 제1a 도큐먼트라고 지칭될 수 있다. 제1a 도큐먼트에는 해당 API에 대한 설명 정보(410) 및 해당 API의 리스폰스 신택스에 대한 설명 정보(430)가 포함될 수 있다.
이후, 도큐먼트 수집 모듈(31)은 도큐먼트 서버(20)로부터 제1 시점 보다 이후 시점인 제2 시점에 상술한 것과 동일한 "LookupEvents"라는 이름의 API에 대한 도큐먼트를 수집할 수 있다. 제2 시점에 수집된 도큐먼트는 제1b 도큐먼트라고 지칭될 수 있다. 제1b 도큐먼트에는 해당 API에 대한 설명 정보(420) 및 해당 API의 리스폰스 신택스에 대한 설명 정보(440)가 포함될 수 있다.
제어부(34)는 제1a 도큐먼트의 해당 API에 대한 설명 정보(410)와 제1b 도큐먼트의 해당 API에 대한 설명 정보(420)를 상술한 NLP 기반 인공지능 모델을 사용하여 변경점을 파악할 수 있다. 구체적으로 도 7에 도시된 것과 같이, 정보(410)에는 API와 관련된 속성 중 하나의 이름이 "Event name"라고 설명되어 있으나. 정보(420)에는 해당 속성의 이름이 "Event_name"라고 설명되어 있음을 알 수 있다. 제어부(34)는 이러한 변경점을 파악하고 구체적인 변경 내용을 파악할 수 있다.
또한, 제어부(34)는 제1a 도큐먼트의 리스폰스 신택스에 대한 설명 정보 (430)와 제1b 도큐먼트의 리스폰스 신택스에 대한 설명 정보(440)를 비교하여 "NextToken"을 표기하는 방식이 제1 표기방식(431)에서 제2 표기방식(441)로 변경된 것을 확인할 수 있다.
제어부(34)는 이와 같이 확인한 변경점에 기반하여 데이터베이스(33)에 저장된 API에 대한 정보를 바뀐 정책 맞추어 변경할 수 있다. 예를 들어, 데이터베이스(33)에 "NextToken"를 표기하는 방식을 기존의 제1 표기방식(431)인 문자열(String)에서 제2 표기방식(441)인 불(Boolean) 방식으로 대응되게 변경할 수 있다.
도 8는 본 발명의 일 실시예에 따른 제어부(34)가 이벤트 수집 모듈(32)이 수집한 이벤트를 비교하는 방법을 설명하기 위한 예시 화면이다.
이벤트 수집 모듈(31)은 이벤트 기록부에 접속하여 이벤트 정보를 수집할 수 있다. 여기서, 이벤트 정보는 제1 이벤트 테이블(510)형태일 수 있다.
제어부(34)는 이벤트 변경점을 확인하기 위해 제1 이벤트 테이블(510)을 수집한 시점보다 이후 시점에 제2 이벤트 테이블(520)을 수집할 수 있다.
제어부(34)는 수집한 제1 이벤트 테이블(510)과 제2 이벤트 테이블(520)을 비교하여 변경점을 파악하고 데이터 베이스(33) 반영할 수 있다. 예를 들어 제어부(34)는 데이터 베이스(33)에서 제1 이벤트 테이블(510)에 해당하는 이벤트인 Consolelogin을 탐색하고 정보가 없을 경우, Consolelogin 항목을 생성하고 제1 이벤트 테이블(510)정보를 반영할 수 있다. 또한 제1 이벤트 테이블(510)과 제2 이벤트 테이블(520)을 비교하여 데이터 베이스(33)에 제1 이벤트 타임(521)을 제2 이벤트 타임(511)으로 수정하고, 제1 리전(512)를 제2 리전(522)으로 수정할 수 있다.
본 발명의 각 실시예에 개시된 기술적 특징들은 해당 실시예에만 한정되는 것은 아니고, 서로 양립 불가능하지 않은 이상, 각 실시예에 개시된 기술적 특징들은 서로 다른 실시예에 병합되어 적용될 수 있다.
따라서, 각 실시예에서는 각각의 기술적 특징을 위주로 설명하지만, 각 기술적 특징이 서로 양립 불가능하지 않은 이상, 서로 병합되어 적용될 수 있다.
본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 서버
20: 도큐먼트 서버
30: 변경점 분석 서버
31: 도큐먼트 수집 모듈
32: 이벤트 수집 모듈
33: 데이터베이스
34: 제어부
40: 사용자 단말

Claims (9)

  1. 서버가 클라우드의 API의 변경을 분석하는 방법에 있어서,
    상기 서버가,
    네트워크를 통해 도큐먼트를 수집하는 도큐먼트 수집 모듈;
    사용자의 이벤트에 대한 정보를 수집하는 이벤트 수집 모듈;
    API에 대한 정보를 저장하는 데이터베이스; 및
    상기 도큐먼트 수집 모듈 및 상기 이벤트 수집 모듈을 제어하는 제어부를 포함하고,
    상기 도큐먼트 수집 모듈이 네트워크를 통해 제1 시점에 제1a 도큐먼트를 수집하는 단계 - 상기 제1a 도큐먼트는 상기 제1 시점에 수집한 제1 API에 대한 도큐먼트임 -;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집하는 단계 - 상기 제1b 도큐먼트는 상기 제2 시점에 수집한 제1 API에 대한 도큐먼트임 -;
    상기 제어부가 상기 제1a 도큐먼트와 상기 제1b 도큐먼트를 비교하여 상기 제1 API에 대한 변경여부를 판단하는 단계;
    상기 제1 API에 대한 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제1 API의 변경점을 파악하는 단계;
    상기 제어부가 상기 데이터베이스에 상기 제1 API의 변경점에 대한 내용을 반영하는 단계;
    상기 이벤트 수집 모듈이 제3 시점에 제1a 이벤트를 수집하는 단계 - 상기 제1a 이벤트는 상기 제3 시점에 수집한 제2 API에 대한 이벤트임 -;
    상기 이벤트 수집 모듈이 제4 시점에 제1b 이벤트를 수집하는 단계 - 상기 제1b 이벤트는 상기 제4 시점에 수집한 상기 제2 API에 대한 이벤트임 -;
    상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경여부를 판단하는 단계;
    상기 제2 API의 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제2 API의 변경점을 파악하는 단계; 및
    상기 제어부가 상기 데이터베이스에 상기 제2 API의 변경점에 대한 내용을 반영하는 단계를 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  2. 제1 항에 있어서,
    상기 클라우드의 API의 변경을 분석하는 방법은 서비스형 소프트웨어(SAAS, Software-as-a-Service) 방식으로 제공되는
    클라우드의 API의 변경을 분석하는 방법.
  3. 제1 항에 있어서,
    상기 제2 API의 변경점을 파악하는 단계는,
    상기 도큐먼트 수집 모듈이 상기 제2 API에 대한 제2 도큐먼트를 수집하는 단계; 및
    상기 제어부가 상기 제2 도큐먼트에 기반하여 상기 제2 API의 변경점을 파악하는 단계를 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  4. 제1 항에 있어서,
    상기 제2 API의 변경점을 파악하는 단계에서,
    상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경점을 파악하는
    클라우드의 API의 변경을 분석하는 방법.
  5. 제1 항에 있어서,
    상기 이벤트 수집 모듈이 제2 이벤트를 수집하는 단계 - 상기 제2 이벤트는 제3 API에 대한 이벤트임 -;
    상기 제어부가 상기 데이터베이스에 상기 제3 API에 대한 정보가 없음을 판단하는 단계;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 API에 대한 제3 도큐먼트를 탐색하는 단계;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 도큐먼트를 수집하는 단계;
    상기 제어부가 상기 데이터베이스에 상기 제3 API의 항목을 생성하고, 상기 제3 도큐먼트에 기반하여 상기 제3 API에 대한 내용을 반영하는 단계를 더 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  6. 제1 항에 있어서,
    상기 도큐먼트 수집 모듈이 제3 API에 대한 제3 도큐먼트에 대한 정보를 수집하는 단계;
    상기 제어부가 상기 데이터베이스에 상기 제3 API에 대한 정보가 없음을 판단하는 단계;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 API에 대한 제3 도큐먼트를 탐색하는 단계;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 상기 제3 도큐먼트를 수집하는 단계; 및
    상기 제어부가 상기 데이터베이스에 상기 제3 API의 항목을 생성하고, 상기 제3 도큐먼트에 기반하여 상기 제3 API에 대한 내용을 반영하는 단계를 더 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  7. 제1 항에 있어서,
    상기 제어부가 상기 제1 API의 변경점 및 상기 제2 API의 변경점 중 어느 하나에 대한 중요도를 판단하는 단계;
    상기 제어부가 상기 중요도가 알림 임계조건을 만족하는지 여부를 판단하는 단계; 및
    상기 제어부가 관리자 단말에 상기 제1 API의 변경점 및 상기 제2 API의 변경점 중 어느 하나에 대한 알림을 제공하는 단계를 더 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  8. 제1 항에 있어서,
    상기 데이터베이스는 복수의 API가 미리 정해진 기준에 따라 분류된 복수의 분류 그룹을 저장하고 있고,
    상기 제어부가 상기 복수의 분류 그룹 중 상기 제1 API가 속하는 분류 그룹에 기반하여 상기 제1 시점 및 상기 제2 시점에 대한 시간 주기 및 시간 간격 중 적어도 하나를 결정하는 단계를 더 포함하는
    클라우드의 API의 변경을 분석하는 방법.
  9. 클라우드의 API의 변경을 분석하는 서버에 있어서,
    메모리;
    상기 메모리와 연결되고, 상기 메모리에 포함된 명령들을 실행하도록 구성된 프로세서;
    네트워크를 통해 도큐먼트를 수집하는 도큐먼트 수집 모듈;
    사용자의 이벤트에 대한 정보를 수집하는 이벤트 수집 모듈;
    API에 대한 정보를 저장하는 데이터베이스; 및
    상기 도큐먼트 수집 모듈 및 상기 이벤트 수집 모듈을 제어하는 제어부를 포함하고,
    상기 프로세서는,
    상기 도큐먼트 수집 모듈이 네트워크를 통해 제1 시점에 제1a 도큐먼트를 수집하는 단계 - 상기 제1a 도큐먼트는 상기 제1 시점에 수집한 제1 API에 대한 도큐먼트임 -;
    상기 도큐먼트 수집 모듈이 네트워크를 통해 제2 시점에 제1b 도큐먼트를 수집하는 단계 - 상기 제1b 도큐먼트는 상기 제2 시점에 수집한 제1 API에 대한 도큐먼트임 -;
    상기 제어부가 상기 제1a 도큐먼트와 상기 제1b 도큐먼트를 비교하여 상기 제1 API에 대한 변경여부를 판단하는 단계;
    상기 제1 API에 대한 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제1 API의 변경점을 파악하는 단계;
    상기 제어부가 상기 데이터베이스에 상기 제1 API의 변경점에 대한 내용을 반영하는 단계;
    상기 이벤트 수집 모듈이 제3 시점에 제1a 이벤트를 수집하는 단계 - 상기 제1a 이벤트는 상기 제3 시점에 수집한 제2 API에 대한 이벤트임 -;
    상기 이벤트 수집 모듈이 제4 시점에 제1b 이벤트를 수집하는 단계 - 상기 제1b 이벤트는 상기 제4 시점에 수집한 상기 제2 API에 대한 이벤트임 -;
    상기 제어부가 상기 제1a 이벤트와 상기 제1b 이벤트를 비교하여 상기 제2 API에 대한 변경여부를 판단하는 단계;
    상기 제2 API의 변경여부를 판단하는 단계에서 변경이 있다고 판단되면, 상기 제어부가 상기 제2 API의 변경점을 파악하는 단계; 및
    상기 제어부가 상기 데이터베이스에 상기 제2 API의 변경점에 대한 내용을 반영하는 단계를 수행하는
    클라우드의 API의 변경을 분석하는 서버
KR1020220155863A 2022-11-18 2022-11-18 클라우드의 api의 변경을 분석하는 방법 KR20240075058A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/994,735 US20240168826A1 (en) 2022-11-18 2022-11-28 Method of analyzing change in api in cloud
JP2022190736A JP7470769B1 (ja) 2022-11-18 2022-11-29 クラウドのapiの変更を分析する方法

Publications (1)

Publication Number Publication Date
KR20240075058A true KR20240075058A (ko) 2024-05-29

Family

ID=

Similar Documents

Publication Publication Date Title
US11799728B2 (en) Multistage device clustering
JP4890794B2 (ja) ネットワークを監査するためのシステムおよび方法
US8190599B2 (en) Stream data processing method and system
EP3449375B1 (en) Monitoring of interactions between services
US10621211B2 (en) Language tag management on international data storage
CN111526060A (zh) 业务日志的处理方法及系统
US11138311B2 (en) Distributed security introspection
CN110795257A (zh) 处理多集群作业记录的方法、装置、设备及存储介质
JP2017515180A (ja) ビッグ・データ・リポジトリにおけるデータ・セットの処理
US11431572B2 (en) Semantic detection and resolution of conflicts and redundancies in network function virtualization policies
US11663322B2 (en) Distributed security introspection
CN114968754A (zh) 一种应用程序接口api测试方法以及装置
US20230040635A1 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
CN114595201A (zh) 一种接口访问日志采集记录查询方法、设备及存储介质
US11416631B2 (en) Dynamic monitoring of movement of data
US10951540B1 (en) Capture and execution of provider network tasks
US11693710B1 (en) Workload pool hierarchy for a search and indexing system
US11586631B2 (en) Database optimization using record correlation and intermediate storage media
CN113836237A (zh) 对数据库的数据操作进行审计的方法及装置
US11194785B2 (en) Universal self-learning database recovery
KR20240075058A (ko) 클라우드의 api의 변경을 분석하는 방법
CN113268401B (zh) 日志信息的输出方法、装置及计算机可读存储介质
JP7470769B1 (ja) クラウドのapiの変更を分析する方法
US11500837B1 (en) Automating optimizations for items in a hierarchical data store
EP3616091A1 (en) Managing asynchronous analytics operation based on communication exchange