KR101757849B1 - 규칙 그룹 관리 장치 및 그 방법 - Google Patents

규칙 그룹 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR101757849B1
KR101757849B1 KR1020160099624A KR20160099624A KR101757849B1 KR 101757849 B1 KR101757849 B1 KR 101757849B1 KR 1020160099624 A KR1020160099624 A KR 1020160099624A KR 20160099624 A KR20160099624 A KR 20160099624A KR 101757849 B1 KR101757849 B1 KR 101757849B1
Authority
KR
South Korea
Prior art keywords
rule
database
group
condition
field
Prior art date
Application number
KR1020160099624A
Other languages
English (en)
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 주식회사 넷츠
Priority to KR1020160099624A priority Critical patent/KR101757849B1/ko
Application granted granted Critical
Publication of KR101757849B1 publication Critical patent/KR101757849B1/ko

Links

Images

Classifications

    • 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/24Querying
    • G06F16/242Query formulation
    • G06F17/30389
    • 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/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F17/30292
    • G06F17/30923
    • 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/10Office automation; Time management
    • 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/10Office automation; Time management
    • G06Q10/105Human resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

규칙 그룹 관리 장치 및 그 방법이 개시된다. 규칙 그룹 관리 장치는 규칙 스키마에 정의된 적어도 하나 이상의 필드를 화면의 일측에 표시하고, 복수의 필드 중 적어도 하나 이상의 필드의 조건을 입력받아 화면의 타측에 표시하고, 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙을 기초로 쿼리를 생성하고 수행하여 규칙을 만족하는 규칙 그룹의 멤버를 파악한다.

Description

규칙 그룹 관리 장치 및 그 방법{Rule-group management apparatus and method}
본 발명은 규칙 그룹 관리 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 적어도 하나 이상의 조건으로 구성되는 규칙을 만족하는 규칙 그룹의 멤버를 용이하게 파악하고 관리할 수 있는 규칙 그룹 장치 및 그 방법에 관한 것이다.
회사 등과 같은 큰 조직 내에서 인사이동이나 직무변경이 발생하여 사용자가 접근하는 리소스(resource)의 범주가 변경되었을 때, 리소스 접근에 필요한 계정 또는 권한을 생성 또는 변경하는 일련의 과정인 프로비저닝(provisining)을 수행한다. 여기서, 리소스라고 함은 액티브 디렉터리(active directory), 이메일, 그룹웨어, ERP(Enterprise Resource Planning) 등의 다양한 애플리케이션이나 시스템, 또는 각종 그룹이나 데이터베이스 등 다양한 형태일 수 있다.
프로비저닝을 수행할 때, 운용자가 일일이 계정이나 권한이 변경된 사용자를 선별할 수도 있으나 수백~수천명의 큰 조직인 경우 매우 비효율적일 뿐만 아니라 누락이 발생할 수도 있다. 예를 들어, 신입사원들에 대해 새로운 계정 또는 권한을 부과하는 프로비저닝 수행 또는 인사이동이 발생한 사용자들에 대한 프로비저닝을 수행할 때, 신입사원이나 인사이동자를 일일이 선별할 필요없이 신입사원들로 구성된 그룹 또는 인사이동이 발생한 사용자들로 구성된 그룹을 자동으로 생성할 수 있다면 프로비저닝을 보다 효율적으로 수행할 수 있다. 이외에도 복잡한 조직 관리를 위하여 특정 그룹을 구성할 필요성이 대두되고 있다.
특허출원번호 제10-2013-0030972호
본 발명이 이루고자 하는 기술적 과제는, 조직관리나 프로비저닝 등과 같이 특정 그룹의 구성이 필요한 경우를 위하여, 규칙을 기준으로 그룹을 생성하고 관리할 수 있는 장치 및 그 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 규칙 그룹 관리 장치의 일 예는, 규칙 정의에 사용되는 적어도 하나 이상의 필드를 정의하는 규칙 스키마를 포함하는 스키마 데이터베이스; 상기 규칙 스키마에 정의된 적어도 하나 이상의 필드를 화면의 일측에 표시하고, 상기 복수의 필드 중 적어도 하나 이상의 필드의 조건을 입력받아 상기 화면의 타측에 표시하는 규칙편집부; 상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙을 기초로 쿼리를 생성하는 쿼리생성부; 및 계정관리 데이터베이스에 대해 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 규칙적용부;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 규칙 그룹 관리 방법의 일 예는, 규칙 스키마에 정의된 적어도 하나 이상의 필드를 화면의 일측에 표시하고, 상기 복수의 필드 중 적어도 하나 이상의 필드의 조건을 입력받아 상기 화면의 타측에 표시하는 단계; 상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙을 기초로 쿼리를 생성하는 단계; 및 계정관리 데이터베이스에 대해 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 규칙 그룹 관리 장치의 다른 일 예는, 적어도 하나 이상의 필드의 조건으로 구성되는 적어도 하나 이상의 규칙과 상기 적어도 하나 이상의 규칙의 메타데이터를 저장하는 데이터베이스; 상기 메타데이터를 기초로 규칙을 검색하는 규칙검색부; 상기 규칙검색부에 의해 검색된 규칙을 기초로 쿼리를 생성하는 쿼리생성부; 및 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 규칙적용부;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 규칙 그룹 관리 방법의 다른 일 예는, 적어도 하나 이상의 필드의 조건으로 구성되는 적어도 하나 이상의 규칙과 상기 적어도 하나 이상의 규칙의 메타데이터를 저장하는 단계; 상기 메타데이터를 기초로 규칙을 검색하는 단계; 상기 검색된 규칙을 기초로 쿼리를 생성하는 단계; 및 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 단계;를 포함한다.
본 발명에 따르면, 복잡한 트리 형태가 아닌 단순화된 목록 형태로 AND/OR 등의 결합 조건을 이용하여 규칙을 정의하고 편집할 수 있다. 또한, 개발부서 소속이면서 직위 그룹 중 과장, 차장 그룹에 속한 사용자를 지정하는 것과 같이 복합 그룹 조건을 포함하는 규칙을 정의할 수 있다. 또한, 지정한 규칙을 만족하는 사용자를 계정관리 데이터베이스의 그룹이나 사용자 관리 작업 실행시 실시간으로 구하여 규칙 그룹의 멤버로 등록할 수 있다. 실시간 규칙 그룹의 생성이 가능하며, 프로비저닝에 효과적으로 적용될 수 있다.
도 1은 본 발명에 따른 규칙 그룹 관리 장치의 일 실시 예의 구성을 도시한 도면,
도 2A 및 도 2B는 본 발명에 따른 규칙 편집 화면의 일 실시 예를 도시한 도면,
도 3 및 도 4는 본 발명에 따른 규칙 스키마의 일 예를 도시한 도면,
도 5는 본 발명의 일 실시 예에 따른, 규칙 스키마에 사용되는 조건 입력 속성의 정의를 기술한 도면,
도 6 및 도 7은 본 발명에 따른 규칙을 JSON 포맷으로 표시한 일 예를 도시한 도면,
도 8A 및 도 8B는 본 발명에 따른 쿼리 생성 방법의 일 예를 도시한 도면,
도 9 및 도 10은 본 발명에 따른 쿼리 생성 방법의 다른 일 예를 도시한 도면,
도 11은 본 발명에 따라, 규칙 편집 화면을 통해 생성된 규칙을 기초로 쿼리를 생성한 일 예를 도시한 도면,
도 12는 본 발명에 따른 규칙 그룹 관리 장치의 다른 실시 예의 구성을 도시한 도면,
도 13A 및 도 13B는 본 발명에 따른 규칙 검색 방법의 일 예를 도시한 도면,
도 14는 본 발명에 따른 규칙 그룹 관리 장치의 또 다른 실시 예의 구성을 도시한 도면,
도 15는 본 발명에 따른 규칙 그룹 관리 방법의 일 실시 예의 흐름을 도시한 도면, 그리고,
도 16은 본 발명에 따른 규칙 그룹 관리 방법의 다른 실시 예의 흐름을 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 규칙 그룹 관리 장치 및 그 방법에 대해 상세히 설명한다.
도 1은 본 발명에 따른 규칙 그룹 관리 장치의 일 실시 예의 구성을 도시한 도면이다.
도 1을 참조하면, 규칙 그룹 관리 장치는 스키마 데이터베이스(100), 규칙 편집부(110), 쿼리 생성부(120), 규칙 적용부(130), 데이터베이스 탐색부(140), 계정관리 데이터베이스(150) 및 규칙 그룹 데이터베이스(160)를 포함한다.
스키마 데이터베이스(100)는 규칙 정의에 사용되는 필드를 정의한 규칙 스키마를 포함한다. 규칙 스키마는 사용자 인터페이스 장치(예를 들어, 디스플레이 장치 등)의 규칙 편집 화면에 표시될 각 필드의 이름(예를 들어, 도 4의 410)과 각 필드별로 어떤 형태(type)로 조건을 입력받을지를 나타내는 조건 입력 속성(예를 들어, 도 4의 420)을 포함한다. 규칙 스키마는 다양한 포맷으로 정의될 수 있으며, 일 예로, 도 3 및 도 4와 같이 XML(eXtensible Markup Language) 포맷으로 정의될 수 있다. 도 4에 도시된 XML 포맷의 규칙 스키마에 정의된 각 필드는 도 2A와 같은 규칙 편집 화면(250)의 제2 표시창(210)의 필드에 표시된다.
규칙 편집부(110)는 규칙 스키마에 정의된 필드를 이용하여 규칙을 구성하는 적어도 하나 이상의 조건을 편집하기 위한 규칙 편집 화면(도 2a 및 도 2b의 250)을 제공한다. 규칙 편집부(110)는 트리 구조가 아닌 필드 구조로 규칙을 단순하고 직관적으로 편집할 수 있도록, 도 2A 및 도 2B와 같이 규칙 스키마에 정의된 각 필드를 표시하는 제2 표시창(210)과, 각 필드별로 선택된 조건을 소정의 논리적 결합 관계로 표시하는 제1 표시창(200)을 포함한다. 예를 들어, 규칙 스키마가 도 4와 같다면, 규칙 편집부(110)는 규칙 스키마의 "label" 속성에 정의된 각 필드의 이름(예를 들어, "사용자", "사용자 코드", "조직 유형" 등)을 순차적으로 제2 표시창(210)의 각 필드에 표시한다.
또한, 규칙 편집부(110)는 규칙 편집 화면에 표시된 규칙 스키마의 각 필드의 조건을 운용자로부터 입력받을 수 있는 조건 입력창을 제공한다. 예를 들어, 도 2A를 참조하면, 운용자가 제2 표시창(210)의 "사용자 코드" 필드(212)를 선택하면, 규칙 편집부(110)는 사용자 코드와 관련된 조건을 입력받을 수 있는 조건 입력창(214)을 제공한다.
각 필드별로 입력받는 조건의 종류가 서로 상이하므로, 규칙 편집부(110)는 규칙 스키마에 정의된 조건 입력 속성을 기초로 각 필드의 조건 입력창을 각 필드별로 서로 다르게 표시할 수 있다. 예를 들어, 도 4를 참조하면, 규칙 스키마에 "사용자 코드"의 조건 입력 속성이 "text"이므로, 규칙 편집부는 도 5에 정의된 "text" 조건 입력 속성에 따라 다중 값을 입력할 수 있는 텍스트 영역으로 구성된 조건 입력창(도 2a의 214)을 화면에 표시하고, 운용자로부터 텍스트 영역의 조건 입력창(도 2a의 214)을 통해 사용자 코드의 값을 조건으로 입력받는다.
규칙 스키마가 규칙 정의에 사용되는 복수의 필드를 포함하고 있는 경우에, 복수의 필드의 조건을 다양한 논리적 결합 관계(예를 들어, AND, OR, 제외 등)로 구성할 필요가 있다. 이를 위하여 규칙 편집부는 각 필드의 조건을 입력받는 제2 표시창(210) 외에, 각 필드의 조건들을 다양한 논리적 결합 관계로 묶을 수 있도록 제1 표시창(200)을 포함한다.
본 실시 예는, 논리적 결합 관계를 단순하고 직관적으로 나타낼 수 있도록, 제1 표시창의 각 행에 표시되는 서로 다른 필드의 조건들은 AND 조건으로 결합하고, 서로 다른 행은 OR 조건으로 결합한다. 다만, 제2 표시창의 각 행의 멤버 조건(204)이 "포함"과 "제외"로 서로 상이한 경우에는 두 행을 AND 조건으로 결합한다.
규칙 편집부(110)는 제2 표시창(210)을 통해 운용자로부터 입력받은 적어도 하나 이상의 필드의 조건을 제1 표시창(200)에 다양한 논리적 결합 관계로 추가하기 위한 복수의 버튼을 포함할 수 있다. 도 2A 및 도 2B의 실시 예는, "포함" 조건으로 현재 제2 표시창(210)에 입력된 적어도 하나 이상의 필드의 조건을 제1 표시창의 한 행으로 표시하는 제1버튼(220), "제외" 조건으로 현재 제2 표시창(210)에 입력된 적어도 하나 이상의 필드의 조건을 제1 표시창(200)에 표시하는 제2 버튼(230)을 도시하고 있으나, 반드시 이에 한정되는 것은 아니며 제2 표시창(210)의 각 필드의 조건을 다양한 논리적 결합관계로 제1 표시창(200)에 표시할 수 있는 추가적인 버튼을 더 포함하는 등 다양하게 변형 가능하다.
도 2A의 경우와 같이, 제2 표시창(210)의 각 필드의 조건을 운용자로부터 텍스트 형태의 조건 입력창(214)을 통해 입력받을 수 있으나, 실시 예에 따라 계정관리 데이터베이스(150)에 저장된 정보에서 선택받도록 구현할 수도 있다. 예를 들어, 도 2B와 같이 운용자가 제2 표시창(210)의 "사용자" 필드(216)를 선택하면, 규칙 편집부(110)는 규칙 스키마에 정의된 "사용자" 필드의 조건 입력 속성이 사용자 목록 검색을 나타내는 "user" 조건 입력 속성임을 확인하고, 데이터베이스 탐색부(140)에게 사용자 목록 검색을 요청한다.
그러면, 데이터베이스 탐색부(140)는 계정관리 데이터베이스(150)를 검색하여 얻은 사용자 목록을 규칙 편집부(110)에게 제공하고, 규칙 편집부(110)는 도 2B와 같은 사용자 목록의 표시와 함께 운용자가 원하는 사용자를 선택할 수 있는 조건 입력창(218)을 표시한다. 규칙 스키마에서 각 필드의 조건을 텍스트 형태로 운용자가 모두 직접 입력하도록 정의되어 있는 경우에, 데이터베이스 탐색부(140)는 생략될 수 있다.
본 실시 예는, 사용자 또는 그룹에 관한 정보 등을 포함하는 계정관리 데이터베이스(150)를 도시하고 있으나, 이는 설명의 편의를 위한 것일 뿐 계정관리 데이터베이스(150)가 아닌 다른 정보를 포함하는 다양한 종류의 데이터베이스로 구현될 수 있다.
쿼리 생성부(120)는 규칙 편집부(110)의 제1 표시창(도 2a의 200)에 표시된 각 조건으로 구성된 규칙을 기초로 쿼리(query)를 생성한다. 쿼리는 데이터베이스 관리 시스템에서 데이터베이스를 관리하기 위하여 사용하는 언어로서, IBM에서 개발된 SQL(Structure Query Language) 등과 같이 종래 정의된 다양한 형태가 존재한다. 따라서 쿼리 생성부(120)는 규칙의 각 조건을 쿼리로 생성하기 위한 맵핑관계를 미리 정의한 후 그 맵핑관계를 이용하여 규칙에 대한 쿼리로 용이하게 생성할 수 있다. 예를 들어, 쿼리 생성부(120)는 도 11과 같이 규칙에 대한 쿼리를 생성할 수 있다. 쿼리 생성부(120)가 JSON 포맷으로 기술된 규칙을 기초로 쿼리를 생성하는 일 예는 도 8A 및 도 8B에 도시되어 있다.
규칙 적용부(130)는 쿼리 생성부(120)에 의해 생성된 쿼리를 계정관리 데이터베이스(150)에 대해 수행하여 규칙의 각 조건을 만족하는 멤버(사용자)로 구성되는 그룹(즉, 규칙 그룹)을 파악한다. 규칙그룹 데이터베이스(160)는 규칙 적용부(130)에 의해 파악된 각 규칙 그룹의 멤버를 저장한다. 예를 들어, 규칙그룹 데이터베이스(160)는 규칙 편집부(110)에 의해 만들어진 각 규칙을 식별하는 규칙 식별자 및 규칙 그룹에 소속된 멤버의 식별자(예를 들어, 사용자 식별자)를 이용하여 규칙 그룹별 멤버를 저장하고 관리한다. 실시 예에 따라 규칙그룹 데이터베이스(160)는 생략될 수 있다.
도 2A 및 도 2B는 본 발명에 따른 규칙 편집 화면의 일 실시 예를 도시한 도면이다.
도 2A 및 도 2B를 참조하면, 규칙 편집부(110)는 규칙을 정의하는 각 조건을 표시하는 제1 표시창(200)과 규칙 스키마에 정의된 각 필드를 표시하는 제2 표시창(210)으로 구성된 규칙 편집 화면을 제공한다.
제2 표시창(210)에는 규칙 스키마에 정의된 각 필드가 표시되며, 또한 운용자가 각 필드에 대해 조건을 입력할 수 있는 조건 입력창이 표시된다. 예를 들어, 규칙 스키마가 도 4와 같다면, 규칙 편집부(110)는 제2 표시창(210)에 규칙 스키마의 label(410)에 정의된 각 필드의 이름인 "사용자", "사용자코드", "조직유형", "직무", "부서(조직)", "직책구분" 등을 표시한다.
제2 표시창의 조건 입력창은 도 2A와 같이 사용자가 직접 텍스트 형태로 조건을 입력할 수 있는 조건 입력창(214) 또는 도 2B와 같이 계정관리 데이터베이스에 저장된 사용자 또는 그룹 등의 목록을 검색하여 표시한 후 사용자가 목록에서 선택할 수 있도록 제공하는 조건 입력창(218) 등이 있다. 각 필드마다 어떤 조건 입력창을 표시할지는 규칙 스키마에 "type"(420)으로 정의된 각 필드의 조건 입력 속성에 의해 결정된다.
제1 표시창(200)은 규칙을 구성하는 각 필드의 조건을 표시한다. 제2 표시창은 규칙의 각 조건이 "포함" 조건으로 존재하는지 "제외" 조건으로 존재하는지 나타내는 멤버 컬럼(204)과, 각 조건을 선택할 수 있는 선택 박스(202)를 포함한다.
제2 표시창의 적어도 하나 이상의 필드의 조건을 입력받은 후 "포함" 버튼(220)이 눌러지면, 규칙 편집부(110)는 적어도 하나 이상의 필드의 조건을 "포함" 조건으로 제1 표시창(200)에 한 행으로 표시한다. 또한, 제2 표시창(210)의 적어도 하나 이상의 필드의 조건을 입력받은 후 "제외" 버튼(230)이 눌러지면, 규칙 편집부(110)는 적어도 하나 이상의 필드의 조건을 "제외" 조건으로 제1 표시창(200)에 한 행으로 표시한다. 제1 표시창(200)의 각 행에 정의된 조건은 선택 박스(202)의 선택과 "삭제" 버튼(240)으로 삭제될 수 있다.
제1 표시창(200)에 한 행으로 표시되는 적어도 하나 이상의 필드의 각 조건은 AND 조건으로 동작한다. 예를 들어, 제2 표시창(210)의 사용자 필드와 직무 필드의 각 조건이 입력된 후 "포함" 버튼(220)을 누르면, 사용자 필드와 직무 필드의 조건들이 제1 표시창(200)의 하나의 행으로 포함되고, 하나의 행에 포함된 사용자 필드의 조건과 직무 필드의 조건은 AND 조건으로 결합된다.
제2 표시창의 "포함" 조건에 해당하는 복수의 행이 존재하면 각 행은 OR 조건으로 결합된다. 예를 들어, 제2 표시창의 제1행에 사용자 필드의 조건이 정의되고 있고, 제2행에 직무필드의 조건이 정의되어 있다면, 사용자 필드의 조건을 만족하는 경우 또는 직무필드의 조건을 만족하는 경우가 규칙으로 정의된다.
"포함" 행과 "제외" 행은 서로 다른 행이기는 하나 AND 조건으로 결합된다. 예를 들어, "포함" 행에 사용자 필드의 조건이 정의되고, "제외" 행에 사용자 필드의 조건과 콜센터 조직번호의 조건이 정의되어 있다면, "포함" 행의 사용자 필드에 정의된 조건을 만족하는 멤버 중에서 "제외" 행의 사용자 필드의 조건과 콜센터 조직번호의 조건을 모두 만족하는 멤버를 제외하는 규칙 그룹을 나타내는 규칙이 정의된다.
도 3 및 도 4는 본 발명에 따른 규칙 스키마의 일 예를 도시한 도면이다.
도 3은 규칙 스키마를 정의하는데 사용되는 XML 포맷의 구조를 도시한 도면이고, 도 4는 도 3의 XML 포맷을 이용하여 규칙 정의에 사용될 각 필드를 정의한 규칙 스키마의 일 예를 도시한 도면이다.
규칙 스키마는 각 필드의 코드이름(예를 들어, user.id, user.code 등)과, 'label' 속성으로 표시되는 각 필드의 이름, 'type' 속성으로 표시되는 조건 입력창의 표시 형태를 나타내는 조건 입력 속성을 포함한다. 조건 입력 속성을 나타내는 'type' 속성의 정의는 도 5에 도시되어 있다.
도 3 및 도 4는 본 발명의 이해를 돕기 위하여 규칙 스키마를 XML 포맷으로 도시한 도면이며, 본 발명이 도 3 및 도 4에 한정되는 것은 아니고, XML 포맷 외의 다른 형태로 규칙 스키마를 정의할 수 있다.
도 5는 본 발명의 일 실시 예에 따른, 규칙 스키마에 사용되는 조건 입력 속성의 정의를 기술한 도면이다.
도 3 내지 도 5를 함께 참조하면, 규칙 스키마는 규칙 편집 화면에 표시되는 각 필드에 대한 조건을 입력받기 위한 조건 입력창(도 2a 및 도 2b의 214, 218)의 표시 형태나 방법 등을 나타내는 조건 입력 속성을 포함하며, 그 조건 입력 속성의 정의가 도 5에 도시되어 있다.
예를 들어, 도 4와 같이, "사용자" 필드의 속성이 "user"인 경우, 규칙 편집부(110)는 도 5의 조건 입력 속성의 정의에 따라 도 2B와 같이 사용자 목록을 포함하는 조건 입력창(218)을 표시된다.
도 6 및 도 7은 본 발명에 따른 규칙을 JSON(JavaScript Object Notaion) 포맷으로 표시한 일 예를 도시한 도면이다.
도 6은 규칙을 기술하는데 사용되는 JSON 포맷의 구조를 도시한 도면이고, 도 7은 적어도 하나 이상의 필드 조건으로 구성된 규칙을 JSON 포맷으로 나타낸 도면이다.
도 7을 참조하면, JSON 포맷의 규칙은 규칙 편집 화면(도 2a의 250)의 제1 표시창(200)의 각 행에 표시된 규칙의 각 조건을 기 설정되어 있는 JSON 포맷으로 포함한다.
예를 들어, 제1 표시창(200)의 제1행에 사용자 코드 필드의 조건으로 user.code="U01", 조직 필드의 조건으로 org.id="-2"(루트 그룹을 의미함), org.code ="111~222", 직위 필드의 조건으로 type.pos.code="POS01"이 정의되어 있고, 제2행에 org.depth=2, type.class.code=class02가 정의되어 있으며, 제3행에 "제외" 조건으로 사용자 필드의 조건이 user.type="CF"로 정의되어 있는 경우에, JSON 포맷의 규칙은 제1행에 해당하는 각 조건의 속성들(700)로 구성된 제1 표현식과 제2행에 해당하는 각 조건의 속성들(710)로 구성된 제2 표현식과 제3행에 해당하는 각 조건의 속성(730)으로 구성된 제3 표현식을 포함한다. 이때 제1행과 제2행은 앞서 살핀 제1 표시창(200)의 "포함" 조건인 반면, 제3행은 "제외" 조건인 경우에 제3 표현식 앞에 type:"ex"(720)를 포함한다. 규칙의 각 조건을 정의하는 user.code, org.code 등은 앞서 살핀 규칙 스키마에 각 필드의 이름과 같이 정의되어 있다.
도 8A 및 도 8B는 본 발명에 따른 쿼리 생성 방법의 일 예를 도시한 도면이다.
도 8A 및 도 8B를 참조하면, 쿼리 생성부(120)는 도 7과 같은 JSON 포맷의 규칙과 맵핑되는 쿼리를 자동으로 생성한다. 예를 들어, 도 7의 제1 표현식에 포함되는 속성들(700)과 맵핑되는 쿼리의 표현식을 도 8A 및 도 8B에 정의된 맵핑관계에 따라 파악하여 해당하는 쿼리를 생성한다. 도 7에의 규칙에 정의된 속성 중 "user.code"는 "user.<attr>"에 해당하므로, 쿼리 생성부(120)는 도 8A의 첫 번째 행의 SELECT 문의 쿼리를 생성한다.
쿼리 생성부(120)는 하나의 표현식마다 동일 속성별로 모아서 쿼리를 생성할 수 있다. 예를 들어, 제1 표시창의 동일 행에 사용자 코드 필드와 사용자 이름 필드의 조건이 정의되어 있다면, 이들 조건은 모두 "user.<attr>"의 동일 속성을 가지고 AND로 결합되므로, 쿼리 생성부(120)는 사용자 코드 필드와 사용자 이름 필드의 각각에 대한 SELECT 문을 각각 생성하는 것이 아니라 하나의 SELECT 문에 사용다 코드 필드의 조건과 사용자 이름 필드의 조건을 AND로 포함하는 쿼리를 생성한다.
일 예로, 규칙에 표시되는 각 조건의 속성(800)이 user, org, type.<code>, group.<code>의 몇 가지 형태로 정형화된다면, 쿼리 생성부(120)는 각 표현식의 속성을 위 유형별로 모아서 쿼리를 생성한다. 예를 들어, user.code와 user.ssn이 규칙의 조건으로 정의된 경우에, 쿼리 생성부는 user에 대해 code, ssn을 AND 조건으로 연결한 쿼리를 생성한다.
도 8A 및 도 8B에서, tn, otn, gn, ogn은 동일 형태의 조건에 따라 추가된 View 컬럼(810)의 인덱스를 의미한다. 예를 들어, type.pos.code, type.class.code가 규칙의 조건으로 지정된 경우 type.pos를 나타내는 t1, ot1이 생성되고, type.class를 나타내는 t2, ot2가 생성된다.
또한, attri=ID 이고, IDrecursive=True인 파라미터가 있는 경우, attri SQL은 IDr={x|x ∈ param, paramrecursive=true} 이고, IDd={x|x ∈ param, paramrecursive=false} 일 때 표 2와 같다.
param 비고
n(IDr)≠0,n(IDd)=0 attriIN(SELECT child_id FROM 그룹트리 WHERE parent_ID IN(IDr)
n(IDr)≠0,n(IDd)≠0 attriIN(SELECT child_id FROM 그룹트리 WHERE parent_ID IN(IDr) OR attriIN(IDd)
n(IDr)=0,n(IDd)≠0 attriIN(IDd)
도 9 및 도 10은 본 발명에 따른 쿼리 생성 방법의 다른 일 예를 도시한 도면이다.
앞서 살펴보았듯이, 규칙 편집 화면의 제1 표시창에 표시되는 각 조건들은 AND, OR, 제외 등의 다양한 논리적 결합관계를 가진다. 예를 들어, 제1 표시창의 동일한 행에 포함된 서로 다른 필드의 조건들은 AND로 결합되고, 서로 다른 행은 OR로 결합되며, '포함' 행과 '제거' 행은 서로 다른 행이기는 하나 AND로 결합된다. 이러한 결합관계에 따라 규칙 편집 화면의 각 행의 조건들은 도 7과 같이 각 표현식으로 나타나며, 각각의 표현식은 도 8A, 도 8B와 같이 각각의 쿼리로 생성된다. 즉 도 7의 제1 표현식 내지 제3 표현식에 대한 각각의 쿼리가 생성된다.
하나의 규칙은 다수의 쿼리로 구성되므로, 쿼리 생성부(120)는 도 9와 같이, 각 표현식을 나타내는 각 쿼리를 UNION 연산자(910)로 연결하여 하나의 쿼리로 생성한다.
도 10을 참조하면, 쿼리 생성부(120)는 규칙에 "제외" 조건(도 7의 720)이 포함되어 있는 경우, 쿼리의 "WHERE" 절 이하의 구문을 생성하여 예외 조건을 생성한다. 예를 들어, 규칙이 도 7의 JSON 포맷으로 기술되어 있는 경우를 가정할 때, expr/@type='in' 없이 expr/@type='ex'만 있는 경우에 v는 그룹/사용자 전체를 대상으로 하는 도 10과 같은 쿼리를 생성한다.
도 11은 본 발명에 따라, 규칙 편집 화면을 통해 생성된 규칙을 기초로 쿼리를 생성한 일 예를 도시한 도면이다.
도 11을 참조하면, 규칙은 사용자 코드 'a-c'이고 콜센터조직번호가 1032인 멤버들 중에서 사용자 코드 'ba~bc'에 속한 멤버를 제외하는 조건으로 구성되어 ㅇ있다. "포함" 행의 사용자 코드 필드의 조건과 콜센터 조직번호 필드 조건은 AND로 결합되므로, 쿼리는 이들 조건을 AND로 포함하되, "제외" 행의 사용자 코드 필드의 조건을 제외하는 형태로 생성된다.
도 12는 본 발명에 따른 규칙 그룹 관리 장치의 다른 실시 예의 구성을 도시한 도면이다.
도 12를 참조하면, 규칙 그룹 관리 장치는 규칙 저장부(1230), 메타 데이터베이스(1200), 규칙 데이터베이스(1210), 규칙 검색부(1220), 쿼리 생성부(120), 규칙 적용부(130) 및 규칙그룹 데이터베이스(160)를 포함한다.
규칙 저장부(1230)는 규칙을 규칙 데이터베이스(1210)에 저장하고, 규칙의 메타데이터를 규칙과 별개로 메타 데이터베이스(1200)에 저장한다. 규칙 저장부(1230)는 아래에서 살펴 볼 규칙 데이터베이스(1210)에 저장된 각 규칙의 해시값을 이용하여 동일한 규칙이 존재하는지 파악하고 이미 동일한 규칙이 있는 규칙 데이터베이스(1210)에 존재하는 경우에는 오류 발생 등을 통해 운용자에게 알려준다. 본 실시 예는 규칙 데이터베이스(1210)와 메타 데이터베이스(1200)를 별개의 구성으로 도시하고 있으나, 하나의 데이터베이스로 구현할 수도 있다.
메타 데이터베이스(1200)는 규칙을 구분하기 위한 규칙 식별자, 규칙에 포함된 지정그룹을 나타내는 정보(예를 들어, 지정그룹 식별자), 규칙에 포함된 그룹 속성을 나타내는 정보(예를 들어, 그룹 식별자, 그룹 코드, 그룹 이름 등), 규칙에 포함된 사용자 속성을 나타내는 정보(예를 들어, 사용자 식별자, 사용자 코드, 사용자 이름 등) 등을 포함하는 메타데이터를 포함할 수 있다.
예를 들어, 메타데이터는 다음 표 1과 같은 정보로 구성될 수 있다.
규칙 식별자 규칙 종류
(g, t, u)
그룹 식별자 ex_type
0: 지정 그룹
1: 하위 그룹 포함
표 1에서, 규칙 식별자는 각 규칙을 구분하기 위하여 각 규칙에 부여된 고유식별정보를 나타낸다. 규칙 종류는 각 규칙에 포함된 조건이 지정 그룹에 관한 것(g), 그룹 속성 규칙에 관한 것(t), 사용자 속성 규칙에 관한 것(u)을 구분하는 값을 포함하고, 그룹 식별자는 규칙에 특정 지정 그룹이 존재할 때(즉, 규칙 종류=g인 경우)에 해당 지정 그룹만을 의미하는 경우(ex_type = 0), 아니면 지정 그룹의 하위 그룹까지 포함되는 경우(ex_type = 1)를 나타낸다.
규칙 데이터베이스(1210)는 규칙을 암호화하여 저장하고 또한 규칙에 포함된 문자열에 대한 해시값을 저장하여 규칙의 중복성을 판단할 수 있도록 한다. 예를 들어, 규칙 저장부는 도 7과 같이 JSON 포맷의 규칙을 암호화하여 규칙 데이터베이스(1210)에 저장할 수 있다.
규칙 검색부(1220)는 계정관리 데이터베이스(150)의 사용자 또는 그룹 등의 변경 사항(추가, 삭제, 이동 등)이 발생한 경우에, 변경 사항이 반영되어야 할 규칙을 메타 데이터베이스(1200)를 참조하여 파악한다. 예를 들어, 새로운 사용자가 제1 그룹에 추가된 경우, 규칙 검색부(1200)는 메타 데이터베이스에서 "규칙 종류=u"인 경우 또는 "지정 그룹=g"이고 "지정 그룹 식별자=제1 그룹 식별자"인 규칙 식별자를 파악한 후, 파악한 규칙 식별자로 규칙 데이터베이스(1210)로부터 해당하는 규칙을 획득한다.
쿼리 생성부(120)는 규칙 검색부(1220)에 의해 파악된 적어도 하나 이상의 규칙에 대한 쿼리를 생성한다. 규칙 적용부(130)는 쿼리를 수행하여 규칙에 대한 규칙 그룹의 멤버를 새롭게 파악하여 규칙그룹 데이터베이스(160)에 저장한다. 쿼리 생성부(120), 규칙 적용부(130), 규칙그룹 데이터베이스(160)는 도 1의 구성과 동일하므로 이들 구성에 대한 추가적인 설명은 생략한다.
도 13A 및 도 13B는 본 발명에 따른 규칙 검색 방법의 일 예를 도시한 도면이다.
도 13A 및 도 13B를 참조하면, 규칙 검색부(1220)는 사용자의 추가 또는 이동 등의 변경 사항의 종류별로 메타 데이터베이스(1200) 검색을 위한 쿼리를 생성하고 수행하여, 메타 데이터베이스(1200)로 해당하는 규칙의 식별자(rule_group_id)를 파악한다.
예를 들어, 규칙 검색부는 사용자의 추가 또는 이동이 발생한 경우에 기 설정되는 있는 도 13A의 첫 번째 행의 SELECT 문의 쿼리를 생성하고, 사용자 수정이 발생한 경우에는 도 13A의 두 번째 행의 SELECT 문의 쿼리를 생성한다. 다른 예로, 그룹 추가 또는 이동이 발생한 경우에, 규칙 검색부는 도 13B의 첫 번째 행의 SELECT 문의 쿼리를 생성한다. 규칙 검색부는 생성한 쿼리를 수행하여 메타 데이터베이스로부터 규칙 그룹의 멤버의 갱신이 필요한 규칙 식별자를 파악하고, 그 규칙 식별자로 규칙 데이터베이스(1210)를 검색하여 규칙을 획득할 수 있다.
도 14는 본 발명에 따른 규칙 그룹 관리 장치의 또 다른 실시 예의 구성을 도시한 도면이다.
도 14를 참조하면, 규칙 그룹 관리 장치는 도 1에서 살펴본 스키마 데이터베이스(100), 규칙 편집부(110), 쿼리 생성부(120), 규칙 적용부(130), 데이터베이스 탐색부(140), 규칙 그룹 데이터베이스(160)와, 도 12에서 살펴본 규칙 저장부(1230), 메타 데이터베이스(1200), 규칙 데이터베이스(1210), 규칙 검색부(1220)와, 본 실시 예에서 추가된 그룹 관리부(1400), 사용자 관리부(1410), 규칙 조회부(1450)와, 계정관리 데이터베이스(150)를 구성하는 그룹트리 데이터베이스(1420), 그룹 데이터베이스(1422), 그룹 종류 데이터베이스(1424), 그룹사용자 데이터베이스(1426), 사용자 데이터베이스(1428), 코드 데이터베이스(1430), 코드종류 데이터베이스(1432) 등을 포함한다.
먼저, 계정관리 데이터베이스(150)를 구성하는 각종 데이터베이스에 대해 살펴본다.
그룹트리 데이터베이스(1420)는 그룹의 상하관계 정보를 포함한다. 예를 들어, 그룹트리 데이터베이스(1420)는 각 그룹의 식별자(ID)와 각 그룹의 상위 그룹(즉, 부모 그룹)에 대한 식별자를 맵핑하여 저장한다. 그룹 식별자와 맵핑된 부모 그룹 식별자 없다면 해당 그룹은 최상위 루트 그룹이다. 앞서 살핀 메타 데이터베이스(1200)의 지정 그룹(g)에 대한 하위 그룹은 그룹트리 데이터베이스(1420)를 통해 파악될 수 있다.
그룹 데이터베이스(1422)는 그룹 속성(attribute)을 나타내는 정보를 포함한다. 예를 들어, 그룹 데이터베이스(1422)는 각 그룹에 대한 속성 정보로 그룹 식별자, 그룹 타입 식별자, 그룹 이름, 그룹 코드 등을 포함한다.
그룹종류 데이터베이스(1424)는 그룹 종류를 나타내는 그룹 종류 식별자(group type ID)과 그룹종류 이름, 그룹종류 코드 등으로 구성된다.
그룹사용자 데이터베이스(1426)는 그룹에 소속된 사용자 정보를 포함한다. 예를 들어, 그룹사용자 데이터베이스(1426)는 그룹 식별자와 사용자 식별자를 맵핑하여 각 그룹에 속한 사용자를 나타낸다.
사용자 데이터베이스(1428)는 사용자 속성을 나타내는 정보를 포함한다. 예를 들어, 사용자 데이터베이스(1428)는 각 사용자에 대한 속성 정보로, 사용자 식별자, 사용자가 소속된 그룹을 나타내는 그룹 식별자, 사용자 이름, 사용자 코드 등을 포함한다.
코드 데이터베이스(1430)는 타입 코드, 코드, 이름으로 구성되며, 코드종류 데이터베이스(1432)는 타입 코드, 이름으로 구성된다.
다음으로, 각 데이터베이스를 관리하는 구성에 대해 살펴본다.
그룹 관리부(1400)는 그룹에 대한 추가, 수정, 이동, 삭제 등의 작업을 수행하고, 그 결과를 그룹트리 데이터베이스(1420) 및 그룹 데이터베이스(1422) 등에 반영한다.
사용자 관리부(1410)는 사용자에 대한 추가, 수정, 이동, 삭제 등의 작업을 수행하고, 그 결과를 사용자 데이터베이스(1428) 및 그룹사용자 데이터베이스(1426) 등에 반영한다.
데이터베이스 탐색부(140)는 도 2A와 같은 규칙 편집 화면의 조건 입력창에 표시된 목록을 검색한다. 본 실시 예에서, 데이터베이스 탐색부(140)는 크게 그룹 탐색부(1440)와 사용자 탐색부(1442)로 구분된다.
그룹 탐색부(1440)는 그룹 식별자, 그룹 타입 식별자, 그룹 이름, 그룹 코드 등의 그룹 속성을 기초로 그룹 데이터베이스(1422)를 검색하고, 그 검색 결과를 규칙 편집부(110)에 전달한다.
사용자 탐색부(1442)는 사용자 식별자, 그룹 식별자, 사용자 이름, 사용자 코드 등 사용자 속성을 기초로 사용자 데이터베이스(1428)를 검색하고, 그 검색 결과를 규칙 편집부(110)에 전달한다.
이하에서는, 각 규칙을 편집하고 생성하여 그룹 규칙을 생성하는 구체적인 방법에 대해 살펴본다.
규칙 조회부(1450)는 스키마 데이터베이스(100) 또는 규칙 데이터베이스(1210)를 조회하여 규칙 스키마 또는 기 저장되어 있는 규칙을 규칙 편집부(110)에 전달한다.
규칙 편집부(110)는 규칙 스키마에 정의된 각 필드를 제2 표시창(도 2A의 210)에 표시하고, 규칙을 구성하는 각 필드의 조건을 제1 표시창(도 2A의 200)에 표시한다. 만약 규칙 조회부(1450)가 스키마 데이터베이스(100)의 규칙 스키마를 규칙 편집부(110)에 전달하고 규칙 데이터베이스(1210)에 기 저장된 규칙을 조회하여 전달하지 아니한 경우에, 초기 제1 표시창(도 2A의 200)에는 아무런 조건이 입력되어 있지 않는다. 규칙 조회부(1450)는 실시 예에 따라 운용자로부터 규칙 식별자를 입력받아 해당하는 규칙을 조회하거나 규칙 데이터베이스(1210)에 저장된 규칙 목록을 운용자에게 제시하여 운용자가 선택하도록 할 수 있다.
규칙 편집부(110)에 의해 규칙 편집이 완료되면, 규칙 저장부(1230)는 제1 표시창에 표시된 규칙의 각 조건을 JSON 포맷으로 만들어 규칙 데이터베이스(1210)에 저장하고, 이와 별도로 규칙으로부터 메타데이터를 파악하여 메타 데이터베이스에 저장한다.
예를 들어, 도 7의 규칙에는 사용자 속성(user.code 등)과 그룹 속성(org.depth 등), 지정 그룹 속성(org.id=-2)이 모두 포함되어 있으므로, 규칙 저장부(1230)는 도 7의 규칙 식별자와 함께 표 2에 정의된 g,t,u 등의 규칙 종류 등의 정보를 메타 데이터베이스에 저장한다.
쿼리 생성부(120)는 규칙을 기초로 쿼리를 생성하고, 규칙 적용부(130)는 쿼리를 수행하여 규칙 그룹의 멤버를 파악하여 규칙 그룹 데이터베이스(160)에 저장한다.
그룹 관리부(1400) 또는 사용자 관리부(1410)에 의해 그룹이나 사용자에 대한 추가, 수정, 이동, 삭제 등의 작업이 수행된 경우에, 규칙 검색부(1220)는 자동으로 그룹이나 사용자에 대한 추가, 수정, 이동, 삭제 등의 작업과 관련된 규칙을 메타 데이터베이스(1200)를 기초로 검색한다.
일 예로, 사용자 또는 그룹에 대한 변경 사항이 발생한 경우에 규칙 데이터베이스에 저장된 모든 규칙에 대한 쿼리를 다시 수행할 수도 있다. 그러나 규칙의 수가 많은 경우에 모든 규칙에 대한 쿼리를 다시 수행한다면 시스템에 부하가 가중되는 문제점이 발생할 뿐만 아니라, 변경 사항이 신속하게 반영되는데에 한계가 있다.
따라서 본 실시 예에서, 규칙 검색부(1220)는 전체 규칙이 아닌 사용자 또는 그룹의 변경에 영향을 받는 규칙 그룹의 멤버만을 새롭게 파악할 수 있도록 해당하는 규칙을 메타 데이터베이스(1200)를 통해 파악한다.
규칙 검색부(1220)가 파악한 규칙을 규칙 데이터베이스(1210)로부터 추출한 후 쿼리 생성부(120)는 규칙에 대한 쿼리를 생성하고, 규칙 적용부(130)는 쿼리를 수행하여 해당 규칙 그룹의 멤버를 새롭게 파악하여 규칙 그룹 데이터베이스(160)에 저장한다.
도 15는 본 발명에 따른 규칙 그룹 관리 방법의 일 실시 예의 흐름을 도시한 도면이다.
도 15를 참조하면, 규칙 그룹 관리 장치는 규칙 스키마에 정의된 각 필드를 규칙 편집 화면에 표시한다(S1500). 규칙 그룹 관리 장치는 규칙 편집 화면을 통해 적어도 하나 이상의 필드에 대한 조건을 입력받는다(S1510). 각 필드에 입력된 조건은 도 2A와 같이 규칙 편집 화면의 규칙 목록에 '포함' 또는 '제외' 조건으로 표시된다(S1520).
규칙 그룹 관리 장치는 규칙의 편집이 완료되면, 규칙 목록의 각 조건을 기초로 쿼리를 생성하고(S1530), 쿼리를 수행하여 규칙 그룹의 멤버를 파악한다(S1540).
도 16은 본 발명에 따른 규칙 그룹 관리 방법의 다른 실시 예의 흐름을 도시한 도면이다.
도 16을 참조하면, 규칙 그룹 관리 장치는 규칙의 메타데이터가 저장된 메타 데이터베이스를 기초로 사용자 또는 그룹의 변경사항이 반영되어야 할 규칙을 검색한다(S1600).
규칙 그룹 관리 장치는 검색된 규칙에 대한 쿼리를 생성하고(S1610), 쿼리를 수행하여 규칙 그룹의 멤버를 새롭게 파악한다(S1620).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (22)

  1. 규칙 정의에 사용되는 적어도 하나 이상의 필드를 정의하는 규칙 스키마를 포함하는 스키마 데이터베이스;
    상기 규칙 스키마에 정의된 적어도 하나 이상의 필드를 화면의 일측에 표시하고, 상기 복수의 필드 중 적어도 하나 이상의 필드의 조건을 입력받아 상기 화면의 타측에 표시하는 규칙편집부;
    상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙을 기초로 쿼리를 생성하는 쿼리생성부;
    계정관리 데이터베이스에 대해 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 규칙적용부;
    적어도 하나 이상의 규칙을 저장하는 규칙 데이터베이스;
    상기 규칙 데이터베이스에 저장된 각 규칙을 구분하기 위한 규칙 식별자와 각 규칙에 포함된 그룹 속성 또는 사용자 속성을 포함하는 메타데이터를 저장하는 메타 데이터베이스;
    상기 계정관리 데이터베이스의 사용자 또는 그룹의 변경 사항이 발생한 경우, 상기 규칙 데이터베이스에 저장된 규칙들 중 상기 변경 사항이 반영되어야 할 규칙을 상기 메타 데이터베이스의 메타데이터를 참조하여 파악하는 규칙검색부;를 포함하고,
    상기 쿼리생성부는 상기 규칙검색부에 의해 파악된 규칙에 대한 쿼리를 생성하고,
    상기 규칙적용부는 상기 변경 사항이 반영되어야 할 규칙에 대한 규칙 그룹의 멤버를 새롭게 파악하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  2. 제 1항에 있어서, 상기 규칙편집부는,
    상기 규칙 스키마에 정의된 적어도 하나 이상의 필드를 표시하는 제1 표시창;
    규칙을 구성하는 적어도 하나 이상의 조건을 표시하는 제2 표시창;
    상기 제1 표시창의 적어도 하나 이상의 필드의 조건을 '포함' 조건으로 상기 제2 표시창에 추가하는 제1 버튼;
    상기 제1 표시창의 적어도 하나 이상의 필드의 조건을 '제외' 조건으로 상기 제2 표시창에 추가하는 제2 버튼; 및
    상기 제2 표시창에 표시된 조건을 삭제하는 제3 버튼;을 포함하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  3. 제 1항에 있어서,
    상기 규칙 스키마는 조건을 입력할 수 있는 다양한 형태의 조건 입력창을 가리키는 조건 입력 속성을 각 필드별로 포함하고,
    상기 규칙 편집부는, 사용자가 선택한 필드의 조건 입력 속성에 해당하는 조건 입력창을 표시하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  4. 제 3항에 있어서,
    상기 사용자가 선택한 필드의 조건 입력 속성이 검색 속성을 포함하면, 상기 계정관리 데이터베이스로부터 상기 검색 속성에 해당하는 데이터를 검색하는 데이터베이스 탐색부;를 더 포함하고,
    상기 규칙 편집부는, 상기 조건 입력창에 상기 데이터베이스 탐색부가 검색한 데이터를 표시하여 사용자가 필드의 조건으로 선택할 수 있도록 하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  5. 제 1항에 있어서, 상기 규칙 스키마는,
    각 필드의 이름과 조건 입력 속성을 정의한 XML 파일로 구성되는 것을 특징으로 하는 규칙 그룹 관리 장치.
  6. 제 1항에 있어서,
    상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙의 메타데이터를 저장하는 규칙저장부; 및
    상기 메타데이터를 기초로 적어도 하나 이상의 규칙을 검색하는 규칙검색부;를 더 포함하고,
    상기 규칙적용부는, 상기 규칙검색부가 검색한 적어도 하나 이상의 규칙에 대한 쿼리를 수행하여 규칙 그룹의 멤버를 새롭게 파악하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  7. 제 6항에 있어서,
    상기 규칙 데이터베이스는 적어도 하나 이상의 규칙을 해시값과 함께 저장하고,
    상기 규칙저장부는, 상기 규칙편집부에 의해 편집된 규칙에 대한 해시값을 기초로 동일한 규칙이 중복 저장되는 것을 방지하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  8. 제 7항에 있어서, 상기 규칙저장부는,
    규칙에 포함된 각 필드의 조건을 속성과 값으로 포함하는 JSON 포맷으로 규칙을 규칙 데이터베이스에 저장하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  9. 제 1항에 있어서, 상기 쿼리생성부는,
    규칙을 구성하는 각 필드의 조건과 쿼리문 사이의 맵핑관계를 이용하여 규칙에 대한 쿼리를 생성하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  10. 규칙 그룹 관리 장치가 수행하는 각 단계를 포함하는 규칙 그룹 관리 방법에 있어서,
    상기 규칙 그룹 관리 방법은,
    규칙 스키마에 정의된 적어도 하나 이상의 필드를 화면의 일측에 표시하고, 상기 복수의 필드 중 적어도 하나 이상의 필드의 조건을 입력받아 상기 화면의 타측에 표시하는 단계;
    상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙을 기초로 쿼리를 생성하는 단계; 및
    계정관리 데이터베이스에 대해 상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 단계;를 포함하고,
    상기 계정관리 데이터베이스의 사용자 또는 그룹의 변경 사항이 발생한 경우, 적어도 하나 이상의 규칙을 저장하는 규칙 데이터베이스에 저장된 규칙들 중 상기 변경 사항이 반영되어야 할 규칙을, 규칙 식별자와 각 규칙에 포함된 그룹 속성 또는 사용자 속성을 포함하는 메타데이터를 저장하는 메타 데이터베이스를 참조하여 파악하고, 상기 메타 데이터베이스의 메타데이터를 참조하여 파악된 규칙에 대한 쿼리를 생성하고, 상기 변경 사항이 반영되어야 할 규칙에 대한 규칙 그룹의 멤버를 새롭게 파악하는 단계;를 수행하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  11. 제 10항에 있어서, 상기 표시하는 단계는,
    상기 규칙 스키마에 정의된 적어도 하나 이상의 필드를 표시하는 단계;
    상기 적어도 하나 이상의 필드의 조건을 '포함' 조건 또는 '제외' 조건으로 구성된 규칙을 표시하는 단계;를 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  12. 제 10항에 있어서,
    상기 규칙 스키마는 조건을 입력할 수 있는 다양한 형태의 조건 입력창을 가리키는 조건 입력 속성을 각 필드별로 포함하고,
    상기 표시하는 단계는, 사용자가 선택한 필드의 조건 입력 속성에 해당하는 조건 입력창을 표시하는 단계를 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  13. 제 12항에 있어서,
    상기 사용자가 선택한 필드의 조건 입력 속성이 검색 속성을 포함하면, 상기 계정관리 데이터베이스로부터 상기 검색 속성에 해당하는 데이터를 검색하여 표시하는 단계;를 더 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  14. 제 10항에 있어서, 상기 규칙 스키마는,
    각 필드의 이름과 조건 입력 속성을 정의한 XML 파일로 구성되는 것을 특징으로 하는 규칙 그룹 관리 방법.
  15. 제 10항에 있어서,
    상기 화면의 타측에 표시된 적어도 하나 이상의 필드의 조건으로 구성된 규칙의 메타데이터를 저장하는 단계;
    상기 메타데이터를 기초로 적어도 하나 이상의 규칙을 검색하는 단계; 및
    상기 검색한 적어도 하나 이상의 규칙에 대한 쿼리를 수행하여 규칙그룹의 멤버를 새롭게 파악하는 단계;를 더 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  16. 제 10항에 있어서,
    규칙에 포함된 각 필드의 조건을 속성과 값으로 포함하는 JSON 포맷으로 규칙을 규칙 데이터베이스에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  17. 제 10항에 있어서, 상기 쿼리를 생성하는 단계는,
    규칙을 구성하는 각 필드의 조건과 쿼리문과의 기 설정된 맵핑관계를 이용하여 규칙에 대한 쿼리를 생성하는 단계를 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  18. 적어도 하나 이상의 필드의 조건으로 구성되는 적어도 하나 이상의 규칙과 상기 적어도 하나 이상의 규칙의 메타데이터를 저장하는 데이터베이스;
    상기 메타데이터를 기초로 규칙을 검색하는 규칙검색부;
    상기 규칙검색부에 의해 검색된 규칙을 기초로 쿼리를 생성하는 쿼리생성부; 및
    상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 규칙적용부;를 포함하고,
    상기 데이터베이스는,
    적어도 하나 이상의 규칙을 저장하는 규칙 데이터베이스; 및
    상기 규칙 데이터베이스에 저장된 각 규칙을 구분하기 위한 규칙 식별자와 각 규칙에 포함된 그룹 속성 또는 사용자 속성을 포함하는 메타데이터를 저장하는 메타 데이터베이스;를 포함하고,
    상기 규칙검색부는, 계정관리 데이터베이스의 사용자 또는 그룹의 변경 사항이 발생한 경우, 상기 규칙 데이터베이스에 저장된 규칙들 중 상기 변경 사항이 반영되어야 할 규칙을 상기 메타 데이터베이스의 메타데이터를 참조하여 파악하고,
    상기 쿼리생성부는 상기 규칙검색부에 의해 파악된 규칙에 대한 쿼리를 생성하고,
    상기 규칙적용부는 상기 변경 사항이 반영되어야 할 규칙에 대한 규칙 그룹의 멤버를 새롭게 파악하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  19. 제 18항에 있어서, 상기 규칙검색부는,
    사용자 또는 그룹에 대한 추가, 수정 또는 이동에 대한 작업정보를 입력받으면, 상기 작업정보와 관련된 메타데이터를 데이터베이스에서 검색한 후 상기 검색된 메타데이터와 맵핑된 규칙을 검색하는 것을 특징으로 하는 규칙 그룹 관리 장치.
  20. 규칙 그룹 관리 장치가 수행하는 각 단계를 포함하는 규칙 그룹 관리 방법에 있어서,
    상기 규칙 그룹 관리 방법은,
    적어도 하나 이상의 필드의 조건으로 구성되는 적어도 하나 이상의 규칙과 상기 적어도 하나 이상의 규칙의 메타데이터를 저장하는 단계;
    상기 메타데이터를 기초로 규칙을 검색하는 단계;
    상기 검색된 규칙을 기초로 쿼리를 생성하는 단계; 및
    상기 쿼리를 수행하여 상기 규칙을 만족하는 규칙 그룹의 멤버를 파악하는 단계;를 포함하고,
    계정관리 데이터베이스의 사용자 또는 그룹의 변경 사항이 발생한 경우, 적어도 하나 이상의 규칙을 저장하는 규칙 데이터베이스에 저장된 규칙들 중 상기 변경 사항이 반영되어야 할 규칙을, 규칙 식별자와 각 규칙에 포함된 그룹 속성 또는 사용자 속성을 포함하는 메타데이터를 저장하는 메타 데이터베이스를 참조하여 파악하고, 상기 메타데이터베이스의 메타데이터를 참조하여 파악된 규칙에 대한 쿼리를 생성하고, 상기 변경 사항이 반영되어야 할 규칙에 대한 규칙 그룹의 멤버를 새롭게 파악하는 단계;를 수행하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  21. 제 20항에 있어서, 상기 규칙을 검색하는 단계는,
    사용자 또는 그룹에 대한 추가, 수정 또는 이동에 대한 작업정보를 입력받으면, 상기 작업정보와 관련된 메타데이터를 데이터베이스에서 검색한 후 상기 검색된 메타데이터와 맵핑된 규칙을 검색하는 단계를 포함하는 것을 특징으로 하는 규칙 그룹 관리 방법.
  22. 제10항 내지 제17항, 제20항 및 제21항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160099624A 2016-08-04 2016-08-04 규칙 그룹 관리 장치 및 그 방법 KR101757849B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160099624A KR101757849B1 (ko) 2016-08-04 2016-08-04 규칙 그룹 관리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160099624A KR101757849B1 (ko) 2016-08-04 2016-08-04 규칙 그룹 관리 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101757849B1 true KR101757849B1 (ko) 2017-07-14

Family

ID=59358573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160099624A KR101757849B1 (ko) 2016-08-04 2016-08-04 규칙 그룹 관리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101757849B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334119A (zh) * 2019-06-21 2019-10-15 腾讯科技(深圳)有限公司 一种数据关联处理方法、装置、设备及介质
KR20200098380A (ko) * 2019-02-11 2020-08-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 지식 베이스 관리 방법, 장치, 기기 및 매체
KR20210090955A (ko) * 2020-01-13 2021-07-21 주식회사 그라운드컨트롤 부동산 통합 데이터베이스 구축 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807354B1 (ko) * 2007-07-04 2008-02-28 주식회사 넷츠 통합계정 관리를 위한 실시간 규칙그룹 지원장치
KR100832093B1 (ko) 2007-07-09 2008-05-27 주식회사 넷츠 통합 계정관리를 위한 권한기반 리소스 계정 및 권한의프로비저닝 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807354B1 (ko) * 2007-07-04 2008-02-28 주식회사 넷츠 통합계정 관리를 위한 실시간 규칙그룹 지원장치
KR100832093B1 (ko) 2007-07-09 2008-05-27 주식회사 넷츠 통합 계정관리를 위한 권한기반 리소스 계정 및 권한의프로비저닝 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098380A (ko) * 2019-02-11 2020-08-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 지식 베이스 관리 방법, 장치, 기기 및 매체
KR102438812B1 (ko) 2019-02-11 2022-08-31 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 지식 베이스 관리 방법, 장치, 기기 및 매체
US11900269B2 (en) 2019-02-11 2024-02-13 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for managing knowledge base, device and medium
CN110334119A (zh) * 2019-06-21 2019-10-15 腾讯科技(深圳)有限公司 一种数据关联处理方法、装置、设备及介质
KR20210090955A (ko) * 2020-01-13 2021-07-21 주식회사 그라운드컨트롤 부동산 통합 데이터베이스 구축 장치 및 방법
KR102419993B1 (ko) 2020-01-13 2022-07-13 주식회사 그라운드컨트롤 부동산 통합 데이터베이스 구축 장치 및 방법

Similar Documents

Publication Publication Date Title
US10585892B2 (en) Hierarchical dimension analysis in multi-dimensional pivot grids
US11675781B2 (en) Dynamic dashboard with guided discovery
US11645345B2 (en) Systems and methods for issue tracking systems
US7788305B2 (en) Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node
US7899837B2 (en) Apparatus and method for generating queries and reports
EP2113101B1 (en) Providing unique views of data based on changes or rules
US7925672B2 (en) Metadata management for a data abstraction model
US8326857B2 (en) Systems and methods for providing value hierarchies, ragged hierarchies and skip-level hierarchies in a business intelligence server
US8972439B2 (en) Method and system for exploring objects in a data dictionary
US20120317129A1 (en) Role-based security policy for an object-oriented database system
US9946702B2 (en) Digital processing system for transferring data for remote access across a multicomputer data network and method thereof
KR20170098854A (ko) 보고 생성 방법
KR20060067812A (ko) 복합 데이터 액세스
US6915298B1 (en) User-defined relationships for diagramming user-defined database relations
KR101757849B1 (ko) 규칙 그룹 관리 장치 및 그 방법
US10552423B2 (en) Semantic tagging of nodes
US8145580B2 (en) Data management apparatus and method for managing data elements using a plurality of metadata elements
US9864762B2 (en) Systems and methods for mapping a value to a new domain
US8204895B2 (en) Apparatus and method for receiving a report
CN108228846B (zh) 资源文件管理方法及装置
KR101829198B1 (ko) 보고서의 중요도를 분석하는 메타 데이터 기반 온라인 분석 프로세싱 시스템
US11580149B2 (en) Data analytics systems and methods
US20160364426A1 (en) Maintenance of tags assigned to artifacts
US10990255B1 (en) Hierarchical data display
US9400814B2 (en) Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant