KR20220055151A - 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치 - Google Patents

식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치 Download PDF

Info

Publication number
KR20220055151A
KR20220055151A KR1020200139326A KR20200139326A KR20220055151A KR 20220055151 A KR20220055151 A KR 20220055151A KR 1020200139326 A KR1020200139326 A KR 1020200139326A KR 20200139326 A KR20200139326 A KR 20200139326A KR 20220055151 A KR20220055151 A KR 20220055151A
Authority
KR
South Korea
Prior art keywords
instance
identification
service
identifying
generating
Prior art date
Application number
KR1020200139326A
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 KR1020200139326A priority Critical patent/KR20220055151A/ko
Priority to US17/510,664 priority patent/US20220129458A1/en
Publication of KR20220055151A publication Critical patent/KR20220055151A/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/22Indexing; Data structures therefor; Storage structures
    • 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/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2571NAT traversal for identification, e.g. for authentication or billing 
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계, 및 상기 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 단계를 포함하되, 상기 식별 ID는 상기 인스턴스 ID, 일련 번호, 및 시간 정보를 포함한다.

Description

식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치{METHOD FOR GENERATING IDENTIFICATION ID, AND APPARATUS IMPLEMENTING THE SAME METHOD}
본 발명은 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 어플리케이션 등의 서비스를 실행 시 생성되는 데이터를 식별할 수 있는 아이디(ID)를 생성하기 위한 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다.
마이크로 서비스 아키텍처(microservice architecture)는 단독으로 실행 가능한 작은 모듈 단위의 기능으로 분할하여 서비스를 제공하는 것으로서, 각각의 서비스에서 필요한 데이터를 생성 및 관리한다.
일반적으로 모든 서비스에서 새로운 데이터를 생성 시 데이터를 식별할 수 있는 고유한 ID를 생성하게 되고, 이 때 생성되는 ID를 이용하여 각 서비스 간 데이터를 참조할 수 있다.
기존 서비스의 경우, 고유한 ID를 생성함에 있어 범용 고유 식별자인 UUID(universally unique identifier)를 주로 사용되고 있으나, 이는 데이터의 크기가 너무 크고 문자(character)가 포함되어 있어 가독성이 떨어지고 데이터베이스의 성능을 떨어뜨리는 문제점이 있다.
또한, ID의 생성 관리 주체가 중앙 서버이므로 ID를 생성할 때 마다 중앙 서버에 접속해야 하므로 성능이 낮아지며, 중앙 서버가 일부 구성이 동작하지 않으면 전체가 중단되는 단일 장애 포인트(SPOF: single point of failure)가 되므로 서비스의 신뢰도가 떨어진다.
또한, 각 서비스에서 생성되는 ID는 각 서비스 자체에서 일련 번호를 관리하여 생성하므로, 전체 서비스에 걸쳐 유일성을 보장해주지 못하는 문제점이 있다.
따라서, 전체 서비스에 걸쳐 유일성이 보장되면서도 데이터베이스의 성능에 영향을 주지 않는 ID 생성 방식이 요구된다. 또한, 짧은 시간에 많은 데이터가 생성되는 경우에도 ID의 유일성을 보장할 수 있는 방법이 요구된다.
미국등록특허공보 제10484410호(2019.11.19. 등록)
본 발명이 해결하고자 하는 기술적 과제는, 복수의 서비스 인스턴스 각각에 의해 생성되는 데이터를 식별하기 위한 ID의 생성 시 전체 서비스에 걸쳐 유일성을 보장할 수 있는 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 각각의 서비스 인스턴스에 의해 생성되는 데이터를 식별하기 위한 ID의 생성 시 성능 및 신뢰성을 보장할 수 있는 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계, 및 상기 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 단계를 포함하되, 상기 식별 ID는 상기 인스턴스 ID, 일련 번호, 및 시간 정보를 포함한다.
일 실시예로서, 상기 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 상기 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성하고, 상기 생성된 인스턴스 ID 및 생성 시간 정보를 데이터베이스 서버에 저장하는 단계, 및 상기 각각의 인스턴스 ID를 상기 각각의 서비스 인스턴스의 내부 메모리에 저장하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계는, 상기 내부 메모리에 저장되어 있는 인스턴스 ID를 획득하는 단계를 포함할 수 있다.
일 실시예로서, 상기 데이터베이스 서버에 저장하는 단계는, 상기 각각의 서비스 인스턴스의 식별 정보를 상기 인스턴스 ID 및 생성 시간 정보와 함께 데이터베이스 서버에 저장하는 단계를 포함하고, 상기 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계는, 상기 각각의 서비스 인스턴스가 재기동된 경우, 상기 각각의 서비스 인스턴스의 식별 정보를 이용하여 상기 데이터베이스 서버에 저장되어 있는 인스턴스 ID를 획득하는 단계를 포함할 수 있다.
일 실시예로서, 상기 식별 정보는, 상기 각각의 서비스 인스턴스가 설치된 장치의 IP 어드레스 및 상기 각각의 서비스 인스턴스가 설치된 디렉토리 정보 중 적어도 하나를 포함할 수 있다.
일 실시예로서, 상기 데이터베이스에 서버에 저장된 인스턴스 ID에 대응하는 생성 시간 정보를 기 설정된 시간 주기로 업데이트하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 데이터베이스 서버에 기 저장되어 있는 복수의 인스턴스 ID 중 상기 생성 시간 정보를 기준으로 소정 시간이 경과한 인스턴스 ID를 폐기하는 단계를 더 포함하고, 상기 데이터베이스 서버에 저장하는 단계는, 상기 폐기된 인스턴스 ID를 재사용하는 단계를 포함할 수 있다.
일 실시예로서, 상기 인스턴스 ID 및 상기 일련 번호는 각각 제1 길이 및 제2 길이를 가지며, 상기 데이터베이스 서버에 저장하는 단계는, 상기 인스턴스 ID의 생성 시, 상기 제1 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 제1 길이를 1만큼 증가시키고 상기 제2 길이를 1만큼 감소시켜 상기 인스턴스 ID를 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 일련 번호는 제2 길이를 가지며, 상기 식별 ID를 생성하는 단계는, 상기 일련 번호의 생성 시, 상기 제2 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 시간 정보를 소정 단위 시간만큼 증가시키고 기 사용된 일련 번호를 재사용하여 상기 식별 ID를 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 시간 정보는 기 설정된 자리의 숫자로 표현되는 타임 스탬프(timestamp)일 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 컴퓨터로 하여금 상기 방법을 수행하도록 하는 컴퓨터 프로그램을 저장할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 식별 아이디 생성 장치는, 외부장치와 통신하는 통신부, 저장부, 및 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 인스턴스 ID 획득 모듈, 및 상기 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 식별 ID 생성 모듈을 포함하는 적어도 하나의 프로세서를 포함하고, 상기 식별 ID는 상기 인스턴스 ID, 일련 번호, 및 시간 정보를 포함한다.
일 실시예로서, 상기 프로세서는, 상기 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 상기 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성하고, 상기 생성된 인스턴스 ID 및 생성 시간 정보를 데이터베이스 서버로 전송하도록 상기 통신부를 제어하고, 상기 각각의 인스턴스 ID를 상기 저장부에 저장하도록 제어할 수 있다.
일 실시예로서, 상기 인스턴스 ID 획득 모듈은, 상기 저장부에 저장되어 있는 인스턴스 ID를 획득할 수 있다.
일 실시예로서, 상기 프로세서는, 상기 각각의 서비스 인스턴스의 식별 정보를 상기 인스턴스 ID 및 생성 시간 정보와 함께 상기 데이터베이스 서버로 전송하도록 상기 통신부를 제어하고, 상기 인스턴스 ID 획득 모듈은, 상기 각각의 서비스 인스턴스가 재기동된 경우, 상기 각각의 서비스 인스턴스의 식별 정보를 이용하여 상기 데이터베이스 서버에 저장되어 있는 인스턴스 ID를 획득할 수 있다.
일 실시예로서, 상기 식별 정보는, 상기 각각의 서비스 인스턴스가 설치된 장치의 IP 어드레스 및 상기 각각의 서비스 인스턴스가 설치된 디렉토리 정보 중 적어도 하나를 포함할 수 있다.
일 실시예로서, 상기 프로세서는, 상기 데이터베이스 서버에 저장된 인스턴스 ID에 대응하는 생성 시간 정보를 기 설정된 시간 주기로 업데이트하여 상기 데이터베이스 서버로 전송하도록 상기 통신부를 제어할 수 있다.
일 실시예로서, 상기 프로세서는, 상기 데이터베이스 서버에 기 저장되어 있는 복수의 인스턴스 ID 중 상기 생성 시간 정보를 기준으로 소정 시간이 경과한 인스턴스 ID를 폐기하도록 요청을 전송하고, 상기 폐기된 인스턴스 ID를 재사용할 수 있다.
일 실시예로서, 상기 인스턴스 ID 및 상기 일련 번호는 각각 제1 길이 및 제2 길이를 가지며, 상기 프로세서는, 상기 인스턴스 ID의 생성 시, 상기 제1 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 제1 길이를 1만큼 증가시키고 상기 제2 길이를 1만큼 감소시켜 상기 인스턴스 ID를 생성할 수 있다.
일 실시예로서, 상기 시간 정보는 기 설정된 자리의 숫자로 표현되는 타임 스탬프(timestamp)일 수 있다.
도 1은 본 발명의 실시예에 따른 식별 아이디 생성 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 식별 아이디 생성 장치의 구성을 도시한 블록도이다.
도 3 내지 도 5는 본 발명의 다른 실시예에 따른 식별 아이디 생성 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 몇몇 실시예에 따른 각각의 서비스 인스턴스에서 인스턴스 ID를 생성하여 등록하는 예이다.
도 7은 본 발명의 몇몇 실시예에 따른 인스턴스 ID의 등록 시 서비스 인스턴스의 식별 정보를 함께 등록하는 예이다.
도 8은 본 발명의 몇몇 실시예에 따른 식별 ID의 구성을 도시한 예이다.
도 9는 본 발명의 몇몇 실시예에 따른 사용중인 인스턴스 ID의 생성 시간 정보를 업데이트하는 예이다.
도 10은 본 발명의 몇몇 실시예에 따른 인스턴스가 재기동되는 경우 기 등록된 인스턴스 ID를 사용하는 예이다.
도 11은 본 발명의 몇몇 실시예에 따른 인스턴스 ID를 재활용 또는 자리 수를 증가시키는 예이다.
도 12는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 식별 아이디 생성 시스템의 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 시스템은 복수의 식별 아이디 생성 장치(1, 2), 및 데이터베이스 서버(30)로 구성된다.
복수의 식별 아이디 생성 장치(1, 2) 각각은 적어도 하나의 서비스 인스턴스(111, 112, 113, 211, 212, 213)가 설치되어 실행될 수 있는 환경을 제공하는 장치로서, 예컨대 서버 장치 또는 PC, 노트북, 스마트 폰, 태블릿 등과 같은 컴퓨팅 장치로 구현될 수 있다. 이 때, 복수의 서비스 인스턴스(111, 112, 113, 211, 212, 213) 각각은 예컨대, 마이크로 서비스 아키텍처를 구성하는 각 서비스에 대응하거나, 혹은 어플리케이션 서비스에 대응할 수 있다. 또한, 복수의 서비스 인스턴스(111, 112, 113, 211, 212, 213) 각각은 동일한 기능을 포함할 수도 있다.
도시된 바와 같이, 식별 아이디 생성 장치(1)에는 복수의 서비스 인스턴스(111, 112, 113)가 설치될 수 있다. 식별 아이디 생성 장치(1)는 각각의 서비스 인스턴스(111, 112, 113)가 최초 기동되는 시점에 각각의 인스턴스 ID를 생성하고, 이를 데이터베이스 서버(30)에 등록한다. 이 때, 식별 아이디 생성 장치(1)는 생성된 각각의 인스턴스 ID를 각각의 서비스 인스턴스의 내부 메모리에 저장할 수 있다.
데이터베이스 서버(30)는 복수의 식별 아이디 생성 장치(1, 2)와 네트워크를 통해 연결된 별도의 DB 서버로 구현될 수 있고, 특정 유형의 DB 서버로 한정되지 않는다.
데이터베이스 서버(30)는 복수의 식별 아이디 생성 장치(1, 2) 각각에 설치된 복수의 서비스 인스턴스(111, 112, 113, 211, 212, 213) 각각이 최초 기동될 때 생성되는 각각의 인스턴스 ID를 수신하여 저장한다.
식별 아이디 생성 장치(1)는 각각의 서비스 인스턴스(111, 112, 113)의 실행 시 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하고, 이 때, 식별 ID는 인스턴스 ID, 일련 번호, 및 시간 정보의 구성을 포함한다.
일 실시예로서, 식별 아이디 생성 장치(1)는 각각의 서비스 인스턴스(111, 112, 113)에 의한 데이터 항목의 생성 시 해당 서비스 인스턴스의 내부 메모리에 저장되어 있는 인스턴스 ID를 이용하여 각각의 식별 ID를 생성할 수 있다. 다른 실시예로서, 식별 아이디 생성 장치(1)는 각각의 서비스 인스턴스(111, 112, 113)가 재기동되는 경우, 데이터베이스 서버(30)에 등록되어 있는 인스턴스 ID를 이용하여 각각의 식별 ID를 생성할 수 있다.
상기와 같이 본 발명의 실시예에 따른 시스템의 구성에 의해, 서비스 인스턴스에 의해 생성되는 데이터를 식별하기 위한 ID를 생성할 수 있고, 이와 같이 생성된 ID는 전체 서비스에 걸쳐 유일성을 보장할 수 있다. 또한, 중앙 데이터베이스 서버에 대한 의존도를 낮추어 시스템의 성능을 보장할 수 있다.
도 2는 본 발명의 일 실시예에 따른 식별 아이디 생성 장치의 구성을 도시한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 식별 아이디 생성 장치(1)는 통신부(14), 저장부(15), 및 프로세서(11)를 포함하고, 통신부(14)를 통해 데이터베이스 서버(30)와 연결될 수 있다.
프로세서(11)는 인스턴스 ID 획득 모듈(12) 및 식별 ID 생성 모듈(13)을 포함하고, 인스턴스 ID 생성 모듈(미도시)을 더 포함할 수 있다. 일 실시예로서, 인스턴스 ID 획득 모듈(12), 식별 ID 생성 모듈(13), 및 인스턴스 ID 생성 모듈(미도시)은 각각의 서비스 인스턴스 내부에 라이브러리 형태로 존재할 수 있다.
인스턴스 ID 생성 모듈(미도시)은 식별 아이디 생성 장치(1)에 설치된 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성한다.
프로세서(11)는 인스턴스 ID 생성 모듈(미도시)에 의해 생성된 각각의 인스턴스 ID와, 각각의 인스턴스 ID의 생성 시간 정보, 및 각각의 서비스 인스턴스의 식별 정보를 데이터베이스 서버(30)로 전송하도록 통신부(14)를 제어한다. 여기서, 생성 시간 정보는, 각각의 인스턴스 ID가 생성된 시점을 알 수 있는 정보로서 사용될 수 있다. 또한, 식별 정보는, 각각의 서비스 인스턴스가 설치된 장치의 IP 어드레스 및 상기 각각의 서비스 인스턴스가 설치된 디렉토리 정보 중 적어도 하나를 포함하는 것으로서, 인스턴스 ID와 더불어 각각의 서비스 인스턴스를 구분하기 위한 정보로서 사용될 수 있다.
또한, 프로세서(11)는 각각의 인스턴스 ID를 저장부(15)에 저장하도록 제어한다. 일 실시예로서, 프로세서(11)는 각각의 인스턴스 ID를 각각의 서비스 인스턴스의 내부 메모리에 저장할 수 있다.
인스턴스 ID 획득 모듈(12)은 복수의 서비스 인스턴스 각각을 식별하기 위한 인스턴스 ID를 획득한다.
일 실시예로서, 인스턴스 ID 획득 모듈(12)은 각각의 서비스 인스턴스가 최초 기동된 시점부터 재기동되기 전까지 저장부(15) 또는 각각의 서비스 인스턴스의 내부 메모리에 저장되어 있는 인스턴스 ID를 획득할 수 있다. 각각의 인스턴스 ID가 각각의 서비스 인스턴스의 내부 메모리에 저장되어 있는 경우, 각각의 서비스 인스턴스가 재기동되면 내부 메모리에 저장되어 있는 인스턴스 ID에 관한 정보는 사라질 수 있다.
일 실시예로서, 인스턴스 ID 획득 모듈(12)은 각각의 서비스 인스턴스가 재기동된 경우, 내부 메모리에 더 이상 인스턴스 ID가 존재하지 않으므로 각각의 서비스 인스턴스의 식별 정보를 이용하여 데이터베이스 서버(30)에 저장되어 있는 인스턴스 ID를 획득할 수 있다. 예로서, 인스턴스 ID 획득 모듈(12)은 서비스 인스턴스가 재기동된 경우, 해당 서비스 인스턴스가 설치된 장치의 IP 어드레스와 설치된 디렉토리 정보를 이용하여 데이터베이스 서버(30)에 등록되어 있는 인스턴스 ID를 가져올 수 있다.
식별 ID 생성 모듈(13)은 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성한다. 식별 ID 생성 모듈(13)은 식별 ID를 생성하기 위해 인스턴스 ID 획득 모듈(12)에서 획득한 인스턴스 ID를 사용할 수 있다. 이 때, 인스턴스 ID는 각각의 서비스 인스턴스의 내부 메모리로부터 가져오거나, 인스턴스가 재기동된 경우 해당 서비스 인스턴스의 식별 정보를 이용하여 데이터베이스 서버(30)에서 가져올 수 있다.
일 실시예로서, 도 8에 도시된 바와 같이, 식별 ID(10)는 예컨대 19자리의 정수로 표현될 수 있고, 시간 정보(1001), 인스턴스 ID(1002), 및 일련 번호(sequence number)(1003)를 포함하도록 구성될 수 있다. 여기서, 시간 정보(1001)는 13자리의 숫자로 표현되는 밀리 세컨드(millisecond) 단위의 타임 스탬프(timestamp)로 표현될 수 있고, 인스턴스 ID(1002)는 001부터 999까지의 3자리의 숫자로 표현될 수 있다. 또한, 일련 번호(1003)는 001부터 999까지의 3자리의 숫자로 표현되고, 해당 서비스 인스턴스에서 새로운 식별 ID가 생성될 때마다 1만큼 증가된 값이 사용될 수 있다.
일 실시예로서, 식별 ID 생성 모듈(13)은 식별 ID의 생성 시, 도 8의 예와 같이 시간 정보(1001), 인스턴스 ID(1002), 및 일련 번호(sequence number)(1003)를 순차적으로 나열하여 식별 ID를 생성하거나, 그 나열되는 순서를 변경하여 식별 ID를 생성할 수 있다.
일 실시예로서, 프로세서(11)는 데이터베이스 서버(30)에 등록된 인스턴스 ID의 생성 시간 정보를 기 설정된 시간 주기로 업데이트하여 데이터베이스 서버(30)로 전송하도록 통신부(14)를 제어할 수 있다. 이와 같이, 각각의 서비스 인스턴스에서 사용중인 인스턴스 ID의 생성 시간 정보를 주기적으로 업데이트함에 의해, 이후에 각각의 서비스 인스턴스가 삭제되는 경우 해당 서비스 인스턴스에서 사용하던 인스턴스 ID를 재활용하여 다른 서비스 인스턴스에서 사용하도록 할 수 있다.
일 실시예로서, 프로세서(11)는 데이터베이스 서버(30)에 등록되어 있는 복수의 인스턴스 ID 중 생성 시간 정보를 기준으로 소정 시간이 경과한 인스턴스 ID를 폐기하도록 요청을 전송하고, 폐기된 인스턴스 ID를 재사용할 수 있다. 이에 따라, 신규 인스턴스 ID를 생성하는 시점에 기존 인스턴스 ID들의 생성 시간 정보를 기준으로 일정 시간이 경과한 인스턴스 ID를 재사용할 수 있게 된다.
일 실시예로서, 프로세서(11)는, 인스턴스 ID의 생성 시, 제1 길이로 표현 가능한 값들이 모두 사용된 경우, 제1 길이를 1만큼 증가시켜 인스턴스 ID를 생성할 수 있다. 이 때, 인스턴스 ID의 제1 길이가 1만큼 증가된 것에 대응하여, 일련 번호의 제2 길이를 1만큼 감소시킬 수 있다.
일 실시예로서, 식별 ID 생성 모듈(13)은, 일련 번호의 생성 시, 제2 길이로 표현 가능한 값들이 모두 사용된 경우, 시간 정보를 소정 단위 시간만큼 증가시키고 기 사용된 일련 번호를 재사용하여 식별 ID를 생성할 수 있다. 예로서, 1 밀리 세컨드(ms) 당 999개 이상의 식별 ID가 생성되는 경우, 짧은 시간 동안 대량의 일련 번호가 생성되어야 한다. 이 경우, 일련 번호(sequence number)가 999에 도달하는 순간 시간 정보(timestamp)를 1ms 만큼 증가시키고, 일련 번호를 001부터 재사용하는 방법으로 식별 ID를 생성할 수 있다.
상기와 같이 본 발명의 실시예에 따른 식별 아이디 생성 장치(1)의 구성에 의해, 각각의 서비스 인스턴스에 의해 생성되는 데이터 항목들을 식별할 수 있도록, 전체 서비스에 걸쳐 유일성이 보장되면서도 데이터베이스의 성능에 영향을 주지 않는 ID를 생성할 수 있다. 또한, 각각의 인스턴스에 의해 짧은 시간에 많은 데이터가 생성되는 경우에도 ID의 유일성을 보장할 수 있다.
도 3 내지 도 5는 본 발명의 다른 실시예에 따른 식별 아이디 생성 방법을 설명하기 위한 순서도이다.
본 발명의 실시예에 따른 식별 아이디 생성 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 식별 아이디 생성 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 발명의 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 3을 참조하면, 먼저, 동작 S51에서, 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID가 획득된다.
일 실시예로서, 동작 S51 이전에 동작 S50이 수행될 수 있다. 동작 S50에서, 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID가 생성 및 등록된다.
도 4를 참조하면, 동작 S50은, 동작 S501 내지 동작 S503을 포함한다. 동작 S501에서, 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID가 생성된다.
동작 S502에서, 상기 동작 S50에서 생성된 인스턴스 ID와, 인스턴스 ID가 생성된 시점인 생성 시간 정보가 데이터베이스 서버(30)에 저장된다.
동작 S503에서는, 각각의 인스턴스 ID가 상기 각각의 서비스 인스턴스의 내부 메모리에 저장된다.
일 실시예로서, 도 5를 참조하면, 동작 S51은, 동작 S511 내지 동작 S514를 더 포함할 수 있다.
동작 S511에서, 각각의 서비스 인스턴스의 식별 정보가 인스턴스 ID 및 생성 시간 정보와 함께 데이터베이스 서버(30)에 저장된다.
동작 S512에서, 각각의 서비스 인스턴스가 재기동 되었는지 여부가 판단되고, 재기동된 것으로 판단된 경우, 동작 S513에서, 각각의 서비스 인스턴스의 식별 정보를 이용하여 데이터베이스 서버(30)에 저장되어 있는 인스턴스 ID가 획득된다. 만약 동작 S512에서, 재기동되지 않은 것으로 판단된 경우, 동작 S514에서, 서비스 인스턴스의 내부 메모리에 저장되어 있는 인스턴스 ID가 획득된다.
마지막으로, 동작 S52에서, 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID가 생성된다. 이 때, 식별 ID는 인스턴스 ID, 일련 번호, 및 시간 정보를 포함하고, 시간 정보는 기 설정된 자리의 숫자로 표현되는 타임 스탬프일 수 있다.
상기와 같이 본 발명의 실시예에 따른 식별 아이디 생성 방법에 의해, 서비스 인스턴스에 의해 생성되는 데이터 항목을 식별할 수 있는 유일한 ID를 생성할 수 있다. 또한, 식별 아이디의 생성 시 중앙 데이터베이스 서버에 대한 의존도를 낮추어 성능 및 신뢰성을 보장할 수 있다.
도 6은 본 발명의 몇몇 실시예에 따른 각각의 서비스 인스턴스에서 인스턴스 ID를 생성하여 등록하는 예이다. 도 6을 참조하면, 복수의 식별 아이디 생성 장치(1, 2) 각각은 복수의 서비스 인스턴스(111, 112, 113, 211, 212, 213)가 설치되어 실행되는 환경을 제공한다. 여기서, 각각의 서비스 인스턴스는 어플리케이션을 포함할 수 있다.
도시된 예에서, 제1 식별 아이디 생성 장치(1)에는 예컨대 인증 서비스(111), 제1 파일 서비스(112), 및 제2 파일 서비스(113)과 같은 복수의 서비스 인스턴스가 설치되어 실행될 수 있다. 또한, 제2 식별 아이디 생성 장치(2)에는 예컨대 인증 서비스(211), 제1 공통 서비스(212), 및 제2 공통 서비스(213)과 같은 복수의 서비스 인스턴스가 설치되어 실행될 수 있다.
제1 식별 아이디 생성 장치(1)에 설치된 각각의 서비스 인스턴스(111, 112, 113) 내부에는 각각의 식별 ID 생성 모듈(1110, 1120, 1130)이 존재하고, 제2 식별 아이디 생성 장치(2)에 설치된 각각의 서비스 인스턴스(211, 212, 213) 내부에는 각각의 식별 ID 생성 모듈(2110, 2120, 2130)이 존재한다. 이 때, 각각의 식별 ID 생성 모듈(1110, 1120, 1130, 2110, 2120, 2130)은 대응하는 각각의 서비스 인스턴스(111, 112, 113, 211, 212, 213) 내에 라이브러리 형태로 저장될 수 있다.
일 실시예로서, 각각의 서비스 인스턴스(111, 112, 113, 211, 212, 213) 내에 존재하는 식별 ID 생성 모듈(1110, 1120, 1130, 2110, 2120, 2130) 각각은 각각의 서비스 인스턴스(111, 112, 113, 211, 212, 213)에 의해 데이터 항목이 생성되면, 생성되는 각 데이터 항목을 식별할 수 있는 식별 ID를 생성할 수 있다.
이 때, 식별 ID는 각각의 서비스 인스턴스를 식별할 수 있는 인스턴스 ID를 이용하여 생성될 수 있고, 인스턴스 ID는 각각의 인스턴스가 최초 기동되는 시점에 생성되어, 데이터베이스 서버(30)에 저장되어 관리될 수 있다.
데이터베이스 서버(30)는 각각의 인스턴스 ID에 관한 정보를 하나의 테이블(300)에 저장하고, 테이블(300)은 정보를 저장하기 위한 필드로서, 예컨대 인스턴스 ID(31), 설치 디렉토리 정보(32), IP 어드레스(33), 및 생성 시간 정보(34) 등의 필드를 포함할 수 있다.
여기서, 인스턴스 ID(31) 필드에는 각각의 서비스 인스터스가 최초 기동된 시점에 생성된 인스턴스 ID가 저장될 수 있다. 인스턴스 ID는, 예컨대 001부터 999까지의 3자리 숫자로 표현될 수 있다.
생성 시간 정보(34) 필드에는 인스턴스 ID가 최초 생성된 시점인 생성 시간 또는 인스턴스 ID가 업데이트된 시점인 갱신 시간에 관한 정보가 저장될 수 있다.
도 7을 참조하면, 테이블(300)의 설치 디렉토리 정보(32) 및 IP 어드레스(33) 필드에는 해당 서비스 인스턴스(111)를 식별할 수 있는 식별 정보로서, 인스턴스(111)가 설치된 장치의 IP 어드레스 및 설치 디렉토리에 관한 정보가 저장될 수 있다. 이와 같이, 설치 디렉토리 정보(32) 및 IP 어드레스(33) 필드에 저장되는 정보를 이용하여, 해당 서비스 인스턴스(111)가 다른 서비스 인스턴스와 구분될 수 있다. 또한, 해당 서비스 인스턴스(111)가 재기동되는 경우, 식별 ID를 생성함에 있어 설치 디렉토리 정보(32) 및 IP 어드레스(33) 필드에 저장되어 있는 정보를 이용하여 대응하는 인스턴스 ID를 조회하여 사용할 수 있다.
상기와 같은 본 발명의 실시예에 의하면, 각각의 서비스 인스턴스에서 생성되는 인스턴스 ID와, 식별 정보, 및 생성 시간 정보를 중앙의 데이터베이스 서버에 등록하여 관리함에 의해, 인스턴스의 재기동시 데이터베이스 서버에 저장된 정보를 참조하여 식별 ID를 생성할 수 있다.
도 9는 본 발명의 몇몇 실시예에 따른 사용중인 인스턴스 ID의 생성 시간 정보를 업데이트하는 예이다. 도 9를 참조하면, 제1 식별 아이디 생성 장치(1)는 인증 서비스(111)의 최초 기동 시 생성된 인스턴스 ID와 생성된 시간에 관한 정보를 데이터베이스 서버(30)에 존재하는 테이블(300)의 인스턴스 ID(31)와 생성 시간 정보(34) 필드에 저장할 수 있다.
일 실시예로서, 인증 서비스(111) 내에 존재하는 식별 ID 생성 모듈(1110)은 테이블(300)의 생성 시간 정보(34) 필드에 저장된 정보를 주기적으로 업데이트할 수 있다. 예로서, 식별 ID 생성 모듈(1110)은 인스턴스 ID인 '001'에 대응하는 생성 시간 정보를 주기적으로 변경함에 의해 '001'이 계속해서 사용중임을 확인할 수 있도록 한다.
일 실시예로서, 신규 인스턴스에 대한 인스턴스 ID를 등록하는 시점에 테이블(300)에 저장되어 있는 생성 시간 정보를 기준으로 일정 기간이 지난 인스턴스 ID는 재사용될 수 있다.
상기와 같은 본 발명의 실시예에 따라, 사용중인 인스턴스 ID의 생성 시간 정보를 주기적으로 업데이트함에 의해, 사용되지 않는 인스턴스 ID는 재활용할 수 있는 방안을 제공할 수 있다.
도 10은 본 발명의 몇몇 실시예에 따른 인스턴스가 재기동되는 경우 기 등록된 인스턴스 ID를 사용하는 예이다. 도 10을 참조하면, 제1 식별 아이디 생성 장치(1)는 인증 서비스(111)의 최초 기동 시 생성된 인스턴스 ID와, 인증 서비스(111)의 설치 디렉토리, IP 어드레스, 및 생성된 시간에 관한 정보를 데이터베이스 서버(30)에 존재하는 테이블(300)의 인스턴스 ID(31), 설치 디렉토리 정보(32), IP 어드레스(33), 및 생성 시간 정보(34) 필드에 각각 저장할 수 있다.
일 실시예로서, 식별 ID 생성 모듈(1110)은 인증 서비스(111)가 재기동되는 경우, 데이터베이스 서버(30)의 테이블(300)에 저장된 정보를 이용하여 획득한 인스턴스 ID를 이용하여 식별 ID를 생성할 수 있다.
예로서, 인증 서비스(111)의 재기동 시, 인증 서비스(111)의 설치 디렉토리 정보인 '/service/인증'과, IP 어드레스인 '11.22.33.44'를 이용하여 데이터베이스 서버(30)의 테이블(300)에서 기 등록된 인스턴스 ID인 '001'이 존재함을 확인할 수 있다. 이 때, 인증 서비스(111)에 의해 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성함에 있어, 기 등록된 인스턴스 ID인 '001'을 사용할 수 있다. 만약, 인증 서비스(111)에 대해 기 등록된 인스턴스 ID가 테이블(300)에 존재하지 않는 경우, 신규 인스턴스 ID를 생성하여 테이블(300)에 저장할 수 있다.
도 11은 본 발명의 몇몇 실시예에 따른 인스턴스 ID를 재활용 또는 자리 수를 증가시키는 예이다. 도 11을 참조하면, 제2 식별 아이디 생성 장치(2)는 제1 공통 서비스(212)의 최초 기동 시 신규 인스턴스 ID를 생성함에 있어, 데이터베이스 서버(30)의 테이블(300)에 저장되어 있는 인스턴스 ID가 3자리 숫자 중 최대값인 999까지 모두 등록되어 있는 경우, 001부터 999까지의 각각의 인스턴스 ID에 대응하는 생성 시간 정보를 확인하여 미사용중인 인스턴스 ID를 재사용할 수 있다.
예로서, 001부터 999까지의 인스턴스 ID들 중 생성 시간 정보가 일정 시간이 경과한 인스턴스 ID인 '004'를 미사용중인 것으로 보고, 이를 제1 공통 서비스(212)의 인스턴스 ID로 수정하여 사용할 수 있다.
일 실시예로서, 제2 식별 아이디 생성 장치(2)는 제2 공통 서비스(213)의 최초 기동 시 신규 인스턴스 ID를 생성함에 있어, 데이터베이스 서버(30)의 테이블(300)에 저장되어 있는 인스턴스 ID가 3자리 숫자 중 최대값인 999까지 모두 등록되어 있는 경우, 인스턴스 ID의 자릿수를 4자리로 자동 변경할 수 있다. 예로서, 인스턴스 ID의 자릿수를 3자리에서 4자리로 변경하여 '0001'을 제2 공통 서비스(213)의 인스턴스 ID로 등록할 수 있다. 이 경우, 인스턴스 ID의 자릿수가 증가된 만큼 일련 번호의 자릿수를 3자리에서 2자리로 감소시켜 식별 ID를 생성할 수 있다.
상기와 같은 본 발명의 실시예에 따라, 서비스 인스턴스의 식별 ID를 생성하기 위해 사용되는 인스턴스 ID가 설정된 자릿수 내에서 모두 사용된 경우, 기존에 등록된 인스턴스 ID들 중 미사용중인 ID를 재사용하거나, 인스턴스 ID의 자릿수를 증가시키되 일련 번호의 자릿수를 감소시키는 방법으로 예외적인 상황을 해결할 수 있다.
도 12는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 12에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 12에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
일 실시예로서, 컴퓨터 프로그램(105)은 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 동작, 및 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. 여기서, 식별 ID는 인스턴스 ID, 일련 번호, 및 시간 정보를 포함한다.
일 실시예로서, 컴퓨터 프로그램(105)은 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성하는 동작, 생성된 인스턴스 ID 및 생성 시간 정보를 데이터베이스 서버(30)에 저장하는 동작, 및 각각의 인스턴스 ID를 각각의 서비스 인스턴스의 내부 메모리에 저장하는 동작을 더 포함할 수 있다.
일 실시예로서, 인스턴스 ID를 획득하는 동작은, 내부 메모리에 저장되어 있는 인스턴스 ID를 획득하는 동작을 포함할 수 있다.
일 실시예로서, 데이터베이스 서버에 저장하는 동작은, 각각의 서비스 인스턴스의 식별 정보를 상기 인스턴스 ID 및 생성 시간 정보와 함께 데이터베이스 서버에 저장하는 동작을 포함하고, 인스턴스 ID를 획득하는 동작은, 각각의 서비스 인스턴스가 재기동된 경우, 각각의 서비스 인스턴스의 식별 정보를 이용하여 데이터베이스 서버(30)에 저장되어 있는 인스턴스 ID를 획득하는 동작을 포함할 수 있다.
상기와 같이, 본 발명의 실시예에 따른 컴퓨팅 장치(100)에 의하면, 복수의 서비스 인스턴스 각각에 의해 생성되는 데이터를 식별하기 위한 ID의 생성 시 전체 서비스에 걸쳐 유일성을 보장할 수 있다. 또한, ID의 생성 시 중앙 데이터베이스 서버에 대한 의존도가 낮아 성능 및 신뢰성을 보장할 수 있다.
지금까지 도 1 내지 도 12를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계; 및
    상기 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 단계를 포함하되,
    상기 식별 ID는 상기 인스턴스 ID, 일련 번호, 및 시간 정보를 포함하는,
    식별 아이디 생성 방법.
  2. 제1 항에 있어서,
    상기 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 상기 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성하고, 상기 생성된 인스턴스 ID 및 생성 시간 정보를 데이터베이스 서버에 저장하는 단계; 및
    상기 각각의 인스턴스 ID를 상기 각각의 서비스 인스턴스의 내부 메모리에 저장하는 단계를 더 포함하는,
    식별 아이디 생성 방법.
  3. 제2 항에 있어서,
    상기 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계는,
    상기 내부 메모리에 저장되어 있는 인스턴스 ID를 획득하는 단계를 포함하는,
    식별 아이디 생성 방법.
  4. 제2 항에 있어서,
    상기 데이터베이스 서버에 저장하는 단계는,
    상기 각각의 서비스 인스턴스의 식별 정보를 상기 인스턴스 ID 및 생성 시간 정보와 함께 데이터베이스 서버에 저장하는 단계를 포함하고
    상기 복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 단계는,
    상기 각각의 서비스 인스턴스가 재기동된 경우, 상기 각각의 서비스 인스턴스의 식별 정보를 이용하여 상기 데이터베이스 서버에 저장되어 있는 인스턴스 ID를 획득하는 단계를 포함하는,
    식별 아이디 생성 방법.
  5. 제4 항에 있어서,
    상기 식별 정보는,
    상기 각각의 서비스 인스턴스가 설치된 장치의 IP 어드레스 및 상기 각각의 서비스 인스턴스가 설치된 디렉토리 정보 중 적어도 하나를 포함하는,
    식별 아이디 생성 방법.
  6. 제2 항에 있어서,
    상기 데이터베이스에 서버에 저장된 인스턴스 ID에 대응하는 생성 시간 정보를 기 설정된 시간 주기로 업데이트하는 단계를 더 포함하는,
    식별 아이디 생성 방법.
  7. 제2 항에 있어서,
    상기 데이터베이스 서버에 기 저장되어 있는 복수의 인스턴스 ID 중 상기 생성 시간 정보를 기준으로 소정 시간이 경과한 인스턴스 ID를 폐기하는 단계를 더 포함하고,
    상기 데이터베이스 서버에 저장하는 단계는,
    상기 폐기된 인스턴스 ID를 재사용하는 단계를 포함하는,
    식별 아이디 생성 방법.
  8. 제2 항에 있어서,
    상기 인스턴스 ID 및 상기 일련 번호는 각각 제1 길이 및 제2 길이를 가지며,
    상기 데이터베이스 서버에 저장하는 단계는,
    상기 인스턴스 ID의 생성 시, 상기 제1 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 제1 길이를 1만큼 증가시키고 상기 제2 길이를 1만큼 감소시켜 상기 인스턴스 ID를 생성하는 단계를 포함하는,
    식별 아이디 생성 방법.
  9. 제1 항에 있어서,
    상기 일련 번호는 제2 길이를 가지며,
    상기 식별 ID를 생성하는 단계는,
    상기 일련 번호의 생성 시, 상기 제2 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 시간 정보를 소정 단위 시간만큼 증가시키고 기 사용된 일련 번호를 재사용하여 상기 식별 ID를 생성하는 단계를 포함하는,
    식별 아이디 생성 방법.
  10. 제1 항에 있어서,
    상기 시간 정보는 기 설정된 자리의 숫자로 표현되는 타임 스탬프(timestamp)인,
    식별 아이디 생성 방법.
  11. 컴퓨터로 하여금 제1 항 내지 제10 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된,
    컴퓨터 판독 가능한 비일시적 기록 매체.
  12. 식별 아이디 생성 장치에 있어서,
    외부장치와 통신하는 통신부;
    저장부; 및
    복수의 서비스 인스턴스(instance) 각각을 식별하기 위한 인스턴스 ID를 획득하는 인스턴스 ID 획득 모듈, 및
    상기 각각의 서비스 인스턴스에 의해 순차적으로 생성되는 데이터 항목을 식별하기 위한 식별 ID를 생성하는 식별 ID 생성 모듈을 포함하는 적어도 하나의 프로세서를 포함하고,
    상기 식별 ID는 상기 인스턴스 ID, 일련 번호, 및 시간 정보를 포함하는,
    식별 아이디 생성 장치.
  13. 제12 항에 있어서,
    상기 프로세서는,
    상기 복수의 서비스 인스턴스 각각이 최초 기동되는 시점에 상기 각각의 서비스 인스턴스를 식별하기 위한 인스턴스 ID를 생성하고,
    상기 생성된 인스턴스 ID 및 생성 시간 정보를 데이터베이스 서버로 전송하도록 상기 통신부를 제어하고,
    상기 각각의 인스턴스 ID를 상기 저장부에 저장하도록 제어하는,
    식별 아이디 생성 장치.
  14. 제13 항에 있어서,
    상기 인스턴스 ID 획득 모듈은,
    상기 저장부에 저장되어 있는 인스턴스 ID를 획득하는,
    식별 아이디 생성 장치.
  15. 제13 항에 있어서,
    상기 프로세서는,
    상기 각각의 서비스 인스턴스의 식별 정보를 상기 인스턴스 ID 및 생성 시간 정보와 함께 상기 데이터베이스 서버로 전송하도록 상기 통신부를 제어하고,
    상기 인스턴스 ID 획득 모듈은,
    상기 각각의 서비스 인스턴스가 재기동된 경우, 상기 각각의 서비스 인스턴스의 식별 정보를 이용하여 상기 데이터베이스 서버에 저장되어 있는 인스턴스 ID를 획득하는,
    식별 아이디 생성 장치.
  16. 제15 항에 있어서,
    상기 식별 정보는,
    상기 각각의 서비스 인스턴스가 설치된 장치의 IP 어드레스 및 상기 각각의 서비스 인스턴스가 설치된 디렉토리 정보 중 적어도 하나를 포함하는,
    식별 아이디 생성 장치.
  17. 제13 항에 있어서,
    상기 프로세서는,
    상기 데이터베이스 서버에 저장된 인스턴스 ID에 대응하는 생성 시간 정보를 기 설정된 시간 주기로 업데이트하여 상기 데이터베이스 서버로 전송하도록 상기 통신부를 제어하는,
    식별 아이디 생성 장치.
  18. 제13 항에 있어서,
    상기 프로세서는,
    상기 데이터베이스 서버에 기 저장되어 있는 복수의 인스턴스 ID 중 상기 생성 시간 정보를 기준으로 소정 시간이 경과한 인스턴스 ID를 폐기하도록 요청을 전송하고, 상기 폐기된 인스턴스 ID를 재사용하는,
    식별 아이디 생성 장치.
  19. 제12 항에 있어서,
    상기 인스턴스 ID 및 상기 일련 번호는 각각 제1 길이 및 제2 길이를 가지며,
    상기 프로세서는,
    상기 인스턴스 ID의 생성 시, 상기 제1 길이로 표현 가능한 값들이 모두 사용된 경우, 상기 제1 길이를 1만큼 증가시키고 상기 제2 길이를 1만큼 감소시켜 상기 인스턴스 ID를 생성하는,
    식별 아이디 생성 장치.
  20. 제12 항에 있어서,
    상기 시간 정보는 기 설정된 자리의 숫자로 표현되는 타임 스탬프(timestamp)인,
    식별 아이디 생성 장치.
KR1020200139326A 2020-10-26 2020-10-26 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치 KR20220055151A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200139326A KR20220055151A (ko) 2020-10-26 2020-10-26 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치
US17/510,664 US20220129458A1 (en) 2020-10-26 2021-10-26 Method for generating identification id, and apparatus implementing the same method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200139326A KR20220055151A (ko) 2020-10-26 2020-10-26 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치

Publications (1)

Publication Number Publication Date
KR20220055151A true KR20220055151A (ko) 2022-05-03

Family

ID=81258445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200139326A KR20220055151A (ko) 2020-10-26 2020-10-26 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치

Country Status (2)

Country Link
US (1) US20220129458A1 (ko)
KR (1) KR20220055151A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102556788B1 (ko) * 2023-06-01 2023-07-20 (주)와치텍 다중 웹애플리케이션에 대한 성능 모니터링 및 이벤트 사전 예측을 위한 머신러닝 학습 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708997B (zh) * 2020-06-19 2023-06-13 浙江大华技术股份有限公司 目标对象身份标识符的确定方法、装置及存储介质
CN114900497B (zh) * 2022-05-09 2023-09-26 上海极豆科技有限公司 一种标识序号生成方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4941040B2 (ja) * 2007-03-26 2012-05-30 富士通株式会社 テスト仕様書生成プログラム、およびテスト仕様書生成装置
JP5320637B2 (ja) * 2008-03-31 2013-10-23 株式会社Jsol データ検索システム、システム、プログラム、およびデータ検索方法
WO2019164293A1 (ko) * 2018-02-21 2019-08-29 주식회사 팬라인 비계층적 데이터베이스 구조를 활용한 정보 검색 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102556788B1 (ko) * 2023-06-01 2023-07-20 (주)와치텍 다중 웹애플리케이션에 대한 성능 모니터링 및 이벤트 사전 예측을 위한 머신러닝 학습 방법

Also Published As

Publication number Publication date
US20220129458A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
KR20220055151A (ko) 식별 아이디 생성 방법, 그리고 이를 구현하기 위한 장치
US8601466B2 (en) Software deployment method and system, software deployment server and user server
CN107589994B (zh) 应用进程优先级管理的方法、设备、***及存储介质
US9038059B2 (en) Automatically targeting application modules to individual machines and application framework runtimes instances
US20140181817A1 (en) Methods and apparatus to manage execution of virtual machine workflows
US20160154665A1 (en) Virtual machine deployment method, virtual machine deployment program, and virtual machine deployment system
US8635682B2 (en) Propagating security identity information to components of a composite application
CN113590169B (zh) 应用部署方法、应用部署***和计算机可读存储介质
US10019345B2 (en) Executing multi-version tests against a multi-version application
CN108563472B (zh) 基于多开应用的服务插件加载方法及装置
US20220374742A1 (en) Method, device and storage medium for running inference service platform
CN107463390B (zh) 一种软件升级方法及升级服务器
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
JP6448012B2 (ja) 仮想マシン名を表示するための方法、装置、およびシステム
US20180338007A1 (en) System and method for providing extensible communication gateway with session pooling
CN114911717A (zh) 一种数据缓存方法、装置及电子设备和存储介质
CN111767126A (zh) 分布式批量处理的***和方法
CN111580948A (zh) 任务调度方法、装置及计算机设备
CN112579247A (zh) 确定任务状态的方法和装置
EP3659033B1 (en) Connector leasing for long-running software operations
CN107493316B (zh) 应用运营管理方法、服务器及计算机可读存储介质
US20120072599A1 (en) Thin client system, management server, client environment management method and program
US10303531B2 (en) Console application through web service
US11593165B2 (en) Resource-usage notification framework in a distributed computing environment
US11941432B2 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program

Legal Events

Date Code Title Description
A201 Request for examination