KR102411816B1 - 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램 - Google Patents

로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102411816B1
KR102411816B1 KR1020210187356A KR20210187356A KR102411816B1 KR 102411816 B1 KR102411816 B1 KR 102411816B1 KR 1020210187356 A KR1020210187356 A KR 1020210187356A KR 20210187356 A KR20210187356 A KR 20210187356A KR 102411816 B1 KR102411816 B1 KR 102411816B1
Authority
KR
South Korea
Prior art keywords
task
user
providing
request
image data
Prior art date
Application number
KR1020210187356A
Other languages
English (en)
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 KR1020210187356A priority Critical patent/KR102411816B1/ko
Priority to KR1020220073846A priority patent/KR20230097976A/ko
Application granted granted Critical
Publication of KR102411816B1 publication Critical patent/KR102411816B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera

Abstract

RPA 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공방법은, 컴퓨팅 장치에 의해 수행되는 RPA 포털을 이용한 업무 자동화 서비스 제공방법에 있어서, 작업 수행 요청을 획득하는 단계 및 상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하며, 상기 작업을 수행하는 단계는, 상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 단계 및 상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 단계를 포함한다.

Description

로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램{METHOD, SERVER AND COMPUTER PROGRAM FOR PROVIDING TASK AUTOMATION SERVICE USING ROBOTIC PROCESS AUTOMATION PORTAL}
본 발명의 다양한 실시예는 RPA 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램에 관한 것이다.
일반적으로, 일정 규모 이상의 회사에서는 회사의 경영을 위해 재무, 회계, 제조, 구매, 고객 관리 등과 같이 다양한 종류의 업무를 처리해야 한다. 이러한 업무들은 처리를 위해 각종 데이터들을 수집하고, 수집된 데이터들을 적절하게 가공 및 관리하는 과정이 필수적인 바, 이러한 일련의 과정들을 수행하기 위해 많은 인력과 시간, 비용이 소요되고 있으며, 이에 따라 보다 효율적으로 회사의 경영을 위한 업무를 처리할 수 있는 수단이 요구되고 있다.
정보통신기술의 발달되고, 컴퓨터가 널리 보급됨에 따라, 종래에는 온라인상에서 회사 경영을 위한 각종 데이터를 자동으로 수집, 가공 및 처리하는 시스템을 구축하고, 구축된 시스템을 통해 경영 전반의 업무를 처리함으로써 보다 효율적으로 업무를 처리하고 있으며, 대표적으로는 로보틱 처리 자동화(Robotic Process Automation, RPA) 기술을 기반으로 한 경영 지원 시스템이 있다.
로보틱 처리 자동화 기술은 업무 과정에 발생되는 데이터를 정형화하고 논리적으로 자동 수행하는 기술로서, 기업의 재무, 회계, 제조, 구매, 고객 관리 등에서 데이터 수집, 입력, 비교 등과 같이 반복되는 단순 업무를 자동화하여 빠르고 정밀하게 수행함으로써 회사 운영을 위한 업무 처리의 효율성을 극대화할 수 있다는 이점이 있으나, 처리할 업무를 직접 지정하거나, 처리 완료된 결과를 검토하는 과정 등 업무 처리 전반에 걸쳐 아직까지 담당자가 직접 개입을 하여 업무 처리를 보조해야 한다는 문제가 남아있다.
또한, 종래의 로보틱 처리 자동화 기술 기반의 경영 지원 시스템의 경우, 로보틱 처리 자동화 기술을 이용하여 처리 중인 작업의 진행 상황을 실시간으로 모니터링 할 수 없기 때문에, 작업이 완료될 때까지 작업이 정상적으로 처리되었는지 알기 어렵고, 많은 작업을 수행하게 될 경우, 오류(Error) 발생으로 인해 정상적으로 완료되지 못한 작업을 색출하기 어렵다는 문제가 있다.
한국등록특허 제10-2261793호 (2021.06.09)
본 발명이 해결하고자 하는 과제는 상술된 종래의 문제점을 해소하기 위한 목적으로, 사용자의 작업 수행 요청에 따라 자동화 작업을 수행하되, 작업의 진행 상태 정보를 포함하는 작업 로그 및 작업을 수행하는 과정을 포함하는 영상 데이터를 실시간으로 제공함으로써, 작업의 진행 상황을 실시간으로 모니터링할 수 있는 RPA 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 사용자의 작업 수행 요청 이력 및 기 설정된 작업 스케줄에 따라 사용자가 요청할 것으로 예측되는 작업들을 자동적으로 수행함으로써, 사용자의 개입없이 자동으로 작업을 수행하여 사용자가 보다 편리하게 작업의 결과를 이용할 수 있도록 하는 RPA 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공방법은, 컴퓨팅 장치에 의해 수행되는 RPA 포털을 이용한 업무 자동화 서비스 제공방법에 있어서, 작업 수행 요청을 획득하는 단계 및 상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하며, 상기 작업을 수행하는 단계는, 상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 단계 및 상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 사용자로부터 복수의 작업 수행 요청을 획득하는 경우, 상기 복수의 작업 수행 요청 각각에 대응되는 복수의 작업 각각을 독립적으로 수행하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 복수의 사용자 각각으로부터 복수의 작업 수행 요청을 획득하는 경우, 상기 복수의 작업 수행 요청 각각에 대한 우선 순위를 설정하되, 상기 복수의 작업 수행 요청 각각에 대한 우선 순위는 상기 복수의 작업 수행 요청 각각을 획득한 순서 및 상기 복수의 작업 수행 요청 각각의 중요도 중 적어도 하나에 기초하여 설정되는 것인, 단계, 상기 설정된 우선 순위에 기초하여 상기 복수의 작업 수행 요청 각각에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 작업 수행 요청 각각을 큐(queue) 구조의 저장 공간에 순차적으로 저장하는 단계 및 기 설정된 주기마다 상기 저장된 복수의 작업 수행 요청 각각의 처리 순서를 조회하고, 상기 조회된 처리 순서에 따라 상기 저장된 복수의 작업 수행 요청 각각에 대응되는 작업을 순차적으로 수행하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 작업 로그를 제공하는 단계는, 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 작업 로그를 생성하는 단계, 상기 획득된 작업 수행 요청에 따라 작업을 수행함으로써 생성되는 로그 데이터를 이용하여 상기 생성된 작업 로그에 포함된 진행 상태 정보를 갱신하는 단계 및 상기 사용자의 요청에 따라 상기 갱신된 진행 상태 정보를 포함하는 작업 로그를 상기 사용자에게 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 영상 데이터를 제공하는 단계는, 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 획득된 작업 수행 요청에 따라 작업이 수행되는 브라우저를 화면의 최상단에 고정 배치시키는 단계, 상기 최상단에 고정 배치된 브라우저에 대한 작업이 개시됨에 따라 상기 최상단에 고정 배치된 브라우저를 기 설정된 초당 프레임 수(Frame Per Second, FPS)에 따라 캡처하여 복수의 캡쳐 이미지를 생성하는 단계 및 상기 생성된 복수의 캡쳐 이미지를 결합하여 영상 데이터를 생성하고, 상기 사용자의 요청에 따라 상기 생성된 영상 데이터를 상기 사용자에게 스트리밍 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하되, 상기 작업에 오류(error)가 발생함에 따라 상기 작업이 완료되지 못한 경우 상기 사용자에게 상기 발생된 오류에 관한 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 포함하는 알림을 제공하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 알림을 제공하는 단계는, 상기 작업에 오류가 발생하는 경우, 기 학습된 인공지능 모델 - 상기 기 학습된 인공지능 모델은 작업을 수행하는 과정을 포함하며 오류 발생 여부, 발생된 오류의 원인 및 조치 방법이 레이블링(labeling)된 영상 데이터를 학습 데이터로 하여 학습된 모델임 - 을 통해 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 상기 발생된 오류의 원인을 추출하고, 상기 추출된 오류의 원인에 따른 조치 방법을 결정하며, 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 결정된 조치 방법에 관한 정보를 제공하는 단계는, 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공한 것에 대응하여 상기 사용자로부터 피드백 정보 - 상기 피드백 정보는 상기 발생된 오류에 대한 상기 사용자의 실제 조치 방법 및 상기 실제 조치 방법에 따른 결과를 포함함 - 를 입력받는 단계 및 상기 입력된 피드백 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 학습 데이터로 하여 상기 기 학습된 인공지능 모델을 재학습시키는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 사용자로부터 제1 작업 수행 요청을 획득하는 것에 대응하여 제1 작업을 수행하되, 상기 제1 작업에 오류가 발생함에 따라 상기 제1 작업이 완료되지 못한 경우, 상기 제1 작업에 관한 정보를 임시 저장하는 단계 및 상기 사용자로부터 제2 작업 수행 요청을 획득하는 것에 대응하여 제2 작업을 수행하되, 상기 임시 저장된 제1 작업에 관한 정보를 로드하여 상기 제1 작업을 우선적으로 수행하고, 상기 제1 작업이 완료되는 것에 대응하여 상기 제2 작업을 수행하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 사용자의 작업 수행 요청 이력 및 상기 사용자로부터 기 설정된 작업 스케줄 중 적어도 하나를 이용하여 사용자에 대한 작업 패턴을 추출하는 단계 및 상기 추출된 작업 패턴에 기초하여 상기 작업 수행 요청의 획득 여부와 관계없이 자동으로 작업을 수행하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 작업을 수행하는 단계는, 사용자로부터 획득된 작업 수행 요청이 웹 브라우저의 데이터에 대한 웹 크롤링 작업 수행 요청인 경우, 상기 웹 크롤링 작업 수행 요청을 획득한 시점을 기준으로 과거 소정의 기간 이전의 웹 브라우저의 데이터부터 웹 크롤링 작업을 수행하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하고, 상기 작업을 수행함에 따라 생성되는 작업 수행 결과를 상기 사용자에게 제공하되, 상기 사용자가 RPA 포털을 이용한 업무 자동화 서비스를 이용함에 따라 수집된 로그 데이터에 기초하여 상기 작업 수행 결과를 가공하고, 상기 가공된 작업 수행 결과를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공서버는, 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 작업 수행 요청을 획득하는 인스트럭션(instruction) 및 상기 획득된 작업 수행 요청에 따라 작업을 수행하는 인스트럭션을 포함하며, 상기 작업을 수행하는 인스트럭션은, 상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 인스트럭션 및 상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램은, 컴퓨팅 장치와 결합되어, 작업 수행 요청을 획득하는 단계 및 상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하며, 상기 작업을 수행하는 단계는, 상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 단계 및 상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 단계를 포함하는 RPA 포털을 이용한 업무 자동화 서비스 제공방법을 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 사용자의 작업 수행 요청에 따라 자동화 작업을 수행하되, 작업의 진행 상태 정보를 포함하는 작업 로그 및 작업을 수행하는 과정을 포함하는 영상 데이터를 실시간으로 제공함으로써, 작업의 진행 상황을 실시간으로 모니터링할 수 있다는 이점이 있다.
또한, 사용자의 작업 수행 요청 이력 및 기 설정된 작업 스케줄에 따라 사용자가 요청할 것으로 예측되는 작업들을 자동적으로 수행함으로써, 사용자의 개입없이 자동으로 작업을 수행하여 사용자가 보다 편리하게 작업의 결과를 이용할 수 있도록 한다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공서버의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공방법의 순서도이다.
도 4는 다양한 실시예에서, 작업 로그를 제공하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 영상 데이터를 제공하는 방법을 설명하기 위한 순서도이다.
도 6은 다양한 실시예에서 작업 로그를 출력하는 RPA 포털 화면을 예시적으로 도시한 도면이다.
도 7은 다양한 실시예에서, 영상 데이터를 출력하는 RPA 포털 화면을 예시적으로 도시한 도면이다.
도 8은 다양한 실시예에서, 작업 수행 결과를 출력하는 RPA 포털 화면을 예시적으로 도시한 도면이다.
도 9a 내지 도 9d는 다양한 실시예에서, RPA 포털을 이용한 업무 자동화 서비스 제공서버에 의해 수행되는 웹 크롤링 작업 자동화 프로세스를 예시적으로 도시한 도면이다.
도 10a 내지 도 10f는 다양한 실시예에서, RPA 포털을 이용한 업무 자동화 서비스 제공서버에 의해 수행되는 봇(BOT) 작업 자동화 프로세스를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공시스템은 업무 자동화 서비스 제공서버(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 RPA 포털을 이용한 업무 자동화 서비스 제공시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 업무 자동화 서비스 제공서버(100)는 회사 운영과 관련된 각종 업무를 자동적으로 처리하는 업무 자동화 서비스를 제공할 수 있다.
여기서, 업무 자동화 서비스는 사용자로부터 획득한 작업 수행 요청에 따라 사용자가 요청한 작업을 자동적으로 수행하는 기능(예: 웹 크롤링 작업 자동화 프로세스, 도 9a 내지 9d)뿐만 아니라, 사용자의 요청과 관계없이 자체적인 판단으로 인해 작업을 자동적으로 수행하는 기능(예: 봇(BOT) 작업 자동화 프로세스, 도 10a 내지 10f)을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 업무 자동화 서비스 제공서버(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 RPA 포털을 제공할 수 있고, RPA 포털을 통해 사용자에게 업무 자동화 서비스를 제공할 수 있다.
여기서, 사용자 단말(200)은 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다. 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함할 수 있으나, 이에 한정되지 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 업무 자동화 서비스 제공서버(100)와 연결될 수 있으며, 업무 자동화 서비스 제공서버(100)가 RPA 포털을 이용한 업무 자동화 서비스 제공방법을 제공하기 위해 필요한 각종 데이터를 저장 및 관리하거나, RPA 포털을 이용한 업무 자동화 서비스 제공방법을 수행함에 따라 생성되는 각종 데이터를 저장 및 관리할 수 있다. 일례로, 외부 서버(300)는 업무 자동화 서비스 제공서버(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여 RPA 포털을 이용한 업무 자동화 서비스 제공방법을 수행하는 업무 자동화 서비스 제공서버(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공서버의 하드웨어 구성도이다.
도 2를 참조하면, 다양한 실시예에서, 업무 자동화 서비스 제공서버(100)(이하, "서버(100)")는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 서버(100)를 통해 RPA 포털을 이용한 업무 자동화 서비스 제공 프로세스를 수행하는 경우, 스토리지(150)는 RPA 포털을 이용한 업무 자동화 서비스 제공 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 작업 수행 요청을 획득하는 단계 및 상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하는 RPA 포털을 이용한 업무 자동화 서비스 제공방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 8을 참조하여 서버(100)에 의해 수행되는 RPA 포털을 이용한 업무 자동화 서비스 제공방법에 대해 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 서버(100)는 작업 수행 요청을 획득할 수 있다. 예를 들어, 서버(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결되어, 사용자의 요청에 따라 사용자 단말(200)로 RPA 포털을 제공할 수 있고, RPA 포털을 통해 사용자로부터 특정 작업을 수행할 것을 요청하는 작업 수행 요청을 획득할 수 있다.
여기서, 작업은 회사의 경영과 관련된 각종 업무를 처리하기 위한 작업(예: 자료 수집 및 처리 작업)으로서, 웹 브라우저의 정보를 자동으로 수집하는 웹 크롤링(Web Crawling) 작업(예: 시스템 체크 업무, 나라장터 수주 정보 수집 업무, 동 가격 및 환율 정보 수집 업무, 발주처 직원 정보 수집 업무 등), 사람이 쓰거나 기계로 인쇄한 문자의 이미지를 기계가 읽을 수 있는 문자로 변환하는 OCR(Optical Character Recognition) 작업(예: 텍스트 추출 업무, 사업자등록증 추출 업무 등), 사용자의 업무 프로세스를 그대로 모방하여, 수행하는 BOT 작업(Software robot)(예: 전자세금계산서 데이터 대사 업무, 송금 확인증 발급 업무, 하도급 변경계약 키스콘 등록 업무, 그룹사 인사발령 정보 수집 및 사내 공지 업무, 매입세 안분 기초자료 생성 업무, 기술인협회 기술자 정보 수집 업무, 기타영수증 전표 세금코드 확정 업무 등)을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 사용자로부터 특정 작업에 대한 즉시 실행을 요청하는 작업 수행 요청과 예약 실행을 요청하는 작업 수행 요청을 획득할 수 있다. 여기서, 즉시 실행을 요청하는 작업 수행 요청은 작업 수행 요청을 획득하는 것에 대응하여 즉시 작업을 처리하는 동작을 수행할 것을 요청하는 것을 의미하며, 예약 실행을 요청하는 작업 수행 요청은 예약된 날짜, 시간에 작업을 처리하는 동작을 수행할 것을 미리 요청하는 것을 의미할 수 있으나, 이에 한정되지 않는다.
또한, 서버(100)는 사용자로부터 즉시 실행을 요청하는 작업 수행 요청을 획득하는 경우, 후술되는 S120 단계를 통해 해당 작업을 즉시 수행할 수 있고, 예약 실행을 요청하는 작업 수행 요청을 획득하는 경우, 작업 스케줄 상에 작업을 수행하고자 하는 날짜 및 시장에 해당 작업 수행 요청에 따른 작업을 수행할 것을 설정해둘 수 있다.
S120 단계에서, 서버(100)는 S110 단계를 거처 획득한 작업 수행 요청에 따라 작업을 수행할 수 있다. 예를 들어, 서버(100)는 사용자로부터 작업 수행 요청을 획득하는 경우, 작업 수행 요청에 따른 작업을 수행하기 위한 API(application programming interface)를 호출할 수 있고, API를 통해 작업을 수행할 수 있다.
다양한 실시예에서, 서버(100)는 사용자로부터 복수의 작업 수행 요청(예: 웹 크롤링 작업)을 획득하는 경우, 복수의 작업 수행 요청 각각에 대응되는 복수의 작업을 독립적으로 수행할 수 있다. 예를 들어, 서버(100)는 복수의 프로세서(110)를 포함할 수 있으며, 복수의 프로세서(110)를 이용하여 복수의 작업 수행 요청 각각에 대응되는 복수의 작업을 다중 처리(multiprocessing)함으로써, 복수의 작업 각각을 개별적, 독립적 및 병렬적으로 처리할 수 있다.
다양한 실시예에서, 서버(100)는 복수의 사용자로부터 작업 수행 요청(예: 웹 크롤링 작업 또는 BOT 작업)을 입력 받음에 따라 복수의 작업 수행 요청이 획득되는 경우, 선입선출(First In First Out, FIFO) 방식을 이용하여 복수의 작업 수행 요청 각각에 대응되는 복수의 작업을 순차적으로 처리할 수 있다.
보다 구체적으로, 먼저, 서버(100)는 복수의 사용자로부터 복수의 작업 수행 요청을 획득하는 경우, 복수의 작업 수행 요청 각각에 대한 우선 순위를 설정할 수 있다.
일례로, 서버(100)는 복수의 작업 수행 요청 각각을 획득한 순서(또는 시간)에 기초하여, 가장 먼저 획득한 작업 수행 요청부터 순차적으로 높은 우선 순위를 설정할 수 있다.
다른 예로, 서버(100)는 복수의 작업 수행 요청 각각의 중요도에 기초하여, 중요도가 높은 작업 수행 요청부터 순차적으로 높은 우선 순위를 설정할 수 있다. 여기서, 중요도는 작업 수행 요청을 입력한 사용자로부터 직접 입력받는 형태로 구현될 수 있으나, 이에 한정되지 않고, 작업 수행 요청에 따른 작업의 종류, 난이도, 빈도수 등 다양한 요소들을 고려하여 산출되는 형태로 구현될 수 있다.
이후, 서버(100)는 상기의 방식에 따라 복수의 작업 수행 요청 각각에 대한 우선 순위를 설정한 후, 우선 순위에 기초하여 복수의 작업 수행 요청 각각에 대응되는 복수의 작업에 대한 처리 순서를 결정할 수 있고, 결정된 처리 순서에 따라 복수의 작업 수행 요청 각각을 저장할 수 있다. 이때, 서버(100)는 우선 순위에 기초하여 순차적으로 작업을 처리하기 위하여, 처리 순서에 따라 복수의 작업 수행 요청 각각을 큐(queue) 구조의 저장 공간에 순차적으로 저장할 수 있다.
이후, 서버(100)는 기 설정된 주기마다 큐 구조의 저장 공간에 저장된 복수의 작업 수행 요청 각각의 처리 순서를 조회하고, 조회된 처리 순서에 따라 저장된 복수의 작업 수행 요청 각각에 대응되는 작업을 순차적으로 수행할 수 있다. 예를 들어, 서버(100)는 기 설정된 주기마다 주기적으로 작업 수행을 위한 API를 호출할 수 있고, 호출된 API를 통해 처리 순서에 따라 복수의 작업 요청 각각에 대응되는 작업들을 순차적으로 수행할 수 있다.
다양한 실시예에서, 서버(100)는 중요도에 기초하여 작업을 처리하기 위해, 서로 상이한 중요도를 가지는 작업들을 저장하는 복수의 큐 구조의 저장 공간을 포함할 수 있으며, 중요도에 따라 복수의 작업 수행 요청을 분류하여 복수의 저장 공간 각각에 분류, 저장할 수 있고, 복수의 저장 공간에 각각 저장된 작업 수행 요청을 중요도에 따라 순차적으로 처리할 수 있다.
먼저, 서버(100)는 복수의 작업 각각의 중요도를 가장 높은 제1등급부터 가장 낮은 제5등급까지 총 5단계로 분류할 수 있고, 복수의 작업 수행 요청 각각에 대응되는 작업의 중요도에 따라 5개의 저장 공간(예: 중요도가 제1 등급인 작업들이 저장되는 제1 저장 공간부터 중요도가 제5등급인 작업들이 저장되는 제5 저장 공간) 각각에 분류하여 저장할 수 있다. 이때, 서버(100)는 동일한 중요도의 작업의 경우, 작업 수행 요청을 획득한 시간(순서)에 따라 순차적으로 저장할 수 있다.
이후, 서버(100)는 기 설정된 주기마다 복수의 작업 수행 요청에 따른 작업을 수행하되, 제1 저장 공간에 저장된 복수의 작업 수행 요청에 따른 작업(중요도가 가장 높은 작업)부터 제5 저장 공간에 저장된 복수의 작업 수행 요청에 따른 작업까지 순차적으로 수행할 수 있다.
이때, 서버(100)는 제3 저장 공간에 저장된 복수의 작업 수행 요청에 따라 복수의 작업(제3 등급의 작업)을 처리하는 과정에서 제1 등급 또는 제2 등급의 작업을 수행할 것을 요청하는 작업 수행 요청 즉, 현재 수행 중인 작업보다 중요도가 높은 작업의 작업 수행 요청을 획득하는 경우, 현재 수행 중인 작업의 수행을 일시 정지하고, 작업 수행 요청에 따라 현재 수행 중인 작업보다 중요도가 높은 작업을 먼저 수행함으로써, 작업의 중요도를 고려하여, 중요한 작업이 우선적으로 수행, 처리되도록 할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 복수의 작업 수행 요청에 따라 복수의 작업을 순차적으로 수행하고 있는 시점에, 사전에 예약된 작업 수행 요청이 있는 경우, 사전에 예약된 작업 수행 요청에 따른 작업을 우선적으로 처리할 수 있다. 즉, 서버(100)는 예약 실행을 요청하는 작업 수행 요청에 따른 작업을 즉시 실행을 요청하는 작업 수행 요청에 따른 작업보다 우선적으로 수행할 수 있다.
다양한 실시예에서, 서버(100)는 사용자로부터 제1 시점에서 작업 수행 요청을 획득하는 경우 작업 수행 요청에 따라 작업을 수행하되, 작업 수행 요청을 획득한 시점인 제1 시점을 기준으로 과거 소정의 기간 이전 기간의 데이터부터 작업을 수행할 수 있다. 예를 들어, 서버(100)는 사용자로부터 제1 시점에서 웹 브라우저의 데이터에 대한 웹 크롤링 작업 수행 요청을 획득하는 경우, 제1 시점을 기준으로 약 7일 이전의 데이터부터 웹 크롤링 작업을 수행함으로써, 웹 크롤링되는 데이터가 누락되는 것을 방지할 수 있다.
S130 단계에서, 서버(100)는 S120 단계를 거쳐 수행된 작업이 정상적으로 완료 되었는지 여부 즉, 작업의 성공 또는 실패 여부를 판단할 수 있다. 여기서, 서버(100)는 작업의 성공 또는 실패 여부는 작업을 수행하는 과정에서 오류(Error)가 발생되었는지 여부로 판단할 수 있으나, 이에 한정되지 않는다.
S140 단계에서, 서버(100)는 S130 단계를 거쳐 작업이 정상적으로 완료된 것으로 판단되는 경우 즉, 작업이 성공한 것으로 판단되는 경우, 작업 수행 결과를 사용자에게 제공할 수 있다. 여기서, 사용자에게 제공되는 작업 수행 결과는 도 8과 같이 차트, 그리드 형태로 구현될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 사용자에 맞춰 작업 수행 결과를 가공할 수 있고, 가공된 작업 수행 결과를 사용자에게 제공할 수 있다. 예를 들어, 서버(100)는 제1 사용자의 작업 수행 요청에 따라 수행된 작업의 작업 수행 결과를 제1 사용자에게 제공하되, 제1 사용자가 RPA 포털을 이용한 업무 자동화 서비스를 이용함에 따라 수집된 로그 데이터를 이용하여 제1 사용자의 작업 수행 결과 이용 패턴을 추출하고, 추출된 작업 수행 결과 이용 패턴에 기초하여, 작업 수행 결과에 포함된 정보들의 배치, 크기, 형태 등을 결정하여 가공할 수 있고, 가공된 작업 수행 결과를 제1 사용자에게 제공함으로써, 사용자 맞춤형 결과를 제공할 수 있다.
S150 단계에서, 서버(100)는 S130 단계를 거쳐 작업이 정상적으로 완료되지 못한 것으로 판단되는 경우 즉, 작업이 실패한 것으로 판단되는 경우, 사용자에게 작업이 수행되는 과정에서 발생된 오류에 관한 정보 및 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 포함하는 알림을 제공할 수 있다. 여기서, 영상 데이터를 생성하는 방법은 도 5를 참조하여 후술하도록 한다.
다양한 실시예에서, 서버(100)는 작업에 오류가 발생하는 경우, 기 학습된 인공지능 모델을 통해 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 발생된 오류의 원인을 추출하고, 추출된 오류의 원인에 따른 조치 방법을 결정하며, 사용자에게 조치 방법에 관한 정보를 제공할 수 있다.
여기서, 기 학습된 인공지능 모델은 작업을 수행하는 과정을 포함하며 오류 발생 여부, 발생된 오류의 원인 및 조치 방법이 레이블링(labeling)된 영상 데이터를 학습 데이터로 하여 학습된 모델일 수 있으나, 이에 한정되지 않는다.
인공지능 모델(또는 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network))은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.
인공지능 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 인공지능 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 인공지능 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 인공지능 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 인공지능 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 인공지능 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 인공지능 모델이 존재하는 경우, 두 개의 인공지능 모델들은 서로 상이한 것으로 인식될 수 있다.
인공지능 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 인공지능 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 인공지능 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 인공지능 모델을 구성하는 노드들을 의미할 수 있다. 본 개시의 일 실시예에 따른 인공지능 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 인공지능 모델일 수 있다.
인공지능 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.
다양한 실시예에서, 서버(100)는 인공지능 모델을 학습시키기 위한 학습 데이터를 구축할 수 있고, 구축된 학습 데이터를 이용하여 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 인공지능 모델을 학습시킬 수 있다.
인공지능 모델의 학습은 출력의 오류를 최소화하기 위한 것이다. 인공지능 모델의 학습에서 반복적으로 학습 데이터를 인공지능 모델에 입력시키고 학습 데이터에 대한 인공지능 모델의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 인공지능 모델의 에러를 인공지능 모델의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 인공지능 모델의 각 노드의 가중치를 업데이트 하는 과정이다.
교사 학습의 경우 각각의 학습 데이터에 정답이 레이블링 되어있는 학습 데이터를 사용하며(즉, 레이블링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 레이블링 되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 레이블링 된 데이터 일 수 있다. 레이블링된 학습 데이터가 인공지능 모델에 입력되고, 인공지능 모델의 출력(카테고리)과 학습 데이터의 레이블을 비교함으로써 오류(error)가 계산될 수 있다.
다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 인공지능 모델 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 인공지능 모델에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 인공지능 모델의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다.
입력 데이터에 대한 인공지능 모델의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 인공지능 모델의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 인공지능 모델의 학습 초기에는 높은 학습률을 사용하여 인공지능 모델이 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
인공지능 모델의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 인공지능 모델을 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 인공지능 모델이 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다.
과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.
다양한 실시예에서, 서버(100)는 사용자에게 조치 방법에 관한 정보를 제공한 것에 대응하여 사용자로부터 피드백 정보(예: 발생된 오류에 대한 사용자의 실제 조치 방법 및 실제 조치 방법에 따른 결과를 포함)를 입력받을 수 있고, 입력된 피드백 정보 및 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 학습 데이터로 하여 기 학습된 인공지능 모델을 재학습시킬 수 있다.
다양한 실시예에서, 서버(100)는 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 조치 방법을 결정하되, 결정된 조치 방법이 사용자가 직접 개입하는 방법인 경우에만 알림을 제공할 수 있다.
보다 구체적으로, 서버(100)는 사전에 사용자가 직접 개입해야 하는 조치 방법과 개입없이 자체적으로 처리 가능한 조치 방법을 구분하여 저장할 수 있고, 영상 데이터를 분석하여 결정된 조치 방법이 사용자가 직접 개입해야 하는 조치 방법인 경우, 사용자에게 알림을 제공함으로써 사용자가 직접 개입하여 오류를 조치할 수 있도록 할 수 있다.
한편, 서버(100)는 영상 데이터를 분석하여 결정된 조치 방법이 서버(100) 자체적으로 처리 가능한 조치 방법인 경우 별도의 알림 제공 동작 없이 자체적으로 조치 방법에 따라 조치를 취한 후, 작업을 재수행함으로써 작업이 정상적으로 완료될 수 있도록 한다. 그러나, 이에 한정되지 않고, 서버(100)는 자체적으로 조치 방법에 따른 조치를 취했으나, 반복적으로 오류가 발생(예: 기 설정된 횟수 이상)되어 작업이 정상적으로 완료되지 못하는 경우, 사용자의 개입 없이 처리 가능한 조치 방법이더라도 사용자에게 알림을 제공할 수 있다.
다양한 실시예에서, 서버(100)는 사용자로부터 제1 작업 수행 요청을 획득하는 것에 대응하여 제1 작업을 수행하되, 제1 작업에 오류가 발생함에 따라 제1 작업이 완료되지 못한 경우 제1 작업에 관한 정보를 임시 저장할 수 있고, 추후 사용자로부터 제2 작업 수행 요청을 획득하는 것에 대응하여 제2 작업을 수행하되, 임시 저장된 제1 작업에 관한 정보를 로드하여 제1 작업을 우선적으로 수행하고, 제1 작업이 완료되는 것에 대응하여 제2 작업을 순차적으로 수행할 수 있다. 이를 통해, 작업에 오류가 발생되어 작업의 결과물이 누락되는 것을 방지할 수 있다.
다양한 실시예에서, 서버(100)는 사용자의 작업 수행 요청 이력 및 상기 사용자로부터 기 설정된 작업 스케줄 중 적어도 하나를 이용하여 사용자에 대한 작업 패턴을 추출할 수 있고, 추출된 작업 패턴에 기초하여 작업 수행 요청의 획득 여부와 관계없이 자동으로 작업을 수행할 수 있다. 예를 들어, 서버(100)는 사용자로부터 소정의 주기마다 웹 크롤링 작업 수행 요청을 획득하는 경우, 작업 수행 요청의 획득과 관계없이 웹 크롤링 작업을 마지막으로 수행한 시점을 기준으로 소정의 주기마다 웹 크롤링 작업을 수행할 수 있다. 이후, 서버(100)는 사용자로부터 기 수행된 작업에 대한 작업 수행 요청(사용자의 작업 패턴에 기초하여 작업 수행 요청과 관계없이 수행되었던 작업에 대한 수행 요청)을 획득하는 경우, 기 수행된 작업에 대한 작업 수행 결과를 사용자에게 제공할 수 있다. 그러나, 서버(100)가 사용자의 작업 패턴에 따라 자동적으로 작업을 수행하지 않고, 사용자의 작업 패턴에 기초하여 사용자가 수행할 것으로 예측되는 작업에 대한 정보를 사용자에게 안내하고, 사용자가 작업 수행에 대한 최종 승인을 하는 형태로 구현될 수 있다.
상기의 도 3에 따른 RPA 포털을 이용한 업무 자동화 서비스 제공방법을 통해 각종 업무를 자동화함으로써, 사용자는 보다 편리하게 각종 업무를 처리할 수 있다. 예를 들어, 사용자는 도 9a 내지 9d에 도시된 바와 같이 RPA 포털을 이용한 업무 자동화 서비스 제공방법에 따라 웹 크롤링 작업을 자동화함으로써, 시스템 체크 업무, 나라장터 수주정보 수집 업무, 동 가격 및 환율 정보 수집 업무 및 발주처 직원정보 수집 업무를 자동화할 수 있다. 또한, 사용자는 도 10a 내지 10f에 도시된 바와 같이 RPA 포털을 이용한 업무 자동화 서비스 제공방법에 따라 BOT 작업을 자동화함으로써, 송금 확인증 발급 업무, 하도급 변경계약 키스콘 등록 업무, 매입세 안분 기초자료 생성 업무, 기타영수증 전표 세금코드 확정업무, 그룹사 인사발령 수집 및 사내 공지 업무 및 기술인협회 기술자정보 수집 업무를 자동화할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 작업의 진행 상태 정보를 포함하는 작업 로그 및 작업을 수행하는 과정을 포함하는 영상 데이터를 사용자에게 제공함으로써, 사용자가 작업의 진행 상태를 실시간으로 모니터링 가능하도록 할 수 있다. 이하, 도 4 및 5를 참조하여 설명하도록 한다.
도 4는 다양한 실시예에서, 작업 로그를 제공하는 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, S210 단계에서, 서버(100)는 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업 로그를 생성 및 저장할 수 있다. 여기서, 작업 로그는 수행하고자 하는 작업에 관한 상세 정보 및 작업의 진행 상태 정보를 포함할 수 있으나, 이에 한정되지 않는다.
S220 단계에서, 서버(100)는 사용자로부터 획득된 작업 수행 요청에 따라 작업을 수행하는 과정에서 생성되는 로그 데이터를 이용하여 작업 로그에 포함된 진행 상태 정보를 갱신할 수 있다. 예를 들어, 서버(100)는 작업 수행을 위한 API 호출 동작, 실제 작업을 수행하는 동작 및 작업이 완료되는 동작 등과 같이 특정 작업(예: 웹 크롤링, BOT 작업)의 동작을 수행하는 과정에서 발생되는 로그 데이터를 수집하여 작업 로그에 포함된 진행 상태 정보를 갱신할 수 있다. 그러나, 이에 한정되지 않는다.
S230 단계에서, 서버(100)는 사용자로부터 작업 로그 제공 요청 또는 작업의 진행 상태 제공 요청을 획득하는 경우, RPA 포털을 통해 진행 상태 정보가 갱신된 작업 로그를 제공할 수 있다(예: 도 6).
다양한 실시예에서, 서버(100)는 사용자로부터 획득한 작업 수행 요청에 따라 작업을 수행하는 과정에서 작업의 진행 상태 정보가 갱신되는 경우, 작업의 진행 상태 정보가 갱신되었음을 안내하는 알림을 사용자에게 제공할 수 있다.
도 5는 다양한 실시예에서, 영상 데이터를 제공하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, S310 단계에서, 서버(100)는 사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업 수행 요청에 따라 작업(예: 웹 크롤링 작업)이 수행되는 웹 브라우저를 화면의 최상단에 고정 배치시킬 수 있다. 여기서, 서버(100)는 작업 대상이 되는 웹 브라우저가 화면의 최상단에 고정 배치되었는지 여부를 판단할 수 있고, 웹 브라우저가 이미 화면의 최상단에 고정 배치되어 있는 것으로 판단되는 경우, S310 단계에 따른 동작을 생략할 수 있다.
S320 단계에서, 서버(100)는 웹 브라우저에 대한 웹 크롤링 동작이 개시됨에 따라 최상단에 고정 배치된 브라우저를 기 설정된 초당 프레임 수(Frame Per Second, FPS)(예: 24 fps)에 따라 캡처하여 복수의 캡쳐 이미지를 생성할 수 있고, 생성된 복수의 캡처 이미지를 기 설정된 이미지 저장 공간(이미지 저장 폴더)에 저장할 수 있다.
S330 단계에서, 서버(100)는 S320 단계를 거쳐 생성된 복수의 캡쳐 이미지를 결합하여 영상 데이터를 생성할 수 있다. 예를 들어, 서버(100)는 OPENCV(Open Source Computer Vision)을 통해 복수의 캡처 이미지를 MP4 형식의 영상 데이터로 변환할 수 있으나, 이에 한정되지 않는다.
S340 단계에서, 서버(100)는 사용자의 요청에 따라 S330 단계를 거쳐 생성된 영상 데이터를 사용자에게 제공할 수 있다(예: 도 7). 예를 들어, 서버(100)는 사용자의 요청(영상 제공 요청)에 따라 웹소켓을 이용하여 RPA 포털을 통한 영상 데이터 스트리밍 여부를 확인하는 함수를 호출하여 사용자의 영상 스트리밍 여부를 확인할 수 있고, 이에 따라 S330 단계를 거쳐 생성된 영상 데이터를 사용자에게 스트리밍 제공할 수 있다.
여기서, 사용자에게 스트리밍 제공되는 영상 데이터는 도 7에 도시된 바와 같이 팝업 형태로 제공될 수 있으나, 이에 한정되지 않는다.
전술한 RPA 포털을 이용한 업무 자동화 서비스 제공방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 RPA 포털을 이용한 업무 자동화 서비스 제공방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 업무 자동화 서비스 제공서버
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크

Claims (14)

  1. 컴퓨팅 장치에 의해 수행되는 로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법에 있어서,
    작업 수행 요청을 획득하는 단계; 및
    상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하며,
    상기 작업을 수행하는 단계는,
    상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 단계;
    상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 단계; 및
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하되, 상기 작업에 오류(error)가 발생함에 따라 상기 작업이 완료되지 못한 경우 상기 사용자에게 상기 발생된 오류에 관한 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 포함하는 알림을 제공하는 단계를 포함하고,
    상기 영상 데이터를 제공하는 단계는,
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 획득된 작업 수행 요청에 따라 작업이 수행되는 브라우저를 화면의 최상단에 고정 배치시키는 단계;
    상기 최상단에 고정 배치된 브라우저에 대한 작업이 개시됨에 따라 상기 최상단에 고정 배치된 브라우저를 기 설정된 초당 프레임 수(Frame Per Second, FPS)에 따라 캡처하여 복수의 캡쳐 이미지를 생성하는 단계; 및
    상기 생성된 복수의 캡쳐 이미지를 결합하여 영상 데이터를 생성하고, 상기 사용자의 요청에 따라 상기 생성된 영상 데이터를 상기 사용자에게 스트리밍 제공하는 단계를 포함하며,
    상기 알림을 제공하는 단계는,
    상기 작업에 오류가 발생하는 경우, 기 학습된 인공지능 모델 - 상기 기 학습된 인공지능 모델은 작업을 수행하는 과정을 포함하며 오류 발생 여부, 발생된 오류의 원인 및 조치 방법이 레이블링(labeling)된 영상 데이터를 학습 데이터로 하여 학습된 모델임 - 을 통해 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 상기 발생된 오류의 원인을 추출하고, 상기 추출된 오류의 원인에 따른 조치 방법을 결정하며, 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 단계를 포함하고,
    상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 단계는,
    사전에 저장된 조치 방법별 사용자 개입 필요 여부에 기초하여, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인지를 판단하고, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인 경우에만 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 포함하는 알림을 제공하며, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요하지 않은 조치 방법인 경우에는 상기 결정된 조치 방법에 따라 상기 발생된 오류를 자체적으로 처리하되, 상기 작업에 대하여 기 설정된 횟수 이상 반복적으로 오류가 발생하는 경우 사용자 개입 필요 여부와 관계없이 상기 사용자에게 알림을 제공하는 단계를 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  2. 제1항에 있어서,
    상기 작업을 수행하는 단계는,
    사용자로부터 복수의 작업 수행 요청을 획득하는 경우, 상기 복수의 작업 수행 요청 각각에 대응되는 복수의 작업 각각을 독립적으로 수행하는 단계를 더 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  3. 제1항에 있어서,
    상기 작업을 수행하는 단계는,
    복수의 사용자 각각으로부터 복수의 작업 수행 요청을 획득하는 경우, 상기 복수의 작업 수행 요청 각각에 대한 우선 순위를 설정하되, 상기 복수의 작업 수행 요청 각각에 대한 우선 순위는 상기 복수의 작업 수행 요청 각각을 획득한 순서 및 상기 복수의 작업 수행 요청 각각의 중요도 중 적어도 하나에 기초하여 설정되는 것인, 단계;
    상기 설정된 우선 순위에 기초하여 상기 복수의 작업 수행 요청 각각에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 작업 수행 요청 각각을 큐(queue) 구조의 저장 공간에 순차적으로 저장하는 단계; 및
    기 설정된 주기마다 상기 저장된 복수의 작업 수행 요청 각각의 처리 순서를 조회하고, 상기 조회된 처리 순서에 따라 상기 저장된 복수의 작업 수행 요청 각각에 대응되는 작업을 순차적으로 수행하는 단계를 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  4. 제1항에 있어서,
    상기 작업 로그를 제공하는 단계는,
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 작업 로그를 생성하는 단계;
    상기 획득된 작업 수행 요청에 따라 작업을 수행함으로써 생성되는 로그 데이터를 이용하여 상기 생성된 작업 로그에 포함된 진행 상태 정보를 갱신하는 단계; 및
    상기 사용자의 요청에 따라 상기 갱신된 진행 상태 정보를 포함하는 작업 로그를 상기 사용자에게 제공하는 단계를 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 결정된 조치 방법에 관한 정보를 제공하는 단계는,
    상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공한 것에 대응하여 상기 사용자로부터 피드백 정보 - 상기 피드백 정보는 상기 발생된 오류에 대한 상기 사용자의 실제 조치 방법 및 상기 실제 조치 방법에 따른 결과를 포함함 - 를 입력받는 단계; 및
    상기 입력된 피드백 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 학습 데이터로 하여 상기 기 학습된 인공지능 모델을 재학습시키는 단계를 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  9. 제1항에 있어서,
    상기 작업을 수행하는 단계는,
    사용자로부터 제1 작업 수행 요청을 획득하는 것에 대응하여 제1 작업을 수행하되, 상기 제1 작업에 오류가 발생함에 따라 상기 제1 작업이 완료되지 못한 경우, 상기 제1 작업에 관한 정보를 임시 저장하는 단계; 및
    상기 사용자로부터 제2 작업 수행 요청을 획득하는 것에 대응하여 제2 작업을 수행하되, 상기 임시 저장된 제1 작업에 관한 정보를 로드하여 상기 제1 작업을 우선적으로 수행하고, 상기 제1 작업이 완료되는 것에 대응하여 상기 제2 작업을 수행하는 단계를 더 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  10. 제1항에 있어서,
    상기 작업을 수행하는 단계는,
    사용자의 작업 수행 요청 이력 및 상기 사용자로부터 기 설정된 작업 스케줄 중 적어도 하나를 이용하여 사용자에 대한 작업 패턴을 추출하는 단계; 및
    상기 추출된 작업 패턴에 기초하여 상기 작업 수행 요청의 획득 여부와 관계없이 자동으로 작업을 수행하는 단계를 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  11. 제1항에 있어서,
    상기 작업을 수행하는 단계는,
    사용자로부터 획득된 작업 수행 요청이 웹 브라우저의 데이터에 대한 웹 크롤링 작업 수행 요청인 경우, 상기 웹 크롤링 작업 수행 요청을 획득한 시점을 기준으로 과거 소정의 기간 이전의 웹 브라우저의 데이터부터 웹 크롤링 작업을 수행하는 단계를 더 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  12. 제1항에 있어서,
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하고, 상기 작업을 수행함에 따라 생성되는 작업 수행 결과를 상기 사용자에게 제공하되, 상기 사용자가 RPA 포털을 이용한 업무 자동화 서비스를 이용함에 따라 수집된 로그 데이터에 기초하여 상기 작업 수행 결과를 가공하고, 상기 가공된 작업 수행 결과를 상기 사용자에게 제공하는 단계를 더 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법.
  13. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 컴퓨터 프로그램은,
    작업 수행 요청을 획득하는 인스트럭션(instruction); 및
    상기 획득된 작업 수행 요청에 따라 작업을 수행하는 인스트럭션을 포함하며,
    상기 작업을 수행하는 인스트럭션은,
    상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 인스트럭션;
    상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 인스트럭션; 및
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하되, 상기 작업에 오류(error)가 발생함에 따라 상기 작업이 완료되지 못한 경우 상기 사용자에게 상기 발생된 오류에 관한 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 포함하는 알림을 제공하는 인스트럭션을 포함하고,
    상기 영상 데이터를 제공하는 인스트럭션은,
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 획득된 작업 수행 요청에 따라 작업이 수행되는 브라우저를 화면의 최상단에 고정 배치시키는 인스트럭션;
    상기 최상단에 고정 배치된 브라우저에 대한 작업이 개시됨에 따라 상기 최상단에 고정 배치된 브라우저를 기 설정된 초당 프레임 수(Frame Per Second, FPS)에 따라 캡처하여 복수의 캡쳐 이미지를 생성하는 인스트럭션; 및
    상기 생성된 복수의 캡쳐 이미지를 결합하여 영상 데이터를 생성하고, 상기 사용자의 요청에 따라 상기 생성된 영상 데이터를 상기 사용자에게 스트리밍 제공하는 인스트럭션을 포함하며,
    상기 알림을 제공하는 인스트럭션은,
    상기 작업에 오류가 발생하는 경우, 기 학습된 인공지능 모델 - 상기 기 학습된 인공지능 모델은 작업을 수행하는 과정을 포함하며 오류 발생 여부, 발생된 오류의 원인 및 조치 방법이 레이블링(labeling)된 영상 데이터를 학습 데이터로 하여 학습된 모델임 - 을 통해 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 상기 발생된 오류의 원인을 추출하고, 상기 추출된 오류의 원인에 따른 조치 방법을 결정하며, 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 인스트럭션을 포함하고,
    상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 인스트럭션은,
    사전에 저장된 조치 방법별 사용자 개입 필요 여부에 기초하여, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인지를 판단하고, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인 경우에만 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 포함하는 알림을 제공하며, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요하지 않은 조치 방법인 경우에는 상기 결정된 조치 방법에 따라 상기 발생된 오류를 자체적으로 처리하되, 상기 작업에 대하여 기 설정된 횟수 이상 반복적으로 오류가 발생하는 경우 사용자 개입 필요 여부와 관계없이 상기 사용자에게 알림을 제공하는 인스트럭션을 포함하는,
    로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공서버.
  14. 컴퓨팅 장치와 결합되어,
    작업 수행 요청을 획득하는 단계; 및
    상기 획득된 작업 수행 요청에 따라 작업을 수행하는 단계를 포함하며,
    상기 작업을 수행하는 단계는,
    상기 작업의 진행 상태 정보를 포함하는 작업 로그를 제공하는 단계;
    상기 작업을 수행하는 과정을 포함하는 영상 데이터를 제공하는 단계; 및
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 작업을 수행하되, 상기 작업에 오류(error)가 발생함에 따라 상기 작업이 완료되지 못한 경우 상기 사용자에게 상기 발생된 오류에 관한 정보 및 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 포함하는 알림을 제공하는 단계를 포함하며,
    상기 영상 데이터를 제공하는 단계는,
    사용자로부터 작업 수행 요청을 획득하는 것에 대응하여 상기 획득된 작업 수행 요청에 따라 작업이 수행되는 브라우저를 화면의 최상단에 고정 배치시키는 단계;
    상기 최상단에 고정 배치된 브라우저에 대한 작업이 개시됨에 따라 상기 최상단에 고정 배치된 브라우저를 기 설정된 초당 프레임 수(Frame Per Second, FPS)에 따라 캡처하여 복수의 캡쳐 이미지를 생성하는 단계; 및
    상기 생성된 복수의 캡쳐 이미지를 결합하여 영상 데이터를 생성하고, 상기 사용자의 요청에 따라 상기 생성된 영상 데이터를 상기 사용자에게 스트리밍 제공하는 단계를 포함하며,
    상기 알림을 제공하는 단계는,
    상기 작업에 오류가 발생하는 경우, 기 학습된 인공지능 모델 - 상기 기 학습된 인공지능 모델은 작업을 수행하는 과정을 포함하며 오류 발생 여부, 발생된 오류의 원인 및 조치 방법이 레이블링(labeling)된 영상 데이터를 학습 데이터로 하여 학습된 모델임 - 을 통해 상기 오류가 발생된 작업을 수행하는 과정을 포함하는 영상 데이터를 분석하여 상기 발생된 오류의 원인을 추출하고, 상기 추출된 오류의 원인에 따른 조치 방법을 결정하며, 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 단계를 포함하고,
    상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 제공하는 단계는,
    사전에 저장된 조치 방법별 사용자 개입 필요 여부에 기초하여, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인지를 판단하고, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요한 조치 방법인 경우에만 상기 사용자에게 상기 결정된 조치 방법에 관한 정보를 포함하는 알림을 제공하며, 상기 결정된 조치 방법이 상기 사용자의 개입이 필요하지 않은 조치 방법인 경우에는 상기 결정된 조치 방법에 따라 상기 발생된 오류를 자체적으로 처리하되, 상기 작업에 대하여 기 설정된 횟수 이상 반복적으로 오류가 발생하는 경우 사용자 개입 필요 여부와 관계없이 상기 사용자에게 알림을 제공하는 단계를 포함하는 로보틱 처리 자동화(RPA) 포털을 이용한 업무 자동화 서비스 제공방법을 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장된,
    컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램.
KR1020210187356A 2021-12-24 2021-12-24 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램 KR102411816B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210187356A KR102411816B1 (ko) 2021-12-24 2021-12-24 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램
KR1020220073846A KR20230097976A (ko) 2021-12-24 2022-06-17 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210187356A KR102411816B1 (ko) 2021-12-24 2021-12-24 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220073846A Division KR20230097976A (ko) 2021-12-24 2022-06-17 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102411816B1 true KR102411816B1 (ko) 2022-06-22

Family

ID=82216641

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210187356A KR102411816B1 (ko) 2021-12-24 2021-12-24 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램
KR1020220073846A KR20230097976A (ko) 2021-12-24 2022-06-17 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220073846A KR20230097976A (ko) 2021-12-24 2022-06-17 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (2) KR102411816B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543064B1 (ko) * 2022-11-15 2023-06-13 주식회사 디엑스솔루션즈 Rpa 기반 제조환경 모니터링 서비스 제공 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364083A1 (en) * 2019-05-16 2020-11-19 Thoughtonomy Inc. Systems and methods for digital workforce intelligent orchestration
KR20210044688A (ko) * 2019-10-15 2021-04-23 유아이패스, 인크. 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성
KR102261793B1 (ko) 2020-12-11 2021-06-09 주식회사 이노룰스 Rpa 로봇 에이전트 클러스터링 시스템
KR102307471B1 (ko) * 2020-07-31 2021-09-30 시와소프트 주식회사 로보틱 처리 자동화 시스템
KR102322885B1 (ko) * 2021-05-31 2021-11-05 시와소프트 주식회사 자동화 업무 플로우의 개선 프로세스를 추천하는 로보틱 처리 자동화 시스템
KR102337800B1 (ko) * 2021-06-21 2021-12-09 주식회사 크라우드웍스 온라인 워크 기반한 기 수행된 프로젝트의 데이터 베이스를 이용한 프로젝트 워크 플로우 설계 방법 및 이를 수행하는 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364083A1 (en) * 2019-05-16 2020-11-19 Thoughtonomy Inc. Systems and methods for digital workforce intelligent orchestration
KR20210044688A (ko) * 2019-10-15 2021-04-23 유아이패스, 인크. 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성
KR102307471B1 (ko) * 2020-07-31 2021-09-30 시와소프트 주식회사 로보틱 처리 자동화 시스템
KR102261793B1 (ko) 2020-12-11 2021-06-09 주식회사 이노룰스 Rpa 로봇 에이전트 클러스터링 시스템
KR102322885B1 (ko) * 2021-05-31 2021-11-05 시와소프트 주식회사 자동화 업무 플로우의 개선 프로세스를 추천하는 로보틱 처리 자동화 시스템
KR102337800B1 (ko) * 2021-06-21 2021-12-09 주식회사 크라우드웍스 온라인 워크 기반한 기 수행된 프로젝트의 데이터 베이스를 이용한 프로젝트 워크 플로우 설계 방법 및 이를 수행하는 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543064B1 (ko) * 2022-11-15 2023-06-13 주식회사 디엑스솔루션즈 Rpa 기반 제조환경 모니터링 서비스 제공 시스템

Also Published As

Publication number Publication date
KR20230097976A (ko) 2023-07-03

Similar Documents

Publication Publication Date Title
CN110807515B (zh) 模型生成方法和装置
CN107590188A (zh) 一种自动化垂直细分领域的爬虫爬取方法及其管理系统
CN110287836B (zh) 图像分类方法、装置、计算机设备和存储介质
CN112036577B (zh) 基于数据形式的应用机器学习的方法、装置和电子设备
US11693392B2 (en) System for manufacturing dispatching using deep reinforcement and transfer learning
CN110347494B (zh) 上下文信息管理方法、装置、系统及计算机可读存储介质
KR102367409B1 (ko) 기 학습된 장애 예측 모델을 이용한 it 서비스의 장애 예측 방법, 서버 및 컴퓨터프로그램
KR102411816B1 (ko) 로보틱 처리 자동화(rpa) 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램
CN112598110B (zh) 神经网络构建方法、装置、设备及介质
CN111797992A (zh) 一种机器学习优化方法以及装置
CN111931901A (zh) 一种神经网络构建方法以及装置
CN114239844A (zh) 算力的计算方法、装置、终端设备和存储介质
CN115170840A (zh) 数据处理系统、方法和电子设备
EP3992861A1 (en) System and method for parameter compression of capsule networks using deep features
US10679162B2 (en) Self-organizing workflow
KR102484694B1 (ko) 긱 워커 qa 플랫폼 작업자의 업무 퀄리티 검수 및 리워드 산정 방법, 장치 및 컴퓨터 프로그램
US11188617B2 (en) Method and network node for internet-of-things (IoT) feature selection for storage and computation
KR20230097647A (ko) Rpa 포털을 이용한 업무 자동화 서비스 제공방법, 서버 및 컴퓨터프로그램
US20220335293A1 (en) Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN115623242A (zh) 一种视频处理方法及其相关设备
KR20220088248A (ko) 메신저 대화 분석에 기반한 프로젝트 관리 서비스 제공방법, 서버 및 컴퓨터프로그램
KR102556544B1 (ko) 이미지 히스토그램 분석을 통한 인공지능 모델의 인식률 향상 및 인식률이 향상된 인공지능 모델을 이용한 객체 인식 방법, 장치 및 컴퓨터프로그램
US20230376781A1 (en) Methods and systems for autonomous task composition of vision pipelines using an algorithm selection framework
KR102422255B1 (ko) 인공지능 기반 연애 상담 서비스 제공 방법, 장치 및 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant