KR102432104B1 - 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법 - Google Patents

데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102432104B1
KR102432104B1 KR1020197016457A KR20197016457A KR102432104B1 KR 102432104 B1 KR102432104 B1 KR 102432104B1 KR 1020197016457 A KR1020197016457 A KR 1020197016457A KR 20197016457 A KR20197016457 A KR 20197016457A KR 102432104 B1 KR102432104 B1 KR 102432104B1
Authority
KR
South Korea
Prior art keywords
data
lineage
physical
business
elements
Prior art date
Application number
KR1020197016457A
Other languages
English (en)
Other versions
KR20190076047A (ko
Inventor
조엘 구드
두산 라디보예빅
Original Assignee
아브 이니티오 테크놀로지 엘엘시
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아브 이니티오 테크놀로지 엘엘시 filed Critical 아브 이니티오 테크놀로지 엘엘시
Publication of KR20190076047A publication Critical patent/KR20190076047A/ko
Application granted granted Critical
Publication of KR102432104B1 publication Critical patent/KR102432104B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Abstract

데이터 처리 시스템은, 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 것으로서, 제1 데이터 계보는 (a) 물리적 데이터 요소에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는 제1 데이터 계보를 획득하는 것; 사용자 입력에 기초하여, 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 것; 제1 데이터 계보의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 것; 및 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하는 것을 수행하도록 구성된다.

Description

데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법
관련 출원에 대한 상호 참조
본 출원은 2016년 11월 9일자로 출원된 "데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법"이라는 명칭의 미국 가출원 일련번호 제62/419,826호의 35 U.S.C. §119(e) 하의 이익을 주장하며, 그 전체가 본원에 참조로서 포함된다.
다량의 데이터를 관리하는 조직은 종종 관리되는 데이터의 적어도 일부에 대한 데이터 계보(lineage)를 획득하고자 한다. 관리되는 데이터 세트에 대한 데이터 계보는 데이터 세트가 어떻게 획득되었는지, 데이터 세트가 시간에 따라 어떻게 변할 수 있는지, 및/또는 데이터 세트가 하나 이상의 데이터 처리 시스템 및/또는 프로세스에 의해 어떻게 사용될 수 있는지 나타내는 정보를 포함할 수 있다. 데이터 세트에 대한 데이터 계보는 어떻게 데이터 세트가 획득되었는지 나타내는 업스트림 계보 정보를 포함할 수 있다. 예를 들어, 업스트림 계보 정보는 데이터 세트가 획득된 하나 이상의 데이터 소스 및/또는 데이터 세트에 적용된 하나 이상의 데이터 처리 작동을 식별할 수 있다. 부가적으로 또는 대안으로, 데이터 세트에 대한 데이터 계보는 데이터 세트에 의존하고/의존하거나 데이터 세트를 사용하는 하나 이상의 다른 데이터세트, 프로세스, 및/또는 애플리케이션을 나타내는 다운스트림 계보 정보를 포함할 수 있다. 조직은, 예를 들어, 하나 이상의 데이터 레코드, 데이터베이스 내의 하나 이상의 데이터 테이블, 하나 이상의 데이터 스프레드시트, 하나 이상의 데이터 파일, 단일 데이터 값, 하나 이상의 리포트를 생성하는 데 사용되는 데이터, 하나 이상의 애플리케이션 프로그램에 의해 액세스되는 데이터와 같은 임의의 적절한 데이터 세트, 및/또는 임의의 다른 적절한 데이터 세트에 대한 계보 정보를 획득하고자 할 수 있다.
조직의 데이터 처리 시스템에 의해 관리되는 데이터에 관한 계보 정보의 많은 용도가 있다. 이와 같은 용도의 예로는 위험 감소, 규정 준수 의무의 확인, 비즈니스 프로세스의 간소화, 데이터 보호, 소스로 돌아가는 오류 추적, 데이터 변경으로 인해 다운스트림 오류가 발생할 수 있는지 여부를 결정하는 것이 포함될 수 있지만, 이에 한정되지는 않는다. 몇몇 경우에, 불완전하거나 잘못된 계보 정보는 부정확하게 취급되는 레코드, 조직의 구성원에게 제공되는 부정확한 데이터, 비효율적인 시스템 운영, 시스템 오류, 부주의한 오류의 도입, 비효율적인 오류의 해결, 규제 프로세스의 준수가 어려움 등과 같은 조직에 부정적이고 실질적인 영향을 유발할 수 있다. 비즈니스 조직의 경우, 이와 같은 영향은 고객 및/또는 규제기관의 불만으로 바로 이어질 수 있다. 따라서, 계보 정보가 정확하고 완전하다는 것은 중요하다.
일부 구현예는 데이터 처리 시스템에 관한 것이고, 상기 시스템은: 적어도 하나의 컴퓨터 하드웨어 프로세서; 및 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체로서, 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하되, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며; 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하도록 하는, 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
일부 구현예에서, 일치 또는 불일치의 표시를 생성하는 것은 일치 또는 불일치의 표시를 나타내는 제2 데이터 계보의 시각화를 디스플레이하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제2 데이터 계보는 2개의 비즈니스 데이터 요소 사이의 제1 의존관계를 나타내는 제1 링크를 포함하며, 제2 데이터 계보의 시각화를 디스플레이하는 것은 제1 의존관계에 대응하는 제1 데이터 계보에 의존관계가 존재할 때 일 방식으로 링크를 디스플레이하고 제1 의존관계에 대응하는 제1 데이터 계보에 의존관계가 존재하지 않을 때 다른 방식으로 링크를 디스플레이하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 일치 또는 불일치의 표시를 생성하는 것은, 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보, 및 획득된 연관 중 하나 이상의 불일치가 존재하는지 여부를 결정하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것, 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 제1 데이터 계보를 생성하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것을 포함한다.
일부 구현예에서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 적어도 하나의 컴퓨터 프로그램은 데이터플로우 그래프로서 구현된 컴퓨터 프로그램을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 것은 그래픽 사용자 인터페이스를 통해 제공된 사용자 입력에 기초하여 연관을 생성하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 다수의 물리적 데이터 요소는 제1 물리적 데이터 요소를 포함하고, 다수의 비즈니스 데이터 요소는 제1 비즈니스 데이터 요소를 포함하고, 연관은 제1 물리적 데이터 요소 및 제1 비즈니스 데이터 요소가 연관되어 있음을 나타내며, 결정하는 것은 제1 데이터 계보에서 제1 물리적 데이터 요소를 획득하는 데 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제1 세트가, 제2 데이터 계보에서 제1 비즈니스 데이터 요소를 획득하는 데 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제2 세트와 상이한지를 결정하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 데이터 계보를 획득하고 불일치 여부를 결정하는 동작은 지정된 스케줄에 따라 반복적으로 수행된다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하며, 적어도 하나의 컴퓨터 하드웨어 프로세서는 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치 결정을 수행하도록 추가로 구성된다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치 결정은: 제1 물리적 데이터 요소의 데이터와 연관된 하나 이상의 데이터 품질 규칙에 적어도 부분적으로 기초하여 제1 물리적 데이터 요소에 있는 데이터의 데이터 품질 분석을 수행하는 것을 포함한다.
선행하는 구현예 중 어느 하나를 포함하는 일부 구현예에서, 제1 비즈니스 요소에 대한 데이터 품질 측정치는 정확성, 완전성, 및 유효성 중 하나 이상의 측정치를 포함한다.
일부 구현예는 방법에 관한 것이고, 상기 방법은, 적어도 하나의 컴퓨터 하드웨어 프로세서를 사용하여: 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 단계로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하는 단계; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 단계; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 단계; 및 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하는 단계를 수행하도록 하는 것을 포함한다.
일부 구현예는 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 상기 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며; 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하도록 한다.
일부 구현예는 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행하기 위한 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 프로세서 실행 가능 명령은, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하기 위한 수단으로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하기 위한 수단; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하기 위한 수단; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하기 위한 수단; 및 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하기 위한 수단을 포함한다.
일부 구현예는 제1 데이터 계보, 제2 데이터 계보, 및 제1 및 제2 데이터 계보의 데이터 요소 사이의 연관 간에 불일치가 존재하는지 여부를 결정하기 위한 데이터 처리 시스템에 관한 것이다. 상기 시스템은 적어도 하나의 컴퓨터 하드웨어 프로세서; 및 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체로서, 상기 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하되, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며; 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보, 및 획득된 연관 간에 하나 이상의 불일치가 존재하는지 여부를 결정하도록 하는, 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
일부 구현예는 방법에 관한 것이고, 상기 방법은, 적어도 하나의 컴퓨터 하드웨어 프로세서를 사용하여: 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 단계로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하는 단계; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 단계; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 단계; 및 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보, 및 획득된 연관 간에 하나 이상의 불일치가 존재하는지 여부를 결정하는 단계를 수행하도록 하는 것을 포함한다.
일부 구현예는 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 상기 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며; 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보, 및 획득된 연관 간에 하나 이상의 불일치가 존재하는지 여부를 결정하도록 한다.
일부 구현예는 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행하기 위한 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 프로세서 실행 가능 명령은: 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하기 위한 수단으로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하기 위한 수단; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하기 위한 수단; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하기 위한 수단; 및 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보 및 획득된 연관 사이의 하나 이상의 불일치가 존재하는지 여부를 결정하기 위한 수단을 포함한다.
일부 구현예는 하나 이상의 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하기 위한 데이터 처리 시스템에 관한 것이다. 상기 시스템은 적어도 하나의 컴퓨터 하드웨어 프로세서; 및 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체로서, 상기 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석, 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하고, 연관은 다수의 물리적 데이터 요소 중 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 중 제1 비즈니스 데이터 요소 사이의 연관을 포함하며; 제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치, 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비지니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하도록 한다.
일부 구현예에서, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하는 것은 제1 물리적 데이터 요소와 연관된 적어도 하나 이상의 데이터 품질 측정치를 획득하기 위해 제1 물리적 데이터 요소의 데이터와 연관된 하나 이상의 데이터 품질 규칙에 적어도 부분적으로 기초하여 제1 물리적 데이터 요소에 있는 데이터의 데이터 품질 분석을 수행하는 것을 포함한다.
일부 구현예에서, 제18항의 데이터 처리 시스템에서, 제1 비즈니스 요소에 대한 데이터 품질 측정치는 정확성, 완전성, 및 유효성 중 하나 이상의 측정치를 포함한다.
일부 구현예는 방법에 관한 것이고, 상기 방법은, 적어도 하나의 컴퓨터 하드웨어 프로세서를 사용하여: 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 단계로서, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하는 단계; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 단계; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하고, 연관은 다수의 물리적 데이터 요소 중 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 중 제1 비즈니스 데이터 요소 사이의 연관을 포함하는 단계; 및 제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하는 단계를 수행한다.
일부 구현예는 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 상기 비-일시적 컴퓨터 판독 가능 저장 매체는, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서가, 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하고, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하며; 제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하도록 한다.
일부 구현예는 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행하기 위한 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체에 관한 것이고, 프로세서 실행 가능 명령은: 다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하기 위한 수단으로서, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안에 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하기 위한 수단; 사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하기 위한 수단; 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하기 위한 수단으로서, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하는, 연관을 획득하기 위한 수단; 및 제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하기 위한 수단을 포함한다.
전술한 것은 첨부된 청구범위에 의해 정의되는 본 발명의 비-제한적인 요약이다.
다양한 양태 및 구현예가 하기의 도면을 참조하여 설명될 것이다. 도면은 반드시 일정한 비율로 작도된 것은 아님을 이해해야 한다. 다수의 도면에 나타나는 아이템은 이들이 나타나는 모든 도면에서 동일하거나 유사한 참조번호에 의해 표시된다.
도 1은 본원에 설명된 기술의 일부 구현예가 작동할 수 있는, 예시적인 컴퓨팅 환경의 블록도이다.
도 2는 본원에 설명된 기술의 일부 구현예에 따른, 예시적 파생 데이터 계보의 예시적인 그래픽 표현이다.
도 3a는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 계보와 파생 데이터 계보 사이의 연관을 나타내는 다이어그램이다.
도 3b는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 계보와 파생 데이터 계보 사이의 연관을 나타내는 다른 다이어그램이다.
도 3c는 본원에 설명된 기술의 일부 구현예에 따라, 사용자 지정 계보와 파생 데이터 계보 사이의 연관을 나타내는 다른 다이어그램이다.
도 3d는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 계보와 파생 데이터 계보 사이의 연관을 도시하는 다른 다이어그램이다.
도 4a는 본원에 설명된 기술의 일부 구현예에 따른, 비즈니스 데이터 요소가 물리적 데이터 요소와 연관될 수 있는 그래픽 인터페이스를 나타내는 다이어그램이다.
도 4b는 본원에 설명된 기술의 일부 구현예에 따른, 물리적 데이터 요소가 비즈니스 데이터 요소와 연관될 수 있는 다른 그래픽 인터페이스를 나타내는 다이어그램이다.
도 5는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관을 획득하고 사용자 지정 데이터 계보, 파생 데이터 계보, 및 이들 사이의 연관 사이에 불일치가 존재하는지 결정하기 위해 획득된 연관을 사용하는 예시적인 프로세스의 흐름도이다.
도 6a 내지 도 6b는 본원에 설명된 기술의 일부 구현예에 따른, 비즈니스 데이터 요소 "신용 점수"에 관한 정보를 도시하는 예시적인 그래픽 인터페이스의 다이어그램이다.
도 6c는 본원에 설명된 기술의 일부 구현예에 따른, 비즈니스 데이터 요소 "신용 점수"에 대한 파생 데이터 계보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 6d는 본원에 설명된 기술의 일부 구현예에 따른, 비즈니스 데이터 요소 "신용 점수"에 대한 사용자 지정 데이터 계보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 6e는 본원에 설명된 기술의 일부 구현예에 따른, 비즈니스 데이터 요소 "신용 점수"에 대한 사용자 지정 및 파생 계보 사이의 불일치의 존재를 나타내는 예시적인 사용자 인터페이스의 다이어그램이다.
도 7은 본원에 설명된 기술의 일부 구현예를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 시스템 환경의 블록도이다.
도 8a는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 데이터 계보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 8b는 본원에 설명된 기술의 일부 구현예에 따른, 도 8a의 사용자 지정 데이터 계보 내의 2개의 비즈니스 데이터 요소 사이의 의존관계에 관한 세부사항을 제공하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 8c는 본원에 설명된 기술의 일부 구현예에 따른, 도 8a의 사용자 지정 데이터 계보의 일부분에 대응하는 파생 데이터 계보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 8d는 본원에 설명된 기술의 일부 구현예에 따른, 도 8a의 사용자 지정 데이터 계보 내의 노드에 관한 정보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 8e는 도 8a의 사용자 지정 데이터 계보 내의 비즈니스 데이터 요소와 연관된 물리적 데이터 요소에 관한 정보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다.
도 8f는 본원에 설명된 기술의 일부 구현예에 따른, 도 8a의 사용자 지정 데이터 계보 내의 2개의 다른 비즈니스 데이터 요소 사이의 의존관계에 대한 세부사항을 제공하는 예시적인 사용자 인터페이스의 다이어그램이다.
본 발명자는 데이터 처리 시스템의 정확성, 감사 가능성 효율, 및 신뢰성이 데이터 처리 시스템에 의해 관리되는 데이터에 대한 정확하고 완전한 계보 정보의 생성을 용이하게 하는 기법에 의해 개선될 수 있음을 인식하고 이해하였다. 이와 같은 기법은 데이터 처리 시스템에서 문제의 존재를 식별하고 그 해결을 용이하게 하는 데 사용될 수 있고, 이에 의해 데이터 처리 시스템의 기능성을 향상시키고 데이터 처리 오류를 감소시킬 수 있다. 본 발명자는 또한 데이터 계보 정보를 생성하기 위한 종래의 접근법을 개선하기 위한 기법을 인식하고 이해하였다.
데이터 계보 정보를 생성하기 위한 일부 종래의 기법은 수동이다. 데이터 계보 정보를 생성하기 위해 수동 기법을 사용하는 것은 데이터 계보 정보를 요청하는 사람에 의해 이해되는 용어 및 요청하는 사람에게 관심있는 정보를 포함하도록 생성된 데이터 계보 정보를 커스터마이징하게 하지만, 많은 단점이 있다. 첫째로, 종래의 수동 기법을 사용하여 생성된 데이터 계보 정보의 정확성은 자동으로 확인될 수 없다. 예를 들어, 사람이 수동으로 생성할 때 리포트에 대한 데이터 계보는 리포트를 생성하는 데 사용된 일부 데이터가 특정 데이터 소스(예를 들어, 특정 위치의 데이터베이스 시스템)에서 비롯된 것이라는 것을 나타내고, 그 표시는 사람의 작업을 수동으로 재검사하는 것 외에 다른 방법으로 확인될 수 없다. 둘째로, 수동으로 생성된 데이터 계보 정보는 데이터 처리 시스템에 의해 관리되는 데이터가 빈번하게 변경됨에 따라, 예를 들어 데이터 소스의 제거 및/또는 추가, 데이터의 이동, 데이터 처리 로직의 변경 등으로 인해 빠르게 생산성이 떨어지게 된다. 이와 같은 변화는 종래의 수동 계보 생성 기법이 유지할 수 없는 빠른 속도로 발생한다.
데이터 계보 정보를 생성하기 위한 자동화된 기법은 이들 단점 중 일부를 해결할 수 있다. 예를 들어, 자동화된 날짜 계보 생성 기법은 생성된 데이터 계보 정보가 최신 상태가 되도록 반복적으로 실행될 수 있다. 다른 예로서, 생성된 데이터 계보 정보는 하나 이상의 컴퓨터 프로그램에 의해 확인될 수 있다. 그러나, 데이터 계보 정보를 생성하는 자동화된 기술도 몇몇 단점이 있다. 예를 들어, 자동화된 기법(예를 들어, 데이터 처리 시스템에 의해 관리되는 데이터에 대해 작동하는 하나 이상의 애플리케이션의 소스 코드 분석에 기초한 기술)에 의해 생성된 데이터 계보 정보는 데이터 계보 정보를 관측하는 사람(예를 들어, 비즈니스 인력)에 의해 쉽게 이해될 수 없는 용어(예를 들어, 변수 및 데이터 레코드 필드의 기술적인 이름)를 포함할 수 있다. 다른 예로서, 자동적으로 생성된 데이터 계보 정보는 관측하는 사람이 보고자 하는 것보다 훨씬 많은 정보를 포함할 수 있다. 예를 들어, 자동으로 생성된 데이터 계보 정보는 계보를 관측하는 사람에게 중요하지 않을 수 있는 것을 포함하여 데이터에 적용되는 각각의 그리고 모든 변형에 대한 세부 정보를 포함할 수 있다(예를 들어, 성이 "A"로 시작되는 모든 고객에 대한 정보를 추출하기 위해 데이터 레코드를 키에 따라 정렬하는 것은, 성이 "암스트롱"인 은행 고객의 신용 점수를 나타내는 데이터 값의 계보에 관심있는 은행 임원이 관심을 두지 않는 변환일 수 있다).
본 발명자는 수동 및 자동 둘 모두로 획득된 정보가 전체 데이터 계보를 정제하는 데 사용될 수 있는 유용한 정보를 제공한다는 것을 인식하고 이해하였다. 따라서, 일부 구현예는 데이터 계보 정보를 생성하기 위한 개선된 기법을 제공한다. 각각 전술한 것을 포함하는 단점을 가지는, 수동으로 생성된 데이터 계보 정보 또는 단지 자동으로 생성된 데이터 계보 정보만을 사용하는 대신에, 본 발명자에 의해 개발되고 본원에 설명된 기법은: (1) 수동으로 생성된 데이터 계보 정보(본원에서 "사용자 지정 데이터 계보" 또는 "사용자 지정 계보" 또는 "명시된 계보"라고 지칭함)를 획득하는 것; (2) 자동으로 생성된 데이터 계보 정보(본원에서 "파생 데이터 계보" 또는 "파생 계보"라고 지칭함)를 획득하는 것; 및 (3) (예를 들어, 연관을 생성하거나 이전에 생성된 연관에 액세스함으로써) 사용자 지정 및 파생 데이터 계보 사이의 연관을 획득하는 것에 의해 정확하고 완전한 데이터 계보 정보를 생성한다. 획득된 연관은 어느 유형의 데이터 계보 정보만을 사용하는 전술한 단점 중 적어도 일부를 해결하기 위해 사용될 수 있다. 일 예로서, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 사용자 지정 데이터 계보의 정확성을 확인하는 데 사용되며, 보다 일반적으로 이들 2가지 유형의 계보 사이의 불일치 또는 비 일관성을 식별하는 데 사용될 수 있다. 또 다른 예로서, 사용자 지정 계보와 파생 데이터 계보 사이의 연관은 종종 기술적 용어를 사용하여 표현된, 파생 데이터 계보의 정보를 데이터 계보 정보의 고객에 의해 보다 쉽게 액세스될 수 있는 비즈니스 용어로 매핑할 수 있다. 또 다른 예로서, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 파생 데이터 계보의 정확성을 확인하는 데 사용될 수 있다. 파생 데이터 계보의 오류를 식별하는 것(예를 들어, 사용자 지정 계보와의 비 일관성을 통해)은 기본 데이터 처리 시스템, 이들 간의 통신 링크 및/또는 데이터 처리 오류로 인한 문제의 식별을 허용한다. 따라서, 이와 같은 문제를 식별하고 해결하는 것은 기본 데이터 처리 시스템의 기능성을 개선하고 데이터 처리 오류를 감소시킨다. 파생 데이터 계보는 데이터의 플로우에 대한 매우 자세한 정보를 제공하기 때문에, 세부 정보에서 오류를 찾는 것은 매우 어려우며, 이는 건초 더미에서 바늘을 찾는 것과 비슷하다. 본원에 설명된 구현예에 따라, 사용자 지정 계보를 파생 데이터 계보와 연관시키는 것은 파생 데이터 계보가 단독으로 수행하지 않는 방식으로 임의의 데이터 처리 오류를 식별하는 것을 용이하게 한다.
본 발명자에 의해 개발되고 본원에 설명된 기법은 데이터 처리 시스템을 개선한다. 첫째로, 본원에 설명된 기법은 많은 데이터 처리 시스템에 포함되는 종래의 데이터 계보 기법에 대한 개선을 제공한다. 둘째로, 본원에 설명된 기법은 사용자 지정 및 파생 데이터 계보 사이의 일치 및/또는 불일치의 표시 생성을 허용하고, 어느 유형의 계보에서든 오류의 식별을 허용하고, 결과적으로 데이터 처리 시스템에서 데이터 처리 오류를 식별하고 해결하는 것을 용이하게 한다.
본원에 설명된 일부 구현예는 발명자가 데이터 계보 정보를 생성하기 위한 종래의 기법으로 인식하고 있는 전술한 모든 문제를 다룬다. 그러나, 이하에서 설명되는 모든 구현예가 이들 문제 모두를 다루는 것은 아니며, 일부 구현예는 이들 중 어느 것도 다루지 않을 수 있다. 이와 같이, 본원에 설명된 기술의 구현예는 데이터 계보 정보를 생성하기 위한 종래의 기법의 전술한 모든 또는 임의의 문제를 다루는 것으로 한정되지 않음을 이해해야 한다.
일부 구현예에서, 데이터 처리 시스템은: (1) 물리적 데이터 요소 간의 관계를 나타내는 파생 데이터 계보를 획득하고; (2) 비즈니스 데이터 요소 간의 관계를 나타내는 사용자 지정 데이터 계보를 획득하고; (3) 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 획득하고(예를 들어, 파생 데이터 계보의 물리적 데이터 요소 중 적어도 일부와 사용자 지정 데이터 계보의 비즈니스 데이터 요소의 적어도 일부 사이의 연관을 생성함으로써); 및 (4) 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하도록 구성될 수 있다.
일부 구현예에서, 일치 또는 불일치의 표시를 생성하는 것은: 일치 또는 불일치의 표시를 나타내는 제2 데이터 계보의 시각화를 디스플레이하는 것을 포함한다. 이와 같은 시각화의 비-제한적인 예는 본원에서 도 6a 내지 도 6e 및 도 8a 내지 도 8f에 제공된다. 예를 들어, 사용자 지정 데이터 계보는 2개의 비즈니스 데이터 요소 사이의 제1 의존관계를 나타내는 제1 링크를 포함할 수 있고, 사용자 지정 데이터 계보의 시각화를 디스플레이하는 것은 링크를 제1 의존관계에 대응하는 파생 데이터 계보에 의존관계에 존재할 때 일 방식으로(예를 들어, 도 8a에 도시된 바와 같이 두꺼운 선을 사용하여) 디스플레이하고 제1 의존관계에 대응하는 파생 데이터 계보에 의존관계가 존재하지 않을 때 다른 방식으로(예를 들어, 도 8a에 도시된 바와 같이 얇은 선을 사용하여) 디스플레이하는 것을 포함할 수 있다.
일부 구현예에서, 일치 또는 불일치의 표시를 생성하는 것은, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관에 기초하여, 파생 데이터 계보, 사용자 지정 데이터 계보, 및 파생 및 사용자 지정 데이터 계보 사이의 연관 사이의 불일치가 존재하는지 여부를 결정한다.
일부 구현예에서, 물리적 데이터 요소는 데이터 처리 시스템에 의해 저장되는/저장되거나 처리되는 임의의 데이터 요소일 수 있다. 예를 들어, 물리적 데이터 요소는 데이터 레코드 내의 필드일 수 있으며, 물리적 데이터 요소의 값은 데이터 레코드의 필드에 저장된 값일 수 있다. 다른 예로서, 물리적 데이터 요소는 테이블 내의 셀(예를 들어, 테이블의 특정 로우 및 컬럼에서 발생하는 셀)일 수 있고, 물리적 데이터 요소의 값은 테이블의 셀 내의 값일 수 있다. 또 다른 예로서, 물리적 데이터 요소는 (예를 들어, 리포트에서의) 변수일 수 있고, 물리적 요소의 값은 (예를 들어, 리포트의 특정 인스턴스에서의) 변수의 값일 수 있다.
일부 구현예에서, 비즈니스 데이터 요소는 비즈니스와 관련성을 갖는 개념적 수량을 나타내는 임의의 데이터 요소일 수 있다. 비즈니스 데이터 요소는 비즈니스 사용자에게 익숙한 자연 언어(예를 들어, 비즈니스 용어)를 사용함으로써 참조(예를 들어, 명명 및/또는 식별)될 수 있다. 이들이 비즈니스 데이터 요소가 나타내는 개념적 수량의 인스턴스인 하나 또는 복수의 값을 저장한다는 점에서 비즈니스 데이터 요소에 대응하는 하나 또는 복수의 물리적 데이터 요소가 있을 수 있다. 비즈니스 데이터 요소의 일 예는 은행 고객의 신용 점수일 수 있고, 이는 은행의 비즈니스와 관련된 개념적 수량이다. 은행 고객의 신용 점수를 나타내는 값을 저장하는 하나 이상의 물리적 데이터 요소(예를 들어, 하나 이상의 테이블, 파일, 스프레드시트, 데이터 스트림 등에서)가 있을 수 있다. 이와 같은 예에서, 고객의 신용 점수가 복수의 위치에 저장될 수 있거나 고객에 대해 복수의 상이한 신용 점수가 있기 때문에, 비즈니스 데이터 요소에 대응하는 복수의 물리적 데이터 요소가 있을 수 있다(예를 들어, 상이한 신용 평가 기관에 의해 제공된 상이한 신용 점수). 따라서, 단일 비즈니스 데이터 요소에 대응하는 하나 또는 복수의 물리적 데이터 요소가 있을 수 있다. 다른 한편으로, 일부 구현예에서, 특정 물리적 데이터 요소에 대응하는 단지 하나의 비즈니스 데이터 요소만이 있을 수 있다. 비즈니스 데이터 요소는 대응하는 물리적 데이터 요소의 값을 취할 수 있다.
비즈니스 데이터 요소에 대응하는 하나 이상의 물리적 요소가 있을 수 있지만, 종래의 데이터 처리 시스템은 이와 같은 관련성을 나타내는 정보에 액세스하지 않을 수 있음을 이해해야 한다. 이와 같은 정보에 액세스하지 않으면, 데이터 처리 시스템은 어떤 물리적 데이터 요소(들)가 비즈니스 데이터 요소에 대응하고/대응하거나 어떤 비즈니스 데이터 요소가 하나 이상의 물리적 데이터 요소(들)에 대응하는지를 자동으로 식별할 수 없다. 대조적으로, 본원에 설명된 기술의 일부 구현예는 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관을 생성하고 저장하는 것을 제공한다. 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 생성된 연관은 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 관련성을 나타내는 정보를 구성할 수 있다. 일부 구현예에서, 데이터 처리 시스템은 이와 같은 연관을 사용하여 어떤 물리적 데이터 요소 및 비즈니스 데이터 요소가 서로 대응하는지 자동으로 결정할 수 있다.
일부 구현예에서, 파생 데이터 계보는 데이터 처리 시스템에 의해 저장되고/저장되거나 처리되는 하나 또는 물리적 데이터 요소의 계보에 관한 정보를 포함할 수 있다. 물리적 데이터 요소의 계보에 관한 정보는 물리적 데이터 요소의 값이 어떻게 획득되지를 나타내는 업스트림 계보 정보를 포함할 수 있다. 예를 들어, 업스트림 계보 정보는 물리적 데이터 요소가 획득된 데이터(예를 들어, 하나 이상의 다른 물리적 데이터 요소) 및/또는 그 데이터에 적용된 하나 이상의 변환을 식별할 수 있다. 물리적 데이터 요소의 계보에 관한 정보는, 부가적으로 또는 대안으로, 물리적 데이터 요소의 값에 의존하는 하나 이상의 다른 데이터세트, 물리적 데이터 요소, 프로세스, 및/또는 애플리케이션을 나타내는 다운스트림 계보 정보를 포함할 수 있다.
일부 구현예에서, 파생 데이터 계보는 데이터 처리 시스템에 의해 관리되는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스(예를 들어, 판독, 기록, 및 수정)하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석함으로써 획득될 수 있다. 소스 코드 분석은 임의의 적절한 정적 코드 분석 기법 및/또는 임의의 다른 적절한 기법(들)을 사용함으로써 수행될 수 있다. 소스 코드 분석은 컴퓨터 프로그램에 의해 입력되고/입력되거나 액세스되는 하나 이상의 물리적 데이터 요소를 식별하고, 입력에 적용된 하나 이상의 변환 및/또는 컴퓨터 프로그램의 일부로서 입력을 사용하여 수행된 계산을 식별하고/식별하거나 컴퓨터 프로그램의 하나 이상의 출력을 식별하는 데 사용될 수 있다. 일부 구현예에서, 컴퓨터 프로그램은 데이터플로우 그래프를 포함할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨터 프로그램의 소스 코드를 분석하는 것 외에 또는 대신에, 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석함으로써 파생 데이터 계보가 획득될 수 있다. 예를 들어, 일부 구현예에서, 컴퓨터 프로그램의 런타임 동안 생성된 하나 이상의 로그는 컴퓨터 프로그램에 대한 입력, 컴퓨터 프로그램의 일부로서 입력을 사용하여 수행된 입력 및/또는 계산에 적용된 하나 이상의 변환, 및/또는 컴퓨터 프로그램의 하나 이상의 출력을 식별하기 위해 분석될 수 있다.
일부 구현예에서, 사용자 지정 데이터 계보는 사용자에 의해 지정될 수 있고 비즈니스 데이터 요소 간의 관계를 나타낼 수 있다. 사용자 지정 계보는 업스트림 및 다운스트림 계보 정보를 포함할 수 있다. 예를 들어, 사용자 지정 계보는 비즈니스에 관심있는 비즈니스 데이터 요소(예를 들어, 은행 고객의 신용 점수)를 생성(예를 들어, 계산)하는 데 사용되는 하나 이상의 다른 비즈니스 데이터 요소를 나타내는 정보를 포함할 수 있다. 일부 구현예에서, 하나 이상의 그래픽 사용자 인터페이스가 사용자 지정 데이터 계보의 지정을 용이하게 하기 위해 사용자에게 제공될 수 있다.
일부 구현예에서, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 획득하는 것은 파생 데이터 계보 내의 하나 이상의 물리적 데이터 요소와 사용자 지정 데이터 계보 내의 대응하는 비즈니스 데이터 요소 사이의 연관을 생성함으로써 수행될 수 있다. 일부 구현예에서, 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관은, 예를 들어 물리적 및 비즈니스 데이터 요소의 메타데이터(예를 들어, 이름)에 기초하여 자동적으로 생성될 수 있다. 일부 구현예에서, 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관은 연관을 지정하는 사용자 입력에 기초하여 생성될 수 있다. 이와 같은 구현예에서, 하나 이상의 그래픽 사용자 인터페이스가 연관의 지정을 용이하게 하기 위해 사용자에게 제공될 수 있다.
일부 구현예에서, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관은 이들 유형의 계보 사이에 불일치가 존재하는지 여부를 결정하는 데 사용될 수 있다. 예를 들어, 비즈니스 데이터 요소 "B"가 물리적 데이터 요소 "P"와 연관되는 계보 사이의 연관인 경우는, 물리적 데이터 요소 P를 획득하는 데 사용되는 파생 데이터 계보에서 식별된 하나 이상의 데이터 소스의 제1 세트가 비즈니스 데이터 요소 B를 획득하는 데 사용되는 사용자 지정 계보에서 식별된 하나 이상의 데이터 소스의 제2 세트와 상이한지 여부를 결정하는 것을 포함할 수 있는 불일치가 존재하는지 여부를 결정한다.
일부 구현예에서, 파생 데이터 계보는 업데이트될 수 있고, 파생 데이터 계보와 사용자 지정 데이터 계보 사이에 불일치가 존재하는지 여부에 대한 결정이 반복될 수 있다. 이와 같은 방식으로, 데이터 처리 시스템에 의해 관리되는 데이터의 변경으로 인해 발생할 수 있는 계보들 사이의 불일치가 검출될 수 있다.
파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관은 계보 사이의 불일치를 식별하는 데 사용되는 것으로 한정되지 않으며 임의의 다른 적절한 목적으로 사용될 수 있다는 것을 이해해야 한다. 예를 들어, 일부 구현예에서, 계보들 사이의 연관은 하나 이상의 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 획득하는 데 사용될 수 있다.
일부 구현예에서, 하나 이상의 물리적 데이터 요소 내의 데이터 품질이 평가될 수 있다. 예를 들어, 데이터의 품질은 미리 정의된 데이터 품질 규칙을 사용하여 평가될 수 있으며, 이는, 이를 테면 기준에 따라 값의 특성(예를 들어, 정확성, 정밀도, 완전성, 및 유효성)을 식별함으로써 물리적 데이터 요소의 값을 평가하기 위한 기준을 정의할 수 있다. 이에 의해, 값이 이들 특성을 나타내는 범위는 물리적 데이터 요소에 대한 데이터 품질의 측정치를 산출할 수 있으며, 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관으로 인해, 비즈니스 데이터 요소의 데이터 품질의 측정치를 산출할 수 있다.
따라서, 일부 구현예에서, 데이터 처리 시스템은 (1) 물리적 데이터 요소 간의 관계를 나타내는 파생 데이터 계보를 획득하고; (2) 비즈니스 데이터 요소 간의 관계를 나타내는 사용자 지정 데이터 계보를 획득하고; (3) 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 획득하되, 연관은 파생 데이터 계보 내의 제1 물리적 데이터 요소와 사용자 지정 데이터 계보 내의 제1 비즈니스 데이터 요소 사이의 연관을 포함하며; (4) 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관, 및 제1 물리적 데이터 요소에 대한 데이터 품질의 측정치에 기초하여, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하도록 구성될 수 있다.
본원에 설명된 구현예는 수많은 방식으로 구현될 수 있음을 이해해야 한다. 특정 구현의 예는 예시적 목적으로만 하기에 제공된다. 이들 구현예 및 제공된 특징/성능은, 본원에 설명된 기술의 양태가 이런 관점에서 한정되지 않기 때문에, 개별적으로, 모두 함께, 또는 둘 이상의 임의의 조합으로 사용될 수 있음을 이해해야 한다.
도 1은 본원에 설명된 기술의 일부 구현예가 작동할 수 있는 예시적인 컴퓨팅 환경(100)의 블록도이다. 컴퓨팅 환경(100)은 데이터 저장소(104)에 저장된 데이터에 대해 작동하도록 구성된, 데이터 처리 시스템(105)을 포함한다.
일부 구현예에서, 데이터 저장소(104)는 임의의 적절한 유형의 하나 이상의 포맷으로 데이터를 저장하는 하나 또는 다수의 저장장치를 포함할 수 있다. 예를 들어, 데이터 저장소(104)의 저장장치(들) 부분은 하나 이상의 데이터베이스 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 및/또는 임의의 다른 적절한 포맷(예를 들어, 메인프레임의 네이티브 포맷)의 파일을 사용하여 데이터를 저장할 수 있다. 저장장치(들)는 임의의 적절한 유형일 수 있으며, 하나 이상의 서버, 하나 이상의 데이터베이스 시스템, 하나 이상의 휴대용 저장장치, 하나 이상의 비-휘발성 저장장치, 하나 이상의 휘발성 저장장치, 및/또는 데이터를 전자적으로 저장하도록 구성된 다른 장치(들)를 포함할 수 있다. 일부 구현예에서, 데이터 저장소(104)는 저장장치(들)에 부가하여 또는 대신에 하나 이상의 온라인 데이터 스트림을 포함할 수 있다. 따라서, 일부 구현예에서, 데이터 처리 시스템(105)은 임의의 적절한 포맷으로 하나 이상의 데이터 스트림에 걸쳐 제공되는 데이터에 액세스할 수 있다.
데이터 저장소(104)가 다수의 저장장치를 포함하는 구현예에서, 저장장치는 하나의 물리적 위치에(예를 들어, 하나의 빌딩에) 공동 위치되거나 또는 다수의 물리적 위치에(예를 들어, 상이한 도시, 주, 또는 국가에 있는 복수의 빌딩에) 걸쳐서 분산될 수 있다. 저장장치는, 예를 들어 도 1에 도시된 네트워크(106)와 같은 하나 이상의 네트워크를 사용하여 서로 통신하도록 구성될 수 있다.
일부 구현예에서, 저장장치(들)에 의해 저장된 데이터는 하나 이상의 파일, 테이블, 테이블의 로우 및/또는 컬럼의 데이터, 스프레드시트, 데이터세트, 데이터 레코드(예를 들어, 신용 카드 거래 레코드, 전화 통화 레코드, 및 은행 거래 레코드), 필드, 변수, 메시지, 및/또는 리포트와 같은 하나 또는 복수의 데이터 엔티티를 포함할 수 있다. 저장장치(들)는 수천, 수백만, 수천만, 또는 수백억의 데이터 엔티티를 저장할 수 있다. 각 데이터 엔티티는 하나 또는 복수의 물리적 데이터 요소를 포함할 수 있다.
물리적 데이터 요소는 데이터 처리 시스템에 의해 저장되고/저장되거나 처리되는 임의의 데이터 요소일 수 있다. 예를 들어, 물리적 데이터 요소는 데이터 레코드 내의 필드일 수 있고, 물리적 데이터 요소의 값은 데이터 레코드의 필드에 저장된 값일 수 있다. 특정 비-제한적인 예로서, 물리적 데이터 요소는 전화 통화에 관한 정보를 저장하는 데이터 레코드에 발신자의 이름을 저장하는 필드일 수 있고(어떤 데이터 레코드는 통신사의 고객이 행한 전화 통화에 관한 복수의 데이터 레코드의 일부일 수 있음), 물리적 데이터 요소의 값은 필드에 저장된 값일 수 있다. 다른 예로서, 물리적 데이터 요소는 테이블 내의 셀(예를 들어, 테이블의 특정 로우 및 컬럼에서 발생하는 셀)일 수 있고, 물리적 데이터 요소의 값은 테이블의 셀 내의 값일 수 있다. 다른 예로서, 물리적 데이터 요소는 (예를 들어, 리포트에서) 변수일 수 있고, 물리적 요소의 값은 (예를 들어, 리포트의 특정 인스턴스에서) 변수의 값일 수 있다. 특정 비제한적인 예로서, 물리적 데이터 요소는 신청자의 신용 점수를 나타내는 은행 대출 신청자에 관한 리포트에서의 변수일 수 있으며, 물리적 데이터 요소의 값은 신용 점수의 수치 값(예를 들어, 300 내지 850 사이의 수치 값)일 수 있다. 신청자의 신용 점수를 나타내는 물리적 데이터 요소의 값은 은행 대출 신청자에 관한 리포트를 생성하는 데 사용된 데이터에 따라 변경될 수 있다.
일부 구현예에서, 물리적 데이터 요소는 임의의 적절한 유형의 값을 취할 수 있다. 예를 들어, 물리적 데이터 요소는 본원에 설명된 기술의 양태가 이런 관점에서 한정되지 않기 때문에 수치 값, 알파벳 값, 이산 옵션 세트(예를 들어, 유한 카테고리 세트)의 값, 또는 임의의 다른 적절한 유형의 값을 취할 수 있다.
데이터 처리 시스템(105)은 데이터 저장소(104) 내의 데이터에 대해 작동하도록 구성된 하나 또는 복수의 컴퓨터 프로그램(109)을 포함할 수 있다. 컴퓨터 프로그램(109)은 임의의 적절한 유형일 수 있고 임의의 적절한 프로그래밍 언어로 기록될 수 있다. 예를 들어, 일부 구현예에서, 컴퓨터 프로그램(109)은 구조화된 쿼리 언어(SQL)를 사용하여 적어도 부분적으로 기록되고 데이터 저장소(104)의 하나 이상의 데이터베이스 부분의 데이터에 액세스하도록 구성된 하나 이상의 컴퓨터 프로그램을 포함할 수 있다. 다른 예로서, 일부 구현예에서, 데이터 처리 시스템(105)은 그래프의 형태로 프로그램을 실행하도록 구성되며, 컴퓨터 프로그램(109)은 데이터플로우 그래프로서 개발된 하나 이상의 컴퓨터 프로그램을 포함할 수 있다. 데이터플로우 그래프는 입력 데이터에 대해 수행할 데이터 처리 작업을 나타내는 "노드" 또는 "정점"이라고 하는 구성요소 및 데이터의 플로우를 나타내는 구성요소 사이의 링크를 포함할 수 있다. 데이터플로우 그래프에 의해 인코딩된 계산을 실행하기 위한 기법은 "그래프로 표현된 계산 실행"이라는 명칭의 미국특허 제5,966,072호에 설명되어 있고, 본원에서 그 전체가 참고로 포함된다.
도 1의 예시된 구현예에서, 데이터 처리 시스템(105)은 사람(예를 들어, 개발자)에 의해 데이터 저장소(104)의 데이터를 운용하기 위한 하나 이상의 컴퓨터 프로그램(109)을 개발하는 데 사용될 수 있는 개발 환경(108)을 더 포함한다. 예를 들어, 일부 구현예에서, 사용자(102)는 데이터플로우 그래프와 같은 컴퓨터 프로그램을 지정하고 그 컴퓨터 프로그램을 컴퓨터 프로그램(109)의 일부로서 저장하기 위해 개발 환경과 상호 작용하는 컴퓨팅 장치(103)를 사용할 수 있다. 데이터 플로우 그래프로서 컴퓨터 프로그램을 개발하기 위한 환경은 "그래프 기초 애플리케이션에 대한 파라미터 관리"라는 명칭의 미국특허 공개 제2007/0011668호에 설명되어 있고, 본원에서 그 전체가 참고로 포함된다.
일부 구현예에서, 하나 이상의 컴퓨터 프로그램(109)은 데이터 저장소(104)의 데이터에 대한 임의의 적절한 작동을 수행하도록 구성될 수 있다. 예를 들어, 하나 이상의 컴퓨터 프로그램(109)은 하나 이상의 소스로부터 데이터에 액세스하고, 액세스된 데이터를 변환하고(예를 들어, 데이터 값 변경, 데이터 레코드 필터링, 데이터 포맷 변경, 데이터 정렬, 복수의 소스로부터의 데이터 결합, 데이터를 복수의 부분으로 분할함으로써, 및/또는 임의의 다른 적절한 방법으로), 액세스된 데이터로부터 하나 이상의 새로운 값을 계산하고/계산하거나 데이터를 하나 또는 복수의 목적지에 기록하도록 구성될 수 있다.
일부 구현예에서, 하나 이상의 컴퓨터 프로그램(109)은 데이터 저장소(109)에서 데이터에 대한 계산을 수행하고/수행하거나 데이터로부터 리포트를 생성하도록 구성될 수 있다. 수행된 계산 및/또는 생성된 리포트는 비즈니스에 관련된 하나 이상의 수량과 관련될 수 있다. 예를 들어, 컴퓨터 프로그램은 사람에 대한 신용 이력 데이터에 액세스하고 신용 이력에 기초하여 그 사람의 신용 점수를 결정하도록 구성될 수 있다. 다른 예로서, 컴퓨터 프로그램은 통신사의 복수의 고객의 전화 호출 로그에 액세스하고, 얼마나 많은 고객이 이들 데이터 플랜에서 허용된 것보다 더 많은 데이터를 사용하는지 나타내는 리포트를 생성할 수 있다. 또 다른 예로서, 컴퓨터 프로그램은 은행에 의해 이루어진 대출의 유형을 나타내는 데이터에 액세스하여, 은행에 의해 이루어진 대출의 전반적인 위험을 나타내는 리포트를 생성할 수 있다. 컴퓨터 프로그램은 데이터 저장소(104)에 저장된 데이터로부터(예를 들어, 임의의 적절한 비즈니스 목적을 위해) 임의의 적절한 정보를 생성하도록 구성될 수 있기 때문에, 이들 예는 예시적이고 비-제한적이다.
예시된 구현예에서, 데이터 처리 시스템(105)은 또한 다양한 데이터 거버넌스 태스크의 성능을 지원하는 데이터 거버넌스 모듈(110)을 포함한다. 예를 들어, 예시된 구현예에서, 데이터 거버넌스 모듈(110)은 데이터 사전 모듈(112), 역할 관리 모듈(114), 데이터 품질 모듈(116), 파생 계보 모듈(118), 사용자 지정 계보 모듈(120), 및 계보 연관 모듈(122)을 포함하고, 하기에 상세히 설명된 바와 같이, 이들 각각은, 실행될 때 하나 이상의 데이터 거버넌스 태스크의 성능을 지원하는 기능성을 수행하는 프로세서 실행 가능 명령을 포함한다.
일부 구현예에서, 데이터 사전 모듈(112)은 데이터 저장소(104)에 데이터에 관한 정보를 저장하도록 구성될 수 있다. 즉, 데이터 사전(112)은 데이터 저장소(104) 내의 데이터와 연관된 메타데이터를 저장하도록 구성될 수 있다. 예를 들어, 데이터 사전(112)은 데이터 저장소(104) 내의 물리적 데이터 요소에 대한 하나 이상의 대체 이름을 저장할 수 있다. 이와 같은 방식으로, 물리적 데이터 요소를 대응하는 변수의 이름(어떤 변수 이름은 프로그래머에 의해 생성되었을 수 있고 변수가 나타내는 어떤 정보를 사용자에게 즉시 전달하지 않는다는 점에서 "사용자 친화적"이 아님)으로 물리적 데이터 요소를 참조하는 대신에, 데이터 사전은, 예를 들어 사업가가 물리적 데이터 요소를 참조하는 데 사용할 자연 언어 용어 또는 구문과 같은 물리적 데이터 요소에 대한 하나 이상의 대체 용어를 포함할 수 있다. 특정 예로서, 데이터 사전(112)은 특정 은행 고객에 대한 FICO 신용 점수의 값을 저장하는, "cstCrdScr"으로 명명된 변수에 대응하는 물리적 데이터 요소에 대한 대체 이름으로서 "Bank Customer Credit Score" 또는 "Bank Customer FICO Credit Score"라는 이름을 저장할 수 있다. 다른 특정 예로서, 데이터 사전(112)은 "order_amt"으로 명명된 필드에 대응하는 물리적 데이터 요소를 참조하는 데 사용될 수 있는 언어로서 "Order Amount"라는 이름을 저장할 수 있다.
일부 구현예에서, 역할 관리 모듈(114)은 어떤 당사자 또는 당사자들이 데이터 저장소(104)에 저장된 다양한 데이터 요소에 대해 책임이 있는지 나타내는 정보를 관리할 수 있다. 이와 같은 역할 정보를 관리하는 것은 역할 정보를 저장하고, 한 명 이상의 사용자가 이와 같은 정보를 수정하고(예를 들어, 당사자 및/또는 이들 책임을 제거, 추가 또는 변경함으로써), 및/또는 역할 정보를 디스플레이하는 것을 포함할 수 있다.
일부 구현예에서, 역할 관리 모듈(114)은 하나 이상의 물리적 데이터 요소 및/또는 하나 이상의 비즈니스 데이터 요소에 대한 책임 당사자를 지정할 수 있다. 예를 들어, 역할 관리 모듈(114)은 데이터 요소의 관리에 대해 책임이 있는 당사자를 나타내는 그래픽 인터페이스를 생성하는 데 사용되는 정보를 관리하도록 구성될 수 있다(그리고, 일부 구현예에서는 생성하도록 구성될 수 있음). 이와 같은 그래픽 인터페이스의 예시적인 예가 도 6a에 도시되어 있고, "credit score(신용 점수)" 비즈니스 데이터 요소(601)의 관리에 대해 책임이 있는 4명의 개인(비즈니스 소유자(602), 데이터 담당자(604), 및 2명의 주제 전문가(606 및 608)을 포함함)을 식별한다.
일부 구현예에서, 데이터 품질 모듈(116)은 하나 이상의 물리적 데이터 요소 각각에 대한 데이터 품질의 하나 이상의 측정치를 결정하도록 구성될 수 있다. 물리적 데이터 요소의 데이터 품질은 임의의 적절한 방식으로 결정될 수 있다. 예를 들어, 일부 구현예에서, 데이터의 품질은 미리 정의된 데이터 품질 규칙을 사용하여 평가될 수 있으며, 기준에 따라 값의 특성(예를 들어, 정확성, 정밀도, 완전성, 및 유효성)을 식별하는 것과 같은 물리적 데이터 요소의 값을 평가하기 위한 기준을 정의할 수 있다. 이에 의해, 값이 이들 특성을 나타내는 범위는 물리적 데이터 요소에 대한 데이터 품질 측정치를 생성할 수 있다. 데이터 품질 규칙을 사용하여 데이터의 품질을 평가하는 양태는 미국특허 공개 제2014/0108357호, "데이터에 대한 규칙 지정 및 적용"에 설명되어 있고, 본원에서 그 전체가 참고로 포함된다.
일부 구현예에서, 파생 계보 모듈(118)은 데이터 저장소(104)의 데이터 중 적어도 일부에 대한 파생 데이터 계보를 생성하도록 구성될 수 있다. 파생 데이터 계보는 하나 또는 물리적 데이터 요소의 계보에 관한 정보를 포함할 수 있다. 예를 들어, 파생 데이터 계보는 물리적 데이터 요소의 값이 획득된 방법을 나타내는 업스트림 계보 정보 및/또는 하나 이상의 다른 데이터세트, 물리적 데이터 요소, 프로세스, 및/또는 물리적 데이터 요소의 값에 의존하는 애플리케이션을 나타내는 다운스트림 계보 정보를 포함할 수 있다.
일부 구현예에서, 파생 계보 모듈(118)은 데이터 처리 시스템에 의해 관리되는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스(예를 들어, 판독, 기록, 및 수정)하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석함으로써 파생 데이터 계보를 생성하도록 구성될 수 있다. 소스 코드 분석은 컴퓨터 프로그램에 대한 입력을 식별하고(예를 들어, 컴퓨터 프로그램에 의해 액세스되는 하나 이상의 물리적 데이터 요소를 식별함), 입력에 적용된 하나 이상의 변환 및/또는 컴퓨터 프로그램의 일부로서 입력을 사용하여 수행된 계산을 식별하며/식별하거나 컴퓨터 프로그램의 하나 이상의 출력을 식별하는 데 사용될 수 있다. 일부 구현예에서, 컴퓨터 프로그램은 데이터플로우 그래프를 포함할 수 있다.
일부 구현예에서, 파생 계보 모듈(118)은 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석함으로써 파생 데이터 계보를 생성하도록 구성될 수 있다. 예를 들어, 일부 구현예에서, 컴퓨터 프로그램의 런타임 동안 생성된 하나 이상의 로그는 컴퓨터 프로그램에 대한 입력, 입력에 적용된 하나 이상의 변환 및/또는 컴퓨터 프로그램의 일부로서 입력을 사용하여 수행된 계산, 및/또는 컴퓨터 프로그램의 하나 이상의 출력을 식별하기 위해 분석될 수 있다.
일부 구현예에서, 파생 계보 모듈(118)은 하나 이상의 데이터 발견 프로세스를 사용함으로써 파생 데이터 계보를 생성하도록 구성될 수 있다. 예를 들어, 일부 구현예에서, 데이터 발견을 구현하는 컴퓨터 프로그램은 동일한 데이터 값을 포함하는 상이한 물리적 데이터 요소를 식별하며, 그 식별에 기초하여, 이들 물리적 데이터 요소가 관련되어 있는지를 결정하도록 구성될 수 있다. 예를 들어, 컴퓨터 프로그램은 동일한 데이터 테이블이 복수의 상이한 데이터베이스에 저장되어 있는지를 결정하며, 이를 근거로, 이들 테이블 내의 물리적 데이터 요소가 관련되어 있는지를 결정하도록 구성될 수 있다. 파생 계보 모듈(118)은, 본원에 설명된 기술의 양태가 이러한 관점에서 한정되지 않기 때문에, 전술한 방법 중 둘 이상의 전술한 방법 또는 다른 방법의 임의의 조합을 사용하여 파생 계보를 생성하도록 구성될 수 있다.
도 2는 예시적인 파생 데이터 계보의 데이터 계보 다이어그램(200)이다. 파생 데이터 계보 및 그것을 도시하는 다이어그램은 파생 계보 모듈(118)에 의해 생성될 수 있다. 데이터 계보 다이어그램(200)은 데이터 엔티티를 나타내는 노드(202), 및 데이터 엔티티에 적용된 변환을 나타내는 노드(204)를 포함한다. 데이터 계보 다이어그램(200)은 데이터 엔티티(206) 내의 하나 이상의 물리적 데이터 요소에 대한 업스트림 계보 정보를 보여준다. 변환을 나타내는 노드로 오는 화살표는 어떤 데이터 엔티티가 변환에 대한 입력으로서 제공되는지를 나타낸다. 데이터의 변환을 나타내는 노드에서 나오는 화살표는 변환 결과가 제공되는 데이터 엔터티를 나타낸다. 데이터 엔티티의 예가 본원에 제공된다. 변환의 예는 임의의 적절한 유형의 계산 수행, 데이터 정렬, 임의의 적절한 기준에 기초하여 데이터의 하나 이상의 부분을 제거하기 위한 데이터 필터링(예를 들어, 하나 이상의 데이터 레코드를 제거하는 데이터 레코드 필터링), 데이터 병합(예를 들어, 조인 연산을 사용하거나 임의의 다른 적절한 방식으로), 임의의 적절한 데이터베이스 연산 또는 명령 실행, 및/또는 전술한 변환의 임의의 적절한 조합을 포함할 수 있지만, 이에 한정되지는 않는다. 변환은, 제한이 아닌 예로서, 데이터플로우 그래프로서 구현되는 하나 이상의 컴퓨터 프로그램을 포함하는 임의의 적절한 유형의 하나 이상의 컴퓨터 프로그램을 사용하여 구현될 수 있다.
도 2에 도시된 다이어그램(200)과 같은 데이터 계보 다이어그램은, 여러 가지 이유로 유용할 수 있다. 예를 들어, 데이터 엔티티와 변환 사이의 관계를 도시하는 것은 사용자가 특정 물리적 데이터 요소가 획득된 방법(예를 들어, 리포트의 특정 값이 계산된 방법)를 결정하는 데 도움이 될 수 있다. 다른 예로서, 데이터 계보 다이어그램은 어떤 변환이 다양한 물리적 데이터 요소, 및/또는 데이터 엔티티에 적용되었는지를 결정하는 데 사용될 수 있다.
일부 구현예에서, 파생 데이터 계보는 물리적 데이터 요소, 이들 물리적 데이터 요소를 포함하는 데이터 엔티티, 및/또는 물리적 데이터 요소에 적용되는 변환 간의 관계를 나타낼 수 있다. 물리적 데이터 요소, 데이터 엔티티, 및 변환 간의 관계는, 예를 들어 시스템(예를 들어, 하나 이상의 컴퓨팅 장치, 데이터베이스, 데이터 웨어하우스 등) 및/또는 애플리케이션(예를 들어, 데이터 처리 시스템에 의해 관리되는 데이터에 액세스하는 하나 이상의 컴퓨터 프로그램)과 같은 다른 것들 간의 관계를 결정하는 데 사용될 수 있다. 예를 들어, 하나의 물리적 위치에 위치된 시스템 "A"에 저장된 데이터베이스의 테이블의 물리적 데이터 요소 부분이, 파생 데이터 계보 내에서, 시스템 "B"에 저장된 다른 데이터베이스의 다른 테이블의 다른 물리적 데이터 요소 부분으로부터 파생되도록 지시될 때, 그에 따라 시스템 A와 B 사이의 관계가 추론될 수 있다. 다른 예로서, 애플리케이션 프로그램이 시스템으로부터 하나 이상의 물리적 데이터 요소를 판독할 때, 애플리케이션 프로그램과 시스템 사이의 관계가 추론될 수 있다. 또 다른 예로서, 하나의 애플리케이션 프로그램이 다른 애플리케이션 프로그램에 의해 작동되는 물리적 데이터 요소에 액세스할 때, 애플리케이션 프로그램 사이의 관계가 추론될 수 있다. 이들 관계 중 하나 이상은 데이터 계보 다이어그램의 일부로서 도시될 수 있다.
데이터 처리 시스템은 많은 수의 물리적 데이터 요소(예를 들어, 수백만, 수십억 또는 수조의 물리적 데이터 요소)를 관리할 수 있음을 이해해야 한다1(1예를 들어, 신용카드 거래와 연관된 데이터를 관리하는 데이터 처리 시스템은 일년에 수십억 건의 신용카드 거래를 처리할 수 있으며, 각 거래에는, 예를 들어 신용카드 번호, 날짜, 판매자 id, 및 구매 금액과 같은 복수의 물리적 데이터 요소가 포함될 수 있다). 따라서, 파생 데이터 계보는 많은 수의 물리적 데이터 요소, 이들 물리적 데이터 요소를 포함하는 데이터 엔티티, 및/또는 물리적 데이터 요소에 적용되는 변환 간의 관계를 나타낼 수 있다. 파생 데이터 계보에는 많은 양의 정보가 포함될 수 있으므로, 뷰어가 소화할 수 있는 방식으로 정보를 제시하는 것이 중요하다. 따라서, 일부 구현예에서, 파생 데이터 계보의 정보는 상이한 입도(granularity) 수준으로 시각화될 수 있다. 파생 계보의 정보를 시각화하기 위한 다양한 기법 및 파생 데이터 계보를 생성하고/생성하거나 시각화하기 위한 기술의 일부 양태가, (1) "데이터 요소와 데이터 요소 속성의 그래픽 표현 간의 관계 시각화"라는 명칭의 미국특허출원 공개번호 제2010/0138431호; (2) "데이터 계보 다이어그램의 필터링"이라는 명칭의 미국 특허출원 공개번호 제2016/0232230호; (3) "데이터 계보의 요약"이라는 명칭의 미국특허출원 공개번호 제2016/0028580호; 및 (4) "계보 정보의 관리"라는 명칭의 미국 특허출원 공개번호 제2016/0019286호에 설명되어 있고, 각각은 본원에서 그 전체가 참고로 포함된다.
일부 구현예에서, 사용자 지정 계보 모듈(120)은 사용자(예를 들어, 사용자(102) 또는 임의의 다른 적절한 사용자)에 의한 사용자 지정 계보의 지정을 용이하게 하도록 구성될 수 있다. 사용자 지정 계보 모듈(120)은 계보를 수동으로 지정하는 것을 용이하게 하기 위해 사용자에게 하나 이상의 그래픽 사용자 인터페이스를 제공하도록 구성될 수 있다. 그래픽 사용자 인터페이스(들)는 사용자가 비즈니스 데이터 요소에 대응하는 그래픽 디스플레이 요소를 드래그 앤 드롭(drag and drop)할 수 있는 캔버스를 제공할 수 있다. 그래픽 디스플레이 요소는 그래픽 디스플레이 요소에 의해 표현되는 비즈니스 데이터 요소 간의 계보 관계를 나타내기 위해 사용된 링크(예를 들어, 선, 방향 화살표 등)를 연결할 수 있다.
일부 구현예에서, 사용자 지정 데이터 계보는 사용자에 의해 지정될 수 있고 비즈니스 데이터 요소 간의 관계를 나타낼 수 있다. 사용자 지정 계보는 업스트림 및 다운스트림 계보 정보를 포함할 수 있다. 예를 들어, 사용자 지정 계보는 비즈니스에 관심있는 비즈니스 데이터 요소(예를 들어, 은행 고객의 신용 점수)를 생성(예를 들어, 계산)하는 데 사용되는 하나 이상의 다른 비즈니스 데이터 요소를 나타내는 정보를 포함할 수 있다.
일부 구현예에서, 연관 모듈(122)은 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관의 생성을 용이하게 하도록 구성될 수 있다. 이를 위해, 연관 모듈(122)은 하나 이상의 비즈니스 데이터 요소 각각에 대해 비즈니스 데이터 요소와 하나 이상의 대응하는 물리적 데이터 요소 사이의 연관을 생성할 수 있다.
일부 구현예에서, 연관 모듈(122)은 비즈니스 데이터 요소와 하나 이상의 대응하는 물리적 데이터 요소 사이의 연관을 자동으로 생성할 수 있다(예를 들어, 비즈니스 데이터 요소 및 물리적 데이터 요소가 연관되어야 함을 나타내는 사용자 입력없이). 이것은 임의의 적절한 방식으로 행해질 수 있다. 예를 들어, 일부 구현예에서, 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관은, 예를 들어 물리적 및 비즈니스 데이터 요소의 메타데이터에 기초하여 자동적으로 생성될 수 있다. 이와 같은 메타데이터는 물리적 및/또는 비즈니스 요소의 이름, 물리적 및 비즈니스 데이터 요소의 유형, 물리적 데이터 요소와 하나 이상의 다른 물리적 데이터 요소 사이의 관계, 및 비즈니스 데이터 요소와 하나 이상의 다른 물리적 데이터 요소 사이의 관계를 포함하는 정보를 포함할 수 있지만, 이에 한정되지는 않는다. 하나의 특정 예로서, 물리적 및 비즈니스 데이터 요소가 적어도 임계 수의 속성을 공유하는 경우, 연관 모듈(122)은 이들 요소를 연관시킬 수 있다. 다른 예로서, 데이터 요소 간의 기존의 연관은 새로운 연관의 자동 식별을 통지할 수 있다. 예를 들어, 물리적 데이터 요소 A(은행 고객에 대한 신용 점수를 저장하는 테이블 Ⅰ의 필드)가 비즈니스 데이터 요소 B(은행 고객에 대한 신용 점수)와 연관되며, 데이터 처리 시스템이 물리적 데이터 요소 A가 물리적 데이터 요소 C(은행 고객에 대한 신용 점수의 사본을 저장하는 테이블 II의 필드)와 관련된다고(예를 들어, 데이터 발견 프로세스를 사용하여) 결정하면, 그 다음에 연관 모듈은 물리적 데이터 요소 C를 비즈니스 데이터 요소 B에 연관시킬 수 있다.
일부 구현예에서, 연관 모듈(122)은 연관을 지정하는 사용자 입력에 적어도 부분적으로(또는 전체적으로) 기초하여 생성될 수 있는 물리적 데이터 요소와 비즈니스 데이터 요소 사이의 연관을 생성할 수 있다. 이와 같은 구현예에서, 하나 이상의 그래픽 사용자 인터페이스가 제공될 수 있어 사용자가 물리적 및 비즈니스 데이터 요소 사이의 연관을 지정하게 한다. 이와 같은 사용자 인터페이스의 예시적인 예가 도 4a 및 도 4b에 도시되어 있다.
도 4a는 비즈니스 데이터 요소(401)("Order Amount(주문량)")가 2개의 대응하는 물리적 데이터 요소: 데이터 세트 "rush_order"에서 "order_amt"로 명명된 물리적 데이터 요소(402) 및 데이터 세트 "order_fact"에서 "order_amt"로 또한 명명된 물리적 데이터 요소(403)와 연관될 수 있는 그래픽 인터페이스(400)를 예시하는 다이어그램이다. 그래픽 사용자 인터페이스(400)는 이들 연관 중 하나 또는 둘 모두를 제거하고/제거하거나 하나 이상의 다른 연관을 추가하는 데 사용될 수 있다. 그래픽 사용자 인터페이스(400)로부터 알 수 있는 바와 같이, 비즈니스 데이터 요소(401)는 하나 또는 복수의 대응하는 물리적 데이터 요소와 연관될 수 있다.
도 4b는 본원에 설명된 기술의 일부 구현예에 따라, 비즈니스 데이터 요소와 연관될 수 있는 물리적 데이터 요소를 통해 다른 그래픽 인터페이스(410)를 예시하는 다이어그램이다. 도 4b에 도시된 바와 같이, 데이터 세트 "rush_order"에서, 물리적 데이터 요소(402)는 비즈니스 데이터 요소(401)와 연관될 수 있다. 그래픽 유저 인터페이스(410)로부터 알 수 있는 바와 같이, 물리적 데이터 요소(402)는 단일의 대응하는 비즈니스 데이터 요소와 연관될 수 있다.
일부 구현예에서, 데이터 처리 시스템(100)은 데이터 처리 시스템에 의해 관리되는 데이터에 관한 정보를 한 명 이상의 사용자에게 보여주도록 구성될 수 있다. 도 1에 도시된 구현예에서, 데이터 처리 시스템(100)은 컴퓨팅 장치(134)를 통해, 시스템에 의해 관리되는 데이터에 관한 정보를 사용자(130)에게 보여주도록 구성될 수 있다. 사용자(130)는, 예를 들어 시스템(100)에 의해 관리되는 데이터와 연관된 계보 정보를 포함하는 컴퓨팅 장치(134)를 통해, 임의의 적절한 정보를 볼 수 있다. 따라서, 사용자(130)는 파생 데이터 계보 모듈(118)을 사용하여 생성된 물리적 데이터 요소에 대한 파생 데이터 계보에 관한 정보, 사용자 지정 계보 모듈(120)을 사용함으로써 적어도 부분적으로 생성된 사용자 지정 데이터 계보에 관한 정보, 및 (예를 들어, 도 3a 내지 도 3d를 참조하여 하기에서 설명되는 바와 같은) 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 나타내는 정보를 볼 수 있다(예를 들어, 임의의 적절한 유형의 데이터 계보 다이어그램을 통해, 그 예가 본원에 제공됨).
각각의 컴퓨팅 장치(103 및 134)는, 본원에 설명된 기술의 양태가 이러한 관점에서 한정되지 않으므로, 고정식 또는 휴대형의 임의의 적절한 유형의 컴퓨팅 장치일 수 있다. 또한, 컴퓨팅 장치(103 및 134)는 동일한 유형의 컴퓨팅 장치일 필요가 없다. 컴퓨팅 장치(103 및 134), 데이터 처리 시스템(105) 및 데이터 저장소(104)는 네트워크(106)를 통해 서로 통신하도록 구성된다. 네트워크(106)는 인터넷, 인트라넷, 광역 네트워크, 근거리 통신망, 및/또는 임의의 다른 적절한 유형의 네트워크와 같은 임의의 적절한 유형의 네트워크일 수 있다.
전술한 바와 같이, 일부 구현예에서, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관은 이들 유형의 계보 간에 불일치가 존재하는지 여부를 결정하는 데 사용될 수 있다. 예를 들어, 도 3a 및 도 3b에 도시된 바와 같이, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관은 파생 및 사용자 지정 데이터 계보가 연관된 물리적 및 비즈니스 데이터 요소에 대한 상이한 데이터 소스를 나타내는지를 결정하는 데 사용될 수 있다.
도 3a는 본원에 설명된 기술의 일부 구현예에 따른, 사용자 지정 계보(300)의 예와 파생 데이터 계보(320)의 예 사이의 연관을 예시하는 다이어그램이다. 사용자 지정 계보(300) 및 파생 데이터 계보(320) 각각은 본원에 설명된 임의의 방법으로 획득될 수 있다. 사용자 지정 및 파생 데이터 계보는 도 3a에 도시된 계보보다 더욱 복잡할 수 있음을 이해해야 하며, 예를 들어 더 많은 비즈니스 데이터 요소, 물리적 데이터 요소, 데이터 엔티티, 비즈니스 데이터 컨테이너 등을 포함할 수 있다. 도 3a에 도시된 계보의 예는 설명의 용이함을 위해 사용된 것이고 제한하기 위한 것이 아니다.
파생 데이터 계보(320)는 데이터 엔티티(340, 342, 344, 346, 348, 및 350)를 포함한다. 각각의 데이터 엔티티는 상이한 시스템 및/또는 컴퓨팅 장치에 저장될 수 있다. 대안으로, 2개 이상의(또는 모든) 데이터 엔티티가 하나의 시스템 및/또는 컴퓨팅 장치에 저장될 수 있다. 데이터 엔티티의 예가 본원에 제공된다. 각 데이터 엔티티는 하나 또는 복수의 물리적 데이터 요소를 포함할 수 있다. 데이터 엔티티(340)는 물리적 데이터 요소(322)를 포함하는 하나 이상의 물리적 데이터 요소를 포함한다. 데이터 엔티티(342)는 물리적 데이터 요소(324)를 포함하는 하나 이상의 물리적 데이터 요소를 포함한다. 데이터 엔티티(344)는 물리적 데이터 요소(326, 328, 및 330)를 포함하는 복수의 물리적 데이터 요소를 포함한다. 데이터 엔티티(346)는 물리적 데이터 요소(332)를 포함하는 하나 이상의 물리적 데이터 요소를 포함한다. 데이터 엔티티(348)는 물리적 데이터 요소(334)를 포함하는 하나 이상의 물리적 데이터 요소를 포함한다. 데이터 엔티티(350)는 물리적 데이터 요소(336)를 포함하는 하나 이상의 물리적 데이터 요소를 포함한다.
일부 구현예에서, 파생 데이터 계보는 하나 이상의 물리적 데이터 요소에 대한 업스트림 데이터 계보 정보를 포함할 수 있고, 물리적 데이터 요소(들)가 어떻게 획득되고/획득되거나 생성되었는지에 관한 정보를 제공한다. 예를 들어, 도 3a의 예시적 예에서, 파생 데이터 계보(320)는 물리적 데이터 요소(322)에 대한 업스트림 데이터 계보 정보를 포함한다. 도 3a에서 음영으로 표시된 바와 같이, 물리적 데이터 요소(322)는 물리적 데이터 요소(332)로부터 획득된, 물리적 데이터 요소(326)를 포함하는 복수의 물리적 데이터 요소로부터 획득된, 물리적 데이터 요소(324)로부터 획득된 것으로 도시된다. 따라서, 물리적 데이터 요소(322)는, 적어도 부분적으로, 데이터 엔티티(346)의 물리적 데이터 요소(332)에 기초하여 획득된다.
사용자 지정 데이터 계보(320)는 데이터 컨테이너(303, 305, 307, 및 309)를 포함한다. 데이터 컨테이너는 비즈니스 데이터 요소를 캡슐화하기 위한 임의의 적절한 컨테이너일 수 있다. 데이터 컨테이너는 비즈니스 데이터 요소를 비즈니스 사용자에게 제공하는 데 사용될 수 있다. 예를 들어, 데이터 컨테이너는 리포트, 스프레드시트, 하나 이상의 슬라이드를 갖는 프레젠테이션, 텍스트 파일, 워드 문서, 및/또는 PDF 파일일 수 있다. 일부 구현예에서, 데이터 컨테이너 내의 콘텐트는, 예를 들어 데이터베이스 쿼리(예를 들어, SQL 쿼리)를 수행하고 데이터베이스 쿼리의 결과를 데이터 컨테이너에 배치함으로써 사용자에 의해 생성될 수 있다. 특정 비-제한적인 예로서, 사용자 지정 데이터 계보를 생성하는 사용자는 데이터베이스 쿼리를 수행하고, 쿼리의 결과로서 반환된 테이블을 스프레드시트 파일에 삽입할 수 있다.
도 3a에 도시된 바와 같이, 데이터 컨테이너(303)는 비즈니스 데이터 요소(302)를 포함하는 하나 이상의 비즈니스 데이터 요소를 포함한다. 데이터 컨테이너(305)는 비즈니스 데이터 요소(304)를 포함하는 하나 이상의 비즈니스 데이터 요소를 포함한다. 데이터 컨테이너(307)는 비즈니스 데이터 요소(306)를 포함하는 하나 이상의 비즈니스 데이터 요소를 포함한다. 데이터 컨테이너(309)는 비즈니스 데이터 요소(308)를 포함하는 하나 이상의 비즈니스 데이터 요소를 포함한다.
일부 구현예에서, 사용자 지정 데이터 계보는 비즈니스 데이터 요소(들)가 어떻게 획득되고/획득되거나 생성되는지에 관한 정보를 제공하는, 업스트림 데이터 계보 정보, 및/또는 비즈니스 데이터 요소(들)에 의존하는 다른 비즈니스 데이터 요소(들)를 나타내는 정보를 제공하는, 하나 이상의 비즈니스 데이터 요소에 대한 다운스트림 계보 정보를 포함할 수 있다. 예를 들어, 도 3a의 예시적 예에서, 사용자 지정 계보(300)는 비즈니스 데이터 요소(302)에 대한 업스트림 데이터 계보 정보를 포함한다. 도 3a에 도시된 바와 같이, 사용자 지정 계보(300)는 비즈니스 데이터 요소(302)가 비즈니스 데이터 요소(308)로부터 획득된, 비즈니스 데이터 요소(306)로부터 획득된, 비즈니스 데이터 요소(304)로부터 획득됨을 나타낸다.
본원에서 논의된 바와 같이, 일부 구현예에서, 연관은 파생 데이터 계보 내의 하나 이상의 물리적 데이터 요소와 사용자 지정 데이터 계보 내의 하나 이상의 대응하는 비즈니스 데이터 요소 사이의 연관을 생성함으로써 사용자 지정 계보와 파생 데이터 계보 사이에서 생성될 수 있다. 이와 같은 연관의 예시적인 예가 도 3a에 도시되고, 이는 (1) 비즈니스 데이터 요소(302)가 연관 링크(352)를 통해 물리적 데이터 요소(322)와 연관되고; (2) 비즈니스 데이터 요소(304)가 연관 링크(354)를 통해 물리적 데이터 요소(324)와 연관되고; (3) 비즈니스 데이터 요소(306)가 연관 링크(356)를 통해 물리적 데이터 요소(326)와 연관되고; (4) 비즈니스 데이터 요소(308)가 연관 링크(358)를 통해 물리적 데이터 요소(332)와 연관됨을 도시한다. 도 3a의 예로부터 알 수 있는 바와 같이, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 계보 내의 데이터 요소 사이의 하나 이상의 연관 링크를 지정하는 정보를 포함할 수 있다. 도 3b는, 데이터 엔티티(340, 342, 342, 344, 346, 348, 및 350) 및 데이터 컨테이너(303, 305, 307, 및 309)가 생략되는, 도 3a의 단순화된 버전을 도시한다.
일부 구현예에서, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관은 계보 사이에 불일치가 존재하는지 여부를 결정하는 데 사용될 수 있다. 예를 들어, 도 3a에 도시된 연관은 비즈니스 데이터 요소(302)에 대한 사용자 지정 계보와 비즈니스 데이터 요소(302)와 연관된, 물리적 데이터 요소(322)에 대한 파생 데이터 계보 사이에 불일치가 없음을 나타낸다. 이와 같은 예에서, 물리적 데이터 요소(322)의 업스트림 파생 데이터 계보 내의 모든 물리적 데이터 요소는 비즈니스 데이터 요소(302)에 대한 업스트림 사용자 지정 데이터 계보 내의 대응하는 비즈니스 데이터 요소와 연관된다. 예를 들어, 파생 데이터 계보(320)에 따라, 물리적 데이터 요소(322)를 획득하는 데 사용되는, 물리적 데이터 요소(332)는 사용자 지정 데이터 계보(300)에 따라, 비즈니스 데이터 요소(302)를 획득하는 데 사용되는, 비즈니스 데이터 요소(308)와 연관된다.
대조적으로, 도 3c에 도시된 연관은 기본 데이터 처리 시스템에 의해 관리되는 데이터에 대한 변경을 반영하도록 업데이트된, 사용자 지정 계보(300)와 파생 데이터 계보(320) 사이에 불일치가 있음을 나타낸다. 파생 데이터 계보(320)에 대한 변경의 결과로서, 물리적 데이터 요소(322)는, 도 3b에 도시된 바와 같은 물리적 데이터 요소(332) 보다는, 이제 도 3에서 음영으로 표시된 바와 같은 물리적 데이터 요소(336)를 사용함으로써 획득된다. 결과적으로, 물리적 데이터 요소(322)의 업스트림 파생 데이터 계보 내의 모든 물리적 데이터 요소가 비즈니스 데이터 요소(302)에 대한 업스트림 사용자 지정 데이터 계보 내의 대응하는 비즈니스 데이터 요소와 연관되는 것은 아니다. 도 3c에 도시된 바와 같이, 물리적 데이터 요소(322)를 획득하는 데 사용되는 물리적 데이터 요소(336)는 물리적 데이터 요소(322)와 연관된 비즈니스 데이터 요소인, 사용자 지정 데이터 계보(300) 내의 비즈니스 데이터 요소(302)를 획득하는 데 사용되는, 비즈니스 데이터 요소와 연관되지 않는다. 게다가, 물리적 데이터 요소(332)는, 파생 데이터 계보에 따라 물리적 데이터 요소(322)를 생성하는 데 사용되지 않더라도, 이는 그럼에도 불구하고 사용자 지정 데이터 계보에 따라 비즈니스 데이터 요소(302)를 생성하는 데 사용되는, 비즈니스 데이터 요소(308)와 연관된다. 이들 불일치는 본원에 설명된 기술을 사용하여 자동으로 식별될 수 있고 사용자는 이들 존재에 대한 알림을 받을 수 있고/있거나 불일치를 해결하기 위한 하나 이상의 자동화된 조치가 취해질 수 있다(예를 들어, 사용자 지정 데이터 계보를 변경 및/또는 한 명 이상의 사용자에게 이와 같은 변경을 구현하도록 통지함으로써).
도 3a, 도 3b, 및 도 3c에 도시된 바와 같이, 일부 구현예에서, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 사용자 지정 데이터 계보 내의 비즈니스 데이터 요소와 파생 데이터 계보 내의 물리적 데이터 요소 사이의 연관을 포함한다. 일부 구현예에서, 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 사용자 지정 데이터 계보와 파생 데이터 계보에서의 변환 사이의 연관을 더 포함할 수 있다. 사용자 지정 데이터 계보에서의 변환은 비즈니스 데이터 요소가 하나 이상의 다른 비즈니스 데이터 요소로부터 어떻게 획득되는지 나타낼 수 있다. 파생 데이터 계보에서의 변환은 물리적 데이터 요소가 하나 이상의 다른 물리적 데이터 요소로부터 어떻게 획득되는지 나타낼 수 있다. 변환의 예가 본원에 제공된다.
사용자 지정 및 파생 데이터 계보에서의 변환 사이의 연관의 일 예가 도 3d에 예시된 예에 도시되어 있다. 도 3d에서, 사용자 지정 데이터 계보(300)는 비즈니스 데이터 요소(306)를 획득하기 위해 비즈니스 데이터 요소(308 및 309)에 적용되는, 변환(310)을 더 포함한다. 파생 데이터 계보(320)는 물리적 데이터 요소(326)를 획득하기 위해 물리적 데이터 요소(332 및 334)에 적용되는, 변환(323)을 더 포함한다. 도 3d에 도시된 바와 같이, 변환(310 및 323)은 연관 링크(357)를 통해 서로 연관된다. 단지 하나의 변환이 사용자 지정 데이터 계보(300) 및 파생 데이터 계보(320)의 각각에 대해 도 3d에 도시되더라도, 본원에서 설명된 기술의 양태가 이러한 관점에서 제한되지 않으므로, 각 계보는 임의의 적절한 수의 변환을 포함할 수 있음을 이해해야 한다. 예를 들어, 파생 데이터 계보는 데이터 엔티티 및/또는 물리적 데이터 엔티티의 링크된 쌍(예를 들어, 도 2에 도시된 변환(204) 참조) 간의 변환을 포함할 수 있다.
도 5는 사용자 지정 및 파생 계보 사이의 연관을 획득하고(예를 들어, 생성 또는 액세스하고) 획득된 연관을 사용하여 본원에 설명된 기술의 일부 구현예에 따라, 사용자 지정 계보, 파생 계보, 및 이들 사이의 연관 간에 불일치가 존재하는지 여부를 결정하는 예시적인 프로세스(500)의 흐름도이다. 프로세스(500)는 임의의 적절한 시스템 및/또는 컴퓨팅 장치(들)에 의해 수행될 수 있으며, 예를 들어 도 1을 참조하여 설명된 데이터 처리 시스템(105)에 의해 수행될 수 있다.
프로세스(500)는 사용자 지정 데이터 계보가 획득되는 동작(502)에서 시작한다. 사용자 지정 데이터 계보는 적절한 방법으로 획득될 수 있다. 예를 들어, 사용자 지정 데이터 계보는 사용자가 사용자 지정 데이터 계보를 지정하는 것을 용이하게 하기 위해 데이터 처리 시스템에 의해 사용자에게 제공된 하나 이상의 그래픽 사용자 인터페이스를 사용하여 사용자에 의해 지정될 수 있다.
다음에, 프로세스(500)는 동작(504)으로 진행하며, 여기서 파생 데이터 계보가 획득된다. 파생 데이터 계보는 본원에 설명된 임의의 방법으로 획득될 수 있다. 예를 들어, 일부 구현예에서, 파생 데이터 계보는 데이터 처리 시스템에 의해 관리되는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 하나 이상의 컴퓨터(들) 프로그램의 소스 코드를 분석함으로써 획득될 수 있다. 소스 코드 분석은 컴퓨터 프로그램(들)에 의해 입력되거나 액세스되는 하나 이상의 물리적 데이터 요소를 식별하고, 입력에 적용된 하나 이상의 변환 및/또는 컴퓨터 프로그램(들)의 일부로서 입력을 사용하여 수행된 계산을 식별하고, 및/또는 컴퓨터 프로그램(들)의 하나 이상의 출력을 식별하는 데 사용될 수 있다. 부가적으로 또는 대안으로, 파생 데이터 계보는 컴퓨터 프로그램(들)의 런타임 동안 획득된 정보를 분석함으로써 획득될 수 있다. 예를 들어, 일부 구현예에서, 컴퓨터 프로그램의 런타임 동안 생성된 하나 이상의 로그는 컴퓨터 프로그램에 대한 입력, 입력에 적용된 하나 이상의 변환 및/또는 컴퓨터 프로그램의 일부로서 입력을 사용하여 수행된 계산, 및/또는 컴퓨터 프로그램의 하나 이상의 출력을 식별하기 위해 분석될 수 있다.
다음에, 프로세스(500)는 동작(506)으로 진행하며, 여기서 동작(502)에서 획득된 사용자 지정 계보와 동작(504)에서 획득된 파생 데이터 계보 사이의 연관이 획득된다. 연관은 이전에 생성된 연관에 액세스하거나 프로세스(500)의 일부로서 연관을 생성함으로써 획득될 수 있다. 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 생성하는 단계는 파생 데이터 계보 내의 하나 이상의 물리적 데이터 요소와 사용자 지정 데이터 계보 내의 하나 이상의 대응하는 비즈니스 데이터 요소 사이의 연관을 생성하는 단계를 포함할 수 있다. 부가적으로, 파생 데이터 계보와 사용자 지정 데이터 계보 사이의 연관을 생성하는 단계는 파생 데이터 계보 내의 물리적 데이터 요소의 하나 이상의 변환과 사용자 지정 데이터 계보 내의 비즈니스 데이터 요소의 하나 이상의 대응하는 변환 사이의 연관을 생성하는 단계를 포함할 수 있다. 일단 생성되면, 연관은 데이터 처리 시스템에 의해 하나 또는 복수의 데이터 구조에 저장될 수 있으며, 후속 용도를 위해 이용 가능하다.
사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관은 본원에 설명된 임의의 방법으로 생성될 수 있다. 일부 구현예에서, 계보들 사이의 연관은, 예를 들어 물리적 및 비즈니스 데이터 요소의 메타데이터(예를 들어, 이름)에 기초하여, 자동적으로 생성될 수 있다. 일부 구현예에서, 계보들 사이의 연관은 연관을 지정하는 사용자 입력에 기초하여 생성될 수 있다. 이와 같은 구현예에서, 하나 이상의 그래픽 사용자 인터페이스가 연관의 지정을 용이하게 하기 위해 데이터 처리 시스템에 의해 사용자에게 제공될 수 있다. 그래픽 사용자 인터페이스는 물리적 데이터 요소와 비즈니스 데이터 요소 사이뿐만 아니라 이와 같은 요소에 적용되는 변환 사이의 연관을 지정하는 것을 용이하게 할 수 있다.
다음에, 프로세스(500)는 동작(508)으로 진행하며, 여기서 동작(506)에서 생성된 연관의 시각화가 생성된다. 시각화는 어떤 물리적 데이터 요소 및 비즈니스 데이터 요소가 서로 연관되어 있는지 나타내는 그래픽 표시를 제공할 수 있다. 부가적으로, 시각화는 또한 사용자 지정 계보 내의 어떤 변환 및 파생 데이터 내의 어떤 변환이 서로 연관되어 있는지의 그래픽 표시를 제공할 수 있다. 예를 들어, 일부 구현예에서, 생성된 시각화는 파생 데이터 계보 내의 하나 이상의 물리적 데이터 요소와 연관된 비즈니스 데이터 요소(들) 사이의 연관 링크(예를 들어, 도 3a에서의 연관 링크(352, 354, 356, 및 358))를 나타내는 하나 또는 복수의 그래픽 요소를 포함할 수 있다. 특정 예로서, 동작(508)에서 생성된 시각화는, (1) 동작(504)에서 획득된 파생 데이터 계보를 나타내는 제1 그래프의 시각화로서, 제1 그래프는 데이터 엔티티, 물리적 데이터 요소, 및/또는 변환을 나타내는 노드를 포함하는, 제1 그래프의 시각화; (2) 동작(502)에서 획득된 사용자 지정 데이터 계보를 나타내는 제2 그래프의 시각화로서, 제2 그래프는 데이터 컨테이너, 비즈니스 데이터 요소, 및/또는 변환을 나타내는 노드를 포함하는 제2 그래프의 시각화; (3) 물리적 및 비즈니스 데이터 요소 사이 및/또는 두 계보 내의 변환 사이의 연관 링크를 나타내는 그래프 내의 노드들 사이의 하나 이상의 에지를 포함할 수 있다. 다른 비-제한적인 예의 시각화가 본원에서 도 6a 내지 도 6e 및 도 8a 내지 도 8f에 도시되어 있다.
다음에, 프로세스(500)는 동작(509)로 진행하며, 여기서 데이터 품질의 측정치가 비즈니스 데이터 요소(들)와 연관된 하나 이상의 물리적 데이터 요소 각각에 대한 데이터 품질의 측정치에 기초하여 하나 또는 복수의 비즈니스 데이터 요소 각각에 대해 결정된다. 일부 구현예에서, 물리적 데이터 요소에 대한 품질의 측정치는 기준에 따라 특성(예를 들어, 정확성, 정밀도, 완전성, 및 유효성)을 식별하는 것과 같이, 물리적 데이터 요소의 값을 평가하기 위한 기준을 정의할 수 있는, 하나 이상의 미리 정의된 데이터 품질 규칙을 사용하여 평가될 수 있다. 따라서, 값이 이들 특성을 나타내는 범위는, 이에 의해 물리적 데이터 요소에 대한 데이터 품질의 측정치를 산출할 수 있으며, 물리적 및 비즈니스 데이터 요소 사이의 연관으로 인해, 비즈니스 데이터 요소의 데이터 품질의 측정치를 산출할 수 있다.
다음에, 프로세스(500)는 결정 블록(510)으로 진행하고, 여기서 동작(502)에서 획득된 사용자 지정 데이터 계보, 동작(504)에서 획득된 파생 데이터 계보, 및 동작(506)에서 획득된 연관 간에 불일치가 존재하는지 여부가 결정된다. 몇몇 경우에, 두 유형의 계보 사이의 연관이 정확할 수 있으며, 계보 자체 간의 불일치로 인해 불일치가 발생할 수 있다. 다른 경우에, 두 유형의 계보 사이의 연관에 오류가 있을 수 있고 오류의 결과로 불일치가 발생할 수 있다.
불일치는 임의의 적절한 방법으로 검출될 수 있다. 예를 들어, 일부 구현예에서, 데이터 처리 시스템은 다른 물리적 데이터 요소(예를 들어, 도 3a의 물리적 데이터 요소(322))를 획득하는 데 사용되는, 물리적 데이터 요소(예를 들어, 도 3a의 물리적 데이터 요소(332))가 다른 물리적 데이터 요소(예를 들어, 도 3a의 물리적 데이터 요소(322))와 연관된 비즈니스 데이터 요소(예를 들어, 도 3a의 비즈니스 데이터 요소(302))를 획득하는 데 사용되는 비즈니스 데이터 요소(예를 들어, 도 3a의 비즈니스 데이터 요소(308)와 연관되어 있는지 여부를 체크할 수 있다. 다른 예로서, 데이터 처리 시스템은 파생 데이터 계보에서 물리적 데이터 요소 P를 획득하는 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제1 세트가 사용자 지정 계보에서 비즈니스 데이터 요소 B를 획득하는 데 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제2 세트와 상이한지 (또는 동일한지) 여부를 결정할 수 있다.
사용자 지정 및 파생 데이터 계보 사이에 불일치가 검출되지 않으면, 프로세스(500)는, NO 분기를 통해, 결정 블록(514)으로 진행한다. 반면에, 불일치가 검출되면, 프로세스(500)는 동작(512)으로 진행하고, 여기서 불일치의 표시가 사용자에게 제공된다. 표시는 그래픽, 텍스트, 또는 이들의 임의의 적절한 조합일 수 있다. 예를 들어, 표시는 그래픽 사용자 인터페이스(예를 들어, 도 6d 참조), 텍스트 메시지, 이메일, 및/또는 임의의 다른 적절한 형태의 상호작용의 일부로서 제공될 수 있다.
결정 블록(514)에서, 동작(504)에서 획득된 파생 데이터 계보를 리프레시할지 여부에 관한 결정이 이루어진다. 이와 같은 결정은 임의의 적절한 방식으로 이루어질 수 있다. 예를 들어, 일부 구현예에서, 파생 데이터 계보는 스케줄에 따라 자동으로 리프레시될 수 있다. 일부 구현예에서, 사용자는 파생 데이터 계보가 리프레시되어야 하는지 여부를 나타내는 입력을(예를 들어, 프롬프트에 응답하여 또는 프롬프트 없이) 제공할 수 있다. 파생 데이터 계보가 리프레시되어야 한다고 결정되면, 프로세스(500)는 YES 분기를 통해 동작(504)으로 복귀한다. 그렇지 않으면, 프로세스(500)가 완료된다.
프로세스(500)는 예시적이고 이와 같은 프로세스의 변형이 있다는 것을 이해해야 한다. 예를 들어, 예시된 구현예에서, 불일치의 표시가 검출되는 사용자 지정 및 파생 데이터 계보 사이의 불일치에 응답하여 사용자에게 제공되지만, 다른 구현예에서는 하나 이상의 자동화된 동작이 불일치를 해결하기 위해 취해질 수 있다. 예를 들어, 일부 구현예에서, 파생 데이터 계보가 불일치를 제거하기 위한 일환으로 리프레시될 수 있다. 다른 예로서, 일부 구현예에서, 프로세스(500)를 실행하는 데이터 처리 시스템은 파생 데이터 계보와 일치하도록 사용자 지정 데이터 계보를 변경할 수 있다. 또 다른 예로서, 데이터 처리 시스템은 새로운 파생 데이터 계보를 획득하는 것을 돕기 위해 사용자 지정 데이터 계보를 사용할 수 있다.
프로세스(500)의 변형의 또 다른 예로서, 프로세스(500)의 모든 동작이 모든 구현예에서 요구되는 것은 아니라는 것을 이해해야 한다. 예를 들어, 일부 구현예에서, 동작(508 내지 514) 중 임의의 하나 이상은 선택적일 수 있다. 예를 들어, 일부 구현예에서, 프로세스(500)는 동작(508 및/또는 509)을 수행하지 않고 진행될 수 있다.
도 6a내지 도 6e는 본원에 설명된 기술의 일부 구현예와 관련하여 사용될 수 있는 그래픽 사용자 인터페이스의 몇몇 추가의 예시적인 예를 도시한다. 도 6a 내지 도 6e의 그래픽 사용자 인터페이스는 은행 고객의 신용 점수를 나타낼 수 있는, 비즈니스 데이터 요소 "신용 점수"에 관한 정보를 제공한다.
본원에 설명된 바와 같이, 데이터 처리 시스템은 어떤 당사자가 비즈니스 데이터 요소의 관리에 책임이 있는지에 관한 정보를 유지할 수 있다. 그 일 예로서, 도 6a의 예시적인 그래픽 사용자 인터페이스(600)는, "신용 점수" 비즈니스 데이터 요소(601)의 관리에 대해 책임이 있는 4명의 개인(비즈니스 소유자(602), 데이터 담당자(604), 및 2명의 주제 전문가(606 및 608)를 포함함)을 식별한다.
도 6b 및 도 6c는 "신용 점수" 비즈니스 데이터 요소(601)에 대응하는 물리적 데이터 요소에 대한 파생 데이터 계보에 관한 정보를 제공한다. 도 6b의 그래픽 사용자 인터페이스는 비즈니스 데이터 요소(601)에 대응하는 물리적 데이터 요소를 생성하는 것과 관련된 시스템의 리스팅(612)을 도시한다.
도 6c는 비즈니스 데이터 요소(601) "신용 점수"에 대한 파생 데이터 계보(630)를 제시하는 예시적인 사용자 인터페이스이다. 도 6c에 도시된 바와 같이, 비즈니스 데이터 요소(601)에 대응하는 물리적 데이터 요소는 리스크 데이터마트(622) 내의 피드(621)에 저장된다. 피드(621)의 물리적 데이터 요소는 고객 데이터 웨어하우스(624)의 저장장치(623)에 저장된 물리적 데이터 요소를 사용하여 획득된다. 저장장치(623)의 물리적 데이터 요소는 시스템(628, 630, 및 632)에 저장된 물리적 데이터 요소로부터 차례로 획득되는, 피드(626)의 물리적 데이터 요소를 사용하여 획득된다.
도 6d는 비즈니스 데이터 요소(601) "신용 점수"에 대해 명시된 데이터 계보에서의 정보를 제시하는 예시적인 사용자 인터페이스(640)이다. 인터페이스에 도시된 바와 같이, 신용 점수 비즈니스 데이터 요소(601)와 연관된 물리적 데이터 요소를 획득하는 데 사용된 데이터의 사용자 지정("명시된") 소스는 "외부 데이터"(642)이다.
도 6e는 비즈니스 데이터 요소(601)에 대한 사용자 지정 및 파생 계보 사이의 불일치의 존재를 나타내는 예시적인 사용자 인터페이스(650)이다. 인터페이스(650)에 도시된 바와 같이, 신용 점수 비즈니스 데이터 요소(601)와 관련된 물리적 데이터 요소를 획득하는 데 사용된 데이터의 사용자 지정("명시된") 소스는 "외부 데이터"(652)이다. 그러나, 파생 데이터 계보에 따르면, 이와 같은 물리적 데이터 요소의 소스는 "U.S. 발신 시스템"(654)이다. 도 6e에서 알 수 있는 바와 같이, 사용자 인터페이스(650)는 비즈니스 데이터 요소(601)에 대응하는 물리적 데이터 요소에 대해 명시되고 파생된 소스가 일치하지 않음을 표시해줌으로써(박스 내의 체크마크를 통해) 사용자에게 사용자 지정 및 파생 계보 사이의 불일치를 제시한다.
도 8a는 노드(808)로 표시되는, 리포트 "소비자 공여 리포트"에 포함된 비즈니스 데이터 요소 "총 신용 공여"에 대한 사용자 지정 데이터 계보(800)를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다. 사용자 지정 데이터 계보(800)는 무엇보다도 다음과 같은 것을 나타낸다:
(1) 비즈니스 데이터 요소 "총 신용 공여"에 대한 입력은 "신용 점수" 및 "미결제 대출 금액(Outstanding Loan Amount)"이며, 둘 모두는 노드(806)로 표시되는 "리스크 데이터마트(Risk Datamart)"라는 데이터베이스 시스템에 있으며, "총 신용 공여" 비즈니스 데이터 요소에 대한 입력으로 집계되고;
(2) 리스크 데이터마트 데이터베이스의 "신용 점수" 비즈니스 데이터 요소는, 동일한 데이터베이스에 있는, 테이블 컬럼 입력을 가지며, 이는 신용 점수를 밴드(band)로 분류하기 위해 변환을 거치고;
(3) 노드(804)로 표시되는, 고객 데이터 웨어하우스(CDW : Customer Data Warehouse)로 불리는 애플리케이션의 "신용 점수" 테이블 컬럼은 "리스크 데이터마트"의 "신용 점수" 테이블 컬럼에 대한 패스 스루(pass through) 입력이고, 노드(804 및 806) 사이의 링크(805)를 따라 체크박스로 도시된 "신용 점수 체크"로 불리는 자동 제어에 의해 체크되며;
(4) CDW 애플리케이션의 "신용 점수" 테이블 컬럼의 콘텐트는 3가지 상이한 발신 시스템: 노드(802a)로 표시되는 캐나다 발신 시스템, 노드(802c)로 표시되는 멕시코 발신 시스템, 및 노드(802d)로 표시되는 US 발신 시스템의 각각에서 오는 데이터뿐만 아니라 서드파티(third-party) 애플리케이션 "신용 조사 기관(Credit Bureau) 데이터"에 의존한다.
전술한 내용으로부터 알 수 있는 바와 같이, 사용자 지정 데이터 계보(800)에서, 다양한 노드는 상이한 시스템, 애플리케이션, 데이터베이스, 및 리포트를 나타낸다. 노드 사이의 링크는 데이터의 플로우를 나타내며, 때때로 이들은 "플로우"로 불린다. 사용자 지정 데이터 계보(800)에서, 링크(803a-d)는 노드(802a-d)로부터 노드(804)로의 개별 플로우를 나타내고, 링크(805)는 노드(804)로부터 노드(806)로의 데이터의 플로우를 나타내며, 링크(807)는 노드(806)로부터 노드(808)로의 데이터의 플로우를 나타낸다. 사용자 지정 계보(800) 내의 각 링크는 노드들 간의 데이터의 플로우뿐만 아니라 본원에 포함된 비즈니스 데이터 요소 간의 의존관계를 나타낸다는 것을 주목한다. 예를 들어, 링크(803a)는 노드(804)로 표시되는 CDW 애플리케이션의 "신용 점수" 테이블의 데이터가 노드(802a)로 표시되는 캐나다 발신 시스템의 "신용 점수" 테이블에 의존한다는 것을 나타낸다. 사용자 지정 계보의 링크는 데이터 의존관계를 나타낸다. 비즈니스 데이터 요소 A로부터 비즈니스 요소 B로의 링크는 비즈니스 요소 B가 비즈니스 요소 A에 의존한다는 것을 나타낸다.
도 8a에 도시된 바와 같이, 링크 중 일부는 두꺼운 선(예를 들어, 링크(803a, 803c, 및 803d))을 사용하여 표시되고, 링크 중 일부는 점선(예를 들어, 링크(803b))을 사용하여 표시되며, 링크 중 일부는 가는 선(예를 들어, 링크(807))을 이용하여 표시된다. 일부 구현예에서, 가는 선 링크는 사용자 지정 계보에서 링크로 표시된 의존관계가 파생 데이터 계보에서 대응하는 의존관계(예를 들어, 하나 이상의 링크로 표시됨)를 갖지 않음을 나타낸다. 예를 들어, 파생 데이터 계보에서, 2개의 비즈니스 데이터 요소에 대응하는 2개의 물리적 데이터 요소 사이에 의존관계가 없는 경우, 2개의 비즈니스 데이터 요소 사이의 링크는 가는 선으로 도시될 수 있다. 하나의 예시적인 예로서, 도 8f에서, 링크(807)에 대한 의존관계 GUI 요소(840)는, 링크(807)로 표시된 의존관계가 사용자에 의해 지정된 "명시된" 필드(842) 부근의 체크마크를 갖지만, 사용자 지정 데이터 계보와 연관된 파생 데이터 계보에 대응하는 의존관계가 없다는 것을 나타내는 "파생된" 필드(842) 부근의 체크마크가 없음을 도시한다. 이와 같은 방식으로, 사용자 지정 계보의 가는 선 링크는 사용자 지정 계보와 연관된 파생 데이터 계보 사이에 불일치가 존재함을 나타낼 수 있다. 이와 같은 차이는 본원에 설명된 기법에 따라 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관을 사용하여 검출될 수 있다.
일부 구현예에서, 굵은 선 링크는 사용자 지정 계보에서 링크로 표시된 의존관계가, 파생 데이터 계보에서 대응하는 의존관계(예를 들어, 하나 이상의 링크로 표시됨)를 갖는다는 것을 나타낸다. 예를 들어, 파생 데이터 계보에서, 2개의 비즈니스 데이터 요소에 대응하는 2개의 물리적 데이터 요소 사이에서 대응하는 의존관계가 있는 경우, 2개의 비즈니스 데이터 요소 사이의 연결을 굵은 선으로 표시할 수 있다. 하나의 예시적인 예로서, 도 8b에서, 링크(803a)에 대한 의존관계 GUI 요소(810)는, (1) 링크(803a)로 표시되는 의존관계가 사용자에 의해 지정되었다는 "명시된" 필드(812) 부근에 체크마크가 있는 경우; 및 (2) 사용자 지정 데이터 계보(800)와 연관된 파생 데이터 계보에 대응하는 의존관계가 있는 "파생된" 필드(814) 부근에 체크마크가 있는 경우를 도시한다. GUI 요소(816)를 클릭하면 도 8c에 도시된 파생 데이터 계보(820)에서 노드(822 및 824)(노드(824)를 통과) 간의 이러한 대응하는 의존관계를 표시한다. 이와 같은 방식으로, 사용자 지정 계보에서의 두꺼운 선 링크는 사용자 지정 계보와 파생 데이터 계보 사이의 일치 또는 관련성 나타낼 수 있다. 이와 같은 일치 또는 관련성은 본원에서 설명된 기법에 따라 사용자 지정 데이터 계보와 파생 데이터 계보 사이의 연관을 사용하여 검출될 수 있다.
일부 구현예에서, 점선 링크(예를 들어, 도 8a의 링크(803a))는 서드파티 애플리케이션에 의해 제공된 데이터에 의존관계가 있음을 나타낼 수 있다.
일부 구현예에서, 사용자 지정 데이터 계보를 나타내는 그래픽 사용자 인터페이스는 또한 하나 이상의 제어 체크 GUI 요소를 나타낼 수 있고, 이는 사용자 지정 계보를 생성하는 사용자에 의한 어서션(assertion)에 대한 신뢰성을 제공할 수 있다. 예를 들어, 도 8a에 도시된 바와 같이, 제어 체크 GUI 요소는 원(circled) 문자로 표시되고, 여기서 원으로 표시된 V는 노드가 유효 제어 체크를 통과했음을 나타내고, 원으로 표시된 A는 노드가 정확성 제어 체크를 통과했음을 나타낸다. 부가적으로 또는 대안으로, 데이터 품질 제어 체크가 통과되었다는 그래픽 표시가 제공될 수 있다. 제어 체크 GUI 요소는 노드 및 링크/플로우 둘 모두에 적용될 수 있다. 예를 들어, 링크(805) 상의 체크 박스는 하나 이상의 신용 점수에 대한 체크가 수행되었음을 나타낸다.
도 8d는 본원에 설명된 기술의 일부 구현예에 따라, 도 8a의 사용자 지정 데이터 계보 내의 노드에 관한 정보를 제시하는 예시적인 사용자 인터페이스의 다이어그램이다. 도 8d에 도시된 바와 같이, 패널(825)은 비즈니스 데이터 요소 "신용 점수"와 연관된 추가 정보를 나타내고 있고, 대응하는 물리적 데이터 요소 "credit_score"에 대한 링크를 포함하며, 링크는 참조 번호 830로 표시되어 있다. 이는 사용자 지정 및 파생 데이터 계보 사이의 연관의 다른 뷰(view)를 제공한다. 참조 번호 830에 의해 표시된 물리적 데이터 요소 "credit_score"에 대한 링크를 클릭하면, 예를 들어 도 8e의 패널(835)에 도시된 바와 같이, 물리적 데이터 요소에 관한 추가 정보를 제공한다. 도 8e에 도시된 GUI 요소(836)를 추가 클릭하면, 물리적 데이터 요소 "credit_score"를 포함하는 파생 데이터 계보의 적어도 일부분을 도시할 것이다.
도 7은 본원에 설명된 기술이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(700)의 예를 도시한다. 컴퓨팅 시스템 환경(700)은 적절한 컴퓨팅 환경의 일 예일 뿐이며 본원에 설명된 기술의 사용 또는 기능성의 범위에 대한 어떤 제한을 제안하도록 의도되지 않는다. 컴퓨팅 환경(700)은 예시적인 연산 환경(700)에 도시된 구성요소 중 임의의 하나 또는 조합과 관련된 임의의 의존관계 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본원에 설명된 기술은 많은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성으로 작동한다. 본원에 설명된 기술과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드 헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램 가능한 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이에 한정되는 것은 아니다.
컴퓨팅 환경은 프로그램 모듈과 같은 컴퓨터 실행 가능 명령을 실행할 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 본원에 설명된 기술은 또한 작업이 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 모두에 위치될 수 있다.
도 7을 참조하면, 본원에 설명된 기술을 구현하기 위한 예시적인 시스템은 컴퓨터(710) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(710)의 구성요소는 처리 유닛(720), 시스템 메모리(730), 및 시스템 메모리를 포함하는 다양한 시스템 구성요소를 처리 유닛(720)에 결합시키는 시스템 버스(721)를 포함할 수 있다. 시스템 버스(721)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처 중 하나를 사용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 임의의 것일 수 있다. 예로서, 이와 같은 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 PCI(Peripheral Component Interconnect) 버스(메자닌(Mezzanine) 버스라고도 알려짐)를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터(710)는 통상적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(710)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있고, 휘발성 및 비-휘발성 매체, 분리형 및 비-분리형 매체 둘 모두를 포함할 수 있다. 예로서, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비-휘발성, 분리형 및 비-분리형 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 컴퓨터(710)에 의해 액세스될 수 있는 임의의 다른 매체일 수 있으며, 이에 한정되는 것은 아니다. 통신 매체는 통상적으로 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호의 정보를 인코딩하는 방식으로 하나 이상의 특성이 설정되거나 변경된 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하지만, 이에 한정되는 것은 아니다. 상기 중 임의의 것의 조합은 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(730)는 판독 전용 메모리(ROM)(731) 및 랜덤 액세스 메모리(RAM)(732)와 같은 휘발성 및/또는 비-휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 스타트 업(start-up) 동안과 같이, 컴퓨터(710) 내의 요소 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는, 기본 입출력 체계(BIOS; basic input/output system)(733)는 통상적으로 ROM(731)에 저장된다. RAM(732)은 통상적으로 처리 유닛(720)에 즉시 액세스 가능하고/가능하거나 현재 처리 유닛(720)에 의해 작동되는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 7은 운영 체제(734), 애플리케이션 프로그램(735), 다른 프로그램 모듈(736), 및 프로그램 데이터(737)를 도시하며, 이에 한정되는 것은 아니다.
컴퓨터(710)는 또한 다른 분리형/비-분리형, 휘발성/비-휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 7은 비-분리형, 비-휘발성 자기 매체로부터 판독하거나 그에 기록하는 하드 디스크 드라이브(741), 플래시 메모리와 같은 분리형, 비-휘발성 메모리(752)로부터 판독하거나 그에 기록하는 플래시 드라이브(751), 및 CD ROM 또는 다른 광학 매체와 같은 분리형, 비-휘발성 광학 디스크(756)로부터 판독하거나 그에 기록할 수 있는 광 디스크 드라이브(755)를 도시한다. 예시적인 연산 환경에서 사용될 수 있는 다른 분리형/비-분리형, 휘발성/비-휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하지만, 이에 한정되는 것은 아니다. 하드 디스크 드라이브(741)는 통상적으로 인터페이스(740)와 같은 비-분리형 메모리 인터페이스를 통해 시스템 버스(721)에 접속되고, 자기 디스크 드라이브(751) 및 광 디스크 드라이브(755)는 통상적으로 인터페이스(750)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(721)에 접속된다.
전술되고 도 7에 도시된 드라이브 및 이들과 연관된 컴퓨터 저장 매체는, 컴퓨터(710)에 대해 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 다른 데이터의 저장을 제공한다. 도 7에서, 예를 들어 하드 디스크 드라이브(741)는 운영 체제(744), 애플리케이션 프로그램(745), 다른 프로그램 모듈(746), 및 프로그램 데이터(747)를 저장하는 것으로 도시되어 있다. 이들 구성요소는 운영 체제(734), 애플리케이션 프로그램(735), 다른 프로그램 모듈(736), 및 프로그램 데이터(737)와 동일하거나 상이할 수 있음을 주목한다. 운영 체제(744), 애플리케이션 프로그램(745), 다른 프로그램 모듈(746), 및 프로그램 데이터(747)는 최소한 이들이 상이한 복사본인 것을 나타내기 위해 여기에 상이한 번호가 부여된다. 사용자는 키보드(762) 및 일반적으로 마우스, 트랙볼 또는 터치 패드로 지칭되는 포인팅 장치(761)와 같은 입력 장치를 통해 컴퓨터(710)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 종종 시스템 버스에 결합되는 사용자 입력 인터페이스(760)를 통해 처리 유닛(720)에 접속되지만, 다른 인터페이스 및 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 버스 구조에 의해 접속될 수 있다. 모니터(791) 또는 다른 유형의 디스플레이 디바이스는 또한 비디오 인터페이스(790)와 같은 인터페이스를 통해 시스템 버스(721)에 접속된다. 모니터 이외에도, 컴퓨터는 또한 스피커(797) 및 프린터(796)와 같은 다른 주변 출력 장치를 포함할 수 있고, 이는 출력 주변 인터페이스(795)를 통해 접속될 수 있다.
컴퓨터(710)는 원격 컴퓨터(780)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크 환경에서 작동할 수 있다. 원격 컴퓨터(780)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 메모리 저장 장치(781)만이 도 7에 도시되어 있지만, 통상적으로 컴퓨터(710)에 대해 전술한 많은 또는 모든 요소를 포함한다. 도 7에 도시된 논리적 접속은 근거리 통신망(LAN; local area network)(771) 및 광역 통신망(WAN; wide area network)(773)을 포함하지만, 또한 다른 네트워크를 포함할 수 있다. 이와 같은 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(710)는 네트워크 인터페이스 또는 어댑터(770)를 통해 LAN(771)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(710)는 통상적으로 인터넷과 같은 WAN(773)을 통해 통신을 설정하기 위한 모뎀(772) 또는 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(772)은, 사용자 입력 인터페이스(760), 또는 다른 적절한 메커니즘을 통해 시스템 버스(721)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(710) 또는 그 부분에 대하여 도시된 프로그램 모듈은, 원격 메모리 저장장치에 저장될 수 있다. 예로서, 한정되지 않고, 도 7은 메모리 장치(781) 상에 상주하는 원격 애플리케이션 프로그램(785)을 도시한다. 도시된 네트워크 접속은 예시적이며 컴퓨터 간의 통신 링크를 설정하는 다른 수단이 사용될 수 있다고 이해될 것이다.
따라서 본 발명의 적어도 하나의 구현예에 대한 몇몇 양태를 설명하였으므로, 다양한 변경, 수정, 및 개선이 당업자에게 용이하게 발생할 수 있음을 이해해야 한다.
이와 같은 변경, 수정, 및 개선은 본원의 일부로서 의도되며, 본 발명의 사상 및 범위 내에 있는 것으로 의도된다. 또한, 본 발명의 장점이 표시되었지만, 본원에 설명된 기술의 모든 구현예가 설명된 모든 이점을 포함할 것이 아님을 이해해야 한다. 일부 구현예는 본원에서 유리한 것으로 설명된 임의의 특징을 구현하지 않을 수 있고, 몇몇 경우에 설명된 특징 중 하나 이상이 구현되어 다른 구현예를 달성할 수 있다. 따라서, 전술한 설명 및 도면은 단지 예시에 불과하다.
본원에 설명된 기술의 전술한 구현예는 수많은 방식으로 구현될 수 있다. 예를 들어, 구현예는 하드웨어, 소프트웨어 또는 이들의 조합을 사용하여 구현될 수 있다. 소프트웨어로 구현될 때, 소프트웨어 코드는 단일 컴퓨터에서 제공되거나 복수의 컴퓨터 간에 분산되든지 관계없이 임의의 적절한 프로세서 또는 프로세서 집합에서 실행될 수 있다. 이와 같은 프로세서는 CPU 칩, GPU 칩, 마이크로 프로세서, 마이크로 컨트롤러, 또는 코-프로세서와 같은 이름으로 당업계에 알려진 상업적으로 이용 가능한 집적 회로 구성요소를 포함하는, 집적 회로 구성요소에 하나 이상의 프로세서를 갖는, 집적 회로로서 구현될 수 있다. 대안으로, 프로세서는 ASIC과 같은 주문형 회로, 또는 프로그램 가능한 논리 장치를 구성함으로써 얻어지는 반주문형(semicustom) 회로로 구현될 수 있다. 또 다른 대안으로서, 프로세서는 상업적으로 이용 가능한, 반주문형 또는 주문형의 대형 회로 또는 반도체 장치의 일부분일 수 있다. 특정 예로서, 상업적으로 이용 가능한 일부 마이크로 프로세서는 이들 코어의 하나 또는 서브세트가 프로세서를 구성할 수 있도록 다수의 코어를 갖는다. 그러나, 프로세서는 임의의 적절한 포맷의 회로를 사용하여 구현될 수 있다.
또한, 컴퓨터는 랙-장착 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 또는 태블릿 컴퓨터와 같은 다수의 형태로 구현될 수 있음을 이해해야 한다. 또한, 컴퓨터는 일반적으로 컴퓨터로 간주되지 않지만 PDA(Personal Digital Assistant), 스마트 폰 또는 임의의 다른 적절한 휴대용 또는 고정식 전자 장치를 포함하는 적절한 프로세싱 능력을 갖는 장치에 내장될 수 있다.
또한, 컴퓨터는 하나 이상의 입력 및 출력 장치를 가질 수 있다. 이들 장치는, 무엇보다도 사용자 인터페이스를 제공하는 데 사용될 수 있다. 사용자 인터페이스를 제공하는 데 사용될 수 있는 출력 장치의 예는 출력의 시각적 표현을 위한 프린터 또는 디스플레이 스크린 및 출력의 청각적 표현을 위한 스피커 또는 다른 소리 발생 장치를 포함한다. 사용자 인터페이스에 사용될 수 있는 입력 장치의 예는 키보드, 및 마우스, 터치 패드, 및 디지털화 태블릿과 같은 포인팅 장치를 포함한다. 다른 예로서, 컴퓨터는 음성 인식 또는 다른 청취 가능한 포맷을 통해 입력 정보를 수신할 수 있다.
이와 같은 컴퓨터는 로컬 영역 네트워크 또는 엔터프라이즈 네트워크 또는 인터넷과 같은 광역 네트워크를 포함하는, 임의의 적절한 형태의 하나 이상의 네트워크에 의해 상호 접속될 수 있다. 이와 같은 네트워크는 임의의 적절한 기술에 기초할 수 있고 임의의 적절한 프로토콜에 따라 작동할 수 있고 무선 네트워크, 유선 네트워크 또는 광섬유 네트워크를 포함할 수 있다.
또한, 본원에 설명된 다양한 방법 또는 프로세스는 다양한 운영 체제 또는 플랫폼 중 임의의 하나를 채용하는 하나 이상의 프로세서 상에서 실행 가능한 소프트웨어로서 코딩될 수 있다. 또한, 이와 같은 소프트웨어는 다수의 적절한 프로그래밍 언어 및/또는 프로그래밍 또는 스크립팅 툴 중 임의의 것을 사용하여 기록될 수 있으며, 또한 프레임워크 또는 가상 머신에서 실행되는 실행 가능 기계 언어 코드 또는 중간 코드로서 컴파일링될 수 있다.
이와 같은 관점에서, 본 발명은 하나 이상의 컴퓨터 또는 다른 프로세서에서 실행될 때 상기 논의된 발명의 다양한 구현예를 구현하는 방법을 수행하는 하나 이상의 프로그램으로 인코딩된 컴퓨터 판독 가능 저장 매체(또는 복수의 컴퓨터 판독 가능 매체)(예를 들어, 컴퓨터 메모리, 하나 이상의 플로피 디스크, 콤팩트 디스크(CD), 광학 디스크, 디지털 비디오 디스크(DVD), 자기 테이프, 플래시 메모리, 필드 프로그램 가능 게이트 어레이 또는 다른 반도체 장치의 회로 구성, 또는 다른 탠저블(tangible) 컴퓨터 저장 매체)로서 구현될 수 있다. 전술한 예로부터 명백한 바와 같이, 컴퓨터 판독 가능 저장 매체는 컴퓨터 실행 가능 명령을 비-일시적 형태로 제공하기에 충분한 시간 동안 정보를 보유할 수 있다. 이와 같은 컴퓨터 판독 가능 저장 매체 또는 매체들은 그 위에 저장된 프로그램 또는 프로그램들이 상기 논의된 바와 같이 본 발명의 다양한 양태를 구현하기 위해 하나 이상의 상이한 컴퓨터 또는 다른 프로세서 상에 로딩될 수 있도록 이동 가능한 것일 수 있다. 본원에 사용된 바와 같이, 용어 "컴퓨터 판독 가능 저장 매체"는 제조(즉, 제조 물품) 또는 기계로 간주될 수 있는 비-일시적 컴퓨터 판독 가능 매체만을 포함한다. 대안으로 또는 부가적으로, 본 발명은 전파 신호와 같은, 컴퓨터 판독 가능 저장 매체 이외의 컴퓨터 판독 가능 매체로서 구현될 수 있다.
용어 "프로그램" 또는 "소프트웨어"는 상기 논의된 바와 같이 본 발명의 다양한 양태를 구현하기 위해 컴퓨터 또는 다른 프로세서를 프로그램하기 위해 이용될 수 있는 임의의 유형의 컴퓨터 코드 또는 컴퓨터 실행 가능 명령의 세트를 지칭하는 일반적인 의미로 사용된다. 또한, 이와 같은 구현예의 일 양태에 따르면, 실행될 때 본 발명의 방법을 수행하는 하나 이상의 컴퓨터 프로그램은 단일 컴퓨터 또는 프로세서 상에 상주할 필요는 없지만, 본 발명의 다양한 양태를 구현하기 위해 다수의 상이한 컴퓨터 또는 프로세서 사이에서 모듈 방식으로 분산될 수 있다는 것을 이해해야 한다.
컴퓨터 실행 가능 명령은 하나 이상의 컴퓨터 또는 다른 장치에 의해 실행되는, 프로그램 모듈과 같은 다양한 형태일 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 수행하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능은 다양한 구현예에서 요구되는 바와 같이 결합되거나 분산될 수 있다.
또한, 데이터 구조는 임의의 적절한 형태로 컴퓨터 판독 가능 매체에 저장될 수 있다. 예시의 단순화를 위해, 데이터 구조는 데이터 구조 내의 위치를 통해 관련된 필드를 갖는 것으로 나타낼 수 있다. 이와 같은 관계는 필드 간의 관계를 전달하는 컴퓨터 판독 가능 매체 내의 위치를 필드에 대한 저장장치에 할당함으로써 유사하게 달성될 수 있다. 그러나, 임의의 적절한 메커니즘이 데이터 요소 사이의 관계를 설정하는 포인터, 태그 또는 다른 메커니즘의 사용을 포함하여, 데이터 구조의 필드에서 정보 간의 관계를 설정하는 데 사용될 수 있다.
본 발명의 다양한 양태는 단독으로, 조합하여, 또는 전술한 구현예에서 구체적으로 논의되지 않은 다양한 배열로 사용될 수 있으며, 따라서 상기 설명에서 설명되거나 도면에 도시된 구성요소의 세부사항 및 배열에 대한 적용예에 한정되지 않는다. 예를 들어, 일 구현예에서 설명된 양태는 다른 구현예에서 설명된 양태와 임의의 방식으로 조합될 수 있다.
또한, 본 발명은 그 예가 제공되는 방법으로서 구체화될 수 있다. 방법의 일부로서 수행된 동작은 임의의 적절한 방법으로 명령될 수 있다. 따라서, 예시적인 구현예에서 순차적인 동작으로서 도시되었지만, 몇몇 동작을 동시에 수행하는 것을 포함할 수 있는, 도시된 것과 다른 순서로 동작이 수행되는 구현예가 구성될 수 있다.
또한, 일부 동작은 "사용자"에 의해 취해지는 것으로 설명된다. "사용자"는 단일 개인일 필요가 없고, 일부 구현예에서, "사용자"에 기인되는 동작은 컴퓨터 보조 도구 또는 다른 메커니즘과 결합하여 개인의 팀 및/또는 개인에 의해 수행될 수 있음을 이해해야 한다.
청구항 요소를 변경하기 위해 청구항에서 "제1", "제2", "제3" 등과 같은 서수 용어의 사용은 그 자체로는 다른 것 또는 방법의 동작이 수행되는 시간적 순서에 걸친 임의의 청구항 요소의 우선권, 우선순위, 또는 순서를 내포하지 않지만, 단지 특정 명칭을 갖는 하나의 청구항 요소를 동일한 명칭을 갖는(그러나 서수 용어의 사용을 위한) 다른 요소와 구별하기 위한 라벨로서 사용된다.
또한, 본원에서 사용된 어법 및 용어는 설명의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. 본원에서 "포함하는(including)", "포함하는(comprising)" 또는 "갖는(having)", "포함하는(containing)", "수반하는(involving)" 및 그의 변형은 이후에 나열된 항목 및 그의 등가물뿐만 아니라 추가적인 항목을 포괄하는 것을 의미한다.

Claims (31)

  1. 데이터 처리 시스템으로서,
    적어도 하나의 컴퓨터 하드웨어 프로세서; 및
    프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함하되, 프로세서 실행 가능 명령은, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서로 하여금,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하되, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며;
    다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하도록 하는, 데이터 처리 시스템.
  2. 제1항에 있어서, 일치 또는 불일치의 표시를 생성하는 것은:
    일치 또는 불일치의 표시를 나타내는 제2 데이터 계보의 시각화를 디스플레이하는 것을 포함하는, 데이터 처리 시스템.
  3. 제2항에 있어서, 제2 데이터 계보는 2개의 비즈니스 데이터 요소 사이의 제1 의존관계를 나타내는 제1 링크를 포함하며, 제2 데이터 계보의 시각화를 표시하는 것은 제1 의존관계에 대응하는 제1 데이터 계보에 의존관계가 존재할 때 일 방식으로 링크를 디스플레이하고 제1 의존관계에 대응하는 제1 데이터 계보에 의존관계가 존재하지 않을 때 다른 방식으로 링크를 디스플레이하는 것을 포함하는, 데이터 처리 시스템.
  4. 제1항에 있어서, 일치 또는 불일치의 표시를 생성하는 것은:
    다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보, 제2 데이터 계보, 및 획득된 연관 사이에 하나 이상의 불일치가 존재하는지 여부를 결정하는 것을 포함하는, 데이터 처리 시스템.
  5. 제1항에 있어서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것을 수행함으로써 적어도 부분적으로 제1 데이터 계보를 생성하는 것을 포함하는, 데이터 처리 시스템.
  6. 제2항에 있어서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것을 포함하는, 데이터 처리 시스템.
  7. 제2항에 있어서, 제1 데이터 계보를 획득하는 것은 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것을 포함하는, 데이터 처리 시스템.
  8. 제1항에 있어서, 적어도 하나의 컴퓨터 프로그램은 데이터플로우 그래프로서 구현된 컴퓨터 프로그램을 포함하는, 데이터 처리 시스템.
  9. 제1항에 있어서, 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 것은 그래픽 사용자 인터페이스를 통해 제공된 사용자 입력에 기초하여 연관을 생성하는 것을 포함하는, 데이터 처리 시스템.
  10. 제4항에 있어서,
    다수의 물리적 데이터 요소는 제1 물리적 데이터 요소를 포함하고,
    다수의 비즈니스 데이터 요소는 제1 비즈니스 데이터 요소를 포함하고,
    연관은 제1 물리적 데이터 요소, 및 제1 비즈니스 데이터 요소가 연관되어 있음을 나타내며,
    결정하는 것은 제1 데이터 계보에서 제1 물리적 데이터 요소를 획득하는 데 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제1 세트가 제2 데이터 계보에서 제1 비즈니스 데이터 요소를 획득하는 데 사용되는 것으로 식별된 하나 이상의 데이터 소스의 제2 세트와 상이한지를 결정하는 것을 포함하는, 데이터 처리 시스템.
  11. 제4항에 있어서, 제1 데이터 계보를 획득하고 불일치가 존재하는지 여부를 결정하는 동작은 지정된 스케줄에 따라 반복적으로 수행되는, 데이터 처리 시스템.
  12. 제1항에 있어서, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하며,
    적어도 하나의 컴퓨터 하드웨어 프로세서는:
    제1 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치 결정을 수행하도록 추가로 구성되는, 데이터 처리 시스템.
  13. 제12항에 있어서, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치 결정은:
    제1 물리적 데이터 요소의 데이터와 연관된 하나 이상의 데이터 품질 규칙에 적어도 부분적으로 기초하여 제1 물리적 데이터 요소에 있는 데이터의 데이터 품질 분석을 수행하는 것을 포함하는, 데이터 처리 시스템.
  14. 제12항에 있어서, 제1 비즈니스 데이터 요소에 대한 데이터 품질 측정치는 정확성, 완전성, 및 유효성 중 하나 이상의 측정치를 포함하는, 데이터 처리 시스템.
  15. 방법으로서,
    적어도 하나의 컴퓨터 하드웨어 프로세서를 사용하여:
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 단계로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하는 단계;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 단계;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 단계; 및
    다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하는 단계를 수행하는 것을 포함하는, 방법.
  16. 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체로서, 프로세서 실행 가능 명령은, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서로 하여금,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하며;
    다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하도록 하는, 비-일시적 컴퓨터 판독 가능 저장 매체.
  17. 데이터 처리 시스템에 있어서,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하기 위한 수단으로서, 제1 데이터 계보는 (a) 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것; 및 (b) 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하기 위한 수단;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하기 위한 수단;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하기 위한 수단; 및
    다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이의 일치 또는 불일치의 표시를 생성하기 위한 수단을 포함하는, 데이터 처리 시스템.
  18. 하나 이상의 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하기 위한 데이터 처리 시스템으로서, 시스템은:
    적어도 하나의 컴퓨터 하드웨어 프로세서; 및
    프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함하되, 프로세서 실행 가능 명령은, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서로 하여금,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석, 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하고, 연관은 다수의 물리적 데이터 요소 중 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 중 제1 비즈니스 데이터 요소 사이의 연관을 포함하며;
    제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치, 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비지니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하도록 하는, 데이터 처리 시스템.
  19. 제18항에 있어서, 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하는 것은:
    제1 물리적 데이터 요소와 연관된 적어도 하나 이상의 데이터 품질 측정치를 획득하기 위해 제1 물리적 데이터 요소의 데이터와 연관된 하나 이상의 데이터 품질 규칙에 적어도 부분적으로 기초하여 제1 물리적 데이터 요소에 있는 데이터의 데이터 품질 분석을 수행하는 것을 포함하는, 데이터 처리 시스템.
  20. 제18항에 있어서, 제1 비즈니스 데이터 요소에 대한 데이터 품질 측정치는 정확성, 완전성, 및 유효성 중 하나 이상의 측정치를 포함하는, 데이터 처리 시스템.
  21. 제18항에 있어서, 제1 데이터 계보를 획득하는 것은 제1 데이터 계보가 생성된 후에 제1 데이터 계보를 수신하는 것을 포함하는, 데이터 처리 시스템.
  22. 제18항에 있어서, 제1 데이터 계보를 획득하는 것은 제1 데이터 계보를 생성하는 것을 포함하는, 데이터 처리 시스템.
  23. 제22항에 있어서, 제1 데이터 계보를 생성하는 것은 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것을 포함하는, 데이터 처리 시스템.
  24. 제22항에 있어서, 제1 데이터 계보를 생성하는 것은 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 포함하고 분석하는 것인, 데이터 처리 시스템.
  25. 제18항에 있어서, 적어도 하나의 컴퓨터 프로그램은 데이터플로우 그래프로서 구현되는 컴퓨터 프로그램을 포함하는, 데이터 처리 시스템.
  26. 제18항에 있어서, 제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하는 것은 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소를 연관시키는 사용자 입력에 기초하여 수행되는 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관을 생성하는 것을 포함하는, 데이터 처리 시스템.
  27. 제18항에 있어서, 다수의 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 사이의 연관에 기초하여, 제1 데이터 계보와 제2 데이터 계보 사이에 불일치가 존재하는지 여부를 결정하는 것을 더 포함하는, 데이터 처리 시스템.
  28. 제18항에 있어서, 제1 데이터 계보를 획득하고 데이터 품질의 측정치를 결정하는 것은 지정된 스케줄에 따라 반복적으로 수행되는, 데이터 처리 시스템.
  29. 방법으로서,
    적어도 하나의 컴퓨터 하드웨어 프로세서를 사용하여:
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하는 단계로서, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드 분석 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보 분석 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는, 제1 데이터 계보를 획득하는 단계;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하는 단계;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하고, 연관은 다수의 물리적 데이터 요소 중 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소 중 제1 비즈니스 데이터 요소 사이의 연관을 포함하는 단계; 및
    제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 계보 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하는 단계를 수행하는, 방법.
  30. 프로세서 실행 가능 명령을 저장하는 적어도 하나의 비-일시적 컴퓨터 판독 가능 저장 매체로서, 프로세서 실행 가능 명령은, 적어도 하나의 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 적어도 하나의 컴퓨터 하드웨어 프로세서로 하여금,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하도록 하고, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되고;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하도록 하고;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하도록 하고, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하며;
    제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하도록 하는, 비-일시적 컴퓨터 판독 가능 저장 매체.
  31. 데이터 처리 시스템에 있어서,
    다수의 물리적 데이터 요소 사이의 관계를 나타내는 제1 데이터 계보를 획득하기 위한 수단으로서, 제1 데이터 계보는 다수의 물리적 데이터 요소 중 적어도 일부에 액세스하도록 구성된 적어도 하나의 컴퓨터 프로그램의 소스 코드를 분석하는 것 및 적어도 하나의 컴퓨터 프로그램의 런타임 동안 획득된 정보를 분석하는 것 중 적어도 하나를 수행함으로써 적어도 부분적으로 생성되는 제1 데이터 계보를 획득하기 위한 수단;
    사용자 입력에 적어도 부분적으로 기초하여, 다수의 비즈니스 데이터 요소 사이의 관계를 나타내는 제2 데이터 계보를 획득하기 위한 수단;
    제1 데이터 계보의 다수의 물리적 데이터 요소 중 적어도 일부와 제2 데이터 계보의 다수의 비즈니스 데이터 요소 중 적어도 일부 사이의 연관을 획득하기 위한 수단으로서, 연관은 다수의 물리적 데이터 요소의 제1 물리적 데이터 요소와 다수의 비즈니스 데이터 요소의 제1 비즈니스 데이터 요소 사이의 연관을 포함하는 연관을 획득하기 위한 수단; 및
    제1 물리적 데이터 요소와 연관된 적어도 하나의 데이터 품질 측정치 및 제1 물리적 데이터 요소와 제1 비즈니스 데이터 요소 사이의 연관에 적어도 부분적으로 기초하여 제1 비즈니스 데이터 요소에 대한 데이터 품질의 측정치를 결정하기 위한 수단을 포함하는, 데이터 처리 시스템.
KR1020197016457A 2016-11-09 2017-11-09 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법 KR102432104B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662419826P 2016-11-09 2016-11-09
US62/419,826 2016-11-09
PCT/US2017/060860 WO2018089633A1 (en) 2016-11-09 2017-11-09 Systems and methods for determining relationships among data elements

Publications (2)

Publication Number Publication Date
KR20190076047A KR20190076047A (ko) 2019-07-01
KR102432104B1 true KR102432104B1 (ko) 2022-08-11

Family

ID=60473651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197016457A KR102432104B1 (ko) 2016-11-09 2017-11-09 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법

Country Status (9)

Country Link
US (3) US10489384B2 (ko)
EP (2) EP3539022B1 (ko)
JP (2) JP7132918B2 (ko)
KR (1) KR102432104B1 (ko)
CN (1) CN110140118B (ko)
AU (2) AU2017359472B2 (ko)
CA (1) CA3043586A1 (ko)
DE (1) DE112017005638T5 (ko)
WO (1) WO2018089633A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法
US10331660B1 (en) * 2017-12-22 2019-06-25 Capital One Services, Llc Generating a data lineage record to facilitate source system and destination system mapping
US11296863B2 (en) * 2018-01-04 2022-04-05 Bank Of America Corporation Blockchain enterprise data management
KR101976167B1 (ko) * 2018-10-08 2019-05-08 지티원 주식회사 프로그램 소스 및 db 스키마의 누락 연관 관계 검증 방법 및 그 장치
CN110008201A (zh) * 2019-04-09 2019-07-12 浩鲸云计算科技股份有限公司 一种面向大数据的数据质量稽核监控方法
CN110825725B (zh) * 2019-10-12 2022-08-19 国网安徽省电力有限公司 基于双螺旋管理的数据质量校验方法及系统
CN112749158A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 能源系统数据处理方法和装置
US11349957B2 (en) 2020-05-14 2022-05-31 Bank Of America Corporation Automatic knowledge management for data lineage tracking
US11366735B2 (en) 2020-08-20 2022-06-21 Bank Of America Corporation Dynamic data storage management
US11520801B2 (en) 2020-11-10 2022-12-06 Bank Of America Corporation System and method for automatically obtaining data lineage in real time
JPWO2022137526A1 (ko) * 2020-12-25 2022-06-30
WO2022165123A1 (en) 2021-01-31 2022-08-04 Ab Initio Technology Llc Techniques for managing data in a data processing system using data entities and inheritance
US11921710B2 (en) 2021-01-31 2024-03-05 Ab Initio Technology Llc Systems and methods for accessing data entities managed by a data processing system
AU2022226637A1 (en) 2021-02-24 2023-09-07 Ab Initio Technology Llc Systems and methods for managing privileges in a data processing system
KR102415001B1 (ko) * 2021-05-13 2022-07-01 지티원 주식회사 데이터 리니지 관리 방법 및 그 시스템
CN113553205B (zh) * 2021-09-17 2021-12-07 统信软件技术有限公司 一种用于QT和Web端通信协议的执行方法和执行器
CN115994194B (zh) * 2023-03-23 2023-06-02 河北东软软件有限公司 政务大数据的数据质量检查方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279979A1 (en) 2013-03-15 2014-09-18 Ab Initio Technology Llc System for metadata management
US20150012478A1 (en) 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage transformation analysis
US20150310055A1 (en) 2014-04-29 2015-10-29 Microsoft Corporation Using lineage to infer data quality issues
US20160019057A1 (en) 2014-07-18 2016-01-21 Ab lnitio Technology LLC Managing parameter sets

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US7725433B1 (en) * 1998-01-26 2010-05-25 International Business Machines Corporation Data navigation system and method employing data transformation lineage model
US6343295B1 (en) * 1998-12-16 2002-01-29 Microsoft Corporation Data lineage
US6434558B1 (en) * 1998-12-16 2002-08-13 Microsoft Corporation Data lineage data type
US7117219B1 (en) * 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
WO2002013049A1 (en) * 2000-08-04 2002-02-14 Infoglide Corporation System and method for comparing heterogeneous data sources
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7493570B2 (en) * 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
AU2009322441B2 (en) * 2008-12-02 2016-07-28 Ab Initio Technology Llc Visualizing relationships between data elements
US9063988B2 (en) * 2009-03-23 2015-06-23 The Boeing Company Database methods and apparatus
US8819010B2 (en) * 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
US9244956B2 (en) * 2011-06-14 2016-01-26 Microsoft Technology Licensing, Llc Recommending data enrichments
US8706684B2 (en) * 2011-11-30 2014-04-22 Tata Consultancy Services Limited System and method for managing enterprise data
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
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
US9811573B1 (en) * 2013-09-27 2017-11-07 EMC IP Holding Company LLC Lineage information management in data analytics
CA2956078C (en) 2014-07-24 2021-12-07 Ab Initio Technology Llc Data lineage summarization
US10025878B1 (en) * 2014-11-11 2018-07-17 Google Llc Data lineage analysis
EP3051475A1 (en) * 2015-01-27 2016-08-03 Tata Consultancy Services Limited Data analysis system and method to enable integrated view of customer information
WO2016130626A1 (en) 2015-02-11 2016-08-18 Ab Initio Technology Llc Filtering data lineage diagrams
US20170124154A1 (en) * 2015-11-02 2017-05-04 International Business Machines Corporation Establishing governance rules over data assets
US10037329B2 (en) * 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10120923B2 (en) * 2015-11-30 2018-11-06 Bank Of America Corporation Data discovery and analysis tool
US11086751B2 (en) * 2016-03-16 2021-08-10 Asg Technologies Group, Inc. Intelligent metadata management and data lineage tracing
US10915508B2 (en) * 2016-06-30 2021-02-09 Global Ids, Inc. Data linking
CN108713205B (zh) * 2016-08-22 2022-11-11 甲骨文国际公司 用于自动映射与数据流环境一起使用的数据类型的系统和方法
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279979A1 (en) 2013-03-15 2014-09-18 Ab Initio Technology Llc System for metadata management
US20150012478A1 (en) 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage transformation analysis
US20150310055A1 (en) 2014-04-29 2015-10-29 Microsoft Corporation Using lineage to infer data quality issues
US20160019057A1 (en) 2014-07-18 2016-01-21 Ab lnitio Technology LLC Managing parameter sets

Also Published As

Publication number Publication date
WO2018089633A1 (en) 2018-05-17
US20220374413A1 (en) 2022-11-24
US20180129699A1 (en) 2018-05-10
CN110140118A (zh) 2019-08-16
AU2022202530A1 (en) 2022-05-12
CA3043586A1 (en) 2018-05-17
EP3539022B1 (en) 2021-09-29
US20200050598A1 (en) 2020-02-13
JP2020500369A (ja) 2020-01-09
US10489384B2 (en) 2019-11-26
JP7469406B2 (ja) 2024-04-16
AU2017359472A1 (en) 2019-06-06
US11226957B2 (en) 2022-01-18
JP7132918B2 (ja) 2022-09-07
EP3913502A1 (en) 2021-11-24
CN110140118B (zh) 2024-02-02
DE112017005638T5 (de) 2019-07-25
AU2017359472B2 (en) 2022-05-26
EP3539022A1 (en) 2019-09-18
KR20190076047A (ko) 2019-07-01
JP2022171690A (ja) 2022-11-11
AU2022202530B2 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
KR102432104B1 (ko) 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법
JP7360328B2 (ja) 異種にプログラムされたデータ処理システムの自動依存性アナライザ
Rattenbury et al. Principles of data wrangling: Practical techniques for data preparation
US11341116B2 (en) Techniques for automated data analysis
US9047346B2 (en) Reporting language filtering and mapping to dimensional concepts
US10599678B2 (en) Input gathering system and method for defining, refining or validating star schema for a source database
US20240119225A1 (en) Domain-specific language interpreter and interactive visual interface for rapid screening
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
Bicevska et al. Models of data quality
CN114175021A (zh) 用于为文档评估系统生成逻辑文档的系统和方法
Oliveira ETL for Data Science?: A Case Study
US20240146769A1 (en) Systems and methods for managing privileges in a data processing system
KR101969531B1 (ko) 데이터 집단 내 계층정보를 자동으로 추출하고 시각화하는 방법
Azmi et al. Test management traceability model to support software testing documentation
Ulici Choosing a Suitable Query Engine for Providing Observability and Accessibility for Dynamic Reporting of Business Data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant