KR101631978B1 - 데이터세트 요소의 매핑 - Google Patents
데이터세트 요소의 매핑 Download PDFInfo
- Publication number
- KR101631978B1 KR101631978B1 KR1020157003743A KR20157003743A KR101631978B1 KR 101631978 B1 KR101631978 B1 KR 101631978B1 KR 1020157003743 A KR1020157003743 A KR 1020157003743A KR 20157003743 A KR20157003743 A KR 20157003743A KR 101631978 B1 KR101631978 B1 KR 101631978B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- data set
- input
- data
- validity
- Prior art date
Links
Images
Classifications
-
- G06F17/30595—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G06F17/2264—
-
- G06F17/2725—
-
- G06F17/30554—
-
- G06F17/30569—
-
- G06F17/3092—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하는 것은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 과정으로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식이 입력 데이터세트의 요소에 대응되는 하나 이상의 입력 변수에 기초해서 매핑된 관계의 출력을 정의하는 수신하는 과정, 각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 과정, 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 과정, 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 과정, 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 과정을 포함한다.
Description
본 개시는 데이터세트 요소의 매핑에 관한 것이다.
일부 데이터베이스 또는 데이터 웨어하우스 시스템에서는, 하나의 데이터세트("소스" 또는 "입력" 데이터세트)의 요소가 다른 데이터세트("출력" 또는 "타겟" 데이터세트)의 요소에 매핑된다. 이들 요소는, 예를 들어 데이터베이스 테이블의 필드 또는 데이터 오브젝트의 속성을 포함할 수 있다. 입력 데이터세트의 레코드(예를 들어, 테이블의 열)는 적절한 출력 필드에 매핑되는 적절한 입력 필드를 가진 출력 데이터세트에 들여올 수 있다. 출력 포맷을 만족시키기 위해 변환될 데이터 값을 요구하는 출력 데이터세트의 포맷과 입력 데이터세트의 포맷 간에는 차이가 있을 수 있다. 일부의 경우에, 예를 들어, 데이터 품질을 보장하거나 출력 데이터세트의 원하는 특성을 만족시키기 위해, 추가의 데이터 변환이 적용된다. 매핑 프로세스는 여러 스킬 레벨(예를 들어, 초보자 또는 전문가) 또는 여러 관심 영역(예를 들어, 사업 또는 기술)을 갖는 여러 사용자 사이에서의 상호작용을 포함할 수 있다.
본 개시의 하나의 관점으로서, 일반적으로, 입력 데이터 처리 시스템에 기억된 입력 데이터세트(input dataset)의 하나 이상의 요소를 입력 데이터 처리 시스템에 기억된 출력 데이터세트의 하나 이상의 요소에 매핑하는 방법이 개시된다. 본 방법은, 소정의 출력과 입력 변수(input variable)로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식(transformational expression)을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준(validation criteria)에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백(visual feedback)을 인터페이스에서 제시하는 단계를 포함한다.
본 개시의 관점은 이하의 특징 중의 하나 이상을 포함할 수 있다.
본 방법은 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는(import) 단계를 더 포함한다.
입력 데이터를 불러오는 단계는, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계를 더 포함하며, 입력 레코드의 적어도 몇몇 필드는 입력 변수에 매핑된 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소에 대응한다.
입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계는, 데이터 처리 성분을 나타내는 노드(node), 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크(link), 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프를 실행하는 단계를 포함한다.
본 방법은 매핑 관계를 특정하는 매핑(mapping)을 기억하는 단계를 더 포함한다.
유효성 정보를 판정하는 단계는, 유효성 기준의 기억된 사양을 검색(retrieve)하는 단계를 포함한다.
인터페이스는 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 유효성 기준의 사양은 제2 사용자로부터 수신된다.
본 방법은 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 단계를 더 포함한다.
유효성 정보를 판정하는 단계는, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 변환하는 매핑된 관계의 출력에 매핑된 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 단계를 포함한다.
매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함한다.
유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 식별된 제2 요소와 연관된 제2 유효성 기준을 포함한다.
유효성 정보는 식별된 제1 요소에 대응하는 제1 필드와 식별된 제2 요소에 대응하는 제2 필드를 포함하는, 생성된 출력 레코드에 따라 판정된다.
제1 유효성 기준은 출력 레코드의 제2 필드 내의 값에 의해 정해진다.
유효성 정보는 출력 레코드의 제1 필드 내의 값과 출력 레코드의 제2 필드 내의 값에 의해 정해진다.
본 방법은 변환식을 위한 유효 구조를 나타내는 구문 정보(syntax information)를 판정하는 단계를 더 포함한다.
본 방법은 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 단계를 더 포함한다.
본 방법은 변환식에 대한 수신된 사용자 변경에 기초하여 변경된 변환식을 허용하는 단계를 더 포함한다.
본 방법은 입력 데이터세트로부터의 입력 데이터에 기초하여, 변경된 변환식에 따라 데이터 처리 시스템으로부터 변경된 출력 데이터를 생성하는 단계를 더 포함한다.
본 방법은, 생성된 변경된 출력 데이터에 따라 변경된 유효성 정보를 판정하는 단계와, 변경된 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 단계를 더 포함한다.
변경된 출력 데이터를 생성하는 단계와 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는 변환식이 변경되는 동안에 수행된다.
변경된 출력 데이터를 생성하는 단계와 변경된 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는 변환식이 변경된 이후에 사용자의 요청에 따라 수행된다.
입력 데이터세트로부터의 입력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분에 대한 데이터 흐름을 나타내는 링크에 따라 수신되며, 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
출력 데이터세트에 기억된 생성된 출력 데이터는 변환식을 적용하는 데이터 흐름 그래프의 성분으로부터 데이터의 흐름을 나타내는 링크에 따라 출력 데이터세트에 제공되며, 데이터 흐름 그래프는, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 데이터의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
적어도 제1 매핑된 관계는 제1 매핑된 관계를 적용하는 데이터 흐름 그래프의 성분의 선택에 따라 수신되며, 데이터 흐름 그래프는 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분 간의 데이터 흐름을 나타내는 링크, 입력 데이터의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 수신하는 출력 데이터세트를 나타내는 노드를 포함한다.
시각적 피드백은 인터페이스에 표시된 계통도(lineage diagram)의 다수의 노드 중의 하나에 대한 유효성 정보를 나타내는 지시자(indicator)를 포함하며, 노드는 출력 데이터세트의 하나 이상의 식별된 요소와 연관된 하나 이상의 변환된 값을 포함하는 변환된 값을 나타낸다.
시각적 피드백은 인터페이스에 표시된 계통도의 다수의 노드 중의 노드와 각각 연관된 다수의 지시자를 포함한다.
지시자와 연관된 노드 중의 적어도 일부는 노드에 의해 표현되는 변환된 값들 사이의 의존성(dependency)을 나타내는 링크에 의해 연결된다.
시각적 피드백은 출력 데이터세트의 하나 이상의 식별된 요소를 나타내는 하나 이상의 출력 요소를 포함하는 인터페이스에 표시된 다수의 출력 요소 중에서 출력 요소와 각각 연관된 다수의 지시자를 포함한다.
인터페이스에 표시된 다수의 출력 요소는 변환식의 입력 데이터의 레코드에의 적용의 결과를 나타내는 필드에 대응한다.
하나 이상의 지시자는 필드에 대한 값의 열(row)에 대한 유효성 정보를 지시하며, 열은 변환식을 입력 데이터의 단일 레코드에 적용한 출력 값을 나타낸다.
하나 이상의 지시자는 필드에 대한 값의 컬럼(column)에 대한 유효성 정보를 지시하며, 컬럼은 입력 데이터의 각각의 레코드에 단일의 변환식을 여러 번 적용한 결과를 나타낸다.
시각적 피드백은 유효성 정보에 기초하여 계산된 통계치(statistics)를 포함하며, 통계치는 입력 데이터의 다수의 레코드에 유효성 기준을 적용한 결과를 나타내는 데이터를 포함한다.
통계치는 규칙적인 기간마다 계산된다.
시각적 피드백은 유효성 기준과 연관된 고객 에러 메시지를 포함하며, 고객 에러 메시지는 입력 데이터의 레코드에 유효성 기준을 적용한 특정 경우의 결과에 대한 정보를 나타낸다.
본 방법은, 입력 변수에 독립적인 하나 이상의 상수로서 정의된 출력을 인터페이스에서 수신하는 단계를 더 포함한다.
본 방법은, 변환식의 결과를 나타내는 예측 값을 수신하는 단계를 더 포함하며, 유효성 정보를 판정하는 단계는, 변환식을 포함하는 각각의 변환하는 매핑된 관계에 대해 생성된 출력 데이터를 예측 값과 비교하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 시스템을 개시한다. 본 시스템은, 입력 데이터세트를 기억하는 입력 데이터 기억 시스템; 출력 데이터세트를 기억하는 출력 데이터 기억 시스템; 및 사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하도록 구성된 데이터 처리 시스템을 포함하며, 상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 과정은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 시스템이 개시된다. 본 시스템은, 입력 데이터세트를 기억하기 위한 수단; 출력 데이터세트를 기억하기 위한 수단; 및 사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하기 위한 수단을 포함하며, 상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 과정은, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하는 수신 단계로서, 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 변환식은 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 수신 단계; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하는 단계; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계를 포함한다.
다른 관점으로서, 일반적으로, 컴퓨터로 판독가능한 매체는 입력 데이터세트의 하나 이상의 요소를 출력 데이터세트의 하나 이상의 요소에 매핑하기 위한 컴퓨터 프로그램을 기억한다. 컴퓨터 프로그램은, 컴퓨터로 하여금, 소정의 출력과 입력 변수로 나타낸 하나 이상의 입력 간의 하나 이상의 매핑된 관계를 인터페이스에서 수신하도록 하는데, 매핑된 관계 중의 적어도 하나가 데이터 처리 시스템에서 실행가능한 변환식을 포함하고, 변환식이 입력 데이터세트의 요소에 매핑된 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 인터페이스에서 수신하도록 하며; 매핑된 관계의 출력에 매핑된 출력 데이터세트의 요소의 식별을 인터페이스에서 수신하도록 하며; 입력 변수에 매핑된 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하도록 하며; 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하도록 하고; 및 판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하도록 하는 명령어를 포함한다.
본 개시의 관점은 이하의 장점 중의 하나 이상을 포함할 수 있다.
일부의 경우에, 입력 데이터세트가 입력 데이터세트에 매핑되는 경우에(예를 들어, 데이터 피드를 데이터 웨어하우스에 로딩할 때에), 입력 데이터세트는 다수의 필드(예를 들어, 수천 개의 필드)를 가질 수 있으며, 출력 데이터세트는 이보다 적은 수의 필드(예를 들어, 백 개 이하의 필드)를 가질 수 있다. 데이터 관리 시스템은 하나 이상의 입력 필드로부터 소정의 출력 필드로 정보를 어떻게 매핑하는지에 대한 사양을 제공하는 매핑을 사용한다. 데이터 관리 시스템에 대한 사용자 인터페이스는 사용자로 하여금 매핑을 설정("매핑 프로세스" 동안)할 수 있도록 한다.
사용자 인터페이스는 비교적 경험이 적은 사용자가 테스트 값과 유효성 정보를 볼 수 있도록 해서 사용자가 매핑 결과가 의도한 것과 매칭되는지를 검증해서 에러를 줄일 수 있도록 하는 테스트 및 검증 특징을 포함한다. 검증 특징에 의하면, 더 경험이 많은 사용자가 유효성 규칙을, 추후에 매핑 프로세스 동안 적용될 수 있는 출력 데이터세트의 요소와 미리 연관시킬 수 있다. 예를 들어, 한 명 이상의 숙련 사용자는 출력 데이터 기억 시스템 내에 기억된 출력 데이터세트가 여러 다양한 입력 데이터 기억 시스템에 기억된 다수의 입력 데이터 세트로부터 데이터용의 레포지토리로서 기능하게 되는 요건에 관한 지식을 가질 수 있다. 숙련 사용자가 입력 데이터 세트의 모든 필드를 출력 데이터세트의 적절한 필드에 매핑할 수 없을 수 있다. 사용자 인터페이스에 의하면, 여러 초보 사용자가 입력 데이터세트의 각각에 대한 매핑을 제공할 수 있으며, 숙련된 사용자가 하지 않은 초보 사용자에 의해 만들어질 수 있는 에러를 처리하기 위해 또는 초보 사용자가 알지 못하는 출력 데이터세트와 연관된 소정의 협약을 만족시키기 위해 숙련된 사용자가 유효 기준을 행할 수 있는 방법을 제공한다.
더 숙련되거나 더 기술적인 사용자에 의해 제공되는 규칙에 기초한 테스트 및 유효성을 사용자 인터페이스에 통합함으로써, 덜 숙련되거나 덜 기술적인 사용자에 의해 생길 수 있는 에러 또는 불일치를 나중에 하는 것(시스템 통합 프로세스 동안)보다 더 빨리(매핑 프로세스 동안) 처리할수 있다. 크기 정도의 비용 절감은 이들 에러 또는 불일치를 더 신속하게 처리함으로써 이루어질 수 있다. 여러 사용자 그룹이 문제점을 쟁점화하고 식별하는데에 필요한 시간을 감소시키는 것뿐만 아니라 이들이 식별되는 때의 문제점을 더 용이하게 보정할 수 있다.
본 발명의 다른 특성과 장점은 이하의 상세한 설명과 청구범위로부터 명백할 것이다.
도 1은 데이터세트 요소를 매핑하기 위한 시스템의 예를 나타낸다.
도 2는 데이터 관리 시스템의 예를 나타낸다.
도 3a는 데이터 처리 그래프의 예를 나타낸다.
도 3b는 변환의 예를 나타낸다.
도 4는 규칙 엔트리 인터페이스의 예를 나타낸다.
도 5는 변환 뷰 인터페이스 및 관련 요소의 예를 나타낸다.
도 6은 변환 뷰 인터페이스의 동작 과정을 나타내는 플로차트이다.
도 7a-7h는 변환 뷰 인터페이스의 동작 예를 나타낸다.
도 8은 변환 뷰 인터페이스의 예를 나타낸다.
도 9는 계통도의 예를 나타낸다.
도 10은 변환 뷰 인터페이스의 예를 나타낸다.
도 11은 유효성 규칙 인터페이스의 예를 나타낸다.
도 2는 데이터 관리 시스템의 예를 나타낸다.
도 3a는 데이터 처리 그래프의 예를 나타낸다.
도 3b는 변환의 예를 나타낸다.
도 4는 규칙 엔트리 인터페이스의 예를 나타낸다.
도 5는 변환 뷰 인터페이스 및 관련 요소의 예를 나타낸다.
도 6은 변환 뷰 인터페이스의 동작 과정을 나타내는 플로차트이다.
도 7a-7h는 변환 뷰 인터페이스의 동작 예를 나타낸다.
도 8은 변환 뷰 인터페이스의 예를 나타낸다.
도 9는 계통도의 예를 나타낸다.
도 10은 변환 뷰 인터페이스의 예를 나타낸다.
도 11은 유효성 규칙 인터페이스의 예를 나타낸다.
도 1을 참조하면, 데이터세트 요소를 매핑하고 매핑된 데이터세트 요소에 따라 데이터를 처리하기 위한 시스템(10)은, 기억 장치 또는 온라인 데이터 스트림과 같은 하나 이상의 데이터의 소스를 포함할 수 있는 데이터 소스(12)를 포함한다. 이들 소스는 데이터를 다양한 기억 포맷(예를 들어, 데이터베이스 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 또는 메인프레임에 의해 사용되는 네이티브 포맷) 중의 임의의 형태로 기억할 수 있다. 실행 환경(14)은 데이터세트 매핑 모듈(16)과 데이터세트 처리 모듈(22)을 포함한다. 실행 환경(14)은 UNIX 운영 체제 등의 적절한 운영 체제의 제어에 따라 하나 이상의 범용 컴퓨터에서 호스트될 수 있다. 예를 들어, 실행 환경(14)은 다수의 중앙 처리 장치(CPU), 로컬(예를 들어, SMP 컴퓨터 등의 마이크로프로세서 시스템), 또는 로컬로 분산(예를 들어, 클러스터 또는 MPP로서 결합된 다중 프로세서)되거나 원격으로, 또는 원격으로 분산(예를 들어, LAN 또는 WAN 네트워크를 통해 연결된 다중 프로세서), 또는 이들의 조합을 사용하여 컴퓨터 시스템의 설정을 포함하는 다중 노드 병렬 컴퓨팅 환경을 포함할 수 있다.
데이터세트 매핑 모듈(16)은, 이하 더 상세하게 설명되는 바와 같이, 입력 데이터세트와 출력 데이터세트 사이에서 데이터를 매핑하기 위한 매핑 정보를 기억한다. 데이터세트 처리 모듈(22)은 데이터 소스(12)에 기억된 입력 데이터세트로부터 데이터를 판독하고, 예를 들어 데이터에 사용될 변환식(transformational expression)을 포함하는 데이터 기억 시스템(26)에 기억된 매핑 정보(24)에 기초하여, 기억된 매핑 정보에 따라 데이터를 처리한다. 데이터 소스(12)를 제공하는 기억 장치는 실행 환경(14)에 대해 로컬이 되어, 실행 환경(14)을 구동시키는 컴퓨터에 연결된 기억 매체(예를 들어, 하드 디스크(18))에 기억되거나, 실행 환경(14)에 대해 원격이 되어, 예를 들어, 로컬 또는 광역 데이터 네트워크를 통해 실행 환경(14)을 구동시키는 컴퓨터와 통신이 가능한 원격 시스템(예를 들어, 메인프레임(20))에서 호스트된다.
데이터세트 매핑 모듈(16)은 매핑되는 데이터에 기초하여 시각적 표현을 사용자에게(예를 들어, 디스플레이에 표시된 사용자간 인터페이스를 통해) 표시한다. 데이터 기억 시스템(26)은 개발자(30)가 데이터 기억 시스템(26)에 기억되어 데이터를 처리 및 표시하기 위해 데이터 처리 모듈(22)에 의해 사용되는 프로그램을 개발할 수 있는 개발 환경(28)에 액세스할 수 있다. 개발 환경(28)은 일부 구현 예에서는, 애플리케이션을 정점(컴포넌트 또는 데이터세트)과 정점 사이를 연결하는 방향성 링크(작업 요소의 흐름을 나타냄)를 포함하는 데이터 흐름 그래프로서 개발하기 위한 시스템이다. 예를 들어, 이러한 환경은 "Managing Parameters for Graph-Based Applications"라는 명칭의 미국 공개번호 제2007/0011668호에 구체적으로 개시되어 있으며, 이 문헌의 내용을 본원에 참조에 의해 원용한다.
데이터세트 처리 모듈(22)은 데이터베이스 시스템의 여러 형식을 포함하는 다양한 유형의 시스템으로부터 데이터를 처리할 수 있다. 데이터는 각각의 필드("속성" 또는 "컬럼"이라고도 함)에 대한 값을 갖는, 어떤 경우에는 널 값(null value)을 갖는 레코드로서 구성될 수 있다. 먼저, 데이터 소스로부터 데이터를 판독하는 경우, 데이터세트 처리 모듈(22)은 해당 데이터 소스 내의 레코드에 관한 일부 초기 포맷 정보에 의해 개시하는 것이 전형적이다(어떤 경우에는, 데이터 소스의 레코드 구조를 처음에는 알지 못할 수 있고 대신에 데이터 소스의 분석 이후에 정해질 수도 있다). 레코드에 관한 초기 정보로는, 개별 값을 나타내는 비트의 수, 레코드 내의 필드의 순서, 및 비트에 의해 표현되는 값의 타입(예를 들어, 문자열, 부호있는/부호없는 정수) 등이 있다. 데이터세트 처리 모듈(22)이 데이터 소스로부터 레코드를 판독함에 따라, 데이터세트 처리 모듈은 변환식을 사용하여 중간 데이터 및 출력 데이터를 생성한다. 데이터세트 매핑 모듈(16)은 이러한 데이터에 액세스할 수 있으며 데이터 표현을 데이터세트 매핑 모듈(16)의 사용자 인터페이스 내의 사용자에게 표시할 수 있다.
도 2는 시스템(10)을 사용하여 구현될 수 있는, 하나의 데이터세트의 요소를 다른 데이터세트의 요소로 매핑하기 위한 데이터 관리 시스템(300)의 예를 나타낸다. 본 예에서, 시스템(300)은 입력 데이터 기억 시스템에 기억된 하나 이상의 입력 데이터세트(310a, 310b)를 포함하고, 개별의 입력 데이터세트(예를 들어, 데이터베이스 테이블)는 시스템(300)에 대한 입력으로 기능할 수 있는 다수의 개별 요소를 가질 수 있다. 입력 데이터세트(310a)는 입력(312a, 312b, 312c, 312d)(예를 들어, 데이터베이스 테이블의 필드 또는 컬럼)을 갖는다. 또한, 데이터 관리 시스템(300)은 출력 데이터 기억 시스템(입력 데이터 기억 시스템과 동일할 수 있음)에 기억된 하나 이상의 출력 데이터세트(320a, 320b)를 포함하며, 개별의 출력 데이터세트(예를 들어, 데이터베이스 테이블)는 시스템(300)에 대한 출력으로 기능할 수 있는 다수의 개별 요소를 가질 수 있다. 출력 데이터세트(320a)는 출력(322a, 322b, 322c, 322d)(예를 들어, 데이터베이스 테이블의 필드 또는 컬럼)을 갖는다. 데이터 관리 시스템(300)은 입력(312)과 출력(322) 사이의 매핑 관계를 나타내는 매핑(340)을 가지며, 입력에서 출력으로 매핑되는 요소와 관련된 특정 값 또는 특성을 임의 선택적으로 변환한다. 데이터 관리 시스템(300)은 매핑에 의해 정의된 변환식을 실행하고 사용자 인터페이스를 통해 사용자와 상호작용하기 위한 데이터 처리 시스템(예를 들어, 데이터세트 처리 모듈(22)에 의해 실행되는 데이터 흐름 그래프)을 포함하며, 데이터베이스 서버(350) 또는 다른 컴퓨팅 시스템과 관련하여 동작할 수 있다. 일례로, 데이터 관리 시스템(300)의 데이터 처리 시스템은 입력 데이터세트(310a)로부터 출력 데이터세트(320a)로 데이터를 불러오고, 입력 데이터세트(310a)로부터 출력 데이터세트(320a)로 불러오는 데이터(예를 들어, 개별 레코드)에 대해 변환을 적용하기 위해 매핑(340)을 사용한다. 일례로, 데이터 관리 시스템(300)의 데이터 처리 시스템은 매핑(340)을 사용하여 추후에 데이터에 적용될 변환식을 사용자가 설계하거나 및/또는 데이터를 불러오기 위한 다른 데이터 처리 시스템을 사용하는 데에 도움을 준다.
이들 도면에서, 굵은 선으로 된 닫힌 화살표는 데이터의 흐름을 나타내며, 점선으로 된 열린 화살표는 도면의 설명에서 명시하는 바와 같이 다른 종류의 연관을 나타낸다.
일부 입력은 일부 출력에 직접 매핑될 수 있다. 예를 들어, 데이터 관리 시스템(300)은 변환을 수행하지 않고 입력(312a)을 출력(322a)에 직접 전달한다. 입력(312a)은 "Last Name"이라고 부르는 필드에 대응하고, 출력(322a)은 "LName"이라고 부르는 필드에 대응할 수 있다. 이들 필드는 동일한 데이터 논리 값을 동일한 포맷으로 기억하도록 되어 있기 때문에, 입력 데이터세트(310a)의 레코드가 출력 데이터세트(320a)로 불러올 때에 데이터 값의 변환은 필요하지 않을 것이다. 일부 입력은 출력에 매핑될 수 있으며, 데이터 관리 시스템(300)은 입력과 연관된 데이터를 변환할 수 있다. 예를 들어, 입력(312c)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소는 계산을 수행함으로써 또는 해당 요소에 연관된 데이터 값이나 해당 요소와 연관된 특성값을 변화시키는 식을 적용함으로써 변환될 수 있다(예를 들어, 입력 데이터세트(310a)의 레코드의 소정의 필드 내의 데이터 값은 이들 레코드가 출력 데이터세트(320a)로 불러올 때에 변환된다). 변환은 데이터 값을 동일하게 유지하면서 데이터 타입을 변환하는 것을 포함할 수 있으며, 아니면 예를 들어 측정 단위 또는 캐피털라이제이션(capitalization) 등의 특성값을 변화시키기 위해 데이터 값을 변환하는 것을 포함할 수 있다. 일부 입력은 출력에 매핑될 수 있으며, 데이터 관리 시스템(300)은 미리정해진 기준에 따르는 변수 형태로 입력을 변환할 수 있다. 예를 들어, 입력(312d)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소와 연관된 데이터 중의 일부는 소정의 기준에 따라 적용되는 하나의 변환식을 가질 수 있으며, 동일한 입력(312d)에 의해 데이터 관리 시스템(300)에 의해 매핑되는 요소와 연관된 다른 데이터는 소정의 기준에 따라 적용되는 다른 변환식을 가질 수 있다. 어떤 변환식을 데이터에 적용할지를 판정하기 위한 기준은, 예를 들어 데이터 관리 시스템(300)의 계산 로직(302)에 의해 정해질 수 있다. 계산 로직(302)은, 이하 더 상세하게 설명하는 바와 같이, 사용자 인터페이스 내에 규칙을 정하거나 사용자가 식을 입력함으로써 제공될 수 있다. 또한, 이들 예에서, 입력(312b, 312c)으로부터의 데이터를 출력(322b)에 매핑되는 데이터를 생성하는 데에 사용하는 것과 같이, 변환은 단일의 출력에 매핑되는 데이터를 생성하기 위해 하나 이상의 입력으로부터 데이터에 대해 작용할 수 있다. 예를 들어, 출력(322b)은 값이 입력(312b, 312c)에 대응하는 필드의 값의 함수인 필드에 대응할 수 있다. 따라서, 소정의 출력과 하나 이상의 입력 사이의 매핑된 관련성은 단일 입력의 식별 또는 하나 이상의 식별된 입력에 적용되는 변환식의 사양을 포함할 수 있다. 하나 이상의 입력을 출력에 매핑하는 데에 사용되는 변환식은 적용될 식이나 수행될 계산을 정의하는 데이터 구조의 형태를 취할 수 있으며, 이하 상세하게 설명하는 바와 같이, 다양한 데이터 처리 문맥에 사용될 수 있는 변환식을 말한다. 데이터 관리 시스템(300)에서의 매핑(340)은 일련의 변환식(130a, 130b, 130c, 130d)을 사용하여 구현된다.
변환은 하나 이상의 가능한 출력을 생성하기 위해 하나 이상의 입력에서 수행되는 동작을 정의한다. 일례로, 변환식은 처음에는 미리 정해진 포맷을 가진 데이터 구조로서 저장되고, 나중에 실행가능한 형태로 컴파일된다. 변환식은 데이터 흐름을 나타내는 링크 요소에 의해 연결된 데이터 처리 성분을 갖는 데이터 흐름 그래프 등의 그래프 기반의 계산의 문맥에 사용될 수 있다. 예를 들어, 도 3a의 단순한 데이터 흐름 그래프(130)는 입력으로서 2개의 데이터세트(132, 134)(예를 들어, 항공사의 단골 고객 데이터 및 비행 예약 데이터)을 가지며, 데이터를 별개의 포맷 성분(136, 138) 내의 각각의 세트로 포맷함으로써, 이들이 함께 사용될 수 있고, 이들을 결합 성분(140)에서 결합하여, 출력 데이터세트(142)를 생성할 수 있다. 변환식은 그래프(130)에서와 같이, 그래프 기반의 계산에 의해 자체적으로 구현되거나, 그래프(130)가 구성되는 개별 성분(136, 138, 140) 등의 그래프의 성분 내에서 구현될 수 있다.
변환식은 "비지니스 규칙"(business rule)이라고 부르는 데이터 처리 구성을 사용하여 구현될 수도 있다. 비지니스 규칙은, 예를 들어, 데이터를 하나의 포맷에서 다른 포맷으로 전환하고, 데이터에 관한 판정을 행하고, 입력 데이터세트에 기초하여 새로운 데이터를 생성하기 위해 사용될 수 있는 일련의 기준으로서 표현될 수 있다. 예를 들어, 도 3b에서, 비행 예약 시스템의 레코드(102)는 승객의 이름(104), 승객이 금년 마일리지(106), 승객의 티켓의 클래스(108), 승객이 앉는 좌석 열(110)을 나타낸다. 비지니스 규칙은 이러한 승객이 보딩 그룹 1에 들어가야 한다는 것을 나타낸다. 비지니스 규칙은 "제1 클래스의 승객은 그룹 1에"와 같이 일반적으로 이해하기가 쉽지만, 데이터를 조작하기 위해 사용하기 전에 컴퓨터가 이해할 수 있는 것으로 번역하여야 한다. 비지니스 규칙은 입력 데이터세트(100) 등의 하나 이상의 데이터 소스로부터 레코드(102) 등의 입력 레코드를 수신하고, 승객의 이름(104)과 승객이 어느 그룹인지(118)를 나타내는 레코드(114) 등의 출력 레코드를 출력 데이터세트(120)에 삽입하는 변환식(112)을 사용하여 구현될 수 있다. 입력 및 출력 데이터세트는 데이터 스트림이라고도 한다.
비전문가 사용자를 위한 비지니스 규칙을 구현하는 변환식의 생성 및 조작을 단순하게 하기 위해, 이러한 사용자가 규칙 세트라고 부르는 하나 이상의 비지니스 규칙의 세트를 사용자가 친숙한 형태로 취급할 수 있도록 하는 도구가 제공된다. 이러한 규칙 세트는 컴퓨터 시스템에게 이들이 변환식을 실행하길 원하는 것을 알려준다. 규칙 세트는 단일의 변환식을 생성하는 규칙 세트이다. 규칙은 입력에 따라 규칙의 출력에 대한 여러 상이한 값들을 계산하는 하나 이상의 규칙 케이스로 이루어질 수 있다. 규칙은 다른 규칙을 포함할 수도 있다. 규칙 세트 내의 일부 규칙은 추가의 또는 대체가능한 출력에 대한 값을 생성할 수 있다. 규칙 세트는 "내포된" 규칙 세트라고 하는 다른 규칙 세트를 포함할 수 있다.
도 4는 비지니스 규칙의 특성을 특정하기 위한 사용자 인터페이스의 예인 비지니스 규칙 에디터(200)를 나타낸다. 비지니스 규칙 에디터(200)는 입력 데이터세트의 요소를 출력 데이터세트의 요소에 매핑하고 데이터 관리 시스템(300)에 사용되는 대응하는 매핑(340)을 생성하기 위한 사용자 인터페이스의 성분이 될 수 있다. 비지니스 규칙의 출력은 왼쪽에 표시되고 비지니스 규칙의 출력은 오른쪽에 표시된다. 비지니스 규칙 에디터(200) 내의 트리거 컬럼(202, 204, 206, 208)은 이용가능한 데이터 값에 대응하며, 열(210a-h)은 규칙 케이스, 즉 이용가능한 데이터 값에 관련된 기준 세트에 대응한다. 규칙 케이스는 규칙 케이스가 기준을 갖는 각각의 트리거 컬럼에 대해 해당 레코드의 데이터 값이 트리거링 기준을 만족하는 경우에 소정의 레코드(예를 들어, 도 1a의 102)에 적용한다. 규칙 케이스가 적용되면, 하나 이상의 출력 컬럼(212)에 기초하여 출력이 생성된다. 모든 입력 관련성이 만족되는 규칙 케이스를 "트리거된" 것이라고 할 수 있다. 각각의 출력 컬럼(212)은 잠재 출력 변수에 대응하고, 적용가능한 열(210a-h)의 대응하는 셀 내의 값은, 해당 변수에 대한 출력을 결정한다. 셀은 변수에 할당되는 값을 포함할 수 있거나, 출력 값을 생성하기 위해 평가되어야 하는 식을 포함할 수 있다. 이에 대해서는 나중에 설명한다. 출력 컬럼은 도 4에서는 하나만 도시되어 있지만, 하나 이상도 가능하다.
비지니스 규칙의 편집과 관련해서, 출력 변수는 입력 변수의 단순히 이름인 식을 포함하는 식인 "디폴트 값"을 갖는다. 출력 변수는 더 복잡한 로직을 나타내는 규칙에 의해 계산될 수 있다. 사용자가 비지니스 규칙을 편집하는 경우에, 사용자는 출력 변수를 볼 수 있으며, 사이드 바(sidebar)로부터 입력 변수를 출력 변수에 대응하는 디폴트 값 셀으로 드래그함으로써 매핑을 설정한다. 사용자는 출력 변수에 대한 디폴트 값 식을 직접 편집할 수 있다. 또한, 특정의 출력을 계산하기 위해 더 진보된 로직이 필요한 경우, 사용자는 해당 출력을 계산하기 위해 하나 이상의 규칙을 생성할 수 있다.
비지니스 규칙을 편집할 때에, 사용자는 출력 변수에 관한 기술적 정보를 포함하는 출력 변수 그리드(output variable grid) 내에 디폴트 값을 할당할 수 있다. 예를 들어, 사용자는 규칙 세트를 나타내는 주요 형식으로부터 출력을 위한 규칙을 생성할 수 있다. 매핑(340)을 생성하기 위한 사용자 인터페이스의 일례로서, 사용자가 규칙을 생성하는 경우, 사용자는 디폴트 값을 보게 될 것이며, 사용자가 디폴트 값을 할당하는 경우, 대응하는 규칙을 이용할 수 있게 된다.
비지니스 규칙은 비전문가인 사용자에 의해 생성되고 조작될 수 있기 때문에, 사용자 그룹은 의도하는 기능을 수행하는 규칙을 생성 및 조작하기 위한 능력을 바꿀 수 있다. 일부 사용자는 비지니스 규칙의 생성 및 조작 방법을 제대로 이해하지 못할 수 있지만, 다른 사용자는 비지니스 규칙을 생성 및 조작하기 위한 모든 특성을 잘 이해할 수 있을 것이다. 또한, 일부 사용자는 비지니스 규칙의 기초적인 의미, 예를 들어 실세계에서의 응용을 충분히 이해하여야 하지만, 다른 사용자는 비지니스 규칙을 사용 중에 적용하는 방법을 알지 못할 수 있다. 예를 들어, 소득세에 대해 잘 알지 못하는 사용자는 소득세 신고를 하기 위해 사용되는 비지니스 규칙의 목적을 충분히 이해하지 않아도 된다. 비지니스 규칙의 실제 적용에 대한 사용자의 지식은 비지니스 규칙에 관한 사용자의 기술적 지식과는 무관할 수 있다. 예를 들어, 기술적 지식은 많지만 응용 지식이 부족한 사용자는 비지니스 규칙을 생성할 수는 있지만, 응용 숙련된 사용자는 비지니스 규칙을 검토해서 비지니스 규칙을 사용하는 경우에 그 의도된 목적을 달성할 수 있을 것이다. 이 경우, 기술적 숙련된 사용자는 비지니스 규칙의 응용에 대해서는 초보 사용자로서 취급될 수 있지만, 높은 응용 지식을 가진 사용자는 비지니스 규칙의 적용에 대해서는 전문적 사용자로서 취급될 수 있다. 다른 예로서, 기술적으로 전문 지식을 가진 사용자는 기술적 지식이 부족한 사용자가 만든 비지니스 규칙을 검토해서 이러한 비지니스 규칙이 기술적 요건을 만족하는지를 판단할 수 있다. 이들 예에서, 기술적으로 전문 지식을 가진 사용자는 전문가 사용자로서 취급될 수 있으며, 기술적 지식이 부족한 사용자는 초보 사용자로서 취급될 수 있다. 또한, 일부 시스템은 다수의 사용자가 생성한 많은 비지니스 규칙을 가질 수 있는데, 사용자들은 전체 규칙 중의 작은 부분만을 생성하게 된다. 각각의 규칙의 기능성은 각각의 생성자-조작자의 기술적 숙달도를 반영할 것이다.
사용자 인터페이스에 의하면, 입력 레코드로부터의 필드와 출력 레코드 내의 필드 사이에서의 매핑과 같은, 입력 데이터세트의 요소와 출력 데이터세트의 요소 사이에서의 매핑(340)을 생성할 수 있게 해준다. 예를 들어, 데이터의 피드(feed)를 데이터 웨어하우스에 로딩할 때에, 피드(입력)는 백 개의 필드를 가질 수 있다. 피드 내의 데이터는 50개의 필드를 데이터 웨어하우스(출력)로 이동시키는 데에 사용될 것이다. 본 예에서의 매핑(340)은 입력 필드가 출력 필드에 매핑되는 방법의 사용을 제공한다.
일부의 경우에, 개별적인 입력 필드는 출력 필드에 직접 개별적으로 매핑될 것이다. 따라서, 많은 출력은 이들을 사용자 인터페이스 내의 특정 입력 필드의 값에 할당하는 것으로 계산될 것이다. 다른 출력은 식, 상수, 입력 필드의 단순 조합(예를 들어, 문자열의 연결), 또는 if/then/else 로직이나 함수 호출을 포함하는 더 복잡한 로직으로 계산될 수 있다. 일부 출력은 비지니스 규칙을 사용하여 계산될 수 있다. 사용자 인터페이스는 비지니스 규칙 에디터(200) 등의 적절한 에디터를 제공할 수 있다.
일례로, 데이터 관리 시스템(300)은 더 복잡한 작업과 관련된 사용자 인터페이스 내에 직접 피드백을 수신하면서, 사용자로 하여금 작업을 더 단순하게 할 수 있도록 할 수 있는 사용자 인터페이스를 포함한다. 예를 들어, 이하 더 상세하게 설명하는 유효성 판단 작업은 전문 지식을 가진 사용자에 의해 미리 준비된 유효성 사양(validation specification)에 의해 사용될 수 있다. 다수의 관련 작업을 사용할 수 있게 하는 단일 사용자 인터페이스에 의하여, 사용자는 변환식을 조작 또는 변경함으로써 입력 데이터세트의 요소를 출력 데이터세트의 요소에 매핑할 수 있게 되어, 원하는 매핑을 제공할 수 있다. 또한, 사용자는 변환식을 조작하는 것이 입력과 출력 사이의 매핑에 어떻게 영향을 미치는지에 대한 하나의 위치를 찾을 수 있다. 예를 들어, 사용자 인터페이스를 사용하여, 사용자는 에러를 찾아서 고침으로써, 변환식이 의도된 대로 작용할 수 있다.
테스트 데이터는 변환식 또는 변환식의 세트가 의도된 대로 작용할 수 있는지를 평가하는 데에 도움을 줄 수 있다. 테스트 데이터는, 예를 들어 원형의 입력(prototypical input)과 출력 기대치(expected output)의 세트를 사용하여 제공될 수 있다.
일례로, 사용자는 테스트 데이터를 생성하기 위해 사용될 수 있는 실제 데이터를 가지고 있다. 사용자가 테스트하기 위한 실제 데이터를 가지고 있지 않은 경우를 취급하기 위해, 시스템은, 예를 들어 한번에 하나의 레코드의 테스트 데이터를 입력하기 위한 데이터 엔트리 형식(data entry form)을 제공할 수 있다. 사용자는 입력 데이터세트 내의 필드의 각각에 대한 값을 입력할 수 있으며, 이들 레코드는 테스트 데이터세트에 추가될 것이다.
데이터 관리 시스템(300)은 변환식에 대한 구문 규칙(syntax rule)을 제공할 수 있다. 구문 규칙은 컴파일 및/또는 실행이 적절하게 수행되는 변환식의 구조를 나타낸다. 데이터 관리 시스템을 운용하는 사용자가 임의의 변환식을 변경하면, 사용자의 변경은 구문 규칙에 부합하여야 한다. 또한, 데이터 관리 시스템(300)은 변환식의 출력에 대한 유효성 규칙(validation rule)을 제공할 수 있다. 유효성 규칙은 출력 데이터세트의 원하는 포맷이나 다른 특성에 따라 유효한 것으로 용인되는 출력의 타입을 나타낸다. 사용자가 임의의 변환식을 실제 데이터 또는 테스트 데이터에 적용하면, 변환식의 출력은 유효성 규칙에 부합해야 한다. 유효성 규칙과 구문 규칙은 상기 설명한 바와 같이 규칙 세트로서 제공되거나, 변환식의 출력에 적용될 수 있는 실행가능한 로직의 형태로 제공될 수 있다.
일례로, 사용자는 단일의 사용자 인터페이스에서 하나 이상의 변환식을 액세스할 수 있다. 이 사용자 인터페이스는 매핑(340)과 연관된 변환식 중의 일부 또는 모두를 사용자에게 제공한다. 또한, 단일의 인터페이스는 구문 규칙과 유효성 규칙을 자동으로 적용하여, 변환식이 변경되거나 실행됨에 따라 테스트 데이터를 변환할 수 있다.
따라서, 인터페이스로부터, 사용자는 이들 입력이 평가되고 변환되는 것을 포함하여, 매핑이 출력의 수집에 대한 입력의 수집이 어떻게 관련되어 있는지를 볼 수 있다.
도 5는 중요한 기술적 경험을 가지지 않아도 되는 초보 사용자(402)에 의해 조작될 수 있는 매핑 뷰 인터페이스(mapping view interface)(500)의 예를 나타낸다. 매핑 뷰 인터페이스(500)는 하나 이상의 입력과 소정의 출력 사이의 매핑 관련성을 각각 특정하는 열(row)을 제공한다. 이 인터페이스(500)는 입력, 뷰 및 편집이 가능한 변환식의 형태로 표시되는 변환식(502)을 위한 컬럼(column)을 포함한다. 변환식은 입력 데이터세트의 필드에 매핑되는 입력 변수를 의미한다. 입력이 변환 없이 출력에 직접 매핑되는 경우에, 변환 컬럼(transform column)은 임의의 변환식을 포함하지 않고도 입력을 식별할 수 있다. 일례로, 변환식(502)은 일정한 값을 출력에 직접 매핑할 수 있으며, 그 결과로서의 출력은 임의의 입력 변수에 기초하여 변화하지 않는 값을 가질 것이다.
변환식(502)은 변경(modification)을 사용하여 변경 및 재실행될 뿐만 아니라 인터페이스로부터 자동으로 실행될 수 있다. 초보 사용자(402)는 생성 또는 변경되는 변환식(502)의 출력의 유효성을 보장하기 위해 전문 지식을 가질 필요는 없지만, 매핑 뷰 인터페이스(500)는 더 숙련된 사용자의 전문 지식을 사용하는 초보 사용자(402)에게 추가의 정보를 제공하며, 초보 사용자(402)에 의해 가능한 에러로부터 보호하기 위한 추가의 안전 조치를 제공한다.
변환식은 하나 이상의 성분(component)을 포함하는 데이터 흐름 그래프(130)에 의해 구현될 수 있다. 데이터 흐름 그래프(130)는 변환식의 기능을 실행하는 실행 코드(executable code)를 갖는다. 매핑 뷰 인터페이스(500)는 이 실행 코드를 추출해서 직접 실행시킬 수 있다.
초보 사용자(402)가 변환식(502)을 변경함에 따라, 매핑 뷰 인터페이스(500)는 변경이 허용가능한 것인지를 평가하기 위해 구문 규칙(510)을 변경된 변환식에 적용할 수 있다. 구문 규칙(510)은 변환식에 대한 유효한 구조를 특정한다. 적절하지 않게 구조화된 변환식은 적절하게 실행될 수 없을 것이다. 초보 사용자(402)가 무효 구조(invalid structure)를 제공하는 방식으로 변환식을 변경하는 경우, 변환식 뷰 인터페이스(transform view interface)는 구문 규칙을 사용하여 무효를 식별하고 문제가 있다는 것을 사용자에게 알린다. 구문 규칙(510)은 변환식 구조와 실행에 관한 전문 지식을 가진 전물 사용자(404b)에 의해 정의될 수 있어서, 초보 사용자(402)는 숙련된 사용자로부터 변환식에 대한 이해를 높일 수 있다.
사용 중에, 숙련된 사용자(404a, 404b, 404c)가 적고 초보 사용자(402)가 많을 수 있는데, 이들 모두는 유사한 데이터세트에 작용하는 변환식을 조작하기 위해 매핑 뷰 인터페이스(500)의 인스턴스(intance)를 사용하고 있다. 숙련된 사용자(404a, 404b, 404c) 많은 가능한 동작 시나리오 중에서 초보 사용자에 의해 사용될 구문 규칙 및 유효성 규칙을 정의할 수 있다. 이에 의하면, 초보 사용자들은 숙련된 사용자의 전문 지식을 얻을 수 있다.
도 5를 다시 참조하면, 각각의 변환식(502)은 출력 이름(output name)(508)과 연관된다. 출력 이름(508)은 변환된 출력의 "실세계"(real-world) 함수를 나타내도록 선택될 수 있으며, 데이터 관리 시스템 자체에 의해 사용되는 다른 식별자 또는 변수 이름과는 다르다. 출력 이름(508)은 변환식(502)이 데이터를 제공하는 출력 데이터세트(320) 내의 필드에 대응한다. 예를 들어, 변환식(502)이 항공기 여행자의 데이터베이스용으로 정해진 데이터를 처리하면, 출력 이름(508)은 항공사, 항공편, 승객 식별정보, 또는 다른 실세계 개념과 관련된 데이터베이스 내의 필드를 나타낼 수 있다.
각각의 변환식(502)은 테스트 값(504)과 연관될 수 있다. 사용자는 변환식이 실행되는 테스트 데이터(512)를 선택함으로써, 테스트 데이터가 변환식(502)을 위한 입력 데이터세트(310)로서 사용하기 위해 포맷될 수 있다. 테스트 데이터(512)내의 소정의 레코드(예를 들어, 개시 레코드)에 대해 실행되는 변환의 결과는 테스트 값(504)으로 나타낸다. 테스트 데이터(512)는 다양한 테스트 시나리오를 정의하기 위해 전문 지식을 갖는 숙련된 사용자(404a, 404b, 404c) 또는 초보 사용자(402)에 의해 생성될 수 있어서, 초보 사용자(402)는 변환식(502)을 간단히 편집해서 볼 수 있다.
각각의 변환식은 유효성(506)과 연관될 수 있다. 초보 사용자(402)가 테스트 데이터(512)를 사용하여 변환식을 실행하면, 매핑 뷰 인터페이스(500)는 테스트 값(504)의 결과가 유효한지를 판정하기 위해 유효성 규칙(514)을 적용할 수 있다. 변환식(502)의 출력은 포맷 또는 콘텐츠에 관련된 제한을 가질 수 있으며(예를 들어, 출력 데이터세트(320)의 특성에 기초해서), 유효성 규칙(514)은 출력에 대한 포맷 또는 콘텐츠가 유효한 것을 특정한다. 예를 들어, 변환식은
소정 범위 내에 있어야 하는 수의 형태로 출력을 제공할 수 있거나, 또는 변환식은 사전에 따라 정확하게 쓰여진, 소정의 길이가 되어야 하는 또는 다른 특성을 갖는 워드의 형태로 출력을 제공할 수 있다. 유효성 규칙(514)은 출력이 미리 정해진 가능한 값의 세트 중의 하나가 되어야 한다는 것을 특정할 수 있다. 유효성 규칙(514)은 출력이 블랭크 값 또는 널 값에 대응하지 않아야 한다는 것을 특정할 수 있는데, 이러한 블랭크 값 또는 널 값은 변환식에 의해 블랭크 값 또는 널 값을 생성하는 출력에 입력을 연결될 수 있거나, 출력이 임의의 입력에 매핑되지 않게 될 수 있다. 유효성 규칙(514)은 여러 출력 사이에서의 제한이 만족되는 것을 보장하기 위해 매핑된 출력을 전체적으로 적용될 수 있다. 예를 들어, 2개의 출력은 유효 값을 개별적으로 가질 수 있지만, 이들의 합은 소정의 제한을 만족시키지 않을 수 있거나, 하나의 출력 값이 유효한지 여부에 대한 판정이 다른 출력의 값에 의존할 수 있다(예를 들어, "육아 휴직" 필드의 유효 값은 "성별" 필드가 남성 또는 여성 값을 갖는지 여부에 의존할 수 있다). 일례로, 유효성 규칙(514)은 정보의 2차적 또는 외부 소스와 관련해서 작용할 수 있다. 예를 들어, 변환식(502)은 제1 포맷에서 제2 포맷으로 데이터를 전환하는 데에 사용될 수 있다. 유효성 규칙은 제1 포맷으로 나타낸 데이터에 대한 유효 값을 나타내고 제2 포맷으로 나타낸 데이터의 대한 유효 값을 나타내는 테이블 등의 데이터 구조를 참조할 수 있다.
테스트 값(504)이 유효성 규칙(514)에 의해 특정된 포맷 또는 콘텐츠 제한을 벗어나면, 유효성(506)은 테스트 값(504)에 문제가 있으며, 이에 따라 변환식(502)에도 문제가 있을 수 있다는 것을 나타낼 것이다. 숙련된 사용자(404a, 404b, 404c)는 소정의 데이터세트를 분석하는 방법을 숙련된 사용자에 의존하는 유효성 규칙(514)을 정의하고, 해당 데이터세트에 대한 유효 데이터를 구성하는 것을 판정할 수 있다. 숙련된 사용자는 이들 유효성 제한을 변환식의 출력에 적용되고 실행 코드로서 기억될 수 있는 유효성 규칙(514)에 코드화하기 위해 기술적 프로그래밍과 데이터 관리 지식에 의존할 수 있다. 따라서, 매핑 뷰 인터페이스(500)를 운용하는 초보 사용자(402)는 테스트 데이터(512)로부터 생긴 테스트 값(504)을 신중하게 검사하지 않아도 되고, 대신에 더 주의를 해야 하는 문제가 있는지를 알기 위해 유효성(506)을 조사할 수 있다.
도 6은 사용자가 매핑 뷰 인터페이스(500)를 사용하여 매핑 및 이들과 관련된 변환식을 보고 조작할 수 있도록 하기 위해 시스템(300)에 의해 사용되는 과정(600)의 예에 대한 플로차트를 나타낸다. 이 과정은 소정의 변환식의 입력에 매핑되는 입력 데이터세트의 요소(예를 들어, 필드)에 대응하는 입력 데이터 값을 제공하는 하나 이상의 레코드를 포함하는 테스트 데이터를 취득한다(602). 이후, 본 과정은 소정의 변환식의 출력에 매핑되는 출력 데이터세트의 요소에 대응하는 데이터 대상(예를 들어, 필드)을 식별한다(604). 다음으로, 본 과정은 변환식의 최신 버전을 포함하는 매핑의 최신 버전을 취득한다(606). "레코드 테스트 모드"에서, 본 과정은 유효성 규칙을 입력 데이터세트의 단일의 테스트 레코드에 적용한다. "데이터세트 테스트 모드"에서, 본 과정은 입력 데이터세트의 다중 테스트 레코드에 유효성 규칙을 적용한다(일부의 경우에는, 입력 데이터세트 내의 모든 레코드).
본 과정은 사용자가 새로운 입력을 입력한 경우, 하나 이상의 변환식에 대한 변경을 나타내는지를 판정한다(608). 사용자가 새로운 입력을 입력하지 않은 경우, 본 과정은 테스트 데이터에 변환식의 현재 버전을 적용한다(610). 이후, 본 과정은 변환식으로부터의 출력으로서 수신된 테스트 값 결과에 유효성 규칙을 적용한다(612). 본 과정은 변경된 변환식을 표시하고(614), 변경된 변환식으로부터 테스트 값 결과를 표시한다(616). 또한, 본 과정은 유효성 규칙을 적용한 결과에 기초해서 유효성 정보를 표시(618)함으로써, 사용자는 테스트 값이 유효한지 여부를 평가할 수 있다. 유효성 정보가 출력이 유효성 기준을 만족하지 않는 특정의 변환식과 관련되어 있으면, 유효성 정보는 해당 변환식(예를 들어, 유효성 컬럼의 대응하는 열 내의 아이콘 및/또는 설명용 텍스트)과 시각적으로 연관될 수 있다. 일례로, 유효성 정보는 다중 변환식의 무효 출력 또는 다수 변환식 간의 무효 관련성과 연관될 수 있으며, 이 경우 유효성 정보는 임의의 특정의 변환식과 반드시 연관되지 않아도 된다. 본 과정은 변환식에 의해 사용되는 대상의 출력 이름을 표시한다(620). 이어서, 본 과정은 사용자가 변환식을 변경하는 임의의 새로운 입력을 입력했는지 여부를 판정(608)하도록 복귀한다.
사용자가 하나 이상의 변경된 변환식에 새로운 입력 결과를 입력하면, 본 과정은 새로운 입력에 기초하여 변환식을 다시 컴파일하는 변환식 컴파일러(transform compiler)로부터 변경된 변환식을 수신하고(622), 변경된 변환식의 구문을 체크한다(624). 구문이 구문 규칙에 따라 무효이면, 본 과정은 사용자에게 경고(625)함으로써, 사용자가 새로운 입력의 형태로 구문을 보정할 수 있도록 한다. 구문이 무효이면, 본 과정은 변경된 변환식을 수용(626)하고 변환식을 테스트 데이터에 적용(610)함으로써 상기 설명한 단계를 계속한다. 레코드 테스트 모드에서, 테스트 레코드에 변경된 변환식을 재컴파일 및 적용하는 것은 거의 실시간으로(예를 들어, 1초 이하) 일어날 수 있어서, 사용자는 변환식이 편집됨에 따라 구문 및 유효성 규칙에 기초하여 라이브 피드백을 경험할 수 있다. 데이터세트 테스트 모드에서, 테스트 레코드에 변경된 변환식을 재컴파일 및 적용하는 것은 사용자의 요청에 따라 개시될 수 있다.
도 7a-7h는 매핑 뷰 인터페이스와 다양한 사용자 상호작용의 예를 나타낸다. 인터페이스는 변환식(702)(변환식의 문자 표현), 테스트 값(704), 유효성(712) 및 출력을 포함한다.
도 7a를 참조하면, 사용자는 변환식(702)을 변경한다. 변경이 기형 변환식(malformed transformational expression)을 생성하면, 인터페이스는 기형 변환식에 제공된 구문 규칙에 따른 느낌표(71)가 있다는 것을 나타낸다.
도 7b를 참고하면, 보정된 구문을 갖는 변경된 변환식(702)을 제공하는 사용자에 따라 테스트 값(704)이 제공된다.
도 7c를 참고하면, 사용자는 식에 의해 변환된 입력 데이터에 기초하여 출력(708)에 대한 값을 계산하는 변환식(702)을 입력한다.
도 7d를 참고하면, 사용자는 몇 개의 변환식 중의 하나(702b)에 기초하여 입력(708)에 대한 값을 계산하는 변환식(702a)을 입력한다.
도 7e를 참고하면, 사용자는 출력(708)을 위한 값을 계산하기 위해 다른 변환식(702b)에 의존하는 변환식(702a)을 입력한다.
도 7f를 참고하면, 사용자는 다른 변환식(702a)이 의존하는 변환식(702b)을 변경한다. 제1 변환식의 출력(708)이 이에 따라 갱신된다.
도 7g를 참고하면, 유효성 통지(validation notice)(712)는 변환식이 구문적으로 정확한 경우라도, 변환식(702)의 출력에 문제가 있다는 것을 나타낸다.
도 7h를 참고하면, 사용자는 테스트 데이터(708)를 본다. 유효성 통지(712)는 변환식(702)의 테스트 데이터에의 적용에 문제가 있음을 나타낸다.
도 8은 세금 용지에 대한 값을 계산하기 위한 변환식을 관리하는 데에 사용되는 매핑 뷰 인터페이스(500)의 구현을 나타내는 매핑 뷰 인터페이스(800)의 예를 나타낸다. 매핑 뷰 인터페이스(800)는 많은 열(802a, 802b, 802c)을 가지며, 이들 열은 출력 필드(804)(예를 들어, 본 예에서는 세금 용지의 라인)의 이름, 출력 필드(804)에 대응하는 출력 값을 계산하도록 수행되는 변환식(806), 테스트 데이터에 적용될 때에 변환식(806)의 계산된 값(808)의 형태로 된 테스트 값(예를 들어, 도 5에 나타낸 테스트 데이터(512))을 각각 포함한다. 계산된 값(808) 중의 하나가 유효성 규칙(예를 들어, 도 5에 나타낸 유효성 규칙(514)을 트리거하면, 매핑 뷰 인터페이스(800)는 유효성 규칙이 트리거되었다는 것을 나타내기 위해 계산된 값에 가까운 유효성 지시자(validation indicator)(810)를 표시하고, 사용자는 유효한지 여부 및/또는 관련된 변환식(806)을 변경할 필요가 있는지 여부를 판정하기 위해 계산된 값을 검사할 수 있다. 일례로, 유효성 지시자(810)는 계산된 값(808)과 예측 값 사이의 차를 나타낸다. 예를 들어, 변환식(806)은 출력 값을 생성하기 전에 적용되어 있을 수 있다. 변환식(806)이 동일한 입력 데이터에 적용되면, 계산된 값(808)은 미리 생성된 출력 값과 동일한 것으로 예측될 수 있다. 일례로, 계산된 값(808) 중의 하나가 구문 규칙 중의 하나(예를 들어, 도 5에 나타낸 구문 규칙(510))를 트리거하면, 매핑 뷰 인터페이스(800)는 구문 에러 지시자(도시 안 됨)를 표시한다.
매핑 뷰 인터페이스(500)는 하나 이상의 데이터 흐름 그래프에 의해 수행되는 일련의 동작 중의 여러 시점에서 변환식, 출력 필드, 및 계산된 값을 보는 데에 사용될 수 있다. 매핑 뷰 인터페이스(500)는 하나 이상의 변환식에 따라 변환된 데이터의 여러 필드 내의 값에 관한 정보를 표시하는 데에 사용될 수 있는 계통도를 생성할 수 있다. 데이터베이스 사용자는 여러 데이터 소스로부터 기준 데이터가 어떻게 유도되는지를 검사하길 원할 수 있다. 예를 들어, 데이터베이스 사용자는 어느 소스로부터 데이터세트 또는 데이터 오브젝트가 불러왔는지 또는 데이터세트 또는 데이터 오브젝트가 어떻게 생성되었는지를 알기를 원할 수 있다. 데이터세트를 데이터세트가 유도되는 소스로 다시 추적하는 것을 데이터 계통 추적(data lineage tracing)(또는 "업스트림 데이터 계통 추적")이라고 한다. 때때로, 데이터베이스 사용자는, 예를 들어 애플리케이션이 소정의 데이터세트를 판독한 소정의 데이터세트가 사용된 방법("다운스트림 데이터 계통 추적" 또는 "영향 분석"이라고 함)을 조사하길 원할 수 있다. 데이터베이스 사용자는 데이터세트가 다른 데이터세트와 관련되어 있는지에 관심을 가질 수도 있다. 예를 들어, 사용자는 데이터세트가 변경되는지, 어떤 테이블이 영향을 받을 것인지를 알기를 원할 수 있다.
도 9는 적용되는 변환식을 나타내는(예를 들어, 데이터 흐름 그래프 내의 여러 성분에 의해) 노드(904a, 904b, 906c)와, 업스트림 입력 테스트 데이터세트(908)로부터 다운스트림 출력 데이터세트(912)까지의 업스트림 및 다운스트림 의존성 관계를 나타내는, 노드를 연결하는 링크(906)를 포함하는 계통도(900)를 나타낸다. 입력 데이터세트(908)로부터의 테스트 데이터는 테스트 데이터를 처리하는 데에 사용되는 변환식의 적용을 나타내는 노드(904a, 904b)에 제공될 수 있으며, 그 결과는 노드(904c)로 전파되고, 이 노드에는 테스트 데이터가 계통도(900)의 일련의 노드에서 노드에 의해 계속해서 변환됨에 따라, 변환식을 유사하게 적용한다. 사용자는 노드 중에서 임의의 하나를 선택할 수 있으며, 링크(906)로 나타낸 의존성 관계에 따라 노드에 의해 표현되는 변환식에 의해 처리된 데이터에 변환식을 적용하는 것에 기초하여 출력 필드의 계산된 값뿐만 아니라, 해당 노드와 연관된 변환식과 출력 필드를 볼 수 있다.
계통도를 생성하기 위해 필요한 정보는 하나 이상의 데이터 흐름 그래프가 입력 테스트 데이터세트(908) 내의 데이터를 처리함에 따라 저장될 수 있다. 계통도 내의 각각의 노드는 변환식의 적용의 결과인 계산된 값과 관련될 수 있다. 일부의 경우에, 노드(904d, 904e, 904f)의 하나 이상은 해당 노드와 연관된 유효성 규칙 중의 하나 이상을 트리거하는 계산 값과 연관된다. 이들 경우에, 계통도(900)는 유효성 규칙이 트리거된 노드(904d, 904e, 904f)에 대한 유효성 지시자(910a, 910b, 910c)를 표시한다. 사용자는 매핑 뷰 인터페이스(500)를 사용하여 출력 필드, 변환식, 및 이들 노드 중의 임의의 계산 값을 보고, 문제가 있는지, 예를 들어 변환식이 무효 데이터를 생성하는지를 판정할 수 있다. 일부의 경우에, 계통도(900)는 노드 중의 하나가 구문 규칙(예를 들어, 도 5의 구문 규칙 중의 하나(510))를 트리거한 경우에 대한 지시자를 표시한다.
사용자는 시퀀스 내의 몇 개의 노드가 유효성 규칙을 트리거했는지를 판정하고, 무효 데이터 등의 유효성 문제의 개시 소스를 판정하기 위해 계통도(900)의 뷰를 사용할 수 있다. 본 예에서, 모두 3개의 노드(904d, 904e, 904f)는 지시자(910a, 910b, 910c)에 의해 지시된 바와 같이 유효성 규칙을 트리거한다. 노드(904d, 904e, 904f)와, 노드(904d)부터 노드(904e)까지 그리고 노드(904e)부터 노드(904f)에의 대응하는 계통 관계가 잠재하는 유효성 문제에 대해 검사될 수 있다. 노드(904d) 내의 변환식이 노드(904e) 및 노드(904f)로 전파하게 되는 무효 데이터를 생성할 수 있으며, 이들 노드 내의 유사한 유효성 규칙을 트리거한다. 이러한 가능성 하에서, 사용자는 먼저, 제1 노드(904)의 계산 값과 변환식을 보고 이것이 모두 3개의 노드에 대한 문제의 원인인지를 판정할 수 있다.
도 10은 많은 출력 필드와 계산 값을 한번에 보는 데에 사용될 수 있는 테스트 결과 인터페이스(test results interface)(1000)를 나타낸다. 예를 들어, 테스트 결과 인터페이스(1000)는 데이터세트 테스트 모드 내의 테스트 데이터에 변환식을 적용한 결과를 나타내는 데에 사용될 수 있다. 테스트 결과 인터페이스(1000)는 관련된 변환식의 테스트 데이터의 다수의 레코드(1004a, 1004b, 1004c)에의 적용을 나타내는(열로서) 다수의 출력 필드(1002a, 1002b, 1002c)(컬럼 헤딩 내에)를 표시한다. 사용자는 임의의 테스트 데이터가 임의의 유효성 규칙을 트리거하는지 여부를 포함해서, 테스트 데이터의 많은 레코드에 대해 많은 변환식을 적용한 효과를 알기 위해 테스트 결과 인터페이스(1000)를 볼 수 있다. 테스트 결과 인터페이스(1000)는 데이터의 어느 부분(특정 레코드 내의 계산 값)이 유효성 규칙을 트리거했는지를 나타내며 무효로 될 수 있는 유효성 지시자(1006a)를 표시할 수 있다. 테스트 결과 인터페이스(1000)는 또한 각 컬럼(또는 열) 헤딩 내에 유효성 지시자(1006b)를 표시해서, 각 컬럼(또는 열) 내의 데이터의 하나 이상의 부분이 유효성 규칙을 트리거했다는 것을 사용자에게 지시할 수 있다. 이러한 형태의 디스플레이는 테스트 결과 인터페이스(1000)에 의해 제시된 데이터의 뷰가 매우 큰 경우에, 사용자가 데이터의 각각의 부분에 대한 유효성 지시자(1006a)를 찾는 데에 도움을 줄 수 있다. 일례로, 얼마나 많은 데이터가 유효성 규칙을 트리거했는지 및 얼마나 많은 여러 규칙이 트리거되었는지 등과 같이, 제시된 데이터에 관한 통계치(1008)를 제시(예를 들어, 히스토그램의 형태로)한다. 일례로, 통계치(1008)는 테스트 데이터에 대한 변환식의 여러 적용에 따라 시간 단위 또는 일 단위 등과 같은 규칙적인 간격으로 계산되며, 다른 예에서, 통계치는 데이터가 뷰 됨에 따라 변환식을 적용함으로써 실시간으로 계산된다. 예를 들어, 숙련된 사용자(예를 들어, 도 5의 숙련된 사용자(404b))는 매일 테스트 결과 인터페이스(1000)를 사용해서, 임의의 유효성 규칙이 그날에 다른 사람에 의해 이루어진 변경에 의해 트리거되었는지를 알 수 있다.
도 11은 사용자가 유효성 규칙 세트(1104a, 1104b, 1104c)의 트리거 조건(1102a, 1102b, 1102c)을 보고 변경할 수 있도록 하는 유효성 규칙 인터페이스(1100)를 나타낸다. 일례로, 유효성 규칙은, 필수 정보의 누락 또는 출력 필드에 의해 표현된 정보간의 불일치 등과 같은, 유효성 규칙이 나타내는 에러 타입을 나타내는 관련 에러 코드(associated error code)(1106)를 갖는다. 일례로, 유효성 규칙 인터페이스(1100)에 의해, 사용자는 임의의 유효성 규칙에 의해 사용된 소정의 입력에 관한 정보(1110)를 액세스할 수 있어서, 사용자는 이러한 정보를 취득하기 위해 다른 인터페이스를 액세스하지 않아도 된다.
유효성 규칙은 사용자가 유효성 규칙 트리거링의 경우에 관한 추가의 정보를 찾는 경우에 사용자에게 표시되는 관련 고객 에러 메시지(1108)를 가질 수 있다. 예를 들어, 사용자는 유효성 지시자(예를 들어, 도 9의 유효성 지시자(910a))를 클릭하고, 사용자 인터페이스는 해당 유효성 규칙에 관한 적절한 고객 에러 메시지(1108)를 표시하거나, 데이터세트에 의해 트리거된 유효성 규칙과 관련된 모든 고객 에러 메시지의 리스트를 표시할 수 있다. 일례로, 숙련된 사용자(예를 들어, 도 5의 숙련된 사용자(404c))는 에러 메시지를 정의해서, 유효성 규칙을 잘 알지 못할 수 있는, 사용자 인터페이스를 운용하는 다른 사용자에게, 사람이 읽을 수 있는 정보를 제공할 수 있다.
상기 설명한 매핑 방법은 컴퓨터에서 실행하기 위한 소프트웨어를 사용해서 구현될 수 있다. 예를 들어, 소프트웨어는 하나 이상의 프로세서, 하나 이상의 데이터 기억 시스템(휘발성 및 비휘발성 메모리 및/또는 기억 요소를 포함), 하나 이상의 입력 장치 또는 포트, 및 하나 이상의 출력 장치 또는 포트를 각각 포함하는 하나 이상의 프로그램된 또는 프로그램가능한 컴퓨터 시스템(분산형, 클라이언트/서버형, 또는 그리드형의 여러 구조가 될 수 있음)에서 실행되는 하나 이상의 컴퓨터 프로그램 내의 프로시저를 형성한다. 소프트웨어는 연산 그래프의 설계 및 구성에 관련된 다른 서비스를 제공하는 더 큰 프로그램의 하나 이상의 모듈을 형성할 수 있다. 그래프의 노드 및 요소는 컴퓨터로 판독가능한 매체에 기억된 데이터 구조 또는 데이터 레포지토리에 기억된 데이터 모델에 일치하는 다른 구조화된 데이터로서 구현될 수 있다.
소프트웨어는 범용 또는 전용의 프로그래머블 컴퓨터에 의해 판독가능한 CD-ROM 과 같은 저장 매체로 제공되거나, 그 소프트웨어가 실행되는 컴퓨터에 네트워크의 통신매체를 통해 전달(전파 신호에서 부호화되어)될 수도 있다. 모든 기능은 전용 컴퓨터상에서, 또는 코프로세서와 같은 전용 하드웨어를 사용하여 수행될 수도 있다. 소프트웨어에 의해 사양화된 연산의 여러 다른 부분이 여러 다른 컴퓨터에 의해 수행되는 분산 방법으로 소프트웨어를 구현할 수도 있다. 컴퓨터 시스템에 의해 저장매체 또는 저장장치가 판독되어 위에 설명한 과정이 수행될 때 그 컴퓨터를 구성하여 동작시키기 위해서는, 이러한 컴퓨터 프로그램 각각은 범용 또는 전용 프로그래머블 컴퓨터에 의해 판독가능한 저장매체 또는 저장장치(예를 들면 솔리드 스테이트 메모리, 또는 솔리드 스테이트 매체, 또는 마그네틱 매체 또는 광학 매체)에 저장되거나 다운로드되는 것이 바람직하다. 본 발명의 진보성 있는 시스템은 또한 컴퓨터 프로그램으로 구성되는 컴퓨터 판독가능 저장매체로서 구현될 수도 있으며, 이 경우, 이와 같이 구성된 저장매체는 컴퓨터 시스템으로 하여금 특정의 미리 규정된 방법으로 동작하여 본 명세서에서 설명하는 기능을 수행하도록 작용한다.
이상과 같이, 여러 실시예를 설명하였지만, 본 발명의 사상 및 그 범위를 일탈하지 않고도 다양한 변형이 가능함을 알 수 있다. 예를 들면, 상기 설명한 단계들 중 일부는 순서와 무관한 것일 수도 있으며, 이에 따라서 상기 설명한 것과는 다른 순서로 수행될 수도 있다.
상기 설명한 내용은 예시를 위한 것으로서 본 발명의 범위를 한정하기 위한 것이 아니며, 그 범위는 다음의 특허청구범위에 의해 규정된다. 예를 들면, 상기 설명한 여러 기능 단계는 전체 프로세스에 실질적인 영향을 주지 않고 다른 순서로 수행될 수 있으며, 그외의 다른 실시예도 이하의 청구범위 내에 포함된다.
Claims (44)
- 시각적 피드백(visual feedback)을 인터페이스에서 제시하기 위한 방법으로서,
입력 변수(input variable)로 나타낸 하나 이상의 입력과 주어진 출력 간의 하나 이상의 매핑된 관계를 획득하는 획득 단계로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식(transformational expression)을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 대응되는 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 획득 단계;
각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소를 식별하는 단계;
상기 입력 변수에 대응되는 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 단계;
상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준(validation criteria)에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 단계; 및
판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 단계
를 포함하고,
상기 출력 데이터를 생성하는 단계는, 상기 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하고, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 포함하고, 데이터 처리 성분을 나타내는 노드(node), 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크(link), 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 받아들이는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프로 표현되는 동작을 실행하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 매핑된 관계에 따라, 입력 데이터를 입력 데이터세트로부터 출력 데이터세트로 불러오는(import) 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제2항에 있어서,
상기 입력 데이터를 불러오는 단계는, 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하는 단계와, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 단계를 더 포함하며,
입력 레코드의 적어도 몇몇 필드는 입력 변수에 대응되는 입력 데이터세트의 요소에 대응하며, 출력 레코드의 적어도 몇몇 필드는 각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소에 대응하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 매핑 관계를 특정하는 매핑(mapping)을 기억하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 유효성 정보를 판정하는 단계는, 상기 유효성 기준의 기억된 사양을 검색(retrieve)하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제5항에 있어서,
상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 유효성 정보를 판정하는 단계는, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 대응되는 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 단계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제10항에 있어서,
상기 유효성 정보는 상기 식별된 제1 요소에 대응하는 제1 필드와 상기 식별된 제2 요소에 대응하는 제2 필드를 포함하는, 생성된 출력 레코드에 따라 판정되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제11항에 있어서,
상기 제1 유효성 기준은 출력 레코드의 제2 필드 내의 값에 의해 정해지는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제11항에 있어서,
상기 유효성 정보는 출력 레코드의 제1 필드 내의 값과 출력 레코드의 제2 필드 내의 값에 의해 정해지는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
변환식을 위한 유효 구조를 나타내는 구문 정보(syntax information)를 판정하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제14항에 있어서,
상기 판정된 구문 정보에 기초하여, 시각적 피드백을 인터페이스에서 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 변환식에 대한 수신된 사용자 변경에 기초하여 제2의 변환식을 허용하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 제2의 변환식에 따라 데이터 처리 시스템으로부터 제2의 출력 데이터를 생성하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
생성된 제2의 출력 데이터에 따라 제2의 유효성 정보를 판정하는 단계와, 상기 제2의 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 단계를 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 제1항에 있어서,
판정된 상기 유효성 정보에 기초하여 시각적 피드백을 제시하는 단계는, 상기 변환식이 변경되는 동안에 수행되는, 시각적 피드백을 인터페이스에서 제시하기 위한 방법. - 시각적 피드백을 인터페이스에서 제시하기 위한 시스템으로서,
입력 데이터세트를 기억하는 입력 데이터 기억 시스템;
출력 데이터세트를 기억하는 출력 데이터 기억 시스템; 및
사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하도록 구성된 데이터 처리 시스템을 포함하며,
상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 것은,
입력 변수로 나타낸 하나 이상의 입력과 주어진 출력 간의 하나 이상의 매핑된 관계를 획득하는 것으로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 대응되는 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 획득하는 것;
각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소를 식별하는 것;
상기 입력 변수에 대응되는 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 것;
상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 것; 및
판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 것을 포함하고,
상기 출력 데이터를 생성하는 것은, 상기 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하고, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 포함하고, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크, 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 받아들이는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프로 표현되는 동작을 실행하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 매핑 관계를 특정하는 매핑을 기억하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 유효성 정보를 판정하는 것은, 상기 유효성 기준의 기억된 사양을 검색하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제22항에 있어서,
상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 유효성 정보를 판정하는 것은, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 대응되는 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 변환식에 대한 수신된 사용자 변경에 기초하여 제2의 변환식을 허용하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 제2의 변환식에 따라 데이터 처리 시스템으로부터 제2의 출력 데이터를 생성하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
생성된 제2의 출력 데이터에 따라 제2의 유효성 정보를 판정하는 것과, 상기 제2의 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 것을 더 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 제20항에 있어서,
판정된 상기 유효성 정보에 기초하여 시각적 피드백을 제시하는 것은, 상기 변환식이 변경되는 동안에 수행되는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템. - 시각적 피드백을 인터페이스에서 제시하기 위한 컴퓨터 프로그램을 기억하는 컴퓨터로 판독가능한 기억 디바이스에 있어서,
상기 컴퓨터 프로그램은, 컴퓨터로 하여금,
입력 변수로 나타낸 하나 이상의 입력과 주어진 출력 간의 하나 이상의 매핑된 관계를 획득하는 동작으로서, 상기 매핑된 관계 중의 적어도 하나가 데이터 처리 시스템에서 실행가능한 변환식을 포함하고, 상기 변환식이 입력 데이터세트의 요소에 대응되는 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 획득하는 동작;
각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소를 식별하는 동작;
상기 입력 변수에 대응되는 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 동작;
상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 동작; 및
판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 동작
을 포함하는 동작을 수행하도록 하는 명령어를 포함하고,
상기 출력 데이터를 생성하는 동작은, 상기 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하고, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 포함하고, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크, 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 받아들이는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프로 표현되는 동작을 실행하는 것을 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 매핑 관계를 특정하는 매핑을 기억하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 유효성 정보를 판정하는 것은, 상기 유효성 기준의 기억된 사양을 검색하는 것을 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제34항에 있어서,
상기 인터페이스는 상기 데이터 처리 시스템에 의해 제공되며 제1 사용자에게 제시되고, 상기 유효성 기준의 사양은 제2 사용자로부터 수신되는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 생성된 출력 데이터를 나타내는 값을 상기 인터페이스에서 제시하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 유효성 정보를 판정하는 것은, 변환식을 포함하는 매핑된 관계를 각각 변환하기 위해 생성된 출력 데이터를, 상기 변환하는 매핑된 관계의 출력에 대응되는 출력 데이터세트의 식별된 요소와 연관된 유효성 기준에 기초하여 평가하는 것을 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 매핑된 관계는 변환식을 포함하는 다수의 변환하는 매핑된 관계를 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 유효성 기준은, 식별된 제1 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제1 요소와 연관된 제1 유효성 기준과, 식별된 제2 요소와 연관된 유효 값의 하나 이상의 특성을 정의하는 출력 데이터세트의 상기 식별된 제2 요소와 연관된 제2 유효성 기준을 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 변환식에 대한 수신된 사용자 변경에 기초하여 제2의 변환식을 허용하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
상기 입력 데이터세트로부터의 입력 데이터에 기초하여, 제2의 변환식에 따라 데이터 처리 시스템으로부터 제2의 출력 데이터를 생성하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
생성된 제2의 출력 데이터에 따라 제2의 유효성 정보를 판정하는 것과, 상기 제2의 유효성 정보에 기초하여 인터페이스에서 시각적 피드백을 제시하는 것을 더 포함하는, 컴퓨터로 판독가능한 기억 디바이스. - 제32항에 있어서,
판정된 상기 유효성 정보에 기초하여 시각적 피드백을 제시하는 것은, 상기 변환식이 변경되는 동안에 수행되는, 컴퓨터로 판독가능한 기억 디바이스. - 시각적 피드백을 인터페이스에서 제시하기 위한 시스템으로서,
입력 데이터세트를 기억하기 위한 수단;
출력 데이터세트를 기억하기 위한 수단; 및
사용자 입력을 수신하고 데이터의 처리 결과를 제시하기 위한 인터페이스를 제공하기 위한 수단을 포함하며,
상기 사용자 입력을 수신하고 데이터의 처리 결과를 제시하는 것은,
입력 변수로 나타낸 하나 이상의 입력과 주어진 출력 간의 하나 이상의 매핑된 관계를 획득하는 것으로서, 상기 매핑된 관계 중의 적어도 하나는 데이터 처리 시스템에서 실행가능한 변환식을 포함하며, 상기 변환식은 입력 데이터세트의 요소에 대응되는 하나 이상의 입력 변수에 기초해서, 매핑된 관계의 출력을 정의하는, 매핑된 관계를 획득하는 것;
각각의 매핑된 관계의 출력에 대응되는 출력 데이터세트의 요소를 식별하는 것;
상기 입력 변수에 대응되는 입력 데이터세트의 요소와 연관된 입력 데이터세트로부터의 입력 데이터에 기초해서, 상기 변환식에 따라 데이터 처리 시스템으로부터 출력 데이터를 생성하는 것;
상기 출력 데이터세트의 식별된 요소 중의 하나 이상과 연관된 유효 값의 하나 이상의 특성을 정의하는 유효성 기준에 기초해서, 생성된 출력 데이터에 따라 유효성 정보를 판정하는 것; 및
판정된 유효성 정보에 기초해서, 시각적 피드백을 인터페이스에서 제시하는 것을 포함하고,
상기 출력 데이터를 생성하는 것은, 상기 입력 데이터세트의 입력 레코드의 각각의 필드 내의 입력 값에 변환식을 적용하고, 출력 데이터세트의 출력 레코드의 각각의 필드에 출력 값을 기억시키는 것을 포함하고, 데이터 처리 성분을 나타내는 노드, 데이터 처리 성분들 사이에서의 데이터 흐름을 나타내는 링크, 입력 레코드의 데이터 흐름을 제공하는 입력 데이터세트를 나타내는 노드, 및 출력 레코드의 데이터 흐름을 받아들이는 출력 데이터세트를 나타내는 노드를 포함하는 데이터 흐름 그래프로 표현되는 동작을 실행하는 것을 포함하는, 시각적 피드백을 인터페이스에서 제시하기 위한 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24313209P | 2009-09-16 | 2009-09-16 | |
US61/243,132 | 2009-09-16 | ||
PCT/US2010/049142 WO2011035039A1 (en) | 2009-09-16 | 2010-09-16 | Mapping dataset elements |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127006862A Division KR101688555B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157008139A Division KR101660348B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150027838A KR20150027838A (ko) | 2015-03-12 |
KR101631978B1 true KR101631978B1 (ko) | 2016-06-20 |
Family
ID=43731502
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157008139A KR101660348B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
KR1020157003743A KR101631978B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
KR1020127006862A KR101688555B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
KR1020157008377A KR101656813B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157008139A KR101660348B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127006862A KR101688555B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
KR1020157008377A KR101656813B1 (ko) | 2009-09-16 | 2010-09-16 | 데이터세트 요소의 매핑 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8825695B2 (ko) |
EP (1) | EP2478433A4 (ko) |
JP (3) | JP6121163B2 (ko) |
KR (4) | KR101660348B1 (ko) |
CN (2) | CN110516209A (ko) |
AU (2) | AU2010295547B2 (ko) |
CA (1) | CA2771899C (ko) |
WO (1) | WO2011035039A1 (ko) |
Families Citing this family (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849075B2 (en) | 2003-09-15 | 2010-12-07 | Ab Initio Technology Llc | Joint field profiling |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
CA2744881C (en) | 2008-12-02 | 2020-03-10 | Ab Initio Technology Llc | Mapping instances of a dataset within a data management system |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
KR101660348B1 (ko) * | 2009-09-16 | 2016-09-27 | 아브 이니티오 테크놀로지 엘엘시 | 데이터세트 요소의 매핑 |
US8296694B1 (en) * | 2009-12-30 | 2012-10-23 | Cadence Design Systems, Inc. | System and method for automated synthesis of circuit wrappers |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
KR101911793B1 (ko) | 2010-10-25 | 2018-10-25 | 아브 이니티오 테크놀로지 엘엘시 | 컴퓨터 프로그램을 나타내는 데이터플로우 그래프 내의 데이터세트 객체의 관리 |
US9542662B2 (en) * | 2010-12-30 | 2017-01-10 | Sap Se | Lineage information for streaming event data and event lineage graph structures for visualization |
CA2824282C (en) | 2011-01-14 | 2019-05-21 | Ab Initio Technology Llc | Managing changes to collections of data |
KR101889120B1 (ko) | 2011-01-28 | 2018-08-16 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 패턴 정보 생성 |
CN102722412A (zh) * | 2011-03-31 | 2012-10-10 | 国际商业机器公司 | 组合计算装置和方法 |
US8745034B1 (en) | 2011-05-04 | 2014-06-03 | Google Inc. | Selectively retrieving search results in accordance with predefined sort criteria |
US8930330B1 (en) * | 2011-06-27 | 2015-01-06 | Amazon Technologies, Inc. | Validation of log formats |
JP5613118B2 (ja) * | 2011-07-22 | 2014-10-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 変換規則生成支援装置、方法、およびプログラム |
CN102902685B (zh) * | 2011-07-27 | 2016-04-20 | 阿里巴巴集团控股有限公司 | 基于数据库的工具系统的测试方法及装置 |
US8763093B2 (en) * | 2011-09-12 | 2014-06-24 | Microsoft Corporation | Access control management |
US10546057B2 (en) * | 2011-10-28 | 2020-01-28 | Microsoft Technology Licensing, Llc | Spreadsheet program-based data classification for source target mapping |
US9148329B1 (en) | 2011-11-30 | 2015-09-29 | Google Inc. | Resource constraints for request processing |
US9235607B1 (en) * | 2012-03-29 | 2016-01-12 | Google Inc. | Specifying a predetermined degree of inconsistency for test data |
US20130268855A1 (en) * | 2012-04-10 | 2013-10-10 | John O'Byrne | Examining an execution of a business process |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9659042B2 (en) * | 2012-06-12 | 2017-05-23 | Accenture Global Services Limited | Data lineage tracking |
CN103678353B (zh) * | 2012-09-11 | 2017-06-20 | 北京大学 | 用于稿件中的职务信息的检查方法和装置 |
US10489360B2 (en) | 2012-10-17 | 2019-11-26 | Ab Initio Technology Llc | Specifying and applying rules to data |
US9075860B2 (en) * | 2012-10-18 | 2015-07-07 | Oracle International Corporation | Data lineage system |
JP6357162B2 (ja) | 2012-10-22 | 2018-07-11 | アビニシオ テクノロジー エルエルシー | 位置情報を用いたデータのプロファイリング |
US9703822B2 (en) * | 2012-12-10 | 2017-07-11 | Ab Initio Technology Llc | System for transform generation |
US9892026B2 (en) | 2013-02-01 | 2018-02-13 | Ab Initio Technology Llc | Data records selection |
DE212014000045U1 (de) | 2013-02-07 | 2015-09-24 | Apple Inc. | Sprach-Trigger für einen digitalen Assistenten |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US9928283B2 (en) * | 2013-04-15 | 2018-03-27 | Validus Solutions, Inc. | Tracing data through a transformation process using tracer codes |
CN104123309B (zh) * | 2013-04-28 | 2017-08-25 | 国际商业机器公司 | 用于数据管理的方法和系统 |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
AU2014278592B2 (en) | 2013-06-09 | 2017-09-07 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US9384231B2 (en) * | 2013-06-21 | 2016-07-05 | Bank Of America Corporation | Data lineage management operation procedures |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US9984059B2 (en) | 2013-09-27 | 2018-05-29 | Ab Initio Technology Llc | Evaluating rules applied to data |
AU2014360106B2 (en) * | 2013-12-06 | 2019-05-23 | Ab Initio Technology Llc | Source code translation |
US11487732B2 (en) | 2014-01-16 | 2022-11-01 | Ab Initio Technology Llc | Database key identification |
EP3594821B1 (en) | 2014-03-07 | 2023-08-16 | AB Initio Technology LLC | Managing data profiling operations related to data type |
US10191862B2 (en) * | 2014-03-14 | 2019-01-29 | Ab Initio Technology Llc | Mapping attributes of keyed entities |
US9607073B2 (en) * | 2014-04-17 | 2017-03-28 | Ab Initio Technology Llc | Processing data from multiple sources |
US10877955B2 (en) * | 2014-04-29 | 2020-12-29 | Microsoft Technology Licensing, Llc | Using lineage to infer data quality issues |
US10089409B2 (en) | 2014-04-29 | 2018-10-02 | Microsoft Technology Licensing, Llc | Event-triggered data quality verification |
US10552439B2 (en) * | 2014-05-11 | 2020-02-04 | Informatica Llc | Grid format data viewing and editing environment |
US20150331875A1 (en) * | 2014-05-16 | 2015-11-19 | Syntel, Inc. | System and method for validating integrated data recasting objects |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10290126B2 (en) | 2014-07-01 | 2019-05-14 | Oath Inc. | Computerized systems and methods for graph data modeling |
JP6636009B2 (ja) | 2014-07-18 | 2020-01-29 | アビニシオ テクノロジー エルエルシー | 系統情報の管理 |
AU2015312006B2 (en) * | 2014-09-02 | 2020-03-19 | Ab Initio Technology Llc | Managing invocation of tasks |
US9626393B2 (en) | 2014-09-10 | 2017-04-18 | Ab Initio Technology Llc | Conditional validation rules |
US11354755B2 (en) | 2014-09-11 | 2022-06-07 | Intuit Inc. | Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return |
US9720958B2 (en) | 2014-10-24 | 2017-08-01 | International Business Machines Corporation | User driven business data aggregation and cross mapping framework |
CN104361047B (zh) * | 2014-10-29 | 2019-12-24 | 中国建设银行股份有限公司 | 一种客户端中的数据展示方法及装置 |
US10255641B1 (en) | 2014-10-31 | 2019-04-09 | Intuit Inc. | Predictive model based identification of potential errors in electronic tax return |
US10176234B2 (en) * | 2014-11-05 | 2019-01-08 | Ab Initio Technology Llc | Impact analysis |
JP6463845B2 (ja) * | 2015-02-11 | 2019-02-06 | アビニシオ テクノロジー エルエルシー | データ系統図のフィルタリング |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10740853B1 (en) | 2015-04-28 | 2020-08-11 | Intuit Inc. | Systems for allocating resources based on electronic tax return preparation program user characteristics |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10409802B2 (en) | 2015-06-12 | 2019-09-10 | Ab Initio Technology Llc | Data quality analysis |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10366073B2 (en) * | 2015-06-30 | 2019-07-30 | Bank Of America Corporation | System for automating data validation |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10650020B1 (en) * | 2015-09-17 | 2020-05-12 | Trifacta Inc. | Analyzing transformations for preprocessing datasets |
US10740854B1 (en) | 2015-10-28 | 2020-08-11 | Intuit Inc. | Web browsing and machine learning systems for acquiring tax data during electronic tax return preparation |
US20170124154A1 (en) | 2015-11-02 | 2017-05-04 | International Business Machines Corporation | Establishing governance rules over data assets |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10528328B2 (en) | 2015-12-08 | 2020-01-07 | Microsoft Technology Licensing, Llc | Learning from input patterns in Programing-By-Example |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10410295B1 (en) * | 2016-05-25 | 2019-09-10 | Intuit Inc. | Methods, systems and computer program products for obtaining tax data |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10007674B2 (en) * | 2016-06-13 | 2018-06-26 | Palantir Technologies Inc. | Data revision control in large-scale data analytic systems |
US11755602B2 (en) * | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US10452625B2 (en) * | 2016-06-30 | 2019-10-22 | Global Ids, Inc. | Data lineage analysis |
US11960498B2 (en) * | 2016-09-29 | 2024-04-16 | Microsoft Technology Licensing, Llc | Systems and methods for dynamically rendering data lineage |
KR101862614B1 (ko) * | 2016-10-05 | 2018-05-31 | 한국전력공사 | 프로그램 유효성 검증 장치 및 컴퓨터 판독가능 기록 매체 |
US11138676B2 (en) | 2016-11-29 | 2021-10-05 | Intuit Inc. | Methods, systems and computer program products for collecting tax data |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
JP6974011B2 (ja) * | 2017-02-23 | 2021-12-01 | ヤフー株式会社 | 特定装置、特定方法、及び特定プログラム |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10755051B2 (en) * | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10698884B2 (en) | 2017-11-06 | 2020-06-30 | Bank Of America Corporation | Dynamic lineage validation system |
US11068540B2 (en) | 2018-01-25 | 2021-07-20 | Ab Initio Technology Llc | Techniques for integrating validation results in data profiling and related systems and methods |
AU2019228387B2 (en) * | 2018-02-27 | 2024-07-25 | Zetane Systems Inc. | Scalable transform processing unit for heterogeneous data |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11176104B2 (en) | 2018-04-16 | 2021-11-16 | Bank Of America Corporation | Platform-independent intelligent data transformer |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
JP7464543B2 (ja) | 2018-07-19 | 2024-04-09 | アビニシオ テクノロジー エルエルシー | データウェアハウスへの発行 |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11645425B2 (en) * | 2019-07-03 | 2023-05-09 | Beyond Semiconductor, d.o.o. | Systems and methods for data-driven secure and safe computing |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
WO2021077281A1 (zh) * | 2019-10-22 | 2021-04-29 | 深圳鲲云信息科技有限公司 | 深度学习框架的调整方法、装置、服务器及存储介质 |
US11514072B1 (en) | 2019-12-31 | 2022-11-29 | Cigna Intellectual Property, Inc. | Computerized system for programmatic mapping of record lineage based on data flow through data storage components |
US11086848B1 (en) * | 2020-02-11 | 2021-08-10 | Bank Of America Corporation | Dynamic data transformation system |
CN113360363B (zh) * | 2020-03-04 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 微服务系统的测试方法、装置、设备和计算机存储介质 |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
CN111930532B (zh) * | 2020-07-09 | 2023-11-17 | 智盈未来(西安)信息技术有限公司 | 航电数据集成方法及装置 |
US11657033B2 (en) * | 2020-10-16 | 2023-05-23 | Capital One Services, Llc | Systems and methods for maintaining data quality in a data store receiving both low and high quality data |
US11797541B1 (en) | 2020-10-23 | 2023-10-24 | State Farm Mutual Automobile Insurance Company | Systems and methods for enhanced rules conflict checking with data validation |
US12038903B1 (en) | 2020-10-23 | 2024-07-16 | State Farm Mutual Automobile Insurance Company | Systems and methods for enhanced cloud-based rules conflict checking with data validation |
MX2023008982A (es) | 2021-01-31 | 2023-12-04 | Ab Initio Technology Llc | Sistema de procesamiento de datos con manipulacion de grupos de conjuntos de datos logicos. |
CN112882705B (zh) * | 2021-03-01 | 2024-03-19 | 浪潮通用软件有限公司 | 基于界面更新的表达式计算方法、装置、设备及介质 |
US11567998B2 (en) * | 2021-03-25 | 2023-01-31 | Databricks, Inc. | Dataflow graph processing |
US11461297B1 (en) | 2021-06-09 | 2022-10-04 | T-Mobile Usa, Inc. | Ensuring database integrity using a data flow in a graph, such as for use by a wireless telecommunications service provider |
US11533235B1 (en) | 2021-06-24 | 2022-12-20 | Bank Of America Corporation | Electronic system for dynamic processing of temporal upstream data and downstream data in communication networks |
TWI792684B (zh) * | 2021-11-17 | 2023-02-11 | 瑞昱半導體股份有限公司 | 資料傳輸方法以及資料傳輸系統 |
US11907241B2 (en) * | 2022-06-17 | 2024-02-20 | Hewlett Packard Enterprise Development Lp | Data recommender using lineage to propagate value indicators |
DE102022208099A1 (de) * | 2022-08-04 | 2024-02-15 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Validieren von Datensätzen in einer Datenbanken |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226203A1 (en) | 2006-03-23 | 2007-09-27 | Microsoft Corporation | Generation of query and update views for object relational mapping |
US20080256014A1 (en) | 2007-04-10 | 2008-10-16 | Joel Gould | Editing and Compiling Business Rules |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758351A (en) * | 1995-03-01 | 1998-05-26 | Sterling Software, Inc. | System and method for the creation and use of surrogate information system objects |
US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US6216131B1 (en) | 1998-02-06 | 2001-04-10 | Starfish Software, Inc. | Methods for mapping data fields from one data set to another in a data processing environment |
US6948154B1 (en) | 1999-03-22 | 2005-09-20 | Oregon State University | Methodology for testing spreadsheets |
US7120638B1 (en) | 1999-09-21 | 2006-10-10 | International Business Machines Corporation | Method, system, program, and data structure for cleaning a database table |
AU2001259690A1 (en) * | 2000-05-09 | 2001-11-20 | Hnc Software, Inc. | Approach for generating rules |
US7164422B1 (en) | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
US6704024B2 (en) * | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
US6708186B1 (en) * | 2000-08-14 | 2004-03-16 | Oracle International Corporation | Aggregating and manipulating dictionary metadata in a database system |
CN1339756A (zh) * | 2000-08-23 | 2002-03-13 | 松下电器产业株式会社 | 文档检索和分类方法及其装置 |
US20020099884A1 (en) * | 2001-01-19 | 2002-07-25 | Chang William Ho | Output controller systems and method for universal data output |
US7117430B2 (en) | 2001-02-27 | 2006-10-03 | Microsoft Corporation | Spreadsheet error checker |
JP2002279147A (ja) * | 2001-03-22 | 2002-09-27 | Sharp Corp | 内製化判断支援装置、内製化判断支援方法および内製化判断支援プログラムを記録した機械読取可能な記録媒体および内製化判断支援プログラム |
US7614036B2 (en) | 2001-03-22 | 2009-11-03 | Robert D Bjornson | Method and system for dataflow creation and execution |
US7853553B2 (en) * | 2001-03-26 | 2010-12-14 | Siebel Systems, Inc. | Engine for converting data from a source format to a destination format using user defined mappings |
US6494159B2 (en) | 2001-05-11 | 2002-12-17 | The United States Of America As Represented By The Secretary Of The Navy | Submarine launched unmanned combat vehicle replenishment |
US7099885B2 (en) * | 2001-05-25 | 2006-08-29 | Unicorn Solutions | Method and system for collaborative ontology modeling |
US6868526B2 (en) | 2001-07-18 | 2005-03-15 | The Mathworks, Inc. | Graphical subclassing |
AUPR966001A0 (en) * | 2001-12-20 | 2002-01-24 | Canon Information Systems Research Australia Pty Ltd | A microprocessor card defining a custom user interface |
US7080088B1 (en) | 2002-01-30 | 2006-07-18 | Oracle International Corporation | Automatic reconciliation of bindable objects |
US7110924B2 (en) * | 2002-05-15 | 2006-09-19 | Caterpillar Inc. | Method for controlling the performance of a target system |
US7574652B2 (en) * | 2002-06-20 | 2009-08-11 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
JP2004110182A (ja) * | 2002-09-13 | 2004-04-08 | Toshiba Corp | データ変換装置およびデータ変換方法およびデータ変換プログラム |
US7167850B2 (en) | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
US7739223B2 (en) * | 2003-08-29 | 2010-06-15 | Microsoft Corporation | Mapping architecture for arbitrary data models |
US20050060317A1 (en) * | 2003-09-12 | 2005-03-17 | Lott Christopher Martin | Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software |
US7849075B2 (en) | 2003-09-15 | 2010-12-07 | Ab Initio Technology Llc | Joint field profiling |
US7865507B2 (en) | 2003-09-15 | 2011-01-04 | Oracle International Corporation | Data quality analyzer |
US7765529B1 (en) | 2003-10-31 | 2010-07-27 | The Mathworks, Inc. | Transforming graphical objects in a graphical modeling environment |
US7840949B2 (en) | 2003-11-03 | 2010-11-23 | Ramal Acquisition Corp. | System and method for data transformation using dataflow graphs |
US20050187984A1 (en) | 2004-02-20 | 2005-08-25 | Tianlong Chen | Data driven database management system and method |
US8165853B2 (en) | 2004-04-16 | 2012-04-24 | Knowledgebase Marketing, Inc. | Dimension reduction in predictive model development |
JP4275013B2 (ja) * | 2004-06-21 | 2009-06-10 | 三洋電機株式会社 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
US20060007464A1 (en) * | 2004-06-30 | 2006-01-12 | Percey Michael F | Structured data update and transformation system |
US7353227B2 (en) | 2004-07-23 | 2008-04-01 | Sap Aktiengesellschaft | Conflict resolution engine |
US7848578B2 (en) * | 2004-09-13 | 2010-12-07 | Nokia Corporation | Methods, devices and computer program products for capture and display of visually encoded data and an image |
US7899833B2 (en) | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
US10032130B2 (en) * | 2005-03-07 | 2018-07-24 | Ca, Inc. | System and method for providing data manipulation using web services |
JP4550641B2 (ja) * | 2005-03-30 | 2010-09-22 | 大陽日酸エンジニアリング株式会社 | データ照合装置及び方法 |
JP4817697B2 (ja) * | 2005-03-30 | 2011-11-16 | 富士通株式会社 | 変換規則評価プログラム及び変換規則評価装置 |
US8630917B2 (en) | 2005-06-09 | 2014-01-14 | At&T Intellectual Property Ii, L.P. | Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation |
US7716630B2 (en) | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US7464105B2 (en) | 2005-07-06 | 2008-12-09 | International Business Machines Corporation | Method for performing semi-automatic dataset maintenance |
US7870162B2 (en) | 2005-07-29 | 2011-01-11 | Sap Ag | Method for generating properly formed expressions |
US20070050750A1 (en) | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Extensible data-driven setup application for operating system |
US9798781B2 (en) * | 2005-10-25 | 2017-10-24 | Angoss Software Corporation | Strategy trees for data mining |
US8060821B2 (en) * | 2005-12-09 | 2011-11-15 | Apple Inc. | Enhanced visual feedback of interactions with user interface |
US7761586B2 (en) | 2006-02-06 | 2010-07-20 | Microsoft Corporation | Accessing and manipulating data in a data flow graph |
US7661067B2 (en) | 2006-02-21 | 2010-02-09 | International Business Machines Corporation | Method for providing quick responses in instant messaging conversations |
US20070294119A1 (en) | 2006-03-30 | 2007-12-20 | Adaptive Alpha, Llc | System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof |
US8868577B2 (en) | 2006-03-31 | 2014-10-21 | Sap Se | Generic database manipulator |
US7797319B2 (en) * | 2006-05-15 | 2010-09-14 | Algebraix Data Corporation | Systems and methods for data model mapping |
US7870556B2 (en) * | 2006-05-16 | 2011-01-11 | Ab Initio Technology Llc | Managing computing resources in graph-based computations |
JP5894724B2 (ja) | 2006-08-10 | 2016-03-30 | アビニシオ テクノロジー エルエルシー | グラフ型計算の分散サービス |
US7890509B1 (en) * | 2006-12-05 | 2011-02-15 | First American Real Estate Solutions Llc | Parcel data acquisition and processing |
GB0700450D0 (en) | 2007-01-10 | 2007-02-21 | Radiation Watch Ltd | The RWL threat engine |
US9430552B2 (en) * | 2007-03-16 | 2016-08-30 | Microsoft Technology Licensing, Llc | View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform |
US20080243765A1 (en) * | 2007-03-29 | 2008-10-02 | Ariel Fuxman | Method for generating nested mapping specifications in a schema mapping formalism |
US7603368B2 (en) * | 2007-03-30 | 2009-10-13 | Fmr Llc | Mapping data on a network |
US8032404B2 (en) | 2007-06-13 | 2011-10-04 | International Business Machines Corporation | Method and system for estimating financial benefits of packaged application service projects |
US8694518B2 (en) * | 2007-06-14 | 2014-04-08 | Colorquick, L.L.C. | Method and apparatus for database mapping |
US8566296B2 (en) | 2007-09-14 | 2013-10-22 | Oracle International Corporation | Support for compensation aware data types in relational database systems |
AU2008302144B2 (en) | 2007-09-20 | 2014-09-11 | Ab Initio Technology Llc | Managing data flows in graph-based computations |
EP2277878B1 (en) * | 2008-04-10 | 2014-09-17 | Hamari Chemicals, Ltd. | Process for production of ethynylthymidine compound using 5-methyluridine as starting raw material |
JP4224126B1 (ja) | 2008-06-09 | 2009-02-12 | パナソニック株式会社 | データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム |
US20090319494A1 (en) * | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Field mapping for data stream output |
JP5331203B2 (ja) * | 2008-06-30 | 2013-10-30 | アビニシオ テクノロジー エルエルシー | グラフベース計算におけるデータ記録 |
US8082228B2 (en) | 2008-10-31 | 2011-12-20 | Netapp, Inc. | Remote office duplication |
US9317624B2 (en) * | 2008-11-12 | 2016-04-19 | Ab Initio Technology Llc | Managing and automatically linking data objects |
CA2744881C (en) * | 2008-12-02 | 2020-03-10 | Ab Initio Technology Llc | Mapping instances of a dataset within a data management system |
AU2010208112B2 (en) * | 2009-01-30 | 2015-05-28 | Ab Initio Technology Llc | Processing data using vector fields |
EP2221733A1 (en) | 2009-02-17 | 2010-08-25 | AMADEUS sas | Method allowing validation in a production database of new entered data prior to their release |
US8935702B2 (en) | 2009-09-04 | 2015-01-13 | International Business Machines Corporation | Resource optimization for parallel data integration |
KR101660348B1 (ko) * | 2009-09-16 | 2016-09-27 | 아브 이니티오 테크놀로지 엘엘시 | 데이터세트 요소의 매핑 |
US8583664B2 (en) | 2010-05-26 | 2013-11-12 | Microsoft Corporation | Exposing metadata relationships through filter interplay |
US8732143B2 (en) | 2010-08-27 | 2014-05-20 | Microsoft Corporation | Reducing locking during database transactions |
KR101911793B1 (ko) | 2010-10-25 | 2018-10-25 | 아브 이니티오 테크놀로지 엘엘시 | 컴퓨터 프로그램을 나타내는 데이터플로우 그래프 내의 데이터세트 객체의 관리 |
US8949166B2 (en) | 2010-12-16 | 2015-02-03 | International Business Machines Corporation | Creating and processing a data rule for data quality |
CA2824282C (en) * | 2011-01-14 | 2019-05-21 | Ab Initio Technology Llc | Managing changes to collections of data |
-
2010
- 2010-09-16 KR KR1020157008139A patent/KR101660348B1/ko active IP Right Grant
- 2010-09-16 WO PCT/US2010/049142 patent/WO2011035039A1/en active Application Filing
- 2010-09-16 AU AU2010295547A patent/AU2010295547B2/en active Active
- 2010-09-16 CN CN201910769882.0A patent/CN110516209A/zh active Pending
- 2010-09-16 US US12/883,721 patent/US8825695B2/en active Active
- 2010-09-16 KR KR1020157003743A patent/KR101631978B1/ko active IP Right Grant
- 2010-09-16 KR KR1020127006862A patent/KR101688555B1/ko active IP Right Grant
- 2010-09-16 JP JP2012529903A patent/JP6121163B2/ja active Active
- 2010-09-16 EP EP10817836.9A patent/EP2478433A4/en not_active Ceased
- 2010-09-16 CA CA2771899A patent/CA2771899C/en active Active
- 2010-09-16 KR KR1020157008377A patent/KR101656813B1/ko active IP Right Grant
- 2010-09-16 CN CN201080051923.XA patent/CN102656554B/zh active Active
-
2013
- 2013-07-25 US US13/950,826 patent/US8930337B2/en active Active
-
2015
- 2015-06-17 AU AU2015203037A patent/AU2015203037B1/en active Active
- 2015-08-25 JP JP2015165472A patent/JP6395680B2/ja active Active
-
2018
- 2018-07-18 JP JP2018135304A patent/JP2018185858A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226203A1 (en) | 2006-03-23 | 2007-09-27 | Microsoft Corporation | Generation of query and update views for object relational mapping |
US20080256014A1 (en) | 2007-04-10 | 2008-10-16 | Joel Gould | Editing and Compiling Business Rules |
Also Published As
Publication number | Publication date |
---|---|
WO2011035039A1 (en) | 2011-03-24 |
JP2016015155A (ja) | 2016-01-28 |
KR20150027838A (ko) | 2015-03-12 |
US8825695B2 (en) | 2014-09-02 |
US20110066602A1 (en) | 2011-03-17 |
AU2010295547B2 (en) | 2015-05-07 |
KR20150040387A (ko) | 2015-04-14 |
EP2478433A1 (en) | 2012-07-25 |
KR101688555B1 (ko) | 2016-12-21 |
JP6395680B2 (ja) | 2018-09-26 |
AU2010295547A1 (en) | 2012-03-08 |
US20130318062A1 (en) | 2013-11-28 |
CN102656554B (zh) | 2019-09-10 |
US8930337B2 (en) | 2015-01-06 |
JP2018185858A (ja) | 2018-11-22 |
CN110516209A (zh) | 2019-11-29 |
CA2771899C (en) | 2017-08-01 |
JP2013505502A (ja) | 2013-02-14 |
EP2478433A4 (en) | 2016-09-21 |
JP6121163B2 (ja) | 2017-04-26 |
KR101656813B1 (ko) | 2016-09-12 |
AU2015203037B1 (en) | 2015-08-20 |
CN102656554A (zh) | 2012-09-05 |
CA2771899A1 (en) | 2011-03-24 |
KR101660348B1 (ko) | 2016-09-27 |
KR20150038759A (ko) | 2015-04-08 |
KR20120080572A (ko) | 2012-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101631978B1 (ko) | 데이터세트 요소의 매핑 | |
JP7361609B2 (ja) | ルールを編集、シミュレート、バージョン制御、及びビジネスプロセス管理する統合システム | |
KR102143889B1 (ko) | 메타데이터 관리를 위한 시스템 | |
KR101644418B1 (ko) | 데이터 요소 간의 관계의 시각화 및 데이터 요소 속성의 그래픽 표현 | |
US8386408B2 (en) | Editing and compiling business rules | |
CN107135663A (zh) | 影响分析 | |
CN102576363A (zh) | 扩展商业智能系统的形式和功能的基于内容的方法 | |
WO2010002919A1 (en) | Data logging in graph-based computations | |
KR102237167B1 (ko) | 변환 생성용 시스템 | |
CN111949307A (zh) | 一种开源项目知识图谱的优化方法和系统 | |
Wojszczyk et al. | The process of verifying the implementation of design patterns—used data models | |
US9348850B1 (en) | Method for large-scale data schema analysis and quality assurance | |
Jandl-Scherf et al. | Software engineering in the light of evolving standards in CBRN disaster management | |
Júnior et al. | An interface prototype proposal to a semiautomatic process model verification method based on process modeling guidelines | |
Antunes et al. | Automatic Spreadsheet Generation from Conceptual Models | |
JP2002041288A (ja) | ソフトウエア開発支援方法 | |
Vieira et al. | Assessment of measurement model | |
Alluri | Testing calculation engines using input space partitioning and automation | |
Maier | Fakultät für Informatik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |