KR20200082801A - System and Method for Robot Process Automation - Google Patents

System and Method for Robot Process Automation Download PDF

Info

Publication number
KR20200082801A
KR20200082801A KR1020180173740A KR20180173740A KR20200082801A KR 20200082801 A KR20200082801 A KR 20200082801A KR 1020180173740 A KR1020180173740 A KR 1020180173740A KR 20180173740 A KR20180173740 A KR 20180173740A KR 20200082801 A KR20200082801 A KR 20200082801A
Authority
KR
South Korea
Prior art keywords
task
execution
script
automation script
event
Prior art date
Application number
KR1020180173740A
Other languages
Korean (ko)
Other versions
KR102160344B1 (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 KR1020180173740A priority Critical patent/KR102160344B1/en
Publication of KR20200082801A publication Critical patent/KR20200082801A/en
Application granted granted Critical
Publication of KR102160344B1 publication Critical patent/KR102160344B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a system for robot process automation and a method thereof. According to an aspect of the present invention, the system for robot process automation comprises: at least one process setting device for setting a task consisting of at least one event and a process consisting of at least one task and generating a task automation script for performing the task and a process automation script for performing the process; at least one process execution device for executing the at least one event constituting the task to execute the task automation script and the process automation script; a process management device for managing execution of the task automation script and the process automation script with respect to the at least one process execution device; and at least one process control device for interlocking with the at least one process execution device to control execution of a process and a task automation script of the corresponding process execution device.

Description

로봇 프로세스 자동화 시스템 및 방법 {System and Method for Robot Process Automation}Robot Process Automation System and Method {System and Method for Robot Process Automation}

본 발명은 로봇 프로세스 자동화 시스템 및 방법에 관한 것으로, 보다 상세하게는 사용자의 업무를 자동으로 실행하여 처리하는 로봇 프로세스 자동화 시스템 및 방법에 관한 것이다.The present invention relates to a robot process automation system and method, and more particularly, to a robot process automation system and method for automatically executing and processing a user's task.

정보통신 기술이 발달함에 따라 컴퓨터를 사용하여 처리하는 업무(이하 "컴퓨팅 업무"라 함)가 크게 증가하게 되었으며, 또한 컴퓨터를 사용하여 일정한 패턴으로 반복 처리하는 업무도 증가하게 되었다.With the development of information and communication technology, the task of processing using a computer (hereinafter referred to as "computing task") has increased significantly, and the task of repeatedly processing in a certain pattern using a computer has also increased.

이에 따라, 어느 정도 정형화된 업무의 경우 사용자가 관여하지 않더라도 이를 자동으로 처리해 줄 수 있는 자동 처리 시스템에 대한 요구(needs)가 아주 높아졌다.Accordingly, in the case of a somewhat standardized task, there is a high demand for an automatic processing system capable of automatically processing a user even if the user is not involved.

그러나, 종래기술의 경우 아주 단순한 작업만 실행할 수 있는 매크로 프로그램(Macro Program) 정도의 수준이어서 사용자의 요구를 충족시킬 수 없었으며, 특히 사용자의 컴퓨팅 환경이 조금이라도 달라지는 경우 제대로 실행되지 않아 사용자의 업무를 실제 자동으로 처리해 줄 수 있는 수준에는 미치지 못하는 문제점이 있었다.However, in the case of the prior art, it was the level of a macro program capable of executing only a very simple task, and thus could not satisfy the user's needs. In particular, if the user's computing environment is slightly different, the user's work is not executed properly. There was a problem that could not reach the level that can be automatically processed.

또한, 종래기술의 경우 사용자의 업무 처리를 자동으로 수행하도록 하기 위해서는 실행순서, 위치, 방식 등을 세부적으로 설정해 주어야 하는데, 일반적인 사용자의 경우 전문적 지식이 없어 에러 없이 완벽하게 설정하기가 어려운 문제점이 있었다.In addition, in the case of the prior art, in order to automatically perform the user's business processing, the execution order, location, and method must be set in detail. In the case of a general user, it is difficult to set perfectly without errors because there is no expert knowledge. .

한국 등록특허공보 제10-1915802호Korean Registered Patent Publication No. 10-1915802

본 발명은 전술한 바와 같은 요구를 충족하기 위해 창안된 것으로, 본 발명의 목적은 사용자의 컴퓨팅 업무를 자동으로 실행하여 처리하는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.The present invention has been devised to meet the above-described needs, and an object of the present invention is to provide a robot process automation system and method for automatically executing and processing a user's computing task.

본 발명의 다른 목적은 사용자의 컴퓨팅 업무에 대해 자동화 스크립트를 생성하고 이를 사용자 요청에 따라 및/또는 기 설정된 조건에 따라 자동으로 실행하는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robot process automation system and method for generating an automation script for a user's computing task and automatically executing it according to a user request and/or a preset condition.

본 발명의 또 다른 목적은 컴퓨팅 환경이 변경된 경우 이를 반영하여 자동화 스크립트를 실행하는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robot process automation system and method for executing an automation script by reflecting this when the computing environment is changed.

본 발명의 또 다른 목적은 사용자가 프로세스 제어 장치를 통해 프로세스 관리 장치에 접속하여 원격의 프로세스 실행 장치에 대해서도 용이하게 제어할 수 있는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robot process automation system and method that allows a user to easily control a remote process execution device by accessing a process management device through a process control device.

본 발명의 또 다른 목적은 사용자가 프로세스와 태스크를 실행하는 행동 패턴을 레코딩하고 레코딩된 자료에 기초하여 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 생성하는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robot process automation system and method for recording a behavior pattern in which a user executes a process and a task and generating a process automation script and a task automation script based on the recorded data.

본 발명의 또 다른 목적은 복수개의 이벤트를 하나의 통합 이벤트로, 복수개의 태스크를 하나의 통합 태스크로, 복수개의 프로세스를 하나의 통합 프로세스로 구현하여 실행하는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robot process automation system and method for implementing a plurality of events as one integrated event, a plurality of tasks as one integrated task, and implementing a plurality of processes as one integrated process. .

본 발명의 또 다른 목적은 광학 문자 판독의 대상이 되는 문서에 대한 템플릿 정보를 이용하여 문서 이미지에서 원하는 문자 및/또는 문자열을 용이하게 추출할 수 있는 로봇 프로세스 자동화 시스템 및 방법을 제공하는 것이다.Another object of the present invention is to provide a robotic process automation system and method for easily extracting a desired character and/or character string from a document image using template information for a document to be subjected to optical character reading.

상기 목적을 위하여, 본 발명의 일 형태에 따른 로봇 프로세스 자동화 시스템은, 적어도 하나의 이벤트로 구성된 태스크 및 적어도 하나의 태스크로 구성된 프로세스를 설정하며, 상기 태스크를 수행하는 태스크 자동화 스크립트 및 상기 프로세스를 수행하는 프로세스 자동화 스크립트를 생성하는 적어도 하나의 프로세스 설정 장치; 상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여, 상기 태스크 자동화 스크립트 및 상기 프로세스 자동화 스크립트를 실행하는 적어도 하나의 프로세스 실행 장치; 상기 적어도 하나의 프로세스 실행 장치에 대해 상기 태스크 자동화 스크립트 및 상기 프로세스 자동화 스크립트의 실행을 관리하는 프로세스 관리 장치; 및 상기 적어도 하나의 프로세스 실행 장치와 연동되어 해당 프로세스 실행 장치의 프로세스 및 태스크 자동화 스크립트의 실행을 제어하는 적어도 하나의 프로세스 제어 장치를 포함하는 것을 특징으로 한다.For this purpose, the robot process automation system according to one embodiment of the present invention sets a task composed of at least one event and a process composed of at least one task, and performs a task automation script and the process for performing the task At least one process setting device for generating a process automation script; At least one process execution device that executes at least one event constituting the task to execute the task automation script and the process automation script; A process management device that manages execution of the task automation script and the process automation script for the at least one process execution device; And at least one process control device interlocked with the at least one process execution device and controlling execution of processes and task automation scripts of the corresponding process execution device.

바람직하게는, 상기 적어도 하나의 프로세스 제어 장치는 상기 적어도 하나의 프로세스 실행 장치와 각각 대응되고, 상기 프로세스 제어 장치의 커멘드 처리부는 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트 실행을 명령하고, 상기 프로세스 실행 장치의 커멘드 처리부는 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 실행한다.Preferably, the at least one process control device corresponds to each of the at least one process execution device, and the command processing unit of the process control device commands the execution of the process automation script and the task automation script, and the process execution device The command processing unit executes the process automation script and task automation script.

바람직하게는, 상기 프로세스 제어 장치는, 상기 적어도 하나의 프로세스 실행 장치에서 처리되는 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 해당 프로세스 실행 장치에 제공하는 스크립트 관리부; 및 상기 적어도 하나의 프로세스 실행 장치의 각 커멘드 처리부로 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트 실행을 명령하는 커멘드 처리부를 포함한다.Preferably, the process control device includes a script management unit that provides a process automation script and a task automation script processed by the at least one process execution device to the process execution device; And a command processing unit instructing execution of the process automation script and the task automation script to each command processing unit of the at least one process execution device.

바람직하게는, 상기 프로세스 관리 장치는 상기 적어도 하나의 프로세스 설정 장치에서 생성된 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 관리하고, 상기 프로세스 실행 장치로 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 전송한다.Preferably, the process management device manages the process automation script and the task automation script generated in the at least one process setting device, and transmits the process automation script and the task automation script to the process execution device.

바람직하게는, 상기 프로세스 설정 장치는, 하나 이상의 태스크로 구성된 프로세스를 설정할 수 있는 프로세스 설정부; 하나 이상의 이벤트로 구성된 태스크를 설정할 수 있는 태스크 설정부; 및 상기 프로세스를 수행하는 프로세스 자동화 스크립트 및 상기 태스크를 수행하는 태스크 자동화 스크립트를 생성하는 스크립트 생성부를 포함한다.Preferably, the process setting device includes: a process setting unit capable of setting a process composed of one or more tasks; A task setting unit capable of setting a task composed of one or more events; And a script generator for generating a process automation script for performing the process and a task automation script for performing the task.

바람직하게는, 상기 프로세스 실행 장치는, 하나 이상의 태스크로 구성된 프로세스를 수행하는 프로세스 자동화 스크립트 및 하나 이상의 이벤트로 구성된 태스크를 수행하는 태스크 자동화 스크립트 중 적어도 하나의 스크립트를 실행하는 스크립트 실행부; 및 상기 스크립트 실행부의 이벤트 실행 요청에 따라, 이미지 오브젝트 검출 이벤트, 웹 오브젝트 검출 이벤트, UI(User Interface) 개체 검출 이벤트, OCR(Optical Character Reader) 검출 이벤트, 시스템 이벤트, 및 사용자 이벤트 중 적어도 하나의 이벤트를 실행하는 이벤트 실행부를 포함한다.Preferably, the process execution apparatus comprises: a script execution unit for executing at least one of a process automation script for performing a process consisting of one or more tasks and a task automation script for performing a task consisting of one or more events; And at least one of an image object detection event, a web object detection event, a user interface (UI) object detection event, an optical character reader (OCR) detection event, a system event, and a user event, according to an event execution request of the script execution unit. It includes an event execution unit for executing.

바람직하게는, 상기 프로세스 관리 장치는, 하나 이상의 프로세스 실행 장치를 관리하는 장치 관리부; 하나 이상의 태스크로 구성된 프로세스를 수행하는 프로세스 자동화 스크립트 및 하나 이상의 이벤트로 구성된 태스크를 수행하는 태스크 자동화 스크립트를 관리하는 스크립트 관리부; 및 상기 하나 이상의 프로세스 실행 장치로 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 전송하고 실행을 명령하는 커멘드 처리부를 포함한다.Preferably, the process management device includes: a device management unit that manages one or more process execution devices; A script management unit managing a process automation script performing a process consisting of one or more tasks and a task automation script performing a task consisting of one or more events; And a command processor for transmitting the process automation script and the task automation script to the one or more process execution devices and instructing execution.

본 발명에 따르면, 사용자의 컴퓨팅 업무에 대해 하나 이상의 태스크로 구성된 프로세스 및 하나 이상의 이벤트로 구성된 태스크를 설정하고, 상기 프로세스를 수행하는 프로세스 자동화 스크립트 및 상기 태스크를 수행하는 태스크 자동화 스크립트를 생성하여 실행함으로써, 사용자의 컴퓨팅 업무를 자동으로 실행하여 처리할 수 있는 효과를 가진다.According to the present invention, by setting a task composed of one or more tasks and one or more events for a user's computing task, and generating and executing a process automation script for performing the process and a task automation script for performing the task It has the effect of automatically executing and processing the user's computing tasks.

그리고, 본 발명에 따르면, 컴퓨팅 환경이 변경된 경우에도 프로세스 실행 장치가 이를 반영하여 프로세스/태스크 자동화 스크립트를 실행함으로써, 컴퓨팅 환경이나 조건에 영향을 받지 않고 에러 없이 사용자의 컴퓨팅 업무를 원활하게 수행할 수 있는 효과를 가진다.And, according to the present invention, even when the computing environment is changed, the process execution device reflects this and executes the process/task automation script to smoothly perform the user's computing task without error without being affected by the computing environment or conditions. It has an effect.

또한, 본 발명에 따르면, 프로세스 실행 장치에 존재하는 프로세스/태스크 자동화 스크립트뿐만 아니라 프로세스 관리 장치에 저장된 수많은 프로세스/태스크 자동화 스크립트에 대해서도 원하는 프로세스/태스크 자동화 스크립트를 요청하여 실행할 수 있는 효과를 가진다.Further, according to the present invention, it is possible to request and execute a desired process/task automation script for a number of process/task automation scripts stored in the process management device as well as process/task automation scripts existing in the process execution device.

또한, 본 발명에 따르면, 프로세스 제어 장치와 직접 연동된 프로세스 실행 장치뿐만 아니라 프로세스 관리 장치를 통해 원격의 프로세스 실행 장치에 대해서도 프로세스/태스크 자동화 스크립트를 실행할 수 있는 효과를 가진다.Further, according to the present invention, it is possible to execute a process/task automation script on a remote process execution device through a process management device as well as a process execution device directly linked to the process control device.

또한, 본 발명에 따르면, 사용자가 프로세스와 태스크를 실행하는 행동 패턴을 레코딩하여 프로세스/태스크 레코딩 자료를 생성하고, 프로세스/태스크 레코딩 자료에 기초하여 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 생성하고 실행할 수 있기 때문에, 사용자가 프로세스 및 태스크를 직접 설정하지 않더라도 사용자의 컴퓨팅 업무를 용이하게 실행할 수 있는 효과를 가진다.In addition, according to the present invention, a user can record process/task recording data by recording a behavior pattern of executing processes and tasks, and generate and execute process automation scripts and task automation scripts based on the process/task recording data. Therefore, even if the user does not directly set the process and task, it has an effect that the user's computing task can be easily executed.

또한, 본 발명에 따르면, 태스크를 구성하는 하나 이상의 이벤트 중 순차적으로 실행되는 복수개의 이벤트를 하나의 통합 이벤트로 구현하여 실행함으로써, 태스크를 용이하고 신속하게 실행할 수 있는 효과를 가진다.Further, according to the present invention, a plurality of events sequentially executed among one or more events constituting a task are implemented and executed as one integrated event, thereby having an effect of easily and quickly executing the task.

또한, 본 발명에 따르면, 광학 문자 판독의 대상이 되는 문서에 대해 문서 양식 정보, 문서 정렬 정보, 영역 위치 정보, 영역 속성 정보 등이 포함된 템플릿 정보를 설정하고 이를 이용하여 문서 이미지에서 원하는 문자 및/또는 문자열을 추출하기 때문에 사용자가 원하는 정보를 자동으로 정확하게 추출할 수 있는 효과를 가진다.In addition, according to the present invention, for a document to be subjected to optical character reading, set template information including document form information, document alignment information, area location information, area attribute information, and the like, and use the desired character in the document image and / Or, because it extracts a string, it has the effect of automatically and accurately extracting the information the user wants.

도 1은 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 프로세스 설정 방식을 나타낸 것이다.
도 3은 본 발명의 일 실시예에 따른 태스크 설정 방식을 나타낸 것이다.
도 4는 본 발명의 다른 실시예에 따른 태스크 설정 방식을 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 스크립트 실행부가 태스크를 실행하는 것을 예시한 것이다.
도 6은 본 발명의 일 실시예에 따른 이벤트 실행부의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 OCR 관리자의 구성도이다.
도 8은 본 발명의 일 실시예에 따른 광학 문자 판독 방법의 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 템플릿 설정 수단에서 제공하는 템플릿 에디터를 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도이다.
도 12는 본 발명의 또 다른 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도이다.
1 is a configuration diagram of a robot process automation system according to an embodiment of the present invention.
2 illustrates a process setting method according to an embodiment of the present invention.
3 shows a task setting method according to an embodiment of the present invention.
4 shows a task setting method according to another embodiment of the present invention.
5 illustrates that a script execution unit executes a task according to an embodiment of the present invention.
6 is a block diagram of an event execution unit according to an embodiment of the present invention.
7 is a block diagram of an OCR manager according to an embodiment of the present invention.
8 is a flowchart of an optical character reading method according to an embodiment of the present invention.
9 is a diagram illustrating a template editor provided by the template setting means according to an embodiment of the present invention.
10 is a flowchart of a robot process automation method according to an embodiment of the present invention.
11 is a flowchart of a robot process automation method according to another embodiment of the present invention.
12 is a flowchart of a robot process automation method according to another embodiment of the present invention.

이하에서는 첨부 도면 및 바람직한 실시예를 참조하여 본 발명을 상세히 설명한다. 참고로, 하기 설명에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings and preferred embodiments. For reference, in the following description, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention are omitted.

도 1은 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 시스템의 구성도이다.1 is a configuration diagram of a robot process automation system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 시스템은 적어도 하나의 프로세스 설정 장치(100-1, ... , 100-m), 적어도 하나의 프로세스 실행 장치(200-1, ... , 200-n), 프로세스 관리 장치(300), 적어도 하나의 프로세스 제어 장치(400-1, ... , 400-n) 등을 포함한다.Referring to Figure 1, the robot process automation system according to an embodiment of the present invention at least one process setting device (100-1, ..., 100-m), at least one process execution device (200-1, ..., 200-n), a process management device 300, at least one process control device 400-1, ..., 400-n.

참고로, 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 시스템의 경우, 프로세스 관리 장치(300)가 적어도 하나의 프로세스 설정 장치(100-1, ... , 100-m)(이하에서는 도면부호 100으로 통칭함) 및 적어도 하나의 프로세스 실행 장치(200-1, ... , 200-n)를 관리하며, 적어도 하나의 프로세스 실행 장치(200-1, ... , 200-n)(이하에서는 도면부호 200으로 통칭함)와 적어도 하나의 프로세스 제어 장치(400-1, ... , 400-n)(이하에서는 도면부호 400으로 통칭함)는 각각 1 대 1로 연동되어 하나의 프로세스 제어 장치(400)가 하나의 프로세스 실행 장치(200)를 제어하는 구조이다.For reference, in the case of a robot process automation system according to an embodiment of the present invention, the process management device 300 includes at least one process setting device (100-1, ..., 100-m) (hereinafter, reference numeral 100) Collectively) and at least one process execution device (200-1, ..., 200-n), and at least one process execution device (200-1, ..., 200-n) (hereinafter referred to as Reference numeral 200) and at least one process control device 400-1, ..., 400-n (hereinafter referred to as reference number 400) are interlocked one to one, respectively, to control one process. The structure 400 controls one process execution device 200.

먼저, 프로세스 설정 장치(100)는 사용자가 반복적이거나 정형화된 컴퓨팅 업무에 대해 자동화 스크립트(script)를 제작할 수 있는 장치이다. 프로세스 설정 장치(100)는 사용자에게 컴퓨팅 업무를 실행하는 자동화 스크립트를 제작할 수 있는 에디터(editor)를 제공하고, 사용자가 에디터를 통해 프로세스(process), 태스크(task), 이벤트(event) 등을 구체적으로 설정하면 이에 대해 디버깅(debugging)하여 자동화 스크립트를 생성하고, 이를 프로세스 실행 장치(200) 및/또는 프로세스 관리 장치(300)로 전송하여 자동화 스크립트가 실제 실행될 수 있도록 한다.First, the process setting device 100 is a device that allows a user to create an automated script for a repetitive or standardized computing task. The process setting device 100 provides an editor capable of producing an automated script that executes a computing task to the user, and the user specifically defines a process, task, event, etc. through the editor. When set to, debugging is generated for this to generate an automated script, and it is transmitted to the process execution device 200 and/or the process management device 300 so that the automation script can be actually executed.

참고로, 본 발명에서 '이벤트(event)'란 사용자가 오브젝트(object)에 대해 임의의 동작(action)을 하거나 또는 사용자의 의지와 관계없이 시스템(예; OS)이 발생시키는 사건을 의미하는 것으로, 윈도우 오브젝트 검출, 웹 오브젝트 검출, UI(User Interface) 개체 검출, 이미지 검출, OCR(Optical Character Reader) 검출, 키(key) 입력, 마우스 입력 등을 예로 들 수 있다. 그리고, '태스크(task)'란 하나 이상의 이벤트로 구성된 사용자의 단위 실행 동작을 의미하고, '프로세스(process)'란 하나 이상의 태스크로 구성된 사용자의 단위 컴퓨팅 업무를 의미한다.For reference, in the present invention, the term'event' refers to an event that a user performs an arbitrary action on an object or a system (eg, OS) generates regardless of the user's will. Examples include, window object detection, web object detection, UI (User Interface) entity detection, image detection, OCR (Optical Character Reader) detection, key input, and mouse input. And,'task (task)' refers to a unit execution operation of a user composed of one or more events, and'process (process)' refers to a unit computing task of a user composed of one or more tasks.

본 발명의 일 실시예에 따르면, 프로세스 설정 장치(100)는 프로세스 설정부(110), 태스크 설정부(120), 스크립트 생성부(130) 등을 포함한다.According to an embodiment of the present invention, the process setting device 100 includes a process setting unit 110, a task setting unit 120, a script generation unit 130, and the like.

프로세스 설정부(110)는 사용자에게 프로세스를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 프로세스 설정부(110)는 사용자에게 프로세스를 설정하고 편집할 수 있는 프로세스 에디터를 제공하고, 사용자는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 프로세스를 설정한다. 이를 위해, 프로세스 에디터는 하나 이상의 태스크의 생성을 관리하는 태스크 생성 관리자, 하나 이상의 태스크의 속성을 관리하는 태스크 속성 관리자, 하나 이상의 태스크의 상호 연결을 관리하는 태스크 연결 관리자 등을 포함할 수 있다.The process setting unit 110 provides a user with a function to set and edit a process. For example, the process setting unit 110 provides a process editor for setting and editing a process to the user, and the user creates or selects one or more tasks through the process editor and sets properties, execution conditions, and execution order for the process editor. Decide to set up the process. To this end, the process editor may include a task creation manager that manages the creation of one or more tasks, a task property manager that manages the properties of one or more tasks, a task connection manager that manages the interconnection of one or more tasks, and the like.

이와 관련하여, 도 2는 본 발명의 일 실시예에 따른 프로세스 설정 방식을 나타낸 것이다.In this regard, Figure 2 shows a process setting method according to an embodiment of the present invention.

도 2를 참조하면, 사용자는 프로세스 설정부(110)가 제공하는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 태스크의 속성은 태스크의 명칭, 입력자료, 입력방법, 출력자료, 출력방법, 처리시간, 및 지연시간 중 적어도 하나가 될 수 있으며, 실행조건은 기 설정된 선행 태스크가 종료되면 실행, 기 설정된 입력자료가 수신되면 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나가 될 수 있다. 그리고, 실행순서는 각각의 태스크가 연속적으로 입력 및 출력 관계가 되어 복수개의 태스크가 상호 연결됨으로써 하나의 프로세스를 생성할 수 있다.Referring to FIG. 2, a user creates one or more tasks through a process editor provided by the process setting unit 110 and sets their properties, execution conditions, and execution order. The attribute of the task can be at least one of the name of the task, input data, input method, output data, output method, processing time, and delay time, and the execution condition is executed when the preset predecessor task ends, and the preset input data When is received, it may be at least one of execution, and execution at a preset execution time. And, in the execution order, each task is continuously input and output, and a plurality of tasks are interconnected, so that one process can be created.

보험회사에서 보험 가입한 고객목록을 작성하는 업무(프로세스)를 예로 들면, 사용자는 신청자를 확인하는 제1 태스크, 고객정보를 추출하는 제2 태스크, 고객목록을 작성하는 제3 태스크를 생성하여 속성, 실행조건 등을 각각 설정하고, 이들 태스크를 화살표로 연결하여 실행순서를 결정한다. 참고로, 도 2에서는 태스크들이 하나의 방향으로 순차적으로 진행되는 경우를 예시하였지만, 조건에 따른 분기, 반복 실행, 에러 처리 등이 포함된 형태로 구현하는 것도 가능하다.For example, the business (process) of creating a customer list insured by an insurance company, for example, the user creates a first task to identify the applicant, a second task to extract customer information, and a third task to create a customer list to create attributes Set execution conditions, etc., and connect these tasks with arrows to determine the execution order. For reference, FIG. 2 illustrates a case where tasks are sequentially performed in one direction, but it is also possible to implement in a form including branching, iterative execution, error handling, etc. according to conditions.

태스크 설정부(120)는 사용자에게 태스크를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 태스크 설정부(120)는 사용자에게 태스크를 설정하고 편집할 수 있는 태스크 에디터를 제공하고, 사용자는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 태스크를 설정한다. 이를 위해, 태스크 에디터는 하나 이상의 이벤트의 생성을 관리하는 이벤트 생성 관리자, 하나 이상의 이벤트의 속성을 관리하는 이벤트 속성 관리자, 하나 이상의 이벤트의 상호 연결을 관리하는 이벤트 연결 관리자 등을 포함할 수 있다.The task setting unit 120 provides a user with a function to set and edit tasks. For example, the task setting unit 120 provides a task editor for setting and editing a task to the user, and the user creates or selects one or more events through the task editor and sets properties, execution conditions, and execution order for the task editor. Decide to set up the task. To this end, the task editor may include an event creation manager that manages the generation of one or more events, an event property manager that manages the properties of one or more events, an event connection manager that manages the interconnection of one or more events, and the like.

이와 관련하여, 도 3은 본 발명의 일 실시예에 따른 태스크 설정 방식을 나타낸 것이다.In this regard, Figure 3 shows a task setting method according to an embodiment of the present invention.

도 3을 참조하면, 사용자는 태스크 설정부(120)가 제공하는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 이벤트의 속성은 이벤트의 명칭, 대상(예; 텍스트, 이미지, 오브젝트, 파일), 실행방법(예; 오브젝트 검출, 키 입력, 마우스 입력), 실행결과(예; 단순 실행, 텍스트 저장, 이미지 저장, 파일 생성), 및 실행시간 중 적어도 하나가 될 수 있으며, 실행조건은 기 설정된 선행 이벤트가 종료되면 실행, 기 설정된 선행 이벤트가 종료되면 일정 시간 경과 후 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나가 될 수 있다. 그리고, 실행순서는 각각의 이벤트가 연속적으로 입력 및 출력 관계가 되어 복수개의 이벤트가 상호 연결됨으로써 하나의 태스크를 생성할 수 있다.Referring to FIG. 3, a user generates one or more events through a task editor provided by the task setting unit 120 and sets their properties, execution conditions, and execution order. The attributes of the event are the name of the event, the object (eg text, image, object, file), execution method (eg object detection, key input, mouse input), execution result (eg simple execution, text storage, image storage, File creation), and at least one of execution time, and the execution condition is executed when a predetermined preceding event ends, execution after a predetermined time elapses when the predetermined preceding event ends, and at least one of execution at a predetermined execution time Can be And, in the execution order, each event is continuously input and output, and a plurality of events are interconnected to generate a single task.

전술한 보험회사에서 보험 가입한 고객 목록을 작성하는 업무(프로세스) 중 고객정보를 추출하는 제2 태스크를 예로 들면, 사용자는 바탕화면에서 고객폴더 이미지를 검출하는 제1 이벤트, 검출된 고객폴더에 대해 마우스를 클릭하는 제2 이벤트, 고객폴더에 저장되어 있는 고객파일에 대해 마우스를 클릭하는 제3 이벤트, 만약 고객파일이 텍스트 파일인 경우 텍스트를 복사하는 제4 이벤트, 만약 고객파일이 이미지 파일인 경우 이미지를 OCR 검출하는 제5 이벤트 및 OCR 검출된 결과에서 텍스트를 추출하는 제6 이벤트, 제4 또는 제6 이벤트의 결과인 텍스트에 대해 고객정보를 추출하는 제7 이벤트를 생성하여 속성, 실행조건 등을 각각 설정하고, 이들 이벤트를 화살표로 연결하여 실행순서를 결정한다. 참고로, 도 3에서는 설명을 용이하게 하기 위해 핵심적인 이벤트 위주로 나열하였지만, 실제 구현에 있어서는 보다 세분화된 이벤트들이 더 포함될 수 있다.As an example of the second task of extracting customer information during the task (process) of creating a list of customers who are insured by the above-mentioned insurance company, the user may use the first event to detect the customer folder image on the desktop, or the detected customer folder. The second event to click the mouse for the third event, the third event to click the mouse for the customer file stored in the customer folder, the fourth event to copy the text if the customer file is a text file, if the customer file is an image file In case of generating the fifth event to OCR the image, the sixth event to extract text from the OCR detected result, and the seventh event to extract customer information for the text that is the result of the fourth or sixth event to generate attributes, execution conditions Set each, etc., and connect these events with arrows to determine the execution order. For reference, in FIG. 3, key events are mainly listed to facilitate the description, but in actual implementation, more detailed events may be further included.

한편, 도 4는 본 발명의 다른 실시예에 따른 태스크 설정 방식을 나타낸 것이다.On the other hand, Figure 4 shows a task setting method according to another embodiment of the present invention.

도 3과 비교하여 도 4를 참조하면, 도 4에서는 도 3의 제1 이벤트(바탕화면에서 고객폴더 이미지를 검출하는 이벤트), 제2 이벤트(검출된 고객폴더에 대해 마우스를 클릭하는 이벤트), 및 제3 이벤트(고객폴더에 저장되어 있는 고객파일에 대해 마우스를 클릭하는 이벤트)를 하나로 통합하여 하나의 이벤트로 구현하였으며, 나머지 제4 내지 제7 이벤트는 동일하다. 즉, 본 발명에서는 태스크를 구성하는 이벤트들 중 순차적으로 실행되는 복수개의 이벤트를 하나의 통합 이벤트로 설정할 수 있으며, 프로세스를 구성하는 태스크들 중 순차적으로 실행되는 복수개의 태스크를 하나의 통합 태스크로 설정할 수 있다. 그리고, 이는 프로세스까지 확대 적용되어, 순차적으로 실행되는 복수개의 프로세스를 하나의 통합 프로세스로 설정할 수 있다.Referring to FIG. 4 compared to FIG. 3, in FIG. 4, the first event in FIG. 3 (the event that detects the customer folder image on the desktop), the second event (the event that clicks the mouse on the detected customer folder), And the third event (the event of clicking the mouse with respect to the customer file stored in the customer folder) is integrated into one, and the rest of the fourth to seventh events are the same. That is, in the present invention, a plurality of events sequentially executed among events constituting a task may be set as one integrated event, and a plurality of tasks sequentially executed among tasks constituting a process may be set as one integrated task. Can. And, it can be applied to extend to the process, it is possible to set a plurality of processes that are sequentially executed as one integrated process.

한편, 본 발명의 바람직한 실시예에 따르면, 프로세스 설정부(110)와 태스크 설정부(120)는 사용자가 프로세스와 태스크를 실행하는 행동 패턴을 레코딩하여 프로세스 레코딩 자료와 태스크 레코딩 자료(참고로, 컴퓨팅 환경 정보가 반영됨)를 생성하고, 프로세스/태스크 레코딩 자료에 기초하여 프로세스와 태스크의 속성, 실행조건, 실행순서 등을 추출할 수 있다.On the other hand, according to a preferred embodiment of the present invention, the process setting unit 110 and the task setting unit 120 record the process recording data and the task recording data (for reference, computing by recording a behavior pattern in which the user executes the process and the task) Environment information is reflected), and attributes of processes and tasks, execution conditions, and execution order can be extracted based on the process/task recording data.

전술한 보험회사에서 보험 가입한 고객 목록을 작성하는 업무(프로세스) 중 고객정보를 추출하는 제2 태스크를 예로 들면, 사용자는 태스크 설정부(120)에서 제2 태스크에 대해 레코딩을 선택하고 실제로 제2 태스크를 수행한다. 즉, 사용자는 현재의 컴퓨팅 환경 하에서 실제로 바탕화면에서 고객폴더 이미지를 검출하고(제1 이벤트), 검출된 고객폴더에 대해 마우스를 클릭한 후(제2 이벤트), 고객폴더에 저장되어 있는 고객파일에 대해 마우스를 클릭하여(제3 이벤트) 고객파일을 열면, 태스크 설정부(120)는 이러한 과정을 레코딩한다. 그리고, 만약 고객파일이 텍스트 파일이어서 사용자가 텍스트를 복사하고(제4 이벤트), 해당 텍스트에 대해 고객정보를 추출하면(제7 이벤트), 태스크 설정부(120)는 마찬가지로 이러한 과정을 레코딩한다. 한편, 만약 고객파일이 이미지 파일이어서 사용자가 이미지에 대해 OCR 검출을 수행하고(제5 이벤트), OCR 검출된 결과에서 텍스트를 추출한 후(제6 이벤트), 추출된 텍스트에 대해 고객정보를 추출하면(제7 이벤트), 태스크 설정부(120)는 마찬가지로 이러한 과정을 레코딩한다. 그리고, 레코딩이 완료되면, 태스크 설정부(120)는 레코딩된 자료에 기초하여 제2 태스크를 구성하는 이벤트들의 속성, 실행조건, 실행순서 등을 추출하고, 이와 함께 제2 태스크를 실행할 때의 컴퓨팅 환경 정보(화면 해상도, 화면 배치, 화면 크기 등)를 추출한다. 참고로, 프로세스/태스크를 실행하는 사용자의 행동 패턴 및 이에 대한 레코딩은 특별한 조건이나 분기 등이 없는 경우(도 2 참조)에는 한번의 실행으로 완료될 수 있으며, 조건이나 분기 등이 있는 경우(도 3 참조)에는 각 경우의 수에 해당하는 횟수만큼 실행하여 완료될 수 있다.As an example of the second task of extracting customer information during the task (process) of creating a list of customers insured by the aforementioned insurance company, the user selects recording for the second task in the task setting unit 120 and actually removes the second task. 2 Perform the task. That is, the user actually detects the customer folder image on the desktop under the current computing environment (first event), clicks the mouse on the detected customer folder (second event), and stores the customer file stored in the customer folder. When clicking on the mouse (3rd event) to open the customer file, the task setting unit 120 records this process. Then, if the customer file is a text file, and the user copies the text (4th event) and extracts customer information for the text (7th event), the task setting unit 120 similarly records this process. On the other hand, if the customer file is an image file, the user performs OCR detection on the image (the fifth event), extracts the text from the result of the OCR detection (the sixth event), and then extracts the customer information on the extracted text. (Seventh event), the task setting unit 120 similarly records this process. Then, when the recording is completed, the task setting unit 120 extracts the attributes, execution conditions, execution order, etc. of the events constituting the second task based on the recorded data, and computes the second task when the second task is executed. Extracts environmental information (screen resolution, screen layout, screen size, etc.). For reference, a behavior pattern of a user executing a process/task and recording thereof may be completed in one execution when there are no special conditions or branches (see FIG. 2), and when there are conditions or branches (FIG. 3) can be completed by executing the number of times corresponding to the number of each case.

다시 도 1을 참조하면, 스크립트 생성부(130)는 사용자가 프로세스 설정부(110) 및 태스크 설정부(120)를 통해 설정한 프로세스와 태스크가 실제 자동으로 실행될 수 있도록 자동화 스크립트를 생성한다. 예컨대, 스크립트 생성부(130)는 프로세스 설정부(110)에서 설정된 프로세스를 수행하는 프로세스 자동화 스크립트를 생성하고, 마찬가지로 태스크 설정부(120)에서 설정된 태스크를 수행하는 태스크 자동화 스크립트를 생성한다. 그리고, 스크립트 생성부(130)는 프로세스 실행 장치(200)(보다 구체적으로는 이벤트 실행부(220))와 연동하여 태스크를 구성하는 하나 이상의 이벤트가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅(debugging)하고, 마찬가지로 프로세스를 구성하는 하나 이상의 태스크가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅한다.Referring back to FIG. 1, the script generation unit 130 generates an automation script so that processes and tasks set by the user through the process setting unit 110 and the task setting unit 120 can be automatically executed. For example, the script generation unit 130 generates a process automation script that performs a process set by the process setting unit 110, and similarly generates a task automation script that performs a task set by the task setting unit 120. In addition, the script generator 130 verifies and debugs one or more events constituting a task in connection with the process execution device 200 (more specifically, the event execution unit 220) to operate normally in an actual execution order. Debugging by verifying that one or more tasks constituting the process can operate normally in the actual execution order.

또한, 스크립트 생성부(130)는 이와 같이 생성된 프로세스 자동화 스크립트와 태스크 자동화 스크립트를 실제 실행을 위해 프로세스 실행 장치(200)(보다 구체적으로는 스크립트 실행부(210))로 전송하고, 또한 추후 재사용 및 관리를 위해 프로세스 관리 장치(300)(보다 구체적으로는 제1 스크립트 관리부(320))로 전송한다.In addition, the script generation unit 130 transmits the thus generated process automation script and task automation script to the process execution device 200 (more specifically, the script execution unit 210) for actual execution, and also reuses them later. And a process management device 300 (more specifically, the first script management unit 320) for management.

프로세스 실행 장치(200)는 프로세스 설정 장치(100)에서 생성된 자동화 스크립트를 실제로 실행하여 사용자의 컴퓨팅 업무를 자동으로 처리하는 장치이다. 프로세스 실행 장치(200)는 적어도 하나의 프로세스 설정 장치(100) 및/또는 프로세스 관리 장치(300)로부터 프로세스 자동화 스크립트와 태스크 자동화 스크립트를 수신하고, 프로세스 관리 장치(300) 및/또는 프로세스 제어 장치(400)로부터 실행 명령을 수신하면 프로세스/태스크 자동화 스크립트를 실행하여 사용자의 컴퓨팅 업무를 처리한다. 또한, 프로세스 실행 장치(200)는 프로세스 관리 장치(300)와 프로세스 제어 장치(400) 사이에서 이들을 상호 연동시켜 프로세스 제어 장치(400)가 프로세스 관리 장치(300)를 통해 원격의 프로세스 실행 장치를 제어할 수 있도록 해준다. The process execution device 200 is a device that automatically executes an automation script generated by the process setting device 100 to automatically process a user's computing task. The process execution device 200 receives the process automation script and the task automation script from the at least one process setting device 100 and/or the process management device 300, and the process management device 300 and/or the process control device ( When an execution command is received from 400), a process/task automation script is executed to process a user's computing task. In addition, the process execution device 200 interlocks them between the process management device 300 and the process control device 400 so that the process control device 400 controls the remote process execution device through the process management device 300. To do it.

이를 위해, 본 발명의 일 실시예에 따른 프로세스 실행 장치(200)는 스크립트 실행부(210), 이벤트 실행부(220), 제1 커멘드 처리부(230), 보안 관리부(240), 로그 관리부(250) 등을 포함한다.To this end, the process execution apparatus 200 according to an embodiment of the present invention includes a script execution unit 210, an event execution unit 220, a first command processing unit 230, a security management unit 240, and a log management unit 250 ) And the like.

스크립트 실행부(210)는 프로세스 설정 장치(100) 및/또는 프로세스 관리 장치(300)로부터 전송된 프로세스/태스크 자동화 스크립트를 실행한다. 예컨대, 스크립트 실행부(210)는 프로세스/태스크 자동화 스크립트를 해석하여 각각의 이벤트, 태스크, 프로세스에 대해 속성, 실행조건, 우선순위 등을 판단하고 실행순서를 스케줄링한다. 그리고, 스크립트 실행부(210)는 이벤트 실행부(220)와 연동하여 각각의 이벤트들을 실행순서에 따라 순차적으로 실행하여 태스크를 실행하고 또한 각각의 태스크들을 실행순서에 따라 순차적으로 실행하여 프로세스를 실행한다.The script execution unit 210 executes the process/task automation script transmitted from the process setting device 100 and/or the process management device 300. For example, the script execution unit 210 analyzes the process/task automation script to determine attributes, execution conditions, priorities, etc. for each event, task, process, and schedules the execution order. Then, the script execution unit 210 interlocks with the event execution unit 220 to sequentially execute each event according to the execution order to execute the task, and also executes each task sequentially according to the execution order to execute the process. do.

이와 관련하여, 도 5는 본 발명의 일 실시예에 따른 스크립트 실행부(210)가 태스크를 실행하는 것을 예시한 것이다. 참고로, 도 5는 전술한 보험회사에서 보험 가입한 고객 목록을 작성하는 업무(프로세스) 중 사용자가 고객정보를 추출하는 제2 태스크를 레코딩하여 생성된 태스크 자동화 스크립트를 스크립트 실행부(210)가 이벤트 실행부(220)와 연동하여 자동 실행하는 경우를 예시한 것이다.In this regard, FIG. 5 illustrates that the script execution unit 210 executes a task according to an embodiment of the present invention. For reference, FIG. 5 is a script execution unit 210 of a task automation script generated by recording a second task in which a user extracts customer information during a task (process) of creating a customer list insured by the above-mentioned insurance company. An example of automatically executing in conjunction with the event execution unit 220 is illustrated.

도 5를 참조하면, 먼저 스크립트 실행부(210)는 레코딩 시의 컴퓨팅 환경 정보를 참조하여 현재의 컴퓨팅 환경(화면 해상도, 화면 배치, 화면 크기 등)을 조정하는 시스템 설정 이벤트를 실행한다. 참고로, 현재의 컴퓨팅 환경이 레코딩 시의 컴퓨팅 환경과 동일한 경우에는 시스템 설정 이벤트는 생략된다.Referring to FIG. 5, first, the script execution unit 210 executes a system setting event to adjust the current computing environment (screen resolution, screen layout, screen size, etc.) by referring to the computing environment information at the time of recording. For reference, when the current computing environment is the same as the computing environment at the time of recording, the system setting event is omitted.

그리고, 스크립트 실행부(210)는 바탕화면에서 고객폴더 이미지를 검출하는 제1 이벤트를 실행하고, 검출된 고객폴더에 대해 마우스를 클릭하는 제2 이벤트를 실행한 후, 고객폴더에 저장되어 있는 고객파일에 대해 마우스를 클릭하는 제3 이벤트를 실행한다. 그리고, 만약 고객파일이 텍스트 파일이면, 스크립트 실행부(210)는 고객파일에 있는 텍스트를 복사하는 제4 이벤트를 실행하고, 해당 텍스트에 대해 고객정보를 추출하는 제7 이벤트를 실행한다. 한편, 만약 고객 파일이 이미지 파일이면, 스크립트 실행부(210)는 해당 이미지에 대해 OCR 검출을 수행하는 제5 이벤트를 실행하고, OCR 검출된 결과에서 텍스트를 추출하는 제6 이벤트를 실행한 후, 추출된 텍스트에 대해 고객정보를 추출하는 제7 이벤트를 실행한다.Then, the script execution unit 210 executes a first event that detects a customer folder image on the desktop, executes a second event that clicks a mouse on the detected customer folder, and then stores the customer stored in the customer folder. Fire a third event that clicks the mouse on the file. Then, if the customer file is a text file, the script execution unit 210 executes a fourth event for copying the text in the customer file, and executes a seventh event for extracting customer information for the text. On the other hand, if the customer file is an image file, the script execution unit 210 executes a fifth event for performing OCR detection on the image, and after executing a sixth event for extracting text from the OCR detected result, The seventh event for extracting customer information is executed for the extracted text.

다시 도 1을 참조하면, 이벤트 실행부(220)는 이벤트 특성별(종류별)로 이를 관리하고 실행하는 하나 이상의 관리자를 구비하며, 스크립트 실행부(210)와 연동하여 프로세스와 태스크를 구성하는 모든 이벤트를 컴퓨팅 환경에 맞추어 순차적으로 실행한다.Referring back to FIG. 1, the event execution unit 220 includes one or more administrators who manage and execute it according to event characteristics (by type), and all events constituting processes and tasks in conjunction with the script execution unit 210. Runs sequentially according to the computing environment.

이와 관련하여, 도 6은 본 발명의 일 실시예에 따른 이벤트 실행부(220)의 구성을 나타낸 것이다.In this regard, FIG. 6 shows the configuration of the event execution unit 220 according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 이벤트 실행부(220)는 이미지 오브젝트 관리자(221), 웹 오브젝트 관리자(222), UI 개체 관리자(223), OCR 관리자(224), 시스템 이벤트 관리자(225), 사용자 이벤트 관리자(226), 기타 이벤트 관리자(227) 등을 포함한다.Referring to FIG. 6, the event execution unit 220 according to an embodiment of the present invention includes an image object manager 221, a web object manager 222, a UI object manager 223, an OCR manager 224, and system events. Administrator 225, user event manager 226, and other event managers 227.

이미지 오브젝트 관리자(221)는 바탕화면이나 실행화면 상에 있는 이미지를 객체(오브젝트)로 인식하여 검출하는 이미지 오브젝트 검출 이벤트를 수행하고, 웹 오브젝트 관리자(222)는 웹 상에서 웹 오브젝트를 검출하는 웹 오브젝트 검출 이벤트를 수행한다. 그리고, UI 개체 관리자(223)는 시스템(예; OS) 상의 프로그램들의 요소들을 개체로 인식하는 UI 개체 검출 이벤트를 수행하며, OCR 관리자(224)는 OCR(Optical Character Reader)을 사용하여 텍스트를 인식하는 OCR 검출 이벤트를 수행하고, 시스템 이벤트 관리자(225)는 시스템(예; OS)이 발생시키거나 수행하는 시스템 이벤트를 처리하는 기능을 수행한다. 그리고, 사용자 이벤트 관리자(226)는 키(key) 입력, 마우스 입력 등과 같은 사용자 이벤트를 처리하는 기능을 수행하고, 기타 이벤트 관리자(227)는 시스템 이벤트와 사용자 이벤트를 제외한 기타 이벤트를 처리하는 기능을 수행한다.The image object manager 221 performs an image object detection event that recognizes and detects an image on the desktop or execution screen as an object (object), and the web object manager 222 is a web object that detects a web object on the web. Perform a detection event. Then, the UI object manager 223 performs a UI object detection event that recognizes elements of programs on the system (eg, OS) as an object, and the OCR manager 224 recognizes text using an OCR (Optical Character Reader). The OCR detection event is performed, and the system event manager 225 functions to process system events generated or performed by a system (eg, an OS). In addition, the user event manager 226 performs a function of processing user events such as key input and mouse input, and the other event manager 227 provides a function of processing system events and other events except user events. Perform.

다시 도 1을 참조하면, 제1 커멘드 처리부(230)는 프로세스 관리 장치(300)의 제2 커멘드 처리부(340) 및/또는 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)와 연동하여 프로세스/태스크 실행 명령, 실행결과 보고, 스크립트 요청, 보안정보 요청, 로그정보 요청, 과금정보 요청 등의 커멘드를 송수신하고 처리하는 기능을 수행한다.Referring back to FIG. 1, the first command processing unit 230 processes in conjunction with the second command processing unit 340 of the process management device 300 and/or the third command processing unit 430 of the process control device 400. /Performs functions to send and receive commands such as task execution commands, execution result reports, script requests, security information requests, log information requests, and billing information requests.

보안 관리부(240)는 프로세스 실행 장치(200)에 대하여 사용자 계정을 확인하여 사용자의 권한을 검증하고, 검증된 사용자 권한에 따라 프로세스/태스크 자동화 스크립트에 대한 실행 여부를 결정한다.The security management unit 240 verifies the user's authority by checking the user account with respect to the process execution device 200, and determines whether to execute the process/task automation script according to the verified user authority.

로그 관리부(250)는 프로세스 실행 장치(200)에 대해 사용자의 로그인 시각, 로그아웃 시각, 실행 시작 시각, 실행 종료 시각, 실제 실행 시간, 실행한 자동화 스크립트, 실행 횟수 등을 관리한다.The log management unit 250 manages a user's login time, logout time, execution start time, execution end time, actual execution time, executed automation script, and execution number of the process execution device 200.

한편, 도 7은 본 발명의 일 실시예에 따른 OCR 관리자의 구성도이다. 그리고, 도 8은 본 발명의 일 실시예에 따른 광학 문자 판독 방법의 흐름도이다.Meanwhile, FIG. 7 is a configuration diagram of an OCR manager according to an embodiment of the present invention. And, Figure 8 is a flow chart of an optical character reading method according to an embodiment of the present invention.

도 7 및 도 8을 참조하면, 본 발명의 일 실시예에 OCR 관리자(224)는 템플릿 설정 수단(224-1), 이미지 인식 수단(224-2), 이미지 정렬 수단(224-3), 반복정밀도 산출 수단(14), 문자 판독 수단(224-5), 정보 추출 수단(224-6) 등을 포함한다.7 and 8, in one embodiment of the present invention, the OCR manager 224 includes template setting means 224-1, image recognition means 224-2, image alignment means 224-3, and repetition. Precision calculation means 14, character reading means 224-5, information extraction means 224-6, and the like.

템플릿 설정 수단(224-1)은 사용자에게 광학 문자 판독의 대상이 되는 문서의 템플릿 정보를 설정하고 편집할 수 있는 기능을 제공한다(단계 S810 참조). 예컨대, 템플릿 설정 수단(224-1)은 사용자에게 광학 문자 판독의 대상이 되는 문서에서 원하는 정보를 정확하게 추출할 수 있도록 템플릿 정보를 설정하고 편집할 수 있는 템플릿 에디터를 제공하고, 사용자는 템플릿 에디터를 통해 문서 양식 정보, 문서 정렬 정보, 영역 위치 정보, 영역 속성 정보 등을 구체적으로 설정하여, 이들 정보를 포함하는 템플릿 정보를 설정한다.The template setting means 224-1 provides a user with the ability to set and edit the template information of the document to be subjected to optical character reading (see step S810). For example, the template setting means 224-1 provides the user with a template editor capable of setting and editing template information so as to accurately extract desired information from a document subject to optical character reading, and the user opens the template editor. Through this, document form information, document alignment information, area location information, area attribute information, etc. are specifically set, and template information including these information is set.

이와 관련하여, 도 9는 본 발명의 일 실시예에 따른 템플릿 설정 수단(224-1)에서 제공하는 템플릿 에디터를 예시한 도면이다.In this regard, FIG. 9 is a diagram illustrating a template editor provided by the template setting means 224-1 according to an embodiment of the present invention.

도 9를 참조하면, 사용자는 템플릿 에디터 상에서 광학 문자 판독의 대상이 되는 문서의 종류나 양식(예; 주민등록증, 지로 용지, 은행 통장, 가입 신청서)을 설정하고, 해당 문서(이하 '표본 문서'라 함)의 이미지를 불러와서 문서 이미지의 전체 영역 중 원하는 정보가 나타나 있는 영역을 모두 지정한다. 그러면, 템플릿 에디터는 사용자가 설정한 문서의 종류나 양식에 해당하는 문서 양식 정보를 생성하고, 추후 문서 이미지 정렬을 위해 표본 문서의 특징 점 등을 추출하여 문서 정렬 정보를 생성하며, 또한 사용자가 지정한 각각의 영역에 대해 영역 위치 정보를 생성한다. 참고로, 영역 위치 정보는 예컨대 이미지 좌표계를 기준으로 하여 top, left, width, height 값을 산출하여 생성될 수 있는데, 반드시 이에 한정되는 것은 아니며 지정된 영역을 특정할 수 있으면 충분하다.Referring to FIG. 9, a user sets a type or form of a document (eg, resident registration card, Giro paper, bank passbook, subscription application) that is the object of optical character reading on the template editor, and the corresponding document (hereinafter referred to as'sample document') ), and designate all areas of the document image where desired information is displayed. Then, the template editor generates document form information corresponding to the type or form of the document set by the user, and extracts feature points of the sample document for sorting the document image in the future to generate document alignment information. Region location information is generated for each region. For reference, the area location information may be generated by calculating the top, left, width, and height values based on, for example, an image coordinate system, but is not limited thereto, and it is sufficient if a specified area can be specified.

그리고, 사용자는 템플릿 에디터를 통해 상기 지정된 영역 별로 항목(label 또는 label 역할을 하는 key 값), 언어(예; 국어, 영어, 숫자, 기호), 문자열 길이, 블랙리스트(blacklist)(인식하지 않아야 할 문자), 화이트리스트(whitelist)(우선순위로 인식하여야 할 문자), 타입(예; 텍스트, 그림, 테이블) 등의 영역 속성 정보를 설정한다. 그러면, 템플릿 에디터는 각각의 영역 위치 정보와 이에 해당하는 영역 속성 정보를 매칭시켜, 최종적으로 문서 양식 정보, 문서 정렬 정보, 영역 위치 정보, 영역 속성 정보 등이 포함된 템플릿 정보를 생성한다.And, the user through the template editor, the items (key values serving as labels or labels), the language (eg, Korean, English, numbers, symbols), string length, blacklist (blacklist) (not to be recognized) Text), whitelist (characters to be recognized as priority), and type (eg text, picture, table), etc. Then, the template editor matches each region location information and the corresponding region attribute information, and finally generates template information including document form information, document alignment information, region location information, and region attribute information.

다시 도 7 및 도 8을 참조하면, 이미지 인식 수단(224-2)은 실제로 광학 문자 판독을 수행할 문서(이하 '판독 대상 문서'라 함)를 스캔하여 문서 이미지를 인식하거나, 및/또는 이미 생성되어 있는 판독 대상 문서의 이미지 파일로부터 문서 이미지를 인식한다(단계 S820 참조).Referring again to FIGS. 7 and 8, the image recognition means 224-2 actually scans a document to perform optical character reading (hereinafter referred to as a'read target document') to recognize a document image, and/or already The document image is recognized from the generated image file of the document to be read (see step S820).

그러면, 이미지 정렬 수단(224-3)은 이미지 인식 수단(224-2)에서 인식된 판독 대상 문서 이미지를 템플릿 정보에 포함된 문서 정렬 정보에 기초하여 이미지 정렬을 수행한다(단계 S830 참조).Then, the image alignment means 224-3 performs image alignment on the document image to be read recognized by the image recognition means 224-2 based on the document alignment information included in the template information (see step S830).

이를 상술하면, 이미지 인식 수단(224-2)에서 동일한 형식과 동일한 DPI(dots per inch)로 동일한 양식의 문서를 스캔 하더라고 실제로는 모든 문서의 위치가 정확히 일치하지는 않는데, 본 발명에 따른 이미지 정렬 수단(224-3)은 이러한 위치 불일치를 제거하기 위하여 이미지 정렬을 수행한다.In detail, even if the image recognition means 224-2 scans a document of the same form with the same format and the same dots (dots per inch), in reality, the positions of all documents do not exactly match, but the image alignment means according to the present invention (224-3) performs image alignment to eliminate this position mismatch.

예컨대, 이미지 정렬 수단(224-3)은 판독 대상 문서의 특징 점들을 추출하고, 이를 표본 문서의 특징 점들(이는 템플릿 정보의 문서 정렬 정보로부터 얻을 수 있음)과 비교하여, 서로 유사한 특징을 가지는 판독 대상 문서의 특징 점과 표본 문서의 특징 점을 각각 매칭하여 특징 점 쌍(pair)들을 생성한다. 참고로, 특징 점은 하리스 코너 검출방식(Harris Corner Detection) 등을 이용하여 추출될 수 있다.For example, the image alignment means 224-3 extracts feature points of the document to be read, compares them with feature points of the sample document (which can be obtained from document alignment information of the template information), and reads having similar characteristics to each other Feature point pairs are generated by matching the feature points of the target document and the feature points of the sample document, respectively. For reference, the feature points may be extracted using Harris Corner Detection or the like.

그리고, 이미지 정렬 수단(224-3)은 이와 같이 생성된 특징 점 쌍들에 대해 RANSAC(RANdom SAmple Consensus) 알고리즘을 사용하여 오류가 있거나 불일치 되는 특징 점 쌍을 제거한 후, 2차원 호모그래피(2D Homography) 행렬을 생성하여 계산한다. 그리고, 이미지 정렬 수단(224-3)은 2차원 호모그래피(2D Homography) 행렬의 계산 결과에 기초하여 백워드 매핑(Backward mapping)을 수행하여 판독 대상 문서 이미지의 각 픽셀을 이에 대응되는 표본 문서 이미지의 각 픽셀의 위치로 이동시켜 이미지 정렬을 수행한다.Then, the image alignment means 224-3 removes an error or mismatched feature point pair by using the RANSAC (RANdom SAmple Consensus) algorithm for the feature point pairs generated in this way, and then 2D Homography Create and compute a matrix. Then, the image alignment means 224-3 performs a backward mapping based on the calculation result of the 2D homography matrix to sample each pixel of the document image to be read corresponding to the sample document image Image alignment is performed by moving to the position of each pixel in.

반복정밀도 판단 수단(224-4)은 이미지 정렬 수단(224-3)에서 생성된 2차원 호모그래피 행렬 및 상호 매칭된 특징 점 쌍을 이용하여 반복정밀도(Repeatability)를 판단한다(단계 S840 참조).The repeatability determination means 224-4 determines the repeatability using the two-dimensional homography matrix generated by the image alignment means 224-3 and a pair of mutually matched feature points (see step S840).

예컨대, 반복정밀도 판단 수단(224-4)은 2차원 호모그래피 행렬을 계산하기 위해 사용된 여러 특징 점 쌍을 이용하여 x, y 좌표의 RMSE(Root-Mean-Square Error)를 계산한다. 그리고, 계산된 RMSE 값을 이용하여 반복정밀도를 판단한다. 구체적으로, RMSE 값이 기 설정된 임계값 이하인 경우(반복정밀도가 기 설정된 적합 조건을 만족하는 경우) 2차원 호모그래피 행렬로 변환된 이미지에 오류가 적으며 판독 대상 문서와 표본 문서의 각 구성요소의 위치가 같다고 판단하고, 반대로 RMSE 값이 기 설정된 임계값을 초과하는 경우(반복정밀도가 기 설정된 적합 조건을 만족하지 않는 경우) 변환된 이미지에 오류가 많으며 판독 대상 문서와 표본 문서의 각 구성요소의 위치가 다르다고 판단(반복정밀도 부적합으로 판단)한다.For example, the iterative precision determination means 224-4 calculates a Root-Mean-Square Error (RMSE) of the x and y coordinates using several pairs of feature points used to calculate a two-dimensional homography matrix. Then, iterative precision is determined using the calculated RMSE value. Specifically, when the RMSE value is below a preset threshold (when repeatability satisfies a preset fit condition), there are fewer errors in the image converted to a two-dimensional homography matrix, and each component of the document to be read and the sample document If the location is judged to be the same and, on the contrary, the RMSE value exceeds a preset threshold (if the repeatability does not satisfy the preset fit condition), the converted image has many errors and the components of the document to be read and the sample document It is judged that the position is different (determined by non-repetition precision).

문자 판독 수단(224-5)은 반복정밀도 판단 결과에 따라 서로 다른 방식으로 판독 대상 문자의 이미지에 대해 광학 문자 판독을 수행한다.The character reading means 224-5 performs optical character reading on the image of the character to be read in different ways according to the repetition precision determination result.

만약 반복정밀도 판단 수단(224-4)에서 반복정밀도 적합으로 판단된 경우, 문자 판독 수단(224-5)은 템플릿 정보에 기초하여 광학 문자 판독을 수행한다(단계 S850 참조).If it is determined that the repetition precision determination means 224-4 is suitable for repetition precision, the character reading means 224-5 performs optical character reading based on the template information (see step S850).

예컨대, 문자 판독 수단(224-5)은 템플릿 정보의 영역 위치 정보를 참조하여 사용자가 지정한 하나 이상의 영역을 각각 별도의 이미지로 분리한다. 이 경우, 본 발명의 바람직한 실시예에 따르면, 문자 판독 수단(224-5)은 사용자가 지정한 영역의 경계 주변을 나머지 영역에 복사하여 패딩(padding)함으로써, 추후 컨볼루션(convolution) 연산 등을 수행하더라도 데이터가 유실되지 않도록 한다. 그리고, 문자 판독 수단(224-5)은 각각의 분리된 영역에 대한 영역 속성 정보를 참조하여 해당 영역에 대한 광학 문자 판독을 수행한다. 전술한 바와 같이, 템플릿 정보에 포함된 영역 속성 정보에는 해당 영역에 대한 항목(label 또는 label 역할을 하는 key 값), 언어(예; 국어, 영어, 숫자, 기호), 문자열 길이, 블랙리스트(blacklist), 화이트리스트(whitelist), 타입(예; 텍스트, 그림, 테이블) 등이 설정되어 있으며, 문자 판독 수단(224-5)은 해당 영역에 대한 영역 속성 정보를 참조하여 이를 충족시키는 문자 및/또는 문자열을 인식한다.For example, the character reading means 224-5 separates one or more regions designated by the user into separate images by referring to the region location information of the template information. In this case, according to a preferred embodiment of the present invention, the character reading means 224-5 performs a convolution operation or the like by copying and padding the periphery of the area designated by the user to the remaining area. Even if it does, do not lose data. Then, the character reading means 224-5 refers to the region attribute information for each separated region and performs optical character reading for the region. As described above, the region attribute information included in the template information includes items for the region (key values serving as labels or labels), languages (eg, Korean, English, numbers, symbols), string length, and blacklist (blacklist). ), whitelist, type (e.g., text, picture, table), etc. are set, and the character reading means 224-5 refers to the region attribute information for the region and/or meets the character and/or Recognize strings.

반대로, 만약 반복정밀도 판단 수단(224-4)에서 반복정밀도 부적합으로 판단된 경우, 문자 판독 수단(224-5)은 판독 대상 문서의 이미지에 대해 전체 영역을 대상으로 광학 문자 판독을 수행한다(단계 S860 참조).Conversely, if it is determined by the repeatability determination means 224-4 that the repeatability is not suitable, the character reading means 224-5 performs optical character reading on the entire area of the image of the document to be read (step) S860).

예컨대, 문자 판독 수단(224-5)은 판독 대상 문서 이미지의 전체 영역을 대상으로 광학 문자 판독을 수행하여, 판독 대상 문서에 기재된 모든 문자를 찾아 인식하고 인식된 문자와 그 위치 정보를 제공(출력)한다.For example, the character reading means 224-5 performs optical character reading on the entire area of the document image to be read, finds and recognizes all the characters described in the document to be read, and provides the recognized characters and their location information (output )do.

마지막으로, 정보 추출 수단(224-6)은 문자 판독 수단(224-5)에서 판독된 문자 및/또는 문자열을 대상으로 필요한 정보를 추출한다.Finally, the information extraction means 224-6 extracts necessary information from the characters and/or character strings read by the character reading means 224-5.

만약 반복정밀도가 적합으로 판단되어 문자 판독 수단(224-5)에서 템플릿 정보에 기초하여 광학 문자 판독을 수행한 경우, 정보 추출 수단(224-6)은 문자 판독 수단(224-5)에서 판독된 내용(문자 및/또는 문자열)을 사용자가 원하는 정보로 판단하고 이를 기초로 결과 파일을 생성한다(단계 S870 참조).If the repetition precision is determined to be suitable and the optical character reading is performed by the character reading means 224-5 based on the template information, the information extracting means 224-6 is read by the character reading means 224-5. The contents (characters and/or character strings) are determined as information desired by the user, and a result file is generated based on the information (see step S870).

그러나, 만약 반복정밀도가 부적합으로 판단되어 문자 판독 수단(224-5)에서 문서 전체 영역에 대해 광학 문자 판독을 수행한 경우, 정보 추출 수단(224-6)은 판독 대상 문서에 기재된 모든 문자를 대상으로 템플릿 정보에 기초하여 필요한 정보를 추출한다(단계 S880 참조).However, if it is determined that the repetition precision is not suitable, the character reading means 224-5 performs optical character reading for the entire document area, and the information extracting means 224-6 targets all characters described in the document to be read. Then, necessary information is extracted based on the template information (see step S880).

예컨대, 정보 추출 수단(224-6)은 템플릿 정보의 영역 속성 정보를 참조하여 추출 대상 정보의 항목(label 또는 label 역할을 하는 key 값), 언어(예; 국어, 영어, 숫자, 기호), 문자열 길이, 블랙리스트(blacklist), 화이트리스트(whitelist), 타입(예; 텍스트, 그림, 테이블) 등을 인식하고, 이를 고려하여 판독 대상 문서의 모든 문자 및/또는 문자열을 대상으로 적합 여부를 판단하여 필요한 정보를 추출하고 결과 파일을 생성한다. 구체적으로, 본 발명의 바람직한 실시예에 따르면 항목(예; 계좌번호)과 상기 항목에 해당하는 구체적 내용(예; 101-12-700-302)이 주로 인접하여 위치한다는 사실에 착안하여, 정보 추출 수단(224-6)은 추출 대상 정보의 항목과 일치되는 문자 및/또는 문자열을 추출하고, 그 위치 정보를 기초로 하여 근처에 위치하는 하나 이상의 문자 및/또는 문자열을 항목의 구체적 내용에 해당하는 후보군으로 선정한다. 그리고, 정보 추출 수단(224-6)은 후보군에 포함된 문자 및/또는 문자열을 대상으로 거리에 따른 가중치, 상기 항목이 속해 있는 영역에 해당하는 각각의 속성 정보(언어, 문자열 길이, 블랙리스트, 화이트리스트, 타입 등)의 적합도에 따른 가중치를 계산한 후 가장 가중치가 높은 문자 및/또는 문자열을 추출 대상 정보로 인식하고 결과 파일을 생성한다.For example, the information extraction means 224-6 refers to the region attribute information of the template information, and the item of the extraction target information (key value serving as a label or label), language (eg, Korean, English, numbers, symbols), string It recognizes length, blacklist, whitelist, and type (e.g. text, picture, table), etc., and considers this to determine whether it is suitable for all characters and/or character strings in the document to be read. Extract the necessary information and generate a result file. Specifically, according to a preferred embodiment of the present invention, in view of the fact that an item (eg, account number) and specific content (eg, 101-12-700-302) corresponding to the item are mainly located adjacent to each other, information is extracted The means 224-6 extracts characters and/or character strings matching the items of the information to be extracted, and based on the location information, one or more characters and/or character strings located nearby correspond to the specific contents of the items Selected as a candidate. Then, the information extraction means 224-6 targets the characters and/or character strings included in the candidate group, weights according to distances, and respective attribute information (language, character string length, black list, etc.) corresponding to the area to which the item belongs. After calculating the weight according to the fitness of white list, type, etc.), the character and/or character string with the highest weight are recognized as the information to be extracted and a result file is generated.

다시 도 1을 참조하면, 프로세스 관리 장치(300)는 적어도 하나의 프로세스 설정 장치(100) 및/또는 적어도 하나의 프로세스 실행 장치(200)와 연동되어 이들을 관리하는 장치이다. 프로세스 관리 장치(300)는 적어도 하나의 프로세스 설정 장치(100)와 연동되며, 상기 적어도 하나의 프로세스 설정 장치(100)로부터 프로세스/태스크 자동화 스크립트를 수신하여 관리한다. 또한, 프로세스 관리 장치(300)는 적어도 하나의 프로세스 실행 장치(200)와 연동되며, 상기 적어도 하나의 프로세스 실행 장치(200)에 대해 프로세스/태스크 자동화 스크립트의 실행을 명령하고 실행결과를 수신하여 관리한다.Referring back to FIG. 1, the process management device 300 is a device that manages these in conjunction with at least one process setting device 100 and/or at least one process execution device 200. The process management device 300 is interlocked with at least one process setting device 100 and receives and manages a process/task automation script from the at least one process setting device 100. In addition, the process management device 300 is interlocked with at least one process execution device 200, commands the execution of a process/task automation script to the at least one process execution device 200, and receives and manages the execution result do.

이를 위해, 본 발명의 일 실시예에 따른 프로세스 관리 장치(300)는 장치 관리부(310), 제1 스크립트 관리부(320), 스케줄러(330), 제2 커멘드 처리부(340), 보안 관리부(350), 과금 관리부(360), 모니터링부(370), 스크립트 저장부(380), 정보 저장부(390) 등을 포함한다.To this end, the process management apparatus 300 according to an embodiment of the present invention includes a device management unit 310, a first script management unit 320, a scheduler 330, a second command processing unit 340, and a security management unit 350 , A billing management unit 360, a monitoring unit 370, a script storage unit 380, an information storage unit 390, and the like.

장치 관리부(310)는 적어도 하나의 프로세스 설정 장치(100) 및/또는 적어도 하나의 프로세스 실행 장치(200)를 관리한다. 예컨대, 장치 관리부(310)는 각각의 프로세스 설정 장치(100)와 프로세스 실행 장치(200)에 대해 사용자 계정, 사용자 권한, 장치의 위치, 엔진 정보, 실행 기능, 실행 속도, 처리 용량 등을 관리한다.The device manager 310 manages at least one process setting device 100 and/or at least one process execution device 200. For example, the device management unit 310 manages a user account, user authority, device location, engine information, execution function, execution speed, processing capacity, and the like for each process setting device 100 and the process execution device 200. .

제1 스크립트 관리부(320)는 적어도 하나의 프로세스 설정 장치(100)로부터 전송된 프로세스/태스크 자동화 스크립트를 관리한다. 예컨대, 제1 스크립트 관리부(320)는 프로세스 설정 장치(100)의 스크립트 생성부(130)로부터 프로세스/태스크 자동화 스크립트를 수신하여 스크립트 저장부(380)에 저장하고, 프로세스 실행 장치(200)의 요청에 따라 또는 스케줄러(330)의 요청에 따라 해당 프로세스/태스크 자동화 스크립트를 검색하여 프로세스 실행 장치(200)로 전송한다.The first script management unit 320 manages the process/task automation script transmitted from the at least one process setting device 100. For example, the first script management unit 320 receives the process/task automation script from the script generation unit 130 of the process setting device 100 and stores it in the script storage unit 380, and requests the process execution device 200 According to or according to the request of the scheduler 330, the corresponding process/task automation script is searched and transmitted to the process execution device 200.

스케줄러(330)는 적어도 하나의 프로세스 실행 장치(200)에 대해 프로세스/태스크 자동화 스크립트의 실행 스케줄을 관리한다. 예컨대, 스케줄러(330)는 제2 커멘드 처리부(340)와 연동하여 각각의 프로세스 실행 장치(200)에 대해 어떠한 시간에 어떠한 프로세스/태스크 자동화 스크립트를 어떠한 순서로 실행할 것인지 실행 스케줄을 관리한다.The scheduler 330 manages the execution schedule of the process/task automation script for at least one process execution device 200. For example, the scheduler 330 works with the second command processing unit 340 to manage an execution schedule for which process/task automation script to execute in which order for each process execution apparatus 200 at any time.

제2 커멘드 처리부(340)는 각각의 프로세스 실행 장치(200)로 프로세스/태스크 자동화 스크립트의 실행을 명령하고 실행결과를 수신한다. 예컨대, 제2 커멘드 처리부(340)는 스케줄러(330)의 요청에 따라 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')로 제1 프로세스/태스크 자동화 스크립트의 실행을 명령하고 실행결과를 수신한다. 또한, 제2 커멘드 처리부(340)는 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')의 요청에 따라 제2 프로세스 실행 장치(200")의 제1 커멘드 처리부(230")로 제2 프로세스/태스크 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')로 전송한다.The second command processing unit 340 instructs each process execution device 200 to execute the process/task automation script and receives the execution result. For example, the second command processing unit 340 instructs and executes the execution of the first process/task automation script to the first command processing unit 230' of the first process execution device 200' at the request of the scheduler 330 Receive results. In addition, the second command processing unit 340 may request the first command processing unit 230 ′ of the second process execution device 200 ″ at the request of the first command processing unit 230 ′ of the first process execution device 200 ′. Command the execution of the second process/task automation script, receive the execution result, and transmit it to the first command processing unit 230' of the first process execution apparatus 200'.

보안 관리부(350)는 각각의 프로세스 실행 장치(200)에 대한 보안을 관리한다. 예컨대, 보안 관리부(350)는 각각의 프로세스 실행 장치(200)의 보안 관리부(240)와 연동하여 해당 프로세스 실행 장치(200)에 대하여 사용자 계정을 확인하여 사용자의 권한을 검증하고, 검증된 사용자 권한에 따라 해당 프로세스 실행 장치(200)에 대한 접속 여부, 자동화 스크립트 실행 여부 등을 결정하고 관리한다.The security management unit 350 manages security for each process execution device 200. For example, the security management unit 350 works with the security management unit 240 of each process execution device 200 to verify a user account with respect to the process execution device 200 to verify the user's authority, and verified user rights According to this, it determines and manages whether to connect to the corresponding process execution device 200, whether to execute an automated script, and the like.

과금 관리부(360)는 각각의 프로세스 실행 장치(200)에 대한 사용자의 과금 정보를 관리한다. 예컨대, 과금 관리부(360)는 각각의 프로세스 실행 장치(200)의 로그 관리부(250)와 연동하여 사용자의 로그인 시각, 로그아웃 시각, 실행 시작 시각, 실행 종료 시각, 실제 실행 시간, 실행한 자동화 스크립트, 실행 횟수 등에 정보를 수집하고, 이에 해당하는 과금 정보를 생성하여 관리한다.The billing management unit 360 manages billing information of a user for each process execution device 200. For example, the billing management unit 360 works with the log management unit 250 of each process execution device 200 to log in the user, log out time, execution start time, execution end time, actual execution time, and executed automation script , Collects information on the number of executions, and generates and manages the billing information corresponding to it.

모니터링부(370)는 각각의 프로세스 실행 장치(200)에 대해 현재 상태를 모니터링하고, 그 결과를 사용자 또는 관리자에게 디스플레이한다. 예컨대, 모니터링부(370)는 스케줄러(330), 제2 커멘드 처리부(340) 등과 연동하여 각각의 프로세스 실행 장치(200)에서의 프로세스/태스크 실행여부, 진행상태, 실행결과 등을 디스플레이한다.The monitoring unit 370 monitors the current state of each process execution device 200 and displays the result to the user or the administrator. For example, the monitoring unit 370 displays a process/task execution status, a progress state, an execution result, etc. in each process execution apparatus 200 in conjunction with the scheduler 330, the second command processing unit 340, and the like.

스크립트 저장부(380)는 제1 스크립트 관리부(320)의 관리 하에 적어도 하나의 프로세스 설정 장치(100)로부터 전송된 프로세스/태스크 자동화 스크립트를 저장한다.The script storage unit 380 stores the process/task automation script transmitted from the at least one process setting device 100 under the management of the first script management unit 320.

그리고, 정보 저장부(390)는 장치 관리부(310), 제1 스크립트 관리부(320), 보안 관리부(350), 과금 관리부(360) 등의 관리 하에 프로세스 설정 장치, 프로세스 실행 장치, 프로세스 자동화 스크립트, 태스크 자동화 스크립트, 사용자, 보안, 과금 등에 관한 정보를 저장한다.And, the information storage unit 390 is the device management unit 310, the first script management unit 320, the security management unit 350, the billing management unit 360, such as a process setting device, process execution device, process automation script, Stores information about task automation scripts, users, security, and billing.

프로세스 제어 장치(400)는 사용자가 프로세스 실행 장치(200)를 제어하기 위한 장치이다. 프로세스 제어 장치(400)는 제어 대상인 프로세스 실행 장치(200)와 연동되며, 해당 프로세스 실행 장치(200)가 처리할 프로세스/태스크 자동화 스크립트를 선택하고, 실행을 명령한다. 또한, 실행결과를 수신한다.The process control device 400 is a device for a user to control the process execution device 200. The process control device 400 is interlocked with the process execution device 200 as a control target, selects a process/task automation script to be processed by the process execution device 200, and commands execution. In addition, execution results are received.

이를 위해, 본 발명의 일 실시예에 따른 프로세스 제어 장치(400)는 사용자 인터페이스부(410), 제2 스크립트 관리부(420), 제3 커멘드 처리부(430) 중 적어도 하나를 포함한다.To this end, the process control apparatus 400 according to an embodiment of the present invention includes at least one of a user interface unit 410, a second script management unit 420, and a third command processing unit 430.

사용자 인터페이스부(410)는 사용자가 프로세스 제어 장치(400)를 통해 프로세스 실행 장치(200)를 제어할 수 있도록 사용자 인터페이스를 제공한다. 예컨대, 사용자 인터페이스부(410)는 사용자의 로그인/로그아웃, 프로세스 실행 장치 선택, 및 프로세스/태스크 자동화 스크립트의 실행/정지 중 적어도 하나에 대하여 GUI(Graphical User Interface)를 제공하고, 해당 프로세스 실행 장치(200)에서 실행되고 있는 업무(프로세스)의 진행상태, 실행결과 등을 표시한다.The user interface unit 410 provides a user interface so that the user can control the process execution device 200 through the process control device 400. For example, the user interface unit 410 provides a graphical user interface (GUI) for at least one of a user's login/logout, process execution device selection, and process/task automation script execution/stop, and the process execution device The progress status, execution result, etc. of the task (process) being executed in 200 are displayed.

제2 스크립트 관리부(420)는 프로세스 실행 장치(200)에서 처리될 수 있는 프로세스/태스크 자동화 스크립트를 사용자에게 제공한다. 또한, 사용자가 프로세스 실행 장치(200)에 대해 임의의 프로세스/태스크 자동화 스크립트를 등록하거나 삭제하면, 이에 따라 해당 프로세스/태스크 자동화 스크립트가 실행되거나 취소될 수 있도록 한다.The second script manager 420 provides a user with a process/task automation script that can be processed by the process execution device 200. In addition, when a user registers or deletes any process/task automation script for the process execution device 200, the process/task automation script can be executed or canceled accordingly.

제3 커멘드 처리부(430)는 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)로 해당 프로세스/태스크 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 사용자 인터페이스부(410)를 통해 사용자에게 통지한다.The third command processing unit 430 instructs the first command processing unit 230 of the process execution device 200 to execute the corresponding process/task automation script, receives the execution result, and receives the execution result from the user through the user interface unit 410. Notify.

이하에서는, 도 10 내지 도 12를 참조하여 본 발명에 따른 로봇 프로세스 자동화 방법에 대해 설명한다.Hereinafter, a robot process automation method according to the present invention will be described with reference to FIGS. 10 to 12.

먼저, 도 10은 본 발명의 일 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도로서, 프로세스 설정 장치(100), 프로세스 실행 장치(200), 프로세스 관리 장치(300)가 상호 연동하여 사용자의 컴퓨팅 업무(프로세스)를 자동으로 처리하는 방식을 나타낸 것이다.First, FIG. 10 is a flowchart of a robot process automation method according to an embodiment of the present invention, in which a process setting device 100, a process execution device 200, and a process management device 300 interoperate with each other to perform a computing task of a user ( Process).

도 10을 참조하면, 프로세스 설정 장치(100)의 프로세스 설정부(110)와 태스크 설정부(120)는 사용자에게 프로세스/태스크 에디터(editor)를 제공하고, 사용자는 프로세스/태스크 에디터를 통해 하나 이상의 태스크로 구성된 프로세스 및 하나 이상의 이벤트로 구성된 태스크를 설정한다(단계 S1010 참조). 그러면, 프로세스 설정 장치(100)의 스크립트 생성부(130)는 프로세스를 수행하는 프로세스 자동화 스크립트 및 태스크를 수행하는 태스크 자동화 스크립트를 생성한다(단계 S1020 참조).Referring to FIG. 10, the process setting unit 110 and the task setting unit 120 of the process setting device 100 provide a process/task editor to the user, and the user may use one or more processes/task editors. A process consisting of a task and a task consisting of one or more events are set (see step S1010). Then, the script generation unit 130 of the process setting device 100 generates a process automation script that performs a process and a task automation script that performs a task (see step S1020).

그리고, 프로세스 설정 장치(100)의 스크립트 생성부(130)는 실제 실행을 위해 프로세스/태스크 자동화 스크립트를 프로세스 실행 장치(200)의 스크립트 실행부(210)로 전송하고(단계 S1030a 참조), 추후 재사용 및 관리를 위해 마찬가지로 프로세스/태스크 자동화 스크립트를 프로세스 관리 장치(300)의 제1 스크립트 관리부(320)로 전송한다(단계 S1030b 참조).Then, the script generation unit 130 of the process setting device 100 transmits the process/task automation script to the script execution unit 210 of the process execution device 200 for actual execution (see step S1030a), and can be reused later. And for management, the process/task automation script is also transmitted to the first script management unit 320 of the process management device 300 (see step S1030b).

한편, 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)는 실행 스케줄에 따라서 또는 사용자의 요청에 따라서 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)로 프로세스/태스크 자동화 스크립트의 실행을 명령하고(단계 S1040 참조), 그러면 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)는 스크립트 실행부(210)와 연동하여 프로세스/태스크 자동화 스크립트를 실행하고(단계 S1050 참조), 그 실행결과를 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)로 전송한다(단계 S1060 참조).Meanwhile, the second command processing unit 340 of the process management device 300 executes the process/task automation script to the first command processing unit 230 of the process execution device 200 according to an execution schedule or a user request. Command (see step S1040), then the first command processing unit 230 of the process execution device 200 runs the process/task automation script in conjunction with the script execution unit 210 (see step S1050), and the execution result Is transmitted to the second command processing unit 340 of the process management device 300 (see step S1060).

참고로, 스크립트 실행 명령은 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)에 의해서도 내려질 수 있는데, 이 경우에는 사용자의 요청에 따라 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)가 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)로 프로세스/태스크 자동화 스크립트의 실행을 명령하고, 그러면 프로세스 실행 장치(200)의 제1 커멘드 처리부(240)는 프로세스/태스크 자동화 스크립트를 실행한 후 실행결과를 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)로 전송한다.For reference, the script execution command may also be issued by the third command processing unit 430 of the process control device 400. In this case, the third command processing unit 430 of the process control device 400 may be issued according to a user's request. The first command processing unit 230 of the process execution device 200 instructs the execution of the process/task automation script, and then the first command processing unit 240 of the process execution device 200 executes the process/task automation script. After that, the execution result is transmitted to the third command processing unit 430 of the process control device 400.

도 11은 본 발명의 다른 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도로서, 프로세스 제어 장치(400), 프로세스 실행 장치(200), 프로세스 관리 장치(300)가 상호 연동하여 사용자의 컴퓨팅 업무(프로세스)를 자동으로 처리하는 방식을 나타낸 것이다.11 is a flowchart of a robot process automation method according to another embodiment of the present invention, the process control device 400, the process execution device 200, and the process management device 300 interoperate with each other to perform a user's computing task (process) It shows the way to process automatically.

도 11을 참조하면, 프로세스 제어 장치(400)의 사용자 인터페이스부(410)는 사용자에게 사용자 인터페이스를 제공하고, 사용자는 사용자 인터페이스를 통해 자신이 원하는 프로세스/태스크 자동화 스크립트의 실행을 등록한다(단계 S1110 참조). 그러면, 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)는 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)로 해당 프로세스/태스크 자동화 스크립트의 실행을 명령하고, 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)는 이를 수신한다(단계 S1120 참조).Referring to FIG. 11, the user interface unit 410 of the process control device 400 provides a user interface to a user, and the user registers execution of a desired process/task automation script through the user interface (step S1110) Reference). Then, the third command processing unit 430 of the process control device 400 instructs the first command processing unit 230 of the process execution device 200 to execute the corresponding process/task automation script, and the process execution device 200 The first command processing unit 230 receives it (see step S1120).

그러면, 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)는 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)로 해당 프로세스/태스크 자동화 스크립트를 요청하고(단계 S1130 참조), 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)는 제1 스크립트 관리부(320)와 연동하여 해당 프로세스/태스크 자동화 스크립트 프로세스 실행 장치(200)로 전송한다(단계 S1140 참조). 참고로, 전술한 도 10의 경우와 같이 만약 해당 프로세스/태스크 자동화 스크립트가 프로세스 실행 장치(200)에 이미 존재하는 경우에는 단계 S1130 및 S1140은 생략될 수 있다.Then, the first command processing unit 230 of the process execution device 200 requests the corresponding process/task automation script from the second command processing unit 340 of the process management device 300 (see step S1130), and the process management device The second command processing unit 340 of 300 transmits the corresponding process/task automation script process execution device 200 in conjunction with the first script management unit 320 (see step S1140). For reference, as in the case of FIG. 10 described above, if the corresponding process/task automation script already exists in the process execution device 200, steps S1130 and S1140 may be omitted.

그러면, 프로세스 실행 장치(200)의 제1 커멘드 처리부(230)는 스크립트 실행부(210)와 연동하여 해당 프로세스/태스크 자동화 스크립트를 실행하고(단계 S1150 참조), 그 실행결과를 프로세스 제어 장치(400)로 전송한다(단계 S1160 참조).Then, the first command processing unit 230 of the process execution device 200 works with the script execution unit 210 to execute the corresponding process/task automation script (see step S1150), and the execution result of the process control device 400 ) (See step S1160).

이에 따라, 본 발명은 프로세스 실행 장치(200)에 존재하는 프로세스/태스크 자동화 스크립트뿐만 아니라 프로세스 관리 장치(300)에 저장된 수많은 프로세스/태스크 자동화 스크립트에 대해서도 원하는 프로세스/태스크 자동화 스크립트를 요청하여 실행할 수 있다.Accordingly, the present invention can request and execute a desired process/task automation script for a number of process/task automation scripts stored in the process management device 300 as well as process/task automation scripts existing in the process execution device 200. .

도 12는 본 발명의 또 다른 실시예에 따른 로봇 프로세스 자동화 방법의 흐름도로서, 프로세스 제어 장치(400), 제1 프로세스 실행 장치(200'), 제2 프로세스 실행 장치(200"), 프로세스 관리 장치(300)가 상호 연동하여 사용자의 컴퓨팅 업무(프로세스)를 자동으로 처리하는 방식을 나타낸 것이다.12 is a flowchart of a robot process automation method according to another embodiment of the present invention, a process control device 400, a first process execution device 200', a second process execution device 200", and a process management device It shows a method in which the 300 automatically processes a user's computing task (process) by interworking with each other.

도 12를 참조하면, 프로세스 제어 장치(400)의 사용자 인터페이스부(410)는 사용자에게 사용자 인터페이스를 제공하고, 사용자는 사용자 인터페이스를 통해 자신이 원하는 프로세스 실행 장치, 예컨대 원격의 제2 프로세스 실행 장치(200")에 자신이 원하는 프로세스/태스크 자동화 스크립트의 실행을 등록한다(단계 S1210 참조).Referring to FIG. 12, the user interface unit 410 of the process control device 400 provides a user interface to a user, and the user may execute a process execution device desired by the user through a user interface, for example, a remote second process execution device ( 200") to register execution of the desired process/task automation script (see step S1210).

그러면, 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)는 자신과 직접 연동되는 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')로 제2 프로세스 실행 장치(200")의 프로세스/태스크 자동화 스크립트 실행을 명령하고(단계 S1220 참조), 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')는 이를 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)로 전달한다(단계 S1230 참조).Then, the third command processing unit 430 of the process control device 400 is the second process execution device 200" to the first command processing unit 230' of the first process execution device 200' that directly interoperates with itself. Command the process/task automation script execution of the process (see step S1220), and the first command processing unit 230' of the first process execution device 200' is the second command processing unit 340 of the process management device 300 It is transmitted to (see step S1230).

그러면, 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)는 제2 프로세스 실행 장치(200")의 제1 커멘드 처리부(230")로 프로세스/태스크 자동화 스크립트를 전송하면서 실행을 명령한다(단계 S1240 참조).Then, the second command processing unit 340 of the process management device 300 commands the execution while transmitting the process/task automation script to the first command processing unit 230" of the second process execution device 200" (step S1240).

그러면, 제2 프로세스 실행 장치(200")의 제1 커멘드 처리부(230")는 스크립트 실행부(210")와 연동하여 프로세스/태스크 자동화 스크립트를 실행하고(단계 S1250 참조), 그 실행결과를 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)로 전송한다(단계 S1260 참조).Then, the first command processing unit 230" of the second process execution device 200" works in conjunction with the script execution unit 210" to execute the process/task automation script (see step S1250), and processes the execution result. It is transmitted to the second command processing unit 340 of the management device 300 (see step S1260).

그러면, 프로세스 관리 장치(300)의 제2 커멘드 처리부(340)는 프로세스/태스크 자동화 스크립트 실행결과를 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')로 전송하고(단계 S1270 참조), 제1 프로세스 실행 장치(200')의 제1 커멘드 처리부(230')는 이를 프로세스 제어 장치(400)의 제3 커멘드 처리부(430)로 전송한다(단계 S1280 참조).Then, the second command processing unit 340 of the process management device 300 transmits the process/task automation script execution result to the first command processing unit 230' of the first process execution device 200' (see step S1270). ), the first command processing unit 230 ′ of the first process execution device 200 ′ transmits it to the third command processing unit 430 of the process control device 400 (see step S1280 ).

이에 따라, 본 발명은 사용자가 프로세스 제어 장치(400)와 직접 연동된 제1 프로세스 실행 장치(200')뿐만 아니라 프로세스 관리 장치(300)를 통해 원격의 제2 프로세스 실행 장치(200")에 대해서도 원하는 프로세스/태스크 자동화 스크립트의 실행을 명령할 수 있다.Accordingly, the present invention allows the user to remotely process the second process execution device 200 ″ through the process management device 300 as well as the first process execution device 200 ′ directly linked to the process control device 400. You can command the execution of the desired process/task automation script.

지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명의 기술적 사상이나 필수적 특징들을 변경하지 않고서 다른 구체적인 다양한 형태로 실시할 수 있는 것이므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다.So far, the present invention has been described in detail with reference to preferred embodiments, but the person skilled in the art to which the present invention belongs can be implemented in other specific various forms without changing the technical spirit or essential features of the present invention. It should be understood that the embodiments described in the above are illustrative in all respects and not restrictive.

그리고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 특정되는 것이며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태는 본 발명의 범위에 포함되는 것으로 해석되어야 한다.And, the scope of the present invention is specified by the claims, which will be described later, rather than by the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. It should be interpreted as.

Claims (16)

적어도 하나의 이벤트로 구성된 태스크 및 적어도 하나의 태스크로 구성된 프로세스를 설정하며, 상기 태스크를 수행하는 태스크 자동화 스크립트 및 상기 프로세스를 수행하는 프로세스 자동화 스크립트를 생성하는 적어도 하나의 프로세스 설정 장치;
상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여, 상기 태스크 자동화 스크립트 및 상기 프로세스 자동화 스크립트를 실행하는 적어도 하나의 프로세스 실행 장치;
상기 적어도 하나의 프로세스 실행 장치에 대해 상기 태스크 자동화 스크립트 및 상기 프로세스 자동화 스크립트의 실행을 관리하는 프로세스 관리 장치; 및
상기 적어도 하나의 프로세스 실행 장치와 연동되어 해당 프로세스 실행 장치의 프로세스 및 태스크 자동화 스크립트의 실행을 제어하는 적어도 하나의 프로세스 제어 장치를 포함하는 것을 특징으로 하는 프로세스 자동 처리 시스템.
At least one process setting device for setting a task consisting of at least one event and a process consisting of at least one task, and generating a task automation script for performing the task and a process automation script for performing the process;
At least one process execution device that executes at least one event constituting the task to execute the task automation script and the process automation script;
A process management device that manages execution of the task automation script and the process automation script for the at least one process execution device; And
And at least one process control device interlocked with the at least one process execution device and controlling execution of processes and task automation scripts of the process execution device.
제1항에 있어서,
상기 적어도 하나의 프로세스 제어 장치는 상기 적어도 하나의 프로세스 실행 장치와 각각 대응되고,
상기 프로세스 제어 장치의 커멘드 처리부는 상기 적어도 하나의 프로세스 실행 장치로 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트 실행을 명령하고, 상기 적어도 하나의 프로세스 실행 장치의 커멘드 처리부는 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 실행하는 것을 특징으로 하는 프로세스 자동 처리 시스템.
According to claim 1,
The at least one process control device is respectively associated with the at least one process execution device,
The command processing unit of the process control device commands the execution of the process automation script and the task automation script to the at least one process execution device, and the command processing unit of the at least one process execution device executes the process automation script and the task automation script Process automatic processing system, characterized in that.
제1항에 있어서,
상기 프로세스 제어 장치는,
상기 적어도 하나의 프로세스 실행 장치에서 처리되는 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 해당 프로세스 실행 장치에 제공하는 스크립트 관리부; 및
상기 적어도 하나의 프로세스 실행 장치의 각 커멘드 처리부로 상기 프로세스 자동화 스크립트 및 태스크 자동화 스크립트 실행을 명령하는 커멘드 처리부를 포함하는 것을 특징으로 하는 프로세스 자동 처리 시스템.
According to claim 1,
The process control device,
A script management unit that provides a process automation script and a task automation script processed by the at least one process execution device to the process execution device; And
And a command processing unit for instructing the execution of the process automation script and the task automation script to each command processing unit of the at least one process execution device.
제1항에 있어서,
상기 프로세스 관리 장치는 상기 적어도 하나의 프로세스 설정 장치에서 생성된 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 관리하고, 상기 프로세스 실행 장치로 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 전송하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
According to claim 1,
And the process management device manages the process automation script and the task automation script generated in the at least one process setting device, and transmits the process automation script and the task automation script to the process execution device. Process automation system.
제1항에 있어서,
상기 프로세스 설정 장치는,
하나 이상의 태스크로 구성된 프로세스를 설정할 수 있는 프로세스 설정부;
하나 이상의 이벤트로 구성된 태스크를 설정할 수 있는 태스크 설정부; 및
상기 프로세스를 수행하는 프로세스 자동화 스크립트 및 상기 태스크를 수행하는 태스크 자동화 스크립트를 생성하는 스크립트 생성부를 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
According to claim 1,
The process setting device,
A process setting unit capable of setting a process consisting of one or more tasks;
A task setting unit capable of setting a task composed of one or more events; And
And a script generation unit for generating a process automation script for performing the process and a task automation script for performing the task.
제5항에 있어서,
상기 프로세스 설정부는 사용자가 상기 프로세스를 구성하는 하나 이상의 태스크를 생성하여 태스크의 속성을 정의하고 실행순서를 결정할 수 있는 프로세스 에디터를 제공하고,
상기 태스크 설정부는 사용자가 상기 태스크를 구성하는 하나 이상의 이벤트를 생성하여 이벤트의 속성을 정의하고 실행순서를 결정할 수 있는 태스크 에디터를 제공하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 5,
The process setting unit provides a process editor that allows a user to create one or more tasks constituting the process to define task properties and determine an execution order,
The task setting unit provides a task editor for defining a property of an event and determining an execution order by generating one or more events constituting the task.
제5항에 있어서,
상기 프로세스 설정부는 사용자가 상기 프로세스를 실행하는 행동 패턴을 레코딩하여 상기 프로세스를 구성하는 하나 이상의 태스크의 속성 및 실행순서를 추출하고,
상기 태스크 설정부는 사용자가 상기 태스크를 실행하는 행동 패턴을 레코딩하여 상기 태스크를 구성하는 하나 이상의 이벤트의 속성 및 실행순서를 추출하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 5,
The process setting unit extracts an attribute and an execution order of one or more tasks constituting the process by recording a behavior pattern in which the user executes the process,
The task setting unit is a robot process automation system, characterized in that by extracting an attribute and an execution order of one or more events constituting the task by recording a behavior pattern of a user executing the task.
제5항 내지 제7항 중 어느 한 항에 있어서,
상기 스크립트 생성부는 상기 하나 이상의 이벤트를 실행하는 이벤트 실행부와 연동하여 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 디버깅하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method according to any one of claims 5 to 7,
The script generator is a robot process automation system, characterized in that the process automation script and the task automation script are debugged in conjunction with an event execution unit that executes the one or more events.
제5항 내지 제7항 중 어느 한 항에 있어서,
상기 태스크를 구성하는 하나 이상의 이벤트 중 순차적으로 실행되는 복수개의 이벤트는 하나의 통합 이벤트로 설정 가능한 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method according to any one of claims 5 to 7,
A robot process automation system, characterized in that a plurality of events sequentially executed among one or more events constituting the task can be set as one integrated event.
제1항에 있어서,
상기 프로세스 실행 장치는,
하나 이상의 태스크로 구성된 프로세스를 수행하는 프로세스 자동화 스크립트 및 하나 이상의 이벤트로 구성된 태스크를 수행하는 태스크 자동화 스크립트 중 적어도 하나의 스크립트를 실행하는 스크립트 실행부; 및
상기 스크립트 실행부의 이벤트 실행 요청에 따라, 이미지 오브젝트 검출 이벤트, 웹 오브젝트 검출 이벤트, UI(User Interface) 개체 검출 이벤트, OCR(Optical Character Reader) 검출 이벤트, 시스템 이벤트, 및 사용자 이벤트 중 적어도 하나의 이벤트를 실행하는 이벤트 실행부를 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
According to claim 1,
The process execution device,
A script execution unit for executing at least one of a process automation script performing a process consisting of one or more tasks and a task automation script performing a task consisting of one or more events; And
According to the event execution request of the script execution unit, at least one of an image object detection event, a web object detection event, a UI (User Interface) object detection event, an OCR (Optical Character Reader) detection event, a system event, and a user event is generated. A robot process automation system comprising an event execution unit to execute.
제10항에 있어서,
상기 프로세스 실행 장치는,
상기 스크립트 실행부에게 해당 프로세스 자동화 스크립트 및 태스크 자동화 스크립트의 실행을 요청하고, 상기 스크립트 실행부로부터 실행결과를 수신하는 커멘드 처리부를 더 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 10,
The process execution device,
And a command processing unit for requesting execution of the corresponding process automation script and task automation script from the script execution unit, and receiving an execution result from the script execution unit.
제10항 또는 제11항에 있어서,
상기 이벤트 실행부는,
이미지 오브젝트 검출 이벤트를 실행하는 이미지 오브젝트 관리자,
웹 오브젝트 검출 이벤트를 실행하는 웹 오브젝트 관리자,
UI 개체 검출 이벤트를 실행하는 UI 개체 관리자,
OCR 검출 이벤트를 실행하는 OCR 관리자,
시스템 이벤트를 실행하는 시스템 이벤트 관리자, 및
사용자 이벤트를 실행하는 사용자 이벤트 관리자 중 적어도 하나의 관리자를 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 10 or 11,
The event execution unit,
An image object manager that fires image object detection events,
A web object manager that fires web object detection events,
UI object manager that fires UI object detection events,
OCR manager that triggers OCR detection events,
A system event manager that fires system events, and
A robot process automation system comprising at least one manager of a user event manager executing a user event.
제10항 또는 제11항에 있어서,
상기 이벤트 실행부는 문서 이미지에 대한 영역 위치 정보 및 영역 속성 정보를 포함하는 템플릿 정보에 기초하여 OCR 검출 이벤트를 실행하는 OCR 관리자를 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 10 or 11,
The event execution unit includes an OCR manager that executes an OCR detection event based on template information including area location information and area attribute information for a document image.
제1항에 있어서,
상기 프로세스 관리 장치는,
하나 이상의 프로세스 실행 장치를 관리하는 장치 관리부;
하나 이상의 태스크로 구성된 프로세스를 수행하는 프로세스 자동화 스크립트 및 하나 이상의 이벤트로 구성된 태스크를 수행하는 태스크 자동화 스크립트를 관리하는 스크립트 관리부; 및
상기 하나 이상의 프로세스 실행 장치로 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트를 전송하고 실행을 명령하는 커멘드 처리부를 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
According to claim 1,
The process management device,
A device manager that manages one or more process execution devices;
A script management unit managing a process automation script performing a process consisting of one or more tasks and a task automation script performing a task consisting of one or more events; And
And a command processing unit for transmitting the process automation script and the task automation script to the one or more process execution devices and instructing execution.
제14항에 있어서,
상기 프로세스 관리 장치는,
상기 하나 이상의 프로세스 실행 장치에 대해 상기 프로세스 자동화 스크립트 및 상기 태스크 자동화 스크립트의 실행을 스케줄링하는 스케줄러를 더 포함하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 14,
The process management device,
And a scheduler that schedules the execution of the process automation script and the task automation script for the one or more process execution devices.
제14항 또는 제15항에 있어서,
상기 커멘드 처리부는 제1 프로세스 실행 장치로부터 소정의 프로세스 자동화 스크립트 및 태스크 자동화 스크립트의 실행을 요청받으면, 제2 프로세스 실행 장치로 상기 소정의 프로세스 자동화 스크립트 및 태스크 자동화 스크립트를 전송하고 실행을 명령하는 것을 특징으로 하는 로봇 프로세스 자동화 시스템.
The method of claim 14 or 15,
When the command processing unit is requested to execute a predetermined process automation script and task automation script from the first process execution device, the command processing unit transmits the predetermined process automation script and task automation script to the second process execution device and commands execution. Robot process automation system.
KR1020180173740A 2018-12-31 2018-12-31 System and Method for Robot Process Automation KR102160344B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173740A KR102160344B1 (en) 2018-12-31 2018-12-31 System and Method for Robot Process Automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173740A KR102160344B1 (en) 2018-12-31 2018-12-31 System and Method for Robot Process Automation

Publications (2)

Publication Number Publication Date
KR20200082801A true KR20200082801A (en) 2020-07-08
KR102160344B1 KR102160344B1 (en) 2020-09-25

Family

ID=71600772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173740A KR102160344B1 (en) 2018-12-31 2018-12-31 System and Method for Robot Process Automation

Country Status (1)

Country Link
KR (1) KR102160344B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102307471B1 (en) * 2020-07-31 2021-09-30 시와소프트 주식회사 Robotic process automation system
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
WO2022035449A1 (en) * 2020-08-11 2022-02-17 UiPath, Inc. Graphical element detection using a combination of user interface descriptor attributes from two or more graphical element detection techniques
KR102366664B1 (en) * 2020-08-19 2022-02-23 주식회사 위칸소프트 System and method for providing customized information using RPA robot
US11281362B1 (en) 2020-09-08 2022-03-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
KR102384897B1 (en) 2022-02-12 2022-04-08 남창열 Automation system utilizing articulated robot
WO2022146540A1 (en) * 2020-12-31 2022-07-07 UiPath, Inc. Form extractor
KR102418739B1 (en) * 2022-03-29 2022-07-08 주식회사 시메이션 Robotic automation method and computing device for executing the method
WO2022245744A1 (en) * 2021-05-17 2022-11-24 House of Design LLC Systems and methods to accomplish a physical process

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220049296A (en) 2020-10-14 2022-04-21 삼성에스디에스 주식회사 Method and apparatus for generating workflow using log data
KR20220056396A (en) 2020-10-28 2022-05-06 삼성에스디에스 주식회사 System and method for auto-completing roboting processing automation based on history
KR20230062243A (en) 2021-10-29 2023-05-09 삼성에스디에스 주식회사 Apparatus for extracting work process using log data and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040105582A (en) * 2003-06-06 2004-12-16 마이크로소프트 코포레이션 Automatic task generator method and system
KR101009384B1 (en) * 2003-02-18 2011-01-19 도쿄엘렉트론가부시키가이샤 Method for automatic configuration of a processing system
KR101915802B1 (en) 2017-06-21 2018-11-06 넷마블 주식회사 Method and apparatus for detecting macro program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101009384B1 (en) * 2003-02-18 2011-01-19 도쿄엘렉트론가부시키가이샤 Method for automatic configuration of a processing system
KR20040105582A (en) * 2003-06-06 2004-12-16 마이크로소프트 코포레이션 Automatic task generator method and system
KR101915802B1 (en) 2017-06-21 2018-11-06 넷마블 주식회사 Method and apparatus for detecting macro program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102307471B1 (en) * 2020-07-31 2021-09-30 시와소프트 주식회사 Robotic process automation system
WO2022035449A1 (en) * 2020-08-11 2022-02-17 UiPath, Inc. Graphical element detection using a combination of user interface descriptor attributes from two or more graphical element detection techniques
US11301268B2 (en) 2020-08-11 2022-04-12 UiPath, Inc. Graphical element detection using a combination of user interface descriptor attributes from two or more graphical element detection techniques
KR102366664B1 (en) * 2020-08-19 2022-02-23 주식회사 위칸소프트 System and method for providing customized information using RPA robot
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
US11281362B1 (en) 2020-09-08 2022-03-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
US11507259B2 (en) 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
WO2022146540A1 (en) * 2020-12-31 2022-07-07 UiPath, Inc. Form extractor
WO2022245744A1 (en) * 2021-05-17 2022-11-24 House of Design LLC Systems and methods to accomplish a physical process
KR102384897B1 (en) 2022-02-12 2022-04-08 남창열 Automation system utilizing articulated robot
KR102418739B1 (en) * 2022-03-29 2022-07-08 주식회사 시메이션 Robotic automation method and computing device for executing the method

Also Published As

Publication number Publication date
KR102160344B1 (en) 2020-09-25

Similar Documents

Publication Publication Date Title
KR102160344B1 (en) System and Method for Robot Process Automation
US11648686B2 (en) Artificial intelligence-based process identification, extraction, and automation for robotic process automation
US10354225B2 (en) Method and system for process automation in computing
US9063808B2 (en) Deploying a package for a software application
CN109710243B (en) Block chain development method, device, server and medium based on visual platform
KR102254850B1 (en) Process Editor Apparatus and Robot Process Automation including thereof
US20140307969A1 (en) Automated application interaction using a virtual operator
US20210073108A1 (en) Virtualized device-based test system and method thereof
US20080282160A1 (en) Designated screen capturing and automatic image exporting
KR102446521B1 (en) Screen Response Verification of Robot Execution for Robotic Process Automation
KR102196110B1 (en) Robot Process Automation System including Optical Character Recognition
US10635574B1 (en) Screenshot testing of applications on windows desktop environments
CN115952966A (en) Automatic data transfer between source and target using semantic artificial intelligence for robotic process automation
JP7380714B2 (en) Operation log acquisition device and operation log acquisition method
US20230236851A1 (en) Multi-session automation windows for robotic process automation using same credentials
JP2023152695A (en) System and method for using browser to design robotic process automation (rpa) robot
KR102299657B1 (en) Key Input Virtualization System for Robot Process Automation
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
JP2011086201A (en) Test program, test method, and test device
KR102439574B1 (en) System for Searching Object Based on Image Search for Robot Process Automation
US20210176342A1 (en) Secure remote workspace
KR20210082622A (en) System for Searching Object for Robot Process Automation
JP6221869B2 (en) Screen transition control method, screen transition control program, and screen transition control device
US20240012387A1 (en) Live streaming and recording of remotely executed robotic process automation workflows
US20230339102A1 (en) System, apparatus, and method for deploying robotic process automations across multiple operating systems

Legal Events

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