KR101609457B1 - Method for searching median node in big graph database based on low boundary - Google Patents

Method for searching median node in big graph database based on low boundary Download PDF

Info

Publication number
KR101609457B1
KR101609457B1 KR1020140074347A KR20140074347A KR101609457B1 KR 101609457 B1 KR101609457 B1 KR 101609457B1 KR 1020140074347 A KR1020140074347 A KR 1020140074347A KR 20140074347 A KR20140074347 A KR 20140074347A KR 101609457 B1 KR101609457 B1 KR 101609457B1
Authority
KR
South Korea
Prior art keywords
node
value
median
nodes
minimum value
Prior art date
Application number
KR1020140074347A
Other languages
Korean (ko)
Other versions
KR20150079374A (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 경희대학교 산학협력단
Publication of KR20150079374A publication Critical patent/KR20150079374A/en
Application granted granted Critical
Publication of KR101609457B1 publication Critical patent/KR101609457B1/en

Links

Images

Landscapes

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

Abstract

본 발명은 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 방법에 관한 것으로, 보다 구체적으로 대용량 그래프 데이터베이스를 다수의 그래프 그룹으로 분리하고 각 그래프 그룹에서 단일 쌍의 최단 경로 알고리즘을 분산 처리하여 메디안 노드를 검색하며, 임계 하한 경계값을 이용하여 특정 시작 노드를 기준으로 계산한 경로 가중치의 합이 임계 하한 경계값보다 큰 경우 특정 시작 노드에 대한 메디안 노드의 검색을 중단하여 연산량을 줄인 메디안 노드의 검색 방법에 관한 것이다.The present invention relates to a method of searching a median node in a large-capacity graph database, more specifically, a large-capacity graph database is divided into a plurality of graph groups, a median node is searched by distributing a single pair of the shortest- And a search method of a median node in which the computation amount is reduced by stopping search of a median node for a specific start node when a sum of path weights calculated based on a specific start node using a threshold lower bound value is larger than a threshold lower bound value will be.

Description

대용량 그래프 데이터베이스에서 하한 경계값에 기초하여 메디안 노드를 검색하는 방법{Method for searching median node in big graph database based on low boundary}A method for searching a median node based on a lower bound value in a large-capacity graph database.

본 발명은 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 방법에 관한 것으로, 보다 구체적으로 대용량 그래프 데이터베이스를 다수의 그래프 그룹으로 분리하고 각 그래프 그룹에서 단일 쌍의 최단 경로 알고리즘을 분산 처리하여 메디안 노드를 검색하며, 임계 하한 경계값을 이용하여 특정 시작 노드를 기준으로 계산한 경로 가중치의 합이 임계 하한 경계값보다 큰 경우 특정 시작 노드에 대한 메디안 노드의 검색을 중단하여 연산량을 줄인 메디안 노드의 검색 방법에 관한 것이다.The present invention relates to a method of searching a median node in a large-capacity graph database, more specifically, a large-capacity graph database is divided into a plurality of graph groups, a median node is searched by distributing a single pair of the shortest- And a search method of a median node in which the computation amount is reduced by stopping search of a median node for a specific start node when a sum of path weights calculated based on a specific start node using a threshold lower bound value is larger than a threshold lower bound value will be.

페타(peta) 바이트 이상의 규모의 대용량 데이터 분석은 다양한 분야에서 연구되고 있다. 특히, 소셜 네트워크, XML 등과 같은 구조적인 정보를 갖는 대용량의 그래프들을 분석하는 기술이 활발히 연구되고 있다. 예를 들어, 소셜 네트워크에서 사용자 식별자는 노드 버텍스로, 사용자 사이의 관계는 노드 버텍스를 연결하는 노드 에지로, 사용자 관계의 긴밀도 또는 거리는 노드 가중치로 표현될 수 있다. Large-scale data analysis over peta bytes is being studied in various fields. In particular, techniques for analyzing large-capacity graphs having structural information such as social networks and XML are actively researched. For example, in a social network, a user identifier may be expressed as a node vertex, and a relationship between users may be expressed as a node edge connecting a node vertex, and the tightness or distance of a user relationship may be represented by a node weight.

이러한 대용량의 그래프데이터로부터 유용한 지식을 찾아내는 그래프 마이닝 기술이 주목받고 있는데, 특히 그래프 메디안(median)은 그래프의 중심 노드를 찾는 기법으로서, 그래프 군집화, 인덱싱, 분류 등과 같은 다양한 그래프 마이닝 기술의 기반 기술로 사용되고 있다. 예를 들어, 소셜 네트워크에서 영향력을 가지는 사용자를 찾기 위한 기준으로 그래프 메디안을 지표로 사용하거나, 물류 네트워크에서 창고의 위치를 선정할 때 모든 운송 지역과의 거리를 최소화하기 위해 그래프 메디안을 사용한다.In particular, graph median is a technique to find the center node of a graph. It is a technique of graphing mining technology such as graph clustering, indexing, classification, and so on. . For example, use the graph median as a basis for locating influential users in a social network, or use a graph median to minimize distances from all shipping areas when selecting a warehouse location in a logistics network.

메디안 노드는 그래프에서 모든 노드들과의 최단 경로 합이 최소인 노드를 의미한다. 종래 메디안 노드를 계산하기 기술1은 단일 컴퓨터에서 모든 쌍의 최단 경로 알고리즘을 이용하여 계산하다. 이러한 종래 기술1에서 인-메모리 기반의 모든 쌍의 최단 경로 알고리즘(all-pair shoretest path)은 그래프 내의 모든 노드와 에지들을 메모리에 적재한 후, 모든 쌍의 최단 경로 알고리즘을 통해 메디안 노드를 계산한다. 한편, 메디안 노드를 계산하기 위한 종래기술2은 디스크 기반으로, 그래프를 메모리의 크기만큼 부분 그래프로 분할하여 부분 그래프에서 모든 쌍의 최단 경로 알고리즘을 수행하여 메디안 노드를 계산한다. Median node means the node whose shortest path sum with all nodes in the graph is minimum. Conventional Median Node Computation Technique 1 is computed using a shortest path algorithm of every pair in a single computer. In this prior art 1, all pairs of in-memory based all-pair shorestest paths load all the nodes and edges in the graph into memory and then compute median nodes through all pairs of shortest path algorithms . In the conventional technique 2 for computing a median node, a median node is calculated by dividing a graph into a partial graph by a size of a memory and performing a shortest path algorithm of every pair in the partial graph.

그러나 종래기술1의 경우 대용량의 그래프를 메모리에 적재할 수 없어 메디안 노드의 계산이 불가능하며, 종래기술2의 경우 디스크 기반으로 많은 수의 데이터 입력/출력이 발생하여 많은 비용과 연산이 필요하다는 문제점을 가진다.However, in the case of the conventional technology 1, it is impossible to load a large capacity graph into a memory, so that it is impossible to calculate the median node. In the case of the conventional technology 2, a large number of data input / .

최근 대용량 그래프 알고리즘들을 효율적으로 분산처리하기 위한 프리겔(Pregel) 프레임워크가 제안되었다. 프리겔은 노드 단위로 알고리즘을 분할하여 분산처리한다. 프리겔 프레임워크를 이용하여 단일 쌍의 최단 경로 알고리즘을 분산처리하여 효율성을 증가시켰다. 그러나 단일 쌍의 최단 경로 알고리즘을 반복 수행하게 되면, 최단 경로의 합이 이전에 계산한 최단 경로의 합보다 큰 불필요한 경우에도 모두 최단 경로를 계산하는 문제점을 가진다. 특히, 대용량 그래프와 같이 그래프 내에 노드 수가 많아질수록 불필요한 최단 경로의 계산량이 많아져 메디안 노드를 계산하는데 오랜 시간과 연산량이 필요하다는 문제점을 가진다.Recently, a pregel framework for efficiently distributing large - capacity graph algorithms has been proposed. The pregels divide and process the algorithm on a node-by-node basis. By using the pre - gel framework, the efficiency of the single - pair shortest path algorithm is improved by distributed processing. However, if the shortest path algorithm of a single pair is repeated, the shortest paths are calculated even if the sum of the shortest paths is larger than the sum of the previously calculated shortest paths. In particular, as the number of nodes in the graph increases, the amount of computation of the unnecessary shortest paths becomes large, as in the case of a large-capacity graph, so that it takes a long time and computation time to calculate the median node.

본 발명은 위에서 언급한 종래 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 방법이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 대용량 그래프 데이터베이스를 다수의 그래프 그룹으로 분산하고, 각 그래프 그룹에서 단일 쌍의 최단 경로 알고리즘을 처리하여 메디안 노드를 검색하는 방법을 제공하는 것이다.DISCLOSURE OF THE INVENTION The present invention has been made to solve the problems of the method of searching a median node in the conventional large capacity graph database mentioned above. The object of the present invention is to disperse a large capacity graph database into a plurality of graph groups, And processing a pair of shortest path algorithms to search for a median node.

본 발명이 이루고자 하는 다른 목적은 임계 하한 경계값을 이용하여 특정 시작 노드를 기준으로 계산한 경로 가중치의 합이 임계 하한 경계값보다 큰 경우, 특정 시작 노드에 대한 메디안 노드의 검색을 중단하여 연산량을 줄인 메디안 노드의 검색 방법을 제공하는 것이다.Another object of the present invention is to provide a method and apparatus for detecting a median node for a specific start node when a sum of path weights calculated based on a specific start node is greater than a threshold lower bound threshold using a threshold lower bound value, And a method of searching for a reduced median node.

한편, 본 발명이 이루고자 하는 또 다른 목적은 각 그래프 그룹에서 가장 작은 경로 가중치 합을 인접 그래프 그룹으로 송신하여 하한 경계값을 계산하기 위해 필요한 데이터 송수신 횟수를 줄인 메디안 노드의 검색 방법을 제공하는 것이다. Another object of the present invention is to provide a search method of a median node in which a minimum path weighting sum in each graph group is transmitted to an adjacent graph group to reduce the number of data transmission / reception required to calculate a lower limit boundary value.

본 발명의 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 대용량 그래프 데이터베이스에서 메디안(median) 노드를 검색하는 방법은 대용량 그래프 데이터베이스가 다수개의 그래프 그룹으로 분리되어 분산되어 있으며,그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정하는 단계(a 단계)와, 시작 노드와 상기 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합을 구비하는 가중치 메시지를 기준 노드의 인접 노드로부터 수신하는 단계(b 단계)와, 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하는 단계(c 단계)와, 하한 경계값과 임계 하한 경계값을 비교하여 하한 경계값이 임계 하한 경계값보다 큰지 판단하는 단계(d 단계)를 포함하는 것을 특징으로 한다.In order to accomplish the object of the present invention, a method of searching a median node in a large-capacity graph database according to an embodiment of the present invention is characterized in that a large-capacity graph database is divided into a plurality of graph groups, (Step a) of setting the one of the nodes that are connected to the start node and the reference node sequentially connected from the start node as a start node, and setting a weight message including the sum of the path weights between the start node and the reference node sequentially from the start node Calculating a lower limit value from the minimum value having a minimum value among the sum of the path weights between the start node and the reference node (step c), comparing the lower limit value with the lower limit threshold value, And determining whether the lower bound threshold value is larger than the threshold lower bound threshold value (step d) do.

여기서 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법에서 시작 노드의 노드값은 0으로 설정되며, 시작 노드를 제외한 나머지 노드의 노드값은 무한대로 설정되는 것을 특징으로 한다.In the median node search method according to an embodiment of the present invention, the node value of the start node is set to 0, and the node value of the remaining nodes except for the start node is set to infinity.

여기서 하한 경계값이 임계 하한 경계값보다 큰 경우 시작 노드에 대한 메디안 노드의 검색을 중단하는 것을 특징으로 한다.Wherein the search of the median node for the start node is stopped when the lower limit threshold value is larger than the threshold lower limit threshold value.

본 발명의 일 실시예에 따른 메디안 노드의 검색 방법은 시작 노드에 대한 메디안 노드의 검색을 중단하는 경우, 그래프 그룹에서 시작 노드를 변경 설정하여 그래프 그룹을 구성하는 모든 노드에 대해 (b) 단계 내지 (d) 단계를 반복하는 것을 특징으로 한다.In a method of searching a median node according to an exemplary embodiment of the present invention, when searching for a median node for a starting node is stopped, the starting node is changed in the graph group, (d) is repeated.

바람직하게, 하한 경계값을 계산하는 단계는 가중치 메시지에 구비되어 있는 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값과 기준 노드의 기설정된 노드값을 비교하여 기준 노드의 노드값을 갱신하는 단계와, 모든 기준 노드의 노드값 중 최소값을 가지는 전체 최소값을 판단하는 단계와, 전체 최소값 이상의 노드값을 가지는 노드의 수와 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산하는 단계를 포함하며, 하한 경계값은 각 수퍼 스텝에서 계산되는 것을 특징으로 한다.Preferably, the step of calculating the lower bound value may include the step of updating the node value of the reference node by comparing the minimum value of the sum of the path weights between the starting node and the reference node, Determining a total minimum value having a minimum value among the node values of all reference nodes, calculating a lower limit value from the node value of the node having the node value equal to or less than the total minimum value, And the lower bound threshold value is calculated in each super step.

바람직하게, 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법은 기준 노드의 노드값이 갱신되고 하한 경계값이 임계 하한 경계값보다 작은 경우, 기준 노드에 연결되어 있는 기준 인접 노드로 시작 노드로부터 기준 인접 노드까지의 경로 가중치 합을 구비하는 가중치 메시지를 송신하는 단계(e 단계)를 더 포함하며, 기준 노드의 노드값이 갱신되지 않을 때까지, (b) 단계 내지 (e) 단계를 반복하여 시작 노드의 최단 경로 가중치를 계산하는 것을 특징으로 한다.Preferably, in the method of searching median nodes according to the embodiment of the present invention, when the node value of the reference node is updated and the lower bound value is smaller than the threshold lower bound value, the reference neighbor node connected to the reference node Further comprising the step of transmitting a weight message having a path weight sum up to the reference neighbor node (step e), repeating steps (b) through (e) until the node value of the reference node is not updated And the shortest path weight of the start node is calculated.

한편, 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법은 시작 노드의 최단 경로 가중치가 계산되는 경우, 임계 하한 경계값을 시작 노드의 최단 경로 가중치로 갱신하는 것을 특징으로 한다.Meanwhile, in the method of searching a median node according to an embodiment of the present invention, when the shortest path weight of the starting node is calculated, the threshold lower bound value is updated to the shortest path weight of the starting node.

바람직하게, 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법은 대용량 그래프 데이터베이스의 각 데이터 그룹에서 전체 최소값을 인접 데이터 그룹으로 송신하는 단계를 더 포함한다.Preferably, the searching method of median node according to an embodiment of the present invention further includes transmitting the entire minimum value in each data group of the large capacity graph database to the adjacent data group.

본 발명의 일 실시예에 따른 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 장치는 다수개의 그래프 그룹으로 분리되어 있는 대용량 그래프 데이터베이스 중 1개의 그래프 그룹이 분산 저장되어 있는 그래프 데이터베이스와, 그래프 그룹을 구성하는 노드 중 시작 노드와 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합 중 전체 최소값으로부터 하한 경계값을 계산하고 하한 경계값이 임계 하한 경계값보다 작은 경우 시작 노드의 최단 경로 가중치를 계산하여 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 검색 모듈을 포함하는 것을 특징으로 한다.The apparatus for searching median nodes in the large-capacity graph database according to an embodiment of the present invention includes a graph database in which one graph group among large-capacity graph databases divided into a plurality of graph groups is distributed and stored, The lower bound threshold is calculated from the total minimum value of the sum of the path weights between the starting node and the reference node sequentially connected from the starting node. If the lower bound threshold is smaller than the threshold lower bound threshold, the shortest path weight of the starting node is calculated And a search module for searching the median node in the large-capacity graph database.

여기서 검색 모듈은 각 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정하는 시작 노드 설정부와, 인접 노드로부터 가중치 메시지를 수신하는 기준 노드를 활성화 제어하는 활성화 제어부와, 활성화된 모든 기준 노드에 대해 시작 노드와 활성화된 각 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 시작 노드에 대한 메디안 노드의 검색 진행 여부를 결정하는 기능 수행부를 포함하는 것을 특징으로 한다.Here, the search module includes a start node setting unit for setting one of the nodes constituting each graph group as a start node, an activation control unit for activating and controlling a reference node receiving a weight message from a neighbor node, And a function performing unit for determining whether to proceed with the search of the median node for the start node by calculating a lower limit value from the total minimum value having the minimum value among the sum of the path weights between the start node and each activated reference node .

바람직하게, 기능 수행부는 가중치 메시지에 구비되어 있는 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값과 기준 노드의 기설정된 노드값을 비교하여 기준 노드의 노드값을 갱신하는 노드값 설정부와, 시작 노드와 모든 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 시작 노드에 대한 메디안 노드의 검색 여부를 결정하는 진행 결정부와, 기준 노드의 노드값이 갱신되고 시작 노드에 대한 메디안 노드의 검색 여부를 진행하는 것으로 결정하는 경우 기준 노드의 노드값에 경로 가중치를 합한 경로 가중치 합을 구비하는 신규 가중치 메시지를 생성하고 기준 노드의 인접 노드로 신규 가중치 메시지를 송신하는 가중치 메시지 송신부를 포함하는 것을 특징으로 한다.Preferably, the function performing unit includes a node value setting unit for comparing the minimum value of the sum of the path weights between the start node and the reference node included in the weight message and the predetermined node value of the reference node to update the node value of the reference node, A progress decision unit for determining whether to search for a median node for a start node by calculating a lower limit value from an overall minimum value having a minimum value among a sum of path weights between a start node and all reference nodes, When it is determined to proceed to search for a median node for a start node, a new weight message having a path weight sum that is a sum of path weights of node values of a reference node is generated and a new weight message is transmitted to a neighbor node of the reference node And a weight message transmitting unit.

여기서 시작 노드 설정부는 시작 노드의 노드값을 0으로 설정하고, 시작 노드를 제외한 나머지 노드의 노드값을 무한대로 설정하는 것을 특징으로 한다.Herein, the starting node setting unit sets the node value of the starting node to 0, and sets the node value of the remaining nodes except the starting node to infinity.

바람직하게, 진행 결정부는 각 수퍼스텝에서 시작 노드와 모든 기준 노드 사이의 경로 가중치 합 중 최소값을 가지는 전체 최소값을 판단하는 전체 최소값 판단부와, 전체 최소값 이상의 노드값을 가지는 노드의 수와 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산하는 하한 경계값 계산부와, 하한 경계값과 임계 하한 경계값의 크기를 비교하는 비교부와, 임계 하한 경계값이 하한 경계값보다 큰 경우 시작 노드에 대한 메디안 노드의 검색을 중단하는 중단 진행 결정부를 포함하는 것을 특징으로 한다.Preferably, the advance decision unit includes an overall minimum value determination unit for determining an overall minimum value having a minimum value among a path weight sum between a start node and all reference nodes in each super step, A lower limit value calculating unit for calculating a lower limit value from a node value of a node having a node value of a lower limit threshold value, a comparing unit comparing a lower limit threshold value with a threshold lower threshold value, And stopping the search of the median node for the start node.

바람직하게, 검색 모듈은 시작 노드로부터 순차적으로 연결되어 있는 모든 기준 노드가 더 이상 활성화되지 않는 경우 시작 노드와 시작 노드에 순차적으로 연결되어 있는 모든 기준 노드 사이의 경로 가중치를 합하여 시작 노드의 최단 경로 가중치를 계산하는 최단 경로 계산부와, 임계 하한 경계값을 시작 노드의 최단 경로 가중치로 갱신하는 갱신부를 더 포함하는 것을 특징으로 한다.Preferably, the search module combines the path weights between all of the reference nodes sequentially connected to the starting node and the starting node when all the reference nodes sequentially connected from the starting node are no longer activated, And an update unit updating the threshold lower bound value to the shortest path weight value of the start node.

여기서 시작 노드 설정부는 진행 결정부에서 시작 노드에 대한 메디안 노드의 검색을 중단하는 경우 또는 시작 노드의 최단 경로 가중치를 계산한 경우, 그래프 그룹에서 시작 노드를 변경 설정하는 것을 특징으로 한다.Herein, the start node setting unit changes the start node in the graph group when stopping the search of the median node for the start node or calculating the shortest path weight of the start node in the progress determination unit.

여기서 검색 모듈은 각 수퍼스텝에서 시작 노드와 모든 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값을 인접 분산된 메디안 노드 검색 장치로 송신하는 전체 최소값 송신부를 더 포함하는 것을 특징으로 한다.Here, the search module may further include an overall minimum value transmitter for transmitting to the adjacent distributed median node search device a total minimum value having a minimum value among the sum of path weights between the start node and all reference nodes in each super step.

본 발명의 일 실시예에 따른, 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 방법은 다음과 같은 효과를 가진다.The method of searching a median node in the large capacity graph database according to an embodiment of the present invention has the following effects.

첫째, 본 발명에 따른 메디안 노드의 검색 방법은 대용량 그래프 데이터베이스를 다수의 그래프 그룹으로 분산하고 각 그래프 그룹에서 최단 경로 가중치를 가지는 메디안 노드를 분산 검색함으로써, 대용량 그래프 데이터베이스에 존재하는 메디안 노드를 빠르고 적은 비용으로 검색할 수 있다.First, the median node search method according to the present invention disperses a large-capacity graph database into a plurality of graph groups and distributively searches the median nodes having the shortest path weight in each graph group, You can search by cost.

둘째, 본 발명에 따른 메디안 노드의 검색 방법은 임계 하한 경계값을 이용하여 특정 시작 노드를 기준으로 계산한 경로 가중치의 합이 임계 하한 경계값보다 큰 경우 특정 시작 노드에 대한 메디안 노드의 검색을 중단함으로써, 연산량을 줄여 빠르고 적은 비용으로 메디안 노드를 검색할 수 있다.Second, in the median node search method according to the present invention, when the sum of the path weights calculated based on the specific start node is larger than the threshold lower bound value using the threshold lower bound value, the search for the median node for the specific start node is suspended By doing so, you can reduce the amount of computation and search the median node quickly and at low cost.

셋째, 본 발명에 따른 메디안 노드의 검색 방법은 각 그래프 그룹에서 가장 작은 경로 가중치 합을 인접 그래프 그룹으로 송신함으로써, 하한 경계값을 계산하기 위해 필요한 데이터 송수신 횟수를 줄일 수 있다.Third, in the median node search method according to the present invention, by transmitting the smallest path weight sum in each graph group to the adjacent graph group, it is possible to reduce the number of data transmission / reception required for calculating the lower bound value.

도 1은 본 발명의 일 실시예에 따른, 다수의 그래프 그룹으로 이루어진 대용량 그래프 데이터베이스의 일 예를 도시하고 있다.
도 2는 본 발명의 일 실시예에 따른 대용량 그래프 데이터베이스에서 메디안 노드를 분산 검색하는 장치를 설명하기 위한 기능 블록도이다.
도 3은 본 발명의 일 실시예에 따른 검색 모듈을 보다 구체적으로 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 기능 수행부를 보다 구체적으로 설명하기 위한 기능 블록도이다.
도 5는 본 발명에 따른 진행 결정부의 일 예를 보다 구체적으로 설명하기 위한 기능 블록도이다.
도 6은 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명에 따른 하한 경계값을 계산하는 일 예를 설명하기 위한 흐름도이다.
도 8 내지 도 15는 본 발명에 따른 메디안 노드의 검색 방법의 일 예를 설명하기 위한 도면이다.
도 16은 그래프 그룹 사이에서 전체 최소값을 송신하는 방식을 설명하기 위한 도면이다.
FIG. 1 illustrates an example of a large capacity graph database composed of a plurality of graph groups according to an embodiment of the present invention.
FIG. 2 is a functional block diagram illustrating an apparatus for distributed search of median nodes in a large-capacity graph database according to an embodiment of the present invention.
3 is a functional block diagram for explaining a search module according to an embodiment of the present invention in more detail.
4 is a functional block diagram for explaining the function performing unit according to the present invention in more detail.
5 is a functional block diagram for explaining an example of the progress determining unit according to the present invention in more detail.
6 is a flowchart illustrating a method of searching a median node according to an embodiment of the present invention.
7 is a flowchart for explaining an example of calculating a lower bound value according to the present invention.
8 to 15 are views for explaining an example of a method of searching a median node according to the present invention.
16 is a diagram for explaining a method of transmitting the entire minimum value among the graph groups.

이하 첨부한 도면을 참고로 본 발명의 일 실시예에 따른 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 방법 및 그 장치에 대해 보다 구체적으로 설명한다.
Hereinafter, a method and an apparatus for searching a median node in a large-capacity graph database according to an embodiment of the present invention will be described in more detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른, 다수의 그래프 그룹으로 이루어진 대용량 그래프 데이터베이스의 일 예를 도시하고 있다.FIG. 1 illustrates an example of a large capacity graph database composed of a plurality of graph groups according to an embodiment of the present invention.

도 1을 참고로 살펴보면, 원으로 표현된 다수의 노드 버텍스와 노드 버텍스 사이를 연결하는 에지로 구성되어 있는 대용량 그래프 데이터베이스가 존재한다. 여기서 노드 버텍스와 노드 버텍스를 연결하는 에지에는 가중치가 부여되어 있는데, 노드 버텍스는 소셜 네트워크의 경우 사용자 이름, 아이디 등과 같은 사용자 식별자이며, 노드 에지는 사용자의 관계를 의미하며, 가중치는 노드와 노드 사이의 거리, 친밀도 등을 의미한다.Referring to FIG. 1, there is a large-capacity graph database composed of edges connecting a plurality of node vertices represented by a circle and a node vertex. Here, weights are assigned to edges connecting node vertex and node vertex. Node vertex is a user identifier such as user name and ID in social network, node edge is user relation, weight is a value between node and node Distance, intimacy and the like.

대용량 그래프 데이터베이스는 다수의 그래프 그룹(GG1, GG2, GG3)으로 구분되어 그래프 그룹 단위로 메디안 노드를 검색하는 장치에 분산 저장되어 있는데, 메디안 노드를 검색하는 장치는 각 그래프 그룹 단위로 각 그래프 그룹을 구성하는 모든 노드를 기준 노드로 동시에 그래프 그룹에서 단일 쌍 최단 경로를 계산한다.The mass graph database is divided into a plurality of graph groups (GG1, GG2, and GG3), and is stored in a device for searching median nodes in a graph group unit. The median node searching apparatus searches each graph group Calculate the single-pair shortest path in the graph group at the same time as all nodes constituting the reference node.

여기서 그래프 그룹에서 다른 그래프 그룹과의 경계에 위치하는 경계 노드는 다른 그래프 그룹에서 경계 노드에 연결되어 있는 주변 노드의 식별자 정보를 가지는데, 예를 들어 그래프 그룹(GG1)의 경계 노드A는 그래프 그룹(GG1)의 경계에 위치하는 그래프 그룹(GG3)에서 경계 노드A에 연결되어 있는 주변 노드B의 식별자 정보를 가지고 있다. 이러한 주변 노드B의 식별자 정보는 그래프 데이터베이스에 저장될 수 있다.
For example, the border node A in the graph group (GG1) has the identifier of the neighboring node connected to the border node in the other graph group. And the identifier of the neighboring node B connected to the border node A in the graph group GG3 located at the border of the node GG1. The identifier information of this peripheral node B can be stored in the graph database.

도 2는 본 발명의 일 실시예에 따른 대용량 그래프 데이터베이스에서 메디안 노드를 분산 검색하는 장치를 설명하기 위한 기능 블록도이다.FIG. 2 is a functional block diagram illustrating an apparatus for distributed search of median nodes in a large-capacity graph database according to an embodiment of the present invention.

도 2를 참고로 보다 구체적으로 살펴보면, 그래프 데이터베이스(100)는 다수개의 그래프 그룹으로 분리되어 있는 대용량 그래프 데이터베이스 중 적어도 1개 이상의 그래프 그룹이 분산 저장되어 있다.Referring to FIG. 2, the graph database 100 includes at least one or more graph groups among large-capacity graph databases divided into a plurality of graph groups.

검색모듈(200)는 그래프 그룹을 구성하는 노드 중 시작 노드와 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합 중 전체 최소값으로부터 하한 경계값을 계산하고, 하한 경계값이 임계 하한 경계값보다 작은 경우 시작 노드의 최단 경로 가중치를 계산하여 대용량 그래프 데이터베이스에서 메디안 노드를 검색하며 하한 경계값이 임계 하한 경계값보다 큰 경우에는 시작 노드의 최단 경로 가중치의 계산을 중단한다.
The search module 200 calculates a lower limit value from the total minimum value among the sum of the path weights between the start node and the reference node sequentially connected from the start node among the nodes constituting the graph group, The median node is searched in the large graph database by calculating the shortest path weight of the start node. If the lower limit threshold is larger than the threshold lower limit value, the calculation of the shortest path weight of the start node is stopped.

도 3은 본 발명의 일 실시예에 따른 검색 모듈을 보다 구체적으로 설명하기 위한 기능 블록도이다.3 is a functional block diagram for explaining a search module according to an embodiment of the present invention in more detail.

도 3을 참고로 살펴보면, 시작 노드 설정부(210)는 각 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정한다. Referring to FIG. 3, the starting node setting unit 210 sets one of the nodes constituting each graph group as a starting node.

시작 노드가 설정된 경우 시작 노드의 최단 경로 가중치를 계산하는데, 활성화 제어부(220)는 인접 노드로부터 가중치 메시지를 수신하는 기준 노드를 활성화 제어한다. 여기서 가중치 메시지는 인접하고 있는 모든 인접 노드로 송신되는데, 가중치 메시지를 수신한 인접 노드는 모두 기준 노드이며, 기준 노드는 활성화 제어된다. When the start node is set, the shortest path weight of the start node is calculated. The activation control unit 220 activates the reference node receiving the weight message from the neighbor node. Here, the weight message is transmitted to all neighboring neighboring nodes. The neighboring nodes receiving the weighting message are all the reference nodes, and the reference node is activated.

기능 수행부(230)는 활성화된 모든 기준 노드에 대해 시작 노드와 활성화된 각 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 시작 노드에 대한 메디안 노드의 검색 진행 여부를 결정한다. 가중치 메시지에는 시작 노드로부터 각 기준 노드까지의 경로 가중치의 합이 구비되어 있는데, 각 기준 노드는 인접한 적어도 1개의 이상의 노드로부터 가중치 메시지를 수신한다. 기능 수행부(230)는 수신한 가중치 메시지에 기초하여 각 기준 노드의 기설정된 노드 설정값과 각 기준 노드에서 수신한 가중치 메시지에 구비되어 있는 경로 가중치 합의 최소값을 비교하여 노드 설정값과 최소값 중 작은 값으로 각 기준 노드의 노드값을 설정한다. The function performing unit 230 calculates the lower limit value from the total minimum value having the smallest value among the sum of the path weights between the starting node and each activated reference node for all the activated reference nodes, . The weight message includes a sum of path weights from a start node to each reference node, and each reference node receives a weight message from at least one adjacent node. The function performing unit 230 compares the preset node setting value of each reference node with the minimum value of the path weight sum included in the weight message received from each reference node based on the received weight message, Set the node value of each reference node as a value.

한편, 수행 수행부(230)는 모든 기준 노드에서 수신한 가중치 메시지에 구비되어 있는 시작 노드로부터 각 기준 노드 사이의 경로 가중치 합 중 최소값을 가지는 전체 최소값을 판단하며, 전체 최소값으로부터 하한 경계값을 계산하여 계산한 하한 경계값이 임계 하한 경계값보다 작은 경우 시작 노드로부터의 최단 경로 가중치를 계속해서 계산한다. 즉, 가중치 메시지를 수신한 모든 기준 노드를 대상으로 계산한 하한 경계값이 임계 하한 경계값보다 작은 경우, 기능 수행부(230)는 다시 기준 노드에 인접한 노드로 가중치 메시지를 송신하며, 가중치 메시지를 수신한 인접 노드는 다음 단계(superstep)에서 기준 노드로 동작하여 앞서 설명한 기능 수행부(230)의 동작을 반복 수행한다. 기능 수행부(230)는 데이터 그룹에 존재하는 모든 기준 노드에서 노드값이 변경되지 않을 때까지 앞서 설명한 기능 수행부(230)의 동작을 반복 수행한다.Meanwhile, the performance unit 230 determines the minimum value of the sum of the path weights between the reference nodes from the start node included in the weight message received from all the reference nodes, and calculates the minimum value from the minimum value If the calculated lower bound threshold is smaller than the threshold lower threshold, the shortest path weight from the starting node is continuously calculated. That is, when the lower bound value calculated for all the reference nodes receiving the weight message is smaller than the lower bound threshold value, the function execution unit 230 transmits the weight message to the node adjacent to the reference node again, The received neighbor node operates as a reference node in the next step (superstep) and repeats the operation of the function performing unit 230 described above. The function execution unit 230 repeatedly performs the operation of the function execution unit 230 described above until the node value is not changed in all the reference nodes existing in the data group.

그러나 기능 수행부(230)는 계산한 하한 경계값이 임계 하한 경계값보다 큰 경우, 설정된 시작 노드로부터의 최단 경로 가중치의 계산을 중단한다. However, if the calculated lower limit value is larger than the threshold lower limit value, the function execution unit 230 stops calculation of the shortest path weight from the set start node.

최단 경로 계산부(240)는 설정된 시작 노드로부터의 최단 경로 가중치의 계산이 중단되지 않으며 모든 기준 노드의 노드값이 변경되지 않을 때, 대용량 그래프데이터베이스의 모든 노드의 노드값 합으로부터 시작 노드의 최단 경로 가중치를 계산한다. 시작 노드의 최단 경로 가중치가 계산되는 경우, 갱신부(250)는 임계 하한 경계값을 계산한 시작 노드의 최단 경로 가중치로 갱신한다. 한편, 시작 노드 설정부(210)는 시작 노드를 그래프 그룹의 다른 노드로 변경 설정하며, 활성화 제어부(220), 기능 수행부(230)는 변경된 시작 노드에 대한 최단 경로 가중치를 계산한다.When the calculation of the shortest path weight from the set start node is not stopped and the node value of all the reference nodes is not changed, the shortest path calculating unit 240 calculates the shortest path of the start node from the sum of the node values of all nodes of the large- Calculate the weights. When the shortest path weight of the starting node is calculated, the updating unit 250 updates the threshold value of the threshold with the shortest path weight of the starting node. Meanwhile, the start node setting unit 210 changes the start node to another node in the graph group, and the activation control unit 220 and the function execution unit 230 calculate the shortest path weight for the changed start node.

메디안 노드 결정부(260)는 계산된, 대용량 그래프데이터베이스의 모든 노드의 최단 경로 가중치에 기초하여 가장 작은 최단 경로 가중치를 가지는 노드를 메디안 노드로 결정한다.The median node determination unit 260 determines a node having the smallest shortest path weight as a median node based on the calculated shortest path weight of all nodes of the large capacity graph database.

바람직하게, 전체 최소값 송신부(270)는 각 수퍼스텝에서 전체 최소값에 대한 정보를 인접 분산되어 있는 메디안 노드의 검색 장치로 송신한다. 이와 같이 전체 최소값 송신부(270)를 통해 전체 최소값에 대한 정보를 인접 분산되어 있는 메디안 노드의 검색 장치로 제공함으로써, 그래프 그룹에 위치하는 모든 경계 노드가 각각 인접 분산되어 있는 메디안 노드의 검색 장치로 자신의 노드값을 송신하는 것을 방지하여 분산된 메디안 노드의 검색 장치 사이에서 송수신되는 통신 횟수를 줄일 수 있다.Preferably, the overall minimum value transmission unit 270 transmits information on the entire minimum value to the searching apparatuses of the adjacent median nodes in each super step. Thus, by providing the information on the entire minimum value to the search device of the median node that is distributed in the neighborhood through the total minimum value transmitter 270, all the border nodes located in the graph group are transmitted to the search device of the median node, It is possible to reduce the number of communications between the search devices of the dispersed median node.

도 4는 본 발명에 따른 기능 수행부를 보다 구체적으로 설명하기 위한 기능 블록도이다.4 is a functional block diagram for explaining the function performing unit according to the present invention in more detail.

도 4를 참고로 보다 구체적으로 살펴보면, 노드값 설정부(310)는 기준 노드에서 인접한 노드로부터 가중치 메시지를 수신하는 경우, 가중치 메시지에 구비되어 있는 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값과 기준 노드의 기설정된 노드값을 비교하여 기준 노드의 노드값을 갱신 설정한다. 기준 노드에 인접한 모든 노드는 기준 노드로 시작 노드와 기준 노드 사이의 경로 가중치 합을 구비하는 가중치 메시지를 송신하는데, 노드값 설정부(310)는 수신한 경로 가중치 합 중 최소값과 기설정된 노드값을 비교하여 최소값이 기설정된 노드값보다 작은 경우 최소값으로 기준 노드의 노드값을 변경 설정한다. 그러나 최소값이 기설정된 노드값보다 큰 경우에는 기준 노드의 노드값을 유지 설정한다. 4, when receiving a weight message from an adjacent node in a reference node, the node value setting unit 310 sets a minimum value of a sum of path weights between a start node and a reference node included in the weight message And the node value of the reference node is updated and set. All nodes adjacent to the reference node transmit a weight message having a path weight sum between the start node and the reference node as a reference node. The node value setting unit 310 sets a minimum value of the received path weight sum and a predetermined node value If the minimum value is smaller than the preset node value, the node value of the reference node is changed and set as the minimum value. However, if the minimum value is larger than the predetermined node value, the node value of the reference node is maintained.

한편, 진행 결정부(320)는 시작 노드와 모든 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 시작 노드에 대한 메디안 노드의 검색 여부를 결정한다. 진행 결정부(320)는 계한한 하한 경계값이 임계 하한 경계값보다 큰 경우 시작 노드의 최단 경로 가중치의 계산을 중단하며, 계산한 하한 경계값이 임계 하한 경계값보다 작은 경우 시작 노드의 최단 경로 가중치의 계산을 계속한다.The progress determining unit 320 determines whether to search the median node for the start node by calculating the lower limit value from the minimum value among the minimum values of the sum of the path weights between the start node and all reference nodes. If the calculated lower bound value is smaller than the lower bound threshold value, the advance decision unit 320 stops the calculation of the shortest path weight of the starting node if the lower bound threshold value is larger than the threshold lower bound threshold value. The calculation of the weights continues.

진행 결정부(320)에서 시작 노드의 최단 경로 가중치의 계산을 계속하는 것으로 결정하고 기준 노드의 노드값이 변경 갱신된 경우, 가중치 메시지 송신부(330)는 기준 노드에 에지로 연결된 인접 노드로 시작 노드로부터 인접 노드 사이의 경로 가중치 합을 구비하는 새로운 가중치 메시지를 생성하고, 생성한 가중치 메시지를 기준 노드에 인접한 기준 인접 노드로 송신한다.
If it is determined that the calculation of the shortest path weight of the start node is continued in the advance decision unit 320 and the node value of the reference node is changed and updated, the weight message transmission unit 330 transmits the start node To a neighbor node adjacent to the reference node, and transmits the generated weight message to the reference neighbor node adjacent to the reference node.

도 5는 본 발명에 따른 진행 결정부의 일 예를 보다 구체적으로 설명하기 위한 기능 블록도이다.5 is a functional block diagram for explaining an example of the progress determining unit according to the present invention in more detail.

도 5를 참고로 본 발명에 따른 진행 결정부의 일 예를 살펴보면, 전체 최소값 계산부(321)는 시작 노드와 모든 기준 노드 사이의 경로 가중치 합 중 최소값을 가지는 전체 최소값을 판단한다. 기준 노드는 각각 기준 노드에 인접한 적어도 1개 이상의 인접 노드로부터 경로 가중치 합을 수신하며, 모든 기준 노드가 수신한 경로 가중치 합 중 가장 작은 전체 최소값을 판단한다.Referring to FIG. 5, the overall minimum value calculator 321 determines the minimum value among the sum of path weights between the start node and all reference nodes. The reference node receives the path weighting sum from at least one neighboring node adjacent to the reference node and determines the smallest minimum value among the sum of the path weights received by all of the reference nodes.

하한 경계값 계산부(323)는 대용량 그래프 데이터베이스에서 전체 최소값 이상의 노드값을 가지는 노드의 수와 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산한다.The lower bound threshold value calculation unit 323 calculates the lower bound threshold value from the node value of the node having the node value equal to or smaller than the total minimum value and the node having the node value equal to or larger than the minimum minimum value in the large capacity graph database.

비교부(325)는 하한 경계값과 임계 하한 경계값의 크기를 비교하며, 중단 진행 결정부(327)는 하한 경계값이 임계 하한 경계값보다 큰 경우 시작 노드에 대한 메디안 노드의 검색을 중단하며 하한 경계값이 임계 하한 경계값보다 작은 경우 시작 노드의 최단 경로 가중치의 계산을 계속하도록 결정한다.
The comparator 325 compares the lower bound value with the lower bound threshold value. If the lower bound threshold value is greater than the lower bound threshold value, the interruption progress decision unit 327 discontinues searching the median node for the starting node And determines to continue calculating the shortest path weight of the start node if the lower bound threshold value is smaller than the threshold lower bound threshold value.

도 6은 본 발명의 일 실시예에 따른 메디안 노드의 검색 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of searching a median node according to an embodiment of the present invention.

도 6을 참고로 보다 구체적으로 살펴보면, 대용량 그래프 데이터베이스는 그래프 그룹으로 구분되어 다수의 메디안 노드 검색 장치에 분산 저장되어 있는데, 각 메디안 노드 검색 장치에서는 저장된 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정한다(S110). 바람직하게, 그래프 그룹에서 설정한 시작 노드의 노드값은 0으로 설정되고, 시작 노드를 제외한 나머지 노드의 노드값은 무한대로 설정된다. 본 발명이 적용되는 분야에 따라 시작 노드의 노드값을 나머지 노드의 노드값과 비교하여 상대적으로 작은 값으로 설정할 수 있으며, 이는 본 발명의 범위에 속한다.6, a large-capacity graph database is divided into a plurality of graph groups and distributed and stored in a plurality of median node searching apparatuses. In each median node searching apparatus, (S110). Preferably, the node value of the starting node set in the graph group is set to 0, and the node value of the remaining nodes other than the starting node is set to infinity. According to the field to which the present invention is applied, the node value of the starting node can be set to a relatively small value by comparing with the node value of the remaining nodes, which is within the scope of the present invention.

인접한 노드로부터 가중치 메시지를 수신하는 경우(S120) 가중치 메시지를 수신한 모든 노드는 기준 노드로 활성화되는데, 가중치 메시지에는 설정한 시작 노드와 기준 노드 사이의 경로 가중치 합이 구비되어 있다. 기준 노드는 인접한, 즉 에지로 연결되어 있는 적어도 1개 이상의 인접 노드로부터 가중치 메시지를 수신하며 수신한 가중치 메시지의 경로 가중치 합 중 최소값을 판단한다. When a weight message is received from an adjacent node (S120), all nodes receiving the weight message are activated as reference nodes, and the weight message includes a path weight sum between the set start node and the reference node. The reference node receives the weight message from at least one adjacent node connected to the edge, i.e., the edge, and determines the minimum value among the sum of the path weights of the received weight message.

판단한 최소값과 기준 노드에 기설정되어 있는 노드값을 비교하여 최소값이 기설정되어 있는 노드값보다 작은지 판단하여 기준 노드의 노드값을 설정하는데, 기준 노드의 노드값이 변경되었는지 판단한다(S130). 최소값이 기설정되어 있는 기준 노드의 노드값보다 작은 경우 최소값으로 기준 노드의 노드값을 변경 설정하며, 최소값이 기설정되어 있는 기준 노드의 노드값보다 큰 경우 기설정되어 있는 기준 노드의 노드값을 유지 설정한다.In step S130, it is determined whether the node value of the reference node is changed by determining whether the minimum value is smaller than the preset node value by comparing the determined minimum value with the node value previously set in the reference node. . If the minimum value is smaller than the node value of the reference node, the node value of the reference node is changed to the minimum value. If the minimum value is larger than the node value of the reference node, Keep and set.

그래프 그룹에서 노드값이 변경된 기준 노드가 존재하는 경우, 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산한다(S140). 계산한 하한 경계값이 임계 하한 경계값보다 작은 경우, 기준 노드는 인접한 기준 인접 노드로 시작 노드로부터 기준 인접 노드까지의 경로 가중치 합을 구비하는 새로운 가중치 메시지를 생성하여 송신한다. 기준 노드로부터 새로운 가중치 메시지를 수신한 인접 노드는 다음 단계(superstep)에서 신규 기준 노드로 동작한다.If there is a reference node in which the node value is changed in the graph group, the lower bound value is calculated from the minimum value of the sum of the path weights between the start node and the reference node (S140). If the calculated lower limit threshold value is smaller than the threshold lower limit threshold value, the reference node generates and transmits a new weighted message having the path weight sum from the start node to the reference neighbor node to the adjacent reference neighbor node. The neighbor node receiving the new weight message from the reference node operates as a new reference node in the next step (superstep).

새로운 가중치 메시지를 수신한 신규 기준 노드는 그래프 그룹에서 모든 기준 노드의 노드값이 변경되지 않을 때까지 앞서 설명한 S130 단계 내지 S150 단계를 반복한다. 그래프 그룹의 모든 기준 노드에서 노드값이 변경되지 않은 경우, 대용량 그래프 데이터베이스의 모든 노드의 노드값을 합하여 시작 노드의 최단 경로 가중치를 계산한다(S160). The new reference node receiving the new weight message repeats steps S130 through S150 described above until the node values of all reference nodes in the graph group are not changed. If the node value is not changed in all the reference nodes of the graph group, the shortest path weight of the start node is calculated by summing the node values of all the nodes of the large capacity graph database (S160).

시작 노드의 최단 경로 가중치를 계산한 경우, 시작 노드의 최단 경로 가중치와 임계 하한 경계값을 비교하여 작은 값으로 임계 하한 경계값을 갱신하고, 그래프 그룹에 시작 노드로 설정되지 않은 노드가 존재하는지 판단한다(S170). 시작 노드로 설정되지 않은 노드가 존재하는 경우, 시작 노드로 설정되지 않은 노드로 시작 노드를 설정하여 앞서 설명한 S110단계 내지 S170 단계를 반복 수행한다.When calculating the shortest path weight of the start node, the threshold value of the threshold is compared with the threshold value of the shortest path of the start node to update the threshold lower limit value, and it is determined whether or not a node not set as the start node exists in the graph group (S170). If there is a node not set as the start node, the start node is set as a node that is not set as the start node, and the above-described steps S110 to S170 are repeated.

그러나 시작 노드로 설정되지 않은 노드가 그래프 그룹에 존재하지 않은 경우, 전체 그래프 그룹에서 최단 경로 가중치가 계산된 시작 노드 중에서 가장 작은 최단 경로 가중치를 가지는 시작 노드를 대용량 그래프 데이터베이스의 메디안 노드로 결정한다(S180). However, when a node not set as a start node is not present in the graph group, the start node having the smallest shortest path weight among the start nodes whose shortest path weight is calculated in the entire graph group is determined as the median node of the large capacity graph database S180).

한편, 본원발명에서는 계산한 하한 경계값이 임계 하한 경계값보다 큰 경우, 시작 노드의 최단 경로 가중치의 계산을 중단한다(S190). 시작 노드의 최단 경로 가중치의 계산이 중단된 경우, 그래프 그룹에서 시작 노드를 변경하여 새로운 시작 노드로 앞서 설명한 S110 단계 내지 S180 단계를 반복하여 수행한다.
Meanwhile, in the present invention, when the calculated lower bound value is larger than the lower bound threshold value, the calculation of the shortest path weight of the starting node is stopped (S190). If the computation of the shortest path weight of the start node is interrupted, the start node is changed in the graph group to repeat the steps S110 to S180 described above as a new start node.

도 6을 참고로 설명한 본 발명에 따른 메디안 노드의 검색은 프리겔(Pregel)과 같은 분산 처리 프레임워크를 이용하여 수행될 수 있는데, 프리겔은 노드 단위로 기설계한 함수에 따라 노드의 값을 변경하거나 다른 노드로 메시지를 보내는 등의 슈퍼스텝(superstep)이란 과정으로 동작한다. 본 발명에서 각 슈퍼스텝은 가중치 메시지를 수신하는 기능, 기준 노드의 노드값을 설정하는 기능, 하한 경계값을 계산하는 기능, 최단 경로 가중치의 계산을 계속해서 진행할지 판단하는 기능, 최단 경로 가중치의 계산을 계속해서 진행하는 것으로 판단하는 경우 새로운 가중치 메시지를 생성하여 송신하는 기능 등으로 이루어진다.The searching of the median node according to the present invention described with reference to FIG. 6 can be performed by using a distributed processing framework such as a pregel, It acts as a superstep, such as changing or sending a message to another node. In the present invention, each super step includes a function of receiving a weight message, a function of setting a node value of a reference node, a function of calculating a lower limit value, a function of determining whether to continue calculation of the shortest path weight, And generating and transmitting a new weighted message when it is determined that the calculation is to be continued.

프리겔에서 활성화와 비활성화라는 두 가지의 노드 상태가 존재하는데 활성화 상태의 노드들은 사용자가 정의한 함수를 수행하며 연결된 노드에 메시지를 전달한다. 이때 더 이상 전송하는 메시지가 없거나 노드값이 변경되지 않는 비활성화 상태가 되며, 메시지를 전송받아 값이 변경되는 작업이 발생하지 않으면 이때 또한 비활성화 상태로 전이가 발생한다. 이러한 프리겔은 모든 노드가 비활성화 상태이거나 노드 간 메시지 전달이 발생하지 않을 때 종료하게 된다.
There are two node states in the pregels, activation and deactivation. The nodes in the active state carry out the user defined function and deliver the message to the connected node. At this time, there is no message to be transmitted or the node value is not changed. If the message is not received and the value is changed, the transition is also made to the inactive state at this time. This pre-gel is terminated when all nodes are inactive or no message transfer occurs between nodes.

도 7은 본 발명에 따른 하한 경계값을 계산하는 일 예를 설명하기 위한 흐름도이다.7 is a flowchart for explaining an example of calculating a lower bound value according to the present invention.

도 7을 참고로 보다 구체적으로 살펴보면, 가중치 메시지에 구비되어 있는 시작 노드와 기준 노드 사이의 경로 가중치의 합 중 최소값과 기준 노드의 기설정된 노드값을 비교하여 기준 노드의 노드값을 갱신 설정한다(S141). 7, the node value of the reference node is updated and set by comparing the minimum value of the sum of the path weights between the start node and the reference node included in the weight message and the predetermined node value of the reference node S141).

전체 그래프 그룹의 모든 기준 노드의 노드값 중 최소값을 가지는 전체 최소값을 판단하고(S143), 전체 최소값 이상의 노드값을 가지는 노드의 수와 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산한다.The total minimum value of the node values of all the reference nodes of the entire graph group is determined (S143), and the number of nodes having the node value greater than the minimum minimum value and the node value of the node having the node value less than the minimum minimum value are determined .

바람직하게, 하한 경계값(LB)은 아래의 수학식(1)과 같이 계산된다.Preferably, the lower limit boundary value LB is calculated by the following equation (1).

Figure 112014056942319-pat00001
Figure 112014056942319-pat00001

여기서 n은 대용량 그래프 데이터베이스에 존재하는 전체 노드 수(t) 중 전체 최소값보다 작은 노드값을 가지는 노드의 수이며, wi는 전체 최소값보다 작은 노드값을 가지는 노드(i)의 노드값이며, wmin은 전체 최소값을 의미하는 것을 특징으로 한다.
Here, n is the number of nodes having a node value smaller than the total minimum number of all nodes (t) existing in the large capacity graph database, w i is a node value of a node (i) having a node value smaller than the total minimum value, w min is the total minimum value.

도 8 내지 도 15는 본 발명에 따른 메디안 노드의 검색 방법의 일 예를 설명하기 위한 도면이다.8 to 15 are views for explaining an example of a method of searching a median node according to the present invention.

먼저, 도 8(a)을 참고로 살펴보면 그래프 그룹에 노드 버텍스가 1, 2, 3, 4, 5인 5개의 노드가 존재하면, 노드 1을 시작 노드로 초기화 설정하여 노드 1의 노드값을 0으로 초기화 설정하고 나머지 노드 2, 3, 4, 5의 노드값을 무한대로 초기화 설정한다. 시작 노드를 설정한 경우, 제0 수퍼스텝에서 시작 노드는 기준 노드로 설정되며 인접한 노드4, 5는 기준 인접 노드로 동작한다. 시작 노드는 가중치 메시지를 생성하여 기준 인접 노드로 송신하는데, 가중치 메시지에는 시작 노드로부터 기준 인접 노드까지의 경로 가중치 합이 구비되어 있다. 도 8(b)에 도시되어 있는 바와 같이, 기준 인접 노드 4가 수신한 가중치 메시지에는 시작 노드의 노드값(0)과 시작 노드와 기준 인접 노드4 사이의 가중치(10)가 합해진 가중치 경로 합이 구비되어 있다.
Referring to FIG. 8 (a), if there are five nodes having node vertices of 1, 2, 3, 4, and 5 in the graph group, node 1 is initialized as a start node, And initializes the node values of the remaining nodes 2, 3, 4, and 5 to infinity. When the start node is set, the start node is set as the reference node in the 0th super step, and the adjacent nodes 4 and 5 serve as the reference neighbor nodes. The start node generates a weight message and transmits it to the reference neighbor node. The weight message has a path weight sum from the start node to the reference neighbor node. As shown in FIG. 8 (b), the weight message received by the reference neighbor node 4 includes a weighted path sum obtained by adding the node value (0) of the start node and the weight (10) between the start node and the reference neighbor node 4 Respectively.

다음으로 도 9(a)를 참고로 살펴보면, 시작 노드로부터 가중치 메시지를 수신한 노드 4, 5는 제1 수퍼스텝에서 기준 노드로 동작한다. 기준 노드4는 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값인 무한대와 수신한 가중치 메시지의 시작 노드 1로부터 기준노드 4까지의 가중치 경로 합(10) 중 가장 작은 값으로 기준 노드의 노드값(10)을 갱신 설정한다. 이와 동일하게 기준 노드 5도 기준 노드의 노드값을 설정한다. 제1 수퍼스텝에서 모든 기준 노드 4, 5에서 수신한 시작 노드 1과 기준 노드 4, 5 사이의 경로 가중치 합(5, 10) 중 최소값을 가지는 전체 최소값은 5이다. 제1 수퍼스텝에서 전체 최소값보다 작은 노드값을 가지는 노드의 노드값 합, 전체 최소값보다 큰 노드값을 가지는 노드 수 및 전체 최소값에 기초하여 하한 경계값(0+5+5×3)을 계산한다. 초기화시 임계 하한 경계값은 무한대로 설정되거나 일정한 값으로 설정될 수 있는데, 임계 하한 경계값은 40으로 설정되어 있는 것으로 가정한다. 계산한 하한 경계값이 임계 하한 경계값보다 작으며 기준 노드에서 노드값이 변경 설정되므로, 도 9(b)에 도시되어 있는 바와 같이 기준 노드는 인접 기준 노드로 새로운 가중치 메시지를 생성하여 송신한다.
Next, referring to FIG. 9 (a), the nodes 4 and 5 receiving the weight message from the start node operate as reference nodes in the first super step. The reference node 4 is a minimum value among the weighted path sum (10) from the initial node 1 to the reference node 4 of the received weight message and the predetermined node value of the reference node based on the received weight message, Update the value (10). Similarly, the reference node 5 sets the node value of the reference node. In the first super step, the total minimum value of the path weight sum (5, 10) between the start node 1 and the reference nodes 4, 5 received at all of the reference nodes 4, 5 is 5. In the first super step, the lower limit boundary value (0 + 5 + 5 x 3) is calculated based on the sum of the node values of the node having the node value smaller than the total minimum value, the number of nodes having the node value larger than the total minimum value, . It is assumed that the threshold lower bound threshold value at initialization may be set to infinity or a constant value, and the threshold lower bound threshold value is set at 40. The calculated lower limit threshold value is smaller than the threshold lower limit threshold value and the node value is changed and set in the reference node. Therefore, as shown in FIG. 9B, the reference node generates and transmits a new weighted message to the adjacent reference node.

다음으로 도 10(a)를 참고로 살펴보면, 기준 노드 4로부터 가중치 메시지를 수신한 노드 2, 5는 제2 수퍼스텝에서 기준 노드로 동작하며, 기준 노드 5로부터 가중치 메시지를 수신한 노드 2, 3, 4는 제2 수퍼스텝에서 기준 노드로 동작한다. 기준 노드 4는 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값(10)과 수신한 가중치 메시지의 시작 노드로부터 기준 노드 4까지의 가중치 경로 합 중 최소값(8)을 비교하여 기준 노드의 노드값(8)을 갱신 설정한다. 이와 동일하게 기준 노드 2, 3도 노드값을 설정한다. 제2 수퍼스텝에서 모든 기준 노드 2, 3, 4, 5에서 수신한 시작 노드 1과 기준 노드2, 3, 4, 5 사이의 경로 가중치 합(7. 8, 11, 12, 14) 중 최소값을 가지는 전체 최소값은 7이다. 제2 수퍼스텝에서 전체 최소값보다 작은 노드값을 가지는 노드의 노드값 합, 전체 최소값보다 큰 노드값을 가지는 노드 수 및 전체 최소값에 기초하여 하한 경계값(0+5+7+7×2)을 계산한다. 계산한 하한 경계값(26)이 임계 하한 경계값(40)보다 작으며 기준 노드에서 노드값이 변경 설정되므로, 도 10(b)에 도시되어 있는 바와 같이 기준 노드는 인접 기준 노드로 새로운 가중치 메시지를 생성하여 송신한다.
Next, referring to FIG. 10 (a), the nodes 2 and 5 receiving the weight message from the reference node 4 operate as reference nodes in the second super step, and nodes 2 and 3 , And 4 operates as a reference node in the second super step. The reference node 4 compares the minimum value 8 of the weighted path sum from the starting node of the received weighted message to the reference node 4 based on the received weighted message, Update the value (8). Similarly, the node values of the reference nodes 2 and 3 are set. (7, 8, 11, 12, 14) between the starting node 1 and the reference nodes 2, 3, 4, 5 received from all of the reference nodes 2, 3, 4 and 5 in the second super step The total minimum value of the branches is 7. (0 + 5 + 7 + 7x2) based on the sum of the node values of the node having the node value smaller than the total minimum value, the number of nodes having the node value larger than the total minimum value, and the total minimum value in the second super step . The calculated lower bound value 26 is smaller than the lower bound threshold value 40 and the node value is changed and set in the reference node. Thus, as shown in FIG. 10 (b), the reference node transmits a new weight message And transmits it.

다음으로 도 11(a)를 참고로 살펴보면, 기준 노드 3, 4로부터 가중치 메시지를 수신한 노드 2는 제3 수퍼스텝에서 기준 노드로 동작하며, 기준 노드 2로부터 가중치 메시지를 수신한 노드 3은 제3 수퍼스텝에서 기준 노드로 동작하며, 기준 노드 3으로부터 가중치 메시지를 수신한 노드 1은 제3 수퍼스텝에서 기준 노드로 동작하며, 기준 노드 4로부터 가중치 메시지를 수신한 노드 5는 기준 노드로 동작한다. 기준 노드 2는 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값(11)과 수신한 가중치 메시지의 시작 노드로부터 기준 노드 2까지의 가중치 경로 합 중 최소값(9)에서 작은 값으로 기준 노드의 노드값(9)을 갱신 설정한다. 이와 동일하게 기준 노드 1, 3, 5도 노드값을 설정한다. 제3 수퍼스텝에서 모든 기준 노드 1, 2, 3, 5에서 수신한 시작 노드 1과 기준 노드2, 3, 4, 5 사이의 경로 가중치 합(9. 10, 13, 14, 15) 중 최소값을 가지는 전체 최소값은 9이다. 제3 수퍼스텝에서 전체 최소값보다 작은 노드값을 가지는 노드의 노드값 합, 전체 최소값보다 큰 노드갑을 가지는 노드 수 및 전체 최소값에 기초하여 하한 경계값(0+5+7+8+9×1)을 계산한다. 계산한 하한 경계값이 임계 하한 경계값보다 작으며, 기준 노드에서 노드값이 변경 설정되므로, 도 11(b)에 도시되어 있는 바와 같이 기준 노드는 인접 기준 노드로 새로운 가중치 메시지를 생성하여 송신한다.
Next, referring to FIG. 11 (a), the node 2 receiving the weight message from the reference nodes 3 and 4 operates as a reference node in the third super step, and the node 3 receiving the weight message from the reference node 2 The node 1 that operates as a reference node in the three supersteps and receives the weight message from the reference node 3 operates as a reference node in the third super step and the node 5 that receives the weight message from the reference node 4 operates as a reference node . The reference node 2 receives the weighted message of the reference node and transmits the weighted message to the reference node 2. The reference node 2 receives the weighted message of the reference node, Update the node value (9). Similarly, the node values are set in the reference nodes 1, 3, and 5 as well. (9, 10, 13, 14, 15) between the starting node 1 and the reference nodes 2, 3, 4, 5 received at all of the reference nodes 1, 2, 3 and 5 in the third super step The total minimum value of the branches is 9. (0 + 5 + 7 + 8 + 9 * 1) based on the sum of the node values of the node having the node value smaller than the total minimum value, the number of nodes having the node larger than the total minimum value, . Since the calculated lower limit threshold value is smaller than the threshold lower limit threshold value and the node value is changed and set in the reference node, the reference node generates and transmits a new weighted message to the adjacent reference node as shown in FIG. 11 (b) .

도 12에 도시되어 있는 바와 같이, 기준 노드 2로부터 가중치 메시지를 수신한 노드 3은 제4 수퍼스텝에서 기준 노드로 동작한다. 기준 노드 3은 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값(7)과 수신한 가중치 메시지의 시작 노드로부터 기준 노드 3까지의 가중치 경로 합 중 가장 작은 값(13)에서 작은 값으로 기준 노드의 노드값(7)을 갱신 설정한다.
As shown in Fig. 12, the node 3 that receives the weight message from the reference node 2 operates as a reference node in the fourth super step. The reference node 3 receives the weighted value of the reference node (7) based on the received weighted message and the smallest value among the weighted path sum from the starting node to the reference node 3 of the received weighted message (13) Update the node value (7) of the node.

그래프 그룹의 모든 노드 1, 2, 3, 4, 5에서 노드값이 변경되지 않은 경우, 그래프 그룹의 모든 노드 1, 2, 3, 4, 5의 노드값을 합하여 시작 노드1의 최단 경로 가중치(29)를 계산한다. 시작 노드1의 최단 경로 가중치(29)가 계산되는 경우, 임계 하한 경계값(40)을 계산한 최단 경로 가중치(29)로 변경한다.
If the node value is not changed at all nodes 1, 2, 3, 4 and 5 of the graph group, the node values of all nodes 1, 2, 3, 4 and 5 in the graph group are summed to obtain the shortest path weight 29). When the shortest path weighting value 29 of the starting node 1 is calculated, the threshold lower bounding value 40 is changed to the calculated shortest path weighting value 29. [

다음으로 도 13(a)를 참고로 살펴보면, 노드 2를 시작 노드로 초기화 설정하여 노드 2의 노드값을 0으로 초기화 설정하고 나머지 노드 1, 3, 4, 5의 노드값을 무한대로 초기화 설정한다. 시작 노드를 설정한 경우, 제5 수퍼스텝에서 시작 노드는 기준 노드로 설정되며 인접한 노드 3는 기준 인접 노드로 동작한다. 시작 노드는 가중치 메시지를 생성하여 기준 인접 노드로 송신하는데, 가중치 메시지에는 시작 노드로부터 기준 인접 노드까지의 경로 가중치 합이 구비되어 있다. 도 13(b)에 도시되어 있는 바와 같이, 기준 인접 노드 3이 수신한 가중치 메시지에는 시작 노드의 노드값(0)과 시작 노드와 기준 인접 노드3 사이의 가중치(4)가 합해진 가중치 경로 합이 구비되어 있다.
Next, referring to FIG. 13 (a), the node 2 is initialized as a start node, the node value of the node 2 is initialized to 0, and the node values of the remaining nodes 1, 3, 4 and 5 are initialized to infinity . In the case where the start node is set, in the fifth super step, the start node is set as the reference node and the adjacent node 3 serves as the reference neighbor node. The start node generates a weight message and transmits it to the reference neighbor node. The weight message has a path weight sum from the start node to the reference neighbor node. 13 (b), the weight message received by the reference neighbor node 3 includes a weighted path sum obtained by summing the node value (0) of the start node and the weight (4) between the start node and the reference neighbor node 3 Respectively.

다음으로 도 14(a)를 참고로 살펴보면, 시작 노드로부터 가중치 메시지를 수신한 노드 3은 제6 수퍼스텝에서 기준 노드로 동작한다. 기준 노드 3은 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값인 무한대와 수신한 가중치 메시지의 시작 노드 2로부터 기준노드 3까지의 가중치 경로 합 중 가장 작은 값으로 기준 노드의 노드값(4)을 갱신 설정한다. 제6 수퍼스텝에서 시작 노드 1과 기준 노드 3 사이의 경로 가중치 합(4) 중 최소값을 가지는 전체 최소값은 4이다. 제6 수퍼스텝에서 전체 최소값보다 작은 노드값을 가지는 노드의 노드값 합, 전체 최소값보다 큰 노드갑을 가지는 노드 수 및 전체 최소값에 기초하여 하한 경계값(0+4+4×3)을 계산한다. 계산한 하한 경계값이 임계 하한 경계값(29)보다 작으며 기준 노드에서 노드값이 변경 설정되므로, 도 14(b)에 도시되어 있는 바와 같이 기준 노드는 인접 기준 노드로 새로운 가중치 메시지를 생성하여 송신한다.
Next, referring to FIG. 14 (a), the node 3 receiving the weight message from the start node operates as a reference node in the sixth super step. Based on the weight message received, the reference node 3 is the smallest value among the weighted path sum from the initial node 2 to the reference node 3 of the received weight message and infinity, which is the predetermined node value of the reference node, ). In the sixth super step, the total minimum value of the path weight sum (4) between the start node 1 and the reference node 3 is 4. In the sixth super step, the lower limit boundary value (0 + 4 + 4 x 3) is calculated based on the sum of the node values of the node having the node value smaller than the total minimum value, the number of nodes having the node larger than the total minimum value, and the total minimum value. Since the calculated lower limit threshold value is smaller than the threshold lower limit value 29 and the node value is changed and set in the reference node, the reference node generates a new weighted message with the adjacent reference node as shown in FIG. 14 (b) .

다음으로 도 15(a)를 참고로 살펴보면, 기준 노드 3으로부터 가중치 메시지를 수신한 노드 1, 2는 제7 수퍼스텝에서 기준 노드로 동작한다. 기준 노드 1은 수신한 가중치 메시지에 기초하여 기준 노드의 기설정된 노드값과 시작 노드로부터 기준 노드 1까지의 가중치 경로 합 중 최소값에서 작은 값(11)으로 기준 노드의 노드값(11)을 갱신 설정한다. 이와 동일하게 기준 노드 2도 노드값을 설정한다. 제7 수퍼스텝에서 모든 기준 노드 1, 2에서 수신한 시작 노드 2과 기준 노드 1, 2 사이의 경로 가중치 합(10, 11) 중 최소값을 가지는 전체 최소값은 10이다. 제7 수퍼스텝에서 전체 최소값보다 작은 노드값을 가지는 노드의 노드값 합, 전체 최소값보다 큰 노드갑을 가지는 노드 수 및 전체 최소값에 기초하여 하한 경계값(0+4+10×3)을 계산한다. 계산한 하한 경계값(34)이 임계 하한 경계값보다 크기 때문에 시작 노드 2에 대한 최단 경로 가중치의 계산을 중단한다.
Next, referring to FIG. 15 (a), nodes 1 and 2 which receive the weight message from the reference node 3 operate as reference nodes in the seventh super step. The reference node 1 updates the node value (11) of the reference node from the preset node value of the reference node and the weighted path sum from the starting node 1 to the smallest value (11) based on the received weighted message do. Similarly, the reference node 2 also sets the node value. In the seventh super step, the total minimum value of the path weight sum (10, 11) between the start node 2 and the reference nodes 1 and 2 received at all of the reference nodes 1 and 2 is 10. In the seventh super step, the lower limit boundary value (0 + 4 + 10 x 3) is calculated based on the sum of the node values of the node having the node value smaller than the total minimum value, the number of nodes having the node larger than the total minimum value, and the total minimum value. The calculation of the shortest path weight for the start node 2 is stopped because the calculated lower limit threshold value 34 is larger than the threshold lower limit threshold value.

바람직하게, 도 16에 도시되어 있는 바와 같이 각 수퍼스텝에서 하한 경계값을 계산하기 위하여 그래프 그룹의 경계에 위치하는 기준 노드는 인접하고 있는 그래프 그룹으로 각각 시작 노드로부터 기준 노드까지의 경로 가중치의 합 중 최소값을 송신하여야 한다. 본 발명에서는 각 그래프 그룹에서 경계에 위치하는 모든 기준 노드가 최소값을 송신하는 대신, 각 그래프 그룹에서 경계에 위치하는 모든 기준 노드의 최소값 중 가장 작은 값인 전체 최소값을 판단하여 인접하고 있는 그래프 그룹으로 전체 최소값만을 송신한다. 이와 같이 각 그래프 그룹에서 전체 최소값을 판단하여 송신함으로써, 인접 그래프 그룹 사이의 통신 횟수를 줄일 수 있다.
Preferably, as shown in FIG. 16, in order to calculate the lower limit value at each super step, the reference node located at the boundary of the graph group is the adjacent graph group, and the sum of the path weights from the starting node to the reference node The minimum value should be transmitted. In the present invention, instead of transmitting the minimum value to all the reference nodes located at the boundary in each graph group, the entire minimum value, which is the smallest value among the minimum values of all the reference nodes located at the boundary in each graph group, Only the minimum value is transmitted. As described above, by judging and transmitting the total minimum value in each graph group, it is possible to reduce the number of times of communication between adjacent graph groups.

한편, 상술한 본 발명의 실시 예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed in a computer and operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록 매체는 전기 또는 자기식 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
The computer-readable recording medium may be an electrically or magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave, , Transmission over the Internet).

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100: 그래프 데이터베이스 200: 검색 모듈
210: 시작 노드 설정부 220: 활성화 제어부
230: 기능 수행부 240: 최단 경로 계산부
250: 갱신부 260: 메디안 노드 결정부
270: 전체 최소값 송신부 310: 노드값 설정부
320: 진행 결정부 330: 가중치 메시지 송신부
321: 전체 최소값 계산부 323: 하한 경계값 계산부
325: 비교부 327: 중단 진행 결정부
100: graph database 200: search module
210: start node setting unit 220: activation control unit
230: function performing unit 240: shortest path calculating unit
250: Updating unit 260: Median node determining unit
270: total minimum value transmission unit 310: node value setting unit
320: progress determination unit 330: weight message transmission unit
321: total minimum value calculation unit 323: lower limit boundary value calculation unit
325: comparison unit 327:

Claims (16)

대용량 그래프 데이터베이스에서 메디안(median) 노드를 검색하는 방법에 있어서,
상기 대용량 그래프 데이터베이스는 다수개의 그래프 그룹으로 분리되어 분산되어 있으며,
(a) 각 상기 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정하는 단계;
(b) 상기 시작 노드와 상기 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합을 구비하는 가중치 메시지를 상기 기준 노드의 인접 노드로부터 수신하는 단계;
(c) 상기 시작 노드와 상기 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하는 단계; 및
(d) 상기 하한 경계값과 임계 하한 경계값을 비교하여 상기 하한 경계값이 상기 임계 하한 경계값보다 큰지 판단하는 단계를 포함하며,
상기 하한 경계값이 상기 임계 하한 경계값보다 큰 경우 상기 시작 노드에 대한 메디안 노드의 검색을 중단하는 것을 특징으로 하는 메디안 노드의 검색 방법.
A method for searching a median node in a large-capacity graph database,
The large-capacity graph database is divided into a plurality of graph groups,
(a) setting one of the nodes constituting each graph group as a start node;
(b) receiving, from a neighbor node of the reference node, a weight message including a sum of path weights between the start node and a reference node sequentially connected from the start node;
(c) calculating a lower bound from a total minimum value having a minimum value of a sum of path weights between the starting node and the reference node; And
(d) comparing the lower bound value with a lower bound threshold value to determine whether the lower bound threshold value is greater than the threshold lower bound threshold value,
And stopping the search of the median node for the start node if the lower bound value is greater than the threshold lower bound value.
제 1 항에 있어서, 상기 메디안 노드의 검색 방법은
상기 시작 노드의 노드값은 0으로 설정되며, 상기 시작 노드를 제외한 나머지 노드의 노드값은 무한대로 설정되는 것을 특징으로 하는 메디안 노드의 검색 방법.
2. The method of claim 1,
Wherein the node value of the start node is set to 0 and the node value of the remaining nodes except for the start node is set to infinity.
삭제delete 제 1 항에 있어서, 상기 메디안 노드의 검색 방법은
상기 시작 노드에 대한 메디안 노드의 검색을 중단하는 경우, 상기 그래프 그룹에서 시작 노드를 변경 설정하여 상기 그래프 그룹을 구성하는 모든 노드에 대해 상기 (b) 단계 내지 (d) 단계를 반복하는 것을 특징으로 하는 메디안 노드의 검색 방법.
2. The method of claim 1,
(B) to (d) are repeated for all the nodes constituting the graph group by changing the start node in the graph group when stopping the search of the median node for the start node. A method of searching for a median node.
대용량 그래프 데이터베이스에서 메디안(median) 노드를 검색하는 방법에 있어서,
상기 대용량 그래프 데이터베이스는 다수개의 그래프 그룹으로 분리되어 분산되어 있으며,
(a) 각 상기 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정하는 단계;
(b) 상기 시작 노드와 상기 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합을 구비하는 가중치 메시지를 상기 기준 노드의 인접 노드로부터 수신하는 단계;
(c) 하한 경계값을 계산하는 단계; 및
(d) 상기 하한 경계값과 임계 하한 경계값을 비교하여 상기 하한 경계값이 상기 임계 하한 경계값보다 큰지 판단하는 단계를 포함하며.
상기 하한 경계값을 계산하는 단계는
상기 가중치 메시지에 구비되어 있는 상기 시작 노드와 상기 기준 노드 사이의 경로 가중치의 합 중 최소값과 상기 기준 노드의 기설정된 노드값을 비교하여 상기 기준 노드의 노드값을 갱신하는 단계;
모든 기준 노드의 노드값 중 최소값을 가지는 전체 최소값을 판단하는 단계; 및
상기 전체 최소값 이상의 노드값을 가지는 노드의 수와 상기 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산하는 단계를 포함하며,
상기 하한 경계값은 각 수퍼 스텝에서 계산되는 것을 특징으로 하는 메디안 노드의 검색 방법.
A method for searching a median node in a large-capacity graph database,
The large-capacity graph database is divided into a plurality of graph groups,
(a) setting one of the nodes constituting each graph group as a start node;
(b) receiving, from a neighbor node of the reference node, a weight message including a sum of path weights between the start node and a reference node sequentially connected from the start node;
(c) calculating a lower limit boundary value; And
(d) comparing the lower bound value with a lower bound threshold value to determine whether the lower bound threshold value is greater than the threshold lower bound threshold value.
The step of calculating the lower bound value
Updating a node value of the reference node by comparing a minimum value of a sum of path weights between the start node and the reference node included in the weight message and a preset node value of the reference node;
Determining an overall minimum value having a minimum value among node values of all reference nodes; And
Calculating a lower boundary value from the number of nodes having the node value of the total minimum value or more and the node value of the node having the node value less than the total minimum value,
Wherein the lower boundary value is calculated in each super step.
제 5 항에 있어서, 상기 메디안 노드의 검색 방법은
(e) 상기 기준 노드의 노드값이 갱신되고 상기 하한 경계값이 상기 임계 하한 경계값보다 작은 경우, 상기 기준 노드에 연결되어 있는 기준 인접 노드로 상기 시작 노드로부터 상기 기준 인접 노드까지의 경로 가중치 합을 구비하는 신규 가중치 메시지를 송신하는 단계를 더 포함하며,
상기 기준 노드의 노드값이 갱신되지 않을 때까지, 상기 (b) 단계 내지 (e) 단계를 반복하여 상기 시작 노드의 최단 경로 가중치를 계산하는 것을 특징으로 하는 메디안 노드의 검색 방법.
6. The method of claim 5,
(e) if the node value of the reference node is updated and the lower bound value is smaller than the threshold lower bound value, the path weighting sum from the starting node to the reference neighbor node to the reference neighbor node connected to the reference node And transmitting a new weight message including the new weight message,
Wherein the shortest path weight of the start node is calculated by repeating steps (b) to (e) until the node value of the reference node is not updated.
제 5 항에 있어서, 상기 메디안 노드의 검색 방법은
상기 시작 노드의 최단 경로 가중치가 계산되는 경우, 상기 임계 하한 경계값을 상기 시작 노드의 최단 경로 가중치로 갱신하는 것을 특징으로 하는 메디안 노드의 검색 방법.
6. The method of claim 5,
Wherein when the shortest path weight of the start node is calculated, the threshold lower limit threshold value is updated to the shortest path weight of the start node.
제 1 항, 제 2 항, 제 4 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 메디안 노드의 검색 방법은
상기 대용량 그래프 데이터베이스의 각 데이터 그룹에서 상기 전체 최소값을 인접 데이터 그룹으로 송신하는 단계를 더 포함하는 메디안 노드의 검색 방법.
The method according to any one of claims 1, 2, and 7 to 7,
And transmitting the entire minimum value to each adjacent data group in each data group of the large capacity graph database.
대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 장치에 있어서,
다수개의 그래프 그룹으로 분리되어 있는 상기 대용량 그래프 데이터베이스 중 1개의 그래프 그룹이 분산 저장되어 있는 그래프 데이터베이스; 및
상기 그래프 그룹을 구성하는 노드 중 시작 노드와 상기 시작 노드로부터 순차적으로 연결되어 있는 기준 노드 사이의 경로 가중치의 합 중 전체 최소값으로부터 하한 경계값을 계산하고, 상기 하한 경계값이 임계 하한 경계값보다 작은 경우 상기 시작 노드의 최단 경로 가중치를 계산하여 상기 대용량 그래프 데이터베이스에서 메디안 노드를 검색하는 검색 모듈을 포함하며,
상기 검색 모듈은 상기 하한 경계값이 상기 임계 하한 경계값보다 큰 경우 상기 시작 노드에 대한 메디안 노드의 검색을 중단하는 것을 특징으로 하는 메디안 노드 검색 장치.
An apparatus for searching a median node in a large-capacity graph database,
A graph database in which one graph group among the plurality of graph groups is distributed and stored; And
Calculating a lower limit value from a total minimum value of a sum of path weights between a start node and a reference node sequentially connected from the start node among the nodes constituting the graph group, and if the lower limit value is smaller than the lower limit threshold value And a searching module for searching the median node in the large capacity graph database by calculating a shortest path weight of the starting node,
Wherein the search module stops searching the median node for the start node if the lower bound value is greater than the threshold lower bound value.
제 9 항에 있어서, 상기 검색 모듈은
각 상기 그래프 그룹을 구성하는 노드 중 1개를 시작 노드로 설정하는 시작 노드 설정부;
인접 노드로부터 가중치 메시지를 수신하는 기준 노드를 활성화 제어하는 활성화 제어부; 및
활성화된 모든 기준 노드에 대해 상기 시작 노드와 활성화된 각 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 상기 시작 노드에 대한 메디안 노드의 검색 진행 여부를 결정하는 기능 수행부를 포함하는 것을 특징으로 하는 메디안 노드 검색 장치.
10. The system of claim 9, wherein the search module
A start node setting unit setting one of the nodes constituting each of the graph groups as a start node;
An activation control unit for activating and controlling a reference node receiving a weight message from a neighboring node; And
Determining whether to proceed with the search of the median node for the start node by calculating a lower limit value from the total minimum value having a minimum value among the sum of the path weights between the start node and each activated reference node for all activated reference nodes Wherein the median node searching unit comprises:
제 10 항에 있어서, 상기 기능 수행부는
상기 가중치 메시지에 구비되어 있는 상기 시작 노드와 상기 기준 노드 사이의 경로 가중치의 합 중 최소값과 상기 기준 노드의 기설정된 노드값을 비교하여 상기 기준 노드의 노드값을 갱신하는 노드값 설정부;
상기 시작 노드와 모든 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값으로부터 하한 경계값을 계산하여 상기 시작 노드에 대한 메디안 노드의 검색 여부를 결정하는 진행 결정부; 및
상기 기준 노드의 노드값이 갱신되고 상기 시작 노드에 대한 메디안 노드의 검색 여부를 진행하는 것으로 결정하는 경우, 상기 기준 노드의 노드값에 경로 가중치를 합한 경로 가중치 합을 구비하는 신규 가중치 메시지를 생성하고 상기 기준 노드의 인접 노드로 상기 신규 가중치 메시지를 송신하는 가중치 메시지 송신부를 포함하는 것을 특징으로 하는 메디안 노드의 검색 장치.
11. The apparatus of claim 10, wherein the function performing unit
A node value setting unit for updating the node value of the reference node by comparing a minimum value of the sum of path weights between the start node and the reference node included in the weight message and a preset node value of the reference node;
A progress decision unit for determining whether to search for a median node for the start node by calculating a lower limit value from a total minimum value having a minimum value among a sum of path weights between the start node and all reference nodes; And
When the node value of the reference node is updated and it is determined that the median node is to be searched for the start node, a new weight message including path sum of path weighting is added to the node value of the reference node And a weight message transmitter for transmitting the new weight message to a neighbor node of the reference node.
제 11 항에 있어서, 상기 시작 노드 설정부는
상기 시작 노드의 노드값을 0으로 설정하고, 상기 시작 노드를 제외한 나머지 노드의 노드값을 무한대로 설정하는 것을 특징으로 하는 메디안 노드의 검색 장치.
12. The apparatus of claim 11, wherein the starting node setting unit
Sets the node value of the starting node to 0 and sets the node value of the remaining nodes except the starting node to infinity.
제 11 항에 있어서, 상기 진행 결정부는
상기 시작 노드와 모든 기준 노드 사이의 경로 가중치 합 중 최소값을 가지는 전체 최소값을 판단하는 전체 최소값 판단부;
상기 전체 최소값 이상의 노드값을 가지는 노드의 수와 상기 전체 최소값 이하의 노드값을 가지는 노드의 노드값으로부터 하한 경계값을 계산하는 하한 경계값 계산부;
상기 하한 경계값과 임계 하한 경계값의 크기를 비교하는 비교부; 및
상기 임계 하한 경계값이 상기 하한 경계값보다 큰 경우 상기 시작 노드에 대한 메디안 노드의 검색을 중단하는 중단 진행 결정부를 포함하는 것을 특징으로 하는 메디안 노드의 검색 장치.
12. The apparatus according to claim 11, wherein the progress determining unit
An overall minimum value determining unit for determining an overall minimum value having a minimum value among a path weight sum between the start node and all reference nodes;
A lower bound value calculating unit for calculating a lower bound value from the number of nodes having the node value of the total minimum value or more and the node value of the node having the node value less than the total minimum value;
A comparator for comparing the lower limit value with a magnitude of the lower limit threshold value; And
And stopping the search of the median node for the start node if the threshold lower bound threshold value is greater than the lower threshold threshold value.
제 11 항에 있어서, 상기 검색 모듈은
상기 시작 노드로부터 순차적으로 연결되어 있는 모든 기준 노드가 더 이상 활성화되지 않는 경우 상기 시작 노드와 상기 시작 노드에 순차적으로 연결되어 있는 모든 기준 노드 사이의 경로 가중치를 합하여 상기 시작 노드의 최단 경로 가중치를 계산하는 최단 경로 계산부; 및
상기 임계 하한 경계값을 상기 시작 노드의 최단 경로 가중치로 갱신하는 갱신부를 더 포함하는 것을 특징으로 하는 메디안 노드의 검색 장치.
12. The system of claim 11, wherein the search module
Calculating a shortest path weight of the start node by summing the path weights between the start node and all reference nodes sequentially connected to the start node when all the reference nodes sequentially connected from the start node are no longer activated; A shortest path calculating unit; And
Further comprising an update unit configured to update the threshold lower bound value with the shortest path weight of the start node.
제 14 항에 있어서, 상기 시작 노드 설정부는
상기 진행 결정부에서 상기 시작 노드에 대한 메디안 노드의 검색을 중단하는 경우 또는 상기 시작 노드의 최단 경로 가중치를 계산한 경우, 상기 그래프 그룹에서 시작 노드를 변경 설정하는 것을 특징으로 하는 메디안 노드의 검색 장치.
15. The apparatus of claim 14, wherein the starting node setting unit
Wherein the median node search unit changes the start node in the graph group when the median node search for the start node is stopped or the shortest path weight of the start node is calculated by the progress determination unit. .
제 11 항에 있어서, 상기 검색 모듈은
각 수퍼스텝에서 상기 시작 노드와 모든 기준 노드 사이의 경로 가중치의 합 중 최소값을 가지는 전체 최소값을 인접 분산된 메디안 노드 검색 장치로 송신하는 전체 최소값 송신부를 더 포함하는 특징으로 하는 메디안 노드의 검색 장치.
12. The system of claim 11, wherein the search module
Further comprising an overall minimum value transmission unit for transmitting to the adjacent distributed median node search device a total minimum value having a minimum value among the sum of path weights between the start node and all reference nodes in each super step.
KR1020140074347A 2013-12-27 2014-06-18 Method for searching median node in big graph database based on low boundary KR101609457B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130165502 2013-12-27
KR20130165502 2013-12-27

Publications (2)

Publication Number Publication Date
KR20150079374A KR20150079374A (en) 2015-07-08
KR101609457B1 true KR101609457B1 (en) 2016-04-06

Family

ID=53791741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140074347A KR101609457B1 (en) 2013-12-27 2014-06-18 Method for searching median node in big graph database based on low boundary

Country Status (1)

Country Link
KR (1) KR101609457B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547536B2 (en) * 2015-08-07 2020-01-28 Micro Focus Llc Identifying shortest paths
KR101710606B1 (en) * 2015-10-23 2017-03-08 아주대학교산학협력단 Apparatus and Method for Interactive Visualization for Analyzing Sets in Large Networks
CN105515977B (en) * 2015-12-21 2020-05-12 腾讯科技(深圳)有限公司 Method, device and system for acquiring transmission path in network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936198B1 (en) 2008-03-21 2010-01-11 인하대학교 산학협력단 Social network analysing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936198B1 (en) 2008-03-21 2010-01-11 인하대학교 산학협력단 Social network analysing system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
박기성 외 2인, '그래프 요약을 이용한 효율적인 모델기반 탐색트리 기법', 한국정보과학회 학술발표논문집 39(2C), 2012.11, pp.22-24
이상운, '주행시간 기반 실시간 점대점 최단경로 탐색 알고리즘', 한국인터넷방송통신학회 논문지 제12권 제4호, 2012.08, pp.131-140
홍지혜 외 3인, '궤적 그래프 집합 유사도 측정 기법', 한국정보과학회논문지 데이타베이스 40(3), 2013.06, pp.153-158

Also Published As

Publication number Publication date
KR20150079374A (en) 2015-07-08

Similar Documents

Publication Publication Date Title
Khedr et al. Distributed coverage hole detection and recovery scheme for heterogeneous wireless sensor networks
US9521067B2 (en) System and methods for improved network routing
EP2923459B1 (en) Multi-objective server placement determination
Oda et al. Evaluation of WMN-GA for different mutation operators
Mohar et al. Localization of sensor nodes in wireless sensor networks using bat optimization algorithm with enhanced exploration and exploitation characteristics
Mohamadi et al. Solving target coverage problem using cover sets in wireless sensor networks based on learning automata
Tashtarian et al. ODT: optimal deadline-based trajectory for mobile sinks in WSN: a decision tree and dynamic programming approach
Pan et al. Diversity Enhanced Ion Motion Optimization for Localization in Wireless Sensor Network.
KR101609457B1 (en) Method for searching median node in big graph database based on low boundary
Verma et al. A greedy approach for coverage hole detection and restoration in wireless sensor networks
Gupta et al. Multi-uav deployment for noma-enabled wireless networks based on imogwo algorithm
Wang et al. A two phase removing algorithm for minimum independent dominating set problem
KR101878213B1 (en) Method, apparatus and computer program for summaring of a weighted graph
Tyagi et al. GM-WOA: a hybrid energy efficient cluster routing technique for SDN-enabled WSNs
Mohanty et al. Minimizing the maximum receiver interference in wireless sensor networks using probabilistic interference model
CN111178678B (en) Network node importance evaluation method based on community influence
CN110784903A (en) Network data transmission method and device, computer equipment and storage medium
KR101591595B1 (en) Method for predicting link in big database
Gao et al. Identifying Influential Nodes for Efficient Routing in Opportunistic Networks.
Thanuja Multi mobile agent itinerary planning using farthest node first nearest node next (FNFNNN) technique
Gharajeh T*: a weighted double-heuristic search algorithm to find the shortest path
Wang et al. Robust collaborative mesh networking with large-scale distributed wireless heterogeneous terminals in industrial cyber-physical systems
Du et al. Optimization of the critical diameter and average path length of social networks
Baidar et al. A hybrid Harrison Hawk optimization based on differential evolution for the node localization problem in IoT networks
Khot et al. Taylor CMVO: Taylor Competitive Multi-Verse Optimizer for intrusion detection and cellular automata-based secure routing in WSN

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

Payment date: 20190107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 5