KR102425731B1 - 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 - Google Patents
인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 Download PDFInfo
- Publication number
- KR102425731B1 KR102425731B1 KR1020210175872A KR20210175872A KR102425731B1 KR 102425731 B1 KR102425731 B1 KR 102425731B1 KR 1020210175872 A KR1020210175872 A KR 1020210175872A KR 20210175872 A KR20210175872 A KR 20210175872A KR 102425731 B1 KR102425731 B1 KR 102425731B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- automation
- data
- process execution
- execution request
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템에 관한 것으로, 해결하고자 하는 과제는 중견 및 대기업을 중심으로 지속적으로 증가하는 비정형 업무와 비정형 데이터를 포함하는 업무 프로세스에 대해 지능형 워크 플로우 기반으로 개별 자동화 솔루션(RPA, 챗봇, OCR, ERP 등)을 통합된 인공지능 기반의 하이퍼오토메이션 솔루션의 프로세스 실행과 더불어 빠르고 안정적으로 업무 자동화를 구축할 수 있고, 프로세스 수행 중 예상하지 못한 오류로 인해 프로세스가 중단되는 문제를 해결하는데 있다.
일례로, 작업 요청자 또는 시스템으로부터 RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부; 상기 자동화 프로세스의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 저장하는 데이터베이스와, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하는 데이터 수집부; 상기 데이터 수집부를 통해 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하여 운영시스템의 부하를 평가하는 시스템 부하 평가 제어부; 및 상기 시스템 부하 평가 제어부의 부하 평가 결과로 제공되는 상기 위험도 수치에 따라 상기 자동화 솔루션의 실행을 요청하는 프로세스 실행 요청부를 포함하는 프로세스 실행 요청 에이전트 시스템을 개시한다.
일례로, 작업 요청자 또는 시스템으로부터 RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부; 상기 자동화 프로세스의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 저장하는 데이터베이스와, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하는 데이터 수집부; 상기 데이터 수집부를 통해 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하여 운영시스템의 부하를 평가하는 시스템 부하 평가 제어부; 및 상기 시스템 부하 평가 제어부의 부하 평가 결과로 제공되는 상기 위험도 수치에 따라 상기 자동화 솔루션의 실행을 요청하는 프로세스 실행 요청부를 포함하는 프로세스 실행 요청 에이전트 시스템을 개시한다.
Description
본 발명의 실시예는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템에 관한 것이다.
기업환경의 변화와 더불어 비정형 업무 프로세스와 데이터의 증가로 인해 단순, 반복 업무만을 대상으로 하는 RPA(Robotic Process Automation)와 같은 기존 업무자동화 솔루션은 더 이상 사용자의 요구와 기대를 충족시키지 못하는 한계에 이렀다.
중견 또는 대기업을 중심으로 복잡하고 학습과 판단이 필요한 다양한 비정형 업무에 대해 자동화 요구가 급격히 증가하고 있는 상황으로, 비정형 프로세스와 데이터를 학습해 자동으로 처리하는 인공지능 기술을 업무자동화에 접목한 하이퍼오토메이션 기술만이 향후 업무현장에서의 대안이라고 가트너(Gartner)는 예고하고 있다.
급변하는 기업환경에 맞춰 민첩하고 탄력적인 업무 프로세스 변화 필요성이 증가함에 따라 업무 이해도가 높은 현장의 사용자가 실무지식을 기반으로 프로세스를 직접 생성하고 업무자동화를 직접 수행하고자 하나 IT 비전문가인 업무인력이 사용하기에는 현재의 자동화 솔루션은 비정형 프로세스를 수용하지 못하는 문제점을 안고 있다.
본 발명의 실시예는, 중견 및 대기업을 중심으로 지속적으로 증가하는 비정형 업무와 비정형 데이터를 포함하는 업무 프로세스에 대해 지능형 워크 플로우 기반으로 개별 자동화 솔루션(RPA, 챗봇, OCR, ERP 등)을 통합된 인공지능 기반의 하이퍼오토메이션 솔루션의 프로세스 실행과 더불어 빠르고 안정적으로 업무 자동화를 구축할 수 있고, 프로세스 수행 중 예상하지 못한 오류로 인해 프로세스가 중단되는 문제를 해결하기 위한 프로세스 실행 요청 에이전트 시스템을 제공한다.
본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템은, 작업 요청자 또는 시스템으로부터 RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부; 상기 자동화 프로세스의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 저장하는 데이터베이스와, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하는 데이터 수집부; 상기 데이터 수집부를 통해 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하여 운영시스템의 부하를 평가하는 시스템 부하 평가 제어부; 및 상기 시스템 부하 평가 제어부의 부하 평가 결과로 제공되는 상기 위험도 수치에 따라 상기 자동화 솔루션의 실행 여부를 판단하여 프로세스 실행을 요청하는 프로세스 실행 요청부를 포함한다.
또한, 상기 데이터 수집부는, 상기 데이터베이스와 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 수집하되, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집할 수 있다.
또한, 상기 데이터 수집부는, 상기 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행할 수 있다.
또한, 상기 시스템 부하 평가 제어부는, 상기 프로세스 실행 요청부를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 상기 부하 임계치를 비교하여 운영시스템 부하를 평가하고, 부하 평가에 따라 상기 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어할 수 있다.
또한, 상기 프로세스 실행 요청부는, 상기 데이터 수집부를 통해 수집된 데이터를 기반으로 상기 자동화 솔루션으로 구성된 자동화 프로세스 실행을 요청하되, 상기 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지할 수 있다.
또한, 상기 데이터 수집부를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 상기 입력 파라미터를 추출하고, 추출된 상기 입력 파라미터를 상기 프로세스 실행 요청부로 제공하는 데이터 전처리부를 더 포함할 수 있다.
본 발명에 따르면, 중견 및 대기업을 중심으로 지속적으로 증가하는 비정형 업무와 비정형 데이터를 포함하는 업무 프로세스에 대해 지능형 워크 플로우 기반으로 개별 자동화 솔루션(RPA, 챗봇, OCR, ERP 등)을 통합된 인공지능 기반의 하이퍼오토메이션 솔루션의 프로세스 실행과 더불어 빠르고 안정적으로 업무 자동화를 구축할 수 있고, 프로세스 수행 중 예상하지 못한 오류로 인해 프로세스가 중단되는 문제를 해결하기 위한 프로세스 실행 요청 에이전트 시스템을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템이 적용된 인공지능 기반의 하이퍼오토메이션 솔루션의 개요도이다.
도 2는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템이 적용된 인공지능 기반의 하이퍼오토메이션 솔루션의 전체 동작 프로세스를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 전체 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 동작 프로세스를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 버퍼 스케줄을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 학습 데이터 셋의 예시를 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 시스템 부하 평가 학습 로직을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 설명하기 위해 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템이 적용된 인공지능 기반의 하이퍼오토메이션 솔루션의 전체 동작 프로세스를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 전체 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 동작 프로세스를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 버퍼 스케줄을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 학습 데이터 셋의 예시를 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 시스템 부하 평가 학습 로직을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 설명하기 위해 나타낸 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
우선 본 실시예에 따른 프로세스 실행 요청 에이전트 시스템에 대한 상세한 설명 후 해당 시스템이 적용되는 하이퍼오토메이션 솔루션에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템이 적용된 인공지능 기반의 하이퍼오토메이션 솔루션의 개요도이고, 도 2는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템이 적용된 인공지능 기반의 하이퍼오토메이션 솔루션의 전체 동작 프로세스를 나타낸 도면이고, 도 3은 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 전체 구성을 나타낸 블록도이고, 도 4는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 동작 프로세스를 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템의 버퍼 스케줄을 설명하기 위한 도면이고, 도 6은 본 발명의 실시예에 따른 학습 데이터 셋의 예시를 나타낸 도면이고, 도 7은 본 발명의 실시예에 따른 시스템 부하 평가 학습 로직을 나타낸 도면이며, 도 8은 본 발명의 실시예에 따른 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 설명하기 위해 나타낸 도면이다.
도 3을 참조하면, 본 발명의 실시예에 따른 프로세스 실행 요청 에이전트 시스템(1000)은 프로세스 실행 요청 수신부(100), 데이터 수집부(200), 시스템 부하 평가 제어부(300), 데이터 전처리부(400) 및 프로세스 실행 요청부(500) 중 적어도 하나를 포함할 수 있다.
상기 프로세스 실행 요청 수신부(100)는, 사용자 또는 시스템으로부터 RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션으로 구성된 프로세스에 대한 실행 요청을 수신할 수 있다.
상기 데이터 수집부(200)는, 자동화 프로세스의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 저장하는 데이터베이스와, 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API)으로부터 자동화 솔루션의 실행에 필요한 데이터를 각각 수집할 수 있다.
또한, 데이터 수집부(200)는, 데이터베이스와 자동화 솔루션으로부터 자동화 솔루션의 실행에 필요한 데이터를 수집할 때, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집할 수 있으며, 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행할 수 있다.
좀 더 구체적으로, 데이터 수집부(200)는, 문자열 검색에 의한 분류 기술을 활용하여 정상/비정상적인 프로세스 실행 요청을 구분하여 필요한 데이터를 수집, 변환 및 저장할 수 있다. 여기서, 정형 데이터 수집은 약속된 키워드를 통해 실시간으로 데이터 수집이 가능한데, 비해 비정형 데이터인 메일은 주기적으로 수신 메일 확인부터 시작하여 발신자 정보, 메일 제목/본문, 첨부 파일 정보 등의 데이터에서 특정 단어나 문장 포함/미포함 여부 등 판별로 데이터를 수집할 수 있다. 메일 본문은 TEXT형식과 HTML/XML형식으로 구분이 되어 있어 HTML/XML일 경우 동적 웹페이지가 아닌 정적 웹페이지로 구성되어 있어 문자열만 추출하는 필터를 사용하여 데이터를 수집할 수 있으며, 수집된 데이터는 일차적으로 정형화된 메시지 포맷(사용자정보, 시스템정보, 프로세스정보 등)으로 변환 후 보안 유지를 위해 데이터 암호화(AES-256) 과정을 거처 FIFO(First In, First Out)구조의 파일명에 따라 TEXT파일로 구성되며, 약속된 특정 폴더에 저장될 수 있다.
상기 시스템 부하 평가 제어부(300)는, 데이터 수집부(200)를 통해 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하여 운영시스템(OS)의 부하를 평가할 수 있다.
또한, 시스템 부하 평가 제어부(300)는, 프로세스 실행 요청부(500)를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 부하 임계치를 비교하여 운영시스템(OS)의 부하를 평가하고, 부하 평가에 따라 즉, 위험도 수치와 부하 임계치의 비교 결과에 따라 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어할 수 있다.
본 실시예에서 시스템 부하 평가는 솔루션 개발단계에서 생성할 수 있는 것으로 OS에 관계없이 동작되는 정보를 이용할 수 있으며, 입력 데이터로 CPU 사용률, 메모리 사용률, Disk 사용률을 사용하고 AI 학습 알고리즘으로 선형 회귀를 이용하여 수치를 예측하는데 이때 수치는 시스템의 위험도를 나타내는 지표로 사용할 수 있다. 위험도를 나타내는 지표(예측 수치)는 프로세스 실행 요청 에이전트의 설정 요소에 값을 지정하고 그 값은 시스템의 임계치(위험하다고 판단하는 수치)의 의미로 활용될 수 있다.
본 실시예에서는 입력 데이터 셋을 3가지로 지정할 수 있는데, 이 중 출력 데이터 셋은 1가지로 설정, 활성화 함수는 렐루 함수(Relu Function)을 활용하며 최적화 함수는 아담 함수(Adaptive Moment Estimation Function)을 사용하여 딥러닝 모델을 구성할 수 있다.
또한, AI 학습에 사용할 데이터 셋의 경우 일반적 상식에서 데이터를 구성할 수 있어 CSV (Comma-Separated Values) 형식으로 1,000,000,000건을 만들어 사용할 수 있다. 학습 데이터 셋 생성 방법은 0.0 ~ 100.0 범위의 수치를 임의방식으로 1,000,000,000(1,000 * 1,000 * 1,000) 건을 만든 후 위험도(라벨링 부분) 수치를 임계치 이하의 경우 산술 평균으로 지정하고 초과의 경우 임계치가 가장 높은 수치를 위험도로 지정할 수 있다. 추가로 검증 데이터 셋 10,000,000건을 랜덤하게 생성하여 생성된 모델을 검증 평가하고, 예측의 정확성(Accuracy)이 99% 미만일 경우 AI 모델의 은닉층을 깊고 넓게 확대하여 재 학습을 수행할 수 있다.
상기 데이터 전처리부(400)는, 데이터 수집부(200)를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 입력 파라미터를 추출하고, 추출된 입력 파라미터를 프로세스 실행 요청부(500)로 제공할 수 있다.
좀 더 구체적으로, 데이터 전처리부(400)는, 특정 폴더에 저장된 TEXT파일을 대상으로 선입선처리 방식에 의해 선택된 파일부터 암호화된 데이터를 복호화(AES-256)하여 워크 플로우 관리부(14)에 프로세스 실행 요청을 위한 입력 파라미터로 변환하여 프로세스 실행 요청 버퍼에 전달할 수 있다. 이때, 입력 파라미터 구조는 JSON 구조로 요청 정보, 사용자 정보, 실행요청 도구 별(Mail, Chat, Schedule, API 등) 기본 설정 정보 구성이 되며, 추가 확장 정보는 빠른 검색이 필요로 하여 NoSQL 기술을 활용할 수 있다.
상기 프로세스 실행 요청부(500)는, 시스템 부하 평가 제어부(300)의 부하 평가 결과로 제공되는 위험도 수치에 따라 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API)의 프로세스 실행 여부를 판단하여 프로세스 실행을 요청할 수 있다. 이때, 프로세스 실행 요청부(500)는, 데이터 수집부(200)를 통해 수집된 데이터(보다 정확히는 데이터 전처리부(400)를 통해 전처리 완료된 데이터)를 기반으로 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API)으로 구성된 자동화 프로세스 실행을 요청하되, 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지할 수 있으며, 해당 위험도 수치가 부하 임계치 미만이 되면 다시 자동화 프로세스 실행을 요청할 수 있다.
한편, 프로세스 실행 요청부(500)는, 프로세스 실행 요청 버퍼 스케줄 기능을 제공할 수 있는데, 좀 더 구체적으로는, 시스템 부하 평가 제어부(540)과 주기적으로 통신 과정을 거처 워크 플로우 관리부(400)에 실행 가능한 자동화 실행 요청 명령을 전달하고, 시스템 부하 평가의 수집 범위인 부하 임계치(70%산정)에 도달하면 버퍼에 있는 모든 실행 요청(프로세스 작업 분배 에이전트부(200)와 워크 플로우 관리부(400) 실행 중지)은 중지되고 해당 시스템 담당자에게 자동으로 시스템 점검 통보(메일, 채팅 등)를 하며, 자동화 솔루션에 부하가 감지되면 실행 요청 중 부하가 감지된 자동화 솔루션을 사용하고 있는 단위서비스가 포함된 실행 요청만 중지가 되고 다른 실행 요청은 정상적으로 처리 수행할 수 있다.
또한, 프로세스 실행 요청부(500)는, 시스템 부하 평가를 위한 서버 별 실시간 데이터 수집 전송 기능을 제공하는데, 실시간 데이터 수집 범위에 속한 프로세스 작업 분배 에이전트부(200), 워크 플로우 관리부(400) 및 자동화 솔루션은 서로 다른 OS로 구성이 될 수 있으며, OS와 상관없이 동작할 수 있는 프로그래밍 언어 사용 필수 요소이며 상황에 따라서 여러 프로그래밍 언어를 복합적으로 사용할 수 있도록 환경을 구성할 수 있다. OS 별로 수집 대상 데이터를 얻기 위한 환경 설정 기능과 OS에 종속적으로 설정된 파라미터 정보 확인이 가능하다. 또한, 수집 대상 데이터로는 CPU 사용률, 메모리 사용률, Disk 사용률 등 정형화된 데이터로 빠른 결과를 얻기 위해 프로세스 실행 요청 에이전트에 특정 포트가 정의된 데이터를 전달할 수 있다.
다음, 본 발명의 실시예에 따른 인공지능 기반의 하이퍼오토메이션 솔루션(10)에 대하여 설명하며, 해당 솔루션은 프로세스 실행 요청 에이전트부(1000)와 더불어 하이퍼오토메이션 관리부(11), 프로세스 작업 분배 에이전트부(12), 프로세스 모델 생성부(13), 워크 플로우 관리부(14) 중 적어도 하나를 포함할 수 있다.
상기 하이퍼오토메이션 관리부(11)는, RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 입력 받아 자동화 솔루션(RPA, OCR, 이메일, 챗봇, SAP, Open API) 별 단위서비스를 생성하여 저장 관리하고, 메타데이터를 기반으로 단위서비스를 실행하여 얻은 실행이력데이터를 저장 관리하고, 단위서비스의 실행 결과에 따라 단위서비스의 성능을 평가할 수 있다.
상기 하이퍼오토메이션 관리부(11)는, 단위서비스의 명령과 옵션에 대한 입력 파라미터, 자동화 솔루션의 실행을 위한 솔루션 실행데이터, 자동화 솔루션의 실행 결과로서 실행이력데이터를 나타내는 출력 파라미터를 포함하는 메타데이터를 데이터베이스에 추가 및 삭제하여 관리할 수 있다.
본 실시예에 따른 메타데이터의 입력 파라미터는, 사용자 아이디, 사이트 URL, 결제승인번호, 제품번호, 고객전화번호, 차량번호, 사원번호, 거래처 이름 및 사업자번호 중 적어도 하나의 데이터를 포함하고, 솔루션 실행데이터는, RPA, OCR, 이메일, 챗봇, SAP, Open API 중 적어도 자동화 솔루션을 실행하기 위한 데이터(솔루션 연동 데이터)를 포함하고, 출력 파라미터는, 엑셀파일, 메일전송파일, 사업자등록증 전자파일, 이미지 파일, 급여명세서 파일, 재직증명서 파일 중 적어도 하나에 대한 데이터를 포함할 수 있다.
또한, 입력 파라미터(명령과 옵션)는 파라미터 명, 필수 여부, 데이터 타입, 데이터 길이, 값 등의 세부 항목으로 구성되고, 자동화 솔루션 데이터는 솔루션 타입, 통신 방식, 접속 경로, 암호화 여부, 접속 계정, 오류 복구 방법 등의 세부 항목으로 구성되며, 출력 파라미터(결과)는 파라미터 명, 데이터 타입, 값 등의 세부 항목으로 구성될 수 있다.
상기 하이퍼오토메이션 관리부(11)는, StringToFloat 변환 기능을 이용하여 텍스트 기반의 메타데이터를 실수 형태로 변환하고, AddPadding 기능을 이용하여 실수 형태로 변환된 데이터에서 부족한 데이터 개수에 대해 0의 패딩으로 채워 메타데이터의 포맷을 변환할 수 있다. 즉, 단위서비스마다 파라미터의 개수가 다르므로 입력층의 개수와 맞추기 위해 StringToFloat 변환 기능에 AddPadding 기능을 제공하는데, 단위서비스의 메타 데이터는 모두 Text 기반의 데이터이고 각 단위서비스는 입/출력 파라미터의 개수가 모두 다르며, 이런 포맷이 다른 데이터를 바이트(Byte) 단위로 읽고 이를 실수(Float)형으로 변환하고 부족한 개수는 영(0)의 패딩으로 채움으로 모델에 사용될 입력 데이터 셋의 포맷을 통일시킬 수 있다.
상기 하이퍼오토메이션 관리부(11)는, 포맷이 변환된 메타데이터를 기반으로 단위서비스를 실행하여 미리 정의된 인공지능 학습 알고리즘을 기반으로 단위서비스의 실행을 학습할 수 있다.
상기 하이퍼오토메이션 관리부(11)는, 실행이력데이터를 기반으로 단위서비스를 미리 설정된 시간 이내에 실행한 횟수를 나타내는 처리능력과, 단위서비스의 실행 간에 오류가 발생한 빈도를 나타내는 오류발생율이 포함된 단위서비스의 성능 평가 점수를 산출할 수 있다. 단위서비스 관리를 위해 수집된 데이터를 단위서비스의 메타데이터라 하며, 이와 단위서비스의 실행 이력 데이터 저장, 검색 기능, StringToFloat 변환 기능, CNN기반 알고리즘을 적용한 단위서비스 탐색 기능, 단위서비스 성능 평가 모델을 정의하고 평가 점수를 예측한 후 이를 조합하여 단위서비스의 성능을 평가할 수 있다. 여기서, 처리능력은 측정 단위 시간(1초) 내에 처리하는 횟수, 측정 단위 시간을 작업을 시작하여 끝나는 시간으로 나눈 수치일 수 있고, 오류발생율은 수행횟수대비 오류 발생 빈도를 구한 수치일 수 있으며, 사용의 접근성은 필수 입력 파라미터 개수가 적을수록 좋은 평가, 필수 출력 파라미터 개수는 많을수록 좋은 평가할 수 있다(3가지 지표를 합산해 라벨로 활용).
상기 하이퍼오토메이션 관리부(11)는, 실행이력데이터를 저장하며 단위서비스 아이디를 기준으로 실행이력데이터를 검색하여 제공할 수 있다. 또한, 하이퍼오토메이션 관리부(11)는, 단위서비스 아이디, 실행오류여부, 실행시작시간, 실행종료시간, CPU, 메모리, 디스크 사용률, 파라미터 명과 값을 키와 값의 쌍으로 묶인 데이터 구조를 기반으로 색인 데이터베이스를 구성할 수 있다. 이와 같이 단위서비스의 실행 이력은 단위서비스ID, 오류여부, 시작시간, 종료시간, CPU, 메모리, Disk 사용률, 파라미터명과 값(Value) 데이터를 딕셔너리(Dictionary: Key, Value 쌍으로 묶인 데이터 구조)로 묶어서 저장하는 색인 데이터베이스(Index Database)를 구성하고 이를 학습 시 단위서비스ID를 기준으로 검색하여 수행시간, 오류 발생율을 검색하여 학습 데이터로 활용할 수 있다.
상기 하이퍼오토메이션 관리부(11)는, 데이터베이스에 접근하여 단위서비스 아이디를 기준으로 실행이력데이터의 필수 파라미터, 데이터 타입, 데이터 길이에 대한 세부항목을 조회하여 학습 데이터 셋으로 활용할 메타데이터를 수집하고, 데이터 생성기를 이용하여 메타데이터를 다수 개로 복제하여 학습 데이터 셋을 1차 증가시킨 후, 1차 증가된 학습 데이터 셋에 대한 파라미터 자리이동 알고리즘 및 순서 변경 알고리즘을 이용해 해당 학습 데이터 셋을 2차 증가시킬 수 있다.
좀 더 구체적으로, 메타데이터를 수집하기 위해 데이터베이스에 접근하여 단위서비스의 ID(결과 데이터, Class로 사용), 필수 파라미터, 필수 여부, 데이터 타입, 길이 등의 세부항목을 조회하고 실행이력은 색인 데이터베이스에서 단위서비스ID를 기준으로 검색하여 취합하고 이를 학습 데이터 셋으로 활용할 수 있다. 또한, 수집된 데이터는 데이터 생성기(Data Generator)통해 데이터 증폭하여 학습 데이터 셋을 증가시킴, 증폭되는 수량은 파라미터의 수량에 따라 비례하여 증가할 수 있다. 이때, 증폭되는 수량은 파라미터의 자리이동 알고리즘, 순서 변경 알고리즘으로 증가폭을 확대할 수 있으며, 마지막으로 모델의 입력 데이터 셋의 크기에 비례하여 증가할 수 있다.
여기서, 데이터 생성기를 통해 생성된 데이터는 CNN(Convolution Neural Network) 기반의 딥러닝 알고리즘을 적용하여 지도학습을 수행하고 단위서비스를 탐색을 위해 사용될 수 있다. 해당 학습 모델의 출력층 활성화 함수는 소프트맥스(Softmax)를 사용하여 예측 상위 2개의 단위서비스를 출력하도록 구성될 수 있으며, 단위서비스 탐색 기능은 새로운 단위서비스를 생성하면 재 학습을 수행하여 지능을 향상할 수 있다.
상기 프로세스 작업 분배 에이전트부(12)는, 자동화 솔루션의 기본정보에 대한 인증 처리를 수행하고, 인증 완료된 자동화 솔루션을 시작 및 실행을 요청할 수 있다. 자동화 솔루션과의 연계는 가장 일반적인 연계 방식인 OpenAPI로 HTTP/S 통신으로 연계가 가능하며, 인증 유무, 방식 및 파라미터 전달 방법 등에 따라 조금씩 형식이 다르다. 자동화 솔루션 기본 정보(자동화 솔루션 관리)와 확장 정보(작업 분배 에이전트 관리)를 이용하여 빠른 인증 처리를 위해 인증 풀(Pool)이 구축되는 것이 바람직하다.
이러한 프로세스 작업 분배 에이전트부(12)에서는 작업 지시에 의해 이전 단위서비스의 출력 파라미터 데이터를 메시지 변환기로 현재 단위서비스의 입력 파라미터 데이터로 변환하고, 이 과정의 메시지 변환기에서는 단위서비스의 입/출력 파라미터의 메타 정보를 활용하여 메시지를 변환할 수 있다. 또한, 변환된 입력 파라미터 데이터를 인증 풀(Pool)에서 인증 처리된 연결 객체 내에 속성으로 삽입 후 작업 지시 요청 처리하고 이에 대한 결과 데이터를 작업 분배 에이전트에서 응답 받아 메시지 변환기를 통해 출력 파라미터로 변환하여 반환할 수 있다.
상기 프로세스 모델 생성부(13)는, 메타데이터에 포함된 입력 파라미터와 출력 파라미터를 기반으로 사용 가능한 단위서비스를 검색하고, 검색된 단위서비스를 기반으로 강화 학습 알고리즘(Reinforcement Learning)을 이용해 단위서비스의 실행을 위한 프로세스 템플릿을 생성할 수 있다. 즉, 프로세서 모델 생성부(13)의 프로세스 템플릿 생성 기능은 사용자가 입력 데이터(알고 있어서 제공 가능한 데이터)와 출력 데이터(작업 요청자가 원하는 결과 데이터)를 이용하여 단위서비스 탐색 기능으로 사용 가능한 단위서비스를 찾고(제한적 환경 생성) 이를 기반으로 강화 학습알고리즘을 이용해 단위서비스 실행 순서를 추천할 수 있다.
이를 위해 프로세스 모델 생성부(13)는, 탐색된 단위서비스의 프로세스 시작점에서 연속적인 노드를 선택하면서 프로세스 종단점까지 확장하여 단위서비스의 실행을 위한 프로세스 트리를 생성할 수 있다. 이는, 프로세스 템플릿 추천을 위한 프로세서 노드를 생성하는 단계로, 현재 프로세스 상태에서 특정 경로로 프로세스 탐색을 진행하면서, 프로세스 시작점에서 시작하여 연속적인 노드를 선택해 내려가 종단 프로세스에 도착하면, 프로세스 트리를 가장 확률 높은 가능성으로 확장시킬 프로세스 노드를 선택할 수 있다. 이때, 일정 수 이상 프로세스 예측이 진행되면 그 지점에서 한 단계 더 프로세스 수행 경로를 예측(프로세스 트리의 확장)할 수 있다.
또한, 프로세스 확장에서 선택한 노드에서 프로세스가 종료될 때까지 무작위(random) 방법으로 진행하며, 속도가 빠르기 때문에 여러 번 추천 수행이 가능하지만 착수의 적정성은 떨어질 수 있다. 프로세스 오류를 최소화하고 정상 수행 가능성을 최대화하기 위한 경로를 탐색, 프로세스 트리 탐색 과정은 동일한 깊이 우선 탐색을 수행하는 것이 바람직하며, 각 서브 프로세스 트리의 탐색이 끝나면 기존 탐색된 프로세스 노드들은 역으로 거슬러 올라가면서 상위 프로세스 노드로 평가 값을 반영할 수 있다. 이때, 프로세스 최대 확률값을 교대로 비교하여 최종 서브 프로세스 트리를 선택하는 방식으로 진행할 수 있으며, 추천된 프로세스의 복잡도 방지와 탐색 속도 향상을 위한 Alpha-Beta Pruning(가지치기) 알고리즘을 적용할 수 있다.
한편, 프로세스 모델 생성부(13)는, MCTS(Monte Carlo Tree Search) 알고리즘을 이용할 수 있는데, 이러한 MCTS(Monte Carlo Tree Search)는 시뮬레이션을 통해 가장 가능성이 높아 보이는 방향으로 행동을 결정하는 탐색 방법으로, 모든 프로세스 노드를 대상으로 하는 대신 단위서비스 탐색 기능으로 입/출력 파라미터가 매칭 가능한 단위서비스를 추천하고 프로세스 노드의 오류를 예측할 수 있다. 의사 결정을 위한 체험적 탐색 알고리즘은, 프로세스 수행 시 단위서비스 평가 기능 활용하여 어떻게 움직이는 것이 가장 유망한 것인가를 분석하면서 프로세스 상에서 프로세스 트리를 확장하는 데 중점을 둔 탐색이다.
상기 프로세스 모델 생성부(13)는, 선택된 노드들에 대해 프로세스 종단점에서 프로세스 시작점까지 역방향으로 선택 가능성이 가장 높은 확률값을 갖는 노드들을 각각 선택하여 최종 프로세스 트리를 결정할 수 있다. 프로세스 추천의 적정성을 확보하기 위해 추천 결과를 종합하여 확장한 프로세스 노드의 적정성을 예측하고 역전파하여 해당경로의 수행 성공 가능성을 갱신할 수 있다.
역전파 과정에서 사용되는 최대 확률값 추천 알고리즘은 프로세스 트리의 모든 노드를 탐색해야 하기 때문에 프로세스의 복잡도가 클 경우 프로세스 트리 전체를 확장하여 탐색하는 것은 비효율적이며 시간이 많이 걸리는 단점이 있다.
이를 극복하기 위해 알파-베타 가지치기 알고리즘을 이용하여 최대 확률값 추천 알고리즘에서 이전에 학습된 프로세스에 따라서 연관성이 낮은 프로세스가 탐색되거나 추천 프로세스로 예측된 프로세스 하위 노드를 더 이상 탐색할 필요가 없는 경로를 제거하는 기법으로 계산량을 대폭 절감할 수 있다. 연관성이 낮은 프로세스가 탐색되거나 추천 프로세스로 예측된 프로세스가 추출된 지점부터 트리의 가지를 치는 방식(Pruning)을 적용하며, 가지치기 판단을 위해서 매 프로세스 노드 탐색 순간마다 최적의 프로세스 선택 값을 기억하는 방식으로 Alpha는 최대 확률값이 보장하는 최대값으로 추천 프로세스 적정성을 판단하는 기준 값으로 설정, Beta는 최대 확률값이 보장하는 최소값으로 추천 프로세스의 적정성이 떨어지는 값 설정할 수 있다. Alpha cut-off를 통해 추천된 프로세스의 어떤 경우가 추천 프로세스의 적정성에 불리하여 그 경우를 선택하지 않을 때 수행할 수 있으며, Beta cut-off는 추천된 프로세스의 어떤 경우가 적정성에 유리하여 그 경우를 선택하지 않을 때 수행, 프로세스 트리 탐색의 효율성이 프로세스 템플릿 추천 인공지능의 성능을 좌우할 수 있다.
이러한 프로세스 모델 생성부(13)는, 단위서비스의 실행 이력이 존재하지 않는 경우, 메타데이터에 포함된 입력 파라미터에 따른 단위서비스의 실행 결과 중 예측치가 가장 높은 단위서비스를 스택에 저장하고, 스택에 저장된 단위서비스 중 메타데이터에 포함된 출력 파라미터를 포함하는 단위서비스를 찾고, 찾은 해당 단위서비스의 실행을 위한 프로세스 템플릿을 생성할 수 있다.
좀 더 구체적으로, 프로세스 모델 생성부(13)에서 프로세스 템플릿을 생성하는 방법은 2가지 방법을 포함하는데, 그 첫 번째 방법은 하이퍼오토메이션의 운영초기 실행 이력이 존재하지 않아 단위서비스를 평가할 수 없을 때 사용하는 방법으로, CNN 기반 딥러닝 알고리즘으로 생성한 단위서비스 탐색 기능을 이용하여 입력 파라미터에 따른 결과 중 원-핫 인코딩(One-Hot Encoding) 알고리즘을 사용하여 예측치가 가장 높은 하나의 단위서비스를 스택에 넣어 두고 사용자가 입력한 결과 데이터를 포함하는 단위서비스를 찾을 수 있다.
그 두 번째 방법은 시스템을 운영하여 단위서비스 실행이력이 생성되어 단위서비스를 평가할 수 있는 경우에 사용되며, 강화학습(Reinforcement Learning) 알고리즘에 MCTS, MM, ABP를 사용하여 어떻게 움직이는 것이 가장 유망한 것인가를 분석하고, 프로세스 오류를 최소화하여 정상 수행 가능성을 최대화하고, 더 이상 탐색할 필요가 없는 경로를 제거하는 기법으로 계산량을 대폭 절감하는 알고리즘들의 조합(제한적 환경)으로 최적의 프로세스를 생성할 수 있다.
상기 워크 플로우 관리부(14)는, 단위서비스의 실행을 위한 메타데이터와 자동화 솔루션을 매핑하고, 매핑된 메타데이터에 포함된 파라미터에 따라 자동화 솔루션의 동작 실행을 제어할 수 있다. 워크 플로우 관리부(14)의 프로세스는 단위서비스들의 연결 흐름이라 볼 수 있는데, 단위서비스들은 자동화 솔루션(RPA, SAP, 이메일, Open API 등)을 동작하며, 이때 고정된 행위를 하는 것이 아니라 변수에 따른 로직을 수행할 수 있다.
단위서비스의 구성요소에 출력 파라미터에는 파라미터 명은 프로세스가 실행되는 동안 유일한 존재여야 하며 동일한 프로세스가 중복실행 중에도 해당 값을 찾을 수 있어야 한다. 이를 위해서 프로세스 인스턴스(프로세스가 실행되면 생성되는 프로그램 객체)ID와 해당 단위서비스ID, 파라미터 명 3가지를 조합하여 유일한 값을 유지 할 수 있도록 하며, 프로세스 인스턴스ID, 단위서비스ID + 파라미터 명을 조합하여 저장 시 프로세스가 시작해 종료되는 시점까지 생성되는 변수들을 모든 단위서비스의 입력 파라미터에 매핑이 가능하도록 하는 것이 바람직하다.
이러한 워크 플로우 관리부(14)는, 실행할 단위서비스의 파라미터 중에 미리 정의된 필수 파라미터가, 하이퍼오토메이션 관리부(11)를 통해 저장된 메타데이터의 파라미터로 포함되지 않거나 존재하지 않는 경우 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 누락된 데이터를 이메일 및 챗봇 중 적어도 하나를 통해 작업 요청자에게 요청할 수 있다.
즉, 오류 예측을 위한 규칙은 존재하는 단위서비스의 파라미터 명(이하, E_P)과 다음 진행할 단위서비스의 필수 파라미터(이하, N_P)의 매칭 데이터의 존재 여부를 판단(성공: S, 오류: F)하며, N_P에 존재하여 필요한 데이터가 E_P에 존재하지 않거나 값이 없는(Null, Undefinded) 경우 오류로 예측할 수 있다. 또한, 오류 예측 AI가 오류로 예측하면 경우에 따라 복구 알고리즘을 수행할 수 있다. 필수 파라미터 유무를 이용한 오류 예측 기능에서 오류를 예측하는 경우 작업 요청자(사용자)에게 누락된 데이터 항목을 메일로 요청하며, 작업 요청자(사용자)에게 누락된 데이터 항목을 Chat으로 요청할 수 있다. 이메일, 챗봇으로 메시지를 송신하고 응답을 대기중인 시간은 프로세스 수행 시간에서 차감할 수 있다.
또한, 워크 플로우 관리부(14)는, 자동화 솔루션 실행 요청 이전에 운영시스템의 부하 평가 결과로서 제공되는 위험도 수치가 미리 설정된 부하 임계치에 도달하면 오류 발생으로 예측하고, 해당 오류 발생으로 예측되는 경우, 워크 플로우 관리부(14)의 작업을 중지하고 이메일 및 챗봇 중 적어도 하나를 통해 작업 관리자에게 보고하면서 해당 오류 발생 여부를 일정 시간 단위로 재확인할 수 있다. 즉, 단위서비스 실행 요청 직전 자동화 솔루션(RPA, OCR, 챗봇 등) 서버에서 실시간 데이터 수집 전송 기능을 이용하여 CPU, 메모리, Disk 사용률을 취득하고 시스템 부하 평가 결과를 통해 위험도 예측 수치를 질의하고 해당 부하 임계치 초과의 경우 오류발생으로 예측할 수 있다.
또한, 시스템 부하 평가 결과를 이용한 오류 예측 기능에서 오류를 예측하는 경우 작업실행 요청을 작업요청 버퍼에 저장하여 대기하고, 작업요청 버퍼에서 대기중인 시간은 프로세스 수행 시간에서 차감할 수 있다. 이때, 작업요청 버퍼에 저장된 작업은 5초 주기로 서버의 상태를 재확인하며, 10분 이상 대기시 시스템 관리자에게 메일을 송신하고, 10분(작업 분배 에이전트 설정된 값) 이상 대기 시 시스템 관리자에게 챗팅을 통해 송신할 수 있다.
한편, 워크 플로우 관리부(14)는, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 변화를 예측하여 오류 발생을 판단할 수 있는데, 일반적으로 CPU, 메모리, Disk 사용률이 높을 때 PC 또는 서버에서 수행되는 프로그램들의 속도가 느려지는 것을 이용하여 작업 수행 시간 변화 예측에 사용할 모델 정의하고, CPU, 메모리, Disk 사용률의 3가지 항목은 동일한 그래프 모양으로 작업 수행 시간이 증가하는 것을 확인할 수 있다. 작업 수행 시간과 3가지 지표의 가중치(함수)로 증가하는 학습 데이터 셋을 1,000,000,000건을 랜덤하게 생성하며, 입력되는 작업 수행 시간에 가중치를 곱하여 라벨링하고, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 증가 함수(가중치의 곱) 알고리즘을 이용할 수 있다.
이렇게 생성된 데이터를 이용해 선형 회귀 알고리즘을 이용하여 수행 시간 변화 예측 모델을 학습할 수 있으며, 이때 AI 모델의 구성은 입력층은 4종(CPU, 메모리, Disk 사용률, 작업 수행 시간)으로 제한하고 출력층의 활성화 함수 없이 1종(예상 수행 시간)으로 고정(모델 생성)되고, 추가로 검증 데이터 셋 10,000,000건을 랜덤하게 생성하여 생성된 모델을 검증 평가하고 예측의 정확성(Accuracy)이 99% 미만일 경우 AI 모델의 은닉층을 깊고 넓게 확대하여 재학습 수행할 수 있다. 또한, CPU, 메모리, Disk 사용률에 따른 작업 수행 시간 변화 예측 기능에서 오류를 예측하는 경우 단위서비스 수행 시간이 과도하게 오래 걸리는 상태로 판단하여 시스템 관리자에게 메일로 해당 단위서비스를 알리고 확인 요청할 수 있고, 단위서비스 수행 시간이 과도하게 오래 걸리는 상태로 판단하여 시스템 관리자에게 챗봇을 통해 해당 단위서비스를 알리기 위한 확인 요청을 수행할 수 있다.
이상에서 설명한 것은 본 발명에 의한 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
1000: 프로세스 실행 요청 에이전트 시스템
100: 프로세스 실행 요청 수신부
200: 데이터 수집부
300: 시스템 부하 평가 제어부
400: 데이터 전처리부
500: 프로세스 실행 요청부
100: 프로세스 실행 요청 수신부
200: 데이터 수집부
300: 시스템 부하 평가 제어부
400: 데이터 전처리부
500: 프로세스 실행 요청부
Claims (6)
- 작업 요청자 또는 시스템으로부터 RPA, OCR, 이메일, 챗봇, SAP, Open API를 포함하는 자동화 솔루션으로 구성된 자동화 프로세스에 대한 실행 요청을 수신하는 프로세스 실행 요청 수신부;
상기 자동화 프로세스의 세부 내용을 구성하는 단위인 단위서비스의 메타데이터를 저장하는 데이터베이스와, 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 각각 수집하는 데이터 수집부;
상기 데이터 수집부를 통해 수집된 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템에 대한 위험도 수치를 산출하여 운영시스템의 부하를 평가하는 시스템 부하 평가 제어부; 및
상기 시스템 부하 평가 제어부의 부하 평가 결과로 제공되는 상기 위험도 수치에 따라 상기 자동화 솔루션의 실행 여부를 판단하여 프로세스 실행을 요청하는 프로세스 실행 요청부를 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
- 제1 항에 있어서,
상기 데이터 수집부는,
상기 데이터베이스와 상기 자동화 솔루션으로부터 상기 자동화 솔루션의 실행에 필요한 데이터를 수집하되, 문자열 검색에 따른 분류 알고리즘을 이용하여 정형 데이터 수집과 비정형 데이터 수집을 구분하여 수집하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
- 제2 항에 있어서,
상기 데이터 수집부는,
상기 비정형 데이터에 대해 미리 설정된 특정 단어 또는 문장 포함 여부를 판별하거나, 필터를 통해 문자열만 추출하거나, 정형화된 메시지 포맷으로 변환한 후, 데이터 암호화 처리 과정을 수행하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
- 제1 항에 있어서,
상기 시스템 부하 평가 제어부는,
상기 프로세스 실행 요청부를 통한 자동화 프로세스 실행 요청 이전에 수집된 데이터 중 CPU 사용률, 메모리 사용률, 디스크 사용률에 대한 데이터를 사용하고 선형 회귀 알고리즘을 기반으로 컴퓨터 장치의 운영시스템의 위험도 수치를 산출하고, 산출된 위험도 수치와 미리 설정된 부하 임계치를 비교하여 운영시스템 부하를 평가하고, 부하 평가에 따라 상기 프로세스 실행 요청부의 자동화 프로세스 실행 요청을 제어하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
- 제1 항에 있어서,
상기 프로세스 실행 요청부는,
상기 데이터 수집부를 통해 수집된 데이터를 기반으로 상기 자동화 솔루션으로 구성된 자동화 프로세스 실행을 요청하되, 상기 위험도 수치가 미리 설정된 부하 임계치에 도달하면 자동화 프로세스 실행 요청을 중지하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
- 제1 항에 있어서,
상기 데이터 수집부를 통해 수집된 데이터의 형식을 기준으로 해당 데이터로부터 입력 파라미터를 추출하고, 추출된 상기 입력 파라미터를 상기 프로세스 실행 요청부로 제공하는 데이터 전처리부를 더 포함하는 것을 특징으로 하는 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210175872A KR102425731B1 (ko) | 2021-12-09 | 2021-12-09 | 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210175872A KR102425731B1 (ko) | 2021-12-09 | 2021-12-09 | 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102425731B1 true KR102425731B1 (ko) | 2022-07-29 |
Family
ID=82606325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210175872A KR102425731B1 (ko) | 2021-12-09 | 2021-12-09 | 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102425731B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102670871B1 (ko) | 2023-12-12 | 2024-05-30 | 주식회사 바티에이아이 | Ai 기반의 확장 가능한 api 앱 노코드 rpa 업무 자동화 구독서비스 플랫폼 제공 방법, 장치 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056232A (ko) * | 2001-12-27 | 2003-07-04 | 엘지전자 주식회사 | 소프트웨어 프로세스 평가방법 |
KR102156379B1 (ko) * | 2020-03-19 | 2020-09-16 | 주식회사 이글루시큐리티 | 정보수집 프로세스를 통한 에이전트리스 방식 취약점 진단시스템 및 그 방법 |
KR102226463B1 (ko) | 2020-08-06 | 2021-03-10 | 최영식 | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 |
KR102294364B1 (ko) | 2021-05-24 | 2021-08-27 | 김희대 | 인공지능 기반 문서 자동 변환 시스템 및 그 방법 |
-
2021
- 2021-12-09 KR KR1020210175872A patent/KR102425731B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056232A (ko) * | 2001-12-27 | 2003-07-04 | 엘지전자 주식회사 | 소프트웨어 프로세스 평가방법 |
KR102156379B1 (ko) * | 2020-03-19 | 2020-09-16 | 주식회사 이글루시큐리티 | 정보수집 프로세스를 통한 에이전트리스 방식 취약점 진단시스템 및 그 방법 |
KR102226463B1 (ko) | 2020-08-06 | 2021-03-10 | 최영식 | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 |
KR102294364B1 (ko) | 2021-05-24 | 2021-08-27 | 김희대 | 인공지능 기반 문서 자동 변환 시스템 및 그 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102670871B1 (ko) | 2023-12-12 | 2024-05-30 | 주식회사 바티에이아이 | Ai 기반의 확장 가능한 api 앱 노코드 rpa 업무 자동화 구독서비스 플랫폼 제공 방법, 장치 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102392359B1 (ko) | 인공지능 기반의 하이퍼오토메이션 솔루션 시스템 | |
US11860920B2 (en) | System and method for providing technology assisted data review with optimizing features | |
US9678957B2 (en) | Systems and methods for classifying electronic information using advanced active learning techniques | |
US11048884B2 (en) | Word embeddings and virtual terms | |
US8122253B2 (en) | Data validation using signatures and sampling | |
KR101955550B1 (ko) | 건설 프로젝트의 전주기 위험요인 지식정보 서비스 시스템 | |
US11036483B2 (en) | Method for predicting the successfulness of the execution of a DevOps release pipeline | |
KR20200015642A (ko) | Super Tree 기반의 Project/Task 지능 목표관리 방법 및 플랫폼 | |
Kubiak et al. | An overview of data-driven techniques for IT-service-management | |
KR20200098378A (ko) | 설명 정보 확정 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 | |
CN103336790A (zh) | 基于Hadoop的邻域粗糙集快速属性约简方法 | |
CN103513983A (zh) | 用于预测性警报阈值确定工具的方法和*** | |
CN111597247A (zh) | 一种数据异常分析方法、装置及存储介质 | |
CN103336791A (zh) | 基于Hadoop的粗糙集快速属性约简方法 | |
CN111133391A (zh) | 用于对风力农场和风力涡轮机数据、数据分析算法和数据分析的结果进行受控式共享的方法 | |
US20220051049A1 (en) | Using meta-learning to optimize automatic selection of machine learning pipelines | |
US11216761B2 (en) | System and method for supply chain optimization | |
KR102425731B1 (ko) | 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템 | |
US20130151519A1 (en) | Ranking Programs in a Marketplace System | |
CN115310510A (zh) | 基于优化规则决策树的目标安全识别方法、装置及电子设备 | |
CN116737436A (zh) | 面向混合部署场景的微服务***根因定位方法及*** | |
Ilkhani et al. | Extraction test cases by using data mining; reducing the cost of testing | |
CN111898766B (zh) | 基于自动机器学习的以太坊燃料限制预测方法及装置 | |
CN116225848A (zh) | 日志监测方法、装置、设备和介质 | |
Li et al. | Type-1 assembly line balancing considering uncertain task time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |