KR102411550B1 - 논리적 검증 규칙을 특정하고 데이터에 적용하는 방법 - Google Patents

논리적 검증 규칙을 특정하고 데이터에 적용하는 방법 Download PDF

Info

Publication number
KR102411550B1
KR102411550B1 KR1020167027585A KR20167027585A KR102411550B1 KR 102411550 B1 KR102411550 B1 KR 102411550B1 KR 1020167027585 A KR1020167027585 A KR 1020167027585A KR 20167027585 A KR20167027585 A KR 20167027585A KR 102411550 B1 KR102411550 B1 KR 102411550B1
Authority
KR
South Korea
Prior art keywords
fields
mapping
dataset
business term
field
Prior art date
Application number
KR1020167027585A
Other languages
English (en)
Other versions
KR20160133477A (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 KR20160133477A publication Critical patent/KR20160133477A/ko
Application granted granted Critical
Publication of KR102411550B1 publication Critical patent/KR102411550B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Abstract

컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램을 포함하는, 논리 규칙을 특정하기 위한 방법, 시스템, 및 장치가 제공된다. 상기 방법 중 하나는 논리 규칙을 정의하는 단계를 포함하며, 상기 논리 규칙은 용어에 기초하여 연산을 적용한다. 상기 방법은, 필드와 용어 간의 매핑을 정의하는 단계를 포함하고, 상기 매핑은 필드와 상기 용어 간의 매핑을 포함한다. 상기 방법은, 상기 용어와 함께 상기 논리 규칙을 저장하는 단계를 포함한다. 상기 방법은 또한, 상기 논리 규칙을 제1 필드에 의해 식별되는 데이터에 적용하는 단계를 포함하고, 여기서 각각의 필드는 각각의 용어에 할당된다.

Description

논리적 검증 규칙을 특정하고 데이터에 적용하는 방법{SPECIFYING AND APPLYING LOGICAL VALIDATION RULES TO DATA}
본 발명은 규칙을 특정하고 데이터에 적용하는 방법에 관한 것이다.
비즈니스 애플리케이션을 포함하는 많은 현대의 애플리케이션들은, 다양한 소스로부터 컴파일될 수 있는 데이터의 커다란 세트(즉, "데이터세트")을 처리한다. 데이터세트에 데이터를 제공하는 다양한 소스는 서로 다른 수준의 데이터 품질을 가질 수 있다. 애플리케이션이 제대로 기능하는 것을 보장하기 위해, 데이터세트 내의 적절한 수준의 데이터 품질이 모니터링되거나 및/또는 유지되어야 한다. 적절한 수준의 데이터 품질을 모니터링하거나 유지하기 위해, 데이터세트는 데이터 검증 시스템(data validation system)에 의해 처리될 수 있다. 이러한 검증 시스템은, 데이터세트가 애플리케이션에 제공되기 전에 데이터세트에 검증 규칙을 적용한다. 일부 예에서는, 데이터 검증 시스템이 데이터 품질의 측정치를 계산하기 위해 검증 규칙의 결과를 이용하고, 데이터 품질의 측정치가 사전 설정된 임계치 이하로 떨어지면 애플리케이션의 관리자에게 경보를 발생시킨다. 다른 예에서는, 데이터 검증 시스템이 하나 이상의 검증 규칙을 통과하지 못한 데이터를 처리하기 위한 모듈을 포함한다. 예를 들어, 데이터 검증 시스템은 하나 이상의 검증 규칙을 통과하지 못한 데이터를 폐기하거나 또는 복구할 수 있다.
일반적으로, 데이터 검증 시스템에 의해 적용되는 검증 규칙은 데이터 검증 시스템의 사용자 또는 관리자에 의해 정의된다.
일반적으로, 본 명세서에서 설명되는 요지의 하나의 혁신적인 양태가 논리 규칙을 수신하는 동작을 포함하는 방법에서 구현될 수 있고, 논리 규칙은 하나 이상의 연산을 특정하며, 상기 연산 중 적어도 하나가 용어에 할당된 값에 적용된다. 상기 방법은, 상기 용어와 함께 상기 논리 규칙을 저장하는 동작을 포함한다. 상기 방법은 필드들과 용어들 간의 매핑을 정의하는 동작을 포함하고, 상기 매핑은 필드와 상기 용어 간의 매핑을 포함한다. 상기 방법은 또한 상기 논리 규칙을 제1 필드에 의해 식별되는 데이터에 적용하는 동작을 포함하고, 여기서 각각의 필드가 각각의 용어에 할당된다.
이 양태의 다른 실시예는 상기 방법에 대응하는 컴퓨터 시스템, 장치, 및 하나 이상의 컴퓨터 저장 장치에 기록된 컴퓨터 프로그램을 포함하고, 이들 각각은 상기 방법의 동작을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템은 연산에 있어서 상기 시스템으로 하여금 상기 동작을 수행하도록 하는 상기 시스템 상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 구비함으로써 특정 동작을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은, 데이터 처리 장치에 의해 실행되는 경우 장치로 하여금 동작을 수행하게 하는 명령을 포함함으로써 특정 동작을 수행하도록 구성될 수 있다.
전술한 내용 및 다른 실시예는 각각 선택적으로 다음의 특징 중 하나 이상을 단독으로 또는 조합하여 포함할 수 있다. 상기 논리 규칙은 제2 용어에 기초한 연산을 추가적으로 적용할 수 있고, 상기 매핑은 제2 필드와 상기 제2 용어 간의 매핑을 더 포함한다. 상기 논리 규칙은 하나 이상의 검증 테스트를 포함할 수 있고, 상기 하나 이상의 검증 테스트 중 제1 검증 테스트를 상기 용어에 적용하는 것은 상기 제2 용어에 기초한다. 상기 방법은, 상기 데이터세트 내의 상기 필드들과 이에 대응하는 용어들 간의 매핑을 저장하는 동작을 더 포함할 수 있다. 상기 방법은, 상기 용어와 상기 필드 간의 매핑에 기초하여 상기 논리 규칙을 선택하는 동작을 더 포함할 수 있다. 상기 방법은, 상기 용어와 필드 간의 매핑에 기초하여 잠재적인 논리 규칙의 목록을 제시하는 동작을 더 포함할 수 있다.
공개된 시스템의 양태는 다음의 예시적인 장점 중 하나 이상을 가질 수 있다. 사용자 인터페이스는 비즈니스 사용자가 검증 규칙을 식별할 수 있게 한다. 논리 규칙은 유연한 방식으로 비즈니스 용어와 연관될 수 있다. 데이터세트 내의 필드도 또한 유연한 방식으로 비즈니스 용어와 연관될 수 있다. 디폴트 검증 규칙은 상기 연관관계에 기초하여 결정될 수 있다. 일반적으로 모듈기반 프로그래밍과 연관된 다른 혜택과 함께, 논리 규칙은 맞춤형 검증 규칙(custom validation rule)을 생성하는데 소요되는 시간을 감소시키고, 데이터세트를 검증하는데 소요되는 시간을 감소시키며, 검증 규칙을 여러 번에 걸쳐 사용하는데 있어서 일관성을 제공하고, 검증 규칙 자체의 향상된 품질을 촉진할 수 있다. 유효하지 않은 데이터는 애플리케이션에서 열악한 성능을 야기할 수 있고, 데이터세트를 사전 검증함으로써 그 데이터세트를 이용하는 애플리케이션의 성능을 향상시킬 수 있다. 검증 규칙을 모듈화하는 것은 기업이 규칙을 개발하고, 테스트하며, 촉진하기 위한 워크 플로우를 개발하여 생산하도록 할 수 있다. 추가적으로, 이러한 검증 규칙이 향상되고 변경됨에 따라, 검증 규칙은 단일 장소에서 변경될 수 있으며, 따라서 이러한 규칙의 유지 보수성(maintainability)을 향상시킨다. 일관성 있는 규칙은 데이터 품질을 향상시킬 수 있다.
발명의 다른 특징과 장점이 다음의 설명 및 청구 범위로부터 명백해질 것이다.
도 1은 데이터를 검증하기 위한 검증 규칙을 특정하기 위한 시스템의 블록도이다.
도 2는 데이터를 검증하기 위한 논리 규칙을 특정하기 위한 사용자 인터페이스의 예이다.
도 3a 및 도 3b는 논리 규칙을 생성하는 예를 도시하고 있다.
도 4는 논리 규칙을 필드에 할당하기 위한 예시적인 사용자 인터페이스를 도시하고 있다.
도 5는 데이터세트 내의 필드들을 비즈니스 용어에 매핑하는 것을 나타내는 개념도이다.
데이터 처리 시스템은 다양한 소스로부터 데이터를 수신하고, 그 데이터에 기초하여 출력을 생성한다. 시스템에 의해 처리되는 데이터는 변칙적이거나, 에러가 있거나, 또는 문제가 있는 데이터를 포함할 수 있다. 이러한 데이터 품질 문제는, 예를 들어 타이핑 에러와 같은 부정확한 입력에 의해 야기되는 에러, 데이터 손상과 같은 기계 고장, 및 데이터의 인코딩을 부정확하게 식별하는 것과 같은 해석 에러에 의해 초래되는 에러 때문일 수 있다. 에러는, 유실되었거나 보고되지 않은 데이터, 부적절하게 포맷된 데이터, 데이터 소비자 측에서 잘못 해석되는 데이터의 원인이 되는 데이터 생산자 측에서의 규격(specification)에서의 변화, 데이터와의 불일치를 초래하는 참조 코드 세트(reference code set) 내의 에러, 동기화 문제(예컨대, 신규 참조 데이터가 적절한 시간에 생성되지 않고 소스 데이터가 더 오래된 참조 데이터와 일치하지 않는 문제), 신규 코드 값의 도입 등이 원인일 수 있다. 일반적으로, 데이터 품질 시스템의 목표는, 때때로 데이터 개선 프로그램의 일부(시간이 지남에 따라서 데이터 품질 문제점의 개수가 줄어드는 것을 용이하게 하도록 설계된 프로그램)로서 측정될 필요가 있는 데이터 내의 문제점을 검출하는 것이다.
데이터 검증(Data validation)은 데이터 품질을 측정하는 프로세스이다. 일반적으로, 하나 이상의 데이터 검증 테스트가 하나의 데이터 소스에 대해 수행된다. 데이터의 품질은 정량화되고, 필요하면 데이터의 품질을 개선하기 위해 조치가 취해질 수 있다.
사용자 인터페이스가 검증 규칙을 생성하는 프로세스를 단순화할 수 있다. 일반적으로, 검증 규칙은 데이터 품질을 결정하기 위해 데이터에 적용될 수 있는 하나 이상의 검증 테스트의 세트이다. 예를 들어, 검증 규칙은 데이터의 필드가 특정 데이터 타입인지 여부를 판정하는 검증 테스트 및 데이터의 필드가 특정 크기인지 여부를 판정하는 검증 테스트를 포함할 수 있다. 하나의 유용한 기준점은 "EDITING AND COMPILING LOGICAL RULES"라는 제목으로 2007년 4월 10일에 출원된 미국 특허 제8,069,129에서 설명되어 있는 논리 규칙을 편집하고 컴파일하기 위한 시스템이며, 구체적으로 열 6에서 열 21까지의 내용이 원용에 의해 본 명세서에 포함되어 있다. 본 명세서에서 설명되는 시스템, 방법, 및 매체는 종래 기술 대비 다음의 장점들 중 적어도 일부를 가지고 있다. 사용자 인터페이스는 비즈니스 사용자가 검증 규칙을 식별하도록 할 수 있다. 논리 규칙은 비즈니스 용어와 연관될 수 있다. 데이터세트 내의 필드도 또한 비즈니스 용어와 연관될 수 있다. 디폴트 검증 규칙은 연관관계에 기초하여 결정될 수 있다. 논리 규칙은 데이터세트를 검증하는데 소요되는 시간을 감소시킬 수 있다. 데이터세트를 검증하는 것은 그 데이터세트를 이용하는 애플리케이션의 성능을 향상시킬 수 있다. 또 다른 유용한 기준점은, "SPECIFYING AND APPLYING RULES TO DATA"라는 제목으로 2012년 10월 17일에 출원된 미국 특허 출원 번호 13/653,995에서 설명되어 있는, 규칙을 특정하고 데이터에 적용하기 위한 시스템이다. 비즈니스 용어는 데이터 내에 구현되는 개념을 나타낸다. 예를 들어, "cust_tbl"이라고 명명된 관계형 데이터베이스 테이블은 "phone_no"라고 명명된 필드를 포함할 수 있다. "phone_no" 필드 내에 값을 가진 "cust_tbl" 내의 행은 그 특정 전화 번호를 가진 고객이 존재한다는 것을 나타낸다. 이 예에서, "고객"은 적어도 "cust_tbl" 내에 구현되어 있는 비즈니스 용어이고, "전화 번호"는 "phone_no" 필드 내에 구현되어 있는 비즈니스 용어이다. 검증 규칙이 비즈니스 용어와 개념을 이용하여 구성될 수 있고, 데이터에 순차적으로 적용될 수 있다. 이러한 방식으로, 비즈니스 사용자는 컴퓨터 전문가로부터 도움이 거의 없거나 아무런 도움이 없이도 논리 규칙을 구성할 수 있다.
일반적으로, 시스템은, 예컨대, 도 1에 도시된 시스템은, 논리적 검증 규칙을 특정하기 위해 사용될 수 있다. 도 2는 논리적 검증 규칙을 특정하기 위해 사용될 수 있는 사용자 인터페이스의 예를 도시하고 있다. 도 3a 내지 도 3b는 논리 규칙의 구체적인 예를 제공한다. 도 3a는 생성된 비즈니스 용어에 대해 전적으로 생성되는 논리적 검증 규칙을 도시하고 있다. 도 3b는 데이터세트 내의 데이터를 이용하여 생성된 다음에 논리 규칙으로 일반화되는 논리적 검증 규칙을 도시하고 있다. 도 3b는 논리적 검증 규칙의 생성하는 동안 데이터세트로부터의 테스트 데이터를 추가적으로 도시하고 있다. 일단 논리적 검증 규칙이 정의되면, 이 규칙은 다양한 데이터세트에 적용될 수 있다. 도 4는 논리적 검증 규칙을 데이터세트에 적용하기 위한 예시적인 사용자 인터페이스를 도시하고 있다. 일부 구현에서는, 논리적 검증 규칙이 컴퓨터 시스템에 의해 자동적으로 선택될 수 있도록, 데이터세트 내의 필드들이 비즈니스 용어에 매핑될 수 있다. 도 5는 데이터세트 내의 필드들이 어떻게 비즈니스 용어에 매핑될 수 있는지를 도시한 개념도이다.
도 1은 검증 기법이 사용될 수 있는 예시적인 데이터 처리 시스템(100)을 나타낸다. 시스템(100)은 데이터 소스(102)를 포함한다. 데이터 소스(102)는 저장 장치 또는 온라인 데이터 스트림으로의 연결과 같은 하나 이상의 데이터의 소스를 포함할 수 있으며, 각각의 데이터 소스는 다양한 저장 포맷 중 임의의 포맷(예컨대, 데이터베이스 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 또는 메인 프레임에 의해 사용되는 네이티브 포맷)으로 데이터(때로는 "데이터세트"라고도 함)를 저장할 수 있다.
실행 환경(104)은 UNIX와 같은 적합한 운영 체제의 제어 하에서 하나 이상의 범용 컴퓨터에 호스팅될 수 있다. 예를 들어, 실행 환경(104)이 다중 노드 병렬 컴퓨팅 환경(multiple-node parallel computing environment)을 포함할 수 있고, 이 컴퓨팅 환경은 로컬에 있는 프로세서(예컨대, SMP 컴퓨터와 같은 멀티프로세서 시스템) 또는 로컬에 분산되어 있는 프로세서(예컨대, 클러스터 또는 MPP로서 결합되는 복수의 프로세서); 원격에 있는 프로세서 또는 원격으로 분산되어 있는 프로세서(예컨대, 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)을 통해 결합되는 복수의 프로세서); 또는 이들의 임의의 조합을 이용하는 복수의 중앙처리장치(CPU)를 포함할 수 있다.
이 실행 환경은 사용자 인터페이스(user interface, UI) 모듈(106) 및 처리 모듈(108)을 포함한다. UI 모듈(106)은, 논리 규칙을 특정하는데 활용되는 사용자 인터페이스(112a)(예컨대, 디스플레이 화면 상의 그래픽 뷰)를 통해 사용자(110a)로부터 수신되는 입력을 관리한다. 이 논리 규칙은, 예를 들어 비즈니스 용어에 대해 정의되는 검증 규칙일 수 있다. 처리 모듈(108)은, 논리 규칙을 데이터 소스(102)로부터의 데이터를 처리하기 위해 사용할 수 있다. UI 모듈(106)은, 데이터세트 내의 필드들을 식별된 비즈니스 용어에 매핑하는데 활용되는 사용자 인터페이스(112b)를 통해 사용자(110b)로부터 수신되는 입력을 관리할 수도 있다.
처리 모듈(108)은, 데이터 소스(102)로부터의 데이터를 판독하고 UI 모듈(106)에 의해 획득되는 검증 정보에 기초하여 검증 절차를 수행한다. 데이터 소스(102)를 제공하는 저장 장치는 실행 환경(104)에 대해 로컬에 있을 수 있고, 예를 들어, 실행 환경(104)을 실행하는 컴퓨터에 연결된 저장 매체(예컨대, 하드 드라이브(114))에 저장될 수 있다. 대안으로서 또는 추가적으로, 저장 장치는 실행 환경(104)에 대해 원격에 있을 수 있으며, 예를 들어, 실행 환경(104)을 실행하는 컴퓨터와 원격 연결을 통해 통신하는 원격 시스템(예컨대, 메인 프레임(116))에 호스팅될 수 있다.
일반적으로, 데이터 소스(102)로부터 액세스되는 데이터세트는 사전 설정된 레코드 구조에 따라 포맷될 수 있는 다수의 데이터 엘리먼트, 또는 데이터베이스 테이블 내의 행을 포함한다. 각각의 데이터 엘리먼트는 다수의 필드, 예를 들어, 레코드 구조 내에 정의된 속성 또는 데이터베이스 테이블 내의 열에 대한 값을 포함할 수 있으며, 널 값(null value) 이나 비어있는 값을 포함하는 것도 가능하다. 필드 내의 값의 다양한 특성 또는 특정 필드 내의 값의 존재 또는 부재는 유효하다고 간주되거나 또는 유효하지 않다고 간주될 수 있다. 예를 들어, "Smith"를 포함하는 "last_name" 필드는 유효하다고 간주되지만, 비어 있는 "last_name" 필드는 유효하지 않다고 간주될 수 있다. 필드가 유효한지 또는 유효하지 않은지 여부를 판정하는 조건은 서로 다른 필드에 대해 서로 다를 수 있다. 예를 들어, 문자열 "Randolf"를 포함하는 "middle_name" 필드는 유효하다고 간주될 수 있고, 비어있는 "middle_name" 필드도 또한 유효하다고 간주될 수 있다.
일반적으로, 데이터세트 내의 필드는 논리 규칙의 물리적인 표현을 나타낼 수 있다. 예를 들어, "고객" 데이터세트 내의 "first_name" 필드(예컨대, 관계형 데이터베이스 내에 저장된 가변-길이 문자열일 수 있는 필드)는 고객의 이름이고 따라서 비즈니스 용어 "이름"과 연관된 데이터를 포함할 수 있다. 즉, 고객 데이터세트의 데이터 엘리먼트의 "first_name" 필드 내의 문자열 "John"은 주어진 이름 "John"을 가진 비즈니스 고객의 존재를 나타낸다. 서로 다른 데이터세트는 동일한 비즈니스 개념을 서로 다른 방식으로 나타낼 수 있다. 예를 들어, 제2 데이터세트도 또한 비즈니스 용어 "이름"에 대응할 수 있는 필드 "fname"을 포함할 수 있다.
논리 규칙이 비즈니스 용어에 대해 정의될 수 있다. 예를 들어, 검증 규칙은 비즈니스 용어 "이름"과 연관된 필드가 알파벳 문자열이라는 것을 검증하기 위해 구성될 수 있다. 논리 규칙은 그 다음에 "first_name" 필드 및 "fname" 필드를 검증하기 위해 사용될 수 있다.
데이터세트가 상당한 수의 유효하지 않은 필드를 포함하면, 데이터 소스(102)로부터의 데이터세트를 활용하는 애플리케이션의 성능이 불리한 영향을 받을 수 있다. 처리 모듈(108)은, 데이터세트가 품질 제한을 충족한다는 것을 보장하기 위해 데이터 검증 규칙을 데이터세트에 적용하는 것을 포함하는 데이터 검증 절차를 수행한다. 데이터 처리 시스템(100)은, 데이터세트의 품질이 품질 제한을 충족하지 못하면 시스템 관리자에게 경보를 발생시킨다. 일부 구성에서는, 처리 모듈(108)이 가능하다면 유효하지 않은 데이터를 복구하거나, 또는 정제된 데이터 엘리먼트의 데이터세트를 생성하기 위해 다양한 데이터 정제 절차(data cleansing procedure)를 수행하도록 구성될 수 있다. 처리 모듈(108)은 유효하지 않은 데이터로서, 보고가 생성될 수 있는 데이터의 목록을 생성하도록 구성될 수 있다. 이러한 보고는 필드의 목록 중 하나 이상의 필드에 대해 유효하지 않은 데이터를 포함하는 레코드의 수를 포함할 수 있다. 이러한 보고는 필드의 목록으로부터 계산되는 유효하지 않은 필드의 집합(aggregation)을 포함할 수도 있다.
일반적으로, 서로 다른 애플리케이션은 서로 다른 타입의 데이터를 처리한다. 따라서, 애플리케이션에 따라, 데이터세트의 엘리먼트가 서로 다른 필드를 포함할 수 있다. UI 모듈(106)은, 데이터세트를 검증하기 위해 특정되고 사용될 검증 규칙의 세트를 활성화하는 사용자 인터페이스(112)를 제공한다. 사용자 인터페이스(112)는, 특정 데이터 엘리먼트 구조의 복수의 필드(일부 구현에서, 모든 사용 가능한 필드)을 포함하는 단일 뷰를 제공할 수 있다. 따라서, 주어진 애플리케이션에 대해, 사용자(110)(예컨대, 시스템 관리자)는 데이터에 대한 적절한 검증 규칙을 특정할 수 있다.
도 2는 데이터를 검증하는 논리 규칙을 특정하기 위한 사용자 인터페이스(112)의 예이다. 사용자 인터페이스(112)는 사용자(110)가 하나 이상의 논리 규칙을 특정하고 검증하는 것을 용이하게 하도록 구성된다. 이 예에서는, 논리 규칙이 하나 이상의 검증 테스트를 포함할 수 있으며, 각각의 검증 테스트는 다른 검증 규칙의 적용이 필요할 수 있다. 각각의 검증 테스트 및 이에 대응하는 규칙은 비즈니스 용어에 적용될 수 있다.
UI 모듈(106)은 사용자 인터페이스(112)를 렌더링한다. 사용자 인터페이스(112)는 예를 들어, 컴퓨터 모니터 상에 렌더링될 수 있다. 사용자 인터페이스(112)는 제1 축(226) 및 제2 축(228)을 가진 2차원 그리드(225) 내에 배열되는 다수의 셀(224)을 포함한다. 셀(224)의 하나 이상의 서브세트(230)(상세한 설명의 나머지에서 행(230)이라고 함)가 2차원 그리드(225)의 제1 축(226)을 따라 일 방향으로 확장된다. 각각의 행(230)은 필드(218)와 연관되어 있다. 일부 배치에서는, 각각의 행(230)의 제1(즉, 가장 좌측) 셀이 행(230)과 연관된 비즈니스 용어(218)의 이름을 포함한다. 이 예에서는, 각각의 행의 제1 셀이 비즈니스 용어명 "용어 1", "용어2", …, "용어 M"을 포함한다.
셀(224)의 복수의 서브세트(232)(상세한 설명의 나머지에서 열(232)이라고 함)은 제2 축(228)을 따라 확장된다. 하나 이상의 열(232)은 검증 규칙(234)과 연관되어 있다. 열(232)은 상황을 식별하는 "조건" 열(250)을 포함할 수 있으며, 이 조건 하에서 비즈니스 용어(행에 의해 식별됨)와 연관된 검증 규칙이 적용된다. 일부 예에서는, 나머지 열(232)의 각각의 제1(즉, 맨 위쪽) 셀이 열과 연관된 검증 규칙(234)의 명칭을 포함한다. 이 예에서, 검증 규칙명은 "검증 규칙 1", "검증 규칙 2", … , "검증 규칙 N"이다. 일부 예에서는, 제1 축(226) 및 제2 축(228)의 방향이 뒤바뀔 수 있으며, 필드(218)와 연관된 행(230)은 열이 되고 검증 규칙(234)과 연관된 열(232)은 행이 된다.
하나 이상의 검증 규칙 열(232)이 2차원 그리드(225)에 추가된 후에, 사용자(110)는 어떠한 검증 규칙(234)이 어떠한 비즈니스 용어(218)에 적용되어야 하는지를 특정할 수 있다. 주어진 검증 규칙(234)이 주어진 비즈니스 용어(218)에 적용되어야 한다는 것을 특정하기 위해, 사용자(110)는 주어진 비즈니스 용어(218)와 연관된 행(230)이 주어진 검증 규칙(234)과 연관된 열(232)과 교차하는 셀(224)을 우선 선택한다. 사용자(110)는 그 다음에 하나 이상의 검증 규칙 파라미터(236)를 선택된 셀(224)의 입력 엘리먼트(예컨대, 텍스트 필드 또는 체크 박스) 내에 입력한다. 일반적으로, 셀 내에 규칙 파라미터(236)를 포함하는 것은 2가지 목적에 부합한다. 첫번째 목적은, 검증 규칙(234)을 구성하는 "구성 입력(configuration input)"을 제공하는 것이다. 두번째 목적은, 주어진 검증 규칙(234)이 주어진 비즈니스 용어(218)에 적용되어야 함을 나타내기 위한 것이다. 그 결과, 셀(224)이 검증 규칙 파라미터(236)를 포함하지 않으면(즉, 셀이 비어 있으면), 처리 모듈(108)은 셀(224)과 연관된 검증 규칙(234)을 그 셀(224)과 연관된 각각의 비즈니스 용어(218)에 적용하지 않는다.
많은 서로 다른 타입의 규칙 파라미터(236)가 셀(224)에 입력될 수 있다. 일부 경우에는, 규칙을 구성하기 위해 어떠한 구성 입력도 필요하지 않으며, 따라서 규칙 파라미터(236)는 단순히 이에 대응하는 검증 규칙이 적용될 것이라는 것을 확인하는 "확인 입력(confirmation input)" 규칙 파라미터일 수 있다. 확인 입력 규칙 파라미터를 수신하기 위한 입력 엘리먼트의 일 예는 체크 박스이고, 체크 박스가 체크되는 경우 셀(224)과 연관된 검증 규칙(234)이 셀(224)와 연관된 비즈니스 용어(218)에 적용되어야 한다는 것을 나타낸다. 서로 다른 타입의 검증 규칙의 예가 다음 목록에서 제시된다. 각각의 검증 규칙은 검증 규칙이 구성 입력에 의해 구성되었는지 여부를 나타낸다:
● Integer - "Integer" 검증 규칙은 비즈니스 용어가 정수 번호만을 포함한다는 것을 검증한다(어떠한 구성 입력도 필요치 않음).
● Invalid Values - "Invalid Values" 규칙은 비즈니스 용어가 사용자가 특정한 유효하지 않은 값(구성 입력으로서 제공됨)을 포함하지 않음을 검증한다.
● Max Precision - "Max Precision" 규칙은 비즈니스 용어가 단지 십진 소수점 뒤의 사용자가 특정한 개수의 숫자(구성 입력으로서 제공됨)라는 것을 검증한다.
● Maximum - "Maximum" 규칙은 비즈니스 용어 값이 사용자가 특정한 값(구성 입력으로서 제공됨)보다 크면 값이 유효하다고 결정한다.
● Maximum Length - "Maximum Length" 규칙은 비즈니스 용어가 단지 사용자가 특정한 개수의 문자 또는 바이트(구성 입력으로서 제공됨)라는 것을 검증한다.
● Minimum - "Minimum" 규칙은 비즈니스 용어가 사용자가 특정한 값(구성 입력으로서 제공됨)보다 작으면 값이 유효하지 않다고 결정한다.
● Not blank - "Not Blank" 규칙은 비즈니스 용어가 비어 있거나 또는 공백(blank) (어떠한 구성 입력도 필요치 않음)만을 포함하면 값이 유효하지 않다고 결정한다.
● Not Null - "Not Null" 규칙은 비즈니스 용어가 널(필요한 구성 입력으로서 제공됨)이면 값이 유효하지 않다고 결정한다.
● Pattern - "Pattern" 규칙은 문자열 비즈니스 용어가 특정된 패턴(구성 입력으로서 제공됨)이라는 것을 검증한다.
● Valid Values - "Valid Values" 규칙은 비즈니스 용어가 사용자가 특정한 유효 값(구성 입력으로서 제공됨)만을 포함한다는 것을 검증한다.
● Valid for Type - "Valid for Type" 규칙은 비즈니스 용어 데이터가 그 타입(어떠한 구성 입력도 필요치 않음)에 대해 유효하다는 것을 검증한다.
전술한 검증 규칙의 목록이 반드시 모든 것을 포함해야 하는 것은 아니다.
일부 예에서는, 사용자 인터페이스(112)가 2차원 그리드(225)에 하나 이상의 혼합된 검증 규칙 열을 삽입하기 위한 옵션을 포함한다. 혼합된 검증 규칙 열은, 사용자(110)가 열에 포함된 각각의 셀(주어진 필드(218)와 연관된 셀)에 대해 서로 다른 검증 규칙을 특정할 수 있게 한다. 예를 들어, 혼합된 검증 규칙 열의 하나의 셀이 'Valid Values' 테스트를 포함할 수 있을 것이지만, 혼합된 검증 규칙 열의 또 다른 셀은 'Maximum' 테스트를 포함할 수 있을 것이다. 일반적으로, 사용자(100)는 테스트의 명칭을 입력하고 이어서 테스트에 대한 규칙 파라미터(테스트가 규칙 파라미터를 허용하면)를 입력함으로써 혼합된 검증 규칙 열의 주어진 셀에 대한 검증 규칙을 특정한다. 일반적으로, 2차원 그리드(225)에 열로서 추가될 수 있는 어떠한 검증 규칙도 혼합된 검증 규칙 열의 단일 셀에 입력될 수 있다. "Not Null", "Maximum(99)", 및 "Valid Values(M,F)"이 혼합된 검증 규칙 열에서 발견할 수 있는 셀의 예시적인 내용이다.
혼합된 검증 규칙 열에 의해 제공되는 하나의 장점은, 스크린 상에 거의 사용되지 않는 테스트를 더 효율적으로 나타냄으로써 사용자 인터페이스(112)의 가용성이 향상된다는 것이다. 특히, 사용자(110)는 단일 필드(218)에 적용되기만 하는 검증 규칙에 2차원 그리드(225)의 전체 열(232)을 할애할 필요가 없다. 예를 들어, 혼합된 검증 규칙 열은 "Valid Email" 테스트가 단일 필드(218)(예컨대, 'email_addr' 필드)에만 적용되는 상황을 피할 수 있지만, 2차원 그리드(225)의 전체 열(232)을 차지함으로써, 귀중한 스크린 공간을 낭비할 수 있다.
전술한 바와 같이, 사용자(110)는 사전 정의된 검증 규칙 중 어느 것에도 포함되지 않은 기능을 가진 검증 규칙을 원할 수 있다. 일부 구성에서는, 사용자(110)가 신규의, 재사용 가능한, 맞춤형 검증 규칙(234)으로 사전 정의된 검증 규칙의 목록을 늘릴 수 있다. 사용자 인터페이스(112)는, 신규 검증 규칙(234)의 기능을 정의하기 위해 사용자(110)를 위한 템플릿을 제공한다. 사용자(110)는 예를 들어, 구조화된 코멘트로 꾸며진 DML 코드 등의 프로그래밍 언어 또는 표현 언어를 사용하는 템플릿의 경계 내에 바라는 맞춤형 기능을 정의한다. 일반적으로, 맞춤형 검증 규칙의 생성은 문자열과 같은 입력, 숫자와 같은 입력, 데이터와 같은 입력, 및 날짜시간(datetime-like)과 같은 입력에 대해 검증 테스트를 수행하기 위한 소프트웨어 명령을 필요로 한다. 맞춤형 검증 규칙은 또한 맞춤형 검증 규칙을 위해 필요한 파라미터의 이름, 설명, 및 목록을 필요로 하며, 파라미터의 이름, 파라미터의 데이터 타입, 및 파라미터의 위치를 포함한다. 맞춤형 검증 규칙은 또한 맞춤형 검증 규칙에 의해 생성될 수 있는 에러 코드의 목록을 필요로 할 수 있다.
신규 검증 규칙(234)을 저장하자마자, 검증 규칙(234)이 사전 정의된 검증 규칙의 목록, 또는 계층적 데이터 구조 등의 다른 데이터 구조에 추가된다. 일부 구현에서는, 사용자가 계층적 데이터 구조를 정의하고, 나중에 액세스하기 위해 신규 검증 규칙을 그 구조 내에 배치할 수 있다.
사용자(110)는 예를 들어, 검증 규칙의 목록에서 2차원 그리드(225)까지 검증 규칙을 드래그하거나 또는 검증 규칙을 더블-클릭함으로써 새로운 맞춤형 검증 규칙(234)을 나중에 사용할 수 있다. 사전 정의된 검증 규칙에게는 흔한 경우이지만, 신규 검증 규칙을 그리드(225)까지 드래그하는 것 또는 신규 검증 규칙을 더블-클릭하는 것은 신규 열(232)이 그리드(225)에 추가되도록 하고, 신규 열(232)은 신규 검증 규칙과 연관되어 있다.
사전 정의되었든 또는 맞춤형이든지, 검증 규칙은 이 규칙이 널 값 또는 비어있는 값에 적용되어야 하는지를 나타내는 속성을 가지고 있을 수 있다. 규칙이 널 값에 적용되지 말아야 한다고 명시하면, 값은 우선 널에 대해 테스트된 다음, 널이면 규칙을 적용되지 않거나, 또는 널이 아니면 규칙을 적용한다. 규칙이 빈 값에 적용되지 말아야 한다고 명시하면, 값이 비어있는지 알아내기 위해 먼저 테스트되고, 값이 비어있지 않으면 이 규칙을 적용하기만 한다.
사전 정의되었든 또는 맞춤형이든지, 검증 규칙은 셀(224)에 입력된 규칙 파라미터(236)의 세트가 검증 규칙에 대해 유효한지 여부를 판정하기 위해 사용될 수 있는 로직을 나타내는 속성을 가지고 있을 수 있다. 예를 들어, 사용자 인터페이스(112)는 셀(224)에 입력된 규칙 파라미터(236)의 각각의 세트가 정확한지 여부를 판정할 수 있다. 규칙 파라미터가 부정확하다고 결정되면(예컨대, 구문 오류(syntax error)로 인해), 표시자(예컨대, 적색 정지 신호)가 셀 내에 표시되고, 로직에 의해 결정되는 에러 메시지가 표시된다(예컨대, 에러의 목록 내에 표시되거나 셀 위에서 호버링하는 때 툴팁으로서 표시됨). 규칙 파라미터의 정확도를 체크하는 다른 예는, 특정된 룩업 파일 식별자(lookup file identifier)가 처리 모듈(108)에게 사실상 알려져 있다는 것을 점검하는 것과 같은 의미론(semantics)을 점검하는 것이다.
일부 경우에는, 특정 비즈니스 용어에 할당된 값이 유효한지 여부가 다른 비즈니스 용어에 따라 결정될 수 있다. 예를 들어, 우편번호 및 집 코드(zip code) 또는 전화 번호의 유효한 포맷은 국가에 따라 서로 달라질 수 있다. 비즈니스 용어가 특정 값을 가지고 있는 경우에 적용되거나 또는 어떤 다른 기준에 기초하여 적용되는 행은, 재사용할 수 있는 논리 규칙의 유연성(flexibility)을 증가시킨다.
일부 구성에서는, 사용자 인터페이스(112)는 사용자가 주어진 행에 대해 검증 규칙을 테스트하기 위한 전제 조건을 설정할 수 있게 하는 조건 열(250)을 포함한다. 예를 들어, 규칙 파라미터1 ,1(236)을 가진 "검증 규칙 1"을 비즈니스 용어 "용어 1"(230)에 적용하기 전에, 사용자는 "조건 1"(252)이 만족되어야 한다고 특정할 수 있다.
상술한 바와 같이, 조건이 검증의 주제일 수 있거나 또는 주제가 아닐 수 있는 비즈니스 용어를 지칭할 수 있다. 예를 들어, 조건은 비즈니스 용어가 사전 설정된 값과 매칭되는 값을 가지거나, 가능한 값의 범위 또는 세트에 포함되거나, 또는 제공되는 정규식과 매칭되도록 요구할 수 있다. 조건은 비즈니스 용어가 값을 가지도록 요구할 수 있다(예컨대, 비즈니스 용어가 널 값 지시자(null value indicator)를 포함하지 않음).
일부 구현에서는, 조건은 데이터 기반(data driven)일 수 있다. 예를 들어, 조건이 특정한 타입의 레코드, 특정한 범위 내의 계정, 또는 값의 세트에서의 국가일 수 있다. 조건은 룩업 파일 또는 다른 입력 파일이나 데이터베이스 테이블 내의 참조 데이터를 필요로 할 수 있다.
일단 사용자가 논리 규칙을 정의하면, 사용자는 나중에 액세스하기 위해 규칙을 저장하고 싶어할 수 있다. 일반적으로, 규칙이 저장된 후에 논리 규칙을 찾기가 더 용이할수록, 규칙이 재사용될 가능성이 더 높다. 검증 규칙의 재사용을 용이하게 하기 위해, 규칙은 라벨 또는 이름에 의해 식별될 수 있고, 특정 비즈니스 용어와 연관될 수도 있다.
일부 구성에서는, 사용자 인터페이스(112)가 사용자가 논리 규칙에 대한 이름을 특정할 수 있는 필드(254)를 포함할 수 있다. 사용자 인터페이스(112)는 또한 사용자가 논리 규칙과 연관될 주요 비즈니스 용어를 특정할 수 있는 필드(256)를 포함할 수 있다. 일부 구성에서는, 필드(256)가 사용자 인터페이스의 제1 행(230)에서 식별된 비즈니스 용어(218)로 미리 채워질 수 있다.
논리 규칙은 저장소 또는 다른 데이터 스토어에 저장될 수 있다.
도 3a 및 도 3b는 논리 규칙을 정의하는 2가지 접근법의 예를 도시하고 있다. 제1 예(도 3a)에서는, 논리 규칙이 특정 데이터세트를 참조하지 않고 정의된다. 제2 예(도 3b)에서는, 논리 규칙이 기존 데이터세트로부터의 데이터를 모델로 이용하여 정의된다.
도 3a는 논리 규칙을 생성하는 예를 도시하고 있다. 예를 들어, 도 2의 사용자 인터페이스(212)일 수 있는 사용자 인터페이스(300)는 이름 필드(304)를 포함한다. 여기서, 이름 필드(304)는 이름 "집(Zip) 검증"으로 채워져 있다. 필드(314)에 의해 도시된 바와 같이, 논리 규칙은 비즈니스 용어 "우편번호"와 연관되어 있다.
표(306)는 "우편번호" 비즈니스 용어에 대한 검증 규칙을 정의한다. 재사용할 수 있는, 크로스 컨트리(cross country) 우편번호 검증 규칙은 3가지 조건부 검증을 포함한다. 제1 검증(308)은, 국가가 "US"이면 우편번호는 포맷 "(99999)|(99999-9999)"이어야 한다는 것을 나타낸다. 제2 검증(310)은, 국가가 "CA"이면 우편번호는 포맷 "A9A 9A9"이어야 한다는 것을 나타낸다. 제3 검증(312)은, 국가가 "UK"이면 우편번호가 포맷 "A((A9)|9)(A|9)? 9AA"이어야 한다는 것을 나타낸다.
논리 규칙은 데이터 값을 입력으로 받아들일 수 있다. 일부 구성에서는, 시스템은 검증 규칙에 근거하여 필요한 데이터를 결정할 수 있다. 여기서, 시스템은 논리 규칙이 비즈니스 용어 "우편번호" 및 비즈니스 용어 "국가"에 할당된 값을 필요로 한다고 결정할 수 있다. 다른 구성에서는, 시스템이 사용자 인터페이스(도시되지 않음)로부터 필요한 데이터 값의 목록을 받아들일 수 있다.
일반적으로, 사용자가 바라는 조건 및 검증으로 표(306)를 채울 수 있다. 사용자가 검증 규칙에 만족하는 경우, 사용자는 이 규칙을 데이터 저장소에 저장할 수 있다. 저장은 "저장" 버튼(316)을 클릭하거나, 또는 메뉴 선택이나 다른 유사 동작과 같은 다른 유사한 메커니즘을 통해 이루어질 수 있다.
상술한 바와 같이, 논리 규칙은 저장소 또는 다른 데이터 스토어에 저장될 수 있다. 사용자 인터페이스는 저장소를 액세스할 수 있고, 적절한 재사용할 수 있는 비즈니스 검증 규칙을 자동적으로 식별하거나 또는 사용자 입력과 함께 식별할 수 있다.
도 3b를 참조하면, 일부 구현에서는, 논리 규칙이 기존 데이터세트를 참조하여 정의될 수 있다. 예를 들어, "고객 데이터세트"가 "custid", "name", "primary_street", "primary_city", "primary_state", "primary_zipcode", "primary_country.", and "primary_phone"를 포함할 수 있다. 사용자 인터페이스(350)는, 사용자가 "primary_zipcode" 필드(도시하지 않음)를 참조함으로써 논리 규칙을 생성할 수 있게 한다.
표(356)는 "primary_zipcode"에 대한 검증 규칙을 정의한다. 재사용할 수 있는, 크로스 컨트리 우편번호 검증 규칙은 3가지 조건부 검증을 포함한다. 제1 검증(358)은, "primary_country" 필드 내의 값이 "US"이면 우편번호는 포맷 "(99999)|(99999-9999)"이어야 한다는 것을 나타낸다. 제2 검증(360)은, "primary_country" 필드 내의 값이 "CA"이면 우편번호는 포맷 "A9A 9A9"이어야 한다는 것을 나타낸다. 제3 검증(362)은, "primary_country" 필드 내의 값이 "UK"이면 우편번호는 포맷 "A((A9)|9)(A|9)? 9AA"이어야 한다는 것을 나타낸다.
일반적으로, 사용자는 바라는 조건 및 검증으로 표(356)를 채울 수 있다. 사용자가 검증 규칙에 만족하는 경우, 사용자는 규칙을 데이터 저장소에 저장할 수 있다. 저장은 "저장" 버튼(364)을 클릭함으로써 이루어지거나, 또는 메뉴 선택이나 다른 유사한 동작과 같은 다른 유사한 메커니즘을 통해 이루어질 수 있다. 사용자가 검증 규칙을 저장하는 시간에, 표(356)에서 식별되는 각각의 필드에 비즈니스 용어를 할당하기 위한 옵션이 사용자에게 제시된다. 예를 들어, 사용자는 비즈니스 용어 "우편번호"를 "primary_zipcode" 필드에 할당하고 비즈니스 용어 "국가"를 "primary_country" 필드에 할당할 수 있다.
상술한 바와 같이, 논리 규칙이 저장소 또는 다른 데이터 스토어에 저장될 수 있다. 사용자 인터페이스는 저장소를 액세스하고, 적절한 재사용할 수 있는 비즈니스 검증 규칙을 자동적으로 식별하거나 또는 사용자 입력과 함께 식별할 수 있다.
이러한 방식으로 논리 규칙을 설정하는 것은, 사용자가 논리 규칙을 검증하기 위해 테스트 데이터를 레버리지할 수 있게 하는 장점을 가진다. 예를 들어, 테스트 표(366)는 "고객 데이터세트" 내의 레코드에 대한 데이터 값 뿐만 아니라 결과적으로 발생하는 검증도 나타낸다. 예를 들어, 제1 행(368)은 "02421"의 primary_zipcode 및 "US"의 primary_country를 포함한다. 표(356) 내의 제1 검증(358)에 기초하여, 사용자 인터페이스(350)는 제1 행(368)이 유효하다고 표시한다. 제2 행(370)은 "M3A 102"의 primary_zipcode 및 "US"의 primary_country"를 포함한다. primary_zipcode와 primary_country의 조합이 표(356) 내의 어떠한 검증과도 매칭되지 않기 때문에, 사용자 인터페이스(350)는 제2 행(370)이 유효하지 않다고 표시한다. 제3 행(372)은 "M3A 102"의 primary_zipcode 및 "CA"의 primary_country를 포함한다. 표(356) 내의 제3 검증(362)에 기초하여, 사용자 인터페이스(350)는 제3 행(370)이 유효하다고 표시한다.
도 4는 논리 규칙을 필드에 할당하기 위해 사용될 수 있는 사용자 인터페이스(400)의 예를 도시하고 있다. 사용자 인터페이스(400)는 데이터세트에 대한 필드를 표시할 수 있다. 데이터세트는 하나 이상의 데이터 스토어에 저장된 서로 다른 데이터세트 중에서 선택될 수 있다. 이 데이터세트는 예를 들어, 관계형 데이터베이스(relational database), 플랫 파일(flat file), 또는 다른 데이터 구조 내의 테이블일 수 있다. 이 예에서는, "고객 데이터세트"(416)가 선택되어 있다.
사용자 인터페이스(400)는 선택된 데이터세트 내의 필드(420)의 표현을 표시하는 표(418)를 포함한다. "고객 데이터세트"는 필드 "custid"(402), "name", "primary_street", "primary_city", "primary_state"(집합적으로 406이라는 라벨이 붙여져 있음), "primary_zipcode"(408), "primary_country"(414), 및 "primary_phone"(422)을 포함한다.
사용자 인터페이스(400)는, 사용자가 필드에 대한 맞춤형 검증 규칙을 제공할 수 있게 한다. 여기서, "custid" 필드(402)는 "custid" 필드(402)의 값이 패턴 S'9999999'(404)과 매칭되는 것을 요구하는 검증 규칙과 연관된다. 사용자 인터페이스(400)는 또한 사용자가 논리 규칙(418)을 선택할 수 있게 한다. 이 예에서, "primary_zipcode"(408)는 집 검증 규칙(Zip Validation rule)(410)과 연관되어 있다. 도 3을 참조하여 위에서 정의된 바와 같이, 집 검증 규칙(410)에는 "primary_country"가 파라미터로서 제공된다. 할당된 값은 각각 "국가" 비즈니스 용어에 대응한다.
상술한 바와 같이, 사용가능한 검증 규칙을 데이터세트에 적용하는 것을 단순화시키기 위해, 사용자는 데이터세트 내의 필드들을 비즈니스 용어에 매핑하기를 바랄 수 있다. 도 5는 데이터세트 내의 필드들을 비즈니스 용어에 매핑하는 예를 도시한 개념도이다. 이 매핑은 데이터세트 내의 필드들과 비즈니스 용어 사이의 관계를 설정한다. 일반적으로, 하나 이상의 필드들이 비즈니스 용어에 매핑될 수 있다. 이 매핑은 비즈니스 용어를 생성하기 위해 필드가 연결되어 있다거나 또는 연결되어 있지 않으면 결합되어 있다고 명시할 수 있다. 일부 구성에서는, 데이터세트에 저장된 값을 표준 비즈니스 포맷으로 바꾸기 위해 변환이 특정될 수 있다.
데이터 스토어(502)는 데이터세트를 포함한다. 이 예에서, 데이터 스토어는 "고객 데이터세트"(504)를 포함한다. "고객 데이터세트"(504)는 primary_zipcode 필드(508), "primary_country" 필드(510), 및 primary_phone 필드(516)를 포함하는 필드를 포함한다. 데이터세트 내의 필드들이 기존 비즈니스 용어에 매핑될 수 있다. 예를 들어, primary_zipcode 필드(508)는 우편번호 비즈니스 용어(512)에 매핑될 수 있다. "primary_country" 필드(510)는 국가 비즈니스 용어(514)에 매핑될 수 있다. primary_phone 필드(516)는 전화 번호 비즈니스 용어(518)에 매핑될 수 있다.
일부 구성에서는, 변환이 필드를 비즈니스 용어에 매핑하는 일부로서 특정될 수 있다. 변환이 데이터를 하나의 포맷에서 다른 포맷으로 변환하기 위해 사용될 수 있다. 전화 번호가 포맷 "(999) 999-9999", "999-999-9999"으로 저장되거나, 또는 영역 코드, 프리픽스, 및 서픽스가 3개의 별도의 필드에 저장될 수 있다. 여기서, primary_phone 필드(516)는 전화 번호를 포맷 "(999) 999-9999"으로 저장할 수 있다. 전화 번호 비즈니스 용어를 사용하는 함수는, 데이터가 "999-999-9999"와 같은 특정한 방식(즉, 표준 비즈니스 포맷)으로 포맷되어 있다고 기대할 수 있다. 변환(520)은 데이터를 표준 비즈니스 포맷으로 변환하기 위한 함수를 정의한다.
일단 비즈니스 용어와 필드 간의 연관관계가 설정되면, 연관관계는 비즈니스 용어 데이터 스토어(508)에 저장될 수 있다. 예를 들어, 연관관계(522)는 "고객 데이터세트"의 primary_zipcode 필드가 우편번호 비즈니스 용어에 매핑되는 것을 예시하고 있다. 시스템은, 특정 필드에 대한 논리 규칙을 자동적으로 식별하고 식별된 논리 규칙으로의 입력을 식별하기 위해, 필드를 비즈니스 용어에 매핑할 수 있다. 데이터세트 내의 필드가 비즈니스 용어와 연관되면, 시스템은 동일한 비즈니스 용어와 연관된 논리 규칙을 식별할 수 있다. 그 다음에, 시스템은 식별된 검증 규칙을 필드에 할당할 수 있다. 예를 들어, 도 4를 참조하면, 시스템은 primary_zipcode 필드가 우편번호 비즈니스 용어와 연관되어 있다고 식별할 수도 있다. 시스템은 또한 집 검증 규칙이 우편번호 비즈니스 용어와 연관된다고 식별할 수도 있다. 따라서, 시스템은 집 검증 규칙을 사용자 인터페이스(400) 내의 primary_zipcode 필드와 연관시킬 수 있다.
시스템은 선택된 검증 규칙으로의 입력을 식별하기 위해 매핑을 이용할 수도 있다. 시스템은, 예를 들어 집 검증 규칙이 우편번호 비즈니스 용어 및 국가 비즈니스 용어를 입력으로 요구한다는 것을 식별할 수 있을 것이다. 여기서, 시스템은 "고객 데이터세트"의 primary_zipcode 필드가 우편번호 비즈니스 용어와 연관된다는 것 및 "고객 데이터세트"의 "primary_country" 필드가 국가 비즈니스 용어와 연관된다는 것을 식별할 것이다. 이에 응답하여, 시스템은 자동적으로 primary_zipcode 및 primary_country를 집 검증 규칙의 파라미터에 할당한다.
일부 구성에서는, 시스템이 복수의 논리 규칙이 비즈니스 용어와 연관된다고 결정하면, 사용자 인터페이스는 사용자에게 적절한 검증 규칙을 선택할 목록을 제시할 수 있다.
일부 구성에서는, 시스템에 의해 선택된 검증 규칙 및 입력을 검토하고 수정할 기회가 사용자에게 제공될 수 있다. 상술한 바와 같이, 예를 들어 대체 규칙을 선택함으로써 사용자가 선택된 검증 규칙을 수정하기로 결정하는 시나리오에서는, 시스템이 입력으로서 제공될 필드를 식별할 수 있다.
사용자가 선택된 논리 규칙 및 입력에 만족하면, 사용자는 검증 선택을 저장할 수 있다.
상술한 기법은 컴퓨터 상에서 실행되기 위해 소프트웨어를 이용하여 구현될 수 있다. 예를 들면, 소프트웨어는 적어도 하나의 프로그램되거나 프로그램 가능한 컴퓨터 시스템(분산된, 클라이언트/서버, 또는 그리드 등의 다양한 아키텍쳐의 컴퓨터 시스템일 수 있음) 내의 하나 이상의 컴퓨터 프로그램 내의 프로시저를 구성하며, 각각의 컴퓨터 시스템은 적어도 하나의 프로세서, 적어도 하나의 데이터 스토리지 시스템(휘발성 및 비휘발성 메모리 및/또는 스토리지 엘리먼트), 적어도 하나의 입력 장치 또는 포트, 및 적어도 하나의 출력 장치 또는 포트를 포함한다. 소프트웨어는 예를 들어, 데이터 플로우 그래프의 디자인 및 구성과 관련된 다른 서비스를 제공하는 더 커다란 프로그램의 하나 이상의 모듈을 구성할 수 있다. 그래프의 노드 및 엘리먼트는 컴퓨터로 판독가능한 매체에 저장된 데이터 구조 또는 데이터 저장소에 저장된 데이터 모델에 따르는 다른 체계화된 데이터로서 구현될 수 있다.
소프트웨어는 범용 컴퓨터 또는 특수 목적 프로그램 가능한 컴퓨터에 의해 판독가능한 씨디롬(CD-ROM)과 같은 저장 매체 상에 제공되거나, 또는 네트워크의 통신 매체를 통해 소프트웨어가 실행되는 컴퓨터의 저장 매체로 전달(전파되는 신호에 인코딩되어)될 수 있다. 기능의 전부가 특수 목적 컴퓨터 상에서 수행되거나, 또는 보조 프로세서와 같은 특수 목적 하드웨어를 이용하여 수행될 수 있다. 소프트웨어는 소프트웨어에 의해 특정된 연산의 서로 다른 부분이 서로 다른 컴퓨터에 의해 수행되는 분산된 방식으로 구현될 수 있다. 각각의 이러한 컴퓨터 프로그램은 바람직하게는, 범용 컴퓨터 또는 특수 목적 프로그램 가능한 컴퓨터에 의해 판독가능한 저장 매체나 장치(예컨대, 솔리드 스테이트 메모리 또는 매체, 또는 자기 매체나 광학 매체) 상에 저장되거나 다운로드되어, 저장 매체 또는 저장 장치가 본 명세서에서 설명되는 절차를 수행하기 위해 컴퓨터 시스템에 의해 판독되는 경우에 컴퓨터를 구성하고 작동시킨다. 본 발명의 시스템은 또한 컴퓨터 프로그램으로 구성되는, 컴퓨터로 판독가능한 저장 매체로서 구현된다고 간주될 수 있으며, 이렇게 구성된 저장 매체는 컴퓨터 시스템이 본 명세서에서 설명되는 기능을 수행하기 위해 구체적이고 사전 정의된 방식으로 작동하도록 한다.
본 발명의 다수의 실시예에 대해 설명하였다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고도 다양한 변형이 이루어질 수 있다는 것을 이해할 수 있을 것이다. 예를 들어, 전술한 단계 중 일부는 순서와 무관할 수 있으며, 따라서 전술한 순서와는 다른 순서로 수행될 수 있다.
이해되어야 할 것은, 전술한 설명은 예시하기 위한 것이며 첨부된 특허 청구 범위에 의해 정의되는 본 발명의 범위를 제한하고자 하는 것이 아니라는 것이다. 예를 들어, 다수의 상술한 기능 단계가 실질적으로 전반적인 처리에 영향을 주지 않고도 다른 순서로 수행될 수 있다. 다른 실시 형태들도 다음의 청구항의 범위에 속한다.

Claims (31)

  1. 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법에 있어서,
    데이터 처리 시스템에 의해, 하나 이상의 비즈니스 용어로 채워져 있는 하나 이상의 용어 필드를 갖는 테이블을 포함하는 하나 이상의 논리 검증 규칙을 생성하는 단계로서, 상기 하나 이상의 논리 검증 규칙은 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산(operation)을 특정하는 것이고, 논리 검증 규칙의 생성은:
    상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이에 하나 이상의 비즈니스 용어 필드에 대한 매핑을 규정하는 매핑 내의 상기 하나 이상의 비즈니스 용어 필드로부터의 하나 이상의 비즈니스 용어로 상기 하나 이상의 논리 검증 규칙의 하나 이상의 용어 필드를 채우고;
    상기 매핑 내의 상기 하나 이상의 비즈니스 용어 필드 중 적어도 일부가 참조하는 상기 하나 이상의 논리 검증 규칙을, 상기 데이터 처리 시스템에 의해 컴퓨터 저장소에 저장함으로써 이루어지는, 논리 검증 규칙 생성 단계;
    상기 데이터세트의 하나 이상의 구조화된 데이터 레코드를 처리하도록, 상기 데이터 처리 시스템에 의해 컴퓨터 저장소에 저장된 적어도 하나의 논리 검증 규칙을 자동으로 선택하는 단계로서, 선택은 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 하나 이상의 비즈니스 용어 필드에 대한 매핑에 기초하는 것인, 선택 단계; 및
    선택된 적어도 하나의 논리 검증 규칙을 상기 매핑에 의해 식별된 적어도 하나의 값에 적용하는 단계
    를 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    비즈니스 용어 필드는 제1 비즈니스 용어 필드를 포함하고, 상기 하나 이상의 필드 중 적어도 하나는 제1 필드를 포함하며, 논리 검증 규칙은 제2 비즈니스 용어 필드에 기초한 연산을 추가적으로 적용하고, 상기 매핑은 제2 필드와 상기 제2 비즈니스 용어 필드 간의 매핑을 더 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 논리 검증 규칙은 하나 이상의 검증 테스트를 포함하고, 상기 하나 이상의 검증 테스트 중 제1 검증 테스트를 상기 제1 비즈니스 용어 필드에 적용하는 것은 상기 제2 비즈니스 용어 필드에 기초하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑을 규정하는 매핑을 메모리에 저장하는 단계를 더 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    액세스된 데이터세트로부터의 구조화된 데이터 레코드에서, 상기 매핑 내의 특정 비즈니스 용어 필드에 매핑된 특정 필드를 식별하는 단계;
    상기 특정 비즈니스 용어 필드가 상기 하나 이상의 논리 검증 규칙을 참조하는 것을 결정하는 단계; 및
    상기 매핑에 의해 식별된 상기 특정 필드의 적어도 하나의 값에 상기 선택된 하나 이상의 논리 검증 규칙을 적용하는 단계
    를 더 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 잠재적인 논리 규칙의 목록을 제시하는 단계를 더 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    디스플레이 스크린 상에 렌더링될 때 2차원 그리드를 렌더링하는 렌더링 데이터를 생성하는 단계를 더 포함하되, 상기 2차원 그리드는, 논리 검증 규칙과 연관되는 신규 열을 2차원 그리드에 추가함으로써 검증 규칙의 목록으로부터의 논리 검증 규칙의 시각적 표현을 2차원 그리드 내로 드래그하는 것을 가능하게 하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  8. 컴퓨터 프로그램 명령으로 인코딩된 컴퓨터 저장 매체로서,
    상기 컴퓨터 프로그램 명령은, 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금:
    데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 하나 이상의 논리 검증 규칙을 컴퓨터 저장소에 저장하는 동작으로서, 상기 하나 이상의 논리 검증 규칙은 각각, 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이에 매핑을 규정하고 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들을 특정하는 매핑 내의 하나 이상의 비즈니스 용어 필드에 매핑되는 하나 이상의 이름 필드를 포함하는, 논리 검증 규칙 저장 동작;
    상기 데이터세트의 하나 이상의 구조화된 데이터 레코드를 처리하도록, 상기 하나 이상의 컴퓨터에 의해 적어도 하나의 논리 검증 규칙을 자동으로 선택하는 동작으로서, 선택은, 선택된 적어도 하나의 논리 검증 규칙의 이름 필드에 의해 참조되는 하나 이상의 비즈니스 용어 필드에 대한 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들 사이의 규정된 매핑에 기초하는 것인, 선택 동작; 및
    선택된 적어도 하나의 논리 검증 규칙을 상기 규정된 매핑에 의해 식별된 적어도 하나의 값에 적용하는 동작
    을 포함하는 동작을 수행하도록 하는, 컴퓨터 저장 매체.
  9. 제8항에 있어서,
    비즈니스 용어 필드는 제1 비즈니스 용어 필드를 포함하고, 상기 하나 이상의 필드 중 적어도 하나는 제1 필드를 포함하며, 논리 검증 규칙은 제2 비즈니스 용어 필드에 기초한 연산을 추가적으로 적용하고, 상기 매핑은 제2 필드와 상기 제2 비즈니스 용어 필드 간의 매핑을 더 포함하는, 컴퓨터 저장 매체.
  10. 제9항에 있어서,
    상기 논리 검증 규칙은 하나 이상의 검증 테스트를 포함하고, 상기 하나 이상의 검증 테스트 중 제1 검증 테스트를 상기 제1 비즈니스 용어 필드에 적용하는 것은 상기 제2 비즈니스 용어 필드에 기초하는, 컴퓨터 저장 매체.
  11. 제8항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑을 규정하는 매핑을 메모리에 저장하는 동작을 더 포함하는, 컴퓨터 저장 매체.
  12. 제8항에 있어서,
    액세스된 데이터세트로부터의 구조화된 데이터 레코드에서, 상기 매핑 내의 특정 비즈니스 용어 필드에 매핑된 특정 필드를 식별하는 동작;
    상기 특정 비즈니스 용어 필드가 상기 하나 이상의 논리 검증 규칙을 참조하는 것을 결정하는 동작; 및
    상기 매핑에 의해 식별된 상기 특정 필드의 적어도 하나의 값에 상기 선택된 하나 이상의 논리 검증 규칙을 적용하는 동작
    을 더 포함하는, 컴퓨터 저장 매체.
  13. 제8항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 잠재적인 논리 검증 규칙의 목록을 제시하는 동작을 더 포함하는, 컴퓨터 저장 매체.
  14. 하나 이상의 컴퓨터 및 명령을 저장하는 하나 이상의 저장 장치를 포함하는 시스템으로서,
    상기 명령은, 상기 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금:
    데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 하나 이상의 논리 검증 규칙을 컴퓨터 저장소에 저장하는 동작으로서, 상기 하나 이상의 논리 검증 규칙은 각각, 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이에 매핑을 규정하고 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들을 특정하는 매핑 내의 하나 이상의 비즈니스 용어 필드에 매핑되는 하나 이상의 이름 필드를 포함하는, 논리 검증 규칙 저장 동작;
    상기 데이터세트의 하나 이상의 구조화된 데이터 레코드를 처리하도록, 상기 하나 이상의 컴퓨터에 의해 적어도 하나의 논리 검증 규칙을 자동으로 선택하는 동작으로서, 선택은, 선택된 적어도 하나의 논리 검증 규칙의 이름 필드에 의해 참조되는 하나 이상의 비즈니스 용어 필드에 대한 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들 사이의 규정된 매핑에 따른 것인, 선택 동작; 및
    선택된 적어도 하나의 논리 검증 규칙을 상기 규정된 매핑에 의해 식별된 적어도 하나의 값에 적용하는 동작
    을 포함하는 동작을 수행하게 하도록 동작 가능한, 시스템.
  15. 제14항에 있어서,
    비즈니스 용어 필드는 제1 비즈니스 용어 필드를 포함하고, 상기 하나 이상의 필드 중 적어도 하나는 제1 필드를 포함하며, 논리 검증 규칙은 제2 비즈니스 용어 필드에 기초한 연산을 추가적으로 적용하고, 상기 매핑은 제2 필드와 상기 제2 비즈니스 용어 필드 간의 매핑을 더 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 논리 검증 규칙은 하나 이상의 검증 테스트를 포함하고, 상기 하나 이상의 검증 테스트 중 제1 검증 테스트를 상기 제1 비즈니스 용어 필드에 적용하는 것은 상기 제2 비즈니스 용어 필드에 기초하는, 시스템.
  17. 제14항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑을 규정하는 매핑을 메모리에 저장하는 동작을 더 포함하는, 시스템.
  18. 제14항에 있어서,
    액세스된 데이터세트로부터의 구조화된 데이터 레코드에서, 상기 매핑 내의 특정 비즈니스 용어 필드에 매핑된 특정 필드를 식별하는 동작;
    상기 특정 비즈니스 용어 필드가 상기 하나 이상의 논리 검증 규칙을 참조하는 것을 결정하는 동작; 및
    상기 매핑에 의해 식별된 상기 특정 필드의 적어도 하나의 값에 상기 선택된 하나 이상의 논리 검증 규칙을 적용하는 동작
    을 더 포함하는, 시스템.
  19. 제14항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 잠재적인 논리 검증 규칙의 목록을 제시하는 동작을 더 포함하는, 시스템.
  20. 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법에 있어서,
    데이터 처리 시스템에 의해 컴퓨터 저장소에서, 논리 검증 규칙을 비즈니스 용어 필드와 연관시키는 이름 필드를 각각 포함하는 하나 이상의 논리 검증 규칙을 수신하는 단계로서, 비즈니스 용어 필드는, 데이터세트 내의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 상기 하나 이상의 논리 검증 규칙에서 데이터세트 내의 구조화된 데이터 레코드의 필드들의 비즈니스 용어 필드에 대한 관계를 규정하는 매핑에 대한 참조를 제공하는 것이고, 상기 매핑은 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 하나 이상의 필드들을 특정하는 것인, 논리 검증 규칙 수신 단계; 및
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑으로부터의 규정된 관계에 기초하여, 상기 데이터 처리 시스템으로 적어도 하나의 논리 검증 규칙을 선택하여, 규정된 매핑에 의해 식별된 적어도 하나의 값에 선택된 적어도 하나의 논리 검증 규칙을 적용함으로써 상기 데이터세트의 데이터 레코드를 처리하는 단계
    를 포함하는, 논리 검증 규칙을 특정하기 위한 컴퓨터 구현 방법.
  21. 논리 검증 규칙을 생성하기 위한 컴퓨터 구현 방법에 있어서,
    데이터 처리 시스템에서, 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 단계;
    상기 데이터 처리 시스템에 의해, 비즈니스 용어 필드들과 상기 데이터세트 내의 필드들 사이의 규정된 매핑을 참조하는 단계로서, 상기 매핑은, 하나 이상의 비즈니스 용어 필드에 대한 값을 제공하도록 하나 이상의 필드들 내의 하나 이상의 값들이 조합되는 상기 데이터세트 내의 그러한 하나 이상의 필드들을 특정하는 것인, 단계;
    상기 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 논리 검증 규칙을 선택하는 단계; 및
    상기 데이터 처리 시스템에 의해, 하나 이상의 저장 장치에 상기 논리 검증 규칙을 저장하는 단계로서, 논리 검증 규칙은, 특정된 상기 하나 이상의 연산, 비즈니스 용어 필드, 및 논리 검증 규칙을 비즈니스 용어 필드에 연관시키는 이름 필드를 포함하는 것인, 단계
    를 포함하는, 논리 검증 규칙을 생성하기 위한 컴퓨터 구현 방법.
  22. 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 하나 이상의 논리 검증 규칙을 컴퓨터 저장소에 저장하는 단계로서, 상기 하나 이상의 논리 검증 규칙은 각각, 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이에 매핑을 규정하고 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들을 특정하는 매핑 내의 하나 이상의 비즈니스 용어 필드에 매핑되는 하나 이상의 이름 필드를 포함하는 것인, 논리 검증 규칙 저장 단계;
    상기 데이터세트의 하나 이상의 구조화된 데이터 레코드를 처리하도록, 하나 이상의 컴퓨터에 의해 적어도 하나의 논리 검증 규칙을 자동으로 선택하는 단계로서, 선택은, 선택된 적어도 하나의 논리 검증 규칙의 이름 필드에 의해 참조되는 하나 이상의 비즈니스 용어 필드에 대한 상기 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드들 사이의 규정된 매핑에 기초하는 것인, 선택 단계; 및
    선택된 적어도 하나의 논리 검증 규칙을 상기 규정된 매핑에 의해 식별된 적어도 하나의 값에 적용하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  23. 제22항에 있어서,
    비즈니스 용어 필드는 제1 비즈니스 용어 필드를 포함하고, 상기 하나 이상의 필드 중 적어도 하나는 제1 필드를 포함하며, 논리 검증 규칙은 제2 비즈니스 용어 필드에 기초한 연산을 추가적으로 적용하고, 상기 매핑은 제2 필드와 상기 제2 비즈니스 용어 필드 간의 매핑을 더 포함하는, 컴퓨터 구현 방법.
  24. 제23항에 있어서,
    상기 논리 검증 규칙은 하나 이상의 검증 테스트를 포함하고, 상기 하나 이상의 검증 테스트 중 제1 검증 테스트를 상기 제1 비즈니스 용어 필드에 적용하는 것은 상기 제2 비즈니스 용어 필드에 기초하는, 컴퓨터 구현 방법.
  25. 제22항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑을 규정하는 매핑을 메모리에 저장하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  26. 제22항에 있어서,
    액세스된 데이터세트로부터의 구조화된 데이터 레코드에서, 상기 매핑 내의 특정 비즈니스 용어 필드에 매핑된 특정 필드를 식별하는 단계;
    상기 특정 비즈니스 용어 필드가 상기 하나 이상의 논리 검증 규칙을 참조하는 것을 결정하는 단계; 및
    상기 매핑에 의해 식별된 상기 특정 필드의 적어도 하나의 값에 상기 선택된 하나 이상의 논리 검증 규칙을 적용하는 단계
    를 더 포함하는, 컴퓨터 구현 방법.
  27. 제22항에 있어서,
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 잠재적인 논리 검증 규칙의 목록을 제시하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  28. 논리 검증 규칙을 특정하기 위한 컴퓨터 저장 매체로서, 상기 컴퓨터 저장 매체는 컴퓨터 프로그램 명령으로 인코딩되고,
    상기 컴퓨터 프로그램 명령은, 데이터 처리 시스템에 의해 실행될 때 상기 데이터 처리 시스템으로 하여금:
    데이터 처리 시스템에 의해 컴퓨터 저장소에서, 논리 검증 규칙을 비즈니스 용어 필드와 연관시키는 이름 필드를 각각 포함하는 하나 이상의 논리 검증 규칙을 수신하는 동작으로서, 비즈니스 용어 필드는, 데이터세트 내의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 상기 하나 이상의 논리 검증 규칙에서 데이터세트 내의 구조화된 데이터 레코드의 필드들의 비즈니스 용어 필드에 대한 관계를 규정하는 매핑에 대한 참조를 제공하는 것이고, 상기 매핑은 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 하나 이상의 필드들을 특정하는 것인, 논리 검증 규칙 수신 동작; 및
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑으로부터의 규정된 관계에 기초하여, 상기 데이터 처리 시스템으로 적어도 하나의 논리 검증 규칙을 선택하여, 규정된 매핑에 의해 식별된 적어도 하나의 값에 선택된 적어도 하나의 논리 검증 규칙을 적용함으로써 상기 데이터세트의 데이터 레코드를 처리하는 동작
    을 포함하는 동작을 수행하도록 하는, 컴퓨터 저장 매체.
  29. 논리 검증 규칙을 특정하기 위한 데이터 처리 시스템으로서, 상기 데이터 처리 시스템은 하나 이상의 컴퓨터 및 명령을 저장하는 하나 이상의 저장 장치를 포함하고,
    상기 명령은, 상기 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금:
    데이터 처리 시스템에 의해 컴퓨터 저장소에서, 논리 검증 규칙을 비즈니스 용어 필드와 연관시키는 이름 필드를 각각 포함하는 하나 이상의 논리 검증 규칙을 수신하는 동작으로서, 비즈니스 용어 필드는, 데이터세트 내의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 상기 하나 이상의 논리 검증 규칙에서 데이터세트 내의 구조화된 데이터 레코드의 필드들의 비즈니스 용어 필드에 대한 관계를 규정하는 매핑에 대한 참조를 제공하는 것이고, 상기 매핑은 비즈니스 용어 필드를 제공하도록 조합되는 상기 데이터세트 내의 하나 이상의 필드들을 특정하는 것인, 논리 검증 규칙 수신 동작; 및
    비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑으로부터의 규정된 관계에 기초하여, 상기 데이터 처리 시스템으로 적어도 하나의 논리 검증 규칙을 선택하여, 규정된 매핑에 의해 식별된 적어도 하나의 값에 선택된 적어도 하나의 논리 검증 규칙을 적용함으로써 상기 데이터세트의 데이터 레코드를 처리하는 동작
    을 포함하는 동작을 수행하게 하도록 동작 가능한, 시스템.
  30. 논리 검증 규칙을 생성하기 위한 컴퓨터 저장 매체로서, 상기 컴퓨터 저장 매체는 컴퓨터 프로그램 명령으로 인코딩되고, 상기 컴퓨터 프로그램 명령은, 데이터 처리 시스템에 의해 실행될 때 상기 데이터 처리 시스템으로 하여금:
    데이터 처리 시스템에서, 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 동작;
    상기 데이터 처리 시스템에 의해, 비즈니스 용어 필드들과 상기 데이터세트 내의 필드들 사이의 규정된 매핑을 참조하는 동작으로서, 상기 매핑은, 하나 이상의 비즈니스 용어 필드에 대한 값을 제공하도록 하나 이상의 필드들 내의 하나 이상의 값들이 조합되는 상기 데이터세트 내의 그러한 하나 이상의 필드들을 특정하는 것인, 동작;
    상기 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 논리 검증 규칙을 선택하는 동작; 및
    상기 데이터 처리 시스템에 의해, 하나 이상의 저장 장치에 상기 논리 검증 규칙을 저장하는 동작으로서, 논리 검증 규칙은, 특정된 상기 하나 이상의 연산, 비즈니스 용어 필드, 및 논리 검증 규칙을 비즈니스 용어 필드에 연관시키는 이름 필드를 포함하는 것인, 동작
    을 포함하는 동작을 수행하도록 하는, 논리 검증 규칙을 생성하기 위한 컴퓨터 저장 매체.
  31. 논리 검증 규칙을 생성하기 위한 데이터 처리 시스템으로서, 상기 데이터 처리 시스템은 하나 이상의 컴퓨터 및 명령을 저장하는 하나 이상의 저장 장치를 포함하고,
    상기 명령은, 상기 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금:
    데이터 처리 시스템에서, 데이터세트 내의 구조화된 데이터 레코드의 하나 이상의 필드의 하나 이상의 값에 적용될 하나 이상의 연산을 특정하는 동작;
    상기 데이터 처리 시스템에 의해, 비즈니스 용어 필드들과 상기 데이터세트 내의 필드들 사이의 규정된 매핑을 참조하는 동작으로서, 상기 매핑은, 하나 이상의 비즈니스 용어 필드에 대한 값을 제공하도록 하나 이상의 필드들 내의 하나 이상의 값들이 조합되는 상기 데이터세트 내의 그러한 하나 이상의 필드들을 특정하는 것인, 동작;
    상기 비즈니스 용어 필드들과 상기 데이터세트 내의 구조화된 데이터 레코드의 필드들 사이의 매핑에 기초하여 논리 검증 규칙을 선택하는 동작; 및
    상기 데이터 처리 시스템에 의해, 하나 이상의 저장 장치에 상기 논리 검증 규칙을 저장하는 동작으로서, 논리 검증 규칙은, 특정된 상기 하나 이상의 연산, 비즈니스 용어 필드, 및 논리 검증 규칙을 비즈니스 용어 필드에 연관시키는 이름 필드를 포함하는 것인, 동작
    을 포함하는 동작을 수행하게 하도록 동작 가능한, 시스템.
KR1020167027585A 2014-03-13 2015-03-12 논리적 검증 규칙을 특정하고 데이터에 적용하는 방법 KR102411550B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/208,147 2014-03-13
US14/208,147 US10769122B2 (en) 2014-03-13 2014-03-13 Specifying and applying logical validation rules to data
PCT/US2015/020066 WO2015138666A1 (en) 2014-03-13 2015-03-12 Specifying and applying logical validation rules to data

Publications (2)

Publication Number Publication Date
KR20160133477A KR20160133477A (ko) 2016-11-22
KR102411550B1 true KR102411550B1 (ko) 2022-06-20

Family

ID=52774579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167027585A KR102411550B1 (ko) 2014-03-13 2015-03-12 논리적 검증 규칙을 특정하고 데이터에 적용하는 방법

Country Status (9)

Country Link
US (1) US10769122B2 (ko)
EP (1) EP3117378A1 (ko)
JP (2) JP2017509971A (ko)
KR (1) KR102411550B1 (ko)
CN (1) CN106104472B (ko)
AU (1) AU2015229419A1 (ko)
CA (1) CA2940444C (ko)
SG (2) SG10201911946SA (ko)
WO (1) WO2015138666A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
WO2021024040A1 (en) * 2019-08-08 2021-02-11 Mann, Roy Digital processing systems and methods for automatic relationship recognition in tables of collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US10769122B2 (en) 2014-03-13 2020-09-08 Ab Initio Technology Llc Specifying and applying logical validation rules to data
US11650972B1 (en) * 2015-12-02 2023-05-16 Wells Fargo Bank, N.A. Semantic compliance validation for blockchain
US11373248B1 (en) * 2017-05-09 2022-06-28 Pulse8, Inc. Method and apparatus for risk adjustment
US11106643B1 (en) * 2017-08-02 2021-08-31 Synchrony Bank System and method for integrating systems to implement data quality processing
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11194783B2 (en) 2018-09-05 2021-12-07 International Business Machines Corporation Multiple parameter based composite rule wise data validation in cloud hybrid model
US11249978B2 (en) 2018-11-29 2022-02-15 Kyndryl, Inc. Multiple parameter based composite rule data validation
CN112148391A (zh) 2019-06-26 2020-12-29 北京百度网讯科技有限公司 生成基于芯片的计算功能的方法、装置、设备和存储介质
US11165810B2 (en) 2019-08-27 2021-11-02 International Business Machines Corporation Password/sensitive data management in a container based eco system
US11366858B2 (en) * 2019-11-10 2022-06-21 Tableau Software, Inc. Data preparation using semantic roles
EP4062313A1 (en) 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US20210150135A1 (en) 2019-11-18 2021-05-20 Monday.Com Digital processing systems and methods for integrated graphs in cells of collaborative work system tables
WO2021107760A1 (en) * 2019-11-29 2021-06-03 Mimos Berhad System and method for dynamically processing data into a knowledge base repository
US20210191367A1 (en) * 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
US11494291B2 (en) 2019-12-20 2022-11-08 UiPath, Inc. System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA)
CN113468401B (zh) * 2020-03-31 2023-04-28 中移系统集成有限公司 局数据核查制作方法、装置、计算机设备和存储介质
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
CN111639077B (zh) * 2020-05-15 2024-03-22 杭州数梦工场科技有限公司 数据治理方法、装置、电子设备、存储介质
CN111813399B (zh) * 2020-07-23 2022-05-31 平安医疗健康管理股份有限公司 基于机器学习的审核规则处理方法、装置及计算机设备
US11455588B2 (en) * 2020-09-04 2022-09-27 TADA Cognitive Solutions, LLC Data validation and master network techniques
US11397847B1 (en) 2021-01-14 2022-07-26 Monday.com Ltd. Digital processing systems and methods for display pane scroll locking during collaborative document editing in collaborative work systems
KR102437098B1 (ko) 2022-04-15 2022-08-25 이찬영 인공 지능 기반의 오류 데이터 판정 방법 및 그 장치
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066263A1 (en) 2003-09-23 2005-03-24 Baugher Ernest S. System and method for generating data validation rules
US20120158625A1 (en) 2010-12-16 2012-06-21 International Business Machines Corporation Creating and Processing a Data Rule

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446885A (en) * 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
JPH1131042A (ja) 1997-07-11 1999-02-02 Hitachi Ltd コード表データ作成時の属性即時チェック方法及び装置
US6535883B1 (en) * 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
US20020078435A1 (en) * 1999-10-15 2002-06-20 Pamela P. Liu Table driven configurator on internet
US20040083199A1 (en) * 2002-08-07 2004-04-29 Govindugari Diwakar R. Method and architecture for data transformation, normalization, profiling, cleansing and validation
US7698441B2 (en) * 2002-10-03 2010-04-13 International Business Machines Corporation Intelligent use of user data to pre-emptively prevent execution of a query violating access controls
WO2005055001A2 (en) * 2003-11-26 2005-06-16 Universal Business Matrix, Llc Method for assisting in automated conversion of data and associated metadata
US8099441B2 (en) * 2004-09-30 2012-01-17 Millennium It (Usa) Inc. System and method for configurable trading system
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
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8166000B2 (en) * 2007-06-27 2012-04-24 International Business Machines Corporation Using a data mining algorithm to generate format rules used to validate data sets
US8473910B2 (en) * 2007-08-09 2013-06-25 Infonovus Technologies, Llc Method and system for defining a software application as a complete and consistent specification in a software development process
CN101482864B (zh) * 2008-01-08 2012-07-25 国际商业机器公司 用于检验gis数据的正确性的方法和装置
US8090737B2 (en) * 2009-03-26 2012-01-03 International Business Machines Corporation User dictionary term criteria conditions
US20110145005A1 (en) * 2009-12-10 2011-06-16 Wu Cao Method and system for automatic business content discovery
US8468167B2 (en) * 2010-10-25 2013-06-18 Corelogic, Inc. Automatic data validation and correction
AU2012211167B2 (en) 2011-01-28 2014-08-21 Ab Initio Technology Llc Generating data pattern information
US8818893B2 (en) * 2011-06-14 2014-08-26 Bank Of America Corporation Dynamic payment generator
US8943059B2 (en) * 2011-12-21 2015-01-27 Sap Se Systems and methods for merging source records in accordance with survivorship rules
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
AU2013335231B2 (en) * 2012-10-22 2018-08-09 Ab Initio Technology Llc Profiling data with location information
US9317484B1 (en) * 2012-12-19 2016-04-19 Emc Corporation Page-independent multi-field validation in document capture
US9558230B2 (en) * 2013-02-12 2017-01-31 International Business Machines Corporation Data quality assessment
US10346388B2 (en) * 2013-05-03 2019-07-09 Sap Se Performance and quality optimized architecture for cloud applications
US9355136B2 (en) * 2013-05-06 2016-05-31 International Business Machines Corporation Automating generation of messages in accordance with a standard
US10769122B2 (en) 2014-03-13 2020-09-08 Ab Initio Technology Llc Specifying and applying logical validation rules to data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066263A1 (en) 2003-09-23 2005-03-24 Baugher Ernest S. System and method for generating data validation rules
US20120158625A1 (en) 2010-12-16 2012-06-21 International Business Machines Corporation Creating and Processing a Data Rule

Also Published As

Publication number Publication date
AU2015229419A1 (en) 2016-09-22
JP6916403B2 (ja) 2021-08-11
CN106104472B (zh) 2021-11-05
EP3117378A1 (en) 2017-01-18
US20150261796A1 (en) 2015-09-17
CA2940444C (en) 2023-08-15
JP2021099819A (ja) 2021-07-01
WO2015138666A1 (en) 2015-09-17
CN106104472A (zh) 2016-11-09
KR20160133477A (ko) 2016-11-22
CA2940444A1 (en) 2015-09-17
JP2017509971A (ja) 2017-04-06
SG11201606457YA (en) 2016-09-29
US10769122B2 (en) 2020-09-08
SG10201911946SA (en) 2020-02-27

Similar Documents

Publication Publication Date Title
KR102411550B1 (ko) 논리적 검증 규칙을 특정하고 데이터에 적용하는 방법
US20200301897A1 (en) Specifying and applying rules to data
JP6720144B2 (ja) 条件付き検証規則
US8615526B2 (en) Markup language based query and file generation
US10127264B1 (en) Techniques for automated data analysis
US11947938B2 (en) Application development platform
US10545813B2 (en) Database diagnostic engine
US20220027804A1 (en) Asset Model Configuration and Validation

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