KR20170052672A - 조건부 검증 규칙 - Google Patents

조건부 검증 규칙 Download PDF

Info

Publication number
KR20170052672A
KR20170052672A KR1020177009727A KR20177009727A KR20170052672A KR 20170052672 A KR20170052672 A KR 20170052672A KR 1020177009727 A KR1020177009727 A KR 1020177009727A KR 20177009727 A KR20177009727 A KR 20177009727A KR 20170052672 A KR20170052672 A KR 20170052672A
Authority
KR
South Korea
Prior art keywords
field
axis
condition
input
cell
Prior art date
Application number
KR1020177009727A
Other languages
English (en)
Other versions
KR102214297B1 (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 KR20170052672A publication Critical patent/KR20170052672A/ko
Application granted granted Critical
Publication of KR102214297B1 publication Critical patent/KR102214297B1/ko

Links

Images

Classifications

    • G06F17/30303
    • 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
    • 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
    • G06F17/243
    • G06F17/246
    • G06F17/2725
    • G06F17/30371
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

조건부 검증 규칙을 생성하기 위한 장치, 시스템 및 방법이 제공되며, 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램을 포함한다. 방법 중 하나는 제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하는 단계를 포함하며, 상기 2차원 그리드는, 셀의 하나 이상의 서브세트 - 각 서브세트가 상기 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -, 및 상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 - 를 포함한다. 이 방법은 셀의 적어도 일부로부터 수신된 사용자 입력에 기초하여 상기 데이터세트의 요소에 하나 이상의 검증 규칙을 적용하는 단계를 포함한다. 필드와 연관된 조건 셀은 입력을 수신하기 위한 입력 요소를 포함한다.

Description

조건부 검증 규칙{CONDITIONAL VALIDATION RULES}
본원은 데이터에 규칙의 특정 및 적용에 관한 것이다.
다양한 소스로부터 컴파일링될(compiled) 수 있는 데이터의 대규모 세트(예컨대, "데이터세트")를 비즈니스 애플리케이션을 포함하는 다수의 현대 애플리케이션이 처리한다. 데이터세트에 데이터를 제공하는 다양한 소스는 상이한 레벨의 데이터 품질을 가질 수 있다. 애플리케이션이 적절히 기능할 것을 보장하기 위하여, 데이터세트에서 적절한 레벨의 데이터 품질이 유지되어야 한다. 적절한 레벨의 데이터 품질을 유지하기 위하여, 데이터세트가 데이터 검증 시스템에 의해 처리될 수 있다. 이러한 시스템은 애플리케이션에 제공되기 전에 데이터세트에 검증 규칙을 적용한다. 일부 실시예에서, 데이터 검증 시스템이 검증 규칙의 결과를 사용하여 데이터 품질의 측정치를 계산하고 데이터 품질의 측정치가 미리결정된 임계치 미만이면 그 애플리케이션의 관리자에게 알릴 수 있다. 다른 실시예에서, 데이터 검증 시스템이 하나 이상의 검증 규칙을 따르지 않은 데이터를 처리하기 위한 모듈을 포함한다. 예를 들어, 데이터 검증 시스템이 하나 이상의 검증 규칙을 따르지 않은 데이터를 폐기하거나 복구할 수 있다.
일반적으로, 데이터 검증 시스템에 의해 적용된 검증 규칙은 데이터 검증 시스템의 관리자에 의해 정의된다.
일반적으로, 본원에 기재된 주제 대상의 하나의 혁신적인 측면은 프로세서 및 프로세싱 명령어를 포함하는 시스템을 포함하는 측면 1에서 구현될 수 있고, 이 시스템은 제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하도록 구성된 사용자 인터페이스 모듈을 포함하고, 상기 2차원 그리드는, 상기 2차원 그리드의 제1 축에 따른 방향으로 연장되는 셀의 하나 이상의 서브세트 - 상기 하나 이상의 서브세트의 각 서브세트가 상기 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -, 및 상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 - 를 포함한다. 이 방법은, 상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 서브세트를 렌더링하는 단계를 포함하고, 서브세트 내의 각 셀은 제2 축에 의해 식별되는 그리드 내의 대응하는 위치에 있는 각각의 필드와 연관되고, 조건부 셀로서 사용될 수가 있다. 필드와 연관된 조건 셀은, 조건부 식의 형태로 입력을 수신하기 위해, 입력 요소를 포함한다. 처리 모듈은 조건 셀로부터 조건부 식을 평가하고, 그 평가에 기초하여 데이터세트의 적어도 하나의 요소에 하나 이상의 검증 규칙을 적용하도록 구성된다.
이 측면의 다른 실시태양은 컴퓨터 시스템, 장치 및 하나 이상의 컴퓨터 저장 디바이스에 기록된 컴퓨터 프로그램을 포함하며, 각각 동작 및 방법을 수행하도록 구성된다. 하나 이상의 컴퓨터의 시스템은, 작동시 시스템으로 하여금 동작을 수행하도록 하는 시스템 상에 설치되는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합으로서 특정 동작을 수행하도록 구성된다. 하나 이상의 컴퓨터 프로그램이, 데이터 처리 장치에 의해 수행시, 장치로 하여금 동작을 수행하도록 하는 명령어를 포함하여 특정 동작을 수행하도록 구성될 수 있다.
전술한 및 다른 실시태양이 각각 다음의 특징 중 하나 이상의 특징을 그 자체로 또는 조합하여 선택적으로 포함할 수 있다.
측면 1에 따른 측면 2는 입력 요소가 조건을 수신할 수 있어서 조건이 만족되는 때에 제2 축에 연관된 적어도 하나의 검증 규칙이 연관된 필드에 적용되는 특징을 포함한다.
측면 1 또는 2에 따른 측면 3은 조건이 연관된 필드와 상이한 제2 필드의 값에 의존될 수 있는 특징을 포함한다.
측면 1, 2 및 3에 따른 측면 4는 데이터세트의 제1 요소의 제1 필드 내의 데이터에 검증 규칙을 적용하는 특징을 포함하며, 이는 셀의 입력 요소 내에 수신된 임의의 입력에 기초하여, 제1 요소의 제1 필드와 연관된 제2 축에 따른 방향으로 연장된 셀의 서브세트로부터 셀과 연관된 선택된 검증 규칙을 결정하는 것; 제1 필드와 연관된 조건 셀의 입력 요소 내에 수신된 입력에 기초하여 선택된 검증 규칙과 연관된 조건을 결정하는 것; 조건이 만족된다고 결정하는 것; 및 제1 필드에 선택된 검증 규칙을 적용하는 것을 포함한다.
측면 1, 2, 3 또는 4에 따른 측면 5는 조건 셀의 입력 요소가 오퍼레이터 및 상기 오퍼레이터와 연관된 값을 수신하도록 구성될 수 있는 특징을 포함한다.
측면 1, 2, 3, 4 또는 5에 따른 측면 6은 조건이 만족된다고 결정하는 것이, 오퍼레이터와 연관된 값 및 데이터세트의 제1 요소의 제2 필드 내의 값에 오퍼레이터를 적용하는 것을 포함하고, 상기 제2 필드는 필드 식별자에 의해 식별되는 특징을 포함한다.
개시된 시스템의 측면들은 하나 이상의 다음의 장점을 가진다. 사용자 인터페이스는 비즈니스 사용자가 검증 규칙을 식별할 수 있게 할 수 있다. 검증 규칙의 적용이 데이터 요소 내의 필드의 값에 조건부적일 수 있다. 데이터세트의 검증이 그 데이터세트를 사용하여 적용의 성능을 증가시킬 수 있다. 조건부 검증 규칙이 불필요한 검증 규칙의 적용을 건너뛰게 하여 시스템 성능을 개선시킬 수 있다. 조건부 검증 규칙이 시스템 복잡성을 감소시킬 수 있지만, 흔치 않은 테스트 경우를 위해 특정 검증 규칙이 용이하게 적용되도록 할 수도 있다.
본원의 다른 특징 및 장점이 다음의 상세한 설명 및 특허청구범위로부터 명백해질 것이다.
도 1은 조건부 기술이 사용될 수 있는 일례의 데이터 처리 시스템을 도시한다.
도 2는 데이터세트 내의 데이터 요소를 조건부로 검증하기 위한 검증 규칙을 특정하는 사용자 인터페이스의 실시예이다.
도 3은 조건부 검증 규칙의 실시예를 도시한다.
데이터 처리 시스템은 데이터에 기초하여 상이한 소스로부터 데이터를 수락하고 출력을 생성한다. 이 시스템에 의해 처리된 데이터는 비정상(anomaly), 오류(error) 또는 문제(issue)을 포함할 수 있다. 이러한 데이터 품질 문제는 예를 들어, 부정확한 입력으로 인한 오류, 예컨대 오기, 기계 고장, 예컨대 데이터 손상, 및 오역으로 인한 오류, 예컨대 데이터의 인코딩의 부정확한 식별로 인한 것일 수 있다. 오류는 또한 유실되거나 알려지지 않은 데이터, 부적절한 포맷의 데이터, 데이터 소비자에서 잘못 해석된 데이터로 인한 데이터 생산자 측의 명세의 변경, 데이터와 매칭되지 않는 결과로 참조 코드 세트의 오류, 동기화 문제(예, 새로운 참조 데이터가 제시간에 나타나는데 실패하고 소스 데이터가 이전 참조 데이터와 매칭되지 않음), 새로운 코드값의 도입 등으로 인한 것일 수 있다. 일반적으로, 데이터 품질 시스템의 목적은, 일반적으로 데이터 개선 프로그램의 일부처럼, 측정될 필요가 있는 데이터 내의 문제를 검출하는 것이다(시간이 흐르면서 문제의 수가 줄어들어야 함).
데이터 검증은 데이터의 품질을 측정하는 프로세스이다. 일반적으로, 하나 이상의 데이터 검증 테스트가 데이터 소스에 대하여 실행된다. 데이터의 품질이 수치화되고, 필요하다면, 데이터의 품질을 개선하기 위한 행동이 취해진다.
사용자 인터페이스는 검증 규칙을 생성하는 프로세스를 단순화할 수 있다. 일반적으로, 검증 규칙은 데이터 품질을 결정하기 위해 데이터에 적용될 수 있는 하나 이상의 검증 테스트의 세트이다. 예를 들어, 검증 규칙이 데이터의 필드가 특정 데이터 유형인지 여부를 결정하는 검증 테스트 및 데이터의 필드가 특정 크기인지 여부를 결정하는 검증 테스트를 포함할 수 있다. 본원에 기재된 이 시스템, 방법, 및 매체는 종래 기술보다 적어도 몇몇의 다음의 장점을 가진다. 사용자 인터페이스는 비즈니스 사용자가 검증 규칙을 식별하도록 한다. 논리적 규칙이 비즈니스 용어와 연관될 수 있다. 데이터세트의 필드는 비즈니스 용어와 연관될 수도 있다. 디폴트 검증 규칙이 상기 연관에 기초하여 결정될 수 있다. 논리적 규칙이 데이터세트를 검증하는데 걸리는 시간을 감소시킬 수 있다. 또 다른 유용한 기준점은 제목이 "규칙의 특정 및 데이터에 적용"이고 2012년 10월 17일에 출원된 미국 특허출원 제13/653,995호에 기재된 규칙을 특정하여 데이터에 적용하는 시스템이며, 이 출원의 내용은 본원에 원용된다.
비즈니스 용어는 데이터 내에 포함된 컨셉을 나타낸다. 예를 들어, "cust_tbl"라는 상관관계의 데이터베이스 테이블이 "phone_no"라는 필드를 포함한다. "phone_no"에서 값을 가지는 "cust_tbl"에서의 로우(row)가 특정 전화 번호를 가진 고객이 존재한다는 것을 나타낸다. 이 실시예에서, "고객"은 적어도 "cust_tbl"에서 구현되는 비즈니스 용어이고, "전화 번호"는 "phone_no" 필드에서 구현되는 비즈니스 용어이다.
도 1은 조건부 기술이 사용될 수 있는 일례의 데이터 처리 시스템(100)을 도시한다. 이 시스템(100)이 데이터 소스(102)를 포함한다. 데이터 소스(102)는 저장 디바이스 또는 온라인 데이터 스트림으로 연결부 같은 데이터의 하나 이상의 소스를 포함할 수 있고, 각 소스는 다양한 임의의 저장 포맷(예, 데이터베이스 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 또는 메인프레임으로 사용되는 네이티브 포맷)으로 데이터("데이터세트"로 지칭되기도 함)를 저장할 수 있다.
실행 환경(104)이 적합한 작동 시스템, 예컨대 UNIX의 제어 하에서 하나 이상의 범용 컴퓨터 상에서 관리될(host) 수 있다. 예를 들어, 실행 환경(104)이 다중-노드 병행 컴퓨팅 환경을 포함할 수 있다: 이는 다중 중앙 처리 유닛(CPU); 로컬(예, SMP 컴퓨터와 같은 멀티 프로세서 시스템) 또는 로컬 분산 프로세서(예, MPP 또는 클러스터로서 연결되는 다중 프로세서) 중의 어느 것; 원격 또는 원격 분산 프로세서(예, 근거리 통신망(LAN) 및/또는 광역 통신망(WAN)을 통해 접속되는 다중 프로세서); 또는 이들의 임의의 조합을 사용하는 컴퓨터 시스템의 구성을 포함할 수 있다.
실행 환경이 사용자 인터페이스(UI) 모듈(106) 및 처리 모듈(108)을 포함한다. UI 모듈(106)이 데이터 소스(102)로부터 데이터를 처리하기 위한 처리 모듈(108)에 의해 사용되도록 검증 규칙을 특정하는데 이용되는 사용자 인터페이스(112)(예, 디스플레이 스크린 상의 그래픽 뷰)를 통해 사용자(110)로부터 수신된 입력을 관리한다.
처리 모듈(108)이 데이터 소스(102)로부터 데이터를 판독하고 UI 모듈(106)에 의해 획득된 검증 정보에 기초하여 검증 절차를 수행한다. 데이터 소스(102)를 제공하는 저장 디바이스가 실행 환경(104)에 대해 로컬일 수 있고, 예컨대 실행 환경(104)을 동작하는 컴퓨터에 연결된 저장 매체(예, 하드 드라이브(114)) 상에 저장될 수 있다. 대안으로 또는 추가적으로 저장 디바이스는 실행 환경(104)에 대해 원격일 수 있고, 예컨대 원격 연결을 통해, 실행 환경(104)을 동작하는 컴퓨터와 통신하여 원격 시스템(예, 메인프레임(116)) 상에 호스트된다.
일반적으로, 데이터 소스(102)로부터 액세스되는 데이터세트가 다수의 데이터 요소를 포함하고, 이는 데이터세트 테이블에서 로우 또는, 미리결정된 레코드 구조에 따라 포맷된 레코드일 수 있다. 각 데이터 요소는 다수의 필드에 대한 값, 예컨대 널(null) 또는 빈 값(empty value)을 가능하게 포함하는, 데이터베이스 테이블 내의 컬럼 또는 레코드 구조 내에 정의된 속성을 포함할 수 있다. 필드 내의 다양한 특성의 값 또는 특정 필드 내의 존재(presence) 또는 무존재(absence)의 값이 유효 또는 무료로 간주될 수 있다. 예를 들어, 스트링 "Smith"를 포함하는 "last_name" 필드가 유효로 간주될 수 있고, 반면에 비어 있는(blank) "last_name" 필드는 무효로 간주될 수 있다. 필드가 유효인지 무효인지 여부를 결정하는 조건이 상이한 필드에 대해 서로 다를 수 있다. 예를 들어, 스트링 "Randolf"를 포함하는 "middle_name" 필드는 유효로 간주될 수 있고, 비어 있는 "middle_name" 필드도 또한 유효로 간주될 수 있다.
일반적으로 데이터세트 내의 필드가 비즈니스 규칙의 물리적 표시를 나타낼 수 있다. 예를 들어, "customer" 데이터 세트 내의 "first_name" 필드(예컨대 관계형 데이터베이스(relational database)에 저장된 가변-길이 문자 스트링일 수 있음)가 고객의 제1 이름인 데이터를 포함할 수 있고, 따라서 비즈니스 용어 "first name"와 연관된다. 즉, 고객 데이터 세트의 데이터 요소의 "first_name" 필드 내의 문자 스트링 "John"이 주어진 이름 "John"으로 비즈니스 고객의 존재를 나타낸다. 다른 데이터세트는 상이한 방법으로 동일한 비즈니스 개념을 나타낼 수 있다. 예를 들어, 제2 데이터세트는 비즈니스 용어 "first name"에 또한 대응할 수 있는 필드 "fname"을 포함할 수 있다.
도 2는 데이터 세트 내의 데이터 요소를 조건부로 검증하도록 검증 규칙을 특정하기 위한 사용자 인터페이스(112)의 실시예이다. 사용자 인터페이스(112)는 사용자(110)가 하나 이상의 조건부 검증 규칙을 특정하고 입증하는 것을 용이하게 하도록 구성된다. 일반적으로, 검증 규칙은 하나 이상의 검증 테스트를 포함할 수 있고, 각각의 검증 테스트는 또 다른 검증 규칙의 적용을 요구할 수 있다. 몇몇 검증 테스트는 데이터 세트의 데이터 요소 내의 값에 대해 조건부일 수 있다.
UI 모듈(106)이 사용자 인터페이스(112)를 렌더링한다(render). 예를 들어, 사용자 인터페이스(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)의 이름, 또는 조건 컬럼(250)에 대한 "조건부 테스트(Conditional Test)" 또는 "조건(Conditions)"와 같은 이름을 포함한다. 이 실시예에서, 검증 규칙 이름이 "검증 테스트 1," "검증 테스트 2," ... "검증 테스트 N"이다. 일부 실시예에서, 제1 축(226)과 제2 축(228)의 방향이 스와핑될(swap) 수 있고, 필드(218)와 연관된 로우(230)가 컬럼 및 검증 테스트(234)와 연관된 컬럼(232)이 되어서 로우가 되게 된다.
하나 이상의 검증 테스트 컬럼(232)이 2차원 그리드(225)에 추가된 후에, 사용자(110)가 어느 검증 테스트(234)가 어느 데이터 요소(218)에 적용되어야 하는지를 특정할 수 있다. 특정될 수 있는 다른 종류의 검증 테스트의 실시예가 발명의 명칭이 "비즈니스 규칙의 편집 및 컴파일링"인 미국특허 제8,069,129호 에 기재되어 있으며, 이는 본원에 원용된다.
사용자 인터페이스(112)는 사용자가 주어진 로우에 대한 검증 규칙을 테스트하기 위해 사전-조건을 확립하도록 하는 조건 컬럼(250)을 포함한다. 사용자는 테스트 파라미터1 , 1(236)를 가진 "검증 테스트 1"을 데이터 요소 "필드 1"(218)에 적용하기 전에 "조건 1"(252)이 충족되어야 하는 것을 특정할 수 있다.
조건은 검증의 주제이거나 주제가 아닐 수도 있는 데이터 요소를 지칭할 수 있다. 예를 들어, 조건은 미리결정된 값에 매칭되는 값을 가지는 데이터 요소 내의 필드가 가능 값의 범위나 세트 내에 포함되거나, 제공된 정규식(regular expression)에 매칭되는 것을 요구할 수 있다. 예를 들어, 조건 1(252)이 필드 1(218)의 값에 검증 테스트 1(234)를 적용하기 전에 필드 3(254)의 값을 테스트할 수 있다. 조건은 데이터 요소가 값을 가지는 것을 요구할 수 있다(예를 들어, 데이터 요소는 널 값 지시자를 포함하지 않음). 몇몇 실시태양에서, 조건이 데이터 구동일 수 있다. 예를 들어, 데이터 구동 조건은 특정 유형의 레코드, 특정 범위의 계좌, 하나의 세트의 값에서 국가를 포함할 수 있다. 조건이 또 다른 입력 파일 또는 데이터베이스 테이블 내에 룩업 파일 또는 참조 데이터를 포함할 수 있다.
일부 실시태양에서, 조건이 확립은 필드, 연산(operation) 및 값의 식별을 포함할 수 있다. 연산은 예컨대 불리안 함수이다. 필드는 어느 데이터 요소가 조건에 의해 평가될 것인지를 식별하고, 연산은 필드가 어떻게 평가될 것인지를 식별하고, 값은 조건이 그 평가에 기초하여 만족되는지 여부를 결정하도록 사용된다. 예를 들어, 아래의 조건에 대하여:
국가='US'
필드는 국가이고, 연산은 '='이고, 값은 'US'이다. 만족되는 조건은 데이터 요소에 대한 국가 필드에서 값이 'US'와 동일한 것이고, 그 값이 'US'가 아니면 조건이 만족되지 않는다.
일부 실시태양에서, 사용자가 필드에 조건을 추가할 때에, 사용자 인터페이스가 그 필드에 대해 새로운 검증 테스트 로우를 자동으로 생성한다. 예를 들어, 조건(252)를 필드 1(218)에 추가하는 것에 응답하여, 사용자 인터페이스는 새로운 로우(256)를 삽입한다. 동일한 필드로 각각 지칭되는 사용자 인터페이스 내의 다수의 로우가 순차적으로, 즉 상부로부터 하부로 평가될 수 있다. 검증될 데이터 요소 내의 필드는 시스템이 결정하는 임의의 검증 테스트가 적용되어야 하는데 실패하는지의 검증 규칙을 실패한다. 예를 들어, 시스템이 조건 1(252)이 만족되고 테스트 파라미터1 , 1(236)으로 검증 테스트 1(234)을 데이터 요소 내의 값에 적용하고, 그 값이 검증 테스트에 부합한다고 결정한다면, 그 후 데이터 요소의 필드는 실패이고, 실패 카운터(240)가 증가된다.
일부 실시태양에서, 일단 필드가 임의의 조건부 테스트를 통과하면, 후속의 검증 테스트가 그 필드에 적용되지 않는다. 예를 들어, 시스템이 검증 테스트 1(252)가 만족된다고 결정하면, 그 후 검증 테스트(256)는 적용되지 않을 것이다.
다른 실시태양에서, 조건이 충족되는 각 검증 규칙이 적용된다. 일부 실시태양에서, 다른 검증 규칙이 필드에 적용되지 않는다면 시스템은 오직 실행되는 캐치올(catchall) 검증 규칙으로서 최종 검증 규칙을 지정할 수 있다. 일부 실시태양에서, 사용자는 미리결정된 조건을 공급하여, 예를 들어 조건 테스트 컬럼 내의 키보드(예컨대 "else")를 사용하여, 캐치올 검증 규칙으로서 검증 규칙을 지정할 수 있다. 일반적으로, 캐치올 검증 규칙은 반드시 다른 검증 규칙이 필드에 대해 실행되지 않았을 경우에만 그 필드에 대해 실행되는 검증 규칙이다. 일부 실시태양에서, 조건문이 필드에 대해 사용될 때마다, 그 필드에 대해 캐치올이 자동으로 제공된다.
일부 실시태양에서, 검증 규칙 세트가 하나 이상의 검증 규칙과 각각 연관된 다수의 상이한 조건 테스트를 포함할 수 있다. 예를 들어, 비즈니스 규칙이 국가 코드가 'US'일 때에 적용되는 하나의 세트의 검증 규칙, 및 주 코드가 "MA"일 때에 적용되는 또 다른 세트의 하나 이상의 검증 규칙을 가질 수 있다. 그리고, 다른 세트의 검증 규칙은 성이 "W"로 시작하는 때에 적용될 수 있다.
일부 실시태양에서, 오직 하나의 조건이 주어진 검증 규칙 세트에 대해 트리거될 수 있을 것이고, 예를 들어, 하나의 조건이 진실이면 그 후에, 연관된 하나 이상의 검증 규칙이 적용되고, 그 후 검증 규칙 세트가 종료된다.
다른 실시태양에서, 각 조건이 테스트되고, 임의의 트리거된 조건과 연관된 모든 검증 규칙이 적용된다.
일부 실시태양에서, 검증 규칙 세트가 조건부 검증 규칙 및 비-조건부 검증 규칙을 포함할 수 있다. 비-조건부 검증 규칙은 임의의 조건이 트리거되든지 되지 않든지 적용될 수 있다.
도 3은 조건부 검증 규칙의 실시예를 도시한다. 도 2의 사용자 인터페이스(212)일 수 있는 사용자 인터페이스(300)는 테이블(306)이 "우편 번호(Postal_Code)" 필드에 대해 검증 규칙을 정의하는 것을 포함한다.
제1 검증(308)은 국가가 "US"이면 우편번호의 포맷이 "(99999)|(99999-9999)"이어야 한다는 것을 나타낸다. 제2 검증(310)은 국가가 "CA"이면 우편번호의 포맷이 "A9A 9A9"이어야 한다는 것을 나타낸다. 제3 검증(312)은 국가가 "UK"이면 우편번호의 포맷이 "A((A9)|9)(A|9)? 9AA"이어야 한다는 것을 나타낸다. 제4 검증(314)은 조건 "Else"에 의해 지정되는 것으로서 캐치올 단서이다. 이 실시예에서, 제4 검증 규칙이 우편번호의 포맷이 "(99999)|(99999-9999)"임을 테스트한다.
사용자 인터페이스(300)는 또한 국가 필드가 값 "US", "CA", UK" 중의 하나를 포함하는지 여부를 결정하는 제5 검증(316)을 포함한다.
전술한 이 기술은 컴퓨터 상의 실행을 위한 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 소프트웨어는, 적어도 하나의 프로세서, 적어도 하나의 데이터 저장 시스템(휘발성 및 비-휘발성 및/또는 저장 요소를 포함함), 적어도 하나의 입력 디바이스 또는 포트, 및 적어도 하나의 출력 디바이스 또는 포트를 각각 포함하는, 하나 이상의 프로그래밍된 또는 프로그램 가능한 컴퓨터 시스템 상에서 실행되는 하나 이상의 컴퓨터 프로그램 내의 절차를 형성한다. 소프트웨어는 데이터플로우 그래프의 설계 및 구성에 대한 다른 서비스를 제공하는, 더욱 대규모 프로그램의 하나 이상의 모듈을 형성할 수 있다. 그래프의 요소 및 노드가 컴퓨터 판독가능 매체 내에 저장된 데이터 구조 또는 데이터 저장소 내에 저장되는 데이터 모델에 따르는 다른 조직화된 데이터로서 구현될 수 있다.
소프트웨어는 실행시 네트워크의 통신 매체를 통해 컴퓨터의 저장 매체에 전달되거나, 범용 또는 전용 프로그램 가능한 컴퓨터에 의해 판독가능한 저장 매체, 예컨대 CD-ROM 상에 제공될 수 있다. 모든 기능이 전용 컴퓨터 상에서, 또는 코프로세서와 같은 전용 하드웨어를 사용하여 수행될 수 있다. 소프트웨어는, 소프트웨어에 의해 지정된 계산의 상이한 부분들이 상이한 컴퓨터들에 의해 수행되는 분배된 방법으로 구현될 수 있다. 각각의 그러한 컴퓨터 프로그램은, 저장 매체 또는 장치가 본 명세서에 설명된 절차들을 수행하기 위한 컴퓨터 시스템에 의해 판독될 때 컴퓨터를 구성하고 작동시키기 위한, 범용 또는 전용의 프로그램 가능한 컴퓨터에 의해 판독 가능한 저장 매체 또는 장치(예컨대, 고체 상태 메모리 또는 매체, 또는 자기 또는 광학 매체)에 우선적으로 저장 또는 다운로드된다. 본 발명의 시스템은, 컴퓨터 프로그램으로 구성된 컴퓨터 판독가능 저장 매체로서 구현되는 것으로 고려될 수도 있고, 이러한 경우 프로그램으로 구성된 저장 매체는 컴퓨터 시스템으로 하여금 본 명세서에 설명된 기능들을 수행하도록 특정된 미리 정해진 방법으로 동작하도록 한다.
본원 발명에 대한 여러 가지 실시태양들이 설명되었다. 그럼에도 불구하고, 본원 발명의 핵심 및 범위로부터 벗어남이 없이 다양한 수정사항들이 가능할 수 있는 것으로 이해될 것이다. 예를 들어, 상기 설명된 단계들 중 일부는 순서에 비의존적이고, 그러므로 설명된 순서와 상이한 순서로 수행될 수 있다.
전술한 설명은 본원 발명의 설명을 위한 것일 뿐이고, 첨부된 청구범위의 범위에 의해 정해지는 본원 발명의 범위를 한정하지 않는 것으로 이해되어야 한다. 예를 들어, 전술한 기능 단계들은 전체 프로세싱에 실질적으로 영향을 미치지 않는 한 상이한 순서로 수행될 수 있다. 다른 실시태양들은 이하의 청구범위의 범위에 포함된다.

Claims (19)

  1. 데이터세트의 복수의 요소 중 각 요소의 하나 이상의 필드 내에 포함된 데이터를 검증하기 위해 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템으로서,
    제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하도록 구성된 사용자 인터페이스 모듈로서, 상기 2차원 그리드는
    상기 2차원 그리드의 제1 축에 따른 방향으로 연장되는 셀의 하나 이상의 서브세트 - 상기 하나 이상의 서브세트의 각 서브세트가 상기 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -,
    상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 -, 및
    상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 서브세트 - 상기 서브세트 내의 각 셀은 상기 제2 축에 의해 식별된 그리드 내의 대응하는 위치에서 각 필드와 연관되며 조건부 셀로서 사용될 수 있고, 필드와 연관된 조건 셀은 입력을 조건부 식의 형태로 수신하기 위해 입력 요소를 포함함 - 를 포함하는, 사용자 인터페이스 모듈; 및
    조건 셀로부터의 조건부 식을 평가하고, 평가에 기초하여 하나 이상의 검증 규칙을 상기 데이터세트의 적어도 하나의 요소에 적용하도록 구성된 처리 모듈
    을 포함하는,
    하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 입력 요소가 조건을 수신하여 상기 조건이 만족되는 때에 상기 제2 축과 연관된 적어도 하나의 검증 규칙이 연관된 필드에 적용되도록 하는, 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 조건이 연관된 필드와 상이한 제2 필드의 값에 의존하는 것인, 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  4. 제1항에 있어서,
    상기 데이터세트의 제1 요소의 제1 필드 내의 데이터에 검증 규칙을 적용하며,
    상기 검증 규칙을 적용하는 것은,
    상기 셀의 입력 요소 내에 수신된 임의의 입력에 기초하여, 상기 제1 요소의 제1 필드와 연관된 제2 축에 따른 방향으로 연장된 셀의 서브세트로부터 셀과 연관된 선택된 검증 규칙을 결정하는 것,
    상기 제1 필드와 연관된 조건 셀의 입력 요소 내에 수신된 입력에 기초하여 상기 선택된 검증 규칙과 연관된 조건을 결정하는 것;
    상기 조건이 만족된다고 결정하는 것; 및
    상기 제1 필드에 상기 선택된 검증 규칙을 적용하는 것을 포함하는, 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  5. 제4항에 있어서,
    상기 조건 셀의 입력 요소가 오퍼레이터 및 상기 오퍼레이터와 연관된 값을 수신하도록 구성된, 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  6. 제5항에 있어서,
    상기 조건이 만족된다고 결정하는 것은,
    상기 오퍼레이터와 연관된 값 및 상기 데이터세트의 제1 요소의 제2 필드 내의 값에 상기 오퍼레이터를 적용하는 것을 포함하고, 상기 제2 필드는 필드 식별자에 의해 식별되는 것인, 하나 이상의 검증 규칙을 특정하는 컴퓨팅 시스템.
  7. 컴퓨터로 구현되는 방법으로서,
    제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하는 단계로서, 상기 2차원 그리드는
    상기 2차원 그리드의 제1 축에 따른 방향으로 연장되는 셀의 하나 이상의 서브세트 - 상기 하나 이상의 서브세트의 각 서브세트가 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -, 및
    상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 - 를 포함하는, 복수의 셀을 렌더링하는 단계; 및
    상기 데이터세트의 적어도 하나의 요소에 하나 이상의 검증 규칙을 적용하는 단계
    를 포함하고,
    필드와 연관된 조건 셀은 상기 제2 축에 있는 임의의 조건 규칙이 연관된 필드에 적용되는지 여부를 결정하는 입력을 수신하기 위한 입력 요소를 포함하고,
    필드 및 검증 규칙과 연관된 적어도 몇몇의 셀은 입력을 수신하기 위한 입력 요소를 각각 포함하는,
    컴퓨터로 구현되는 방법.
  8. 제7항에 있어서,
    상기 입력 요소가 조건을 수신하여 상기 조건이 만족되는 때에 상기 제2 축과 연관된 적어도 하나의 검증 규칙이 연관된 필드에 적용되도록 하는, 컴퓨터로 구현되는 방법.
  9. 제7항에 있어서,
    상기 조건이 상기 연관된 필드와 상이한 제2 필드의 값에 의존하는 것인, 컴퓨터로 구현되는 방법.
  10. 제7항에 있어서,
    상기 데이터세트의 제1 요소의 제1 필드 내의 데이터에 검증 규칙을 적용하는 단계를 더 포함하며,
    상기 검증 규칙을 적용하는 단계는,
    상기 셀의 입력 요소 내에 수신된 임의의 입력에 기초하여, 상기 제1 요소의 제1 필드와 연관된 제2 축에 따른 방향으로 연장된 셀의 서브세트로부터 셀과 연관된 선택된 검증 규칙을 결정하는 단계,
    상기 제1 필드와 연관된 조건 셀의 입력 요소 내에 수신된 입력에 기초하여 상기 선택된 검증 규칙과 연관된 조건을 결정하는 단계;
    상기 조건이 만족된다고 결정하는 단계; 및
    상기 제1 필드에 상기 선택된 검증 규칙을 적용하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  11. 제7항에 있어서,
    상기 조건 셀의 입력 요소가 오퍼레이터 및 상기 오퍼레이터와 연관된 값을 수신하도록 구성된, 컴퓨터로 구현되는 방법.
  12. 제11항에 있어서,
    상기 조건이 만족된다고 결정하는 단계는,
    상기 오퍼레이터와 연관된 값 및 상기 데이터세트의 제1 요소의 제2 필드 내의 값에 상기 오퍼레이터를 적용하는 단계를 포함하고, 상기 제2 필드는 필드 식별자에 의해 식별되는 것인, 컴퓨터로 구현되는 방법.
  13. 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체로서,
    상기 컴퓨터 프로그램 명령어는, 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 컴퓨터로 하여금,
    제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하는 단계로서, 상기 2차원 그리드는
    상기 2차원 그리드의 제1 축에 따른 방향으로 연장되는 셀의 하나 이상의 서브세트 - 상기 하나 이상의 서브세트의 각 서브세트가 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -, 및
    상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 - 를 포함하는, 복수의 셀을 렌더링하는 단계; 및
    적어도 몇몇의 셀로부터 수신된 사용자 입력에 기초하여 상기 데이터세트의 적어도 하나의 요소에 하나 이상의 검증 규칙을 적용하는 단계
    를 포함하는 동작을 수행하도록 하고,
    필드와 연관된 조건 셀은 상기 제2 축에 있는 임의의 조건 규칙이 연관된 필드에 적용되는지 여부를 결정하는 입력을 수신하기 위한 입력 요소를 포함하고,
    적어도 몇몇의 셀은 입력을 수신하고 연관된 검증 규칙이 연관된 필드에 적용되는지 아닌지 여부를 결정하기 위한 입력 요소를 포함하는,
    컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  14. 제13항에 있어서,
    상기 입력 요소가 조건을 수신하여 상기 조건이 만족되는 때에 상기 제2 축과 연관된 적어도 하나의 검증 규칙이 상기 연관된 필드에 적용되도록 하는, 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  15. 제13항에 있어서,
    상기 조건이 상기 연관된 필드와 상이한 제2 필드의 값에 의존하는 것인, 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  16. 제13항에 있어서,
    상기 컴퓨터 프로그램 명령어는, 상기 데이터세트의 제1 요소의 제1 필드 내의 데이터에 검증 규칙을 적용하는 단계를 더 포함하는 동작을 수행하도록 하고,
    상기 검증 규칙을 적용하는 단계는,
    상기 셀의 입력 요소 내에 수신된 임의의 입력에 기초하여, 상기 제1 요소의 제1 필드와 연관된 제2 축에 따른 방향으로 연장된 셀의 서브세트로부터 셀과 연관된 선택된 검증 규칙을 결정하는 단계,
    상기 제1 필드와 연관된 조건 셀의 입력 요소 내에 수신된 입력에 기초하여 상기 선택된 검증 규칙과 연관된 조건을 결정하는 단계;
    상기 조건이 만족된다고 결정하는 단계; 및
    상기 제1 필드에 상기 선택된 검증 규칙을 적용하는 단계를 포함하는, 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  17. 제16항에 있어서,
    상기 조건 셀의 입력 요소가 오퍼레이터 및 상기 오퍼레이터와 연관된 값을 수신하도록 구성된, 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  18. 제17항에 있어서,
    상기 조건이 만족된다고 결정하는 단계는,
    상기 오퍼레이터와 연관된 값 및 상기 데이터세트의 제1 요소의 제2 필드 내의 값에 상기 오퍼레이터를 적용하는 단계를 포함하고, 상기 제2 필드는 필드 식별자에 의해 식별되는 것인, 컴퓨터 프로그램 명령어가 인코딩된 컴퓨터 저장 매체.
  19. 컴퓨터 시스템으로서,
    제1 축 및 제2 축을 가지는 2차원 그리드에 배열되는 복수의 셀을 렌더링하는 수단으로서, 상기 2차원 그리드는
    상기 2차원 그리드의 제1 축에 따른 방향으로 연장되는 셀의 하나 이상의 서브세트 - 상기 하나 이상의 서브세트의 각 서브세트가 데이터세트의 복수의 요소 중 하나의 요소의 각 필드와 연관됨 -, 및
    상기 2차원 그리드의 제2 축에 따른 방향으로 연장되는 셀의 다수의 서브세트 - 상기 다수의 서브세트 중 하나 이상은 각 검증 규칙과 연관됨 - 를 포함하는, 복수의 셀을 렌더링하는 수단; 및
    상기 데이터세트의 적어도 하나의 요소에 하나 이상의 검증 규칙을 적용하는 수단
    을 포함하고,
    필드와 연관된 조건 셀은 상기 제2 축에 있는 임의의 조건 규칙이 연관된 필드에 적용되는지 여부를 결정하는 입력을 수신하기 위한 입력 요소를 포함하고,
    적어도 몇몇의 셀은 입력을 수신하고 연관된 검증 규칙이 상기 연관된 필드에 적용되는지 아닌지 여부를 결정하기 위한 입력 요소를 포함하는,
    컴퓨터 시스템.
KR1020177009727A 2014-09-10 2015-09-09 조건부 검증 규칙 KR102214297B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/482,374 US9626393B2 (en) 2014-09-10 2014-09-10 Conditional validation rules
US14/482,374 2014-09-10
PCT/US2015/049131 WO2016040445A1 (en) 2014-09-10 2015-09-09 Conditional validation rules

Publications (2)

Publication Number Publication Date
KR20170052672A true KR20170052672A (ko) 2017-05-12
KR102214297B1 KR102214297B1 (ko) 2021-02-08

Family

ID=54207733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177009727A KR102214297B1 (ko) 2014-09-10 2015-09-09 조건부 검증 규칙

Country Status (9)

Country Link
US (1) US9626393B2 (ko)
EP (1) EP3191982A1 (ko)
JP (1) JP6720144B2 (ko)
KR (1) KR102214297B1 (ko)
CN (1) CN106796585B (ko)
AU (1) AU2015315203B2 (ko)
CA (1) CA2960270C (ko)
SG (1) SG11201702139QA (ko)
WO (1) WO2016040445A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990350B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Videos associated with cells in spreadsheets
US11023668B2 (en) 2015-11-02 2021-06-01 Microsoft Technology Licensing, Llc Enriched compound data objects
US10713428B2 (en) 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images associated with cells in spreadsheets
US10963635B2 (en) 2015-11-02 2021-03-30 Microsoft Technology Licensing, Llc Extensibility of compound data objects
US10515145B2 (en) 2015-11-02 2019-12-24 Microsoft Technology Licensing, Llc Parameterizing and working with math equations in a spreadsheet application
US10268833B2 (en) * 2016-04-07 2019-04-23 International Business Machines Corporation Method for conditional permission control in a digital data sheet based on a formula
US11210459B1 (en) 2016-09-23 2021-12-28 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US10540152B1 (en) 2016-09-23 2020-01-21 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US11138370B1 (en) 2016-09-23 2021-10-05 Massachusetts Mututal Life Insurance Company Modifying and using spreadsheets to create a GUI on another device
US10657120B2 (en) * 2016-10-03 2020-05-19 Bank Of America Corporation Cross-platform digital data movement control utility and method of use thereof
US11151100B2 (en) * 2016-10-17 2021-10-19 Sap Se Performing data quality functions using annotations
US10496737B1 (en) 2017-01-05 2019-12-03 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US11106643B1 (en) * 2017-08-02 2021-08-31 Synchrony Bank System and method for integrating systems to implement data quality processing
US10977240B1 (en) * 2017-10-21 2021-04-13 Palantir Technologies Inc. Approaches for validating data
EP3743820A1 (en) * 2018-01-25 2020-12-02 Ab Initio Technology LLC Techniques for integrating validation results in data profiling and related systems and methods
CN109359277B (zh) * 2018-10-22 2023-04-28 众安在线财产保险股份有限公司 数据监控方法、设备及计算机存储介质
US11249978B2 (en) 2018-11-29 2022-02-15 Kyndryl, Inc. Multiple parameter based composite rule data validation
US11086894B1 (en) 2019-06-25 2021-08-10 Amazon Technologies, Inc. Dynamically updated data sheets using row links
US11194793B1 (en) 2019-06-25 2021-12-07 Amazon Technologies, Inc. Dynamically materialized views for sheets based data
JP7382642B2 (ja) * 2020-07-03 2023-11-17 株式会社岩崎電機製作所 データ群識別装置、データ群識別方法、および、データ群識別プログラム
US11657033B2 (en) * 2020-10-16 2023-05-23 Capital One Services, Llc Systems and methods for maintaining data quality in a data store receiving both low and high quality data
US11797541B1 (en) 2020-10-23 2023-10-24 State Farm Mutual Automobile Insurance Company Systems and methods for enhanced rules conflict checking with data validation
US12038903B1 (en) 2020-10-23 2024-07-16 State Farm Mutual Automobile Insurance Company Systems and methods for enhanced cloud-based rules conflict checking with data validation
US20230100418A1 (en) * 2021-09-17 2023-03-30 Ab Initio Technology Llc Metadata-driven data ingestion
WO2023200456A1 (en) * 2022-04-15 2023-10-19 Rakuten Symphony Singapore Pte. Ltd. Conditional validation for view builder
US20240202432A1 (en) * 2022-04-15 2024-06-20 Rakuten Symphony Singapore Pte. Ltd. Conditional validation for view builder

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088318A1 (en) * 1999-12-30 2004-05-06 Brady Shaun Michael Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
CN102081762A (zh) * 2009-11-26 2011-06-01 株式会社日立制作所 检查规则设计支持方法,检查规则设计支持系统,和检查规则设计支持程序
US20110145297A1 (en) * 2009-12-16 2011-06-16 Teradata Us, Inc. System and method for enhanced user interactions with a grid
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US20140108357A1 (en) * 2012-10-17 2014-04-17 Ab Initio Technology Llc Specifying and applying rules to data

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
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
JPH0744368A (ja) 1993-07-29 1995-02-14 Hitachi Ltd 組合せモデルの編集システム
US5758351A (en) 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
US6088702A (en) * 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7143076B2 (en) 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
US6629098B2 (en) * 2001-01-16 2003-09-30 Hewlett-Packard Development Company, L.P. Method and system for validating data submitted to a database application
US7117430B2 (en) 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
US7853553B2 (en) 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US6494159B2 (en) 2001-05-11 2002-12-17 The United States Of America As Represented By The Secretary Of The Navy Submarine launched unmanned combat vehicle replenishment
US6832366B2 (en) * 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6868526B2 (en) 2001-07-18 2005-03-15 The Mathworks, Inc. Graphical subclassing
AUPR966001A0 (en) 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
US7080088B1 (en) 2002-01-30 2006-07-18 Oracle International Corporation Automatic reconciliation of bindable objects
US7185317B2 (en) 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
US7110924B2 (en) 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US7266763B2 (en) * 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US7257603B2 (en) 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
US20040225632A1 (en) 2003-05-08 2004-11-11 Microsoft Corporation Automated information management and related methods
US20050010896A1 (en) 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
US20050060317A1 (en) 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US7849075B2 (en) 2003-09-15 2010-12-07 Ab Initio Technology Llc Joint field profiling
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US7743382B2 (en) 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7536406B2 (en) 2004-06-23 2009-05-19 Microsoft Corporation Impact analysis in an object model
US20060007464A1 (en) 2004-06-30 2006-01-12 Percey Michael F Structured data update and transformation system
US7353227B2 (en) 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
WO2006096681A1 (en) 2005-03-07 2006-09-14 Computer Associates Think, Inc. System and method for data manipulation
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
WO2007048229A1 (en) 2005-10-25 2007-05-03 Angoss Software Corporation Strategy trees for data mining
US8060821B2 (en) 2005-12-09 2011-11-15 Apple Inc. Enhanced visual feedback of interactions with user interface
US20070179956A1 (en) 2006-01-18 2007-08-02 Whitmyer Wesley W Jr Record protection system for networked databases
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7661067B2 (en) 2006-02-21 2010-02-09 International Business Machines Corporation Method for providing quick responses in instant messaging conversations
US7647298B2 (en) 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
US20070294119A1 (en) 2006-03-30 2007-12-20 Adaptive Alpha, Llc System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof
US8868577B2 (en) 2006-03-31 2014-10-21 Sap Se Generic database manipulator
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US7689565B1 (en) 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
AU2007286155B2 (en) 2006-08-10 2013-12-12 Ab Initio Technology Llc. Distributing services in graph-based computations
US8423564B1 (en) 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US20080126988A1 (en) * 2006-11-24 2008-05-29 Jayprakash Mudaliar Application management tool
US8538918B1 (en) 2006-12-05 2013-09-17 Corelogic Solutions, Llc Systems and methods for tracking parcel data acquisition
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8103704B2 (en) 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US7860863B2 (en) 2007-09-05 2010-12-28 International Business Machines Corporation Optimization model for processing hierarchical data in stream systems
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
JP5453273B2 (ja) 2007-09-20 2014-03-26 アビニシオ テクノロジー エルエルシー グラフベース計算におけるデータフロー管理
US20090234623A1 (en) * 2008-03-12 2009-09-17 Schlumberger Technology Corporation Validating field data
JP4224126B1 (ja) 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CN104679807B (zh) 2008-06-30 2018-06-05 起元技术有限责任公司 基于图的计算中的数据日志记录
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
AU2009314067B2 (en) 2008-11-12 2016-01-14 Ab Initio Technology Llc Managing and automatically linking data objects
KR101661532B1 (ko) 2008-12-02 2016-09-30 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
CN101452441A (zh) * 2008-12-05 2009-06-10 山东浪潮齐鲁软件产业股份有限公司 一种电子表格通用数据解析导入方法
WO2010088523A1 (en) 2009-01-30 2010-08-05 Ab Initio Technology Llc Processing data using vector fields
EP2221733A1 (en) 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
KR101660348B1 (ko) * 2009-09-16 2016-09-27 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
CN101794280B (zh) * 2010-03-11 2011-07-27 北京中科辅龙计算机技术股份有限公司 一种基于表格模板集的表格自动生成方法及系统
US8555265B2 (en) 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8583664B2 (en) 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8732143B2 (en) 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
CN103180826B (zh) 2010-10-25 2017-04-05 起元技术有限责任公司 在代表计算机程序的数据流图中管理数据集对象
CN102044016A (zh) * 2010-12-13 2011-05-04 沈阳东大中新科技有限公司 以电子表格定义规则实现自动化产品配置的方法及装置
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
EP2663937B1 (en) 2011-01-14 2018-08-29 Ab Initio Technology LLC Managing changes to collections of data
US20120310904A1 (en) * 2011-06-01 2012-12-06 International Business Machine Corporation Data validation and service
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088318A1 (en) * 1999-12-30 2004-05-06 Brady Shaun Michael Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
CN102081762A (zh) * 2009-11-26 2011-06-01 株式会社日立制作所 检查规则设计支持方法,检查规则设计支持系统,和检查规则设计支持程序
JP2011113299A (ja) * 2009-11-26 2011-06-09 Hitachi Ltd チェックルール設計支援方法、チェックルール設計支援システム、およびチェックルール設計支援プログラム
US20110145297A1 (en) * 2009-12-16 2011-06-16 Teradata Us, Inc. System and method for enhanced user interactions with a grid
US20140108357A1 (en) * 2012-10-17 2014-04-17 Ab Initio Technology Llc Specifying and applying rules to data

Also Published As

Publication number Publication date
JP2017534944A (ja) 2017-11-24
CN106796585B (zh) 2021-06-01
US20160070733A1 (en) 2016-03-10
CA2960270A1 (en) 2016-03-17
US9626393B2 (en) 2017-04-18
AU2015315203A1 (en) 2017-03-16
JP6720144B2 (ja) 2020-07-08
CN106796585A (zh) 2017-05-31
WO2016040445A1 (en) 2016-03-17
CA2960270C (en) 2022-01-04
EP3191982A1 (en) 2017-07-19
SG11201702139QA (en) 2017-04-27
KR102214297B1 (ko) 2021-02-08
AU2015315203B2 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
KR102214297B1 (ko) 조건부 검증 규칙
JP6916403B2 (ja) データへの論理的妥当性検査規則の指定および適用
US20200301897A1 (en) Specifying and applying rules to data
US9483387B1 (en) Tree comparison functionality for services
JP5690349B2 (ja) レコード形式情報の管理
US10789295B2 (en) Pattern-based searching of log-based representations of graph databases
US7707559B2 (en) Analysis of errors within computer code
KR20170031749A (ko) 파라미터 세트의 관리
AU2017279795A1 (en) Metadata-driven program code generation for clinical data analysis
US20170091082A1 (en) Test db data generation apparatus
He et al. A coverage and slicing dependencies analysis for seeking software security defects
CN117370160A (zh) 代码审核方法、装置、计算机设备、存储介质和程序产品
CN116362230A (zh) 参数校验方法、装置、计算机设备可存储介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant