KR102141640B1 - 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버 - Google Patents

실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버 Download PDF

Info

Publication number
KR102141640B1
KR102141640B1 KR1020200044526A KR20200044526A KR102141640B1 KR 102141640 B1 KR102141640 B1 KR 102141640B1 KR 1020200044526 A KR1020200044526 A KR 1020200044526A KR 20200044526 A KR20200044526 A KR 20200044526A KR 102141640 B1 KR102141640 B1 KR 102141640B1
Authority
KR
South Korea
Prior art keywords
node
data
nodes
information
condition
Prior art date
Application number
KR1020200044526A
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 KR1020200044526A priority Critical patent/KR102141640B1/ko
Application granted granted Critical
Publication of KR102141640B1 publication Critical patent/KR102141640B1/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • 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/2282Tablespace storage structures; Management thereof
    • 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 실시간 네트워크 데이터 관리 방법은 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터를 조각 테이블에 저장하는 단계, 상기 조각 테이블에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 직렬화 테이블에 저장하는 단계, 상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 단계, 상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 단계 및 외부로부터 수신된 명령 종류에 따라 상기 직렬화 테이블을 기초로 상기 복수의 노드 중 특정 노드와 인접한 다른 노드의 검색 및 상기 복수의 노드 사이의 엣지 변경 및 복수의 노드 사이의 패턴 검색 중 어느 하나를 실행하는 단계를 포함한다.

Description

실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버{METHOD OF MANAGING NETWORK DATA AND SERVER PERFORMING THE SAME}
본 발명은 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버에 관한 것이다.
데이터베이스는 여러 가지의 용도로 이용되고 있는데, 중규모 내지 대규모 시스템에 있어서는 논리적인 모순을 배제할 수 있는 관계형 데이터베이스(RDB)의 사용이 주류로 되어 있다.
예를 들어, RDB는 비행기의 좌석 예약 등의 시스템에 이용되고 있다. 이 경우, 키 항목을 지정함으로써 (대부분의 경우 1건의) 타겟을 신속히 검색할 수도 있고, 혹은 예약의 확정, 취소 혹은 변경 등을 실시할 수 있다. 또한, 각 편의 좌석수는 겨우 수 백이기 때문에 특정 항공편의 빈 좌석수를 구하는 것도 가능하다. 이와 같은 RDB는 표 형식 데이터의 취급에 적합하지만, 트리 형식 데이터의 취급에는 적합하지 않은 것이 알려져 있다.
또한, 어플리케이션 중에는 표 형식에 의한 표현보다도 트리 형식에 의한 표현이 적절한 것이 존재한다. 특히, 근년, 인트라넷이나 인터넷의 어플리케이션의 데이터 표준으로서 트리형 데이터 구조를 채용하는 XML이 보급되어 있다.
그러나, 트리형 데이터 구조의 취급, 예를 들면, 트리 형식 데이터의 검색은 일반적으로 효율이 매우 나쁘다. 이 효율이 나쁜 첫번째 이유는 데이터가 각처의 노드에 분산되어 존재하기 때문에 데이터가 존재해야 할 장소를 즉시 특정하는 것이 곤란한 점에 있다.
RDB에서는 예를 들면, 「연령」이라는 데이터는 어느 테이블의 「연령」이라는 항목에만 격납되어 있다. 그러나, 트리형 데이터 구조에서는 「연령」이라는 데이터를 보관 유지하는 노드가 각처에 산재되어 있으므로 일반적으로는 트리형 데이터 구조의 전체를 조사하지 않으면 해당하는 데이터를 검색할 수 없다.
효율이 나쁜 두번째 이유는 검색의 결과를 표현하기 위해서 시간이 걸린다는 점에 있다. 검색에 히트된 노드군을 표현하고자 하면 자주 그 노드의 자손에 해당하는 노드도 표현해야 하는데, RDBMS와는 달리 데이터 구조가 비정형이기 때문에 자손 노드를 표현하기 위해서 시간이 걸린다.
그래서, 데이터베이스의 주류인 RDB의 이점을 살리기 위해 종래, 트리형 데이터 구조를 데이터베이스화할 때 트리 형식 데이터를 RDB화하는 방법이 제안되어 있다. RDB에서는 데이터는 테이블(표)로 분해하여 보관 유지된다.
그 때문에, 실제의 트리 형식 데이터를 RDB화하려면 트리 형식 데이터를 테이블에 집어넣을 필요가 있다. 그러나, 다양한 트리형 데이터 구조를 취급하기 위해서는 그 구조마다 개별적으로 데이터를 테이블에 집어넣어 시스템 설계를 실시해야 한다. 따라서, RDB에 의거하는 시스템 구축은 매우 수고스러운 작업이다.
본 발명은 데이터베이스의 데이터를 노드화시키고, 데이터의 행 정보를 이용하여 데이터가 저장된 노드를 엣지로 연결함으로써 네트워크 그래프를 생성할 수 있도록 하는 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버를 제공하는 것을 목적으로 한다.
또한, 본 발명은 네트워크 그래프의 특정 노드와 인접한 다른 노드의 검색 시 데이터의 행 정보를 이용하여 검색할 수 있도록 하는 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버를 제공하는 것을 목적으로 한다.
또한, 본 발명은 네트워크 그래프의 노드 순서를 바꾸며, 유연하게 변화하는 네트워크 그래프를 탐색하도록 지원하는 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버를 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 실시간 네트워크 데이터 관리 방법은 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터를 조각 테이블에 저장하는 단계, 상기 조각 테이블에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 직렬화 테이블에 저장하는 단계, 상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 단계, 상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 단계 및 외부로부터 수신된 명령 종류에 따라 상기 직렬화 테이블을 기초로 상기 복수의 노드 중 특정 노드와 인접한 다른 노드의 검색 및 상기 복수의 노드 사이의 엣지 변경 및 복수의 노드 사이의 패턴 검색 중 어느 하나를 실행하는 단계를 포함한다.
또한, 이러한 목적을 달성하기 위한 실시간 네트워크 데이터 관리 서버는 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터가 저장된 조각 테이블, 상기 조각 테이블에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보가 조각 키에 대응시켜 저장된 직렬화 테이블, 상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 노드 생성부, 상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 엣지 생성부 및 외부로부터 수신된 명령 종류에 따라 상기 직렬화 테이블을 기초로 상기 복수의 노드 중 특정 노드와 인접한 다른 노드의 검색 및 상기 복수의 노드 사이의 엣지 변경 및 복수의 노드 사이의 패턴 검색 중 어느 하나를 실행하는 제어부를 포함한다.
전술한 바와 같은 본 발명에 의하면, 데이터베이스의 데이터를 노드화시키고, 데이터의 행 정보를 이용하여 데이터가 저장된 노드를 엣지로 연결함으로써 네트워크 그래프를 생성할 수 있다는 장점이 있다.
또한 본 발명에 의하면, 네트워크 그래프의 특정 노드와 인접한 다른 노드의 검색 시 데이터의 행 정보를 이용하여 검색할 수 있다는 장점이 있다.
또한 본 발명에 의하면, 네트워크 그래프의 노드 순서를 바꾸며, 유연하게 변화하는 네트워크 그래프를 탐색하도록 지원할 수 있다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 실시간 네트워크 데이터 관리 서버의 내부 구조를 설명하기 위한 블록도이다.
도 2는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 일 실시예를 설명하기 위한 흐름도이다.
도 3은 도 2의 실행 과정을 설명하기 위한 예시도이다.
도 4는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 일 실시예를 설명하기 위한 흐름도이다.
도 5는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다.
도 6은 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다.
도 7은 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다.
도 8은 도 7의 실행 과정을 설명하기 위한 예시도이다.
도 9는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다.
도 10은 도 9의 실행 과정을 설명하기 위한 예시도이다.
도 11 내지 도 13은 본 발명의 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 14 내지 도 16은 본 발명의 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 17 및 도 21은 본 발명의 또 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 22 및 도 23은 본 발명의 또 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 1은 본 발명의 일 실시예에 따른 실시간 네트워크 데이터 관리 서버의 내부 구조를 설명하기 위한 블록도이다.
도 1을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 조각 테이블(110), 직렬화 테이블(120), 노드 생성부(130), 엣지 생성부(140) 및 제어부(150)를 포함한다.
조각 테이블(110)에는 제어부(150)의 제어에 따라 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터가 저장된다. 이때, 조각 테이블에 저장된 데이터 각각은 열 정보 및 행 정보에 대응되어 저장되어 있다.
직렬화 테이블(120)에는 제어부(150)의 제어에 따라 조각 테이블(110)에 저장된 각각의 데이터, 데이터의 열 정보 및 상기 데이터의 행 정보가 조각 키에 대응되어 저장되어 있다. 이때, 조작 키는 조각 테이블(110)에 저장된 데이터의 수만큼 증가될 수 있다. 예를 들어, 조각 테이블(110)에 저장된 데이터가 12조각인 경우 조작 키는 12까지 증가된다.
노드 생성부(130)는 직렬화 테이블(120)에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성한다. 이때, 직렬화 테이블(120)에 저장된 각각의 데이터는 서로 다른 열 정보 및 행 정보를 가지고 있더라도 중복될 수 있으며, 이러한 경우 하나의 노드만이 생성된다.
이를 위해, 노드 생성부(130)는 직렬화 테이블(120)에 저장된 각각의 조각 키에 해당하는 데이터를 추출하고, 데이터와 동일한 데이터가 저장된 노드가 존재하는지 여부를 확인한다.
만일, 노드 생성부(130)는 직렬화 테이블(120)에 저장된 각각의 조각 키에 해당하는 데이터와 동일한 데이터가 저장된 노드가 존재하지 않는다면 데이터가 저장된 노드를 생성하지만, 직렬화 테이블(120)에 저장된 각각의 조각 키에 해당하는 데이터와 동일한 데이터가 저장된 노드가 존재한다면 노드를 별도로 생성하지 않는다.
예를 들어, 직렬화 테이블(120)에 “조작 키: 1, 열 정보: A, 행 정보: 1에 해당하는 데이터: 가” 및 “조작 키: 4, 열 정보: A, 행 정보: 2에 해당하는 데이터: 가”저장되어 있는 경우, 노드 생성부(130)가 노드를 생성하는 과정을 설명하기로 한다.
노드 생성부(130)는 직렬화 테이블(120)에 저장된 각각의 조작 키 “1”에 해당하는 데이터 “가”와 동일한 데이터가 저장된 노드가 존재하지 않아 데이터 “가”가 저장된 노드를 생성한다. 그 후, 노드 생성부(130)는 직렬화 테이블(120)에 저장된 각각의 조작 키 “4”에 해당하는 데이터 “가”와 동일한 데이터가 저장된 노드가 존재하기 때문에 노드를 별도로 생성하지 않는다.
엣지 생성부(140)는 직렬화 테이블(120)에서 추출된 조작 키에 해당하는 노드 사이의 행 정보가 동일하면 해당 데이터가 저장된 노드를 연결하여 노드 사이의 엣지를 생성한다.
즉, 엣지 생성부(140)는 직렬화 테이블(120)에 저장된 제1 조각 키에 해당하는 데이터의 행 정보 및 제2 조작 키에 해당하는 노드의 행 정보가 동일하면 상기 제1 조각 키에 해당하는 데이터가 저장된 노드 및 제2 노드 키에 해당하는 데이터가 저장된 노드를 연결하여 노드 사이의 엣지를 생성한다.
상기의 실시예에서, 실시간 네트워크 데이터 관리 서버(100)는 데이터 사이의 행 정보가 동일하더라도 해당 데이터 저장된 노드 사이의 엣지가 생성되어 있는 경우 아무런 동작을 실행하지 않는다.
예를 들어, 직렬화 테이블(120)에 “조작 키: 1, 열 정보: A, 행 정보: 1에 해당하는 데이터: 가” 및 “조작 키: 2, 열 정보: B, 행 정보: 1에 해당하는 데이터: 너”저장되어 있는 경우, 엣지 생성부(140)가 노드 사이의 엣지를 생성하는 과정을 설명하기로 한다.
엣지 생성부(140)는 제1 노드에 저장된 데이터 “가”의 행 정보 “1” 및 제2 노드에 저장된 데이터 “너”의 행 정보 “1”가 동일하기 때문에, 제1 노드 및 제2 노드를 연결하여 노드 사이의 엣지를 생성한다.
제어부(150)는 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터를 조각 테이블(110)에 저장된다. 이때, 조각 테이블(110)에 저장된 데이터 각각은 열 정보 및 행 정보에 대응되어 저장되어 있다. 이에 따라, 데이터 각각은 열 정보 및 행 정보를 가지고 있는 것이다.
또한, 제어부(150)는 조각 테이블(110)에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 직렬화 테이블(120)에 저장한다. 이때, 조작 키는 조각 테이블(110)에 저장된 데이터의 수만큼 증가될 수 있다. 예를 들어, 조각 테이블(110)에 저장된 데이터가 12조각인 경우 조작 키는 12까지 증가된다.
또한, 제어부(150)는 외부로부터 수신된 명령 종류에 따라 상기 직렬화 테이블을 기초로 상기 복수의 노드 중 특정 노드와 인접한 다른 노드의 검색 및 상기 복수의 노드 사이의 엣지 변경 및 복수의 노드 사이의 패턴 검색 중 어느 하나를 실행한다.
일 실시예에서, 제어부(150)는 외부로부터 수신된 명령 종류가 기준 노드의 인접 노드 검색을 지시하는 경우, 기준 노드의 인접 노드를 검색하여 제공한다.
먼저, 제어부(150)는 직렬화 테이블(120)에서 상기 기준 노드에 저장된 데이터의 행 정보를 추출하고, 직렬화 테이블(120)에서 상기 기준 노드에 저장된 데이터의 행 정보와 동일한 행 정보를 가진 조각 키를 추출하여 조각 키 그룹으로 생성한다.
그 후, 제어부(150)는 직렬화 테이블(120)에서 기준 노드의 열 정보를 기준으로 앞뒤로 이전 노드의 열 정보 및 다음 노드의 열 정보가 존재하는 경우 해당 조각 키를 조각 키 그룹에서 추출한 후, 조작 키 그룹에서 검색된 조작 키에 해당하는 노드를 인접 노드로 표시한다.
다른 일 실시예에서, 제어부(150)는 외부로부터 수신된 명령 종류가 패턴검색을 지시하는 경우, 해당 노드를 검색하여 제공한다.
먼저, 제어부(150)는 조건 열 정보, 조건 이전 노드와 연결된 노드 수 및 조건 다음 노드와 연결된 노드 수를 수신한다.
또한, 제어부(150)는 직렬화 테이블(120)에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 이전에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 이전 노드의 개수를 산출한다.
또한, 제어부(150)는 직렬화 테이블(120)에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 다음에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 다음 노드의 개수를 산출한다.
그 후, 제어부(150)는 인접한 이전 노드의 개수가 사용자가 입력한 조건 이전 노드의 개수 이상이고, 인접한 다음 노드의 개수가 사용자가 입력한 조건 다음 노드의 개수 이상인 노드를 검색한 후(단계 S560), 네트워크 그래프 상의 해당 노드에 사이렌 마크를 표시한다.
또 다른 일 실시예에서, 제어부(150)는 외부로부터 수신된 명령 종류가 포함 조건을 지시하는 경우, 포함 조건에 해당하는 노드를 검색하여 제공한다.
먼저, 제어부(150)는 조건 열 정보 및 조건 데이터를 포함하는 포함 조건을 수신한다. 그 후, 제어부(150)는 직렬화 테이블(120)에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드를 검색한 후, 네트워크 데이터에서 해당 노드에 사이렌 마크를 표시한다.
또 다른 일 실시예에서, 제어부(150)는 외부로부터 수신된 명령 종류가 경로 보기를 지시하는 경우, 경로 보기 조건에 해당하는 경로를 네트워크 데이터 상에 표시한다.
먼저, 제어부(150)는 조건 열 정보 및 조건 데이터를 포함하는 경로 보기 조건을 수신한다.
또한, 제어부(150)는 직렬화 테이블(120)에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드의 행 정보를 추출한 후, 직렬화 테이블(!20)에서 복수의 경로 보기 조건에 해당하는 열 정보 중 공통된 행 정보를 가진 노드를 검색한다. 그런 다음, 제어부(150)는 네트워크 데이터에서 해당 노드를 연결하는 엣지를 표시한다.
또 다른 일 실시예에서, 제어부(150)는 외부로부터 수신된 명령 종류가 노드 순서 변경인 경우, 노드 변경 순서, 노드의 열 정보 및 데이터를 수신한다. 그 후, 제어부(150)는 [표 2]의 직렬화 테이블(120)에서 노드 변경 순서에 따라 열 정보 및 데이터를 변경하여 직렬화 테이블(120)를 업데이트한 후, 직렬화 테이블(120)를 기초로 엣지 연결 정보를 재구성한다.
도 2는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 일 실시예를 설명하기 위한 흐름도이다. 도 3은 도 2의 실행 과정을 설명하기 위한 예시도이다. 도 2에 개시된 일 실시예는 데이터베이스에 저장된 데이터를 이용하여 네트워크 그래프를 생성할 수 있는 일 실시예에 관한 것이다.
도 2를 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터를 하기의 [표 1]과 같이 조각 테이블에 저장한다(단계 S210).
이때, 하기의 [표 1]과 같이 조각 테이블(110)에 저장된 데이터 각각은 열 정보 및 행 정보에 대응되어 저장되어 있다.
즉, 조각 테이블(110)은 열 정보 및 행 정보를 포함하며, 각각의 열 정보 및 행 정보에 대응되어 데이터 각각이 저장된다. 따라서, 데이터 각각은 열 정보 및 행 정보를 가지게 된다.
예를 들어, 하기의 [표 1]과 같이 조각 테이블(110)의 열 정보는 “A”, “B” 및 “C”이고, 행 정보는 “1”, “2”, “3” 및 “4” 이다. 이에 따라, 데이터 “가”는 열 정보 “A” 및 행 정보 “1”, 열 정보 “A” 및 행 정보 “2”를 가지게 된다.
[표 1]
Figure 112020037989440-pat00001
실시간 네트워크 데이터 관리 서버(100)는 조각 테이블(110)에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 [표 2]와 같이 직렬화 테이블(120)에 저장한다(단계 S220).
[표 2]
Figure 112020037989440-pat00002
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 [표 1]과 같이 조각 테이블(110)에 저장된 “데이터: 가, 열 정보: A, 행 정보: 1”를 “조작 키: 1”에 대응시켜 [표 2]와 같이 직렬화 테이블(120)에 저장한다.
또한, 실시간 네트워크 데이터 관리 서버(100)는 [표 1]과 같이 조각 테이블(110)에 저장된 “데이터: 너, 열 정보: B, 행 정보: 1”를 “조작 키: 2”에 대응시켜 [표 2]와 같이 직렬화 테이블(120)에 저장한다.
또한, 실시간 네트워크 데이터 관리 서버(100)는 [표 1]과 같이 조각 테이블(110)에 저장된 “데이터: 다, 열 정보: B, 행 정보: 1”를 “조작 키: 3”에 대응시켜 [표 2]와 같이 직렬화 테이블(120)에 저장한다.
상기와 같이, 실시간 네트워크 데이터 관리 서버(100)는 [표 1]에 저장된 12개의 데이터 각각에 대해서 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 저장함으로써 [표 2]와 같이 직렬화 테이블(120)이 생성된다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성한다(단계 S230).
이때, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에 저장된 각각의 조각 키에 해당하는 데이터를 추출하고, 데이터와 동일한 데이터가 저장된 노드가 존재하는지 여부에 따라 데이터를 이용하여 노드를 생성할 수 있다.
일 실시예에서, 실시간 네트워크 데이터 관리 서버(100)는 조작 키에 해당하는 노드와 동일한 데이터가 저장된 노드가 존재하면, 데이터를 이용하여 노드를 생성하지 않는다.
다른 일 실시예에서, 실시간 네트워크 데이터 관리 서버(100)는 조작 키에 해당하는 노드와 동일한 데이터가 저장된 노드가 존재하지 않으면, 데이터를 이용하여 노드를 생성한다.
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블(120)에서 조작 키 “1”에 해당하는 데이터 “가”의 경우 데이터 “가”가 저장된 노드가 존재하지 않기 때문에 데이터 “가”를 이용하여 노드를 생성한다.
다른 예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블(120)에서 조작 키 “2”에 해당하는 데이터 “너”의 경우 데이터 “너”가 저장된 노드가 존재하지 않기 때문에 데이터 “너”를 이용하여 노드를 생성한다.
다른 예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블에서 조작 키 “3”에 해당하는 데이터 “다”의 경우 데이터 “다”가 저장된 노드가 존재하지 않기 때문에 데이터 “다”를 이용하여 노드를 생성한다.
한편, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블(120)에서 조작 키 “4”에 해당하는 데이터 “가”의 경우 데이터 “가”가 저장된 노드가 존재하기 때문에 데이터 “가”를 이용하여 노드를 생성하지 않는다.
상기와 같은 과정을 통해 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블(120)에 저장된 모든 조작 키에 대해서 다음과 같은 과정을 실행하면 “가”가 저장된 노드, “나”가 저장된 노드, “너”가 저장된 노드, “더”가 저장되 노드, “다”가 저장된 노드, “라”가 저장된 노드, “마”가 저장된 노드 및 “바”가 저장된 노드가 생성된다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성한다(단계 S240).
단계 S240에 대한 일 실시예에서, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 추출된 조작 키에 해당하는 노드 사이의 행 정보가 동일하면 해당 데이터가 저장된 노드를 연결하여 노드 사이의 엣지를 생성한다.
상기의 실시예에서, 실시간 네트워크 데이터 관리 서버(100)는 데이터 사이의 행 정보가 동일하더라도 해당 데이터 저장된 노드 사이의 엣지가 생성되어 있는 경우 아무런 동작을 실행하지 않는다.
이하에서는, [표 2]의 직렬화 테이블(120)를 기초로“가”노드, “나”노드, “너”노드, “더”가 저장되 노드, “다”노드, “라”노드, “마”노드 및 “바”노드가 생성되어 있는 경우 노드 사이의 엣지를 생성하는 과정을 설명하기로 한다.
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)를 기초로 제1 조작 키에 해당하는 노드 “가” 및 제2 조작 키에 해당하는 노드 “너”의 행 정보가 동일하기 때문에 데이터 “가”노드 및 “너”노드를 연결하여 노드 사이의 엣지를 생성할 수 있다.
다른 예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)를 기초로 제2 조작 키에 해당하는 노드 “너” 및 제3 조작 키에 해당하는 노드 “다”의 행 정보가 동일하기 때문에 데이터 “너”노드 및 데이터 “다”가 저장된 노드를 연결하여 노드 사이의 엣지를 생성할 수 있다.
상기와 같은 과정을 통해 실시간 네트워크 데이터 관리 서버(100)는 노드 사이의 엣지를 생성하여 도 3과 같은 네트워크 그래프를 생성할 수 있다.
도 4는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 다른 일 실시예를 설명하기 위한 흐름도이다. 도 4에 개시된 일 실시예는 외부로부터 수신된 명령에 따라 기준 노드의 인접 노드 검색을 할 수 있는 일 실시예에 관한 것이다. 이하의 도 4는 설명의 편의를 위해서 상기의 [표 2] 및 도 3을 함께 참조하여 설명하기로 한다.
도 3 및 도4를 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 외부로부터 수신된 명령의 종류를 판단한다(단계 S410).
실시간 네트워크 데이터 관리 서버(100)는 명령의 종류가 기준 노드의 인접 노드 검색을 지시하는 경우(단계 S420), 직렬화 테이블(120)에서 상기 기준 노드에 저장된 데이터의 행 정보를 추출한다(단계 S430).
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 기준 노드 “너”의 행 정보 “1”, “2”, “3”을 추출할 수 있다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 상기 기준 노드에 저장된 데이터의 행 정보와 동일한 행 정보를 가진 조각 키를 추출하여 조각 키 그룹으로 생성한다(단계 S440).
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 기준 노드 “너”의 행 정보 “1”과 동일한 행 정보를 가진 조각 키 “1, 2, 3”을 추출하고, “너”의 행 정보 “2”과 동일한 행 정보를 가진 조각 키 “4, 5, 6”을 추출하고, “너”의 행 정보 “3”과 동일한 행 정보를 가진 조각 키 “7, 8, 9”를 추출할 수 있다. 즉, 실시간 네트워크 데이터 관리 서버(100)는 조각 키 그룹 “1, 2, 3, 4, 5, 6, 7, 8, 9”을 생성할 수 있다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 기준 노드의 열 정보를 기준으로 앞뒤로 이전 노드의 열 정보 및 다음 노드의 열 정보가 존재하는 경우 해당 조각 키를 조각 키 그룹에서 추출한다(단계 S450).
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 기준 노드 “너”의 열 정보 “B”를 기준으로 이전 노드의 열 정보 “A” 및 다음 노드의 열 정보 “C”가 존재하기 때문에 조각 키 그룹에서 해당 조각 키 “1, 3, 4, 6, 7, 9”를 추출할 수 있다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 조작 키 그룹에서 검색된 조작 키에 해당하는 노드를 인접 노드로 표시한다(단계 S460).
도 5는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다. 도 5에 개시된 일 실시예는 이전 노드의 개수 및 다음 노드의 개수를 가진 노드를 검색할 수 있는 일 실시예에 관한 것이다. 이하의 도 5는 설명의 편의를 위해서 상기의 [표 2] 및 도 3을 함께 참조하여 설명하기로 한다.
도 3 및 도 5를 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 외부로부터 수신된 명령의 종류를 판단한다(단계 S510). 실시간 네트워크 데이터 관리 서버(100)는 명령 종류가 패턴 검색을 지시하는 경우(단계 S520), 조건 열 정보, 조건 이전 노드와 연결된 노드 수 및 조건 다음 노드와 연결된 노드 수를 수신한다(단계 S530).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 이전에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 이전 노드의 개수를 산출한다(단계 S540).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 다음에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 다음 노드의 개수를 산출한다(단계 S550).
실시간 네트워크 데이터 관리 서버(100)는 인접한 이전 노드의 개수가 사용자가 입력한 조건 이전 노드의 개수 이상이고, 인접한 다음 노드의 개수가 사용자가 입력한 조건 다음 노드의 개수 이상인 노드를 검색한 후(단계 S560), 네트워크 그래프 상의 해당 노드에 사이렌 마크를 표시한다(단계 S570).
예를 들어, 조건 열 정보가 전체 노드, 사용자가 입력한 조건 이전 노드 개수 “1” 및 사용자가 입력한 조건 다음 노드 개수 “2”인 경우, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블을 이용하여 전체 노드 각각에 대해서 인접한 이전 노드의 개수 및 인접한 다음 노드의 개수를 산출한다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 “너”노드의 인접한 이전 노드 개수 “가, 나: 2”는 사용자가 입력한 조건 이전 노드 개수 “1”이상이고, “너” 노드의 다음 노드 개수 “다, 라, 마: 3”은 사용자가 입력한 다음 노드 개수 “2”이상이기 때문에 네트워크 그래프 상의“너” 노드에 사이렌 마크를 표시한다.
다른 예를 들어, 건 열 정보가 전체 노드, 사용자가 입력한 조건 이전 노드 개수 “0” 및 사용자가 입력한 조건 다음 노드 개수 “2”인 경우, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블을 이용하여 전체 노드 각각에 대해서 인접한 이전 노드의 개수 및 인접한 다음 노드의 개수를 산출한다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 “나”노드의 인접한 이전 노드 개수 “0”는 사용자가 입력한 조건 이전 노드 개수 “0”이상이고, “나” 노드의 인접한 다음 노드 개수 “너, 더: 2”는 사용자가 입력한 조건 이전 노드 개수 “2”이상이기 때문에 네트워크 그래프 상의“나” 노드에 사이렌 마크를 표시한다.
또한, 실시간 네트워크 데이터 관리 서버(100)는 “너”노드의 인접한 이전 노드 개수 “가, 나: 2”는 사용자가 입력한 조건 이전 노드 개수 “0”이상이고, “너” 노드의 다음 노드 개수 “다, 라, 마: 3”은 사용자가 입력한 다음 노드 개수 “2”이상이기 때문에 네트워크 그래프 상의“너” 노드에 사이렌 마크를 표시한다.
도 6은 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다. 도 6에 개시된 일 실시예는 사용자가 입력한 조건에 해당하는 노드를 검색할 수 있는 일 실시예에 관한 것이다.
도 6을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 외부로부터 수신된 명령의 종류를 판단한다(단계 S610). 실시간 네트워크 데이터 관리 서버(100)는 명령 종류가 포함 조건을 지시하는 경우(단계 S620), 조건 열 정보 및 조건 데이터를 포함하는 포함 조건을 수신한다(단계 S630).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드를 검색한다(단계 S640).
실시간 네트워크 데이터 관리 서버(100)는 네트워크 데이터에서 해당 노드에 사이렌 마크를 표시한다(단계 S650).
예를 들어, 포함 조건: 조건 열 정보 “전체”, 조건 데이터 “다”인 경우, 실시간 네트워크 데이터 관리 서버(100)는 [표 3]의 직렬화 테이블에서 조건 열 정보 “전체” 각각에 대해서 동일한 열 정보를 가진 노드 중 조건 데이터 “다”를 포함하는 노드 “너다” 및 노드“다”를 검색한 후, 노드 “너다” 및 노드 “다”에 사이렌 마크를 표시한다.
[표 3]
Figure 112020037989440-pat00003
도 7은 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다. 도 7에 개시된 일 실시예는 사용자가 입력한 조건에 해당하는 엣지를 표시할 수 있는 일 실시예에 관한 것이다. 이하의 도 7은 설명의 편의를 위해서 상기의 [표 2] 및 도 8을 함께 참조하여 설명하기로 한다.
도 7을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 외부로부터 수신된 명령의 종류를 판단한다(단계 S710). 실시간 네트워크 데이터 관리 서버(100)는 명령 종류가 경로 보기를 지시하는 경우(단계 S720), 조건 열 정보 및 조건 데이터를 포함하는 경로 보기 조건을 수신한다(단계 S725).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드의 행 정보를 추출한다(단계 S730).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 복수의 경로 보기 조건에 해당하는 열 정보 중 공통된 행 정보를 가진 노드를 검색하고(단계 S740), 네트워크 데이터에서 해당 노드를 연결하는 엣지를 표시한다(단계 S750).
예를 들어, 경로 보기 조건 1: 조건 열 정보 “A”, 조건 데이터 “가”이고, 경로 보기 조건 2: 조건 열 정보 “C”, 조건 데이터 “라”인 경우, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블에서 조건 열 정보 “A”와 동일한 열 정보를 가진 노드 중 조건 데이터 “가”를 포함하는 노드의 행 정보 “1, 2”를 추출하고, [표 2]의 직렬화 테이블에서 조건 열 정보 “C”와 동일한 열 정보를 가진 노드 중 조건 데이터 “라”를 포함하는 노드의 행 정보 “2”를 추출한다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 공통된 행 정보 “2”을 가진 노드 “가, 너, 라”를 검색하고, 도 8과 같이 네트워크 데이터에서 노드 “가” 및 노드 “너”를 연결하는 엣지, 노드 “너” 및 노드 “라”를 연결하는 엣지를 표시한다.
다른 예를 들어, 경로 보기 조건 1: 조건 열 정보 “A”, 조건 데이터 “가”이고, 경로 보기 조건 2: 조건 열 정보 “C”, 조건 데이터 “마”인 경우, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블에서 조건 열 정보 “A”와 동일한 열 정보를 가진 노드 중 조건 데이터 “가”를 포함하는 노드의 행 정보 “1, 2”를 추출하고, [표 2]의 직렬화 테이블에서 조건 열 정보 “C”와 동일한 열 정보를 가진 노드 중 조건 데이터 “마”를 포함하는 노드의 행 정보 “3”를 추출한다. 그러나, 실시간 네트워크 데이터 관리 서버(100)는 공통된 행 정보가 존재하지 않기 때문에 엣지를 표시하지 않는다.
도 9는 본 발명에 따른 실시간 네트워크 데이터 관리 방법의 또 다른 일 실시예를 설명하기 위한 흐름도이다.
실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 외부로부터 수신된 명령의 종류를 판단한다(단계 S910). 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 수신된 명령 종류가 노드 순서 변경인 경우(단계 S920), 노드 변경 순서, 노드의 열 정보 및 데이터를 수신한다(단계 S930).
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 노드 변경 순서에 따라 열 정보 및 데이터를 변경하여 직렬화 테이블(120)를 업데이트한 후(단계 S940), 직렬화 테이블(120)를 기초로 엣지 연결 정보를 재구성한다.
예를 들어, 실시간 네트워크 데이터 관리 서버(100)는 노드 변경 순서 : A-C-B 에 따라 [표 2]의 직렬화 테이블(120)의 열 정보(B) 및 열 정보(C)를 위치를 교환하고, 열 정보(B)에 해당하는 데이터(다) 및 열 정보(C)에 해당하는 데이터(너)를 교환하여 하기의 [표 4]와 같이 직렬화 테이블(120)를 업데이트한다.
[표 4]
Figure 112020037989440-pat00004
그런 다음, 실시간 네트워크 데이터 관리 서버(100)는 [표 4]의 직렬화 테이블(120)를 기초로 엣지 연결 정보를 재구성하여 도 10과 같이 생성한다. 도 3 및 도 10을 비교하면, 사용자의 요청에 따라 노드 “다” 및 노드 “너”의 위치가 변경되었다.
도 11 내지 도 13은 본 발명의 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 11 내지 도 13을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 수신된 명령 종류가 패턴 검색을 지시하는 경우, 도 11과 같이 조건 열 정보 “시도구분”, 도 12와 같이 조건 이전 노드와 연결된 노드 수 “2” 및 조건 다음 노드와 연결된 노드 수 “3”, 도 13과 같이 사이렌 아이콘 색을 수신한다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 조건 열 정보 “시도구분”에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 이전에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 이전 노드의 개수를 산출한다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블(120)에서 조건 열 정보 “시도구분”에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 다음에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 다음 노드의 개수를 산출한다.
실시간 네트워크 데이터 관리 서버(100)는 인접한 이전 노드의 개수가 사용자가 입력한 조건 이전 노드의 개수 “2” 이상이고, 인접한 다음 노드의 개수가 사용자가 입력한 조건 다음 노드의 개수 “3” 이상인 노드 “서울”을 검색한 후, 네트워크 그래프 상의 해당 노드 “서울”에 사이렌 마크를 표시한다.
도 14 내지 도 16은 본 발명의 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 14 내지 도 16을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 도 14 및 도 15와 같이 조건 열 정보 “전체” 및 조건 데이터 “서”를 포함하는 포함 조건을 수신한다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 각각의 열 정보에 대해서 동일한 열 정보를 가진 노드 중 조건 데이터 “서”를 포함하는 노드 “서울”을 검색하고, 도 16과 같이 네트워크 데이터에서 해당 노드에 사이렌 마크를 표시한다.
도 17 및 도 21은 본 발명의 또 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 17 내지 도 21을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 명령을 수신하면 명령 종류가 경로 보기를 지시하는 경우, 도 17 및 도 18과 같이 조건 열 정보 “연령대” 및 조건 데이터 “40대”를 포함하는 제1 경로 보기 조건과 도 19 및 도 20과 같이 조건 열 정보 “청구사유코드” 및 조건 데이터 “02”를 포함하는 제2 경로 보기 조건을 수신한다.
실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 조건 열 정보 “연령대”와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드의 행 정보를 추출한다.
또한, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 조건 열 정보 “청구사유코드”와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드의 행 정보를 추출한다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 직렬화 테이블에서 복수의 경로 보기 조건에 해당하는 열 정보 중 공통된 행 정보를 가진 노드를 검색하고, 도 21과 같이 네트워크 데이터에서 해당 노드를 연결하는 엣지를 표시한다.
도 22 및 도 23은 본 발명의 또 다른 일 실시예에 따른 실시간 네트워크 데이터 관리 과정을 설명하기 위한 예시도이다.
도 22 및 도 23을 참조하면, 실시간 네트워크 데이터 관리 서버(100)는 외부로부터 수신된 명령 종류가 노드 순서 변경인 경우, 노드 변경 순서, 노드의 열 정보 및 데이터를 수신한다. 즉, 도 22에서 노드 “연령대”를 노드 “시도구분” 다음에 가져가 놓는다.
그 후, 실시간 네트워크 데이터 관리 서버(100)는 [표 2]의 직렬화 테이블(120)에서 노드 변경 순서에 따라 열 정보 및 데이터를 변경하여 직렬화 테이블(120)를 업데이트한 후, 직렬화 테이블(120)를 기초로 엣지 연결 정보를 도 23과 같이 재구성한다.
한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
100: 시간 네트워크 데이터 관리 서버
110: 조각 테이블
120: 직렬화 테이블
130: 노드 생성부
140: 엣지 생성부
150: 제어부

Claims (12)

  1. 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터를 조각 테이블에 저장하는 단계;
    상기 조각 테이블에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보를 조각 키에 대응시켜 직렬화 테이블에 저장하는 단계;
    상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 단계;
    상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 단계;
    외부로부터 수신된 명령 종류에 따라 상기 직렬화 테이블을 기초로 해당 명령을 처리하는 단계를 포함하고,
    상기 직렬화 테이블을 기초로 해당 명령을 처리하는 단계는
    외부로부터 수신된 명령 종류가 기준 노드의 인접 노드 검색을 지시하는 경우, 상기 직렬화 테이블에서 상기 기준 노드의 행 정보를 추출한 후, 상기 직렬화 테이블에서 상기 기준 노드에 저장된 데이터의 행 정보와 동일한 행 정보를 가진 조각 키를 추출하여 조각 키 그룹을 생성하는 단계; 및
    상기 직렬화 테이블을 기초로 상기 기준 노드의 열 정보를 기준으로 앞뒤로 이전 노드의 열 정보 및 다음 노드의 열 정보가 존재하는 경우, 해당 조각 키를 상기 조각 키 그룹에서 추출하여 상기 추출된 조작 키에 해당하는 노드를 인접 노드로 표시하는 단계를 포함하고,
    상기 직렬화 테이블을 기초로 해당 명령을 처리하는 단계는
    상기 외부로부터 수신된 명령 종류가 패턴 검색을 지시하는 경우, 조건 열 정보, 조건 이전 노드와 연결된 노드 수 및 조건 다음 노드와 연결된 노드 수신하고, 싱기 직렬화 테이블에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 이전에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 이전 노드의 개수를 산출하는 단계;
    상기 직렬화 테이블에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 다음에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 다음 노드의 개수를 산출하는 단계; 및
    상기 인접한 이전 노드의 개수가 사용자가 입력한 조건 이전 노드의 개수 이상이고, 인접한 다음 노드의 개수가 사용자가 입력한 조건 다음 노드의 개수 이상인 노드를 검색하여 네트워크 그래프 상의 해당 노드에 사이렌 마크를 표시하는 단계를 포함하고,
    상기 직렬화 테이블을 기초로 해당 명령을 처리하는 단계는
    상기 외부로부터 수신된 명령 종류가 포함 조건을 지시하는 경우, 조건 열 정보 및 조건 데이터를 포함하는 포함 조건을 수신하고, 상기 직렬화 테이블에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드를 검색한 후, 상기 네트워크 그래프에서 해당 노드에 사이렌 마크를 표시하는 단계를 포함하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 방법.
  2. 제1항에 있어서,
    상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 단계는
    상기 직렬화 테이블에 저장된 각각의 조각 키에 해당하는 데이터를 추출하는 단계;
    상기 데이터와 동일한 데이터가 저장된 노드가 존재하는지 여부를 확인하는 단계;
    상기 확인 결과 상기 데이터와 동일한 데이터가 저장된 노드가 존재하지 않으면 상기 데이터를 이용하여 노드를 생성하는 단계를 포함하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 방법.
  3. 제2항에 있어서,
    상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 단계는
    상기 직렬화 테이블에서 추출된 조작 키에 해당하는 노드 사이의 행 정보가 동일하면 해당 데이터가 저장된 노드를 연결하여 노드 사이의 엣지를 생성하는 단계를 포함하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 데이터베이스에 저장된 데이터 중 검색 쿼리에 해당하는 데이터가 저장된 조각 테이블;
    상기 조각 테이블에 저장된 각각의 데이터에 대해서 상기 데이터, 상기 데이터의 열 정보 및 상기 데이터의 행 정보가 조각 키에 대응시켜 저장된 직렬화 테이블;
    상기 직렬화 테이블에 저장된 각각의 데이터를 이용하여 복수의 노드를 생성하는 노드 생성부;
    상기 복수의 노드를 생성하는데 사용된 데이터의 열 정보 및 행 정보를 이용하여 상기 복수의 노드 사이의 엣지를 생성하는 엣지 생성부;
    외부로부터 수신된 명령 종류가 기준 노드의 인접 노드 검색을 지시하는 경우, 상기 직렬화 테이블에서 상기 기준 노드에 저장된 데이터의 행 정보를추출하고, 상기 직렬화 테이블에서 상기 기준 노드에 저장된 데이터의 행 정보와 동일한 행 정보를 가진 조각 키를 추출하여 조각 키 그룹을 생성하고, 상기 직렬화 테이블을 기초로 상기 기준 노드의 열 정보를 기준으로 앞뒤로 이전 노드의 열 정보 및 다음 노드의 열 정보가 존재하는 경우, 해당 조각 키를 상기 조각 키 그룹에서 추출하고, 상기 추출된 조작 키에 해당하는 노드를 인접 노드로 표시하고, 상기 외부로부터 수신된 명령 종류가 패턴 검색을 지시하는 경우, 조건 열 정보, 조건 이전 노드와 연결된 노드 수 및 조건 다음 노드와 연결된 노드 수신하고, 싱기 직렬화 테이블에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 이전에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 이전 노드의 개수를 산출하고, 상기 직렬화 테이블에서 조건 열 정보에 해당하는 노드와 동일한 열 정보를 가진 노드를 검색한 후 해당 노드의 다음에 위치하며 행 정보가 동일한 노드의 개수를 카운트하여 인접한 다음 노드의 개수를 산출하고, 상기 인접한 이전 노드의 개수가 사용자가 입력한 조건 이전 노드의 개수 이상이고, 인접한 다음 노드의 개수가 사용자가 입력한 조건 다음 노드의 개수 이상인 노드를 검색하고, 네트워크 그래프 상의 해당 노드에 사이렌 마크를 표시하고, 상기 외부로부터 수신된 명령 종류가 포함 조건을 지시하는 경우, 조건 열 정보 및 조건 데이터를 포함하는 포함 조건을 수신하고, 상기 직렬화 테이블에서 조건 열 정보와 동일한 열 정보를 가진 노드 중 조건 데이터를 포함하는 노드를 검색한 후, 상기 네트워크 그래프에서 해당 노드에 사이렌 마크를 표시하는 제어부를 포함하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 서버.
  8. 제7항에 있어서,
    상기 노드 생성부는
    상기 직렬화 테이블에 저장된 각각의 조각 키에 해당하는 데이터를 추출하고, 상기 데이터와 동일한 데이터가 저장된 노드가 존재하는지 여부를 확인하고, 상기 확인 결과 상기 데이터와 동일한 데이터가 저장된 노드가 존재하지 않으면 상기 데이터를 이용하여 노드를 생성하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 서버.
  9. 제7항에 있어서,
    상기 엣지 생성부는
    상기 직렬화 테이블에서 추출된 조작 키에 해당하는 노드 사이의 행 정보가 동일하면 해당 데이터가 저장된 노드를 연결하여 노드 사이의 엣지를 생성하는 것을 특징으로 하는
    실시간 네트워크 데이터 관리 서버.
  10. 삭제
  11. 삭제
  12. 삭제
KR1020200044526A 2020-04-13 2020-04-13 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버 KR102141640B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200044526A KR102141640B1 (ko) 2020-04-13 2020-04-13 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200044526A KR102141640B1 (ko) 2020-04-13 2020-04-13 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버

Publications (1)

Publication Number Publication Date
KR102141640B1 true KR102141640B1 (ko) 2020-08-05

Family

ID=72041763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200044526A KR102141640B1 (ko) 2020-04-13 2020-04-13 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버

Country Status (1)

Country Link
KR (1) KR102141640B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231501A (zh) * 2020-10-20 2021-01-15 浙江大华技术股份有限公司 人像库的数据存储、检索方法及装置、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018607A (ja) * 2004-07-01 2006-01-19 Fujitsu Ltd メタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置
KR20060050965A (ko) * 2004-09-17 2006-05-19 마이크로소프트 코포레이션 지속형 데이터 스토어를 생성하기 위한 방법
KR20140014123A (ko) * 2011-05-02 2014-02-05 아브 이니티오 테크놀로지 엘엘시 데이터 질의 관리
JP6028857B2 (ja) * 2013-05-20 2016-11-24 富士通株式会社 データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム
KR20170046196A (ko) * 2013-05-03 2017-04-28 페이스북, 인크. 온라인 소셜 네트워크에서의 검색 질의 상호작용

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018607A (ja) * 2004-07-01 2006-01-19 Fujitsu Ltd メタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置
KR20060050965A (ko) * 2004-09-17 2006-05-19 마이크로소프트 코포레이션 지속형 데이터 스토어를 생성하기 위한 방법
KR20140014123A (ko) * 2011-05-02 2014-02-05 아브 이니티오 테크놀로지 엘엘시 데이터 질의 관리
KR20170046196A (ko) * 2013-05-03 2017-04-28 페이스북, 인크. 온라인 소셜 네트워크에서의 검색 질의 상호작용
JP6028857B2 (ja) * 2013-05-20 2016-11-24 富士通株式会社 データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231501A (zh) * 2020-10-20 2021-01-15 浙江大华技术股份有限公司 人像库的数据存储、检索方法及装置、存储介质

Similar Documents

Publication Publication Date Title
US5339247A (en) Distributed data CAD system
US7409401B2 (en) Method and system for supporting multivalue attributes in a database system
KR100711567B1 (ko) 표형식 데이터 결합방법 및 제시방법
US6618727B1 (en) System and method for performing similarity searching
KR101190230B1 (ko) 정보 검색 시스템에서의 문구 식별
US5940831A (en) Hypermedia system and method of managing directories and directory data originating from a node link structure in a directory server
US6408312B1 (en) Method and system for supporting multiple, historical, and future designs in a relational database
US6185556B1 (en) Method and apparatus for changing temporal database
US5970485A (en) News clipping method and system
US20070233720A1 (en) Lazy bulk insertion method for moving object indexing
US20060004815A1 (en) Method and apparatus for editing metadata, and computer product
US20090204588A1 (en) Method and apparatus for determining key attribute items
JP2009020901A (ja) データベースシステム、データベース検索方法及び記録媒体
US11868330B2 (en) Method for indexing data in storage engine and related apparatus
US20110082803A1 (en) Business flow retrieval system, business flow retrieval method and business flow retrieval program
JP2011090351A (ja) 検索データ管理装置
JP5994490B2 (ja) データ検索プログラム、データベース装置および情報処理システム
KR102141640B1 (ko) 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버
RU2433467C1 (ru) Способ формирования структуры агрегированных данных и способ поиска данных посредством структуры агрегированных данных в системе управления базами данных
US20200125592A1 (en) Attribute extraction apparatus and attribute extraction method
CN111737267B (zh) 基于HBase的索引系统及查询加速方法
CN113076322A (zh) 一种商品搜索处理方法及装置
US8407531B2 (en) Method of collecting and correlating locking data to determine ultimate holders in real time
JPH10232874A (ja) 情報処理ノウハウ共有方法
JP2000020542A (ja) 検索支援方法およびその再利用方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant