KR101757047B1 - A Method for Searching Co-Occurrence Based on Co-Operational Formation - Google Patents
A Method for Searching Co-Occurrence Based on Co-Operational Formation Download PDFInfo
- Publication number
- KR101757047B1 KR101757047B1 KR1020150086897A KR20150086897A KR101757047B1 KR 101757047 B1 KR101757047 B1 KR 101757047B1 KR 1020150086897 A KR1020150086897 A KR 1020150086897A KR 20150086897 A KR20150086897 A KR 20150086897A KR 101757047 B1 KR101757047 B1 KR 101757047B1
- Authority
- KR
- South Korea
- Prior art keywords
- word pair
- word
- pair
- state
- storing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000015572 biosynthetic process Effects 0.000 title 1
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000985710 Antennarius striatus Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G06F17/30194—
-
- G06F17/2705—
-
- G06F17/30106—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명에 따른 단어 공기 협력병렬검색방법은, 대상 텍스트파일을 메인서버의 분석파일 정보에 등록하는 (a)단계, 검색하고자 하는 단어 쌍 리스트의 각 단어 쌍을 상기 메인서버에 미리 작업된 단어 쌍에서 검색하는 (b)단계, 상기 (b)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하는 (c)단계, 상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 확인하고, 확인 결과에 따른 작업을 수행하는 (d)단계 및 상기 (d)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하고, 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (e)단계를 포함하며, 상기 (d)단계는 복수의 사용자단말기 간의 작업 분산에 의해 이루어진다.A word-cooperating parallel search method according to the present invention comprises the steps of (a) registering a target text file in analysis file information of a main server, (b) inputting each word pair in a word- (C) storing the word pairs searched in the step (b) in a result database of the user terminal, (b) searching word pairs not searched in the step (b) (D) performing a task according to a result of the check, and (e) storing the word pair searched in the step (d) in a result database of a user terminal and storing the word pair in a pre-worked word pair of the main server (D) is performed by distributing work among a plurality of user terminals.
Description
본 발명은 단어 공기정보를 통한 협력병렬검색방법에 관한 것으로서, 보다 상세하게는 로컬 클러스터 및 원격지 클러스터 간 작업을 분산해 주고, 이를 이용하여 다양한 사용자들의 요구에 맞는 단어 쌍을 효과적으로 검색할 수 있도록 하는 단어 공기 협력병렬검색방법에 관한 것이다.The present invention relates to a cooperative parallel search method using word air information, and more particularly, to a cooperative parallel search method for distributing work between local clusters and remote clusters, To a word-cooperative parallel search method.
과학 문헌 분석을 통해서 생명 공학 관련한 연구를 하는 것은 현재 중요한 연구 분야 중의 하나이다. 그리고 이를 위해서는 대용량의 문헌 정보를 효과적으로 처리하는 방법이 필요하다.Research on biotechnology through analysis of scientific literature is one of the important research fields currently. In order to do this, a method for efficiently processing a large amount of bibliographic information is required.
현재까지 개발된 대부분의 생명 정보 문헌 분석 시스템(Litlnspector, PESCADOR, iHOP , EBIMed, PubGene, PolySearch 등)의 경우, 미리 계산된 결과를 데이터 베이스에 저장해 놓는 방법인, 정의된 문헌 분석 정보를 제공하고 있다. 다만, 이는 사전 정의되지 않은 대용량의 문헌 분석을 효과적으로 처리할 수 없다는 문제가 있다.Most of the bioinformation analysis systems (Litlnspector, PESCADOR, iHOP, EBIMed, PubGene, PolySearch, etc.) that have been developed so far provide defined document analysis information which is a method of storing pre-calculated results in a database . However, this has a problem that it is not possible to effectively process a large amount of document analysis that is not predefined.
또한 최근에 Hadoop 기반의 분산 처리 Framework는 잘 구성된 Cluster를 이용하여 위에 대한 문제점을 해결할 수 있는 방법을 제시하고 있으나, 이는 연구자의 정보 시스템 환경에 따라서 그 효율이 달라질 수 있는 문제가 있다.In addition, Hadoop based distributed processing framework recently proposed a method to solve the above problems by using a well-configured cluster, but there is a problem that the efficiency may vary depending on the researcher's information system environment.
따라서 상기와 같은 종래의 방법을 개선한 효과적이고 효율적인 문헌 분석 방법의 필요성이 대두 되고 있다.Therefore, there is a need for an effective and efficient document analysis method which improves the conventional method as described above.
본 발명에 따른 단어 공기 협력병렬검색방법은 Hadoop 분산 처리를 Global 한 환경에서 할 수 있는, Crowdsourcing 개념에 기반한 작업 스케쥴러를 이용하여 누구에게나 효과적이고 효율적인 문헌 분석이 가능하게 하여 과학 문헌 분석 기술을 발전시키기 위한 목적을 가진다.The word cooperative parallel search method according to the present invention can develop an effective and efficient document analysis by using a task scheduler based on a crowdsourcing concept that can perform Hadoop distributed processing in a global environment, .
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The solution of the present invention is not limited to those mentioned above, and other solutions not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명에 따른 단어 공기 협력병렬검색방법은, 대상 텍스트파일을 메인서버의 분석파일 정보에 등록하는 (a)단계, 검색하고자 하는 단어 쌍 리스트의 각 단어 쌍을 상기 메인서버에 미리 작업된 단어 쌍에서 검색하는 (b)단계, 상기 (b)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하는 (c)단계, 상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 확인하고, 확인 결과에 따른 작업을 수행하는 (d)단계 및 상기 (d)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하고, 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (e)단계를 포함하며, 상기 (d)단계는 복수의 사용자단말기 간의 작업 분산에 의해 이루어진다.A word-cooperating parallel search method according to the present invention comprises the steps of (a) registering a target text file in analysis file information of a main server, (b) inputting each word pair in a word- (C) storing the word pairs searched in the step (b) in a result database of the user terminal, (b) searching word pairs not searched in the step (b) (D) performing a task according to a result of the check, and (e) storing the word pair searched in the step (d) in a result database of a user terminal and storing the word pair in a pre-worked word pair of the main server (D) is performed by distributing work among a plurality of user terminals.
그리고 상기 (d)단계는, 확인한 단어 쌍의 작업 상태가 완료 상태인 경우, 해당 단어 쌍을 상기 메인서버로부터 불러와 상기 사용자단말기의 결과 데이터베이스에 저장하는 (d-1)단계, 확인한 단어 쌍의 작업 상태가 대기 상태인 경우, 다른 사용자단말기가 작업 중인 것으로 인식하여 해당 단어 쌍을 상기 사용자단말기의 대기리스트에 저장하는 (d-2)단계 및 확인한 단어 쌍의 작업 상태가 존재하지 않을 경우, 해당 단어 쌍의 작업 상태를 대기 상태로 전환시켜 상기 메인서버에 저장하는 (d-3)단계를 포함할 수 있다.The step (d) includes the steps of (d-1), when the operation state of the identified word pair is completed, calling the corresponding word pair from the main server and storing the word pair in the result database of the user terminal, (D-2) storing the word pair in the waiting list of the user terminal when it is recognized that another user terminal is currently working and the word pair is stored in the waiting list if the job status is in a standby state; And (d-3) converting the working state of the word pair into the standby state and storing the state in the main server.
또한 상기 (d-3)단계는, 해당 단어 쌍의 작업 상태를 대기 상태로 전환시켜 상기 메인서버에 저장하는 (d-3-1)단계, 상기 사용자단말기에서 해당 단어 쌍을 검색하는 (d-3-2)단계, 상기 사용자단말기에서 검색된 해당 단어 쌍을 상기 사용자단말기의 결과 데이터베이스에 저장하는 (d-3-3)단계, 해당 단어 쌍의 작업 상태를 완료 상태로 전환시켜 상기 메인서버에 저장하는 (d-3-4)단계 및 해당 단어 쌍을 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (d-3-5)단계를 포함할 수 있다.The step (d-3) further comprises the steps of: (d-3-1) converting the working state of the word pair into a standby state and storing the same in the main server, 3-2) storing the corresponding word pair searched by the user terminal in a result database of the user terminal (d-3-3), switching the work state of the corresponding word pair to the completed state and storing it in the main server And (d-3-5) storing the word pair as a pair of words previously worked on the main server.
그리고 상기 (d-2)단계 이후에는, 상기 대기리스트에 저장된 단어 쌍의 작업 상태가 완료 상태인지 재확인하고, 재확인 결과에 따라 상기 (d-1)단계 또는 상기 (d-3)단계 중 어느 하나를 수행하는 (d-4)단계가 더 수행될 수 있다.(D-1) or (d-3), depending on the result of the re-verification. The method according to
또한 상기 (d-4)단계는, 상기 대기리스트에 저장된 단어 쌍의 생성 시각과 현재 시각을 비교하여, 생성 시각이 가장 오래된 단어 쌍을 우선순위로 하여 수행될 수 있다.The step (d-4) may be performed by comparing the generation time of the word pair stored in the waiting list with the current time, with the oldest word pair having the generation time as a priority.
그리고 상기 (d-4)단계는, 검색하고자 하는 단어 쌍이 존재하는지 여부를 판단하는 (d-4-1)단계, 상기 (d-4-1)단계에서 검색하고자 하는 단어 쌍이 0개가 아닌 경우, 상기 대기리스트에 저장된 단어 쌍의 개수를 판단하는 (d-4-2)단계, 상기 (d-4-2)단계에서 대기리스트에 저장된 단어 쌍의 개수가 2개 이상인 경우, 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태인지 여부를 판단하는 (d-4-3)단계, 상기 (d-4-3)단계에서 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태인 경우, 상기 (d-1)단계를 실행하고 상기 대기리스트에서 해당 단어 쌍을 삭제하는 (d-4-4)단계, 상기 (d-4-3)단계에서 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태가 아닌 경우, 상기 (d-3)단계를 실행하는 (d-4-5)단계, (d-4-2)단계에서 검색하고자 하는 단어 쌍이 1개인 경우, 상기 (d-3)단계를 실행하는 (d-4-6)단계 및 검색하고자 하는 단어 쌍이 0개가 될 때까지 상기 (d-4-1)단계 내지 상기 (d-4-6)단계를 반복하는 (d-4-7)단계를 포함할 수 있다.In step (d-4), it is determined whether there is a word pair to be searched. If the word pair to be searched in step (d-4-1) is not 0, (D-4-2) of determining the number of word pairs stored in the waiting list, if the number of word pairs stored in the waiting list is two or more in the step (d-4-2) (D-4-3) judging whether the working state of the word pair is a completion state or not; (d-4-3) (d-4-4) of executing the step (d-1) and deleting the word pair from the waiting list in step (d-4-4) (D-4-5) to execute the step (d-3), and if there is one word pair to be searched in the step (d-4-2) (D-4-6) performing the step (d-3), and repeating the steps (d-4-1) to (d-4-6) until the word pair to be searched reaches 0 And repeating (d-4-7).
본 발명에 따른 단어 공기 협력병렬검색방법은 다음과 같은 효과가 있다.The word-cooperative parallel search method according to the present invention has the following effects.
첫째, 본 발명은 분산 처리 방법인 HADOOP과 HIVE 기술을 이용하여 로컬 클러스터 및 원격지 클러스터 간 작업을 분산해주고, 이를 이용하여 다양한 문헌 연구자들의 요구에 맞는 단어 쌍을 효율적으로 검색할 수 있도록 할 수 있는 장점이 있다.First, the present invention disperses the work between the local cluster and the remote clusters using the distributed processing method HADOOP and HIVE technology, and makes it possible to efficiently search word pairs matching the needs of various literature researchers .
둘째, 본 발명은 기존 시스템에서 제공하고 있는 미리 검색된 단어 쌍의 범위를 벗어나는 새로운 단어 쌍을 찾을 수 있는 기회를 제공함으로써 생명 정보 문헌 연구를 발전 시키는 데 도움을 줄 수 있는 장점이 있다.Second, the present invention has an advantage that it can help develop the research of the bio information literature by providing an opportunity to find a new word pair which is out of the range of the pre-searched word pair provided in the existing system.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법에 있어서, 메인서버와 사용자단말기 간의 데이터 흐름을 나타내는 도면;
도 2는 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법의 전체 과정을 나타낸 흐름도; 및
도 3은 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법의 전체 과정 중 (d)단계의 세부 과정을 나타낸 흐름도이다.1 is a diagram illustrating a data flow between a main server and a user terminal in a word-cooperative parallel search method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a word-air cooperative parallel search method according to an exemplary embodiment of the present invention; FIG. And
FIG. 3 is a flowchart illustrating a detailed procedure of step (d) of the entire process of the word-air cooperative parallel search method according to an embodiment of the present invention.
이하 본 발명의 목적이 구체적으로 실현될 수 있는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 본 실시예를 설명함에 있어서, 동일 구성에 대해서는 동일 명칭 및 동일 부호가 사용되며 이에 따른 부가적인 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In describing the present embodiment, the same designations and the same reference numerals are used for the same components, and further description thereof will be omitted.
도 1은 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법에 있어서, 메인서버(10)와 사용자단말기(20a, 20b, 20c) 간의 데이터 흐름을 나타내는 도면이다.1 is a diagram illustrating a data flow between a
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법은 복수의 사용자단말기(20a, 20b, 20c) 간의 작업 분산에 의해 이루어지며, 분산 처리 방법인 HADOOP과 HIVE 기술을 이용하여 로컬 클러스터 및 원격지 클러스터 간 작업을 분산해주고, 이를 이용하여 다양한 문헌 연구자들의 요구에 맞는 단어 쌍을 효과적으로 검색할 수 있도록 할 수 있다.1, the word air cooperative parallel search method according to an embodiment of the present invention is performed by distributing work among a plurality of
도 2는 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법의 전체 과정을 나타낸 흐름도이다.FIG. 2 is a flowchart illustrating a word-air cooperative parallel search method according to an exemplary embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법은 크게 대상 텍스트파일을 메인서버의 분석파일 정보에 등록하는 (a)단계와, 검색하고자 하는 단어 쌍 리스트의 각 단어 쌍을 상기 메인서버에 미리 작업된 단어 쌍에서 검색하는 (b)단계와, 상기 (b)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하는 (c)단계와, 상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 확인하되, 상기 단어 쌍이 '완료 상태'가 되어 미리 작업된 단어 쌍 리스트에 저장되어 있는지, 아니면 상기 단어 쌍이 '대기 상태'로 대기리스트에 저장되어 있는지, 아니면 상기 단어 쌍이 '미처리 상태'로 작업리스트에 있는 확인하고, 미처리 상태인 경우 상기 단어 쌍에 대한 처리를 수행하는 (d)단계와, 상기 (d)단계에서 '완료 상태'로 확인된 경우로 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하고, 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (e)단계를 포함한다.As shown in FIG. 2, the word-cooperating parallel search method according to an embodiment of the present invention includes: (a) registering a target text file in analysis file information of a main server; (B) searching each word pair in a word pair previously worked on the main server, (c) storing the word pair searched in (b) in a result database of the user terminal, (b) The main server checks the word pairs that have not been searched at step < RTI ID = 0.0 > step < / RTI > separately from the main server, (D) checking whether the word pair is in the work list in the " unprocessed state " and performing processing on the word pair in the unprocessed state; (E) storing the searched word pair in the result database of the user terminal and storing it in a pre-worked word pair of the main server.
그리고 상기 각 단계 중 상기 (d)단계는 복수의 사용자단말기 간의 작업 분산에 의해 이루어질 수 있다. 즉 각 로컬 작업에 대한 로컬 작업들의 총 개수를 줄이도록, 수집한 작업들을 각 사용자단말기에 분산한다. 이하에서는 상기 각 단계들에 대해 자세히 설명하도록 한다.The step (d) may be performed by distributing work among a plurality of user terminals. In other words, the collected jobs are distributed to each user terminal so as to reduce the total number of local jobs for each local job. Hereinafter, each of the above steps will be described in detail.
먼저, (a)단계는 분석하고자 하는 대상 텍스트파일을 메인서버의 분석파일 정보에 등록하는 과정으로, 본 실시예에서는 상기 대상 텍스트파일의 고유 식별자인 md5 key를 등록하는 것으로 하였으나, 이에 제한되는 것은 아니다.First, in step (a), the target text file to be analyzed is registered in the analysis file information of the main server. In this embodiment, the md5 key, which is the unique identifier of the target text file, is registered. no.
이후 검색하고자 하는 단어 쌍 리스트의 각 단어 쌍을 상기 메인서버에 미리 작업된 단어 쌍에서 검색하는 (b)단계가 수행된다. 여기서 상기 단어 쌍은 탭 구분자, 세미콜론 등 다양한 구분자에 의해 분리되는, 한 개보다 많은 단어의 짝을 말하는 것이며, 검색하고자 하는 단어 쌍이 상기 메인서버에 미리 작업된 단어 쌍 리스트에 존재하는지 여부를 판단하기 위해 검색을 수행하게 된다.(B) is performed in which each word pair in the word pair list to be searched is searched for in a word pair previously worked on the main server. Here, the word pair refers to a pair of more than one word, which is separated by various delimiters such as a tab delimiter, a semicolon, etc., and it is determined whether or not a word pair to be searched exists in a word pair list previously worked on the main server Quot; search "
본 과정에 의해 단어 쌍이 검색된 경우, 상기 (b)단계에서 검색된 단어 쌍을 가져와 사용자단말기의 결과 데이터베이스에 즉시 저장하게 된다. 이에 따라 처리될 다수의 작업을 아래와 같이 감소시킬 수 있다.If the word pair is searched by the present process, the word pair retrieved in the step (b) is fetched and immediately stored in the result database of the user terminal. Accordingly, a plurality of jobs to be processed can be reduced as follows.
여기서, Tp는 처리될 총 작업의 개수이고, Tt는 전체 작업의 개수이며, Tc는 본 단계에 의해 처리된 작업의 개수이다.Where T p is the total number of jobs to be processed, T t is the total number of jobs, and T c is the number of jobs processed by this step.
다만, 상기 메인서버에 미리 작업된 단어 쌍 리스트에 해당 단어 쌍이 존재하지 않는 경우, 상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 확인하는 (d)단계가 수행된다.However, if there is no corresponding word pair in the word pair list previously worked on the main server, step (d) is performed in which the main server checks word pairs that have not been searched in step (b).
여기서 상기 (d)단계는, 세부적으로 (d-1)단계 내지 (d-4)단계를 포함할 수 있다. 도 3은 본 발명의 일 실시예에 따른 단어 공기 협력병렬검색방법의 전체 과정 중 (d)단계의 세부 과정을 나타낸 흐름도이다.Here, the step (d) may include steps (d-1) to (d-4). FIG. 3 is a flowchart illustrating a detailed procedure of step (d) of the entire process of the word-air cooperative parallel search method according to an embodiment of the present invention.
전술한 바와 같이, (d)단계에서는 상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 확인하게 되며, 이 결과 확인한 단어 쌍의 작업 상태는 '완료 상태'이거나, '대기 상태'이거나, 양쪽 어느 쪽에도 해당되지 않도록 작업 상태가 존재하지 않는 경우로 나눌 수 있다.As described above, in step (d), the main server individually checks word pairs that have not been searched in step (b), and the result of the checking is that the task status is 'complete' ', Or the case where there is no work state so that it does not correspond to either side.
이에 따라 (d-1)단계에서는, 확인한 단어 쌍의 작업 상태가 '완료 상태'인 경우, 해당 단어 쌍을 상기 메인서버로부터 불러와 상기 사용자단말기의 결과 데이터베이스에 저장하게 된다.Accordingly, in the step (d-1), when the operation state of the verified word pair is 'completed', the word pair is retrieved from the main server and stored in the result database of the user terminal.
삭제delete
삭제delete
삭제delete
그리고 (d-2)단계에서는, 확인한 단어 쌍의 작업 상태가 '대기 상태'인 경우, 다른 사용자단말기가 작업 중인 것으로 인식하여 해당 단어 쌍을 상기 사용자단말기 측의 대기리스트에 저장하게 된다. 이에 따라 이후 대기리스트에 저장된 단어 쌍에 대한 작업 상태를 재확인할 수 있게 된다.In the step (d-2), if the operation state of the identified word pair is 'standby', it is recognized that another user terminal is working and the corresponding word pair is stored in the standby list of the user terminal. Accordingly, the work status of the word pair stored in the waiting list can be reconfirmed.
그리고 (d-3)단계에서는, 확인한 단어 쌍의 작업 상태가 존재하지 않을 경우, 해당 단어 쌍의 작업 상태를 '대기 상태'로 전환시켜 상기 메인서버에 저장하게 된다. 이에 따라 다른 사용자단말기는 해당 단어 쌍에 대한 작업 상태를 확인할 경우 대기리스트에 저장하게 된다.In step (d-3), if there is no working state of the identified word pair, the work state of the word pair is switched to the 'standby state' and stored in the main server. Accordingly, when another user terminal confirms the work status of the corresponding word pair, it is stored in the waiting list.
보다 구체적으로 (d-3)단계는, (d-3-1)단계 내지 (d-3-5)단계를 포함할 수 있다. 먼저, (d-3-1)단계에서는 해당 단어 쌍의 작업 상태를 대기 상태로 전환시켜 상기 메인서버에 저장하게 되며, (d-3-2)단계에서는 상기 사용자단말기에서 해당 단어 쌍을 검색하게 된다.More specifically, the step (d-3) may include the steps (d-3-1) to (d-3-5). In step (d-3-1), the work state of the corresponding word pair is changed to the standby state and stored in the main server. In step (d-3-2), the user terminal searches for a corresponding word pair do.
이에 따라 (d-3-3)단계에서 상기 사용자단말기에서 검색된 해당 단어 쌍을 상기 사용자단말기의 결과 데이터베이스에 저장한 후, (d-3-4)단계에서 해당 단어 쌍의 작업 상태를 완료 상태로 전환시켜 상기 메인서버에 저장한다.Accordingly, in step (d-3-3), the corresponding word pair retrieved from the user terminal is stored in the result database of the user terminal, and then, in step (d-3-4) And stores it in the main server.
그리고 (d-3-5)단계에서 해당 단어 쌍을 상기 메인서버의 미리 작업된 단어 쌍으로 저장하여, 이후 다른 사용자단말기가 해당 단어 쌍을 상기 (d-1)단계로서 처리할 수 있도록 한다.In step (d-3-5), the corresponding word pair is stored in the main server as a pair of previously processed words, and then another user terminal can process the word pair as the (d-1) step.
다음으로, (d-4)단계의 경우, 사용자단말상기 대기리스트에 저장된 단어 쌍의 작업 상태가 상기 메인서버에서 '완료 상태'인지 재확인하고, 재확인 결과에 따라 상기 (d-1)단계 또는 상기 (d-3)단계 중 어느 하나를 수행하게 된다. 즉 재확인 결과 '완료 상태'인 경우, (d-1)단계를 수행하며 아직 '대기 상태'인 경우 (d-3)단계를 수행하게 될 것이다.Next, in step (d-4), the user terminal reconfirms whether the work status of the word pair stored in the wait list is 'completed' in the main server, and in step (d-1) (d-3). That is, if the result of the re-verification is 'complete state', the step (d-1) is performed and if the state is still 'waiting', the step (d-3) will be performed.
이와 같은 상기 (d-4)단계는, 상기 대기리스트에 저장된 단어 쌍이 존재하지 않을 때까지 반복 수행될 수 있다.The step (d-4) may be repeated until there is no word pair stored in the waiting list.
또한 상기 (d-4)단계는, 다른 사용자단말기가 작업을 취소하거나, 불명확한 이유로 해당 작업이 계속 메인서버의 작업리스트에 남아 있는 경우, 상기 대기리스트에 저장된 단어 쌍의 생성 시각과 현재 시각을 비교하여, 생성 시각이 가장 오래된 단어 쌍을 우선순위로 하여 수행될 수 있다. 이에 따라 나머지 사용자단말기들은 해당 작업을 '완료 상태'로 변경할 수 있다.In the step (d-4), when another user terminal cancels the operation or remains in the task list of the main server for the unspecified reason, the generation time of the word pair stored in the standby list and the current time The comparison may be performed with the word pair having the oldest generation time as a priority. Accordingly, the rest of the user terminals can change the job to the 'completed state'.
상기 (d-4)단계의 구체적인 알고리즘은 다음과 같다.The specific algorithm of step (d-4) is as follows.
먼저, 검색하고자 하는 단어 쌍이 존재하는지 여부를 판단하는 (d-4-1)단계를 수행한다. 본 단계에서는 검색하고자 하는 단어 쌍이 0개인지, 아니면 0개가 아닌지를 판단하게 된다.First, a step (d-4-1) of determining whether a word pair to be searched exists is performed. In this step, it is judged whether the word pair to be searched is 0 or not.
이와 같은 판단에 따라 상기 (d-4-1)단계에서 검색하고자 하는 단어 쌍이 0개가 아닌 경우, 상기 대기리스트에 저장된 단어 쌍의 개수를 판단하는 (d-4-2)단계가 수행된다. 본 단계에서는 대기리스트에 저장된 단어 쌍이 1개인지, 또는 1개보다 많은 복수 개인지를 판단하게 된다.If it is determined in step (d-4-1) that the number of word pairs to be searched is not 0, step (d-4-2) of determining the number of word pairs stored in the waiting list is performed. In this step, it is judged whether there is one word pair stored in the waiting list or more than one.
또한 이와 같은 판단에 따라 대기리스트에 저장된 단어 쌍의 개수가 2개 이상인 경우, 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 '완료 상태'인지 여부를 판단하는 (d-4-3)단계가 수행된다.If the number of word pairs stored in the waiting list is two or more according to the determination, step (d-4-3) of determining whether the working status of the word pair having the oldest generation time is 'completed' is performed do.
여기서 완료 상태인 것으로 판단된 경우, 전술한 (d-1)단계를 실행하고 상기 대기리스트에서 해당 단어 쌍을 삭제하는 (d-4-4)단계가 수행되며, '완료 상태'가 아닌 것으로 판단된 경우, 전술한 상기 (d-3)단계를 실행하는 (d-4-5)단계가 수행된다.If it is determined that the completion state is satisfied, the step (d-1) is executed and the corresponding word pair is deleted from the waiting list (d-4-4) The step (d-4-5) of executing the step (d-3) described above is performed.
이와 달리 상기 (d-4-2)단계에서 검색하고자 하는 단어 쌍이 1개인 경우에는, 바로 상기 (d-3)단계를 실행하는 (d-4-6)단계가 수행된다.Alternatively, if the word pair to be searched in step (d-4-2) is one word, step (d-4-6) is performed to execute the step (d-3).
이후에는, 상기 (d-4-1)단계의 판단 결과 검색하고자 하는 단어 쌍이 0개가 될 때까지 상기 (d-4-1)단계 내지 상기 (d-4-6)단계를 반복하는 (d-4-7)단계가 수행된다.Thereafter, the steps (d-4-1) to (d-4-6) are repeated until the number of word pairs to be searched reaches 0 in step (d-4-1) Steps 4-7) are performed.
이상과 같이 본 발명은 로컬 클러스터의 작업을 원격지 클러스터간 작업으로 분산시킬 수 있어, 보다 효율적인 검색 환경을 제공할 수 있다.As described above, the present invention can distribute the work of the local cluster to the work among the remote clusters, thereby providing a more efficient search environment.
상기 (d)단계 이후, 상기 (d)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하고, 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (e)단계가 수행된다. 즉 상기 (d)단계에 의해 작업이 완료된 단어 쌍을 메인서버에 저장하고, 이를 상기 메인서버의 미리 작업된 단어 쌍으로 등록한다.After step (d), step (e) is performed in which the word pairs retrieved in step (d) are stored in a result database of the user terminal and stored as pairs of words previously worked on the main server. That is, in step (d), the word pair having completed the operation is stored in the main server and registered as a pair of words previously worked on the main server.
따라서 해당 단어 쌍은, 이후 검색이 수행될 경우 전술한 (b)단계 및 (c)단계에 의해 처리될 수 있다.Accordingly, the corresponding word pair can be processed by steps (b) and (c) described above when the search is performed later.
이상과 같이 본 발명의 경우 복수의 사용자단말기 간의 협력병렬검색을 통해 작업의 총 개수를 다음과 같이 감소시킬 수 있다.As described above, according to the present invention, the total number of tasks can be reduced as follows through cooperative parallel search among a plurality of user terminals.
여기서, Tt는 전체 작업의 개수이고, Tc는 (b)단계에 의해 처리된 작업의 개수이고, Ts는 동일한 작업의 개수이고, Tl는 사용자단말기의 개수이고, a는 대기리스트 저장 상태 해제 후의 작업의 개수이다.
Where T t is the number of all jobs, T c is the number of jobs processed by step (b), T s is the number of identical jobs, T l is the number of user terminals, This is the number of jobs after status release.
본 명세서에서 설명되는 실시예와 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 예시적으로 설명하는 것에 불과하다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아님은 자명하다. 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시 예는 모두 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The embodiments and the accompanying drawings described in the present specification are merely illustrative of some of the technical ideas included in the present invention. Accordingly, the embodiments disclosed herein are for the purpose of describing rather than limiting the technical spirit of the present invention, and it is apparent that the scope of the technical idea of the present invention is not limited by these embodiments. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
10: 메인서버 20a, 20b, 20c: 사용자단말기10:
Claims (6)
다수의 사용자단말 각각에서 검색하고자 하는 단어 쌍 리스트의 각 단어 쌍을 상기 메인서버에 미리 단어 공기 작업된 단어 쌍에서 검색하는 (b)단계;
상기 (b)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하는 (c)단계;
상기 (b)단계에서 검색되지 않은 단어 쌍을 개별적으로 상기 메인서버에서 검색하여, 해당 단어 쌍이 작업 완료 상태, 작업 대기 상태, 미처리 상태인지 확인하고,
확인한 단어 쌍의 작업 상태가 완료 상태여서 미리 작업된 단어 쌍 리스트에 저장된 경우, 해당 단어 쌍을 상기 메인서버로부터 불러와 상기 사용자단말기의 결과 데이터베이스에 저장하는 (d-1)단계와, 확인한 단어 쌍의 작업 상태가 대기 상태로 대기리스트에 저장된 경우, 다른 사용자단말기가 작업 중인 것으로 인식하여 해당 단어 쌍을 상기 사용자단말기의 대기리스트에 저장하는 (d-2)단계와, 확인한 단어 쌍의 작업 상태가 존재하지 않아 작업리스트에 저장되어 있는 경우, 해당 단어 쌍을 상기 대기리스트로 옮겨 작업 상태를 대기 상태로 전환시켜 저장하는 (d-3)단계를 구비하는 (d)단계; 및
상기 (d)단계에서 검색된 단어 쌍을 사용자단말기의 결과 데이터베이스에 저장하고, 상기 메인서버의 미리 작업된 단어 쌍으로 저장하는 (e)단계;
를 포함하며,
상기 (d)단계는 복수의 사용자단말기 간의 작업 분산에 의해 이루어지는 단어 공기 협력병렬검색방법.(A) registering the target text file in the analysis file information of the main server;
(B) searching each word pair of a word pair list to be searched in each of a plurality of user terminals in a word air working word pair in advance in the main server;
(C) storing the searched word pair in the result database of the user terminal;
The main server individually searches for a word pair that has not been searched in the step (b), checks whether the word pair is in a task completion state, a work waiting state, or an unprocessed state,
(D-1) storing the word pair in the result database of the user terminal when the operation state of the verified word pair is completed and stored in the list of word pairs that have been previously operated, from the main server, (D-2) of recognizing that another user terminal is working and storing the word pair in the waiting list of the user terminal when the working status of the word pair is stored in the waiting list, (D-3) when the word list is stored in the work list, the word pair is moved to the wait list, and the task status is changed to the wait status and stored (d-3). And
Storing the word pairs retrieved in the step (d) in a result database of the user terminal, and storing the retrieved word pairs as a pair of previously worked words of the main server;
/ RTI >
Wherein the step (d) is performed by distributing work among a plurality of user terminals.
상기 (d-3)단계는,
해당 단어 쌍의 작업 상태를 대기 상태(대기리스트에 저장)로 전환시켜 상기 메인서버에 저장하는 (d-3-1)단계;
상기 사용자단말기에서 해당 단어 쌍을 검색하는 (d-3-2)단계;
상기 사용자단말기에서 검색된 해당 단어 쌍을 상기 사용자단말기의 결과 데이터베이스에 저장하는 (d-3-3)단계; 및
해당 단어 쌍의 작업 상태를 완료 상태로 전환(미리 작업된 단어 쌍 리스트에 저장)시켜 상기 메인서버에 저장하는 (d-3-4)단계;
를 포함하는 단어 공기 협력병렬검색방법.The method according to claim 1,
The step (d-3)
(D-3-1) of converting the work state of the word pair into a standby state (stored in the standby list) and storing it in the main server;
(D-3-2) searching the corresponding word pair in the user terminal;
(D-3-3) storing a corresponding word pair retrieved from the user terminal in a result database of the user terminal; And
(D-3-4) storing the work state of the word pair in the main server by switching the work state of the word pair into the completion state (storing it in the previously worked word pair list);
A method for cooperative parallel search of words.
상기 (d-2)단계 이후에는,
상기 대기리스트에 저장된 단어 쌍의 작업 상태가 완료 상태인지 재확인하고, 재확인 결과에 따라 상기 (d-1)단계 또는 상기 (d-3)단계 중 어느 하나를 수행하는 (d-4)단계가 더 수행되는 단어 공기 협력병렬검색방법.The method according to claim 1,
After the step (d-2)
(D-1) step or (d-3) step according to the result of the re-checking, if the work state of the word pair stored in the waiting list is completed Performed word cooperative parallel search method.
상기 (d-4)단계는,
상기 대기리스트에 저장된 단어 쌍의 생성 시각과 현재 시각을 비교하여, 생성 시각이 가장 오래된 단어 쌍을 우선순위로 하여 수행되는 단어 공기 협력병렬검색방법.5. The method of claim 4,
The step (d-4)
Comparing the generation time of the word pair stored in the waiting list with the current time and taking the oldest word pair having the generation time as a priority.
상기 (d-4)단계는,
검색하고자 하는 단어 쌍이 존재하는지 여부를 판단하는 (d-4-1)단계;
상기 (d-4-1)단계에서 검색하고자 하는 단어 쌍이 0개가 아닌 경우, 상기 대기리스트에 저장된 단어 쌍의 개수를 판단하는 (d-4-2)단계;
상기 (d-4-2)단계에서 대기리스트에 저장된 단어 쌍의 개수가 2개 이상인 경우, 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태인지 여부를 판단하는 (d-4-3)단계;
상기 (d-4-3)단계에서 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태인 경우, 상기 (d-1)단계를 실행하고 상기 대기리스트에서 해당 단어 쌍을 삭제하는 (d-4-4)단계;
상기 (d-4-3)단계에서 생성 시각이 가장 오래된 단어 쌍의 작업 상태가 완료 상태가 아닌 경우, 상기 (d-3)단계를 실행하는 (d-4-5)단계;
(d-4-2)단계에서 검색하고자 하는 단어 쌍이 1개인 경우, 상기 (d-3)단계를 실행하는 (d-4-6)단계; 및
검색하고자 하는 단어 쌍이 0개가 될 때까지 상기 (d-4-1)단계 내지 상기 (d-4-6)단계를 반복하는 (d-4-7)단계;
를 포함하는 단어 공기 협력병렬검색방법.6. The method of claim 5,
The step (d-4)
(D-4-1) judging whether a word pair to be searched exists or not;
(D-4-2) determining the number of word pairs stored in the waiting list when the word pair to be searched in step (d-4-1) is not 0;
If the number of word pairs stored in the waiting list is two or more in the step (d-4-2), it is determined whether the working state of the word pair having the oldest generation time is completed or not (d-4-3) ;
(D-1) is executed and the corresponding word pair is deleted from the waiting list when the working state of the word pair having the oldest generation time is the completed state in the step (d-4-3) -4) step;
(D-4-5) when the operation state of the word pair having the earliest creation time in the step (d-4-3) is not the completion state, executing the step (d-3);
(d-4-6) when the word pair to be searched in step (d-4-2) is one word, performing the step (d-3); And
Repeating the steps (d-4-1) to (d-4-6) until the word pair to be searched becomes 0 (d-4-7);
A method for cooperative parallel search of words.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150086897A KR101757047B1 (en) | 2015-06-18 | 2015-06-18 | A Method for Searching Co-Occurrence Based on Co-Operational Formation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150086897A KR101757047B1 (en) | 2015-06-18 | 2015-06-18 | A Method for Searching Co-Occurrence Based on Co-Operational Formation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160149619A KR20160149619A (en) | 2016-12-28 |
KR101757047B1 true KR101757047B1 (en) | 2017-07-12 |
Family
ID=57724660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150086897A KR101757047B1 (en) | 2015-06-18 | 2015-06-18 | A Method for Searching Co-Occurrence Based on Co-Operational Formation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101757047B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015032228A (en) | 2013-08-05 | 2015-02-16 | Kddi株式会社 | Program, method, apparatus and server generating co-occurrence pattern for detecting near-synonym |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101595342B1 (en) | 2013-06-17 | 2016-02-18 | 고려대학교 산학협력단 | Apparatus and method for forecasting emerging technology based on patent keyword analysis |
-
2015
- 2015-06-18 KR KR1020150086897A patent/KR101757047B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015032228A (en) | 2013-08-05 | 2015-02-16 | Kddi株式会社 | Program, method, apparatus and server generating co-occurrence pattern for detecting near-synonym |
Also Published As
Publication number | Publication date |
---|---|
KR20160149619A (en) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11423082B2 (en) | Methods and apparatus for subgraph matching in big data analysis | |
US10210255B2 (en) | Distributed system for large volume deep web data extraction | |
CN107784026B (en) | ETL data processing method and device | |
GB2456619A (en) | Managing errors generated in an apparatus | |
WO2007085187A1 (en) | Method of data retrieval, method of generating index files and search engine | |
US10033737B2 (en) | System and method for cross-cloud identity matching | |
US20160125095A1 (en) | Lightweight temporal graph management engine | |
CN107133741B (en) | To-do task processing method and device, readable storage medium and electronic equipment | |
CN107871055B (en) | Data analysis method and device | |
US8667008B2 (en) | Search request control apparatus and search request control method | |
US8918406B2 (en) | Intelligent analysis queue construction | |
CN112783417A (en) | Data reduction method and device, computing equipment and storage medium | |
KR101757047B1 (en) | A Method for Searching Co-Occurrence Based on Co-Operational Formation | |
Casini et al. | Enhancing decision-making by leveraging human intervention in large-scale sensor networks | |
CN113220822B (en) | Document data storage method and device | |
CN114168560A (en) | Data management method and device | |
CN113342518A (en) | Task processing method and device | |
CN110019547B (en) | Method, device, equipment and medium for acquiring association relation between clients | |
KR102670211B1 (en) | Functional protein classification for epidemiological research | |
CN118096091B (en) | Mechanical engineering project demand analysis method, system, equipment and medium | |
CN114615144B (en) | Network optimization method and system | |
CN110798340B (en) | Port information combing method, device and server | |
CN112214587B (en) | A method and device for determining technology evolution trend | |
Wang et al. | High-performance complex event processing for large-scale RFID applications | |
CN115952304A (en) | Method, device and equipment for searching variant documents and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150618 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160428 Patent event code: PE09021S01D |
|
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20161129 Patent event code: PE09021S02D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170627 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170705 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170705 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20220425 Start annual number: 6 End annual number: 6 |