KR101271277B1 - Methods for indexing for top-k queries - Google Patents

Methods for indexing for top-k queries Download PDF

Info

Publication number
KR101271277B1
KR101271277B1 KR1020110119247A KR20110119247A KR101271277B1 KR 101271277 B1 KR101271277 B1 KR 101271277B1 KR 1020110119247 A KR1020110119247 A KR 1020110119247A KR 20110119247 A KR20110119247 A KR 20110119247A KR 101271277 B1 KR101271277 B1 KR 101271277B1
Authority
KR
South Korea
Prior art keywords
tuple
skyline
tuples
convex
skylines
Prior art date
Application number
KR1020110119247A
Other languages
Korean (ko)
Other versions
KR20130053686A (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 KR1020110119247A priority Critical patent/KR101271277B1/en
Publication of KR20130053686A publication Critical patent/KR20130053686A/en
Application granted granted Critical
Publication of KR101271277B1 publication Critical patent/KR101271277B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 튜플 계층 구조 생성 방법이 개시된다. 본 발명의 일 실시예에 따른 튜플 계층 구조 생성 방법은 특정 튜플 집합에 대해 스카이라인을 구하되, 상기 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복함으로써 적어도 하나의 스카이라인을 구하는 제1 단계, 상기 제1 단계에서 구한 각 스카이라인의 각 튜플이 종속하는 다른 스카이라인의 튜플을 도출하여 관계를 설정하는 제2 단계, 상기 제1 단계에서 구한 각 스카이라인에 대하여 볼록 스카이라인을 구하되 상기 각 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복함으로써, 상기 각 스카이라인에 대하여 적어도 하나의 볼록 스카이라인을 구하는 제3 단계 및 상기 제3 단계에서 구한 각 볼록 스카이라인의 각 튜플이 종속하는 다른 볼록 스카이라인의 튜플을 도출하여 관계를 설정하는 제4 단계를 포함하여 구성된다. 따라서 본 발명을 이용하면, 스카이라인과 볼록한 스카이라인을 이용한 이중 계층구조에 기반하여 종속관계에 따라 순위화 질의를 처리함으로써 효율적인 질의처리가 가능하다. Disclosed is a method of generating a tuple hierarchy according to an embodiment of the present invention. A method of generating a tuple hierarchy according to an embodiment of the present invention includes obtaining a skyline for a specific tuple set, and repeating until all tuples of the tuple set are obtained as skylines, thereby obtaining at least one skyline. Step 2 is a step of establishing a relationship by deriving tuples of other skylines dependent on each tuple of each skyline obtained in the first step, and obtaining a convex skyline for each skyline obtained in the first step. Repeating until all tuples of each skyline are obtained as convex skylines, thereby obtaining at least one convex skyline for each skyline and each tuple of each convex skyline obtained in the third step A fourth step of establishing a relationship by deriving tuples of other subordinate convex skylines The. Therefore, according to the present invention, efficient query processing is possible by processing a ranking query according to a dependency relationship based on a dual hierarchy structure using a skyline and a convex skyline.

Description

순위화 질의 처리 방법{METHODS FOR INDEXING FOR TOP-K QUERIES}How to process ranking queries {METHODS FOR INDEXING FOR TOP-K QUERIES}

본 발명은 순위화 질의를 처리하는 방법에 관한 것으로, 더욱 상세하게는 순위화 질의를 처리하기 위한 튜플 계층 구조의 생성 방법 및 사용자 선호도에 따라 상위 K개의 튜플을 찾기 위한 질의 처리방법에 관한 것이다.The present invention relates to a method for processing a ranking query, and more particularly, to a method of generating a tuple hierarchy for processing a ranking query and a query processing method for finding the top K tuples according to user preferences.

순위와 질의를 효율적인 처리하기 위한 종래 기술은 다음과 같이 3 가지로 분류될 수 있다. 첫째, 계층 구조에 기반하여 순위화 질의를 처리하는 방법으로, 계층 별로 관계를 설정하여 계층 단위로 튜플들을 접근하는 방식이다. [참고문헌 1] Y.-C. Chang, L. Bergman, V. Castelli, C.-S. Li, M.-L. Lo, and J. R. Smith, “The onion technique: Indexing for linear optimization queries” in Special Interest Group on Management on Data, pp. 391-402, 2000 은 데이터베이스 시스템에 처음으로 계층화된 색인 구조를 바탕으로 효율적인 순위화 질의를 처리하는 방법을 제안하였다. 이와 같은 방법은 단일 구조로 기하학에서 사용되는 컨백스 헐(Convex hull)을 바탕으로 하고 있으며, 계층간의 관계만을 사용하고 있다. [참고문헌 2] D. Xin, C. Chen, and J. Han, “Towards robust indexing for ranked queries” in Very Large Databases, pp. 235-246, 2006 은 계층 별 접근을 보다 효율적으로 하기 위해 계층을 구성하는 튜플의 수를 줄이는 방법론에 대해서 제안하였다. Conventional techniques for efficiently processing rankings and queries can be classified into three types as follows. First, as a method of processing ranking queries based on a hierarchical structure, tuples are accessed in a hierarchical unit by establishing a relationship for each hierarchical structure. [Reference 1] Y.-C. Chang, L. Bergman, V. Castelli, C.-S. Li, M.-L. Lo, and J. R. Smith, “The onion technique: Indexing for linear optimization queries” in Special Interest Group on Management on Data, pp. 391-402 and 2000 proposed an efficient ranking query processing method based on hierarchical index structure in database system. This method is based on the Convex hull used in geometry as a single structure and uses only the relationships between layers. [Ref. 2] D. Xin, C. Chen, and J. Han, “Towards robust indexing for ranked queries” in Very Large Databases, pp. 235-246 and 2006 proposed a methodology for reducing the number of tuples that make up a hierarchy in order to make the hierarchical approach more efficient.

두 번째 방식은 계층을 구성한 후, 인접한 계층 간에 튜플의 관계를 이용하는 방식이다. [참고문헌 3] L. Zou and L. Chen, “"Dominant graph: An efficient indexing structure to answer top-k queries” in IEEE International Conference on Data Engineering pp. 536-545, 2008 은 스카이라인을 바탕으로 계층을 구성하고, 스카이라인에서 사용되는 종속(Dominance) 관계를 바탕으로 인접한 계층에 있는 튜플 간의 관계를 구성하고 있다. 이와 같은 방법은 기존의 계층 구조 기반 방법들에 비해 보다 효율적으로 순위화 질의를 처리할 수 있다.The second method is to construct a layer and then use a tuple relationship between adjacent layers. [Ref. 3] L. Zou and L. Chen, “" Dominant graph: An efficient indexing structure to answer top-k queries ”in IEEE International Conference on Data Engineering pp. 536-545, 2008 The relationship between tuples in adjacent layers is constructed based on the dependency relationship used in the skyline.This method handles the ranking query more efficiently than the existing hierarchy-based methods. can do.

세 번째는 리스트 구조에 기반하여 순위화 질의를 처리하는 방법이다. 이러한 방법은 데이터가 각 속성(Attribute)에 따라 리스트 형태로 구성되어 있을 때, 각 속성값에 대해서 정렬하고, 정렬된 순서대로 접근해 가면서 순위화 질의에서 상위 K개의 튜플을 찾는 방식이다. [참고문헌 4] R. Fagin, “Combining fuzzy information from multiple systems” in International Symposium on Principles of Database Systems, pp. 216-226, 1996 는 데이터베이스 시스템에서 처음으로 리스트 구조에 기반하여 순위화 질의를 처리하는 방식을 제안하였으며 [참고문헌 5] R. Fagin, A. Lotem, and M. Naor, “"Optimal aggregation algorithms for middleware”, Journal of Computer and System Sciences, vol. 66, no. 4, pp. 614?656, 2003 는 [참고 문헌 4]를 개선하여 보다 적은 튜플 만을 접근하여 순위화 질의를 처리하는 방법을 제안하였다.The third is how to process ranking queries based on the list structure. This method is to find the top K tuples in the ranking query by sorting for each attribute value and accessing them in sorted order when the data is organized in a list according to each attribute. [Reference 4] R. Fagin, “Combining fuzzy information from multiple systems” in International Symposium on Principles of Database Systems, pp. 216-226, 1996, proposed a method for processing ranking queries based on list structure for the first time in database systems. [Ref. 5] R. Fagin, A. Lotem, and M. Naor, “Optimal aggregation algorithms for middleware ”, Journal of Computer and System Sciences, vol. 66, no. 4, pp. 614–656, 2003 improved [Ref. 4] and proposed a method for processing ranking queries by accessing fewer tuples only. .

마지막으로 기존의 계산된 순위화 질의를 데이터베이스 시스템에서 널리 사용되는 뷰(View)의 개념으로 보고, 기존의 순위화 질의 결과를 조합하여 순위화 질의를 처리하는 방식이다. [참고문헌 6] V. Hristidis, N. Koudas, and Y. Papakonstantinou, “Prefer: A system for the efficient execution of multi-parametric ranked queries” in Special Interest Group on Management on Data, pp. 259?-270, 2001 은 데이터베이스 시스템에서 처음으로 기존의 순위화 질의 결과를 뷰 형태로 보고 순위화 질의를 처리하는 방법을 제안하였다. [참고 문헌 7] G. Das, D. Gunopulos, N. Koudas, and D. Tsirogiannis, “Answering top-k queries using views” in Very Large Databases, pp. 451?-462, 2006 은 기존의 뷰들을 조합하여 주어진 순위화 질의를 계산하는 방법을 제안하고 있다.Finally, the existing calculated ranking query is regarded as the concept of a view widely used in a database system, and a ranking query is processed by combining the results of the existing ranking query. [Ref. 6] V. Hristidis, N. Koudas, and Y. Papakonstantinou, “Prefer: A system for the efficient execution of multi-parametric ranked queries” in Special Interest Group on Management on Data, pp. 259? -270, 2001 first proposed a method to process the ranking queries by viewing the results of the existing ranking queries in the form of views for the first time in a database system. [Reference 7] G. Das, D. Gunopulos, N. Koudas, and D. Tsirogiannis, “Answering top-k queries using views” in Very Large Databases, pp. 451? -462, 2006 propose a method to compute a given ranking query by combining existing views.

그러나 이와 같은 종래의 방법들은 순위화 질의를 처리할 때 불필요한 튜플로의 접근으로 인한 비효율성을 제거하지 못하는 문제가 있다.However, these conventional methods have a problem in that the inefficiency caused by accessing unnecessary tuples cannot be eliminated when processing ranking queries.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 불필요한 튜플로의 접근을 지양하고 효율적인 순위화 질의를 처리하기 위한 튜플 계층구조 생성방법을 제공하는 데 있다.An object of the present invention for solving the above problems is to provide a method of generating a tuple hierarchy for avoiding unnecessary tuple access and processing an efficient ranking query.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 불필요한 튜플로의 접근을 지양하고 효율적으로 순위화 질의를 처리하기 위한 순위화 질의 처리 방법을 제공하는 데 있다.Another object of the present invention for solving the above problems is to provide a ranking query processing method for avoiding unnecessary tuple access and efficient processing of ranking queries.

상기 목적을 달성하기 위한 본 발명의 일 실시예는, 특정 튜플 집합에 대해 스카이라인을 구하되, 상기 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복함으로써 적어도 하나의 스카이라인을 구하는 제1 단계, 상기 제1 단계에서 구한 각 스카이라인의 각 튜플이 종속하는 다른 스카이라인의 튜플을 도출하여 관계를 설정하는 제2 단계, 상기 제1 단계에서 구한 각 스카이라인에 대하여 볼록 스카이라인을 구하되 상기 각 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복함으로써, 상기 각 스카이라인에 대하여 적어도 하나의 볼록 스카이라인을 구하는 제3 단계 및 상기 제3 단계에서 구한 각 볼록 스카이라인의 각 튜플이 종속하는 다른 볼록 스카이라인의 튜플을 도출하여 관계를 설정하는 제4 단계를 포함하는 튜플 계층 구조 생성 방법을 제공한다.An embodiment of the present invention for achieving the above object, the first to obtain a skyline for a specific set of tuples, and to obtain at least one skyline by repeating until all the tuples of the set of tuples is obtained as a skyline Step 2 is a step of establishing a relationship by deriving tuples of other skylines dependent on each tuple of each skyline obtained in the first step, and obtaining a convex skyline for each skyline obtained in the first step. Repeating until all tuples of each skyline are obtained as convex skylines, thereby obtaining at least one convex skyline for each skyline and each tuple of each convex skyline obtained in the third step A tuple hierarchy comprising a fourth step of establishing a relationship by deriving tuples of other dependent convex skylines Provides a structure creation method.

상기 목적을 달성하기 위한 본 발명의 다른 실시예는, 속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고 종속하는 튜플 간에 관계가 설정된 특정 튜플 집합을 군집화하는 방법으로, 상기 그룹 중 가장 먼저 형성된 최상위 그룹을 도출하고, 상기 최상위 그룹을 군집화하여 적어도 하나의 군집을 생성하는 제1 단계, 상기 생성된 각 군집에 대하여 가장 우수한 속성값을 갖는 가상의 튜플을 생성하는 제2 단계 및 상기 제2 단계에서 생성된 각 가상의 튜플에 대하여 종속하는 상기 최상위 그룹의 튜플을 도출하여 관계를 설정하는 제3 단계를 포함하는 튜플 군집화 방법을 제공한다.Another embodiment of the present invention for achieving the above object is a method of clustering a specific tuple set that is classified into at least one group according to the distribution of attribute values and a relationship is established between dependent tuples, the highest formed first among the groups Deriving a group, clustering the most significant group to generate at least one cluster, generating a virtual tuple having the best attribute value for each of the generated clusters, and in the second step A tuple clustering method includes a third step of deriving tuples of the uppermost group subordinate to each generated virtual tuple and establishing a relationship.

상기 다른 목적을 달성하기 위한 본 발명의 일 실시예는 속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고 종속하는 튜플 간에 관계가 설정된 특정 튜플 집합에 대하여 사용자 선호도에 따른 순위화 질의를 처리하는 방법으로, 상기 그룹 중 최상위 그룹에 접근하여, 상기 그룹의 튜플들을 우선순위 큐에 넣는 제1 단계, 상기 우선순위 큐에서 가장 사용자 선호도가 높은 튜플을 선택하여 결과 배열에 추가하고 상기 우선순위 큐에서 제거하는 제2 단계 및 상기 특정 튜플 집합내의 튜플 중 상기 제2 단계에서 선택된 튜플이 종속하는 튜플들에 접근하여, 상기 접근한 튜플들을 상기 우선순위 큐에 넣는 제3 단계를 포함하고, 상기 제2 단계 및 상기 제3 단계를 반복 수행하되, 상기 제2 단계를 수행 후 상기 결과 배열에 있는 튜플의 수가 상기 미리 정해진 임의의 수에 도달할 때까지 반복하는 것을 특징으로 하는 순위화 질의 처리 방법을 제공한다.An embodiment of the present invention for achieving the above another object is a method of processing a ranking query according to user preference for a specific tuple set is classified into at least one group according to the distribution of the attribute value and the relationship is established between the dependent tuples The first step of accessing the highest group among the groups, putting tuples of the group into a priority queue, selecting a tuple having the highest user preference from the priority queue, adding to the result array and removing from the priority queue. And a third step of accessing tuples dependent on the tuple selected in the second step among the tuples in the specific tuple set, and putting the accessed tuples into the priority queue. And repeating the third step, wherein the number of tuples in the result array is determined after the second step. It provides a method of processing a ranking query, characterized in that iterates until a certain number is reached.

상기와 같은 본 발명에 따른 튜플 계층구조 생성방법 및 순위화 질의 처리방법을 이용하면, 스카이라인(Skyline)과 볼록한 스카이라인(Convex skyline)을 바탕으로 이중 계층화된 튜플의 계층 구조를 만들고, 이중 계층 구조에 기반하여 인접한 계층 사이에 튜플들 간의 관계를 설정 함으로써, 사용자 선호도에 기반한 순위화 질의를 처리시 계층구조에 기반한 튜플간의 관계에 기반한 경로를 따라 상위 K개의 튜플을 검색함으로써 효율적인 질의처리를 가능하게 하는 효과가 있다. 또한, 상기한 이중 계층 구조를 군집화하여 가상의 튜플을 추가함으로써, 튜플검색을 위한 질의처리 시 튜플로의 접근 경로를 좀 더 짧게 함으로써 보다 더 신속한 질의처리를 가능하게 할 수 있다.By using the method of generating a tuple hierarchy and a ranking query processing method according to the present invention as described above, a hierarchical structure of a double layered tuple is created based on a skyline and a convex skyline, and a double hierarchy. By setting the relationship between tuples between adjacent hierarchies based on the structure, efficient query processing is possible by searching the top K tuples along the path based on the relationship between tuples based on the hierarchy when processing ranking queries based on user preferences. It's effective. In addition, by adding a virtual tuple by clustering the above-described dual hierarchical structure, it is possible to perform faster query processing by shortening an access path of tuples when querying for tuple search.

도 1은 본 발명의 일 실시예를 설명하기 위한 튜플 집합을 예시한 데이터베이스 스키마이다.
도 2는 도 1의 튜플 집합에 대하여 스카이라인 및 볼록한 스카이라인을 구한 결과를 예시하는 그래프이다.
도 3은 본 발명의 일 실시예에 따른 튜플의 계층구조를 생성하는 과정을 보여주는 흐름도이다.
도 4는 도 1의 튜플 집합에 대하여 본 발명에 따른 계층구조 생성방법을 적용한 결과를 예시하는 튜플 계층 구조도이다.
도 5는 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 과정을 보여주는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 각 과정에서 발생되는 데이터를 보여주는 데이터 구조도이다.
도 7은 본 발명의 일 실시예에 따른 튜플 군집화 과정을 보여주는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 튜플 군집화 방법을 적용하는 과정을 예시하는 그래프이다.
도 9는 도 4의 튜플 계층 구조에 본 발명의 일 실시예에 따른 튜플 군집화 방법을 적용한 결과를 예시하는 튜플 계층 구조도이다.
1 is a database schema illustrating a tuple set for explaining an embodiment of the present invention.
FIG. 2 is a graph illustrating a result of obtaining a skyline and a convex skyline with respect to the tuple set of FIG. 1.
3 is a flowchart illustrating a process of generating a hierarchy of tuples according to an embodiment of the present invention.
FIG. 4 is a tuple hierarchy diagram illustrating a result of applying the hierarchical structure generating method according to the present invention to the tuple set of FIG. 1.
5 is a flowchart illustrating a process of processing a ranking query according to an embodiment of the present invention.
6 is a data structure diagram showing data generated in each process of processing a ranking query according to an embodiment of the present invention.
7 is a flowchart illustrating a tuple clustering process according to an embodiment of the present invention.
8 is a graph illustrating a process of applying a tuple clustering method according to an embodiment of the present invention.
FIG. 9 is a tuple hierarchy diagram illustrating a result of applying a tuple clustering method according to an embodiment of the present invention to the tuple hierarchy structure of FIG. 4.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본발명에 따른 바람직한 실시예를 첨부한 도면들을 참조하여 상세하게 설명한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

우선, 본 발명의 일 실시예에 따른 튜플 계층구조 생성방법을 설명하기 위하여 기본적으로 사용되는 개념으로 스카이라인, 볼록한 스카이라인 및 종속관계에 대해서 정의한다.
First, a skyline, a convex skyline, and a dependency relationship are defined as concepts that are basically used to explain a method of generating a tuple hierarchy according to an embodiment of the present invention.

다음 표 1은 본 발명의 일 실시예를 설명하면서 사용하는 용어를 설명하는 표이다.Table 1 below is a table for explaining the terms used while describing one embodiment of the present invention.

Figure 112011090337211-pat00001
Figure 112011090337211-pat00001

1) 스카이라인1) Skyline

스카이라인이란 모든 튜플의 집합 S가 주어졌을 때 속성의 집합에 대해서 종속되지 않는 튜플의 집합을 의미할 수 있다. 모든 튜플의 집합 S에 대해서 스카이라인을 SKY(S)로 표기한다. A skyline may mean a set of tuples that are not dependent on a set of attributes when a set S of all tuples is given. For the set S of all tuples, the skyline is denoted as SKY (S).

2) 볼록한 스카이라인2) Convex Skyline

볼록한 스카이라인은 스카이라인에서 선형 함수(Linear combination function)로 표현된 임의의 사용자의 선호도에 대해서 가장 높은 우선 순위를 가지는 튜플의 집합을 의미할 수 있다. 모든 튜플의 집합 S에 대해서 볼록한 스카이라인을 CSKY(S)로 표기한다.The convex skyline may mean a set of tuples having the highest priority for any user's preference expressed as a linear combination function in the skyline. The convex skyline is denoted CSKY (S) for the set S of all tuples.

3) 종속 관계3) dependency

한편, 임의의 튜플 T가 다른 튜플 T’를 종속(Dominance) 한다는 것은 T가 T’의 모든 속성(Attribute) 값에 대해서 작거나 같은 값을 가지고, 또한 임의의 하나의 속성에 대해서는 T가 T’보다 작은 값을 가지는 것을 의미한다. 이와 같은 종속관계는 사용자의 선호도에 따라, 단적으로 수치형(Numerial) 데이터에서 최대값(MAX), 최소값(MIN)의 방향에 따라서 일관성 있게 적용될 수 있다.
On the other hand, the fact that any tuple T depends on another tuple T 'means that T has a value equal to or less than all of the attribute values of T', and T for any one attribute. It means to have a smaller value. Such dependency may be consistently applied according to the direction of the maximum value MAX and the minimum value MIN in the numeric data according to the user's preference.

이하, 스카이라인과 볼록한 스카이라인을 구하는 예를 도면을 참조하여 설명한다.Hereinafter, an example of obtaining a skyline and a convex skyline will be described with reference to the drawings.

도 1은 본 발명의 일 실시예를 설명하기 위한 튜플 집합을 예시한 데이터베이스 스키마이다.1 is a database schema illustrating a tuple set for explaining an embodiment of the present invention.

도 2는 도 1의 튜플 집합에 대하여 스카이라인 및 볼록한 스카이라인을 구한 결과를 예시하는 그래프이다.FIG. 2 is a graph illustrating a result of obtaining a skyline and a convex skyline with respect to the tuple set of FIG. 1.

도 1을 참조하면 총 11개의 튜플이 도시되어 있고 각 튜플은 식별자(110)와 속성D1(120), 속성 D2(130)에 따른 속성값들 갖고 있다.Referring to FIG. 1, a total of 11 tuples are shown, and each tuple has attribute values according to the identifier 110, the attributes D1 120, and the attributes D2 130.

또한, 도 2의 (a)을 참조하면 도1의 튜플들에 대하여 속성D1(120)과 D2(130)를 좌표로 하는 스카이라인을 구한 결과로서 획득한 스카이라인 {a, f, b, g, c}(210)을 보여준다. 이때, d, e, h, i, k 는 a에 의해 종속된다. 즉, 어느 사용자 선호도 함수에서도 상기한 튜플들이a보다 더 좋은 값을 가질 수 없다. 그리고 j는 b에 의해 종속된다. 이처럼 종속되지 않은 것들의 집합이 스카이라인이며 이는 {a, f, b, g, c} 이다.In addition, referring to FIG. 2A, the skylines {a, f, b, g obtained as a result of obtaining a skyline having coordinates D1 120 and D2 130 with respect to the tuples of FIG. , c} (210). At this time, d, e, h, i, k are dependent on a. That is, the tuples described above cannot have a better value than a in any user preference function. And j is dependent on b. This set of nondependencies is the skyline, which is {a, f, b, g, c}.

또한, 도 2의 (a)를 참조하면 남은 튜플들 {d, e, i, j, h, k}에 대하여 스카이라인을 구한 결과로서 스카이라인 {d, e, i, j}(220)를 획득하고, 다시 남은 튜플 {h, k}에 대하여 스카이라인을 구한 결과로서 스카이라인 {h, k}(230)를 획득하여 구성된 성긴 계층을 보여준다. 이에 대한 상세한 설명은 후술하기로 한다.
In addition, referring to FIG. 2A, as a result of obtaining a skyline with respect to the remaining tuples {d, e, i, j, h, k}, the skyline {d, e, i, j} 220 is obtained. As a result of obtaining the skyline with respect to the remaining tuple {h, k}, the coarse layer formed by acquiring the skyline {h, k} 230 is shown. Detailed description thereof will be described later.

한편, 도 2의 (b)를 참조하면 도 1의 튜플들에 대하여 속성D1(120)과 D2(130)를 좌표로 하는 볼록 스카이라인을 구한 결과로서 획득한 스카이라인 {a, b, c}(240)를 보여준다. 어느 사용자 선호도 함수에서도 a, b, c 중의 어느 하나보다 다른 튜플들이 더 좋은 값을 가질 수는 없다는 것을 의미할 수 있다.Meanwhile, referring to FIG. 2B, the skyline {a, b, c} obtained as a result of obtaining a convex skyline having coordinates D1 120 and D2 130 with respect to the tuples of FIG. 1. Shows (240). It may mean that no tuple in any user preference function has a better value than any of a, b, and c.

또한, 남은 튜플들{d, e, f, g, h, i, j, h, k}에 대하여 볼록 스카이라인을 구한 결과로서 스카이라인 {d, f, g}(250)를 획득하고, 다시 남은 튜플}에 대하여 반복하여 볼록 스카이라인을 구한 결과로서 스카이라인 {e, j}(260), {h, i}(270), k{280}을 획득하여 구성된 미세한 계층을 보여준다.In addition, as a result of obtaining the convex skyline with respect to the remaining tuples {d, e, f, g, h, i, j, h, k}, the skyline {d, f, g} 250 is obtained and again. As a result of repeatedly calculating the convex skyline with respect to the remaining tuples}, the fine layers formed by obtaining the skylines {e, j} 260, {h, i} 270, and k {280} are shown.

4) 전체 종속4) full dependence

전체종속이란 두 개의 튜플 T ∈ Li, T' ∈ L(i+1)가 주어지고 T가 T'를 종속할 때, T는 T'를 전체 종속함을 의미한다. Full dependence means that when two tuples T ∈ Li, T '∈ L (i + 1) are given and T is dependent on T', T is totally dependent on T '.

도1과 도 2의 (a)를 참조하면, a는 인접한 성긴 계층(220)의 튜플 d와 e에 비해 모든 속성이 더 좋은 값을 가지고 있는데, 이때, a는 d와 e 에 대하여 전체 종속한다고 할 수 있다. Referring to Figures 1 and 2 (a), a has a better value for all attributes than tuples d and e of adjacent coarse layers 220, where a is totally dependent on d and e. can do.

5) 부분 종속5) partially dependent

상술한 것처럼, 하나의 계층 Li는 성긴 계층(예를 들면 스카이라인으로 형성된 계층)을 의미하며, 성긴 계층은 여러 개의 미세한 계층(예를 들면 상술한 볼록 스카이라인으로 형성된 계층)으로 나누어 질 수 있다. 이때, 성긴계층은 Li = {Li1, Li2, ... Lik}로 표기하며, 임의의 미세한 계층은 Lij로 표기한다. 임의의 미세한 계층 Lij는 튜플의 집합을 나타낼 수 있다.As described above, one layer Li refers to a coarse layer (for example, a layer formed of a skyline), and the coarse layer may be divided into several fine layers (for example, the layer formed of the convex skyline described above). . At this time, the sparse layer is represented by Li = {Li1, Li2, ... Lik}, and any fine layer is represented by Lij. Any fine layer Lij may represent a set of tuples.

임의의 미세한 계층 Lij를 볼록한 스카이라인으로 표현할 때, 볼록한 스카이라인을 구성하는 각각의 측면(Facet)은 Li(j+1)에 특정한 튜플에 대해서 부분 종속 집합을 의미한다. 부분 종속 집합은 EDS = {T1, T2, ..., Td}로 표기한다.When expressing any fine layer Lij as a convex skyline, each face constituting the convex skyline means a partial dependent set for tuples specific to Li (j + 1). The partial dependent set is denoted by EDS = {T1, T2, ..., Td}.

두 개의 튜플 T ∈ Lij, T' ∈ Li(j+1)가 주어졌을 때, T가 T'에 대해서 부분 종속 집합에 포함될 때, T는 T'를 부분 종속함을 의미한다.
Given two tuples T ∈ Lij, T '∈ Li (j + 1), it means that T is partially dependent on T' when T is included in the partial dependency set on T '.

예를 들면, 도1과 도 2의 (b)에서 볼 수 있듯이, a와 b는 인접한 미세한 계층 f에 대해 둘 중 하나는 어떤 사용자 선호도에서도 f보다 반드시 좋은 값을 가진다. 즉 a는 속성 D1(120)을 기준으로 f 보다 좋은 값을 가지며, b는 속성 D2(130)를 기준으로 f 보다 좋은 값을 갖는다. 부분종속집합은 부분종속을 하는 튜플들의 집합을 나타내는데, 즉 {a, b}는 f를 부분종속하며 f에 대해 부분종속집합이다. For example, as can be seen in Figures 1 and 2 (b), one of a and b is necessarily better than f for any user preference for the adjacent fine layer f. That is, a has a better value than f based on the attribute D1 120, and b has a better value than f based on the attribute D2 130. A subordinate subset represents a set of tuples that are subdependent, that is, {a, b} are subdependent to f and subdependent to f.

즉, 도 4(b)의 a, b를 잇는 선분은 f보다 아래에 위치하고, 이 경우 {a, b}는 f의 부분종속집합이 되고, 사용자 선호도에 상관없이 a, b 중 하나는 항상 f보다 더 좋은 값을 가지게 된다. {b, c}가 g에 대해 부분종속집합인 것도 마찬가지로 설명될 수 있다.That is, the line connecting a and b in Fig. 4 (b) is located below f, in which case {a, b} becomes a subordinate subset of f, and one of a and b is always f regardless of user preference. It will have a better value. It can likewise be described that {b, c} is a subordinate subset for g.

후술할 도 4에 도시된 것처럼, 본 발명에 따른 일 실시예에서는 성긴 계층 내의 미세한 계층 내에서 부분 종속 관계가 나타나며, 이를 점선 화살표로 표시한다.
As shown in FIG. 4 to be described later, in one embodiment according to the present invention, a partial dependency relationship appears in a fine layer in a sparse layer, and is indicated by a dotted arrow.

한편, 본 발명의 일 실시예는 스카이라인과 볼록한 스카이라인으로 구해진 인접한 계층의 튜플 간의 관계를 정의한 이중 계층구조, 즉 스카이라인으로 구성된 성긴 계층과 성긴 계층 내의 볼록한 스카이라인으로 구성된 미세한 계층을 제안한다. 이때, 상기한 이중 계층 구조내의 성긴 계층을 전체 레벨L = {L1, L2, ..., Lk}로 표기하며, 임의의 인접한 계층은 Li로 표기하며, 튜플의 집합을 나타낼 수 있다.
On the other hand, an embodiment of the present invention proposes a dual layer structure that defines a relationship between a skyline and tuples of adjacent layers obtained as convex skylines, that is, a coarse layer composed of a sparse layer composed of skylines and convex skylines in the sparse layer. . In this case, the sparse layer in the dual layer structure may be represented by the entire level L = {L1, L2, ..., Lk}, and any adjacent layer may be represented by Li, and may represent a set of tuples.

이중 계층구조를 생성하는 방법에 대한 On how to create a dual hierarchy 실시예Example ..

도 3은 본 발명의 일 실시예에 따른 튜플의 계층구조를 생성하는 과정을 보여주는 흐름도이다.3 is a flowchart illustrating a process of generating a hierarchy of tuples according to an embodiment of the present invention.

도 4는 도 1의 튜플 집합에 대하여 본 발명에 따른 계층구조 생성방법을 적용한 결과를 예시하는 튜플 계층 구조도이다.FIG. 4 is a tuple hierarchy diagram illustrating a result of applying the hierarchical structure generating method according to the present invention to the tuple set of FIG. 1.

도 3을 참조하면, 본 발명의 일 실시예에 따른 튜플의 계층구조를 생성하는 과정은 튜플 집합 입력 단계(S310), 스카이라인 획득 단계(S320), 전체 종속관계 설정 단계(S330), 볼록 스카이라인 획득 단계(S340) 및 부분 종속관계 설정 단계(S350)를 포함하여 구성된다.Referring to FIG. 3, a process of generating a hierarchical structure of tuples according to an embodiment of the present invention includes tuple set input step S310, skyline acquisition step S320, total dependency setting step S330, and convex sky. And a line acquiring step S340 and a partial dependency setting step S350.

또한, 도 3과 도 4를 참조하면 본 발명의 일 실시예에 따른 튜플의 계층구조를 생성하는 과정의 각 단계는 다음과 같이 설명될 수 있다.3 and 4, each step of the process of generating a hierarchy of tuples according to an embodiment of the present invention can be described as follows.

튜플 집합 입력 단계(S310)는 순위화 질의를 효율적으로 처리하기 위하여 본 발명에 따른 튜플의 계층구조를 생성하기 위하여 사용될 데이터의 집합을 입력하는 단계일 수 있다. 튜플의 집합은 특정 데이터베이스에 저장된 튜플일 수도 있고, 임의의 질의를 통해 특정 저장소로부터 추출된 튜플일 수도 있다.The tuple set input step S310 may be a step of inputting a set of data to be used to generate a hierarchy of tuples according to the present invention in order to efficiently process a ranking query. The set of tuples may be tuples stored in a particular database or tuples extracted from a particular repository through any query.

스카이라인 획득 단계(S320)는 튜플 집합 입력 단계(S310)에서 획득한 특정 튜플 집합에 대해 스카이라인을 구하되, 상기 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복함으로써 적어도 하나의 스카이라인을 구하는 단계일 수 있다.Skyline acquisition step (S320) obtains a skyline for a specific tuple set obtained in the tuple set input step (S310), but repeats until all the tuples of the tuple set are obtained as a skyline at least one skyline It may be a step to obtain.

특히, 스카이라인 획득 단계(S320)는 스카이라인을 구할 때, 입력 받은 특정 튜플 집합에 대하여 스카이라인을 획득하고, 상기 특정 튜플 집합 중 상기 획득한 스카이라인에 포함되지 않은 나머지 튜플에 대해서도 스카이라인을 구하면서, 상기 특정 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복하면서 스카이라인으로 구성된 계층을 획득할 수 있다.In particular, when obtaining a skyline, the skyline acquiring step (S320) acquires a skyline with respect to a specific tuple set received, and generates a skyline with respect to the remaining tuples not included in the acquired skyline among the specific tuple set. While obtaining, it is possible to obtain a hierarchy composed of skylines by repeating until all tuples of the specific tuple set are obtained as skylines.

예를 들면, 도 4를 참조하면, 전체 튜플에 대하여 스카이라인을 구하여 {a, f, b, g, c}로 이루어진 L1(410)이 형성된다. 다음으로 L1(410)을 제외한 나머지 튜플들에 대하여 스카이라인을 구하여 {d, e, i, j}로 이루어진 L2(420)이 형성된다. 그리고 다시 L1(410), L2(420)를 제외한 나머지 튜플들에 대해 스카이라인을 구하여 {h, k}로 이루어진 L3(430)이 형성된다.
For example, referring to FIG. 4, an L1 410 formed of {a, f, b, g, c} is formed by obtaining a skyline for the entire tuple. Next, the L2 420 formed of {d, e, i, j} is formed by obtaining a skyline for the remaining tuples except for the L1 410. The L3 430 formed of {h, k} is formed by obtaining a skyline for the remaining tuples except for the L1 410 and the L2 420.

전체 종속관계 설정 단계(S330)는 스카이라인 획득 단계(S320)에서 구한 각 스카이라인의 각 튜플에 전체 종속하는 다른 스카이라인의 튜플을 도출하여 관계를 설정하는 단계일 수 있다. 한편, 다른 스카이라인은 상기 각 스카이라인에 가장 인접한 스카이라인일 수 있다.The overall dependency establishing step (S330) may be a step of deriving tuples of other skylines totally dependent on each tuple of each skyline obtained in the skyline obtaining step (S320) and establishing a relationship. Meanwhile, another skyline may be a skyline nearest to each of the above skylines.

예를 들면, 도 4에 나타난 것처럼, 각 스카이라인 L1(410), L2(420) L1(430)의 튜플들은 실선 화살표로 연결되어 있다. 상술한 바와 같이 각 스카이라인의 각 튜플은, 가장 인접하는 스카이라인의 튜플 중 전체 종속하는 튜플과 실선 화살표로 연결되어 있다. 즉, 도 2에 도시된 것처럼 튜플 a는 인접한 성긴 계층의 튜플 d와 e에 비해 모든 속성이 더 좋은 값을 가지면서 튜플 d와 e에 전체 종속하고 있다. 도 4에는 이러한 전체 종속관계가 실선 화살표로 도시되어 있다. For example, as shown in FIG. 4, tuples of the skylines L1 410, L2 420, and L1 430 are connected by solid arrows. As described above, each tuple of each skyline is connected by a solid arrow with all subordinate tuples among the tuples of the nearest skyline. That is, as illustrated in FIG. 2, tuple a is completely dependent on tuples d and e while all attributes have better values than tuples d and e of adjacent coarse layers. In Fig. 4 this overall dependency is shown by a solid arrow.

또한, 실선 화살표 a-d, a-i, a-e는 각각 L1(410)의 튜플 a 는L2(420)의 튜플 d, e, i에 대하여 전체 종속함을 의미하고, 실선 화살표 e-h, e-k는 각각L2(420)의 튜플 e 는 L3(430)의 튜플 h, k에 대하여 전체 종속함을 의미할 수 있다. 한편 c는 인접한 성긴 계층에 전체 종속하는 튜플이 없다는 것을 의미 할 수 있다.
Also, solid arrows ad, ai, and ae indicate that tuple a of L1 410 is totally dependent on tuples d, e, and i of L2 420, and solid arrows eh and ek are L2 420, respectively. The tuple e of may mean that the tuple e is entirely dependent on the tuples h and k of the L3 430. On the other hand, c can mean that there are no tuples that depend entirely on adjacent sparse hierarchies.

볼록 스카이라인 획득 단계(S340)는 스카이라인 획득 단계(S320)에서 구한 각 스카이라인에 대하여 볼록 스카이라인을 구하되 각 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복함으로써, 각 스카이라인에 대하여 적어도 하나의 볼록 스카이라인을 구하는 단계일 수 있다. The convex skyline acquisition step (S340) is to obtain a convex skyline for each skyline obtained in the skyline acquisition step (S320), iterate until all tuples of each skyline is obtained as a convex skyline, each skyline It may be a step of obtaining at least one convex skyline with respect to.

즉, 볼록 스카이라인 획득 단계(S340)는 각 스카이라인에 대하여 볼록 스카이라인을 구하고, 볼록 스카이라인에 포함되지 않은 나머지 튜플에 대하여도 볼록 스카이라인을 구하면서, 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복하면서 볼록 스카이라인으로 구성된 계층을 획득할 수 있다.That is, in the convex skyline acquisition step (S340), the convex skyline is obtained for each skyline, and the convex skyline is also obtained for the remaining tuples not included in the convex skyline, and all tuples of the skyline are convex skylines. Iterate over to obtain a layer composed of convex skylines.

예를 들면, 도 4는 스카이라인 획득 단계(S340)에서 구한 스카이라인들에 대하여 각각 볼록 스카이라인을 구한 결과를 보여준다. 즉, 스카이라인 L1(410)에 대하여 볼록 스카이라인 L11(411), L12(412)가 구해지고, 스카이라인 L2(420)에 대하여 볼록 스카이라인 L21(421), L22(422)가 구해지고, 스카이라인 L3(430)에 대하여 볼록 스카이라인 L31(431)이 구해졌음을 보여준다. 또한 이들 볼록 스카이라인은 스카이라인의 성긴 계층에 비하여 데이터가 좀 더 조밀하게 분포된 미세한 계층일 수 있다.
For example, FIG. 4 shows the results of obtaining the convex skylines for the skylines obtained in the skyline acquisition step S340, respectively. That is, convex skylines L11 411 and L12 412 are obtained for the skyline L1 410, and convex skylines L21 421 and L22 422 are obtained for the skyline L2 420. It shows that convex skyline L31 431 has been obtained for skyline L3 430. Also, these convex skylines may be fine layers in which data is more densely distributed than the sparse layers of the skyline.

부분 종속관계 설정 단계(S350)는 볼록 스카이라인 획득 단계(S340)에서 구한 각 볼록 스카이라인의 각 튜플에 종속하는 다른 볼록 스카이라인의 튜플을 도출하여 관계를 설정하는 단계일 수 있다. 이때, 상기 다른 볼록 스카이라인은 각 볼록 스카이라인과 동일한 스카이라인으로부터 구해진 볼록 스카이라인이고, 각 볼록 스카이라인에 가장 인접한 볼록 스카이라인일 수 있다. The partial dependency establishing step S350 may be a step of deriving tuples of other convex skylines that are dependent on each tuple of each convex skyline obtained in the convex skyline obtaining step S340 and establishing a relationship. In this case, the other convex skyline may be a convex skyline obtained from the same skyline as each convex skyline, and may be a convex skyline closest to each convex skyline.

도 4를 참조하면, 각 볼록 스카이라인 L11(411), L12(412), L21(421), L22(422), L31(431)의 튜플 들은 동일한 스카이라인 내에서 점선 화살표로 연결되어 있다. 즉, 상술한 바와 같이 각 볼록 스카이라인의 각 튜플은, 동일 스카이라인내의 가장 인접하는 볼록 스카이라인의 튜플 중 자신에게 부분 종속하는 튜플과 점선 화살표로 연결되어 있다. 부분종속관계를 구하는 방법은 부분종속에 대한 정의와 함께 설명한 바와 동일하다.Referring to FIG. 4, tuples of each convex skyline L11 411, L12 412, L21 421, L22 422, and L31 431 are connected by a dotted arrow in the same skyline. That is, as described above, each tuple of each convex skyline is connected by a dotted arrow and a tuple partially dependent on one of the tuples of the adjacent convex skyline in the same skyline. The method of obtaining the partial dependency is the same as described with the definition of partial dependency.

따라서, 점선 화살표 a-f, b-f는 L11(411)의 튜플 a, b 가 L12(412)의 튜플 f에 부분 종속함을 의미한다. 즉 {a, b}는 f의 부분종속집합일 수 있다. 마찬가지로 {b, c}는 g의 부분종속집합일 수 있다.
Accordingly, the dashed arrows af and bf mean that tuples a and b of L11 411 are partially dependent on tuple f of L12 412. That is, {a, b} may be a subset of f. Likewise {b, c} may be a subset of g.

다음으로 본 발명의 일 실시예에 따른 튜플의 순위화 질의를 처리하는 방법에 대한 실시예를 설명한다.Next, an embodiment of a method for processing a tuple ranking query according to an embodiment of the present invention will be described.

우선, 본 발명의 일 실시예에 따른 튜플의 순위화 질의를 처리하는 방법을 설명하기 위하여 기본적으로 사용되는 개념들을 먼저 정리한다. 상술한 것처럼 본 발명의 일 실시예에 따라 형성된 튜플의 성긴 계층 구조는 스카이라인을 순차적으로 구함으로써 계층화된 구조이고, 각 성긴 계층은 다음과 같은 성질을 가지게 된다.First, the concepts basically used to explain a method of processing a tuple ranking query according to an embodiment of the present invention are summarized first. As described above, the coarse hierarchical structure of the tuple formed according to an embodiment of the present invention is a hierarchical structure by sequentially obtaining a skyline, and each coarse hierarchical layer has the following properties.

1) 성긴 계층에서의 종속 관계1) Dependency in the sparse hierarchy

전체 종속 관계를 가진 두 개의 튜플 T, T'에 대해서, 먼저 생성되어 위에 있는 성긴 계층에 속한 튜플 T는 나중에 생성된 아래의 성긴 계층에 속한 튜플 T'보다 사용자 선호도에 상관없이 우선적으로 접근된다. 이때, 접근이란 해당 튜플의 데이터에 접근하여 속성값을 가져와서 사용자 선호도 함수에 적용하여 값을 계산하는 것을 의미한다.For two tuples T, T 'having a total dependency, the tuple T, which is created first and belonging to the coarse hierarchy above, is preferentially accessed, regardless of user preference, than the tuple T', which is created later in the coarse hierarchy below. In this case, the access means to access the data of the corresponding tuple, take the attribute value and apply it to the user preference function to calculate the value.

각 성긴 계층은 본 발명의 일 실시예에 따른 이중 계층구조 생성방법에 따라 미세한 계층으로 나누어진다. 즉, 하나의 성긴 계층 내에 차례대로 볼록한 스카이라인을 구함으로 계층화된다. 이와 같이 생성된 미세한 계층은 아래와 같은 성질을 가진다.Each coarse layer is divided into fine layers according to the method of generating a dual hierarchy according to an embodiment of the present invention. That is, they are stratified by finding convex skylines in order in one sparse hierarchy. The fine layer thus generated has the following properties.

2) 미세한 계층에서의 부분 종속 관계2) Partial Dependency in Fine Layers

부분 종속 관계를 갖는 부분 종속 집합에 속하는 특정한 튜플 T와 종속되는 튜플 T'에 대해서, 먼저 생성되어 위에 있는 미세한 계층에 있는 부분 종속 집합 중에 하나의 튜플 T는 나중에 생성된 아래의 미세한 계층에 속한 튜플 T'에 대하여 사용자 선호도에 상관없이 우선적으로 접근된다.For a particular tuple T belonging to a partial dependency set with a partial dependency and a tuple T 'depending upon, a tuple T of the partial subsets that are generated first and in the finer hierarchy above is a tuple that belongs to the later finer hierarchy that is created later. T 'is preferentially accessed regardless of user preference.

예를 들어, 도 4를 참조하면, 스카이라인으로 형성된 성긴 계층(410, 420, 430)과 각 성긴 계층에 대하여 볼록한 스카이라인으로 형성된 미세한 계층(411, 412, 421, 422, 431)이 나타나는데, 이러한 이중 계층 구조에서 성긴 계층이 생성된 순서로, L1(410)에 가장 먼저 접근하여, 인접한 다음 성긴 계층 L2(420)의 튜플과의 전체 종속 관계를 구성한다.
For example, referring to FIG. 4, coarse layers 410, 420, and 430 formed of skylines and fine layers 411, 412, 421, 422, and 431 formed of convex skylines for each coarse layer appear. In this dual hierarchical structure, in the order in which sparse hierarchies are generated, L1 410 is approached first to form a full dependency relationship with tuples of adjacent next coarse hierarchies L2 420.

또한 동일한 성긴 계층(예를 들면 L1(410))내에서는 미세한 계층이 생성된 순서대로 L11(411)에 가장 먼저 접근하여, 인접한 다음 미세한 계층, L12(412)에서의 튜플들과의 부분 종속 관계를 구성한다.
In addition, within the same coarse layer (e.g., L1 410), L11 411 is approached first in the order in which the fine layers are created, and then partially dependent on adjacent next fine layers, tuples in L12 412. Configure

3) 전체 종속 해방(Forall-dominance-free)3) Forall-dominance-free

임의의 튜플 T에 대하여 인접한 상위의 성긴 계층에서 전체 종속 관계를 가지는 튜플이 존재하지 않거나, 전체 종속 관계가 있는 인접한 상위의 성긴 계층에 있는 튜플이 모두 접근된 경우 그 튜플은 전체 종속 해방 상태에 있다고 한다.For any tuple T, if there are no tuples with full dependencies in the adjacent coarse hierarchies, or if all tuples in the adjacent coarse hierarchies with full dependencies are accessed, the tuple is in full dependent release. do.

예를 들면, 도 4의 L11(411)의 튜플 a, b, c의 경우 상위 단계의 성긴 계층으로부터 전체종속관계가 없으므로 모두 전체 종속 해방 상태이다. 그러나, L21(421)의 튜플 d의 경우, d는 L11(411)의 튜플 a로부터 전체 종속되고 있다. 따라서 a가 먼저 접근이 된다면 d는 전체 종속 해방 상태가 될 수 있다.
For example, in the tuples a, b, and c of L11 411 of FIG. 4, since there is no overall dependency relation from the coarse hierarchy of the upper level, all of the tuples a, b, and c are all dependent release states. However, in the case of tuple d of L21 421, d is entirely dependent from tuple a of L11 411. Thus, if a is approached first, d can be in full dependent release.

3) 부분 종속 해방(Exists-dominance free)3) Exists-dominance free

임의의 튜플 T에 대하여 인접한 상위의 미세한 계층에 대하여 부분 종속 관계를 가지는 튜플이 존재하지 않거나, 부분 종속 관계가 있는 인접한 상위의 미세한 계층에 있는 튜플 중의 하나가 접근된 경우 그 튜플은 부분 종속 해방 상태에 있다고 한다. 이때, 접근이란 해당 튜플의 데이터에 접근하여 속성값을 가져와서 사용자 선호도 함수에 적용하여 값을 계산하는 것을 의미한다.For any tuple T, if there is no tuple with a partial dependency on the adjacent finer hierarchy, or if one of the tuples in the adjacent finer hierarchy with partial dependency is accessed, the tuple is partially dependent freed. It is said to be. In this case, the access means to access the data of the corresponding tuple, take the attribute value and apply it to the user preference function to calculate the value.

예를 들면, 도 4의 L11(411)의 튜플 a, b, c의 경우 상위 단계의 미세한 계층으로부터 부분종속관계가 없으므로 모두 부분종속해방상태이다. 또한, L21(421)의 d, e, f와 L31(431)의 h, k 역시 상위 단계의 미세한 계층으로부터 부분종속관계가 없으므로 모두 부분종속해방상태이다. 그러나, L12(412)의 튜플 f의 경우, f는 L11(411)의 튜플 a,b로부터 부분 종속되고 있다. 따라서 a, b가 모두 접근되기 전에는 f는 부분종속해방 상태가 될 수 없다.
For example, in the tuples a, b, and c of the L11 411 of FIG. 4, since there is no partial dependency relationship from the fine layer of the upper level, all of them are partially dependent released. Further, d, e, f of L21 (421) and h, k of L31 (431) also have no partial dependency relationship from the higher level hierarchy, and thus are all partially dependent released. However, for the tuple f of L12 412, f is partially dependent from tuples a and b of L11 411. Therefore, f cannot be partially released until both a and b are accessed.

4) 이중 계층 구조에서의 불필요한 접근(Unnecessary access in the dual layer)4) Unnecessary access in the dual layer

순위화 질의를 처리하기 위한 튜플을 접근을 할 때 현재 튜플의 상태가 전체 종속 해방이 아니거나 부분 종속 해방이 아니면 접근을 할 필요가 없다. 즉 본발명의 일 실시에에 따른 순위화 질의를 처리하는 방법에 따라 불필요한 접근을 없앰으로써 보다 효율적인 질의 처리를 할 수 있다.
When accessing a tuple to process a ranking query, you do not need access unless the current tuple's state is not full dependent release or partial dependent release. That is, according to the method of processing the ranking query according to an embodiment of the present invention, more efficient query processing can be performed by eliminating unnecessary access.

순위화 질의를 처리하는 방법에 대한 On how to process ranking queries 실시예Example ..

도 5는 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 과정을 보여주는 흐름도이다.5 is a flowchart illustrating a process of processing a ranking query according to an embodiment of the present invention.

도 5를 참조하면 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 과정은 사용자 선호도 획득 단계(S510), 튜플 집합 입력단계(S520), 우선순위 큐에 최상위 계층의 튜플 추가단계(S530), 결과배열에 튜플 추가단계(S540), 및 우선순위 큐에 종속관계가 설정된 튜플 추가단계(S550)를 포함하여 구성될 수 있다. Referring to FIG. 5, a process of processing a ranking query according to an embodiment of the present invention may include obtaining a user preference step (S510), inputting a tuple set step (S520), and adding a tuple of the highest layer to a priority queue (S530). It may be configured to include a tuple adding step (S540) to the result array, and a tuple adding step (S550) in which a dependency relationship is set in the priority queue.

또한 도 5를 참조하면, 결과배열에 튜플 추가단계(S540)와 우선순위 큐에 종속관계가 설정된 튜플 추가단계(S550)는 결과 배열에 추가된 튜플의 수가 순위화 질의에 따라 의도된 튜플의 수 K개에 도달할 때까지 반복될 수 있다.Referring to FIG. 5, in a tuple adding step (S540) and a tuple adding step (S550) in which a dependency relationship is set in a priority queue, the number of tuples added to the result array is the number of tuples intended according to the ranking query. Can be repeated until K is reached.

도 5를 참조하면 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 과정의 각 단계는 다음과 같이 설명될 수 있다.Referring to FIG. 5, each step of a process of processing a ranking query according to an embodiment of the present invention may be described as follows.

사용자 선호도 획득 단계(S510)는 사용자가 검색하고자 하는 데이터에 대한 조건을 입력 받는 단계일 수 있다. 이때, 속성에 따른 검색범위가 입력될 수 있다.The user preference obtaining step S510 may be a step of receiving a condition for data to be searched by a user. At this time, a search range according to the attribute may be input.

튜플 집합 입력단계(S520)는 사용자가 검색하고자 하는 데이터에 대응하는 튜플 집합이 입력되는 단계일 수 있다. 이때 입력되는 튜플 집합은 속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고, 튜플 간에 종속 관계가 설정되어 있을 수 있다. The tuple set input step S520 may be a step of inputting a tuple set corresponding to data to be searched by a user. In this case, the input tuple set may be classified into at least one group according to the distribution of attribute values, and a dependency relationship between tuples may be set.

즉, 상기 특정 튜플 집합에 포함되는 튜플은 스카이라인으로 구해진 적어도 하나의 그룹으로 분류되어 성긴 계층을 형성하고, 상기 성긴 계층 내의 각 스카이라인에 포함되는 튜플은 볼록한 스카이라인으로 구해진 적어도 하나의 서브그룹으로 분류되어 미세한 계층을 형성할 수 있다.That is, tuples included in the specific tuple set are classified into at least one group obtained by skylines to form a coarse hierarchy, and tuples included in each skyline in the coarse hierarchy are at least one subgroup obtained by convex skylines. It can be classified into to form a fine layer.

우선순위 큐에 최상위 계층의 튜플 추가단계(S530)는 이전 단계(S520)에서 입력 받은 튜플 집합의 스카이라인 그룹 중 최상위 계층의 그룹에 접근하여, 상기 그룹의 튜플들을 우선순위 큐에 넣는 단계일 수 있다. 이때, 최상위 계층이란, 가장 처음 생성된 성긴 계층에서의 가장 처음 생성된 미세한 계층을 의미할 수 있다.Adding a tuple of the highest layer to the priority queue (S530) may be a step of accessing a group of the highest layer among the skyline groups of the tuple set received in the previous step (S520) and putting tuples of the group into the priority queue. have. In this case, the highest layer may mean a finest layer first generated in the sparse layer generated first.

결과배열에 튜플 추가단계(S540)는 상기 우선순위 큐에서 가장 사용자 선호도가 높은 튜플을 선택하여 결과 배열에 추가하고, 결과배열에 추가된 튜플을 우선순위 큐에서 제거하는 단계일 수 있다.Adding a tuple to a result array (S540) may be a step of selecting a tuple having the highest user preference from the priority queue, adding the tuple to the result array, and removing the tuple added to the result array from the priority queue.

우선순위 큐에 종속관계가 설정된 튜플 추가단계(S550)는 상기 특정 튜플 집합내의 튜플 중 결과배열에 최근에 추가된 튜플과 전체종속 또는 부분관계가 설정되어 있는 튜플들에 접근하여, 상기 접근한 튜플들을 상기 우선순위 큐에 넣는 단계일 수 있다. The tuple adding step in which a dependency relationship is set in a priority queue (S550) accesses tuples of which tuples are recently set in a result array among tuples in the specific tuple set and whose total dependency or partial relationship is set, and accesses the tuples. May be put into the priority queue.

이때, 우선순위 큐에 넣는 튜플은 상기 접근한 튜플들 중 전체 종속 및 부분 종속 해방된 튜플일 수 있다.In this case, the tuples put in the priority queue may be full dependent and partially dependent released tuples among the accessed tuples.

또한 상기 단계(S540 및 S550)를 반복 수행하되 상기 결과 배열에 있는 튜플의 수가 K에 도달할 때까지 반복할 수 있다. 즉 검색하고자 하는 튜플의 수가 3이라면 결과배열에 추가된 튜플의 수가 3이 될 때까지 반복할 수 있다.
In addition, the steps S540 and S550 may be repeated, but may be repeated until the number of tuples in the result array reaches K. That is, if the number of tuples to be searched is three, the number of tuples added to the result array may be repeated until the number of tuples is three.

이하 도면을 참조하여 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 과정을 예를 들어 설명한다.Hereinafter, a process of processing a ranking query according to an embodiment of the present invention will be described with reference to the drawings.

도 6은 본 발명의 일 실시예에 따른 순위화 질의를 처리하는 각 과정에서 발생되는 데이터를 보여주는 데이터 구조도이다.6 is a data structure diagram showing data generated in each process of processing a ranking query according to an embodiment of the present invention.

도 6을 참조하면 순위화 질의를 처리하는 동작(620)별로 우선순위 큐(630)와 결과배열(640)에 있는 튜플이 나타나 있다. 사용자 선호도에 따라 속성값이 가장 좋은 튜플 3개를 추출한다고 가정한다.
Referring to FIG. 6, tuples in the priority queue 630 and the result array 640 are shown for each operation 620 of processing a ranking query. Assume that you extract the three tuples with the best attribute values based on user preference.

먼저, 순위와 질의를 처리하기 위하여 우선순위 큐와 결과배열을 초기화 하는 과정으로, 우선순위 큐와 결과 배열이 비어있음을 알 수 있다(동작 1).First, as a process of initializing the priority queue and the result array to process the rank and the query, it can be seen that the priority queue and the result array are empty (operation 1).

다음으로, 도 4의 L11(410)의 모든 튜플 {a, b, c} 이 접근되고, 해당 튜플들이 우선순위 큐(630)에 추가된다. 결과로서 우선순위 큐(630)에는 {a, b, c}가 있음을 알 수 있다(동작 2). Next, all tuples {a, b, c} of L11 410 of FIG. 4 are accessed and the corresponding tuples are added to priority queue 630. As a result, it can be seen that priority queue 630 has {a, b, c} (operation 2).

다음으로 우선순위 큐의 튜플 {a, b, c} 중에서 사용자 선호도 값이 가장 좋은 값인 {a}를 우선순위 큐(630)로부터 빼내어 결과 배열(640)에 저장하게 된다(동작 3). Next, among the tuples {a, b, c} of the priority queue, {a} having the best user preference value is extracted from the priority queue 630 and stored in the result array 640 (operation 3).

다음으로, 동작 3을 통해 우선순위 큐(630)에서 빼낸 a와 연결되어있으며 전체종속해방, 부분종속해방인 튜플들이 검색된다. 이때, 도 4에 도시된 것처럼a와 전체종속 또는 부분 종속으로 연결된 튜플은 {f, d, e, i} 이다. 그러나, f, d, e는 모두 부분종속해방인데 비해서 i는 부분종속해방상태가 아니다. 이는 아직 i의 부분종속집합인 {e, j}가 모두 접근되지 않았기 때문이다. 따라서 부분종속 해방상태가 아닌 튜플 i를 제외한 {d, e, f}가 우선순위 큐(630)들어가게 된다(동작 4). Next, through operation 3, tuples connected to a taken out of the priority queue 630 and which are totally dependent and partially dependent, are searched. At this time, as shown in FIG. 4, tuples connected to a whole dependently or partially dependent are {f, d, e, i}. However, f, d, and e are all partially dependent releases, whereas i is not partially dependent release. This is because {e, j}, which is a subset of i, has not been accessed yet. Accordingly, {d, e, f}, except for tuple i, which is not partially dependent released, enters the priority queue 630 (operation 4).

다음으로, 다시 우선 순위 큐에서 가장 사용자 선호도 값이 좋은 값이 b라면, b를 꺼내어 결과 배열(640)에 넣게 된다(동작 5). Next, if the highest user preference value in the priority queue is b, then b is taken out and placed in the result array 640 (operation 5).

그리고 동작 4와 5에서 했듯이, 도 4의 b와 연결된 튜플들에 접근하여 전체종속해방, 부분종속해방인 튜플 {g, j}를 찾아서, 우선순위 큐(630)에 넣는다(동작 6).Then, as in operations 4 and 5, tuples {g, j} which are full dependent release and partial dependency release are found by accessing the tuples connected to b of FIG. 4 and put into the priority queue 630 (operation 6).

다음으로, 다시 우선 순위 큐에서 가장 사용자 선호도 값이 좋은 값인 f를 찾아서 결과 배열(640)에 넣는다(동작 7). 이때, 결과배열(640)에 있는 튜플의 수가 3개가 되고, 이는 본래 추출하고자 의도한 튜플의 수와 동일하므로 우선순위 질의 알고리즘이 종료된다.
Next, f is found again in the priority queue with the highest user affinity value and put into the result array 640 (operation 7). At this time, the number of tuples in the result array 640 is three, which is equal to the number of tuples originally intended to be extracted, and thus the priority query algorithm is terminated.

튜플을Tuple 군집화 하는Clustered 방법에 대한  How about 실시예Example ..

도 7은 본 발명의 일 실시예에 따른 튜플 군집화 과정을 보여주는 흐름도이다.7 is a flowchart illustrating a tuple clustering process according to an embodiment of the present invention.

도 7을 참조하면 본 발명의 일 실시예에 따른 튜플 군집화 과정은 튜플 집합 입력 단계(S710), 군집화 단계(S720), 가상의 튜플 생성단계(S730) 및 가상의 튜플 관계 설정단계(S740)을 포함하여 구성될 수 있다.Referring to FIG. 7, a tuple clustering process according to an embodiment of the present invention includes a tuple set input step (S710), a clustering step (S720), a virtual tuple generation step (S730), and a virtual tuple relationship setting step (S740). It can be configured to include.

또한, 도 7을 참조하면 본 발명의 일 실시예에 따른 튜플 군집화 과정의 각 단계는 다음과 같이 설명될 수 있다.In addition, referring to Figure 7, each step of the tuple clustering process according to an embodiment of the present invention can be described as follows.

튜플 집합 입력 단계(S710)는 군집화 하기 위한 튜플의 집합을 입력 받는 단계일 수 있다. 이때, 입력 받는 튜플 집합은 속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고 종속하는 튜플 간에 관계가 설정된 특정 튜플 집합일 수 있다. 예를 들면 튜플 집합은 적어도 하나의 스카이라인으로 구성된 성긴 계층을 형성하고, 상기 성긴 계층 내의 각 스카이라인에 대하여 구해진 적어도 하나의 볼록한 스카이라인으로 구성된 미세한 계층을 형성하는 이중 계층 구조의 튜플의 집합일 수 있다. The tuple set input step S710 may be a step of receiving a set of tuples for clustering. In this case, the received tuple set may be a specific tuple set which is classified into at least one group according to the distribution of attribute values and a relationship is established between dependent tuples. For example, a set of tuples is a set of tuples of a dual layer structure forming a coarse layer composed of at least one skyline and forming a fine layer composed of at least one convex skyline obtained for each skyline in the coarse hierarchy. Can be.

군집화 단계(S720)는 입력 받은 튜플 집합의 그룹 중 속성값에 따른 최상위 그룹을 도출하고, 도출된 최상위 그룹을 군집화하여 적어도 하나의 군집을 생성하는 단계일 수 있다. The clustering step (S720) may be a step of deriving at least one cluster by deriving a top group according to attribute values among groups of the received tuple set and clustering the derived top group.

예를 들면, 상술한 이중 계층 구조의 튜플 집합에서 성긴 계층의 스카이라인 중 최상위 계층의 스카이라인을 식별하고, 식별된 스카이라인내의 미세한 계층의 볼록한 스카이라인 중 최상위 계층인 볼록한 스카이라인을 식별하여 군집화 할 수 있다. 이때 K-평균(K-Means) 군집 방법을 이용하여 상기 최상위 볼록한 스카이라인의 튜플을 복수의 군집으로 나눌 수 있다.For example, in the above-described double hierarchical set of tuples, the top layer of the coarse layered skylines is identified, and the convex skylines, which are the highest layer among the fine layer convex skylines in the identified skyline, are identified and clustered. can do. In this case, a tuple of the most convex skyline may be divided into a plurality of clusters by using a K-Means clustering method.

가상의 튜플 생성단계(S730)는 생성된 각 군집에 대하여 가장 우수한 속성값을 갖는 가상의 튜플을 생성하는 단계일 수 있다. 즉 각 군집에 포함된 튜플들 중 가장 우수한 속성값을 갖는 튜플을 도출하고, 상기 도출된 튜플보다도 우수한 속성값을 부여하여 가상의 튜플을 생성할 수 있다.
The virtual tuple generation step S730 may be a step of generating a virtual tuple having the best attribute value for each generated cluster. That is, a tuple having the most excellent attribute value among the tuples included in each cluster may be derived, and a virtual tuple may be generated by giving an attribute value superior to the derived tuple.

이하 도면을 참조하여 본 발명의 일 실시예에 따른 튜플을 군집화하는 과정을 예를 들어 설명한다.Hereinafter, a process of grouping tuples according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 8은 볼록 스카이라인에 본 발명의 일 실시예에 따른 튜플 군집화 방법을 적용하는 과정을 예시하는 그래프이다.8 is a graph illustrating a process of applying a tuple clustering method according to an embodiment of the present invention to a convex skyline.

도 9는 도 4의 튜플 계층 구조에 본 발명의 일 실시예에 따른 튜플 군집화 방법을 적용한 결과를 예시하는 튜플 계층 구조도이다.FIG. 9 is a tuple hierarchy diagram illustrating a result of applying a tuple clustering method according to an embodiment of the present invention to the tuple hierarchy structure of FIG. 4.

도 8을 참조하면 최상위 미세한 계층(810)의 튜플을 {a,b}(811)와 {b,c}(812)을 각각 묶어서 두 개의 군집으로 나눈 것을 보여준다. 이 군집(811,812)에 대해서 각각 가상 튜플을 설정한 점(801, 802)이 표시되어 있다. 두 점(801, 802) 모두 군집(811,812)내의 어떤 튜플들a, b, c 보다, 더 우수한 속성값을 갖도록 설정되어 있다.Referring to FIG. 8, the tuples of the highest fine layer 810 are divided into two clusters by tying {a, b} 811 and {b, c} 812, respectively. The points 801 and 802 for setting the virtual tuples for the clusters 811 and 812 are shown. Both points 801 and 802 are set to have better attribute values than any of the tuples a, b and c in clusters 811 and 812.

또한, 도 9를 참조하면 도 4의 이중 계층화된 튜플에 새로운 성긴 계층 L0(910)와 미세한 계층 L01(911)이 추가되어 있다. 또한 도 8에 도시된 점(801, 802)이 도 9의 가상 튜플 tv1(901)과 tv2(902)으로서 미세한 계층 L01(911)에 추가되어 있다. 9, a new sparse layer L0 910 and a fine layer L01 911 are added to the double layered tuple of FIG. 4. Also, points 801 and 802 shown in FIG. 8 are added to the fine layer L01 911 as the virtual tuples tv1 901 and tv2 902 of FIG. 9.

즉, 도 8을 통해 설명된 가상 튜플(801, 802)에 대해 전체 종속관계를 설정하여 관계를 연결시킬 수 있다. 앞서 설명한 전체종속관계에서와 같이 도 8의 {a, b}(811)군집의 가상 튜플에 해당하는 점(801)은 도 9의 tv1(901)을 나타내고, 이는 도 9의 L11의 {a, b}에 대해 전체종속관계를 갖는다. 또한 도 8의 {b, c}(812)군집의 가상 튜플에 해당하는 점(802)는 도 9의tv2(902)를 나타내고 이는 L11(510)의 {b, c}에 대해 전체 종속관계를 갖는다.
That is, the entire dependency relationship may be set for the virtual tuples 801 and 802 described with reference to FIG. 8 to connect the relationship. As in the overall dependency relationship described above, the point 801 corresponding to the virtual tuple of the {a, b} 811 cluster of FIG. 8 represents tv1 901 of FIG. 9, which corresponds to {a, has a total dependency on b}. Also, the point 802 corresponding to the virtual tuple of the {b, c} 812 cluster of FIG. 8 represents tv2 902 of FIG. 9, which indicates the total dependency on {b, c} of L11 510. Have

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

Claims (18)

특정 튜플 집합에 대해 스카이라인을 구하되, 상기 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복함으로써 적어도 하나의 스카이라인을 구하는 제1 단계;
상기 제1 단계에서 구한 각 스카이라인의 각 튜플이 종속하는 다른 스카이라인의 튜플을 도출하여 관계를 설정하는 제2 단계;
상기 제1 단계에서 구한 각 스카이라인에 대하여 볼록 스카이라인을 구하되 상기 각 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복함으로써, 상기 각 스카이라인에 대하여 적어도 하나의 볼록 스카이라인을 구하는 제3 단계; 및
상기 제3 단계에서 구한 각 볼록 스카이라인의 각 튜플이 종속하는 다른 볼록 스카이라인의 튜플을 도출하여 관계를 설정하는 제4 단계를 포함하는 튜플 계층 구조 생성 방법.
Obtaining a skyline for a specific tuple set, and obtaining at least one skyline by repeating until all tuples of the tuple set are obtained as skylines;
A second step of deriving a tuple of another skyline to which each tuple of each skyline obtained in the first step is dependent and establishing a relationship;
Obtaining a convex skyline for each skyline obtained in the first step, and repeating until all tuples of each skyline are obtained as convex skylines, thereby obtaining at least one convex skyline for each skyline Third step; And
And a fourth step of establishing a relationship by deriving a tuple of another convex skyline to which each tuple of each convex skyline obtained in the third step is dependent.
제 1항에 있어서,
상기 제1 단계는 상기 특정 튜플 집합에 대하여 스카이라인을 구하고, 상기 스카이라인에 포함되지 않은 나머지 튜플에 대해서도 스카이라인을 구하면서, 상기 특정 튜플 집합의 모든 튜플이 스카이라인으로 구해질 때까지 반복함으로써, 상기 적어도 하나의 스카이라인으로 구성된 성긴 계층을 획득하는 것을 특징으로 하는 튜플 계층 구조 생성 방법.
The method of claim 1,
The first step is to obtain a skyline for the specific tuple set, and to obtain a skyline for the remaining tuples not included in the skyline, by repeating until all tuples of the specific tuple set are obtained as skylines. And obtaining a coarse layer composed of the at least one skyline.
제 1항 또는 제 2항에 있어서,
상기 제2 단계는 상기 제 1단계에서 구한 각 스카이라인의 각 튜플이 전체 종속하는 다른 스카이라인의 튜플과의 관계를 설정하되, 상기 다른 스카이라인은 상기 각 스카이라인에 가장 인접한 스카이라인인 것을 특징으로 하는 튜플 계층 구조 생성 방법.
3. The method according to claim 1 or 2,
The second step is to establish a relationship with the tuples of other skylines that each tuple of each skyline obtained in the first step is totally dependent, wherein the other skylines are the closest skylines to the respective skylines. How to create a tuple hierarchy.
제 1항 또는 2항에 있어서,
상기 제3 단계는 상기 제1 단계에서 구한 각 스카이라인에 대하여 볼록 스카이라인을 구하고, 상기 볼록 스카이라인에 포함되지 않은 나머지 튜플에 대하여도 볼록 스카이라인을 구하면서, 상기 스카이라인의 모든 튜플이 볼록 스카이라인으로 구해질 때까지 반복함으로써, 상기 각 스카이라인에 대하여 상기 적어도 하나의 볼록 스카이라인으로 구성된 미세한 계층을 획득하는 것을 특징으로 하는 튜플 계층 구조 생성 방법.
3. The method according to claim 1 or 2,
In the third step, a convex skyline is obtained for each skyline obtained in the first step, and a convex skyline is also obtained for the remaining tuples not included in the convex skyline, and all tuples of the skyline are convex. And repeating until it is obtained as a skyline, thereby obtaining a fine layer composed of the at least one convex skyline for each of the skylines.
제 1항에 있어서,
상기 제4 단계는 상기 제3 단계에서 구한 각 볼록 스카이라인의 각 튜플이 부분 종속하는 다른 볼록 스카이라인의 튜플을 도출하여 부분 종속 관계를 설정하되,
상기 다른 볼록 스카이라인은 상기 볼록 스카이라인과 동일한 스카이라인으로부터 구해진 볼록 스카이라인이고, 상기 각 볼록 스카이라인에 가장 인접한 볼록 스카이라인인 것을 특징으로 하는 튜플 계층 구조 생성 방법.
The method of claim 1,
In the fourth step, a partial dependency relationship is established by deriving tuples of other convex skylines in which each tuple of each convex skyline obtained in the third step is partially dependent.
Wherein said other convex skyline is a convex skyline obtained from the same skyline as said convex skyline and is a convex skyline closest to each of said convex skylines.
제 1항에 있어서,
상기 제3 단계에서 구한 볼록 스카이라인 중 가장 먼저 생성된 최상위 볼록 스카이라인을 도출하고, 상기 최상위 볼록 스카이라인을 군집화하여 적어도 하나의 군집을 생성하는 제5 단계;
상기 생성된 각 군집에 대하여 가장 우수한 속성값을 갖는 가상의 튜플을 생성하는 제6 단계; 및
상기 제6 단계에서 생성된 각 가상의 튜플이 전체 종속하는 상기 최상위 볼록 스카이라인의 튜플을 도출하여 관계를 설정하는 제7 단계를 더 포함하는 것을 특징으로 하는 튜플 계층 구조 생성 방법.
The method of claim 1,
A fifth step of deriving the highest convex skyline generated first among the convex skylines obtained in the third step and clustering the highest convex skylines to generate at least one cluster;
Generating a virtual tuple having the best attribute value for each of the generated clusters; And
And a seventh step of establishing a relationship by deriving a tuple of the highest convex skyline to which all the virtual tuples generated in the sixth step are totally dependent.
제 6항에 있어서,
상기 제5 단계에서 수행하는 최상위 볼록 스카이라인의 군집화는 K-평균(K-Means) 군집 방법을 이용하는 것을 특징으로 하는 튜플 계층 구조 생성 방법.
The method according to claim 6,
The clustering of the highest convex skylines performed in the fifth step uses a K-Means clustering method.
제 6항에 있어서,
상기 가상의 튜플은 상기 생성된 각 군집에 포함된 튜플들 중 가장 우수한 속성값을 갖는 튜플을 선택하여 상기 선택된 튜플보다 더 우수한 속성값이 부여된 튜플인 것을 특징으로 하는 튜플 계층 구조 생성 방법.
The method according to claim 6,
The virtual tuple is a tuple hierarchy structure generating method characterized in that the tuple having a superior attribute value than the selected tuple by selecting a tuple having the most excellent attribute value among the generated tuples.
속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고 종속하는 튜플 간에 관계가 설정된 특정 튜플 집합에 대하여 사용자 선호도에 따른 순위화 질의를 처리하는 방법으로,
상기 그룹 중 최상위 그룹에 접근하여, 상기 그룹의 튜플들을 우선순위 큐에 넣는 제1 단계;
상기 우선순위 큐에서 사용자 선호도가 가장 큰 튜플을 선택하여 결과 배열에 추가하고 상기 우선순위 큐에서 제거하는 제2 단계; 및
상기 특정 튜플 집합내의 튜플 중 상기 제2 단계에서 선택된 튜플이 종속하는 튜플들에 접근하여, 상기 접근한 튜플들을 상기 우선순위 큐에 넣는 제3 단계를 포함하고,
상기 제2 단계 및 상기 제3 단계를 반복 수행하되, 상기 제2 단계를 수행 후 상기 결과 배열에 있는 튜플의 수가 미리 정해진 수에 도달할 때까지 반복하는 것을 특징으로 하는 순위화 질의 처리 방법.
A method of processing a ranking query according to user preference for a specific tuple set classified into at least one group according to the distribution of attribute values and having a relationship between dependent tuples.
Accessing a topmost group of the groups and putting tuples of the group into a priority queue;
Selecting a tuple having the largest user preference from the priority queue, adding it to a result array, and removing it from the priority queue; And
A third step of accessing tuples to which the tuple selected in the second step among the tuples in the specific tuple set depends, and putting the accessed tuples into the priority queue,
And repeating the second and third steps, after the second step, until the number of tuples in the result array reaches a predetermined number.
제 9항에 있어서,
상기 특정 튜플 집합에 포함되는 튜플은 적어도 하나의 그룹으로 분류되어 성긴 계층을 형성하고, 상기 성긴 계층 내의 각 그룹에 포함되는 튜플은 적어도 하나의 서브그룹으로 분류되어 미세한 계층을 형성하고,
상기 제1 단계는, 상기 성긴 계층의 그룹 중 가장 먼저 형성된 최상위 그룹 내에서 최상위 서브그룹에 접근하여, 상기 최상위 서브그룹의 튜플들을 우선순위 큐에 넣는 것을 특징으로 하는 순위화 질의 처리 방법.
The method of claim 9,
Tuples included in the specific tuple set are classified into at least one group to form a coarse layer, and tuples included in each group in the coarse layer are classified into at least one subgroup to form a fine layer,
And the first step includes accessing the highest subgroup within the first highest formed group among the coarse hierarchical groups and putting tuples of the highest subgroup into a priority queue.
제 10항에 있어서,
상기 성긴 계층의 그룹들은 스카이라인으로 구해진 그룹이고, 상기 미세한 계층의 서브그룹들은 볼록한 스카이라인으로 구해진 그룹인 것을 특징으로 하는 순위화 질의 처리 방법.
The method of claim 10,
Wherein the coarse hierarchical groups are groups obtained by skylines, and the sub-groups of fine hierarchies are groups obtained by convex skylines.
제 9항 또는 제 10항에 있어서,
상기 제3 단계는
상기 특정 튜플 집합 내의 튜플 중 상기 제2 단계에서 선택된 튜플이 전체 종속하는 튜플들에 접근하여, 상기 접근한 튜플들 중 전체 종속 해방된 튜플들을 상기 우선순위 큐에 넣는 것을 특징으로 하는 순위화 질의 처리 방법.
11. The method according to claim 9 or 10,
In the third step,
Ranked query processing, characterized in that the tuple selected in the second step among the tuples in the specific tuple set accesses all dependent tuples, and puts all dependent freed tuples of the accessed tuples into the priority queue. Way.
제 9항 또는 제 10항에 있어서,
상기 제3 단계는
상기 특정 튜플 집합 내의 튜플 중 상기 제2 단계에서 선택된 튜플이 부분 종속하는 튜플들에 접근하여, 상기 접근한 튜플들 중 부분 종속 해방된 튜플들을 상기 우선순위 큐에 넣는 것을 특징으로 하는 순위화 질의 처리 방법.
11. The method according to claim 9 or 10,
In the third step,
Ranked query processing, characterized in that the tuple selected in the second step of the tuple in the particular tuple set accesses tuples that are partially dependent, and puts partially dependent liberated tuples of the accessed tuples into the priority queue. Way.
제 10항에 있어서,
상기 특정 튜플 집합은 상기 미세한 계층의 최상위 계층의 볼록 스카이라인을 군집화하여, 상기 각 군집에 대하여 생성된 가장 우수한 속성값을 갖는 가상의 튜플을 포함하고, 상기 각 가상의 튜플은 상기 최상위 볼록 스카이라인의 튜플에 종속하는 종속관계가 설정된 것을 특징으로 하는 순위화 질의 처리 방법.
The method of claim 10,
The specific tuple set clusters the convex skylines of the uppermost layer of the fine layer, and includes a virtual tuple having the best attribute value generated for each cluster, wherein each virtual tuple is the highest convex skyline. A ranking query processing method characterized in that a dependency is set which is dependent on a tuple of.
속성값의 분포에 따라 적어도 하나의 그룹으로 분류되고 종속하는 튜플 간에 관계가 설정된 특정 튜플 집합을 군집화하는 방법으로,
상기 그룹 중 가장 먼저 형성된 최상위 그룹을 도출하고, 상기 최상위 그룹을 군집화하여 적어도 하나의 군집을 생성하는 제1 단계;
상기 생성된 각 군집에 대하여 가장 우수한 속성값을 갖는 가상의 튜플을 생성하는 제2 단계; 및
상기 제2 단계에서 생성된 각 가상의 튜플에 대하여 종속하는 상기 최상위 그룹의 튜플을 도출하여 관계를 설정하는 제3 단계를 포함하는 튜플 군집화 방법.
A method of clustering a specific set of tuples classified into at least one group according to the distribution of attribute values and having a relationship between dependent tuples.
Deriving a first-most formed group among the groups, and clustering the top-most group to generate at least one cluster;
Generating a virtual tuple having the best attribute value for each of the generated clusters; And
And a third step of establishing a relationship by deriving tuples of the uppermost group that are dependent on each virtual tuple generated in the second step.
제 15항에 있어서,
상기 특정 튜플 집합은 적어도 하나의 스카이라인으로 구성된 성긴 계층을 형성하고 상기 성긴 계층 내의 각 스카이라인에 대하여 구해진 적어도 하나의 볼록한 스카이라인으로 구성된 미세한 계층을 형성하고,
상기 제 1단계에서 도출하는 최상위 그룹은 최상위 볼록한 스카이라인인 것을 특징으로 하는 튜플 군집화 방법.
16. The method of claim 15,
The specific set of tuples forms a sparse hierarchy of at least one skyline and forms a fine hierarchy of at least one convex skyline obtained for each skyline in the sparse hierarchy,
Tuple clustering method, characterized in that the highest group derived in the first step is the highest convex skyline.
제 15항 또는 제 16항에 있어서,
상기 제1 단계에서 수행하는 최상위 그룹의 군집화는 K-평균(K-Means) 군집 방법을 이용하는 것을 특징으로 하는 튜플 군집화 방법.
17. The method according to claim 15 or 16,
Tuple clustering method characterized in that the clustering of the highest group performed in the first step using the K-Means clustering method.
제 15항에 있어서,
상기 가상의 튜플은 상기 생성된 각 군집에 포함된 튜프들 중 가장 우수한 속성값을 갖는 튜플을 선택하여 상기 선택된 튜플보다 더 우수한 속성값이 부여된 튜플인 것을 특징으로 하는 튜플 군집화 방법.
16. The method of claim 15,
The virtual tuple is a tuple clustering method, characterized in that the tuple having a superior attribute value than the selected tuple by selecting a tuple having the most excellent attribute value among the generated tuples.
KR1020110119247A 2011-11-16 2011-11-16 Methods for indexing for top-k queries KR101271277B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110119247A KR101271277B1 (en) 2011-11-16 2011-11-16 Methods for indexing for top-k queries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110119247A KR101271277B1 (en) 2011-11-16 2011-11-16 Methods for indexing for top-k queries

Publications (2)

Publication Number Publication Date
KR20130053686A KR20130053686A (en) 2013-05-24
KR101271277B1 true KR101271277B1 (en) 2013-06-07

Family

ID=48662845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110119247A KR101271277B1 (en) 2011-11-16 2011-11-16 Methods for indexing for top-k queries

Country Status (1)

Country Link
KR (1) KR101271277B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102473155B1 (en) * 2016-01-18 2022-11-30 주식회사 케이티 Method for providing interactive information service and apparatus therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092479A (en) * 2008-02-27 2009-09-01 포항공과대학교 산학협력단 Method of searching prioritized K skylines for user using user's preference information, computer readable medium thereof
KR20100081870A (en) * 2009-01-07 2010-07-15 포항공과대학교 산학협력단 Method of processing top-k skyline queries having with higher probabilities in uncertain database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092479A (en) * 2008-02-27 2009-09-01 포항공과대학교 산학협력단 Method of searching prioritized K skylines for user using user's preference information, computer readable medium thereof
KR20100081870A (en) * 2009-01-07 2010-07-15 포항공과대학교 산학협력단 Method of processing top-k skyline queries having with higher probabilities in uncertain database

Also Published As

Publication number Publication date
KR20130053686A (en) 2013-05-24

Similar Documents

Publication Publication Date Title
Atallah et al. Computing all skyline probabilities for uncertain data
EP1459206B1 (en) Method and system for similarity search and clustering
Lu et al. Flexible and efficient resolution of skyline query size constraints
JP2002519748A (en) Image retrieval system
US11003649B2 (en) Index establishment method and device
Song et al. Solutions for processing k nearest neighbor joins for massive data on mapreduce
CN108052514A (en) A kind of blending space Indexing Mechanism for handling geographical text Skyline inquiries
CN106095951B (en) Data space multi-dimensional indexing method based on load balancing and inquiry log
CN104008097B (en) Realize the method and device that inquiry understands
Vu et al. R*-grove: Balanced spatial partitioning for large-scale datasets
KR101271277B1 (en) Methods for indexing for top-k queries
CN107276833A (en) A kind of node information management method and device
Papaemmanouil et al. Interactive Data Exploration via Machine Learning Models.
JP2011170461A (en) Information accumulation retrieval method and information accumulation retrieval program
Jakawat et al. OLAP Cube-based Graph Approach for Bibliographic Data.
Siddique et al. Algorithm for computing convex skyline objectsets on numerical databases
Zheng et al. User preference-based data partitioning top-k skyline query processing algorithm
CN108090182B (en) A kind of distributed index method and system of extensive high dimensional data
Manishankar et al. Enhanced Big Data Platform for Visualization of Employee Data.
Dzolkhifli et al. A skyline query processing approach over interval uncertain data stream with K-means clustering technique
Han et al. Ranking the big sky: efficient top-k skyline computation on massive data
Gong et al. Accelerating large-scale prioritized graph computations by hotness balanced partition
CN111581420A (en) Medical image real-time retrieval method based on Flink
Wu et al. Density-based top-k spatial textual clusters retrieval
Bodra Processing queries over partitioned graph databases: An approach and it’s evaluation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee