KR20220014230A - 인공지능 기반 워크플로우 프로세스 시스템 및 장치 - Google Patents
인공지능 기반 워크플로우 프로세스 시스템 및 장치 Download PDFInfo
- Publication number
- KR20220014230A KR20220014230A KR1020200094055A KR20200094055A KR20220014230A KR 20220014230 A KR20220014230 A KR 20220014230A KR 1020200094055 A KR1020200094055 A KR 1020200094055A KR 20200094055 A KR20200094055 A KR 20200094055A KR 20220014230 A KR20220014230 A KR 20220014230A
- Authority
- KR
- South Korea
- Prior art keywords
- workflow
- workflows
- processing
- group
- classified
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000011017 operating method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
처리 스케줄러를 이용한 워크플로우 장치 및 워크플로우 장치의 동작 방법이 개시된다. 처리 스케줄러를 이용한 워크플로우 장치는 복수의 워크플로우 간의 관계를 분석하는 인터페이스부와, 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리하는 프로세서를 포함할 수 있다.
Description
본 발명은 복수의 워크플로우에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리하는 기술에 관한 것이다.
정보시스템의 확산으로 기관 및 국가는 기관내 또는 하나의 시스템 내 데이터 활용을 넘어 여러 기관 간 또는여러 국가 간 데이터 연계필요성이 매우 높아지고 있다.
상기 데이터 연계시, 데이터 간의 의존관계가 존재하는 경우, 데이터 간의 처리 순서를 고려해야 한다. 이때,의존관계와 무관하게 데이터를 처리할 시, 데이터에 의미적 오류가 발생하거나, 데이터 처리 자체에 오류가 발생하게 되어, 데이터를 제대로 활용할 수 없게 된다.
따라서, 데이터 간 처리 순서를 고려하여, 데이터를 처리할 수 있게 하는 기술이 필요하다.
본 발명은 데이터와 연관된 복수의 워크플로우 간의 관계를 분석하고, 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정한 후, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리함으로써, 데이터를 오류없이 정상적으로 처리할 수 있게 하는 것을 목적으로 한다.
상기의 목적을 이루기 위한, 처리 스케줄러를 이용한 워크플로우 장치는 복수의 워크플로우 간의 관계를 분석하는 인터페이스부와, 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정하고, 상기결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리하는 프로세서를 포함할 수 있다.
상기의 목적을 이루기 위한, 처리 스케줄러를 이용한 워크플로우 장치의 동작 방법은 복수의 워크플로우 간의관계를 분석하는 단계와, 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정하는단계와, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리하는 단계를 포함할 수 있다.
본 발명에 따르면, 데이터와 연관된 복수의 워크플로우 간의 관계를 분석하고, 상기 분석된 결과에 기초하여,상기 복수의 워크플로우에 대한 처리 순서를 결정한 후, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리 함으로써, 데이터를 오류없이 정상적으로 처리할 수 있게 한다.
도 1은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 GUI 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 사용하는 워크플로우의 구조를도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서, 워크플로우를 객체로 정의하는 일례를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 워크플로우를 처리하는 일례를설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋을DAG로 변환하는 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋에 대한 위상정렬시 사용하는 인접 행렬에 대한 일례를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋에 대한 위상정렬시 사용하는 인접 리스트에 대한 일례를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋을 순서에 따라 정렬하는 일례를 설명하기 위한 도면이다.
도 10은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 동작 방법을 나타내는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 GUI 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 사용하는 워크플로우의 구조를도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서, 워크플로우를 객체로 정의하는 일례를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 워크플로우를 처리하는 일례를설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋을DAG로 변환하는 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋에 대한 위상정렬시 사용하는 인접 행렬에 대한 일례를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋에 대한 위상정렬시 사용하는 인접 리스트에 대한 일례를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 각 워크플로우 내 결과셋을 순서에 따라 정렬하는 일례를 설명하기 위한 도면이다.
도 10은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 동작 방법을 나타내는 흐름도이다.
이하, 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 다양한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
도 1은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 구성을 나타내는 도면이다.
도 1을 참조하면, 처리 스케줄러를 이용한 워크플로우 장치(100)는 인터페이스부(101) 및 프로세서(103)를 포함할 수 있다.
인터페이스부(101)는 복수의 워크플로우 간의 관계를 분석할 수 있다. 이때, 인터페이스부(101)는 복수의 워크플로우를 각각 입력받거나, 또는 입력되는 데이터로부터, 복수의 워크플로우를 추출할 수 있다.
여기서, 상기 복수의 워크플로우 각각은, 데이터소스, 연산자 및 결과셋을 포함할 수 있다.
인터페이스부(101)는 상기 데이터소스, 상기 연산지, 및 상기 결과셋 중 적어도 하나에 기초하여, 상기 복수의워크플로우 간의 의존관계를 분석할 수 있다. 이때, 인터페이스부(101)는 제1 워크플로우 내 결과셋을, 데이터소스로서 공유하는 제2 워크플로우에 대해, 상기 제1 워크플로우에 의존관계가 있는 것으로 분석할 수 있다.
여기서, 공유는 제1 워크플로우 내 결과셋과 제2 워크플로우 내 데이터소스가 동일한 것을 의미할 수 있다.
프로세서(103)는 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리할 수 있다.
프로세서(103)는 인터페이스부(101)에 의해, 상기 제2 워크플로우가, 상기 제1 워크플로우에 의존관계가 있는것으로 분석되는 경우, 상기 복수의 워크플로우 중에서, 의존관계가 있는 상기 제2 워크플로우를 제외한, 나머지 워크플로우를 제1 그룹으로 분류하고, 상기 제1 그룹으로 분류된 워크플로우를 첫번째 처리 순서로 결정할수 있다.
또한, 프로세서(103)는 상기 제2 워크플로우 중에서, 상기 제1 그룹으로 분류된 워크플로우 내 결과셋을, 모든데이터소스로서 공유하는 워크플로우를 제2 그룹으로 분류하고, 상기 제2 그룹으로 분류된 워크플로우를 두번째처리 순서로 결정할 수 있다. 또한, 프로세서(103)는 상기 제2 그룹으로 분류되지 않는 제2 워크플로우 중에서, 상기 제1 그룹 및 상기 제2그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제3 그룹으로 분류하고,상기 제3 그룹으로 분류된 워크플로우를 세번째 처리 순서로 결정할 수 있다.
한편, 프로세서(103)는 동일한 그룹으로 분류된 상기 워크플로우를 동시에 처리할 수 있다. 예컨대, 프로세서(103)는 제1 워크플로우 처리시, 제1 워크플로우 내 데이터소스에, 제1 워크플로우 내 연산자를 적용하여, 제1워크플로우 내 결과셋을 도출할 수 있다. 이때, 프로세서(103)는 제2 워크플로우가 제1 워크플로우에 의존관계가 있는 경우, 상기 도출된 결과셋을 제2 워크플로우 내 데이터소스로서 사용할 수 있다.
도 2는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 GUI(Graphical User Interface)일례를 도시한 도면이다.
도 2를 참조하면, 처리 스케줄러를 이용한 워크플로우 장치는 다양한 복수의 워크플로우를 작성할 수 있게 하는인터페이스를 제공할 수 있다. 이때, 워크플로우의 구조는 예컨대, 도 3에 도시된 바와 같다.
도 3은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 사용하는 워크플로우의 구조를도시한 도면이다.
도 3을 참조하면, 워크플로우는 예컨대, 3단계로서 데이터소스(DataSouce)(301), 연산자(Operator)(302) 및 결과셋(ResultSet)(303)을 포함하여 구성될 수 있으며, 유한 상태 기계(Finite State Machine)로 표현될 수있다.
이때, 데이터소스 또는 결과셋은 피연산자로서, 연산자에 전달될 수 있다.
도 4는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서, 워크플로우를 객체로 정의하는 일례를 설명하기 위한 도면이다.
도 4를 참조하면, 처리 스케줄러를 이용한 워크플로우 장치는 워크플로우 내 3단계를, 워크플로우태스크(WorkFlowTask) 객체로 정의할 수 있다.
QueryResolver는 WorkFlowTask 객체의 queryForTask 인스턴스 변수에 질의를 생성하기 위한 객체이다.
QueryResolver의 buildQuery 메서드는 WorkFlowTask 객체의 dataSource, operator, resultSet 등의 인스턴스변수를 전달인자로 받고 이들을 기반으로 질의를 생성한다.
여기서, QueryResolver를 제외한 나머지 도메인 객체들은 getter와 setter에 해당하는 메서드 표기를 생략하였다.
도 5는 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치에서 워크플로우를 처리하는 일례를설명하기 위한 도면이다.
도 5를 참조하면, 처리 스케줄러를 이용한 워크플로우 장치는 복수의 워크플로우를 분석하고, 분석한 결과에 기초하여 상기 복수의 워크플로우를 처리할 수 있다.
복수의 워크플로우는 각각 데이터소스, 연산자 및 결과셋을 포함하는 구조일 수 있다. 복수의 워크플로우는 예컨대, 데이터소스1, 필터(filter)(연산자), 결과1로 구성되는 워크플로우#1(501), 데이터소스2, 필터, 결과2로구성되는 워크플로우#2(502), 데이터소스3, 필터, 결과3로 구성되는 워크플로우#3(503)을 포함할 수 있다. 또한, 복수의 워크플로우는 결과1(데이터소스), 결과2(데이터소스), 조인(join)(연산자), 결과4로 구성되는 워크플로우#4(504) 및 결과3(데이터소스), 결과4(데이터소스), 조인(연산자), 결과5로 구성되는 워크플로우#5(505)을 더 포함할 수 있다. 이때, 워크플로우#5(505) 내 조인 연산자는 워크플로우#4(504) 내 조인 연산자가 수행된 후에 수행해야 한다.
처리 스케줄러를 이용한 워크플로우 장치는 각 워크플로우 간의 연산 관계를 확인하고, 확인한 연산관계에 기초하여, 각 워크플로우 내 결과셋(또는, 워크플로우)을 도 6에 도시된 바와 같이, DAG(Directed Acyclic Graph)로변환할 수 있다. 이후, 처리 스케줄러를 이용한 워크플로우 장치는 상기 변환된 각 워크플로우 내 결과셋에 대해, 위상정렬(Topology Sorting)을 수행할 수 있다.
상기 위상정렬시, 처리 스케줄러를 이용한 워크플로우 장치는 예컨대, 도 7에 도시된 인접 행렬(Adjacencymatrix) 또는 도 8에 도시된 인접 리스트(Adjacency List)를 활용하여, 각 워크플로우 내 결과셋 간의 위상정렬을 수행할 수 있다. 이때, 처리 스케줄러를 이용한 워크플로우 장치는 DAG에서 점선으로 연결된 [0036] 두 개의 결과셋 각각에 대해, 인접행렬에서는 해당 행과 열이 교차하는 부분에, 마킹처리('1')하고, 인접 리스트에서는 두 개의 결과셋 각각을 나열할 수 있다.
처리 스케줄러를 이용한 워크플로우 장치는 각 워크플로우 내 결과셋 간의 위상정렬에 기초하여, 도 9에 도시된바와 같이, 결과1, 결과2, 결과3을 '1순서'에 정렬하고, 결과4를 '2순서'에 정렬하며, 결과4를 '3순서'에 정렬할 수 있다.
이후, 처리 스케줄러를 이용한 워크플로우 장치는 상기 정렬 순서에 기초하여, 결과1, 결과2, 결과3에 각각 관련한 워크플로우#1(501), 워크플로우#2(502) 및 워크플로우#3(503)에 대해, 첫번째 처리 순서로 결정하고, 결과4에 관련한 워크플로우#4(504)에 대해, 두번째 처리 순서로 결정하며, 결과3에 관련한 워크플로우#5(505)에 대해, 세번째 처리 순서로 결정할 수 있다. 이때, 처리 스케줄러를 이용한 워크플로우 장치는 상기 결정된 처리순서에 따라, 각 워크플로우를 처리할 수 있다.
상기 처리 순서를 결정하는 다른 일로서, 처리 스케줄러를 이용한 워크플로우 장치는 먼저, 제1 워크플로우내 결과셋을, 데이터소스로서 공유하는 제2 워크플로우에 대해, 상기 제1 워크플로우에 의존관계가 있는 것으로분석할 수 있다. 예컨대, 처리 스케줄러를 이용한 워크플로우 장치는 워크플로우#1(501) 내 결과1 및 워크플로우#2(502) 내 결과2를, 데이터소스로서 공유하는 워크플로우#4(504)에 대해, 워크플로우#1(501) 및 워크플로우#2(502)에 의존관계가 있는 것으로 분석하고, 워크플로우#3(503) 내 결과3 및 워크플로우#4(504) 내 결과4를,데이터소스로서 공유하는 워크플로우#5(505)에 대해, 워크플로우#3(503) 및 워크플로우#4(504)에 의존관계가 있는 것으로 분석할 수 있다.
이후, 처리 스케줄러를 이용한 워크플로우 장치는 상기 복수의 워크플로우 중에서, 의존관계가 있는 상기 제2워크플로우(워크플로우#4(504), 워크플로우#5(505))를 제외한, 나머지 워크플로우(워크플로우#1(501), 워크플로우#2(502), 워크플로우#3(503))를 제1 그룹으로 분류하고, 상기 제1 그룹으로 분류된 워크플로우를 첫번째 처리순서로 결정할 수 있다.
또한, 처리 스케줄러를 이용한 워크플로우 장치는 상기 제2 워크플로우(워크플로우#4(504), 워크플로우#5(505))중에서, 상기 제1 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제2그룹으로 분류하고, 상기 제2 그룹으로 분류된 워크플로우를 두번째 처리 순서로 결정할 수 있다. 예컨대, 처리 스케줄러를 이용한 워크플로우 장치는 제1 그룹으로 분류된, 워크플로우#1(501) 내 결과1 및 워크플로우#2(502) 내 결과2를, 모든 데이터소스로서 공유하는 워크플로우#4(504)를 제2 그룹으로 분류하고, 상기 제2 그룹으로 분류된 워크플로우#4(504)를 두번째 처리 순서로 결정할 수 있다. 이때, 처리 스케줄러를 이용한 워크플로우 장치는 워크플로우#4(504) 내 데이터소스가 2개일 경우, 2개의 데이터소스로서 상기 제1 그룹으로 분류된 워크플로우 내 결과셋(결과 1, 결과 2)을 각각 공유하는 경우, 워크플로우#4(504)를 제2 그룹으로 분류할 수있다. 한편, 처리 스케줄러를 이용한 워크플로우 장치는 워크플로우#5(505) 내 데이터소스가 2개이나, 하나의데이터소스만이 상기 제1 그룹으로 분류된 워크플로우 내 결과셋(결과3)을 공유하고, 다른 하나의 데이터소스는상기 제1 그룹으로 분류된 워크플로우 내 결과셋을 공유하지 않음에 따라, 워크플로우#5(505)를 제2 그룹으로분류하지 않는다.
또한, 처리 스케줄러를 이용한 워크플로우 장치는 상기 제2 그룹으로 분류되지 않는 제2 워크플로우(워크플로우#5(505)) 중에서, 상기 제1 그룹 및 상기 제2 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서공유하는 워크플로우를 제3 그룹으로 분류하고, 상기 제3 그룹으로 분류된 워크플로우를 세번째 처리 순서로 결정할 수 있다. 예컨대, 처리 스케줄러를 이용한 워크플로우 장치는 워크플로우#5(505) 내 데이터소스가 2개이고, 2개의 데이터소스로서, 상기 제1 그룹으로 분류된 워크플로우#3(503) 내 결과3, 및 상기 제2 그룹으로 분류된 워크플로우#4(504) 내 결과4를 각각 공유하는 경우, 워크플로우#5(505)를 제3 그룹으로 분류하고, 상기 제3그룹으로 분류된 워크플로우#5(505)를 세번째 처리 순서로 결정할 수 있다.
이후, 처리 스케줄러를 이용한 워크플로우 장치는 제1 그룹, 제2 그룹, 제3 그룹으로 분류된 워크플로우를 차례대로 처리하되, 동일한 그룹으로 분류된 각 워크플로우를 동시에 처리할 수 있다.
도 10은 본 발명의 일실시예에 따른 처리 스케줄러를 이용한 워크플로우 장치의 동작 방법을 나타내는 흐름도이다.
도 10을 참조하면, 단계(1001)에서, 처리 스케줄러를 이용한 워크플로우 장치는 복수의 워크플로우 간의 관계를분석할 수 있다. 여기서, 상기 복수의 워크플로우 각각은, 데이터소스, 연산자 및 결과셋을 포함할 수 있다.__ 처리 스케줄러를 이용한 워크플로우 장치는 상기 데이터소스, 상기 연산지, [0046] 및 상기 결과셋 중 적어도 하나에기초하여, 상기 복수의 워크플로우 간의 의존관계를 분석할 수 있다. 이때, 처리 스케줄러를 이용한 워크플로우 장치는 제1 워크플로우 내 결과셋을, 데이터소스로서 공유하는 제2 워크플로우에 대해, 상기 제1 워크플로우에 의존관계가 있는 것으로 분석할 수 있다.
단계(1003)에서, 처리 스케줄러를 이용한 워크플로우 장치는 상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정할 수 있다.
구체적으로, 처리 스케줄러를 이용한 워크플로우 장치는 제2 워크플로우가, 제1 워크플로우에 의존관계가 있는것으로 분석되는 경우, 상기 복수의 워크플로우 중에서, 의존관계가 있는 상기 제2 워크플로우를 제외한, 나머지 워크플로우를 제1 그룹으로 분류하고, 상기 제1 그룹으로 분류된 워크플로우를 첫번째 처리 순서로 결정할수 있다.
또한, 처리 스케줄러를 이용한 워크플로우 장치는 상기 제2 워크플로우 중에서, 상기 제1 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제2 그룹으로 분류하고, 상기 제2 그룹으로분류된 워크플로우를 두번째 처리 순서로 결정할 수 있다.
또한, 처리 스케줄러를 이용한 워크플로우 장치는 상기 제2 그룹으로 분류되지 않는 제2 워크플로우 중에서, 상기 제1 그룹 및 상기 제2 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제3 그룹으로 분류하고, 상기 제3 그룹으로 분류된 워크플로우를 세번째 처리 순서로 결정할 수 있다.
단계(1005)에서, 처리 스케줄러를 이용한 워크플로우 장치는 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리할 수 있다. 이때, 처리 스케줄러를 이용한 워크플로우 장치는 동일한 그룹으로 분류된 워크플로우를 동시에 처리할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(progammable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로,또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서,분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 저장될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 저장되는 프로그램 명령은 실시예를 위하여 특별히설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media),CD-ROM, DVD와 같은 광저장 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 처리 스케줄러를 이용한 워크플로우 장치
101: 인터페이스부
103: 프로세서
101: 인터페이스부
103: 프로세서
Claims (5)
- 복수의 워크플로우 간의 관계를 분석하는 인터페이스부; 및
상기 분석된 결과에 기초하여, 상기 복수의 워크플로우에 대한 처리 순서를 결정하고, 상기 결정된 처리 순서에 따라 상기 복수의 워크플로우를 처리하는 프로세서를 포함하는 처리 스케줄러를 이용한 워크플로우 장치. - 제1항에 있어서,
상기 복수의 워크플로우 각각은, 데이터소스, 연산자 및 결과셋을 포함하고,
상기 인터페이스부는,
상기 데이터소스, 상기 연산지, 및 상기 결과셋 중 적어도 하나에 기초하여, 상기 복수의 워크플로우 간의 의존관계를 분석하는 처리 스케줄러를 이용한 워크플로우 장치. - 제1항에 있어서,
상기 인터페이스부는,
제1 워크플로우 내 결과셋을, 데이터소스로서 공유하는 제2 워크플로우에 대해, 상기 제1 워크플로우에 의존관계가 있는 것으로 분석하고,
상기 프로세서는,
상기 복수의 워크플로우 중에서, 의존관계가 있는 상기 제2 워크플로우를 제외한, 나머지 워크플로우를 제1 그룹으로 분류하고, 상기 제1 그룹으로 분류된 워크플로우를 첫번째 처리 순서로 결정하는 처리 스케줄러를 이용한 워크플로우 장치. - 제3항에 있어서,
상기 프로세서는,
상기 제2 워크플로우 중에서, 상기 제1 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제2 그룹으로 분류하고, 상기 제2 그룹으로 분류된 워크플로우를 두번째 처리 순서로 결정하는 처리 스케줄러를 이용한 워크플로우 장치. - 제4항에 있어서,
상기 프로세서는,
상기 제2 그룹으로 분류되지 않는 제2 워크플로우 중에서, 상기 제1 그룹 및 상기 제2 그룹으로 분류된 워크플로우 내 결과셋을, 모든 데이터소스로서 공유하는 워크플로우를 제3 그룹으로 분류하고, 상기 제3 그룹으로 분류된 워크플로우를 세번째 처리 순서로 결정하는 처리 스케줄러를 이용한 워크플로우 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200094055A KR20220014230A (ko) | 2020-07-28 | 2020-07-28 | 인공지능 기반 워크플로우 프로세스 시스템 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200094055A KR20220014230A (ko) | 2020-07-28 | 2020-07-28 | 인공지능 기반 워크플로우 프로세스 시스템 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220014230A true KR20220014230A (ko) | 2022-02-04 |
Family
ID=80268160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200094055A KR20220014230A (ko) | 2020-07-28 | 2020-07-28 | 인공지능 기반 워크플로우 프로세스 시스템 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220014230A (ko) |
-
2020
- 2020-07-28 KR KR1020200094055A patent/KR20220014230A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477512B2 (en) | Task-based modeling for parallel data integration | |
US8059125B2 (en) | Computer-aided parallelizing of computation graphs | |
US9779195B2 (en) | Model-based retiming with functional equivalence constraints | |
US8990739B2 (en) | Model-based retiming with functional equivalence constraints | |
KR101530132B1 (ko) | 기호 실행을 이용하는 바이너리 코드 실행 경로 확장 방법 및 장치 | |
US9678859B2 (en) | Detecting error states when interacting with web applications | |
KR102013582B1 (ko) | 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법 | |
US10802806B1 (en) | Generating vectorized control flow using reconverging control flow graphs | |
KR102327026B1 (ko) | Gcn 기반의 어셈블리 코드 학습 장치 및 방법과 이를 이용한 보안 약점 탐지 장치 및 방법 | |
US20190057125A1 (en) | System and method for managing log data | |
KR102009576B1 (ko) | 처리 스케줄러를 이용한 워크플로우 장치 및 워크플로우 장치의 동작 방법 | |
US9576085B2 (en) | Selective importance sampling | |
US8788449B2 (en) | Interface for creating and editing boolean logic | |
US10839132B2 (en) | Automatic cover point generation based on register transfer level analysis | |
KR20220014230A (ko) | 인공지능 기반 워크플로우 프로세스 시스템 및 장치 | |
Weber et al. | Visual comparison of trace files in vampir | |
Fernando et al. | 2: Accelerator synthesis using algorithmic skeletons for rapid design space exploration | |
KR101559651B1 (ko) | 동적 분석 방법 및 장치 | |
US20200310791A1 (en) | Error checking of notebook code blocks | |
KR101673151B1 (ko) | 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치 | |
US10175962B2 (en) | Joining operator graph elements via whole program optimization | |
KR102682877B1 (ko) | Fpga를 활용한 cnn 가속기 하드웨어 설계 | |
US9141498B2 (en) | Method for verification of reconfigurable processor | |
KR102160772B1 (ko) | 메모리 수리 장치 및 그 방법 | |
KR20230089724A (ko) | 특허조사분석 자동화 업무 방법, 장치 및 시스템 |