KR20150136338A - 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 - Google Patents

멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 Download PDF

Info

Publication number
KR20150136338A
KR20150136338A KR1020140063697A KR20140063697A KR20150136338A KR 20150136338 A KR20150136338 A KR 20150136338A KR 1020140063697 A KR1020140063697 A KR 1020140063697A KR 20140063697 A KR20140063697 A KR 20140063697A KR 20150136338 A KR20150136338 A KR 20150136338A
Authority
KR
South Korea
Prior art keywords
history
transaction
data
message
change
Prior art date
Application number
KR1020140063697A
Other languages
English (en)
Other versions
KR101614890B1 (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 주식회사 엘지씨엔에스
Priority to KR1020140063697A priority Critical patent/KR101614890B1/ko
Publication of KR20150136338A publication Critical patent/KR20150136338A/ko
Application granted granted Critical
Publication of KR101614890B1 publication Critical patent/KR101614890B1/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/23Updating
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 멀티 테넌시 이력 생성 서버에 관한 것으로, 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 단계, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하는 단계 및 이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 단계를 포함한다. 따라서 SaaS(Software as a Service) 기반의 플랫폼에서 변경된 이력 정보를 사용자 별로 기록 및 관리할 수 있다.

Description

멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체{METHOD OF CREATING MULTI TENANCY HISTORY, SERVER PERFORMING THE SAME AND STORAGE MEDIA STORING THE SAME}
본 발명은 멀티 테넌시 이력 생성 기술에 관한 것으로, 보다 상세하게는, SaaS(Software as a Service) 기반의 플랫폼에서 변경된 이력 정보를 사용자 별로 기록 및 관리할 수 있는 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체에 관한 것이다.
일반적으로, 이력 관리 시스템은 시간의 흐름에 따라 발생하는 과거와 현재의 데이터를 하나의 업무 단위로 지속적으로 유지하고, 물리 테이블 단위로 이력 테이블을 생성하고 업무 처리 과정에서 변경된 데이터를 메타데이터와 함께 이력 테이블에 저장하여 이력 데이터를 관리한다. 이력 데이터는 변경 이전과 이후의 데이터를 모두 관리하는 변경이력, 시간 순으로 발생하는 발생이력 및 업무 진행 상태에 따라 업무의 상태 정보를 관리하는 진행 이력으로 구분될 수 있고, 이러한 이력 데이터는 과거 데이터를 추적하거나 또는 통계 데이터 활용 등 데이터 분석을 위해 사용될 수 있다.
SaaS(Software as a Service) 시스템은 소프트웨어를 자신의 컴퓨터에 설치하지 않고 인터넷을 통하여 소프트웨어 서비스를 제공받는 형태를 말한다. SaaS는 다중 테넌트를 지원하여 하나의 가상 머신 인스턴스가 다수의 테넌트들에게 서비스를 제공하도록 할 수 있다.
한국등록특허 제10-0793342호는 데이터베이스의 파티션(Partition) 기법을 이용하여 테이블을 설계하여 망 관리 장치의 효율적인 저장 및 복구를 수행할 수 있는 망 관리 장치의 이력 데이터 관리 시스템 및 그 관리 방법을 개시한다. 이러한 기술은 망 관리 장치를 장기간 운영할 경우에 발생하는 데이터베이스 스페이스 조각 문제점을 해결하고, 데이터 검색시 속도를 향상시킬 수 있다.
한국등록특허 제10-1173587호는 사용자의 이력 관리를 위해 발급된 RFID카드에 저장된 고유의 사용자 정보를 수집하고 SaaS 플랫폼 기반의 운영 서버를 통해 각각의 사용자에 대한 이력 관리를 테넌트별로 수행할 수 있는 서비스로 제공되는 소프트웨어 플랫폼 기반 이력 관리 시스템을 개시한다. 이러한 기술은 다수의 이력 관리를 효율적으로 할 수 있고, 테넌트별로 사용자 정보에 접근할 수 있어 RFID카드 이용시 마일리지 포인트를 적립 및 관리할 수 있다
한국등록특허 제10-0793342호 한국등록특허 제10-1173587호
본 발명의 일 실시예는 SaaS(Software as a Service) 기반의 플랫폼에서 변경된 이력 정보를 사용자 별로 기록 및 관리할 수 있는 멀티 테넌시 이력 생성 방법을 제공하고자 한다.
본 발명의 일 실시예는 이력 관리 데이터베이스를 속성 단위로 정의하여 물리적인 저장 공간과 변경 이력을 효율적으로 관리할 수 있는 멀티 테넌시 이력 생성 방법을 제공하고자 한다.
본 발명의 일 실시예는 관리자가 정의한 이력 대상 및 사용자 별로 정의된 이력 대상을 기초로 이력을 관리할 수 있는 멀티 테넌시 이력 생성 방법을 제공하고자 한다.
실시예들 중에서, 멀티 테넌시 이력 생성 방법은 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 단계, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하는 단계 및 이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 단계를 포함한다.
일 실시예에서, 시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 상기 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 상기 이력 관리 대상을 결정하는 단계를 더 포함할 수 있다.
상기 기본 이력 항목 및 상기 관심 이력 항목은 상기 이력 데이터베이스 관리 서버에 의하여 관리되는 데이터베이스 필드에 해당할 수 있다.
일 실시예에서, 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 단계는 상기 트랜잭션이 데이터 조회에 해당하면 상기 트랜잭션을 상기 데이터의 변경과 연관되지 않은 것으로 결정하고 상기 트랜잭션이 데이터 등록, 삭제 및 수정에 해당하면 상기 트랜잭션을 상기 데이터의 변경과 연관되어 있는 것으로 결정하는 단계를 포함할 수 있다.
상기 트랜잭션에 대한 이력 메시지를 생성하는 단계는 SaaS(Software as a Service) 관련 헤더를 생성하는 단계 및 상기 트랜잭션의 유형 및 상기 트랜잭션의 처리 결과를 포함하는 트랜잭션 바디를 생성하는 단계를 포함할 수 있다. 상기 메시지 채널은 가변적인 큐(Queue) 형식으로 구현될 수 있다.
실시예들 중에서, 이력 데이터베이스 생성 방법은 멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하는 단계, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하는 단계 및 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 단계를 포함한다.
일 실시예에서, 테넌트 사용자로부터 상기 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 단계를 더 포함할 수 있다.
상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 단계는 상기 이력 변경 데이터의 저장 시간에 따라 상기 이력 변경 데이터를 제공하거나 또는 상기 이력 관리 대상 별로 상기 이력 변경 데이터와 연관된 스냅샷을 제공하는 단계를 포함할 수 있다.
실시예들 중에서, 멀티 테넌시 이력 생성 서버는 컴퓨터 읽기 가능한 명령어들을 저장하는 메모리 및 상기 메모리와 전기적으로 연결되고 사용자의 요청에 따라 상기 저장된 명령어들을 통해 아래의 기능을 실행하는 프로세서를 포함하고, 상기 프로세서는 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하고, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하며, 이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 데이터 접근부를 포함한다.
일 실시예에서, 시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 상기 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 상기 이력 관리 대상을 결정하는 데이터 이력 설정부를 더 포함할 수 있다.
실시예들 중에서, 이력 데이터베이스 관리 서버는 컴퓨터 읽기 가능한 명령어들을 저장하는 메모리 및 상기 메모리와 전기적으로 연결되고 사용자의 요청에 따라 상기 저장된 명령어들을 통해 아래의 기능을 실행하는 프로세서를 포함하고, 상기 프로세서는 멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하고, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하며, 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 데이터 이력 기록부를 포함한다.
테넌트 사용자로부터 상기 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 데이터 이력 조회부를 더 포함할 수 있다.
실시예들 중에서, 이력 관리 시스템은 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하고, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하며, 메시지 채널을 통해 분리된 이력 데이터베이스 관리 서버에 상기 이력 메시지를 송신하는 멀티 테넌시 이력 생성 서버 및 상기 메시지 채널을 통해 상기 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하고, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하며, 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 이력 데이터베이스 관리 서버를 포함한다.
실시예들 중에서, 멀티 테넌시 이력 생성 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체는 멀티 테넌시 이력 생성 서버에서 수행되는 멀티 테넌시 이력 생성 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 기능, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하는 기능 및 이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 기능을 포함한다.
실시예들 중에서, 이력 데이터베이스 관리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체는 이력 데이터베이스 관리 서버에서 수행되는 이력 데이터베이스 관리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하는 기능, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하는 기능 및 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 기능을 포함한다.
본 발명의 일 실시예에 따른 멀티 테넌시 이력 생성 방법은 SaaS(Software as a Service) 기반의 플랫폼에서 변경된 이력 정보를 사용자 별로 기록 및 관리할 수 있다.
본 발명의 일 실시예에 따른 멀티 테넌시 이력 생성 방법은 이력 관리 데이터베이스를 속성 단위로 정의하여 물리적인 저장 공간과 변경 이력을 효율적으로 관리할 수 있다.
본 발명의 일 실시예에 따른 멀티 테넌시 이력 생성 방법은 관리자가 정의한 이력 대상 및 사용자 별로 정의된 이력 대상을 기초로 이력을 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이력 관리 시스템을 설명하는 블록도이다.
도 2는 도 1에 있는 멀티 테넌시 이력 생성 서버 및 이력 데이터베이스 관리 서버의 내부 구성도를 설명하는 도면이다.
도 3은 도 1에 있는 멀티 테넌시 이력 생성 서버의 기능을 분리하여 도시한 블록도이다.
도 4는 도 1에 있는 이력 데이터베이스 관리 서버의 기능을 분리하여 도시한 블록도이다.
도 5는 도 1에 있는 멀티 테넌시 이력 생성 서버에서 수행되는 멀티 테넌시 이력 관리 과정을 설명하는 순서도이다.
도 6은 도 1에 있는 이력 데이터베이스 관리 서버에서 수행되는 이력 데이터베이스 관리 과정을 설명하는 순서도이다.
도 7은 도 1에 있는 멀티 테넌시 이력 생성 서버에서 생성하는 이력 메시지를 예시한 도면이다.
도 8은 도 1에 있는 이력 데이터베이스 관리 서버에서 생성하는 이력 변경 데이터를 예시한 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 멀티 테넌시 이력 관리 시스템을 설명하는 블록도이다.
도 1을 참조하면, 멀티 테넌시 이력 관리 시스템(100)은 멀티 테넌시 이력 생성 서버(110), 이력 데이터베이스 관리 서버(120) 및 사용자 단말(130)을 포함한다.
멀티 테넌시 이력 생성 서버(110)는 네트워크를 통해 연결된 적어도 하나의 사용자 단말들(130)로부터 트랜잭션의 처리 요청을 수신하여 트랜잭션이 데이터 변경과 연관되어 있는지 여부에 따라 트랜잭션에 대한 이력 메시지를 생성한다.
멀티 테넌시 이력 생성 서버(110)는 네트워크를 통해 연결된 이력 데이터베이스 관리 서버(120)에 이력 메시지를 송신할 수 있다. 멀티 테넌시 이력 생성 서버(110)는 메시지 채널을 통해 이력 메시지를 이력 데이터베이스 관리 서버(120)로 송신한다.
일 실시예에서, 멀티 테넌시 이력 생성 서버(110)는 단일 컴퓨팅 장치로 제한되지 않고 분산 처리 가능한 복수의 컴퓨팅 장치들로서 구현될 수 있다. 이하, 멀티 테넌시 이력 생성 서버(110)는 도 3에서 자세하게 설명한다.
이력 데이터베이스 관리 서버(120)는 네트워크를 통해 연결된 적어도 하나의 사용자 단말들(130)로부터 변경 이력 조회 요청을 수신하여 수신한 요청에 대응하는 이력 변경 데이터를 해당 사용자 단말(130)에 제공할 수 있다.
이력 데이터베이스 관리 서버(120)는 네트워크를 통해 연결된 멀티 테넌시 이력 생성 서버(110)로부터 이력 메시지를 수신할 수 있다. 이력 데이터베이스 관리 서버(120)는 메시지 채널을 통해 멀티 테넌시 이력 생성 서버(110)로부터 이력 메시지를 수신한다.
일 실시예에서, 이력 데이터베이스 관리 서버(120)는 단일 컴퓨팅 장치로 제한되지 않고 분산 처리 가능한 복수의 컴퓨팅 장치들로서 구현될 수 있다. 이하, 이력 데이터베이스 관리 서버(120)는 도 4에서 자세하게 설명한다.
사용자 단말(130)은 네트워크를 통해 멀티 테넌시 이력 생성 서버(110) 및 이력 데이터베이스 관리 서버(120)와 각각 연결될 수 있다. 예를 들어, 사용자 단말(130)은 중앙처리장치와 메모리 장치 및 입출력 수단을 구비한 PC, 스마트폰, PDA(Personal Digital Assistant), 태블릿 PC와 같은 장치에 해당할 수 있다. 여기에서, 사용자 단말(130)은 멀티 테넌트 방식을 이용하여 멀티 테넌시 이력 생성 서버(110) 및 이력 데이터베이스 관리 서버(120) 중 적어도 하나의 연결될 수 있다.
본 발명은 테넌스 사용자로부터 트랜잭션의 처리 요청을 수신하여 이력 메시지를 생성하는 멀티 테넌시 이력 생성 서버(110)와 변경된 이력 데이터를 저장 및 관리하는 이력 데이터베이스 관리 서버(120)를 큐(Queue)를 매개로 하는 메시지 채널을 통해 분리하여 관리할 수 있다. 멀티 테넌시 이력 생성 서버(110)는 제1 데이터베이스를 포함하고, 이력 데이터베이스 관리 서버(120)는 제2 데이터베이스를 포함할 수 있다.
도 2는 도 1에 있는 멀티 테넌시 이력 생성 서버 및 이력 데이터베이스 관리 서버의 내부 구성도를 설명하는 도면이다.
도 2를 참조하면, 멀티 테넌시 이력 생성 서버(110) 및 이력 데이터베이스 관리 서버(120)는 메모리(210) 및 프로세서(220)를 포함한다.
메모리(210)는 롬(Read Only Memory, ROM)(211) 및 램(Random Access Memory, RAM)(212)을 포함하고 일시적 또는 영구적으로 컴퓨터를 판독할 수 있는 기록매체에 해당한다.
저장부(240)는 영구적으로 컴퓨터를 판독할 수 있는 기록매체에 해당한다.
메모리(210) 및 저장부(240) 중 적어도 하나는 멀티 테넌시 이력 관리를 위한 명령어를 포함하는 컴퓨터 코드를 저장하고, 사용자 단말(130)에 의해 사용될 수 있다. 여기에서, 컴퓨터 코드는 멀티 테넌시 이력을 관리하기 위해 네트워크를 통해 멀티 테넌시 이력 생성 서버(110) 또는 이력 데이터베이스 관리 서버(120)로부터 수신할 수 있다.
프로세서(220)는 메모리(210)와 전기적으로 연결되고 사용자의 요청에 따라 메모리(210)에 저장된 명령어들을 통해 이력을 관리할 수 있다. 프로세서(220)는 경유 버스(230)를 통해 다양한 다른 컴포넌트들과 통신하여 멀티 테넌시 이력 관리를 수행할 수 있다.
사용자는 사용자 인터페이스 입력 장치(250)(예를 들어, 마우스, 트랙볼, 터치 패드, 그래픽 태블릿, 스캐너, 상품 바코드 스캔을 위한 바코드 스캐너, 터치 스크린, 키보드, 포인팅 장치 등)을 통해 사용자 단말(130)과 통신할 수 있다. 사용자 인터페이스 입력 장치(250)는 사용자 단말(130) 또는 네트워크에 정보(예를 들어, 트랜잭션)를 입력할 수 있는 모든 메커니즘을 포함한다.
사용자는 사용자 인터페이스 출력 장치(260)를 통해 사용자 단말(130)로부터 정보(예를 들어, 이력 변경 데이터)를 수신할 수 있다. 사용자 인터페이스 출력 장치(260)는 디스플레이 화면과 같은 시각적 출력 장치를 포함할 수 있으나, 이에 한정되지 않는다. 사용자 인터페이스 출력 장치(260)는 사용자에게 정보를 출력할 수 있는 모든 메커니즘을 포함하고, 하나의 영상 출력 장치 또는 스피커와 같은 출력 장치와 결합될 수 있다.
일 실시예에서, 디스플레이 스크린은 사용자 단말(130)로부터 수신한 정보를 디스플레이하고 사용자로부터 입력을 수신할 수 있다. 즉, 디스플레이 스크린은 사용자 인터페이스 입력 장치(250)와 사용자 인터페이스 출력 장치(260)로서 구현될 수 있다.
멀티 테넌시 이력 생성 서버(110)와 이력 데이터베이스 관리 서버(120)는 네트워크 인터페이스(270)를 더 포함할 수 있다. 네트워크 인터페이스(270)는 통신을 통해 멀티 테넌시 이력 생성 서버(110)와 네트워크 간에 정보를 송수신하도록 하고, 이력 데이터베이스 관리 서버(120)와 네트워크 간에 정보를 송수신하도록 할 수 있다.
도 3은 도 1에 있는 멀티 테넌시 이력 생성 서버의 기능을 분리하여 도시한 블록도이다.
도 3을 참조하면, 멀티 테넌시 이력 생성 서버(110)는 데이터 이력 설정부(310), 데이터 접근부(320) 및 제어부(330)를 포함한다.
데이터 이력 설정부(310)는 데이터 변경과 연관된 이력 관리 대상을 결정한다. 데이터 이력 설정부(310)는 이력 데이터베이스 관리 서버(120)가 이력 관리 대상과 연관된 이력 변경 데이터만 저장하도록 할 수 있다. 이력 관리 대상은 시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 결정될 수 있다. 일 실시예에서, 기본 이력 항목 및 관심 이력 항목은 이력 데이터베이스 관리 서버(120)에 의하여 관리되는 데이터베이스 필드에 해당할 수 있다. 데이터베이스 필드는 변경된 데이터의 이력 비교 및 이력 조회를 위한 타입 정보를 포함하고, 원본 데이터의 추적을 위한 키(Kye) 필드 여부가 설정될 수 있다.
일 실시예에서, 데이터 이력 설정부(310)는 복수의 테넌트 사용자들에 의해 미리 지정된 관심 이력 항목을 기초로 참조 이력 항목을 설정하여 참조 이력 항목을 복수의 테넌트 사용자들에게 제공할 수 있다. 참조 이력 항목은 관심 이력 항목의 지정 횟수에 따라 결정될 수 있다. 복수의 테넌트 사용자들은 참조 이력 항목을 참조하여 관심 이력 항목을 수정할 수 있다.
데이터 접근부(320)는 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크한다. 데이터 접근부(320)는 테넌트 사용자로부터 수신한 트랜잭션이 데이터 조회에 해당하면 트랜잭션을 데이터의 변경과 연관되지 않은 것으로 결정하고 트랜잭션이 데이터 등록, 삭제 및 수정에 해당하면 트랜잭션을 데이터의 변경과 연관되어 있는 것으로 결정할 수 있다. 일 실시예에서, 데이터 접근부(320)는 테넌트 사용자로부터 트랜잭션의 처리 요청으로서 SQL(Structured Query Language) 질의문을 수신할 수 있다.
데이터 접근부(320)는 트랜잭션이 데이터 변경과 연관되면 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크한다. 데이터 접근부(320)는 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있으면 트랜잭션에 대한 이력 메시지를 생성하고, 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있지 않으면 트랜잭션에 대한 이력 메시지를 생성하지 않을 수 있다. 일 실시예에서, 데이터 접근부(320)는 테넌트 사용자에 의해 미리 정의된 테넌트 데이터 구조 정보를 기초로 트랜잭션의 처리 요청으로서 수신한 SQL 질의문을 변환하여 이력 메시지를 생성할 수 있다. 테넌트 데이터 구조 정보는 물리적 스키마와 논리적 스키마를 포함할 수 있다. 예를 들어, 테넌트 데이터 구조 정보는 물리적 스키마로서 [object_id]를 포함하고 이러한 물리적 스키마에 대응하는 논리적 스키마로서 [tb_prod_info]를 포함할 수 있고, 물리적 스키마로서 [custfld_01]를 포함하고 이러한 물리적 스키마에 대응하는 논리적 스키마로서 [prodSalePrice]를 포함할 수 있으며, 물리적 스키마로서 [custfld_02]를 포함하고 이러한 물리적 스키마에 대응하는 논리적 스키마로서 [prodNorPrice]를 포함할 수 있다.
데이터 접근부(320)는 SaaS(Software as a Service) 관련 헤더를 생성하고, 트랜잭션의 유형 및 트랜잭션의 처리 결과를 포함하는 트랜잭션 바디를 생성하여 헤더와 바디를 연관시킬 수 있다. 즉, 데이터 접근부(320)는 헤더와 바디를 포함하는 이력 메시지를 생성할 수 있다. 헤더는 트랜잭션의 처리일자, 트랜잭션의 처리를 요청한 테넌트 사용자에 대한 식별자 및 마스터 정보의 키 값을 포함할 수 있다. 바디에 포함된 트랜잭션의 유형은 데이터 등록, 삭제 및 업데이트 중 하나에 해당하고, 트랜잭션의 처리 결과는 데이터의 등록 정보, 삭제 정보 및 업데이트 정보 중 하나를 포함할 수 있다.
데이터 접근부(320)는 이력 데이터베이스 관리 서버(120)와 기 연결된 메시지 채널을 통해 생성된 이력 메시지를 송신한다. 메시지 채널은 가변적인 큐(Queue) 형식으로 구현될 수 있다. 일 실시예에서, 메시지 채널은 데이터 접근부(320)와 데이터 이력 기록부(410)를 분리시킬 수 있다.
제어부(330)는 멀티 테넌시 이력 생성 서버(110)의 전체적인 동작을 제어하고, 데이터 이력 설정부(310) 및 데이터 접근부(320) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 4는 도 1에 있는 이력 데이터베이스 관리 서버의 기능을 분리하여 도시한 블록도이다.
도 4를 참조하면, 이력 데이터베이스 관리 서버(120)는 데이터 이력 기록부(410), 데이터 이력 조회부(420) 및 제어부(430)를 포함한다.
데이터 이력 기록부(410)는 메시지 채널을 통해 이력 메시지를 수신하여 이력 관리 대상에 대한 이력을 관리할 수 있다. 데이터 이력 기록부(410)는 이력 메시지에 포함된 바디 정보에 따라 이력을 관리할 수 있다. 구체적으로, 데이터 이력 기록부(410)는 바디에 포함된 트랜잭션의 유형에 따라 이력 정보를 저장할 수 있다.
데이터 이력 기록부(410)는 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교할 수 있다. 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상은 데이터의 필드(예를 들어, 속성) 단위로 비교될 수 있다.
데이터 이력 기록부(410)는 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상 간의 비교 결과, 기 저장된 이력 관리 대상이 변경되었으면 기 저장된 이력 관리 대상에서 변경된 데이터를 검출할 수 있다. 데이터 이력 기록부(410)는 검출된 기 저장된 이력 관리 대상에서 변경된 데이터를 기초로 이력 관리 대상에 대한 이력 변경 데이터를 저장할 수 있다.
일 실시예에서, 데이터 이력 기록부(410)는 트랜잭션의 유형이 데이터 생성에 해당하면 트랜잭션의 유형과 트랜잭션의 처리 결과를 이력 변경 데이터로서 저장하고, 트랜잭션의 유형이 데이터 삭제에 해당하면 트랜잭션의 유형과 트랜잭션의 처리 결과를 이력 변경 데이터로서 저장하며, 트랜잭션의 유형이 데이터 수정에 해당하면 트랜잭션의 유형과 트랜잭션의 처리 결과 각각의 변경 전 최신 이력 데이터를 조회하여 데이터베이스의 필드 별로 변경된 데이터를 검출하고 검출된 데이터를 이력 변경 데이터로서 저장할 수 있다.
데이터 이력 조회부(420)는 테넌트 사용자로부터 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 이력 관리 대상에 대한 이력 변경 데이터를 제공한다. 테넌트 사용자는 특정 기간 동안의 변경 이력 조회를 요청할 수 있다.
일 실시예에서, 데이터 이력 조회부(420)는 이력 변경 데이터의 저장 시간에 따라 이력 변경 데이터를 제공할 수 있다. 예를 들어, 데이터 이력 조회부(420)는 특정 기간 동안의 이력 변경 데이터를 이력 변경 데이터의 저장 시간 순 또는 시간 역순으로 정렬하여 해당 테넌트 사용자에게 제공할 수 있다.
다른 일 실시예에서, 데이터 이력 조회부(420)는 이력 관리 대상 별로 이력 변경 데이터와 연관된 스냅샷을 제공할 수 있다.
제어부(430)는 이력 데이터베이스 관리 서버(120)의 전체적인 동작을 제어하고, 데이터 이력 기록부(410) 및 데이터 이력 조회부(420) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 5는 도 1에 있는 멀티 테넌시 이력 생성 서버에서 수행되는 멀티 테넌시 이력 생성 과정을 설명하는 순서도이다.
도 5를 참조하면, 데이터 이력 설정부(310)는 데이터 변경과 연관된 이력 관리 대상을 결정한다(단계 S501). 이력 관리 대상은 시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 결정될 수 있다.
데이터 접근부(320)는 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신한다(단계 S502).
데이터 접근부(320)는 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하고 트랜잭션이 데이터 변경과 연관되면 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크한다(단계 S503 및 단계 S504).
데이터 접근부(320)는 트랜잭션이 데이터 변경과 연관되지 않으면 테넌트 사용자에게 데이터 조회 기능을 제공한다(단계 S507).
데이터 접근부(320)는 테넌트 사용자로부터 수신한 트랜잭션이 데이터 조회에 해당하면 트랜잭션을 데이터의 변경과 연관되지 않은 것으로 결정하고 트랜잭션이 데이터 등록, 삭제 및 수정에 해당하면 트랜잭션을 데이터의 변경과 연관되어 있는 것으로 결정할 수 있다.
데이터 접근부(320)는 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있으면 트랜잭션에 대한 이력 메시지를 생성한다(단계 S505). 예를 들어, 도 7에서, 이력 메시지는 헤더(710) 및 바디(720)를 포함하고, 헤더(710)는 트랜잭션의 처리일자 [11/07/18 18:31:23.000000], 트랜잭션의 처리를 요청한 테넌트 사용자에 대한 식별자 [tenant_user01] 및 마스터 정보의 키 값 [prod_01]을 포함하고, 바디(720)는 트랜잭션의 유형 [#tb_prod_info] 및 트랜잭션의 처리 결과 [#prodSalePrice/1000], [#prodNorPrice/1000], [#prod_id/prod_01]를 포함할 수 있다.
데이터 접근부(320)는 메시지 채널을 통해 분리된 이력 데이터베이스 관리 서버(120)에 이력 메시지를 송신한다(단계 S506).
도 6은 도 1에 있는 이력 데이터베이스 관리 서버에서 수행되는 이력 데이터베이스 관리 과정을 설명하는 순서도이다.
도 6을 참조하면, 데이터 이력 기록부(410)는 메시지 채널을 통해 이력 메시지를 수신하여 이력 관리 대상에 대한 이력을 관리한다(단계 S601).
데이터 이력 기록부(410)는 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교한다(단계 S602).
데이터 이력 기록부(410)는 비교 결과 기 저장된 이력 관리 대상이 변경되었으면 이력 관리 대상에 대한 이력 변경 데이터를 저장한다(단계 S603).
예를 들어, 도 8에서, 이력 변경 데이터는 테이블 형태로 구현될 수 있으며, 이력 작업 정보(예를 들어, 작업 번호, 작업일, 작업자 및 상품ID)를 포함하는 이력 작업 테이블, 데이터 변경 관리(예를 들어, 작업 번호, 데이터 아이디, 속성 아이디 및 작업 유형)를 위한 데이터 이력 테이블 및 데이터 변경 관리(예를 들어, 이력시퀀스, 작업 번호, 데이터 아이디, 속성 아이디, 이력 항목 및 이력 데이터)를 위한 데이터 속성 이력 테이블을 포함할 수 있다. 여기에서, 이력 작업 테이블과 데이터 이력 테이블은 1:N 관계로 구현되고 데이터 이력 테이블과 데이터 속성 이력 테이블은 1:N 관계로 구현될 수 있다.
데이터 이력 조회부(420)는 테넌트 사용자로부터 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 이력 관리 대상에 대한 이력 변경 데이터를 제공한다(단계 S604 및 S605).
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 이력 관리 시스템
110: 멀티 테넌시 이력 생성 서버
120: 이력 데이터베이스 관리 서버
130: 사용자 단말
310: 데이터 이력 설정부
320: 데이터 접근부
410: 데이터 이력 기록부
420: 데이터 이력 조회부
330, 430: 제어부

Claims (16)

  1. 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 단계;
    상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하는 단계; 및
    이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 단계를 포함하는 멀티 테넌시 이력 생성 방법.
  2. 제1항에 있어서,
    시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 상기 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 상기 이력 관리 대상을 결정하는 단계를 더 포함하는 것을 특징으로 하는 멀티 테넌시 이력 생성 방법.
  3. 제2항에 있어서, 상기 기본 이력 항목 및 상기 관심 이력 항목은
    상기 이력 데이터베이스 관리 서버에 의하여 관리되는 데이터베이스 필드에 해당하는 것을 특징으로 하는 멀티 테넌시 이력 생성 방법.
  4. 제1항에 있어서, 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 단계는
    상기 트랜잭션이 데이터 조회에 해당하면 상기 트랜잭션을 상기 데이터의 변경과 연관되지 않은 것으로 결정하고 상기 트랜잭션이 데이터 등록, 삭제 및 수정에 해당하면 상기 트랜잭션을 상기 데이터의 변경과 연관되어 있는 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 멀티 테넌시 이력 생성 방법.
  5. 제1항에 있어서, 상기 트랜잭션에 대한 이력 메시지를 생성하는 단계는
    SaaS(Software as a Service) 관련 헤더를 생성하는 단계; 및
    상기 트랜잭션의 유형 및 상기 트랜잭션의 처리 결과를 포함하는 트랜잭션 바디를 생성하는 단계를 포함하는 것을 특징으로 하는 멀티 테넌시 이력 생성 방법.
  6. 제1항에 있어서, 상기 메시지 채널은
    가변적인 큐(Queue) 형식으로 구현되는 것을 특징으로 하는 멀티 테넌시 이력 생성 방법.
  7. 멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하는 단계;
    상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하는 단계; 및
    상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 단계를 포함하는 이력 데이터베이스 관리 방법.
  8. 제7항에 있어서,
    테넌트 사용자로부터 상기 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 이력 데이터베이스 관리 방법.
  9. 제8항에 있어서, 상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 단계는
    상기 이력 변경 데이터의 저장 시간에 따라 상기 이력 변경 데이터를 제공하거나 또는 상기 이력 관리 대상 별로 상기 이력 변경 데이터와 연관된 스냅샷을 제공하는 단계를 포함하는 것을 특징으로 하는 이력 데이터베이스 관리 방법.
  10. 컴퓨터 읽기 가능한 명령어들을 저장하는 메모리; 및
    상기 메모리와 전기적으로 연결되고 사용자의 요청에 따라 상기 저장된 명령어들을 통해 아래의 기능을 실행하는 프로세서를 포함하고, 상기 프로세서는
    테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하고, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하며, 이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 데이터 접근부를 포함하는 멀티 테넌시 이력 생성 서버.
  11. 제10항에 있어서,
    시스템 관리자에 의해 미리 지정된 기본 이력 항목 또는 상기 테넌트 사용자에 의하여 미리 지정된 관심 이력 항목을 기초로 상기 이력 관리 대상을 결정하는 데이터 이력 설정부를 더 포함하는 것을 특징으로 하는 멀티 테넌시 이력 생성 서버.
  12. 컴퓨터 읽기 가능한 명령어들을 저장하는 메모리; 및
    상기 메모리와 전기적으로 연결되고 사용자의 요청에 따라 상기 저장된 명령어들을 통해 아래의 기능을 실행하는 프로세서를 포함하고, 상기 프로세서는
    멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하고, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하며, 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 데이터 이력 기록부를 포함하는 이력 데이터베이스 관리 서버.
  13. 제12항에 있어서,
    테넌트 사용자로부터 상기 이력 관리 대상에 대한 변경 이력 조회 요청을 수신하면 상기 이력 관리 대상에 대한 이력 변경 데이터를 제공하는 데이터 이력 조회부를 더 포함하는 것을 특징으로 하는 이력 데이터베이스 관리 서버.
  14. 테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하고, 상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하며, 메시지 채널을 통해 분리된 이력 데이터베이스 관리 서버에 상기 이력 메시지를 송신하는 멀티 테넌시 이력 생성 서버; 및
    상기 메시지 채널을 통해 상기 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하고, 상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하며, 상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 이력 데이터베이스 관리 서버를 포함하는 이력 관리 시스템.
  15. 멀티 테넌시 이력 생성 서버에서 수행되는 멀티 테넌시 이력 생성 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    테넌트 사용자로부터 트랜잭션의 처리 요청을 수신하여 상기 수신된 트랜잭션이 데이터 변경과 연관되는지 여부를 체크하는 기능;
    상기 트랜잭션이 상기 데이터 변경과 연관되면 상기 트랜잭션이 기 설정된 이력 관리 대상과 연관되어 있는지 여부를 체크하여 상기 트랜잭션에 대한 이력 메시지를 생성하는 기능; 및
    이력 데이터베이스 관리 서버와 기 연결된 메시지 채널을 통해 상기 생성된 이력 메시지를 상기 이력 데이터베이스 관리 서버로 송신하는 기능을 포함하는 멀티 테넌시 이력 생성 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  16. 이력 데이터베이스 관리 서버에서 수행되는 이력 데이터베이스 관리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    멀티 테넌시 이력 생성 서버와 기 연결된 메시지 채널을 통해 멀티 테넌시 이력 생성 서버에서 생성된 이력 메시지를 수신하는 기능;
    상기 이력 메시지에 포함된 트랜잭션의 처리 결과와 기 저장된 이력 관리 대상을 비교하는 기능; 및
    상기 비교에 따라 상기 기 저장된 이력 관리 대상에서 변경된 데이터를 검출하여 상기 이력 관리 대상에 대한 이력 변경 데이터를 저장하는 기능을 포함하는 이력 데이터베이스 관리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020140063697A 2014-05-27 2014-05-27 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 KR101614890B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140063697A KR101614890B1 (ko) 2014-05-27 2014-05-27 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140063697A KR101614890B1 (ko) 2014-05-27 2014-05-27 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체

Publications (2)

Publication Number Publication Date
KR20150136338A true KR20150136338A (ko) 2015-12-07
KR101614890B1 KR101614890B1 (ko) 2016-04-22

Family

ID=54872323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140063697A KR101614890B1 (ko) 2014-05-27 2014-05-27 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체

Country Status (1)

Country Link
KR (1) KR101614890B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375415A (zh) * 2016-08-31 2017-02-01 东软集团股份有限公司 租期的动态设置方法和装置
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置
KR20220069413A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102548855B1 (ko) 2021-06-28 2023-06-29 주식회사 이수시스템 중간언어 인터프리팅 방식을 활용한 hr 콘텐츠 멀티 테넌시 지원 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221635A (ja) * 2010-04-06 2011-11-04 Mitsubishi Electric Corp プロジェクト管理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375415A (zh) * 2016-08-31 2017-02-01 东软集团股份有限公司 租期的动态设置方法和装置
CN106375415B (zh) * 2016-08-31 2019-10-22 东软集团股份有限公司 租期的动态设置方法和装置
KR20220069413A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置
CN114553762B (zh) * 2022-01-30 2023-12-26 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置

Also Published As

Publication number Publication date
KR101614890B1 (ko) 2016-04-22

Similar Documents

Publication Publication Date Title
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
US9235636B2 (en) Presenting data in response to an incomplete query
CN107133309B (zh) 流程实例的存储、查询方法及装置、存储介质及电子设备
US9559992B2 (en) System and method for updating information in an instant messaging application
CN111581216A (zh) 数据处理方法、装置、设备以及存储介质
JP2017530469A (ja) イベント処理のための動的に型付けされたビッグデータによるイベントの充実化
US20180218088A1 (en) Adjacency structures for executing graph algorithms in a relational database
CN109522357A (zh) 一种数据处理方法、装置、服务器及存储介质
AU2011247915B2 (en) Enhancing an inquiry for a search of a database
US10963842B1 (en) Communication platform for email management
KR101614890B1 (ko) 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체
US20170032136A1 (en) Autocomplete of searches for data stored in multi-tenant architecture
TWI579715B (zh) 搜尋伺服器、終端裝置及用於分散式網路之搜尋方法
WO2021047323A1 (zh) 一种数据操作方法、装置及系统
US11625408B2 (en) Systems and methods for expedited large file processing
US11082385B2 (en) Systems and methods for a flexible event service
US10033737B2 (en) System and method for cross-cloud identity matching
US9607072B2 (en) System and method for implementing nested relationships within a schemaless database
US20200242110A1 (en) Systems and methods for joining datasets
KR20140116682A (ko) 컨텐츠 공유 방법
US20140297953A1 (en) Removable Storage Device Identity and Configuration Information
US9542457B1 (en) Methods for displaying object history information
CN112328658B (zh) 用户档案数据处理方法、装置、设备及存储介质
JP2022140752A (ja) 管理装置、管理方法及びプログラム
US9275358B1 (en) System, method, and computer program for automatically creating and submitting defect information associated with defects identified during a software development lifecycle to a defect tracking system

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
FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 4