KR102299657B1 - Key Input Virtualization System for Robot Process Automation - Google Patents
Key Input Virtualization System for Robot Process Automation Download PDFInfo
- Publication number
- KR102299657B1 KR102299657B1 KR1020190171015A KR20190171015A KR102299657B1 KR 102299657 B1 KR102299657 B1 KR 102299657B1 KR 1020190171015 A KR1020190171015 A KR 1020190171015A KR 20190171015 A KR20190171015 A KR 20190171015A KR 102299657 B1 KR102299657 B1 KR 102299657B1
- Authority
- KR
- South Korea
- Prior art keywords
- script
- key input
- automation
- unit
- character
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
실제 키보드 입력이 요구되는 프로그램에서 로봇 프로세서 자동화 적용을 위해 문자열 데이터의 키 입력을 가상화할 수 있는 본 발명의 일 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 로봇 프로세스 자동화(Robot Process Automation)를 위해 생성된 자동화 스크립트(Script)를 실행하는 스크립트 실행부; 상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 각 문자의 키(Key)에 매핑되는 실제 키보드 상에서의 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및 상기 가상 키 입력 신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to an aspect of the present invention that can virtualize key input of string data for application of robot processor automation in a program requiring actual keyboard input is a robot process automation (Robot Process Automation) Script execution unit that executes the generated automation script (Script); a virtual key input signal generator for generating a virtual key input signal based on a key code on a real keyboard mapped to a key of each character constituting the character string data included in the automation script; and a keyboard driving driver generating an actual key input message for input of the character string data based on the virtual key input signal.
Description
본 발명은 로봇 프로세스 자동화에 관한 것으로서, 보다 구체적으로 로봇 프로세스 자동화를 위한 데이터 입력에 관한 것이다.The present invention relates to robotic process automation, and more particularly, to data input for robotic process automation.
정보통신 기술이 발달함에 따라 컴퓨터를 사용하여 처리하는 업무(이하 "컴퓨팅 업무"라 함)가 크게 증가하게 되었으며, 컴퓨터를 사용하여 일정한 패턴으로 반복 처리하는 업무도 증가하게 되었다.With the development of information and communication technology, the number of tasks performed using a computer (hereinafter referred to as "computing task") has increased significantly, and the number of tasks that are repeatedly processed in a certain pattern using a computer has also increased.
이에 따라, 반복적으로 수행되는 정형화된 업무를 사용자의 관여 없이 자동으로 처리해 줄 수 있는 로봇 프로세스 자동화(Robot Process Automation: RPA, 이하, 'RPA'라 함) 솔루션이 제안된 바 있다. Accordingly, a robot process automation (RPA, hereinafter referred to as 'RPA') solution that can automatically process routinely performed standardized tasks without user involvement has been proposed.
RPA는 사용자의 업무 패턴을 녹화하여 자동화 자동화 스크립트(Script)로 저장 후 재생함으로써 사람의 업무를 대신하게 하는 솔루션으로서, 메일 클라이언트 등 여러 가지 업무용 소프트웨어가 설치된 사용자의 컴퓨터에 로봇(소프트웨어)를 설치하여, 반복적이거나 정형화된 업무를 자동화 자동화 스크립트로 작성하여 재실행하는 소프트웨어를 의미한다.RPA is a solution that records a user's work pattern, stores it as an automation automation script (Script), and plays it back to replace a human's work. , refers to software that re-executes repetitive or standardized tasks as automated automation scripts.
일반적인 RPA 솔루션에서는 업무 자동화를 위해 사용자의 키 입력을 가상으로 대신해 주는 키보드 가상화가 매우 중요하다. 이를 위해, RPA 솔루션에서는 사용자의 키 입력을 자동화하기 위해 운영체제에서 제공하는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface: API, 이하 'API'라 함)를 통한 키보드 가상화 방법을 이용한다. In a typical RPA solution, keyboard virtualization that virtually replaces the user's keystrokes for task automation is very important. To this end, the RPA solution uses a keyboard virtualization method through an application programming interface (API, hereinafter referred to as 'API') provided by the operating system to automate the user's key input.
하지만 운영체제가 제공하는 API를 사용하는 일반적인 키보드 가상화 방법은 부정한 사용을 막기 위해 실제 키보드 입력을 요구하는 프로그램, 예컨대 은행 프로그램, ERP, 업무 시스템 등에서는 적용할 수 없어, 이러한 프로그램에서는 RPA 솔루션의 이용이 제한된다는 문제점이 있다.However, the general keyboard virtualization method using the API provided by the operating system cannot be applied to programs that require actual keyboard input to prevent illegal use, such as banking programs, ERP, business systems, etc. There is a problem with being limited.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 실제 키보드 입력이 요구되는 프로그램에서 로봇 프로세서 자동화 적용을 위해 문자열 데이터의 키 입력을 가상화할 수 있는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템을 제공하는 것을 그 기술적 과제로 한다.The present invention is to solve the above problems, and to provide a key input virtualization system for robot processor automation capable of virtualizing key input of character string data for robot processor automation application in a program requiring actual keyboard input. make it a technical task.
또한, 본 발명은 로봇 프로세스 자동화를 위한 자동화 스크립트의 수정 없이도 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력과 동일한 형태의 키 입력 신호로 가상화할 수 있는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템을 제공하는 것을 다른 기술적 과제로 한다.In addition, the present invention provides a key input virtualization system for robot processor automation that can virtualize the string data included in the automation script into a key input signal in the same form as the actual keyboard input without modification of the automation script for robot process automation. other technical tasks.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 로봇 프로세스 자동화(Robot Process Automation)를 위해 생성된 자동화 스크립트(Script)를 실행하는 스크립트 실행부; 상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 문자 별로 실제 키보드 상에서 각 문자의 문자키(Key)에 매핑되는 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및 상기 가상 키 입력 신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to an aspect of the present invention for achieving the above object includes: a script execution unit that executes an automation script generated for robot process automation; a virtual key input signal generator for generating a virtual key input signal based on a key code mapped to a character key of each character on a real keyboard for each character constituting the character string data included in the automation script; and a keyboard driving driver generating an actual key input message for input of the character string data based on the virtual key input signal.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템은, 적어도 하나의 이벤트로 구성된 태스크 및 적어도 하나의 태스크로 구성된 프로세스를 설정하며, 상기 태스크 및 상기 프로세스 수행을 위한 자동화 스크립트를 생성하는 적어도 하나의 스크립트 생성부; 상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여 상기 자동화 스크립트를 실행하는 적어도 하나의 스크립트 실행부; 상기 자동화 스크립트의 실행에 따라 활성화된 객체에 입력될 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성하는 적어도 하나의 키 입력 가상화부; 및 상기 적어도 하나의 스크립트 실행부와 연동되어 상기 자동화 스크립트의 실행을 제어하는 적어도 하나의 제어부를 포함하는 것을 특징으로 한다.A key input virtualization system for robot processor automation according to another aspect of the present invention for achieving the above object sets a task composed of at least one event and a process composed of at least one task, and performs the task and the process At least one script generator for generating an automation script for; at least one script execution unit for executing the automation script by executing at least one event constituting the task; at least one key input virtualization unit for generating a virtual key input signal from string data to be input to an object activated according to the execution of the automation script, and generating an actual key input message based on the generated virtual key input signal; and at least one control unit interworking with the at least one script execution unit to control execution of the automated script.
상술한 바와 같이 본 발명에 따르면, 로봇 프로세스 자동화를 위한 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력에 의한 키 입력신호와 동일한 형태의 신호로 가상화할 수 있기 때문에, 실제 키보드 입력이 요구되는 프로그램에서도 로봇 프로세스 자동화를 적용할 수 있어 로봇 프로세스 자동화의 적용범위를 확장시킬 수 있다는 효과가 있다.As described above, according to the present invention, since character string data included in an automation script for robot process automation can be virtualized into a signal of the same type as a key input signal by an actual keyboard input, even in a program requiring an actual keyboard input As robot process automation can be applied, it has the effect of expanding the scope of application of robot process automation.
또한, 본 발명에 따르면 로봇 프로세스 자동화를 위한 자동화 스크립트의 수정 없이, 자동화 스크립트에 포함된 문자열 데이터를 실제 키보드 입력에 의한 키 입력신호와 동일한 형태의 신호로 가상화할 수 있기 때문에 사용자의 편의성이 증대된다는 효과가 있다.In addition, according to the present invention, without modification of the automation script for robot process automation, the string data included in the automation script can be virtualized into a signal of the same type as the key input signal by the actual keyboard input, so that the user's convenience is increased. It works.
도 1은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 보여주는 블록도이다.
도 2는 도 1에 도시된 키 입력 가상화부의 구성을 보여주는 블록도이다.
도 3은 가상 키 입력신호의 데이터 구조를 보여주는 도면이다.
도 4는 소문자 "a"의 입력을 위한 가상 키 입력신호를 보여주는 도면이다.
도 5는 대문자 "S"의 입력을 위한 가상 키 입력신호를 보여주는 도면이다.
도 6은 문자열 데이터 "start"에 대한 가상 키 입력신호들이 큐에 저장된 예를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 보여주는 블록도이다.1 is a block diagram showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the configuration of the key input virtualization unit shown in FIG. 1 .
3 is a diagram showing a data structure of a virtual key input signal.
4 is a diagram illustrating a virtual key input signal for inputting a lowercase letter “a”.
5 is a diagram illustrating a virtual key input signal for input of a capital letter “S”.
6 is a diagram illustrating an example in which virtual key input signals for character string data “start” are stored in a queue.
7 is a block diagram showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention.
명세서 전체에 걸쳐서 동일한 참조번호들은 실질적으로 동일한 구성요소들을 의미한다. 이하의 설명에서, 본 발명의 핵심 구성과 관련이 없는 경우 및 본 발명의 기술분야에 공지된 구성과 기능에 대한 상세한 설명은 생략될 수 있다. 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Like reference numerals refer to substantially identical elements throughout. In the following description, detailed descriptions of configurations and functions known in the art and cases not related to the core configuration of the present invention may be omitted. The meaning of the terms described herein should be understood as follows.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.The shapes, sizes, proportions, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are illustrative and the present invention is not limited to the illustrated matters. Like reference numerals refer to like elements throughout. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
본 명세서에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.When 'including', 'having', 'consisting', etc. mentioned in this specification are used, other parts may be added unless 'only' is used. When a component is expressed in the singular, the case in which the plural is included is included unless otherwise explicitly stated.
구성 요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, it is interpreted as including an error range even if there is no separate explicit description.
위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치할 수도 있다.In the case of a description of the positional relationship, for example, when the positional relationship of two parts is described as 'on', 'on', 'on', 'beside', etc., 'right' Alternatively, one or more other parts may be positioned between the two parts unless 'directly' is used.
시간 관계에 대한 설명일 경우, 예를 들어, '~후에', '~에 이어서', '~다음에', '~전에' 등으로 시간적 선후 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 연속적이지 않은 경우도 포함할 수 있다.In the case of a description of a temporal relationship, for example, 'immediately' or 'directly' when a temporal relationship is described with 'after', 'following', 'after', 'before', etc. It may include cases that are not continuous unless this is used.
제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Accordingly, the first component mentioned below may be the second component within the spirit of the present invention.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미할 수 있다. The term “at least one” should be understood to include all possible combinations from one or more related items. For example, the meaning of “at least one of the first, second, and third items” means each of the first, second, or third items as well as two of the first, second and third items. It may mean a combination of all items that can be presented from more than one.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하고, 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, technically various interlocking and driving are possible, and each of the embodiments may be implemented independently of each other or may be implemented together in a related relationship. may be
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 구체적으로 설명한다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 개략적으로 보여주는 블록도이다. 도 1에 도시된 바와 같이, 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)은 스크립트 생성부(110), 스크립트 실행부(120), 키 입력 가상화부(130), 및 객체 활성화부(140)를 포함한다.1 is a block diagram schematically showing the configuration of a key input virtualization system for robot processor automation according to an embodiment of the present invention. As shown in FIG. 1 , the key
스크립트 생성부(110)는 로봇 프로세스 자동화를 위한 자동화 스크립트(Script)를 생성한다. 자동화 스크립트란 사용자가 수행하는 반복적이거나 정형화된 업무를 로봇이 대신하여 자동으로 수행할 수 있도록 하기 위해 작성되는 문서를 의미한다. 로봇에 의해 자동화 스크립트가 실행됨으로써, 사용자가 수행해야 하는 업무가 사용자가 수행하는 것과 동일하게 재현될 수 있게 된다. 일 실시예에 있어서, 스크립트 생성부(110)는 자동화 스크립트 생성을 위해 사용자에게 스크립터 생성을 위한 툴(예컨대, 자동화 스크립트 에디터)을 제공하고, 사용자는 스크립터 에디터를 통해 프로세서(Process), 태스크(Task), 및 이벤트(Event) 중 적어도 하나를 구체적으로 설정한 후 디버깅(Debugging)을 수행함으로써 자동화 스크립트를 생성할 수 있게 된다. The
일 실시예에 있어서, 자동화 스크립트를 통해 설정되는 이벤트(Event)란 사용자가 특정 객체(Object)에 대해 임의의 동작(Action)을 하거나 또는 사용자의 의지와 관계없이 운영체제(Operating System: OS)가 발생시키는 사건을 의미하는 것으로서, 윈도우 오브젝트 검출, 웹 오브젝트 검출, UI(User Interface) 개체 검출, 이미지 검출, OCR(Optical Character Reader) 검출, 키(Key) 입력, 또는 마우스 입력 등을 포함할 수 있다.In one embodiment, an event set through an automation script means that a user performs an arbitrary action on a specific object or an operating system (OS) is generated regardless of the user's will. As a meaning of a trigger event, it may include window object detection, web object detection, UI (User Interface) object detection, image detection, OCR (Optical Character Reader) detection, key input, or mouse input.
또한, 자동화 스크립트를 통해 설정되는 태스크(Task)란 하나 이상의 이벤트로 구성된 사용자의 단위 실행동작을 의미하고, 프로세스(Process)란 하나 이상의 태스크로 구성된 사용자의 단위 컴퓨팅 업무를 의미한다.In addition, a task set through an automation script means a unit execution action of a user composed of one or more events, and a process means a unit computing task of a user composed of one or more tasks.
이를 위해, 스크립트 생성부(110)는 도 1에 도시된 바와 같이, 프로세스 설정부(112), 태스크 설정부(114), 및 스크립트 제작부(116)를 포함할 수 있다.To this end, the
프로세스 설정부(112)는 사용자에게 프로세스를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 프로세스 설정부(112)는 사용자에게 프로세스를 설정하고 편집할 수 있는 프로세스 에디터를 제공하고, 사용자는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 프로세스를 설정한다. 이를 위해, 프로세스 에디터는 하나 이상의 태스크의 생성을 관리하는 태스크 생성 관리자, 하나 이상의 태스크의 속성을 관리하는 태스크 속성 관리자, 하나 이상의 태스크의 상호 연결을 관리하는 태스크 연결관리자 등을 포함할 수 있다.The
이러한 실시예에 따르는 경우 사용자는 프로세스 설정부(112)에 의해 제공되는 프로세스 에디터를 통해 하나 이상의 태스크를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 일 실시예에 있어서, 태스크의 속성은 태스크의 명칭, 입력자료, 입력방법, 출력자료, 출력방법, 처리시간, 및 지연시간 중 적어도 하나가 될 수 있으며, 실행조건은 기 설정된 선행 태스크가 종료되면 실행, 기 설정된 입력자료가 수신되면 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나를 포함할 수 있다. 실행순서는 각각의 태스크가 연속적으로 입력 및 출력 관계가 되어 복수개의 태스크가 상호 연결됨으로써 하나의 프로세스가 생성될 수 있다.According to this embodiment, the user creates one or more tasks through the process editor provided by the
태스크 설정부(114)는 사용자에게 태스크를 설정하고 편집할 수 있는 기능을 제공한다. 예컨대, 태스크 설정부(114)는 사용자에게 태스크를 설정하고 편집할 수 있는 태스크 에디터를 제공하고, 사용자는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하거나 선택하고 이에 대한 속성, 실행조건, 실행순서 등을 결정하여 태스크를 설정한다. 이를 위해, 태스크 에디터는 하나 이상의 이벤트의 생성을 관리하는 이벤트 생성 관리자, 하나 이상의 이벤트의 속성을 관리하는 이벤트 속성 관리자, 하나 이상의 이벤트의 상호 연결을 관리하는 이벤트 연결 관리자 등을 포함할 수 있다. The
이러한 실시예에 따르는 경우, 사용자는 태스크 설정부(114)에 의해 제공되는 태스크 에디터를 통해 하나 이상의 이벤트를 생성하고 이들의 속성, 실행조건, 실행순서 등을 설정한다. 일 실시예에 있어서, 이벤트의 속성은 이벤트의 명칭, 대상(예; 텍스트, 이미지, 오브젝트, 파일), 실행방법(예; 오브젝트 검출, 키 입력, 마우스 입력), 실행결과(예; 단순 실행, 텍스트 저장, 이미지 저장, 파일 생성), 및 실행시간 중 적어도 하나를 포함할 수 있고, 실행조건은 기 설정된 선행 이벤트가 종료되면 실행, 기 설정된 선행 이벤트가 종료되면 일정 시간 경과 후 실행, 및 기 설정된 실행시각에 실행 중 적어도 하나를 포함할 수 있다. 실행순서는 각각의 이벤트가 연속적으로 입력 및 출력 관계가 되어 복수개의 이벤트가 상호 연결됨으로써 하나의 태스크가 생성될 수 있다.According to this embodiment, the user creates one or more events through the task editor provided by the
일 실시예에 있어서, 상술한 프로세스 설정부(112)와 태스크 설정부(114)는 사용자가 프로세스와 태스크를 실행하는 행동 패턴을 레코딩하여 프로세스 레코딩 자료와 태스크 레코딩 자료(참고로, 컴퓨팅 환경 정보가 반영됨)를 생성하고, 프로세스/태스크 레코딩 자료에 기초하여 프로세스와 태스크의 속성, 실행조건, 실행순서 등을 추출할 수 있다.In one embodiment, the above-described
스크립트 제작부(116)는 사용자가 프로세스 설정부(112) 및 태스크 설정부(114)를 통해 설정한 프로세스와 태스크가 실제 자동으로 실행될 수 있도록 자동화 스크립트를 제작한다. 예컨대, 스크립트 제작부(116)는 프로세스 설정부(112)에서 설정된 프로세스를 수행하는 프로세스 자동화 스크립트를 제작하고, 마찬가지로 태스크 설정부(114)에서 설정된 태스크를 수행하는 태스크 자동화 스크립트를 제작한다. 그리고, 스크립트 제작부(116)는 스크립트 실행부(120)와 연동하여 태스크를 구성하는 하나 이상의 이벤트가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅(Debugging)하고, 마찬가지로 프로세스를 구성하는 하나 이상의 태스크가 실제 실행순서대로 정상적으로 동작할 수 있는지 검증하여 디버깅한다.The
스크립트 제작부(116)는 이와 같이 생성된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 실제 실행을 위해 스크립트 실행부(120)로 전송하고, 추후 재사용 및 관리를 위해 제작된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 저장할 수 있다.The
상술한 바와 같은 스크립트 생성부(110)는 생성된 자동화 스크립트를 스크립트 실행부(120)로 전송함으로써 스크립트 실행부(120)에 의해 자동화 스크립트가 자동으로 실행될 수 있도록 한다.As described above, the
스크립트 실행부(120)는 스크립트 생성부(110)에 의해 생성된 자동화 스크립트를 실제로 실행함으로써 사용자의 컴퓨팅 업무를 자동으로 처리한다. 구체적으로, 스크립트 실행부(120)는 스크립트 생성부(110)로부터 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 수신하고, 수신된 프로세스 자동화 스크립트 또는 태스크 자동화 스크립트를 해석하여 각각의 이벤트, 태스크, 프로세스에 대해 속성, 실행조건, 우선순위 등을 판단하고 실행순서를 스케쥴링한다. 또한, 스크립트 실행부(120)는 각각의 이벤트들을 실행순서에 따라 순차적으로 실행함으로써 태스크를 실행하고, 또한 각각의 태스크들을 실행순서에 따라 실행함으로써 프로세스를 실행한다.The
키 입력 가상화부(130)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함되어 있는 문자열 데이터를 자동화 스크립트 실행에 따라 활성화된 객체에 입력하기 위해 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성한다.The key
본 발명에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)이 키 입력 가상화부(130)를 포함하는 이유는, 로봇 프로세스 자동화를 위해서는 사용자의 키(Key) 입력을 가상으로 수행하는 가상 키보드가 요구되고, 은행 또는 ERP 등의 업무수행 자동화를 위해서는 실제 키보드 입력의 감지가 필요한데 기존의 가상화 키보드는 실제 키보드 입력과 동일한 신호를 생성할 수 없어 은행 또는 ERP 등의 업무에 대해서는 로봇 프로세스 자동화를 적용할 수 없기 때문이다. 따라서, 본 발명에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(100)은 실제 키보드 없이도 실제 키보드 입력과 동일한 신호를 생성하기 위해 키 입력 가상화부(130)를 포함한다.The reason that the key
이하, 본 발명에 따른 키 입력 가상화부(130)의 구성을 도 2를 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the key
도 2는 본 발명의 일 실시예에 따른 키 입력 가상화부의 구성을 보여주는 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 키 입력 가상화부(130)는 문자열 데이터 추출부(210), 가상 키 입력신호 생성부(220), 큐(230), 키 입력부(240), 및 키보드 구동 드라이버(250)를 포함한다.2 is a block diagram showing the configuration of a key input virtualization unit according to an embodiment of the present invention. As shown in FIG. 2 , the key
문자열 데이터 추출부(210)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트로부터 문자열 데이터를 추출한다. 문자열 데이터 추출부(210)는 추출된 문자열 데이터를 가상 키 입력신호 생성부(220)로 전달한다.The string
가상 키 입력신호 생성부(220)는 문자열 데이터 추출부(210)에 의해 추출된 문자열 데이터를 구성하는 각 문자 별로 가상 키 입력신호를 생성한다. 구체적으로, 가상 키 입력신호 생성부(220)는 문자열 데이터의 각 문자에 대응되는 키(Key) 별로 실제 키보드 상에서 해당 키에 매핑되는 키 코드를 이용하여 가상 키 입력신호를 생성한다.The virtual key input
이때, 문자열 데이터는 각 문자에 대응되는 키들의 입력 순서와 각 키의 다운(DOWN) 또는 업(UP) 상태로 표현될 수 있고, 하나의 문자에 해당하는 키 입력은 해당 키의 눌려짐(DOWN) 및 눌려짐 해제(UP) 과정이 순차적으로 발생하였을 때 완료된다. 따라서, 복수개의 문자로 구성된 문자열 데이터는 각 문자에 대응되는 키 별로 해당 키의 눌려짐 상태(DOWN) 및 눌려짐 해제 상태(UP)의 과정이 순차적으로 수행됨에 의해 입력될 수 있다. 따라서, 본 발명에 따른 가상 키 입력신호 생성부(220)는 문자열 데이터를 각 문자에 대응되는 키의 키 코드와 해당 키의 상태정보를 이용하여 가상 키 입력신호로 변환할 수 있다.In this case, the character string data may be expressed as an input sequence of keys corresponding to each character and a DOWN or UP state of each key, and a key input corresponding to one character is a DOWN of the corresponding key ) and the press release (UP) process is completed when sequentially occurring. Accordingly, string data composed of a plurality of characters may be input by sequentially performing processes of a depressed state (DOWN) and a depressed state (UP) of a corresponding key for each key corresponding to each character. Accordingly, the virtual key input
이를 위해, 가상 키 입력신호 생성부(220)는 문자열 데이터를 각 문자 단위로 분할한다. 일 예로, 자동화 스크립트에서 추출된 문장열 데이터가 "start"인 경우, 가상 키 입력신호 생성부(220)는 해당 문자열 데이터를 "s", "t", "a", "r", "t"와 같이 문자 단위로 분할한다.To this end, the virtual key input
이후, 가상 키 입력신호 생성부(220)는 분할된 각 문자 별로 실제 키보드 상에서 해당 문자에 대응되는 키에 매핑되어 있는 키 코드가 기록되는 제1 필드 및 해당 키의 다운(DOWN) 또는 업(UP) 상태를 나타내는 정보가 기록되는 제2 필드로 구성된 가상 키 입력신호를 생성한다. 여기서, 해당 키의 다운 정보란 해당 키가 사용자에 의해 눌려지는 것을 나타내고, 해당 키의 업 정보란 해당 키의 눌려짐이 해제되는 것을 나타내는 것으로서, 해당 키가 다운상태일 때에는 "1"이라는 값이 기록되고, 해당 키가 업 상태일 때에는 "0"이라는 값이 기록될 수 있다.Thereafter, the virtual key input
일 실시예에 있어서, 가상 키 입력신호 생성부(220)에 의해 생성된 가상 키 입력신호는 문자입력간 지연시간 정보가 기록되는 제3 필드를 추가로 포함할 수 있다. 본 발명에서 가상 키 입력신호가 문자입력간 지연시간 정보가 기록되는 제3 필드를 추가로 포함하는 이유는, 각 문자입력간 지연시간이 존재하지 않는 경우 인접한 문자들이 너무 빠른 시간 내에 입력될 수 있어, 이러한 경우 특정 프로그램에서는 문자입력이 정상적으로 처리되지 않을 수 있기 때문이다.In an embodiment, the virtual key input signal generated by the virtual key input
제1 내지 제3 필드로 구성된 가상 키 입력신호의 예가 도 3에 도시되어 있다. 도 3에 도시된 바와 같이, 제1 필드에는 각 문자에 대응되는 키의 키 코드가 기록되고, 제2 필드에는 해당 키의 다운 또는 업에 대한 상태정보가 기록되며, 제3 필드에는 문자 입력간 지연시간 정보가 기록됨을 알 수 있다.An example of a virtual key input signal composed of first to third fields is shown in FIG. 3 . As shown in FIG. 3 , the key code of the key corresponding to each character is recorded in the first field, status information on the down or up of the corresponding key is recorded in the second field, and the character input interval is recorded in the third field. It can be seen that delay time information is recorded.
일 예로, 입력할 문자가 "a'인 경우, 가상 키 입력신호 생성부(220)는 도 4에 도시된 바와 같이 제1 필드에는 "a"의 키 코드값인 "0x04"가 기록되고, 제2 필드에는 해당 키의 "DOWN"상태를 나태는 정보인 "1"이 기록되며, 제3 필드에는 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제1 가상 키 입력신호(410)를 생성한다. 도 4에 도시된 제1 가상 키 입력신호(410)는 "a"라는 문자에 대응되는 키가 눌려진 후 20ms 이후에 다음의 가상 키 입력신호가 입력되어야 함을 나타낸다. 또한, 가상 키 입력신호 생성부(220)는 도 4에 도시된 바와 같이 제1 필드에는 "a"의 키 코드값인 "0x04"가 기록되고, 제2 필드에는 해당 키의 "UP"상태를 나타내는 정보인 "0"이 기록되며, 제3 필드에는 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제2 가상 키 입력신호(420)를 생성한다. 도 4에 도시된 제2 가상 키 입력신호(420)는 "a"라는 문자에 대응되는 키의 눌려짐이 해제된 이후 20ms 이후에 다음의 가상 키 입력신호가 입력되어야 함을 나타낸다.For example, when the character to be input is “a”, the virtual key input
상술한 바와 같이 가상키 입력신호 생성부(220)는 하나의 문자 입력을 위해 2개의 가상 키 입력신호를 생성함을 알 수 있다.As described above, it can be seen that the virtual key input
상술한 실시예에 있어서는, 문자열 데이터 추출부(210)에 의해 추출된 문자열 데이터에 기능키(또는 특수키, 이하 '기능키'라 함) 입력이 포함되지 않은 경우를 설명하였다. 하지만, 대문자의 입력과 같이 문자열 데이터에 기능키 입력이 포함되어 있는 경우, 가상 키 입력신호 생성부(220)는 문자키 이외에 기능키에 대해서도 가상 키 입력신호를 추가로 생성한다. 이하, 문자열 데이터에 기능키 입력이 포함되어 있는 경우 가상 키 입력신호 생성부(220)가 가상 키 입력신호를 생성하는 방법에 대해 설명한다.In the above-described embodiment, a case has been described in which the input of a function key (or a special key, hereinafter referred to as a 'function key') is not included in the character string data extracted by the character string
먼저, 가상 키 입력신호 생성부(220)는 문자열 데이터를 문자 단위로 분할하고, 각 문자의 입력을 위해 기능키의 입력이 요구되는지 여부를 판단한다. 일 예로, 가상 키 입력신호 생성부(220)는 분할된 문자에 대문자가 포함되어 있는 경우 기능키의 입력이 요구되는 것으로 판단할 수 있다.First, the virtual key input
예컨대, 추출된 문자열 데이터가 "Start"인 경우 문자 "S"는 대문자이기 때문에 대문자 "S"의 입력을 위해서는 기능키인 "Shift"키와 문자키인 "s"키가 동시에 선택되어야 한다. 따라서, 가상 키 입력신호 생성부(220)는 해당 문자의 입력을 위해 기능키 입력이 요구되는 것으로 판단되면, 실제 키보드 상에서 기능키에 매핑되는 키 코드를 이용하여 기능키에 대한 가상 키 입력신호를 생성한 이후, 해당 문자에 대응되는 키에 대한 가상 키 입력신호를 생성한다.For example, when the extracted string data is "Start", since the letter "S" is a capital letter, the "Shift" key as the function key and the "s" key as the letter key must be simultaneously selected in order to input the capital letter "S". Accordingly, when it is determined that the function key input is required for input of the corresponding character, the virtual key input
구체적으로, 도 5에 도시된 바와 같이, "S"라는 대문자 입력이 요구되는 경우, 가상 키 입력신호 생성부(220)는 기능키인 "Shift"에 대한 키 코드값인 "0xE1", "Shift"키의 "DOWN"상태를 나타내는 정보인 "1", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제3 가상 키 입력신호(510)를 생성한다. 이후, 가상 키 입력신호 생성부(220)는 문자 키인 "s"에 대한 키 코드값인 '0x16", "s"의 "DOWN" 상태를 나타내는 정보인 "1", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제4 가상 키 입력신호(520), 문자 키인 "s"에 대한 키 코드값인 '0x16", "s"의 "UP" 상태를 나타내는 정보인 "0", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제5 가상 키 입력신호(530)를 생성한다. 마지막으로, 가상 키 입력신호 생성부(220)는 기능 키인 "Shift"에 대한 키 코드값인 "0xE1", "Shift"키의 "UP"상태를 나타내는 정보인 "0", 및 문자입력간 지연시간 정보로 "20ms"에 해당하는 "20"이 기록된 제6 가상 키 입력신호(540)를 생성함으로써, 문자 "S"에 대한 가상 키 입력신호 생성을 완료한다.Specifically, as shown in FIG. 5 , when a capital letter “S” is required to be input, the virtual key input
가상 키 입력신호 생성부(220)는 문자열 데이터를 구성하는 각 문자 별로 생성된 가상 키 입력신호를 큐(230)에 저장한다.The virtual key input
큐(230)에는 가상 키 입력신호 생성부(220)에 의해 생성된 가상 키 입력신호가 문자열 데이터를 구성하는 각 문자의 입력순서에 따라 순차적으로 삽입된다. 일 예로, 자동화 스크립트에서 추출된 문자열 데이터가 "start"인 경우, 도 6에 도시된 바와 같이, 큐(230)에는 "s"에 대한 2개의 가상 키 입력신호(600, 610), 't"에 대한 2개의 가상 키 입력신호(620, 630), "a"에 대한 2개의 가상 키 입력신호(640, 650), "r"에 대한 2개의 가상 키 입력신호(660, 670), 및 "t"에 대한 2개의 가상 키 입력신호(680, 690)가 문자 발생 순서에 따라 순차적으로 삽입됨을 알 수 있다.The virtual key input signal generated by the virtual key input
키 입력부(240)는 큐(230)로부터 가상 키 입력신호를 순차적으로 인출하여 키보드 구동 드라이버(250)로 입력한다. 즉, 키 입력부(240)는 큐(230)에 저장되어 있는 가상 키 입력신호를 키보드 구동 드라이버(250)로 입력함으로써, 키보드 구동 드라이버(250)가 실제 키보드로부터 키 입력신호가 입력된 것처럼 판단할 수 있도록 한다.The
이와 같이, 본 발명에 따르면 키 입력부(240)가 큐(230)에 저장된 가상 키 입력신호를 키보드 구동 드라이버(250)로 입력함에 따라, 키보드 구동 드라이버(250)가 해당 문자열 데이터가 실제 키보드를 이용하여 입력되었을 때와 동일한 형태의 키 입력 메시지를 생성할 수 있도록 한다.As described above, according to the present invention, as the
키 입력부(240)는 큐(230)에 저장된 모든 가상 키 입력신호의 인출이 완료되면 해당 문자열 데이터에 대한 입력이 완료된 것으로 판단할 수 있다.When the retrieval of all virtual key input signals stored in the
키보드 구동 드라이버(250)는 키 입력부(240)에 의해 입력되는 가상 키 입력 신호를 기초로 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성한다. 상술한 바와 같이, 키보드 구동 드라이버(250)는 키 입력부(240)로부터 입력되는 가상 키 입력신호를 사용자가 실제 키보드를 이용하여 입력한 것과 동일한 신호로 판단하기 때문에, 키보드 구동 드라이버(250)는 가상의 키 입력신호가 입력되면 이를 기초로 해당 키 입력신호에 대응되는 실제 키 입력 메시지를 생성하게 된다.The
키보드 구동 드라이버(250)는 생성한 실제 키 입력 메시지를 운영체제(OS)로 전달함으로써, 운영체제가 실제 키 입력 메시지를 자동화 스크립트 실행에 따라 활성화된 객체 내에 입력할 수 있도록 한다.The
이와 같이, 본 발명에 따르면 기존의 운영체제에서 지원되는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface: API) 기반으로 구현된 가상화 키보드와 달리, 실제 키보드의 구동을 지원하는 키보드 구동 드라이버(250)를 이용함으로써, 가상 키 입력신호로부터 실제 키보드 이용시 발생되는 키 입력 메시지를 생성할 수 있어, 실제 키보드 입력이 요구되는 프로그램에서도 로봇 프로세서 자동화를 적용할 수 있게 된다.As described above, according to the present invention, unlike the virtual keyboard implemented based on an application programming interface (API) supported by the existing operating system, by using the
또한, 본 발명에서는 키보드 구동 드라이버(250)를 사용하면서도 자동화 스크립트에 포함된 문자열 데이터가 키보드 구동 드라이버(250)로 전송하기 위한 가상 키 입력신호로 자동으로 변환되기 때문에, 별도의 자동화 스크립트 수정이 요구되지 않아 사용자의 편의성이 증대된다는 효과가 있다.In addition, in the present invention, since the character string data included in the automation script is automatically converted into a virtual key input signal for transmission to the
다시 도 1을 참조하면, 객체 활성화부(140)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함된 객체의 정보를 기초로 업무 수행 대상이 되는 컴퓨터 상에서 해당 객체를 탐지하고, 탐지된 객체를 컴퓨터 상에 활성화 시킨다. 객체 활성화부(140)에 의해 활성화된 객체 내에 상술한 키 입력 가상화부(130)에 의해 생성된 실제 키 입력 메시지가 입력됨으로써 해당 자동화 스크립트의 실행이 완성될 수 있게 된다.Referring back to FIG. 1 , the
이를 위해, 객체 활성화부(140)는 도 1에 도시된 바와 같이, 객체정보 획득부(142) 및 객체 탐지부(144)를 포함할 수 있다.To this end, the
객체정보 획득부(142)는 스크립트 실행부(120)에 의해 실행된 자동화 스크립트에 포함된 객체들 중 키보드 입력이 수행되어야 할 객체의 정보를 획득한다. 일 실시예에 있어서, 객체정보 획득부(142)는 키보드 입력이 수행되어야 할 객체의 정보로써 해당 객체의 2차원 좌표 정보를 획득할 수 있다. 객체정보 획득부(142)는 획득한 2차원 좌표정보를 객체 탐지부(144)로 전달한다.The object
객체 탐지부(144)는 객체정보 획득부(142)로부터 제공받은 객체의 2차원 좌표정보를 기초로 컴퓨터 상에서 키보드 입력이 수행되어야 할 객체를 탐지한다. 객체 탐지부(144)는 컴퓨터 상에서 2차원 좌표에 매핑되는 객체가 탐지되면 탐지된 객체를 컴퓨터 상에 활성화함으로써 키 입력 가상화부(130)에 의해 생성된 실제 키 입력 메시지가 해당 객체에 입력될 수 있도록 한다.The
상술한 실시예에 있어서 객체 탐지부(144)는 키보드 입력이 수행될 객체의 2차원 좌표정보를 기초로 해당 객체를 탐지하는 것으로 기재하였다. 하지만, 변형된 실시예에 있어서, 객체 탐지부(144)는 각 객체의 속성정보 및 계층적 소속정보(예컨대, 실행파일 이름, 타이틀바(Title Bar)의 텍스트, 윈도우 컨트롤의 종류 등)를 이용하여 산출된 고유값을 기초로 객체를 탐지할 수 있다. 구체적으로, 객체 탐지부(144)는 컴퓨터 상에서 해당 객체의 고유값과 동일한 고유값을 가지는 객체가 존재하는지 여부를 탐지하고, 해당 객체의 고유값과 동일한 고유값을 가지는 객체가 탐지되면 해당 객체를 활성화시킨다.In the above-described embodiment, it has been described that the
다른 예로, 객체 탐지부(144)는 각 객체의 이미지 정보를 이용하여 객체를 탐지할 수도 있다. 구체적으로, 객체 탐지부(144)는 컴퓨터 상에서 해당 객체에 대해 미리 획득된 이미지 정보와 동일한 이미지 정보를 갖는 객체가 존재하는지 여부를 탐지하고, 해당 객체의 이미지 정보와 동일한 이미지 정보를 갖는 객체가 탐지되면 해당 객체를 활성화시킨다.As another example, the
또 다른 예로, 객체의 이미지 정보를 기초로 동일한 객체의 존재여부를 판단할 때, 실제 동일한 객체임에도 해당 객체의 상태에 따라 객체의 이미지가 상이해 질 수 있기 때문에, 이러한 경우에도 동일한 객체를 정확하게 탐지할 수 있도록 하기 위해, 객체 탐지부는 각 객체 별로 미리 획득된 정형화된 변형 이미지를 추가로 이용하여 해당 객체와 동일한 객체를 탐지할 수 있다.As another example, when determining whether the same object exists based on the image information of the object, the image of the object may be different depending on the state of the object even though it is actually the same object, so even in this case, the same object is accurately detected In order to do this, the object detection unit may detect the same object as the corresponding object by additionally using the standardized deformed image obtained in advance for each object.
이를 위해, 본 발명에 따른 객체 활성화부(140)는 이미지 생성부(146)를 더 포함할 수 있다. 이미지 생성부(146)는 각 객체 별로 정형화된 변형 이미지를 생성한다. 일 실시예에 있어서, 이미지 생성부(146)에 의해 생성되는 정형화된 변형 이미지는, 해당 객체가 인에이블(Enable) 상태일 때의 이미지, 해당 객체가 디스에이블(Disable) 상태일 때의 이미지, 해당 객체가 눌려진(Pressed) 상태일 때의 이미지, 해당 객체가 선택된(Selected) 상태일 때의 이미지, 해당 객체가 포커스(Focus)된 상태일 때의 이미지, 해당 객체 상에 입력도구가 위치(Hover)된 상태일 때의 이미지 중 적어도 하나를 포함할 수 있다.To this end, the
이러한 실시예에 따르는 경우, 객체 탐지부(144)는 해당 객체의 이미지 정보와 동일한 이미지 정보를 갖는 객체가 탐지되지 않는 경우, 이미지 생성부(146)에 의해 생성된 객체의 정형화된 변형 이미지와 동일한 이미지를 갖는 객체가 존재하는지 여부를 추가로 탐지하고, 해당 객체의 정형화된 변형 이미지와 동일한 이미지를 갖는 객체가 탐지되면, 탐지된 객체를 활성화시킨다.According to this embodiment, when an object having the same image information as the image information of the object is not detected, the
도 7은 본 발명의 다른 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템의 구성을 개략적으로 보여주는 블록도이다. 도 7에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)은 적어도 하나의 스크립트 생성부(710a~710n), 적어도 하나의 스크립트 실행부(720a~720n), 적어도 하나의 키 입력 가상화부(730a~730n), 적어도 하나의 제어부(740a~740n), 및 스크립트 관리부(750)를 더 포함한다.7 is a block diagram schematically showing the configuration of a key input virtualization system for robot processor automation according to another embodiment of the present invention. 7, the key
도 7에 도시된 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)에서 적어도 하나의 스크립트 실행부(720a~720n)와 적어도 하나의 제어부(750)는 각각 1대1로 연동되어 하나의 제어부(750)가 하나의 하나의 스크립트 실행부(720a~720n)를 제어하는 구조이다. 또한, 도 7에 도시된 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)에서 스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710) 및 적어도 하나의 스크립트 실행부(720a~720n)를 관리한다.In the key
적어도 하나의 스크립트 생성부(710a~710n)는 로봇 프로세스 자동화를 위한 자동화 스크립트(Script)를 생성한다. 이를 위해, 각 스크립트 생성부(710a~710n)는 프로세스 설정부(712), 태스크 설정부(714), 및 스크립트 제작부(716)를 포함한다. 스크립트 생성부(710a~710n) 및 스크립트 생성부(710a~710n)에 포함된 프로세스 설정부(712), 태스크 설정부(714), 스크립트 제작부(716)는 도 1에 도시된 스크립트 생성부(110) 및 프로세스 설정부(112), 태스크 설정부(114), 스크립트 제작부(116)와 그 기능이 동일하므로 구체적인 설명은 생략하기로 한다.At least one script generating unit (710a to 710n) generates an automation script (Script) for robot process automation. To this end, each
적어도 하나의 스크립트 실행부(720a~720n)는 적어도 하나의 스크립트 생성부(710)에 의해 생성된 자동화 스크립트를 실제로 실행함으로써 사용자의 컴퓨팅 업무를 자동으로 처리한다. 구체적으로, 각 스크립트 실행부(720a~720n)는 스크립트 생성부(710a~710n) 또는 스크립트 관리부(750)로부터 자동화 스크립트를 수신하고, 제어부(740a~740n) 또는 스크립트 관리부(750)로부터 실행명령을 수신하면 해당 자동화 스크립트를 실행하여 사용자의 컴퓨팅 업무를 처리한다. The at least one
각 스크립트 실행부(720a~720n)는 수신된 자동화 스크립트에 대한 실행명령이 수신되면, 해당 자동화 스크립트를 해석하여 각각의 이벤트, 태스크, 프로세스에 대해 속성, 실행조건, 우선순위 등을 판단하고 실행순서를 스케쥴링한다. 또한, 스크립트 실행부(720a~720n)는 각각의 이벤트들을 실행순서에 따라 순차적으로 실행함으로써 태스크를 실행하고, 또한 각각의 태스크들을 실행순서에 따라 실행함으로써 프로세스를 실행한다.Each
특히, 본 발명에 따른 각 스크립트 실행부(720a~720n)는 제어부(740a~740n)와 스크립트 관리부(750) 사이에서 제어부(740a~740n) 및 스크립트 관리부(750)를 상호 연동시켜 제어부(740a~740n)가 스크립트 관리부(750)를 통해 원격의 스크립트 실행부를 제어할 수 있도록 해 준다.In particular, each of the
일 실시예에 있어서, 스크립트 실행부(720a~720n)는 스크립트 실행시 레코딩 시의 컴퓨팅 환경 정보를 참조하여 현재의 컴퓨팅 환경(화면 해상도, 화면 배치, 화면 크기 등)이 레코딩시의 컴퓨팅 환경과 동일해지도록 현재의 컴퓨팅 환경을 조정할 수 있다.In an embodiment, the
적어도 하나의 키 입력 가상화부(730a~730n)는 적어도 하나의 스크립트 실행부(720)에 의해 실행된 자동화 스크립트로부터 문자열 데이터를 추출하고, 추출된 문자열 데이터로부터 가상 키 입력신호를 생성하며, 이를 기초로 실제 키 입력 메시지를 생성한다. 키 입력 가상화부(730a~730n)는 생성된 실제 키 입력 메시지를 키보드 구동 드라이버(250)는 생성한 실제 키 입력 메시지를 운영체제(OS)로 전달함으로써, 운영체제가 실제 키 입력 메시지를 자동화 스크립트 실행에 따라 활성화된 객체 내에 입력할 수 있도록 한다.The at least one key
이를 위해, 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템(700)은 자동화 스크립트에 포함된 객체를 탐지하고 활성화시키는 객체 활성화부(미도시)를 더 포함할 수 있다. 객체 활성화부의 기능은 도 1에 도시된 객체 활성화부의 기능과 동일하므로 구체적인 설명은 생략한다. 다른 실시예에 있어서, 객체의 탐지 및 활성화는 상술한 스크립트 실행부(720a~720n)에 의해 직접 수행될 수도 있을 것이다.To this end, the key
키 입력 가상화부(730a~730n)의 구성은 도 2에 도시된 것과 동일하므로 구체적인 설명은 생략하기로 한다.Since the configuration of the key
상술한 바와 같은 키 입력 가상화부(730)는 스크립트 실행부(720a~720n)별로 각각 구비될 수 있지만, 변형된 실시예에 있어서, 하나의 키 입력 가상화부(730)가 복수개의 스크립트 실행부(720a~720n)와 연동되도록 구현될 수도 있다.The key input virtualization unit 730 as described above may be provided for each
적어도 하나의 제어부(740a~740n)는 사용자가 적어도 하나의 스크립트 실행부(720a~720n)를 제어하기 위한 장치이다. 적어도 하나의 제어부(740a~740n)는 제어 대상인 적어도 하나의 스크립트 실행부(720a~720n)와 연동되며, 해당 스크립트 실행부(720a~720n)가 처리할 자동화 스크립트를 선택하고, 실행을 명령한다. 또한, 해당 스크립트 실행부(720a~720n)로부터 자동화 스크립트의 실행결과를 수신한다.The at least one control unit (740a to 740n) is a device for the user to control the at least one script execution unit (720a to 720n). At least one control unit (740a to 740n) is interlocked with at least one script execution unit (720a to 720n) that is a control object, selects an automation script to be processed by the corresponding script execution units (720a to 720n), and commands execution. In addition, the execution result of the automation script is received from the corresponding
이를 위해, 각 제어부(740a~740n)는 사용자가 해당 제어부(740a~740n)를 통해 원하는 스크립트 실행부(720a~720n)를 제어할 수 있도록 사용자 인터페이스를 제공한다. 예컨대, 제어부(740a~740n)는 사용자 인터페이스를 통해 사용자의 로그인/로그아웃, 스크립트 실행부 선택, 및 자동화 스크립트의 실행/정지 중 적어도 하나에 대하여 GUI(Graphic User Interface)를 제공하고, 해당 스크립트 실행부(720)에서 실행되고 있는 스크립트에 포함된 프로세스의 진행상태, 실행결과 등을 표시한다.To this end, each of the
또한, 제어부(740a~740n)는 스크립트 실행부(720a~720n)에서 처리될 수 있는 자동화 스크립트를 사용자에게 제공한다. 또한, 사용자가 스크립트 실행부(720a~720n)에 대해 임의의 자동화 스크립트를 등록하거나 삭제하면, 이에 따라 해당 자동화 스크립트가 실행되거나 취소될 수 있도록 한다.In addition, the
또한, 제어부(740a~740n)는 스크립트 실행부(720a~720n)로 해당 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 사용자 인터페이스를 통해 사용자에게 통지한다.In addition, the
특히, 본 발명에 따른 각각의 제어부(740a~740n)가 각 스크립트 실행부(720a~720n)와 1대1로 연동되는 경우, 사용자가 제1 스크립트 실행부(720a)와 연동되어 있는 제1 제어부(740a)로 제1 제어부(740a)와 연동되어 있지 않은 제2 스크립트 실행부(720b)에서 자동화 스크립트의 실행을 등록하는 경우, 제1 제어부(740)는 제1 스크립트 실행부(720a), 스크립트 관리부(750), 및 제2 스크립트 실행부(720b)를 통해 해당 자동화 스크립트가 실행되도록 할 수 있다.In particular, when each control unit (740a ~ 740n) according to the present invention is linked one-to-one with each script execution unit (720a ~ 720n), the user is the first control unit that is interlocked with the first script execution unit (720a) When the execution of the automation script is registered in the second
구체적으로, 제1 제어부(740a)는 먼저 제1 스크립트 실행부(720a)로 실행요청된 자동화 스크립트의 실행을 명령한다. 이에 따라, 제1 스크립트 실행부(720a)는 이를 스크립트 관리부(750)로 전달하고, 스크립트 관리부(750)는 제2 스크립트 실행부(720b)로 해당 자동화 스크립트를 전송하면서 실행을 명령한다. 제2 스크립트 실행부(720b)는 스크립트 관리부(750)로부터 전달받은 자동화 스크립트를 실행하여 그 결과를 스크립트 관리부(750)로 전달한다. 스크립트 관리부(750)는 해당 자동화 스크립트의 실행결과를 제1 스크립트 실행부(720a)로 전달하고, 제1 스크립트 실행부(720a)는 스크립트 관리부(750)로부터 전달받은 자동화 스크립트의 실행결과를 제1 제어부(740a)로 전달한다.Specifically, the
이를 통해, 각각의 제어부(740a~740n)는 자신과 직접 연동된 스크립트 실행부(720a~720n)뿐만 아니라 스크립트 관리부(750)를 통해 원격에 있는 타 스크립트 실행부(720a~720n)에 대해서도 원하는 자동화 스크립트의 실행을 명령할 수 있게 된다. Through this, each control unit (740a ~ 740n) is not only the script execution unit (720a ~ 720n) directly interlocked with itself, but also the script management unit (750) through the remote script execution unit (720a ~ 720n) for the desired automation You can command the execution of the script.
한편, 본 발명에 따른 시스템은 스크립트 관리부(750)를 더 포함할 수 있다.Meanwhile, the system according to the present invention may further include a
스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710a~710n) 및/또는 적어도 하나의 스크립트 실행부(720a~720n)와 연동되어 이들을 관리한다. 스크립트 관리부(750)는 적어도 하나의 스크립트 생성부(710a~710n)와 연동되며, 적어도 하나의 스크립트 생성부(710a~710n)로부터 자동화 스크립트를 수신하여 관리한다. 또한, 스크립트 관리부(750)는 적어도 하나의 스크립트 실행부(720a~720n)와 연동되며, 적어도 하나의 스크립트 실행부(720a~720n)에 대해 자동화 스크립트의 실행을 명령하고 실행결과를 수신하여 관리한다.The
특히, 본 발명에 따른 스크립트 관리부(750)는 복수개의 스크립트 실행부(720a~720n)들 중 제1 스크립트 실행부(720a)의 요청에 따라 원격에 있는 제2 스크립트 실행부(720b)로 제2 자동화 스크립트의 실행을 명령하고, 그 실행결과를 수신하여 제1 스크립트 실행부(720a)로 전송할 수 있다.In particular, the
즉, 스크립트 관리부(750)는 각각의 제어부(740a~740n)가 자신과 직접 연동된 스크립트 실행부(720a~720n) 뿐만 아니라 자신과 연동되어 있지 않는 원격에 있는 타 스크립트 실행부(720a~720n)에 대해서도 원하는 자동화 스크립트의 실행을 명령할 수 있도록 스크립트 실행부(720a~720n)들 사이에서 자동화 스크립트의 송신, 자동화 스크립트의 실행명령의 송수신, 및 자동화 스크립트 실행결과의 송수신 기능을 수행한다. That is, the
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
100: 키 입력 가상화 시스템 110: 스크립트 생성부
120: 스크립트 실행부 130: 키 입력 가상화부
140: 객체 활성화부 210: 문자열 데이터 추출부
220: 가상 키 입력신호 생성부 230: 큐
240: 키 입력부 250: 키보드 구동 드라이버100: key input virtualization system 110: script generation unit
120: script execution unit 130: key input virtualization unit
140: object activation unit 210: string data extraction unit
220: virtual key input signal generator 230: queue
240: key input unit 250: keyboard driving driver
Claims (20)
상기 자동화 스크립트에 포함된 문자열 데이터를 구성하는 문자 별로 실제 키보드 상에서 각 문자의 문자키(Key)에 매핑되는 키 코드를 기초로 가상 키 입력신호를 생성하는 가상 키 입력신호 생성부; 및
상기 가상 키 입력신호를 기초로 상기 문자열 데이터의 입력을 위한 실제 키 입력 메시지를 생성하는 키보드 구동 드라이버를 포함하고,
상기 가상 키 입력신호 생성부는 상기 문자열 데이터를 문자 단위로 분할하고, 상기 분할된 각 문자 별로 실제 키보드 상에서 상기 문자키에 매핑되는 키 코드가 기록되는 제1 필드 및 상기 문자키의 눌려짐 상태(DOWN)를 나타내는 다운 정보 또는 상기 문자키의 눌려짐 해제 상태(UP)를 나타내는 정보가 기록되는 제2 필드로 구성된 상기 가상 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.Script execution unit for executing the automation script (Script) generated for robot process automation (Robot Process Automation);
a virtual key input signal generator for generating a virtual key input signal based on a key code mapped to a character key of each character on a real keyboard for each character constituting the character string data included in the automation script; and
a keyboard driving driver for generating an actual key input message for input of the character string data based on the virtual key input signal;
The virtual key input signal generating unit divides the string data into character units, and for each divided character, a first field in which a key code mapped to the character key is recorded on the real keyboard and a pressed state (DOWN) of the character key ) A key input virtualization system for robot processor automation, characterized in that it generates the virtual key input signal consisting of a second field in which down information indicating the down information or information indicating the depressed state (UP) of the character key is recorded.
상기 키보드 구동 드라이버는 상기 실제 키 입력 메시지를 운영체제(Operating System: OS)로 전달하고, 상기 실제 키 입력 메시지는 상기 운영체제를 통해 상기 자동화 스크립트에 의해 실행되는 객체에 입력되는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
The keyboard driving driver transmits the real key input message to an operating system (OS), and the real key input message is input to an object executed by the automation script through the operating system. keystroke virtualization system for
상기 가상 키 입력신호는, 상기 제2 필드 이후에 배치되고 문자입력간 지연시간정보가 기록되는 제3 필드를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
The virtual key input signal is a key input virtualization system for robot processor automation, characterized in that it further comprises a third field disposed after the second field and in which delay time information between character input is recorded.
상기 가상 키 입력신호 생성부는 상기 문자의 입력을 위해 기능키 입력이 요구되는 경우, 실제 키보드 상에서 상기 기능키에 매핑되는 키 코드 및 상기 기능키의 눌려짐 상태나 눌려짐 해제상태를 나타내는 정보를 이용하여 상기 기능키에 대한 가상 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
When a function key input is required for input of the character, the virtual key input signal generating unit uses a key code mapped to the function key on a real keyboard and information indicating a pressed or released state of the function key. A key input virtualization system for robot processor automation, characterized in that generating a virtual key input signal for the function key.
상기 가상 키 입력신호 생성부는, 각 문자 별로 문자키의 눌려짐 상태를 나타내는 제1 가상 키 입력신호와 해당 문자키의 눌려짐 해제상태를 나타내는 제2 가상 키 입력신호를 연속하여 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
The virtual key input signal generating unit continuously generates a first virtual key input signal indicating a pressed state of a character key for each character and a second virtual key input signal indicating a depressed state of the corresponding character key. A keystroke virtualization system for robot processor automation.
상기 가상 키 입력신호 생성부는, 상기 문자의 입력을 위해 기능키의 추가 입력이 요구되는 경우, 상기 기능키의 눌려짐 상태를 나타내는 제3 가상 키 입력신호, 상기 문자키의 눌려짐 상태를 나타내는 제4 가상 키 입력신호, 상기 문자키의 눌려짐 해제상태를 나타내는 제5 가상 키 입력신호, 및 상기 기능키의 눌려짐 해제 상태를 나타내는 제6 가상 키 입력신호를 연속하여 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
The virtual key input signal generating unit may include a third virtual key input signal indicating a pressed state of the function key, and a third virtual key input signal indicating a pressed state of the character key when an additional input of a function key is required to input the character. 4 A robot characterized in that it continuously generates a virtual key input signal, a fifth virtual key input signal indicating a press release state of the character key, and a sixth virtual key input signal indicating a release state of the function key A keystroke virtualization system for processor automation.
상기 가상 키 입력신호 생성부에 의해 생성된 가상 키 입력신호가 상기 문자열 데이터를 구성하는 각 문자의 입력순서에 따라 순차적으로 삽입되는 큐를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
Key input virtualization for robot processor automation, characterized in that it further comprises a queue in which the virtual key input signal generated by the virtual key input signal generator is sequentially inserted according to the input order of each character constituting the character string data. system.
상기 큐로부터 상기 가상 키 입력신호를 순차적으로 인출하여 상기 키보드 구동 드라이버로 입력하는 키 입력부를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.10. The method of claim 9,
The key input virtualization system for robot processor automation, characterized in that it further comprises a key input unit for sequentially fetching the virtual key input signal from the queue and inputting the virtual key input signal to the keyboard driving driver.
상기 자동화 스크립트에는 업무 자동 실행을 위해 실행되어야 하는 태스크들 또는 프로세스들이 실행순서에 따라 순차적으로 기록되어 있는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
A key input virtualization system for robot processor automation, characterized in that in the automation script, tasks or processes to be executed for automatic task execution are sequentially recorded according to the execution order.
상기 실행된 자동화 스크립트에 포함된 객체의 정보를 기초로 단말기 상에서 상기 객체의 정보에 대응되는 객체를 탐지하여 활성화시키는 객체 탐지부를 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
and an object detection unit for detecting and activating an object corresponding to the information of the object on the terminal based on the information of the object included in the executed automation script.
상기 객체 탐지부는 상기 자동화 스크립트에 포함된 객체의 속성정보 및 계층적 소속정보 중 적어도 하나를 이용하여 산출된 고유값과 동일한 고유값을 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.13. The method of claim 12,
The object detection unit detects and activates an object having the same eigenvalue as the eigenvalue calculated using at least one of attribute information and hierarchical affiliation information of the object included in the automation script. Keystroke virtualization system.
상기 객체 탐지부는 상기 자동화 스크립트에 포함된 객체의 이미지와 동일한 이미지를 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.13. The method of claim 12,
The object detection unit detects and activates an object having the same image as the image of the object included in the automation script and activates the key input virtualization system.
상기 자동화 스크립트에 포함된 객체의 정형화된 변형 이미지를 생성하는 변형 이미지 생성부를 더 포함하고,
상기 객체 탐지부는 상기 객체의 이미지와 동일한 이미지를 갖는 객체가 탐지되지 않는 경우, 상기 객체의 변형 이미지와 동일한 이미지를 갖는 객체를 탐지하여 활성화시키는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.15. The method of claim 14,
Further comprising a deformation image generating unit for generating a standardized deformation image of the object included in the automation script,
The object detection unit detects and activates an object having the same image as the deformed image of the object when an object having the same image as the image of the object is not detected and activated.
상기 정형화된 변형 이미지는, 상기 객체가 인에이블(Enable) 상태일 때의 이미지, 상기 객체가 디스에이블(Disable) 상태일 때의 이미지, 상기 객체가 눌려진(Pressed) 상태일 때의 이미지, 상기 객체가 선택된(Selected) 상태일 때의 이미지, 사이 객체가 포커스(Focus)된 상태일 때의 이미지, 상기 객체 상에 입력도구가 위치(Hover)된 상태일 때의 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.16. The method of claim 15,
The standardized deformation image includes an image when the object is in an enabled state, an image when the object is in a disabled state, an image when the object is in a pressed state, and the object It characterized in that it includes at least one of an image when is in a selected state, an image when an object is in a focused state, and an image when an input tool is hovered on the object. A keystroke virtualization system for robot processor automation with
상기 실행된 자동화 스크립트로부터 상기 문자열 데이터에 대응되는 상기 실제 키 입력 메시지가 입력될 객체에 대한 위치를 2차원 좌표 형태로 획득하는 객체정보 획득부; 및
상기 객체정보 획득부에 의해 획득된 2차원 좌표를 기초로 상기 객체를 탐지하여 활성화시키는 객체 탐지부를 더 포함하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.According to claim 1,
an object information acquisition unit configured to acquire, in the form of two-dimensional coordinates, a position of an object to which the actual key input message corresponding to the string data is to be input from the executed automation script; and
Key input virtualization system for robot processor automation, characterized in that it further comprises an object detection unit for detecting and activating the object based on the two-dimensional coordinates obtained by the object information acquisition unit.
상기 태스크를 구성하는 적어도 하나의 이벤트를 실행하여 상기 자동화 스크립트를 실행하는 적어도 하나의 스크립트 실행부;
상기 자동화 스크립트의 실행에 따라 활성화된 객체에 입력될 문자열 데이터로부터 가상의 키 입력신호를 생성하고, 생성된 가상의 키 입력 신호를 기초로 실제 키 입력 메시지를 생성하는 적어도 하나의 키 입력 가상화부; 및
상기 적어도 하나의 스크립트 실행부와 연동되어 상기 자동화 스크립트의 실행을 제어하는 적어도 하나의 제어부를 포함하고,
상기 적어도 하나의 키 입력 가상화부는 상기 문자열 데이터를 문자 단위로 분할하고, 상기 분할된 각 문자 별로 실제 키보드 상에서 각 문자의 문자키에 매핑되는 키 코드가 기록되는 제1 필드 및 상기 문자키의 눌려짐 상태(DOWN)를 나타내는 다운 정보 또는 상기 문자키의 눌려짐 해제 상태(UP)를 나타내는 정보가 기록되는 제2 필드로 구성된 상기 가상의 키 입력신호를 생성하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.at least one script generator configured to set a task composed of at least one event and a process composed of at least one task, and to generate an automation script for performing the task and the process;
at least one script execution unit for executing the automation script by executing at least one event constituting the task;
at least one key input virtualization unit for generating a virtual key input signal from string data to be input to an object activated according to the execution of the automation script, and generating an actual key input message based on the generated virtual key input signal; and
Comprising at least one control unit interlocked with the at least one script execution unit to control the execution of the automated script,
The at least one key input virtualization unit divides the string data into character units, and for each divided character, a first field in which a key code mapped to a character key of each character on the actual keyboard is recorded and the character key is pressed A key for robot processor automation, characterized in that it generates the virtual key input signal composed of a second field in which down information indicating a state (DOWN) or information indicating a press release state (UP) of the character key is recorded Input virtualization system.
상기 적어도 하나의 제어부는 상기 적어도 하나의 스크립트 실행부와 각각 대응되어 상기 적어도 하나의 스크립트 실행부로 상기 자동화 스크립트의 실행을 명령하고, 상기 적어도 하나의 스크립트 실행부는 해당 자동화 스크립트를 실행하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.19. The method of claim 18,
The at least one control unit corresponds to the at least one script execution unit, respectively, and commands the at least one script execution unit to execute the automation script, and the at least one script execution unit executes the corresponding automation script. A keystroke virtualization system for robot processor automation.
상기 스크립트 실행부에 연동되어 상기 스크립트 실행부를 관리하는 스크립트 관리부를 더 포함하고,
상기 스크립트 관리부는 상기 제어부로부터 제2 스크립트 실행부에서 실행될타겟 자동화 스크립트의 실행명령이 제1 스크립트 실행부를 통해 수신되면, 상기 제2 스크립트 실행부로 상기 타겟 자동화 스크립트 및 상기 타겟 자동화 스크립트의 실행명령을 전달하고, 상기 제2 스크립트 실행부로부터 상기 타겟 자동화 스크립트 실행결과를 수신하여 상기 제1 스크립트 실행부를 통해 상기 제어부로 전달하는 것을 특징으로 하는 로봇 프로세서 자동화를 위한 키 입력 가상화 시스템.19. The method of claim 18,
Further comprising a script management unit that interworks with the script execution unit to manage the script execution unit,
When the script management unit receives an execution command of the target automation script to be executed by the second script execution unit from the control unit through the first script execution unit, the script management unit delivers the execution command of the target automation script and the target automation script to the second script execution unit and receiving the target automation script execution result from the second script execution unit and transferring the result to the control unit through the first script execution unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190171015A KR102299657B1 (en) | 2019-12-19 | 2019-12-19 | Key Input Virtualization System for Robot Process Automation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190171015A KR102299657B1 (en) | 2019-12-19 | 2019-12-19 | Key Input Virtualization System for Robot Process Automation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210078995A KR20210078995A (en) | 2021-06-29 |
KR102299657B1 true KR102299657B1 (en) | 2021-09-07 |
Family
ID=76626597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190171015A KR102299657B1 (en) | 2019-12-19 | 2019-12-19 | Key Input Virtualization System for Robot Process Automation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102299657B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102453289B1 (en) * | 2022-03-29 | 2022-10-11 | 주식회사 시메이션 | Robotic automation method and systen, and computing device for executing the method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220158A (en) * | 2003-01-10 | 2004-08-05 | Seiko Epson Corp | Integrated keyboard driver |
JP6412958B2 (en) * | 2014-05-21 | 2018-10-24 | ゼットティーイー コーポレイション | Data input method and terminal |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101759536B1 (en) * | 2010-05-28 | 2017-07-19 | (주)경문엔터테인먼트 | Computer keyboard with key-mapping function |
KR20130057628A (en) * | 2011-11-24 | 2013-06-03 | 한국전자통신연구원 | Method and apparatus for authoring task |
KR102296897B1 (en) * | 2015-10-23 | 2021-08-31 | 삼성에스디에스 주식회사 | System and method for performing test automation of solution |
KR101899298B1 (en) * | 2016-12-12 | 2018-09-17 | (주)아이엔소프트 | Processing system for automation of cloud and process operating based virtual environment and processing method thereof |
-
2019
- 2019-12-19 KR KR1020190171015A patent/KR102299657B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220158A (en) * | 2003-01-10 | 2004-08-05 | Seiko Epson Corp | Integrated keyboard driver |
JP6412958B2 (en) * | 2014-05-21 | 2018-10-24 | ゼットティーイー コーポレイション | Data input method and terminal |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102453289B1 (en) * | 2022-03-29 | 2022-10-11 | 주식회사 시메이션 | Robotic automation method and systen, and computing device for executing the method |
Also Published As
Publication number | Publication date |
---|---|
KR20210078995A (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7089879B2 (en) | Robot-based process automation | |
KR102160344B1 (en) | System and Method for Robot Process Automation | |
JP5599400B2 (en) | Method system and software for providing an image sensor based human machine interface | |
US9405656B2 (en) | Method for remotely testing the operation of a computer system | |
US20180173614A1 (en) | Technologies for device independent automated application testing | |
KR102446521B1 (en) | Screen Response Verification of Robot Execution for Robotic Process Automation | |
KR102254850B1 (en) | Process Editor Apparatus and Robot Process Automation including thereof | |
US20170322637A1 (en) | Mouse action capture and replay system and method, recording medium, and program product | |
CN104007958A (en) | Method and program editor for creating and editing a program for an industrial automation assembly | |
US11947443B2 (en) | Robotic process automation (RPA) debugging systems and methods | |
JP2009032099A (en) | Scenario creation apparatus and scenario creation program | |
KR20170057264A (en) | Code development tool with multi-context intelligent assistance | |
KR102299657B1 (en) | Key Input Virtualization System for Robot Process Automation | |
KR102294578B1 (en) | System for Searching Object for Robot Process Automation | |
KR20200082932A (en) | Apparatus and method for recognizing optical character using template information | |
CN106815010B (en) | Method and device for operating database | |
KR102439574B1 (en) | System for Searching Object Based on Image Search for Robot Process Automation | |
CN115390720A (en) | Robotic Process Automation (RPA) including automatic document scrolling | |
JP2021033719A (en) | Information processing system and information processing method | |
KR102418739B1 (en) | Robotic automation method and computing device for executing the method | |
KR20230102575A (en) | System for Searching Object for Robot Process Automation | |
KR100818604B1 (en) | Componentized method of the execution program of a windows based and a screen apparatus using method thereof | |
US20170115999A1 (en) | Method, system, and non-transitory computer-readable recording medium for recording and reproducing an operation | |
CN116302398A (en) | Workflow arrangement method, device, equipment and medium based on cloud protogenesis | |
CN117762653A (en) | VR software linked system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |