KR101553397B1 - Apparatus and method for matching large-scale biomedical ontology - Google Patents
Apparatus and method for matching large-scale biomedical ontology Download PDFInfo
- Publication number
- KR101553397B1 KR101553397B1 KR1020130145615A KR20130145615A KR101553397B1 KR 101553397 B1 KR101553397 B1 KR 101553397B1 KR 1020130145615 A KR1020130145615 A KR 1020130145615A KR 20130145615 A KR20130145615 A KR 20130145615A KR 101553397 B1 KR101553397 B1 KR 101553397B1
- Authority
- KR
- South Korea
- Prior art keywords
- matching
- ontology
- subset
- participating
- task
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명에 따른 라지 스케일 온톨로지 매칭 장치는 수신된 후보 온톨로지를 하나 이상의 온톨로지 서브셋으로 분류하여 온톨로지 서브셋을 생성하는 전처리부, 생성된 온톨로지 서브셋을 분산 알고리즘을 적용하여 분할하고, 분할된 온톨로지 서브셋에 매칭 알고리즘을 적용하여 매칭 스레드를 생성하며, 생성된 매칭 스레드를 참여 노드의 개별 코어에 전달하는 분산 처리부 및 개별 코어에서 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 집산부를 포함한다. A large scale ontology matching apparatus according to the present invention includes a preprocessing unit for generating a subset of an ontology by classifying received candidate ontologies into at least one ontology subset, a subset of the generated ontology subset using a distribution algorithm, And transmits the generated matching threads to the individual cores of the participating nodes, and a matching processing unit for collecting and summing the matching results generated by performing matching operations based on the matching threads in the individual cores, And a collecting section for generating the collecting section.
Description
본 발명은 라지 스케일 생물의학 분야의 온톨로지 매칭에 관한 기술로서, 보다 상세하게는 온톨로지 매칭의 병렬 처리 및 분산 처리에 관한 기술이다.The present invention relates to ontology matching in a large scale biomedical field, and more particularly to parallel processing and distributed processing of ontology matching.
최근 들어, 생물의학(Biomedical) 분야의 정보 처리 및 정보 관리에 있어서 시맨틱 웹(Semantic Web) 기술이 적용되면서, 생물의학 시스템에서 많은 이익을 가져오고 있다. 특히, 생물의학 시스템에서 온톨로지(Ontology) 기술은 생물의학 정보의 표준화(Standardization), 지식 공유(Knowledge Sharing) 및 재사용능력(Reusability) 활용을 위해 많이 이용된다. 결과적으로, 유전자 온톨로지(Gene Ontology, GO), 국립 암 연구소 유의어사전(National Cancer Institute Thesaurus, NCI), 해부학 토대 모델(Foundation Model of Anatomy, FMA) 및 SNOMED CT(Systemized Nomenclature of Medicine Clinical Terms)와 같은 형태로 생물의학 분야에 온톨로지는 적용되고 있다. 이와 같이, 생물의학 분야에 보다 효과적으로 온톨로지를 적용하기 위해 여러 연구가 진행되고 있으며, 이미 개발된 위와 같은 온톨로지에 지속성을 제공하기 위한 연구 또한 진행되고 있다.Recently, Semantic Web technology has been applied to information processing and information management in the biomedical field, which has brought a lot of benefits to the biomedical system. In particular, ontology technology in biomedical systems is widely used for standardization of biomedical information, knowledge sharing, and reusability. As a result, it is possible to use the Gene Ontology (GO), the National Cancer Institute Thesaurus (NCI), the Foundation Model of Anatomy (FMA), and the Systemic Nomenclature of Medicine Clinical Terms Ontology is applied to biomedical field in the form. In this way, various studies are being conducted to apply ontology more effectively to the biomedical field, and researches are being conducted to provide continuity to the already developed ontology.
생물의학 분야의 온톨로지는 거대한 규모(Large Scale)을 가지기 때문에 매우 복잡하며, 이는 통합(Integration) 및 정보처리 상호 운용(Interoperability)에 장애 요인으로 작용한다. OBO(Open Biomedical Ontologies) 컨소시엄은 온톨로지 진화를 위한 도입 전략(Introducing Strategy)을 통해 이러한 장애 요인을 해결하는데 노력하고 있다. 이러한 생물의학 온톨로지는 오버래핑(Overlapping) 정보를 포함한다. 오버래핑 정보는 생물의학 시스템의 통합 및 정보 처리 상호 운용을 위해 필요한 정보이다. 온톨로지에 있어서, 서로 다른 후보 온톨로지(Candidate Ontology) 사이의 관련성은 매핑(Mapping) 또는 얼라인먼트(Alignment)라고 불리운다. 후보 온톨로지는 서로 관의 관계를 정립하는 매핑 과정을 위한 온톨로지이며, 서로 다른 온톨로자 사이의 관계를 정립하는 매핑 발견의 과정은 온톨로지 매칭(Ontology Matching)이라는 용어로 명명된다.Ontology in the biomedical field is very complex because it has a large scale, which is an obstacle to integration and interoperability. OBO (Open Biomedical Ontologies) consortium is trying to solve these obstacles through the Introducing Strategy for ontology evolution. These biomedical ontologies include overlapping information. The overlapping information is the information necessary for the integration of biomedical systems and the interoperability of information processing. In ontology, the relationship between different candidate ontologies is called mapping or alignment. The candidate ontology is an ontology for the mapping process that establishes the relationship between the pipes. The process of mapping discovery, which establishes the relationship between the different ontologists, is called ontology matching.
거대한 규모의 생물의학 온톨로지 상에서 온톨로지 매핑을 발견하기 위한 온톨로지 매칭 과정은 2차의 연산 복잡도와 함께 연산 과도한 연산 작업을 필요로 한다. 2010년 Data Integration in the Life Sciences에 개재된 "On Matching Large Life Science Ontologies in Parallel"을 살펴보면, 온톨로지 매칭은 두 후보 온톨로지의 카테시안 곱(Cartesian Product)으로 계산된다. 이 작업은 리소스 기반의 매칭 알고리즘을 요구한다. 이러한 매핑 과정에서 2차의 연산 복잡도에 의한 과도한 연산 작업은 지연(Delay)를 발생시킬 수 있으며, 이러한 매핑 결과의 지연은 생물의학 시스템을 위한 온톨로지 매핑을 처리 요구 시간 이내에 처리하는 것을 효과적이지 못하게 한다.The ontology matching process for finding the ontology mapping on a large scale biomedical ontology requires computational complexity and computational overhead. Ontology matching is computed as a Cartesian product of two candidate ontologies, as shown in "On Matching Large Life Science Ontologies in Parallel" in 2010 Data Integration in the Life Sciences. This task requires a resource-based matching algorithm. In this mapping process, an excessive computation operation due to the second-order computational complexity may cause a delay, and the delay of the mapping result ineffectively processing the ontology mapping for the biomedical system within the processing request time .
본 발명이 해결하고자 하는 과제는 라지 스케일 생물의학 분야의 온톨로지에 있어서, 온톨로지 매핑을 위한 온톨로지 매칭 과정에서 다중 코어 상에서 성능 향상을 위한 병렬 매칭을 수행하는 온톨로지 매칭 장치 및 방법을 제공하는 것이다.An object of the present invention is to provide an ontology matching apparatus and method for performing parallel matching for improving performance on multiple cores in an ontology matching process for ontology mapping in an ontology in a large scale biomedical field.
본 발명에 따른 라지 스케일 온톨로지 매칭 장치는 수신된 후보 온톨로지를 하나 이상의 온톨로지 서브셋으로 분류하여 온톨로지 서브셋을 생성하는 전처리부, 생성된 온톨로지 서브셋을 분산 알고리즘을 적용하여 분할하고, 분할된 온톨로지 서브셋에 매칭 알고리즘을 적용하여 매칭 스레드를 생성하며, 생성된 매칭 스레드를 참여 노드의 개별 코어에 전달하는 분산 처리부 및 개별 코어에서 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 집산부를 포함한다. 그리고, 직렬화된 온톨로지 서브셋을 저장하며, 수신된 후보 온톨로지와 동일한 후보 온톨로지가 수신되면, 기 저장된 직렬화된 온톨로지 서브셋을 전처리부로 제공하는 온톨로지 저장부를 더 포함할 수 있다.A large scale ontology matching apparatus according to the present invention includes a preprocessing unit for generating a subset of an ontology by classifying received candidate ontologies into at least one ontology subset, a subset of the generated ontology subset using a distribution algorithm, And transmits the generated matching threads to the individual cores of the participating nodes, and a matching processing unit for collecting and summing the matching results generated by performing matching operations based on the matching threads in the individual cores, And a collecting section for generating the collecting section. The ontology storage unit may further include an ontology storage unit that stores the serialized ontology subset and provides the pre-stored serialized ontology subset to the preprocessor when the same candidate ontology as the received candidate ontology is received.
전처리부는 생성된 온톨로지 서브셋을 바이너리(Binary) 형태로 직렬화(Serialization)하여 직렬화된 온톨로지 서브셋을 생성할 수 있으며, 온톨로지 저장부로부터 수신된 직렬화된 온톨로지 서브셋을 역직렬화(De-serealization)를 통해 재구성하여 온톨로지 서브셋을 생성할 수 있다. 분산 처리부에서 생성되는 매칭 스레드는 하나 이상의 매칭 요청(Matching Request), 하나 이상의 매칭 작업(Matching Job) 및 하나 이상의 매칭 태스크(Matching Task)를 포함할 수 있다. 매칭 요청은 참여 노드 각각에 일대일로 대응하며, 매칭 작업은 매칭 요청에 일대일로 대응하는 참여 노드에 구비된 개별 코어에 일대일로 대응한다. 하나 이상의 매칭 요청의 최대 개수는 참여 노드의 수를 넘지 않으며, 하나 이상의 매칭 작업의 최대 개수는 참여 노드 전체에 구비된 개별 코어의 수를 넘지 않는다. 그리고, 매칭 작업은 다른 매칭 작업 및 다른 참여 노드에서 동작하는 매칭 요구에 독립적으로 동작한다.The preprocessor can generate a serialized ontology subset by serializing the created ontology subset to a binary form and reconstruct the serialized ontology subset received from the ontology storage through de-serialization You can create an ontology subset. The matching thread generated in the distributed processing unit may include one or more matching requests, one or more matching jobs, and one or more matching tasks. The matching request corresponds to each of the participating nodes on a one-to-one basis, and the matching operation corresponds one-to-one to the individual cores provided in the corresponding participating node on a one-to-one basis in the matching request. The maximum number of one or more matching requests does not exceed the number of participating nodes and the maximum number of one or more matching operations does not exceed the number of individual cores provided throughout the participating nodes. The matching operation then operates independently of other matching operations and matching requests that operate on other participating nodes.
분산 처리부는 후보 온톨로지가 수신되면, 참여 노드의 개수 및 참여 노드에 구비된 개별 코어의 개수를 확인하고, 참여 노드 및 개별 코어의 개수를 분산 알고리즘에 적용하여 분산 개수를 설정하며, 설정된 분산 개수를 고려하여 온톨로지 서브셋을 분할하고 매칭 알고리즘을 적용하여 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 생성한다. When the candidate ontology is received, the distributed processing unit confirms the number of participating nodes and the number of individual cores included in the participating node, sets the number of distributed nodes by applying the number of participating nodes and individual cores to the distributed algorithm, , And generates a matching thread including a matching request, a matching operation, and a matching task by dividing an ontology subset and applying a matching algorithm.
본 발명에 따른 라지 스케일 온톨로지 매칭 방법은 먼저, 수신된 후보 온톨로지를 하나 이상의 온톨로지 서브셋으로 분류한다. 그리고, 생성된 온톨로지 서브셋을 분산 알고리즘을 적용하여 분할하고, 분할된 온톨로지 서브셋에 매칭 알고리즘을 적용하여 매칭 스레드를 생성한다. 매칭 스레드가 생성되며느 생성된 매칭 스레드를 참여 노드의 개별 코어에 전달한다. 다음으로, 개별 코어에서 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성한다. In the large-scale ontology matching method according to the present invention, the received candidate ontology is classified into one or more ontology subsets. Then, the generated ontology subset is divided by applying a distributed algorithm, and a matching algorithm is applied to the divided ontology subset to generate a matching thread. The matching thread is created and the generated matching thread is delivered to the individual cores of the participating nodes. Next, an ontology mapping is generated by collecting and summing the matching results generated by performing matching operations based on the matching threads in the individual cores.
본 발명에 따른 라지 스케일 온톨로지 매칭 방법은 참여 노드의 개수 및 참여 노드에 구비된 개별 코어의 개수를 확인하고, 참여 노드 및 개별 코어의 개수를 분산 알고리즘에 적용하여 분산 개수를 설정한다. 그리고, 설정된 분산 개수를 고려하여 온톨로지 서브셋을 분할하고 매칭 알고리즘을 적용하여 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 생성한다.The large scale ontology matching method according to the present invention confirms the number of participating nodes and the number of individual cores included in participating nodes and sets the number of dispersions by applying the number of participating nodes and individual cores to the decentralization algorithm. Then, the ontology subset is divided in consideration of the set number of distributions, and a matching algorithm is applied to generate a matching thread including a matching request, a matching operation, and a matching task.
본 발명에 따른 라지 스케일 온톨로지 매칭 장치 및 매칭 방법을 통해 온톨로지 매칭 연산을 참여 노드의 개별 코어에 분산시켜 병렬 처리하여 매칭 연산에 필요한 연산 자원 및 연산 시간을 효과적으로 줄일 수 있다.The large scale ontology matching apparatus and the matching method according to the present invention can distribute the ontology matching operation to the individual cores of the participant nodes and perform parallel processing to effectively reduce the operation resources and computation time required for the matching operation.
도 1은 본 발명에 따른 생물의학 온톨로지의 일 실시예를 나타내는 구성도이다.
도 2는 본 발명에 따른 라지 스케일 온톨로지 매칭 장치의 일 실시예를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 전처리부를 나타내는 상세도이다.
도 4는 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 분산 처리부를 나타내는 상세도이다.
도 5는 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치에서 개별 코어로 전달되는 매칭 스레드의 일 실시예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 데이터 흐름을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법을 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법의 전처리 생략 방법을 나타내는 흐름도이다.1 is a block diagram showing an embodiment of a biomedical ontology according to the present invention.
FIG. 2 is a block diagram showing an embodiment of a large scale ontology matching apparatus according to the present invention.
3 is a detailed view showing a preprocessing unit of a large scale ontology matching apparatus according to an embodiment of the present invention.
4 is a detailed view showing a distributed processing unit of a large scale ontology matching apparatus according to an embodiment of the present invention.
5 is a diagram illustrating an embodiment of a matching thread that is transmitted to an individual core in a large scale ontology matching apparatus according to an embodiment of the present invention.
6 is a diagram illustrating a data flow of a large scale ontology matching apparatus according to an embodiment of the present invention.
7 is a flowchart illustrating a method of matching a large scale ontology according to an embodiment of the present invention.
8 is a flowchart illustrating a method of omitting a pre-processing of a large-scale ontology matching method according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The terms and words used in the present specification are selected in consideration of the functions in the embodiments, and the meaning of the terms may vary depending on the intention or custom of the invention. Therefore, the terms used in the following embodiments are defined according to their definitions when they are specifically defined in this specification, and unless otherwise specified, they should be construed in a sense generally recognized by those skilled in the art.
도 1은 본 발명에 따른 생물의학 온톨로지의 일 실시예를 나타내는 구성도이다.1 is a block diagram showing an embodiment of a biomedical ontology according to the present invention.
도 1을 참조하면, 본 발명에서 생물의학 온톨로지는 상호간의 관계가 정립된 하나 이상의 구성요소(10)로 형성된다. 하나 이상의 구성요소(10)는 온톨로지 매칭 과정을 통해 개별 구성요소(10)와 대응하는 구성요소(10)의 관계를 정립하게 되고, 이와 같은 개별 구성요소(10) 사이의 매칭 결과가 모여 온톨로지 매핑을 형성한다. 라지 스케일 온톨로지 매칭 장치는 대규모(large scale) 온톨로지(Ontology) 매칭(Matching) 과정에서 연산을 효율적으로 수행하기 위해 참여한 노드(Node)의 하드웨어를 활용한다. 분산된 환경에 참여한 노드는 가능한 분산 환경에 의존하는 하나 이상의 노드를 포함할 수 있다. 그리고 참여한 노드는 단일 코어(Single-core) 또는 멀티코어(Multi-core) 하드웨어를 모두 포함할 수 있다. 라지 스케일 온톨로지 매칭 장치는 하나 이상의 노드를 포함하는 분산 환경에서 각각의 노드가 보유한 싱글코어 프로세서 또는 멀티코어 프로세서에 온톨로지 서브셋(Ontology Subset)을 할당하고 데이터 병렬화 기술을 통해 처리한다.Referring to FIG. 1, in the present invention, a biomedical ontology is formed of one or more
생물의학 온톨로지는 일반적인 온톨로지와 동일하게 시매틱-웹 온톨로지(Semantic-web Ontology) 그룹에 속한다. 하지만, 생물의학 온톨로지와 일반적인 온톨로지는 규모(size)와 진화(Evolution)에 있어서 차이가 존재한다. 일반 온톨로지는 생물의학 온톨로지에 비해 규모가 더 작으며, 진화 또한 더 느리다. 반면에, 생물의학 온톨로지는 생물의학 도메인 및 생물의학 데이터에서의 빠른 진화 때문에 더욱 빠르게 진화하고 이에 따라 규모 또한 더욱 크다.The biomedical ontology belongs to the semantic-web ontology group as the general ontology. However, biomedical ontologies and generic ontologies differ in size and evolution. Generic ontologies are smaller in size than biomedical ontologies, and evolution is also slower. On the other hand, biomedical ontologies evolve more rapidly because of the rapid evolution in biomedical domains and biomedical data, and are therefore much larger.
분산 환경에서 온톨로지 매칭은 소스 온톨로지(Source Ontology)와 타겟 온톨로지(Target Ontology) 사이의 개념에 기초하여 대응(Matching) 관계를 설정하거나 연결하는 과정으로, 이러한 과정을 통해 온톨로지의 분류 체계를 확장해 줄 수 있다. 소스 온톨로지는 새로운 관계를 정립하기 위한 온톨로지이고, 타겟 온톨로지는 온톨로지 매칭 과정을 통해 소스 온톨로지와 매칭되는 대상이 되는 온톨로지이다. In the distributed environment, ontology matching is a process of establishing or linking a matching relationship based on the concept between a source ontology and a target ontology. This process extends the ontology classification system . The source ontology is an ontology for establishing a new relationship, and the target ontology is an ontology that is an object to be matched with the source ontology through an ontology matching process.
소스 온톨로지 및 타겟 온톨로지 사이의 매칭 작업의 총 개수는 수학식 1과 같이 가용한 연산 리소스(코어) 사이에 균등하게 분산된다. The total number of matching operations between the source ontology and the target ontology is evenly distributed among available computational resources (cores) as shown in Equation (1).
수학식 1에서 MTtotal은 전채 매칭 태스크를 나타내고, Os는 소스 온톨로지를 나타내며, Ot는 타겟 온톨로지를 나타내고, MTcore는 개별 코어의 매칭 태스크를 나타내며, m은 소스 온톨로지의 컨셉(Concept)이고, n은 타겟 온톨로지의 컨셉이다. 대규모 생물의학 온톨로지 매칭을 위한 요구는 생물의학 분야의 전문가, 연구원, 생물의학/생물정보학 시스템 및 심지어 클라우드 플랫폼 상에서 실행되는 서드파티(Third Party) 헬스케어 정보 서비스(Healthcare Information Service)를 포함하는 몇몇의 소스로부터 생성될 수 있다.MT represents a matching task of an individual, Os represents a source ontology, Ot represents a target ontology, MTcore represents a matching task of an individual core, m is a concept of a source ontology, n is a target It is the concept of ontology. The need for large-scale biomedical ontology matching is being addressed by several experts in biomedicine, including researchers, biomedical / bioinformatics systems, and even third-party healthcare information services running on cloud platforms. Lt; / RTI > source.
도 2는 본 발명에 따른 라지 스케일 온톨로지 매칭 장치의 일 실시예를 나타내는 구성도이다.FIG. 2 is a block diagram showing an embodiment of a large scale ontology matching apparatus according to the present invention.
도 2를 참조하면, 본 발명에 따른 라지 스케일 온톨로지 매칭 장치(100)는 전처리부(110), 온톨로지 저장부(120), 분산 처리부(130) 및 집산부(140)를 포함한다.2, an
전처리부(110)는 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 입력받는다. 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지는 서로 1:1로 매칭할 수 있으며, 하나의 소스 온톨로지가 둘 이상의 타겟 온톨로지에 매칭하거나, 둘 이상의 소스 온톨로지가 하나의 타겟 온톨로지에 매칭할 수 있다. The
전처리부(110)는 수신된 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 하나 이상의 서브셋(Subset)으로 분류한다. 온톨로지는 일반적으로 5개의 서브셋으로 구성될 수 있다. 온톨로지를 구성하는 서브셋은 크게 이름(Name), 레이블(Lable), 관계(Relationship), 공리(Axiom) 및 특성(Property)으로 구분될 수 있다. 하지만, 온톨로지를 상술한 다섯 가지의 서브셋으로만 구분할 수 있는 것은 아니며, 전처리부(110)는 수신된 후보 온토로지의 종류나 특성에 따라 숫자에 관계없이 하나 이상의 서브셋으로 분류할 수 있다. 그리고, 전처리부(110)는 분류된 온톨로지 서브셋을 온톨로지 저장부(120) 및 분산 처리부(130)로 전달한다. 전처리부(110)는 분류된 온톨로지 서브셋을 분산 처리부(130)로 직접 전달할 수 있으며, 또한, 전처리부(110)는 온톨로지 저장부(120)에 저장되어 있던 온톨로지 서브셋을 수신하여 분산 처리부(130)로 전달할 수 있다. 특히, 전처리부(110)는 이전에 분류하여 온톨로지 저장부(120)에 저장한 온톨로지 서브셋과 동일한 후보 온톨로지가 수신되는 경우, 서브셋으로 분류하는 전처리 과정을 반복하지 않고, 온톨로지 저장부(120)에 직렬화되어 저장된 온톨로지 서브셋을 전처리 과정 없이 분산 처리부(130)로 전달함으로써, 전처리 과정에서 소모되는 연산 리소스를 줄일 수 있다. 또한, 전처리부(110)는 온톨로지 서브셋을 직렬화(Serialization)하여 온톨로지 저장부(120)로 전달할 수 있으며, 온톨로지 저장부(120)로부터 수신된 직렬화된 온톨로지 서브셋을 다시 역직렬화(De-derialization)하여 분산 처리부(130)로 전달할 수 있다.The
온톨로지 저장부(120)는 전처리부(110)로부터 수신된 온톨로지 서브셋을 직렬화(Serialization)하여 저장한다. 온톨로지 저장부(120)는 수신된 온톨로지 서브셋을 바이너리 형태로 직렬화하여 저장 공간을 효율적으로 사용할 수 있으며, 데이터 처리 효율을 높일 수 있다, 그리고, 전처리부(110)에서 이전에 온톨로지 저장부(120)는 바이너리 형식으로 직렬화하여 저장한 온톨로지 서브셋을 전처리부(110)의 요구에 따라 전달함으로써, 전처리부(110)에서 불필요한 전처리 과정의 반복(Re-processing)을 줄이거나 피할 수 있다.The
분산 처리부(130)는 전처리부(110)로부터 수신된 온톨로지 서브셋을 데이터 병렬화(Data Parallel)하기 위해 둘 이상의 매칭 스레드(Matching Thread)로 분할한다. 데이터 병렬화는 둘 이상의 분산 온톨로지로 분할된 후보 온톨로지의 조각 각각에 대해 매칭 작업을 수행하기 위해 각각의 프로세싱 코어(Processing Core)를 요구한다. 병렬 처리 프로세싱을 가능하게 하기 위해, 분산 처리부(130)는 온톨로지 서브셋을 분산 알고리즘을 고려하여 분할한다. 먼저, 분산 처리부(130)는 먼저 개별 참여 노드의 멀티 코어 프로세서(Multi-core Processor)의 코어의 개수를 파악한다. 그리고, 분산 처리부(130) 파악된 참여 노드 및 개별 참여 노드의 코어 수를 분산 알고리즘에 적용하여 수신된 온톨로지 서브셋을 소정의 분산 온톨로지로 분할한다. The distributed
그리고, 분산 처리부(130)는 분산 알고리즘에 기초하여 분할된 하나 이상의 온톨로지 서브셋에 매칭 라이브러리(Matching Library)를 적용하여 매칭 요구(Matching Request, 이하 MR이라 칭함), 매칭 작업(Matching Job, 이하 MJ라 칭함) 및 매칭 태스크(Matching Task, 이하 MT라 칭함)로 분할한다. 수학식 2는 분산 처리부(130)에 적용된 분산 알고리즘의 매칭 요구(Matching Request, 이하 MR이라 칭함), 매칭 작업(Matching Job, 이하 MJ라 칭함) 및 매칭 태스크(Matching Task, 이하 MT라 칭함)의 관계를 나타낸다. The distributed
수학식 2에서 MRi는 각 노드에 수신된 매칭 요구를 나타내고, i는 분산 환경에서 병렬 매칭을 위한 참여 노드의 수를 나타내고, MR은 매칭을 위해 라지 스케일 온톨로지 매칭 장치(100)에 의해 수신된 매칭 요구를 나타내며, MJj는 각 참여노드를 구성하는 개별 코어(20)에 할당된 매칭작업을 나타내고, j는 참여 노드에 구비된 개별 코어(20)의 수를 나타내며, MTk는 각 참여 노드의 하나의 개별 코어(20)에 할당되어 매칭 연산을 수행하는 매칭태스크를 나타내고, k는 하나의 개별 코어(20)에 할당된 매칭 작업에 포함된 매칭 태스크의 개수를 나타낸다. 그리고, m은 소스 온톨로지의 컨셉(Concept)이고, n은 타겟 온톨로지의 컨셉이다. 단일 매칭 태스크 MTk는 소스 온톨로지 및 타겟 온톨로지 각각의 컨셉의 카티전 곱(Cartesian Product)이다. In Equation (2), MR i denotes a matching request received at each node, i denotes the number of participating nodes for parallel matching in the distributed environment, MR denotes the number of participating nodes received by the large scale
매칭 요구는 분산 환경의 참여 노드(또는 참여 노드의 CPU) 각각에 대응하여 전달되는 매칭 스레드(Mathing Thread)이다. 분산 처리부(130)는 먼저 참여 노드(또는 참여 노드의 CPU)의 수를 고려하여 온톨로지 서브셋을 각각의 참여 노드(또는 참여 노드의 CPU)에 대응하는 하나 이상의 매칭 요구로 분할한다. 매칭 요구의 최대 개수는 참여 노드(또는 참여 노드의 CPU)의 개수가 될 수 있다. 즉, 매칭 요구는 온톨로지 병렬 처리를 위해 개별 노드에 할당되는 병렬 처리 작업이 될 수 있다. 그리고, 분산 처리부(130)는 분할된 매칭 요구를 다시 해당 매칭 요구가 할당되는 참여 노드의 코어의 수에 따라 매칭 작업으로 분할하여 해당 매칭 요구에 포함시킨다. 즉, 매칭 작업은 개별 코어(20)에 할당되는 병렬 처리 작업으로서, 해당 매칭 요구가 할당된 참여 노드의 코어의 수가 4개의 코어를 가진다면, 해당 매칭 요구는 4개의 매칭 작업을 포함할 수 있다. 다음으로, 분산 처리부(130)는 개별 코어에 할당되는 매칭 작업을 실제 매칭 프로세싱을 수행하는 단위인 매칭 태스크로 분할하여 매칭 작업에 포함시킨다.The matching request is a mathing thread that is transmitted in correspondence with each of the participating nodes (or the CPUs of the participating nodes) of the distributed environment. The distributed
매칭 요구, 매칭 작업 및 매칭 태스크는 전체 매칭 프로세스를 위한 세 개의 추상화 계층(Layer of Abstraction)이다. 병렬 처리 프로세싱을 위한 분산 알고리즘에서 서로 다른 레벨에서 분류를 제공해야 하기 때문에, 분산 처리부(130)의 분산 알고리즘은 실행중인 모든 작업의 트랙(Track)을 보존해야 한다.Matching requests, matching tasks, and matching tasks are three layers of abstraction for the entire matching process. The distribution algorithm of the distributed
매칭 태스크는 매칭 프로세스의 유닛으로 가장 작은 전체 매칭 프로세스로 분류될 수 있다. 예를 들어, 해당 참여 노드의 코어에 할당된 매칭 작업에서 소스 온톨로지가 {A,B,C,D}이고 타겟 온톨로지가 {a,b,c,d}라면, 소스 온톨로지와 타겟 온톨로지를 비교하여 매칭 프로세스를 수행할 때, A=a는 첫 번째 MT, B=b는 두 번째 MT, C=c는 세 번째 MT, D=d는 네 번째 MT일 수 있으며, A=d를 비교하여 매칭할 수 있다면, 이 또한 다른 하나의 MT가 될 수 있다. 즉, 매칭 태스크는 참여 노드의 개별 코어 내부에서 개별 매칭 프로세싱을 처리하는 가장 작은 단위로서, 코어 내부에서 온톨로지를 구성하는 개별 용어(Term)의 매칭 프로세싱을 처리한다.The matching task can be classified as the smallest overall matching process as a unit of the matching process. For example, if the source ontology is {A, B, C, D} and the target ontology is {a, b, c, d} in the matching task assigned to the core of the participating node, then compare the source ontology with the target ontology When performing the matching process, A = a is the first MT, B = b is the second MT, C = c is the third MT, D = d is the fourth MT, If possible, this could also be the other MT. In other words, the matching task is the smallest unit that processes the individual matching processing within the individual core of the participating node, and processes the matching processing of individual terms (Term) constituting the ontology within the core.
매칭 작업은 참여 노드의 개별 코어(20)에 할당되어 매칭 프로세스를 수행하는 단위로서, 하나 이상의 매칭 태스크의 모음이 될 수 있다. 그리고, 매칭 요구는 하나의 참여 노드(또는 참여 노드의 CPU)에서 실행되는 모든 매칭 작업의 모음이다. The matching operation may be a unit of one or more matching tasks assigned to the
예를 들어, 4개의 참여 노드가 매칭 프로세스에 존재하고, 4개의 참여 노드가 모두 4개의 코어를 가지며, 수신된 온톨로지 서브셋이 총 2000개의 매칭을 필요로 한다면, 분산 처리부(130)는 총 2000개의 매칭을 참여 노드의 수에 따라 4등분하여 총 4개의 매칭 요구로 분할한다. 분할된 4개의 매칭 요구 각각은 500개의 매칭을 포함한다. 그리고, 분산 처리부(130)는 4개의 매칭 요구 각각을 코어의 수를 고려하여 4개의 매칭 작업으로 분류한다. 그러면, 각각의 매칭 작업은 500개의 매칭을 4로 나눈 125개의 매칭을 포함한다. 결국, 하나의 매칭 작업은 125개의 매칭을 포함하며, 개별 매칭 작업에 포함된 매칭 태스크는 125개가 된다. 즉, 4개의 매칭 요청 각각은 4개의 매칭 작업을 포함하며, 4개의 매칭 작업 각각은 125개의 매칭 태스크를 포함하여 결국, 총 2000개의 매칭을 포함하는 하나 이상의 온톨로지 서브셋은 4개의 매칭 요청으로 분할되고, 각각의 매칭 요청은 4개의 매칭 작업을 포함하며, 각각의 매칭 작업은 125개의 매칭 태스크를 포함한다.For example, if four participating nodes are present in the matching process, all four participating nodes have four cores, and the received ontology subset requires a total of 2000 matches, then the distributed
매칭 요청, 매칭 작업 및 매칭 태스크의 개수는 참여 노드 및 개별 참여 노드의 수뿐만 아니라, 가장 최적화된 병렬 처리를 수행할 수 있는 시나리오를 고려하여 설정될 수 있다. 그리고, 각각의 매칭 작업은 스스로 다른 매칭 작업 및 원격에서 동작하는 다른 매칭 요구에 독립적이다. 또한, 매칭 요구를 매칭 작업으로 세분화하는 과정에서 하나 이상의 매칭 작업에 포함된 매칭 태스크의 수를 하나 이상의 매칭 작업 간에 동일하게 유지한다면, 대부분의 개별 코어가 유사한 시간에 매칭 연산을 종료하여 매칭 결과를 생성할 수 있어 가용한 매칭 코어가 유휴상태(Idel)을 유지하는 것을 막을 수 있다. 매칭 요청, 매칭 작업 및 매칭 태스크는 후술하는 도 5에서 다시 설명하도록 한다. The number of matching requests, matching tasks, and matching tasks can be set considering not only the number of participating nodes and individual participating nodes, but also scenarios that can perform the most optimized parallel processing. And each matching operation is independent of other matching operations and other matching requirements that operate remotely. Also, if the number of matching tasks included in one or more matching jobs is kept the same among one or more matching jobs in the process of subdividing the matching requests into matching jobs, most of the individual cores finish the matching operation at a similar time, Lt; RTI ID = 0.0 > (Idel). ≪ / RTI > The matching request, the matching operation and the matching task will be described again in FIG. 5 to be described later.
분산 처리부(130)는 상술한 과정을 통해 하나 이상의 온톨로지 서브셋을 소정의 개수를 가지는 매칭 요청을 참여 노드로 전달한다. 하나의 매칭 요청은 대응하는 하나의 참여 노드로 전달된다. 하나의 참여 노드로 전달된 하나의 매칭 요청은 해당 참여 노드에 포함된 하나 이상의 코어 각각에 대응하는 매칭 작업을 포함한다. 하나의 매칭 요청에 포함된 하나 이상의 매칭 작업은 대응하는 코어에 일 대 일로 할당되다. 그리고, 하나의 코어에 할당된 하나의 매칭 작업은 포함된 매칭 태스크를 통해 해당 코어에서 매칭 프로세싱을 수행한다. 이를 통해, 본 발명에 따른 라지 스케일 온톨로지 매칭 장치(100)는 참여 노드의 코어 각각에서 매칭 프로세싱을 병렬처리할 수 있다. The distributed
집산부(140)는 분산 처리부(130)로부터 매칭 스레드를 전달받은 참여 노드의 개별 코어(20)로부터 매칭 스레드를 통해 매칭 연산을 수행한 매칭 결과를 수신한다. 분산 처리부(130)는 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 참여 노드의 각 코어에 전달한다. 분산 처리부(130)로부터 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 전달받은 참여 노드의 개별 코어(20)는 수신된 매칭 스레드에 기초하여 매칭 연산을 수행한다. 매칭 스레드에 포함된 매칭 요청을 수신한 참여 노드는 매칭 요청에 포함된 매칭 작업에 따라 구비된 개별 코어(20)에 매칭 작업을 할당하고, 개별 코어(20)는 할당된 매칭 작업에 포함된 매칭 태스크를 수행함으로써, 수신된 후보 온톨로지의 매칭 프로세싱을 병렬로 처리하게 된다. 집산부(140)는 개별 코어에서 수행된 온톨로지 매칭 연산에 의해 생성된 매칭 결과(연산 결과)를 수집한다.The collecting
집산부(140)는 개별 코어(20)에서 생성된 매칭 결과를 개별 코어(20)로부터 직접 수신할 수 있으며, 또는, 개별 코어(20)에서 생성된 매칭 결과를 개별 코어(20)가 포함된 참여 노드로부터 한번에 수신할 수 있다.The
집산부(140)는 개별 코어(20)로부터 수신된 매칭 결과를 합산하여 온톨로지 매핑을 생성한다. 온톨로지 매핑은 둘 이상의 후보 온톨로지의 구성요소 사이의 개별 매칭 결과의 집합이다. 그리고, 집산부(140)는 개별 코어(20)에서 매칭 작업의 연산에 의해 연산된 매칭 결과를 축적하고, 축적된 매칭 결과에 브릿지 패턴(Bridge Pattern)을 적용하여 온톨로지 매핑의 형식적 표현(Formal Representation)을 생성한다. 브릿지 패턴은 매핑 파일의 유형으로서, 개별 사용자에 따라 매핑 파일을 위해 정의된 개별 형식(custom defined format)이다. 예를 들어, 특정한 스키마(Scheme)와 함께 XML 포맷의 매핑 파일을 원하는 경우, 이는 다른 사용자가 정의한 매핑 포맷과 다를 수 있다. 이와 같은 모든 개별 형식은 브릿지 패턴으로 불린다. 즉, 집산부(140)는 브릿지 패턴을 통해 개별 사용자가 요구하는 개별 형식에 맞추어 온톨로지 매핑을 제공할 수 있다. 그리고, 집산부(140)는 사용한 브릿지 패턴을 다른 사용자를 위해 저장한다.The
집산부(140)는 참여 노드의 개수에 따라 합산 과정이 달라질 수 있다.The
수학식 3은 둘 이상의 참여 노드가 연결된 분산 환경에서의 브릿지 온톨로지 생성을 위한 세 단계를 나타낸다. 첫 번째 단계는 모든 매칭 작업에서의 모든 단일 매칭 태스크의 결과를 모두 수집한다. 첫 번째 단계에서, 는 매칭 태스크의 매칭 결과(매칭 태스크의 브릿지 온톨로지)이고, 은 매칭 작업의 중앙 브릿지 온톨로지(Intermediate Bridge Ontology)이다. 두 번째 단계는 하나의 참여 노드 상에서 실행되는 모든 매칭 작업의 결과를 합산한다. 두 번째 단계에서, 는 단일 참여 노드에서 실행되는 모든 매칭 작업에서 모든 중앙 브릿지 온톨로지 의 합이다. 현재의 모든 노드에서 생성된 중앙 브릿지 온톨로지 는 노드로부터의 중앙 브릿지 온톨로지가 된다. 세 번째 단계는 분산 환경 상의 모든 참여 노드에서 실행되는 모든 매칭 요구의 모든 매칭 결과를 합산한다. 세 번째에서, 는 최종 생성되는 브릿지 온톨로지로서 는 출력 파일인 온톨로지 매핑 결과로 전환된다.Equation (3) represents three steps for generating a bridge ontology in a distributed environment in which two or more participating nodes are connected. The first step collects all the results of all single matching tasks in all matching jobs. In the first step, (The bridge ontology of the matching task) of the matching task, Is the intermediate bridge ontology of the matching operation. The second step sums the results of all matching operations running on one participating node. In the second step, In all matching operations running on a single participating node, all central bridge ontologies . The central bridge ontology generated from all current nodes Is the central bridge ontology from the node. The third step is to sum all the matching results of all matching requests running on all participating nodes in the distributed environment. In the third, Is the final generated bridge ontology Is converted to an ontology mapping result which is an output file.
수학식 4는 하나의 참여 노드가 연결된 분산 환경에서의 브릿지 온톨로지 생성을 위한 두 단계를 나타낸다. 참여 노드가 하나일 경우, 단일 참여 노드(CPU)의 개별 코어(20)에서 실행되는 매칭 작업의 결과를 합산해야 한다. 첫 번째 단계는 단일 매칭 작업에서 실행되는 모든 매칭 태스크의 결과 를 통합하며, 매칭 태스크의 결과 를 통합 결과는 매칭 작업의 중앙 브릿지 온톨로지 이다. 두 번째 단계는 하나의 참여 노드에서 실행되는 모든 매칭 작업의 결과를 합산한다. 단일 참여 노드에서 실행되는 매칭 작업에서 모든 중앙 브릿지 온톨로지 의 합은 노드로부터의 중앙 브릿지 온톨로지 가 된다.Equation (4) represents two steps for generating a bridge ontology in a distributed environment in which one participant node is connected. If there is one participating node, the result of a matching operation performed on the
분산 환경에 참여한 모든 참여 노드에 의해 연산된 매칭 결과는 브릿지 온톨로지라고 불리는 하나의 온톨로지 오브젝트와 같이 합산된다. 그리고, 집산부(140)는 수집된 브릿지 온톨로지를 물리적 매핑 파일(Physical Mapping File)인 온톨로지 매핑 결과로 전환하여 출력한다.The matching results computed by all participating nodes participating in the distributed environment are summed together with one ontology object called the bridge ontology. Then, the
도 3은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 전처리부를 나타내는 상세도이다. 3 is a detailed view showing a preprocessing unit of a large scale ontology matching apparatus according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치(100)의 전처리부(110)는 온톨로지 모델부(111), 직렬화 처리부(112) 및 역직렬화 처리부(113)를 포함한다.3, the
온톨로지 모델부(111)는 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 입력받는다. 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지는 서로 1:1로 매칭할 수 있으며, 하나의 소스 온톨로지가 둘 이상의 타겟 온톨로지에 매칭하거나, 둘 이상의 소스 온톨로지가 하나의 타겟 온톨로지에 매칭할 수 있다. The
온톨로지 모델부(111)는 수신된 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 하나 이상의 서브셋(Subset)으로 분류한다. 온톨로지는 일반적으로 5개의 서브셋으로 구성될 수 있다. 온톨로지를 구성하는 서브셋은 크게 이름(Name), 레이블(Lable), 관계(Relationship), 공리(Axiom) 및 특성(Property)으로 구분될 수 있다. 하지만, 온톨로지를 상술한 다섯 가지의 서브셋으로만 구분할 수 있는 것은 아니며, 온톨로지 모델부(111)는 수신된 후보 온토로지의 종류나 특성에 따라 숫자에 관계없이 하나 이상의 서브셋으로 분류할 수 있다. 또한, 온톨로지 모델부(111)는 매칭 알고리즘을 포함하는 매칭 라이브러리를 고려하여 후보 온톨로지를 하나 이상의 서브셋으로 분류할 수 있다. 온톨로지 모델부(111)는 분류된 온톨로지 서브셋을 분산 처리부(130)로 전달한다.The
직렬화 처리부(112)는 온톨로지 모델부(111)에서 생성된 온톨로지 서브셋을 직렬화한다. 직렬화 처리부(112)는 둘 이상의 서브셋으로 분류된 온톨로지 서브셋을 바이너리 형태로 직렬화하여 저장 공간을 효율적으로 사용할 수 있으며, 데이터 전송 및 처리의 효율성을 높일 수 있다. 직렬화 처리부(112)는 직렬화된 온톨로지 서브셋을 온톨로지 저장부(120)로 전달하여 저장할 수 있다. 온톨로지 저장부(120)는 직렬화된 온톨로지 서브셋을 저장함으로써 저장 공간을 효율적으로 사용할 수 있으며, 데이터 처리 효율을 높일 수 있다. The
그리고, 역직렬화 처리부(113)는 직렬화 처리부(112)에 의해 직렬화된 형태로 온톨로지 저장부(120)에 저장된 직렬화된 온톨로지 서브셋을 다시 원래의 온톨로지 서브셋 상태로 재구성한다. 이러한 과정을 통해, 역직렬화 처리부(113)는 온톨로지 저장부(120)에 바이너리 형식으로 직렬화하여 저장한 온톨로지 서브셋을 온톨로지 모델부(111)의 요구에 따라 전달함으로써, 온톨로지 모델부(111)에서 불필요한 전처리 과정의 반복(Re-processing)을 줄이거나 피할 수 있다. 즉, 이전에 분류하여 온톨로지 저장부(120)에 저장한 온톨로지 서브셋과 동일한 후보 온톨로지가 수신되는 경우, 서브셋으로 분류하는 전처리 과정을 반복하지 않고, 온톨로지 저장부(120)에 직렬화되어 저장된 온톨로지 서브셋을 바로 역직렬화 처리부(113)를 통해 다시 복원(재구성)하여 분산 처리부(130)로 전달할 수 있다. 이와 같은 과정을 통해 전처리 과정을 생략(Skip)함으로써, 전처리 과정에서 소모되는 연산 리소스를 줄일 수 있다.The
수신된 후보 온톨로지를 서브셋별로 세분화하여 서브셋 온톨로지를 생성하는 전처리부(110)의 전처리 과정은 실행 시간 동안 더 적은 메모리 풋프린트(Memory Footprint)를 가능하게 한다.The preprocessing process of the
도 4는 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 분산 처리부를 나타내는 상세도이다.4 is a detailed view showing a distributed processing unit of a large scale ontology matching apparatus according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 분산 처리부(130)는 병렬 전략부(131), 분산부(132) 및 병렬 인터페이스(133)를 포함한다.4, the distributed
병렬 전략부(131)는 참여 노드의 개수와 각 참여 노드가 구비한 개별 코어(멀티 코어)의 수를 확인한다. 분산 환경은 많은 수의 참여 노드가 참여하게 된다. 참여 노드는 일반적으로 사용되는 데스크탑 및 노트북과 같은 개인용 컴퓨터(Personal Computer)뿐만 아니라, 워크스테이션(Workstation) 및 서버 컴퓨터와 같이 연산 처리가 가능한 단말이나 장치를 모드 포함할 수 있다. 본 발명에 따른 라지 스케일 온톨로지 매칭 장치는 후보 온톨로지의 매핑을 위한 온톨로지 매칭을 참여 노드의 개별 코어에 분산시켜 병렬 처리한다. 따라서, 병렬 전략부(131)는 먼저 참여 노드의 수와 각 첨여 노드가 구비한 개별 코어의 수를 확인하여, 가용 연산 자원을 파악한다. 그리고, 병렬 전략부(131)는 확인된 참여 노드 및 개별 코어의 수와 분산 알고리즘을 고려하여, 최적의 분산 갯수를 설정한다.The
분산부(132)는 병렬 전략부(131)에서 참여 노드 및 개별 코어의 수와 분산 알고리즘을 고려하여 설정된 최적의 분산 갯수를 고려하여, 온톨로지 서브셋을 분할하고, 분할된 온톨로지 서브셋에 매칭 라이브러리의 매칭 알고리즘을 적용하여 매칭 스레드를 생성한다. 생성된 매칭 스레드는 매칭 요구, 매칭 작업 및 매칭 태스크를 포함한다. 매칭 라이브러리에 저장된 매칭 알고리즘은 후보 온톨로지 사이의 온톨로지 매핑을 생성하기 위해 후보 온톨로지를 구성하는 개별 구성요소 사이의 매칭을 연산하기 위한 알고리즘으로 동의어 기반 매칭(Synonym-based matching), 라벨 기반 매칭(Label-based matching), 광의어 기반 매칭(Broader Term-based matching) 및 자식 기반 매칭(Child-based matching) 등과 같이 온톨로지 매칭에 적용할 수 있는 매칭 알고리즘을 포함할 수 있다.The distributing
분산부(132)에서 생성된 매칭 요구는 참여 노드(또는 참여 노드의 CPU) 각각에 대응하여 전달되는 매칭 스레드(Mathing Thread)이다. 병렬 전략부(131)는 먼저 참여 노드(또는 참여 노드의 CPU)의 수를 고려하여 온톨로지 서브셋을 각각의 참여 노드(또는 참여 노드의 CPU)에 대응하는 하나 이상의 매칭 요구로 분할한다. 매칭 요구의 최대 개수는 참여 노드(또는 참여 노드의 CPU)의 개수가 될 수 있다. 즉, 매칭 요구는 온톨로지 병렬 처리를 위해 개별 노드에 할당되는 병렬 처리 작업이 될 수 있다. 그리고, 분산부(132)는 분할된 매칭 요구를 다시 해당 매칭 요구가 할당되는 참여 노드의 코어의 수에 따라 매칭 작업으로 분할하여 해당 매칭 요구에 포함시킨다. 즉, 매칭 작업은 개별 코어에 할당되는 병렬 처리 작업으로서, 해당 매칭 요구가 할당된 참여 노드의 코어의 수가 4개의 코어를 가진다면, 해당 매칭 요구는 4개의 매칭 작업을 포함할 수 있다. 다음으로, 분산부(132)는 개별 코어에 할당되는 매칭 작업을 실제 매칭 프로세싱을 수행하는 단위인 매칭 태스크로 분할하여 매칭 작업에 포함시킨다.The matching request generated by the distributing
매칭 요구, 매칭 작업 및 매칭 태스크는 전체 매칭 프로세스를 위한 세 개의 추상화 계층(Layer of Abstraction)이다. 병렬 처리 프로세싱을 위한 분산 알고리즘에서 서로 다른 레벨에서 분류를 제공해야 하기 때문에, 분산부(132)의 분산 알고리즘은 실행중인 모든 작업의 트랙(Track)을 보존해야 한다.Matching requests, matching tasks, and matching tasks are three layers of abstraction for the entire matching process. Since the classification algorithms for parallel processing must provide classification at different levels, the distribution algorithm of the
매칭 태스크는 매칭 프로세스의 유닛으로 가장 작은 전체 매칭 프로세스로 분류될 수 있다. 예를 들어, 해당 참여 노드의 코어에 할당된 매칭 작업에서 소스 온톨로지가 {A,B,C,D}이고 타겟 온톨로지가 {a,b,c,d}라면, 소스 온톨로지와 타겟 온톨로지를 비교하여 매칭 프로세스를 수행할 때, A=a는 첫 번째 MT, B=b는 두 번째 MT, C=c는 세 번째 MT, D=d는 네 번째 MT일 수 있으며, A=d를 비교하여 매칭할 수 있다면, 이 또한 다른 하나의 MT가 될 수 있다. 즉, 매칭 태스크는 참여 노드의 개별 코어 내부에서 개별 매칭 프로세싱을 처리하는 가장 작은 단위로서, 코어 내부에서 온톨로지를 구성하는 개별 용어(Term)의 매칭 프로세싱을 처리한다.The matching task can be classified as the smallest overall matching process as a unit of the matching process. For example, if the source ontology is {A, B, C, D} and the target ontology is {a, b, c, d} in the matching task assigned to the core of the participating node, then compare the source ontology with the target ontology When performing the matching process, A = a is the first MT, B = b is the second MT, C = c is the third MT, D = d is the fourth MT, If possible, this could also be the other MT. In other words, the matching task is the smallest unit that processes the individual matching processing within the individual core of the participating node, and processes the matching processing of individual terms (Term) constituting the ontology within the core.
매칭 작업은 참여 노드의 개별 코어에 할당되어 매칭 프로세스를 수행하는 단위로서, 하나 이상의 매칭 태스크의 모음이 될 수 있다. 그리고, 매칭 요구는 하나의 참여 노드(또는 참여 노드의 CPU)에서 실행되는 모든 매칭 작업의 모음이다. A matching task is a unit that is assigned to an individual core of a participating node and performs a matching process, and may be a collection of one or more matching tasks. And, the matching request is a collection of all the matching tasks that are executed in one participating node (or CPU of the participating node).
예를 들어, 4개의 참여 노드가 분산 환경에 존재하고, 4개의 참여 노드가 모두 4개의 코어를 가지며, 수신된 온톨로지 서브셋이 총 2000개의 매칭을 필요로 한다면, 분산부(132)는 총 2000개의 매칭을 참여 노드의 수에 따라 4등분하여 총 4개의 매칭 요구로 분할한다. 분할된 4개의 매칭 요구 각각은 500개의 매칭을 포함한다. 그리고, 분산부(132)는 4개의 매칭 요구 각각을 코어의 수를 고려하여 4개의 매칭 작업으로 분류한다. 그러면, 각각의 매칭 작업은 500개의 매칭을 4로 나눈 125개의 매칭을 포함한다. 결국, 하나의 매칭 작업은 125개의 매칭을 포함하며, 개별 매칭 작업에 포함된 매칭 태스크는 125개가 된다. 즉, 4개의 매칭 요청 각각은 4개의 매칭 작업을 포함하며, 4개의 매칭 작업 각각은 125개의 매칭 태스크를 포함하여 결국, 총 2000개의 매칭을 포함하는 하나 이상의 온톨로지 서브셋은 4개의 매칭 요청으로 분할되고, 각각의 매칭 요청은 4개의 매칭 작업을 포함하며, 각각의 매칭 작업은 125개의 매칭 태스크를 포함한다. 매칭 요청, 매칭 작업 및 매칭 태스크의 개수는 참여 노드 및 개별 참여 노드의 수뿐만 아니라, 가장 최적화된 병렬 처리를 수행할 수 있는 시나리오를 고려하여 설정될 수 있다. 그리고, 각각의 매칭 작업은 스스로 다른 매칭 작업 및 원격에서 동작하는 다른 매칭 요구에 독립적이다. For example, if four participating nodes are in a distributed environment, all four participating nodes have four cores, and the received ontology subset requires a total of 2000 matches, The matching is divided into 4 equal parts according to the number of participating nodes, and is divided into a total of 4 matching requests. Each of the four matching requests divided comprises 500 matches. Then, the distributing
병렬 인터페이스(133)는 참여 노드 및 각 참여 노드의 개별 코어 각각에 대응하는 매칭 스레드를 전달한다. 하나의 매칭 요청은 대응하는 하나의 참여 노드로 전달된다. 하나의 참여 노드로 전달된 하나의 매칭 요청은 해당 참여 노드에 포함된 하나 이상의 코어 각각에 대응하는 매칭 작업을 포함한다. 하나의 매칭 요청에 포함된 하나 이상의 매칭 작업은 대응하는 코어에 일 대 일로 할당되다. 그리고, 하나의 코어에 할당된 하나의 매칭 작업은 포함된 매칭 태스크를 통해 해당 코어에서 매칭 프로세싱을 수행한다. 이를 통해, 본 발명에 따른 라지 스케일 온톨로지 매칭 장치는 분산 환경을 구성하는 참여 노드의 코어 각각에서 매칭 프로세싱을 병렬처리할 수 있다. The
도 5는 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치에서 개별 코어로 전달되는 매칭 스레드의 일 실시예를 나타내는 도면이다.5 is a diagram illustrating an embodiment of a matching thread that is transmitted to an individual core in a large scale ontology matching apparatus according to an embodiment of the present invention.
도 5를 참조하면, 본 발명에 따른 라지 스케일 온톨로지 매칭 장치의 분산 처리부에서 생성된 매칭 스레드는 각각의 노드 및 각각의 개별 노드에 대응하는 매칭 요청, 매칭 작업 및 매칭 태스크를 포함할 수 있다. 예를 들어, 분산 환경에 제1 노드(510), 제2 노드(520) 및 제3 노드(530)를 포함하는 세 개의 참여 노드가 연결되어 있다고 가정한다. 제1 노드(510)는 두 개의 코어(511,512)를 포함하고, 제2 노드(520)는 네 개의 코어(521,522,523,524)를 포함하며, 제3 노드(530)는 두 개의 코어(531,532)를 포함한다. 라지 스케일 온톨로지 매칭 장치는 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지로부터 전처리 과정 및 분산 처리 과정을 통해 둘 이상의 매칭 스레드를 생성하고, 생성된 둘 이상의 매칭 스레드를 각 참여 노드의 개별 코어에 전달한다. Referring to FIG. 5, the matching thread generated in the distributed processing unit of the large scale ontology matching apparatus according to the present invention may include a matching request, a matching operation, and a matching task corresponding to each node and each individual node. For example, assume that three participating nodes including a
매칭 요구는 참여 노드(또는 참여 노드의 CPU) 각각에 대응하여 전달되는 매칭 스레드(Mathing Thread)이다. 분산 처리부(130)는 먼저 참여 노드(또는 참여 노드의 CPU)의 수를 고려하여 온톨로지 서브셋을 각각의 참여 노드(또는 참여 노드의 CPU)에 대응하는 하나 이상의 매칭 요구로 분할한다. 매칭 요구의 최대 개수는 참여 노드(또는 참여 노드의 CPU)의 개수가 될 수 있다. 즉, 매칭 요구는 온톨로지 병렬 처리를 위해 개별 노드에 할당되는 병렬 처리 작업이 될 수 있다. 그리고, 라지 스케일 온톨로지 매칭 장치는 분할된 매칭 요구를 다시 해당 매칭 요구가 할당되는 참여 노드의 코어의 수에 따라 매칭 작업으로 분할하여 해당 매칭 요구에 포함시킨다. 즉, 매칭 작업은 개별 코어에 할당되는 병렬 처리 작업으로서, 해당 매칭 요구가 할당된 참여 노드의 코어의 수가 4개의 코어를 가진다면, 해당 매칭 요구는 4개의 매칭 작업을 포함할 수 있다. 다음으로, 분산 처리부(130)는 개별 코어에 할당되는 매칭 작업을 실제 매칭 프로세싱을 수행하는 단위인 매칭 태스크로 분할하여 매칭 작업에 포함시킨다. The matching request is a matching thread that is delivered corresponding to each of the participating nodes (or the CPUs of the participating nodes). The distributed
도 5에서는 총 세 개의 노드(510,520,530)를 포함하고 있으며, 라지 스케일 온톨로지 매칭 장치는 후보 온톨로지를 서브셋으로 분류하고, 분산 알고리즘 및 매칭 알고리즘을 적용하여 세 개의 매칭 요구(MR1, MR2, MR3)를 포함하는 매칭 스레드를 생성한다. 제1 매칭 요구(MR1)는 제1 노드(510)에 대응하고, 제2 매칭 요구(MR2)는 제2 노드(520)에 대응하며, 제3 매칭 요구(MR3)는 제3 노드(530)에 각각 대응한다. 제1 매칭 요구(MR1)는 제1 노드(510)가 구비한 두 개의 코어(511,512)에 대응하여 두 개의 매칭 작업(511-1,512-1)을 포함하며, 제2 매칭 요구(MR2)는 제2 노드(520)가 구비한 네 개의 코어(521,522,523,524)에 대응하여 네 개의 매칭 작업(521-1,522-1,523-1,524-1)을 포함하고, 제3 매칭 요구(MR3)는 제3 노드(530)가 구비한 두 개의 코어(531,532)에 대응하여 두 개의 매칭 작업(531-1,532-1)을 포함한다.5, the large scale ontology matching apparatus classifies the candidate ontology into a subset and applies three matching requests MR1, MR2, and MR3 by applying a distribution algorithm and a matching algorithm. To create a matching thread. The first matching request MR1 corresponds to the
제1 내지 제3 매칭 요구(MR1,MR2,MR) 및 각 매칭 요구에 포함된 매칭 작업(511-1,512-1,521-1,522-1,523-1,524-1,531-1,532-1)은 분산 환경에 연결된 참여 노드(510,520,530) 및 각 참여 노드의 개별 코어(511,512,521,522,523,524,531,532)에 대응하여 생성된다. 생성된 제1 내지 제3 매칭 요구(MR1,MR2,MR3)는 각각 대응하는 제1 노드(510), 제2 노드(520) 및 제3 노드(530) 각각에 전달된다. 라지 스케일 온톨로지 매칭 장치에서 각 노드로 매칭 요구가 전달되는 과정은 라지 스케일 온톨로지 매칭 장치로부터 각 노드로 직접 전달될 수 있으며, 분산 환경의 구조에 따라 라지 스케일 온톨로지 매칭 장치로부터 하나의 노드로 전달된 후, 연결된 노드를 따라 순차적으로 전달될 수 있다.The matching operations 511-1, 512-1, 521-1, 522-1, 523-1, 524-1, 531-1, and 532-1 included in each of the matching requests MR1, MR2, MR, 510, 520, 530) and
도 6은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 데이터 흐름을 나타내는 도면이다.6 is a diagram illustrating a data flow of a large scale ontology matching apparatus according to an embodiment of the present invention.
도 6을 참조하면, 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 장치의 데이터 흐름은 먼저 전처리부(110)는 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 수신한다(S601). 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지는 서로 1:1로 매칭할 수 있으며, 하나의 소스 온톨로지가 둘 이상의 타겟 온톨로지에 매칭하거나, 둘 이상의 소스 온톨로지가 하나의 타겟 온톨로지에 매칭할 수 있다. Referring to FIG. 6, in the data flow of the large scale ontology matching apparatus according to an embodiment of the present invention, the
그리고, 전처리부(110)는 수신된 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 하나 이상의 서브셋으로 분류한다(S602). 온톨로지는 일반적으로 5개의 서브셋으로 구성될 수 있다. 온톨로지를 구성하는 서브셋은 크게 이름, 레이블, 관계, 공리 및 특성으로 구분될 수 있다. 하지만, 온톨로지를 상술한 다섯 가지의 서브셋으로만 구분할 수 있는 것은 아니며, 전처리부(110)는 수신된 후보 온토로지의 종류나 특성에 따라 숫자에 관계없이 하나 이상의 서브셋으로 분류할 수 있다. 그리고, 전처리부(110)는 분류된 온톨로지 서브셋을 분산 처리부(130)로 전달한다(S603). Then, the
다음으로 전처리부(110)는 분류된 온톨로지 서브셋을 직렬화한다(S604). 전처리부(110)는 온톨로지 서브셋을 바이너리 형태로 직렬화하여 데이터 처리 효율 및 저장 공간의 효율을 높일 수 있다. 전처리부(110)는 직렬화된 온톨로지 서브셋을 온톨로지 저장부(120)로 전달하여 저장한다(S605). 이 후, 동일한 후보 온톨로지가 수신되는 경우, 온톨로지 저장부(120)에 저장된 대응하는 온톨로지 서브셋을 호출하여 사용한다. 이를 통해, 서브셋으로 분류하는 전처리 과정을 생략함으로써, 시간 및 연산 자원을 절약할 수 있다.Next, the
전처리부(110)로부터 분산 처리부(130)로 온톨로지 서브셋이 전달(S603)되면, 분산 처리부(130)는 참여 노드(30)의 개수와 각 참여 노드(30)에 구비된 개별 코어의 개수를 확인한다(S606). 분산 처리부(130)는 먼저 참여 노드(30)의 수와 각 첨여 노드가 구비한 개별 코어의 수를 확인하여, 가용 연산 자원을 파악한다. 그리고, 분산 처리부(130)는 확인된 참여 노(30)드 및 개별 코어의 수와 분산 알고리즘을 고려하여, 최적의 분산 갯수를 설정한다.When the ontology subset is transferred from the
분산 처리부(130)는 참여 노드(30) 및 개별 코어의 수와 분산 알고리즘을 고려하여 설정된 최적의 분산 갯수를 고려하여, 온톨로지 서브셋을 분할하고(S607), 분할된 온톨로지 서브셋에 매칭 라이브러리의 매칭 알고리즘을 적용하여 매칭 스레드를 생성한다(S608). 생성된 매칭 스레드는 매칭 요구, 매칭 작업 및 매칭 태스크를 포함한다. 매칭 라이브러리에 저장된 매칭 알고리즘은 후보 온톨로지 사이의 온톨로지 매핑을 생성하기 위해 후보 온톨로지를 구성하는 개별 구성요소 사이의 매칭을 연산하기 위한 알고리즘으로 동의어 기반 매칭(Synonym-based matching), 라벨 기반 매칭(Label-based matching), 광의어 기반 매칭(Broader Term-based matching) 및 자식 기반 매칭(Child-based matching) 등과 같이 온톨로지 매칭에 적용할 수 있는 매칭 알고리즘을 포함할 수 있다.The distributed
분산 처리부(130)는 먼저 참여 노드(30)의 수를 고려하여 온톨로지 서브셋을 각각의 참여 노드(30)에 대응하는 하나 이상의 매칭 요구로 분할한다. 매칭 요구의 최대 개수는 참여 노드(30)의 개수가 될 수 있다. 그리고, 분산 처리부(130)는 분할된 매칭 요구를 다시 해당 매칭 요구가 할당되는 참여 노드(30)의 코어의 수에 따라 매칭 작업으로 분할하여 해당 매칭 요구에 포함시킨다. 매칭 요구, 매칭 작업 및 매칭 태스크는 전체 매칭 프로세스를 위한 세 개의 추상화 계층(Layer of Abstraction)이다. 병렬 처리 프로세싱을 위한 분산 알고리즘에서 서로 다른 레벨에서 분류를 제공해야 하기 때문에, 분산부(132)의 분산 알고리즘은 실행중인 모든 작업의 트랙(Track)을 보존해야 한다. 매칭 요청, 매칭 작업 및 매칭 태스크의 개수는 참여 노드(30) 및 개별 참여 노드(30)의 수뿐만 아니라, 가장 최적화된 병렬 처리를 수행할 수 있는 시나리오를 고려하여 설정될 수 있다. 그리고, 각각의 매칭 작업은 스스로 다른 매칭 작업 및 원격에서 동작하는 다른 매칭 요구에 독립적이다. The distributed
매칭 스레드를 생성한 분산 처리부(130)는 생성된 각각의 매칭 스레드를 대응하는 참여 노드(30)에 전달한다(S609). 그리고, 분산 처리부(130)로부터 대응하는 매칭 스레드를 수신받은 각 노드는 수신된 매칭 스레드의 매칭 요청에 포함된 매칭 작업을 구비된 개별 노드에 할당한다. 하나의 매칭 요청은 대응하는 하나의 참여 노드(30)로 전달된다. 하나의 참여 노드(30)로 전달된 하나의 매칭 요청은 해당 참여 노드(30)에 포함된 하나 이상의 코어 각각에 대응하는 매칭 작업을 포함한다. 하나의 매칭 요청에 포함된 하나 이상의 매칭 작업은 대응하는 코어에 일 대 일로 할당되다. The distributed
참여 노드(30)에 의해 매칭 스레드에 포함된 매칭 작업을 할당받은 참여 노드(30)의 개별 코어는 매칭 작업에 포함된 매칭 태스크에 기초하여 매칭 연산을 수행한다(S610). 개별 코어에 할당된 매칭 작업은 하나 이상의 매칭 태스크를 포함한다. 매칭 태스크는 후보 온톨로지를 구성하는 구성 요소의 매칭 연산을 수행하기 위한 매칭 알고리즘 및 세분화되어 분할된 온톨로지 서브셋을 포함한다. 개별 코어는 매칭 태스크에 기초하여 온톨로지 매칭 연산을 수행한다. 그리고, 참여 노드(30)는 개별 코어에서 수행된 매칭 연산에 의해 생성된 매칭 결과를 집산부(140)로 전달한다(S611). 집산부(140)는 분산 처리부(130)로부터 매칭 스레드를 전달받은 참여 노드로부터 매칭 스레드를 통해 매칭 연산을 수행한 매칭 결과를 수신한다. 그리고, 집산부(140)는 참여 노드(30)로부터 수신된 매칭 결과를 합산하여 온톨로지 매핑을 생성한다(S612). 온톨로지 매핑은 둘 이상의 후보 온톨로지의 구성요소 사이의 개별 매칭 결과의 집합이다. 그리고, 집산부(140)는 참여 노드(30)의 개별 코어에서 매칭 작업의 연산에 의해 연산된 매칭 결과를 축적하고, 축적된 매칭 결과에 브릿지 패턴(Bridge Pattern)을 적용하여 온톨로지 매핑의 형식적 표현(Formal Representation)을 생성한다. 브릿지 패턴은 매핑 파일의 유형으로서, 개별 사용자에 따라 매핑 파일을 위해 정의된 개별 형식(custom defined format)이다. 즉, 집산부(140)는 브릿지 패턴을 통해 개별 사용자가 요구하는 개별 형식에 맞추어 온톨로지 매핑을 제공할 수 있다. 그리고, 집산부(140)는 사용한 브릿지 패턴을 다른 사용자를 위해 저장한다.The individual core of the
도 7은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법을 나타내는 흐름도이다.7 is a flowchart illustrating a method of matching a large scale ontology according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법은 먼저, 수신된 소스 온톨로지 및 타겟 온톨로지를 포함하는 후보 온톨로지를 하나 이상의 서브셋으로 분류한다(S701). 온톨로지는 일반적으로 5개의 서브셋으로 구성될 수 있다. 온톨로지를 구성하는 서브셋은 크게 이름, 레이블, 관계, 공리 및 특성으로 구분될 수 있다. 하지만, 온톨로지를 상술한 다섯 가지의 서브셋으로만 구분할 수 있는 것은 아니며, 수신된 후보 온토로지의 종류나 특성에 따라 숫자에 관계없이 하나 이상의 서브셋으로 분류할 수 있다. Referring to FIG. 7, in step S701, a large-scale ontology matching method according to an exemplary embodiment of the present invention classifies candidate ontologies including a received source ontology and a target ontology into one or more subsets. An ontology can generally consist of five subsets. The subset that makes up the ontology can be broadly divided into name, label, relation, axiom and property. However, the ontology can not be divided into the five subsets described above, but can be classified into one or more subsets regardless of the number depending on the type and characteristics of the received candidate ontology.
후보 온톨로지가 하나 이상의 서브셋으로 분류되면, 참여 노드의 개수와 각 참여 노드에 구비된 개별 코어의 개수를 확인한다(S702). 라지 스케일 온톨로지 매칭 장치는 먼저 참여 노드의 수와 각 첨여 노드가 구비한 개별 코어의 수를 확인하여, 가용 연산 자원을 파악한다. 그리고, 라지 스케일 온톨로지 매칭 장치는 확인된 참여 노드 및 개별 코어의 수와 분산 알고리즘을 고려하여, 최적의 분산 갯수를 설정한다(S703).If the candidate ontology is classified into one or more subsets, the number of participating nodes and the number of individual cores included in each participating node are checked (S702). The large scale ontology matching apparatus first identifies the number of participating nodes and the number of individual cores included in each attached node, and grasps available computing resources. Then, the large scale ontology matching apparatus sets the optimal number of dispersions considering the number of participating nodes and individual cores determined and the distributed algorithm (S703).
참여 노드 및 개별 코어의 개수를 분산 알고리즘에 적용하여 최적의 분산 갯수가 설정되면, 설정된 최적의 분산 갯수를 고려하여, 온톨로지 서브셋을 분할하고, 분할된 온톨로지 서브셋에 매칭 라이브러리의 매칭 알고리즘을 적용하여 매칭 스레드를 생성한다(S704). 생성된 매칭 스레드는 매칭 요구, 매칭 작업 및 매칭 태스크를 포함한다. 매칭 라이브러리에 저장된 매칭 알고리즘은 후보 온톨로지 사이의 온톨로지 매핑을 생성하기 위해 후보 온톨로지를 구성하는 개별 구성요소 사이의 매칭을 연산하기 위한 알고리즘이다. 라지 스케일 온톨로지 매칭 장치는 먼저 참여 노드의 수를 고려하여 온톨로지 서브셋을 각각의 참여 노드에 대응하는 하나 이상의 매칭 요구로 분할한다. 그리고, 분할된 매칭 요구를 다시 해당 매칭 요구가 할당되는 참여 노드의 코어의 수에 따라 매칭 작업으로 분할하여 해당 매칭 요구에 포함시킨다. When the number of participating nodes and individual cores is applied to the decentralization algorithm to set the optimal number of dispersions, the ontology subset is divided considering the set optimal number of dispersions, and the matching algorithm of the matching library is applied to the divided ontology subset, And creates a thread (S704). The generated matching thread includes a matching request, a matching operation, and a matching task. The matching algorithm stored in the matching library is an algorithm for computing the matching between the individual components constituting the candidate ontology to generate the ontology mapping between the candidate ontologies. The large scale ontology matching device first divides the ontology subset into one or more matching requests corresponding to each participating node, considering the number of participating nodes. Then, the divided matching request is divided into a matching operation according to the number of cores of the participating node to which the corresponding matching request is assigned, and is included in the matching request.
매칭 스레드가 생성되면, 생성된 각각의 매칭 스레드를 대응하는 참여 노드에 전달한다(S705). 매칭 스레드에 포함된 매칭 작업을 할당받은 참여 노드의 개별 코어는 매칭 작업에 포함된 매칭 태스크에 기초하여 매칭 연산을 수행한다. When the matching thread is generated, each generated matching thread is transmitted to the corresponding participating node (S705). The individual cores of the participating nodes that have been assigned the matching tasks included in the matching thread perform matching operations based on the matching tasks included in the matching operation.
참여 노드의 개별 코어에서 매칭 스레드에 기초한 매칭 연산이 수행되면, 매칭 연산에 의한 매칭 결과를 수집하여 합산한다(S706). 라지 스케일 온톨로지 매칭 장치는 참여 노드의 개별 코어에서 수행된 매칭 연산에 의해 생성된 매칭 결과를 수집하고, 수집된 매칭 결과를 합산하여 온톨로지 매핑을 생성한다(S707). 온톨로지 매핑은 둘 이상의 후보 온톨로지의 구성요소 사이의 개별 매칭 결과의 집합이다. 그리고, 라지 스케일 온톨로지 매칭 장치는 참여 노드의 개별 코어에서 매칭 작업의 연산에 의해 연산된 매칭 결과를 축적하고, 축적된 매칭 결과에 브릿지 패턴을 적용하여 온톨로지 매핑의 형식적 표현을 생성한다.When the matching operation based on the matching thread is performed in the individual core of the participating node, the matching result by the matching operation is collected and summed up (S706). The large scale ontology matching apparatus collects matching results generated by the matching operation performed on the individual cores of the participating nodes, and adds the collected matching results to generate an ontology mapping (S707). The ontology mapping is a set of individual matching results between the components of two or more candidate ontologies. The large scale ontology matching apparatus accumulates the matching result calculated by the operation of the matching operation in the individual cores of the participating nodes and generates a formal expression of the ontology mapping by applying the bridge pattern to the accumulated matching result.
도 8은 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법의 전처리 생략 방법을 나타내는 흐름도이다.8 is a flowchart illustrating a method of omitting a pre-processing of a large-scale ontology matching method according to an embodiment of the present invention.
도 8을 참조하면, 본 발명의 일 실시예에 따른 라지 스케일 온톨로지 매칭 방법에서 전처리 과정을 생략하기 위해서는 먼저, 수신된 후보 온톨로지를 서브셋으로 분류한다(S801). 온톨로지는 일반적으로 5개의 서브셋으로 구성될 수 있다. 온톨로지를 구성하는 서브셋은 크게 이름, 레이블, 관계, 공리 및 특성으로 구분될 수 있다.Referring to FIG. 8, in order to omit the preprocessing process in the large-scale ontology matching method according to an embodiment of the present invention, the received candidate ontology is classified into a subset (S801). An ontology can generally consist of five subsets. The subset that makes up the ontology can be broadly divided into name, label, relation, axiom and property.
온톨로지 서브셋으로 분류되면, 분류된 온톨로지 서브셋을 직렬화한다(S802). 둘 이상의 서브셋으로 분류된 온톨로지 서브셋을 바이너리 형태로 직렬화하여 저장 공간을 효율적으로 사용할 수 있으며, 데이터 전송 및 처리의 효율성을 높일 수 있다. 그리고, 직렬화된 온톨로지 서브셋을 저장한다(S803). 온톨로지 서브셋을 직렬화하여 저장함으로써 저장 공간을 효율적으로 사용할 수 있으며, 데이터 처리 효율을 높일 수 있다.If the ontology subset is classified as an ontology subset, the sorted ontology subset is serialized (S802). An ontology subset divided into two or more subsets can be serialized in a binary form to efficiently use the storage space and increase the efficiency of data transmission and processing. Then, the serialized ontology subset is stored (S803). The storage space can be efficiently used by serializing and storing the ontology subset, and the data processing efficiency can be improved.
이 후, 이전에 수신되었던 후보 온톨로지와 동일한 후보 온톨로지가 수신되면, 직렬화된 형태로 저장된 직렬화된 온톨로지 서브셋을 다시 원래의 온톨로지 서브셋 상태로 재구성(De-serialize)한다(S804). 이러한 과정을 통해, 직렬화된 저장한 온톨로지 서브셋을 다시 역직렬화함으로써, 불필요한 전처리 과정의 반복(Re-processing)을 줄이거나 피할 수 있다. 즉, 이전에 저장한 온톨로지 서브셋과 동일한 후보 온톨로지가 수신되는 경우, 서브셋으로 분류하는 전처리 과정을 반복하지 않고, 직렬화된 온톨로지 서브셋을 바로 역직렬화하여 다시 복원(재구성)하여 전처리 과정을 생략함으로써, 전처리 과정에서 소모되는 연산 리소스를 줄일 수 있다.Thereafter, if a candidate ontology identical to the previously received candidate ontology is received, the serialized ontology subset stored in the serialized form is de-serialized into the original ontology subset state again (S804). Through this process, unnecessary re-processing of the preprocessing process can be reduced or avoided by deserializing the serialized stored ontology subset. That is, when a candidate ontology identical to the previously stored ontology subset is received, the serialized ontology subset is directly deserialized and restored (reconstructed) without the preprocessing process, The computational resources consumed in the process can be reduced.
역직렬화를 통해 재구성된 온톨로지 서브셋을 분할하여 참여 노드의 개별 코어에서 분산처리한다(S805). 먼저, 참여 노드의 개수와 각 참여 노드에 구비된 개별 코어의 개수를 확인한다. 그리고, 라지 스케일 온톨로지 매칭 장치는 확인된 참여 노드 및 개별 코어의 수와 분산 알고리즘을 고려하여, 최적의 분산 갯수를 설정한다. 참여 노드 및 개별 코어의 개수를 분산 알고리즘에 적용하여 최적의 분산 갯수가 설정되면, 설정된 최적의 분산 갯수를 고려하여, 온톨로지 서브셋을 분할하고, 분할된 온톨로지 서브셋에 매칭 라이브러리의 매칭 알고리즘을 적용하여 매칭 스레드를 생성한다. 생성된 매칭 스레드는 매칭 요구, 매칭 작업 및 매칭 태스크를 포함한다. 매칭 스레드가 생성되면, 생성된 각각의 매칭 스레드를 대응하는 참여 노드에 전달한다. 매칭 스레드에 포함된 매칭 작업을 할당받은 참여 노드의 개별 코어는 매칭 작업에 포함된 매칭 태스크에 기초하여 매칭 연산을 수행한다. 참여 노드의 개별 코어에서 매칭 스레드에 기초한 매칭 연산이 수행되면, 매칭 연산에 의한 매칭 결과를 수집하여 합산한다. 라지 스케일 온톨로지 매칭 장치는 참여 노드의 개별 코어에서 수행된 매칭 연산에 의해 생성된 매칭 결과를 수집하고, 수집된 매칭 결과를 합산하여 온톨로지 매핑을 생성한다. S805 단계는 도 7의 S703 내지 S707 단계와 동일하게 수행될 수 있다.
The reconstructed ontology subset is deserialized through deserialization and is distributed to individual cores of the participating nodes (S805). First, the number of participating nodes and the number of individual cores in each participating node are checked. The large scale ontology matching apparatus sets the optimal number of dispersions considering the number of identified participating nodes and individual cores and the distribution algorithm. When the number of participating nodes and individual cores is applied to the decentralization algorithm to set the optimal number of dispersions, the ontology subset is divided considering the set optimal number of dispersions, and the matching algorithm of the matching library is applied to the divided ontology subset, Create a thread. The generated matching thread includes a matching request, a matching operation, and a matching task. Once the matching thread is created, it forwards each generated matching thread to the corresponding participating node. The individual cores of the participating nodes that have been assigned the matching tasks included in the matching thread perform matching operations based on the matching tasks included in the matching operation. When the matching operation based on the matching thread is performed in the individual cores of the participating nodes, the matching result by the matching operation is collected and added. The large scale ontology matching device collects the matching results generated by the matching operation performed on the individual cores of the participating nodes, and adds the collected matching results to generate an ontology mapping. Step S805 may be performed in the same manner as steps S703 to S707 of FIG.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
The present invention including the above-described contents can be written in a computer program. And the code and the code segment constituting the program can be easily deduced by a computer programmer of the field. In addition, the created program can be stored in a computer-readable recording medium or an information storage medium, and can be read and executed by a computer to implement the method of the present invention. And the recording medium includes all types of recording media readable by a computer.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It is possible.
100: 온톨로지 매칭 장치
110: 전처리부
111: 온톨로지 모델부
112: 직렬화 처리부
113: 역직렬화 처리부
120: 온톨로지 저장부
130: 분산 처리부
140: 집산부100: Ontology matching device
110:
111: ontology model part
112: serialization processing unit
113: Deserialization processor
120: an ontology storage unit
130:
140:
Claims (19)
상기 생성된 온톨로지 서브셋을 분산 알고리즘을 적용하여 분할하고, 상기 분할된 온톨로지 서브셋에 매칭 알고리즘을 적용하여 매칭 스레드를 생성하며, 상기 생성된 매칭 스레드를 참여 노드의 개별 코어에 전달하는 분산 처리부; 및
상기 개별 코어에서 상기 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 집산부;
를 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.A preprocessor for generating an ontology subset by classifying the received candidate ontologies into one or more ontology subset;
A distribution processor for dividing the generated ontology subset by applying a distribution algorithm, generating a matching thread by applying a matching algorithm to the divided ontology subset, and delivering the generated matching thread to individual cores of participating nodes; And
A collecting unit for collecting and summing the matching results generated by performing a matching operation based on the matching thread in the individual core to generate an ontology mapping;
Scale ontology matching apparatus.
상기 전처리부는,
상기 생성된 온톨로지 서브셋을 바이너리(Binary) 형태로 직렬화(Serialization)하여 직렬화된 온톨로지 서브셋을 생성하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.The method according to claim 1,
The pre-
And generates a serialized ontology subset by serializing the generated ontology subset in a binary form.
상기 직렬화된 온톨로지 서브셋을 저장하며, 상기 수신된 후보 온톨로지와 동일한 후보 온톨로지가 수신되면, 기 저장된 직렬화된 온톨로지 서브셋을 상기 전처리부로 제공하는 온톨로지 저장부를 더 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.3. The method of claim 2,
Further comprising an ontology storage unit that stores the serialized ontology subset and provides a pre-stored serialized ontology subset to the preprocessor upon receipt of a candidate ontology identical to the received candidate ontology.
상기 전처리부는,
상기 온톨로지 저장부로부터 수신된 직렬화된 온톨로지 서브셋을 역직렬화(De-serealization)를 통해 재구성하여 온톨로지 서브셋을 생성하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치. The method of claim 3,
The pre-
Wherein the ontology subset is generated by reconstructing the serialized ontology subset received from the ontology storage unit through de-serialization.
상기 매칭 스레드는 상기 참여 노드 각각에 일대일로 대응하는 하나 이상의 매칭 요청(Matching Request), 상기 매칭 요청에 일대일로 대응하는 참여 노드에 구비된 개별 코어에 일대일로 대응하는 하나 이상의 매칭 작업(Matching Job) 및 상기 개별 코어에서 매칭 연산을 수행하는 하나 이상의 매칭 태스크(Matching Task)를 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.The method according to claim 1,
The matching thread includes at least one matching request corresponding to each of the participating nodes on a one-to-one basis, one or more matching jobs corresponding one-to-one to individual cores included in the corresponding participating node on a one- And at least one matching task for performing matching operations in the individual cores.
상기 매칭 요청, 매칭 작업 및 매칭 태스크의 관계는
에 의해 산출되며,
상기 MRi는 상기 참여 노드 각각에 할당된 매칭 요구를 나타내고, MR은 상기 참여 노드에 할당된 매칭 요구 MRi의 집합 매칭 요구를 나타내며, MJj는 상기 참여 노드에 구비된 개별 코어에 할당되는 매칭작업을 나타내고, MTk는 개별 코어에 할당되어 매칭 연산을 수행하는 매칭태스크를 나타내는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.6. The method of claim 5,
The relationship of the matching request, the matching operation and the matching task is
Lt; / RTI >
Wherein MR i denotes a matching request assigned to each of the participating nodes, MR denotes a set matching request of matching requests MR i assigned to the participating node, MJ j denotes a matching request assigned to individual cores MT k is assigned to an individual core to perform a matching operation.
상기 매칭 작업은 다른 매칭 작업 및 다른 참여 노드에서 동작하는 매칭 요구에 독립적인 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.6. The method of claim 5,
Wherein the matching operation is independent of other matching operations and matching requests operating at other participating nodes.
상기 분산 처리부는,
상기 후보 온톨로지가 수신되면, 매칭에 활용할 수 있는 참여 노드의 개수 및 상기 참여 노드에 구비된 개별 코어의 개수를 확인하고, 상기 참여 노드 및 상기 개별 코어의 개수를 분산 알고리즘에 적용하여 분산 개수를 설정하며, 상기 설정된 분산 개수를 고려하여 상기 온톨로지 서브셋을 분할하고 매칭 알고리즘을 적용하여 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 생성하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.The method according to claim 1,
The dispersion processing unit may include:
When the candidate ontology is received, the number of participating nodes that can be used for matching and the number of individual cores included in the participant node are checked, and the number of distributed nodes is set by applying the number of participating nodes and the individual cores to the decentralization algorithm. And a matching thread including a matching request, a matching operation, and a matching task is generated by dividing the ontology subset in consideration of the set number of dispersions and applying a matching algorithm.
둘 이상의 참여 노드를 포함하는 분산 환경에서 상기 집산부의 매칭 결과를 수집 및 합산(Aggregating)하는 과정은
,
및
에 의해 산출되며,
는 매칭 태스크의 매칭 결과(매칭 태스크의 브릿지 온톨로지)이고, 은 모든 매칭 작업에서의 모든 단일 매칭 태스크의 결과를 모두 수집한 매칭 작업의 중앙 브릿지 온톨로지(Intermediate Bridge Ontology)이며, 는 단일 참여 노드에서 실행되는 모든 매칭 작업에서 모든 중앙 브릿지 온톨로지 의 합이고, 는 모든 노드에서 생성된 노드로부터의 중앙 브릿지 온톨로지이며, 는 최종 생성되는 브릿지 온톨로지로서 출력 파일인 온톨로지 매핑 결과로 전환되는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.The method according to claim 1,
In a distributed environment including two or more participating nodes, a process of collecting and aggregating the matching result of the aggregator
,
And
Lt; / RTI >
(The bridge ontology of the matching task) of the matching task, Is an intermediate bridge ontology of the matching task that collects all the results of all single matching tasks in all matching tasks, In all matching operations running on a single participating node, all central bridge ontologies Lt; / RTI > Is a central bridge ontology from nodes created at all nodes, Is converted into an ontology mapping result that is an output file as a bridge ontology that is finally generated.
상기 연산된 매칭 결과는 브릿지 온톨로지라고 불리는 하나의 온톨로지 오브젝트와 같이 합산되며, 상기 집산부는 분산 환경에 참여한 모든 참여 노드에 의해 연산된 매칭 결과인 브릿지 온톨로지를 합산하여 물리적 매핑 파일(Physical Mapping File)인 온톨로지 매핑 결과로 전환하여 출력하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 장치.10. The method of claim 9,
The computed matching result is summed up with one ontology object called a bridge ontology. The aggregating unit sums the bridge ontologies, which are the matching results calculated by all participating nodes participating in the distributed environment, to obtain a physical mapping file And outputs the converted result as an ontology mapping result.
수신된 후보 온톨로지를 하나 이상의 온톨로지 서브셋으로 분류하여 온톨로지 서브셋을 생성하는 단계;
상기 생성된 온톨로지 서브셋을 분산 알고리즘을 적용하여 분할하고, 상기 분할된 온톨로지 서브셋에 매칭 알고리즘을 적용하여 매칭 스레드를 생성하는 단계;
상기 생성된 매칭 스레드를 참여 노드의 개별 코어에 전달하는 단계;
상기 개별 코어에서 상기 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 단계;
를 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.In an ontology matching method using a large scale ontology matching apparatus,
Generating an ontology subset by classifying the received candidate ontologies into one or more ontology subset;
Dividing the generated ontology subset using a distribution algorithm, and applying a matching algorithm to the divided ontology subset to generate a matching thread;
Delivering the generated matching thread to an individual core of a participating node;
Generating an ontology mapping by collecting and summing the matching results generated by performing matching operations on the individual cores based on the matching threads;
Dimensional ontology matching method.
수신된 후보 온톨로지를 하나 이상의 온톨로지 서브셋으로 분류하는 단계는,
상기 생성된 온톨로지 서브셋을 바이너리(Binary) 형태로 직렬화(Serialization)하여 직렬화된 온톨로지 서브셋을 생성하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.12. The method of claim 11,
The step of classifying the received candidate ontology into one or more ontology subset,
Wherein the serialized ontology subset is generated by serializing the generated ontology subset in a binary form.
상기 직렬화된 온톨로지 서브셋을 저장하며, 상기 수신된 후보 온톨로지와 동일한 후보 온톨로지가 수신되면, 기 저장된 직렬화된 온톨로지 서브셋을 역직렬화(De-serealization)를 통해 재구성하여 온톨로지 서브셋을 생성하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.13. The method of claim 12,
Storing the serialized ontology subset and receiving a candidate ontology identical to the received candidate ontology, reconstructs the pre-stored serialized ontology subset through de-serialization to generate an ontology subset. Scale ontology matching method.
상기 매칭 스레드는 상기 참여 노드 각각에 일대일로 대응하는 하나 이상의 매칭 요청(Matching Request), 상기 매칭 요청에 일대일로 대응하는 참여 노드에 구비된 개별 코어에 일대일로 대응하는 하나 이상의 매칭 작업(Matching Job) 및 상기 개별 코어에서 매칭 연산을 수행하는 하나 이상의 매칭 태스크(Matching Task)를 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.12. The method of claim 11,
The matching thread includes at least one matching request corresponding to each of the participating nodes on a one-to-one basis, one or more matching jobs corresponding one-to-one to individual cores included in the corresponding participating node on a one- And one or more matching tasks for performing matching operations in the individual cores.
상기 매칭 요청, 매칭 작업 및 매칭 태스크의 관계는
에 의해 산출되며,
상기 MRi는 상기 참여 노드 각각에 할당된 매칭 요구를 나타내고, MR은 상기 참여 노드에 할당된 매칭 요구 MRi의 집합 매칭 요구를 나타내며, MJj는 상기 참여 노드에 구비된 개별 코어에 할당되는 매칭작업을 나타내고, MTk는 개별 코어에 할당되어 매칭 연산을 수행하는 매칭태스크를 나타내는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.15. The method of claim 14,
The relationship of the matching request, the matching operation and the matching task is
Lt; / RTI >
Wherein MR i denotes a matching request assigned to each of the participating nodes, MR denotes a set matching request of matching requests MR i assigned to the participating node, MJ j denotes a matching request assigned to individual cores Wherein MT k represents a matching task assigned to an individual core to perform a matching operation.
상기 매칭 작업은 다른 매칭 작업 및 다른 참여 노드에서 동작하는 매칭 요구에 독립적인 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.15. The method of claim 14,
Wherein the matching operation is independent of other matching operations and matching requests operating at other participating nodes. ≪ Desc / Clms Page number 19 >
상기 매칭 스레드를 생성하는 단계는,
분산 환경의 참여 노드의 개수 및 상기 참여 노드에 구비된 개별 코어의 개수를 확인하는 단계;
상기 참여 노드 및 상기 개별 코어의 개수를 분산 알고리즘에 적용하여 분산 개수를 설정하는 단계; 및
상기 설정된 분산 개수를 고려하여 상기 온톨로지 서브셋을 분할하고 매칭 알고리즘을 적용하여 매칭 요청, 매칭 작업 및 매칭 태스크를 포함하는 매칭 스레드를 생성하는 단계;
를 포함하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.12. The method of claim 11,
Wherein the generating the matching thread comprises:
Confirming the number of participating nodes in the distributed environment and the number of individual cores included in the participating node;
Applying the number of participating nodes and the individual cores to a variance algorithm to set a number of variances; And
Dividing the ontology subset in consideration of the set number of dispersions and applying a matching algorithm to generate a matching thread including a matching request, a matching operation, and a matching task;
Dimensional ontology matching method.
상기 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 단계는,
,
및
에 의해 산출되며,
는 매칭 태스크의 매칭 결과(매칭 태스크의 브릿지 온톨로지)이고, 은 모든 매칭 작업에서의 모든 단일 매칭 태스크의 결과를 모두 수집한 매칭 작업의 중앙 브릿지 온톨로지(Intermediate Bridge Ontology)이며, 는 단일 참여 노드에서 실행되는 모든 매칭 작업에서 모든 중앙 브릿지 온톨로지 의 합이고, 는 모든 노드에서 생성된 노드로부터의 중앙 브릿지 온톨로지이며, 는 최종 생성되는 브릿지 온톨로지로서 출력 파일인 온톨로지 매핑 결과로 전환되는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.12. The method of claim 11,
The step of collecting and summing the generated matching results to generate an ontology mapping,
,
And
Lt; / RTI >
(The bridge ontology of the matching task) of the matching task, Is an intermediate bridge ontology of the matching task that collects all the results of all single matching tasks in all matching tasks, In all matching operations running on a single participating node, all central bridge ontologies Lt; / RTI > Is a central bridge ontology from nodes created at all nodes, Is converted into an ontology mapping result that is an output file as a bridge ontology that is finally generated.
상기 상기 개별 코어에서 상기 매칭 스레드에 기초하여 매칭 연산을 수행하여 생성된 매칭 결과를 수집 및 합산하여 온톨로지 매핑을 생성하는 단계는 모든 참여 노드에 의해 연산된 매칭 결과인 브릿지 온톨로지를 합산하여 물리적 매핑 파일(Physical Mapping File)인 온톨로지 매핑 결과로 전환하여 출력하는 것을 특징으로 하는 라지 스케일 온톨로지 매칭 방법.19. The method of claim 18,
The step of generating an ontology mapping by collecting and summing the matching results generated by performing the matching operation based on the matching thread in the individual core may include summing up the bridge ontologies that are the matching results calculated by all the participating nodes, And outputs the converted ontology mapping result to an ontology mapping result which is a physical mapping file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130145615A KR101553397B1 (en) | 2013-11-27 | 2013-11-27 | Apparatus and method for matching large-scale biomedical ontology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130145615A KR101553397B1 (en) | 2013-11-27 | 2013-11-27 | Apparatus and method for matching large-scale biomedical ontology |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150061457A KR20150061457A (en) | 2015-06-04 |
KR101553397B1 true KR101553397B1 (en) | 2015-09-15 |
Family
ID=53499432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130145615A KR101553397B1 (en) | 2013-11-27 | 2013-11-27 | Apparatus and method for matching large-scale biomedical ontology |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101553397B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622109A (en) * | 2017-09-14 | 2018-01-23 | 北京航空航天大学 | A kind of confining method of the sub- body in field of Engineering Oriented information management |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101878217B1 (en) * | 2016-11-07 | 2018-07-13 | 경희대학교 산학협력단 | Method, apparatus and computer program for medical data |
-
2013
- 2013-11-27 KR KR1020130145615A patent/KR101553397B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622109A (en) * | 2017-09-14 | 2018-01-23 | 北京航空航天大学 | A kind of confining method of the sub- body in field of Engineering Oriented information management |
CN107622109B (en) * | 2017-09-14 | 2020-09-11 | 北京航空航天大学 | Engineering knowledge management-oriented domain ontology defining method |
Also Published As
Publication number | Publication date |
---|---|
KR20150061457A (en) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110520853B (en) | Queue management for direct memory access | |
US9747563B2 (en) | Apparatus and method for matching large-scale biomedical ontologies | |
Li et al. | Colossal-ai: A unified deep learning system for large-scale parallel training | |
Ooi et al. | SINGA: A distributed deep learning platform | |
Cuomo et al. | A GPU-accelerated parallel K-means algorithm | |
Alham et al. | A MapReduce-based distributed SVM algorithm for automatic image annotation | |
Hines et al. | Fully implicit parallel simulation of single neurons | |
Kumar et al. | Analysis of microarray leukemia data using an efficient MapReduce-based K-nearest-neighbor classifier | |
Albi et al. | Leader formation with mean-field birth and death models | |
Geng et al. | Horizontal or vertical? a hybrid approach to large-scale distributed machine learning | |
Akintoye et al. | A hybrid parallelization approach for distributed and scalable deep learning | |
Mahabadi et al. | SLPA-based parallel overlapping community detection approach in large complex social networks | |
KR101553397B1 (en) | Apparatus and method for matching large-scale biomedical ontology | |
Sakharov et al. | Adaptive load balancing in the modified mind evolutionary computation algorithm | |
Wu et al. | Missing categorical data imputation approach based on similarity | |
Lopez-Fernandez et al. | A multi-GPU biclustering algorithm for binary datasets | |
Nichols et al. | MagmaDNN: accelerated deep learning using MAGMA | |
Amin et al. | Performance-based ontology matching: A data-parallel approach for an effectiveness-independent performance-gain in ontology matching | |
Martín-Álvarez et al. | Dynamic spawning of MPI processes applied to malleability | |
CN111695701B (en) | System for realizing data set construction processing based on federal learning and construction generation method thereof | |
Highland et al. | Fitting the problem to the paradigm: algorithm characteristics required for effective use of MapReduce | |
Amin et al. | Evaluating large-scale biomedical ontology matching over parallel platforms | |
EP3742292A1 (en) | Scheduling operations | |
Zheng et al. | Continuous cross-modal hashing | |
Yin et al. | Decision-Theoretic Rough Set: A Fusion Strategy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190625 Year of fee payment: 5 |